/* Hallmark · implementation of client-approved design (UPLP.pdf 完成形) · tone: technical-trustworthy · anchor hue: cool-blue */
:root{
  /* ---- color ---- */
  --c-blue:        #1a5cf5;   /* primary accent */
  --c-blue-2:      #0b46d6;   /* button gradient end / deep */
  --c-blue-bright: #2f74ff;
  --c-navy:        #0e2450;   /* dark headings / dark sections */
  --c-navy-2:      #0a1a3c;   /* footer / deepest */
  --c-navy-grad:   #133b9e;   /* reason number panel start */
  --c-ink:         #16264b;   /* near-navy headings */
  --c-text:        #2f3846;   /* body */
  --c-muted:       #6a7382;
  --c-teal:        #1690a3;   /* 成約フェーズ accent */
  --c-teal-deep:   #0e6675;   /* 成約フェーズ circle band */
  --c-yellow:      #ffd23f;   /* 無料 / 金額強調 */
  --c-red:         #e8382f;   /* 必須 */
  --c-white:       #ffffff;
  --c-bg:          #ffffff;
  --c-bg-soft:     #eef3fb;   /* light blue section */
  --c-bg-soft-2:   #f4f8fd;
  --c-bg-tint:     #eaf1ff;   /* 車検UP column tint */
  --c-line:        #e2e8f2;
  --c-line-2:      #d5deec;

  /* ---- type ---- */
  --font-display: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  --font-body:    "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;

  --text-hero:   clamp(1.95rem, 5.4vw, 4.2rem);
  --text-h2:     clamp(1.7rem, 3.6vw, 2.85rem);
  --text-h3:     clamp(1.15rem, 2vw, 1.5rem);
  --text-lead:   clamp(0.95rem, 1.4vw, 1.12rem);
  --text-body:   1rem;

  /* ---- spacing (4pt scale) ---- */
  --space-xs: 8px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 40px;
  --space-xl: 64px;
  --space-2xl: 96px;
  --section-y: clamp(56px, 8vw, 104px);

  --container: 1120px;
  --radius-sm: 8px;
  --radius:    14px;
  --radius-lg: 22px;
  --radius-pill: 999px;

  --shadow-sm: 0 4px 14px rgba(14,36,80,.06);
  --shadow:    0 12px 34px rgba(14,36,80,.10);
  --shadow-lg: 0 22px 60px rgba(14,36,80,.16);
  --shadow-blue: 0 12px 26px rgba(26,92,245,.30);

  /* ---- motion ---- */
  --ease-out: cubic-bezier(.22,.61,.36,1);
  --ease-in:  cubic-bezier(.55,.06,.68,.19);
  --ease-in-out: cubic-bezier(.65,.05,.36,1);
  --dur-fast: 140ms;
  --dur:      260ms;
  --dur-slow: 620ms;
}
