:root{--green:#078654;--deep:#07583d;--ink:#154b39;--cream:#f5f1e6;--paper:#fffdf8;--orange:#b9694c;--line:#ddd8cc;--muted:#64756d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.85 "Hiragino Sans","Yu Gothic",sans-serif;letter-spacing:.035em}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}a{color:inherit}header{height:78px;position:absolute;z-index:5;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,88px)}.logo{background:rgba(247,244,233,.96);padding:8px 13px;box-shadow:0 7px 25px rgba(4,58,38,.15)}.logo img{display:block;width:255px;mix-blend-mode:multiply}.header-info{display:flex;align-items:center;gap:20px;color:#fff;font-size:13px}.header-info a{padding:10px 22px;border:1px solid rgba(255,255,255,.7);border-radius:30px;text-decoration:none;background:rgba(7,134,84,.34)}.hero{height:800px;min-height:100svh;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url("./assets/kaijindou-hero.png") center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,81,52,.94),rgba(6,113,70,.72) 45%,rgba(7,134,84,.05) 76%)}.hero-content{position:relative;z-index:1;margin-left:clamp(24px,8.5vw,135px);padding-top:35px;max-width:650px}.label,.mini{color:#f0d79d;font-weight:700;font-size:14px;letter-spacing:.18em}.label:before,.mini:before{content:"";display:inline-block;width:30px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.hero h1{font-size:clamp(51px,5.7vw,78px);line-height:1.35;font-weight:500;letter-spacing:.07em;margin:20px 0}.hero h1 em{font-style:normal;color:#f1d598}.lead{font-size:19px}.hero-points{display:flex;list-style:none;padding:0;margin:28px 0;max-width:555px;background:rgba(255,253,248,.94);color:var(--ink)}.hero-points li{flex:1;padding:11px 17px;border-left:1px solid var(--line)}.hero-points li:first-child{border:0}.hero-points b{display:block;font-family:"Yu Mincho",serif;font-size:18px}.hero-points span{font-size:11px}.cta{display:inline-flex;min-width:365px;flex-direction:column;align-items:center;background:var(--orange);color:#fff;text-decoration:none;padding:16px 30px;box-shadow:0 12px 25px rgba(0,0,0,.18)}.cta b{font-size:18px}.cta small{font-size:11px}.keyword-nav{min-height:80px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0;background:var(--cream)}.keyword-nav span{padding:4px 25px;border-left:1px solid var(--line);font-size:13px;font-weight:700}.keyword-nav span:first-child{border:0}.section-space{padding:105px clamp(24px,8vw,120px)}.heading{text-align:center;margin-bottom:55px}.heading>p{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.2em}.heading h2{font-size:clamp(34px,3.7vw,50px);line-height:1.5;font-weight:500}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.choice-grid article{border-top:4px solid var(--green);background:var(--cream);padding:34px 30px}.choice-grid span{color:var(--green);font:16px Georgia,serif}.choice-grid h3{font-size:22px;margin:18px 0 10px}.choice-grid p{color:var(--muted);font-size:15px;margin:0}.comparison{background:var(--deep);color:#fff}.heading.light>p{color:#f0d79d}.compare-card{max-width:900px;margin:auto;background:#fff;color:var(--ink)}.compare-head,.compare-row{display:grid;grid-template-columns:1fr 1fr}.compare-head span,.compare-head strong,.compare-row span,.compare-row strong{padding:17px 25px}.compare-head span{background:#e7e7e2}.compare-head strong{background:var(--green);color:#fff}.compare-row{border-bottom:1px solid var(--line)}.compare-row span{color:#758078}.compare-row strong{border-left:1px solid var(--line)}.compare-note{text-align:center;font-size:11px;color:#c9d9d2;margin:16px 0 0}.proof{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 400px;padding-left:0;padding-right:0;gap:70px;align-items:center}.proof-copy .mini{color:var(--green)}.proof h2{font-size:40px;line-height:1.5}.proof h3{font-size:26px;margin-top:28px}.proof p{color:var(--muted)}.proof ul{padding-left:1.2em}.proof>img{width:100%;height:540px;object-fit:cover;box-shadow:18px 18px 0 var(--cream)}.dummy{color:#7d8782}.process{background:var(--cream)}.process-grid{max-width:980px;margin:auto;display:grid;grid-template-columns:1fr 1fr;background:#fff}.process-photo{position:relative}.process-photo img{width:100%;height:100%;object-fit:cover;display:block}.process-photo small,.shop small{position:absolute;left:12px;bottom:10px;background:rgba(255,255,255,.9);padding:4px 8px;font-size:9px}.process ol{list-style:none;margin:0;padding:30px 38px}.process li{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.process li>b{flex:0 0 38px;height:38px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}.process li h3{font-size:19px;margin:1px 0 4px}.process li p{font-size:14px;color:var(--muted);margin:0}.herb-cut{display:flex;max-width:980px;margin:20px auto 0;background:#fff}.herb-cut img{width:38%;height:190px;object-fit:cover}.herb-cut p{display:flex;flex-direction:column;justify-content:center;padding:24px 35px;margin:0}.herb-cut span{font-size:11px;color:var(--green);font-weight:700}.herb-cut b{font:22px/1.6 "Yu Mincho",serif}.herb-cut small{color:var(--muted)}.access{max-width:1060px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.shop{position:relative}.shop img{display:block;width:100%;height:440px;object-fit:cover}.access-copy .mini{color:var(--green)}.access-copy h2{font-size:38px;line-height:1.45}.access dl>div{display:grid;grid-template-columns:80px 1fr;border-top:1px solid var(--line);padding:10px 0}.access dt{font-size:12px;font-weight:bold}.access dd{margin:0;font-size:14px}.map{display:block;background:var(--green);color:#fff;text-decoration:none;padding:13px 18px;margin-top:22px;text-align:center}.final{text-align:center;background:#e2f0e8}.final>p:first-child{color:var(--green);font-weight:bold}.final h2{font-size:44px;line-height:1.5}.final-actions{display:flex;justify-content:center;gap:15px;margin-top:30px}.tel{background:#fff;min-width:300px;text-decoration:none;padding:10px 25px;display:flex;flex-direction:column;justify-content:center}.tel small,.tel span{font-size:11px}.tel b{font:25px Georgia,serif}.legal{max-width:820px;margin:30px auto 0;text-align:left;font-size:11px;color:#63716b}footer{background:var(--deep);color:#fff;text-align:center;padding:50px 20px;font-size:12px}footer img{width:285px;background:var(--cream);padding:9px 13px;mix-blend-mode:normal}.sticky{display:none}
@media(max-width:800px){header{height:66px;padding:0 16px}.logo{padding:6px 9px}.logo img{width:185px}.header-info span{display:none}.header-info a{font-size:11px;padding:7px 12px}.hero{min-height:760px;height:92svh;align-items:end;padding-bottom:90px}.hero-photo{background-position:65% center}.hero-shade{background:linear-gradient(0deg,rgba(4,78,52,.96),rgba(6,112,70,.77) 55%,rgba(7,134,84,.04) 90%)}.hero-content{margin:0;padding:0 21px;max-width:none}.label{font-size:12px}.hero h1{font-size:41px;margin:13px 0}.lead{font-size:14px}.hero-points{margin:18px 0}.hero-points li{padding:8px 7px}.hero-points b{font-size:14px}.hero-points span{font-size:9px}.cta{min-width:0;width:100%}.keyword-nav{padding:14px 10px}.keyword-nav span{width:33.333%;text-align:center;padding:4px;font-size:10px}.section-space{padding:76px 21px}.heading{margin-bottom:38px}.heading h2{font-size:31px}.choice-grid{grid-template-columns:1fr}.compare-head span,.compare-head strong,.compare-row span,.compare-row strong{padding:13px 11px;font-size:12px}.proof{grid-template-columns:1fr;padding:75px 21px;gap:30px}.proof h2{font-size:31px}.proof>img{height:430px;grid-row:1}.process-grid{grid-template-columns:1fr}.process-photo img{height:230px}.process ol{padding:20px 23px}.herb-cut{display:block}.herb-cut img{width:100%;height:180px}.herb-cut p{padding:20px}.access{grid-template-columns:1fr;padding:76px 21px;gap:30px}.shop img{height:320px}.access-copy h2{font-size:31px}.final h2{font-size:34px}.final-actions{flex-direction:column}.tel{min-width:0}.sticky{display:flex;position:fixed;z-index:20;left:14px;right:14px;bottom:12px;height:56px;align-items:center;justify-content:center;background:var(--orange);color:#fff;text-decoration:none;font-weight:bold;box-shadow:0 10px 28px rgba(0,0,0,.25)}.sticky span{position:absolute;right:20px;font-size:24px}footer{padding-bottom:95px}}
footer img{mix-blend-mode:multiply}

/* 検討を後押しする患者さまの声・途中CTA・FAQ */
.voice{background:var(--paper)}.voice-card{max-width:960px;margin:auto;display:grid;grid-template-columns:270px 1fr;border:1px solid var(--line);box-shadow:0 16px 45px rgba(7,88,61,.1)}.voice-profile{background:var(--green);color:#fff;padding:40px 35px;display:flex;flex-direction:column;justify-content:center}.voice-profile span{font:42px/1.2 "Yu Mincho",serif}.voice-profile b{font-size:16px;margin-bottom:32px}.voice-profile small{font-size:11px;color:#d6eee2}.voice-profile strong{font-size:15px;line-height:1.7}.voice-copy{position:relative;padding:45px 52px;background:#fff}.voice-copy .quote{position:absolute;top:16px;left:25px;font:90px/1 Georgia,serif;color:#dcebe3}.voice-copy blockquote{position:relative;margin:0;font:23px/1.9 "Yu Mincho",serif}.voice-copy p{margin:20px 0 0;color:#7a8580;font-size:11px}.mid-cta{max-width:960px;margin:22px auto 0;padding:25px 30px;background:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:28px}.mid-cta p{margin:0}.mid-cta p b,.mid-cta p span{display:block}.mid-cta p b{font-family:"Yu Mincho",serif;font-size:18px}.mid-cta p span{font-size:13px;color:var(--muted)}.mid-cta>a{flex:0 0 270px;background:var(--orange);color:#fff;text-align:center;text-decoration:none;padding:14px 18px;font-weight:700}.mid-cta>a span{float:right}.faq{background:var(--cream)}.faq-list{max-width:900px;margin:auto}.faq details{background:#fff;border-bottom:1px solid var(--line)}.faq summary{position:relative;cursor:pointer;list-style:none;padding:22px 58px 22px 70px;font-family:"Yu Mincho",serif;font-size:18px}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"Q";position:absolute;left:25px;top:18px;color:var(--green);font:25px Georgia,serif}.faq summary:after{content:"＋";position:absolute;right:24px;color:var(--green);font-family:sans-serif}.faq details[open] summary:after{content:"−"}.faq details p{margin:0;padding:0 58px 23px 70px;color:var(--muted);font-size:14px}.faq details p:before{content:"A";display:inline-block;margin-left:-44px;margin-right:28px;color:var(--orange);font:20px Georgia,serif}
@media(max-width:800px){.voice-card{grid-template-columns:1fr}.voice-profile{padding:25px}.voice-profile span{font-size:32px}.voice-profile b{margin-bottom:16px}.voice-copy{padding:38px 25px}.voice-copy blockquote{font-size:19px}.mid-cta{align-items:stretch;flex-direction:column;padding:23px}.mid-cta>a{flex:0 0 auto;width:100%}.faq summary{padding:19px 45px 19px 53px;font-size:16px}.faq summary:before{left:18px;top:17px;font-size:21px}.faq summary:after{right:16px}.faq details p{padding:0 21px 20px 53px;font-size:13px}.faq details p:before{margin-left:-35px;margin-right:20px}}
footer img{mix-blend-mode:normal;background:#fff;border-radius:2px}footer nav{display:flex;justify-content:center;gap:28px;margin:20px 0}footer nav a{color:#fff;text-underline-offset:4px}

/* ゴシック体の可読性とヒーロー見出しの2行固定 */
body{font-size:17px}.hero h1{font-size:clamp(46px,5vw,68px)}.hero-line{display:block;white-space:nowrap}.header-info{font-size:14px}.label,.mini{font-size:15px}.lead{font-size:20px}.hero-points span{font-size:12px}.cta small{font-size:12px}.keyword-nav span{font-size:14px}.choice-grid p{font-size:16px}.compare-head,.compare-row{font-size:16px}.proof p,.proof li{font-size:16px}.process li p{font-size:15px}.herb-cut small{font-size:14px}.access dt{font-size:13px}.access dd{font-size:15px}.map{font-size:16px}.voice-profile small{font-size:12px}.voice-profile strong{font-size:16px}.voice-copy p{font-size:12px}.mid-cta p span{font-size:14px}.faq details p{font-size:15px}.legal{font-size:12px}footer{font-size:13px}
@media(max-width:800px){body{font-size:16px}.hero h1{font-size:clamp(33px,10.2vw,39px);letter-spacing:.035em}.label{font-size:13px}.lead{font-size:15px}.hero-points span{font-size:10px}.keyword-nav span{font-size:11px}.choice-grid p{font-size:15px}.compare-head,.compare-row{font-size:13px}.faq details p{font-size:14px}}

/* SP固定CTA：WEB予約＋電話 */
.sticky-actions{display:none}
@media(max-width:800px){.sticky{display:none!important}.sticky-actions{position:fixed;z-index:30;left:10px;right:10px;bottom:10px;height:62px;display:grid;grid-template-columns:1.15fr .85fr;gap:6px;filter:drop-shadow(0 9px 20px rgba(0,0,0,.25))}.sticky-actions a{position:relative;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.25;border-radius:3px}.sticky-actions small{font-size:9px;font-weight:400}.sticky-actions b{font-size:16px}.sticky-web{background:var(--orange)}.sticky-tel{background:var(--green)}.sticky-web>span{position:absolute;right:14px;font-size:24px;top:17px}.sticky-tel>span{position:absolute;left:13px;font-size:17px;top:21px}footer{padding-bottom:105px}}

/* 初回相談セクション：横長の相談画像を自然に見せる */
.process-grid{grid-template-columns:1.08fr 1fr}
.process-photo img{min-height:470px;object-position:61% center}
@media(max-width:800px){.process-photo img{height:255px;min-height:0;object-position:58% center}}
