@charset "utf-8";
/* Concept C — quiet editorial / atelier. For this homepage ONLY.
   No edits to shared styles, original words, links, pricing or source illustrations.
   Designed as an intentional full-page composition, not a collection of cards. */
.home-editorial{
 --hm-ink:#292d2b; --hm-brown:#80604c; --hm-muted:#585e58;
 --hm-line:#c8c9bf; --hm-cream:#faf9f5; --hm-sand:#e9e6dd;
 --ed-paper:#faf9f5; --ed-ink:#29342e; --ed-olive:#687367; --ed-edge:#d5d8cd;
 background:var(--ed-paper);color:var(--ed-ink);overflow:clip;
}
.home-editorial h1,.home-editorial h2{font-family:"Noto Serif JP",serif;font-weight:500;letter-spacing:-.035em;color:inherit;}
.home-editorial .hm-eyebrow{color:#7b6a55;font-size:10px;letter-spacing:.12em;font-weight:700;line-height:1.7;margin-bottom:25px;}
.home-editorial .hm-wrap{width:min(1120px,calc(100% - 112px));}
.home-editorial .hm-section{padding:140px 0;}
.home-editorial .hm-line{background:#168344;color:#fff;border-radius:0;box-shadow:none;min-height:62px;padding:14px 28px;}
.home-editorial .hm-line:hover{background:#116b35;}
.home-editorial .hm-text-link{border-bottom:1px solid currentColor;padding-bottom:8px;font-weight:600;}
/* 1 — Art-directed cover. Bold type, asymmetry and illustration; avoid badges and frames. */
.home-editorial .hm-hero{position:relative;isolation:isolate;background:#f0eee7;padding:74px 0 0;overflow:hidden;}
.home-editorial .hm-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:
 radial-gradient(ellipse at 12% 16%,rgba(255,255,255,.86),transparent 56%),
 radial-gradient(ellipse at 85% 85%,rgba(171,184,167,.21),transparent 46%),
 repeating-linear-gradient(0deg,rgba(65,64,50,.009) 0 1px,transparent 1px 6px);}
.home-editorial .hm-hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#d4d2c9;}
.home-editorial .hm-hero-inner{width:min(1240px,calc(100% - 112px));min-height:675px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:1fr auto;column-gap:3.5%;align-items:end;}
.home-editorial .hm-hero-copy{grid-column:1;grid-row:1;padding:10px 0 0;align-self:center;position:relative;z-index:2;}
.home-editorial .hm-hero-copy .hm-eyebrow{font-size:11px;color:#786656;margin:0 0 42px;letter-spacing:.2em;}
.home-editorial h1{font-size:clamp(45px,5vw,72px);line-height:1.43;letter-spacing:-.065em;max-width:760px;text-wrap:initial;}
.home-editorial h1 em{font-size:.82em;color:#866851;margin:28px 0 0;line-height:1.75;letter-spacing:-.06em;}
.home-editorial .hm-hero-final-last{display:block;}
.home-editorial .hm-hero-art{grid-column:2;grid-row:1/3;align-self:end;justify-self:end;width:100%;max-width:515px;position:relative;margin:0;display:flex;align-items:flex-end;}
.home-editorial .hm-hero-art:before{content:"";position:absolute;left:4%;right:-4%;bottom:0;height:74%;background:radial-gradient(ellipse at 55% 68%,rgba(215,222,209,.74),rgba(215,222,209,0) 68%);pointer-events:none;}
.home-editorial .hm-hero-art picture{display:block;position:relative;width:100%;}
.home-editorial .hm-hero-art img{width:100%;max-height:570px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 20px rgba(59,61,46,.08));}
.home-editorial .hm-hero-book{grid-column:1;grid-row:2;position:relative;z-index:2;padding:20px 0 63px;}
.home-editorial .hm-hero-lead{font-size:15px;line-height:1.95;color:#515851;margin:0 0 24px;}
.home-editorial .hm-hero-price{display:flex;align-items:baseline;gap:6px;font-size:13px;color:#52544f;}
.home-editorial .hm-hero-price strong{font-size:33px;letter-spacing:-.065em;font-weight:700;color:#263329;}
.home-editorial .hm-hero-actions{margin:22px 0 16px;}
.home-editorial .hm-hero-actions .hm-line{min-width:290px;}
.home-editorial .hm-micro{font-size:11px;color:#64675e;}
/* 2 — concise manifesto, a large lyrical opening versus compact personal pain points. */
.home-editorial .hm-worries{background:#fffefa;position:relative;}
.home-editorial .hm-worry-layout{grid-template-columns:1.05fr .95fr;gap:12%;align-items:start;}
.home-editorial .hm-worries h2{font-size:clamp(36px,3.5vw,52px);line-height:1.65;letter-spacing:-.055em;margin:0;}
.home-editorial .hm-worry-list li{font-size:16px;font-weight:500;border-color:#e3e2db;padding:22px 0;line-height:1.8;}
.home-editorial .hm-worry-list li:first-child{padding-top:0;}
.home-editorial .hm-worries .hm-muted{font-size:14px;line-height:2.1;color:#60655f;}
.home-editorial .hm-worries .hm-text-link{margin-top:35px;}
/* 3 — feature spread: open numbers, large imagery, hierarchy rather than thick card borders. */
.home-editorial .hm-care{background:#efeee8;}
.home-editorial .hm-care .hm-section-head{max-width:none;margin:0 0 74px;text-align:left;display:grid;grid-template-columns:1fr 1fr;column-gap:10%;align-items:end;}
.home-editorial .hm-care .hm-section-head .hm-eyebrow{grid-column:1/-1;}
.home-editorial .hm-care .hm-section-head h2{font-size:clamp(42px,4vw,60px);line-height:1.5;margin:0;}
.home-editorial .hm-care .hm-section-head>p:last-child{font-size:15px;line-height:2.25;color:#5e645e;padding-bottom:8px;}
.home-editorial .hm-care-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10%;}
.home-editorial .hm-care-steps li{display:grid;grid-template-columns:145px 1fr;grid-template-rows:auto 1fr;column-gap:24px;align-items:start;padding:34px 0 39px;border:0;border-top:1px solid #c5c7bd;position:relative;background:transparent;box-shadow:none;min-height:270px;}
.home-editorial .hm-care-steps .hm-step-label{grid-column:1/-1;grid-row:1;display:flex;border:0;gap:12px;margin:0 0 26px;padding:0;align-items:baseline;}
.home-editorial .hm-care-steps .hm-step-label>span{font:400 34px/1.2 "Noto Serif JP",serif;color:#987963;letter-spacing:-.05em;}
.home-editorial .hm-care-steps .hm-step-label h3{font-size:20px;margin:0;letter-spacing:-.03em;line-height:1.5;}
.home-editorial .hm-care-steps img{grid-column:1;grid-row:2;aspect-ratio:1;object-fit:contain;width:145px;height:145px;margin:0;mix-blend-mode:multiply;}
.home-editorial .hm-care-steps li>p{grid-column:2;grid-row:2;line-height:2;font-size:14px;margin:4px 0 0;}
.home-editorial .hm-care-steps .hm-practice-focus{border:0;border-top:2px solid #876b55;padding:33px 0 39px;background:transparent;box-shadow:none;}
.home-editorial .hm-practice-focus .hm-step-label h3{color:#76533d;}
.home-editorial .hm-practice-focus .hm-step-label>span{color:#76533d;}
.home-editorial .hm-care-note{max-width:none;margin:45px 0 0;background:#e2e1d8;border:0;border-radius:0;padding:50px 6%;display:grid;grid-template-columns:.87fr 1.13fr;gap:12px 8%;align-items:start;}
.home-editorial .hm-care-note .hm-label{grid-column:1/-1;margin-bottom:8px;color:#755a45;}
.home-editorial .hm-care-note h3{font:500 29px/1.75 "Noto Serif JP",serif;letter-spacing:-.035em;margin:0;}
.home-editorial .hm-care-note>p:not([class]){font-size:14px;line-height:2.1;}
.home-editorial .hm-care-note .hm-small{grid-column:2;color:#73786d;margin:0;font-size:12px;}
/* 4 — services as a visual typographic index, no repeated boxed cards. */
.home-editorial .hm-symptoms{background:#fffefa;}
.home-editorial .hm-symptom-layout{grid-template-columns:.77fr 1.23fr;gap:11%;}
.home-editorial .hm-symptoms h2{font-size:clamp(37px,3.7vw,51px);line-height:1.6;}
.home-editorial .hm-symptom-layout>div>p:not([class]){font-size:14px;line-height:2.1;color:#626860;}
.home-editorial .hm-symptom-links{gap:0 30px;}
.home-editorial .hm-symptom-links>a{position:relative;padding:21px 30px 19px 0;border-color:#d9ddd3;}
.home-editorial .hm-symptom-links>a:after{content:'↗';position:absolute;top:33px;right:0;font:normal 22px/1 serif;color:#9b8571;}
.home-editorial .hm-symptom-links>a strong{font-size:23px;letter-spacing:-.03em;}
/* 5 — person: dark editorial stage. Single tonal section creates full-page rhythm. */
.home-editorial .hm-director{background:linear-gradient(120deg,#4b5a50 0%,#46554b 68%,#3e4b43 100%);color:#f5f2e9;padding:116px 0 122px;position:relative;}
.home-editorial .hm-director:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 15% 15%,rgba(255,255,255,.075),transparent 55%);}
.home-editorial .hm-director-layout{grid-template-columns:.84fr 1.16fr;gap:11%;align-items:center;}
.home-editorial .hm-director-photo{margin:0;position:relative;}
.home-editorial .hm-director-photo:after{content:"";position:absolute;inset:auto -17px -17px 17px;height:66%;border:1px solid rgba(250,246,229,.3);z-index:0;pointer-events:none;}
.home-editorial .hm-director-photo img{position:relative;z-index:1;}
.home-editorial .hm-director-photo img{aspect-ratio:4/4.8;object-fit:cover;object-position:center;filter:none;}
.home-editorial .hm-director-photo figcaption{color:#d8dacc;font-size:11px;letter-spacing:.02em;margin-top:17px;}
.home-editorial .hm-director-copy .hm-eyebrow{color:#d8c6a8;}
.home-editorial .hm-director-copy h2{color:#fffdf5;font-size:clamp(34px,3.55vw,48px);line-height:1.55;}
.home-editorial .hm-director-copy{border-left:1px solid rgba(255,255,255,.20);padding-left:36px;}
.home-editorial .hm-director-lead{font-size:17px;color:#f4f2eb;margin-bottom:22px;}
.home-editorial .hm-director-copy>p:not([class]){font-size:14px;color:#e4e4d9;line-height:2.1;}
.home-editorial .hm-director-copy .hm-small{color:#c9d0c6;}
.home-editorial .hm-director-copy .hm-text-link{color:#f5f2e9;}
/* 6 — money without a faux luxury price card; visiting guidance is an open two-column rhythm. */
.home-editorial .hm-price{background:#f1eee6;}
.home-editorial .hm-price-layout{grid-template-columns:1fr .89fr;gap:12%;}
.home-editorial .hm-price h2{font-size:clamp(37px,4vw,54px);line-height:1.65;}
.home-editorial .hm-price h2 em{font-style:normal;color:#85654e;}
.home-editorial .hm-price-included{border-left:1px solid #987b63;font-size:15px;line-height:2.2;padding-left:24px;margin-top:37px;}
.home-editorial .hm-price-table{background:transparent;border-top:1px solid #b7b7ab;border-bottom:1px solid #b7b7ab;padding:0;}
.home-editorial #plan.hm-price-table>div,
.home-editorial #plan.hm-price-table>div:first-child{box-sizing:border-box;background:#fffefa;padding:32px 34px!important;border-color:#d2d1c6;min-width:0;}
.home-editorial #plan.hm-price-table>div>h3{margin:0 0 19px;}
.home-editorial #plan.hm-price-table>div>p{margin:0;}
.home-editorial #plan.hm-price-table>div>p.hm-small{margin-top:13px;}
.home-editorial .hm-price-table>div:last-child{border-bottom:0;}
.home-editorial .hm-price-table strong{font-family:"Noto Serif JP",serif;font-size:52px;}
.home-editorial #plan.hm-price-table>div:nth-child(2) strong{font-size:52px;}
.home-editorial .hm-price-cta{margin-top:28px;}
.home-editorial .hm-visits{margin-top:100px;padding:46px 0 0;gap:11%;border-top:1px solid #c6c4b9;}
.home-editorial .hm-visits>div,.home-editorial .hm-visits>div:first-child{background:transparent;padding:0;border:0;border-left:0;box-shadow:none;}
.home-editorial .hm-visits h3{font:500 clamp(22px,2.4vw,29px)/1.7 "Noto Serif JP",serif;letter-spacing:-.04em;}
.home-editorial .hm-visits p:not([class]){font-size:14px;line-height:2.05;}
/* 7-8 — first visit and FAQs: clean rule-based information design */
.home-editorial .hm-first{background:#fffefa;}
.home-editorial .hm-first-layout,.home-editorial .hm-faq-layout{gap:12%;grid-template-columns:.83fr 1.17fr;}
.home-editorial .hm-first h2,.home-editorial .hm-faq h2{font-size:clamp(36px,3.8vw,49px);line-height:1.6;}
.home-editorial .hm-first-list li{border-color:#d3d5cc;grid-template-columns:37px 1fr;gap:20px;padding:23px 0;}
.home-editorial .hm-first-list li>span{font-size:26px;color:#8c725f;}
.home-editorial .hm-faq{background:#f1f1ea;}
.home-editorial .hm-questions details{border-color:#c8cdc4;}
.home-editorial .hm-questions summary{padding:25px 30px 25px 0;position:relative;font-size:16px;list-style:none;}
.home-editorial .hm-questions summary::-webkit-details-marker{display:none;}
.home-editorial .hm-questions summary:after{content:'+';position:absolute;right:0;top:24px;color:#8b725d;font-size:21px;line-height:1;}
.home-editorial .hm-questions details[open] summary:after{content:'−';}
.home-editorial .hm-medical{background:#e4e6dc;border:0;padding:29px;}
/* 9 — immersive real-location proof image; less interface, more reality */
.home-editorial .hm-clinic{background:#fffefa;padding-bottom:116px;}
.home-editorial .hm-clinic-heading{margin-bottom:53px;}
.home-editorial .hm-clinic-heading h2{font-size:clamp(36px,3.8vw,51px);line-height:1.6;}
.home-editorial .hm-room{position:relative;}
.home-editorial .hm-room img{display:block;width:100%;object-fit:cover;height:auto;max-height:620px;}
.home-editorial .hm-clinic-bottom{border-top:1px solid #e2e3da;padding-top:22px;}
/* 10 — warm final booking panel with a precise destination */
.home-editorial .hm-contact{background:#e7e8df;padding:130px 0;}
.home-editorial .hm-contact-layout{grid-template-columns:1fr .9fr;gap:11%;}
.home-editorial .hm-contact h2{font-size:clamp(38px,3.8vw,52px);line-height:1.58;}
.home-editorial .hm-reserve-price{margin-top:29px;}
.home-editorial .hm-access{grid-template-columns:125px 1fr;gap:27px;}
.home-editorial .hm-access img{filter:none;}
.home-editorial .hm-news{background:#fffefa;}
/* Intermediate */
@media(max-width:1050px) and (min-width:761px){
 .home-editorial .hm-wrap,.home-editorial .hm-hero-inner{width:calc(100% - 72px);}
 .home-editorial .hm-hero-inner{column-gap:2%;min-height:610px;}
 .home-editorial h1{font-size:clamp(39px,5vw,56px);}
 .home-editorial .hm-care-steps li{grid-template-columns:112px 1fr;gap:18px;}
 .home-editorial .hm-care-steps img{width:112px;height:112px;}
 .home-editorial .hm-section{padding-block:110px;}
 .home-editorial :is(.hm-worry-layout,.hm-director-layout,.hm-price-layout,.hm-symptom-layout,.hm-first-layout,.hm-faq-layout,.hm-contact-layout){gap:6%;}
}
/* Mobile is art-directed anew: illustration reaches the side; minimal yet legible, no random label overlay. */
@media(max-width:760px){
 .home-editorial{overflow:clip;}
 .home-editorial .hm-wrap{width:calc(100% - 44px);}
 .home-editorial .hm-section{padding:83px 0 88px;}
 .home-editorial .hm-eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:19px;}
 .home-editorial .hm-hero{padding:31px 0 0;}
 .home-editorial .hm-hero-inner{width:calc(100% - 44px);min-height:0;display:flex;flex-direction:column;align-items:stretch;}
 .home-editorial .hm-hero-copy{padding:0;align-self:stretch;order:1;}
 .home-editorial .hm-hero-copy .hm-eyebrow{font-size:9px;letter-spacing:.12em;margin:0 0 23px;}
 .home-editorial h1{font-size:clamp(30px,7.75vw,39px);line-height:1.52;letter-spacing:-.065em;}
 .home-editorial h1 em{margin-top:12px;font-size:.89em;line-height:1.7;}
 .home-editorial .hm-hero-art{order:2;min-height:0;display:flex;justify-content:end;width:100%;max-width:none;height:auto;margin:13px 0 0;align-self:stretch;position:relative;}
 .home-editorial .hm-hero-art:before{left:32%;right:-22px;bottom:0;height:68%;background:radial-gradient(ellipse at center,rgba(199,212,195,.52),transparent 75%);}
 .home-editorial .hm-hero-art picture{width:72%;max-width:320px;margin:0 0 0 auto;position:relative;right:auto;bottom:auto;display:block;}
 .home-editorial .hm-hero-art picture img{width:100%;height:auto;max-height:none;display:block;object-fit:contain;}
 .home-editorial .hm-hero-book{order:3;padding:20px 0 39px;}
 .home-editorial .hm-hero-lead{font-size:13px;line-height:1.9;margin:0 0 17px;}
 .home-editorial .hm-hero-price{font-size:12px;justify-content:flex-start;margin:0;}
 .home-editorial .hm-hero-price strong{font-size:31px;}
 .home-editorial .hm-hero-actions{margin:16px 0 13px;}
 .home-editorial .hm-hero-actions .hm-line{width:100%;min-width:0;min-height:56px;}
 .home-editorial .hm-micro{font-size:10px;text-align:center;}
 .home-editorial .hm-worry-layout{display:block;}
 .home-editorial .hm-worries h2{font-size:clamp(30px,7.7vw,39px);line-height:1.65;margin:0 0 42px;}
 .home-editorial .hm-worry-list li{font-size:15px;padding:18px 0;}
 .home-editorial .hm-worry-list li:first-child{border-top:1px solid #e3e2db;padding-top:18px;}
 .home-editorial .hm-worries .hm-muted{font-size:13px;line-height:2;}
 .home-editorial .hm-care .hm-section-head{display:block;margin:0 0 36px;}
 .home-editorial .hm-care .hm-section-head h2{font-size:clamp(30px,7.7vw,40px);line-height:1.62;margin-bottom:22px;}
 .home-editorial .hm-care .hm-section-head>p:last-child{font-size:13px;line-height:2;}
 .home-editorial .hm-care-steps{grid-template-columns:1fr;gap:0;}
 .home-editorial .hm-care-steps li{grid-template-columns:minmax(105px,36%) 1fr;column-gap:18px;min-height:0;padding:29px 0 32px;}
 .home-editorial .hm-care-steps li:nth-child(even){background:rgba(255,255,255,.24);margin-inline:-10px;padding-inline:10px;}
 .home-editorial .hm-care-steps .hm-step-label{margin-bottom:15px;gap:13px;}
 .home-editorial .hm-care-steps .hm-step-label>span{font-size:29px;}
 .home-editorial .hm-care-steps .hm-step-label h3{font-size:17px;}
 .home-editorial .hm-care-steps img{width:100%;height:auto;aspect-ratio:1;}
 .home-editorial .hm-care-steps li>p{font-size:13px;line-height:1.85;}
 .home-editorial .hm-care-note{display:block;padding:34px 25px;margin-top:26px;}
 .home-editorial .hm-care-note h3{font-size:24px;line-height:1.7;margin-bottom:21px;}
 .home-editorial .hm-care-note>p:not([class]){font-size:13px;line-height:2;}
 .home-editorial .hm-care-note .hm-small{margin-top:15px;font-size:11px;}
 .home-editorial .hm-symptom-layout,.home-editorial .hm-first-layout,.home-editorial .hm-faq-layout,.home-editorial .hm-contact-layout{display:block;}
 .home-editorial .hm-symptoms h2,.home-editorial .hm-first h2,.home-editorial .hm-faq h2{font-size:clamp(29px,7.6vw,37px);}
 .home-editorial .hm-symptom-links{margin-top:41px;gap:0 20px;}
 .home-editorial .hm-symptom-links>a{padding:20px 17px 16px 0;}
 .home-editorial .hm-symptom-links>a strong{font-size:18px;}
 .home-editorial .hm-symptom-links>a:after{right:0;top:28px;font-size:16px;}
 .home-editorial .hm-director{padding:80px 0 94px;}
 .home-editorial .hm-director-layout{display:flex;flex-direction:column;gap:31px;}
 .home-editorial .hm-director-copy{border:0;padding-left:0;}
 .home-editorial .hm-director-photo:after{right:-11px;bottom:-11px;left:11px;}
 .home-editorial .hm-director-photo{width:80%;max-width:350px;align-self:start;}
 .home-editorial .hm-director-copy h2{font-size:clamp(30px,7.65vw,38px);line-height:1.65;}
 .home-editorial .hm-director-lead{font-size:15px;}
 .home-editorial .hm-director-copy>p:not([class]){font-size:13px;}
 .home-editorial .hm-price-layout{display:block;}
 .home-editorial .hm-price h2{font-size:clamp(30px,7.7vw,39px);line-height:1.68;}
 .home-editorial .hm-price-included{margin:25px 0 40px;font-size:14px;}
 .home-editorial .hm-price-table strong{font-size:45px;}
 .home-editorial #plan.hm-price-table>div,
 .home-editorial #plan.hm-price-table>div:first-child{padding:25px 25px!important;}
 .home-editorial #plan.hm-price-table>div:nth-child(2) strong{font-size:45px;}
 .home-editorial .hm-visits{margin-top:65px;display:block;padding-top:18px;}
 .home-editorial .hm-visits>div,.home-editorial .hm-visits>div:first-child{padding:25px 0;border:0;border-bottom:1px solid #cfcec2;}
 .home-editorial .hm-visits h3{font-size:25px;}
 .home-editorial .hm-first-list,.home-editorial .hm-questions{margin-top:40px;}
 .home-editorial .hm-first-list li>span{font-size:22px;}
 .home-editorial .hm-questions summary{font-size:14px;}
 .home-editorial .hm-clinic{padding-bottom:76px;}
 .home-editorial .hm-clinic-heading{display:block;margin-bottom:28px;}
 .home-editorial .hm-clinic-heading .hm-eyebrow{margin-bottom:13px;}
 .home-editorial .hm-clinic-heading h2{font-size:clamp(29px,7.7vw,38px);}
 .home-editorial .hm-clinic-heading>p{margin-top:19px;}
 .home-editorial .hm-room img{width:100%;max-height:none;}
 .home-editorial .hm-clinic-bottom{display:block;}
 .home-editorial .hm-clinic-bottom .hm-text-link{margin-top:13px;}
 .home-editorial .hm-contact{padding:90px 0;}
 .home-editorial .hm-contact h2{font-size:clamp(30px,7.7vw,39px);}
 .home-editorial .hm-access{margin-top:62px;grid-template-columns:105px 1fr;gap:20px;}
 .home-editorial .hm-news{padding-block:32px;}
}
@media(min-width:761px) and (max-width:850px){.home-editorial .hm-hero-inner{grid-template-columns:1.2fr .8fr;}.home-editorial .hm-hero-art img{max-height:520px;}}
@media(prefers-reduced-motion:reduce){.home-editorial .hm-line{transition:none;}}

/* Visual refinement D — Nov 09: only cover, practitioner portrait and clinic photograph.
   All other sections retain Concept C rules exactly. */
@media (min-width:761px){
  /* Make the practitioner the focal point without new imagery or copy. */
  .home-editorial .hm-director{padding-block:132px 140px;}
  .home-editorial .hm-director-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:8%;}
  .home-editorial .hm-director-photo{max-width:440px;margin-left:0;}
  .home-editorial .hm-director-photo img{aspect-ratio:1/1.13;object-fit:cover;object-position:center 35%;}
  .home-editorial .hm-director-photo:after{inset:18px -18px -18px 18px;height:auto;border-color:rgba(251,248,235,.22);}
  .home-editorial .hm-director-copy{padding-left:38px;}
  /* The room is an editorial photograph, not an illustrative card. */
  .home-editorial .hm-clinic-heading{margin-bottom:40px;}
  .home-editorial .hm-room{margin-inline:-34px;}
  .home-editorial .hm-room img{max-height:none;aspect-ratio:1.98/1;object-fit:cover;object-position:center center;}
  .home-editorial .hm-clinic-bottom{margin-top:0;}
}
@media(max-width:760px){
  /* A more confident mobile cover: reduce unused space and give the actual drawing more presence. */
  .home-editorial .hm-hero{background:#f1efe9;padding-top:29px;}
  .home-editorial .hm-hero-copy .hm-eyebrow{margin-bottom:24px;}
  .home-editorial h1{font-size:clamp(31px,7.9vw,40px);line-height:1.48;}
  .home-editorial h1 em{margin-top:10px;line-height:1.65;}
  .home-editorial .hm-hero-art{margin-top:3px;}
  .home-editorial .hm-hero-art picture{width:84%;max-width:350px;}
  .home-editorial .hm-hero-art:before{left:30%;right:-22px;bottom:6%;height:65%;background:radial-gradient(ellipse at 70% 78%,rgba(184,200,177,.34),transparent 74%);}
  .home-editorial .hm-hero-book{padding:13px 0 37px;}
  .home-editorial .hm-hero-lead{margin-bottom:12px;}
  .home-editorial .hm-hero-actions{margin-top:16px;}
  /* Portrait uses the available width: a clear human presence rather than a small inset square. */
  .home-editorial .hm-director{background:#4a594f;padding:0 0 80px;}
  .home-editorial .hm-director-layout{gap:0;}
  .home-editorial .hm-director-photo{width:calc(100% + 44px);max-width:none;margin:0 -22px 0;align-self:stretch;}
  .home-editorial .hm-director-photo img{display:block;width:100%;height:auto;aspect-ratio:1.18/1;object-fit:cover;object-position:center 35%;}
  .home-editorial .hm-director-photo:after{display:none;}
  .home-editorial .hm-director-photo figcaption{margin:0;padding:12px 22px;background:rgba(18,29,24,.17);font-size:10px;line-height:1.7;}
  .home-editorial .hm-director-copy{padding-top:44px;}
  .home-editorial .hm-director-copy .hm-eyebrow{margin-bottom:18px;}
  .home-editorial .hm-director-copy h2{font-size:clamp(31px,7.9vw,40px);line-height:1.55;}
  /* Room: let a genuine clinic photograph breathe rather than shrink to a column illustration. */
  .home-editorial .hm-clinic-heading{margin-bottom:31px;}
  .home-editorial .hm-room{margin-inline:-22px;}
  .home-editorial .hm-room img{width:100%;max-height:none;aspect-ratio:1.12/1;object-fit:cover;object-position:center;}
  .home-editorial .hm-clinic-bottom{padding-top:18px;}
}


/* ===== Variation E: the four care steps only (2026-11-09) =====
   Art direction: 01–03 form a quiet, readable sequence; 04 becomes the
   visual destination. No other section or site-wide rule is touched. */
@media (min-width: 761px) {
  .home-editorial .hm-care-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 34px;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
    min-height: 0;
    padding: 26px 0 18px;
    margin: 0;
    border: 0;
    border-top: 1px solid #bcbfb6;
    background: transparent;
    box-shadow: none;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 18px;
    padding: 0;
    width: 100%;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label > span {
    font-size: clamp(27px, 2.8vw, 36px);
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label h3 {
    font-size: clamp(15px, 1.6vw, 19px);
    line-height: 1.55;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) img {
    display: block;
    width: min(100%, 225px);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    margin: 0 auto 14px;
    mix-blend-mode: multiply;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) > p {
    font-size: 13px;
    line-height: 1.95;
    margin: auto 0 0;
  }
  /* One large visual, not one more bordered card. */
  .home-editorial .hm-care-steps > li.hm-practice-focus {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.06fr);
    grid-template-rows: 1fr auto;
    column-gap: 6%;
    align-items: center;
    min-width: 0;
    min-height: 0;
    margin: 4px 0 0;
    padding: clamp(34px, 5.3vw, 70px);
    border: 0;
    background: #e0e5db;
    box-shadow: none;
    position: relative;
    overflow: hidden;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus::before {
    content: '';
    display: block;
    position: absolute;
    width: 58px;
    height: 2px;
    top: 0;
    left: clamp(34px, 5.3vw, 70px);
    background: #80674d;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus .hm-step-label {
    display: block;
    grid-column: 1;
    grid-row: 1;
    margin: 0;
    align-self: end;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus .hm-step-label > span {
    display: block;
    font-size: clamp(45px, 5vw, 68px);
    line-height: 1.15;
    margin-bottom: 18px;
    color: #80674d;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus .hm-step-label h3 {
    font-size: clamp(25px, 2.8vw, 36px);
    line-height: 1.5;
    color: #2c3d34;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus > img {
    grid-column: 2;
    grid-row: 1 / 3;
    width: 100%;
    max-width: 430px;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    justify-self: center;
    margin: 0;
    mix-blend-mode: multiply;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus > p {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    max-width: 35em;
    margin: 28px 0 0;
    color: #455147;
    font-size: 15px;
    line-height: 2.05;
  }
}
@media (min-width: 761px) and (max-width: 940px) {
  .home-editorial .hm-care-steps { gap: 22px; }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label { gap: 8px; }
  .home-editorial .hm-care-steps > li.hm-practice-focus { column-gap: 4%; }
}
@media (max-width: 760px) {
  .home-editorial .hm-care-steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus),
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus):nth-child(even) {
    display: grid;
    grid-template-columns: minmax(88px, 30%) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 17px;
    align-items: start;
    min-width: 0;
    min-height: 0;
    padding: 23px 0 26px;
    margin: 0;
    border: 0;
    border-top: 1px solid #c7c9c1;
    background: transparent;
    box-shadow: none;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    align-items: baseline;
    margin: 0 0 8px;
    padding: 0;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label > span { font-size: 25px; }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) .hm-step-label h3 {
    font-size: clamp(15px, 4vw, 17px);
    line-height: 1.5;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) img {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    margin: 0;
    mix-blend-mode: multiply;
  }
  .home-editorial .hm-care-steps > li:not(.hm-practice-focus) > p {
    grid-column: 2;
    grid-row: 2;
    font-size: 12px;
    line-height: 1.85;
    margin: 0;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 16px -12px 0;
    padding: 30px 25px 28px;
    border: 0;
    background: #e0e5db;
    box-shadow: none;
    position: relative;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus::before {
    content: '';
    position: absolute;
    top: 0;
    left: 25px;
    height: 2px;
    width: 42px;
    background: #80674d;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus .hm-step-label {
    display: flex;
    align-items: baseline;
    gap: 13px;
    margin: 0;
    padding: 0;
    order: 1;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus .hm-step-label > span {
    font-size: 43px;
    color: #80674d;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus .hm-step-label h3 {
    font-size: clamp(20px, 5.6vw, 25px);
    color: #2c3d34;
    line-height: 1.5;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus img {
    display: block;
    order: 2;
    align-self: center;
    width: min(100%, 295px);
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    margin: 10px 0 4px;
    mix-blend-mode: multiply;
  }
  .home-editorial .hm-care-steps > li.hm-practice-focus > p {
    order: 3;
    max-width: 30em;
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 2.05;
    color: #455147;
  }
}

/* Fix F — only the booking heading and the clinic photograph (mobile). */
@media (max-width:760px) {
  /* Whole room should remain visible without cropping or edge-to-edge overflow. */
  .home-editorial .hm-clinic .hm-room {
    margin-inline: 0;
  }
  .home-editorial .hm-clinic .hm-room img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
  }
  /* Keep the two intended Japanese lines intact on 360–430px displays. */
  .home-editorial .hm-contact h2 {
    font-size: clamp(25px, 6.8vw, 30px);
    letter-spacing: -0.04em;
    line-height: 1.65;
  }
}

/* Fix G — mobile headings only; all non-heading layouts unchanged.
   Avoid isolated Japanese particles and unintentional intra-word wraps. */
@media (max-width: 760px) {
  .home-editorial .hm-worries h2 {
    font-size: clamp(30px, 7.7vw, 39px);
    letter-spacing: -0.055em;
    overflow-wrap: normal;
  }
  .home-editorial .hm-price h2 {
    font-size: clamp(26px, 7vw, 32px);
    letter-spacing: -0.055em;
    overflow-wrap: normal;
  }
  .home-editorial .hm-first h2 {
    font-size: clamp(29px, 7.6vw, 37px);
    overflow-wrap: normal;
  }
}

/* Copy update H: the worries section alone receives a short benefit narrative. */
.home-editorial .hm-worries .hm-worry-message p {font-size:14px;line-height:2.05;color:#60655f;margin:0 0 13px;}
.home-editorial .hm-worries .hm-worry-message p:last-child {margin-bottom:0;}
.home-editorial .hm-worries .hm-worry-message strong {font-weight:600;color:#3a453d;}
@media (max-width:760px) {
  .home-editorial .hm-worries .hm-worry-message p {font-size:13px;line-height:2.05;}
  .home-editorial .hm-visits h3 {overflow-wrap:normal;}
}

/* Information refinement I — narrowly scoped layout and hierarchy; no global redesign. */
/* Concern → insight → our response: visible without tiny grey essay. */
.home-editorial .hm-worries .hm-worry-list{margin-bottom:28px;}
.home-editorial .hm-worries .hm-worry-message{border-left:3px solid #9b806a;padding:5px 0 5px 22px;}
.home-editorial .hm-worries .hm-worry-message p{margin:0;font-size:clamp(15px,1.2vw,17px);line-height:1.88;color:#38463d;font-weight:400;}
.home-editorial .hm-worries .hm-worry-message .hm-worry-insight strong{font-weight:700;color:#283b30;}
.home-editorial .hm-worries .hm-worry-message .hm-worry-answer{font-weight:700;color:#2c4034;margin-top:18px;}
/* The worked example belongs to the process, visually linked to step 04. */

/* 50 minutes: coherent list, not a lonely small note. */
.home-editorial .hm-price-included{display:grid;gap:0;border-left:0;margin:34px 0 18px;padding:0;line-height:1.6;}
.home-editorial .hm-price-included span{display:block;padding:13px 0 13px 25px;border-left:2px solid #b59b82;border-bottom:1px solid #d8d5ca;font-size:15px;font-weight:600;color:#404b40;}
.home-editorial .hm-price-included span:last-child{border-bottom:0;}
/* Financial transparency is a benefit, but not a sales promise. */
.home-editorial .hm-fee-policy{margin:19px 0 21px;padding:19px 20px;background:#e5e8dc;border-left:3px solid #728574;}
.home-editorial .hm-fee-policy p{margin:0;color:#5f665f;font-size:12px;line-height:1.8;}
.home-editorial .hm-fee-policy .hm-fee-policy-main{font-weight:700;font-size:15px;color:#334638;margin-bottom:6px;}
/* Reading order: pricing closes, then visits begin as their own section. */
.home-editorial .hm-visits-heading{margin-top:108px;padding-top:45px;border-top:1px solid #c6c4b9;}
.home-editorial .hm-visits-heading .hm-eyebrow{margin-bottom:13px;}
.home-editorial .hm-visits-heading h2{font-size:clamp(29px,2.9vw,38px);line-height:1.45;margin:0;font-weight:500;}
.home-editorial .hm-visits{margin-top:36px;padding-top:0;border-top:0;}
@media(max-width:760px){
 .home-editorial .hm-worries .hm-worry-message{padding-left:17px;}
 .home-editorial .hm-worries .hm-worry-message p{font-size:15px;line-height:1.82;}
 .home-editorial .hm-worries .hm-worry-message .hm-worry-answer{margin-top:16px;}

 .home-editorial .hm-price-included{margin:25px 0 17px;}
 .home-editorial .hm-price-included span{padding:11px 0 11px 18px;font-size:14px;}
 .home-editorial .hm-fee-policy{padding:17px 18px;margin:21px 0;}
 .home-editorial .hm-visits-heading{margin-top:76px;padding-top:35px;}
 .home-editorial .hm-visits-heading h2{font-size:30px;}
 .home-editorial .hm-visits{margin-top:12px;padding-top:0;}
}


/* Refinement K — worked example is a stand-alone, typographic conclusion to all four steps.
   Step 04 is unchanged. The note has NO tinted box, frame, label, or ornamental line.
   PC: editorial left headline / right explanation. Mobile: stacked reading order. */
@media (min-width: 761px) {
  .home-editorial .hm-care-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 10%;
    row-gap: 20px;
    align-items: start;
    width: 100%;
    max-width: none;
    margin: clamp(65px, 7vw, 105px) 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .home-editorial .hm-care-note::before,
  .home-editorial .hm-care-note::after { content: none; display: none; }
  .home-editorial .hm-care-note h3 {
    grid-column: 1;
    grid-row: 1 / span 2;
    margin: 0;
    font: 500 clamp(30px, 3.2vw, 45px) / 1.65 "Noto Serif JP", serif;
    letter-spacing: -.045em;
    color: #28372e;
    overflow-wrap: normal;
  }
  .home-editorial .hm-care-note > p:not([class]) {
    grid-column: 2;
    grid-row: 1;
    margin: 7px 0 0;
    font-size: clamp(15px, 1.18vw, 17px);
    line-height: 2.05;
    color: #39453c;
  }
  .home-editorial .hm-care-note .hm-small {
    grid-column: 2;
    grid-row: 2;
    margin: 0;
    font-size: 12px;
    line-height: 1.9;
    color: #6c7168;
  }
}
@media (max-width: 760px) {
  .home-editorial .hm-care-note {
    display: block;
    width: 100%;
    max-width: none;
    margin: 49px 0 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .home-editorial .hm-care-note::before,
  .home-editorial .hm-care-note::after { content: none; display: none; }
  .home-editorial .hm-care-note h3 {
    margin: 0 0 22px;
    font: 500 clamp(25px, 7vw, 32px) / 1.65 "Noto Serif JP", serif;
    letter-spacing: -.05em;
    color: #28372e;
    overflow-wrap: normal;
  }
  .home-editorial .hm-care-note > p:not([class]) {
    margin: 0;
    font-size: 15px;
    line-height: 1.95;
    color: #39453c;
  }
  .home-editorial .hm-care-note .hm-small {
    margin: 17px 0 0;
    font-size: 11px;
    line-height: 1.9;
    color: #6c7168;
  }
}

/* K line fix: remove the obsolete decorative short line above step 04. */
.home-editorial .hm-care-steps > li.hm-practice-focus::before {
  content: none;
  display: none;
}
