@font-face{font-family:'Noto Serif JP';src:url('assets/font-serif.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:'Noto Sans JP';src:url('assets/font-sans.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f5f2eb;--ink:#302f2a;--green:#263c32;--sand:#e7dfd2;--line:#b6b0a3;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--booking:0px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 var(--sans);padding-bottom:var(--booking);overflow-x:clip}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:500;line-height:1.6;letter-spacing:.07em;text-wrap:balance}h1{font-size:clamp(36px,4.5vw,64px)}h2{font-size:clamp(28px,3.5vw,46px);margin-bottom:32px}h3{font-size:21px;line-height:1.7;font-weight:500;margin:16px 0}p{margin-bottom:20px;overflow-wrap:anywhere;text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{background:transparent;border:1px solid var(--line);padding:10px 20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bb7629;outline-offset:5px}img{width:100%;height:100%;object-fit:cover;display:block}video{display:block;width:100%;max-height:650px;object-fit:contain;background:#252c28}iframe{border:0}a,button{ -webkit-tap-highlight-color:transparent}.wrap{width:min(1200px,86%);margin:auto}.section{padding-top:110px;padding-bottom:110px}.eyebrow{font-size:14px;letter-spacing:.18em;line-height:1.6;margin-bottom:26px;color:#555a4e}.note{font-size:14px;line-height:1.8;color:#5a5b52}.measure{max-width:760px}.header{position:sticky;top:0;height:100px;z-index:40;background:rgba(245,242,235,.97);display:flex;align-items:center;gap:24px;padding:0 3%;border-bottom:1px solid #dcd7cd}.brand{font-family:Georgia,var(--serif);font-size:31px;line-height:1.1;white-space:nowrap;letter-spacing:-.025em;display:block}.brand small{display:block;font:10px/1.6 var(--sans);letter-spacing:.13em;margin-top:9px}.desktop-nav{display:flex;gap:20px;margin-left:auto;font-size:14px}.desktop-nav a{padding:12px 0;white-space:nowrap}.header-booking{display:flex;gap:5px}.header .button{font-size:13px;min-height:48px;padding:10px 13px}.header-booking .button{margin-top:0}.menu-toggle{border:0;display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.1em;padding:12px 0}.menu-toggle span{font-size:24px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:56px;padding:13px 25px;font-size:16px;border:1px solid var(--green);line-height:1.6;text-align:center;transition:background .25s,color .25s;max-width:100%}.button.line{background:var(--green);color:#fff;margin-top:20px}.button.pilates{background:#555a46;border-color:#555a46}.button.outline{background:transparent}.button:hover{background:#314d3d;color:white}.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:30px}.button-row .button{margin:0}.link{display:table;border-bottom:1px solid var(--ink);padding:10px 0 7px;margin-top:16px;line-height:1.7;font-size:16px}.link:hover{color:#4c624a}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.hero{position:relative;min-height:720px;height:calc(100svh - 100px);max-height:1000px;color:#fff;overflow:hidden}.hero-pair{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:3px}.hero-scene{position:relative;overflow:hidden}.hero-scene img{position:absolute;inset:0;animation:drift 16s ease-in-out infinite alternate;object-position:50% 45%}.hero-scene .alternate{animation:crossfade 16s ease-in-out infinite,drift 16s ease-in-out infinite alternate;opacity:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.13) 15%,rgba(0,0,0,.35) 50%,rgba(0,0,0,.6))}.hero-copy{position:absolute;left:7%;top:28%;width:86%;text-shadow:0 2px 18px rgba(0,0,0,.3)}.hero-location{font-size:15px;letter-spacing:.12em}.hero h1{font-size:clamp(42px,4.5vw,68px);line-height:1.7}.hero h1 span{display:block;animation:copy-in 1.4s both}.hero h1 span:nth-child(2){animation-delay:.3s}.hero-copy>p:last-child{margin-top:22px;font-size:17px}.hero-links{position:absolute;bottom:38px;left:7%;right:7%;display:grid;grid-template-columns:1fr 1fr;gap:40px}.hero-links a{padding:14px 0;border-top:1px solid #fff8;font:24px/1.7 var(--serif);display:block}.hero-links small{display:block;font:12px/1.8 var(--sans);letter-spacing:.14em;margin-bottom:9px}.hero-pause{position:absolute;right:24px;top:24px;font-size:13px;padding:8px 14px;border-color:#fff9;background:#0005;color:white}.two{display:grid;grid-template-columns:1fr 1fr;gap:60px}.photo{overflow:hidden;background:var(--sand);aspect-ratio:4/3;--photo-scale:1;--photo-y:0px}.photo img{transform:translateY(var(--photo-y)) scale(var(--photo-scale));will-change:transform;transition:transform .5s ease-out}.photo.portrait{aspect-ratio:3/4}.reveal-wide{clip-path:inset(0 4%)}.in-view.reveal-wide{animation:open-photo 1.8s both}.entrances{margin-top:50px}.entrances a{display:block}.entrances .photo{aspect-ratio:4/5;margin-bottom:28px}.entrances .photo img[src*='move']{object-fit:contain}.entrances .eyebrow{margin-bottom:16px}.entrances h3{font-family:var(--serif);font-size:31px}.philosophy{background:#e8e2d7}.philosophy-inner{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:8%}.philosophy h2{font-size:clamp(26px,3.2vw,43px);line-height:1.9}.philosophy .photo{aspect-ratio:3/4}.philosophy p{font-size:16px}.evaluation{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:50px 0 38px}.evaluation p{font-family:var(--serif);font-size:29px;margin:0;padding:26px 22px;border-right:1px solid var(--line)}.evaluation p:last-child{border:0}.evaluation b{display:block;font:13px/1.8 var(--sans);letter-spacing:.15em;margin-bottom:12px;color:#68695d}.editorial{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:9%}.editorial.reverse>figure{grid-column:2;grid-row:1}.editorial.reverse>div{grid-column:1;grid-row:1}.editorial p{margin-bottom:20px}.editorial .line{display:table}.editorial .photo img{object-fit:contain}.editorial.reverse .photo img{object-fit:cover}.founder h3{margin-top:35px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;list-style:none;padding:0;margin:50px 0}.steps li{border-top:1px solid var(--line);padding-top:20px}.steps b{font:35px/1.8 Georgia,var(--serif);color:#666957}.steps h3{font-size:18px}.steps p{font-size:16px}.social-block h3{margin-top:0}.instagram-embed{min-height:300px;background:#eae5db;padding:12px;display:flex;justify-content:center;align-items:flex-start;overflow:hidden}.instagram-media{width:100%!important;min-width:0!important;max-width:540px!important;margin:0!important;padding:24px!important;background:#fff}.social-block .link{margin-bottom:20px}.faq-list{border-top:1px solid var(--line);margin-top:35px}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;font-size:17px;line-height:1.8}summary::-webkit-details-marker{display:none}summary span{font-size:23px;flex-shrink:0}details[open] summary span{transform:rotate(45deg)}details p{max-width:840px;padding-bottom:22px;padding-right:40px}.places{margin-top:42px}.places .photo{margin-bottom:28px}.places .eyebrow{margin-bottom:15px}.contact{background:var(--green);color:var(--paper);text-align:center}.contact .eyebrow,.contact .note{color:#d7dccf}.contact .button-row{justify-content:center}.contact .line{background:var(--paper);color:var(--green);border-color:var(--paper);min-width:290px}.contact .pilates{background:#e2e4d4}.contact .note{margin-top:28px}.contact h2{margin-bottom:30px}footer{background:#e4ded2;padding:65px 0 32px}footer nav{display:flex;flex-wrap:wrap;gap:20px 30px;margin:36px 0;font-size:14px}.footer-bottom{display:flex;align-items:center;gap:22px;border-top:1px solid #b7b0a4;padding-top:24px;font-size:13px}.footer-bottom p{margin:0;margin-right:auto}.footer-bottom button{font-size:13px;padding:8px 14px}.fixed-booking{display:none}.page-title{padding-top:80px;padding-bottom:75px}.page-title h1{margin-bottom:25px}.page-title p:last-child{margin-bottom:0}.service-banner{height:600px;overflow:hidden;width:86%;margin:0 auto}.service-banner img{object-fit:contain;background:var(--sand)}.pilates-opening{position:relative;width:86%;margin:auto;display:grid;grid-template-columns:1.4fr 1fr;background:#ded8cd}.studio-frame{height:680px;overflow:hidden}.studio-frame img{object-fit:contain;animation:drift 18s ease-in-out infinite alternate}.studio-note{padding:65px;display:flex;flex-direction:column;justify-content:space-between;font:28px/2 var(--serif)}.studio-note p:first-child{font:14px/1.8 var(--sans);letter-spacing:.18em}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-grid .photo{aspect-ratio:1/1}.service-grid img{object-fit:contain}.lesson-film{width:min(720px,100%);margin:40px auto 0}.lesson-film .note{margin-top:15px}.jump{display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;flex-wrap:wrap}.jump a{padding:6px 0}.price-list{border-top:1px solid var(--line);margin-top:30px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:26px 0;border-bottom:1px solid var(--line)}.price-row h3{margin:0;font-size:19px}.price-row p{margin:8px 0 0;font-size:14px}.price-row .price{white-space:nowrap;font-size:23px;font-family:var(--serif);margin:0;flex-shrink:0}.history{margin:0;max-width:900px}.history>div{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:25px 0;border-top:1px solid var(--line)}.history dt{font:29px/1.8 Georgia,var(--serif)}.history dd{margin:0}.map{display:block;width:100%;height:350px;margin-top:40px;background:#e3e0d6}.arrival-title{font-family:var(--serif);font-size:30px;margin-top:70px}.arrival-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.arrival-grid .photo{aspect-ratio:9/16}.arrival-grid .photo img{transform:none;object-fit:contain}.arrival-grid h3{font-size:18px}.arrival-grid p{font-size:16px}dialog{border:0;background:var(--paper);color:var(--ink);width:min(700px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:40px}dialog::backdrop{background:#102017aa}.menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.menu-head .brand{font-size:28px}dialog nav{display:flex;flex-direction:column}dialog nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:18px}dialog .button{font-size:16px}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .alternate{opacity:0!important}.motion-off .photo img{transform:none!important}.motion-off .reveal-wide{clip-path:none!important}.in-view:not(.photo){animation:soft-in .9s both}.review{max-width:980px;margin:60px auto;padding:0 25px}.review h2{font-size:28px;margin-top:60px}.review table{border-collapse:collapse;width:100%;font-size:15px}.review th,.review td{padding:15px;border:1px solid var(--line);text-align:left;vertical-align:top}.review ul{padding-left:22px}.review li{margin:10px 0}.review code{overflow-wrap:anywhere}.review-images{display:grid;grid-template-columns:1fr 1fr;gap:25px}.review-images img{height:auto;border:1px solid #bbb}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.065)}}@keyframes crossfade{0%,36%,100%{opacity:0}44%,85%{opacity:1}}@keyframes copy-in{from{opacity:.3;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes open-photo{from{clip-path:inset(0 8%)}to{clip-path:inset(0 0)}}@keyframes soft-in{from{opacity:.35;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:1200px){.desktop-nav{display:none}.header-booking{margin-left:auto}.header .button{font-size:14px}.two{gap:36px}.studio-note{padding:40px}}
@media(max-width:760px){:root{--booking:calc(77px + env(safe-area-inset-bottom))}html{scroll-padding-top:90px}.header{height:80px;padding:0 6%;justify-content:space-between}.brand{font-size:29px}.brand small{font-size:9px;letter-spacing:.08em}.header-booking{display:none}.menu-toggle{font-size:11px}.wrap{width:88%}.section{padding-top:70px;padding-bottom:70px}h1{font-size:35px}h2{font-size:29px;letter-spacing:.04em;line-height:1.7;margin-bottom:28px}h3{font-size:20px}.hero{height:calc(100svh - 80px - var(--booking));min-height:620px;max-height:800px}.hero-pair{gap:2px}.hero-scene img{object-position:50% 50%}.hero-copy{top:22%;left:6%;width:88%}.hero-location{font-size:13px;letter-spacing:.03em;max-width:270px;line-height:1.9}.hero h1{font-size:clamp(30px,8.6vw,40px);letter-spacing:.025em;line-height:1.8}.hero-copy>p:last-child{font-size:15px;max-width:260px;line-height:1.9;margin-top:22px}.hero-links{left:6%;right:6%;bottom:23px;gap:22px}.hero-links a{font-size:17px;line-height:1.7}.hero-links small{font-size:10px;letter-spacing:.03em}.hero-pause{top:15px;right:6%;font-size:12px;padding:6px 11px}.two{grid-template-columns:1fr;gap:50px}.entrances{gap:50px;margin-top:35px}.entrances .photo{aspect-ratio:4/5;max-height:490px}.entrances h3{font-size:27px}.entrances p{font-size:16px}.philosophy-inner{grid-template-columns:1fr;gap:40px}.philosophy h2{font-size:clamp(23px,6.2vw,29px);letter-spacing:0;line-height:2}.philosophy .photo{aspect-ratio:4/5}.evaluation{grid-template-columns:1fr 1fr;margin-top:30px}.evaluation p{font-size:24px;padding:18px}.evaluation p:nth-child(2){border-right:0}.evaluation p:nth-child(-n+2){border-bottom:1px solid var(--line)}.editorial{grid-template-columns:1fr;gap:40px}.editorial.reverse>figure,.editorial.reverse>div{grid-column:auto;grid-row:auto}.editorial .photo.portrait{max-height:600px;aspect-ratio:3/4}.steps{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:35px}.steps h3{font-size:17px}.steps p{font-size:15px}.steps b{font-size:28px}.button-row{flex-direction:column;align-items:stretch;gap:12px}.button{width:100%;min-height:56px;padding:14px 18px}.editorial .line{display:flex}.contact .line{min-width:0}.places .photo{max-height:460px}summary{font-size:16px;gap:15px;padding:22px 0}details p{padding-right:0;font-size:16px}.eyebrow{font-size:12px;letter-spacing:.14em}.page-title{padding-top:45px;padding-bottom:50px}.page-title h1{font-size:34px}.service-banner{height:480px;width:100%}.pilates-opening{width:100%;display:block}.studio-frame{height:550px}.studio-note{display:none}.service-grid{grid-template-columns:1fr;gap:40px}.price-row{gap:15px;align-items:flex-start;padding:22px 0;flex-wrap:wrap}.price-row h3{font-size:18px}.price-row .price{font-size:23px;margin-left:auto}.history>div{grid-template-columns:75px 1fr;gap:20px}.history dt{font-size:26px}.arrival-grid{grid-template-columns:1fr;gap:42px}.arrival-grid .photo{aspect-ratio:9/16;max-height:560px}.map{height:310px}.fixed-booking{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:1fr 1fr;background:var(--paper);padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:5px;z-index:50;box-shadow:0 -4px 15px #0001}.fixed-booking a{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--green);color:white;min-height:65px;font-size:clamp(13px,3.4vw,15px);font-weight:500;line-height:1.7;text-align:center;padding:6px 2px}.fixed-booking a:last-child{background:#555a46}.fixed-booking small{font-size:10px;letter-spacing:.05em;color:#e4e9dc}.footer-bottom{align-items:flex-start;flex-wrap:wrap;gap:12px}.footer-bottom p{width:100%}footer nav{gap:16px 20px}dialog{padding:25px}.menu-head .brand{font-size:25px}dialog .button-row{gap:10px}.review{margin-top:35px}.review table{font-size:13px}.review th,.review td{padding:8px}.review-images{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.alternate{opacity:0!important}.photo img{transform:none!important}.reveal-wide{clip-path:none!important}}
.header{background:var(--paper)}
@media(max-width:760px){.hero-copy>p:last-child{max-width:320px}}

/* Full-bleed photographs move across the room without zooming. */
/* Left and right scenes follow independent, returning horizontal paths. */
.hero-scene.care img{animation:room-left 22s ease-in-out infinite;transform:none;object-position:50% 50%}
.hero-scene.pilates img{animation:room-right 26s ease-in-out infinite;transform:none;object-position:50% 50%}
.hero-scene.care img.alternate{animation:room-fade 32s ease-in-out infinite,room-left 22s ease-in-out infinite;opacity:0}
.hero-scene.pilates img.alternate{animation:room-fade 32s ease-in-out infinite,room-right 26s ease-in-out infinite;opacity:0}
@keyframes room-left{0%,100%{object-position:50% 50%}25%{object-position:100% 50%}75%{object-position:0% 50%}}
@keyframes room-right{0%,100%{object-position:50% 50%}25%{object-position:0% 50%}75%{object-position:100% 50%}}
@keyframes room-fade{0%,42%,100%{opacity:0}48%,91%{opacity:1}97%{opacity:0}}
/* Each room keeps its native proportions, including the top of the machine. */
.photo img{transform:none;will-change:auto}
.photo.room-photo,.photo.full-photo{aspect-ratio:3/4;max-height:none;clip-path:none}
.photo.room-photo.landscape,.photo.room-photo:has(img[src*="overview"]){aspect-ratio:4/3}
.photo.room-photo img,.photo.full-photo img,.editorial.reverse .photo.room-photo img{object-fit:contain;transform:none}
.scroll-photo{transform:translate3d(var(--photo-x,0px),0,0);will-change:transform}
.editorial .photo.room-photo.portrait{aspect-ratio:3/4;max-height:none}
.founder .photo.portrait{aspect-ratio:1071/1200;max-height:none}
.editorial .photo:has(img[src*="care_manual"]){aspect-ratio:1358/1536;max-height:none}
.pilates-opening{background:transparent;grid-template-columns:1fr 1fr;gap:7%}
.studio-frame{height:auto;aspect-ratio:3/4}
.studio-frame img{object-fit:contain;animation:none;transform:none}
.studio-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;background:transparent}
.phrase{display:inline-block;white-space:nowrap;max-width:100%}
p{overflow-wrap:normal;word-break:normal;line-break:strict}
.history-line{display:block}
.history dd{line-height:2;overflow-wrap:normal;word-break:normal;text-wrap:pretty}
.history-line+.history-line{margin-top:6px}
.staff-preference{border-left:2px solid var(--line);padding:4px 0 4px 22px;margin:28px 0 32px}
.staff-preference p{margin:0;line-height:2}
.staff-preference p+p{margin-top:14px}
@media(max-width:760px){
 .photo.room-photo,.photo.full-photo,.editorial .photo.room-photo{max-height:none}
 .places .photo.room-photo{max-height:none}
 .pilates-opening{width:88%;margin:auto;display:block}
 .studio-frame{height:auto;aspect-ratio:3/4}
 .hero-scene img{object-position:35% 50%}
 .history>div{grid-template-columns:65px minmax(0,1fr);gap:16px;padding:28px 0}
 .history dd{font-size:16px;line-height:2}
 .history dt{font-size:25px;padding-top:1px}
 .staff-preference{padding-left:18px}
 .staff-preference .phrase{font-size:16px}
 .price-row>div{flex:1;min-width:0}
 .price-row .price{white-space:normal;word-break:keep-all;overflow-wrap:normal}
 .hero-links small,.fixed-booking small{font-size:12px}
 .hero-location{font-size:14px}
}
@media(max-width:360px){.history>div{grid-template-columns:1fr;gap:4px}.history-line+.history-line{margin-top:4px}.hero-links{gap:12px}.hero-links a{font-size:16px}}
.motion-off .scroll-photo{transform:none!important}
@media(prefers-reduced-motion:reduce){.scroll-photo{transform:none!important}}

/* Center the opening copy and keep service names together. */
.hero-copy{left:5%;width:90%;text-align:center}
.hero-location{max-width:none;margin-left:auto;margin-right:auto;text-wrap:nowrap;letter-spacing:.035em}
.hero-copy>p:last-child{max-width:none;margin-left:auto;margin-right:auto}
.hero h1{text-wrap:nowrap}
.hero-links small{white-space:nowrap}
.ambience-film{overflow:hidden;aspect-ratio:512/910;background:#292720}
.ambience-film video{width:100%;height:100%;max-height:none;object-fit:contain}
.editorial .photo.care-crop{aspect-ratio:1358/1280;max-height:none}
.editorial .photo.care-crop img{object-fit:cover;object-position:center top}
.founder .photo.portrait{aspect-ratio:1199/1600;max-height:none}
.director-message p{line-height:2.05}
.our-strengths{font-family:var(--serif);font-size:23px;line-height:1.9!important;letter-spacing:.04em;border-left:2px solid var(--line);padding-left:22px}
.our-strengths span{display:block}
.location-notice{border:1px solid var(--green);border-left:4px solid var(--green);background:#e8ece5;padding:26px 30px;margin:0 0 40px;color:var(--green)}
.location-notice .notice-label{font-size:14px;letter-spacing:.06em;margin:0 0 12px}
.location-notice h3{font-family:var(--serif);font-size:clamp(21px,2.3vw,29px);margin:0 0 14px;line-height:1.8}
.location-notice h3 span,.location-notice strong,.location-notice>p:last-child span{display:block}
.location-notice strong{font-weight:500;font-size:1.24em}
.location-notice p:last-child{margin:0;line-height:1.9}
.address-line{display:block}
/* A silent, uninterrupted film uses the entire screen width. */
.philosophy{padding-bottom:0}
.ambience-film{width:100%;margin-top:70px;aspect-ratio:16/9;max-height:850px}
.ambience-film video{object-fit:cover;object-position:50% 42%;pointer-events:none}
video[data-ambient]::-webkit-media-controls{display:none!important}
.photo.access-photo,.arrival-grid .photo.access-photo{aspect-ratio:4/3;max-height:none}
.photo.access-photo img{object-fit:contain;transform:none}
.photo.access-facility{align-self:start}
.photo.parking-photo{margin:18px 0 22px}
.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}
.menu-list{border-top:1px solid var(--line);margin-top:35px}
.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px;padding:34px 0;border-bottom:1px solid var(--line)}
.menu-item h3{font-family:var(--serif);font-size:clamp(22px,2.5vw,29px);margin:0 0 14px}
.menu-item>div>p{max-width:640px;margin:0;line-height:1.9}
.menu-item .link{margin-top:14px;font-size:14px}
.menu-fee{text-align:right}
.menu-fee>span{display:block;font-size:13px;color:#646457}
.menu-fee>p{font:clamp(22px,2.6vw,32px)/1.8 var(--serif);white-space:nowrap;margin:5px 0 0!important}
.care-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin:0 0 70px}
.care-options article{border-top:1px solid var(--line);padding-top:20px}
.care-options article>span{font:27px/1.5 Georgia,serif;color:#666957}
.care-options h3{font-family:var(--serif);font-size:23px}
.additional-services{margin-top:60px;border-top:1px solid var(--line);padding-top:25px}
.detail-button{margin:32px 0 20px;gap:16px}
.price-row>div{min-width:0}
.mobile-break{display:none}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0}
.ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:22px 0 38px}
.plan-card{padding:28px;background:#ece7dd;border:1px solid #c7c0b3}
.plan-card h3{font:26px/1.6 var(--serif);margin:0 0 12px}
.plan-card .plan-purpose{font-size:16px;line-height:1.9;min-height:3.8em}
.plan-card .plan-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;margin:20px 0 25px;line-height:1.4}
.plan-total strong{font:clamp(32px,3.6vw,44px)/1.4 var(--serif);font-weight:500;white-space:nowrap}
.plan-total span{font-size:15px;white-space:nowrap}
.plan-card dl{margin:0;font-size:16px}
.plan-card dl>div{border-top:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:1fr;gap:7px}
.plan-card dt{font-size:14px;color:#5a5b52}
.plan-card dd{margin:0;line-height:1.8}
.plan-card .per-visit dd{font:23px/1.6 var(--serif);color:var(--green);white-space:nowrap}
.plan-card .plan-condition{margin:10px 0 0;font-size:14px;line-height:1.9}
.price-highlight{border-left:3px solid var(--green);background:#e5e9df;padding:24px 28px;margin:32px 0}
.price-highlight h3{margin:0 0 12px;font-size:21px}
.price-highlight p{margin:0;font-size:16px;line-height:2}
.subheading{margin:40px 0 15px;font-family:var(--serif);font-size:25px}
.section-lead{font-size:19px;line-height:2;margin-bottom:30px}
.price-guide-section .note{font-size:14px;line-height:2}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 45px}
.guide-grid article{border-top:1px solid var(--line);padding-top:14px}
.guide-grid h3{font-size:19px}
.access-video-section{margin-top:65px}
.access-film{width:min(480px,100%);margin:25px auto 0}
.access-film video{width:100%;height:auto;max-height:none;object-fit:contain;background:#252c28;aspect-ratio:512/910}
.access-film figcaption{font-size:14px;line-height:1.9;margin-top:14px;color:#5a5b52}
.video-chapters{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}
.video-chapters button{background:var(--paper);text-align:left;font-size:16px;line-height:1.7;min-height:66px;padding:13px 20px;border-color:var(--green)}
.video-chapters button:hover{background:var(--green);color:var(--paper)}
.video-chapters small{display:block;font-size:13px;margin-top:4px}
@media(max-width:760px){
 .mobile-break{display:block}
 .page-title h1{font-size:clamp(1.625rem,7.5vw,2rem);letter-spacing:.035em;line-height:1.8}
 h2{font-size:clamp(1.5rem,6.5vw,1.8125rem);letter-spacing:.025em}
 .jump{gap:12px 22px;font-size:15px}
 .jump a{white-space:nowrap}
 .plan-grid,.ticket-grid,.guide-grid{grid-template-columns:1fr;gap:22px}
 .plan-card{padding:26px 24px}
 .plan-card .plan-purpose{min-height:0}
 .plan-total strong{font-size:39px}
 .plan-card dl>div{grid-template-columns:90px minmax(0,1fr);gap:16px}
 .plan-card .per-visit dd{text-align:right}
 .plan-card .plan-total{margin:18px 0 22px}
 .section-lead{font-size:17px}
 .price-highlight{padding:22px 20px}
 .price-highlight h3{font-size:20px}
 .video-chapters{display:grid;grid-template-columns:1fr;gap:12px}
 .video-chapters button{width:100%}
 .hero-copy{top:24%;left:5%;width:90%}
 .hero-location{max-width:none;font-size:clamp(12px,3.1vw,14px);letter-spacing:0;line-height:1.8}
 .hero h1{font-size:clamp(27px,7.3vw,38px);line-height:1.95;letter-spacing:.02em}
 .hero-copy>p:last-child{font-size:clamp(13px,3.3vw,15px);max-width:none;line-height:1.9;margin-top:24px}
 .hero-links small{font-size:clamp(10px,2.8vw,12px);letter-spacing:0}
 .founder h2{font-size:clamp(27px,7.2vw,32px);line-height:1.85;letter-spacing:.025em}
 .our-strengths{font-size:23px}
 .location-notice{padding:22px 18px;margin-bottom:34px}
 .location-notice h3{font-size:18px;line-height:1.9;letter-spacing:0}
 .location-notice strong{font-size:26px;margin-top:5px}
 .location-notice p:last-child{font-size:14px}
 .ambience-film{max-width:none;max-height:none;aspect-ratio:512/910;margin-top:48px}
 .ambience-film video{object-fit:contain}
 .menu-item{grid-template-columns:1fr;gap:20px;padding:30px 0}
 .menu-item h3{font-size:24px}
 .menu-item>div>p{font-size:15px;line-height:2}
 .menu-fee>p{font-size:25px}
 .care-options{grid-template-columns:1fr;gap:30px;margin-bottom:50px}
 .additional-services{gap:30px;margin-top:45px}
 .price-row .price{flex-basis:100%;text-align:right;white-space:nowrap;font-size:22px}
}
