/* ============================================
   CSS カスタムプロパティ（デザイントークン）
   ============================================ */
:root {
  /* カラー */
  --color-primary:       #20A737;
  --color-primary-hover: #1a8e2e;
  --color-primary-dark:  #20A737;   /* フッター背景 */
  --color-primary-light: #e6f7ea;   /* 薄いグリーン背景 */
  --color-accent:        #f5c800;   /* キャッチコピー黄色 */
  --color-bg:            #f8f7f2;   /* ページ背景（ウォームベージュ） */
  --color-bg-green:      #f0f8f0;   /* セクション薄グリーン */
  --color-white:         #ffffff;
  --color-text:          #2c2c2c;
  --color-text-muted:    #666666;
  --color-text-light:    #999999;
  --color-border:        #dde8dd;
  --color-required:      #d32f2f;

  /* タイポグラフィ */
  --font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN',
                 YuGothic, '游ゴシック', Meiryo, '메이리오', sans-serif;
  --font-size-base: 15px;
  --font-size-sm:   13px;
  --font-size-md:   16px;
  --font-size-lg:   18px;
  --font-size-xl:   20px;
  --font-size-2xl:  24px;
  --font-size-3xl:  28px;
  --line-height:    1.8;

  /* スペーシング (8pxグリッド) */
  --sp-1: 8px;
  --sp-2: 16px;
  --sp-3: 24px;
  --sp-4: 32px;
  --sp-5: 40px;
  --sp-6: 48px;
  --sp-8: 64px;

  /* コンテナ */
  --container-max:     900px;
  --container-padding: 20px;

  /* 角丸 */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   16px;
  --radius-pill: 100px;

  /* シャドウ */
  --shadow-sm: 0 1px 4px rgba(0,0,0,0.08);
  --shadow-md: 0 2px 12px rgba(0,0,0,0.12);

  /* トランジション */
  --transition: 0.2s ease;

  /* ブレークポイント参照用 */
  --bp-sp: 767px;
  --bp-pc: 768px;
}
