@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--paper:#fffefa;--ink:#141510;--muted:#474a41;--line:#c9ccc1;--accent:#c74427;--soft:#f2f0e9;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif;font-family:var(--sans);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px}body{margin:0;background:var(--paper);font-size:16px;line-height:1.9}h1,h2,h3,p,figure,dl,dd{margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer;border-radius:0}a,button,summary,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,.calendar-scroll:focus-visible{outline:3px solid #2272c2;outline-offset:4px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{overflow-wrap:anywhere;font-weight:500}h2,h3{font-family:var(--serif);text-wrap:balance}h2{font-size:clamp(31px,3.3vw,49px);line-height:1.65;letter-spacing:.02em}p,a,dd{overflow-wrap:anywhere}.sample-ribbon{text-align:center;font-size:9px;letter-spacing:.13em;background:#efeee8;color:#4b5045;line-height:1.5;padding:4px 12px}.sample-ribbon span{font-size:9px;letter-spacing:.04em;margin-left:17px}.site-header{min-height:88px;display:flex;align-items:center;gap:35px;padding:19px 5%;position:relative;z-index:2}.wordmark{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.02em;line-height:1.5;max-width:48%;margin-right:auto}.wordmark small{display:block;font-family:var(--sans);font-size:9px;text-transform:uppercase;letter-spacing:.23em;font-weight:400;margin-top:2px}.site-header nav{display:flex;gap:28px;font-size:12px;white-space:nowrap}.site-header nav a{padding:7px 0}.header-cta{display:flex;align-items:center;justify-content:space-between;gap:23px;padding:11px 17px;background:var(--ink);color:var(--paper);font-size:12px;line-height:1.7;min-width:140px}.header-cta span{font-size:18px}.header-cta:hover{background:var(--accent)}.hero{position:relative;min-height:680px;padding:48px 5% 125px;isolation:isolate}.hero-image{position:absolute;z-index:-1;top:0;right:4%;width:61%;height:calc(100% - 105px)}.hero-image img{object-position:68% center}.hero-copy{position:relative;width:67%;z-index:1}.hero-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:29px;display:flex;align-items:center;gap:13px;max-width:100%;color:#34392d}.hero-category>span{width:30px;height:2px;background:var(--accent);flex:none}h1{font-family:var(--serif);font-size:clamp(44px,5.1vw,78px);font-weight:600;line-height:1.65;letter-spacing:.005em;white-space:pre-line;margin-bottom:28px;text-wrap:pretty;max-width:100%}.hero-copy>p{max-width:350px;font-size:15px;line-height:2.1;font-weight:400}.hero-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);width:230px;padding:12px 0;margin-top:24px;font-size:12px}.hero-link span{font-size:24px}.hero-signature{position:absolute;bottom:25px;right:4%;z-index:1;font-family:Georgia,"Noto Serif JP",serif;font-size:clamp(76px,var(--signature-size),275px);line-height:.84;letter-spacing:-.055em;white-space:nowrap;max-width:92%;font-weight:400}.hero-bottom{position:absolute;bottom:5px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.13em;line-height:1.5}.hero-bottom>span{font-size:8px}.section{padding:90px 7%;max-width:1600px;margin:0 auto}.section-label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;font-weight:500;margin-bottom:18px;color:var(--accent)}.intro-layout{display:grid;grid-template-columns:46% 1fr;gap:9%;align-items:center}.story-image{height:490px;position:relative}.story-image img{object-position:center}.story-image figcaption{font-size:10px;letter-spacing:.03em;margin-top:12px;line-height:1.8}.intro-body{padding:12px 0}.intro-body h2{font-size:clamp(31px,3.25vw,47px);line-height:1.7;margin-bottom:24px}.intro-body h3{font-size:17px;margin-bottom:17px;letter-spacing:.02em}.intro-body p{font-size:15px;line-height:2.2;max-width:520px}.under-link{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);width:170px;padding:12px 0;margin-top:20px;font-size:12px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:75px;border-top:1px solid var(--line);padding-top:26px}.feature-number{font-family:Georgia,serif;color:var(--accent);font-size:15px}.features h3{font-size:21px;line-height:1.7;margin:13px 0}.features p{font-size:14px;line-height:2;color:var(--muted)}.menu-section{display:grid;grid-template-columns:27% 1fr;gap:7%;padding-top:45px;padding-bottom:90px}.menu-heading h2{font-size:38px;line-height:1.6;letter-spacing:.01em}.menu-heading>p{font-size:13px;line-height:2;margin-top:21px;color:var(--muted)}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:25px 1fr auto;gap:18px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.service-index{font-size:11px;color:var(--accent);align-self:start;padding-top:7px}.service-row h3{font-size:25px;line-height:1.7;letter-spacing:.02em}.service-row p{font-size:14px;line-height:1.95;color:var(--muted);margin-top:8px;max-width:460px}.service-meta{text-align:right;min-width:115px;max-width:230px;line-height:1.5;padding-left:15px}.service-meta>span{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.service-meta strong{font-family:Georgia,"Noto Serif JP",serif;font-size:29px;font-weight:400;line-height:1.6}.detail-section{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:43% 1fr;gap:10%;padding-top:65px;padding-bottom:65px;max-width:none}.detail-section .section-label{color:#eeac96}.detail-heading h2{font-size:clamp(29px,3.2vw,46px);line-height:1.8}.detail-content dl>div{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid #72756b;font-size:14px}.detail-content dl>div:first-child{border-top:1px solid #72756b}.detail-content dt{color:#d1d4c9;font-size:12px;text-wrap:balance}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.section-heading>p{font-size:14px;line-height:2;max-width:380px;width:45%;color:var(--muted)}.process-section{padding-bottom:75px}.process-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:6%;padding:0;margin:0}.process-list li{border-top:1px solid var(--line);padding:25px 0}.process-list span{font-size:10px;letter-spacing:.12em;color:var(--accent)}.process-list h3{font-size:23px;margin:14px 0 12px;line-height:1.7}.process-list p{font-size:14px;line-height:2;color:var(--muted)}.availability-section{display:grid;grid-template-columns:25% 1fr;gap:7%;background:var(--soft);max-width:none;padding-top:70px;padding-bottom:70px}.booking-heading h2{font-size:35px;line-height:1.6}.booking-heading>p{font-size:14px;line-height:2;margin-top:22px}.booking-heading>small{display:block;font-size:10px;line-height:2;margin-top:18px}.booking-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:22px}.booking-top label{font-size:11px;display:block;width:50%;max-width:370px}select{display:block;width:100%;font-size:13px;border:1px solid var(--line);color:var(--ink);padding:12px;background:var(--paper);border-radius:0;min-height:46px;margin-top:8px}.week-navigation{display:flex;align-items:center;gap:13px;font-size:11px;white-space:nowrap}.week-navigation button{width:38px;height:38px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.week-navigation button:disabled{opacity:.3;cursor:default}.calendar-scroll{overflow-x:auto;max-width:100%;background:var(--paper)}.calendar{border-collapse:collapse;width:100%;min-width:530px;table-layout:fixed;text-align:center;font-size:12px}.calendar th,.calendar td{border:1px solid var(--line)}.calendar th{font-weight:400;padding:12px 0}.calendar th:first-child{width:58px}.calendar th small{display:block;font-size:10px;margin-top:2px}.calendar th.sunday{color:#a83e29}.calendar th.saturday{color:#27608d}.calendar tbody th{font-size:11px}.slot{display:block;width:100%;min-height:45px;font-family:var(--sans);font-size:21px;color:#333e2c;background:none;border:0}.slot:hover:not(:disabled){background:#e3e8dc}.slot.full,.slot.closed{color:#8e9486;font-size:15px}.slot:disabled{cursor:default}.slot.few{font-size:19px}.calendar-legend{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:10px;margin-top:15px}.scroll-hint{display:none}.booking-note{font-size:10px;line-height:1.9;margin-top:13px;color:var(--muted)}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%}.quote-layout label{font-size:14px}.quote-layout p{font-size:14px;line-height:2;margin-top:19px}.quote-list .kicker,.kicker{font-size:10px;letter-spacing:.12em}.quote-list ol{font-size:14px;line-height:2.8;padding-left:20px;margin:16px 0 0}.opening-layout{display:block}.opening-time .kicker{display:block}.opening-time strong{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.7;margin:15px 0;display:block}.opening-time p{font-size:13px}.opening-days{display:flex;flex-wrap:wrap;margin-top:30px}.opening-days>div{flex:1;text-align:center;border-left:1px solid var(--line);font-size:14px}.opening-days>div:first-child{border-left:0}.opening-days strong{display:block;font-size:10px;font-weight:400;margin-top:7px}.opening-days>p{font-size:10px;width:100%;margin-top:20px;text-align:right}.faq-section{display:grid;grid-template-columns:30% 1fr;gap:9%}.faq-heading h2{font-size:30px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;font-size:15px;padding:22px 0;line-height:1.8}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-family:Georgia,serif;font-size:18px;color:var(--accent)}.faq-list summary i{font-style:normal;margin-left:auto;font-size:17px}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:2;padding:0 15px 24px 38px;color:var(--muted)}.information-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%}.information-title h2{font-size:33px;line-height:1.7}.information-title p{font-size:13px;margin-top:22px;color:var(--muted)}.information-section dl>div{display:grid;grid-template-columns:120px 1fr;gap:25px;border-top:1px solid var(--line);padding:19px 0;font-size:14px}.information-section dl>div:last-child{border-bottom:1px solid var(--line)}.information-section dt{font-size:12px;color:var(--muted)}.information-section dd{white-space:pre-line}.closing{padding:65px 7% 70px;display:flex;justify-content:space-between;align-items:end;gap:40px;background:var(--accent);color:#fff;max-width:none}.closing .section-label{color:#fff;font-size:9px}.closing h2{font-size:clamp(36px,4.7vw,65px);line-height:1.6;white-space:pre-line;letter-spacing:.015em}.closing>a{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 24px;border:1px solid #fff;min-width:280px;font-size:14px;margin-bottom:8px}.closing>a span{font-size:25px}.closing>a:hover{background:#fff;color:var(--accent)}footer{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:27px 5%;font-size:18px}footer>a:first-child{font-family:var(--serif);max-width:40%;line-height:1.6}footer small{font-size:10px;color:var(--muted)}footer>a:last-child{font-size:24px}.loading{padding:80px 25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:35px;max-width:calc(100% - 28px);width:480px}dialog::backdrop{background:#0c120b78;backdrop-filter:blur(3px)}.close-dialog{position:absolute;right:12px;top:8px;font-size:25px;background:none;border:0;color:var(--ink)}dialog h2{font-size:27px;margin:15px 0}#slot-summary{white-space:pre-line;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;font-size:20px}.slot-explanation{font-size:13px;margin-top:20px}.primary{background:var(--ink);border:0;color:var(--paper);padding:13px 20px;font-size:13px;margin-top:25px;width:100%}
/* A different relationship: the photograph is the opening space, with type in its lower shadow. */
.theme-cinematic{--paper:#fffdf9;--ink:#191b19;--muted:#41453d;--accent:#9b4c2c;--line:#c9cbc1;--soft:#f5f1e9}.theme-cinematic .site-header{position:absolute;top:22px;left:0;width:100%;color:#fff;min-height:90px;border-bottom:1px solid #fff4}.theme-cinematic .wordmark{font-weight:500}.theme-cinematic .header-cta{background:#fff;color:#191b19}.theme-cinematic .hero{min-height:700px;padding:230px 6% 70px;background:#292d26;color:#fff}.theme-cinematic .hero-image{inset:0;width:100%;height:100%}.theme-cinematic .hero-image:after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,#080e0d85 0%,#0c15103d 43%,transparent 72%),linear-gradient(0deg,#080e0d70,transparent 65%)}.theme-cinematic .hero-image img{object-position:68% center}.theme-cinematic .hero-copy{width:76%;max-width:1100px}.theme-cinematic .hero-category{color:#fff}.theme-cinematic .hero-category>span{background:#ecbaa4}.theme-cinematic h1{font-size:clamp(45px,5.6vw,82px);font-weight:400;line-height:1.6;text-shadow:0 2px 18px #07110b35;margin-bottom:26px}.theme-cinematic .hero-copy>p{font-size:15px;max-width:390px;line-height:2.1}.theme-cinematic .hero-link{border-color:#fff;width:230px;margin-top:25px}.theme-cinematic .hero-signature{display:none}.theme-cinematic .hero-bottom{bottom:22px;left:6%;right:6%;color:#fff}.theme-cinematic .intro-layout{grid-template-columns:43% 1fr;gap:9%}.theme-cinematic .story-image{order:2;height:520px}.theme-cinematic .intro-body{order:1}.theme-cinematic .features{border-top:0;gap:6%;padding-top:0}.theme-cinematic .features article{border-top:1px solid var(--line);padding-top:24px}.theme-cinematic .menu-section{background:var(--ink);color:#fff;max-width:none;padding-top:70px;padding-bottom:70px}.theme-cinematic .menu-section .section-label{color:#e1a586}.theme-cinematic .menu-heading>p,.theme-cinematic .service-row p,.theme-cinematic .service-meta>span{color:#e0e1d7}.theme-cinematic .service-list{border-top-color:#cccfc2}.theme-cinematic .service-row{border-bottom-color:#676e60}.theme-cinematic .service-index{color:#e1a586}.theme-cinematic .detail-section{background:var(--paper);color:var(--ink);padding-bottom:0}.theme-cinematic .detail-section .section-label{color:var(--accent)}.theme-cinematic .detail-content dt{color:var(--muted)}.theme-cinematic .detail-content dl>div{border-color:var(--line)}.theme-cinematic .availability-section{background:#eee9df}.theme-cinematic .closing{background:#9b4c2c}.theme-cinematic footer{background:var(--ink);color:#fff}.theme-cinematic footer small{color:#d2d7c8}
/* A type-led, rigorous grid; the title, object, conditions and action share clear axes. */
.theme-precision{--paper:#fff;--ink:#102029;--muted:#3f515b;--accent:#1555c5;--line:#bfcbd0;--soft:#edf2f6}.theme-precision h1,.theme-precision h2,.theme-precision h3,.theme-precision .wordmark{font-family:var(--sans)}.theme-precision .sample-ribbon{background:#102029;color:#e7f0f4}.theme-precision .site-header{border-bottom:1px solid var(--line)}.theme-precision .wordmark{font-weight:700;letter-spacing:-.025em}.theme-precision .hero{background:#102029;color:#fff;padding:45px 5% 52px;min-height:650px;display:grid;grid-template-columns:55% 1fr;gap:7%;align-items:center}.theme-precision .hero-image{position:relative;right:auto;top:auto;width:100%;height:480px;grid-column:2;grid-row:1;z-index:0}.theme-precision .hero-copy{width:100%;grid-row:1;grid-column:1;align-self:center}.theme-precision .hero-category{color:#fff;font-size:10px;margin-bottom:26px}.theme-precision .hero-category>span{background:#6197ff}.theme-precision h1{font-size:clamp(39px,4.4vw,65px);font-weight:600;line-height:1.55;letter-spacing:-.025em;margin-bottom:24px}.theme-precision .hero-copy>p{font-size:15px;max-width:490px;line-height:2.15;color:#e5eced}.theme-precision .hero-link{background:var(--accent);border:0;width:100%;padding:14px 22px;font-size:13px;margin-top:24px;color:#fff}.theme-precision .hero-link span{font-size:23px}.theme-precision .hero-signature{display:none}.theme-precision .hero-bottom{bottom:15px;color:#cbd9dd}.theme-precision .intro-body h2{font-weight:600;font-size:38px;letter-spacing:-.03em;line-height:1.65}.theme-precision .intro-layout{grid-template-columns:43% 1fr;gap:8%}.theme-precision .story-image{height:440px}.theme-precision .features{gap:0}.theme-precision .features article{padding:0 28px;border-left:1px solid var(--line)}.theme-precision .features article:first-child{padding-left:0;border-left:0}.theme-precision .features article:last-child{padding-right:0}.theme-precision .features h3{font-size:20px;font-weight:600;letter-spacing:-.02em}.theme-precision .menu-section{grid-template-columns:25% 1fr;gap:7%}.theme-precision .menu-heading h2{font-size:35px;font-weight:600;letter-spacing:-.025em}.theme-precision .service-row h3{font-size:24px;font-weight:500}.theme-precision .service-meta strong{font-family:var(--sans);font-size:25px;font-weight:500;letter-spacing:-.03em}.theme-precision .detail-section{background:var(--accent);color:#fff}.theme-precision .detail-section .section-label{color:#d0e4ff}.theme-precision .detail-heading h2{font-size:38px;font-weight:500;line-height:1.7;letter-spacing:-.02em}.theme-precision .detail-content dt{color:#e3eeff}.theme-precision .detail-content dl>div{border-color:#82a7ec}.theme-precision .process-list h3{font-size:21px;font-weight:500}.theme-precision .availability-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.theme-precision .closing{background:#102029}.theme-precision .closing h2{font-size:clamp(37px,4vw,60px);font-weight:500;letter-spacing:-.02em}
@media(min-width:1600px){.hero{padding-left:max(5%,calc((100% - 1450px)/2));padding-right:max(5%,calc((100% - 1450px)/2));min-height:760px}.hero h1{font-size:78px}.theme-cinematic .hero{min-height:800px}.theme-precision .hero{min-height:740px}.theme-precision h1{font-size:65px}.theme-precision .hero-image{height:540px}.hero-copy>p{font-size:16px;max-width:390px}}
@media(max-width:1050px){.site-header{gap:24px;padding:18px 5%}.site-header nav{gap:20px;font-size:11px}.wordmark{font-size:22px;max-width:43%}.header-cta{font-size:11px;min-width:130px;padding:10px 15px}.hero{min-height:660px;padding-top:40px}.hero-copy{width:70%}.hero-copy>p{font-size:14px;max-width:315px}.hero-image{width:64%;right:3%;height:calc(100% - 100px)}.section{padding:70px 6%}.intro-layout{gap:7%;grid-template-columns:45% 1fr}.story-image{height:440px}.intro-body h2{font-size:34px}.intro-body p{font-size:14px}.features h3{font-size:19px}.features p{font-size:13px}.features{margin-top:55px;gap:5%}.menu-section{grid-template-columns:25% 1fr;gap:6%;padding-top:25px}.menu-heading h2{font-size:30px}.menu-heading>p{font-size:12px}.service-row{gap:14px;grid-template-columns:22px 1fr auto;padding:23px 0}.service-row h3{font-size:22px}.service-row p{font-size:13px}.service-meta{min-width:100px;max-width:155px;padding-left:8px}.service-meta strong{font-size:25px}.service-meta>span{font-size:10px}.detail-section{gap:8%;grid-template-columns:40% 1fr;padding-top:55px;padding-bottom:55px}.detail-content dl>div{grid-template-columns:95px 1fr;gap:15px;font-size:13px}.detail-content dt{font-size:11px}.process-list h3{font-size:21px}.process-list p{font-size:13px}.availability-section{grid-template-columns:1fr;gap:25px;padding-top:55px;padding-bottom:55px}.booking-heading{display:grid;grid-template-columns:40% 1fr;gap:0 7%;align-items:start}.booking-heading .section-label{grid-column:1/3}.booking-heading h2{grid-column:1;grid-row:2/4;font-size:32px}.booking-heading>p{margin:0;font-size:13px}.booking-heading>small{margin-top:7px}.booking-top label{width:52%;max-width:450px}.week-navigation{font-size:12px}.faq-section{grid-template-columns:30% 1fr;gap:8%}.faq-heading h2{font-size:27px}.faq-list summary{font-size:14px}.information-title h2{font-size:29px}.information-section dl>div{grid-template-columns:100px 1fr;gap:18px;font-size:13px}.closing{padding:55px 6%;gap:35px}.closing h2{font-size:49px}.closing>a{min-width:240px;font-size:13px}.theme-cinematic .hero{min-height:700px;padding-top:210px}.theme-cinematic .hero-copy{width:80%}.theme-cinematic h1{font-size:clamp(44px,5.4vw,65px)}.theme-cinematic .hero-copy>p{font-size:14px;max-width:345px}.theme-cinematic .story-image{height:470px}.theme-cinematic .intro-body h2{font-size:34px}.theme-precision .hero{grid-template-columns:55% 1fr;gap:5%;min-height:620px;padding-top:35px;padding-bottom:45px}.theme-precision .hero-image{height:455px}.theme-precision h1{font-size:clamp(36px,4.5vw,47px)}.theme-precision .hero-copy>p{font-size:14px}.theme-precision .intro-body h2{font-size:31px}.theme-precision .features article{padding:0 20px}.theme-precision .features h3{font-size:18px}.theme-precision .menu-heading h2{font-size:30px}.theme-precision .detail-heading h2{font-size:33px}.theme-precision .service-row h3{font-size:22px}}
@media(max-width:700px){body{font-size:15px}.sample-ribbon{font-size:7px;letter-spacing:.08em;padding:5px 6px}.sample-ribbon span{font-size:8px;margin-left:8px}.site-header{min-height:80px;padding:15px 6%;gap:15px}.wordmark{font-size:20px;max-width:59%;line-height:1.5}.wordmark small{font-size:8px;letter-spacing:.14em}.site-header nav{display:none}.header-cta{font-size:10px;gap:11px;min-width:112px;padding:10px 12px}.header-cta span{font-size:15px}.hero{min-height:0;display:flex;flex-direction:column;padding:25px 6% 30px}.hero-copy{width:100%}.hero-category{font-size:8px;gap:10px;margin-bottom:23px;letter-spacing:.08em}.hero-category>span{width:20px}.hero-copy h1{font-size:clamp(29px,7.75vw,45px);line-height:1.8;margin-bottom:24px;letter-spacing:.015em;text-wrap:balance}.hero-copy>p{font-size:14px;line-height:2.15;max-width:100%}.hero-link{font-size:12px;width:210px;padding:10px 0;margin-top:16px}.hero-image{position:relative;inset:auto;order:2;width:100%;height:340px;margin:30px 0 0;z-index:0}.hero-image img{object-position:70% center}.hero-signature{position:relative;bottom:auto;right:auto;order:3;font-size:clamp(55px,calc(var(--signature-size) * 1.35),120px);margin:-27px 0 15px;line-height:.9;align-self:flex-end;z-index:1;max-width:100%;letter-spacing:-.055em}.hero-bottom{position:relative;inset:auto;order:4;font-size:8px;letter-spacing:.07em;gap:18px}.hero-bottom>span{font-size:7px}.section{padding:55px 6%}.section-label{font-size:9px;margin-bottom:16px;letter-spacing:.16em}.intro-layout{display:flex;flex-direction:column;gap:25px;align-items:stretch}.story-image{order:2;width:88%;height:280px;margin-top:5px;align-self:flex-end}.story-image figcaption{font-size:9px;line-height:1.8;margin-top:10px}.intro-body{padding:0;order:1}.intro-body h2{font-size:29px;line-height:1.85;margin-bottom:22px}.intro-body h3{font-size:17px;margin-bottom:15px}.intro-body p{font-size:14px;line-height:2.15;max-width:100%}.under-link{font-size:12px;padding:11px 0;margin-top:20px;width:170px}.features{display:block;margin-top:43px;padding-top:0}.features article{display:grid;grid-template-columns:27px 1fr;column-gap:12px;padding:22px 0;border-bottom:1px solid var(--line)}.feature-number{grid-column:1;grid-row:1/3;padding-top:3px;font-size:13px}.features h3{font-size:20px;line-height:1.7;margin:0 0 9px}.features p{grid-column:2;font-size:13px;line-height:2}.menu-section{display:block;padding-top:0;padding-bottom:50px}.menu-heading h2{font-size:33px;line-height:1.6}.menu-heading>p{font-size:12px;margin-top:16px;line-height:2}.service-list{margin-top:26px}.service-row{grid-template-columns:24px 1fr;gap:3px 10px;padding:23px 0}.service-index{grid-row:1/3;font-size:11px;padding-top:4px}.service-row h3{font-size:22px;line-height:1.65}.service-row p{font-size:13px;line-height:2;margin-top:9px}.service-meta{grid-column:2;display:flex;align-items:baseline;justify-content:space-between;max-width:100%;min-width:0;padding-left:0;gap:14px;margin-top:12px}.service-meta>span{font-size:11px;max-width:60%;margin:0;line-height:1.8}.service-meta strong{font-size:26px;line-height:1.6;text-align:right}.detail-section{display:block;padding-top:45px;padding-bottom:45px}.detail-heading h2{font-size:30px;line-height:1.85;max-width:100%}.detail-content{margin-top:30px}.detail-content dl>div{grid-template-columns:98px 1fr;gap:15px;padding:16px 0;font-size:13px}.detail-content dt{font-size:11px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:30px}.section-heading>p{width:100%;font-size:13px;margin-top:16px;line-height:2;max-width:100%}.process-section{padding-bottom:40px}.process-list{display:block}.process-list li{position:relative;padding:23px 0 23px 70px}.process-list span{position:absolute;left:0;top:30px;font-size:9px}.process-list h3{font-size:21px;margin:0 0 10px;line-height:1.7}.process-list p{font-size:13px;line-height:2}.availability-section{display:block;padding-top:45px;padding-bottom:45px}.booking-heading{display:block}.booking-heading h2{font-size:32px}.booking-heading>p{font-size:13px;margin-top:16px;line-height:2}.booking-heading>small{font-size:10px;margin-top:8px}.booking-top{display:block;margin:28px 0 18px}.booking-top label{width:100%;max-width:100%;font-size:12px}select{font-size:13px;min-height:48px;padding:12px}.week-navigation{justify-content:space-between;margin-top:18px;font-size:12px}.week-navigation button{height:44px;width:44px}.calendar{min-width:530px;font-size:12px}.calendar th:first-child{width:55px}.slot{min-height:46px}.scroll-hint{display:block;width:100%}.calendar-legend{font-size:10px;gap:9px 14px}.booking-note{font-size:10px;line-height:2}.quote-layout{display:block;border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.quote-layout label{font-size:14px}.quote-layout p{font-size:13px;line-height:2}.quote-list{margin-top:26px;border-top:1px solid var(--line);padding-top:22px}.quote-list ol{font-size:14px}.opening-time{margin-top:25px}.opening-time strong{font-size:28px}.opening-days>div{font-size:13px}.opening-days strong{font-size:9px}.opening-days>p{font-size:10px}.faq-section{display:block}.faq-heading h2{font-size:28px}.faq-list{margin-top:26px}.faq-list summary{font-size:14px;gap:12px;padding:18px 0;line-height:1.9}.faq-list summary>span{font-size:17px}.faq-list details p{font-size:13px;line-height:2;padding:0 8px 22px 29px}.information-section{display:block;padding-top:45px;padding-bottom:45px}.information-title h2{font-size:29px;line-height:1.6}.information-title p{font-size:12px;margin-top:17px}.information-section dl{margin-top:28px}.information-section dl>div{grid-template-columns:105px 1fr;gap:15px;font-size:13px;padding:17px 0}.information-section dt{font-size:11px}.closing{display:block;padding:42px 6% 45px}.closing .section-label{font-size:8px}.closing h2{font-size:37px;line-height:1.7;letter-spacing:.005em}.closing>a{font-size:13px;min-width:0;width:100%;margin:28px 0 0;padding:15px 19px}.closing>a span{font-size:24px}footer{display:grid;grid-template-columns:1fr 24px;gap:13px;padding:25px 6%;font-size:17px}footer>a:first-child{max-width:100%;grid-column:1}footer small{grid-column:1;grid-row:2;font-size:9px;line-height:1.9}footer>a:last-child{grid-column:2;grid-row:1/3;font-size:23px}dialog{padding:30px 23px}
.theme-cinematic .site-header{min-height:80px;top:22px;padding:15px 6%}.theme-cinematic .hero{min-height:790px;display:block;padding:250px 6% 55px}.theme-cinematic .hero-image{position:absolute;inset:0;height:100%;width:100%;margin:0;z-index:-1}.theme-cinematic .hero-image img{object-position:72% center}.theme-cinematic .hero-image:after{background:linear-gradient(0deg,#08110ddd 0%,#08110d70 49%,#08110d05 75%),linear-gradient(90deg,#08110d44,transparent 90%)}.theme-cinematic .hero-copy{width:100%;max-width:100%}.theme-cinematic .hero-category{font-size:8px;margin-bottom:22px}.theme-cinematic .hero-copy h1{font-size:clamp(29px,7.8vw,43px);font-weight:500;line-height:1.8;letter-spacing:.01em;margin-bottom:23px}.theme-cinematic .hero-copy>p{font-size:14px;line-height:2.15;max-width:100%}.theme-cinematic .hero-link{font-size:12px;width:210px;margin-top:22px}.theme-cinematic .hero-signature{display:none}.theme-cinematic .hero-bottom{position:absolute;left:6%;right:6%;bottom:18px;font-size:7px}.theme-cinematic .intro-layout{display:flex;gap:25px}.theme-cinematic .intro-body{order:1}.theme-cinematic .intro-body h2{font-size:29px}.theme-cinematic .story-image{order:2;width:100%;height:310px;align-self:stretch;margin-top:5px}.theme-cinematic .features{display:block;margin-top:44px}.theme-cinematic .features article{padding:22px 0;border-top:0}.theme-cinematic .features article:first-child{border-top:1px solid var(--line)}.theme-cinematic .menu-section{padding-top:45px;padding-bottom:45px}.theme-cinematic .detail-section{padding-top:45px;padding-bottom:0}
.theme-precision .hero{display:flex;flex-direction:column;gap:0;min-height:0;padding:30px 6% 28px}.theme-precision .hero-copy{width:100%;order:1}.theme-precision .hero-category{font-size:8px;margin-bottom:22px}.theme-precision .hero-copy h1{font-size:clamp(29px,7.7vw,44px);line-height:1.7;font-weight:600;letter-spacing:-.03em}.theme-precision .hero-copy>p{font-size:14px;line-height:2.15}.theme-precision .hero-link{padding:13px 17px;font-size:12px;margin-top:21px;max-width:100%}.theme-precision .hero-image{position:relative;inset:auto;order:2;width:100%;height:300px;margin:27px 0 26px;z-index:0}.theme-precision .hero-signature{display:none}.theme-precision .hero-bottom{position:relative;inset:auto;order:3;font-size:7px;width:100%}.theme-precision .intro-layout{display:flex;gap:24px}.theme-precision .intro-body h2{font-size:28px;line-height:1.8}.theme-precision .story-image{height:280px;width:100%;align-self:stretch}.theme-precision .features{display:block}.theme-precision .features article,.theme-precision .features article:first-child,.theme-precision .features article:last-child{padding:22px 0;border-left:0}.theme-precision .features h3{font-size:19px}.theme-precision .menu-section{display:block}.theme-precision .menu-heading h2{font-size:31px}.theme-precision .service-row h3{font-size:21px}.theme-precision .service-meta strong{font-size:24px}.theme-precision .detail-heading h2{font-size:29px;line-height:1.8}.theme-precision .process-list h3{font-size:20px}.theme-precision .closing h2{font-size:35px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Long company names keep their full width within the page. */
.hero-signature{font-size:min(var(--signature-size),275px)}@media(max-width:700px){.hero-signature{font-size:min(calc(var(--signature-size) * 1.05),120px)}}
/* Authored line breaks respect Japanese phrases rather than balancing single characters. */
.intro-body h2,.detail-heading h2{white-space:pre-line;text-wrap:wrap}@media(max-width:700px){.intro-body h2,.theme-cinematic .intro-body h2,.theme-precision .intro-body h2{font-size:clamp(23px,7.2vw,32px)}.detail-heading h2,.theme-precision .detail-heading h2{font-size:clamp(25px,7.4vw,34px)}}
@media(max-width:700px){
 .theme-editorial .hero-copy,.theme-precision .hero-copy{display:contents}
 .theme-editorial .hero-category,.theme-precision .hero-category{order:1}
 .theme-editorial .hero-copy h1,.theme-precision .hero-copy h1{order:2;margin-bottom:0}
 .theme-editorial .hero-image{order:3;height:320px;margin:25px 0 0}
 .theme-editorial .hero-signature{order:4;margin-top:-24px;margin-bottom:27px}
 .theme-editorial .hero-copy>p{order:5;margin:0}
 .theme-editorial .hero-link{order:6;margin-top:20px;margin-bottom:26px}
 .theme-editorial .hero-bottom{order:7}
 .theme-precision .hero-image{order:3;height:285px;margin:26px 0}
 .theme-precision .hero-copy>p{order:4;margin:0}
 .theme-precision .hero-link{order:5;margin-top:22px;margin-bottom:27px}
 .theme-precision .hero-bottom{order:6}
}
.section{scroll-margin-top:60px}
.theme-cinematic h1{font-size:clamp(43px,4.6vw,68px)}.theme-cinematic.industry-wellness .hero-copy h1{font-size:clamp(38px,4.15vw,63px);max-width:47vw}@media(max-width:700px){.theme-cinematic .hero-copy h1{font-size:clamp(29px,7.8vw,43px)}.theme-cinematic.industry-wellness .hero{padding-top:420px;min-height:920px}.theme-cinematic.industry-wellness .hero-copy h1{font-size:clamp(29px,7.8vw,43px);max-width:100%}}
@media(max-width:700px){.theme-cinematic.industry-wellness .hero-image img{object-position:55% center}}
