@charset "UTF-8";
:root{--paper:#f3eee4;--paper-light:#faf8f3;--ink:#1e2830;--muted:#60685f;--line:#cfcfc2;--rust:#a8472a;--green:#515d4e;--night:#1e2830;--serif:"Noto Serif JP","Yu Mincho",YuMincho,serif;--sans:"Noto Sans JP",sans-serif;--rail:124px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:.055em;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3,dl{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.7;letter-spacing:.1em}h2{font-size:clamp(29px,2.9vw,44px)}h3{font-size:27px}p+p{margin-top:1.4em}a,button{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rust);outline-offset:6px}::selection{background:#d9d7c5}button:disabled{cursor:default}figcaption{font-size:11px;letter-spacing:.06em;color:var(--muted);margin-top:14px}section[id]{scroll-margin-top:40px}.skip-link{position:fixed;top:-100px;left:12px;padding:12px 24px;background:var(--paper-light);z-index:100}.skip-link:focus{top:12px}
.brand-rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:15;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;flex-direction:column;align-items:center;margin-top:43px}.brand-location{writing-mode:vertical-rl;letter-spacing:.24em;font-size:10px}.brand-name{writing-mode:vertical-rl;font-family:var(--serif);font-weight:500;font-size:39px;letter-spacing:.2em;margin-top:26px}.brand-seal{font-family:var(--serif);font-size:21px;width:34px;height:36px;border:1px solid var(--rust);color:var(--rust);display:grid;place-items:center;line-height:1;transform:rotate(-5deg);margin-top:28px;border-radius:45% 45% 46% 43%}.rail-bottom{font-size:9px;letter-spacing:.18em;writing-mode:vertical-rl;transform:rotate(180deg);margin-bottom:30px}.site-wrap{margin-left:var(--rail)}.site-header{height:100px;padding:0 40px;display:flex;align-items:center;gap:30px;position:relative;z-index:10}.header-note{font-size:10px;letter-spacing:.12em;margin-right:auto}.desktop-nav{display:flex;gap:25px;font-size:11px;white-space:nowrap}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";height:1px;position:absolute;bottom:-5px;left:0;width:100%;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.booking-link{display:flex;align-items:center;gap:24px;color:var(--rust);font-size:12px;border-bottom:1px solid var(--rust);padding:8px 0;white-space:nowrap}.booking-link span{font-size:20px}.mobile-brand{display:none}.menu-toggle{border:0;background:none;width:32px;height:40px;padding:7px 0;flex-shrink:0;display:flex;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{width:27px;height:1px;background:var(--ink)}.menu-toggle span:last-child{width:19px;margin-left:auto}.menu-dialog{border:0;padding:70px max(8vw,30px);background:var(--paper);color:var(--ink);width:min(680px,calc(100% - 32px));max-height:calc(100dvh - 40px);overscroll-behavior:contain}.menu-dialog::backdrop{background:#172620a6;backdrop-filter:blur(5px)}.menu-dialog nav{display:flex;flex-direction:column;margin:30px 0}.menu-dialog nav a{font-family:var(--serif);font-size:25px;border-bottom:1px solid var(--line);padding:14px 0}.menu-dialog nav a:hover{color:var(--rust)}.menu-close{position:absolute;right:24px;top:20px;background:none;border:0;font-size:13px;padding:8px}.menu-dialog>p:last-child{font-size:12px}.mobile-booking{display:none}
.eyebrow{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.2em;line-height:1.6}.section-label{font-size:11px;letter-spacing:.2em;color:var(--muted);margin-bottom:22px}.section-space{padding:100px 7.8%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:22px}.section-heading>p{font-size:13px;line-height:2.2}.text-link{border-bottom:1px solid var(--line);display:inline-flex;justify-content:space-between;align-items:center;gap:35px;padding:15px 0;font-size:12px;transition:color .2s,border-color .2s}.text-link span{font-size:24px;line-height:1;transition:transform .3s}.text-link:hover{color:var(--rust);border-color:var(--rust)}.text-link:hover span{transform:translate(3px,-3px)}.circle-arrow{height:55px;width:55px;border:1px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;font-family:var(--sans);font-size:24px;transition:transform .3s}.button-primary,.button-outline{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:70px;padding:20px 28px;font-size:13px;border:1px solid var(--rust);background:var(--rust);color:#fff;transition:background .2s}.button-primary:hover{background:#79432f}.button-primary span,.button-outline span{font-size:24px}.button-outline{background:transparent;color:var(--ink);border-color:var(--line)}.button-outline:hover{background:#e9e5db}.small-seal{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--rust);border-radius:50%;font-family:var(--serif);font-size:13px;color:var(--rust);letter-spacing:.1em;transform:rotate(-8deg)}.fine-print{font-size:11px;line-height:2;color:var(--muted)}
.hero{padding:0 30px}.hero-image{position:relative;height:min(660px,calc(100svh - 165px));min-height:520px;isolation:isolate;overflow:hidden;background:#627065}.hero-image>img{height:100%;object-fit:cover;object-position:center 55%;animation:hero-settle 1.8s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a1f2512 20%,#1624223b 74%,#16242260),linear-gradient(0deg,#16242270,transparent 40%)}.hero h1{position:absolute;right:10.5%;top:13%;display:flex;flex-direction:row-reverse;gap:27px;font-size:clamp(41px,4vw,64px);color:#fff;line-height:1.55;text-shadow:0 2px 18px #18251e33;letter-spacing:.18em}.hero h1 span{writing-mode:vertical-rl}.hero h1 span:nth-child(2){padding-top:1.2em}.hero-place{position:absolute;left:34px;top:34px;color:#fff;font-size:11px;letter-spacing:.25em;writing-mode:vertical-rl}.hero-caption{position:absolute;bottom:30px;left:35px;color:#fff;font-size:10px;letter-spacing:.12em;display:flex;align-items:center;gap:17px}.tiny-line{width:35px;height:1px;background:currentColor}.hero-discover{position:absolute;bottom:25px;right:32px;display:flex;align-items:center;gap:20px;color:#fff;font-size:11px}.hero-discover:hover .circle-arrow{transform:rotate(45deg)}.hero-under{display:flex;justify-content:space-between;align-items:center;padding:20px 4px;font-size:10px;letter-spacing:.12em}.hero-under a{font-size:9px;letter-spacing:.18em;display:flex;gap:25px}.hero-under a span{font-size:16px}@keyframes hero-settle{from{transform:scale(1.04)}to{transform:scale(1)}}
.introduction{position:relative;display:grid;grid-template-columns:60px 1fr 30%;gap:5%;padding-top:110px;padding-bottom:120px;align-items:start}.intro-kicker{height:100%;display:flex;flex-direction:column;align-items:center;gap:45px;padding-top:8px}.intro-kicker .eyebrow{writing-mode:vertical-rl;font-size:9px}.intro-main h2{font-size:clamp(32px,3.3vw,48px);line-height:1.9;letter-spacing:.15em}.intro-text{font-size:13px;line-height:2.3;margin:38px 0 0 0}.intro-photo{margin-top:124px}.intro-photo img{aspect-ratio:3/4;object-fit:cover;object-position:30% center}.intro-photo figcaption{writing-mode:vertical-rl;margin-left:auto;margin-top:20px}.onsen-story{border-top:1px solid var(--line);padding-top:85px}.feature-bath{position:relative;display:block;min-height:540px;overflow:hidden;background:#51594c}.feature-bath>img{height:560px;object-fit:cover;object-position:center 48%;transition:transform 1s}.feature-bath:hover>img{transform:scale(1.025)}.feature-bath-label{position:absolute;left:0;bottom:0;background:var(--paper);padding:34px 44px 12px 0;min-width:320px}.feature-bath-label h3{font-size:37px;margin-top:20px}.feature-bath-label .text-link{border-bottom:0}.source-story{display:grid;grid-template-columns:16% 32% 1fr;gap:4%;margin-top:70px;align-items:center}.source-sign{font-family:var(--serif);font-size:98px;line-height:1;color:#a9ac9b;display:flex;align-items:center;justify-content:center;letter-spacing:0}.source-sign>span{font-size:14px;writing-mode:vertical-rl;letter-spacing:.18em}.source-story h3{font-size:30px;margin-top:19px}.source-story p:not(.eyebrow){font-size:13px;line-height:2.3}.source-story .text-link{margin-top:14px}.town-story{margin:30px 0 90px;position:relative;display:grid;grid-template-columns:60% 40%;padding:0 0 55px}.town-image{height:640px;overflow:hidden}.town-image img{height:100%;object-fit:cover}.town-panel{position:relative;margin-left:-60px;margin-top:130px;align-self:end;background:#e5e5d8;padding:55px 48px 58px;z-index:1}.town-panel h2{font-size:36px;margin:24px 0}.town-panel>p:not(.eyebrow){font-size:13px;line-height:2.2}.town-panel .text-link{margin-top:24px;width:100%}.town-panel-mark{position:absolute;right:32px;top:24px;font-family:var(--serif);font-size:70px;color:#69776220;line-height:1;pointer-events:none}.stay-story{padding-top:0}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.stay-item:nth-child(2){margin-top:120px}.stay-item figure{overflow:hidden}.stay-item img{aspect-ratio:8/5;object-fit:cover;transition:transform .7s}.stay-item:hover img{transform:scale(1.04)}.stay-item>div{display:grid;grid-template-columns:1fr 25px;position:relative;padding-top:22px}.stay-item .eyebrow{grid-column:1/-1;font-size:9px}.stay-item h3{font-size:21px;letter-spacing:.05em;margin-top:12px}.stay-item>div>span:last-child{font-size:24px;align-self:end}.stay-item>p{font-size:12px;margin-top:12px}.quiet-night{position:relative;text-align:center;color:#efede2;background:var(--night);padding:90px 30px;overflow:hidden}.quiet-night:before,.quiet-night:after{content:"";position:absolute;border:1px solid #9fbaad20;width:900px;height:270px;border-radius:50%;left:50%;transform:translateX(-50%) rotate(-14deg);bottom:-210px;pointer-events:none}.quiet-night:after{bottom:-175px;width:1150px}.quiet-night h2{font-size:34px;margin:28px 0}.quiet-night>p:not(.eyebrow){font-size:12px;line-height:2.3}.quiet-night .text-link{margin-top:24px;border-color:#98a69a80}.quiet-night .text-link:hover{color:#e3c2a4}.practical{display:grid;grid-template-columns:40% 60%;padding-top:100px;padding-bottom:100px}.practical h2{margin-top:24px}.practical-links>a{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:23px}.practical-links>a:first-child{padding-top:0}.practical-links small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.17em;color:var(--muted);margin-bottom:8px}.practical-links>a>span:last-child{font-family:var(--sans);font-size:26px}.practical-links a:hover{color:var(--rust)}.reserve-banner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:70px 7.8%;background:#e5e5d9;border-top:1px solid var(--line)}.reserve-banner h2{margin-top:20px;font-size:33px}.reserve-banner>div:last-child{min-width:340px}.phone-link{display:block;margin-top:22px;font-size:11px}.phone-link span{margin-left:16px;font-size:18px;letter-spacing:.06em}.site-footer{padding:65px 7.8% 30px}.footer-top{display:grid;grid-template-columns:29% 32% 1fr;gap:20px;padding-bottom:50px}.footer-name{font-family:var(--serif);font-size:38px;letter-spacing:.18em}.footer-name small{font-family:var(--sans);display:block;font-size:10px;letter-spacing:.2em;margin-bottom:14px}.footer-top>p{font-family:var(--serif);font-size:20px;letter-spacing:.15em}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:11px}.footer-top nav a:hover{color:var(--rust)}.footer-bottom{display:flex;align-items:center;gap:35px;border-top:1px solid var(--line);padding-top:26px;font-size:10px}.footer-bottom small{margin-left:auto;font-size:9px;letter-spacing:.12em}.back-top{font-size:22px;padding:5px 10px}
.breadcrumb{padding:16px 7.8%;font-size:10px;color:var(--muted)}.breadcrumb span{margin:0 14px}.breadcrumb a:hover{text-decoration:underline}.page-title{padding:55px 7.8% 70px;position:relative}.page-title h1{font-size:clamp(38px,4.4vw,64px);line-height:1.8;margin:25px 0}.page-title>p:last-child{font-size:13px}.wide-photo{margin:0 30px}.wide-photo img{height:500px;object-fit:cover;object-position:center 52%}.wide-photo figcaption{padding:0 14px}.town-wide img{height:520px;object-position:center}.page-jump{display:flex;justify-content:center;gap:45px;margin:40px 7.8% 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.page-jump a:hover{color:var(--rust)}.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:12%}.split-copy h2{margin-top:22px}.split-copy .lead{font-family:var(--serif);font-size:20px;line-height:2}.split-copy>div>p:not(.eyebrow)+p{margin-top:28px}.data-list{margin-top:35px;font-size:13px}.data-list>div{display:grid;grid-template-columns:30% 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}.data-list>div:last-child{border-bottom:1px solid var(--line)}.data-list dt{color:var(--muted);font-size:12px}.data-list dd{margin:0}.data-list a{text-decoration:underline;text-underline-offset:4px}.bath-detail{padding-top:30px}.gallery>img{aspect-ratio:16/10;object-fit:cover}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:11px}.gallery-controls>div{display:flex;gap:12px}.gallery-button{border:1px solid var(--line);background:none;border-radius:50%;width:42px;height:42px;font-size:11px}.gallery-button.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-top:45px}.two-columns p+p{margin:0}.bathing-info{background:#e9e8de}.bathing-info h2{margin:20px 0 30px}.bathing-info .fine-print{margin:20px 0}.bathing-info .text-link{max-width:100%}.next-chapter{padding:65px 7.8%;border-top:1px solid var(--line);background:#e5e5d9}.next-chapter>a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.next-chapter h2{font-size:31px}.next-chapter h2 small{display:block;font-family:var(--sans);font-size:22px;letter-spacing:.08em;margin-top:16px}.next-chapter .circle-arrow{flex-shrink:0}.editorial-row{display:grid;grid-template-columns:50% 1fr;align-items:center;gap:9%}.editorial-row figure img{aspect-ratio:4/3;object-fit:cover}.editorial-row h2{margin:24px 0}.editorial-row .text-link{margin-top:25px}.editorial-row.reversed{background:#e9e8de;grid-template-columns:1fr 50%}.editorial-row.reversed figure{grid-column:2;grid-row:1}.editorial-row.reversed>div{grid-column:1;grid-row:1}.breakfast-story{display:grid;grid-template-columns:1.1fr 1fr .7fr;align-items:start;gap:5%;padding-top:115px;padding-bottom:80px}.breakfast-story h2{margin:20px 0}.breakfast-story>div>p:last-child{font-size:13px}.breakfast-story>figure{margin-top:35px}.breakfast-story>figure img{aspect-ratio:4/5;object-fit:cover}.breakfast-story>.egg-photo{margin-top:180px}.egg-photo img{aspect-ratio:1!important}.walk-list{padding-top:10px}.walk-list article{display:grid;grid-template-columns:50px 1fr 100px;gap:6%;border-top:1px solid var(--line);padding:40px 0}.walk-number{font-family:var(--serif);font-size:23px;line-height:1.5;color:var(--rust)}.walk-list article h3{font-size:27px;margin:15px 0}.walk-list article p:not(.eyebrow){max-width:550px}.walk-kanji{font-family:var(--serif);font-size:85px;color:#b3b9a7;line-height:1.5;align-self:center;justify-self:center}.walk-list>.fine-print{border-top:1px solid var(--line);padding-top:28px}.access-section{padding-top:65px}.access-grid{display:grid;grid-template-columns:40% 1fr;gap:10%;align-items:start}.address-block{padding:40px;background:#e7e6da}.address-block .small-seal{margin-bottom:30px}.address-block h3{font-size:24px;margin-bottom:20px}.address-block>a:not(.button-outline){display:inline-block;font-size:19px;margin:20px 0}.address-block .button-outline{font-size:11px;padding:16px 15px;gap:15px;margin-top:18px}.route-list article+article{margin-top:45px;padding-top:40px;border-top:1px solid var(--line)}.route-list h3{font-size:23px;margin:14px 0}.route-list ol{padding:0 0 0 21px;list-style:none;position:relative}.route-list ol:before{content:"";position:absolute;left:2px;top:15px;bottom:20px;border-left:1px solid #b0b5a7}.route-list li{position:relative;padding:9px 0;font-size:13px}.route-list li:before{content:"";width:7px;height:7px;border:1px solid var(--muted);border-radius:50%;background:var(--paper);position:absolute;left:-22px;top:20px}.route-list li>span{display:block;color:var(--muted);font-size:11px}.information-section{background:#e9e8de}.information-section h2,.faq-section h2{margin:22px 0 35px}.information-section>.fine-print{margin-top:20px}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px;padding:22px 5px;font-size:14px}.faq-section summary::-webkit-details-marker{display:none}.faq-plus{width:17px;height:17px;position:relative;flex-shrink:0}.faq-plus:before,.faq-plus:after{content:"";position:absolute;left:0;top:8px;width:17px;height:1px;background:var(--ink)}.faq-plus:after{transform:rotate(90deg);transition:transform .2s}.faq-section details[open] .faq-plus:after{transform:rotate(0)}.faq-section details>p{padding:0 45px 30px 5px;font-size:13px;color:#525d52}.faq-section details a{text-decoration:underline;text-underline-offset:4px}.reservation-layout{display:grid;grid-template-columns:42% 1fr;gap:9%;padding-top:15px;align-items:center}.reservation-image img{aspect-ratio:3/4;object-fit:cover;object-position:45%}.reservation-content h2{font-size:29px;margin:20px 0 25px}.reservation-content>p:not(.eyebrow){font-size:13px}.reservation-content .button-primary{margin:30px 0 15px}.reservation-content .fine-print{font-size:11px!important}.reservation-phone{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.reservation-phone>p:first-child{font-size:12px}.reservation-phone>a{font-size:30px;letter-spacing:.06em;display:block;margin:8px 0 15px}.reservation-check{border-top:1px solid var(--line);padding-top:55px;display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:28px;align-items:center}.reservation-check h2{font-size:24px}.reservation-check .text-link{font-size:11px;gap:12px}
@media(min-width:1600px){.site-wrap{max-width:1770px;margin-right:auto}.hero-image{height:720px;max-height:none}.hero h1{font-size:66px}.introduction{grid-template-columns:80px 1fr 32%}.intro-photo{max-width:420px}.source-story{grid-template-columns:20% 31% 1fr}}
@media(max-width:1199px){:root{--rail:100px}.site-header{padding:0 30px;gap:24px}.header-note{display:none}.desktop-nav{margin-right:auto;gap:24px}.brand-name{font-size:34px}.hero{padding:0 22px}.hero h1{font-size:46px;right:9%;gap:20px}.section-space{padding:80px 7%}.source-story{grid-template-columns:14% 34% 1fr;gap:4%}.source-sign{font-size:75px}.source-story h3{font-size:27px}.source-story p:not(.eyebrow){font-size:12px}.town-panel{padding:40px 32px 44px}.town-panel h2{font-size:30px}.town-image{height:590px}.stay-story{padding-top:0}.stay-item h3{font-size:18px}.reserve-banner>div:last-child{min-width:300px}.footer-top{grid-template-columns:28% 26% 1fr}.footer-top nav{font-size:10px}.address-block{padding:28px}.access-grid{grid-template-columns:43% 1fr;gap:6%}.breakfast-story{grid-template-columns:1.2fr 1fr;gap:8%}.breakfast-story>.egg-photo{display:none}.reservation-check{grid-template-columns:1fr 1fr}.reservation-check h2{grid-column:1/-1}.introduction{padding-top:90px;grid-template-columns:40px 1fr 28%;gap:6%}.intro-main h2{font-size:36px}}
@media(max-width:850px){:root{--rail:80px}.site-header{gap:20px;height:85px;padding:0 24px}.desktop-nav{gap:18px;font-size:10px}.booking-link{font-size:10px;gap:14px}.brand-name{font-size:29px}.brand-location{font-size:9px}.brand{margin-top:30px}.brand-seal{width:28px;height:30px;font-size:19px}.rail-bottom{font-size:8px}.hero-image{height:570px;min-height:0}.hero h1{font-size:40px;right:9%;top:14%}.hero-caption{left:22px;bottom:25px;font-size:9px}.hero-discover{right:22px;gap:12px}.hero-discover>span:first-child{display:none}.hero-place{left:22px;top:25px}.hero .circle-arrow{width:43px;height:43px}.intro-kicker{display:none}.introduction{grid-template-columns:1fr 30%;gap:8%}.intro-text{font-size:12px}.intro-main h2{font-size:33px}.source-story{grid-template-columns:1fr 1fr;gap:8%;align-items:start}.source-sign{display:none}.source-story h3{font-size:26px}.source-story .eyebrow{font-size:9px}.source-story>div:last-child{padding-top:4px}.source-story .text-link{font-size:10px;gap:15px}.feature-bath{min-height:0}.feature-bath>img{height:430px}.feature-bath-label{min-width:250px;padding:24px 25px 3px 0}.feature-bath-label h3{font-size:30px;margin-top:13px}.feature-bath-label .text-link{font-size:10px;gap:20px}.town-story{grid-template-columns:60% 40%}.town-image{height:570px}.town-panel{margin-left:-95px;margin-top:180px;padding:34px 30px}.town-panel .eyebrow{font-size:8px}.town-panel h2{font-size:27px}.town-panel>p:not(.eyebrow){font-size:12px}.section-heading h2{font-size:30px}.section-heading>p{font-size:11px}.stay-grid{gap:6%}.stay-item h3{font-size:17px}.stay-item>p{font-size:11px}.stay-item:nth-child(2){margin-top:90px}.practical{grid-template-columns:35% 65%;gap:0}.practical-links>a{font-size:20px}.reserve-banner{padding:50px 7%;gap:25px}.reserve-banner>div:last-child{min-width:0}.reserve-banner h2{font-size:28px}.reserve-banner .button-primary{font-size:11px;padding:18px}.phone-link span{display:block;margin:5px 0 0}.footer-top{grid-template-columns:1fr 1fr}.footer-top>p{display:none}.footer-top nav{grid-template-columns:1fr;font-size:11px}.footer-bottom{gap:20px;flex-wrap:wrap}.footer-bottom>p{flex-basis:100%}.footer-bottom small{margin-left:auto}.split-copy{gap:7%}.split-copy h2{font-size:29px}.split-copy .lead{font-size:17px}.split-copy>div>p{font-size:12px}.wide-photo img{height:420px}.data-list>div{grid-template-columns:30% 1fr;gap:15px;font-size:12px}.data-list dt{font-size:11px}.page-jump{gap:25px;font-size:11px}.editorial-row{gap:7%;grid-template-columns:47% 1fr}.editorial-row.reversed{grid-template-columns:1fr 47%}.editorial-row h2{font-size:28px}.editorial-row p{font-size:12px}.editorial-row .fine-print{font-size:10px}.breakfast-story h2{font-size:29px}.access-grid{grid-template-columns:1fr;gap:45px}.address-block{display:grid;grid-template-columns:1fr 1fr;gap:20px}.address-block .small-seal{display:none}.address-block h3{grid-column:1/-1;margin:0}.address-block>a:not(.button-outline){margin:0}.address-block .button-outline{grid-column:1/-1;margin:0}.route-list{display:grid;grid-template-columns:1fr 1fr;gap:35px}.route-list article+article{margin:0;border:0;padding:0}.route-list h3{font-size:19px}.reservation-layout{gap:6%;grid-template-columns:38% 1fr}.reservation-content h2{font-size:25px}.reservation-content .button-primary{font-size:11px;padding:18px}.reservation-content>p:not(.eyebrow){font-size:12px}}
@media(max-width:640px){:root{--rail:0px}body{font-size:13px}.brand-rail{display:none}.site-wrap{margin:0}.site-header{height:83px;padding:0 22px;gap:21px}.mobile-brand{display:block;font-family:var(--serif);font-size:25px;letter-spacing:.12em;margin-right:auto;line-height:1.5}.mobile-brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.16em}.desktop-nav{display:none}.booking-link{font-size:10px;gap:11px;padding:6px 0}.booking-link span{font-size:17px}.menu-toggle{width:26px}.menu-toggle span{width:25px}.hero{padding:0 14px}.hero-image{height:calc(100svh - 210px);min-height:470px;max-height:670px}.hero-image>img{object-position:40% 50%}.hero-shade{background:linear-gradient(90deg,#18251b10,#16242240),linear-gradient(0deg,#16242275,transparent 45%)}.hero h1{right:12%;top:15%;font-size:36px;gap:16px;letter-spacing:.14em}.hero-place{font-size:9px;left:22px;top:24px}.hero-caption{font-size:8px;left:20px;bottom:28px;gap:10px}.hero-caption .tiny-line{width:20px}.hero-discover{right:20px;bottom:19px}.hero-under{padding:18px 3px;font-size:8px;letter-spacing:.08em}.hero-under a{font-size:8px;gap:12px}.hero-under a span{font-size:13px}.section-space{padding:65px 26px}.eyebrow{font-size:9px;letter-spacing:.17em}.section-label{font-size:10px;margin-bottom:18px}.introduction{display:block;position:relative;padding:65px 34px 80px}.intro-main h2{font-size:32px;line-height:1.85}.intro-text{font-size:12px;line-height:2.25;margin-top:28px;max-width:100%}.intro-text p+p{margin-top:20px}.intro-photo{margin:40px 0 0 39%;width:61%;position:relative}.intro-photo img{aspect-ratio:4/5;object-position:36%}.intro-photo figcaption{writing-mode:vertical-rl;position:absolute;left:-28px;top:0;margin:0;font-size:9px}.intro-kicker{display:block;position:absolute;right:24px;top:75px;width:12px}.intro-kicker .small-seal{display:none}.intro-kicker .eyebrow{font-size:8px}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2{font-size:30px}.section-heading>p{margin-top:24px;font-size:12px;line-height:2}.section-heading>.text-link{margin-top:20px}.onsen-story{padding:55px 22px 70px}.feature-bath>img{height:400px;object-position:42% center}.feature-bath-label{min-width:210px;padding:22px 20px 0 0}.feature-bath-label h3{font-size:28px;margin-top:12px;line-height:1.7}.feature-bath-label .eyebrow{font-size:8px}.feature-bath-label .text-link{font-size:10px;gap:17px;padding-top:14px;padding-bottom:8px}.source-story{grid-template-columns:1fr;gap:25px;margin-top:37px;padding-left:8px}.source-story h3{font-size:27px;line-height:1.8;margin-top:15px}.source-story p:not(.eyebrow){font-size:12px;line-height:2.2}.source-story .text-link{font-size:11px;margin-top:13px}.town-story{display:block;margin:0 0 70px;padding:0 0 0 0}.town-image{height:430px;margin-right:30px}.town-image img{object-position:43% center}.town-panel{margin:-85px 0 0 60px;padding:36px 28px 37px}.town-panel h2{font-size:30px;margin:20px 0}.town-panel>p:not(.eyebrow){font-size:12px}.town-panel .text-link{margin-top:17px;font-size:11px}.town-panel-mark{font-size:55px;right:22px}.stay-story{padding-top:0;padding-bottom:70px}.stay-grid{grid-template-columns:1fr;gap:40px}.stay-item:nth-child(2){margin-top:0;margin-left:30px}.stay-item:nth-child(1){margin-right:30px}.stay-item h3{font-size:18px;letter-spacing:.045em}.stay-item>div{padding-top:18px}.stay-item .eyebrow{font-size:8px}.stay-item>p{font-size:11px}.quiet-night{padding:65px 26px 75px}.quiet-night h2{font-size:27px;line-height:1.9;margin:24px 0}.quiet-night>p:not(.eyebrow){font-size:11px}.quiet-night .text-link{font-size:10px;gap:20px}.practical{display:block;padding-top:65px;padding-bottom:65px}.practical h2{margin-top:19px;font-size:30px}.practical-links{margin-top:35px}.practical-links>a{font-size:22px;padding:23px 0}.practical-links small{font-size:8px}.reserve-banner{padding:45px 26px;display:block}.reserve-banner h2{font-size:30px;margin:20px 0 30px}.reserve-banner .button-primary{font-size:12px;padding:18px 23px;width:100%}.phone-link{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;margin-top:22px}.phone-link span{margin:0;font-size:17px}.site-footer{padding:45px 26px 100px}.footer-top{gap:20px;padding-bottom:35px;grid-template-columns:1fr 1fr}.footer-name{font-size:29px}.footer-name small{font-size:8px}.footer-top nav{font-size:10px;gap:11px}.footer-bottom{padding-top:25px;gap:20px;font-size:9px}.footer-bottom small{font-size:8px}.footer-bottom .back-top{margin-left:5px}.mobile-booking{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:1fr 1.15fr;min-height:58px;padding-bottom:env(safe-area-inset-bottom);background:var(--paper);box-shadow:0 -2px 12px #2835290a;border-top:1px solid var(--line)}.mobile-booking a{display:flex;justify-content:center;align-items:center;gap:30px;min-height:58px;font-size:10px;background:var(--paper)}.mobile-booking a:last-child{background:var(--rust);color:white;font-size:12px}.mobile-booking a span{font-size:21px}.menu-dialog{padding:65px 28px 35px;max-height:calc(100dvh - 28px)}.menu-dialog nav a{font-size:21px;padding:12px 0}.menu-dialog>p:last-child{font-size:11px}.breadcrumb{padding:15px 26px;font-size:9px}.page-title{padding:38px 26px 45px}.page-title h1{font-size:38px;line-height:1.8;margin:22px 0}.page-title>p:last-child{font-size:11px}.wide-photo{margin:0 14px}.wide-photo img{height:370px;object-position:39%}.wide-photo figcaption{padding:0 8px;font-size:9px}.page-jump{justify-content:space-between;gap:10px;padding:18px 0;margin:32px 26px 0;font-size:10px}.split-copy{grid-template-columns:1fr;gap:30px}.split-copy h2{font-size:29px;margin-top:20px}.split-copy .lead{font-size:19px}.split-copy>div>p:not(.eyebrow)+p{margin-top:22px}.data-list{margin-top:28px}.data-list>div{grid-template-columns:29% 1fr;gap:15px;padding:18px 0;font-size:12px}.data-list dt{font-size:11px}.bath-detail{padding-top:0}.gallery>img{aspect-ratio:4/5;object-position:40%}.gallery-controls{font-size:10px}.gallery-button{width:38px;height:38px}.two-columns{grid-template-columns:1fr;gap:20px;margin-top:32px;font-size:12px}.bathing-info h2{font-size:28px;margin-top:20px}.bathing-info .text-link{font-size:10px;gap:10px}.next-chapter{padding:40px 26px}.next-chapter h2{font-size:25px;line-height:1.8}.next-chapter .circle-arrow{width:45px;height:45px;font-size:21px}.next-chapter h2 small{font-size:20px}.editorial-row,.editorial-row.reversed{display:flex;flex-direction:column;gap:35px;align-items:stretch}.editorial-row figure img{aspect-ratio:8/5}.editorial-row figcaption{font-size:9px}.editorial-row h2{font-size:31px;margin:20px 0}.editorial-row .fine-print{font-size:11px}.editorial-row .text-link{margin-top:20px;font-size:11px}.breakfast-story{display:grid;grid-template-columns:1fr 1fr;gap:30px 20px;padding-bottom:35px}.breakfast-story>div{grid-column:1/-1}.breakfast-story>figure{margin-top:0}.breakfast-story>.egg-photo{display:block;margin-top:60px}.breakfast-story h2{font-size:31px}.breakfast-story>div>p:last-child{font-size:12px}.breakfast-story figcaption{font-size:9px}.town-wide img{height:390px;object-position:45%}.walk-list{padding-top:0}.walk-list article{grid-template-columns:22px 1fr;gap:20px;padding:30px 0}.walk-kanji{display:none}.walk-number{font-size:18px}.walk-list article h3{font-size:23px;margin:12px 0}.walk-list article p:not(.eyebrow){font-size:12px}.walk-list .text-link{font-size:11px}.access-section{padding-top:50px}.address-block{padding:25px;gap:18px;grid-template-columns:1fr}.address-block h3{font-size:24px}.address-block>a:not(.button-outline){font-size:22px}.address-block .button-outline{font-size:11px}.route-list{grid-template-columns:1fr;gap:35px}.route-list article+article{padding-top:30px;border-top:1px solid var(--line)}.route-list h3{font-size:24px}.route-list ol{margin:22px 0}.route-list li{font-size:14px}.route-list li>span{font-size:12px}.information-section h2,.faq-section h2{font-size:29px}.faq-section summary{font-size:12px;min-height:78px;padding:21px 0}.faq-section details>p{font-size:12px;padding:0 20px 25px 0}.reservation-layout{grid-template-columns:1fr;gap:35px;padding-top:0}.reservation-image img{aspect-ratio:4/3}.reservation-content h2{font-size:29px}.reservation-content>p:not(.eyebrow){font-size:12px}.reservation-content .button-primary{font-size:12px;padding:20px}.reservation-phone>a{font-size:30px}.reservation-check{grid-template-columns:1fr;gap:15px;padding-top:40px}.reservation-check h2{font-size:28px;margin-bottom:10px}.reservation-check .text-link{font-size:12px}}
@media(max-width:360px){.site-header{padding:0 16px;gap:16px}.mobile-brand{font-size:23px}.hero h1{font-size:32px;gap:14px;right:11%;top:16%}.hero-place{left:18px;font-size:8px}.hero-caption{font-size:7px;gap:7px;left:16px}.hero-discover{right:16px}.hero .circle-arrow{width:36px;height:36px;font-size:18px}.hero-under{font-size:7px}.intro-main h2{font-size:28px}.intro-kicker{right:18px}.intro-text{font-size:11px}.page-title h1{font-size:33px}.page-jump{font-size:9px;gap:8px}.source-story p:not(.eyebrow){font-size:11px}.town-panel{margin-left:40px;padding:32px 24px}.phone-link{display:block}.phone-link span{margin-top:6px;display:block}.section-heading h2{font-size:28px}.stay-item h3{font-size:16px}.quiet-night h2{font-size:24px}.footer-name{font-size:25px}.footer-top nav{font-size:9px}.bathing-info .text-link{font-size:9px}.next-chapter h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Reading sizes remain comfortable on phones while captions stay compact. */
@media(max-width:640px){
  .intro-text,.source-story p:not(.eyebrow),.town-panel>p:not(.eyebrow),.stay-item>p,.quiet-night>p:not(.eyebrow),.section-heading>p,.split-copy>div>p:not(.eyebrow):not(.lead),.two-columns,.editorial-row p:not(.eyebrow):not(.fine-print),.breakfast-story>div>p:last-child,.walk-list article p:not(.eyebrow),.faq-section details>p,.reservation-content>p:not(.eyebrow):not(.fine-print){font-size:14px;line-height:2.15}
  .faq-section summary,.data-list>div{font-size:13px}
  .intro-text br{display:none}
  .intro-text p:first-child br{display:block}
}

/* The supplied brand direction: ecru, bathhouse night, hinoki, river, autumn, light. */
:root{--light:#d9a55b;--river:#557f7a;--hinoki:#b8946a}
.brand-official{margin-top:40px;width:76%;gap:28px}.brand-official img{width:100%;height:auto}.brand-spring{font-size:10px;letter-spacing:.25em;writing-mode:vertical-rl}.footer-name{display:block;max-width:190px}.footer-name img{width:100%;height:auto}.mobile-brand img{width:124px;height:auto}.booking-link{color:var(--ink);border-color:var(--hinoki)}.button-primary{background:var(--light);border-color:var(--light);color:var(--ink)}.button-primary:hover{background:#c69752}.small-seal{border-color:var(--hinoki);color:var(--ink)}.source-sign{color:var(--river)}.page-title .eyebrow,.section-heading .eyebrow,.source-story .eyebrow{color:#426662}.hero h1{font-size:46px;top:10%;gap:24px}.hero-image>img{position:absolute;left:0;bottom:0;width:100%;height:200%;object-fit:cover;object-position:center bottom}.hero-shade{background:linear-gradient(90deg,#1421280a,#14212860),linear-gradient(0deg,#14212850,transparent 65%)}.water-closeup{position:relative;height:460px;overflow:hidden}.water-closeup>img{position:absolute;left:0;bottom:0;width:100%;height:200%;object-fit:cover;object-position:center bottom}.feature-bath>img{height:560px;object-fit:cover;object-position:center bottom}.feature-bath{height:560px}.feature-bath>img{position:absolute;bottom:0;height:200%;width:100%}.feature-bath:hover>img{transform:scale(1.02)}.intro-photo{overflow:hidden}.intro-photo img{object-position:center bottom}.gallery-viewport{position:relative;height:550px;overflow:hidden;background:var(--night)}.gallery-viewport>img{position:absolute;bottom:0;height:200%;width:100%;object-fit:cover;object-position:center bottom}.sky-note{font-size:13px!important;color:#dbdcd7;margin:25px auto 0!important;max-width:660px}.stay-story{padding-top:70px}.town-story{margin-top:10px}.room-details{padding-top:20px}.room-details h2{margin:22px 0}.room-details>p:not(.eyebrow):not(.fine-print){font-size:16px}.room-table-wrap{overflow-x:auto;margin:30px 0 16px}.room-table{width:100%;border-collapse:collapse;text-align:left;font-size:16px;white-space:nowrap}.room-table th,.room-table td{padding:20px 18px;border-bottom:1px solid var(--line);font-weight:400}.room-table th:first-child,.room-table td:first-child{padding-left:0}.room-table thead{font-size:13px}.room-table caption{text-align:left;font-size:12px;color:var(--muted);margin-bottom:14px}.data-list dd small{display:block;font-size:12px;margin-top:8px}.intro-text,.source-story p:not(.eyebrow),.town-panel>p:not(.eyebrow),.stay-item>p,.quiet-night>p:not(.eyebrow),.section-heading>p,.split-copy>div>p:not(.eyebrow):not(.lead),.two-columns,.editorial-row p:not(.eyebrow):not(.fine-print),.breakfast-story>div>p:last-child,.walk-list article p:not(.eyebrow),.faq-section details>p,.reservation-content>p:not(.eyebrow):not(.fine-print){font-size:16px;line-height:2.1}.intro-text{max-width:430px}.intro-text br{display:none}.intro-text p:first-child br{display:block}.source-story p:not(.eyebrow) br,.town-panel>p:not(.eyebrow) br{display:none}.data-list>div,.route-list li,.faq-section summary{font-size:16px}.data-list dt{font-size:14px}.route-list li>span{font-size:14px}.reservation-image{position:relative;height:510px;overflow:hidden}.reservation-image img{position:absolute;bottom:0;left:0;height:200%;object-fit:cover;object-position:center bottom}.hero-caption,.hero-under{font-size:11px}.intro-photo figcaption{writing-mode:horizontal-tb;font-size:11px}.section-heading>.text-link{flex-shrink:0}.intro-main h2{font-size:40px}.source-story{grid-template-columns:13% 33% 1fr}.source-story>div:last-child{max-width:400px}.town-panel{margin-top:110px}.page-index .quiet-night .eyebrow{font-size:10px}
@media(max-width:1199px){.hero h1{font-size:42px}.source-story{grid-template-columns:12% 32% 1fr}.source-story h3{font-size:25px}.brand-official{width:80%;margin-top:30px}.hero-caption,.hero-under{font-size:10px}.feature-bath{height:480px}.intro-main h2{font-size:35px}}
@media(max-width:850px){.hero h1{font-size:37px}.source-story{grid-template-columns:1fr 1.2fr}.feature-bath{height:430px}.brand-official{width:79%}.town-panel{margin-top:180px}.gallery-viewport{height:420px}.intro-main h2{font-size:31px}}
@media(max-width:640px){.site-header{height:98px;padding-top:0;padding-bottom:0}.mobile-brand{line-height:1;width:124px}.hero-image{height:calc(100svh - 225px);min-height:480px}.hero h1{font-size:30px;right:9%;top:12%;gap:20px}.hero-caption{font-size:9px}.hero-under{font-size:9px}.hero-under a{font-size:8px}.hero-image>img{height:170%;object-position:42% bottom}.mobile-booking a:last-child{background:var(--light);color:var(--ink);font-weight:500}.brand-spring{display:none}.footer-name{max-width:140px}.feature-bath{height:410px}.intro-photo{overflow:visible}.intro-photo figcaption{position:static;writing-mode:horizontal-tb;margin-top:12px;font-size:11px}.intro-main h2{font-size:31px}.intro-text,.source-story p:not(.eyebrow),.town-panel>p:not(.eyebrow),.stay-item>p,.quiet-night>p:not(.eyebrow),.section-heading>p,.split-copy>div>p:not(.eyebrow):not(.lead),.two-columns,.editorial-row p:not(.eyebrow):not(.fine-print),.breakfast-story>div>p:last-child,.walk-list article p:not(.eyebrow),.faq-section details>p,.reservation-content>p:not(.eyebrow):not(.fine-print){font-size:16px;line-height:2.1}.data-list>div,.route-list li,.faq-section summary{font-size:16px}.data-list dt{font-size:13px}.page-title>p:last-child{font-size:16px}.source-story{grid-template-columns:1fr;gap:24px}.source-story h3{font-size:29px}.stay-story{padding-top:0}.town-panel{margin-top:-70px;margin-left:42px;padding:34px 27px}.town-image{height:430px}.room-details{padding-top:0}.room-details h2{font-size:30px}.room-table th,.room-table td{padding:17px 10px}.room-table{font-size:15px}.room-table thead{font-size:13px}.gallery-viewport{height:410px}.water-closeup{height:350px}.page-onsen .page-title h1{font-size:31px}.reservation-image{height:330px}.reservation-image img{height:170%}.phone-link{font-size:11px}.hero-under span{font-size:9px}.quiet-night .sky-note{font-size:13px!important}.quiet-night>p:not(.eyebrow) br{display:none}.quiet-night>p:not(.eyebrow){max-width:390px;margin-left:auto;margin-right:auto}.faq-section summary{line-height:1.9}.bathing-info .data-list>div{grid-template-columns:1fr;gap:8px}.source-story .eyebrow{font-size:9px}}
@media(max-width:360px){.mobile-brand,.mobile-brand img{width:110px}.site-header{gap:14px;padding:0 16px}.hero h1{font-size:27px;gap:17px}.hero-caption{font-size:8px}.hero-under span{font-size:8px}.hero-under a{font-size:7px}.intro-main h2{font-size:28px}.page-onsen .page-title h1{font-size:28px}.room-table{font-size:14px}.room-table th,.room-table td{padding-right:6px;padding-left:6px}.room-table th:first-child{padding-left:0}}
