:root {
  /* Color: クリーム + 鮮黄 + 淡シアン（konahamagakuen-hp 準拠）
     メインカラー (#FEF8CB) = primary-light  広面積の基調
     セカンドカラー (#FCE964) = primary        UI 強調・ボタン
     アクセントカラー (#ECFBFB) = secondary    補助・装飾   */
  --c-primary: #FCE964;
  --c-primary-dark: #B8961B;
  --c-primary-light: #FEF8CB;
  --c-secondary: #ECFBFB;
  --c-secondary-dark: #4FB8B9;
  --c-secondary-light: #F5FDFD;
  --c-accent: #FCE964;
  --c-accent-dark: #B8961B;
  --c-crayon: #FFB36B;
  --c-crayon-dark: #E89248;

  --c-bg: #FFFEF5;
  --c-bg-alt: #FEF8CB;
  --c-surface: #FFFFFF;
  --c-text: #4A4630;
  --c-text-mute: #8A8470;
  --c-text-soft: #B5B098;
  --c-border: #F0E9C5;
  --c-border-soft: #F8F3DD;

  --c-success: #6CB39A;
  --c-danger: #E07B7B;

  /* Typography */
  --font-heading: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif;
  --font-body: 'Noto Sans JP', system-ui, -apple-system, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  --font-en: 'Lato', var(--font-body);

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 2rem;
  --fs-3xl: 2.5rem;
  --fs-4xl: 3.25rem;

  --lh-tight: 1.3;
  --lh-base: 1.7;
  --lh-loose: 1.9;

  /* Spacing */
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 2.5rem;
  --space-6: 3rem;
  --space-8: 4rem;
  --space-10: 5rem;
  --space-12: 6rem;
  --space-16: 8rem;

  /* Misc */
  --radius-sm: 6px;
  --radius: 12px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  --shadow-soft: 0 4px 16px rgba(120, 100, 30, 0.10);
  --shadow-card: 0 8px 24px rgba(120, 100, 30, 0.12);
  --shadow-hover: 0 12px 32px rgba(120, 100, 30, 0.18);

  --container: 1120px;
  --container-narrow: 880px;
  --container-wide: 1280px;

  --header-h: 80px;
  --header-h-mobile: 64px;

  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration: 0.3s;
  --duration-slow: 0.8s;
}

@media (max-width: 768px) {
  :root {
    --fs-2xl: 1.625rem;
    --fs-3xl: 2rem;
    --fs-4xl: 2.5rem;
    --space-8: 3rem;
    --space-10: 3.5rem;
    --space-12: 4rem;
    --space-16: 5rem;
  }
}
