/* CURE SLIM ｜ 審査用ページ 共通スタイル */
:root{
  --navy:#12294F;      /* メインカラー：深いネイビー */
  --navy-d:#0B1B36;
  --ink:#1C2430;
  --sub:#5F6B7A;
  --line:#E1E6EC;
  --paper:#FFFFFF;
  --paper2:#F6F8FB;
  --max:1080px;
  --mincho:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;
  --gothic:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--gothic);
  color:var(--ink);
  background:var(--paper);
  line-height:1.9;
  font-size:15px;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-underline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ── ヘッダー ── */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:24px}
.hd .logo{width:150px;flex:none}
.hd nav{display:flex;gap:26px;font-size:13px}
.hd nav a{color:var(--ink);text-decoration:none;white-space:nowrap}
.hd nav a:hover{color:var(--navy)}

/* ── ヒーロー ── */
.hero{padding:76px 0 84px;border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1fr .9fr;gap:56px;align-items:center}
.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--sub);margin-bottom:22px}
.hero h1{font-family:var(--mincho);font-weight:400;font-size:34px;line-height:1.55;color:var(--navy);letter-spacing:.04em}
.hero p.lead{margin-top:24px;color:var(--sub);font-size:14.5px}

/* ── セクション ── */
section{padding:78px 0}
section.alt{background:var(--paper2)}
.sec-label{font-size:11px;letter-spacing:.22em;color:var(--sub);margin-bottom:14px}
h2{font-family:var(--mincho);font-weight:400;font-size:25px;line-height:1.6;color:var(--navy);letter-spacing:.04em;margin-bottom:30px}
h3{font-family:var(--mincho);font-weight:400;font-size:17px;color:var(--navy);margin-bottom:10px;letter-spacing:.03em}
p+p{margin-top:16px}
.note{font-size:12.5px;color:var(--sub);line-height:1.85}

/* ── 3カラム ── */
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:8px}
.cols .num{font-size:11px;letter-spacing:.2em;color:var(--sub);margin-bottom:12px}

/* ── 表 ── */
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{border-bottom:1px solid var(--line);padding:15px 4px;text-align:left;vertical-align:top}
th{width:32%;font-weight:400;color:var(--sub);white-space:nowrap}
@media(max-width:640px){
  th,td{display:block;width:100%;border:none;padding:0}
  th{padding-top:16px;font-size:12px}
  td{padding-bottom:16px;border-bottom:1px solid var(--line)}
}

/* ── 価格 ── */
.price{font-family:var(--mincho);font-size:40px;color:var(--navy);letter-spacing:.02em;line-height:1.3}
.price small{font-size:15px;color:var(--sub);margin-left:10px;font-family:var(--gothic)}

/* ── 流れ ── */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:6px}
.flow li{list-style:none;background:var(--paper);border:1px solid var(--line);padding:22px 18px}
.flow .st{font-size:11px;letter-spacing:.2em;color:var(--sub);margin-bottom:8px}
.flow .tt{font-family:var(--mincho);color:var(--navy);font-size:15px}

/* ── CTA帯 ── */
.cta{background:var(--navy);color:#fff;padding:64px 0;text-align:center}
.cta h2{color:#fff;margin-bottom:18px}
.cta p{color:rgba(255,255,255,.78);font-size:14px}
.cta .mail{font-family:var(--mincho);font-size:26px;margin-top:26px;letter-spacing:.03em}
.cta .mail a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px}

/* ── フッター ── */
footer{border-top:1px solid var(--line);padding:44px 0 56px;font-size:12.5px;color:var(--sub)}
footer .fl{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:var(--sub);text-decoration:none;margin-right:20px}
footer a:hover{color:var(--navy)}

/* ── 要確認プレースホルダ ── */
.tbd{background:#FFF3C4;color:#7A5A00;padding:1px 7px;border-radius:2px;font-size:12.5px}

/* ── 下層ページ ── */
.page-head{padding:60px 0 34px;border-bottom:1px solid var(--line)}
.page-head h1{font-family:var(--mincho);font-weight:400;font-size:26px;color:var(--navy);letter-spacing:.04em}
.doc{padding:52px 0 80px}
.doc h2{font-size:17px;margin:38px 0 12px}
.doc h2:first-child{margin-top:0}
.doc p,.doc li{font-size:14px}
.doc ul,.doc ol{margin:10px 0 0 22px}
.doc li{margin-bottom:6px}

@media(max-width:820px){
  .hero .wrap{grid-template-columns:1fr;gap:36px}
  .hero h1{font-size:27px}
  .cols{grid-template-columns:1fr;gap:30px}
  .flow{grid-template-columns:1fr}
  .hd nav{display:none}
  section{padding:56px 0}
}
