/* ===========================================================
   フォント定義（CDN不要・すべてローカル）
   必ず app.min.css / custom.min.css より後に読み込むこと。
   先に読むとVelzon側の変数に上書きされて効きません。

   方針:
     日本語 … Macはヒラギノ（OS標準・同梱不要）
              Windowsは同梱のNoto Sans JPにフォールバック
     英数字 … Inter（UI向けに設計された高視認フォント）
     数値   … Inter + 等幅数字 + スラッシュ付きゼロ
   =========================================================== */

/* ---- Inter（英数字・数値） ---- */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/inter-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/inter-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/inter-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/inter-latin-700-normal.woff2") format("woff2");}

/* ---- Noto Sans JP（Windows用フォールバック。Macでは読み込まれない） ---- */
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/noto-sans-jp-japanese-400-normal.woff2") format("woff2");}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/noto-sans-jp-japanese-500-normal.woff2") format("woff2");}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/noto-sans-jp-japanese-600-normal.woff2") format("woff2");}
@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/noto-sans-jp-japanese-700-normal.woff2") format("woff2");}

/* ---- Zen Kaku Gothic New（見出し）----
   丸みのあるゴシック。本文の Noto / ヒラギノ と差が付くので、見出しだけに使う。
   SIL OFL（LICENSE-zen-kaku-gothic-new.txt）。
   ヒラギノのある Mac でも、この書体は OS に無いので必ず読み込まれる。 */
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/zen-kaku-gothic-new-japanese-700-normal.woff2") format("woff2");}
@font-face{font-family:"Zen Kaku Gothic New";font-style:normal;font-weight:900;font-display:swap;
  src:url("../fonts/zen-kaku-gothic-new-japanese-900-normal.woff2") format("woff2");}

/* ---- フォントスタック ----
   英数字はInterが受け持ち、Interに無い日本語は次の候補へ送られる。
   Mac   : Hiragino Sans でヒットして終わり（Noto Sans JPは読み込まれない）
   Win   : Hiragino が無いので Noto Sans JP（同梱）でヒット        */
:root{
  --vz-font-sans-serif:
    "Inter",
    "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    "Noto Sans JP",
    "Yu Gothic UI", "Meiryo",
    system-ui, sans-serif;
  --vz-body-font-family: var(--vz-font-sans-serif);

  /* 日本語向け。Velzon標準は 13px / 1.5 で詰まって見えるため広げている */
  --vz-body-font-size: 0.875rem;   /* 14px */
  --vz-body-line-height: 1.7;
}
body{ font-family: var(--vz-font-sans-serif); }

/* ===========================================================
   数値の表示
   tabular-nums : 全桁が同じ幅になり、表の数字が縦に揃う
   slashed-zero : 0 と O を取り違えない
   lining-nums  : 高さの揃った数字にする
   =========================================================== */
.ff-secondary,                 /* VelzonのKPI数値用クラス */
.num,                          /* 任意の数値に付ける */
table td, table th,            /* 表の中はすべて */
.table td, .table th,
input[type="number"],
.gridjs-td, .gridjs-th {
  font-variant-numeric: tabular-nums slashed-zero lining-nums;
  font-feature-settings: "tnum" 1, "zero" 1, "lnum" 1;
}

/* KPIなど大きく見せる数値は Inter を明示（日本語単位と混在しても崩れない） */
.ff-secondary, .num{
  font-family: "Inter", var(--vz-font-sans-serif);
  letter-spacing: -0.01em;
}

/* 金額・件数を右揃えするときのユーティリティ */
.num-end{ text-align: right; font-variant-numeric: tabular-nums slashed-zero; }
