@charset "UTF-8";
:root{--paper:#f7f5ed;--ink:#203c34;--muted:#5e6a5c;--line:#d6d9cc;--red:#9e4633;--white:#fffef9;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.9 var(--sans)}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:500}h1,h2{font-family:var(--serif)}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:0}.preview{text-align:center;background:#e4e6dc;color:#455246;padding:5px 15px;font:10px/1.6 var(--sans);letter-spacing:.13em}.preview span{margin-left:15px;letter-spacing:.04em}.header{max-width:1440px;margin:auto;padding:32px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:15px}.brand-symbol{font-family:var(--serif);font-size:66px;position:relative;line-height:1}.brand-symbol i{position:absolute;background:var(--red);width:17px;height:9px;left:24px;top:29px;border-radius:12px 12px 0 0}.brand small{font-size:10px;letter-spacing:.3em;display:block}.brand strong{font-family:var(--serif);font-size:31px;letter-spacing:.2em;font-weight:600;line-height:1.5}.header nav{display:flex;gap:32px;font-size:12px}.header nav a{padding:8px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:39% 61%;min-height:560px}.hero-copy{padding:55px 10% 38px 14%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:.23em;font-weight:600;line-height:1.5;margin-bottom:24px}.hero h1{font-size:clamp(34px,3.5vw,52px);line-height:1.65;letter-spacing:.08em;white-space:nowrap}.hero-lead{font-size:13px;line-height:2.3;margin:28px 0}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding:5px 0;display:flex;gap:35px}.hero-note{font-family:var(--serif);font-size:11px;letter-spacing:.2em;margin-top:auto;padding-top:36px}.hero-photo{position:relative;min-width:0}.hero-photo>img{height:100%;object-fit:cover;object-position:45% center}.photo-caption{position:absolute;right:28px;top:28px;writing-mode:vertical-rl;color:white;font-family:var(--serif);letter-spacing:.2em;text-shadow:0 1px 5px #0009;font-size:15px}.photo-index{position:absolute;bottom:22px;right:25px;color:white;font-size:9px;letter-spacing:.17em;text-shadow:0 1px 4px #000}.quick{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr 1fr .9fr;padding:32px 0;align-items:center;border-bottom:1px solid var(--line)}.quick>div{padding:0 27px;border-right:1px solid var(--line)}.quick small{font-size:10px;color:var(--muted);letter-spacing:.12em}.quick p{font-family:var(--serif);font-size:23px;line-height:1.8;white-space:nowrap}.quick p span{font-size:15px}.quick p b{font-weight:500;font-size:30px}.sub{font-size:10px;color:var(--muted)}.quick-map{margin:0 25px;background:var(--ink);color:var(--white);padding:17px;font-size:12px;display:flex;justify-content:space-between;gap:14px}.quick-map:hover,.button:hover{background:#375649}.notice{max-width:1226px;margin:0 auto;display:flex;gap:25px;align-items:center;padding:21px 0;border-bottom:1px solid var(--line);font-size:11px}.notice>span:first-child{font-size:10px;border-right:1px solid var(--line);padding-right:25px;flex-shrink:0}.notice-dot{height:5px;width:5px;background:var(--red);border-radius:50%;margin-left:auto;flex-shrink:0}.section{max-width:1120px;margin:auto;padding:110px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:50px}.section-heading h2{font-size:36px;line-height:1.7;letter-spacing:.1em}.section-heading>.eyebrow{margin-bottom:20px}.section-heading>p{font-size:13px;line-height:2.2}.bath-story{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.bath-story figure img{aspect-ratio:4/4.4;object-fit:cover}.bath-story figcaption{font-size:10px;margin-top:12px;color:var(--muted)}.number{font-size:12px;letter-spacing:.15em;color:var(--red)}.bath-description h3{font-family:var(--serif);font-size:25px;margin:15px 0 22px}.bath-description>p{font-size:13px;line-height:2.3}.material{display:flex;gap:22px;padding:23px 0;border-top:1px solid var(--line);margin-top:24px}.material+.material{margin-top:0;padding-bottom:0}.material>span{font-family:var(--serif);font-size:22px}.material h4{font-size:16px;margin-bottom:8px}.material p{font-size:12px;color:var(--muted);line-height:2}.floor-wrap{background:#e9ede3;padding:55px max(6%,calc((100% - 1120px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.floor-intro .eyebrow{margin-bottom:14px}.floor-intro h2{font-size:30px;letter-spacing:.05em;margin-bottom:15px}.floor-intro p:not(.eyebrow){font-size:12px}.floor-intro .floor-date{font-size:11px;margin-top:18px;color:var(--muted)}.floor{display:grid;grid-template-columns:1fr 1fr;gap:20px}.floor>div{background:var(--paper);padding:22px;text-align:center;border-top:2px solid var(--ink)}.floor span{display:block;font-size:12px}.floor strong{font:30px/1.8 var(--serif);letter-spacing:.15em}.floor small{display:block;font-size:9px}.floor>p{grid-column:1/-1;font-size:10px;text-align:center;color:var(--muted)}.guide{padding-bottom:80px}.guide-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px}.guide-columns h3{display:flex;align-items:center;justify-content:space-between;font-size:18px;border-bottom:2px solid var(--ink);padding-bottom:17px}.guide-columns h3 span{font-size:9px;letter-spacing:.12em}.prices,.amenities{margin:0}.prices>div,.amenities>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;gap:15px}.prices dd{font-family:var(--serif);font-size:27px;margin:0}.prices dd span{font:12px var(--sans);margin-left:8px}.amenities>div{padding:17px 0;font-size:12px}.amenities dt span{display:block;font-size:9px;color:var(--muted)}.amenities dd{margin:0;white-space:nowrap}.gentle{font-size:11px;color:var(--muted);margin-top:19px}.faq{padding-top:45px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-of-type{border-top:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;font-size:14px;padding:24px 5px}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font:20px var(--serif);color:var(--red)}.faq summary i{margin-left:auto;width:14px;height:14px;position:relative;flex-shrink:0}.faq summary i:before,.faq summary i:after{content:"";position:absolute;background:var(--ink);height:1px;width:14px;left:0;top:7px}.faq summary i:after{transform:rotate(90deg)}.faq details[open] summary i:after{transform:rotate(0)}.faq details>p{font-size:13px;line-height:2.2;max-width:800px;padding:0 35px 28px 44px}.access{background:var(--ink);color:var(--paper);padding:70px 6%}.access-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}.access h2{font-size:35px;letter-spacing:.05em;margin-bottom:24px}.access p{font-size:13px;line-height:2.2}.access-buttons{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:flex;gap:30px;align-items:center;padding:17px 22px;border:1px solid #b7c3b5;font-size:11px}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#e0e6d9}.phone{font-size:17px;letter-spacing:.03em}.phone small{display:block;font-size:9px;letter-spacing:0}.access-hours{border-left:1px solid #ffffff40;padding-left:45px}.access-hours>div{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 0;border-bottom:1px solid #ffffff30}.access-hours span{font-size:9px;letter-spacing:.15em}.access-hours p{font-family:var(--serif);font-size:20px}footer{padding:40px 6%;display:flex;align-items:center;gap:35px}.footer-name{font-family:var(--serif);font-size:25px;letter-spacing:.2em}footer p{font-size:10px}footer>small{margin-left:auto;font-size:9px}.mobile-actions{display:none}a,summary{touch-action:manipulation}@media(min-width:1440px){.hero{padding-right:3%}}@media(max-width:1250px){.section{margin:0 6%}.quick{margin:0 4%;grid-template-columns:1fr 1fr 1fr .9fr}.quick>div{padding:0 18px}.quick-map{margin:0 15px}.notice{margin:0 6%}.bath-story{gap:45px}.hero-copy{padding-top:35px}.hero{min-height:510px}.header nav{gap:23px}}@media(max-width:850px){.header{padding:25px 5%}.header nav{gap:16px;font-size:11px}.brand-symbol{font-size:54px}.brand-symbol i{left:20px;top:24px;width:13px;height:7px}.brand strong{font-size:25px}.hero{min-height:460px;grid-template-columns:42% 58%}.hero-copy{padding:32px 10% 28px 12%}.hero h1{font-size:32px}.hero-lead{font-size:12px}.quick{grid-template-columns:1fr 1fr 1fr}.quick-map{grid-column:1/-1;margin:23px 18px 0}.quick>div:last-of-type{border:0}.quick p{font-size:19px}.section{padding-top:80px;padding-bottom:80px}.section-heading h2{font-size:30px}.bath-story{gap:30px}.bath-description h3{font-size:21px}.floor-wrap{gap:25px}.floor>div{padding:15px 8px}.floor small{font-size:9px}.guide-columns{gap:35px}.access-inner{gap:30px}.access-hours{padding-left:25px}.access-hours>div{display:block}.access h2{font-size:29px}}@media(max-width:600px){html{scroll-padding-top:18px}.preview{font-size:9px;padding:4px}.preview span{font-size:9px;margin-left:8px}.header{padding:18px 6%;align-items:center}.brand{gap:10px}.brand-symbol{font-size:46px}.brand-symbol i{left:17px;top:20px;width:12px;height:7px}.brand strong{font-size:23px}.brand small{font-size:8px}.header nav{gap:18px}.header nav a{font-size:11px}.header nav a:nth-child(2),.header nav a:nth-child(3){display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:28px 7% 30px;position:relative}.hero .eyebrow{font-size:9px;margin-bottom:17px}.hero h1{font-size:35px;line-height:1.6;letter-spacing:.06em}.hero-lead{font-size:12px;margin:19px 0 20px;line-height:2}.hero-note{position:absolute;right:8%;top:50px;writing-mode:vertical-rl;padding:0;margin:0;font-size:10px}.text-link{font-size:11px;gap:40px}.hero-photo{margin-left:6%;height:285px}.hero-photo>img{height:285px}.photo-caption{font-size:12px;top:20px;right:18px}.photo-index{font-size:8px}.quick{margin:0 6%;padding:25px 0 20px;grid-template-columns:1.2fr 1fr;gap:20px 0}.quick>div{padding:0 15px}.quick>div:first-child{padding-left:0}.quick>div:nth-child(2){border:0}.quick>div:nth-child(3){padding-left:0;border:0}.quick small{font-size:9px}.quick p{font-size:20px}.quick p b{font-size:26px}.quick p span{font-size:12px}.sub{font-size:9px}.quick-map{grid-column:auto;margin:0;padding:14px 12px;font-size:11px;gap:5px}.notice{padding:17px 0;gap:13px;align-items:flex-start;font-size:10px}.notice>span:first-child{padding-right:13px;font-size:9px}.notice-dot{margin-top:7px}.section{margin:0 7%;padding:65px 0}.section-heading{display:block;margin-bottom:30px}.eyebrow{font-size:9px;margin-bottom:15px}.section-heading h2{font-size:29px;line-height:1.65}.section-heading>p{margin-top:24px;font-size:12px;line-height:2.1}.bath-story{display:block}.bath-story figure img{aspect-ratio:1.15}.bath-story figcaption{font-size:9px}.bath-description{padding-top:30px}.bath-description h3{font-size:23px;margin:12px 0 18px}.bath-description>p{font-size:12px}.material{padding-top:20px;margin-top:25px}.floor-wrap{display:block;padding:40px 7%}.floor-intro h2{font-size:27px}.floor-intro p:not(.eyebrow){font-size:11px}.floor-intro .floor-date{margin-top:10px}.floor{margin-top:25px;gap:13px}.floor>div{padding:18px 8px}.floor strong{font-size:28px}.floor small{font-size:8px}.floor>p{font-size:9px}.guide-columns{display:block}.guide-columns>div+div{margin-top:40px}.guide-columns h3{font-size:17px}.prices>div{padding:10px 0}.prices dt{font-size:13px}.amenities>div{padding:12px 0}.gentle{font-size:10px}.faq{padding-top:0}.faq summary{font-size:12px;padding:20px 0;gap:13px}.faq summary>span{font-size:18px}.faq details>p{font-size:12px;padding:0 10px 22px 27px}.access{padding:48px 7%}.access-inner{display:block}.access h2{font-size:29px}.access p{font-size:12px}.access-buttons{gap:20px}.button{width:100%;justify-content:space-between}.access-hours{padding:0;border:0;margin-top:30px}.access-hours>div{display:flex;padding:12px 0}.access-hours p{font-size:18px}footer{padding:28px 7% 95px;flex-wrap:wrap;gap:10px 20px}.footer-name{font-size:23px}footer p{font-size:9px}footer>small{font-size:8px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;z-index:5;box-shadow:0 -3px 15px #203c3412;background:var(--paper);padding-bottom:env(safe-area-inset-bottom)}.mobile-actions a{font-size:12px;text-align:center;padding:17px 10px;min-height:56px}.mobile-actions a+ a{background:var(--ink);color:var(--paper)}.mobile-actions span{margin-left:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Official horizontal logo, preserving original proportions and colors. */
.brand-logo{width:245px;height:auto;display:block}.brand{flex-shrink:0}@media(max-width:850px){.brand-logo{width:200px}}@media(max-width:600px){.brand-logo{width:175px}}@media(max-width:360px){.brand-logo{width:150px}.header nav{gap:12px}}

/* User-selected red sun and Japanese wordmark. */
.brand-logo{width:125px;height:auto}.header{padding-top:12px;padding-bottom:12px}@media(max-width:850px){.brand-logo{width:105px}}@media(max-width:600px){.brand-logo{width:90px}.header{padding-top:8px;padding-bottom:8px}}@media(max-width:360px){.brand-logo{width:80px}}
