:root {
  /* === Colors === */
  --white:#fff;
  --black:#000;
  --color-primary: #c8211d;
  --flow-red: #c8211d;
  --flow-dark: #1a1a1a;
  --color-primary-foreground: #fff;
  --color-background: #fff;
  --color-foreground: #000;
  --color-card: #fff;
  --color-muted: #ededed;
  --color-muted-foreground: #666;
  --color-border: #ededed;
  --color-accent: #c8211d;
  --color-accent-foreground: #fff;
  --color-section-gray: #f1f3f4;
  --color-section-dark: #304e65;
  --color-hero-bg: #4d4d4d;

  /* === Border Radius === */
  --radius-sm: 0.25rem;
  --radius: 0.625rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;

  /* === Max Widths === */
  --max-w-sm: 24rem;
  --max-w-md: 28rem;
  --max-w-lg: 32rem;
  --max-w-xl: 36rem;
  --max-w-2xl: 42rem;
  --max-w-3xl: 48rem;
  --max-w-4xl: 56rem;
  --max-w-5xl: 64rem;
  --max-w-6xl: 72rem;
  --max-w-1100: 1100px;

  /* === Shadows === */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1), 0 4px 6px rgba(0, 0, 0, 0.05);

  /* === Z-index === */
  --z-header: 50;
  --z-overlay: 40;
  --z-mobile-menu: 50;

  /* === Transition === */
  --transition-colors: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
  --transition-transform: transform 0.3s ease-in-out;

  /* === Typography === */
  /* 日本語専用（見出しなど和文を強調したい箇所） */
  --font-ja: 'Noto Sans JP', sans-serif;
  /* 英数字専用（数字・ラベルなど） */
  --font-en: 'Roboto', sans-serif;

  /* === Gradients === */
  --gradient-blue: linear-gradient(90deg, #497894 0%, #224b72 100%);
  --gradient-blue-hover: linear-gradient(270deg, #497894 0%, #224b72 100%);
  
  /* === Font Size === */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-md: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.75rem;
  --font-size-4xl: 2rem;
  --font-size-5xl: 2.5rem;
  --font-size-6xl: 3rem;
}