@charset "UTF-8";
* {
color: #333;
line-height: 1.5;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-style: normal;
}
html {
scroll-behavior: smooth;
}
.en {
font-family: "Merriweather", serif;
font-optical-sizing: auto;
font-style: normal;
}
body {
background: #f8f7f6;
}
a {
color: var(--main-color);
}
a:hover {
opacity: 0.8;}
p {
line-height: 1.8;
margin: 5px 0 15px;
}
img {
display: block;
height: auto;
}
caption {
text-align: center;
font-weight: bold;
padding-bottom: 5px;
}
figcaption,cite {
color: #8c8f94;
font-size: clamp(0.75rem, 0.693rem + 0.24vw, 0.875rem);
display: flex;
justify-content: flex-end;
margin: 5px 0 15px
}
figcaption > span:first-child,cite > span:first-child {
white-space: nowrap;
}
figcaption a,cite a,figcaption span,cite a,cite span {
color: #8c8f94;
}
cite span:nth-child(2) {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.bold {
font-weight: bold;
}
.mW {
width: 100%;
max-width: 1200px;
margin: auto;
padding-left: 20px;
padding-right: 20px;
}
h1 {
font-size: clamp(1.25rem, 1.193rem + 0.24vw, 1.375rem);
    font-weight: 600;
    border-bottom: 2px solid #c5c5c5;
    padding-bottom: 10px;
    margin-bottom: 30px;
}
h2 {
font-size: clamp(1.125rem, 1.068rem + 0.24vw, 1.25rem);
font-weight: 600;
color: #000;
margin: 58px 0 20px;
position: relative;
padding: 8px 16px;
outline: 1px solid var(--main-color);
}
h2::before {
content: "";
position: absolute;
top: 6px;
left: 6px;
width: calc(100% - 12px);
height: calc(100% - 12px);
background: var(--main-color);
opacity: 0.1;
}
h2::after {
content: "";
position: absolute;
bottom:-6px;
right: -6px;
border-right: solid 1px var(--main-color);
border-bottom: solid 1px var(--main-color);
width: 98%;
height: 98%;
}
h3 {
font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
font-weight: 600;
margin: 30px 0 20px;
position: relative;
}
h3::after {
content: "";
display: block;
height: 4px;
margin-top: 4px;
background: -webkit-linear-gradient(to right, var(--main-color) -20%, transparent 70%);
background: linear-gradient(to right, var(--main-color) -20%, transparent 70%);
}
h4 {
font-weight: bold;
    margin: 16px 0 8px
}
table {
width: 100%;
}
.pageWrap {
display: flex;
justify-content: space-between;
gap: 20px;
width: 100%;
margin: auto;
padding-bottom: 80px;
}
.pageWrap.top {
margin: 40px auto 0;
}
main {
max-width: 780px;
width: 100%;
}
aside {
max-width: 320px;
}
ol.breadCrumb {
margin: 10px auto 30px;
} 
ol.breadCrumb li {
font-size: clamp(0.75rem, 0.6rem + 0.64vw, 1rem);
display: inline;
word-break: break-all;
} 
.breadCrumb li:not(:last-child)::after { 
content: "\03e";
margin: 0 3px 0 5px;
}
#toc {
padding: 20px clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);
border-radius: 10px;
position: relative;
    margin: 20px 0 40px;
}
#toc::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--main-color);
border-radius: 10px;
opacity: 0.1;
pointer-events: none; 
}
#toc > div {
font-weight: bold;
text-align: center;
margin-bottom: 20px;
}
#toc > div >span:first-child {
display: block;
font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
line-height: 1;
}
#toc > ol > li:not(:last-child) {
margin-bottom: 10px;
}
#toc > ol > li > span {
display: flex;
gap: 5px;
}
#toc > ol > li > span > * {
font-weight: 600;
}
#toc > ol > li > ol {
padding-left: clamp(1.25rem, 0.682rem + 2.42vw, 2.5rem);
}
#toc > ol > li > ol > li {
margin-top: 5px;
display: flex;
}
#toc > ol > li > ol > li a {
font-weight: 600;
}
#toc > ol > li > ol > li > span {
flex: none;
}
.date {
display: flex;
justify-content: right;
align-items: center;
padding-bottom: 6px;
font-size: 14px;
gap: 4px;
}
.articleWrap .date {
padding-top: 6px;
padding-bottom: 0;
font-size: 12px;
gap: 2px;
position: absolute;
right: 8px;
bottom: 10px;
}
.date img {
width: 16px;
}
.articleWrap .date img {
width: 14px;
}
.date time {
color: #8c8f94;
line-height: 1;
}
.post main figure img {
width: 100%;
height: auto;
border-radius: 10px;
}
.content ul,.content ol {
list-style-type: disc;
border-radius: 10px;
background: #fff;
padding: 8px 16px;
margin: 0 0 15px;
}
.content ul {
list-style-type: disc;
}
.content ol {
list-style-type: decimal;
}
.content ul li,.content ol li {
padding: 8px 0;
margin-left: 20px;
}
.content ul li::marker, .content ol li::marker {
color: var(--main-color);
}
.content ol > li:has(ul),.content ol > li:has(ol) {
font-weight: bold;
}
.content ul > li > ul,.content ol > li > ul,.content ul > li > ol,.content ol > li > ol {
margin: 8px 0 0;
padding: 0;
}
.content ul:not(.basicInfo) > li > ul > li, .content ul > li > ol > li, .content ol > li > ul > li, .content ol > li > ol > li {
margin-bottom: 5px;
padding: 0;
}
.articleWrap {
margin-bottom: 100px;
}
.articleWrap > dl {
margin-top: 80px;
scroll-margin-top: clamp(3.75rem, 1.528rem + 4.63vw, 5rem);
}
.articleWrap > dl > dt {
margin-bottom: 38px;

text-align: center;
position: relative;
padding-bottom: 8px;
font-weight: 600;
}
.articleWrap > dl > dt span:first-child {
font-size: clamp(1.5rem, 1.319rem + 0.74vw, 1.875rem);
line-height: 1.1;
}
.articleWrap > dl > dt span:nth-child(2) {
font-size: 14px;
display: block;
}
.articleWrap > dl > dt::after {
content: '';
position: absolute;
left: 46%;
bottom: -4px;
width: 8%;
height: 4px;
background: var(--main-color);
}
.articleWrap > dl ul {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
justify-items: center;
}
.articleWrap > dl ul li {
background: #fff;
border-radius: 10px;
}
.articleWrap > dl ul li dl {
height: 100%;
position: relative;
padding: 10px 8px;
}
.articleWrap > dl ul li dl dt {
font-weight: bold;
margin-bottom: 10px;
}
.articleWrap > dl ul li a {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.articleWrap > dl ul li figure img {
display: flex;
height: auto;
object-fit: cover;
aspect-ratio: 4 / 2.5;
width: 100%;
border-radius: 10px 10px 0 0;
}
.blankLink {
margin: 15px 0;
}
.ctabutton {
text-align: center;
    margin: 30px 0;
}
.ctabutton a {
position: relative;
display: inline-flex;
align-items: center;
background: linear-gradient(to right, var(--gradation_color02), var(--gradation_color01));
color: #fff;
text-decoration: none;
border-radius: 30px;
padding: 14px 50px 14px 20px;
font-weight: bold;
font-size: 14px;
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
transition: all 0.3s ease;
}
.premiumcta a {
    width: 100%;
    padding: 28px 0;
    background: linear-gradient(to right, var(--gradation_color02), var(--gradation_color01));
    display: flex;
    flex-direction: column;
    align-items: center;
border-radius: 30px;
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
transition: all 0.3s ease;
    margin: 30px 0;
gap: 16px;
}
.premiumcta a img {
width: clamp(1.875rem, 1.574rem + 1.23vw, 2.5rem);
}
.premiumcta a span {
color: #fff;
line-height: 1;
}
.premiumcta a span:nth-child(2) {
font-size: clamp(1.25rem, 1.069rem + 0.74vw, 1.625rem);
}
.premiumcta a span:last-child {
background: rgba(255, 255, 255, 0.2);
    color: #fff;
    border: 2px solid rgba(255, 255, 255, 0.3);
    padding: 12px 30px;
    border-radius: 50px;
    font-weight: 600;
    line-height: 1;
position: relative;
    overflow: hidden;
}
.premiumcta a span:last-child::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s ease;
}
.premiumcta a:hover span:last-child::before {
    left: 100%;
}
.ctabutton a::before {
content: '';
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: #fff;
border-radius: 50%;
width: 30px;
height: 30px;
}
.ctabutton a::after {
content: '';
position: absolute;
right: 23px;
top: 50%;
transform: translateY(-50%) rotate(45deg);
width: 8px;
height: 8px;
border-top: 2px solid var(--gradation_color01);
border-right: 2px solid var(--gradation_color01);
}
.ctabutton a:hover,.premiumcta a:hover {
box-shadow: none;
transform: translateY(2px);
opacity: 1;
}
.fix-parts {
position: relative;
}
.fix-parts ul {
position: fixed;
right: 0;
bottom: 40px;
width: 80px;
background: #fff;
z-index: 1;
border-radius: 10px 0 0 10px;
overflow: hidden;
box-shadow: -1px 4px 8px #c5c5c5;
}
.fix-parts ul li a {
position: relative;
display: flex;
text-align: center;
flex-direction: column;
align-items: center;
}
.fix-parts ul li.official a,.fix-parts ul li.reservation a {
font-weight: bold;
}
.fix-parts ul li.tel a {
padding: 20px 0;
}
.fix-parts ul li.reservation a::after {
content: '';
position: absolute;
left: 20%;
bottom: 0;
width: 60%;
height: 2px;
background: var(--main-color);
}
.fix-parts ul li.sns-line a,.fix-parts ul li.sns-x a,.fix-parts ul li.sns-youtube a,.fix-parts ul li.sns-instagram a,.fix-parts ul li.sns-facebook a {
padding: 8px 24px;
height: 40px;
display: flex;
justify-content: center;
}
.fix-parts ul li.sns-x a img,.fix-parts ul li.sns-youtube a img,.fix-parts ul li.sns-instagram a img,.fix-parts ul li.sns-facebook a img {
width: auto;
height: 30px;
}
.fix-parts ul li.official a {
padding: 20px 0;
background: var(--main-color);
color: #fff;
}
.fix-parts ul li.official a,.fix-parts ul li.reservation a {
line-height: 1.2;
padding: 12px 0;
font-size: 14px;
font-weight: bold;
}
.fix-parts ul li.official a {
color: #fff;
}
.fix-parts ul li.reservation a {
color: var(--main-color);
}
.fix-parts ul li.official a span,.fix-parts ul li.reservation a span {
display: block;
font-weight: bold;
}
.fix-parts ul li.official a span {
color: #fff;
}
.fix-parts ul li.reservation a span {
color: var(--main-color);
}
.fix-parts ul li.tel svg path {
color: var(--main-color);
}
.fix-parts ul li.hamburger {
display: none;
}
.fix-parts ul li#fixedTop a {
padding: 20px;
display: flex;
justify-content: center;
background: var(--main-color);
opacity: .5;
}
.fix-parts ul li#fixedTop svg path {
color: #fff;
}
.fix-recommend {
display: none;
}
.fix-recommend a {
color: #fff;
}
#upbutton,#topupbutton {
display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    right: 40px;
    width: 60px;
    height: 60px;
    font-size: 26px;
    z-index: 1;
    border-radius: 50px;
	background: #fff;
}
#upbutton a,#upbutton a {
background: var(--main-color);
    opacity: .5;
    width: 100%;
    display: flex;
    justify-content: center;
    height: 100%;
    border-radius: 50px;
    align-items: center;
}
#upbutton svg path,#upbutton svg path {
color: #fff;
}
@media screen and (max-width: 1080px) {
.pageWrap {
display: flex;
flex-wrap: wrap;
padding-bottom: 45px;
gap: 0;
}
main {
max-width: 100%;
}
aside {
max-width: 100%;
}
.articleWrap > dl > dt {
margin-bottom: 25px;
}
.articleWrap > dl ul {
grid-template-columns: 1fr 1fr;
}
}
@media screen and (max-width: 768px) {
.header {
display: none;
}
#article .spnav .nav li a,
.spnav .nav li a {
list-style: none;
margin: 0;
padding: 10px 3%;
display: block;
font-size: 14px;
white-space: nowrap;
width: 100%;
overflow: hidden;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
}
#article .spnav .nav li:last-child a,
.spnav .nav li:last-child a {
border-bottom: none;
}
aside {
display: none;
}
.articleWrap > dl ul {
grid-template-columns: 1fr;
}
.fix-parts ul {
bottom: 0;
width: 100%;
display: flex;
height: 60px;
border-radius: 0;
overflow: visible;
}
.fix-parts ul li {
flex: 1;
position: relative;
}
.fix-parts ul li.sns-line,.fix-parts ul li.sns-x,.fix-parts ul li.sns-youtube,.fix-parts ul li.sns-instagram,.fix-parts ul li.sns-facebook {
display: none;
}
.fix-parts ul li a {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
line-height: 1;
}
.fix-parts ul li.official a,.fix-parts ul li.reservation a {
font-size: 16px;
}
.fix-parts ul li.reservation a::after, .fix-parts ul li.tel a::after {
content: none;
}
.fix-parts ul li.tel a {
padding: 0;
}
.fix-parts ul li:nth-child(3).tel a::after,.fix-parts ul li:nth-child(3).footer-hamburger::after,.fix-parts ul li:nth-child(4).footer-hamburger::after {
content: '';
position: absolute;
left: 0;
bottom: 20%;
width: 2px;
height: 60%;
background: var(--main-color);
}
.fix-parts ul li.footer-hamburger {
cursor: pointer;
display: grid;
align-content: center;
justify-content: center;
}
.fix-parts ul li.footer-hamburger > div {
position: relative;
height: 20px;
width: 30px;
display: flex;
}
.fix-parts ul li.footer-hamburger > div span {
display: block;
position: absolute;
height: 2px;
width: 30px;
background: var(--main-color);
transition: 0.4s;
}
.footer-hamburger > div span {
display: block;
position: absolute;
height: 1px;
width: 30px;
background: #333;
transition: 0.4s;
}
.footer-hamburger > div span:nth-of-type(1) {
top: 0;
}
.footer-hamburger > div span:nth-of-type(2) {
top: 9px;
}
.footer-hamburger > div span:nth-of-type(3) {
bottom: 0;
}
.fix-parts ul li#fixedTop {
position: fixed;
bottom: 80px;
right: 10px;
border-radius: 50px;
background: #fff;
}
.fix-parts ul li#fixedTop a {
border-radius: 50px;
}
.fix-recommend {
font-size: 14px;
display: flex;
position: fixed;
bottom: 0;
width: 100%;
height: 50px;
z-index: 1;
background: var(--main-color);
align-items: center;
justify-content: center;
}
#upbutton,#topupbutton {
    right: 10px;
}
}