@charset "UTF-8";
:root{--paper:#f7f6f0;--ink:#173b42;--muted:#63716e;--accent:#ad5335;--line:#d5d8cf;--serif:"Yu Mincho","Hiragino Mincho ProN","SimSun",Georgia,serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:40px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,p,figure{margin:0}p{line-height:1.9}h2{font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:20;top:10px;left:20px;background:var(--paper);padding:15px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.header{min-height:96px;padding:20px 4%;display:flex;align-items:center;gap:36px;position:relative;z-index:5}.header-name{font:13px Georgia,serif;letter-spacing:.15em;white-space:nowrap}.desktop-nav{margin-left:auto;display:flex;gap:28px;font:10px Arial,sans-serif;letter-spacing:.12em}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:22px}.header select{border:0;background:transparent;font-size:12px;padding:8px 0;max-width:88px}.book-button{display:flex;align-items:center;gap:24px;background:var(--ink);color:var(--paper);padding:17px 21px;font:11px Arial,sans-serif;letter-spacing:.12em;white-space:nowrap}.book-button:hover{background:#28505a}.book-button span{font-size:18px}.menu-toggle{display:none;border:0;background:transparent;font-size:27px;width:32px;height:40px}.mobile-nav[hidden]{display:none}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:15px 28px 28px;border-bottom:1px solid var(--line)}.mobile-nav a{display:flex;justify-content:space-between;font:12px Arial,sans-serif;padding:20px 0;border-top:1px solid var(--line)}
.brand-intro{text-align:center;min-height:calc(100svh - 96px);padding:20px 24px 90px;display:flex;flex-direction:column;align-items:center;justify-content:center}.brand-intro h1{width:min(760px,85vw);line-height:0}.brand-intro img{width:100%;mix-blend-mode:multiply}.brand-message{font:400 clamp(17px,1.8vw,24px)/1.9 var(--serif);letter-spacing:.1em;margin-top:22px}.brand-identity{font-size:12px;letter-spacing:.12em;margin-top:16px;color:var(--muted)}
.section-shell{max-width:1080px;margin:0 auto;padding-left:50px;padding-right:50px}.themes{display:flex;justify-content:space-between;gap:40px;padding:55px 0 65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.theme h2{font:400 clamp(28px,3.2vw,42px)/1.3 Georgia,serif}.theme p{font-size:12px;letter-spacing:.12em;margin-top:12px;color:var(--muted)}.base-section{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center;padding:110px 0}.base-section figure{max-width:420px}.base-section img{width:100%;aspect-ratio:1.5;object-fit:cover}.base-section figcaption{font-size:10px;color:var(--muted);margin-top:10px}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:.17em;color:var(--accent);margin-bottom:17px}.base-copy h2,.info-row h2{font:400 24px/1.6 var(--serif);letter-spacing:.06em;margin-bottom:22px}.base-copy>p:not(.eyebrow){font-size:14px}.small-note{color:var(--muted);font-size:12px!important;line-height:1.9;margin-top:15px}.pending-link{display:inline-block;margin-top:28px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.04em;color:var(--muted)}.info-row{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-top:1px solid var(--line);padding:42px 0;align-items:start}.info-row h2{font-size:22px;margin:0}.info-row>p,.info-row>div>p:not(.eyebrow){font-size:14px}.booking-row{margin:35px 0 0;padding:36px 40px;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;gap:24px;align-items:center}.booking-row h2{font:400 26px Georgia,serif;letter-spacing:.05em}.booking-row h2 span{font:24px Arial,sans-serif;margin-left:24px}.booking-row p{font-size:12px;letter-spacing:.08em}
.footer{padding-top:80px;padding-bottom:28px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.footer-name{font:13px Georgia,serif;letter-spacing:.13em}.footer-top a{font-size:24px;padding:8px}.footer details{font-size:11px;color:var(--muted);margin-bottom:28px}.footer summary{cursor:pointer;width:fit-content}.footer details p{margin-top:12px}.footer-bottom{padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom small{font-size:10px}.footer-bottom nav{display:flex;gap:20px;font-size:11px}.footer-bottom a[aria-current]{border-bottom:1px solid var(--accent)}.preview-label{font-size:9px;letter-spacing:.08em}
html[lang=zh-CN]{--serif:"SimSun","Noto Serif CJK SC",serif}
@media(max-width:1050px){.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{display:block}.base-section,.info-row{gap:48px}}
@media(max-width:650px){.header{min-height:82px;padding:16px 20px;gap:12px}.header-name{font-size:10px;letter-spacing:.07em;max-width:98px;line-height:1.6;white-space:normal}.header-actions{gap:9px}.header select{font-size:10px;max-width:62px}.book-button{font-size:9px;gap:10px;padding:13px 12px}.book-button span{font-size:14px}.menu-toggle{width:24px;font-size:23px}.brand-intro{min-height:calc(88svh - 82px);padding:35px 18px 68px}.brand-intro h1{width:min(540px,100%)}.brand-message{font-size:16px;letter-spacing:.04em;margin-top:32px}.brand-identity{font-size:10px;margin-top:14px}.section-shell{padding-left:26px;padding-right:26px}.themes{gap:16px;padding:34px 0 38px}.theme h2{font-size:24px}.theme p{font-size:10px;letter-spacing:.04em;margin-top:10px}.base-section{grid-template-columns:1fr;gap:30px;padding:68px 0}.base-section figure{width:82%;max-width:360px}.base-copy{padding-left:12%}.base-copy h2{font-size:23px;margin-bottom:16px}.base-copy>p:not(.eyebrow){font-size:13px}.eyebrow{margin-bottom:12px}.info-row{grid-template-columns:1fr;gap:20px;padding:32px 0}.info-row h2{font-size:21px}.info-row>p,.info-row>div>p:not(.eyebrow){font-size:13px}.booking-row{margin-top:25px;padding:27px 24px;flex-wrap:wrap;gap:15px}.booking-row h2{font-size:24px}.booking-row p{font-size:11px}.footer{padding-top:55px}.footer-bottom{flex-wrap:wrap;gap:20px}.footer-bottom nav{gap:18px}.preview-label{width:100%}}
@media(max-width:360px){.theme h2{font-size:21px}.header{padding-left:12px;padding-right:12px}.brand-message{font-size:14px}}
/* Adopted TOP design: keep the logo, three quiet columns and modest photography. */
.desktop-nav{gap:22px;white-space:nowrap}.header{gap:25px}.theme{scroll-margin-top:40px}
.menu-toggle{min-width:44px;min-height:44px}
@media(min-width:1051px) and (max-width:1250px){.header{padding-left:24px;padding-right:24px;gap:18px}.header-name{font-size:11px}.desktop-nav{gap:15px;font-size:9px}.header-actions{gap:14px}.book-button{padding:16px;gap:16px}}
@media(max-width:650px){
 .header{padding:16px 18px;gap:10px;flex-wrap:wrap}
 .header-name{font-size:11px;max-width:106px;line-height:1.7}
 .header-actions{gap:6px}.header-actions>select{position:absolute;top:84px;right:24px;font-size:12px;max-width:90px;min-height:40px}
 .book-button{font-size:10px;min-height:44px;padding:13px 15px;gap:13px}
 .menu-toggle{font-size:25px;padding:0}
 .mobile-nav{top:128px}
 .brand-intro{min-height:calc(90svh - 82px);padding:65px 14px 66px}
 .brand-intro h1{width:100%;max-width:510px}
 .brand-message{font-size:clamp(14px,3.9vw,17px);letter-spacing:.025em;margin-top:28px}
 .themes{display:grid;grid-template-columns:1fr .85fr 1.25fr;gap:12px;padding:32px 0 36px}
 .theme h2{font-size:clamp(20px,5.6vw,27px);white-space:nowrap}.theme p{font-size:11px;letter-spacing:0}
 .base-section{padding:64px 0;gap:29px}.base-section figure{width:86%;max-width:350px}.base-copy{padding-left:8%}
 .info-row{grid-template-columns:116px 1fr;gap:18px;padding:32px 0}.info-row h2{font-size:18px}.info-row .eyebrow{font-size:9px;letter-spacing:.1em}
 .booking-row{padding:26px 22px;gap:14px}.booking-row h2{font-size:23px}.booking-row h2 span{margin-left:15px}
 .footer-bottom nav a{padding:10px 0}.footer-top a{min-width:44px;min-height:44px;text-align:center}
}
@media(max-width:360px){.section-shell{padding-left:22px;padding-right:22px}.info-row{grid-template-columns:1fr;gap:16px}.header{padding-left:14px;padding-right:14px;flex-wrap:nowrap;gap:6px}.header-name{max-width:86px;font-size:10px}.header-actions{gap:2px}.book-button{padding-left:12px;padding-right:12px;gap:9px}.theme h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
/* TOP-only refinements; shared page layouts remain unchanged. */
.home-page .home-stay-copy{margin-top:16px}
.home-detail-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-top:18px;border-bottom:1px solid var(--line);font:11px/1.6 Arial,sans-serif;letter-spacing:.1em}
.home-detail-link span{color:var(--accent);font-size:16px}
.home-detail-link:hover{color:var(--accent);border-color:var(--accent)}
@media(min-width:1051px){.home-page .brand-intro h1{width:min(608px,68vw)}}
@media(max-width:650px){.home-page .home-detail-link{margin-top:12px}.home-page .home-stay-copy{margin-top:14px}}

.home-page .booking-row{background:var(--ink);color:var(--paper)}
@media(min-width:1051px){.home-page .brand-intro{min-height:calc(100svh - 156px)}}

.booking-row h2 a{color:inherit;text-decoration:none}

html{scroll-behavior:smooth}#island-time-guide{scroll-margin-top:110px}.home-stay-copy{white-space:pre-line}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:360px){html[lang="ja"] .header .book-button{font-size:9px;letter-spacing:.03em;padding-left:8px;padding-right:8px;gap:5px}}

/* Keep booking labels together, including in-page calls to action. */
.book-button,.booking-row h2 a{white-space:nowrap}
.booking-row h2 a{display:inline-flex;align-items:center;gap:15px}
.booking-row h2 a span{margin-left:0;flex-shrink:0}
@media(max-width:650px){.booking-row h2{font-size:clamp(17px,5.3vw,23px)}.booking-row h2 a{gap:10px;letter-spacing:.02em}}
.heading-line{display:block;white-space:nowrap}
#store-title,#church-title{line-height:1.65}
@media(max-width:360px){html[lang="ja"] #store-title,html[lang="ja"] #church-title{font-size:20px;letter-spacing:.02em}}
.akou-spot{margin-top:40px}.akou-spot .church-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.akou-spot p+p{margin-top:1em}
html[lang="ja"] #store-title,html[lang="ja"] #church-title{container-type:inline-size;min-width:0}html[lang="ja"] .heading-line{font-size:min(1em,9cqi)}

/* The lower booking CTA keeps its label and arrow as one non-shrinking item. */
.booking-row{flex-wrap:wrap}
.booking-row>h2{flex:0 0 auto;white-space:nowrap;max-width:100%}
.booking-row>h2>a{display:inline-flex;flex-wrap:nowrap;white-space:nowrap;width:max-content;max-width:100%}
.booking-row>h2>a>span{flex:0 0 auto;white-space:nowrap}
.booking-row>p,.booking-row>div{flex:1 1 280px;min-width:0}
@media(max-width:650px){.booking-row>h2,.base-page .booking-row>h2{font-size:clamp(18px,5.3vw,23px)}}
