:root {
  /* =============================================================
     MIRAI Brand Colors (matched to 人材事業-MIRAINEXT株式会社 site)
     Primary: Teal-green / Accent: Vivid yellow / Urgency: Red
     ============================================================= */
  --color-primary: #1BA098;          /* MIRAI teal — main action color */
  --color-primary-dark: #157A73;
  --color-primary-light: #3EBDB5;
  --color-primary-bg: #E8F6F4;       /* light teal background tint */

  --color-accent: #FFD500;           /* MIRAI yellow — highlights, badges */
  --color-accent-dark: #E6BE00;
  --color-accent-light: #FFEB66;
  --color-accent-pale: #FFF5CC;      /* cream / peach card BG */

  --color-cta: #FF6B35;              /* strong orange-red for final CTA */
  --color-cta-dark: #E54E1A;

  --color-warning: #E74C3C;          /* urgency red (for stat numbers) */
  --color-success: #1BA098;          /* reuse teal for success */

  /* Neutrals */
  --color-bg: #FFFFFF;
  --color-bg-alt: #FAFBFA;
  --color-bg-gray: #F4F6F5;
  --color-bg-dark: #2C2C2C;          /* from logo color */
  --color-border: #E5E7E6;
  --color-text: #2C2C2C;             /* from logo color */
  --color-text-sub: #6B7280;
  --color-text-mute: #9CA3AF;
  --color-text-invert: #FFFFFF;

  /* Typography */
  --font-serif: "Noto Serif JP", "Shippori Mincho", "Yu Mincho", "游明朝", serif;
  --font-sans: "Noto Sans JP", "Yu Gothic", "游ゴシック", "Hiragino Sans", sans-serif;
  --font-en-serif: "Playfair Display", "Georgia", serif;
  --font-en-sans: "Inter", "Helvetica Neue", sans-serif;

  --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.75rem;
  --fs-4xl: 3.75rem;
  --fs-5xl: 5rem;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  /* Layout */
  --container-max: 1040px;
  --container-narrow: 820px;
  --section-py-pc: 96px;
  --section-py-sp: 64px;

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);
  --shadow-md: 0 4px 14px rgba(27, 160, 152, 0.12), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 20px 40px rgba(27, 160, 152, 0.18);
  --shadow-cta: 0 10px 24px rgba(255, 107, 53, 0.4);
  --shadow-yellow: 0 6px 20px rgba(255, 213, 0, 0.35);

  /* Transitions */
  --transition-fast: 150ms ease-out;
  --transition-base: 250ms ease-out;
  --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Z-index */
  --z-sticky: 50;
  --z-header: 100;
  --z-modal: 500;
}
