@charset "utf-8";
/* Top-page body only. Shared header, footer, menu, TOP and fixed LINE remain untouched. */
.home-page{--hm-ink:#40372f;--hm-brown:#80654f;--hm-muted:#756b61;--hm-line:#dcd3c8;--hm-cream:#f7f4ee;--hm-sand:#eae2d7;color:var(--hm-ink);font-family:"Noto Sans JP",sans-serif;font-size:16px;font-weight:400;line-height:1.95;padding-top:80px;user-select:text}
.home-page *{box-sizing:border-box;min-width:0}
.home-page :is(h1,h2,h3,p,figure,ul,ol){margin:0}
.home-page section{overflow:visible;padding:0}
.home-page :is(ul,ol){list-style:none;padding:0}
.home-page li{margin:0}
.home-page h1,.home-page h2{font-family:"Noto Serif JP",serif;font-weight:600;letter-spacing:.025em;color:var(--hm-ink);text-wrap:balance}
.home-page h1{font-size:clamp(32px,3.45vw,48px);line-height:1.65}
.home-page h2{display:block;position:static;padding:0;margin:0 0 28px;font-size:clamp(29px,2.7vw,38px);line-height:1.65;background:none;border:0}
.home-page h2::before,.home-page h2::after{content:none}
.home-page h3{font-family:"Noto Sans JP",sans-serif;font-size:19px;font-weight:700;line-height:1.8;color:var(--hm-ink);letter-spacing:.015em;margin-bottom:14px}
.home-page p+p{margin-top:20px}
.home-page a{color:inherit;text-underline-offset:6px;overflow-wrap:anywhere}
.home-page :is(a,summary):focus-visible{outline:3px solid var(--hm-brown);outline-offset:6px}
.home-page img{display:block;width:100%;height:auto}
.home-page [id]{scroll-margin-top:40px}
.home-page .hm-wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}
.home-page .hm-section{padding:94px 0}
.home-page .hm-eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.7;color:var(--hm-brown);margin-bottom:22px}
.home-page .hm-label{font-size:12px;font-weight:700;letter-spacing:.07em;color:var(--hm-brown);margin-bottom:13px}
.home-page .hm-muted{color:var(--hm-muted);font-size:14px}
.home-page .hm-small{font-size:12px;line-height:1.9;color:var(--hm-muted);margin-top:20px}
.home-page .hm-micro{font-size:11px;line-height:1.9;color:var(--hm-muted)}
.home-page .hm-sp-br{display:none}
.home-page .hm-text-link{display:inline-block;font-size:14px;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;line-height:1.6}
.home-page .hm-text-link:hover{color:var(--hm-brown);border-bottom-color:transparent}
.home-page .hm-line{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:57px;padding:14px 28px;background:#168344;color:#fff;text-decoration:none;font-size:15px;font-weight:700;line-height:1.6;border-radius:5px;transition:background .2s,transform .2s}
.home-page .hm-line i{font-size:25px}
.home-page .hm-line:hover{background:#106b36;transform:translateY(-2px)}
.home-page .hm-hero{background:linear-gradient(115deg,#fbf8f2,#f2eadd);padding:52px 0 0}
.home-page .hm-hero-inner{width:min(1160px,calc(100% - 96px));margin:auto;display:grid;grid-template-columns:1.17fr .83fr;grid-template-rows:auto auto;column-gap:46px;align-items:center}
.home-page .hm-hero-copy{grid-column:1;grid-row:1;padding-top:12px}
.home-page .hm-hero-copy .hm-eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:24px}
.home-page h1 em{display:block;color:var(--hm-brown);font-style:normal;margin-top:13px}
.home-page .hm-hero-lead{font-size:15px;line-height:2;margin-top:26px;max-width:550px}
.home-page .hm-hero-art{grid-column:2;grid-row:1 / 3;align-self:end;max-width:430px;width:100%;margin:0 auto}
.home-page .hm-hero-art img{max-height:620px;object-fit:contain;object-position:center bottom}
.home-page .hm-hero-book{grid-column:1;grid-row:2;padding:30px 0 40px}
.home-page .hm-hero-price{font-size:13px;line-height:1.6}
.home-page .hm-hero-price strong{font-size:32px;font-weight:700;letter-spacing:-.03em;margin:0 4px}
.home-page .hm-hero-price span{font-size:11px;margin-left:5px}
.home-page .hm-included{font-size:11px;color:var(--hm-muted);margin-top:7px;line-height:1.8}
.home-page .hm-hero-actions{display:flex;align-items:center;gap:28px;margin:18px 0 10px}
.home-page .hm-hero-actions .hm-line{min-width:266px}
.home-page .hm-hero-bottom{border-top:1px solid #d9d0c3;max-width:1160px;width:calc(100% - 96px);margin:auto;padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--hm-brown)}
.home-page .hm-hero-bottom a{text-decoration:none;white-space:nowrap}
.home-page .hm-hero-bottom a span{margin-left:16px}
.home-page .hm-trust{display:flex;justify-content:center;gap:0;padding:26px 32px;background:#fff;font-size:12px;font-weight:500;letter-spacing:.035em}
.home-page .hm-trust>span{padding:0 35px;border-right:1px solid var(--hm-line)}
.home-page .hm-trust>span:last-child{border:0}
.home-page .hm-worries{background:var(--hm-cream)}
.home-page .hm-worry-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:start}
.home-page .hm-worry-list{margin-bottom:24px}
.home-page .hm-worry-list li{padding:15px 0;border-bottom:1px solid var(--hm-line);font-weight:500;font-size:17px}
.home-page .hm-worry-list li:first-child{padding-top:0}
.home-page .hm-worries .hm-text-link{margin-top:25px}
.home-page .hm-section-head{max-width:850px;margin:0 auto 54px;text-align:center}
.home-page .hm-section-head>p:last-child{color:var(--hm-muted);font-size:15px}
.home-page .hm-care-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.home-page .hm-step-label{display:flex;gap:13px;align-items:center;padding:0 0 14px;border-bottom:1px solid var(--hm-line)}
.home-page .hm-step-label>span{font-family:"Noto Serif JP",serif;font-size:26px;color:#a48c76}
.home-page .hm-step-label h3{font-size:17px;margin:0;letter-spacing:0}
.home-page .hm-care-steps img{margin:18px 0 20px;aspect-ratio:1;object-fit:contain}
.home-page .hm-care-steps li>p{font-size:14px;line-height:1.95}
.home-page .hm-care-note{margin:55px auto 0;padding:35px 42px;background:var(--hm-cream);max-width:900px;border-left:2px solid #b89c83}
.home-page .hm-care-note h3{font-size:22px}
.home-page .hm-care-note>p:not([class]){font-size:14px}
.home-page .hm-symptoms{background:var(--hm-cream)}
.home-page .hm-symptom-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.home-page .hm-symptom-layout>div>p:not([class]){font-size:14px;color:var(--hm-muted)}
.home-page .hm-symptom-layout .hm-text-link{margin-top:28px}
.home-page .hm-symptom-links{display:grid;grid-template-columns:1fr 1fr;gap:10px 38px}
.home-page .hm-symptom-links>a{display:flex;flex-direction:column;gap:5px;border-bottom:1px solid var(--hm-line);padding:15px 0 20px;text-decoration:none}
.home-page .hm-symptom-links>a span{font-size:11px;color:var(--hm-muted)}
.home-page .hm-symptom-links>a strong{font-size:20px;letter-spacing:.03em;font-weight:500}
.home-page .hm-symptom-links>a:hover strong{color:var(--hm-brown)}
.home-page .hm-other-symptoms{grid-column:1/-1;display:flex;gap:12px 23px;flex-wrap:wrap;font-size:12px;margin-top:22px}
.home-page .hm-director-layout{display:grid;grid-template-columns:.675fr 1.325fr;gap:80px;align-items:start}
.home-page .hm-director-photo{width:100%;justify-self:center;margin-top:8px}
.home-page .hm-director-photo img{aspect-ratio:4/5;object-fit:cover;object-position:center center;filter:brightness(1.035) saturate(.94)}
.home-page .hm-director-photo figcaption{font-size:11px;color:var(--hm-muted);margin-top:15px}
.home-page .hm-director-copy h2{font-size:32px}
.home-page .hm-director-lead{font-size:18px;font-weight:500;margin-bottom:25px}
.home-page .hm-director-copy>p:not([class]){font-size:14px}
.home-page .hm-director-copy .hm-text-link{margin-top:28px}
.home-page .hm-price{background:var(--hm-cream)}
.home-page .hm-price-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.home-page .hm-price-layout>div>p:not([class]){font-size:14px}
.home-page .hm-price-included{font-size:17px;font-weight:500;line-height:2.1;margin-top:30px;padding-left:22px;border-left:2px solid #ac8c72}
.home-page .hm-price-table>div{padding:25px 0;border-bottom:1px solid var(--hm-line)}
.home-page .hm-price-table>div:first-child{padding-top:0}
.home-page .hm-price-table h3{font-size:15px;font-weight:500}
.home-page .hm-price-table p{line-height:1.5}
.home-page .hm-price-table strong{font-size:49px;letter-spacing:-.04em;font-weight:500}
.home-page .hm-price-table span{font-size:12px;margin-left:9px;display:inline-block}
.home-page .hm-price-table>div:nth-child(2) strong{font-size:35px}
.home-page .hm-price-table .hm-small{margin-top:12px;font-size:11px}
.home-page .hm-payments{margin-top:27px;font-size:12px}
.home-page .hm-payments>strong{font-size:13px}
.home-page .hm-payments summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:11px;margin-top:12px}
.home-page .hm-payments details>p{font-size:11px;margin-top:10px}
.home-page .hm-price-cta{margin-top:28px;width:100%}
.home-page .hm-visits{display:grid;grid-template-columns:1fr 1fr;gap:75px;margin-top:60px;padding-top:35px;border-top:1px solid var(--hm-line)}
.home-page .hm-visits h3{font-size:22px}
.home-page .hm-visits p:not([class]){font-size:14px}
.home-page .hm-first-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px}
.home-page .hm-first-layout>div>p:not([class]){font-size:14px;color:var(--hm-muted)}
.home-page .hm-first-layout .hm-text-link{margin-top:28px}
.home-page .hm-first-list li{display:grid;grid-template-columns:32px 1fr;gap:25px;border-bottom:1px solid var(--hm-line);padding:25px 0}
.home-page .hm-first-list li:first-child{padding-top:0}
.home-page .hm-first-list li>span{font-size:20px;font-family:"Noto Serif JP",serif;color:#a48c76}
.home-page .hm-first-list h3{font-size:16px;margin-bottom:10px}
.home-page .hm-first-list p{font-size:13px}
.home-page .hm-faq{background:var(--hm-cream)}
.home-page .hm-faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}
.home-page .hm-questions details{border-top:1px solid var(--hm-line)}
.home-page .hm-questions summary{font-size:15px;font-weight:500;line-height:1.8;padding:22px 0;cursor:pointer}
.home-page .hm-questions details>p{font-size:14px;padding:0 0 24px}
.home-page .hm-medical{margin-top:35px;padding:24px 26px;background:#eee7dc}
.home-page .hm-medical h3{font-size:15px;margin-bottom:10px}
.home-page .hm-medical p{font-size:12px}
.home-page .hm-clinic-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:36px}
.home-page .hm-clinic-heading h2{margin:0}
.home-page .hm-clinic-heading>p{font-size:14px;color:var(--hm-muted)}
.home-page .hm-room img{aspect-ratio:auto;height:auto;object-fit:contain;object-position:center;filter:none}
.home-page .hm-clinic-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:24px;font-size:12px;color:var(--hm-muted)}
.home-page .hm-clinic-bottom .hm-text-link{font-size:12px}
.home-page .hm-contact{background:var(--hm-sand)}
.home-page .hm-contact-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:start}
.home-page .hm-contact h2{font-size:33px}
.home-page .hm-contact-layout>div>p:not([class]){font-size:14px}
.home-page .hm-reserve-price{font-size:15px;margin:30px 0 18px}
.home-page .hm-reserve-price span{font-size:11px;display:inline-block}
.home-page .hm-contact .hm-line{width:100%;max-width:400px}
.home-page .hm-send{margin-top:25px;font-size:13px}
.home-page .hm-send strong{font-size:12px}
.home-page .hm-send p{margin-top:10px}
.home-page .hm-access{display:grid;grid-template-columns:145px 1fr;gap:25px;padding-top:7px}
.home-page .hm-access img{aspect-ratio:.8;object-fit:cover;object-position:center;filter:brightness(1.04) saturate(.94)}
.home-page .hm-access h3{font-size:17px}
.home-page .hm-access p{font-size:12px;line-height:1.95}
.home-page .hm-access p+p{margin-top:18px}
.home-page .hm-access .hm-text-link{font-size:12px;margin-top:22px}
.home-page .hm-news{padding:32px 0 45px;background:#fff}
.home-page .hm-news .hm-wrap{display:grid;grid-template-columns:120px 1fr auto;gap:30px;align-items:center}
.home-page .hm-news h2{font-family:"Noto Sans JP",sans-serif;font-size:15px;margin:0}
.home-page .hm-news a:not([class]){font-size:13px;text-decoration:none;display:flex;gap:30px;flex-wrap:wrap}
.home-page .hm-news time{font-size:11px;color:var(--hm-muted)}
.home-page .hm-news .hm-text-link{font-size:12px}
@media(max-width:1100px) and (min-width:761px){
.home-page .hm-hero-inner{column-gap:20px;grid-template-columns:1.25fr .75fr}
.home-page .hm-hero-actions{gap:16px}.home-page .hm-hero-actions .hm-line{min-width:220px}
.home-page .hm-hero-actions .hm-text-link{font-size:12px}
.home-page .hm-care-steps{grid-template-columns:1fr 1fr;gap:40px}
.home-page .hm-care-steps img{max-height:280px}
.home-page :is(.hm-worry-layout,.hm-symptom-layout,.hm-director-layout,.hm-price-layout,.hm-first-layout,.hm-faq-layout,.hm-contact-layout){gap:45px}
.home-page .hm-access{grid-template-columns:1fr}.home-page .hm-access figure{max-width:220px}
.home-page .hm-trust>span{padding:0 18px}
}
@media(max-width:760px){
.home-page{padding-top:70px;font-size:15px;line-height:1.95}
.home-page .hm-wrap{width:calc(100% - 40px)}
.home-page .hm-section{padding:56px 0}
.home-page h2{font-size:27px;line-height:1.7;margin-bottom:25px}
.home-page h3{text-wrap:balance}
.home-page .hm-eyebrow{font-size:10px;margin-bottom:18px;letter-spacing:.1em}
.home-page .hm-small{font-size:12px}
.home-page .hm-sp-br{display:initial}.home-page .hm-pc-br{display:none}
.home-page .hm-text-link{font-size:13px}
.home-page .hm-hero{padding:34px 0 0}
.home-page .hm-hero-inner{width:calc(100% - 40px);display:flex;flex-direction:column;gap:0;align-items:stretch}
.home-page .hm-hero-copy{padding:0}
.home-page .hm-hero-copy .hm-eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:23px}
.home-page h1{font-size:clamp(25px,7.3vw,32px);line-height:1.7;letter-spacing:.015em;text-wrap:initial}
.home-page h1 em{margin-top:12px}
.home-page .hm-hero-lead{font-size:14px;line-height:1.95;margin-top:24px;max-width:460px}
.home-page .hm-hero-book{order:2;padding:28px 0 10px}
.home-page .hm-hero-art{order:3;max-width:265px;width:70%;margin:22px auto 0}
.home-page .hm-hero-art img{max-height:350px}
.home-page .hm-hero-price{font-size:12px;text-align:center}
.home-page .hm-hero-price strong{font-size:31px}
.home-page .hm-included{font-size:11px;text-align:center;margin-top:8px}
.home-page .hm-hero-actions{flex-direction:column;gap:16px;margin:17px 0 14px}
.home-page .hm-hero-actions .hm-line{width:100%;min-height:55px}
.home-page .hm-hero-actions .hm-text-link{font-size:12px}
.home-page .hm-micro{font-size:12px;text-align:center}
.home-page .hm-hero-bottom{width:calc(100% - 40px);font-size:11px;padding:18px 0;justify-content:center}
.home-page .hm-hero-bottom>span{display:none}
.home-page .hm-trust{padding:22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;font-size:10px;text-align:center}
.home-page .hm-trust>span{padding:0;border:0}
.home-page .hm-trust>span:last-child{grid-column:1/-1}
.home-page :is(.hm-worry-layout,.hm-symptom-layout,.hm-director-layout,.hm-price-layout,.hm-first-layout,.hm-faq-layout,.hm-contact-layout){display:grid;grid-template-columns:1fr;gap:30px}
.home-page .hm-worry-list li{font-size:14px;padding:17px 0}
.home-page .hm-worries .hm-muted{font-size:13px}
.home-page .hm-section-head{text-align:left;margin:0 0 32px}
.home-page .hm-section-head>p:last-child{font-size:14px}
.home-page .hm-care-steps{grid-template-columns:1fr;gap:32px}
.home-page .hm-care-steps li{display:grid;grid-template-columns:135px 1fr;gap:12px 18px;align-items:center;padding-bottom:27px;border-bottom:1px solid var(--hm-line)}
.home-page .hm-step-label{grid-column:1/-1;padding:0;border:0;gap:12px}
.home-page .hm-step-label>span{font-size:24px}
.home-page .hm-step-label h3{font-size:17px}
.home-page .hm-care-steps img{margin:0;align-self:start}
.home-page .hm-care-steps li>p{font-size:13px;line-height:1.9}
.home-page .hm-care-note{padding:25px 23px;margin-top:32px}
.home-page .hm-care-note h3{font-size:19px}
.home-page .hm-care-note>p:not([class]){font-size:13px}
.home-page .hm-care-note .hm-small{font-size:11px}
.home-page .hm-symptom-links{gap:6px 22px}
.home-page .hm-symptom-links>a{padding:14px 0 17px}
.home-page .hm-symptom-links>a span{font-size:10px}
.home-page .hm-symptom-links>a strong{font-size:18px}
.home-page .hm-other-symptoms{font-size:12px;gap:13px 22px}
.home-page .hm-director-layout{gap:30px}
.home-page .hm-director-photo{max-width:280.5px;width:76.5%;margin:auto}
.home-page .hm-director-photo img{aspect-ratio:1.05;object-position:center center}
.home-page .hm-director-photo figcaption{font-size:10px}
.home-page .hm-director-copy h2{font-size:27px}
.home-page .hm-director-lead{font-size:17px}
.home-page .hm-price-layout{gap:35px}
.home-page .hm-price-included{font-size:16px;margin-top:25px}
.home-page .hm-price-table strong{font-size:44px}
.home-page .hm-price-table span{font-size:11px;margin-left:8px}
.home-page .hm-price-table>div:nth-child(2) strong{font-size:33px}
.home-page .hm-visits{grid-template-columns:1fr;gap:27px;margin-top:36px;padding-top:0;border:0}
.home-page .hm-visits>div:first-child{padding:25px;background:#eae2d7}
.home-page .hm-visits h3{font-size:20px}
.home-page .hm-visits>div:first-child h3{font-size:23px;letter-spacing:0}
.home-page .hm-visits p:not([class]){font-size:13px}
.home-page .hm-first-list li{gap:19px;padding:23px 0}
.home-page .hm-first-list h3{font-size:15px}
.home-page .hm-first-list p{font-size:13px}
.home-page .hm-questions summary{font-size:14px;padding:20px 0}
.home-page .hm-questions details>p{font-size:13px}
.home-page .hm-medical{padding:22px;margin-top:30px}
.home-page .hm-medical h3{font-size:14px}
.home-page .hm-clinic-heading{display:block;margin-bottom:28px}
.home-page .hm-clinic-heading>p{font-size:13px;margin-top:22px}
.home-page .hm-room img{aspect-ratio:auto;object-position:center}
.home-page .hm-clinic-bottom{display:block;font-size:11px;margin-top:18px}
.home-page .hm-clinic-bottom .hm-text-link{margin-top:14px}
.home-page .hm-contact h2{font-size:27px}
.home-page .hm-reserve-price{font-size:14px;margin-top:26px}
.home-page .hm-contact .hm-line{max-width:none;min-height:56px}
.home-page .hm-send{font-size:13px;padding-bottom:16px}
.home-page .hm-access{grid-template-columns:115px 1fr;gap:20px;padding-top:27px;border-top:1px solid #cfc2b2}
.home-page .hm-access h3{font-size:15px;margin-bottom:10px}
.home-page .hm-access p{font-size:11px}
.home-page .hm-access .hm-text-link{font-size:11px}
.home-page .hm-news{padding:28px 0 45px}
.home-page .hm-news .hm-wrap{grid-template-columns:1fr auto;gap:17px}
.home-page .hm-news h2{font-size:14px}
.home-page .hm-news a:not([class]){grid-column:1/-1;grid-row:2;font-size:12px;gap:12px}
.home-page .hm-news .hm-text-link{grid-column:2;grid-row:1;font-size:11px}
}
@media(max-width:370px){
.home-page .hm-care-steps li{grid-template-columns:115px 1fr;gap:12px}
.home-page .hm-access{grid-template-columns:1fr}
.home-page .hm-access figure{max-width:185px}
}
@media(prefers-reduced-motion:reduce){.home-page a{transition:none}.home-page .hm-line:hover{transform:none}}
/* Readable mobile copy and a tighter, factual portrait crop. */
@media(max-width:760px){
.home-page .hm-care-steps li>p{font-size:14px}
.home-page .hm-first-list p{font-size:14px}
.home-page .hm-questions details>p{font-size:14px}
.home-page .hm-director-copy>p:not([class]){font-size:15px}
}

/* Keep the approved two-line care heading intact on narrow phones. */
@media(max-width:760px){.home-page .hm-care h2,.home-page .hm-worries h2,.home-page .hm-contact h2{font-size:clamp(24px,6.5vw,27px);text-wrap:initial}}
/* トップページ：メインコピーの改行調整 */
.home-page .hm-hero-final-first,
.home-page .hm-hero-final-last {
  display: block;
}

.home-page .hm-hero-final-last {
  font-size: 0.88em;
  white-space: nowrap;
}