:root {
  /* Shared typography and brand roles. */
  --color-white: #fff;
  --color-body: #292929;
  --color-ink: var(--color-body);
  --color-muted: #696969;
  --color-orange: #ff4800;
  --color-primary: var(--color-orange);
  --color-heading-blue: #0075be;
  --color-blue: var(--color-heading-blue);
  --color-border: #d8dee7;
  --color-border-menu: #e6eef7;
  --color-border-input: #c1c1c1;
  --color-background: #fff;
  --color-background-cta: #fff9d4;
  --color-background-section: #f7faff;
  --color-background-drawer: #f7fbff;
  --font-base: "Noto Sans JP", sans-serif;
  --font-english-heading: "Zen Maru Gothic", sans-serif;
  --font-sans: var(--font-base);
  /* Containers are role-specific, not one site-wide maximum. */
  --container-content: 1100px;
  --container-header: 1000px;
  --container-footer: 1100px;
  --container-wide: 1440px;
  --container: var(--container-content);
  --section-space-start: 90px;
  --section-space-start-sp: 50px;
  --radius-control: 5px;
  --radius-panel: 10px;
  --radius-contact: 15px;
  /* Existing section-specific values remain independent. */
  --color-primary-dark: #df3500;
  --color-blue-dark: #0054aa;
  --color-yellow: #ffeb3b;
  --color-yellow-soft: #fff8ce;
  --color-surface-blue: #f3f8ff;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-pill: 999px;
  --shadow-card: 0 4px 18px rgb(28 46 73 / 10%);
  --transition-base: 400ms ease-in-out;
}

