/* ==========================================================================
   N-NOSE plus 肝臓 LP — スタイルシート
   1) トークン（色 / 文字サイズ / 角丸 / 行間 / 影 / レイアウト）を :root に集約
   2) 以降は素のセレクタがトークンを参照する
   3) ブレークポイント: 600px(SP) / 760px / 860px / 1100px
   ========================================================================== */

:root{
  /* 色 */
--c-accent:#e5701b;
  --c-accent-a:#ef8b24;
  --c-accent-b:#df5e08;
  --c-accent-border:#e77c21;
  --c-accent-bright:#f39631;
  --c-accent-c:#df710e;
  --c-accent-d:#e77c15;
  --c-accent-deep:#e2701d;
  --c-accent-e:#c95005;
  --c-accent-hover:#f59d3d;
  --c-accent-hover-deep:#e87922;
  --c-accent-light:#f39732;
  --c-bar-1:#d4f3ff;
  --c-bar-2:#8dd8f2;
  --c-bar-3:#45b4dc;
  --c-bar-4:#249bc7;
  --c-bg-avatar:#ebf6fb;
  --c-bg-band:#e4f5fc;
  --c-bg-box:#f0faff;
  --c-bg-card2:#f9fcfe;
  --c-bg-chip:#f0f0f0;
  --c-bg-circle:#e0f3fc;
  --c-bg-cream:#f5faff;
  --c-bg-frame:#eaf6fc;
  --c-bg-grad:#f5fbfe;
  --c-bg-liver:#e6f7ff;
  --c-bg-liver2:#f5fbff;
  --c-bg-open:#f0f9fd;
  --c-bg-petri:#f3faff;
  --c-bg-photo:#f2f4f6;
  --c-bg-sage:#eef8fc;
  --c-bg-step:#edf8fd;
  --c-bg-visual:#e9f6fc;
  --c-black:#000;
  --c-brand:#00a3e0;
  --c-brand-dark:#007fad;
  --c-brand-deep:#006c99;
  --c-brand-eyebrow:#008dbf;
  --c-brand-ink:#007eb4;
  --c-brand-num:#008fc7;
  --c-brand-plus:#009cd6;
  --c-brand-shadow:#005b86;
  --c-brand-soft:#007fab;
  --c-brand-vivid:#009ad4;
  --c-chip-ink:#345767;
  --c-cta-x:#fff6e9;
  --c-ink:#243b4a;
  --c-ink-body:#292929;
  --c-ink-faint:#e2e2e2;
  --c-ink-strong:#333;
  --c-line:#d7e7ee;
  --c-line-blue:#b5dbe9;
  --c-line-card:#cce8f4;
  --c-line-chip:#d5eaf4;
  --c-line-circle:#bce5f5;
  --c-line-hero:#e4f0f6;
  --c-line-inner:#e3f1f7;
  --c-line-proof:#b9cfda;
  --c-line-quote:#dbe9ef;
  --c-line-quote2:#b7e3f4;
  --c-line-reason:#d9edf5;
  --c-line-soft:#e0edf4;
  --c-line-soft2:#d7eaf3;
  --c-line-step:#b9e4f5;
  --c-line-tag:#75bbd5;
  --c-marker:#fff34d;
  --c-muted:#577a8e;
  --c-muted-caption:#517b8e;
  --c-muted-copy:#527286;
  --c-muted-head:#52798e;
  --c-muted-light:#647b89;
  --c-muted-micro:#66818e;
  --c-muted-note:#6b8794;
  --c-muted-sign:#597482;
  --c-muted-soft:#617985;
  --c-navy:#092c43;
  --c-navy-2:#103f58;
  --c-navy-3:#061f35;
  --c-navy-5:#060848;
  --c-num-soft:#a8dbef;
  --c-white:#fff;
  /* 文字サイズ（Figma v2 準拠）。--fs-min を下回らない */
  --fs-min:12px;
--fs-7:max(var(--fs-min),7px);
  --fs-8:max(var(--fs-min),8px);
  --fs-9:max(var(--fs-min),9px);
  --fs-10:max(var(--fs-min),10px);
  --fs-11:max(var(--fs-min),11px);
  --fs-12:12px;
  --fs-13:13px;
  --fs-14:14px;
  --fs-15:15px;
  --fs-15-36:15.36px;
  --fs-15-56:15.56px;
  --fs-16:16px;
  --fs-17:17px;
  --fs-18:18px;
  --fs-18-43:18.43px;
  --fs-19:19px;
  --fs-19-88:19.88px;
  --fs-20:20px;
  --fs-20-9:20.9px;
  --fs-20-903:20.903px;
  --fs-21:21px;
  --fs-22:22px;
  --fs-23:23px;
  --fs-24:24px;
  --fs-25:25px;
  --fs-25-14:25.14px;
  --fs-26:26px;
  --fs-27:27px;
  --fs-27-63:27.63px;
  --fs-28:28px;
  --fs-29:29px;
  --fs-30:30px;
  --fs-31:31px;
  --fs-32:32px;
  --fs-34:34px;
  --fs-34-72:34.72px;
  --fs-35:35px;
  --fs-36:36px;
  --fs-38:38px;
  --fs-40:40px;
  --fs-47:47px;
  --fs-48:48px;
  --fs-50:50px;
  --fs-52:52px;
  --fs-54:54px;
  --fs-60:60px;
  --fs-68:68px;
  --fs-76:76px;
  /* 角丸 */
--r-xs:6px;
  --r-sm:8px;
  --r-md:10px;
  --r-ms:12px;
  --r-lg:14px;
  --r-xl:16px;
  --r-2xl:18px;
  --r-3xl:20px;
  --r-4xl:22px;
  --r-pill:76px;
  --r-pill-sm:90px;
  --r-pill-lg:94px;
  /* 行間 */
--lh-tight:1.4;
  /* 余白・レイアウト */
--container:1120px;
  /* 影 */
--sh-card:0 14px 17.5px rgba(0,91,134,.03);
  /* 余白 */
  --sp-2:2px;
  --sp-3:3px;
  --sp-4:4px;
  --sp-5:5px;
  --sp-6:6px;
  --sp-7:7px;
  --sp-8:8px;
  --sp-9:9px;
  --sp-10:10px;
  --sp-11:11px;
  --sp-12:12px;
  --sp-13:13px;
  --sp-14:14px;
  --sp-15:15px;
  --sp-16:16px;
  --sp-17:17px;
  --sp-18:18px;
  --sp-19:19px;
  --sp-20:20px;
  --sp-21:21px;
  --sp-22:22px;
  --sp-23:23px;
  --sp-24:24px;
  --sp-25:25px;
  --sp-26:26px;
  --sp-27:27px;
  --sp-28:28px;
  --sp-29:29px;
  --sp-30:30px;
  --sp-32:32px;
  --sp-34:34px;
  --sp-35:35px;
  --sp-40:40px;
  --sp-43:43px;
  --sp-45:45px;
  --sp-46:46px;
  --sp-50:50px;
  --sp-55:55px;
  --sp-56:56px;
  --sp-60:60px;
  --sp-62:62px;
  --sp-76:76px;
  --sp-105:105px;
  /* 行間 */
  --lh-tight:1.2;
  --lh-snug:1.4;
  --lh-normal:1.5;
  --lh-relaxed:1.6;
  --lh-heading:1.65;
  --lh-body:1.75;
  --lh-body-lg:1.8;
  --lh-loose:1.9;
  --lh-note:2.2;
}
:root{--green:var(--c-brand);--deep:var(--c-brand-shadow);--sage:var(--c-bg-sage);--cream:var(--c-bg-cream);--ink:var(--c-ink);--muted:#5c7381;--line:var(--c-line);--orange:var(--c-brand);--white:var(--c-white);--serif:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--sans:'Noto Sans JP',sans-serif}
*{box-sizing:border-box}
/* 文字サイズの下限（ブラウザ既定で小さくなる要素の保険） */
small,sub,sup{font-size:max(var(--fs-min),.8333em)}
html{scroll-behavior:smooth;scroll-padding-top:94px}
body{margin:0;background:var(--c-white);color:var(--ink);font-family:var(--sans);font-size:var(--fs-14);line-height:var(--lh-loose);-webkit-font-smoothing:antialiased}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
h1,h2,h3,p{margin-top:0}
h2{font-family:var(--serif);font-size:var(--fs-36);line-height:var(--lh-heading);letter-spacing:.06em;margin-bottom:var(--sp-27)}
h3{line-height:var(--lh-body)}
svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

/* --- レイアウト --- */
.container{width:min(1120px,calc(100% - 96px));margin:auto}
.section{padding:var(--sp-105) 0}

/* --- テキスト装飾 --- */
.center{text-align:center}
.micro{font-size:var(--fs-10);line-height:var(--lh-body-lg);color:var(--c-muted-light)}

/* --- ボタン --- */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--sp-24);padding:var(--sp-19) var(--sp-27);border:1px solid var(--green);font-size:var(--fs-13);letter-spacing:.025em;min-height:59px;border-radius:3px;text-align:center}
.button svg{flex-shrink:0;width:20px;height:20px}
.button.small{font-size:var(--fs-12);padding:var(--sp-13) var(--sp-20);min-height:44px;gap:var(--sp-20)}

/* --- ヘッダー --- */
.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.3%;gap:var(--sp-25);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--c-line)}
.brand{display:flex;align-items:center;white-space:nowrap}
.brand-organ{border-left:1px solid var(--c-line-blue);line-height:var(--lh-snug);font-family:var(--serif)}
.header nav{display:flex;gap:var(--sp-29);font-size:var(--fs-11)}
.header nav a:hover{color:var(--orange)}

/* --- モバイルメニュー --- */
.menu-toggle,.mobile-menu{display:none}

/* --- FV --- */
.hero{position:relative}
h1{font-family:var(--serif);font-size:var(--fs-54);line-height:1.53;font-weight:500;margin:0 0 var(--sp-23)}
.hero-note{margin:var(--sp-9) 0 0}

/* --- 安心ポイント帯 --- */
.trust-strip{display:flex;align-items:center;justify-content:center;gap:0;color:var(--c-white);padding:var(--sp-25) 0}
.trust-strip>div{width:29%;display:flex;align-items:center;justify-content:center;gap:var(--sp-15);border-right:1px solid #ffffff30;font-size:var(--fs-12);letter-spacing:.06em}
.trust-strip>div:last-child{border:0}
.trust-strip svg{width:28px;height:28px;stroke-width:1.2}

/* --- お悩み3カード --- */
.worries{text-align:center;background:var(--cream)}
.worries h2{font-size:var(--fs-31)}
.worry-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:940px;margin:var(--sp-43) auto 0}
.worry-grid p{font-size:var(--fs-15);line-height:2.1;border-bottom:1px solid var(--c-line);margin:0;position:relative}
.worry-grid p:before{content:'“';position:absolute;color:var(--c-line);font-family:var(--sans);font-size:var(--fs-68);line-height:1}
.worry-grid span{display:block;font-family:var(--sans);letter-spacing:.08em;margin-bottom:var(--sp-17)}
.down-line{height:42px;width:1px;background:var(--c-muted);margin:var(--sp-35) auto var(--sp-23)}
.solution-pre{font-size:var(--fs-12);margin-bottom:var(--sp-10)}
.worries h3{font-family:var(--serif);font-size:var(--fs-26);margin:0}
.worries h3 span{color:var(--orange)}

/* --- 実績 --- */
.proof{padding:63px 0 var(--sp-55);background:var(--sage);text-align:center}
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.proof-grid>div:last-child{border:0}
.proof-grid strong{display:block}
.proof-grid p{margin:0}

/* --- テキスト装飾 --- */
.source{font-size:var(--fs-9);color:var(--c-muted);text-decoration:underline;text-underline-offset:3px}
blockquote{margin:0;background:var(--c-bg-petri);padding:var(--sp-46) 47px var(--sp-30);position:relative}
blockquote p{font-size:var(--fs-12);line-height:var(--lh-note)}

/* --- 選ばれる3つの理由 --- */
.reasons{background:var(--cream)}

/* --- レイアウト --- */
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:var(--sp-30);margin-bottom:var(--sp-43)}
.section-heading h2{margin:0}
.section-heading>p{font-size:var(--fs-12);line-height:var(--lh-note);margin-bottom:var(--sp-6);color:var(--c-muted)}
.serif-num{font-family:var(--sans);font-size:1.6em;line-height:1;vertical-align:-3px;margin:0 var(--sp-7)}

/* --- 選ばれる3つの理由 --- */
.reason-grid{grid-template-columns:repeat(3,1fr)}
.reason-grid article{border-top:1px solid var(--c-line-blue)}
.reason-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-23)}
.reason-top>span{font-family:var(--sans);font-weight:400}
.reason-top svg{stroke-width:1}
.reason-grid h3{font-family:var(--serif);margin-bottom:var(--sp-18)}
.reason-grid p{color:var(--c-muted);line-height:var(--lh-note)}

/* --- 早期発見の大切さ --- */
.awareness{color:var(--c-white);padding-bottom:var(--sp-55)}
.awareness-header{text-align:center;margin-bottom:var(--sp-50)}
.awareness h2{font-size:var(--fs-32)}
.awareness-header>p:not(.eyebrow){font-size:var(--fs-13);line-height:var(--lh-note)}

/* --- 生存率グラフ --- */
.survival{display:grid;grid-template-columns:.85fr 1.25fr;gap:var(--sp-60);border-top:1px solid #ffffff29;border-bottom:1px solid #ffffff29;padding:var(--sp-45) 0}
.tag-outline{display:inline-block;border:1px solid #577a8e3f;padding:var(--sp-4) var(--sp-12);font-size:var(--fs-10);letter-spacing:.03em}
.chart-copy h3{font-family:var(--serif);font-size:var(--fs-27);margin-top:var(--sp-23);margin-bottom:var(--sp-17)}
.chart-copy p{font-size:var(--fs-11);line-height:var(--lh-note)}
.chart-title{font-size:var(--fs-11);letter-spacing:.05em}
.bars{height:245px;border-bottom:1px solid var(--c-muted);display:flex;gap:var(--sp-25);align-items:end;margin:0 0 var(--sp-35);padding:0 var(--sp-14)}
.bar-col{display:flex;flex:1;flex-direction:column;align-items:center;position:relative}
.bar-col>b{font-family:var(--sans);font-size:var(--fs-30);font-weight:400;line-height:var(--lh-snug);margin-bottom:var(--sp-8)}
.bar-col>b small{font-family:var(--sans);font-size:var(--fs-12);margin-left:var(--sp-3)}
.bar{height:var(--height);width:100%;max-width:72px}
.bar-col>span{position:absolute;bottom:-25px;white-space:nowrap;font-size:var(--fs-10)}

/* --- 早期発見の大切さ --- */
.awareness-bottom{display:flex;align-items:center;justify-content:center;gap:var(--sp-25);margin-top:var(--sp-35)}
.awareness-bottom p{font-family:var(--serif);font-size:var(--fs-24);margin:0}
.awareness-bottom strong{font-weight:500}

/* --- 線虫の仕組み --- */
.mechanism{text-align:center}

/* --- レイアウト --- */
.section-intro{font-size:var(--fs-12);line-height:var(--lh-note);color:var(--c-muted)}

/* --- 線虫の仕組み --- */
.mechanism-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:var(--sp-45) auto var(--sp-35);text-align:left}
.mechanism-plus{position:absolute;font-size:var(--fs-26);font-weight:400}
.step-label{padding:var(--sp-8) 0;border-bottom:1px solid var(--c-line-blue);font-size:var(--fs-11);letter-spacing:.1em}
.step-label span{float:right;letter-spacing:.02em}
.step-label.orange{color:var(--orange);border-color:var(--c-line-blue)}
.mechanism-grid h3{font-family:var(--serif);font-size:var(--fs-22);margin-bottom:var(--sp-14)}
.mechanism-grid p{font-size:var(--fs-12);line-height:2}
.mechanism-grid small{font-size:var(--fs-9);color:var(--c-muted)}
.medical-note{display:flex;align-items:center;justify-content:center;gap:var(--sp-23);background:var(--cream);padding:var(--sp-23) var(--sp-30);text-align:left}
.medical-note p{font-size:var(--fs-11);line-height:var(--lh-loose);margin:0;color:var(--c-muted)}

/* --- ユーザーの声 --- */
.voices{background:var(--sage)}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-23);margin-bottom:var(--sp-24)}
.voice-grid article{padding:var(--sp-29) var(--sp-27) var(--sp-23);background:var(--c-white);display:flex;flex-direction:column}
.voice-top{display:flex;justify-content:space-between;margin-bottom:var(--sp-25);font-size:var(--fs-9);color:var(--c-muted);letter-spacing:.05em}
.voice-top span:first-child{border-bottom:1px solid var(--orange);padding-bottom:var(--sp-8)}
.voice-grid h3{font-family:var(--serif);font-size:var(--fs-19);letter-spacing:-.02em;margin-bottom:var(--sp-20)}
.voice-grid p{font-size:var(--fs-11);line-height:var(--lh-note);color:var(--c-muted)}
.voice-grid details{margin-top:auto;font-size:var(--fs-10)}
.voice-grid summary{padding:var(--sp-13) 0;display:flex;justify-content:space-between;border-top:1px solid var(--c-line)}
.voice-grid details p{font-size:var(--fs-10);padding-top:var(--sp-10)}
.voice-grid footer{font-size:var(--fs-11);margin-top:var(--sp-14)}
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
details[open] summary .plus,details[open] summary>span:last-child:not(.q){transform:rotate(45deg)}

/* --- 受検の流れ --- */
.flow h2{text-align:center;font-size:var(--fs-31)}
.flow .section-intro{text-align:center}
.flow-grid{list-style:none;padding:0;grid-template-columns:repeat(5,1fr)}
.flow-grid li{border-right:1px solid var(--c-line)}
.flow-grid li:last-child{border:0}
.flow-number{display:block;font-family:var(--sans);font-size:var(--fs-17);color:var(--c-line-blue);margin-bottom:var(--sp-15)}
.flow-grid svg{display:block;stroke-width:1.3}
.flow-grid h3{font-weight:600;margin-bottom:var(--sp-10)}
.flow-grid p{color:var(--c-muted);line-height:2}

/* --- 金額 --- */
.purchase{background:var(--cream);padding-bottom:var(--sp-55)}
.purchase-panel{display:grid;grid-template-columns:1fr 1fr;background:var(--c-white);box-shadow:0 12px 48px #005b8606}
.purchase-visual{position:relative;padding:38px var(--sp-40) var(--sp-55);overflow:hidden}
.purchase-copy{padding:var(--sp-50) var(--sp-45);align-self:center}
.purchase-copy h3{font-size:var(--fs-25);margin:var(--sp-21) 0 var(--sp-16);font-weight:500;letter-spacing:-.03em}
.purchase-copy h3 span{font-size:var(--fs-20)}
.purchase-copy>p{font-size:var(--fs-12);line-height:2.1}
.price{display:flex;align-items:baseline;gap:var(--sp-9);border-bottom:1px solid var(--line);padding-bottom:var(--sp-19);margin-top:var(--sp-25)}
.price>span:first-child{font-size:var(--fs-10);margin-right:var(--sp-7)}
.price strong{font-family:var(--sans);font-size:var(--fs-47);line-height:var(--lh-tight);font-weight:400;letter-spacing:-.04em}
.price>span:last-child{font-size:var(--fs-17)}
.price small{font-size:var(--fs-9);margin-left:var(--sp-4)}
.purchase-points{font-size:var(--fs-11);margin:var(--sp-22) 0 var(--sp-25)}
.purchase-points li:before{margin-right:var(--sp-12)}
.purchase-copy>.button{width:100%;padding:var(--sp-18);gap:var(--sp-10)}
.purchase-copy>.micro{font-size:var(--fs-9);margin:var(--sp-14) 0 0;color:var(--c-muted)}
.cancer-details{padding:var(--sp-23) 0 0}

/* --- 医師相談サポート --- */
.support{background:var(--c-white);padding:53px 0;border-bottom:1px solid var(--line)}
.support h2{margin-bottom:var(--sp-12)}
.support p:not(.eyebrow){font-size:var(--fs-10);color:var(--c-muted);margin:0}

/* --- よくあるご質問 --- */
.faq-layout{display:grid;grid-template-columns:.85fr 1.6fr;gap:65px}
.faq h2{font-size:var(--fs-30)}
.faq-layout>div:first-child>p:last-child{font-size:var(--fs-11);color:var(--c-muted);line-height:2.3}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;gap:var(--sp-19);font-size:var(--fs-12);padding:var(--sp-23) 0}
.faq-list .q{font-family:var(--sans);font-size:var(--fs-22);color:var(--c-muted);line-height:var(--lh-tight);flex-shrink:0}
.plus{font-size:var(--fs-18);font-weight:400;margin-left:auto;transition:transform .2s;flex-shrink:0}
.answer{font-size:var(--fs-11);line-height:var(--lh-note);color:var(--c-muted);padding:0 var(--sp-28) var(--sp-24) 37px}

