/*
|---------------------------------------------------------------
| qinc2026-typography.css - タイポグラフィ汎用クラス
|---------------------------------------------------------------
*/

/* ==========================================================================
   Headings
   ========================================================================== */

/* heading-1: 64px - ページタイトル、ヒーロー */
.heading-1 {
  font-size: 64px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

/* heading-2: 48px,50px - プランタイトル・CTAタイトル（修正済） */
/* よくわからないがサイズが揺れている */
.heading-2 {
  font-size: 50px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

/* heading-3: 20px - プランカードタイトル（修正済） */
.heading-3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2em;
}

/* heading-4: 28px - カードタイトル大 */
.heading-4 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
}

/* heading-5: 14px - フッターナビタイトル（修正済） */
.heading-5 {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

/* heading-6: ??px - 小見出し */
.heading-6 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

/* ==========================================================================
   Body Text
   ========================================================================== */

/* body-1: 18px - リード文 */
.body-1 {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
}

/* body-2: 16px - 本文 */
.body-2 {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

/* body-3: 14px - 補足文、注釈 */
.body-3 {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}

/* ==========================================================================
   Labels
   ========================================================================== */

/* label-1: 14px - ラベル、タグ */
.label-1 {
  font-family: var(--font-family-en, "Montserrat", sans-serif);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* label-2: 12px - 小ラベル */
.label-2 {
  font-family: var(--font-family-en, "Montserrat", sans-serif);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
  .heading-1 {
    font-size: 48px;
  }

  .heading-2 {
    font-size: 36px;
  }

  .heading-3 {
    font-size: 28px;
  }

  .heading-4 {
    font-size: 24px;
  }
}

@media (max-width: 768px) {
  .heading-1 {
    font-size: 36px;
  }

  .heading-2 {
    font-size: 28px;
  }

  .heading-3 {
    font-size: 24px;
  }

  .heading-4 {
    font-size: 20px;
  }

  .heading-5 {
    font-size: 18px;
  }

  .heading-6 {
    font-size: 16px;
  }

  .body-1 {
    font-size: 16px;
  }

  .body-2 {
    font-size: 14px;
  }
}
