/* Sizzle: quiet Japanese editorial layout, readable on small screens. */
.s-line-label{display:inline-block;background:#fff;color:#075c2c;padding:7px 12px;border-radius:7px;font-weight:600;line-height:1.5}
.s-dock .s-line-label{padding:5px 7px}
.s-reading #access .s-route-button{display:flex;width:100%;margin-top:18px;justify-content:center;text-align:center;background:#0e0e0e;border:1px solid #0e0e0e;color:#fff;border-radius:4px;padding:16px 20px;text-decoration:none}
.s-reading #access .s-route-button:hover{background:#333}
.s-faq-page .section>.container{width:100%;max-width:760px!important;margin:0 auto}
.s-faq-page .page-header-inner{max-width:760px;margin:auto;text-align:center}
.s-faq-page .section-header{text-align:center!important}
.s-faq-page .faq-item{background:#fff;border:1px solid #d4d4d0;margin-bottom:12px;padding:0 18px}
.s-faq-page .faq-answer-inner{color:#343434}
.s-first-visit main .container{max-width:800px!important;margin-left:auto;margin-right:auto}
.s-first-visit main .article-card>img,.s-first-visit main .step-body>img{display:block;width:auto!important;height:auto!important;max-width:100%;max-height:360px;object-fit:contain;margin-left:auto;margin-right:auto}
.s-case-page .article-body{max-width:720px;margin:auto}
.s-case-page .article-body>img{max-width:420px!important}
.s-case-page .article-body>.case-hero-image{width:100%;max-width:520px!important;height:520px;object-fit:contain;display:block;margin:0 auto 2rem;border-radius:var(--radius-md);background:#fff}
@media (max-width:640px){.s-case-page .article-body>.case-hero-image{height:min(460px,118vw);max-width:100%!important}}
.s-case-page .article-body h2{text-align:center;font-size:1.35rem;line-height:1.8;margin-top:42px;padding-bottom:16px}
@media(min-width:851px){.s-first-visit main .article-card>img,.s-first-visit main .step-body>img{max-width:380px;max-height:360px}}
.s-reading #inspection .s-inspection-frame{position:relative;overflow:hidden;width:100%;max-width:480px;aspect-ratio:4/3;margin:20px auto;background:#f0f0ee}
.s-reading #inspection .s-inspection-frame img{position:absolute;display:block;max-width:none!important;height:auto!important;aspect-ratio:auto!important;object-fit:initial!important;margin:0!important;transform:none!important}
.s-reading #inspection .s-inspection-movement img{width:100%;left:0;top:-22.222222%}
.s-reading #inspection .s-inspection-hamstring img{width:166.666667%;left:-66.666667%;top:-74.074074%}
.s-reading #inspection .s-inspection-treatment img{width:142.857143%;left:-21.428571%;top:-42.857143%}
.s-related-links{display:grid;grid-template-columns:1fr;gap:16px;width:100%;max-width:760px;margin:0 auto}
.s-related-links a{display:flex;align-items:center;justify-content:center;min-height:76px;padding:20px;background:#fff;border:1px solid #bdbdb8;color:#0e0e0e;text-align:center;text-decoration:none;font-size:1rem;font-weight:600;line-height:1.8}
.s-related-links a:hover{background:#e9e9e6;border-color:#0e0e0e}
@media(min-width:851px){.s-related-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
*,*::before,*::after{box-sizing:border-box}body{margin:0;font-family:'Noto Sans JP',sans-serif}h1,h2,h3,p,dl,dd,figure{margin:0}a{color:inherit}h1,h2,h3{overflow-wrap:anywhere}button,summary,a{touch-action:manipulation}
[hidden]{display:none!important}.s-brand,.s-nav a,.s-footer-links a{color:inherit}.s-header .s-btn,.s-footer .s-btn{color:white}.s-header a:hover,.s-footer a:hover{text-decoration:underline;text-underline-offset:5px}.s-mobile-menu nav a{font-size:1rem}.page-header-inner{padding-top:0!important;padding-bottom:0!important}.s-header~main .page-header{padding-top:48px!important}.blog-card-img{height:260px!important;overflow:hidden}.blog-card-img img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.symptom-icon,.link-icon,.point-emoji{display:none!important}.blog-grid{max-width:800px;margin:auto}.blog-card-desc,.symptom-desc,.link-desc{font-size:1rem!important}.toc{max-width:960px;margin:auto}.toc a{font-size:1rem!important}.visual-row-copy p{font-size:1rem!important}.s-footer .s-brand{color:#fff}.s-footer-links a{color:#f4f5f2}.s-header .s-brand{color:var(--ink)}
:root{--ink:#17201f;--paper:#fafaf8;--mist:#eef0ed;--line:#d4d9d3;--muted:#505a57;--green:#146b46;--text-light:#505a57;--text-main:#17201f;--text-mid:#34403c;--primary:#17201f}
html{scroll-padding-top:100px}body{font-size:16px;line-height:1.9;padding-bottom:86px;background:var(--paper);color:var(--ink)}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #146b46;outline-offset:5px}img{max-width:100%;height:auto}button{font:inherit}p{overflow-wrap:anywhere}.fade-in{opacity:1!important;transform:none!important}
.article-text,.step-desc,.point-desc,.faq-a-inner,.faq-answer,.hero-lead{font-size:1rem!important;line-height:2!important}.page-sub,.hub-desc,.appeal-card-body,.price-note,.info-key,.step-body p,.faq-a{font-size:1rem!important}.nav-desktop a,.btn-nav-reserve{font-size:.875rem!important;letter-spacing:.06em!important}.page-header{padding-top:132px!important;padding-bottom:48px!important}.article-card{box-shadow:none!important;border-radius:2px!important}.article-card p{max-width:74ch}.section{padding-top:64px;padding-bottom:64px}.section-header .en-title,.section-en,.page-label{font-size:.8rem!important;color:var(--muted)!important;letter-spacing:.16em!important}.article-highlight{border-left:3px solid var(--green)!important}.price-note{background:#eef0ed!important;color:var(--ink)!important;border-color:var(--line)!important}.faq-q-btn{font-size:1rem!important}.image-note{font-size:.8rem;color:var(--muted);margin:8px 0 0}.reading-cta{max-width:920px;margin:36px auto;padding:32px;background:var(--mist);border-top:1px solid var(--line)}.reading-cta h2{font-family:'Shippori Mincho',serif;font-size:1.5rem;margin-bottom:12px}.reading-cta p{margin-bottom:16px}.reading-cta a{display:inline-block;background:var(--ink);color:white;padding:12px 22px;text-decoration:none}
.s-wrap{width:min(1140px,calc(100% - 64px));margin:auto}.s-header{height:88px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90}.s-header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.s-brand{font-family:'Shippori Mincho',serif;font-size:1.5rem;font-weight:600;text-decoration:none;letter-spacing:.08em;white-space:nowrap}.s-brand small{display:block;font-family:'Noto Sans JP',sans-serif;font-size:.75rem;letter-spacing:.12em;font-weight:400}.s-nav{display:flex;align-items:center;gap:24px}.s-nav a{font-size:.875rem;text-decoration:none}.s-nav .s-btn{font-size:.875rem}.s-mobile-menu{display:none}.s-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:12px 24px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-size:1rem;font-weight:500;line-height:1.5;transition:background .2s}.s-btn:hover{background:#34433e}.s-btn-light{background:transparent;color:var(--ink)}.s-btn-light:hover{background:var(--mist)}.s-btn-line{background:var(--green);border-color:var(--green)}.s-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.s-eyebrow{font-size:.875rem;letter-spacing:.12em;margin-bottom:20px;color:var(--muted)}.s-hero{padding:56px 0 0}.s-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:44px;align-items:center}.s-hero h1{font-family:'Shippori Mincho',serif;font-size:clamp(2rem,3.8vw,3.2rem);font-weight:500;line-height:1.65;letter-spacing:.03em;margin:0 0 24px}.s-hero h1 span{border-bottom:1px solid #87968c;padding-bottom:8px}.s-hero .s-lead{font-size:1.06rem;line-height:2}.s-hero-photo{margin:0;position:relative}.s-hero-photo img{display:block;width:100%;aspect-ratio:1.03;object-fit:cover;object-position:54% center;border-radius:2px}.s-hero-photo figcaption{font-size:.75rem;color:var(--muted);margin-top:8px}.s-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:42px auto 0;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.s-facts div+div{border-left:1px solid var(--line)}.s-facts dt{font-size:.875rem;color:var(--muted)}.s-facts dd{font-family:'Shippori Mincho',serif;font-size:1.5rem;line-height:1.6}.s-facts small{font-size:.875rem}.s-section{padding:88px 0}.s-section-alt{background:var(--mist)}.s-heading{font-family:'Shippori Mincho',serif;font-size:clamp(1.65rem,2.8vw,2.3rem);line-height:1.65;font-weight:500;margin-bottom:24px}.s-section p+p{margin-top:16px}.s-intro{max-width:740px}.s-intro .s-heading{max-width:650px}.s-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.s-split img{display:block;width:100%;border-radius:2px}.s-note{font-size:.875rem!important;color:var(--muted);line-height:1.8!important}.s-text-link{display:inline-block;text-underline-offset:6px;text-decoration:underline;margin-top:24px;font-size:1rem}.s-kicker{display:block;color:var(--muted);font-size:.875rem;letter-spacing:.14em;margin-bottom:16px}.s-case{display:grid;grid-template-columns:340px 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;gap:44px;margin-top:32px}.s-case figure{margin:0}.s-case img{width:100%;aspect-ratio:1;object-fit:cover}.s-case h3{font-family:'Shippori Mincho',serif;font-size:1.65rem;line-height:1.65;margin:8px 0 20px;font-weight:500}.s-case-label{font-size:.875rem;color:var(--muted)}.s-case-result{border-left:3px solid var(--green);padding-left:20px;margin-top:20px}.s-topic-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.s-topic-links a{border-bottom:1px solid var(--line);padding:10px 0;margin-right:24px}.s-process{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}.s-process article{border-top:1px solid #718078;padding-top:20px;min-width:0}.s-process img{display:block;width:100%;aspect-ratio:1.2;object-fit:cover;margin:16px 0}.s-process h3{font-family:'Shippori Mincho',serif;font-size:1.35rem;font-weight:500;margin-bottom:12px}.s-process p{font-size:1rem}.s-process .s-number{font-size:.875rem;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:12px}.s-emphasis{border-left:3px solid var(--green);padding:16px 24px;margin-top:32px;background:#f8f9f6}.s-price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:24px 0}.s-price-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.s-price strong{font-family:'Shippori Mincho',serif;font-size:3.2rem;font-weight:500;white-space:nowrap}.s-price strong small{font-size:1rem}.s-price .s-discount{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.s-quote{font-family:'Shippori Mincho',serif;font-size:1.4rem;line-height:1.9;border-left:1px solid #89958e;padding-left:24px;margin:24px 0}.s-faq details{border-top:1px solid var(--line);padding:20px 0}.s-faq details:last-child{border-bottom:1px solid var(--line)}.s-faq summary{cursor:pointer;font-weight:500;padding-right:20px}.s-faq details p{padding-top:16px;max-width:800px}.s-reserve-head{display:flex;justify-content:space-between;align-items:center;gap:24px}.s-calendar{margin-top:32px;border:1px solid var(--line);background:white}.s-calendar iframe{display:block;width:100%;height:1040px;border:0}.s-access-list{margin:24px 0;display:grid;grid-template-columns:100px 1fr;gap:12px}.s-access-list dt{color:var(--muted)}.s-footer{background:#17201f;color:#f4f5f2;padding:52px 0 36px}.s-footer-links{display:flex;flex-wrap:wrap;gap:16px 28px;margin:24px 0}.s-footer-links a{font-size:.875rem}.s-footer small{color:#c8d0ca}.s-dock{position:fixed;bottom:0;left:0;width:100%;z-index:95;background:rgba(250,250,248,.98);border-top:1px solid var(--line);padding:10px 20px max(10px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:12px}.s-dock>span{font-size:.875rem;margin-right:16px}.s-dock a{min-height:46px;padding:10px 24px;font-size:.875rem}.s-skip{position:fixed;top:-100px;left:16px;background:#fff;padding:12px;z-index:200}.s-skip:focus{top:8px}.s-image-caption{font-size:.8rem!important;color:var(--muted);margin-top:8px!important}
@media(min-width:1500px){.s-hero-grid{gap:70px}.s-hero{padding-top:72px}}
.s-wrap{width:calc(100% - 40px)}.s-header{height:76px}.s-brand{font-size:1.2rem}.s-nav{display:none}.s-mobile-menu{display:block;position:relative}.s-mobile-menu summary{cursor:pointer;font-size:.875rem;padding:12px}.s-mobile-menu nav{position:absolute;right:0;top:48px;width:min(300px,85vw);padding:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px #17201f15}.s-mobile-menu nav a{display:block;padding:10px;text-decoration:none}.s-hero{padding-top:32px}.s-hero-grid{grid-template-columns:1fr;gap:28px}.s-hero h1{font-size:clamp(1.9rem,6.5vw,2.6rem);margin-bottom:20px}.s-hero-photo img{aspect-ratio:1.45;object-position:center 55%}.s-eyebrow{font-size:.875rem;margin-bottom:16px}.s-facts{margin-top:24px}.s-facts dd{font-size:1.2rem}.s-facts dt,.s-facts small{font-size:.8rem}.s-section{padding:56px 0}.s-split{grid-template-columns:1fr;gap:32px}.s-case{grid-template-columns:1fr;gap:24px}.s-case figure{max-width:380px}.s-case img{aspect-ratio:1.3;object-position:center 30%}.s-process{grid-template-columns:1fr;gap:32px}.s-process img{max-width:480px;aspect-ratio:1.5}.s-process h3{font-size:1.4rem}.s-reserve-head{display:block}.s-reserve-head .s-btn{margin-top:20px}.s-calendar iframe{height:1120px}.s-dock>span{display:none}.s-dock a{flex:1;max-width:260px;padding:12px 8px}.s-price strong{font-size:2.6rem}.s-actions .s-btn{flex:1;min-width:140px}.s-access-list{grid-template-columns:80px 1fr}.s-quote{font-size:1.2rem}.s-heading br{display:none}.reading-cta{margin:24px 20px;padding:24px}.container{max-width:100%!important}.page-header{padding-top:110px!important}.article-card{padding:24px 20px!important}.article-text{letter-spacing:normal!important}.section{padding:44px 16px!important}.hero{padding-left:20px!important;padding-right:20px!important}.step-item{gap:14px!important}.calendar-shell{max-width:100%;overflow:hidden}
@media(min-width:851px){
.s-wrap{width:min(1140px,calc(100% - 64px))}.s-header{height:88px}.s-brand{font-size:1.5rem}.s-nav{display:flex}.s-mobile-menu{display:none}
.s-hero{padding-top:56px}.s-hero-grid{grid-template-columns:1.08fr 1fr;gap:44px}.s-hero h1{font-size:clamp(2rem,3.8vw,3.2rem);margin-bottom:24px}
.s-hero-photo img{aspect-ratio:1.03;object-position:54% center}.s-eyebrow{margin-bottom:20px}
.s-facts{margin-top:42px}.s-facts dd{font-size:1.5rem}.s-facts dt,.s-facts small{font-size:.875rem}
.s-section{padding:88px 0}.s-split{grid-template-columns:1fr 1fr;gap:64px}.s-case{grid-template-columns:340px 1fr;gap:44px}.s-case img{aspect-ratio:1;object-position:center}
.s-process{grid-template-columns:repeat(3,1fr);gap:28px}.s-process img{max-width:none;aspect-ratio:1.2}.s-process h3{font-size:1.35rem}
.s-reserve-head{display:flex}.s-reserve-head .s-btn{margin-top:0}.s-calendar iframe{height:1040px}
.s-dock>span{display:inline}.s-dock a{flex:initial;max-width:none;padding:10px 24px}
.s-price strong{font-size:3.2rem}.s-actions .s-btn{flex:initial;min-width:0}.s-access-list{grid-template-columns:100px 1fr}.s-quote{font-size:1.4rem}
.s-heading br{display:initial}.reading-cta{margin:36px auto;padding:32px}.article-card{padding:48px!important}.section{padding:64px 20px!important}.step-item{gap:24px!important}
}
@media(min-width:1500px){.s-hero-grid{gap:70px}.s-hero{padding-top:72px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Photo framing is defined in source coordinates; it does not reveal faces on resize. */
.s-photo-crop{position:relative;overflow:hidden;width:100%;margin:16px 0;background:var(--mist);border-radius:2px}
.s-photo-crop img{display:block!important;max-width:none!important;height:auto!important;aspect-ratio:auto!important;object-fit:initial!important;transform:none!important;border-radius:0!important;margin:0!important}
.s-photo-crop.s-crop-ankles{aspect-ratio:1400/693}.s-crop-ankles img{width:100%!important;margin-top:-17.142857%!important}
.s-photo-crop.s-crop-explain{aspect-ratio:1400/703}.s-crop-explain img{width:100%!important;margin-top:-16.428571%!important}
.s-photo-crop.s-crop-treatment{aspect-ratio:1200/630}.s-crop-treatment img{width:100%!important;margin-top:-22.5%!important}
.s-photo-crop.s-crop-hamstring{aspect-ratio:1}.s-crop-hamstring img{width:166.666667%!important;margin-left:-66.666667%!important;margin-top:-38.888889%!important}
.visual-row>.s-photo-crop{min-width:0;align-self:center;flex:1}
.s-instagram-link{border-top:1px solid var(--line);padding-top:24px}
.s-instagram-link .s-note{margin-top:16px}
@media(min-width:851px){.s-instagram-link{border-top:0;border-left:1px solid var(--line);padding:24px 0 24px 40px}}

/* Browsable homepage and self-contained advertising page. */
.s-jump{display:grid;gap:12px;padding-top:28px}.s-jump a{display:block;padding:22px;border:1px solid var(--line);text-decoration:none;color:var(--ink)}.s-jump strong{display:block;font-size:1.125rem}.s-jump span{display:block;font-size:.875rem;margin-top:5px}.s-jump a:hover{background:var(--mist)}.s-shortcuts{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:24px}.s-shortcuts a{font-size:.9375rem;text-underline-offset:5px}.s-reasons{display:grid;gap:28px;margin:28px 0}.s-reasons article{border-top:2px solid var(--ink);padding-top:20px;min-width:0}.s-reasons h3,.s-flow h3{font-size:1.2rem;line-height:1.7;margin:0 0 12px}.s-inline-cta{padding-top:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}.s-flow{list-style:none;padding:0;margin:32px 0 0}.s-flow li{padding:24px 0;border-top:1px solid var(--line)}.s-shortcuts a,.s-jump a{min-height:44px}.s-shortcuts a{display:flex;align-items:center}section[id],article[id]{scroll-margin-top:110px}@media(min-width:851px){.s-jump,.s-reasons{grid-template-columns:repeat(3,minmax(0,1fr))}.s-jump{padding-top:40px}.s-flow{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}}

/* Mobile-first reading rhythm: one topic, one column, one clear section boundary. */
.s-reading{--paper:#fff;--mist:#f0f1f2;--line:#d2d5d7;--ink:#17201f;background:#fff}
.s-reading .s-hero{padding-bottom:32px}
.s-reading .s-section{padding:52px 0;border-top:1px solid var(--line)}
.s-reading .s-band-gray{background:#f0f1f2}
.s-reading .s-band-white{background:#fff}
.s-reading .s-section>.s-wrap{width:calc(100% - 40px);max-width:720px}
.s-reading .s-section-head{text-align:center;margin:0 auto 32px;max-width:620px}
.s-reading .s-section-head .s-kicker{margin-bottom:10px;font-size:.875rem}
.s-reading .s-section-head .s-heading{margin:0;font-size:clamp(1.55rem,5.5vw,2.1rem);line-height:1.7;letter-spacing:.025em}
.s-reading .s-section-head::after{content:"";display:block;width:36px;height:2px;background:var(--ink);margin:22px auto 0}
.s-reading .s-section-lead{max-width:600px;margin:0 auto 28px;line-height:1.9}
.s-reading .s-reading-stack{display:block}
.s-reading .s-reading-stack>div+div{margin-top:32px}
.s-reading .s-reasons,.s-reading .s-process,.s-reading .s-flow,.s-reading .s-case{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.s-reading .s-reasons article{border-top:1px solid #b5bbbd;padding-top:24px}
.s-reading .s-reasons h3,.s-reading .s-process h3{font-size:1.2rem;line-height:1.8}
.s-reading .s-case{padding-top:24px;margin-top:28px}
.s-reading .s-case figure{width:100%;max-width:420px;margin:auto}
.s-reading .s-case h3{font-size:1.4rem;line-height:1.8}
.s-reading .s-case h3 br{display:none}
.s-reading .s-case-result{background:#f2f5f3;padding:18px;border-left:3px solid var(--green)}
.s-reading .s-philosophy{margin-top:36px;padding-top:28px;border-top:1px solid #b5bbbd}
.s-reading .s-philosophy .s-kicker{margin-bottom:12px}
.s-reading .s-philosophy .s-quote{font-size:1.2rem;margin:16px 0}
.s-reading .s-price{background:#f7f8f8;border:1px solid var(--line);padding:24px 20px;margin:0 0 28px}
.s-reading .s-price-top{justify-content:center;gap:24px;margin-bottom:20px}
.s-reading .s-price strong{font-size:2.6rem}
.s-reading .s-price .s-note{text-align:left}
.s-reading .s-discount{font-size:1rem}
.s-reading .s-instagram-link{border:0;border-top:1px solid var(--line);padding:24px 0 0}
.s-reading .s-topic-links{display:grid;gap:8px;margin-top:24px}
.s-reading .s-topic-links a{margin:0;padding:14px 0}
.s-reading .s-actions{display:grid;grid-template-columns:1fr;gap:12px}
.s-reading .s-actions .s-btn{width:100%;min-width:0;max-width:none}
.s-reading .s-hero .s-actions{max-width:440px}
.s-reading .s-btn{min-height:52px}
.s-reading .s-facts dt,.s-reading .s-facts small{font-size:.875rem}
.s-reading .s-room{max-width:420px;margin:0 auto 28px}
.s-reading .s-room img{display:block;width:100%;height:auto}
.s-reading .s-reading-stack>div>img{max-width:420px;margin:auto}
.s-reading .s-process img,.s-reading .s-process .s-photo-crop{max-width:480px;margin:20px auto}
.s-reading .s-flow{gap:0}
.s-reading .s-faq summary{line-height:1.8;min-height:44px}
.s-reading .s-emphasis{padding:18px;background:#f2f5f3}
.s-reading .s-access-list{grid-template-columns:1fr;gap:4px;margin:0 0 28px}
.s-reading .s-access-list dd{margin-bottom:16px}
.s-reading .s-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.s-reading .s-footer-links a{padding:10px 0;min-height:44px}
.s-reading .s-header-inner{gap:8px}
.s-reading .s-mobile-menu summary{min-height:44px;padding:10px 6px}
.s-reading .s-brand{letter-spacing:.04em}
.s-reading .s-brand small{letter-spacing:.02em}
.s-reading .s-dock{gap:8px;padding-left:12px;padding-right:12px}
@media(min-width:851px){
 .s-reading .s-section{padding:72px 0}
 .s-reading .s-section-head{margin-bottom:40px}
 .s-reading .s-hero{padding-bottom:40px}
 .s-reading .s-actions{max-width:460px;margin-left:auto;margin-right:auto}
 .s-reading .s-hero .s-actions{margin-left:0;margin-right:0}
 .s-reading .s-access-list{grid-template-columns:110px 1fr;gap:16px}
 .s-reading .s-access-list dd{margin:0}
 .s-reading .s-price{padding:32px}
 .s-reading .s-price strong{font-size:3rem}
 .s-reading .s-footer-links{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:360px){.s-reading .s-brand{font-size:1.05rem}.s-reading .s-brand small{font-size:.7rem}.s-reading .s-price-top{gap:16px}.s-reading .s-price strong{font-size:2.2rem}}

/* Desktop hero: photo height follows the headline, copy and buttons on both pages. */
@media(min-width:851px){
 .s-reading .s-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:0;align-items:start}
 .s-reading .s-hero-copy{display:contents}
 .s-reading .s-hero-copy>.s-eyebrow{grid-column:1;grid-row:1}
 .s-reading .s-hero-copy>h1{grid-column:1;grid-row:2}
 .s-reading .s-hero-copy>.s-lead{grid-column:1;grid-row:3}
 .s-reading .s-hero-copy>.s-lead+.s-lead{grid-row:4}
 .s-reading .s-hero-copy>.s-actions{grid-column:1;grid-row:5;max-width:none}
 .s-reading .s-hero-photo{display:contents}
 .s-reading .s-hero-photo>.s-photo-crop{grid-column:2;grid-row:2 / 6;align-self:stretch;width:100%;min-width:0;min-height:0;aspect-ratio:auto;margin:0;container-type:size}
 .s-reading .s-hero-photo>.s-photo-crop img{position:absolute;width:max(100cqw,202.020203cqh)!important;max-width:none!important;height:auto!important;left:50%;top:min(-17.142858cqw,-34.632035cqh);margin:0!important;transform:translateX(-50%)!important}
 .s-reading .s-hero-photo>figcaption{grid-column:2;grid-row:6;margin-top:8px}
}
/* App-inspired button colors; dark LINE text retains contrast on bright green. */
a.s-btn-line,a.line-reserve-btn,.reading-cta a[href="https://lin.ee/v3AUjos"]{background:#06c755!important;border-color:#06c755!important;color:#072b17!important;font-weight:600}
a.s-btn-line:hover,a.line-reserve-btn:hover,.reading-cta a[href="https://lin.ee/v3AUjos"]:hover{background:#05b34c!important;border-color:#05b34c!important;color:#072b17!important}
a.s-btn[href^="https://www.instagram.com/"]{background:linear-gradient(115deg,#6337bc 0%,#a72c93 35%,#c32665 68%,#b94716 100%);border-color:transparent;color:#fff;font-weight:600}
a.s-btn[href^="https://www.instagram.com/"]:hover{background:linear-gradient(115deg,#512c9c 0%,#90257e 35%,#ab2057 68%,#a33b11 100%);color:#fff}
.s-case-instagram{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);scroll-margin-top:110px}
.s-case-instagram h3{font-size:1.2rem;line-height:1.8;margin:0 0 12px}
.s-case-instagram .s-note{margin-top:12px}
.s-technique-case{margin:28px 0;padding:24px 20px;background:#f5f6f6;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.s-technique-case h3,.s-technique-case h4{font-size:1.1rem;line-height:1.8;margin:0 0 16px}
/* Section introduction belongs to its heading; visit photos retain natural proportions. */
.s-reading .s-section-head .s-section-lead{margin:20px auto 0;text-align:center;font-size:1rem;line-height:1.9}.s-reading .s-thought-title{font-size:1.2rem;margin:0 0 12px}.s-reading #inspection>p+p{margin-top:16px}@media(min-width:851px){.s-first-visit .step-list{max-width:780px;margin-left:auto;margin-right:auto}.s-first-visit .step-body img{display:block;max-width:380px;max-height:420px;width:auto!important;height:auto;object-fit:contain}}

/* Separate the case outcome, case note and next reading action. */
.s-reading .s-case-result{background:#F0F0EE;border:1px solid #d9d9d6;border-left:5px solid #0E0E0E;border-radius:8px;padding:22px 20px}
.s-reading .s-case-result .s-note{color:#555555;margin-top:18px;padding-top:14px;border-top:1px solid #d9d9d6;font-size:.875rem!important}
.s-case-detail{margin-top:24px}
.s-reading .s-case-button{width:100%;background:#0E0E0E;border-color:#0E0E0E;color:#ffffff;font-weight:600;padding:16px 20px;text-align:center;border-radius:6px}
.s-reading .s-case-button:hover{background:#333333;border-color:#333333}
.s-current-page{font-size:.875rem;font-weight:600;border-bottom:2px solid currentColor;padding-bottom:4px}
.s-mobile-menu nav .s-current-page{display:block;font-size:1rem;padding:10px;border-bottom:0;border-left:3px solid #0E0E0E;background:#F0F0EE}

/* Pastel accents for content grouping; app-brand buttons retain their own colors. */
.article-highlight{border-left-color:#0E0E0E!important}.s-emphasis{border-left-color:#0E0E0E}.s-reading .s-emphasis{background:#F0F0EE}.s-reading .s-technique-case{background:#F0F0EE;border-color:#d9d9d6}.s-reading .s-case-result{background:#F0F0EE}.s-reading .s-case-button:hover{color:#ffffff}

/* Center the final reservation action, and enlarge guide photos on demand. */
.reading-cta{text-align:center}
.reading-cta>a[href="https://lin.ee/v3AUjos"]{display:flex!important;width:fit-content;max-width:100%;margin:22px auto 0!important}
.s-photo-open{display:block;width:fit-content;max-width:100%;margin:20px auto;text-align:center;text-decoration:none;color:#333}
.s-photo-open span{display:block;text-decoration:underline;text-underline-offset:4px;font-size:.875rem}
.s-photo-dialog{position:fixed;inset:0;margin:auto;width:94vw;max-width:1200px;max-height:92svh;padding:16px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#17201f;z-index:1000}
.s-photo-dialog::backdrop{background:rgba(0,0,0,.75)}
.s-photo-dialog-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.s-photo-dialog button{min-width:70px;min-height:44px;background:#17201f;color:#fff;border:0;border-radius:4px;font:inherit;cursor:pointer}
.s-photo-dialog img{display:block;width:auto;max-width:100%;height:auto;max-height:72svh;object-fit:contain;margin:auto}
.s-photo-dialog-caption{text-align:center;margin-top:10px;font-size:.875rem}

.s-dock .s-line-label{margin:0!important;text-align:center}
.s-access-page #main .container,.s-access-page #main .page-header-inner{width:100%;max-width:760px!important;margin:0 auto!important}
.s-access-page #main .page-header-inner,.s-access-page #main .section-header,.s-access-page #main h3{text-align:center}
.s-route-step{width:100%;max-width:520px;margin:0 auto;padding:24px 0;border-top:1px solid #d4d4d0;text-align:center}
.s-access-page .s-route-step>p{max-width:460px;margin:0 auto 16px;font-size:1rem;line-height:1.9;color:#343434;text-align:center}
.s-route-step .s-photo-open{margin:0 auto}

/* Whole-site review: keep every reading area on the same central axis. */
#main .container{width:100%;max-width:800px!important;margin-inline:auto}
#main .page-header-inner{width:100%;max-width:840px;margin-inline:auto;text-align:center;padding-inline:20px}
#main .section-header{text-align:center!important}
#main .breadcrumb-inner{max-width:800px;margin-inline:auto}
#main .section{border-top:1px solid #d9d9d6}
#main .article-body h2,#main .article-body h3{text-align:center;line-height:1.8}
.article-card p{margin-inline:auto}
.s-btn,.line-reserve-btn,.reading-cta>a{text-align:center;min-width:0;max-width:100%}
.s-line-label{margin:0!important;min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;letter-spacing:normal}
.s-mobile-menu nav{max-height:calc(100svh - 170px);overflow-y:auto;overscroll-behavior:contain}
.s-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}
.s-footer-links a{display:flex;align-items:center;min-height:44px;padding:10px 0}
.s-text-link,.back-link{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:48px;margin:24px auto;padding:12px 20px;border:1px solid #bdbdb8;border-radius:4px;background:#fff;color:#17201f;text-align:center;text-decoration:none;line-height:1.8}
.s-text-link:hover,.back-link:hover{background:#e9e9e6}
.s-topic-links a{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;border:1px solid #bdbdb8;background:#fff;text-decoration:none;border-radius:4px}
.s-reading .s-topic-links a{padding:14px 16px}
.s-reading .s-reasons h3,.s-reading .s-process h3,.s-reading .s-process .s-number,.s-reading .s-flow h3,.s-case-instagram h3,.s-technique-case h3,.s-technique-case h4{text-align:center}
.s-reading .s-case-instagram>p{text-align:center}
.s-reading .s-price .s-note,.s-reading .s-price .s-discount{text-align:center}
.s-reading .s-case figure img{display:block}
.symptom-card-grid{grid-template-columns:minmax(0,1fr)}
.subpage-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;max-width:520px;margin:auto}
.subpage-card{display:block;padding:24px;border:1px solid #bdbdb8;background:#fff;text-align:center;border-radius:4px;text-decoration:none}
.subpage-card:hover{background:#e9e9e6}
.subpage-icon{display:none}
.subpage-name{font-weight:600;font-size:1.15rem;margin-bottom:8px}
.subpage-desc{font-size:1rem;line-height:1.9;color:#505a57}
.s-first-visit .step-item{display:grid;grid-template-columns:minmax(0,1fr);gap:12px!important}
.s-first-visit .step-num{margin-inline:auto}
.s-first-visit .step-body{width:100%;max-width:600px;min-width:0;margin-inline:auto}
.s-first-visit .step-title{text-align:center;margin-bottom:12px;font-size:1.15rem}
.s-first-visit .step-desc{color:#505a57}
.s-first-visit .article-card>a.btn-primary{display:flex;justify-content:center;align-items:center;text-align:center;min-height:48px}
.s-faq-page .faq-q-btn{gap:16px;line-height:1.8}
.s-faq-page .faq-chevron{flex-shrink:0}
.s-access-page .article-card>div:first-child{text-align:center}
.s-access-page .point-icon,.s-access-page .point-title,.s-first-visit .point-icon,.s-first-visit .point-title{text-align:center}
.s-reading .s-room{max-width:360px}
.s-reading .s-room img{max-height:480px;object-fit:contain}
.s-photo-dialog:open{overflow-y:auto}
.s-photo-dialog-tools{flex-wrap:wrap}
.availability-alert{background:#f0f0ee;border-color:#d9d9d6;color:#17201f}
.s-reading #access a.s-route-button[href^="https://www.instagram.com/"]{background:linear-gradient(115deg,#6337bc 0%,#a72c93 35%,#c32665 68%,#b94716 100%);border-color:transparent;color:#fff}
.s-reading #access a.s-route-button[href^="https://www.instagram.com/"]:hover{background:linear-gradient(115deg,#512c9c 0%,#90257e 35%,#ab2057 68%,#a33b11 100%)}
.blog-grid{max-width:600px}
.blog-card-img{height:auto!important;aspect-ratio:4/3}
.blog-card-img img{object-fit:cover;object-position:center}
.s-first-visit .article-card>a[href="access.html"]{display:flex;align-items:center;justify-content:center;max-width:100%;min-width:0;min-height:48px;padding:14px 16px;text-align:center;border:1px solid #17201f;background:#17201f;color:#fff;border-radius:4px}
@media(min-width:640px){.symptom-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:851px){.s-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:851px) and (max-width:1023px){.s-nav{display:none}.s-mobile-menu{display:block}.s-brand{font-size:1.2rem}}
@media(max-width:600px){
 .s-dock{gap:8px;padding-inline:12px}
 .s-dock a{min-width:0;font-size:.8125rem}
 .s-dock a.s-btn-line{flex:1.2}
 .s-reading .s-facts dt,.s-reading .s-facts small{font-size:.8rem}
 .s-first-visit .step-item{padding:20px 16px}
 .reading-cta{padding:24px 16px}
}

/* v29 handoff: the white LINE label fills the inner button evenly. */
a.s-btn-line,
.reading-cta a[href="https://lin.ee/v3AUjos"]{
 padding:8px!important;
}
a.s-btn-line>.s-line-label,
.reading-cta a[href="https://lin.ee/v3AUjos"]>.s-line-label{
 display:flex!important;
 align-items:center;
 justify-content:center;
 width:100%!important;
 margin:0!important;
 padding:7px 12px!important;
 text-align:center!important;
}
.s-dock a.s-btn-line{
 min-width:154px;
}
@media(max-width:600px){
 .s-dock a.s-btn-line{min-width:0}
}

/* FAQ headings and answers share the same centered reading axis. */
.s-faq-page .faq-q-btn{
 position:relative;
 display:block;
 padding:18px 48px;
 text-align:center!important;
}
.s-faq-page .faq-chevron{
 position:absolute;
 right:18px;
 top:50%;
 transform:translateY(-50%);
}
.s-faq-page .faq-q-btn.open .faq-chevron{
 transform:translateY(-50%) rotate(180deg);
}
.s-faq-page .faq-answer-inner{
 padding:0 18px 20px;
 text-align:center;
}