/* --- モバイル固定CTA --- */
.mobile-cta{display:none}

/* --- 申し込みダイアログ --- */
dialog{border:0;padding:var(--sp-45);width:min(490px,calc(100% - 34px));color:var(--ink);border-radius:5px;box-shadow:0 15px 100px #0002}
dialog h2{font-size:var(--fs-28);margin-bottom:var(--sp-20)}
dialog p:not(.eyebrow){font-size:var(--fs-12);line-height:2}
dialog .button{width:100%;margin:var(--sp-15) 0 0}
.dialog-close{border:0;background:transparent;position:absolute;top:12px;right:17px;font-size:var(--fs-25);color:var(--c-muted)}
.dialog-back{border:0;background:none;display:block;margin:var(--sp-17) auto 0;color:var(--c-muted);font-size:var(--fs-11);text-decoration:underline}
@media(min-width:1500px){

/* --- FV --- */
.hero{min-height:770px}
h1{font-size:var(--fs-60)}
}
@media(max-width:1100px){

/* --- ヘッダー --- */
.header{padding:0 4%;gap:var(--sp-18)}
.header nav{gap:var(--sp-17);font-size:var(--fs-10)}
.brand{gap:var(--sp-11)}
.brand-organ{padding-left:var(--sp-11);font-size:var(--fs-16)}
.header .button{font-size:var(--fs-10);padding:var(--sp-12) var(--sp-15)}

/* --- レイアウト --- */
.container{width:calc(100% - 72px)}

/* --- 選ばれる3つの理由 --- */
.reason-grid{gap:var(--sp-20)}
.reason-grid h3{font-size:var(--fs-21)}
.reason-top svg{width:60px;height:60px}

/* --- ユーザーの声 --- */
.voice-grid article{padding:var(--sp-25) var(--sp-20)}
.voice-grid h3{font-size:var(--fs-17)}

/* --- 金額 --- */
.purchase-copy{padding:var(--sp-40) var(--sp-30)}

/* --- 医師相談サポート --- */
.support h2{font-size:var(--fs-20)}

/* --- よくあるご質問 --- */
.faq-layout{gap:var(--sp-40)}

/* --- 医師からのメッセージ --- */
.doctor h2{font-size:var(--fs-32)}
blockquote{padding:var(--sp-40) var(--sp-32) var(--sp-28)}
}
@media(max-width:850px){

/* --- ヘッダー --- */
.header nav{display:none}
.header>.button{margin-left:auto}

/* --- モバイルメニュー --- */
.menu-toggle{display:flex;flex-direction:column;gap:var(--sp-6);padding:var(--sp-9) var(--sp-4);border:0;background:none}
.menu-toggle span{width:22px;height:1px;background:var(--green);transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu:not([hidden]){display:flex;position:fixed;top:88px;left:0;right:0;background:var(--c-white);z-index:19;padding:var(--sp-20) var(--sp-35);flex-direction:column;box-shadow:0 10px 20px #0001}
.mobile-menu a{padding:var(--sp-14) 0;border-bottom:1px solid var(--c-bg-sage);font-size:var(--fs-13)}

/* --- FV --- */
.hero h1{font-size:var(--fs-47)}
.hero{min-height:665px}

/* --- 安心ポイント帯 --- */
.trust-strip>div{width:33.33%;gap:var(--sp-10);font-size:var(--fs-10)}

/* --- レイアウト --- */
.section{padding:80px 0}

/* --- 医師からのメッセージ --- */
.doctor h2{font-size:var(--fs-28)}
blockquote p{font-size:var(--fs-11)}

/* --- レイアウト --- */
.section-heading h2{font-size:var(--fs-29)}
.section-heading>p{font-size:var(--fs-10)}

/* --- 選ばれる3つの理由 --- */
.reason-grid{gap:var(--sp-16)}
.reason-grid article{padding-right:0}
.reason-grid h3{font-size:var(--fs-19)}
.reason-grid p{font-size:var(--fs-11)}
.reason-top svg{width:52px;height:52px}
.reason-top>span{font-size:var(--fs-38)}

/* --- 生存率グラフ --- */
.survival{gap:var(--sp-30)}
.chart-copy h3{font-size:var(--fs-24)}
.bars{gap:var(--sp-18)}

/* --- 線虫の仕組み --- */
.mechanism-grid{gap:var(--sp-25)}
.mechanism-grid article{padding:0 var(--sp-15)}
.mechanism-grid h3{font-size:var(--fs-18)}

/* --- ユーザーの声 --- */
.voice-grid{gap:var(--sp-13)}
.voice-grid article{padding:var(--sp-23) var(--sp-17)}
.voice-grid h3{font-size:var(--fs-15)}
.voice-grid p{font-size:var(--fs-10)}
.voice-top{font-size:var(--fs-8)}

/* --- 受検の流れ --- */
.flow-grid h3{font-size:var(--fs-12)}
.flow-grid p{font-size:var(--fs-9)}

/* --- 金額 --- */
.purchase-copy{padding:var(--sp-30) var(--sp-25)}
.purchase-copy h3{font-size:var(--fs-23)}
.purchase-visual{padding:var(--sp-35) var(--sp-30) var(--sp-55)}
.price strong{font-size:var(--fs-40)}
.price{gap:var(--sp-5)}

/* --- 医師相談サポート --- */
.support-inner{flex-wrap:wrap;gap:var(--sp-22)}
.support h2{font-size:var(--fs-19)}
.support p:not(.eyebrow){font-size:var(--fs-9)}

/* --- よくあるご質問 --- */
.faq-layout{grid-template-columns:1fr 1.65fr;gap:var(--sp-25)}
.faq h2{font-size:var(--fs-26)}
.faq-list summary{font-size:var(--fs-11)}
}
@media(max-width:600px){
html{scroll-padding-top:74px}

/* --- レイアウト --- */
.container{width:calc(100% - 42px)}
.section{padding:var(--sp-62) 0}
h2{line-height:1.7;margin-bottom:var(--sp-21)}

/* --- ヘッダー --- */
.header{height:68px;padding:0 var(--sp-20);gap:var(--sp-15)}
.brand-organ{padding-left:var(--sp-10)}
.header>.button{display:none}
.header .menu-toggle{margin-left:auto}

/* --- モバイルメニュー --- */
.mobile-menu:not([hidden]){top:68px;padding:var(--sp-15) var(--sp-25)}

/* --- FV --- */
.hero{min-height:0;padding-top:0;padding-bottom:0;display:flex;flex-direction:column}
.hero h1{margin-bottom:var(--sp-16)}
.hero-button{min-width:0;width:100%;padding:var(--sp-16) var(--sp-18)}
.hero-note{margin-top:var(--sp-8)}

/* --- 安心ポイント帯 --- */
.trust-strip{padding:var(--sp-18) var(--sp-7);align-items:stretch}
.trust-strip>div{gap:var(--sp-7);flex-direction:column;text-align:center;padding:0 var(--sp-4);letter-spacing:0}
.trust-strip svg{width:25px;height:25px}

/* --- お悩み3カード --- */
.worry-grid{grid-template-columns:1fr;margin-top:var(--sp-24)}
.worry-grid p{display:flex;align-items:center;justify-content:flex-start;text-align:left;gap:var(--sp-22);line-height:var(--lh-loose)}
.worry-grid p:before{display:none}
.worry-grid p br{display:none}
.worry-grid span{min-width:23px;margin:0}
.down-line{height:30px;margin:var(--sp-28) auto var(--sp-21)}
.worries h3 span{display:block}

/* --- テキスト装飾 --- */
.desktop{display:none}

/* --- 実績 --- */
.proof-grid{margin:var(--sp-27) 0 var(--sp-22);gap:0}
blockquote{padding:var(--sp-35) var(--sp-25) var(--sp-25)}

/* --- レイアウト --- */
.section-heading{display:block;margin-bottom:var(--sp-30)}
.section-heading>p{margin:var(--sp-20) 0 0}

/* --- 選ばれる3つの理由 --- */
.reason-grid{grid-template-columns:1fr;gap:var(--sp-30)}
.reason-grid article{position:relative}
.reason-top{top:18px;right:0;gap:var(--sp-17)}
.reason-top svg{margin-top:var(--sp-4)}
.reason-grid h3{padding-right:70px}
.reason-grid article:nth-child(1) h3:before{content:'01'}
.reason-grid article:nth-child(2) h3:before{content:'02'}
.reason-grid article:nth-child(3) h3:before{content:'03'}
.reason-grid h3:before{font-family:var(--sans);color:var(--c-muted);line-height:1;margin-bottom:var(--sp-10)}
.reason-grid p{margin-bottom:var(--sp-16);line-height:2}

/* --- 早期発見の大切さ --- */
.awareness{padding-bottom:var(--sp-34)}
.awareness-header{margin-bottom:var(--sp-30)}
.awareness-header>p:not(.eyebrow){line-height:var(--lh-note)}

/* --- 生存率グラフ --- */
.survival{grid-template-columns:1fr;gap:var(--sp-25);padding:var(--sp-30) 0}
.chart-copy h3{line-height:var(--lh-relaxed);margin:var(--sp-18) 0 var(--sp-14)}
.chart-copy p{margin-bottom:0}
.chart-title{margin-bottom:0}
.bars{height:240px;gap:var(--sp-18);padding:0 var(--sp-9)}

/* --- 早期発見の大切さ --- */
.awareness-bottom{gap:var(--sp-14);margin-top:var(--sp-25)}
.awareness-bottom p{line-height:var(--lh-body-lg)}
.awareness-bottom strong{display:block}

/* --- 線虫の仕組み --- */
.mechanism-grid{grid-template-columns:1fr;gap:var(--sp-45);margin:33px 0 var(--sp-30)}
.mechanism-grid h3{text-align:center}
.mechanism-grid p{line-height:2}
.medical-note{padding:var(--sp-20) var(--sp-18);align-items:flex-start;gap:var(--sp-12)}

/* --- ユーザーの声 --- */
.voice-grid{grid-template-columns:1fr;gap:var(--sp-18)}
.voice-grid article{padding:var(--sp-24)}
.voice-top{margin-bottom:var(--sp-19)}

/* --- 受検の流れ --- */
.flow-grid{grid-template-columns:1fr;margin-top:var(--sp-28);gap:0}
.flow-grid li{text-align:left;align-items:center;border:0;border-bottom:1px solid var(--c-line);min-height:111px}
.flow-number{grid-column:1;grid-row:1/3;margin:0;align-self:center}
.flow-grid svg{margin:0}
.flow-grid h3{margin:0 0 var(--sp-4)}
.flow-grid p{margin:0;line-height:var(--lh-body-lg)}

/* --- 金額 --- */
.purchase{padding:var(--sp-45) 0}
.purchase-visual{padding:var(--sp-30) var(--sp-28) var(--sp-45)}
.purchase-copy{padding:var(--sp-30) var(--sp-24)}
.price{margin-top:var(--sp-23);gap:var(--sp-9)}
.price>span:first-child{margin:0}
.purchase-copy>.button{padding:var(--sp-16) var(--sp-17)}

/* --- 医師相談サポート --- */
.support-inner{display:grid;grid-template-columns:52px 1fr;gap:var(--sp-17)}
.support h2{letter-spacing:.015em}

/* --- よくあるご質問 --- */
.faq-layout{grid-template-columns:1fr;gap:var(--sp-25)}
.faq-layout>div:first-child>p:last-child{margin-bottom:0}
.faq-layout>div:first-child>p:last-child br{display:none}
.faq-list summary{gap:var(--sp-13);padding:var(--sp-21) 0;line-height:var(--lh-body-lg)}
.answer{padding-left:var(--sp-27);padding-right:var(--sp-12)}

/* --- モバイル固定CTA --- */
.mobile-cta{position:fixed;display:flex;z-index:18;bottom:0;left:0;right:0;background:#fffffffa;border-top:1px solid var(--c-line);padding:var(--sp-10) var(--sp-16) calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:var(--sp-10);box-shadow:0 -4px 20px #00a3e008}
.mobile-cta>div{line-height:var(--lh-relaxed)}
.mobile-cta small{display:block;font-size:var(--fs-8)}
.mobile-cta b{font-family:var(--sans);font-weight:400;font-size:var(--fs-22)}
.mobile-cta b span{font-family:var(--sans);font-size:var(--fs-8);margin-left:var(--sp-3)}
.mobile-cta .button{font-size:var(--fs-11);padding:var(--sp-11) var(--sp-15);gap:var(--sp-16);min-height:44px}
.mobile-cta .button svg{width:16px}

/* --- 申し込みダイアログ --- */
dialog{padding:var(--sp-35) var(--sp-25)}
dialog h2{font-size:var(--fs-24)}
dialog .button{font-size:var(--fs-12)}
.dialog-close{font-size:var(--fs-23)}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{transition:none!important}
}
.mobile-break{display:none}
@media(max-width:600px){
.mobile-break{display:block}
}
/* Restore the first design's green,ivory and warm accent. */
:root{--green:var(--c-brand);--deep:var(--c-brand-shadow);--sage:var(--c-bg-step);--cream:var(--c-bg-cream);--ink:var(--c-ink);--muted:#5c7381;--line:var(--c-line);--orange:var(--c-brand)}

/* --- FV --- */
.hero{background-color:transparent}

/* --- ヘッダー --- */
.brand-organ{border-color:var(--orange)}

/* --- 早期発見の大切さ --- */
.awareness-header>p:not(.eyebrow){color:#e0f5fc}
.awareness .source{color:#c1e8f7}

/* --- 生存率グラフ --- */
.chart-copy .tag-outline{color:#e0f5fc;border-color:var(--c-line-tag)}
.chart-copy p{color:#ceeffc}
.bar{background:var(--c-bar-2)}
.bar-col:first-child .bar{background:var(--c-bar-1)}
.bar-col:first-child b{color:var(--c-white)}
.bar-col:nth-child(3) .bar{background:var(--c-bar-3)}
.bar-col:nth-child(4) .bar{background:var(--c-bar-4)}
.bar-col>span{color:#d6f2fc}

/* --- 金額 --- */
.purchase-visual{background:var(--c-bg-visual)}
@media(max-width:600px){

/* --- FV --- */
.hero{background:var(--c-bg-sage)}
}
/* Requested blue palette,Gothic typography and orange conversion buttons. */
:root{--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--serif:var(--sans);--green:var(--c-brand);--deep:var(--c-brand-shadow);--orange:var(--c-brand)}
h1,h2,h3{font-weight:700}
h1{letter-spacing:.025em}

/* --- ヘッダー --- */
.brand-organ{color:var(--green)}

/* --- ボタン --- */
.button{background:linear-gradient(120deg,var(--c-accent-a) 0%,var(--c-accent-b) 100%);border-color:var(--c-accent-c);color:var(--c-white);font-weight:700;box-shadow:0 5px 15px #e7741824;transition:filter .2s,transform .2s}
.button:hover{background:linear-gradient(120deg,var(--c-accent-d) 0%,var(--c-accent-e) 100%);color:var(--c-white);transform:translateY(-2px)}

/* --- 早期発見の大切さ --- */
.awareness{background:var(--c-brand-dark)}

/* --- 安心ポイント帯 --- */
.trust-strip{background:var(--c-brand)}
/* Supplied brand assets and photo-strip first view. */

/* --- ヘッダー --- */
.brand-logo{display:block;width:188px;height:auto;max-width:100%}
.brand{gap:var(--sp-13)}
.brand-organ{font-size:var(--fs-17);padding-left:var(--sp-13)}
.package-image{display:block;width:85%;max-width:420px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 15px #005b8615)}

/* --- FV --- */
.hero{display:block;min-height:0;background:linear-gradient(180deg,var(--c-bg-grad) 0%,var(--c-bg-step) 65%,var(--c-white) 100%);padding:var(--sp-24) 0 52px;overflow:hidden}
.hero-gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;width:min(1328px,calc(100% - 80px));margin:auto;align-items:center}
.hero-frame{height:clamp(230px,26vw,370px);overflow:hidden;position:relative;box-shadow:0 24px 30px -22px #005b8640;background:#e0f2fa}
.hero-frame>img{display:block;width:100%;height:100%;object-fit:cover}
.hero-lower{width:min(1200px,calc(100% - 96px));margin:48px auto 0;display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-50);align-items:center}
.hero h1{letter-spacing:.03em;margin:0}
.hero-action{position:relative;background:var(--c-white)}
.hero-button{min-width:0;width:100%;font-size:var(--fs-12);padding:var(--sp-16) var(--sp-17);gap:var(--sp-12)}
.hero-note{font-size:var(--fs-8)}
@media(max-width:1100px){

/* --- ヘッダー --- */
.brand-logo{width:155px}

/* --- FV --- */
.hero-gallery{gap:var(--sp-24);width:calc(100% - 48px)}
.hero-lower{width:calc(100% - 64px);gap:var(--sp-28)}
.hero-action{padding:var(--sp-25)}
}
@media(max-width:600px){

/* --- ヘッダー --- */
.header .brand-logo{width:123px}
.header .brand{gap:var(--sp-8)}
.header .brand-organ{padding-left:var(--sp-8)}

/* --- FV --- */
.hero{padding:var(--sp-16) 0 var(--sp-30)}
.hero-gallery{width:calc(100% - 24px);gap:var(--sp-10);grid-template-columns:1fr 1.08fr 1fr}
.hero-frame{height:155px}
.hero-button{min-height:55px}
}
/* Five portrait photographs in a seamless,controllable carousel. */
.hero-carousel{overflow-x:auto;scrollbar-width:none;touch-action:pan-x pan-y}
.hero-carousel::-webkit-scrollbar{display:none}
.hero-carousel .hero-gallery{display:flex;width:max-content;gap:var(--sp-24);margin:0;padding:0 var(--sp-24);align-items:stretch}
.hero-carousel .hero-frame{flex:none;width:clamp(210px,22vw,300px);height:auto;aspect-ratio:3/4;border-radius:var(--r-3xl);box-shadow:none;background:var(--c-bg-frame)}
.hero-carousel .hero-frame>img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;padding:0}
.hero-lower{margin-top:var(--sp-24)}
.hero h1{font-size:clamp(28px,2.9vw,42px);line-height:var(--lh-heading)}
.hero h1 strong{color:var(--c-brand);font-weight:700}
.hero-action{padding-top:var(--sp-30);padding-bottom:var(--sp-30)}
@media(max-width:600px){
.hero-carousel .hero-gallery{gap:var(--sp-14);padding:0 var(--sp-14)}
.hero-carousel .hero-frame{width:180px;border-radius:15px}
.hero h1{letter-spacing:0;line-height:var(--lh-heading)}
}
@media(min-width:601px){
.hero h1{font-size:clamp(25px,2.2vw,32px);letter-spacing:0}
.hero-lower{grid-template-columns:1.15fr 1fr;gap:var(--sp-32)}
}
/* Latin letters and numerals use Poppins; Japanese falls back to Noto Sans JP. */
:root{--sans:'Poppins','Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--serif:var(--sans)}
.hero-badge{position:absolute;z-index:6;right:clamp(24px,4vw,64px);top:42px;margin:0;display:flex;flex-direction:row;gap:var(--sp-13);padding:var(--sp-24) var(--sp-21);background:#ffffffed;border:1px solid var(--c-white);border-radius:var(--r-sm);box-shadow:0 8px 30px #005b8624;color:var(--c-brand-deep);pointer-events:none}
.reveal-pending{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-pending.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:600px){
.hero-badge{padding:var(--sp-16) var(--sp-13);border-radius:var(--r-xs)}
.reveal-pending{transform:translateY(20px)}
}
@media(prefers-reduced-motion:reduce){
.reveal-pending{opacity:1;transform:none;transition:none}
}
@media print{
.reveal-pending{opacity:1;transform:none}
}
/* CTA follows the headline; paired risk information sits alongside it. */
.hero-lower{margin-top:38px;align-items:center}
.hero-action{text-align:center}
/* Editorial,research-inspired presentation of the existing achievements. */

/* --- 実績 --- */
.proof{position:relative;isolation:isolate;overflow:hidden;padding:82px 0 58px;color:var(--c-white);background:radial-gradient(ellipse at 18% 0%,#13789b77,transparent 55%),radial-gradient(ellipse at 92% 100%,#007aaa55,transparent 55%),linear-gradient(125deg,var(--c-navy),var(--c-navy-2) 52%,var(--c-navy-3))}
.proof:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(120deg,var(--c-black),transparent 75%)}
.proof:after{content:'';position:absolute;width:650px;height:650px;border:1px solid #b4d8e51c;border-radius:50%;right:-200px;top:-320px;box-shadow:0 0 0 70px #b4d8e506,0 0 0 140px #b4d8e506;z-index:-1;pointer-events:none}
.proof h2{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:var(--fs-32);font-weight:500;letter-spacing:.1em;margin:0 0 var(--sp-40);line-height:1.7}
.proof h2:after{content:'';display:block;width:48px;height:1px;background:var(--c-line-proof);margin:var(--sp-24) auto 0}
.proof-grid{margin:0 0 var(--sp-30);border-top:1px solid #bfdbe533;border-bottom:1px solid #bfdbe533;padding:var(--sp-34) 0 var(--sp-32)}
.proof-grid>div{padding:0 var(--sp-20);border-right:1px solid #bfdbe533}
.proof-grid>div:last-child{border-right:0}
.proof-grid span{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:var(--fs-14);font-weight:500;letter-spacing:.05em;color:#e7f4fb}
.proof-grid strong{font-size:var(--fs-76);line-height:var(--lh-normal);margin:var(--sp-5) 0;color:var(--c-white);text-shadow:0 4px 25px #6bcaff25}
.proof-grid small{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:var(--fs-23);font-weight:400;letter-spacing:0;margin-left:var(--sp-7)}
.proof-grid p{color:#bad0dc;font-size:var(--fs-11);letter-spacing:.03em}
@media(max-width:600px){
.proof{padding:var(--sp-50) 0 var(--sp-35)}
.proof h2{letter-spacing:.025em;margin-bottom:var(--sp-26)}
.proof h2:after{margin-top:var(--sp-20)}
.proof-grid{padding:var(--sp-24) 0;margin-bottom:var(--sp-22)}
.proof-grid>div{padding:0 var(--sp-7)}
.proof-grid span{display:flex;align-items:center;justify-content:center;min-height:38px;line-height:1.7;letter-spacing:0}
.proof-grid strong{line-height:var(--lh-relaxed);white-space:nowrap}
.proof-grid small{margin-left:var(--sp-2)}
.proof-grid p{line-height:var(--lh-body-lg);letter-spacing:0}
}

/* --- FV --- */
.hero-heading>.hero-button{margin-top:0}

/* --- 医師からのメッセージ --- */
.doctor blockquote p{font-size:var(--fs-14);line-height:2.25;margin-bottom:var(--sp-24)}
.doctor blockquote p:last-child{margin-bottom:0}
@media(max-width:600px){
.doctor blockquote p{line-height:var(--lh-note)}
}

/* --- 実績 --- */
.proof-grid{align-items:stretch;margin-bottom:0}
.proof-grid>div{display:flex;flex-direction:column;justify-content:center}
.proof-grid .proof-caption{font-family:'Noto Serif JP','Yu Mincho',serif;font-size:var(--fs-14);color:#e7f4fb;margin:0;letter-spacing:.03em}
.proof-grid .proof-prefix{font-size:var(--fs-17);margin:0 var(--sp-8) 0 0}
@media(max-width:600px){
.proof-grid .proof-caption{line-height:1.7}
.proof-grid .proof-prefix{display:block;line-height:var(--lh-tight);margin:0}
.proof-grid>div{justify-content:flex-start}
}
/* Section-specific editorial layouts,below the unchanged FV. */

/* --- お悩み3カード --- */
.worries{padding-top:100px;padding-bottom:100px}
.worry-grid{gap:var(--sp-20)}
.worry-grid p{background:var(--c-white);border:1px solid var(--c-line-soft);border-radius:var(--r-lg);padding:var(--sp-35) var(--sp-22);box-shadow:0 14px 35px #005b8607}
.worry-grid p:nth-child(2){margin-top:var(--sp-25);margin-bottom:-25px}
.worry-grid span{font-size:var(--fs-13);color:var(--c-brand)}
.worry-grid p:before{left:22px;top:10px}
.down-line{margin-top:var(--sp-60)}

/* --- 医師からのメッセージ --- */
.doctor blockquote{background:linear-gradient(125deg,#eef9fd,var(--c-white));border-left:1px solid var(--c-line-quote2);border-radius:0 18px 18px 0;padding:var(--sp-40) var(--sp-45)}

/* --- 選ばれる3つの理由 --- */
.reasons .section-heading{align-items:start}
.reason-grid{display:flex;flex-direction:column;gap:var(--sp-22)}
.reason-grid article{display:grid;grid-template-columns:150px 1fr 1.25fr;column-gap:var(--sp-32);align-items:center;padding:var(--sp-35) var(--sp-40);background:var(--c-white);border:1px solid var(--c-line-reason);border-radius:var(--r-xl);box-shadow:0 14px 35px #005b8607}
.reason-grid article:nth-child(2){margin-left:var(--sp-55)}
.reason-grid article:nth-child(3){margin-left:110px}
.reason-top{margin:0;gap:var(--sp-18)}
.reason-top>span{font-size:var(--fs-50);color:var(--c-num-soft)}
.reason-top svg{width:48px;height:48px;color:var(--c-brand)}
.reason-grid h3{font-size:var(--fs-24);margin:0}
.reason-grid p{margin:0;font-size:var(--fs-13)}

/* --- 線虫の仕組み --- */
.mechanism-grid{gap:var(--sp-35);max-width:1050px}
.mechanism-grid article{border:1px solid var(--c-line-soft2);border-radius:var(--r-4xl);background:linear-gradient(150deg,var(--c-bg-liver2),var(--c-white));padding:var(--sp-25) var(--sp-35) var(--sp-30)}
.mechanism-plus{z-index:2;left:calc(50% - 19px);background:var(--c-white);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;color:var(--c-brand);top:180px;line-height:1}

/* --- ユーザーの声 --- */
.voice-grid article{border-radius:var(--r-xl);border-top:3px solid var(--c-brand);box-shadow:0 14px 36px #005b8608}
.voice-grid article:nth-child(2){margin-top:var(--sp-26);margin-bottom:-26px}
.voices>.container>.micro{margin-top:var(--sp-50)}

/* --- 受検の流れ --- */
.flow-grid{display:flex;flex-direction:column;max-width:850px;margin:var(--sp-45) auto var(--sp-25);position:relative;gap:var(--sp-16)}
.flow-grid:before{content:'';position:absolute;top:32px;bottom:32px;left:32px;width:1px;background:#abddef}
.flow-grid li{display:grid;grid-template-columns:64px 65px 150px 1fr;align-items:center;gap:var(--sp-26);text-align:left;border:0;padding:var(--sp-20) var(--sp-25) var(--sp-20) 0;background:linear-gradient(90deg,transparent 32px,#f4faff 32px);border-radius:var(--r-ms);position:relative}
.flow-grid .flow-number{display:grid;place-items:center;width:64px;height:64px;margin:0;border:1px solid var(--c-line-step);background:var(--c-white);border-radius:50%;font-size:var(--fs-21);color:var(--c-brand);z-index:1}
.flow-grid svg{width:42px;height:42px;margin:0;color:var(--c-brand-vivid)}
.flow-grid h3{font-size:var(--fs-16);margin:0}
.flow-grid p{font-size:var(--fs-12);margin:0}

/* --- 金額 --- */
.purchase-panel{border-radius:var(--r-4xl);overflow:hidden}

/* --- よくあるご質問 --- */
.faq-list details{padding:0 var(--sp-15);border-radius:var(--r-sm)}
.faq-list details[open]{background:var(--c-bg-open)}

/* --- スクロール演出 --- */
.motion-ready{transition:opacity .85s ease,transform 1s cubic-bezier(.16,1,.3,1),clip-path 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--motion-delay,0ms)}
.motion-ready:not(.motion-in){opacity:0}
.motion-ready[data-motion=rise]:not(.motion-in){transform:translateY(42px)}
.motion-ready[data-motion=left]:not(.motion-in){transform:translateX(-45px)}
.motion-ready[data-motion=right]:not(.motion-in){transform:translateX(45px)}
.motion-ready[data-motion=card]:not(.motion-in){transform:translateY(45px) scale(.96)}
.motion-ready[data-motion=focus]:not(.motion-in){transform:scale(.94)}
.motion-ready[data-motion=step]:not(.motion-in){transform:translateX(32px);clip-path:inset(0 10% 0 0)}

/* --- 生存率グラフ --- */
.bar.motion-ready{transform-origin:bottom;transition:transform 1.25s cubic-bezier(.16,1,.3,1),opacity .5s}
.bar.motion-ready:not(.motion-in){transform:scaleY(0)}
@media(max-width:850px){

/* --- 選ばれる3つの理由 --- */
.reason-grid article{grid-template-columns:100px 1fr;gap:var(--sp-20);padding:var(--sp-28)}
.reason-grid p{grid-column:2}
.reason-grid article:nth-child(2){margin-left:var(--sp-20)}
.reason-grid article:nth-child(3){margin-left:var(--sp-40)}
.reason-top{flex-direction:column}

/* --- 受検の流れ --- */
.flow-grid li{gap:var(--sp-18);grid-template-columns:64px 50px 140px 1fr}
}
@media(max-width:600px){

/* --- お悩み3カード --- */
.worries{padding:var(--sp-60) 0}
.worry-grid{gap:var(--sp-14)}
.worry-grid p:nth-child(2),.voice-grid article:nth-child(2){margin:0}
.worry-grid p{padding:var(--sp-28) var(--sp-18)}

/* --- 医師からのメッセージ --- */
.doctor blockquote{padding:var(--sp-30) var(--sp-24)}

/* --- 選ばれる3つの理由 --- */
.reason-grid article{display:block;margin:0!important;padding:var(--sp-26) var(--sp-23)}
.reason-top{position:static;flex-direction:row;justify-content:space-between;margin-bottom:var(--sp-18)}
.reason-top>span{display:block}
.reason-top svg{width:42px;height:42px}
.reason-grid h3{padding:0;margin-bottom:var(--sp-15)}
.reason-grid h3:before{display:none}

/* --- 線虫の仕組み --- */
.mechanism-grid article{padding:var(--sp-20)}
.mechanism-plus{display:none}

/* --- 受検の流れ --- */
.flow-grid:before{left:22px}
.flow-grid li{display:grid;grid-template-columns:44px 40px 1fr;gap:var(--sp-5) var(--sp-14);padding:var(--sp-20) var(--sp-13) var(--sp-20) 0;background:linear-gradient(90deg,transparent 22px,#f4faff 22px)}
.flow-grid .flow-number{width:44px;height:44px;grid-column:1;grid-row:1/3}
.flow-grid svg{width:33px;height:33px;grid-column:2;grid-row:1/3}
.flow-grid h3{grid-column:3}
.flow-grid p{grid-column:3}

/* --- ユーザーの声 --- */
.voices>.container>.micro{margin-top:var(--sp-24)}

/* --- スクロール演出 --- */
.motion-ready[data-motion=left]:not(.motion-in){transform:translateX(-18px)}
.motion-ready[data-motion=right]:not(.motion-in){transform:translateX(18px)}
}
@media(prefers-reduced-motion:reduce){
.motion-ready{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
}
@media print{
.motion-ready{opacity:1!important;transform:none!important;clip-path:none!important}
}
main{overflow-x:clip}
/* Compact,tactile FV CTA with an attached speech bubble. */

/* --- FV --- */
.hero-heading>.hero-tags{position:relative;display:flex;width:320px;max-width:100%;justify-content:center;gap:var(--sp-10);margin:var(--sp-25) 0 var(--sp-14);padding:var(--sp-9) var(--sp-15);background:var(--c-white);border:1px solid #b9dfef;border-radius:9px;box-shadow:0 3px 10px #005b8608;font-size:var(--fs-12);font-weight:600;color:#007da9}
.hero-heading>.hero-button{max-width:100%;border-radius:var(--r-ms);border:1px solid #df6b0a;background:linear-gradient(180deg,#fa9b35,#e87512 65%,#dc620b);box-shadow:0 5px 0 #b74d06,0 10px 20px #d76b1526;font-weight:700;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.hero-heading>.hero-button:hover{background:linear-gradient(180deg,#ffa847,#ec7c18 65%,#df680e);transform:translateY(-2px);box-shadow:0 7px 0 #b74d06,0 13px 24px #d76b1535}
.hero-heading>.hero-button:active{transform:translateY(4px);box-shadow:0 1px 0 #b74d06,0 3px 8px #d76b1520}

/* --- 実績 --- */
.proof-grid strong{font-family:'Noto Serif JP','Yu Mincho',serif;font-weight:500;letter-spacing:-.035em}
/* A two-part visual explanation with a paced sequence. */

/* --- 2つのリスクを調べる --- */
.about{background:linear-gradient(180deg,var(--c-white),var(--c-bg-grad))}
.risk-intro{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-40);margin-bottom:42px}
.risk-intro h2{font-size:var(--fs-38);line-height:var(--lh-relaxed);margin-bottom:var(--sp-20)}
.risk-intro h2 em{font-style:normal;color:var(--c-brand)}
.risk-intro p:not(.eyebrow){font-size:var(--fs-13);line-height:2.1;margin:0}
.risk-sequence{display:grid;grid-template-columns:1fr 58px 1fr;align-items:stretch}
.risk-card{min-width:0;background:var(--c-white);border:1px solid var(--c-line-card);border-radius:var(--r-4xl);overflow:hidden;box-shadow:0 15px 42px #005b8609}
.risk-card-heading{display:flex;align-items:center;gap:var(--sp-20);padding:var(--sp-26) var(--sp-28)}
.risk-step{font-family:var(--sans);color:var(--c-brand-num);background:var(--c-bg-step);border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.risk-card-heading p{font-size:var(--fs-12);color:var(--c-muted);margin:0 0 var(--sp-3)}
.risk-card h3{font-weight:700;margin:0;color:var(--c-brand-ink)}
.risk-card h3 b{font-family:'Poppins',sans-serif;font-weight:600}
.risk-card h3 span{margin-top:var(--sp-5)}
.risk-visual{height:310px;position:relative;overflow:hidden}
.risk-visual-total{background:var(--c-navy-5);display:flex;align-items:center}
.risk-visual-liver{background:radial-gradient(ellipse at center,var(--c-bg-liver),var(--c-bg-liver2))}
.risk-visual-liver img{display:block;width:100%;height:100%;object-fit:contain}
.risk-caption{font-size:var(--fs-14);font-weight:600;line-height:var(--lh-body-lg);margin:var(--sp-24) var(--sp-26) var(--sp-10)}
.risk-disclaimer{font-size:var(--fs-10);color:var(--c-muted-soft);line-height:var(--lh-body-lg);margin:0 var(--sp-26) var(--sp-24)}
.risk-add{display:grid;place-items:center;color:var(--c-brand);font-size:var(--fs-40);font-weight:400}
.risk-conclusion{text-align:center;margin-top:var(--sp-34);padding:var(--sp-24);background:var(--c-bg-band);border-radius:var(--r-lg)}
.risk-conclusion p{display:flex;justify-content:center;align-items:center;margin:var(--sp-7) 0 0}
.risk-final-note{text-align:center;margin:var(--sp-17) 0 0}@media(max-width:600px){
.risk-intro{gap:var(--sp-12);align-items:flex-start;margin-bottom:var(--sp-28);position:relative}
.risk-intro>div{position:relative;z-index:1}
.risk-intro h2{line-height:var(--lh-heading)}
.risk-sequence{grid-template-columns:1fr;gap:0}
.risk-visual{height:250px}
.risk-visual-total{height:auto;min-height:210px}
.risk-add{height:65px}
.risk-caption{margin:var(--sp-20) var(--sp-20) var(--sp-8)}
.risk-disclaimer{margin:0 var(--sp-20) var(--sp-20)}
.risk-conclusion{padding:var(--sp-20) var(--sp-12);margin-top:var(--sp-25)}
.risk-conclusion p{flex-direction:column;gap:var(--sp-4)}
.risk-final-note{text-align:left}
}
.risk-card-heading{min-height:162px}
@media(max-width:600px){
.risk-intro h2{padding-right:0;letter-spacing:0}
}
/* Supplied achievement backdrop and streamlined conversion buttons. */

/* --- 実績 --- */
.proof{background:linear-gradient(90deg,#08283d35,#08283d15),url('assets/proof-building.jpg') center center/cover no-repeat}
.proof:before,.proof:after{display:none}
.proof-grid{border-color:#d6ebf54d}
.proof-grid>div{border-color:#d6ebf54d}
.proof h2,.proof-grid strong{text-shadow:0 2px 16px #061e3544}

/* --- ボタン --- */
.button,.hero-heading>.hero-button{border:1px solid var(--c-accent-border);border-radius:var(--r-xs);background:linear-gradient(110deg,var(--c-accent-light),var(--c-accent));color:white;box-shadow:0 5px 15px #d96b141c;letter-spacing:.025em;font-weight:600;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.button:hover,.hero-heading>.hero-button:hover{background:linear-gradient(110deg,var(--c-accent-hover),var(--c-accent-hover-deep));box-shadow:0 8px 22px #d96b1429;transform:translateY(-2px)}
.button:active,.hero-heading>.hero-button:active{transform:translateY(0);box-shadow:0 2px 6px #d96b141a}

/* --- FV --- */
.hero-heading>.hero-button{min-height:59px;padding:var(--sp-16) var(--sp-21);font-size:var(--fs-12)}

/* --- ボタン --- */
.button svg{transition:transform .2s ease}
.button:hover svg{transform:translateX(3px)}
@media(max-width:600px){

/* --- 実績 --- */
.proof{background-position:48% center}
}
/* Matching code-rendered medical diagrams. */

/* --- 2つのリスクを調べる --- */
.risk-visual.risk-diagram{height:355px;background:linear-gradient(145deg,var(--c-bg-open),var(--c-bg-card2));border-top:1px solid var(--c-line-inner);border-bottom:1px solid var(--c-line-inner);display:flex;flex-direction:column;justify-content:center;padding:var(--sp-22);overflow:hidden}

/* --- 23種のがんチップ --- */
.cancer-chip-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-7);list-style:none;padding:0;margin:0}
.cancer-chip-list li{display:flex;align-items:center;gap:var(--sp-6);min-width:0;background:var(--c-white);border:1px solid var(--c-line-chip);border-radius:var(--r-xs);padding:var(--sp-6) var(--sp-7);color:var(--c-chip-ink);line-height:var(--lh-normal);min-height:28px}
.cancer-chip-list li>span{font-family:'Poppins',sans-serif;font-size:var(--fs-9);color:var(--c-brand);flex-shrink:0;font-weight:600}
.cancer-chip-notes{font-size:var(--fs-8);color:var(--c-muted-note);line-height:var(--lh-body-lg);margin:var(--sp-13) 0 0;text-align:left}

/* --- 2つのリスクを調べる --- */
.risk-visual-liver.risk-diagram{padding:0 var(--sp-12) var(--sp-14)}

/* --- 肝臓の図版 --- */
.liver-diagram{width:100%;height:310px;flex:1;fill:none;stroke:none;stroke-width:initial}
.diagram-note{font-size:var(--fs-11);text-align:center;color:var(--c-muted-caption)}@media(min-width:601px) and (max-width:1100px){
.risk-visual.risk-diagram{height:420px;padding:var(--sp-15)}

/* --- 23種のがんチップ --- */
.cancer-chip-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}
.cancer-chip-list li{font-size:var(--fs-9);min-height:24px;padding:var(--sp-3) var(--sp-5)}

/* --- 肝臓の図版 --- */
.liver-diagram{height:330px}
}
@media(max-width:600px){

/* --- 2つのリスクを調べる --- */
.risk-visual.risk-diagram{height:auto;min-height:0;padding:var(--sp-18) var(--sp-14)}

/* --- 23種のがんチップ --- */
.cancer-chip-list{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr))}
.cancer-chip-list li{padding:var(--sp-6) var(--sp-7);min-height:29px}

/* --- 2つのリスクを調べる --- */
.risk-visual-liver.risk-diagram{height:310px;padding:0 var(--sp-6) var(--sp-15)}

/* --- 肝臓の図版 --- */
.liver-diagram{height:275px}
}

/* --- 23種のがんチップ --- */
.cancer-chip-list{width:100%}
.cancer-chip-notes{width:100%}
.cancer-chip-list li{font-size:var(--fs-11)}
.cancer-chip-list li:nth-child(9){font-size:var(--fs-8)}

/* --- 線虫の仕組み --- */
.step-movie{margin:var(--sp-25) 0 var(--sp-23)}
.step-movie img{display:block;width:100%;height:auto;aspect-ratio:427/240;object-fit:contain;border-radius:var(--r-md);background:var(--c-black)}
.step-movie figcaption{font-size:var(--fs-10);line-height:var(--lh-body-lg);text-align:center;color:var(--c-muted);margin-top:var(--sp-9)}
/* Keep each risk-card heading to a kicker and a single title line. */

/* --- 2つのリスクを調べる --- */
.risk-card-heading{min-height:122px;padding:var(--sp-24);gap:var(--sp-14)}
.risk-card-heading>div{min-width:0}
.risk-card h3{font-size:var(--fs-21);line-height:var(--lh-relaxed);letter-spacing:0;white-space:nowrap}
.risk-card h3 b{font-size:var(--fs-28)}
.risk-card h3 span{display:inline;font-size:inherit;margin:0;color:inherit}
.risk-card-heading p{margin-bottom:var(--sp-5)}
.risk-step{width:38px;height:38px;font-size:var(--fs-13)}
@media(min-width:601px) and (max-width:1100px){
.risk-card-heading{padding:var(--sp-18) var(--sp-12);gap:var(--sp-8)}
.risk-card h3{font-size:var(--fs-16)}
.risk-card h3 b{font-size:var(--fs-22)}
.risk-step{width:30px;height:30px;font-size:var(--fs-11)}
}
@media(max-width:600px){
.risk-card-heading{min-height:108px;padding:var(--sp-20) var(--sp-15);gap:var(--sp-10)}
.risk-step{width:32px;height:32px}
}
@media(max-width:360px){
.risk-card h3{font-size:var(--fs-16)}
.risk-card h3 b{font-size:var(--fs-21)}
.risk-card-heading{padding:var(--sp-18) var(--sp-12);gap:var(--sp-8)}
}
/* Balance the FV copy,compact CTA and supporting risk card. */

/* --- FV --- */
.hero-lower{width:min(1120px,calc(100% - 96px));grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--sp-56);margin-top:var(--sp-40);align-items:center}
.hero-heading h1{font-size:var(--fs-30);line-height:1.7;letter-spacing:0}
.hero-heading>.hero-button{width:340px}
.hero-action{border:1px solid #e1f0f7;border-radius:var(--r-ms);box-shadow:0 8px 25px #005b8605}
@media(min-width:601px) and (max-width:1100px){
.hero-lower{width:calc(100% - 64px);gap:var(--sp-28);grid-template-columns:1.2fr 1fr}
.hero-heading h1{font-size:var(--fs-24)}
.hero-action{padding:var(--sp-24) var(--sp-18)}
.hero-heading>.hero-button{width:310px;max-width:100%}
}
@media(min-width:601px) and (max-width:760px){
.hero-lower{grid-template-columns:1fr;gap:var(--sp-26)}
.hero-action{max-width:440px;width:100%}
.hero-heading h1{font-size:var(--fs-29)}
}
@media(max-width:600px){
.hero-lower{width:calc(100% - 40px);grid-template-columns:1fr;gap:var(--sp-24);margin-top:var(--sp-28)}
.hero-heading>.hero-button{max-width:100%}
}
/* Combine the benefit and action in one well-proportioned FV button. */
.hero-heading>.hero-button{width:340px;max-width:100%;margin-top:var(--sp-24);min-height:80px;padding:var(--sp-14) var(--sp-21);gap:var(--sp-14);text-align:left;align-items:center}
.hero-cta-copy{display:flex;flex-direction:column;gap:var(--sp-5);align-items:flex-start}
.hero-cta-benefit{font-weight:500;line-height:var(--lh-normal);letter-spacing:.035em;color:var(--c-cta-x)}
.hero-cta-benefit>span{margin:0 var(--sp-4);opacity:.8}
.hero-cta-label{font-weight:700;letter-spacing:.015em}
.hero-heading>.hero-note{margin-top:var(--sp-11)}
@media(max-width:600px){
.hero-heading>.hero-button{margin-top:var(--sp-20)}
}
/* Tighten the FV risk summary around its contents. */
.hero-action{width:100%;max-width:410px;justify-self:end;padding:var(--sp-17) var(--sp-22) var(--sp-19)}
/* Give the FV application label a clearer visual priority. */
.hero-heading>.hero-button{width:380px;min-height:84px}
.hero-cta-label{font-size:var(--fs-17);line-height:var(--lh-relaxed)}
.hero-cta-benefit{font-size:var(--fs-11)}
@media(min-width:601px) and (max-width:1100px){
.hero-heading>.hero-button{width:350px}
.hero-cta-label{font-size:var(--fs-16)}
}
@media(max-width:600px){
.hero-heading>.hero-button{width:340px;min-height:80px;padding:var(--sp-14) var(--sp-16);gap:var(--sp-10)}
.hero-cta-label{letter-spacing:0}
}
/* Repeated application sections share one clear product and action layout. */

/* --- CTA帯 --- */
.conversion-repeat{padding:44px 0;background:linear-gradient(110deg,#eef9fe,#e3f4fc);border-block:1px solid #d8edf6}
.conversion-inner{display:grid;grid-template-columns:145px 1fr 380px;gap:var(--sp-32);align-items:center;max-width:1120px}
.conversion-package{width:100%;height:auto;filter:drop-shadow(0 8px 9px #005b8614)}
.conversion-copy h2{font-size:var(--fs-23);line-height:var(--lh-heading);font-weight:700;letter-spacing:0;margin:0 0 var(--sp-10)}
.conversion-copy h2 strong{color:var(--c-brand)}
.conversion-copy p{font-size:var(--fs-11);margin:0;color:var(--c-muted-copy)}
.conversion-button{width:100%;padding:var(--sp-16) var(--sp-20);min-height:84px;gap:var(--sp-12);justify-content:space-between;text-align:left}
.conversion-action>p{font-size:var(--fs-9);margin:var(--sp-9) 0 0;color:var(--c-muted-micro);text-align:center}

/* --- 金額 --- */
.purchase-copy>.button{font-size:var(--fs-17);font-weight:700}
@media(max-width:1100px){

/* --- CTA帯 --- */
.conversion-inner{grid-template-columns:110px 1fr;gap:var(--sp-24)}
.conversion-action{grid-column:2;max-width:380px}
.conversion-package{grid-row:1 / 3}
.conversion-copy h2{font-size:var(--fs-24)}
}
@media(max-width:600px){
.conversion-repeat{padding:var(--sp-32) 0}
.conversion-inner{grid-template-columns:74px 1fr;gap:var(--sp-18) var(--sp-14)}
.conversion-package{grid-row:auto}
.conversion-copy h2{line-height:1.7}
.conversion-action{grid-column:1 / -1;width:100%;max-width:340px;justify-self:center}
.conversion-button{min-height:80px;padding:var(--sp-14) var(--sp-16)}
}
/* Compact risk bands: distinguish the overall check from liver-specific risk. */

/* --- FV --- */
.hero-action{background:none;border:0;box-shadow:none;border-radius:0;padding:0;max-width:460px;width:100%}
/* Editorial alternative: one message,without cards or pictograms. */
.hero-action{max-width:420px;padding:0 0 0 var(--sp-30);border-left:2px solid #a9ddf1}
@media(min-width:761px) and (max-width:1100px){
.hero-action{padding-left:var(--sp-22)}
}
@media(max-width:760px){
.hero-action{padding-left:var(--sp-24)}
}
@media(max-width:600px){
.hero-action{padding-left:var(--sp-20)}
}
/* Two overlapping circles express the additional liver-specific check. */
.hero-action{max-width:440px;border:0;padding:0;background:none;box-shadow:none}

/* --- FV 2つのリスクの円 --- */
.risk-orbits{display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}
.risk-orbit{width:210px;aspect-ratio:1;flex:0 1 210px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.risk-orbit-total{background:var(--c-bg-circle);border:1px solid var(--c-line-circle);color:var(--c-brand-soft);margin-right:-14px;padding-right:var(--sp-10)}
.risk-orbit-liver{background:linear-gradient(140deg,var(--c-brand),#008bbf);color:var(--c-white);border:5px solid var(--c-bg-open);z-index:1;padding-left:var(--sp-6)}
.risk-orbit>span{font-size:var(--fs-11);line-height:var(--lh-normal);margin-bottom:var(--sp-9);letter-spacing:.03em}
.risk-orbit strong{font-size:var(--fs-25);font-weight:700;line-height:var(--lh-snug);white-space:nowrap}
.risk-orbit-total strong{font-size:var(--fs-18)}
.risk-orbit strong b{font-size:var(--fs-38);line-height:1;font-weight:600;margin-right:var(--sp-2)}
.risk-orbit>p{margin:var(--sp-8) 0 0;font-size:var(--fs-14);line-height:var(--lh-normal);font-weight:600}
.risk-orbit-plus{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:30px;height:30px;background:var(--c-white);border-radius:50%;color:var(--c-brand-plus);font-size:var(--fs-22);font-weight:400;line-height:1;box-shadow:0 2px 8px #005b8610}
@media(min-width:761px) and (max-width:1100px){
.risk-orbit{width:170px;flex-basis:170px}
.risk-orbit strong{font-size:var(--fs-22)}
.risk-orbit-total strong{font-size:var(--fs-15)}
.risk-orbit strong b{font-size:var(--fs-31)}
.risk-orbit>span{font-size:var(--fs-10)}
.risk-orbit>p{font-size:var(--fs-12)}
}
@media(max-width:760px){

/* --- FV --- */
.hero-action{justify-self:center}

/* --- FV 2つのリスクの円 --- */
.risk-orbit{width:195px;flex-basis:195px}
}
@media(max-width:600px){
.risk-orbit{width:174px;flex-basis:174px}
.risk-orbit>span{margin-bottom:var(--sp-8)}
.risk-orbit>p{margin-top:var(--sp-7)}
.risk-orbit-plus{width:25px;height:25px}
}
/* Smaller paired circles with the supplied product package. */

/* --- FV --- */
.hero-action{max-width:480px}
.hero-risk-product-row{align-items:center;gap:var(--sp-15)}
.hero-risk-product-row .risk-orbits{flex:1;min-width:0}
.hero-risk-product-row .risk-orbit{min-width:0}
.hero-risk-product-row .risk-orbit-total{margin-right:-10px;padding-right:var(--sp-5)}
.hero-risk-product-row .risk-orbit-liver{border-width:3px;padding-left:var(--sp-4)}
.hero-risk-product-row .risk-orbit>span{font-size:var(--fs-9);margin-bottom:var(--sp-7)}
.hero-risk-product-row .risk-orbit strong{font-size:var(--fs-21)}
.hero-risk-product-row .risk-orbit-total strong{font-size:var(--fs-13)}
.hero-risk-product-row .risk-orbit strong b{font-size:var(--fs-29)}
.hero-risk-product-row .risk-orbit>p{font-size:var(--fs-11);margin-top:var(--sp-6)}
.hero-risk-product-row .risk-orbit-plus{width:24px;height:24px;font-size:var(--fs-17)}
@media(min-width:761px) and (max-width:1100px){
.hero-risk-product-row{gap:var(--sp-8)}
.hero-risk-product-row .risk-orbit strong{font-size:var(--fs-17)}
.hero-risk-product-row .risk-orbit-total strong{font-size:var(--fs-11)}
.hero-risk-product-row .risk-orbit strong b{font-size:var(--fs-24)}
.hero-risk-product-row .risk-orbit>span{font-size:var(--fs-8)}
}
@media(max-width:600px){
.hero-risk-product-row .risk-orbit-plus{width:20px;height:20px}
}
/* White surface groups the kit and both risk circles. */
.hero-action{background:var(--c-white);border:1px solid var(--c-line-hero);border-radius:var(--r-2xl);padding:var(--sp-22) var(--sp-18);box-shadow:0 12px 32px #005b8612,0 2px 7px #005b8606}
.hero-risk-product-row .risk-orbit-liver{border-color:var(--c-white)}
@media(min-width:761px) and (max-width:1100px){
.hero-action{padding:var(--sp-20) var(--sp-14)}
.hero-risk-product-row .risk-orbit>span{font-size:var(--fs-7)}
.hero-risk-product-row .risk-orbit strong{font-size:var(--fs-15)}
}
@media(max-width:600px){
.hero-action{border-radius:15px;box-shadow:0 9px 25px #005b8612}
.hero-risk-product-row{gap:var(--sp-8)}
}
/* Let the kit float over the upper-right corner of the white card. */
.hero-action{position:relative;overflow:visible;padding:var(--sp-26) var(--sp-22) var(--sp-22);margin-top:var(--sp-16)}
.hero-risk-product-row{display:block}
.hero-risk-product-row .risk-orbits{width:100%;justify-content:center}
@media(max-width:760px){
.hero-action{margin-top:var(--sp-25)}
}
@media(max-width:600px){
.hero-action{margin-top:var(--sp-26)}
}
/* Increase headline prominence and reduce the adjacent summary card. */
.hero-heading h1{font-size:var(--fs-34);line-height:var(--lh-heading)}
.hero-action{max-width:410px;padding:var(--sp-20) var(--sp-20) var(--sp-18)}
.hero-risk-product-row .risk-orbit{width:142px;flex-basis:142px}
@media(min-width:761px) and (max-width:1100px){
.hero-heading h1{font-size:var(--fs-27)}
.hero-action{max-width:370px;padding:var(--sp-19) var(--sp-15) var(--sp-16)}
}
@media(max-width:760px){
.hero-heading h1{font-size:var(--fs-32)}
.hero-action{max-width:380px;padding:var(--sp-20) var(--sp-17) var(--sp-17)}
}
@media(max-width:600px){
.hero-heading h1{line-height:var(--lh-heading)}
.hero-action{max-width:320px;padding:var(--sp-18) var(--sp-12) var(--sp-15)}
.hero-risk-product-row .risk-orbit{flex-basis:128px}
}
@media(max-width:360px){
.hero-heading h1{font-size:var(--fs-28)}
}
/* Bright yellow emphasis covers the lower half of the glyphs,not an underline. */

/* --- テキスト装飾 --- */
.text-marker{background-image:linear-gradient(transparent 50%,var(--c-marker) 50%,var(--c-marker) 94%,transparent 94%);background-repeat:no-repeat;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .035em;text-decoration:none}
/* Physician message: portrait-led editorial composition. */

/* --- 医師からのメッセージ --- */
.doctor{background:linear-gradient(180deg,var(--c-white) 0%,#f4fafc 100%);padding:90px 0 96px}
.doctor-editorial{display:grid;grid-template-columns:340px minmax(0,1fr);gap:var(--sp-76);align-items:start;max-width:1080px}
.doctor-portrait{position:relative;padding:0 var(--sp-16) 0 0}
.doctor-portrait:before{content:"";position:absolute;inset:26px 0 65px 24px;background:#dff2fa;border-radius:4px 4px 60px 4px}
.doctor-portrait>img{display:block;position:relative;width:100%;height:370px;object-fit:cover;object-position:50% 25%;border-radius:4px 4px 60px 4px}
.doctor-signature{position:relative;margin:var(--sp-24) 0 0 var(--sp-22);padding-left:var(--sp-18);border-left:2px solid var(--c-brand)}
.doctor-signature>p{font-size:var(--fs-12);color:var(--c-muted-sign);margin:0 0 var(--sp-7)}
.doctor-signature>div{display:flex;align-items:baseline;gap:var(--sp-16)}
.doctor-signature strong{font-size:var(--fs-25);font-weight:600;letter-spacing:.12em}
.doctor-signature span{font-size:var(--fs-12);color:var(--c-muted-sign)}
.doctor-message{padding-top:var(--sp-10)}
.doctor-message h2{display:flex;align-items:center;gap:var(--sp-14);font-size:var(--fs-13);font-weight:600;letter-spacing:.12em;color:var(--c-brand-eyebrow);margin:0 0 var(--sp-25);line-height:var(--lh-relaxed)}
.doctor-message h2:before{content:"";width:30px;height:1px;background:var(--c-brand)}
.doctor .doctor-message blockquote{margin:0;padding:0;background:none;border:0;box-shadow:none;position:static}
.doctor .doctor-message blockquote:before,.doctor .doctor-message blockquote:after{content:none}
.doctor .doctor-message blockquote p{font-size:var(--fs-15);line-height:2.15;letter-spacing:.025em;margin:0;text-align:justify}
.doctor-message-intro>strong{display:block;color:#007fae;font-size:var(--fs-23);line-height:var(--lh-body-lg);font-weight:700;letter-spacing:.025em;margin-bottom:var(--sp-21)}
@media(max-width:1000px){
.doctor-editorial{grid-template-columns:280px minmax(0,1fr);gap:var(--sp-40)}
.doctor-portrait>img{height:330px}
.doctor-message-intro>strong{font-size:var(--fs-21)}
.doctor .doctor-message blockquote p{font-size:var(--fs-14)}
}
@media(max-width:760px){
.doctor{padding:var(--sp-56) 0 var(--sp-62)}
.doctor-editorial{grid-template-columns:1fr;gap:var(--sp-32);max-width:540px}
.doctor-portrait{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:var(--sp-20);padding:0}
.doctor-portrait:before{inset:12px auto -10px 12px;width:140px;border-radius:4px 4px 36px 4px}
.doctor-portrait>img{height:166px;border-radius:4px 4px 36px 4px}
.doctor-signature{margin:0;padding-left:var(--sp-14)}
.doctor-signature>p{font-size:var(--fs-10)}
.doctor-signature strong{font-size:var(--fs-21)}
.doctor-signature>div{gap:var(--sp-9)}
.doctor-signature span{font-size:var(--fs-11)}
.doctor-message{padding-top:0}
.doctor-message h2{font-size:var(--fs-12);margin-bottom:var(--sp-18)}
.doctor-message-intro>strong{font-size:var(--fs-21);line-height:var(--lh-body);margin-bottom:var(--sp-20)}
.doctor .doctor-message blockquote p{font-size:var(--fs-14);line-height:2.05}
.doctor .doctor-message blockquote .doctor-message-body{padding-top:var(--sp-20);margin-top:var(--sp-20)}
}
@media(max-width:360px){
.doctor-portrait{grid-template-columns:120px 1fr;gap:var(--sp-15)}
.doctor-portrait:before{width:120px}
.doctor-signature strong{font-size:var(--fs-18)}
}
/* 2026-10-09 先方FB反映（PC）：可読性まわりのサイズ・余白調整 */

/* --- 実績 --- */
.proof-asof{margin:var(--sp-18) 0 0;font-size:var(--fs-11);letter-spacing:.03em;color:#bad0dc}

/* --- 2つのリスクを調べる --- */
.risk-conclusion p{font-size:var(--fs-20);font-weight:600;color:var(--ink);gap:0}
@media(max-width:600px){
.risk-conclusion p{line-height:var(--lh-loose)}

/* --- 実績 --- */
.proof-asof{margin-top:var(--sp-14)}
}
@media(min-width:601px){
.proof-grid .proof-caption{font-size:var(--fs-17)}

/* --- 医師相談サポート --- */
.support{padding:var(--sp-62) 0}
.support-inner{gap:var(--sp-30)}
.support h2{margin-bottom:var(--sp-16)}
.support p:not(.eyebrow){font-size:var(--fs-12);line-height:2.1}
}
/* ===== PC確定デザイン（Figma v2 / 1254:135）反映 ===== */
:root{--sans:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;--serif:'Zen Kaku Gothic New','Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}

/* --- CTAボタン内の検査キット --- */
.cta-package{display:block;flex-shrink:0;width:69px;height:47px;object-fit:cover;filter:drop-shadow(0 6px 11px rgba(0,91,134,.15))}

/* --- FV --- */
.hero-cta-benefit em{font-style:normal;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
@media(min-width:601px){
/* ヘッダー */

/* --- ヘッダー --- */
.brand-organ{border-left-color:var(--c-brand);font-weight:400}
.header nav{font-size:var(--fs-11);gap:var(--sp-29)}
.header nav a{line-height:var(--lh-loose)}
.header .button.small{border-radius:var(--r-pill);min-height:44px;padding:var(--sp-13) var(--sp-20);gap:var(--sp-20);font-size:var(--fs-12);font-weight:700;letter-spacing:.025em;background-image:linear-gradient(140deg,var(--c-accent-light) 8%,var(--c-accent) 92%);box-shadow:0 5px 7.5px rgba(217,107,20,.11)}
.header .button.small svg{width:20px;height:20px;stroke-width:1.7}
/* 安心ポイント帯 */

/* --- 安心ポイント帯 --- */
.trust-strip{color:var(--c-marker);padding:var(--sp-25) 0}
.trust-strip>div{width:371px;gap:var(--sp-15);font-size:var(--fs-18);font-weight:700;line-height:1.27;letter-spacing:.04em;border-right-color:rgba(255,255,255,.19)}
.trust-strip svg{width:28px;height:28px;stroke-width:1.5}
/* FV 見出し・CTA */

/* --- FV --- */
.hero-lower{width:min(1120px,calc(100% - 96px));margin-top:var(--sp-40);grid-template-columns:601px minmax(0,1fr);gap:var(--sp-56);align-items:center}
.hero-heading h1,.hero h1{font-size:var(--fs-34);line-height:var(--lh-heading);letter-spacing:0;font-weight:700;color:var(--c-ink)}
.hero h1 strong{color:var(--c-brand);font-weight:700}
.hero-heading>.hero-button{width:auto;min-width:0;min-height:84px;padding:var(--sp-14) var(--sp-21) var(--sp-14) var(--sp-32);gap:var(--sp-14);border-radius:var(--r-pill);background-image:linear-gradient(150deg,var(--c-accent-light) 8.5%,var(--c-accent) 91.5%);box-shadow:0 5px 7.5px rgba(217,107,20,.11);justify-content:flex-start;margin-top:var(--sp-24)}
.hero-heading>.hero-button:hover{background-image:linear-gradient(150deg,var(--c-accent-hover) 8.5%,var(--c-accent-hover-deep) 91.5%);box-shadow:0 8px 16px rgba(217,107,20,.2)}
.hero-cta-copy{gap:var(--sp-5);align-items:center}
.hero-cta-benefit{display:flex;align-items:center;gap:var(--sp-7);font-size:var(--fs-18);font-weight:700;line-height:1.1;letter-spacing:.021em;color:var(--c-marker)}
.hero-cta-benefit>span{font-family:'Poppins',var(--sans);font-size:var(--fs-11);font-weight:500;color:var(--c-cta-x);opacity:1;margin:0}
.hero-cta-label{font-size:var(--fs-20);font-weight:700;line-height:1.36;letter-spacing:.013em;white-space:nowrap}
.hero-cta-benefit{white-space:nowrap}
.hero-heading>.hero-note{margin-top:var(--sp-11);font-size:var(--fs-8);line-height:var(--lh-body-lg);color:var(--c-muted-light)}
/* FV 右カード */
.hero-action{position:relative;background:none;border:0;box-shadow:none;padding:0;width:fit-content;max-width:none;margin-left:auto;display:block}
.hero-risk-ribbon{position:absolute;z-index:2;top:-6px;left:50%;transform:translateX(-50%);margin:0;padding:var(--sp-5) var(--sp-12);border-radius:var(--r-pill-lg);background:var(--c-brand);color:var(--c-white);font-size:var(--fs-20);font-weight:700;line-height:1.23;letter-spacing:0;white-space:nowrap}
.hero-risk-summary{width:auto;max-width:479px;margin-left:auto;margin-top:var(--sp-19);padding:var(--sp-20) var(--sp-40);background:var(--c-white);border:1px solid var(--c-line-hero);border-radius:21px;box-shadow:0 14px 19px rgba(0,91,134,.07),0 2px 4px rgba(0,91,134,.02);display:flex;align-items:center;justify-content:center}
.hero-risk-product-row{display:flex;justify-content:center;gap:0}
.hero-risk-product-row .risk-orbits{flex:none}
.hero-risk-product-row .risk-orbit{width:170px;flex:0 0 170px}
.hero-risk-product-row .risk-orbit-total{background:var(--c-bg-circle);border:1px solid var(--c-line-circle);color:var(--c-brand-soft);margin-right:-16px;padding-right:var(--sp-6)}
.hero-risk-product-row .risk-orbit-liver{background:linear-gradient(140deg,var(--c-accent-bright) 4%,var(--c-accent-deep) 96%);border:4px solid var(--c-white);color:var(--c-white);padding-left:var(--sp-5)}
.hero-risk-product-row .risk-orbit>span{font-size:var(--fs-15);font-weight:500;line-height:1.05;letter-spacing:.021em;margin-bottom:var(--sp-8)}
.hero-risk-product-row .risk-orbit-liver>span{color:var(--c-white)}
.hero-risk-product-row .risk-orbit strong{font-size:var(--fs-16);font-weight:700;line-height:var(--lh-snug)}
.hero-risk-product-row .risk-orbit-total strong{font-size:var(--fs-16)}
.hero-risk-product-row .risk-orbit-liver strong{font-size:var(--fs-25);color:var(--c-marker)}
.hero-risk-product-row .risk-orbit strong b{font-family:'Poppins',var(--sans);font-size:var(--fs-35);font-weight:600;line-height:1;margin-right:var(--sp-2)}
.hero-risk-product-row .risk-orbit>p{margin-top:var(--sp-7);font-size:var(--fs-18);font-weight:700;line-height:1.07}
.hero-risk-product-row .risk-orbit-liver>p{color:var(--c-marker)}
.hero-risk-product-row .risk-orbit-plus{width:28px;height:28px;border-radius:var(--r-lg);font-family:'Poppins',var(--sans);font-size:var(--fs-20);font-weight:400;color:var(--c-brand-plus);box-shadow:0 2px 5px rgba(0,91,134,.06)}
/* お悩み3カード */

/* --- お悩み3カード --- */
.worries h2{font-size:var(--fs-31);line-height:var(--lh-heading);letter-spacing:.06em;font-weight:700;color:var(--c-ink)}
.worry-grid{gap:var(--sp-20);align-items:stretch}
.worry-grid p:nth-child(2){margin-top:0;margin-bottom:0}
.worry-grid p{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--sp-35) var(--sp-22);font-size:var(--fs-20);font-weight:700;line-height:1.55;color:var(--c-ink);box-shadow:0 14px 17.5px rgba(0,91,134,.03)}
.worry-grid p:before{font-family:'Poppins',var(--sans);font-size:var(--fs-68);line-height:1}
.worry-grid span{font-family:'Poppins',var(--sans);font-size:var(--fs-16);font-weight:400;line-height:1.71;letter-spacing:.065em;color:var(--c-brand);margin-bottom:var(--sp-17)}
.solution-pre{font-size:var(--fs-20);font-weight:700;line-height:1.14;color:var(--c-ink);margin-bottom:var(--sp-10)}
.worries h3{font-size:var(--fs-26);line-height:var(--lh-body);font-weight:700}
/* 2つのリスクを調べる */

/* --- 2つのリスクを調べる --- */
.about{position:relative;padding:var(--sp-60) 0;background:none;isolation:isolate}
.about:after{content:'';position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.8)}
.risk-intro{display:block;margin-bottom:0}
.risk-intro h2{font-size:var(--fs-38);line-height:var(--lh-relaxed);letter-spacing:.06em;font-weight:700;margin-bottom:var(--sp-10)}
.risk-intro p:not(.eyebrow){font-size:var(--fs-24);font-weight:500;line-height:1.56;color:var(--c-ink)}
.risk-sequence{grid-template-columns:531px 58px 531px;margin-top:42px}
.risk-card-heading{gap:var(--sp-14);padding:var(--sp-24);min-height:122px}
.risk-step{width:70px;height:70px;font-family:'Poppins',var(--sans);font-size:var(--fs-28);font-weight:400;line-height:1}
.risk-card-heading p{font-size:var(--fs-20);font-weight:700;line-height:1.14;color:var(--c-muted);margin:0}
.risk-card h3{font-size:var(--fs-28);line-height:1.45;color:var(--c-brand-ink)}
.risk-card h3 b{font-size:var(--fs-35);font-weight:700;font-family:var(--sans)}
.risk-card h3 span{display:inline;font-size:var(--fs-28);color:var(--c-brand-ink);margin:0}
.risk-visual{height:355px;padding:var(--sp-22);display:flex;flex-direction:column;align-items:center;justify-content:center;background-image:linear-gradient(155deg,var(--c-bg-open) 6%,var(--c-bg-card2) 94%);border-top:1px solid var(--c-line-inner);border-bottom:1px solid var(--c-line-inner)}

/* --- 23種のがんチップ --- */
.cancer-chip-list{width:485px;gap:var(--sp-7)}
.cancer-chip-list li{font-size:var(--fs-14);line-height:1.18;padding:var(--sp-6) var(--sp-7);white-space:nowrap}
.cancer-chip-list li:nth-child(9){font-size:var(--fs-11)}
.cancer-chip-list li>span{font-size:var(--fs-12);line-height:1.13}
.cancer-chip-notes{width:485px;font-size:var(--fs-10);line-height:var(--lh-normal);margin-top:var(--sp-13)}

/* --- 2つのリスクを調べる --- */
.risk-visual-liver{padding:0 var(--sp-12) var(--sp-14);background-image:linear-gradient(155deg,var(--c-bg-open) 6%,var(--c-bg-card2) 94%)}

/* --- 肝臓の図版 --- */
.liver-diagram{height:318px}
.diagram-note{font-size:var(--fs-11);line-height:var(--lh-loose)}

/* --- 2つのリスクを調べる --- */
.risk-caption{font-size:var(--fs-20);font-weight:700;line-height:1.26;margin:var(--sp-24) var(--sp-26) 0}
.risk-disclaimer{font-size:var(--fs-12);line-height:var(--lh-normal);margin:var(--sp-10) var(--sp-26) var(--sp-24)}
.risk-add{font-family:'Poppins',var(--sans);font-size:var(--fs-40);line-height:var(--lh-loose)}
.risk-conclusion{margin-top:var(--sp-34);padding:var(--sp-24)}
.risk-conclusion>p{display:flex;align-items:center;justify-content:center;min-height:57px;padding-top:var(--sp-7);margin:0;font-size:var(--fs-24);font-weight:700;line-height:1.43;color:var(--c-ink)}
.risk-final-note{font-size:var(--fs-10);line-height:var(--lh-body-lg);margin-top:var(--sp-17)}
/* 実績 */

/* --- 実績 --- */
.proof h2{font-family:var(--sans);font-size:var(--fs-32);font-weight:500;letter-spacing:.1em;line-height:1.7;margin:0 0 var(--sp-40)}
.proof-grid{margin:0;padding:var(--sp-34) 0 var(--sp-32)}
.proof-grid>div{display:flex;flex-direction:column;justify-content:center;padding:0 var(--sp-20)}
.proof-grid span{font-family:var(--sans);font-size:var(--fs-20);font-weight:700;letter-spacing:.035em;line-height:1.33;color:#e7f4fb}
.proof-grid strong{display:block;height:124px;padding-top:var(--sp-4);font-family:'Shippori Mincho',var(--serif),serif;font-size:var(--fs-76);font-weight:500;letter-spacing:-.035em;line-height:114px;margin:0;text-shadow:none}
.proof-grid small{font-family:var(--sans);font-size:var(--fs-23);font-weight:700;line-height:var(--lh-normal);margin-left:var(--sp-4)}
.proof-grid .proof-prefix{font-size:var(--fs-17);color:var(--c-ink-faint);margin:0 var(--sp-4) 0 0}
.proof-caption{font-size:var(--fs-20);font-weight:700;letter-spacing:.035em;line-height:1.33;color:#e7f4fb}
.proof-asof{font-size:var(--fs-13);line-height:1.54;letter-spacing:.03em;color:var(--c-line-proof);margin:0}
/* 下部CTA帯 */

/* --- CTA帯 --- */
.conversion-inner{grid-template-columns:145px minmax(0,1fr) 405px}
.conversion-button{width:100%;border-radius:var(--r-pill);min-height:84px;padding:var(--sp-14) var(--sp-21) var(--sp-14) var(--sp-32);gap:var(--sp-14);background-image:linear-gradient(150deg,var(--c-accent-light) 8.5%,var(--c-accent) 91.5%);box-shadow:0 5px 7.5px rgba(217,107,20,.11);justify-content:flex-start}
.conversion-button:hover{background-image:linear-gradient(150deg,var(--c-accent-hover) 8.5%,var(--c-accent-hover-deep) 91.5%)}
}
@media(max-width:600px){

/* --- FV --- */
.hero-risk-ribbon{position:static;transform:none;display:block;margin:0 0 var(--sp-13);padding:0;background:none;color:var(--c-muted-head);font-size:var(--fs-11);font-weight:600;text-align:center;white-space:normal}

/* --- CTAボタン内の検査キット --- */
.cta-package{width:52px;height:36px}
}
@media(min-width:601px){
/* 医師からのメッセージ */

/* --- 医師からのメッセージ --- */
.doctor{padding:90px 0;background:var(--c-brand);color:var(--c-white)}
.doctor-editorial{grid-template-columns:340px 664px;gap:var(--sp-76);max-width:1080px;align-items:start}
.doctor-portrait{padding:0;height:407px}
.doctor-portrait:before{inset:26px 0 0 24px;height:380px}
.doctor-portrait>img{width:324px;height:370px}
.doctor-message{padding-top:var(--sp-10)}
.doctor-message h2{font-size:var(--fs-17);font-weight:700;letter-spacing:.092em;line-height:1.22;color:var(--c-white);margin:0 0 var(--sp-25)}
.doctor-message h2:before{content:'';width:30px;height:1px;background:var(--c-white);flex-shrink:0}
.doctor blockquote{background:none;border:0;border-radius:0;padding:0;margin:0}
.doctor .doctor-message blockquote p{font-size:var(--fs-17);line-height:var(--lh-loose);letter-spacing:.022em;color:var(--c-white);text-align:justify;margin:0}
.doctor-message-intro{padding-bottom:var(--sp-22);border-bottom:1px solid var(--c-line-quote);margin-bottom:var(--sp-22)}
.doctor-message-intro>strong{display:block;font-size:var(--fs-23);font-weight:700;line-height:var(--lh-body-lg);letter-spacing:.025em;padding-bottom:var(--sp-21)}
.doctor-message-body{padding-top:0}
.doctor-signature{margin:var(--sp-22) 0 0;padding-left:var(--sp-18);border-left:2px solid var(--c-white);width:302px}
.doctor-signature>p{font-size:var(--fs-12);line-height:var(--lh-loose);color:var(--c-white);margin:0}
.doctor-signature>div{align-items:baseline;gap:var(--sp-14)}
.doctor-signature strong{font-size:var(--fs-25);font-weight:700;letter-spacing:.12em;line-height:var(--lh-loose)}
.doctor-signature span{font-size:var(--fs-12);color:var(--c-white)}
/* 選ばれる3つの理由 */

/* --- 選ばれる3つの理由 --- */
.reasons{padding:96px 0}
.reasons-heading{display:block;text-align:center;margin-bottom:var(--sp-43)}
.reasons-heading h2{font-size:var(--fs-36);font-weight:700;line-height:var(--lh-heading);letter-spacing:.06em;color:var(--c-ink);margin:0}
.reasons-heading h2 .text-marker{font-size:var(--fs-38);color:var(--c-brand);line-height:var(--lh-relaxed)}
.reason-grid{gap:var(--sp-22)}
.reason-grid article{grid-template-columns:150px minmax(0,.8fr) minmax(0,1fr);column-gap:var(--sp-32);padding:var(--sp-35) var(--sp-40);box-shadow:0 14px 17.5px rgba(0,91,134,.03)}
.reason-top{gap:0;justify-content:space-between}
.reason-top>span{font-family:'Poppins',var(--sans);font-size:var(--fs-50);font-weight:400;line-height:var(--lh-loose);color:var(--c-num-soft)}
.reason-top svg{width:48px;height:48px;stroke-width:1.5;color:var(--c-brand)}
.reason-grid h3{font-size:var(--fs-29);font-weight:700;line-height:1.45;color:var(--c-ink);margin:0}
.reason-grid p{font-size:var(--fs-18);line-height:1.59;color:var(--c-muted);margin:0;white-space:nowrap}
.reason-grid h3{white-space:nowrap}
/* 早期発見の大切さ */

/* --- 早期発見の大切さ --- */
.awareness{background:var(--c-brand-dark);padding:var(--sp-105) 0 var(--sp-55)}
.awareness-header{margin-bottom:0}
.awareness h2{font-size:var(--fs-32);font-weight:700;letter-spacing:.06em;line-height:var(--lh-heading);margin:0}
.awareness-header>p:not(.eyebrow){font-size:var(--fs-18);line-height:var(--lh-body);color:#e0f5fc;margin:var(--sp-27) 0 var(--sp-13)}
.awareness .source{font-size:var(--fs-9);line-height:var(--lh-loose);color:#c1e8f7}

/* --- 生存率グラフ --- */
.survival{grid-template-columns:429px minmax(0,1fr);gap:var(--sp-60);margin-top:var(--sp-50);padding:var(--sp-45) 0;border-color:rgba(255,255,255,.16)}
.chart-copy{display:flex;flex-direction:column;gap:var(--sp-15)}
.chart-copy .tag-outline{align-self:flex-start;border:1.5px solid var(--c-line-tag);padding:var(--sp-5) var(--sp-15);font-size:var(--fs-20);font-weight:700;letter-spacing:.015em;line-height:.95;color:#e0f5fc}
.chart-copy h3{font-size:var(--fs-32);font-weight:700;line-height:1.45;color:var(--c-white);margin:0}
.chart-copy p{font-size:var(--fs-18);line-height:1.45;color:#ceeffc;margin:0}
.chart{background:var(--c-marker);border:2px solid var(--c-white);border-radius:var(--r-md);padding:var(--sp-25) var(--sp-30);display:flex;flex-direction:column;align-items:center}
.chart-title{align-self:center;background:var(--c-white);border-radius:var(--r-pill-sm);padding:var(--sp-6) var(--sp-20);font-size:var(--fs-18);font-weight:400;letter-spacing:.03em;line-height:1.16;color:var(--c-black);margin:0}
.bars{width:100%;height:224px;margin:var(--sp-11) 0 0;padding:0 var(--sp-14);border-bottom:1px solid var(--c-muted)}
.bar-col>b{font-family:'Poppins',var(--sans);font-size:var(--fs-30);font-weight:400;line-height:var(--lh-snug);color:var(--c-black);margin-bottom:var(--sp-8)}
.bar-col>b small{font-size:var(--fs-12);color:var(--c-black)}
.bar-col>span{bottom:-24px;font-size:var(--fs-13);color:var(--c-black)}
.bar-col:first-child .bar{background:var(--c-bar-1)}
.bar-col:first-child b{color:var(--c-black)}
.bar-col:nth-child(2) .bar{background:var(--c-bar-2)}
.bar-col:nth-child(3) .bar{background:var(--c-bar-3)}
.bar-col:nth-child(4) .bar{background:var(--c-bar-4)}
.chart-notes{width:100%;display:flex;flex-direction:column;gap:var(--sp-4);margin:47px 0 0;color:var(--c-muted)}
.chart-notes p{margin:0;font-size:var(--fs-11);line-height:1.64}
.chart-notes-url{font-size:var(--fs-10);line-height:var(--lh-relaxed);word-break:break-all}
.chart-notes a{color:inherit}

/* --- 早期発見の大切さ --- */
.awareness-bottom{height:85px;margin-top:0;padding-top:var(--sp-35);gap:0}
.awareness-bottom p{font-size:var(--fs-24);font-weight:700;line-height:var(--lh-loose);color:var(--c-white)}
.awareness-bottom strong{font-weight:700}
/* 線虫の仕組み */

/* --- 線虫の仕組み --- */
.mechanism{padding:var(--sp-105) 0}
.mechanism h2{font-size:var(--fs-36);font-weight:700;line-height:var(--lh-heading);letter-spacing:.06em;color:var(--c-ink);margin:0}
.mechanism .section-intro{font-size:var(--fs-15);line-height:1.76;color:var(--c-muted);margin:var(--sp-27) 0 0}
.mechanism-grid{grid-template-columns:507.5px 507.5px;gap:var(--sp-35);max-width:1050px;margin:var(--sp-45) auto var(--sp-32)}
.step-label{height:38px;padding:var(--sp-8) 0 0;font-family:'Poppins',var(--sans);font-size:var(--fs-24);font-weight:400;letter-spacing:.046em;line-height:.87;color:var(--c-ink)}
.step-label span{font-family:var(--sans);font-size:var(--fs-20);letter-spacing:.011em;line-height:1.05}
.step-label.orange,.step-label.orange span{color:var(--c-brand)}
.step-movie{margin:0;display:flex;flex-direction:column;gap:var(--sp-15)}
.step-movie figcaption{font-size:var(--fs-14);line-height:1.29;margin:0}
.mechanism-grid h3{font-size:var(--fs-22);font-weight:700;line-height:var(--lh-body);margin:var(--sp-23) 0 0}
.mechanism-grid p{font-size:var(--fs-17);line-height:var(--lh-heading);color:var(--c-ink);margin:var(--sp-14) 0 var(--sp-12)}
.mechanism-grid small{display:block;font-size:var(--fs-9);line-height:var(--lh-loose);color:var(--c-muted)}
.mechanism-plus{top:180px;left:calc(50% - 19px);width:38px;height:38px;display:grid;place-items:center;background:var(--c-white);border-radius:19px;font-family:'Poppins',var(--sans);font-size:var(--fs-26);line-height:1;color:var(--c-brand)}
.medical-note{display:block;background:none;padding:0;text-align:left}
.medical-note p{font-size:var(--fs-11);line-height:var(--lh-loose);color:var(--c-muted)}
}
/* ユーザーの声 アバター */

/* --- ユーザーの声 --- */
.voice-attr{display:flex;align-items:center;gap:var(--sp-9)}
.voice-avatar{position:relative;display:block;flex-shrink:0;width:32px;height:32px;border-radius:var(--r-xl);overflow:hidden;background:var(--c-bg-avatar)}
.voice-avatar img{position:absolute;left:-28.32%;top:0;width:156.63%;height:156.63%;max-width:none}
@media(min-width:601px){
.voices{padding:var(--sp-105) 0}
.voices .section-heading h2{font-size:var(--fs-36);font-weight:700;line-height:var(--lh-heading);letter-spacing:.02em;margin:0}
.voices .section-heading>p{font-size:var(--fs-14);line-height:1.93;color:var(--c-muted)}
.voice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-23);margin-bottom:0}
.voice-grid article{padding:var(--sp-29) var(--sp-27) var(--sp-23);box-shadow:0 14px 18px rgba(0,91,134,.03)}
.voice-grid article:nth-child(2){margin-top:0;margin-bottom:0}
.voice-top{align-items:flex-start;margin-bottom:var(--sp-25);font-size:var(--fs-12);letter-spacing:.037em}
.voice-top>span:first-child{font-family:'Poppins',var(--sans);font-size:var(--fs-15);line-height:1.14;padding-bottom:var(--sp-8)}
.voice-grid h3{font-size:var(--fs-24);font-weight:700;line-height:1.45;letter-spacing:-.016em;margin-bottom:var(--sp-20);white-space:nowrap}
.voice-grid h3 span{font-size:inherit}
.voice-grid>article>p{font-size:var(--fs-18);line-height:1.45;color:var(--c-muted);margin-bottom:var(--sp-11)}
.voice-grid summary{padding:var(--sp-13) 0;font-size:var(--fs-10);line-height:var(--lh-loose);color:var(--c-ink)}
.voice-grid summary span{font-family:'Poppins',var(--sans)}
.voice-grid details p{font-size:var(--fs-10);line-height:var(--lh-note);padding:var(--sp-10) 0}
.voice-grid footer{font-size:var(--fs-12);line-height:1.74;color:var(--c-ink);margin-top:var(--sp-14)}
.voices>.container>.micro{margin-top:var(--sp-30)}
/* 受検の流れ */

/* --- 受検の流れ --- */
.flow{padding:var(--sp-105) 0}
.flow h2{font-size:var(--fs-32);font-weight:700;line-height:var(--lh-heading);letter-spacing:.06em;margin:0}
.flow .section-intro{font-size:var(--fs-18);line-height:1.47;color:var(--c-muted);margin:var(--sp-27) 0 0}
.flow-grid{gap:var(--sp-16);margin:var(--sp-45) auto 0;max-width:850px}
.flow-grid li{grid-template-columns:64px 65px 150px minmax(0,1fr);gap:var(--sp-26);padding:var(--sp-20) var(--sp-25) var(--sp-20) 0}
.flow-grid .flow-number{font-family:'Poppins',var(--sans);font-size:var(--fs-21);line-height:var(--lh-loose)}
.flow-grid h3{font-size:var(--fs-24);font-weight:700;line-height:1.17;color:var(--c-ink)}
.flow-grid p{font-size:var(--fs-18);line-height:1.33;color:var(--c-muted);margin:0}
.flow>.container>.micro{margin:var(--sp-19) 0 0}
/* 金額 */

/* --- 金額 --- */
.purchase{padding:var(--sp-105) 0 var(--sp-55);background:var(--c-bg-cream)}
.purchase-panel{grid-template-columns:560px 560px;border-radius:var(--r-4xl);overflow:hidden;box-shadow:0 12px 24px rgba(0,91,134,.02)}
.purchase-visual{padding:0;background:var(--c-bg-photo);display:block}
.purchase-visual .package-image{width:100%;height:100%;max-width:none;object-fit:cover;filter:none}
.purchase-copy{display:flex;flex-direction:column;gap:var(--sp-14);align-items:flex-start;padding:var(--sp-50) var(--sp-45);align-self:stretch}
.purchase-copy h3{font-size:var(--fs-34);font-weight:500;letter-spacing:-.022em;line-height:1.29;color:var(--c-brand);margin:0}
.purchase-copy h3 span{font-size:var(--fs-29)}
.purchase-copy>p{font-size:var(--fs-18);line-height:var(--lh-snug);color:var(--c-ink);margin:0}
.price{display:flex;align-items:baseline;gap:var(--sp-4);height:51px;border:0;padding:0;margin:0}
.price>span:first-child{align-self:center;font-size:var(--fs-10);line-height:var(--lh-snug);margin:0 var(--sp-4) 0 0;white-space:nowrap}
.price strong{font-family:'Poppins',var(--sans);font-size:var(--fs-47);font-weight:400;line-height:var(--lh-tight);letter-spacing:-.04em;color:var(--c-ink)}
.price>span:last-child{font-size:var(--fs-17);color:var(--c-ink)}
.price small{font-size:var(--fs-9);margin-left:var(--sp-4)}
.purchase-points{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6);margin:0;font-size:var(--fs-15)}
.purchase-points li{display:flex;align-items:center;gap:var(--sp-5);margin:0;padding:var(--sp-4) var(--sp-11);border-radius:var(--r-3xl);background:var(--c-brand-vivid);color:var(--c-white);line-height:1.39}
.purchase-points li:before{content:'✓';margin:0;font-family:'Poppins',var(--sans);font-size:var(--fs-13);color:var(--c-marker)}
.cancer-details{width:100%;padding:0;display:flex;flex-direction:column;gap:var(--sp-8)}
.cancer-box{background:var(--c-bg-box);border-radius:var(--r-md);padding:var(--sp-10) var(--sp-20);display:flex;flex-direction:column;gap:var(--sp-8)}
.cancer-box-title{margin:0;font-size:var(--fs-15);font-weight:500;line-height:var(--lh-relaxed);color:var(--c-ink)}
.cancer-box-list{margin:0;font-size:var(--fs-12);line-height:1.45;color:var(--c-black)}
.cancer-notes{margin:0;font-size:var(--fs-10);line-height:1.45;color:var(--c-muted)}
.purchase-copy .button{width:470px;min-height:59px;height:70px;padding:var(--sp-18);border-radius:var(--r-xs);background-image:linear-gradient(158deg,var(--c-accent-light) 8.5%,var(--c-accent) 91.5%);box-shadow:0 5px 7.5px rgba(217,107,20,.11);font-size:var(--fs-20);font-weight:700;letter-spacing:.021em;justify-content:space-between}
.purchase-copy .button svg{width:20px;height:20px}
.purchase-copy>.micro{font-size:var(--fs-12);line-height:1.58;color:var(--c-muted);margin:0}
}
/* 医師相談サポート */

/* --- 医師相談サポート --- */
.support{background:var(--c-white);border-bottom:1px solid var(--c-line);padding:53px 0}
.support-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-40)}
.support-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-10);width:504px;max-width:100%}
.support p.support-eyebrow{margin:0;font-size:var(--fs-25);font-weight:500;line-height:var(--lh-normal);color:var(--c-brand);text-transform:uppercase}
.support h2{margin:0;font-size:var(--fs-40);font-weight:700;line-height:var(--lh-normal);color:var(--c-ink-strong);letter-spacing:0}
.support-lead{font-size:var(--fs-18);font-weight:500;line-height:var(--lh-body);color:var(--c-ink-body)}
.support-box{width:100%;display:flex;flex-direction:column;gap:var(--sp-14);padding:var(--sp-20) var(--sp-30);border-radius:var(--r-md);background:var(--c-bg-cream)}
.support-box-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-16)}
.support-box-head a{font-size:var(--fs-24);font-weight:700;line-height:var(--lh-body);color:var(--c-brand)}
.support-box-icon{flex-shrink:0;width:32px;height:32px;line-height:0}
.support-box-icon svg{width:32px;height:32px;fill:none}
.support-chips{display:flex;gap:var(--sp-20)}
.support-chips span{flex:1;display:flex;align-items:center;justify-content:center;padding:0 var(--sp-10);background:var(--c-bg-chip);font-size:var(--fs-18);font-weight:500;line-height:var(--lh-body);color:var(--c-ink-body);white-space:nowrap}
.support p.support-note{margin:0;font-size:var(--fs-18);font-weight:500;line-height:var(--lh-body);color:var(--c-ink-body)}
.support-photo{position:relative;flex-shrink:0;width:435px;height:452px;border:2px solid var(--c-white);border-radius:var(--r-md);overflow:hidden;background:radial-gradient(ellipse 62% 60% at 50% 47%,var(--c-white) 0%,rgba(255,255,255,0) 100%),#cbe6f3}
.support-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:860px){
.support-inner{flex-direction:column;align-items:stretch}
.support-photo{width:100%;height:auto;aspect-ratio:435/452}
}
@media(min-width:601px){
/* よくあるご質問 */

/* --- よくあるご質問 --- */
.faq{padding:var(--sp-105) 0}
.faq-layout{grid-template-columns:366px minmax(0,1fr);gap:65px}
.faq h2{font-size:var(--fs-40);font-weight:700;line-height:var(--lh-normal);color:var(--c-ink-strong);margin:0}
.faq-layout>div:first-child>p:last-child{font-size:var(--fs-18);font-weight:500;line-height:var(--lh-body);color:var(--c-ink-body);margin:var(--sp-27) 0 var(--sp-11)}
.faq-list summary{font-size:var(--fs-18);color:var(--c-ink);gap:var(--sp-19);padding:var(--sp-23) 0}
.faq-list .q{font-family:'Poppins',var(--sans);font-size:var(--fs-22);line-height:var(--lh-tight)}
.faq-list .plus{font-family:'Poppins',var(--sans);font-size:var(--fs-18);line-height:var(--lh-loose);color:var(--c-ink)}
.answer{font-size:var(--fs-11);line-height:var(--lh-note);padding:0 var(--sp-28) var(--sp-24) 37px}
}
@media(max-width:600px){

/* --- 医師相談サポート --- */
.support{padding:var(--sp-40) 0}
.support-box{padding:var(--sp-16) var(--sp-18);gap:var(--sp-10)}
.support-box-icon,.support-box-icon svg{width:26px;height:26px}
.support-chips{flex-direction:column;gap:var(--sp-8)}
.support-chips span{padding:var(--sp-4) var(--sp-10);justify-content:flex-start}

/* --- 金額 --- */
.purchase-panel{grid-template-columns:1fr}
.purchase-visual .package-image{width:100%;height:auto;max-width:none;aspect-ratio:1/1;object-fit:cover}
.cancer-box{padding:var(--sp-12) var(--sp-14)}
}
/* 全幅共通：FV2つめの円・購入チェックリスト・23種ボックス */

/* --- FV 2つのリスクの円 --- */
.risk-orbit-liver{background:linear-gradient(140deg,var(--c-accent-bright) 4%,var(--c-accent-deep) 96%);border-color:var(--c-white);color:var(--c-white)}
.risk-orbit-liver strong,.risk-orbit-liver>p{color:var(--c-marker)}

/* --- 金額 --- */
.purchase-points{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-6);list-style:none;padding:0}
.purchase-points li{display:flex;align-items:center;gap:var(--sp-5);margin:0;padding:var(--sp-4) var(--sp-11);border-radius:var(--r-3xl);background:var(--c-brand-vivid);color:var(--c-white)}
.purchase-points li:before{content:'✓';margin:0;font-family:'Poppins',var(--sans);color:var(--c-marker)}
.cancer-details{display:flex;flex-direction:column;gap:var(--sp-8)}
.cancer-box{background:var(--c-bg-box);border-radius:var(--r-md);padding:var(--sp-10) var(--sp-20);display:flex;flex-direction:column;gap:var(--sp-8)}
.cancer-box-title{margin:0;font-weight:500;color:var(--c-ink)}
.cancer-box-list{margin:0;color:var(--c-black)}
.cancer-notes{margin:0;color:var(--c-muted)}
/* 生存率グラフ：ステージⅢのラベル（Figmaの構造に合わせてグラフ末尾に配置） */

/* --- 生存率グラフ --- */
.bars{position:relative}
.bar-label-3{position:absolute;bottom:-24px;left:calc(64px + (100% - 103px) * .625);transform:translateX(-50%);white-space:nowrap;font-size:var(--fs-13);color:var(--c-black)}
/* ===== SP最適化（PC確定デザイン v2 準拠） ===== */
@media(max-width:600px){body{padding-bottom:var(--sp-76)}

/* 安心ポイント帯：3カラムをやめて縦積み */

/* --- 安心ポイント帯 --- */
.trust-strip{flex-direction:column;align-items:stretch;gap:var(--sp-12);padding:var(--sp-20)}
.trust-strip>div{width:100%;flex-direction:row;align-items:center;justify-content:center;gap:var(--sp-10);border-right:0;font-size:var(--fs-14);font-weight:700;letter-spacing:.03em;color:var(--c-marker)}
.trust-strip svg{width:22px;height:22px;flex-shrink:0;stroke-width:1.5}

/* FV 右カード：PCと同じ構成（上にリボン＋2つの円） */

/* --- FV --- */
.hero-action{position:relative;width:100%;max-width:none;margin:0;padding:0;background:none;border:0;box-shadow:none;display:block}
.hero-risk-summary{margin:var(--sp-16) 0 0;padding:var(--sp-18) var(--sp-16);background:var(--c-white);border:1px solid var(--c-line-hero);border-radius:var(--r-xl);box-shadow:0 10px 16px rgba(0,91,134,.07);display:flex;align-items:center;justify-content:center}
.hero-risk-ribbon{position:absolute;z-index:2;top:0;left:50%;transform:translateX(-50%);display:inline-block;width:auto;margin:0;padding:var(--sp-4) var(--sp-12);border-radius:var(--r-pill-lg);background:var(--c-brand);color:var(--c-white);font-size:var(--fs-13);font-weight:700;line-height:var(--lh-normal);letter-spacing:0;text-align:center;white-space:nowrap}
.hero-risk-product-row{display:flex;justify-content:center;gap:0}
.hero-risk-product-row .risk-orbits{flex:none}
.hero-risk-product-row .risk-orbit{width:146px;flex:0 0 146px}
.hero-risk-product-row .risk-orbit-total{margin-right:-14px;padding-right:var(--sp-6)}
.hero-risk-product-row .risk-orbit-liver{border:3px solid var(--c-white);padding-left:var(--sp-4)}
.hero-risk-product-row .risk-orbit>span{font-size:var(--fs-13);font-weight:500;line-height:1.1;margin-bottom:var(--sp-6)}
.hero-risk-product-row .risk-orbit strong{font-size:var(--fs-14);font-weight:700;line-height:1.3}
.hero-risk-product-row .risk-orbit-liver strong{font-size:var(--fs-21)}
.hero-risk-product-row .risk-orbit strong b{font-family:'Poppins',var(--sans);font-size:var(--fs-30);font-weight:600;line-height:1;margin-right:var(--sp-2)}
.hero-risk-product-row .risk-orbit>p{margin-top:var(--sp-5);font-size:var(--fs-15);font-weight:700;line-height:1.1}
.hero-risk-product-row .risk-orbit-plus{width:24px;height:24px;border-radius:var(--r-ms);font-family:'Poppins',var(--sans);font-size:var(--fs-17);color:var(--c-brand-plus)}

/* お悩み3カード：PCと同じ中央寄せ */

/* --- お悩み3カード --- */
.worries h2{font-size:var(--fs-22);line-height:var(--lh-relaxed);letter-spacing:.04em}
.worry-grid{gap:var(--sp-12)}
.worry-grid p{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-26) var(--sp-18);font-size:var(--fs-16);font-weight:700;line-height:var(--lh-relaxed);box-shadow:0 10px 14px rgba(0,91,134,.03)}
.worry-grid span{display:block;font-family:'Poppins',var(--sans);font-size:var(--fs-14);line-height:var(--lh-normal);margin-bottom:var(--sp-10);color:var(--c-brand)}
.worry-grid p:before{display:block;font-family:'Poppins',var(--sans);font-size:var(--fs-48);line-height:1;left:14px;top:6px}
.solution-pre{font-size:var(--fs-15);font-weight:700;line-height:var(--lh-normal);color:var(--c-ink);margin-bottom:var(--sp-8)}
.worries h3{font-size:var(--fs-18);line-height:var(--lh-body-lg);font-weight:700}
.worries h3 span{display:inline}

/* 2つのリスク */

/* --- 2つのリスクを調べる --- */
.risk-intro h2{font-size:var(--fs-24);line-height:var(--lh-relaxed);letter-spacing:.04em}
.risk-intro p:not(.eyebrow){font-size:var(--fs-14);line-height:var(--lh-body-lg);color:var(--c-ink)}
.risk-card-heading p{font-size:var(--fs-13);font-weight:700;color:var(--c-muted)}
.risk-card h3{font-size:var(--fs-19);line-height:var(--lh-snug)}
.risk-card h3 b{font-size:var(--fs-23)}
.risk-card h3 span{font-size:var(--fs-19)}
.risk-caption{font-size:var(--fs-15);font-weight:700;line-height:var(--lh-normal)}
.risk-disclaimer{font-size:var(--fs-11);line-height:1.7}
.risk-conclusion>p{min-height:0;padding:0;font-size:var(--fs-17);font-weight:700;line-height:var(--lh-relaxed)}

/* --- 23種のがんチップ --- */
.cancer-chip-list li{font-size:var(--fs-12);white-space:normal}
.cancer-chip-list li>span{font-size:var(--fs-10)}

/* 実績：3カラムをやめて縦積み */

/* --- 実績 --- */
.proof{padding:var(--sp-60) 0 var(--sp-46)}
.proof h2{font-family:var(--sans);font-size:var(--fs-24);font-weight:500;letter-spacing:.08em;line-height:var(--lh-relaxed);margin:0 0 var(--sp-28)}
.proof h2:after{margin-top:var(--sp-18)}
.proof-grid{grid-template-columns:1fr;gap:0;margin:0;padding:var(--sp-8) 0 var(--sp-4)}
.proof-grid>div{padding:var(--sp-20) 0;border-right:0;border-bottom:1px solid rgba(214,235,245,.3)}
.proof-grid>div:last-child{border-bottom:0}
.proof-grid span{font-family:var(--sans);font-size:var(--fs-15);font-weight:700;letter-spacing:.03em;line-height:var(--lh-normal);color:#e7f4fb}
.proof-grid strong{display:block;height:auto;padding:var(--sp-2) 0 0;font-family:'Shippori Mincho',serif;font-size:var(--fs-52);font-weight:500;line-height:1.25;letter-spacing:-.035em;text-shadow:none}
.proof-grid small{font-family:var(--sans);font-size:var(--fs-17);font-weight:700;margin-left:var(--sp-3)}
.proof-grid .proof-prefix{display:inline;font-size:var(--fs-13);color:var(--c-ink-faint);margin:0 var(--sp-3) 0 0}
.proof-grid .proof-caption{font-size:var(--fs-15);font-weight:700;letter-spacing:.03em;line-height:var(--lh-normal);color:#e7f4fb;margin:var(--sp-4) 0 0}
.proof-asof{font-size:var(--fs-12);line-height:var(--lh-relaxed);color:var(--c-line-proof);margin:var(--sp-14) 0 0}

/* 医師からのメッセージ：PCと同じブルー背景 */

/* --- 医師からのメッセージ --- */
.doctor{padding:var(--sp-60) 0;background:var(--c-brand);color:var(--c-white)}
.doctor-editorial{gap:var(--sp-28)}
.doctor-portrait>img{border-radius:4px 4px 44px 4px}
.doctor-message{padding-top:0}
.doctor-message h2{display:flex;align-items:center;gap:var(--sp-12);font-size:var(--fs-15);font-weight:700;letter-spacing:.09em;color:var(--c-white);margin:0 0 var(--sp-18)}
.doctor-message h2:before{content:'';width:24px;height:1px;background:var(--c-white);flex-shrink:0}
.doctor blockquote{background:none;border:0;border-radius:0;padding:0;margin:0}
.doctor .doctor-message blockquote p{font-size:var(--fs-15);line-height:1.95;color:var(--c-white);text-align:justify;margin:0}
.doctor .doctor-message blockquote .doctor-message-body{border-top:0;padding-top:0;margin-top:0}
.doctor-message-intro{padding-bottom:var(--sp-18);border-bottom:1px solid var(--c-line-quote);margin-bottom:var(--sp-18)}
.doctor .doctor-message-intro>strong{display:block;font-size:var(--fs-19);font-weight:700;line-height:1.7;color:var(--c-white);padding-bottom:var(--sp-16)}
.doctor-signature{margin:var(--sp-20) 0 0;padding-left:var(--sp-14);border-left:2px solid var(--c-white);width:auto}
.doctor-signature>p{font-size:var(--fs-12);color:var(--c-white);margin:0}
.doctor-signature strong{font-size:var(--fs-21);font-weight:700;letter-spacing:.1em}
.doctor-signature span{font-size:var(--fs-12);color:var(--c-white)}

/* 選ばれる3つの理由 */

/* --- 選ばれる3つの理由 --- */
.reasons-heading{text-align:center;margin-bottom:var(--sp-28)}
.reasons-heading h2{font-size:var(--fs-22);font-weight:700;line-height:var(--lh-relaxed);letter-spacing:.04em;margin:0}
.reasons-heading h2 .text-marker{font-size:var(--fs-23);color:var(--c-brand)}
.reason-grid article:nth-child(2),.reason-grid article:nth-child(3){margin-left:0}
.reason-grid h3{font-size:var(--fs-19);line-height:1.55;white-space:normal}
.reason-grid p{font-size:var(--fs-13);line-height:var(--lh-loose);white-space:normal}
.reason-top>span{font-family:'Poppins',var(--sans);font-size:var(--fs-34);color:var(--c-num-soft)}
.reason-top svg{width:30px;height:30px;stroke-width:1.5;color:var(--c-brand)}

/* 早期発見：グラフを黄色カードに */

/* --- 早期発見の大切さ --- */
.awareness{padding:var(--sp-60) 0 var(--sp-46);background:var(--c-brand-dark)}
.awareness h2{font-size:var(--fs-22);font-weight:700;letter-spacing:.04em;line-height:var(--lh-relaxed)}
.awareness-header>p:not(.eyebrow){font-size:var(--fs-14);line-height:var(--lh-loose);color:#e0f5fc;margin:var(--sp-18) 0 var(--sp-10)}
.awareness .source{font-size:var(--fs-10);color:#c1e8f7}

/* --- 生存率グラフ --- */
.survival{margin-top:var(--sp-30);padding:var(--sp-30) 0;border-color:rgba(255,255,255,.16)}
.chart-copy{display:flex;flex-direction:column;gap:var(--sp-12)}
.chart-copy .tag-outline{align-self:flex-start;border:1.5px solid var(--c-line-tag);padding:var(--sp-4) var(--sp-12);font-size:var(--fs-14);font-weight:700;line-height:var(--lh-tight);color:#e0f5fc}
.chart-copy h3{font-size:var(--fs-22);font-weight:700;line-height:1.55;color:var(--c-white);margin:0}
.chart-copy p{font-size:var(--fs-14);line-height:var(--lh-body-lg);color:#ceeffc;margin:0}
.chart{background:var(--c-marker);border:2px solid var(--c-white);border-radius:var(--r-md);padding:var(--sp-18) var(--sp-14);display:flex;flex-direction:column;align-items:center}
.chart-title{align-self:center;background:var(--c-white);border-radius:var(--r-pill-sm);padding:var(--sp-5) var(--sp-13);font-size:var(--fs-11);font-weight:400;line-height:var(--lh-normal);color:var(--c-black);margin:0}
.bars{width:100%;height:190px;margin:var(--sp-18) 0 0;padding:0 var(--sp-4);gap:var(--sp-10);border-bottom:1px solid var(--c-muted)}
.bar{height:calc(var(--height) * .72)}
.bar-col>b{font-family:'Poppins',var(--sans);font-size:var(--fs-21);font-weight:400;line-height:1.3;color:var(--c-black);margin-bottom:var(--sp-6)}
.bar-col>b small{font-size:var(--fs-10);color:var(--c-black)}
.bar-col>span{bottom:-20px;font-size:var(--fs-10);color:var(--c-black)}
.bar-col:first-child .bar{background:var(--c-bar-1)}
.bar-col:first-child b{color:var(--c-black)}
.bar-col:nth-child(2) .bar{background:var(--c-bar-2)}
.bar-col:nth-child(3) .bar{background:var(--c-bar-3)}
.bar-col:nth-child(4) .bar{background:var(--c-bar-4)}
.bar-label-3{font-size:var(--fs-10);bottom:-20px}
.chart-notes{width:100%;display:flex;flex-direction:column;gap:var(--sp-3);margin:var(--sp-34) 0 0;color:var(--c-muted)}
.chart-notes p{margin:0;font-size:var(--fs-10);line-height:var(--lh-relaxed)}
.chart-notes-url{font-size:var(--fs-9);line-height:var(--lh-relaxed);word-break:break-all}

/* --- 早期発見の大切さ --- */
.awareness-bottom{height:auto;margin:0;padding-top:var(--sp-28);gap:0}
.awareness-bottom p{font-size:var(--fs-17);font-weight:700;line-height:1.7;color:var(--c-white);text-align:center}

/* 線虫の仕組み */

/* --- 線虫の仕組み --- */
.mechanism{padding:var(--sp-60) 0}
.mechanism h2{font-size:var(--fs-22);font-weight:700;letter-spacing:.04em;line-height:var(--lh-relaxed)}
.mechanism .section-intro{font-size:var(--fs-12);line-height:var(--lh-loose);margin:var(--sp-16) 0 0}
.mechanism-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--sp-14);margin:var(--sp-28) 0 var(--sp-24)}
.mechanism-grid>article:first-of-type{grid-row:1}
.mechanism-plus{grid-row:2;position:static;display:grid;place-items:center;width:34px;height:34px;margin:0 auto;border-radius:17px;background:var(--c-white);font-family:'Poppins',var(--sans);font-size:var(--fs-24);line-height:1;color:var(--c-brand)}
.mechanism-grid>article:last-of-type{grid-row:3}
.step-label{height:auto;padding:var(--sp-6) 0 var(--sp-8);font-family:'Poppins',var(--sans);font-size:var(--fs-18);font-weight:400;letter-spacing:.04em;line-height:var(--lh-tight);color:var(--c-ink)}
.step-label span{font-family:var(--sans);font-size:var(--fs-14)}
.mechanism-grid h3{font-size:var(--fs-18);font-weight:700;line-height:var(--lh-relaxed);margin:var(--sp-18) 0 0}
.mechanism-grid p{font-size:var(--fs-14);line-height:1.85;color:var(--c-ink);margin:var(--sp-10) 0 var(--sp-10)}
.mechanism-grid small{font-size:var(--fs-10);line-height:var(--lh-body-lg)}
.medical-note{display:block;background:none;padding:0;text-align:left}
.medical-note p{font-size:var(--fs-11);line-height:1.85;color:var(--c-muted)}

/* ユーザーの声 */

/* --- ユーザーの声 --- */
.voices{padding:var(--sp-60) 0}
.voices .section-heading h2{font-size:var(--fs-22);font-weight:700;line-height:var(--lh-relaxed)}
.voice-grid h3{font-size:var(--fs-19);line-height:1.55;white-space:normal}
.voice-grid>article>p{font-size:var(--fs-14);line-height:1.85}
.voice-top{font-size:var(--fs-11)}
.voice-top>span:first-child{font-family:'Poppins',var(--sans);font-size:var(--fs-13)}

/* 受検の流れ */

/* --- 受検の流れ --- */
.flow{padding:var(--sp-60) 0}
.flow h2{font-size:var(--fs-21);font-weight:700;letter-spacing:.04em;line-height:var(--lh-relaxed)}
.flow .section-intro{font-size:var(--fs-13);line-height:var(--lh-body-lg);margin:var(--sp-16) 0 0}
.flow-grid h3{font-size:var(--fs-17);font-weight:700}
.flow-grid p{font-size:var(--fs-13);line-height:1.7}
.flow-grid .flow-number{font-family:'Poppins',var(--sans);font-size:var(--fs-17)}

/* よくあるご質問 */

/* --- よくあるご質問 --- */
.faq{padding:var(--sp-60) 0}
.faq h2{font-size:var(--fs-26);font-weight:700;line-height:var(--lh-normal);color:var(--c-ink-strong)}
.faq-layout>div:first-child>p:last-child{font-size:var(--fs-14);font-weight:500;line-height:var(--lh-body-lg);color:var(--c-ink-body)}
.faq-list summary{font-size:var(--fs-14);color:var(--c-ink)}
.faq-list .q{font-family:'Poppins',var(--sans);font-size:var(--fs-18)}
.faq-list .plus{font-family:'Poppins',var(--sans);font-size:var(--fs-16);color:var(--c-ink)}
.answer{font-size:var(--fs-12);line-height:2;padding:0 var(--sp-10) var(--sp-20) var(--sp-30)}}
@media(max-width:600px){

/* --- 金額 --- */
.price{border-bottom:0;padding-bottom:0}
}
/* ===== タブレット（601〜1100px）：PC確定デザインの固定幅を可変に戻す ===== */
@media(min-width:601px) and (max-width:1100px){.hero-lower{width:calc(100% - 64px);grid-template-columns:minmax(0,1fr);gap:var(--sp-32);margin-top:var(--sp-32)}

/* --- FV --- */
.hero-heading h1,.hero h1{font-size:clamp(26px,3.4vw,34px)}
.hero-cta-label,.hero-cta-benefit,.reason-grid h3,.reason-grid p,.voice-grid h3{white-space:normal}
.hero-heading>.hero-button{width:100%;max-width:405px;justify-content:space-between}
.hero-action{width:100%;max-width:406px;margin:0 auto}
.hero-risk-summary{max-width:none}

/* --- 安心ポイント帯 --- */
.trust-strip>div{width:auto;flex:1;font-size:clamp(12px,1.9vw,18px)}

/* --- お悩み3カード --- */
.worry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.worry-grid p{font-size:clamp(14px,1.9vw,20px);padding:var(--sp-28) var(--sp-14)}

/* --- 2つのリスクを調べる --- */
.risk-sequence{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}

/* --- 23種のがんチップ --- */
.cancer-chip-list,.cancer-chip-notes{width:100%}
.cancer-chip-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.cancer-chip-list li{white-space:normal}

/* --- 2つのリスクを調べる --- */
.risk-card-heading{min-width:0}
.risk-card-heading>div{min-width:0}
.risk-card h3,.risk-card h3 span{font-size:clamp(17px,2.5vw,28px);line-height:var(--lh-snug);white-space:normal;word-break:break-word}
.risk-card h3 b{font-size:clamp(21px,3.1vw,35px)}
.risk-card-heading p{font-size:clamp(14px,1.9vw,20px)}
.risk-visual{height:auto;min-height:355px}

/* --- CTA帯 --- */
.conversion-inner{grid-template-columns:120px minmax(0,1fr);row-gap:var(--sp-20)}
.conversion-action{grid-column:1 / -1}
.conversion-button{width:100%;max-width:470px}
.conversion-button .hero-cta-label{font-size:clamp(15px,2.2vw,20px)}
.conversion-button .hero-cta-benefit{font-size:clamp(13px,1.9vw,18px)}

/* --- 医師からのメッセージ --- */
.doctor-editorial{grid-template-columns:300px minmax(0,1fr);gap:var(--sp-40)}
.doctor-portrait>img{width:100%;height:auto;aspect-ratio:324/370}
.doctor-signature{width:auto}

/* --- 生存率グラフ --- */
.survival{grid-template-columns:minmax(0,1fr);gap:var(--sp-32)}
.chart{width:100%}

/* --- 選ばれる3つの理由 --- */
.reason-grid article{grid-template-columns:120px minmax(0,1fr);row-gap:var(--sp-14)}
.reason-grid article>p{grid-column:1 / -1}

/* --- 線虫の仕組み --- */
.mechanism-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}
.mechanism-plus{left:calc(50% - 19px)}

/* --- 受検の流れ --- */
.flow-grid{max-width:100%}

/* --- 金額 --- */
.purchase-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
.purchase-copy{padding:var(--sp-32) var(--sp-28)}
.purchase-copy .button{width:100%}

/* --- 医師相談サポート --- */
.support-copy{width:auto;flex:1}
.support-photo{width:46%;max-width:435px;height:auto;aspect-ratio:435/452}

/* --- よくあるご質問 --- */
.faq-layout{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:var(--sp-32)}
.faq h2{font-size:var(--fs-30)}}
/* PC：Figmaとサイズがズレていた箇所の補正 */
@media(min-width:601px){.hero-badge span{font-size:var(--fs-20-9)}

/* --- 実績 --- */
.proof-grid .proof-caption{font-size:var(--fs-20)}

/* --- 生存率グラフ --- */
.chart-notes p.chart-notes-url{font-size:var(--fs-10)}

/* --- ユーザーの声 --- */
.voices .section-heading>p{font-size:var(--fs-12)}
.voices>.container>.micro{font-size:var(--fs-12)}

/* --- 受検の流れ --- */
.flow h2{font-size:var(--fs-31)}
.flow h2 .serif-num{font-size:var(--fs-54)}}
/* ===== SP：文字サイズをデザインデータ（Figma v2）に合わせる ===== */
@media(max-width:600px){/* ヘッダー */

/* --- ヘッダー --- */
.brand-organ{font-size:var(--fs-17)}

/* FV */

/* --- FV --- */
.hero-heading h1,.hero h1{font-size:var(--fs-34);line-height:var(--lh-heading)}
.hero-cta-benefit{font-size:var(--fs-18);white-space:normal}
.hero-cta-benefit>span{font-size:var(--fs-11)}
.hero-cta-label{font-size:var(--fs-20);white-space:normal}
.hero-heading>.hero-note{font-size:var(--fs-8)}
.hero-risk-ribbon{font-size:max(var(--fs-min),min(19.88px,4.9vw))}
.hero-risk-summary{padding:var(--sp-18) var(--sp-8)}
.hero-risk-product-row .risk-orbit{width:170px;flex:0 0 170px}
.hero-risk-product-row .risk-orbit-total{margin-right:-16px}
.hero-risk-product-row .risk-orbit>span{font-size:var(--fs-15-36);margin-bottom:var(--sp-8)}
.hero-risk-product-row .risk-orbit strong{font-size:var(--fs-15-56)}
.hero-risk-product-row .risk-orbit-liver strong{font-size:var(--fs-25-14)}
.hero-risk-product-row .risk-orbit strong b{font-size:var(--fs-34-72)}
.hero-risk-product-row .risk-orbit>p{font-size:var(--fs-18-43);margin-top:var(--sp-7)}
.hero-risk-product-row .risk-orbit-plus{width:28px;height:28px;border-radius:var(--r-lg);font-size:var(--fs-19-88)}

/* 安心ポイント帯 */

/* --- 安心ポイント帯 --- */
.trust-strip>div{font-size:var(--fs-18)}

/* お悩み */

/* --- お悩み3カード --- */
.worries h2{font-size:var(--fs-31)}
.worry-grid p{font-size:var(--fs-20)}
.worry-grid span{font-size:var(--fs-16)}
.worry-grid p:before{font-size:var(--fs-68)}
.solution-pre{font-size:var(--fs-20)}
.worries h3{font-size:var(--fs-26)}

/* 2つのリスク */

/* --- 2つのリスクを調べる --- */
.risk-intro h2{font-size:var(--fs-38)}
.risk-intro p:not(.eyebrow){font-size:var(--fs-24)}
.risk-step{width:70px;height:70px;font-size:var(--fs-27-63)}
.risk-card-heading p{font-size:var(--fs-20)}
.risk-card h3,.risk-card h3 span{font-size:var(--fs-28)}
.risk-card h3 b{font-size:var(--fs-35)}

/* --- 23種のがんチップ --- */
.cancer-chip-list li{font-size:var(--fs-14)}
.cancer-chip-list li>span{font-size:var(--fs-12)}
.cancer-chip-list li:nth-child(9){font-size:var(--fs-11)}
.cancer-chip-notes{font-size:var(--fs-10)}

/* --- 2つのリスクを調べる --- */
.risk-caption{font-size:var(--fs-20)}
.risk-disclaimer{font-size:var(--fs-12)}

/* --- 肝臓の図版 --- */
.diagram-note{font-size:var(--fs-11)}
.svg-label,.svg-sublabel{font-size:var(--fs-16)}

/* --- 2つのリスクを調べる --- */
.risk-add{font-size:var(--fs-40)}
.risk-conclusion>p{font-size:var(--fs-24)}
.risk-final-note{font-size:var(--fs-10)}

/* 実績 */

/* --- 実績 --- */
.proof h2{font-size:var(--fs-32)}
.proof-grid span{font-size:var(--fs-20)}
.proof-grid strong{font-size:var(--fs-76)}
.proof-grid small{font-size:var(--fs-23)}
.proof-grid .proof-prefix{font-size:var(--fs-17)}
.proof-grid .proof-caption{font-size:var(--fs-20)}
.proof-asof{font-size:var(--fs-13)}

/* 下部CTA帯 */

/* --- CTA帯 --- */
.conversion-copy h2{font-size:var(--fs-23)}
.conversion-copy p{font-size:var(--fs-11)}
.conversion-action>p{font-size:var(--fs-9)}

/* 医師からのメッセージ */

/* --- 医師からのメッセージ --- */
.doctor-message h2{font-size:var(--fs-17)}
.doctor .doctor-message blockquote p{font-size:var(--fs-17)}
.doctor .doctor-message-intro>strong{font-size:var(--fs-23)}
.doctor-signature>p,.doctor-signature span{font-size:var(--fs-12)}
.doctor-signature strong{font-size:var(--fs-25)}

/* 選ばれる理由 */

/* --- 選ばれる3つの理由 --- */
.reasons-heading h2{font-size:var(--fs-36)}
.reasons-heading h2 .text-marker{font-size:var(--fs-38)}
.reason-top>span{font-size:var(--fs-50)}
.reason-grid h3{font-size:var(--fs-29)}
.reason-grid p{font-size:var(--fs-18)}

/* 早期発見 */

/* --- 早期発見の大切さ --- */
.awareness h2{font-size:var(--fs-32)}
.awareness-header>p:not(.eyebrow){font-size:var(--fs-18)}
.awareness .source{font-size:var(--fs-9)}

/* --- 生存率グラフ --- */
.chart-copy .tag-outline{font-size:var(--fs-20)}
.chart-copy h3{font-size:var(--fs-32)}
.chart-copy p{font-size:var(--fs-18)}
.chart-title{font-size:max(var(--fs-min),min(18px,4.4vw))}
.bar-col>b{font-size:var(--fs-30)}
.bar-col>b small{font-size:var(--fs-12)}
.bar-col>span,.bar-label-3{font-size:var(--fs-13)}
.chart-notes p{font-size:var(--fs-11)}
.chart-notes p.chart-notes-url{font-size:var(--fs-10)}

/* --- 早期発見の大切さ --- */
.awareness-bottom p{font-size:var(--fs-24)}

/* 仕組み */

/* --- 線虫の仕組み --- */
.mechanism h2{font-size:var(--fs-36)}
.mechanism .section-intro{font-size:var(--fs-15)}
.step-label{font-size:var(--fs-24)}
.step-label span{font-size:var(--fs-20)}
.step-movie figcaption{font-size:var(--fs-14)}
.mechanism-grid h3{font-size:var(--fs-22)}
.mechanism-grid p{font-size:var(--fs-17)}
.mechanism-grid small{font-size:var(--fs-9)}
.mechanism-plus{width:38px;height:38px;border-radius:19px;font-size:var(--fs-26)}
.medical-note p{font-size:var(--fs-11)}

/* ユーザーの声 */

/* --- ユーザーの声 --- */
.voices .section-heading h2{font-size:var(--fs-36)}
.voices .section-heading>p{font-size:var(--fs-12)}
.voice-top{font-size:var(--fs-12)}
.voice-top>span:first-child{font-size:var(--fs-15)}
.voice-grid h3{font-size:var(--fs-24)}
.voice-grid>article>p{font-size:var(--fs-18)}
.voice-grid summary{font-size:var(--fs-10)}
.voice-grid details p{font-size:var(--fs-10)}
.voice-grid footer{font-size:var(--fs-12)}
.voices>.container>.micro{font-size:var(--fs-12)}

/* 受検の流れ */

/* --- 受検の流れ --- */
.flow h2{font-size:var(--fs-31)}
.flow h2 .serif-num{font-size:var(--fs-54)}
.flow .section-intro{font-size:var(--fs-18)}
.flow-grid .flow-number{font-size:var(--fs-21)}
.flow-grid h3{font-size:var(--fs-24)}
.flow-grid p{font-size:var(--fs-18)}
.flow>.container>.micro{font-size:var(--fs-10)}

/* 金額 */

/* --- 金額 --- */
.purchase-copy h3{font-size:var(--fs-34)}
.purchase-copy h3 span{font-size:var(--fs-29)}
.purchase-copy>p{font-size:var(--fs-18)}
.price>span:first-child{font-size:var(--fs-10)}
.price strong{font-size:var(--fs-47)}
.price>span:last-child{font-size:var(--fs-17)}
.price small{font-size:var(--fs-9)}
.purchase-points{font-size:var(--fs-15)}
.purchase-points li:before{font-size:var(--fs-13)}
.cancer-box-title{font-size:var(--fs-15)}
.cancer-box-list{font-size:var(--fs-12)}
.cancer-notes{font-size:var(--fs-10)}
.purchase-copy .button{font-size:var(--fs-20)}
.purchase-copy>.micro{font-size:var(--fs-12)}

/* 医師相談サポート */

/* --- 医師相談サポート --- */
.support p.support-eyebrow{font-size:var(--fs-25)}
.support h2{font-size:var(--fs-40)}
.support-lead,.support p.support-note{font-size:var(--fs-18)}
.support-box-head a{font-size:var(--fs-24)}
.support-chips span{font-size:var(--fs-18);white-space:normal}

/* よくあるご質問 */

/* --- よくあるご質問 --- */
.faq h2{font-size:var(--fs-40)}
.faq-layout>div:first-child>p:last-child{font-size:var(--fs-18)}
.faq-list summary{font-size:var(--fs-18)}
.faq-list .q{font-size:var(--fs-22)}
.faq-list .plus{font-size:var(--fs-18)}
.answer{font-size:var(--fs-11)}}
@media(max-width:600px){

/* --- FV --- */
.hero-risk-product-row .risk-orbit{width:min(170px,44vw);flex:0 0 min(170px,44vw)}

/* --- 生存率グラフ --- */
.chart-title{font-size:var(--fs-18)}

/* --- 2つのリスクを調べる --- */
.risk-card h3,.risk-card h3 span,.risk-card h3 b{white-space:normal}
}
@media(min-width:386px) and (max-width:600px){

/* --- FV --- */
.hero-risk-ribbon{font-size:var(--fs-19-88);padding:var(--sp-4) var(--sp-10)}
}
@media(max-width:600px){
.hero-lower>*{min-width:0}
}
@media(max-width:360px){
.hero-heading>.hero-button{padding:var(--sp-12) var(--sp-14);gap:var(--sp-10)}
.hero-cta-benefit{font-size:var(--fs-15);flex-wrap:wrap}
.hero-cta-label{font-size:var(--fs-17)}

/* --- CTAボタン内の検査キット --- */
.cta-package{width:42px;height:29px}
}
@media(max-width:600px){

/* --- 生存率グラフ --- */
.survival>*{min-width:0}
}
@media(max-width:360px){
.chart-title{font-size:max(var(--fs-min),min(18px,5vw));padding:var(--sp-5) var(--sp-10)}
.bars{gap:var(--sp-6);padding:0 var(--sp-2)}
.bar-col{min-width:0}
.bar-col>b{font-size:var(--fs-24)}
.bar-col>span,.bar-label-3{font-size:var(--fs-11)}
}
@media(max-width:600px){
/* SPはボタン内のキット画像を省いて、ラベルをデザインどおりの20pxで1行に収める */

/* --- CTAボタン内の検査キット --- */
.cta-package{display:none}

/* --- FV --- */
.hero-heading>.hero-button,.conversion-button{justify-content:center;text-align:center}
.hero-cta-copy{align-items:center}

/* --- 金額 --- */
.purchase-copy .button{padding:var(--sp-16) var(--sp-14);gap:var(--sp-8)}
}
/* FV 縦書きバッジ：Figma（Frame 6 / 72×233.47）に合わせて白帯2本に */

/* --- FV --- */
.hero-badge{position:absolute;z-index:6;top:0;right:90px;margin:0;display:flex;flex-direction:row;align-items:flex-start;gap:9.29px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--c-brand-deep);pointer-events:none}
.hero-badge span{display:block;width:31.355px;padding:10.452px 0;background:var(--c-white);writing-mode:vertical-rl;text-orientation:upright;font-size:var(--fs-20-903);font-weight:700;line-height:var(--lh-normal);letter-spacing:2.718px;text-align:center;white-space:nowrap}
.hero-badge span:last-child{padding-bottom:0}
@media(max-width:600px){
.hero-badge{right:clamp(16px,6vw,90px);top:0;gap:9.29px}
.hero-badge span{letter-spacing:2.718px}
}
/* 医師からのメッセージ：Figma（区切り線1本・見出し白・署名は本文直後）に合わせる */

/* --- 医師からのメッセージ --- */
.doctor .doctor-message-intro>strong{color:var(--c-white)}
.doctor .doctor-message-intro{border-bottom:0;margin-bottom:0;padding-bottom:0}
.doctor .doctor-message blockquote .doctor-message-body{border-top:1px solid var(--c-line-quote);margin-top:var(--sp-22);padding-top:var(--sp-22)}
.doctor-signature{margin-top:0}
/* 肝臓の模式図：Figmaの図版に差し替え */
img.liver-diagram{display:block;width:100%;max-width:505px;height:auto;margin:0 auto}
/* --- お悩み3カード --- */
.worries{padding-bottom:0}
/* --- 2つのリスクを調べる --- */
.about{background:none;isolation:auto}
.about:before,.about:after{content:none}
@media(max-width:600px){
/* --- お悩み3カード --- */
.worries{padding-bottom:0}

/* --- 2つのリスクを調べる --- */
.about{position:relative;isolation:isolate;padding-top:var(--sp-60)}
.about:after{content:'';position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.8)}}
/* 見出しの行間を詰める（Figmaは1.5〜1.7。可読性優先で1.4に統一） */

/* --- FV --- */
.hero h1,.hero-heading h1,.worries h2,.risk-intro h2,.proof h2,.reasons-heading h2,.awareness h2,.mechanism h2,.voices .section-heading h2,.flow h2,.faq h2,.support h2,.conversion-copy h2{line-height:var(--lh-snug)}

/* --- 選ばれる3つの理由 --- */
.reasons-heading h2 .text-marker{line-height:var(--lh-snug)}
/* ヘッダーのナビゲーション文字 */

/* --- ヘッダー --- */
.header nav{font-size:var(--fs-14)}
.header nav a{line-height:var(--lh-relaxed)}
/* 「自宅から始める、がんリスクチェック。」と写真の間 */
@media(min-width:601px){.worries{padding-bottom:72px}}

/* --- 日本語の折り返し制御 --- */
/* auto-phrase: 文節単位で折り返す（未対応ブラウザは通常の折り返しになるだけ）
   balance / pretty: 行の長さを揃え、1文字だけ次行に落ちるのを防ぐ */
/* text-wrap は折り返しモードも含むショートハンドなので、
   PCで1行固定（white-space:nowrap）にしている見出しには当てない */
h1,h2,.solution-pre,.worry-grid p,.risk-caption,.risk-conclusion>p,
.awareness-bottom p,.chart-copy h3,.chart-title,.worries h3,
.mechanism-grid h3,.flow-grid h3,.doctor-message h2{text-wrap:balance}
h1,h2,h3,.solution-pre,.worry-grid p,.risk-caption,.risk-conclusion>p,
.awareness-bottom p,.chart-copy h3,.chart-title,.voice-grid h3,.reason-grid h3,
.mechanism-grid h3,.flow-grid h3,.support h2,.faq h2,.conversion-copy h2,
.section-heading h2,.hero-cta-label{word-break:auto-phrase}
p,li,figcaption,summary,small,.answer,blockquote p,.section-intro,
.awareness-header>p,.chart-copy p,.reason-grid p,.voice-grid>article>p,
.mechanism-grid p,.flow-grid p,.risk-intro p{text-wrap:pretty;word-break:auto-phrase}
/* SPだけで入れたい改行 */
.sp-break{display:none}
@media(max-width:600px){.sp-break{display:inline}}

/* グリッド内で balance が最小幅を押し広げないようにする */
.conversion-inner>*,.purchase-panel>*,.faq-layout>*,.doctor-editorial>*,
.risk-sequence>*,.mechanism-grid>*,.voice-grid>*,.reason-grid>*,.worry-grid>*{min-width:0}
/* 折り返し制御の追加対象 */
.support-box-head a,.chart-copy .tag-outline,.price>span,.purchase-points li,
.cancer-box-title,.step-label span,.voice-top,.flow-grid p{word-break:auto-phrase}
.support-box-head a{text-wrap:balance}

@media(max-width:600px){
/* CTA帯：3カラムをやめて縦積み */
.conversion-inner{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:var(--sp-18)}
.conversion-package{width:120px}
.conversion-copy{width:100%}
.conversion-action{width:100%}
.conversion-button{width:100%}
/* 長文の両端揃えはSPだと字間が開きすぎるので左揃えに */
.doctor .doctor-message blockquote p{text-align:left}
}
.support-box-head,.support-box-head a{min-width:0}

@media(max-width:600px){
/* SP幅ではFigmaの級数だと設計どおりの行構成に収まらない見出しだけ、収まるサイズに落とす */
.risk-intro h2{font-size:30px}
.voices .section-heading h2{font-size:30px}
.support h2{font-size:32px}
.support-box-head a{font-size:20px}
}
@media(max-width:600px){
.risk-conclusion{padding:var(--sp-8)}
.risk-conclusion>p{font-size:20px}
}

@media(max-width:600px){
/* SPでは1行固定を解除しているので、こちらでも行を揃える */
.voice-grid h3,.reason-grid h3,.risk-card h3,.hero-cta-label,.hero-cta-benefit{text-wrap:balance}
}
/* ひとまとまりで折り返したい語句 */
.nobr{display:inline-block}
.reason-grid h3 .text-marker{display:inline-block}
@media(max-width:600px){
.reason-grid h3{font-size:24px}
}

/* --- 追尾CTAをヘッダーへ集約 / ボタンの角丸 / FVの並び --- */
/* 1) 画面下の追尾フッターは廃止（要素ごと削除）。確保していた余白も戻す */
body{padding-bottom:0}

/* 2) ボタンは角丸（ピル）で統一 */
.button,.purchase-copy .button,.purchase-copy>.button{border-radius:var(--r-pill)}

@media(max-width:600px){
/* 3) SPでもヘッダーにCTAを出し、スクロール中も常に申し込める状態にする */
.header{gap:10px;padding:0 16px}
.header>.button{display:inline-flex;margin-left:auto;min-height:40px;padding:9px 14px;gap:8px;font-size:var(--fs-12);white-space:nowrap}
.header>.button svg{width:16px;height:16px}
.header .menu-toggle{margin-left:0}
.brand-logo{width:104px}
.header .brand-organ{font-size:var(--fs-14);padding-left:8px}

/* 4) FVはリスクチェックのカードの下にボタンを置く */
.hero-lower{display:flex;flex-direction:column;gap:var(--sp-20)}
.hero-heading{display:contents}
.hero-heading h1{order:1}
.hero-action{order:2}
.hero-heading>.hero-button{order:3;margin-top:0}
.hero-heading>.hero-note{order:4;margin-top:0}
}
.hero-heading>.hero-button,.button.light{border-radius:var(--r-pill)}

@media(max-width:600px){.about{isolation:auto;padding-top:var(--sp-18)}
.about:before,.about:after{content:none}
}

@media(max-width:600px){
/* 早期発見のリード部分を中央揃えに（上の見出しブロックと揃える） */
.chart-copy{align-items:center;text-align:center}
.chart-copy .tag-outline{align-self:center}
/* 線虫の仕組みの見出しは左揃え */
.mechanism-grid h3{text-align:left}
/* 金額のボタンは1行に収める */
.purchase-copy .button{white-space:nowrap;font-size:min(var(--fs-20),4.6vw);padding:var(--sp-16) var(--sp-12);gap:var(--sp-3)}
}

@media(max-width:600px){
/* 2) 医師の写真は幅いっぱいに */
.doctor-portrait{display:block;height:auto;padding:0}
.doctor-portrait>img{width:100%;height:auto;aspect-ratio:324/370;object-fit:cover;object-position:50% 25%}
.doctor-portrait:before{inset:26px 0 0 24px}

/* 3) 医師相談の写真はリード文の直後に置く */
.support-inner{gap:var(--sp-4)}
.support-copy{display:contents}
.support-eyebrow{order:1}
.support h2{order:2}
.support-lead{order:3}
.support-photo{order:4;width:100%;margin:var(--sp-7) 0}
.support-box{order:5}
.support .support-note{order:6}
}
@media(max-width:600px){
.chart-title{text-align:center}
}

@media(max-width:600px){
/* 価格：「検査価格」のラベルを数字の高さの中央に合わせる */
.price{align-items:center;height:auto}
.price>span:first-child{align-self:center;line-height:1.3}
/* 医師の写真は70%幅で中央寄せ */
.doctor-portrait{text-align:center}
.doctor-portrait>img{width:70%;margin:0 auto}
.doctor-portrait:before{content:none}
}

@media(max-width:600px){
/* FV見出し：「肝臓がん特化」のジャンプ率を上げる */
.hero-heading h1 .text-marker{font-size:46px;line-height:1.15}
.hero-heading h1{line-height:1.45}
}
/* ------------------------------
  JMR No.1表彰（2026.10〜）
------------------------------ */
.jmr {
  padding: 40px 8px;
}
.jmr__inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px 4px 20px;
  background: #fff;
  border: 2px solid #d9b45a;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(150, 110, 20, .15);
  text-align: center;
}
.jmr__inner::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid #ecd9a4;
  border-radius: 11px;
  pointer-events: none;
}

/* タイトル（画像） */
.jmr__title {
  max-width: 560px; /* 画像の実寸（723px）より小さく表示してぼやけを防ぐ */
  margin: 0 auto 16px;
  line-height: 0;
}
.jmr__title picture {
  display: block;
}
.jmr__title-img {
  display: block;
  width: 100%;
  height: auto;
}

/* バッジ（画像） */
/* SP：2列＋1列（3つ目は中央） */
.jmr__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 4px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.jmr__item {
  grid-column: span 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.jmr__item:last-child {
  grid-column: 2 / span 2;
}
.jmr__item picture {
  display: block;
  width: 100%;
}
.jmr__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* 注釈 */
.jmr__credit {
  margin: 20px 0 0 auto;
  padding: 0 8px;
  font-size: 8px;
  line-height: 1.5;
  color: #9d9d9d;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .jmr {
    padding: 64px 24px;
  }
  .jmr__inner {
    padding: 40px 24px;
    border-radius: 24px;
  }
  .jmr__inner::before {
    inset: 8px;
    border-radius: 17px;
  }
  .jmr__title {
    margin-bottom: 32px;
  }
  .jmr__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  .jmr__item,
  .jmr__item:last-child {
    grid-column: auto;
  }
  .jmr__credit {
    margin-top: 32px;
    padding: 0 16px;
    font-size: 10px;
  }
}

/* ------------------------------
  肝臓キャンペーン（2026/11/10〜12/31）
------------------------------ */
/* FVバッジ（クーポンコード入り 189×295・ページ別画像・非追尾）PC=左上から吊り下げ / SP=左上 */
.cp-badge {
  position: absolute;
  z-index: 6;
  top: 0;
  left: 90px;
  width: 175px;
  height: auto;
  pointer-events: none;
}

/* FVスクロール写真を薄く表示（バッジ・コピーを目立たせる） */
.hero-carousel .hero-frame > img {
  opacity: 0.6;
}

/* FV縦書きコピー「お酒と食を愛する、すべての大人たちへ」PCのみ拡大（SPは従来サイズ） */
@media (min-width: 601px) {
  .hero-badge {
    gap: 0.44em;
    font-size: clamp(21px, 2vw, 28px);
  }
  .hero-badge span {
    width: 1.5em;
    padding: 0.5em 0;
    font-size: 1em;
    letter-spacing: 0.13em;
  }
  .hero-badge span:last-child {
    padding-bottom: 0;
  }
}

/* ヘッダーロゴ：「肝臓」入りの一体型ロゴに差し替え（N-NOSEの文字サイズは従来と同じ） */
.header .brand-logo--kanzou {
  width: 179px;
  height: auto;
}
@media (max-width: 1100px) {
  .header .brand-logo--kanzou {
    width: 148px;
  }
}
@media (max-width: 600px) {
  .header .brand-logo--kanzou {
    width: 117px;
  }
}

/* FV直下 キャンペーン詳細カード */
.cp {
  background: var(--c-white);
  padding: 56px 0 64px;
}
.cp-inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
.cp-card {
  position: relative;
  container-type: inline-size;
  border: 2px solid #fff;
  border-radius: 20px;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .1));
  overflow: hidden;
}
.cp-card-bg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  filter: hue-rotate(180deg);
}
.cp-card-head {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  height: 6.5cqw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5cqw 0 2.6cqw;
  background: linear-gradient(266deg, #f7a54a 0%, #e0691d 100%);
  border-radius: 18px 18px 0 0;
  color: var(--c-white);
  font-family: "Shippori Mincho", serif;
}
.cp-card-title {
  margin: 0;
  font-size: 3.5cqw;
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1;
}
.cp-card-period {
  margin: 0;
  display: flex;
  align-items: baseline;
  font-size: 2.25cqw;
  font-weight: 700;
  line-height: 1;
}
.cp-card-period b {
  margin: 0 .2cqw;
  font-size: 3.9cqw;
  font-weight: 800;
}
.cp-card-period span {
  font-size: 2cqw;
  letter-spacing: -.1em;
}
.cp-card-period em {
  margin: 0 .4cqw;
  font-style: normal;
}
.cp-card-offer {
  position: absolute;
  top: 25%;
  left: 0;
  right: 0;
  margin: 0;
  font-family: "Shippori Antique B1", sans-serif;
  font-size: 3cqw;
  line-height: 1.4;
  color: #000;
  text-align: center;
  white-space: nowrap;
}
.cp-card-offer span {
  color: #e0691d;
}
.cp-card-offer br {
  display: none;
}
.cp-card-price {
  position: absolute;
  top: 41.75%;
  left: 14.9%;
  width: 70%;
  height: auto;
  transform: skewX(-8deg) scaleY(.99);
}
.cp-card-kit {
  position: absolute;
  top: 15.7%;
  left: 81.5%;
  width: 15.83%;
  transform: rotate(10.31deg);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .12));
}
.cp-card-kit img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.cp-pill {
  position: absolute;
  top: 78.9%;
  left: 23.3%;
  width: 53.4%;
  height: 13.6%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.1cqw;
  background: var(--c-white);
  border-radius: 999px;
  white-space: nowrap;
}
.cp-pill-label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 3cqw;
  line-height: 1;
  color: #000;
}
.cp-pill-label::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 3.75cqw;
  margin-left: 2.1cqw;
  background: #b5c4ce;
  vertical-align: middle;
}
.cp-pill-code {
  font-family: "Shippori Antique B1", sans-serif;
  font-size: 5.1cqw;
  line-height: 1;
  background: linear-gradient(180deg, #e0691d 0%, #f39631 47.6%, #e0691d 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cp-copy {
  position: absolute;
  z-index: 2;
  top: 74.5%;
  left: 83.625%;
  width: 20.125cqw;
  height: 20.125cqw;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: linear-gradient(34deg, #ff7a00 0%, #fe9901 100%);
  cursor: pointer;
  transition: transform .15s;
}
.cp-copy:hover {
  transform: scale(1.04);
}
.cp-copy-icon {
  position: absolute;
  top: 10%;
  left: 46%;
  width: 3.75cqw;
  height: 3.75cqw;
  transform: translateX(-50%);
}
.cp-copy-text {
  position: absolute;
  top: 36%;
  left: 0;
  right: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: max(var(--fs-min), 1.625cqw);
  line-height: 1.35;
  color: var(--c-white);
  text-align: center;
  transform: translateX(-4%);
}
.cp-notes {
  max-width: 684px;
  margin: 20px auto 0 0;
  padding: 0;
  list-style: none;
}
.cp-notes li {
  font-size: var(--fs-12);
  line-height: 1.7;
  color: var(--c-ink);
}

/* SP：カードを正方形レイアウトに組み替え */
@media (max-width: 700px) {
  .cp-card-bg {
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
  .cp-card-head {
    height: 18cqw;
    flex-direction: column;
    justify-content: center;
    gap: 2cqw;
    padding: 0;
  }
  .cp-card-title {
    font-size: 5.4cqw;
  }
  .cp-card-period {
    font-size: max(var(--fs-min), 3.4cqw);
  }
  .cp-card-period b {
    font-size: 5.4cqw;
  }
  .cp-card-period span {
    font-size: max(var(--fs-min), 3cqw);
  }
  .cp-card-offer br {
    display: inline;
  }
  .cp-card-offer {
    top: 24cqw;
    font-size: 4.4cqw;
    line-height: 1.5;
  }
  .cp-card-kit {
    display: none;
  }
  .cp-card-price {
    top: 42cqw;
    left: 7%;
    width: 86%;
  }
  .cp-pill {
    top: 63cqw;
    left: 10%;
    width: 80%;
    height: 11cqw;
  }
  .cp-pill-label {
    font-size: max(var(--fs-min), 4.2cqw);
  }
  .cp-pill-label::after {
    height: 5.5cqw;
  }
  .cp-pill-code {
    font-size: 7cqw;
  }
  .cp-copy {
    top: 78cqw;
    left: 10%;
    width: 80%;
    height: 12cqw;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2cqw;
    border-radius: 999px;
  }
  .cp-copy-icon {
    position: static;
    width: 4.5cqw;
    height: 4.5cqw;
    transform: none;
  }
  .cp-copy-text {
    position: static;
    font-size: max(var(--fs-min), 3.8cqw);
    line-height: 1;
    transform: none;
  }
  .cp-copy-text br {
    display: none;
  }
}
@media (max-width: 600px) {
  .cp {
    padding: 40px 0 48px;
  }
  .cp-badge {
    left: 16px;
    width: 29vw;
    max-width: 150px;
  }
}

/* リビングの検査キット写真（拡大演出は廃止・静止表示） */
.living-photo {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: var(--sp-35) 21px 0;
}
/* 旧演出時と同じく、お悩み〜2つのリスクまで背景を続ける */
.living-photo,
.living-photo + .about {
  background: var(--c-bg-cream);
}
.living-photo img {
  display: block;
  width: min(960px, 100%);
  height: auto;
  margin: 0 auto;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0, 91, 134, .065);
}
/* 「自宅から始める、がんリスクチェック。」と写真の間 */
.worries {
  padding-bottom: 0;
}
.living-photo {
  padding-top: 40px;
}
@media (max-width: 600px) {
  .living-photo {
    padding-top: 24px;
  }
}
