:root {
  --font-sans:
    "Source Han Serif JP", "源ノ明朝", "Noto Serif JP", "Yu Mincho",
    "Hiragino Mincho ProN", serif;
  --font-serif:
    "Yu Gothic", "Hiragino Kaku Gothic ProN" "Noto Sans JP", sans-serif;
  --bg: #f5f4ef;
  --surface: #fff;
  --surface-sub: #ecebe4;
  --text: #202522;
  --muted: #67706b;
  --accent: #27483d;
  --accent-2: #7d8f87;
  --line: #c9cdc7;
  --line-strong: #7e8882;
  --warning: #9a352d;
  --on-accent: #fff;
  --container: 1180px;
  --reading: 720px;
  --wide: 1420px;
  --gutter: clamp(20px, 4vw, 64px);
  --section: clamp(72px, 9vw, 144px);
  --header: 76px;
  --step--1: clamp(0.78rem, 0.74rem + 0.15vw, 0.88rem);
  --step-0: clamp(0.98rem, 0.93rem + 0.22vw, 1.08rem);
  --step-1: clamp(1.15rem, 1.04rem + 0.55vw, 1.48rem);
  --step-2: clamp(1.48rem, 1.23rem + 1.15vw, 2.2rem);
  --step-3: clamp(2rem, 1.55rem + 2.2vw, 3.45rem);
  --step-4: clamp(2.65rem, 1.75rem + 4.2vw, 5.7rem);
  --lh-tight: 1.28;
  --lh-body: 1.9;
  --tracking: 0.04em;
  --radius-sm: 2px;
  --radius: 8px;
  --radius-lg: 16px;
  --shadow: 0 24px 70px rgba(28, 35, 31, 0.1);
  --fast: 180ms;
  --normal: 360ms;
  --z-header: 100;
  --z-modal: 1000;
}

.theme-creative {
  --bg: #f7f7f4;
  --surface: #fff;
  --surface-sub: #e9ecea;
  --text: #171c1a;
  --muted: #626a66;
  --accent: #183d4a;
  --accent-2: #6a858f;
  --line: #cbd0ce;
}

.theme-support {
  --bg: #1a1d1b;
  --surface: #232724;
  --surface-sub: #2b302d;
  --text: #f1eee6;
  --muted: #b7b9b4;
  --accent: #9bb8aa;
  --accent-2: #718b7e;
  --line: #454b47;
  --line-strong: #737b76;
  --warning: #d4776d;
  --on-accent: #142019;
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.theme-policy {
  --bg: #f7f6f1;
  --surface: #fff;
  --surface-sub: #eceae3;
  --text: #252925;
  --muted: #6d716d;
  --accent: #3f5149;
  --line: #cbcfc9;
}
