/* ===========================
   Adobe Fonts Utility CSS
   ===========================
   使い方例:
   <p class="ff-adobe-garamond-pro fw-400">Regular</p>
   <p class="ff-adobe-garamond-pro fw-700 i">Bold Italic</p>
   --------------------------- */

/* --- 共通ユーティリティ --- */
.fw-100 {
  font-weight: 100;
}
.fw-200 {
  font-weight: 200;
}
.fw-300 {
  font-weight: 300;
}
.fw-400 {
  font-weight: 400;
}
.fw-500 {
  font-weight: 500;
}
.fw-600 {
  font-weight: 600;
}
.fw-700 {
  font-weight: 700;
}
.fw-800 {
  font-weight: 800;
}
.fw-900 {
  font-weight: 900;
}

.fi-italic {
  font-style: italic;
}

/* OpenType 機能（必要に応じて） */
.fv-osf {
  font-variant-numeric: oldstyle-nums;
}
.fv-sc {
  font-variant-caps: small-caps;
}
/* Bootstrapの後で読み込む */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 400; /* normal */
}
/* --- ファミリー別クラス --- */
/* serif 系 */

.ff-athelas {
  font-family: "athelas", serif;
}
.ff-adobe-garamond-pro {
  font-family: "adobe-garamond-pro", serif;
}
.ff-eb-garamond {
  font-family: "eb-garamond", serif;
}
.ff-ltc-bodoni-175 {
  font-family: "ltc-bodoni-175", serif;
}
.ff-a-otf-ryumin-pr6n {
  font-family: "a-otf-ryumin-pr6n", serif;
}
.ff-trajan-pro-3 {
  font-family: "trajan-pro-3", serif;
}
.ff-shippori-mincho {
  font-family: "shippori-mincho", serif;
}

/* sans-serif 系 */

.ff-shingo {
  font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
}
.ff-zedou {
  font-family: "zedou", sans-serif;
}
.ff-hiragino-pt {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
}
.ff-futura-pt {
  font-family: "futura-pt", sans-serif;
}
.ff-fot-cezanne-pron {
  font-family: "fot-cezanne-pron", sans-serif;
}
.ff-source-han-sans-japanese {
  font-family: "source-han-sans-japanese", sans-serif;
}
.ff-kozuka-gothic-pro {
  font-family: "kozuka-gothic-pro", sans-serif;
}
.ff-fot-rodin-pron {
  font-family: "fot-rodin-pron", sans-serif;
}
.ff-poppins {
  font-family: "poppins", sans-serif;
}
.ff-noto-sans {
  font-family: "noto-sans", sans-serif;
}
.ff-noto-sans-cjk-jp {
  font-family: "noto-sans-cjk-jp", sans-serif;
}
.ff-yu-gothic-pr6n {
  font-family: "yu-gothic-pr6n", sans-serif;
}
.ff-zen-maru-gothic {
  font-family: "zen-maru-gothic", sans-serif;
}

/* ===========================
   Letter-spacing Utilities
   =========================== */

/* 基本的な字間広げ */
.ls-1 {
  letter-spacing: 0.05em;
}
.ls-2 {
  letter-spacing: 0.1em;
}
.ls-3 {
  letter-spacing: 0.15em;
}
.ls-4 {
  letter-spacing: 0.2em;
}
.ls-5 {
  letter-spacing: 0.7em;
}
/* ネガティブ字間（詰める用） */
.ls-n1 {
  letter-spacing: -0.02em;
}
.ls-n2 {
  letter-spacing: -0.05em;
}

/* ========== Line-height Utilities ========== */

/* 詰め気味（タイトルや数字用など） */
.lh-tight {
  line-height: 1.1;
}

/* やや詰め（見出しなどに適用しやすい） */
.lh-sm {
  line-height: 1.3;
}

/* 基本（本文にちょうど良い） */
.lh-base {
  line-height: 1.5;
}

/* やや広め（読みやすさ重視の段落などに） */
.lh-lg {
  line-height: 1.75;
}

/* 広め（詩的な文章・UIのラベルなど） */
.lh-xl {
  line-height: 2;
}

.lh-xxl {
  line-height: 2.5;
}
/* ===== 見出しレスポンシブ調整 ===== */

/* 一番大きい見出し（使いやすいサイズ感） */
.heading-xl {
  font-size: clamp(1.4rem, 1.8vw + 0.5rem, 2rem);
}

/* 中サイズの見出し */
.heading-lg {
  font-size: clamp(1.2rem, 1.5vw + 0.4rem, 1.6rem);
}

/* 小見出し・ブロック内のタイトルなどに */
.heading-md {
  font-size: clamp(1.05rem, 1.2vw + 0.3rem, 1.3rem);
}

/* ラベルや補足見出しなど最小サイズ */
.heading-sm {
  font-size: clamp(1rem, 1vw + 0.2rem, 1.15rem);
}
