:root {
  /* ── ブランドカラー ── */
  --color-primary:       #1A2A4A;
  --color-primary-light: #2D4470;
  --color-accent:        #e94560;
  --color-accent-light:  #EB657B;
  --color-accent-dark:   #A07830;

  /* ── テキスト ── */
  --color-text-primary:  #1A1A2E;
  --color-text-secondary:#4A5568;
  --color-text-muted:    #8896A5;
  --color-text-inverse:  #FFFFFF;

  /* ── 背景 ── */
  --color-bg:            #F7F8FC;
  --color-bg-card:       #FFFFFF;
  --color-bg-section:    #EEF1F8;

  /* ── UI ── */
  --color-border:        #DDE2EE;
  --color-shadow:        rgba(26,42,74,0.12);
  --color-overlay:       rgba(26,42,74,0.55);

  /* ── CTA専用 ── */
  --color-cta:           #e94560;
  --color-cta-hover:     #EB657B;
  --color-cta-text:      #FFF;

  /* ── ステータス ── */
  --color-success:       #2ECC71;
  --color-warning:       #F39C12;
  --color-error:         #E74C3C;

  /* ── フォント ── */
  --font-display: 'YakuHanJP', 'LINE Seed JP', 'Hiragino Sans', sans-serif;
  --font-body:    'YakuHanJP', 'Noto Sans JP', 'Hiragino Sans', sans-serif;
  --font-en:      'YakuHanJP', 'Outfit', serif;
  --font-en-sans: 'YakuHanJP', 'Outfit', sans-serif;

  /* ── サイズスケール ── */
  --fs-xs:    10px;
  --fs-sm:    12px;
  --fs-base:  14px;
  --fs-md:    16px;
  --fs-lg:    20px;
  --fs-xl:    24px;
  --fs-2xl:   32px;
  --fs-3xl:   40px;
  --fs-hero:  52px;

  /* ── ウェイト ── */
  --fw-regular: 400;
  --fw-medium:  500;
  --fw-bold:    700;

  /* ── 行間 ── */
  --lh-tight:  1.2;
  --lh-base:   1.4;
  --lh-loose:  1.6;

  /* ── 字間 ── */
  --ls-tight:  -0.02em;
  --ls-base:    0.02em;
  --ls-wide:    0.08em;
  --ls-wider:   0.15em;

  /* ── 余白 ── */
  --space-1:   4px;
  --space-2:   8px;
  --space-3:   12px;
  --space-4:   16px;
  --space-5:   24px;
  --space-6:   32px;
  --space-7:   48px;
  --space-8:   64px;
  --space-9:   96px;
  --space-10: 128px;

  /* ── 角丸 ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:  16px;
  --radius-xl:  24px;
  --radius-full: 9999px;

  /* ── シャドウ ── */
  --shadow-sm:  0 2px 8px var(--color-shadow);
  --shadow-md:  0 4px 20px var(--color-shadow);
  --shadow-lg:  0 8px 40px rgba(26,42,74,0.18);
  --shadow-card: 0 2px 12px rgba(26,42,74,0.08);

  /* ── トランジション ── */
  --transition-fast:   0.15s ease;
  --transition-base:   0.25s ease;
  --transition-slow:   0.4s ease;
  --transition-smooth: 0.6s cubic-bezier(0.16,1,0.3,1);

  /* ── レイアウト ── */
  --content-max-width: 480px;
  --sidebar-width:     220px;
  --header-height-sp:  56px;
  --header-height-pc:  64px;
}
