/* ==========================================
   bd1120 v4 – Typography & Responsive Core
   ------------------------------------------
   ・rem基準の三段スイッチ + 1200固定
   ・本文は帯ごとに個別指定＋16px保証
   ・見出しは横割り個別指定（ほぼ固定）
   ・h4も含め見出しは本文より小さくならず
========================================== */

/* ----------------------
   Base: SP (~600px)
---------------------- */
html{
  font-size: 1.6667vw;  /* 1rem = W/60 px (600→10px, 375→6.25px) */
}
body{
  line-height: 1.6;
  color: var(--colr-text-base);
  font-size: max(16px, 2.4rem); /* SP本文 */
  font-family: var(--font-body);
}

/* 見出し（共通値: remスケーリング + 最小16px保証） */
h1{ font-size: 3.5rem; line-height:1.2; }
h2{ font-size: 3.2rem; line-height:1.25; }
h3{ font-size: 2.8rem; font-weight:700; line-height:1.3; }
h4{ font-size: max(16px, 2.4rem); font-weight:700; line-height:1.35; }
p{ font-size: inherit; line-height: 1.8;}

/* テキストユーティリティ（bodyより小さい文字セット、最小px保証付き） */
.tx-S  { font-size: var(--tx-S); }
.tx-MS { font-size: var(--tx-MS); }
.tx-SS { font-size: var(--tx-SS); }
.tx-XS { font-size: var(--tx-XS); }

/* ----------------------
   Tablet (601–900px)
---------------------- */
@media (min-width:601px) and (max-width:900px){
  html { font-size: 1.1111vw; }           /* 1rem = 10px @900 */
  body { font-size: max(16px, 1.8rem); }  /* TAB本文 */
}

/* ----------------------
   PC Fluid (901–1199px)
---------------------- */
@media (min-width:901px) and (max-width:1199px){
  html { font-size: 0.8333vw; }           /* 1rem = 10px @1200, 8.01px @961 */
  body { font-size: max(16px, 2rem); }    /* PC本文 */
}

/* ----------------------
   PC Fixed (≥1200px)
---------------------- */
@media (min-width:1200px){
  html { font-size: 62.5%; }              /* 1rem = 10px 固定 */
  body { font-size: 2rem; }
}

/* ----------------------
   極小端末 (≤320px)
   remを固定し横スク許容でデザイン維持
---------------------- */
@media (max-width:320px){
  html { font-size: 5.3333px; }  /* 320 / 60 */
  body { min-width:320px; overflow-x:auto; }
}