@charset "UTF-8";
:root{--paper:#f7f5ef;--ink:#303d32;--muted:#5d675d;--green:#435744;--line:#d6d9cc;--soft:#ebeee3;--rust:#985342;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/2 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:6px}p,h1,h2,h3,figure,dl,dd{margin:0}h1,h2,h3{font-weight:500}svg{display:block}button,a,summary{touch-action:manipulation}.section-width{width:min(1080px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:8px;left:12px;padding:8px 20px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.header-inner{max-width:1320px;margin:auto;min-height:103px;padding:18px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand-mark{width:38px;height:44px;stroke:var(--green);stroke-width:1.35;fill:none}.brand small{display:block;font-size:10px;letter-spacing:.16em;line-height:1.8}.brand strong{font:30px/1.5 var(--serif);letter-spacing:.17em}.site-nav{display:flex;align-items:center;gap:28px;font-size:13px;white-space:nowrap}.site-nav>a{padding:8px 0}.site-nav>a:hover{color:var(--rust)}.site-nav .nav-booking{border:1px solid var(--green);padding:9px 18px;margin-left:4px}.nav-booking span{margin-left:16px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding-top:55px;padding-bottom:37px}.eyebrow{font-size:12px;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.eyebrow>span,.eyebrow::after{width:20px;height:1px;flex-shrink:0;background:var(--rust)}.eyebrow::after{content:""}h1{font:44px/1.75 var(--serif);letter-spacing:.08em;margin:20px 0 21px}.hero-lead{font-size:14px;line-height:2.15}.text-link{display:inline-flex;align-items:center;gap:40px;padding-bottom:5px;border-bottom:1px solid var(--green);font-size:12px;margin-top:28px}.text-link:hover{color:var(--rust);border-color:var(--rust)}.hero-art svg{width:100%;height:auto}.hero-art figcaption{text-align:right;font-size:10px;letter-spacing:.04em;color:var(--muted);padding-top:5px}.notice{border-block:1px solid var(--line);display:flex;align-items:center;gap:24px;padding-block:17px;font-size:12px}.notice-label{font-size:11px;color:var(--rust);letter-spacing:.1em;white-space:nowrap}.notice p{flex:1}.notice a{white-space:nowrap}.notice a span{margin-left:14px}.notice a:hover{text-decoration:underline}
h2{font:29px/1.8 var(--serif);letter-spacing:.07em}.section-kicker{font-size:12px;letter-spacing:.15em;margin-bottom:15px;display:flex;align-items:center;gap:13px}.section-kicker>span{font:12px/1.5 Georgia,serif;color:var(--rust);letter-spacing:.05em}.about{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding-block:71px 65px}.about-copy{padding-top:11px}.about-copy p+p{margin-top:17px}.section-rule{border-top:1px solid var(--line);padding-block:53px}.onsen,.rooms{display:grid;grid-template-columns:1fr 1fr;gap:54px}.onsen-content>p{margin-bottom:21px}.onsen-note{display:flex;align-items:center;gap:24px;background:var(--soft);padding:21px 30px}.onsen-note svg{width:38px;height:40px;stroke:var(--green);stroke-width:1.25;fill:none}.onsen-note strong{font:20px/1.6 var(--serif);letter-spacing:.06em;display:block}.onsen-note span{font-size:11px;color:var(--muted);display:block;margin-top:3px}.room-facts{display:grid;grid-template-columns:1fr 1.3fr;margin-top:25px}.room-facts>div{padding-left:23px;border-left:1px solid var(--line)}.room-facts>div:first-child{padding-left:0;border:0}.room-facts dt{font-size:11px;color:var(--muted)}.room-facts dd{line-height:1.45;font-size:13px;padding-top:7px}.room-facts strong{font:40px/1.3 var(--serif);letter-spacing:.025em}.room-facts .range{font-size:19px;margin:0 7px;display:inline;color:var(--ink)}.room-facts dd>span{display:block;font-size:10px;color:var(--muted);margin-top:7px}
.stay{background:var(--soft);padding-block:58px 55px;margin-top:15px}.stay .section-heading>p:last-child{margin-top:12px;font-size:13px;color:var(--muted)}.stay-table{margin-top:30px;border-top:1px solid #bdc6b7}.stay-table>div{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid #cbd1c4;padding:15px 5px;gap:25px}.stay-table dt{font-weight:500;font-size:13px}.stay-table dd{font-size:13px}.faq{margin-top:42px}.faq h3{font:19px/1.8 var(--serif);letter-spacing:.06em;margin-bottom:13px}.faq details{border-bottom:1px solid #cbd1c4}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px;padding:15px 5px;min-height:54px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:20px;line-height:1.2;transition:transform .18s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{font-size:13px;color:var(--muted);padding:0 35px 18px 5px;max-width:850px}.faq summary:hover{color:var(--rust)}
.access{display:grid;grid-template-columns:1fr 1fr;gap:54px;padding-block:65px}.address h3{font:22px/1.8 var(--serif);margin-bottom:13px;letter-spacing:.08em}.address address{font-style:normal;font-size:14px;line-height:2.1}.parking{display:flex;align-items:center;gap:9px;font-size:12px;margin-top:12px}.parking svg{width:17px;height:17px;stroke:var(--green);stroke-width:1.3;fill:none}.button-outline{display:inline-flex;align-items:center;gap:35px;border:1px solid var(--green);padding:9px 20px;font-size:12px;margin-top:24px;min-height:44px}.button-outline:hover{background:var(--green);color:var(--paper)}.reservation{background:var(--green);color:var(--paper);padding-block:54px}.reservation-inner{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.reservation .section-kicker{color:#d0d9c8}.reservation h2{font-size:26px}.status{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.07em;border:1px solid #98a58c;padding:4px 12px;margin-bottom:16px}.status>span{width:5px;height:5px;border-radius:50%;background:#d8ba8f}.reservation-copy>p{font-size:13px;line-height:2.1}.reservation-copy .reservation-small{font-size:10px;margin-top:12px;color:#e1e6d9}.site-footer{padding-block:31px 23px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{font:24px/1.8 var(--serif);letter-spacing:.1em}.footer-brand small{font:10px/2 var(--sans);letter-spacing:.08em;margin-right:5px}.back-top{font-size:11px}.back-top span{margin-left:12px}.back-top:hover{text-decoration:underline}.footer-bottom{margin-top:16px;color:var(--muted);font-size:10px}.footer-bottom small{font-size:10px;white-space:nowrap}
.onsen,.rooms{align-items:center}.onsen-content .section-heading,.rooms-content .section-heading{margin-bottom:18px}.photo-slot{aspect-ratio:4/3;width:100%;background:#e9ecdf;border:1px solid var(--line);overflow:hidden}.room-photo{background:#eeeade}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted)}.photo-placeholder svg{width:40px;height:40px;fill:none;stroke:#7b8874;stroke-width:1;margin-bottom:14px}.photo-placeholder>span{font:18px/1.8 var(--serif);letter-spacing:.1em}.photo-placeholder>small{font-size:10px;letter-spacing:.1em;margin-top:5px}.photo-slot>img{width:100%;height:100%;object-fit:cover;display:block}.map-wrap{grid-column:1/-1;border:1px solid var(--line);background:var(--soft);overflow:hidden}.map-wrap iframe{display:block;width:100%;height:360px;border:0}.legal-disclosures{margin-top:28px;border-top:1px solid var(--line)}.legal-disclosures details{border-bottom:1px solid var(--line)}.legal-disclosures summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:14px 0;cursor:pointer;font-size:12px;list-style:none}.legal-disclosures summary::-webkit-details-marker{display:none}.legal-disclosures summary:hover{color:var(--rust)}.legal-disclosures summary>span{font-size:20px;line-height:1.2;transition:transform .18s}.legal-disclosures details[open] summary>span{transform:rotate(45deg)}.legal-table{font-size:12px;padding-bottom:22px}.legal-table>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:10px 0;border-top:1px solid var(--line)}.legal-table dt{font-weight:500}.legal-table dd{overflow-wrap:anywhere}.legal-table a{text-decoration:underline;text-underline-offset:3px}.privacy-list{padding:0 0 16px 1.5em;margin:0;font-size:12px;line-height:2}.privacy-list li{padding:5px 0}
@media(max-width:900px){.onsen-content{grid-row:1}.onsen-photo{grid-row:2}.photo-slot{aspect-ratio:4/3}.map-wrap iframe{height:300px}.legal-disclosures{margin-top:24px}.legal-disclosures summary{font-size:11px;gap:12px}.legal-table>div{grid-template-columns:1fr;gap:3px;padding-block:10px}.legal-table dd,.privacy-list{font-size:11px}.legal-table dt{font-size:11px;color:var(--muted)}.privacy-list{padding-bottom:16px;padding-left:1.5em}.legal-disclosures summary{min-height:54px}}
@media(min-width:1500px){.hero{padding-top:66px;padding-bottom:45px}h1{font-size:48px}}
@media(max-width:1000px){.section-width{width:calc(100% - 64px)}.header-inner{padding-inline:32px}.site-nav{gap:17px;font-size:12px}.site-nav .nav-booking{padding-inline:12px}.brand{gap:10px}.brand small{font-size:9px}.brand strong{font-size:27px}.brand-mark{width:31px}.hero{gap:32px}h1{font-size:36px}.hero-lead{font-size:13px}.about,.onsen,.rooms,.access,.reservation-inner{gap:40px}.about-copy,.onsen-content>p,.rooms>div>p{font-size:14px}}
@media(max-width:900px){html{scroll-padding-top:91px}.section-width{width:calc(100% - 40px)}.header-inner{padding:12px 20px;min-height:80px}.brand strong{font-size:25px}.brand small{font-size:8px}.brand-mark{width:29px;height:37px}.menu-toggle{border:0;background:none;color:var(--ink);display:flex;align-items:center;gap:11px;min-height:44px;padding:5px 0 5px 10px;font-size:10px;cursor:pointer}.menu-icon{width:20px;height:14px;border-block:1px solid var(--green);position:relative}.menu-icon:after{content:"";position:absolute;top:5px;left:0;width:20px;border-top:1px solid var(--green)}.site-nav{display:none;position:absolute;inset:100% 0 auto;background:var(--paper);border-bottom:1px solid var(--line);padding:13px 20px 20px;box-shadow:0 8px 12px #303d320a}.site-nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.site-nav>a{padding:9px 0;min-height:44px}.site-nav .nav-booking{grid-column:1/-1;margin:7px 0 0;padding:10px 14px;display:flex;justify-content:space-between}.hero{padding-top:30px;padding-bottom:21px;gap:26px;grid-template-columns:1fr}.eyebrow{font-size:10px}h1{font-size:35px;line-height:1.7;margin:16px 0}.hero-lead{font-size:13px;line-height:2}.text-link{margin-top:19px;font-size:11px;gap:28px}.hero-art{max-width:100%}.hero-art svg{max-height:310px;object-fit:cover;object-position:center;aspect-ratio:1.65}.hero-art figcaption{font-size:9px;padding-top:3px}.notice{display:grid;grid-template-columns:auto 1fr;gap:6px 13px;padding-block:14px;font-size:11px}.notice-label{align-self:start;font-size:10px}.notice p{line-height:1.9}.notice a{grid-column:2;font-size:10px;justify-self:start}.about,.onsen,.rooms,.access,.reservation-inner{grid-template-columns:1fr;gap:23px}.about{padding-block:43px 38px}.about-copy{padding-top:0}.about-copy p+p{margin-top:12px}.section-kicker{font-size:10px;margin-bottom:12px}.section-kicker>span{font-size:11px}h2{font-size:25px;line-height:1.7}.about-copy,.onsen-content>p,.rooms>div>p{font-size:13px;line-height:2}.section-rule{padding-block:33px}.onsen-note{padding:17px 23px;gap:23px}.onsen-note strong{font-size:19px}.onsen-note svg{width:34px}.room-facts{margin-top:22px}.room-facts strong{font-size:35px}.room-facts dt{font-size:10px}.room-facts .range{font-size:17px}.stay{margin-top:6px;padding-block:36px}.stay .section-heading>p:last-child{font-size:12px}.stay-table{margin-top:22px}.stay-table>div{grid-template-columns:1fr;gap:4px;padding:13px 0}.stay-table dt{font-size:12px}.stay-table dd{font-size:12px;color:var(--muted)}.faq{margin-top:30px}.faq h3{font-size:18px}.faq summary,.faq details>p{font-size:12px}.faq summary{padding-inline:0}.faq details>p{padding-left:0}.access{padding-block:37px}.address h3{font-size:20px;margin-bottom:8px}.address address{font-size:13px}.button-outline{margin-top:18px}.reservation{padding-block:36px}.reservation-inner{gap:25px}.reservation h2{font-size:24px}.reservation-copy>p{font-size:12px}.reservation-copy .reservation-small{font-size:10px}.status{font-size:11px}.site-footer{padding-block:25px 20px}.footer-top{gap:10px}.footer-brand{font-size:22px}.back-top{font-size:10px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:9px;font-size:9px}.footer-bottom small{font-size:9px}}
@media(max-width:360px){h1{font-size:31px}.brand small{font-size:7px}.brand strong{font-size:23px}.menu-label{font-size:9px}.hero-lead{font-size:12px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media print{.site-header{position:static}.menu-toggle,.site-nav,.hero-art,.back-top,.text-link{display:none}body{background:white;color:black;font-size:11px}.section-width{width:100%}.hero,.about,.onsen,.rooms,.access,.reservation-inner{gap:15px}.hero,.about,.section-rule,.access,.reservation,.stay{padding-block:18px}.reservation,.stay{background:white;color:black}.reservation .section-kicker,.reservation-copy .reservation-small{color:#333}.status{border-color:#333}details>p{display:block}h1{font-size:30px}h2{font-size:20px}.notice{margin-bottom:12px}}

.drive-times{margin-top:25px;font-size:13px;max-width:430px}.drive-times>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.drive-times dd{white-space:nowrap}.drive-note{font-size:11px;line-height:1.9;color:var(--muted);max-width:430px;margin-top:12px}.faq details>p a{text-decoration:underline;text-underline-offset:3px}.faq details>p a:hover{color:var(--rust)}@media(max-width:900px){.drive-times{font-size:12px;margin-top:20px}.drive-note{font-size:10px}}

.hero-photo{aspect-ratio:530/480}.hero-photo>img{object-position:center}@media(max-width:900px){.hero-photo{aspect-ratio:1.65}}@media print{.hero-photo{display:none}}

/* 読みやすい上部案内と、セクションごとの淡い背景 */
.site-header{background:#fffdf8;border-bottom-color:#bdc8b8;box-shadow:0 2px 10px #303d3208}
.site-nav{gap:10px;font-family:var(--sans);font-size:16px;font-weight:700;color:#263d2c}
.site-nav>a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:9px 16px;background:#edf1e7;border:1px solid #d1daca;border-radius:4px;line-height:1.5}
.site-nav>a:hover,.site-nav>a:focus-visible{background:#dce7d4;color:#203b26;border-color:#91a686}
.site-nav .nav-booking{background:#435744;color:#fff;padding:10px 18px;border-radius:4px;margin-left:4px}
.site-nav .nav-booking:hover{background:#304432;color:#fff}
.band-about{background:#f0ebe2}.band-onsen{background:#eaf0e6}.band-rooms{background:#f4eee1}.stay{background:#e9eef0;margin-top:0}.band-access{background:#f2eae4}
.section-rule{border-top:0}.section-band{border-top:1px solid #dce0d4}.section-band .section-kicker{font-weight:700;color:#435744}.onsen-note{background:#dce6d5}.photo-slot{background:#e1e9da;border-color:#c6d1bf}.room-photo{background:#e8e0cf;border-color:#d5ccb9}
.reservation{background:#e1e9da;color:#303d32;border-top:1px solid #c6d1bf}.reservation .section-kicker{color:#435744}.reservation .status{border-color:#879b7d;background:#f7f9f3}.reservation .status>span{background:#91613e}.reservation-copy .reservation-small{color:#53634f}
@media(min-width:901px) and (max-width:1100px){.header-inner{padding-inline:24px;gap:16px}.site-nav{gap:7px;font-size:15px}.site-nav>a{padding-inline:12px}.site-nav .nav-booking{padding-inline:13px}.brand{gap:10px}}
@media(max-width:900px){.site-nav{font-size:16px;gap:10px 12px;padding:16px 20px 20px;background:#fffdf8}.site-nav>a{padding:12px;min-height:48px}.site-nav .nav-booking{margin:2px 0 0;min-height:48px;padding:12px 16px}.menu-toggle{font-size:13px;gap:12px;min-width:90px;justify-content:flex-end}.menu-label{font-size:12px;font-weight:700}.section-band{border-top-color:#d5ddcf}}
@media print{.section-band,.stay,.reservation{background:#fff;box-shadow:none}}

/* 枠を使わず、余白と下線で見せるナビゲーション */
.site-header{box-shadow:none;border-bottom-color:#e1e4da}
.site-nav{gap:30px;font-size:15px;font-weight:600;letter-spacing:.07em}
.site-nav>a,.site-nav .nav-booking{position:relative;background:none;color:#263d2c;border:0;border-radius:0;padding:10px 0;min-height:46px}
.site-nav>a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}
.site-nav>a:hover,.site-nav>a:focus-visible,.site-nav .nav-booking:hover{background:none;color:#203b26}
.site-nav>a:hover::after,.site-nav>a:focus-visible::after{transform:scaleX(1)}
.site-nav .nav-booking{margin-left:8px}.site-nav .nav-booking span{margin-left:12px;font-size:18px;font-weight:400}
@media(min-width:901px) and (max-width:1100px){.site-nav{gap:22px;font-size:15px}.site-nav>a,.site-nav .nav-booking{padding-inline:0}}
@media(max-width:900px){.site-nav{font-size:16px;gap:4px 24px;padding:16px 24px 24px}.site-nav>a{justify-content:flex-start;padding:14px 0;min-height:50px;border-bottom:1px solid #e2e5dc}.site-nav>a::after{bottom:-1px}.site-nav .nav-booking{margin:8px 0 0;padding:14px 0;min-height:50px;justify-content:space-between;border-bottom:0}.menu-label{font-weight:600}}

/* 栄弥の上部メニューに合わせた明朝体・間隔・予約ボタン */
.site-header{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(212,201,184,.55);box-shadow:0 1px 20px rgba(44,36,25,.08)}
.header-inner{width:min(92%,1100px);max-width:none;min-height:64px;padding:12px 0;gap:24px}
.brand{gap:0}.nav-wordmark{font-family:"Noto Serif JP","YuMincho","Hiragino Mincho ProN",serif;font-size:1.1rem;font-weight:500;color:#2c2419;letter-spacing:.15em;white-space:nowrap}
.site-nav{gap:28px;font-family:"Noto Serif JP","YuMincho","Hiragino Mincho ProN",serif;font-size:.8rem;font-weight:400;letter-spacing:.12em;color:#6b5d4d}
.site-nav>a{font-family:inherit;font-size:inherit;font-weight:400;color:#6b5d4d;min-height:40px;padding:0;border:0;background:none;line-height:1.9;transition:color .3s}
.site-nav>a::after{bottom:2px;transition:transform .3s ease}.site-nav>a:hover,.site-nav>a:focus-visible{color:#2c2419}
.site-nav .nav-booking{font-family:inherit;background:#8b6914;color:#fff;padding:8px 20px;min-height:0;font-size:.75rem;letter-spacing:.15em;border-radius:2px;margin-left:0;line-height:1.9;transition:background .3s,transform .3s}
.site-nav .nav-booking::after{display:none}.site-nav .nav-booking:hover,.site-nav .nav-booking:focus-visible{background:#c4a44a;color:#fff;transform:translateY(-1px)}
@media(min-width:901px) and (max-width:1100px){.header-inner{padding:12px 0}.site-nav{gap:28px;font-size:.8rem}.site-nav>a{padding:0}.site-nav .nav-booking{padding:8px 20px}}
@media(max-width:900px){.header-inner{min-height:64px;padding:12px 0}.menu-toggle{position:relative;z-index:12;min-width:44px;justify-content:center}.menu-label{display:none}.menu-icon{width:28px;height:20px;border-color:#2c2419}.menu-icon:after{width:28px;top:8px;border-color:#2c2419}.site-nav{position:fixed;inset:0 0 0 auto;width:75%;max-width:320px;height:100dvh;max-height:100dvh;overflow-y:auto;padding:100px 40px 40px;background:#fff;box-shadow:-10px 0 40px rgba(0,0,0,.1);border:0;gap:24px}.site-nav.is-open{display:flex;flex-direction:column;align-items:flex-start}.site-nav>a{font-size:.95rem;min-height:44px;justify-content:flex-start;border:0;padding:0;color:#2c2419}.site-nav .nav-booking{font-size:.75rem;padding:8px 20px;margin:0;min-height:0;color:#fff}}

.reservation-copy .reservation-small{font-size:13px;margin:12px 0 5px;color:#53634f}.reservation-copy .reservation-phone{display:inline-flex;align-items:center;min-height:52px;padding:8px 22px;background:#8b6914;color:#fff;font-size:22px;font-weight:700;letter-spacing:.06em;border-radius:3px;box-shadow:0 2px 5px #303d3220}.reservation-copy .reservation-phone:hover{background:#6f520f;text-decoration:none}@media(max-width:900px){.reservation-copy .reservation-phone{font-size:21px;min-height:50px}}

.photo-zoom{display:block;position:relative;width:100%;height:100%;cursor:zoom-in;overflow:hidden}.photo-zoom img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.photo-zoom:hover img{transform:scale(1.025)}.zoom-hint{position:absolute;right:12px;bottom:12px;padding:7px 10px;background:#263329c9;color:#fff;font-size:11px;letter-spacing:.04em}.photo-lightbox{position:fixed;max-width:min(94vw,1500px);max-height:94dvh;width:auto;height:auto;border:0;padding:48px 10px 10px;background:#111;overflow:visible}.photo-lightbox::backdrop{background:#10130fe8}.photo-lightbox>img{display:block;max-width:calc(94vw - 20px);max-height:calc(94dvh - 70px);width:auto;height:auto;object-fit:contain}.lightbox-close{position:absolute;top:8px;right:10px;display:flex;align-items:center;gap:12px;min-height:38px;padding:5px 12px;border:1px solid #ffffff70;background:#263329;color:white;font:inherit;font-size:12px;cursor:pointer}.lightbox-close span{font-size:20px;line-height:1}
.photo-lightbox{width:fit-content;height:fit-content;max-width:94vw;max-height:94dvh;box-sizing:border-box;margin:auto;overflow:hidden;}

/* Sister inn introduction */
.sister-inn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,56px);align-items:center}
.sister-inn-photo{position:relative;margin:0;width:100%;min-width:0;aspect-ratio:4/3;overflow:hidden}
.sister-inn-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.sister-inn-copy{min-width:0}
.sister-inn-copy h3{margin:0 0 16px;font-family:var(--serif);font-size:clamp(1.3rem,3vw,1.7rem);font-weight:500;line-height:1.6}
.sister-inn-copy p{font-size:.95rem;line-height:2;color:var(--muted)}
.sister-inn-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;margin-top:24px;padding:10px 0;border-bottom:1px solid currentColor;color:var(--green);text-decoration:none;font-size:.9rem}
.sister-inn-link:hover{color:var(--ink)}
.sister-inn-link:focus-visible{outline:2px solid currentColor;outline-offset:6px}
@media(max-width:900px){.sister-inn-grid{grid-template-columns:minmax(0,1fr);gap:24px}.sister-inn{padding-block:40px}.sister-inn-copy p{font-size:14px}.sister-inn-link{max-width:100%;gap:12px}}

.sister-inn{padding-block:64px}.sister-inn h2{margin-bottom:28px}.band-sister-inn{background:var(--paper)}

.floating-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9;background:rgba(44,36,25,.95);backdrop-filter:blur(12px);padding:12px 20px;transform:translateY(100%);visibility:hidden;transition:transform .4s ease,visibility .4s}
.floating-cta.visible{transform:translateY(0);visibility:visible}
.floating-cta-inner{display:flex;align-items:center;justify-content:space-between;max-width:500px;margin:0 auto;gap:12px}
.floating-cta-text{color:rgba(249,245,237,.7);font-family:var(--serif);font-size:.72rem;letter-spacing:.08em}
.floating-cta-btn{background:#8B6914;color:#fff;font-family:var(--serif);font-size:.78rem;letter-spacing:.15em;padding:10px 28px;border-radius:2px;white-space:nowrap}
@media(max-width:768px){.floating-cta{display:block;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.site-footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}}
/* Booking.comへの予約導線 */
.booking-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;max-width:100%;min-height:48px;margin-top:20px;padding:13px 22px;background:#8b6914;color:#fff;font-family:var(--serif);font-size:15px;line-height:1.8;border-radius:2px;text-align:center}
.booking-button:hover{background:#6f520f}.booking-button:focus-visible{outline-color:#8b6914}
.booking-note,.reservation-copy .booking-note{font-size:11px;line-height:1.8;margin-top:7px;color:var(--muted)}
.booking-inline{text-decoration:underline;text-underline-offset:4px}
.reservation-copy .reservation-small{margin-top:26px}
.reservation-copy .reservation-phone{background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none;font-size:20px}
.reservation-copy .reservation-phone:hover{background:#e8ede3}
@media(max-width:600px){.booking-button{width:100%;font-size:14px;padding-inline:12px}.hero-booking{width:auto}.floating-cta-inner{gap:8px}.floating-cta-btn{padding-inline:22px}}

/* 予約欄で各OTAを選択 */
.ota-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.ota-buttons .booking-button{margin:0;width:100%;padding-inline:16px}.ota-buttons .booking-button span[aria-hidden]{font-size:14px}
@media(max-width:600px){.ota-buttons{grid-template-columns:minmax(0,1fr)}}
