/* English adaptation: source geometry, photography and decorative assets retained. */
@font-face{font-family:Kalam;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/kalam-latin-bold.woff2') format('woff2')}
:root{--english-body:"TikTok Sans",Arial,sans-serif;--english-display:Kalam,Georgia,serif;--font-family:var(--english-body);--font-family-noyakuhan:var(--english-body)}
body{font-family:var(--english-body);font-weight:400}
button,a,input{font-family:inherit}
.en-lettering{display:inline-block;font-family:var(--english-display);font-weight:700;line-height:1.2;letter-spacing:-.035em}
.p-top__pointTitle .en-lettering,.p-top__connectTitle .en-lettering,.p-top__infoTitle .en-lettering{font-size:clamp(38px,5.1vw,78px)}
.p-top__pointTitle{color:#fff;text-align:center}
.p-top__connectTitle .en-lettering,.p-top__infoTitle .en-lettering{writing-mode:vertical-rl}
.p-top__connectTxt{text-align:left;letter-spacing:.01em;font-size:clamp(16px,1.25vw,20px);line-height:1.8}
.pm-infotitle.is-stay{flex-direction:column;gap:12px}
.pm-infotitle__line.is-plan{width:auto}
.pm-infotitle__lineImg.en-lettering{font-size:22px;letter-spacing:0}
.cm-priceblock__tabItemBtn .main__itemNum,.cm-modalblock__priceTabItem .btn__mainItemNum{font-size:22px}
.cm-priceblock__tabItemBtn{gap:1em}
.p-top__pointListBlock .title .en-lettering{font-size:clamp(24px,2.5vw,38px)}
.p-top__pointListBlock .txt{white-space:normal;line-height:1.85}
.c-sentence,.p-top__introTxtBody{font-size:clamp(16px,1.25vw,20px);line-height:1.9;letter-spacing:.01em}
.en-intro{font-family:var(--english-display);font-size:clamp(28px,3.2vw,46px);font-weight:700;line-height:1.35;letter-spacing:-.035em;max-width:100%;width:auto}
.pm-infotitle__img.en-lettering,.pm-infotitle__lineImg.en-lettering{width:auto!important;max-width:100%;height:auto;font-size:clamp(27px,3vw,44px)}
.cm-modalblock__titleImg.en-lettering{font-size:32px;width:auto;max-width:100%}
.cm-modalblock__titleSmallImg.en-lettering{font:500 14px/1.4 var(--english-body);width:auto;letter-spacing:0}
.cm-modalblock__title{flex-wrap:wrap;gap:8px 14px;padding-inline:12px}
.cm-modalblock__titleSmall{width:auto;max-width:100%}
.en-day{font:600 12px/1.3 var(--english-body);letter-spacing:0;min-width:2.2em;text-align:center}
.p-top__accessTitleTxt .en-lettering,.p-top__faqTitle .en-lettering{font-size:clamp(36px,4vw,62px);writing-mode:vertical-rl}
.p-top__accessMainTitle .en-lettering{font-size:26px}
.en-booking-label{font-family:var(--english-display);font-weight:700;font-size:20px;line-height:1.25;white-space:normal}
.p-top__faqListRow .title__txt{font-family:var(--english-display);font-weight:700;font-size:clamp(19px,1.8vw,26px);line-height:1.4;letter-spacing:0}
.en-exhale{font-family:var(--english-display);font-size:clamp(65px,9vw,140px);font-style:italic;font-weight:700;line-height:1;writing-mode:vertical-rl;color:#fff;width:auto!important;height:auto!important}
.en-logo-label{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;white-space:nowrap;margin-top:6px;text-align:center}
.cm-h__logoBodyTarget picture{display:block;overflow:hidden}
.cm-h__logoBodyTarget picture img{clip-path:inset(0 0 15% 0);margin-bottom:-15%}
.cm-f__mainOpenOffday{white-space:normal}
.cm-f__mainBottomProduced .en-lettering{font:500 12px/1.4 var(--english-body);letter-spacing:0}
.cm-h__infoTabItem .btn{white-space:nowrap}
.p-top__accessMainAddress .txt,.cm-f__mainAccessTxt{line-height:1.6}
.cm-f__mainContactTxt .target__txt{overflow-wrap:anywhere}
.cm-f__mainOpen{flex-wrap:wrap;gap:12px}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:750px){
 .en-intro{font-size:29px;text-align:center}
 .p-top__pointListBlock .title .en-lettering{font-size:28px}
 .c-sentence,.p-top__introTxtBody{font-size:16px;line-height:1.8}
 .en-booking-label{font-size:16px}
 .cm-modalblock__titleImg.en-lettering{font-size:27px}
 .p-top__accessTitleTxt .en-lettering,.p-top__faqTitle .en-lettering{writing-mode:horizontal-tb;font-size:40px}
 .p-top__faqTitle{width:auto}
 .en-logo-label{font-size:8px}
 .en-day{font-size:11px}
 .p-top__connectTitle .en-lettering,.p-top__infoTitle .en-lettering{writing-mode:horizontal-tb;font-size:42px}
 .p-top__connectTitle,.p-top__infoTitle{width:auto;white-space:nowrap}
 .p-top__connectTitle{grid-column:1/-1}
 .cm-priceblock__tabItemBtn .main__itemNum,.cm-modalblock__priceTabItem .btn__mainItemNum{font-size:16px}
 .cm-priceblock__tabItemBtn{gap:.4em}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep mobile labels and supporting copy readable without changing desktop type. */
.en-season-label,.en-mobile-break{display:none}
@media (max-width:750px){
 .u-notice__txt{font-size:max(14px,calc(var(--notice-fs-sp) * 1em/16))}
 .c-btn__txt{font-size:max(14px,calc(var(--btn-txt-fs-sp) * 1em/16))}
 .c-table__rowHead{font-size:max(14px,.75em)}
 .c-table__rowPeopleUnit{font-size:max(14px,.75em)}
 .c-table__rowPriceUnit{font-size:max(14px,.875em)}
 .cm-h__infoTabItem .btn{font-size:max(14px,.75em)}
 .cm-h__infoWeatherTemp{font-size:max(14px,.6875em)}
 .cm-h__infoWeatherTxt{font-size:max(14px,.6875em)}
 .cm-h__navListItem .target{font-size:max(14px,.875em)}
 .cm-modalblock__priceTabItem .btn__mainItemTxt{font-size:max(14px,.8125em)}
 .cm-modalblock__priceMainBody .cont__aboutSystemTxt{font-size:max(14px,.875em)}
 .cm-modalblock__priceMainBody .cont__aboutTimeTitle{font-size:max(14px,.6875em)}
 .cm-modalblock__priceMainNote .tax{font-size:max(14px,.6875em)}
 .cm-modalblock__priceMainLine .target__txt{font-size:max(14px,.875em)}
 .cm-modalblock__reservationListItem .line__txt{font-size:max(14px,.875em)}
 .cm-f__mainOpenOffday{font-size:max(14px,.8125em)}
 .cm-f__mainOpenTime{font-size:max(14px,.875em)}
 .cm-f__mainAccessZipcode{font-size:max(14px,.875em)}
 .cm-f__mainAccessTxt{font-size:max(14px,.8125em)}
 .cm-f__mainAccessTxt .num{font-size:max(14px,calc(14em/13))}
 .cm-f__mainAccessGmap .target__txt{font-size:max(14px,.875em)}
 .cm-f__mainContactTitle{font-size:max(14px,.875em)}
 .cm-f__mainContactTxt .target__txt{font-size:max(14px,.875em)}
 .cm-f__mainContactTxt .target__line{font-size:max(14px,.875em)}
 .cm-f__mainSnsTarget .txt{font-size:max(14px,.875em)}
 .cm-priceblock__tabItemBtn .main__itemTxt{font-size:max(14px,.8125em)}
 .cm-priceblock__mainBodyCont-inner .about__systemTxt{font-size:max(14px,.875em)}
 .cm-priceblock__mainBodyCont-inner .about__timeTitle{font-size:max(14px,.6875em)}
 .cm-priceblock__mainNoteTax{font-size:max(14px,.6875em)}
 .p-top__infoFacilitiesOthers .block__listRowTitle{font-size:max(14px,.875em)}
 :is(.p-top__infoFacilitiesOthers .block__listRowTitle) .small{font-size:max(14px,calc(11em/14))}
 :is(.p-top__infoFacilitiesOthers .block__listRowTxt) .unit{font-size:max(14px,.75em)}
 :is(.p-top__infoFacilitiesOthers .block__listRowTxt) .num{font-size:max(14px,.875em)}
 .p-top__accessMainTel .title{font-size:max(14px,.875em)}
 .p-top__accessMainNote .item{font-size:max(14px,.6875em)}
 .p-top__accessLinkList .item__targetTxt{font-size:max(14px,.8125em)}
 .p-top__faqListRow .body__noteItem{font-size:max(14px,.6875em)}
 .en-logo-label,.en-day,.cm-f__mainBottomProduced .en-lettering{font-size:14px}
 .en-logo-label{width:max-content;max-width:calc(100vw - 40px);white-space:normal;line-height:1.3;text-align:left}
 .c-table__rowPeopleNum,.c-table__rowPriceNum,
 .p-top__accessMainAddress .zipcode__line,.p-top__accessMainAddress .txt{font-size:max(14px,1em)}
 /* Give the larger weather text its own row instead of clipping it beside the tabs. */
 .cm-h__info{width:min(350px,calc(100% - 32px));grid-template-rows:auto auto 1fr}
 .cm-h__infoWeather{grid-row:2;grid-column:1/-1;margin:0 .75em .5em;overflow:visible}
 .cm-h__infoWeather-track{width:100%;animation:none;transform:none}
 .cm-h__infoWeather-inner{width:100%;padding-right:0;white-space:normal}
 .cm-h__infoWeatherTxt{flex-shrink:1;min-width:0}
 .cm-h__infoMain{grid-row:3}
 .cm-modalblock__priceTabItem .btn,.cm-priceblock__tabItemBtn{flex-direction:column;height:66px;gap:4px;padding:8px 4px}
 .cm-modalblock__priceTabItem .btn__sub,.cm-priceblock__tabItemBtn .sub{width:auto}
 .cm-modalblock__priceTabItem .btn__sub picture,.cm-priceblock__tabItemBtn .sub picture{display:none}
 .en-season-label{display:block;font-size:14px;line-height:1.3;letter-spacing:0;white-space:nowrap}
 .c-table__rowHead{letter-spacing:0;overflow-wrap:normal;word-break:normal}
 .c-table__rowHead:first-child{white-space:nowrap}
 .en-mobile-break{display:block}
 html[data-loading] .en-logo-label{max-width:100%;text-align:center}
}
