:root {
  --main-color: #14a0de;
  --sub-color: #203a72;
  --accent-color: #067ac3;
  --cta-color01: #00bfb6;
  --cta-color02: #ff691d;
  --bg-color: #f0f8fa;
  --border-color: #efefef;
  --text-color: #333333;
  --gradient-color: linear-gradient(to right, #0279c7 0%, #51b8b5 100%);
  --font-jp: "noto-sans-cjk-jp", sans-serif;
  --font-en: "montserrat", sans-serif;
  --font-en-italic: "century-gothic", sans-serif;
  /* 全デバイス共通リキッド（vw不使用・%指定） */
  --container-max: 1200px;
  --container-width: var(--container-max);
  --container-fluid: 94%;
  --header-height: 88px;
  --bp-sp: 768px;
  --bp-pc: 769px;

  /*
   * 流体タイポ（font-size）
   * - 本文など: 320px〜1280px で線形補間
   * - 大見出し: SP固定値〜1280px（768px未満は最小値、768px以上で拡大）
   */
  --fluid-vw-min: 320px;
  --fluid-vw-max: 1280px;
  --fluid-vw-mid: 768px;

  --fs-body: clamp(14px, calc(14px + (100vw - var(--fluid-vw-min)) / 960), 15px);
  --fs-sm: clamp(13px, calc(13px + (100vw - var(--fluid-vw-min)) * 0.00104167), 14px);
  --fs-xs: clamp(12px, calc(12px + (100vw - var(--fluid-vw-min)) * 0.00208333), 14px);
  --fs-md: clamp(15px, calc(15px + (100vw - var(--fluid-vw-min)) * 0.003125), 18px);
  --fs-lead: clamp(15px, calc(15px + (100vw - var(--fluid-vw-min)) * 0.00520833), 20px);
  --fs-btn: clamp(14px, calc(14px + (100vw - var(--fluid-vw-min)) * 0.00208333), 16px);

  --fs-title-en: clamp(14px, calc(14px + (100vw - var(--fluid-vw-min)) * 0.00208333), 16px);
  --fs-title01: clamp(24px, calc(24px + (100vw - var(--fluid-vw-mid)) * 0.021484375), 35px);
  --fs-title02: clamp(22px, calc(22px + (100vw - var(--fluid-vw-mid)) * 0.0234375), 34px);
  --fs-title03: clamp(22px, calc(22px + (100vw - var(--fluid-vw-mid)) * 0.02734375), 36px);
  --fs-title03-accent: clamp(28px, calc(28px + (100vw - var(--fluid-vw-mid)) * 0.03125), 44px);
  --fs-title03-band: clamp(20px, calc(20px + (100vw - var(--fluid-vw-mid)) * 0.03125), 36px);

  --fs-mv-badge: clamp(15px, calc(15px + (100vw - var(--fluid-vw-mid)) * 0.01953125), 25px);
  --fs-mv-title: clamp(26px, calc(26px + (100vw - var(--fluid-vw-mid)) * 0.05078125), 52px);
  --fs-mv-title-sub: clamp(18px, calc(18px + (100vw - var(--fluid-vw-mid)) * 0.0234375), 30px);
  --fs-mv-desc: clamp(15px, calc(15px + (100vw - var(--fluid-vw-mid)) * 0.01171875), 21px);
  --fs-mv-desc-strong: clamp(20px, calc(20px + (100vw - var(--fluid-vw-mid)) * 0.01953125), 30px);
  --fs-mv-check: clamp(14px, calc(14px + (100vw - var(--fluid-vw-min)) * 0.00416667), 18px);

  --fs-page-mv-title: clamp(26px, calc(26px + (100vw - var(--fluid-vw-mid)) * 0.01953125), 36px);

  --fs-accordion-q-mark: clamp(18px, calc(18px + (100vw - var(--fluid-vw-mid)) * 0.015625), 26px);
  --fs-accordion-q: clamp(15px, calc(15px + (100vw - var(--fluid-vw-mid)) * 0.009765625), 20px);
  --fs-accordion-a-mark: clamp(18px, calc(18px + (100vw - var(--fluid-vw-mid)) * 0.0078125), 22px);
  --fs-accordion-a: clamp(14px, calc(14px + (100vw - var(--fluid-vw-min)) * 0.003125), 17px);
}
