@charset "UTF-8";
/* CSS Document */

/* ------------------------------------------------------------------
 * フォントの読み込み
 *
 * 元は .ttf / .otf を直接指定していた。無圧縮なので Zen Old Mincho は
 * 1本5.2MB あり、1ページで12.44MB 読み込んでいた。
 * 低速回線だと1本100秒かかる（2026-08-27 実測 / ops/perf-probe.mjs）。
 *
 * woff2 に変換し、さらにサイトで使う文字だけに絞って 1.53MB にした。
 *
 * 一度「Xxx Full」という控えのファミリーを併記する形にしたが、やめた。
 * ブラウザは「そのフォントがその字を持っていない」ことを確かめるために
 * 一度ダウンロードする。Noto Sans JP は元から `・` `©` `—` を持っておらず、
 * `・` はほぼ全ページに出るので、控えを毎回1.46MB余分に読んでいた。
 * しかも控えも同じ字を持っていないので、結局システムフォントに落ちる。
 * 役に立たないうえ重いだけだった（2026-08-27 実測）。
 *
 * **収録文字を増やすときは作り直しが要る。**
 *   python3 ops/build-fonts.py --collect   # 本文から使用文字を集め直す
 *   python3 ops/build-fonts.py             # woff2 を作り直す
 * 記事を増やして新しい漢字が出ると、その字だけ別のフォントで表示される。
 * 検出は ops/font-coverage-check.mjs（本番のページから実際の文字を拾って照合）。
 *
 * 対象の文字: ops/fonts-charset.txt
 * ------------------------------------------------------------------ */

/* Noto Sans JP */

@font-face {
	font-family: 'Noto Sans JP';
	src: url("../fonts/woff2/NotoSansJP-Thin.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 100;
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: url("../fonts/woff2/NotoSansJP-Light.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: url("../fonts/woff2/NotoSansJP-Regular.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: url("../fonts/woff2/NotoSansJP-Medium.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: url("../fonts/woff2/NotoSansJP-Bold.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans JP';
	src: url("../fonts/woff2/NotoSansJP-Black.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}

/* Zen Old Mincho */

@font-face {
	font-family: 'Zen Old Mincho';
	src: url("../fonts/woff2/ZenOldMincho-Regular.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: 'Zen Old Mincho';
	src: url("../fonts/woff2/ZenOldMincho-Bold.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: 'Zen Old Mincho';
	src: url("../fonts/woff2/ZenOldMincho-Black.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}

/* Barlow Semi Condensed */

@font-face {
	font-family: 'Barlow Semi Condensed';
	src: url("../fonts/woff2/BarlowSemiCondensed-Medium.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

/* Zen Antique */

@font-face {
	font-family: 'Zen Antique';
	src: url("../fonts/woff2/ZenAntique-Regular.subset.woff2") format('woff2');
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

