/* ReGoal 公開ページ（料金・規約・プライバシー・特商法）の共通スタイル。
 * ランディング（src/styles/landing.css）と同じ思想：無彩色＋タイポグラフィのみで構成し、
 * 強弱はサイズ・ウェイト・字間・余白で作る。アプリ本体のアプリコット系トークンは使わない。 */
:root{
  --bg:#FFFFFF;
  --ink:#0E0E0E;
  --mute:#6E6E6E;
  --faint:#9B9B9B;
  --line:#E6E6E6;
  --wash:#F7F7F7;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0B0B0B;
    --ink:#F4F4F4;
    --mute:#9A9A9A;
    --faint:#6A6A6A;
    --line:#242424;
    --wash:#141414;
  }
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Zen Kaku Gothic New","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  font-size:15px;line-height:2;letter-spacing:.01em;
  font-feature-settings:"palt" 1;
  -webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px;margin:0 auto;padding:0 28px 96px}

/* ── ヘッダー ── */
header.site{padding:26px 0 26px;border-bottom:1px solid var(--line);margin-bottom:64px}
header.site a.logo{display:inline-block;text-decoration:none;color:var(--ink);font-weight:700;font-size:17px;letter-spacing:.06em}
header.site a.logo .mark{display:none}
nav.site{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px 24px;font-size:13px}
nav.site a{color:var(--mute);text-decoration:none;letter-spacing:.03em}
nav.site a:hover{color:var(--ink)}
nav.site a[aria-current="page"]{color:var(--ink);font-weight:700}

/* ── 見出し ── */
h1{font-size:clamp(30px,5.4vw,44px);font-weight:700;line-height:1.4;letter-spacing:-.03em;margin:0 0 20px}
.lead{color:var(--mute);font-size:15px;line-height:2.1;margin:0 0 56px;max-width:34em}
h2{font-size:19px;font-weight:700;line-height:1.7;letter-spacing:-.01em;margin:56px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
h3{font-size:15.5px;font-weight:700;margin:26px 0 6px}
p,li{font-size:14.5px;line-height:2.05;color:var(--ink)}
ul,ol{padding-left:1.4em;margin:12px 0}
li{margin:6px 0}
ol li::marker,ul li::marker{color:var(--faint)}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}
a:hover{text-decoration-color:var(--ink)}
small{color:var(--mute)}
b{font-weight:700}

/* ── ブロック ── */
.card{border:1px solid var(--line);padding:22px 24px;margin:20px 0}
.card ul{margin:0}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0}
table{border-collapse:collapse;width:100%;min-width:520px;border-top:1px solid var(--line)}
th,td{border-bottom:1px solid var(--line);padding:16px 14px;text-align:left;font-size:14px;line-height:1.9;vertical-align:top}
th{font-weight:700;white-space:nowrap;color:var(--mute);font-size:12.5px;letter-spacing:.06em}
table.kv th{width:34%;white-space:normal}
.price{font-weight:700;font-size:17px;letter-spacing:-.02em;white-space:nowrap}
.note{border-left:2px solid var(--ink);padding:4px 0 4px 18px;font-size:13.5px;line-height:2;color:var(--mute);margin:28px 0}
.todo{color:var(--ink);font-weight:700;background:var(--wash);padding:1px 7px;border:1px dashed var(--faint)}
.cta{
  display:inline-block;margin-top:20px;padding:0 32px;height:52px;line-height:52px;
  background:var(--ink);color:var(--bg);text-decoration:none;font-weight:700;font-size:14.5px;letter-spacing:.04em;border-radius:99px;
}
.cta:hover{opacity:.82}

/* ── フッター ── */
footer.site{margin-top:80px;padding-top:26px;border-top:1px solid var(--line);color:var(--faint);font-size:12px;letter-spacing:.06em}
footer.site nav{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:16px}
footer.site a{color:var(--mute);text-decoration:none;font-size:13px}
footer.site a:hover{color:var(--ink)}

@media (max-width:720px){
  .wrap{padding:0 22px 72px}
  header.site{margin-bottom:44px}
  h2{margin-top:44px}
}
