/*
 * FeatureKit shared design foundation
 * v7 — CLINICAL NAVIGATION (classic navy, restrained gold, high-density UI)
 * v6 — CLASSIC CLINIC compatibility contract is retained below.
 *
 * Order is intentional: tokens -> reset/base -> components -> states -> responsive.
 * Page CSS may compose these classes, but must not redefine the visual language.
 */

/* Component display rules must not reveal controls explicitly marked hidden. */
[hidden] { display: none !important; }

/* ── Tokens ───────────────────────────────────────────────────────────── */
:root {
  /* 旧版で使っていた、医療機関らしい紺と控えめなゴールド。 */
  --ink-950: #0b1730;
  --ink-900: #10203f;
  --ink-800: #1a305e;
  /* 2026-09-04(v60): 旧「--navy-900」(値 #0b1730)の重複定義がここにあったが、
     後方の v60 再定義(値 #10203f、137行目付近)に既定のルート要素内で上書きされ
     続けて死んでいたので削除した。全参照を grep で確認し(design.css/faq.css/
     skin.css/v60-base.css)、旧値 #0b1730 を「--navy-900」経由で必要としていた箇所は
     無かった。skin.css のグラデーション最終停止点だけが旧スコープ経由(999行目
     付近の body スコープ上書き)の #0b1730 を前提にしていたが、その上書きを
     外したことで解消した(直後の宣言を参照)。
     ※このコメントは静的CSS解析(test/ui-readability-contract.test.js の
     readTokens)がコメントを剥がさずに正規表現で走査するため、「--トークン名: 値」
     という書式や「:root」という文字列をコメント中に書くと誤って本物の宣言や
     セレクタとして誤認され、後続の実宣言(直後の --navy-800 等)を丸ごと
     読み飛ばす。値は必ず括弧書き(例のように)にし、疑似セレクタ文字列は書かない。 */
  --navy-800: #10203f;
  --navy-700: #1a305e;
  --navy-600: #244079;
  --navy-500: #2d4f92;
  --navy-400: #3f66ad;
  --brand-electric: #2d4f92;
  --brand: #1a305e;
  --brand-soft: #e9eef8;
  --brand-softer: #f3f6fc;
  --accent: #b9944e;
  --accent-strong: #7d5d25;
  --accent-soft: #f7f1e4;
  --accent-pale: #fbf8f1;

  /* Semantic color aliases: use these before brand primitives in new UI.
   * 文字色は「本文が乗り得る全ての面」で 4.5:1 を満たす値だけを採用する。
   * --muted は最も暗い面である --bg (#eef1f7) 上でも 5.24:1。旧 #66708a は 4.37:1 で不合格だった。
   * v65(2026-09-05夜、発注者「もっと明るい、見やすい、わかりやすいにして」): 補助文をさらに濃く
   * (旧 #5b6478/#495267 → #3f4a60/#2f3a52)。--bg 上で実測 7.86:1 / 11.37:1(旧 5.24:1 よりさらに濃い)。 */
  --text: #182233;
  --muted: #3f4a60;
  --muted-strong: #2f3a52;
  --text-link: #244079;
  --text-on-dark: #ffffff;
  --text-status-success: #0f6f48;
  --text-status-warning: #8b5b13;
  --text-status-danger: #b53540;
  --text-status-info: #0e5f9e;
  /* 意味を持つアイコン・矢印用。装飾線(--line-strong)は 1.46:1 しかないので流用しない。 */
  --icon-quiet: #616a7d;
  --bg: #eef1f7;
  --surface: #ffffff;
  --surface-2: #f7f9fd;
  --surface-3: #e9eef8;
  --surface-warm: #fcfaf5;
  --line: #e0e5ef;
  --line-strong: #cfd6e4;
  /* 操作できる要素(入力欄・ghostボタン・チップ)の枠線。WCAG 1.4.11 の 3:1 を満たす。
   * --line-strong は白地で 1.46:1 しかなく、枠がどこにあるか分からない原因だった。 */
  --line-control: #848b9b;

  --ok: #0c9a69;
  --ok-soft: #e4f6ef;
  --err: #d54455;
  --err-soft: #fcebed;
  --warn: #c77b16;
  --warn-soft: #fbf1df;
  --info: #0878cf;
  --info-soft: #e5f3fc;

  --action-primary: #1a305e;
  --action-primary-hover: #10203f;
  --action-primary-foreground: #ffffff;
  --action-secondary: #ffffff;
  --action-secondary-text: #1a305e;
  /* White inner ring stays visible on dark surfaces; dark outer ring is 3:1+ on light surfaces. */
  --focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px #244079;
  --ring: var(--focus-ring);

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;
  --control-height: 48px;
  --content-max: 980px;
  --content-narrow: 660px;
  /* ページ本体の最大幅。ヘッダーの左右余白もこの値から計算するので、
   * 幅を変えるページは .container の max-width ではなく --page-max を上書きすること。
   * (両者がずれると、戻る矢印とカード左端が数十〜百px単位で食い違う) */
  /* 業務画面(一覧・表・在庫・記録)用。患者向けの 660px を業務に流用しない。 */
  --content-work: 1240px;
  --page-max: var(--content-max);
  --page-gutter: 16px;

  /* 文字サイズ。漢字は同じpxでもラテン文字より線が潰れるため、欧文基準の 9〜10px は使わない。
   * 13px を全画面の下限にする。ここが 11px 台だと、変数を使う画面の注記が読めない。
   * 生の px で 13px 未満を書かないこと(画面ごとの CSS も含めてトークン経由にする)。
   * 参考: 市場実測では本文 12〜14px が主流だが、当システムは 16/14/13px の型を採り
   * 13px 未満は 0 件を維持する。 */
  --fs-micro: 13px;
  --fs-2xs: 13px;
  --fs-xs: 13.5px;
  --fs-sm: 13.5px;
  --fs-md: 15px;
  --fs-lg: 16px;

  /* 2026-09-04(v60・納品前検査): 角丸は 0 / 12px / 999px の3種だけ(design-brief §3-4、
     §9-7「既存の 10/16/22 は廃止」)。旧クラス(.card/.tile/入力欄など)が使う3トークンを
     すべて 12px に寄せ、名前は互換のため残す(参照箇所が多いため名前は変えない)。 */
  --radius-sm: 12px;
  --radius: 12px;
  --radius-lg: 12px;
  --shadow-xs: 0 1px 2px rgba(13, 27, 54, .06);
  --shadow-sm: 0 1px 2px rgba(13, 27, 54, .05), 0 3px 10px rgba(13, 27, 54, .045);
  --shadow: 0 2px 5px rgba(13, 27, 54, .055), 0 10px 26px rgba(13, 27, 54, .065);
  --shadow-lg: 0 10px 24px rgba(13, 27, 54, .12), 0 24px 48px rgba(13, 27, 54, .10);
  --shadow-hover: 0 6px 14px rgba(13, 27, 54, .10), 0 16px 34px rgba(13, 27, 54, .14);
  --grad-brand: linear-gradient(135deg, #10203f, #244079);
  --grad-hero: linear-gradient(150deg, #0b1730 0%, #1a305e 55%, #244079 100%);
  /* 暗端は #9c7a38 だと濃い文字(#211707)が 4.41:1 で僅かに未達。#a5823d にして 4.92:1。 */
  --grad-gold: linear-gradient(135deg, #c9a765, #a5823d);
  /* 和文を先に置く。system-ui(Windowsでは Segoe UI)を先頭にすると、欧文と和文で別々の書体が
   * 選ばれ、同じ見出しの中で字形が混ざる。和文は1書体で揃えてから欧文の保険を並べる。 */
  --font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: var(--font);
  --font-brand: var(--font);
  --ease: cubic-bezier(.4, .14, .3, 1);
  /* v60: 白ヘッダー 72px(design-brief §4 共通ルール)。旧 64px から拡張。 */
  --header-height: 72px;

  /* ── v60 市場基準トークン(2026-09-04)────────────────────────────────
   * 発注者却下(「デザイン、アニメーション、全てにおいて失格」)を受けた市場実測
   * (research/design-brief.md §3)に基づく再定義。名前はリーダー裁定4のとおり固定し、
   * 全レーンがこの名前だけを使う。既存の --navy-* 等は他画面が参照しているため
   * 値を保持したまま残し、新しい面・文字色はこちらの名前空間で追加する。
   * --navy-900 は「ヒーロー等の単色紺の地」という新しい役target値(#10203f、旧 --navy-800
   * と同値)を持つ。2026-09-04 に影響確認済み: 旧 --navy-900(#0b1730)の重複定義は
   * 削除し、999行目付近の clinical-learning スコープ側の再上書きも外したので、
   * 全ページで --navy-900=#10203f・最も暗い面は --navy-950=#0b1730 に統一されている。 */
  --navy-950: #0b1730;
  --navy-900: #10203f;
  --navy-700: #1a305e;
  --navy-500: #2d4f92;
  --navy-100: #e9eef8;
  --ink: #182233;
  --ink-2: #5b6478;
  --gold-line: #c2a25e;
  --gold-text: #8a6a2b;
  --gold-soft: #f3ecd9;
  /* v60(2026-09-04): 祖先の地色を解決できない単独クラス(v60-eyebrow の子孫セレクタ
   * 方式を使えない .status-page-eyebrow / .home-features-eyebrow)は、静的コントラスト
   * 検査が5種の一般的な明るい面(--surface-3 #e9eef8 含む)全てと比較する。--gold-text は
   * #e9eef8 上で 4.32:1 と僅かに届かない(要 4.5)ため、届く濃さのゴールドを別に持つ。 */
  --gold-deep: #7d5d25;
  --paper: #ffffff;
  --cream: #f8f6f1;
  --line-1: rgba(11, 23, 48, .12);
  --line-on-dark: rgba(255, 255, 255, .18);
  /* 明朝は自前配信(font-src 'self')なので採用可(リーダー裁定1、design-brief §3-2の
   * 「Webフォント不可」を上書き)。見出しは明朝、本文・UIはゴシックで組む。 */
  --font-serif: "Davide Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
  /* v94 U-04(2026-09-18): 置換中は "Yu Gothic" を使う。Windows の既定の代替 "Yu Gothic UI" は
   * 自前の "Davide Sans JP" より字幅が 4.98〜15.97% 狭く、置換の瞬間に行の折り返しが変わって
   * 初回表示のずれ(CLS)になっていた(v92 S-07 の実測)。"Yu Gothic" は字幅がほぼ同じ。
   * Hiragino が先にあるので mac/iOS は不変、Android も対象の書体を持たないので不変。 */
  --font-sans: "Davide Sans JP", "Hiragino Sans", "Yu Gothic", "Yu Gothic UI", Meiryo, sans-serif;
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --ease-reveal: cubic-bezier(.16, 1, .3, 1);
  --dur-in: 600ms;
  --dur-reveal: 700ms;
  --dur-hover: 220ms;
  --r-card: 12px;
  --r-pill: 999px;
  --section-y: 120px;
  --section-y-sp: 72px;
  --container: 1200px;
  --gutter: 32px;
  --gutter-sp: 20px;
  --shadow-float: 0 12px 32px rgba(11, 23, 48, .16);
  --shadow-bar: 0 -2px 16px rgba(0, 0, 0, .06);
}

/* v60 自前フォント -> v83(P-47)頻度順 unicode-range 分割 -----------------------
 * 依頼1(v83 a11yレーン)の実測: 全文字を1ファイルに収める従来方式は初回転送が
 * 重い。実クロール51画面+FAQ全件・plans・qa・skin-rulesの全文言から出現頻度を集計し、
 * 安全な文字集合(実内容+JIS第1-2水準相当、7,090字。1字も削らず並び替えのみ)を
 * 20片に分割した(fonts/chunk_manifest_freq_n20.json)。各画面は最初の数片
 * (だいたい2〜12片)だけを取りに行けば表示に必要な文字が揃う。片0はファイル名を
 * 変えていない(skin/index.htmlのpreload行が指す和文フォントはこの2ファイルの
 * まま)。片0には出現頻度に加えて半角英数記号(U+0020-007E)を必ず含める
 * (public/faq/faq.css の「Davide FAQ Noto Sans JP」が同じファイル名を欧文専用
 * unicode-range: U+0000-007F で個別に読むため、片0だけで欧文が揃っている必要が
 * ある。faq.css側は無編集で済む)。生成方法: fontTools 4.63 pyftsubset
 * (--flavor=woff2 --layout-features='*'、v83/a11y/fonts/build_production_chunks.py)。
 * 元の全グリフ版は v83/a11y/fonts/original/ に保存(戻し方は fonts/README.md)。
 * どの片にも無い文字(絵文字やJIS第2水準の一部など、元のフォントにも無かった文字)は
 * 従来どおり下の --font-sans / --font-serif のフォールバックへ落ちる(挙動は分割前と
 * 同一。fontToolsの実測で確認済み= 分割後20片の被覆文字の合計は分割前の1ファイルと
 * 完全一致、0字の増減なし)。 */
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A9, U+00D7, U+2039, U+25CB, U+3001-3002, U+300C-300D, U+3042, U+3044, U+3046, U+3048, U+304A-304D, U+304F, U+3051-3055, U+3057-305B, U+305D, U+305F-3061, U+3063-3064, U+3066-306B, U+306E-3070, U+3073, U+3076, U+3078-3079, U+307B, U+307E-307F, U+3081-3082, U+3084, U+3088-308C, U+308F, U+3092-3093, U+30A2, U+30A4, U+30A6-30A8, U+30AA-30AB, U+30AD, U+30AF-30B0, U+30B2-30B3, U+30B5-30B6, U+30B8-30B9, U+30BB, U+30BF-30C1, U+30C3, U+30C6-30C9, U+30CB, U+30D2-30D5, U+30D7, U+30DA, U+30DC, U+30DE-30E1, U+30E3-30E5, U+30E9-30ED, U+30F3, U+30FB-30FC, U+4E00, U+4E0A-4E0B, U+4E0D-4E0E, U+4E2D, U+4E88, U+4EBA, U+4ED5, U+4ED8, U+4EE5, U+4F4D, U+4F53, U+4F55, U+4F5C, U+4F7F, U+4FDD, U+4FE1, U+5143, U+5165, U+5168, U+516C, U+5185, U+51FA, U+5206-5207, U+521D, U+5224-5225, U+5229, U+524D, U+529B, U+52B9, U+52D5, U+533B, U+533F, U+5358, U+53C2, U+53CD, U+53D7, U+53EF, U+5408, U+540C-540D, U+5411, U+54E1, U+554F, U+5668, U+56DB, U+56DE, U+56FD, U+57FA, U+5834, U+58CA, U+58F0, U+5909, U+5927, U+5B58, U+5B66, U+5B89, U+5B9A, U+5BA2, U+5BB9, U+5BFE-5BFF, U+5C04, U+5C11, U+5C4A, U+5DEE, U+5E0C, U+5E2B, U+5E74, U+5EA6, U+5F0F, U+5F37, U+5F53, U+5F8C, U+5FC5, U+5FDC, U+6027, U+6075, U+611F, U+614B, U+623B, U+629E, U+62BC, U+63A5, U+64CD, U+654F, U+6559, U+6570, U+6587, U+6599, U+65AD, U+65B9, U+65BD, U+65E5, U+6642, U+6700, U+6708, U+671B, U+672C, U+679C, U+683C, U+6848, U+69D8, U+6A5F, U+6B21, U+6B63, U+6BCE, U+6BD4, U+6BDB, U+6C0F, U+6C17, U+6C7A, U+6CE2, U+6CE8, U+6DF1, U+70B9, U+713C, U+7167, U+71B1, U+7279, U+72B6, U+7406, U+7528, U+753B, U+7570, U+75DB, U+7642, U+767B, U+7684, U+76EE, U+76F4, U+76F8, U+7834, U+78BA, U+793A, U+793E, U+79FB, U+7A2E, U+7B54, U+7D04, U+7D42, U+7D44, U+7D50, U+7DCF, U+7F6E, U+8003, U+808C, U+80FD, U+8131, U+81EA, U+8272, U+85AC, U+884C, U+8853, U+8868, U+8981, U+898B, U+89A7, U+89E3, U+8A2D, U+8A3A, U+8A8D, U+8AAC, U+8AC7, U+8CC7, U+8CEA, U+8D64, U+8F09, U+8FBC, U+8FD1, U+9001, U+9055, U+9069, U+9078, U+90E8, U+91CD-91CE, U+91D1, U+9332, U+9577, U+958B, U+9593, U+9662, U+9762, U+97F3, U+9854, U+985E, U+9AD8, U+9ED2, U+FF08-FF09, U+FF1A, U+FF1F;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c01.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+00A5, U+2014, U+203B, U+2103, U+2192, U+3010-3011, U+301C, U+3050, U+3056, U+305E, U+3065, U+306D, U+3072, U+3075, U+3080, U+3087, U+308D, U+30A5, U+30AC, U+30AE, U+30B1, U+30B4, U+30B7, U+30BA, U+30BD-30BE, U+30C4, U+30CA, U+30D0-30D1, U+30D6, U+30D9, U+30DD, U+30EF, U+30F4, U+4E01, U+4E08, U+4E3B, U+4E73, U+4E7E, U+4E86, U+4E8B-4E8C, U+4ECA-4ECB, U+4ED6, U+4EE3-4EE4, U+4EF6, U+4F11, U+4F1A, U+4F1D, U+4F3A, U+4F4E, U+4F75, U+4F8B, U+4FA1, U+4FC2, U+500B, U+5024, U+5074, U+50B7, U+50BE, U+512A, U+5148-5149, U+514D, U+5186, U+51B7, U+51DD, U+51E6, U+5236, U+523A, U+5243, U+524A, U+5264, U+5272, U+52A0, U+52B4, U+5316, U+534A, U+5374-5375, U+53D6, U+53E3, U+53F3, U+53F7, U+5426, U+542B, U+5468, U+54C1, U+5584, U+56A2, U+56F2, U+56FA, U+5728, U+5730, U+57CB, U+5831, U+5857, U+5897, U+5916, U+591A, U+592A-592B, U+5951, U+5973, U+598A, U+59CB, U+5A20, U+5B8C, U+5B9F, U+5BBF, U+5BDF, U+5BE7, U+5C02, U+5C0F, U+5C4B, U+5C5E, U+5DF1, U+5E33, U+5E38, U+5E72-5E73, U+5E83, U+5F15, U+5F31, U+5F62, U+5F71, U+5F85, U+5F97, U+5FA9, U+5FB4, U+5FC3, U+5FCC, U+5FF5, U+601D, U+6025, U+60A9, U+60C5, U+610F, U+6163, U+616E, U+6210, U+6240, U+624B, U+6253, U+6255, U+6291, U+6297, U+629C, U+6301, U+6307, U+632F, U+6388, U+63A2, U+63B2, U+642D, U+652F, U+6539, U+6574, U+65B0, U+660E, U+666E, U+6697, U+66F4, U+66F8, U+670D, U+671F, U+672A-672B, U+6761, U+6765, U+6839, U+68B0, U+691C, U+696D, U+697D, U+6A19, U+6B62, U+6B8B, U+6BB5, U+6C34, U+6C88, U+6CBB, U+6CC1, U+6CD5, U+6D17, U+6D45, U+6D6E, U+6D74, U+6D77, U+6D88, U+6E0B, U+6E1B, U+6E7F, U+6E96, U+6EB6, U+6FC3, U+706B, U+708E, U+7121, U+7136, U+71E5, U+72D9, U+72EC, U+7387, U+7389, U+73FE, U+751F, U+7523, U+7531, U+7533, U+756A, U+7591, U+75AB, U+75B2, U+75B9, U+75C5, U+75C7, U+767A, U+767D, U+76AE, U+76DB, U+7709, U+7740, U+77E5, U+786C, U+7968, U+7981, U+79F0, U+7A0B, U+7A0E, U+7A74, U+7A7A, U+7ACB, U+7AEF, U+7B11, U+7B49, U+7BA1, U+7BC4, U+7C89, U+7CA7, U+7D14, U+7D20, U+7D39, U+7D4C, U+7D61, U+7D75, U+7D9A, U+7DCA, U+7DDA, U+7DF4, U+7E54, U+7E70, U+7F8E, U+7FD2, U+8005, U+80AA, U+80CC, U+80F8, U+8102, U+811A, U+8155, U+8179, U+819A, U+822C, U+82E5, U+8352, U+843D, U+84C4, U+8584, U+8840, U+885B, U+8907, U+8910, U+898F, U+8996, U+8A00, U+8A0E, U+8A3C, U+8A66, U+8A71, U+8ABF, U+8B58, U+8C37, U+8C61, U+8CA0, U+8CBB-8CBC, U+8D77, U+8DB3, U+8DE1, U+8EAB, U+8EFD, U+8F03, U+8FBA, U+8FD4, U+8FF7, U+8FFD, U+9014, U+901A, U+9023, U+9031-9032, U+904B, U+904E, U+907F, U+90FD, U+914D, U+9154, U+9589, U+95A2, U+964D, U+9650, U+9664, U+967A, U+9694, U+969B, U+96FB, U+9752, U+975E, U+9805-9806, U+982C, U+984C-984D, U+98F2, U+9996, U+99C5, U+9A13, U+9B5A, U+9EA6, U+9EBB, U+9F3B, U+9F62, U+FF0B, U+FF0F, U+FF5E;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c02.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+3005, U+304E, U+305C, U+3074, U+3077, U+307A, U+307C-307D, U+3083, U+3085-3086, U+30A1, U+30A3, U+30A9, U+30BC, U+30CC-30CF, U+30D8, U+30DB, U+30E2, U+30E7, U+30F5-30F6, U+4E07, U+4E16, U+4E21, U+4E38, U+4E45, U+4E57, U+4E71, U+4EA4, U+4EAC, U+4ECF, U+4F0E, U+4F34, U+4F38, U+4F4F, U+4F59, U+4F9B, U+4FC3, U+5099, U+50CD, U+5171, U+5177-5178, U+518D, U+5199, U+51F8-51F9, U+5200, U+5217, U+5230, U+5238, U+523B, U+5247, U+525B, U+526F, U+52D9, U+52E2, U+52E4, U+52E7, U+533A, U+5341, U+5370, U+539A, U+539F, U+53BB, U+53CA-53CB, U+53CE, U+5404, U+5439, U+5442, U+544A, U+5473, U+548C, U+5546, U+55AB, U+55B6, U+56E0, U+571F, U+5742, U+5747, U+578B, U+585E, U+58EB, U+58F2, U+590F, U+591C, U+5931, U+5965, U+5968, U+59A8, U+59FF, U+5B50, U+5B54, U+5B63, U+5B85, U+5B88, U+5BA4, U+5BB3, U+5BB6, U+5BC4, U+5BE9, U+5C06, U+5C0B, U+5C0E, U+5C3B, U+5C3F-5C40, U+5C64, U+5CA9, U+5D0E, U+5DE5, U+5E03, U+5E2F-5E30, U+5E45, U+5E95, U+5E97, U+5EAD, U+5EF6, U+5F35, U+5F3E, U+5F80, U+5F8B, U+5F90, U+5F92-5F93, U+5FAE, U+5FB9, U+5FD8-5FD9, U+6016, U+6065, U+6094, U+60A3, U+60AA, U+60F3, U+614E, U+6162, U+6211, U+6238, U+6271, U+627F, U+62BD, U+62C5, U+62E0, U+62ED, U+6319, U+63A1, U+63A7-63A8, U+63BB, U+63D0, U+63DB, U+64AE, U+6545, U+6591, U+65C5, U+65CF, U+65E2, U+65E9, U+66DC, U+66FF, U+6709, U+6717, U+671D, U+6771, U+677F, U+67A0, U+67D3, U+67FB, U+6804, U+6821, U+6897, U+6975, U+6982, U+6A29, U+6B4C, U+6B66, U+6B69, U+6B6F, U+6B73-6B74, U+6BCD, U+6BD2, U+6C38, U+6C42, U+6C57, U+6C5F, U+6CA1, U+6CC9, U+6D3B, U+6D41, U+6D78, U+6DB2, U+6DF7, U+6DFB, U+6E05, U+6E08, U+6E21, U+6E29, U+6E6F, U+6E80, U+6EF4, U+6F0F, U+6F54, U+6FC0, U+70BA, U+7159, U+7269, U+72ED, U+7384, U+7532, U+7537, U+753A, U+754C, U+75BE, U+75D5, U+75E9, U+760D, U+764C, U+770B, U+771F, U+777E, U+77ED, U+795D-795E, U+79D1-79D2, U+7A4D, U+7A93, U+7B2C, U+7B4B, U+7B56, U+7B87, U+7B97, U+7C98, U+7CBE, U+7CD6, U+7CFB, U+7D2B, U+7D30, U+7D99, U+7DD2, U+7DE0, U+7DE9, U+7E4A, U+7FA9, U+7FCC, U+8033, U+805E, U+8089, U+8098, U+809B, U+809D, U+80A9, U+80B2, U+80C3, U+80DE, U+8107, U+8133, U+816B, U+818F, U+819C-819D, U+81A0, U+81A8, U+81D3, U+81ED, U+821E, U+8239, U+826F, U+82E6, U+82F1, U+84B8, U+888B, U+88C5, U+88FD, U+895F, U+897F, U+899A, U+89AA, U+89B3, U+89D2, U+8A08, U+8A18, U+8A31, U+8A33, U+8A55, U+8A70, U+8A73, U+8A98, U+8A9E, U+8ACB, U+8B72, U+8B77, U+8CA9, U+8CB7, U+8D08, U+8D8A, U+8ECA, U+8EDF, U+8EE2, U+8F2A, U+9006, U+900F, U+9045, U+9053-9054, U+9060, U+90ED, U+9152, U+9178, U+91CF, U+91DD, U+9320, U+9580, U+9632, U+9670, U+968E, U+969C, U+96C6, U+96D1, U+96E3, U+97D3, U+97FF, U+9808, U+9818, U+982D, U+983B, U+9858, U+98A8, U+98DB, U+98DF, U+99D0, U+9AEA, U+9AED, U+FF05, U+FFE5;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c03.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+00A7, U+00B1, U+00B7, U+00F7, U+201C-201D, U+2026, U+2122, U+2190, U+2197, U+21C4, U+2265, U+23F0, U+2460-2467, U+2500, U+25A1, U+25B2-25B3, U+25BC, U+25EF, U+2600, U+2605, U+2610-2611, U+26A1, U+2753, U+300E-300F, U+3041, U+3045, U+3047, U+3049, U+3071, U+309D-309F, U+30E6, U+30E8, U+30FD-30FE, U+4E09, U+4E26, U+4E89, U+4E92, U+4E94, U+4EEE, U+4EF0, U+4EFB, U+4F0F, U+4F3C, U+4F46, U+4F9D, U+4FBF, U+4FEE, U+500D, U+5012, U+5019, U+501F, U+504F, U+505C, U+5065, U+5076, U+507D, U+50CF, U+5100, U+511F, U+5144-5145, U+517C, U+5192, U+51A0, U+51CD, U+5237, U+5270, U+529F, U+52A3, U+52A9-52AA, U+52C9, U+52DD, U+5302, U+5305, U+5354, U+5357, U+5371, U+5373, U+53B3, U+53CC, U+53E4-53E5, U+53E9, U+53EB, U+53F0, U+53F8, U+5410, U+5438, U+547C-547D, U+5510, U+552F, U+5589, U+558B, U+559A, U+5614, U+5642, U+5674, U+56E3, U+56F0, U+56F3, U+5727, U+57DF, U+584A, U+5854, U+5869, U+5883, U+58A8, U+5915, U+5929, U+592E, U+596A, U+597D, U+59A5, U+59D4, U+5A66, U+5B57, U+5B6B, U+5BA3, U+5BC6, U+5BDD, U+5BF8, U+5C01, U+5C0A, U+5C3A, U+5C3E, U+5C45, U+5C55, U+5C65, U+5C71, U+5C90, U+5D29, U+5DE6, U+5DFB, U+5E02, U+5E2D, U+5E78, U+5E7E, U+5E8A, U+5E8F, U+5EA7, U+5EAB, U+5EB7, U+5EC3, U+5F01, U+5F1F, U+5F27, U+5F79, U+5F7C, U+5F84, U+5FA1, U+5FAA, U+5FEB, U+6050, U+606F, U+6226, U+6234, U+6280, U+6295, U+6298, U+62B5, U+62D2, U+62DB, U+62E1, U+62EC, U+6368, U+636E, U+639B, U+63C3, U+63EE, U+63F4, U+640D, U+6442, U+6469, U+64E6, U+6557, U+6669, U+66F2, U+672D, U+67D4, U+6813, U+6885, U+69CB, U+69FD, U+6A2A, U+6B04, U+6B20, U+6B96, U+6C37, U+6C5A, U+6CBF, U+6CE1, U+6CF3, U+6D3E, U+6DAF, U+6FE1, U+70AD, U+722A, U+73CD, U+7559, U+75B1, U+75D2, U+75E2, U+7622, U+7652, U+76C6, U+76CA, U+76E4, U+7701, U+7720, U+773C, U+7761, U+77AC, U+77F3, U+79C1, U+79D8, U+7AF6, U+7BC0, U+7BE4, U+7C4D, U+7D0D, U+7D19, U+7D22, U+7D5E, U+7D66, U+7D76, U+7DD1, U+7E26, U+7E2B, U+7E2E, U+7E3E, U+7E41, U+7F72, U+8001, U+8010, U+8077, U+80A2, U+8108, U+814B, U+8154, U+8178, U+817A, U+817F, U+81BF-81C0, U+81E8, U+8217, U+82B1, U+8377, U+83CC, U+878D, U+8863, U+8896, U+88CF, U+88D5, U+88DC, U+8986, U+89E6, U+8A72, U+8A95, U+8AAD, U+8B1D, U+8CAC, U+8CFC, U+8D85, U+8E0F, U+8FCE, U+8FEB, U+9000, U+9003, U+901F, U+9063, U+907A, U+90AA, U+914C, U+9162, U+9244, U+9262, U+93E1, U+9451, U+9673, U+96A0, U+96A3, U+96F0, U+9732, U+9759, U+9802-9803, U+9810, U+984E, U+98EF, U+990A, U+9928, U+9999, U+99B4, U+9AA8, U+9E78, U+FE0F, U+FF13, U+FF15, U+1F338, U+1F393, U+1F3E5, U+1F48A, U+1F4AA, U+1F4AC, U+1F4B0, U+1F4C4-1F4C5, U+1F4CB, U+1F4D8, U+1F512, U+1F52C, U+1F530, U+1F5D3, U+1F600, U+1F60C, U+1F61F, U+1F9CD, U+1F9D4, U+1F9F4, U+1FA72, U+1FA79;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c04.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+00A2-00A3, U+00A8, U+00AC, U+00B0, U+00B4, U+00B6, U+0391-03A1, U+03A3-03A9, U+03B1-03C1, U+03C3-03C9, U+0401, U+0410-044F, U+0451, U+2010, U+2015-2016, U+2018-2019, U+2020-2021, U+2025, U+2030, U+2032-2033, U+212B, U+2191, U+2193, U+21D2, U+21D4, U+2200, U+2202-2203, U+2207-2208, U+220B, U+2212, U+221A, U+221D-221E, U+2220, U+2227-222C, U+2234-2235, U+223D, U+2252, U+2260-2261, U+2266-2267, U+226A-226B, U+2282-2283, U+2286-2287, U+22A5, U+2312, U+2501-2503, U+250C, U+250F-2510, U+2513-2514, U+2517-2518, U+251B-251D, U+2520, U+2523-2524, U+62FE, U+6311, U+631F, U+633F, U+6349, U+634F, U+6355, U+6357, U+6383, U+6392, U+639F, U+63CF, U+63E1, U+6458, U+6483, U+64A4, U+64EC, U+653B, U+653E, U+6551, U+6563, U+6577, U+65E6-65E8, U+6607, U+6613, U+6620, U+6627, U+662F, U+663C, U+666F, U+66A6, U+66AB, U+66D6, U+6728, U+6750, U+675F, U+6790, U+679A, U+67B6, U+6841, U+68B1, U+68C4, U+68D2, U+6A21, U+6B27, U+6B32, U+6B7B, U+6B8A, U+6C4E, U+6CA2, U+6E2C, U+6E58, U+6E90, U+6EC5, U+6ED1, U+6F14, U+6F22, U+6F70, U+6FC1, U+6FEB, U+7070, U+7126, U+717D, U+7236, U+7247-7248, U+7336, U+74B0, U+7530, U+7565, U+7573, U+767E, U+76BF, U+76E3, U+76FE, U+77DB, U+77E2, U+7814, U+7956, U+7A00, U+7A4F, U+7A81, U+7AE0, U+7BB1, U+7BC9, U+7C21, U+7C3F, U+7C8B, U+7C92, U+7D05, U+7D10, U+7D1B, U+7D21, U+7D2F, U+7D3A, U+7D71, U+7DAD, U+7DB2, U+7DE8, U+7DEF, U+7E01, U+7E1B, U+7E4B, U+7F6B, U+7FA4, U+80AF, U+81F3-81F4, U+8336, U+8449, U+8457, U+866B, U+88C1, U+88F8, U+8972, U+8A02, U+8A2A, U+8A5E, U+8A93, U+8AA0, U+8AA4, U+8AB0, U+8AB2, U+8AE6, U+8AFE, U+8B66, U+8D70, U+8DDD, U+8DEF, U+8DF3, U+8EF8, U+8F9E, U+8FBF, U+8FF0, U+9020, U+904A, U+906E, U+9077, U+90CE, U+91E6, U+9318, U+9375, U+95B2, U+95BE, U+968F, U+96E2, U+983C, U+98FE, U+99C4, U+9AB8, U+9B54, U+9CF4, U+9EC4, U+9ED9, U+9FFF, U+C0AC, U+C774, U+D2B8, U+FF01, U+FF10-FF11, U+FF14, U+FF18-FF19, U+FF1C, U+FF1E, U+FF5C;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c05.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+2525, U+2528, U+252B-252C, U+252F-2530, U+2533-2534, U+2537-2538, U+253B-253C, U+253F, U+2542, U+254B, U+25A0, U+25BD, U+25C6-25C7, U+25CE-25CF, U+2606, U+2640, U+2642, U+266A, U+266D, U+266F, U+3000, U+3003, U+3006-300B, U+3012-3015, U+3043, U+3062, U+306C, U+308E, U+3090-3091, U+309B-309C, U+30C2, U+30C5, U+30EE, U+30F0-30F2, U+4E03, U+4E10-4E11, U+4E14-4E15, U+4E17-4E19, U+4E1E, U+4E2A, U+4E31-4E32, U+4E36, U+4E39, U+4E3C, U+4E3F, U+4E42-4E43, U+4E4B, U+4E4D-4E4F, U+4E55-4E56, U+4E58-4E59, U+4E5D-4E5F, U+4E62, U+4E80, U+4E82, U+4E85, U+4E8A, U+4E8E, U+4E91, U+4E95, U+4E98-4E99, U+4E9B-4E9C, U+4E9E-4EA2, U+4EA5-4EA6, U+4EA8, U+4EAB, U+4EAD-4EAE, U+4EB0, U+4EB3, U+4EB6, U+4EC0-4EC2, U+4EC4, U+4EC6-4EC7, U+4ECD-4ECE, U+4ED4, U+4ED7, U+4ED9, U+4EDD-4EDF, U+4EED, U+4EF2, U+4EF7, U+4F01, U+4F09-4F0A, U+4F0D, U+4F10, U+4F1C, U+4F2F-4F30, U+4F36, U+4F3D, U+4F43, U+4F47, U+4F50-4F51, U+4F57, U+4F5A-4F5B, U+4F5D-4F5E, U+4F69, U+4F6F-4F70, U+4F73, U+4F76, U+4F7B-4F7C, U+4F83, U+4F86, U+4F88, U+4F8D, U+4F8F, U+4F91, U+4F96, U+4F98, U+4FA0, U+4FAB, U+4FAD-4FAF, U+4FB5-4FB6, U+4FC4, U+4FCA, U+4FCE, U+4FD0-4FD1, U+4FD4, U+4FD7-4FD8, U+4FDA-4FDB, U+4FDF, U+4FE3-4FE5, U+4FEF, U+4FF3, U+4FF5-4FF6, U+4FF8, U+4FFA, U+4FFE, U+5005-5006, U+5009, U+500F, U+5011, U+5014, U+5016, U+501A, U+5021, U+5023, U+5025-5026, U+5028-502D, U+5036, U+5039, U+5043, U+5047-5049, U+5050, U+5055-5056, U+505A, U+506C, U+5072, U+5075, U+5078, U+5080, U+5085, U+508D, U+5091, U+5098, U+509A, U+50AC-50AD, U+50B2-50B5, U+50C2, U+50C5, U+50C9-50CA, U+50D1, U+50D5-50D6, U+50DA, U+50DE, U+50E3, U+50E5, U+50E7, U+50ED-50EE, U+50F5, U+50F9, U+50FB, U+5101-5102, U+5104, U+5109, U+5112, U+5114-5116, U+5118, U+511A, U+5121, U+5132, U+5137, U+513A-513C, U+513F-5141, U+5146-5147, U+514B-514C, U+514E, U+5150, U+5152, U+5154, U+515A, U+515C, U+5162, U+5169-516B, U+516D-516E, U+5175-5176, U+5180, U+5182, U+5189-518A, U+518C, U+518F-5191, U+5193, U+5195-5197, U+51A2, U+51A4-51A6, U+51A8-51AC, U+51B0-51B6, U+51BD, U+51C4-51C6, U+51C9, U+51CB-51CC, U+51D6, U+51DB-51DC, U+51E0-51E1, U+51E7, U+51E9-51EA, U+51ED, U+51F0-51F1, U+51F5-51F6, U+51FD-51FE, U+5203-5204, U+5208, U+520A-520B, U+520E, U+5211, U+5214, U+5227, U+522A, U+522E, U+5233, U+5239, U+5244, U+524B-524C, U+524F, U+5254, U+5256, U+525E;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c06.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+5263, U+5265, U+5269-526A, U+5271, U+5273-5275, U+527D, U+527F, U+5283, U+5287-5289, U+528D, U+5291-5292, U+5294, U+52AB-52AD, U+52B1, U+52B5, U+52BC, U+52BE, U+52C1, U+52C3, U+52C5, U+52C7, U+52CD, U+52D2, U+52D7-52D8, U+52DE-52E0, U+52E3, U+52E6, U+52F2-52F3, U+52F5, U+52F8-52FA, U+52FE-52FF, U+5301, U+5306, U+5308, U+530D, U+530F-5310, U+5315, U+5317, U+5319-531A, U+531D, U+5320-5321, U+5323, U+532A, U+532F, U+5331, U+5333, U+5338-5339, U+5340, U+5343, U+5345-5349, U+534D, U+5351-5353, U+535A, U+535C, U+535E, U+5360, U+5366, U+5369, U+536E-536F, U+5377-5378, U+537B, U+537F, U+5382, U+5384, U+5396, U+5398, U+53A0, U+53A5-53A6, U+53A8-53A9, U+53AD-53AE, U+53B0, U+53B6, U+53C3, U+53C8-53C9, U+53D4, U+53D9, U+53DB, U+53DF, U+53E1-53E2, U+53E8, U+53EA, U+53EC-53EE, U+53F1-53F2, U+53F6, U+53FA, U+5401, U+5403, U+5409-540B, U+540E-540F, U+541B, U+541D, U+541F-5420, U+5429, U+542C-542E, U+5436, U+543B-543E, U+5440, U+5446, U+5448-5449, U+544E, U+5451, U+545F, U+546A, U+5470-5471, U+5475-5477, U+547B, U+5480, U+5484, U+5486, U+548B, U+548E-5490, U+5492, U+54A2, U+54A4-54A5, U+54A8, U+54AB-54AC, U+54AF, U+54B2-54B3, U+54B8, U+54BC-54BE, U+54C0, U+54C2, U+54C4, U+54C7-54C9, U+54D8, U+54E2, U+54E5-54E6, U+54E8-54E9, U+54ED-54EE, U+54F2, U+54FA, U+54FD, U+5504, U+5506-5507, U+550F, U+5514, U+5516, U+552E, U+5531, U+5533, U+5538-5539, U+553E, U+5540, U+5544-5545, U+554C, U+5553, U+5556-5557, U+555C-555D, U+5563, U+557B-557C, U+557E, U+5580, U+5583, U+5587, U+558A, U+5598-5599, U+559C-559F, U+55A7-55AA, U+55AC, U+55AE, U+55B0, U+55C4-55C5, U+55C7, U+55D4, U+55DA, U+55DC, U+55DF, U+55E3-55E4, U+55F7, U+55F9, U+55FD-55FE, U+5606, U+5609, U+5616-5618, U+561B, U+5629, U+562F, U+5631-5632, U+5634, U+5636, U+5638, U+564C, U+564E, U+5650, U+565B, U+5664, U+566A-566C, U+5678, U+567A, U+5680, U+5686-5687, U+568A, U+568F, U+5694, U+56A0, U+56A5, U+56AE, U+56B4, U+56B6, U+56BC, U+56C0-56C3, U+56C8, U+56CE, U+56D1, U+56D3, U+56D7-56D8, U+56DA, U+56EE, U+56F9, U+56FF-5700, U+5703-5704, U+5708-5709, U+570B, U+570D, U+570F, U+5712-5713, U+5716, U+5718, U+571C, U+5726, U+572D, U+5737-5738, U+573B, U+5740, U+574A, U+574E-5751, U+5761, U+5764, U+5766, U+5769-576A, U+577F, U+5782, U+5788-5789, U+5793, U+57A0, U+57A2-57A4, U+57AA, U+57B0, U+57B3, U+57C0, U+57C3, U+57C6, U+57CE, U+57D2-57D4, U+57D6, U+57DC, U+57E0, U+57E3, U+57F4, U+57F7, U+57F9, U+57FC, U+5800, U+5802, U+5805;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c07.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+5806, U+580A-580B, U+5815, U+5819, U+581D, U+5821, U+5824, U+582A, U+582F-5830, U+5835, U+583A, U+583D, U+5840-5841, U+584B, U+5851-5852, U+5858-585A, U+5862, U+586B, U+5870, U+5872, U+5875, U+5879, U+587E, U+5885, U+5893, U+589C, U+589F, U+58AB, U+58AE, U+58B3, U+58B8-58BB, U+58BE, U+58C1, U+58C5, U+58C7, U+58CC, U+58D1, U+58D3, U+58D5, U+58D7-58D9, U+58DC, U+58DE-58DF, U+58E4-58E5, U+58EC, U+58EE-58EF, U+58F1, U+58F7, U+58F9-58FD, U+5902, U+590A, U+5910, U+5918-5919, U+591B, U+5922, U+5925, U+592C-592D, U+5932, U+5937-5938, U+593E, U+5944, U+5947-5949, U+594E-5950, U+5954-5955, U+5957-5958, U+595A, U+5960, U+5962, U+5967, U+5969, U+596C, U+596E, U+5974, U+5978, U+5981-5984, U+598D, U+5993, U+5996, U+5999, U+599B, U+599D, U+59A3, U+59AC, U+59B2, U+59B9, U+59BB, U+59BE, U+59C6, U+59C9, U+59D0-59D1, U+59D3, U+59D9-59DA, U+59DC, U+59E5-59E6, U+59E8, U+59EA-59EB, U+59F6, U+59FB, U+5A01, U+5A03, U+5A09, U+5A11, U+5A18, U+5A1A, U+5A1C, U+5A1F, U+5A25, U+5A29, U+5A2F, U+5A35-5A36, U+5A3C, U+5A40-5A41, U+5A46, U+5A49, U+5A5A, U+5A62, U+5A6A, U+5A6C, U+5A7F, U+5A92, U+5A9A-5A9B, U+5ABC-5ABE, U+5AC1-5AC2, U+5AC9, U+5ACB-5ACC, U+5AD0, U+5AD6-5AD7, U+5AE1, U+5AE3, U+5AE6, U+5AE9, U+5AFA-5AFB, U+5B09, U+5B0B-5B0C, U+5B16, U+5B22, U+5B2A, U+5B2C, U+5B30, U+5B32, U+5B36, U+5B3E, U+5B40, U+5B43, U+5B45, U+5B51, U+5B55, U+5B5A-5B5D, U+5B5F, U+5B64-5B65, U+5B69, U+5B70-5B71, U+5B73, U+5B75, U+5B78, U+5B7A, U+5B80, U+5B83, U+5B87, U+5B8B, U+5B8D, U+5B8F, U+5B95, U+5B97-5B99, U+5B9B-5B9D, U+5BA5-5BA6, U+5BAE, U+5BB0, U+5BB4-5BB5, U+5BB8, U+5BC2-5BC3, U+5BC5, U+5BC7, U+5BC9, U+5BCC, U+5BD0, U+5BD2-5BD4, U+5BDB, U+5BDE, U+5BE1-5BE2, U+5BE4-5BE6, U+5BE8, U+5BEB, U+5BEE, U+5BF0, U+5BF3, U+5BF5-5BF6, U+5BFA, U+5C05, U+5C07-5C09, U+5C0D, U+5C13, U+5C16, U+5C1A, U+5C20, U+5C22, U+5C24, U+5C28, U+5C2D, U+5C31, U+5C38-5C39, U+5C3C-5C3D, U+5C41, U+5C46, U+5C48, U+5C4D-5C51, U+5C53, U+5C60-5C61, U+5C6C, U+5C6E-5C6F, U+5C76, U+5C79, U+5C8C, U+5C91, U+5C94, U+5CA1, U+5CA8, U+5CAB-5CAC, U+5CB1, U+5CB3, U+5CB6-5CB8, U+5CBB-5CBC, U+5CBE, U+5CC5, U+5CC7, U+5CD9, U+5CE0-5CE1, U+5CE8-5CEA, U+5CED, U+5CEF-5CF0, U+5CF6, U+5CFA-5CFB, U+5CFD, U+5D07, U+5D0B, U+5D11, U+5D14-5D1B, U+5D1F, U+5D22, U+5D4B-5D4C, U+5D4E, U+5D50, U+5D52, U+5D5C, U+5D69, U+5D6C, U+5D6F, U+5D73, U+5D76, U+5D82, U+5D84, U+5D87, U+5D8B-5D8C, U+5D90, U+5D9D, U+5DA2, U+5DAC, U+5DAE, U+5DB7, U+5DBA, U+5DBC-5DBD, U+5DC9, U+5DCC-5DCD, U+5DD2;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c08.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+5DD3, U+5DD6, U+5DDB, U+5DDD-5DDE, U+5DE1, U+5DE3, U+5DE7-5DE8, U+5DEB, U+5DF2-5DF5, U+5DF7, U+5DFD-5DFE, U+5E06, U+5E0B, U+5E11, U+5E16, U+5E19-5E1B, U+5E1D, U+5E25, U+5E36-5E37, U+5E3D, U+5E40, U+5E43-5E44, U+5E47, U+5E4C, U+5E4E, U+5E54-5E55, U+5E57, U+5E5F, U+5E61-5E64, U+5E75-5E76, U+5E79-5E7D, U+5E7F, U+5E81, U+5E84, U+5E87, U+5E96, U+5E9A, U+5E9C, U+5EA0, U+5EB5-5EB6, U+5EB8, U+5EC1-5EC2, U+5EC8-5ECA, U+5ECF-5ED0, U+5ED3, U+5ED6, U+5EDA-5EDB, U+5EDD, U+5EDF-5EE3, U+5EE8-5EE9, U+5EEC, U+5EF0-5EF1, U+5EF3-5EF4, U+5EF7-5EF8, U+5EFA-5EFC, U+5EFE-5EFF, U+5F03-5F04, U+5F09-5F0D, U+5F10-5F11, U+5F13-5F14, U+5F16-5F18, U+5F1B, U+5F25-5F26, U+5F29, U+5F2D, U+5F2F, U+5F38, U+5F3C, U+5F41, U+5F48, U+5F4A, U+5F4C, U+5F4E, U+5F51, U+5F56-5F57, U+5F59, U+5F5C-5F5D, U+5F61, U+5F66, U+5F69-5F6D, U+5F70, U+5F73, U+5F77, U+5F7F, U+5F81-5F83, U+5F87-5F88, U+5F8A, U+5F91, U+5F98-5F99, U+5F9E, U+5FA0, U+5FA8, U+5FAD, U+5FB3, U+5FBC-5FBD, U+5FCD, U+5FD6-5FD7, U+5FDD, U+5FE0, U+5FE4, U+5FF0-5FF1, U+5FF8, U+5FFB, U+5FFD, U+5FFF, U+600E-6010, U+6012, U+6015, U+6019, U+601B-601C, U+6020-6021, U+6026, U+6028-602B, U+602F, U+6031, U+603A, U+6041-6043, U+6046, U+604A-604B, U+604D, U+6052, U+6055, U+6059-605A, U+605F-6060, U+6062-6064, U+6068-606D, U+6070, U+6077, U+6081, U+6083-6084, U+6089, U+608B-608D, U+6092, U+6096-6097, U+609A-609B, U+609F-60A0, U+60A6-60A7, U+60B2-60B6, U+60B8, U+60BC-60BD, U+60C6-60C7, U+60D1, U+60D3, U+60D8, U+60DA, U+60DC, U+60DF-60E1, U+60E3, U+60E7-60E8, U+60F0-60F1, U+60F4, U+60F6-60F7, U+60F9-60FB, U+6100-6101, U+6103, U+6106, U+6108-6109, U+610D-610E, U+6115, U+611A-611B, U+6121, U+6127-6128, U+612C, U+6134, U+613C-613F, U+6142, U+6144, U+6147-6148, U+614A, U+614C-614D, U+6153, U+6155, U+6158-615A, U+615D, U+615F, U+6165, U+6167-6168, U+616B, U+616F-6171, U+6173-6177, U+617E, U+6182, U+6187, U+618A, U+618E, U+6190-6191, U+6194, U+6196, U+6199-619A, U+61A4, U+61A7, U+61A9, U+61AB-61AC, U+61AE, U+61B2, U+61B6, U+61BA, U+61BE, U+61C3, U+61C6-61CD, U+61D0, U+61E3, U+61E6, U+61F2, U+61F4, U+61F6-61F8, U+61FA, U+61FC-6200, U+6208-620A, U+620C-620E, U+6212, U+6214, U+6216, U+621A-621B, U+621D-621F;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c09.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+6221, U+622A, U+622E-6230, U+6232-6233, U+623F, U+6241, U+6247-6249, U+624D-624E, U+6258, U+625B, U+625E, U+6260, U+6263, U+6268, U+626E, U+6276, U+6279, U+627C, U+627E, U+6282-6284, U+6289-628A, U+6292-6294, U+6296, U+629B, U+62AB-62AC, U+62B1, U+62B9, U+62BB, U+62C2, U+62C6-62CA, U+62CC-62CD, U+62CF-62D1, U+62D3-62D4, U+62D7-62D9, U+62DC-62DD, U+62EE-62EF, U+62F1, U+62F3, U+62F5-62F7, U+62FF, U+6302, U+6308-6309, U+630C, U+6327-6328, U+632B, U+633A, U+633D-633E, U+634C-634D, U+6350, U+635C, U+6367, U+6369, U+636B, U+6372, U+6376-6377, U+637A-637B, U+6380, U+6389, U+638C, U+638E-638F, U+6396, U+6398, U+63A0, U+63A3, U+63A9-63AC, U+63B4-63B5, U+63BE, U+63C0, U+63C4, U+63C6, U+63C9, U+63D2, U+63D6, U+63DA, U+63E3, U+63E9, U+63F6, U+63FA, U+6406, U+640F, U+6413, U+6416-6417, U+641C, U+6426, U+6428, U+642C, U+6434, U+6436, U+643A, U+643E, U+644E, U+6467, U+646F, U+6476, U+6478, U+647A, U+6488, U+6492-6493, U+6495, U+649A, U+649E, U+64A5, U+64A9, U+64AB, U+64AD, U+64B0, U+64B2, U+64B9, U+64BB-64BC, U+64C1-64C2, U+64C5, U+64C7, U+64D2, U+64D4, U+64D8, U+64DA, U+64E0-64E3, U+64E7, U+64EF, U+64F1-64F2, U+64F4, U+64F6, U+64FA, U+64FD-64FE, U+6500, U+6505, U+6518, U+651C-651D, U+6523-6524, U+652A-652C, U+6534-6538, U+653F, U+6548, U+654D, U+6555-6556, U+6558, U+655D-655E, U+6562, U+6566, U+656C, U+6572, U+6575, U+6578, U+6582-6583, U+6588-6589, U+658C, U+658E, U+6590, U+6597, U+659B-659C, U+659F, U+65A1, U+65A4-65A5, U+65A7, U+65AB-65AC, U+65AF, U+65B7, U+65BC, U+65C1, U+65C3-65C4, U+65C6, U+65CB-65CC, U+65D2, U+65D7, U+65D9, U+65DB, U+65E0-65E1, U+65EC-65ED, U+65F1, U+65FA-65FB, U+6602-6603, U+6606, U+660A, U+660C, U+660F, U+6614, U+661C, U+661F, U+6625, U+6628, U+662D, U+6634-6636, U+663F, U+6641, U+6643-6644, U+6649, U+664B, U+664F, U+6652, U+665D-665F, U+6662, U+6664, U+6666-6668, U+6670, U+6674, U+6676, U+667A, U+6681, U+6683-6684, U+6687-6689, U+668E, U+6691, U+6696, U+6698, U+669D, U+66A2, U+66AE, U+66B4, U+66B8-66B9, U+66BC, U+66BE, U+66C1, U+66C4, U+66C7, U+66C9, U+66D9-66DA, U+66DD, U+66E0, U+66E6, U+66E9, U+66F0, U+66F3, U+66F5, U+66F7, U+66F9, U+66FC-66FE, U+6703, U+670B, U+670F, U+6714-6716, U+671E, U+6726-6727, U+672E, U+6731, U+6734, U+6736-6738, U+673A, U+673D, U+673F, U+6741, U+6746, U+6749, U+674E-674F, U+6751, U+6753, U+6756, U+6759, U+675C, U+675E, U+6760, U+6762-6764, U+676A, U+676D, U+676F-6770, U+6772-6773, U+6775, U+6777, U+677C, U+677E, U+6785, U+6787, U+6789, U+678B-678C;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c10.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+6795, U+6797, U+679D, U+67A1-67A2, U+67A6, U+67A9, U+67AF, U+67B3-67B4, U+67B7-67B9, U+67C1, U+67C4, U+67C6, U+67CA, U+67CE-67D1, U+67D8, U+67DA, U+67DD-67DE, U+67E2, U+67E4, U+67E7, U+67E9, U+67EC, U+67EE-67EF, U+67F1, U+67F3-67F5, U+67FE-67FF, U+6802-6803, U+6816-6817, U+681E, U+6822, U+6829-682B, U+6832, U+6834, U+6838, U+683D, U+6840, U+6842-6843, U+6846, U+684D-684E, U+6850-6851, U+6853-6854, U+6859, U+685C-685D, U+685F, U+6863, U+6867, U+6874, U+6876-6877, U+687E-687F, U+6881, U+6883, U+688D, U+688F, U+6893-6894, U+689B, U+689D, U+689F-68A0, U+68A2, U+68A6-68A8, U+68AD, U+68AF, U+68B3, U+68B5-68B6, U+68B9-68BA, U+68BC, U+68C6, U+68C9-68CB, U+68CD, U+68D4-68D5, U+68D7-68D8, U+68DA, U+68DF-68E1, U+68E3, U+68E7, U+68EE-68EF, U+68F2, U+68F9-68FA, U+6900-6901, U+6904-6905, U+6908, U+690B-690F, U+6912, U+6919-691B, U+6921-6923, U+6925-6926, U+6928, U+692A, U+6930, U+6934, U+6936, U+6939, U+693D, U+693F, U+694A, U+6953-6955, U+6959-695A, U+695C-695E, U+6960-6962, U+696A-696B, U+696E-696F, U+6973-6974, U+6977-6979, U+697C, U+697E, U+6981, U+698A, U+698E, U+6991, U+6994-6995, U+699B-699C, U+69A0, U+69A7, U+69AE, U+69B1-69B2, U+69B4, U+69BB, U+69BE-69BF, U+69C1, U+69C3, U+69C7, U+69CA, U+69CC-69CE, U+69D0, U+69D3, U+69D9, U+69DD-69DE, U+69E7-69E8, U+69EB, U+69ED, U+69F2, U+69F9, U+69FB, U+69FF, U+6A02, U+6A05, U+6A0A-6A0C, U+6A12-6A14, U+6A17, U+6A1B, U+6A1E-6A1F, U+6A22-6A23, U+6A2B, U+6A2E, U+6A35-6A36, U+6A38-6A3A, U+6A3D, U+6A44, U+6A47-6A48, U+6A4B, U+6A58-6A59, U+6A61-6A62, U+6A66, U+6A72, U+6A78, U+6A7F-6A80, U+6A84, U+6A8D-6A8E, U+6A90, U+6A97, U+6A9C, U+6AA0, U+6AA2-6AA3, U+6AAA, U+6AAC, U+6AAE, U+6AB3, U+6AB8, U+6ABB, U+6AC1-6AC3, U+6AD1, U+6AD3, U+6ADA-6ADB, U+6ADE-6ADF, U+6AE8, U+6AEA, U+6AFA-6AFB, U+6B05, U+6B0A, U+6B12, U+6B16, U+6B1D, U+6B1F, U+6B23, U+6B37-6B3A, U+6B3D-6B3E, U+6B43, U+6B47, U+6B49, U+6B4E, U+6B50, U+6B53-6B54, U+6B59, U+6B5B, U+6B5F, U+6B61, U+6B64, U+6B6A, U+6B78-6B79, U+6B7F-6B80, U+6B83-6B84, U+6B86, U+6B89, U+6B8D, U+6B95, U+6B98, U+6B9E, U+6BA4, U+6BAA-6BAB, U+6BAF, U+6BB1-6BB4, U+6BB7, U+6BBA-6BBC, U+6BBF-6BC0, U+6BC5-6BC6, U+6BCB, U+6BD3, U+6BD8, U+6BDF, U+6BEB-6BEC, U+6BEF, U+6BF3, U+6C08, U+6C11, U+6C13-6C14, U+6C1B, U+6C23-6C24, U+6C3E, U+6C40-6C41, U+6C50, U+6C55, U+6C5D-6C5E, U+6C60, U+6C62, U+6C68, U+6C6A, U+6C70, U+6C72-6C73, U+6C7D-6C7E, U+6C81-6C83, U+6C8C-6C8D;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c11.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+6C90, U+6C92-6C93, U+6C96, U+6C99-6C9B, U+6CAB, U+6CAE, U+6CB1, U+6CB3, U+6CB8-6CBA, U+6CBC-6CBE, U+6CC4-6CC5, U+6CCA, U+6CCC, U+6CD3, U+6CD7, U+6CD9, U+6CDB, U+6CDD, U+6CE3, U+6CE5, U+6CEA, U+6CEF-6CF1, U+6D0B-6D0C, U+6D12, U+6D19, U+6D1B, U+6D1E-6D1F, U+6D25, U+6D29-6D2B, U+6D32-6D33, U+6D35-6D36, U+6D38, U+6D3D, U+6D44, U+6D59-6D5A, U+6D5C, U+6D63-6D64, U+6D66, U+6D69-6D6A, U+6D6C, U+6D79, U+6D85, U+6D8C, U+6D8E, U+6D93, U+6D95, U+6D99, U+6D9B-6D9C, U+6DB5, U+6DB8, U+6DBC, U+6DC0, U+6DC5-6DC7, U+6DCB-6DCC, U+6DD1-6DD2, U+6DD5, U+6DD8-6DD9, U+6DDE, U+6DE1, U+6DE4, U+6DE6, U+6DE8, U+6DEA-6DEC, U+6DEE, U+6DF3, U+6DF5, U+6DF9-6DFA, U+6E07, U+6E09-6E0A, U+6E13, U+6E15, U+6E19-6E1A, U+6E1D, U+6E1F-6E20, U+6E23-6E26, U+6E2B, U+6E2D-6E2F, U+6E38, U+6E3A, U+6E3E, U+6E43, U+6E4A, U+6E4D-6E4E, U+6E56, U+6E5B, U+6E5F, U+6E67, U+6E6B, U+6E6E, U+6E72, U+6E76, U+6E7E, U+6E82, U+6E8C, U+6E8F, U+6E98, U+6E9C-6E9D, U+6E9F, U+6EA2, U+6EA5, U+6EAA, U+6EAF, U+6EB2, U+6EB7, U+6EBA, U+6EBD, U+6EC2, U+6EC4, U+6EC9, U+6ECB-6ECC, U+6ED3-6ED5, U+6EDD-6EDE, U+6EEC, U+6EEF, U+6EF2, U+6EF7-6EF8, U+6EFE-6EFF, U+6F01-6F02, U+6F06, U+6F09, U+6F11, U+6F13, U+6F15, U+6F20, U+6F23, U+6F2B-6F2C, U+6F31-6F32, U+6F38, U+6F3E-6F3F, U+6F41, U+6F45, U+6F58, U+6F5B-6F5C, U+6F5F, U+6F64, U+6F66, U+6F6D-6F6F, U+6F74, U+6F78, U+6F7A, U+6F7C, U+6F80-6F82, U+6F84, U+6F86, U+6F8E, U+6F91, U+6F97, U+6FA1, U+6FA3-6FA4, U+6FAA, U+6FB1, U+6FB3, U+6FB9, U+6FC2, U+6FC6, U+6FD4-6FD5, U+6FD8, U+6FDB, U+6FDF-6FE0, U+6FE4, U+6FEC, U+6FEE-6FEF, U+6FF1, U+6FF3, U+6FF6, U+6FFA, U+6FFE, U+7001, U+7009, U+700B, U+700F, U+7011, U+7015, U+7018, U+701A-701B, U+701D-701F, U+7026-7027, U+702C, U+7030, U+7032, U+703E, U+704C, U+7051, U+7058, U+7063, U+706F, U+7078, U+707C-707D, U+7089-708A, U+7092, U+7099, U+70AC, U+70AE-70AF, U+70B3, U+70B8, U+70C8, U+70CB, U+70CF, U+70D9, U+70DD, U+70DF, U+70F1, U+70F9, U+70FD, U+7109, U+7114, U+7119-711A, U+711C, U+7149, U+714C, U+714E, U+7155-7156, U+7162, U+7164-7166, U+7169, U+716C, U+716E, U+7184, U+7188, U+718A, U+718F, U+7194-7195, U+7199, U+719F, U+71A8, U+71AC, U+71B9, U+71BE, U+71C3, U+71C8-71C9, U+71CE, U+71D0, U+71D2, U+71D4-71D5, U+71D7, U+71DF-71E0, U+71E6-71E7, U+71EC-71EE, U+71F5, U+71F9, U+71FB-71FC, U+71FF, U+7206, U+720D, U+7210, U+721B, U+7228, U+722C-722D, U+7230, U+7232, U+7235, U+723A-7240, U+7246, U+724B-724C, U+7252, U+7258-7259, U+725B, U+725D, U+725F, U+7261-7262, U+7267, U+7272, U+7274, U+727D-727E, U+7280-7282;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c12.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+7287, U+7292, U+7296, U+72A0, U+72A2, U+72A7, U+72AC, U+72AF, U+72B2, U+72B9, U+72C2-72C4, U+72C6, U+72CE, U+72D0, U+72D2, U+72D7, U+72DB, U+72E0-72E2, U+72E9, U+72F7-72F9, U+72FC-72FD, U+730A, U+7316-7317, U+731B-731D, U+731F, U+7325, U+7329-732B, U+732E-732F, U+7334, U+7337, U+733E-733F, U+7344-7345, U+734E-734F, U+7357, U+7363, U+7368, U+736A, U+7370, U+7372, U+7375, U+7378, U+737A-737B, U+738B, U+7396, U+73A9, U+73B2-73B3, U+73BB, U+73C0, U+73C2, U+73C8, U+73CA, U+73CE, U+73DE, U+73E0, U+73E5, U+73EA, U+73ED-73EE, U+73F1, U+73F8, U+7403, U+7405, U+7409, U+7422, U+7425, U+7432-7436, U+743A, U+743F, U+7441, U+7455, U+7459-745C, U+745E-7460, U+7463-7464, U+7469-746A, U+746F-7470, U+7473, U+7476, U+747E, U+7483, U+748B, U+749E, U+74A2, U+74A7, U+74BD, U+74CA, U+74CF, U+74D4, U+74DC, U+74E0, U+74E2-74E3, U+74E6-74E7, U+74E9, U+74EE, U+74F0-74F2, U+74F6-74F8, U+7503-7505, U+750C-750E, U+7511, U+7513, U+7515, U+7518, U+751A, U+751C, U+751E, U+7525-7526, U+752B-752C, U+7538, U+753C, U+7544, U+7546, U+7549-754B, U+754D, U+754F, U+7551, U+7554, U+755A-755D, U+7560, U+7562, U+7564, U+7566-7567, U+7569, U+756B, U+756D, U+7574, U+7576-7578, U+757F, U+7582, U+7586-7587, U+7589-758B, U+758E-758F, U+7594, U+759A, U+759D, U+75A3, U+75A5, U+75B3, U+75B5, U+75B8, U+75BC-75BD, U+75C2-75C3, U+75CA, U+75CD, U+75D4, U+75D8-75D9, U+75DE, U+75E3, U+75F0, U+75F2-75F4, U+75FA, U+75FC, U+75FE-75FF, U+7601, U+7609, U+760B, U+761F-7621, U+7624, U+7627, U+7630, U+7634, U+763B, U+7646-7648, U+7656, U+7658, U+765C, U+7661-7662, U+7667-766A, U+766C, U+7670, U+7672, U+7676, U+7678, U+767C, U+7680, U+7683, U+7686-7688, U+768B, U+768E, U+7690, U+7693, U+7696, U+7699-769A, U+76B0, U+76B4, U+76B7-76BA, U+76C2-76C3, U+76C8, U+76CD, U+76D2, U+76D6-76D7, U+76DC, U+76DE-76DF, U+76E1, U+76E5, U+76E7, U+76EA, U+76F2, U+76FB, U+7704, U+7707-7708, U+770C, U+771B, U+771E, U+7724-7726, U+7729, U+7737-7738, U+773A, U+7747, U+775A-775B, U+7763, U+7765-7766, U+7768, U+776B, U+7779, U+777F, U+778B, U+778E, U+7791, U+779E, U+77A0, U+77A5, U+77AD, U+77B0, U+77B3, U+77B6, U+77B9, U+77BB-77BD, U+77BF, U+77C7, U+77CD, U+77D7, U+77DA, U+77DC, U+77E3, U+77E7, U+77E9, U+77EE-77EF, U+77FC, U+7802, U+780C, U+7812, U+7815, U+7820, U+7825-7827, U+7832, U+783A, U+783F, U+7845, U+785D, U+786B, U+786F, U+7872, U+7874, U+787C, U+7881, U+7886-7887, U+788C-788E, U+7891, U+7893, U+7895, U+7897, U+789A, U+78A3, U+78A7;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c13.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+78A9-78AA, U+78AF, U+78B5, U+78BC, U+78BE, U+78C1, U+78C5-78C6, U+78CA-78CB, U+78D0-78D1, U+78D4, U+78DA, U+78E7-78E8, U+78EC, U+78EF, U+78F4, U+78FD, U+7901, U+7907, U+790E, U+7911-7912, U+7919, U+7926, U+792A-792C, U+793C, U+7940-7941, U+7947-7949, U+7950, U+7953, U+7955, U+7957, U+795A, U+795F-7960, U+7962, U+7965, U+796D, U+7977, U+797A, U+797F-7980, U+7984-7985, U+798A, U+798D-798F, U+799D, U+79A6-79A7, U+79AA, U+79AE, U+79B0, U+79B3, U+79B9-79BA, U+79BD-79C0, U+79C9, U+79CB, U+79D5, U+79DF, U+79E1, U+79E3-79E4, U+79E6-79E7, U+79E9, U+79EC, U+7A08, U+7A0D, U+7A14, U+7A17-7A1A, U+7A1C, U+7A1F-7A20, U+7A31-7A32, U+7A37, U+7A3B-7A40, U+7A42-7A43, U+7A46, U+7A49, U+7A4E, U+7A50, U+7A57, U+7A61-7A63, U+7A69, U+7A6B, U+7A70, U+7A76, U+7A79, U+7A7D, U+7A7F, U+7A83-7A84, U+7A88, U+7A92, U+7A95-7A98, U+7A9F, U+7AA9-7AAA, U+7AAE-7AB0, U+7AB6, U+7ABA, U+7ABF, U+7AC3-7AC5, U+7AC7-7AC8, U+7ACA, U+7ACD, U+7ACF, U+7AD2-7AD3, U+7AD5, U+7AD9-7ADA, U+7ADC-7ADD, U+7ADF, U+7AE1-7AE3, U+7AE5-7AE6, U+7AEA, U+7AED, U+7AF0, U+7AF8-7AFA, U+7AFF, U+7B02, U+7B04, U+7B06, U+7B08, U+7B0A-7B0B, U+7B0F, U+7B18-7B19, U+7B1B, U+7B1E, U+7B20, U+7B25-7B26, U+7B28, U+7B33, U+7B35-7B36, U+7B39, U+7B45-7B46, U+7B48, U+7B4C-7B4D, U+7B4F-7B52, U+7B5D, U+7B65, U+7B67, U+7B6C, U+7B6E, U+7B70-7B71, U+7B74-7B75, U+7B7A, U+7B86, U+7B8B, U+7B8D, U+7B8F, U+7B92, U+7B94-7B95, U+7B98-7B9A, U+7B9C-7B9D, U+7B9F, U+7BAA, U+7BAD, U+7BB4, U+7BB8, U+7BC1, U+7BC6-7BC7, U+7BCB-7BCC, U+7BCF, U+7BDD, U+7BE0, U+7BE5-7BE6, U+7BE9, U+7BED, U+7BF3, U+7BF6-7BF7, U+7C00, U+7C07, U+7C0D, U+7C11-7C14, U+7C17, U+7C1F, U+7C23, U+7C27, U+7C2A-7C2B, U+7C37-7C38, U+7C3D-7C3E, U+7C40, U+7C43, U+7C4C, U+7C4F-7C50, U+7C54, U+7C56, U+7C58, U+7C5F-7C60, U+7C64-7C65, U+7C6C, U+7C73, U+7C75, U+7C7E, U+7C81-7C83, U+7C8D, U+7C90, U+7C95, U+7C97, U+7C9B, U+7C9F, U+7CA1-7CA2, U+7CA4-7CA5, U+7CA8, U+7CAB, U+7CAD-7CAE, U+7CB1-7CB3, U+7CB9, U+7CBD, U+7CC0, U+7CC2, U+7CC5, U+7CCA, U+7CCE, U+7CD2, U+7CD8, U+7CDC, U+7CDE-7CE0, U+7CE2, U+7CE7, U+7CEF, U+7CF2, U+7CF4, U+7CF6, U+7CF8, U+7CFA, U+7CFE, U+7D00, U+7D02, U+7D06, U+7D0A-7D0B, U+7D15, U+7D17-7D18, U+7D1A, U+7D1C, U+7D2C, U+7D2E, U+7D32-7D33, U+7D35, U+7D3F, U+7D43, U+7D45-7D46, U+7D4B, U+7D4E-7D4F, U+7D56, U+7D5B, U+7D62-7D63, U+7D68, U+7D6E, U+7D72-7D73, U+7D79, U+7D7D, U+7D89, U+7D8F, U+7D93, U+7D9B-7D9C, U+7D9F, U+7DA2-7DA3, U+7DAB-7DAC, U+7DAE-7DB1, U+7DB4;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c14.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+7DB5, U+7DB8, U+7DBA-7DBB, U+7DBD-7DBF, U+7DC7, U+7DCB, U+7DD5, U+7DD8, U+7DDC-7DDE, U+7DE1, U+7DE4, U+7DEC, U+7DF2, U+7DFB, U+7E04-7E05, U+7E09-7E0B, U+7E12, U+7E1E-7E1F, U+7E21-7E23, U+7E31-7E32, U+7E35, U+7E37, U+7E39-7E3B, U+7E3D, U+7E43, U+7E46, U+7E4D, U+7E55-7E56, U+7E59-7E5A, U+7E5D-7E5E, U+7E66-7E67, U+7E69-7E6A, U+7E6D, U+7E79, U+7E7B-7E7D, U+7E7F, U+7E82-7E83, U+7E88-7E89, U+7E8C, U+7E8E-7E90, U+7E92-7E94, U+7E96, U+7E9B-7E9C, U+7F36, U+7F38, U+7F3A, U+7F45, U+7F4C-7F4E, U+7F50-7F51, U+7F54-7F55, U+7F58, U+7F5F-7F60, U+7F67-7F6A, U+7F70, U+7F75, U+7F77-7F79, U+7F82-7F83, U+7F85-7F88, U+7F8A, U+7F8C, U+7F94, U+7F9A, U+7F9D-7F9E, U+7FA3, U+7FA8, U+7FAE-7FAF, U+7FB2, U+7FB6, U+7FB8-7FB9, U+7FBD, U+7FC1, U+7FC5-7FC6, U+7FCA, U+7FD4-7FD5, U+7FE0-7FE1, U+7FE6, U+7FE9, U+7FEB, U+7FF0, U+7FF3, U+7FF9, U+7FFB-7FFC, U+8000, U+8004, U+8006, U+800B-800C, U+8012, U+8015, U+8017-8019, U+801C, U+8021, U+8028, U+8036, U+803B, U+803D, U+803F, U+8046, U+804A, U+8052, U+8056, U+8058, U+805A, U+805F, U+8061-8062, U+8068, U+806F-8070, U+8072-8074, U+8076, U+8079, U+807D-807F, U+8084-8087, U+808B, U+8093, U+8096, U+809A, U+80A1, U+80A5, U+80AC-80AD, U+80B1, U+80B4, U+80BA, U+80C4, U+80C6, U+80CE, U+80D6, U+80D9-80DB, U+80DD, U+80E1, U+80E4-80E5, U+80EF, U+80F1, U+80F4, U+80FC, U+8105-8106, U+8109-810A, U+811B, U+8123, U+8129, U+812F, U+8139, U+813E, U+8146, U+814E, U+8150-8151, U+8153, U+815F, U+8165-8166, U+816E, U+8170-8171, U+8174, U+8180, U+8182-8183, U+8188, U+818A, U+8193, U+8195, U+81A3-81A4, U+81A9, U+81B0, U+81B3, U+81B5, U+81B8, U+81BA, U+81BD-81BE, U+81C2, U+81C6, U+81C8-81C9, U+81CD, U+81D1, U+81D8-81DA, U+81DF-81E0, U+81E3, U+81E5, U+81E7, U+81FA-81FC, U+81FE, U+8201-8202, U+8205, U+8207-820A, U+820C-820E, U+8210, U+8212, U+8216, U+8218, U+821B-821C, U+821F, U+8229-822B, U+822E, U+8233, U+8235-8238, U+8240, U+8247, U+8258-825A, U+825D, U+825F, U+8262, U+8264, U+8266, U+8268, U+826A-826B, U+826E, U+8271, U+8276-8278, U+827E, U+828B, U+828D, U+8292, U+8299, U+829D, U+829F, U+82A5-82A6, U+82AB-82AD, U+82AF, U+82B3, U+82B8-82B9, U+82BB, U+82BD, U+82C5, U+82D1-82D4, U+82D7, U+82D9, U+82DB-82DC, U+82DE-82DF, U+82E1, U+82E3, U+82E7, U+82EB, U+82F3-82F4, U+82F9-82FB, U+8302-8306, U+8309, U+830E, U+8316-8318, U+831C, U+8323, U+8328, U+832B, U+832F, U+8331-8332;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c15.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+8334-8335, U+8338-8339, U+8340, U+8345, U+8349-834A, U+834F-8350, U+8358, U+8373, U+8375, U+837B-837C, U+8385, U+8387, U+8389-838A, U+838E, U+8393, U+8396, U+839A, U+839E-83A0, U+83A2, U+83A8, U+83AA-83AB, U+83B1, U+83B5, U+83BD, U+83C1, U+83C5, U+83CA, U+83CE, U+83D3, U+83D6, U+83D8, U+83DC, U+83DF-83E0, U+83E9, U+83EB, U+83EF-83F2, U+83F4, U+83F7, U+83FB, U+83FD, U+8403-8404, U+8407, U+840B-840E, U+8413, U+8420, U+8422, U+8429-842A, U+842C, U+8431, U+8435, U+8438, U+843C, U+8446, U+844E, U+845B, U+8461-8463, U+8466, U+8469, U+846B-846F, U+8471, U+8475, U+8477, U+8479-847A, U+8482, U+8484, U+848B, U+8490, U+8494, U+8499, U+849C, U+849F, U+84A1, U+84AD, U+84B2, U+84B9, U+84BB-84BC, U+84BF, U+84C1, U+84C6, U+84C9-84CB, U+84CD, U+84D0-84D1, U+84D6, U+84D9-84DA, U+84EC, U+84EE, U+84F4, U+84FC, U+84FF-8500, U+8506, U+8511, U+8513-8515, U+8517-8518, U+851A, U+851F, U+8521, U+8526, U+852C-852D, U+8535, U+853D, U+8540-8541, U+8543, U+8548-854B, U+854E, U+8555, U+8557-8558, U+855A, U+8563, U+8568-856A, U+856D, U+8577, U+857E, U+8580, U+8587-8588, U+858A, U+8590-8591, U+8594, U+8597, U+8599, U+859B-859C, U+85A4, U+85A6, U+85A8-85AB, U+85AE-85AF, U+85B9-85BA, U+85C1, U+85C9, U+85CD, U+85CF-85D0, U+85D5, U+85DC-85DD, U+85E4-85E5, U+85E9-85EA, U+85F7, U+85F9-85FB, U+85FE, U+8602, U+8606-8607, U+860A-860B, U+8613, U+8616-8617, U+861A, U+8622, U+862D, U+862F-8630, U+863F, U+864D-864E, U+8650, U+8654-8655, U+865A, U+865C, U+865E-865F, U+8667, U+8671, U+8679, U+867B, U+868A-868C, U+8693, U+8695, U+86A3-86A4, U+86A9-86AB, U+86AF-86B0, U+86B6, U+86C4, U+86C6-86C7, U+86C9, U+86CB, U+86CD-86CE, U+86D4, U+86D9, U+86DB, U+86DE-86DF, U+86E4, U+86E9, U+86EC-86EF, U+86F8-86F9, U+86FB, U+86FE, U+8700, U+8702-8703, U+8706, U+8708-870A, U+870D, U+8711-8712, U+8718, U+871A, U+871C, U+8725, U+8729, U+8734, U+8737, U+873B, U+873F, U+8749, U+874B-874C, U+874E, U+8753, U+8755, U+8757, U+8759, U+875F-8760, U+8763, U+8766, U+8768, U+876A, U+876E, U+8774, U+8776, U+8778, U+877F, U+8782, U+879F, U+87A2, U+87AB, U+87AF, U+87B3, U+87BA-87BB, U+87BD, U+87C0, U+87C4, U+87C6-87C7, U+87CB, U+87D0, U+87D2, U+87E0, U+87EF, U+87F2, U+87F6-87F7, U+87F9, U+87FB, U+87FE, U+8805, U+880D-880F, U+8811, U+8815-8816, U+8821-8823, U+8827, U+8831, U+8836, U+8839, U+883B, U+8842, U+8844, U+8846, U+884D, U+8852, U+8857, U+8859, U+885D-885E, U+8861-8862, U+886B, U+8870, U+8872, U+8875, U+8877, U+887D-887F, U+8881-8882, U+8888, U+888D;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c16.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+8892, U+8897, U+8899, U+889E, U+88A2, U+88A4, U+88AB, U+88AE, U+88B0-88B1, U+88B4-88B5, U+88B7, U+88BF, U+88C2-88C4, U+88D4, U+88D8-88D9, U+88DD, U+88DF, U+88E1, U+88E8, U+88F2-88F4, U+88F9, U+88FC, U+88FE, U+8902, U+8904, U+890A, U+890C, U+8912-8913, U+891D-891E, U+8925, U+892A-892B, U+8936, U+8938, U+893B, U+8941, U+8943-8944, U+894C-894D, U+8956, U+895E, U+8960, U+8964, U+8966, U+896A, U+896D, U+896F, U+8974, U+8977, U+897E, U+8983, U+8987-8988, U+898A, U+8993, U+8997-8998, U+89A1, U+89A6, U+89A9, U+89AC, U+89AF, U+89B2, U+89BA, U+89BD, U+89BF-89C0, U+89DA, U+89DC-89DD, U+89E7, U+89F4, U+89F8, U+8A03, U+8A0A, U+8A0C, U+8A10, U+8A13, U+8A16-8A17, U+8A1B, U+8A1D, U+8A1F, U+8A23, U+8A25, U+8A34, U+8A36, U+8A3B, U+8A41, U+8A46, U+8A48, U+8A50-8A52, U+8A54, U+8A5B, U+8A60, U+8A62-8A63, U+8A69, U+8A6B-8A6E, U+8A7C, U+8A82, U+8A84-8A85, U+8A87, U+8A89, U+8A8C, U+8A91, U+8A9A, U+8AA1, U+8AA3, U+8AA5-8AA6, U+8AA8, U+8AB9, U+8ABC, U+8AC2, U+8AC4, U+8ACC-8ACD, U+8ACF, U+8AD2, U+8AD6, U+8ADA-8ADC, U+8ADE, U+8AE0-8AE2, U+8AE4, U+8AE7, U+8AEB, U+8AED-8AEE, U+8AF1, U+8AF3, U+8AF7-8AF8, U+8AFA, U+8B00-8B02, U+8B04, U+8B07, U+8B0C, U+8B0E, U+8B10, U+8B14, U+8B16-8B17, U+8B19-8B1B, U+8B20-8B21, U+8B26, U+8B28, U+8B2B-8B2C, U+8B33, U+8B39, U+8B3E, U+8B41, U+8B49, U+8B4C, U+8B4E-8B4F, U+8B56, U+8B5A-8B5C, U+8B5F, U+8B6B-8B6C, U+8B6F-8B71, U+8B74, U+8B7D, U+8B80, U+8B83, U+8B8A, U+8B8C, U+8B8E, U+8B90, U+8B92-8B93, U+8B96, U+8B99-8B9A, U+8C3A, U+8C3F, U+8C41, U+8C46, U+8C48, U+8C4A, U+8C4C, U+8C4E, U+8C50, U+8C55, U+8C5A, U+8C62, U+8C6A-8C6C, U+8C78-8C7A, U+8C7C, U+8C82, U+8C85, U+8C89-8C8A, U+8C8C-8C8E, U+8C94, U+8C98, U+8C9D-8C9E, U+8CA1-8CA2, U+8CA7-8CA8, U+8CAA-8CAB, U+8CAD-8CB0, U+8CB2-8CB4, U+8CB6, U+8CB8, U+8CBD, U+8CBF-8CC4, U+8CC8, U+8CCA, U+8CCD-8CCE, U+8CD1, U+8CD3, U+8CDA-8CDC, U+8CDE, U+8CE0, U+8CE2-8CE4, U+8CE6, U+8CED, U+8CFA-8CFB, U+8CFD, U+8D04-8D05, U+8D07, U+8D0A-8D0B, U+8D0D, U+8D0F-8D10, U+8D13-8D14, U+8D16, U+8D66-8D67, U+8D6B, U+8D6D, U+8D71, U+8D73-8D74, U+8D81, U+8D99, U+8DA3, U+8DA8, U+8DBA, U+8DBE, U+8DC2, U+8DCB-8DCC, U+8DCF, U+8DD6, U+8DDA-8DDB, U+8DDF, U+8DE3, U+8DE8, U+8DEA-8DEB, U+8DF5, U+8DFC, U+8DFF, U+8E08-8E0A, U+8E10, U+8E1D-8E1F, U+8E2A, U+8E30, U+8E34-8E35, U+8E42, U+8E44, U+8E47-8E4A, U+8E4C, U+8E50, U+8E55, U+8E59, U+8E5F-8E60, U+8E63-8E64, U+8E72, U+8E74, U+8E76, U+8E7C, U+8E81, U+8E84-8E85, U+8E87, U+8E8A-8E8B, U+8E8D, U+8E91, U+8E93-8E94;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c17.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+8E99, U+8EA1, U+8EAA, U+8EAC, U+8EAF-8EB1, U+8EBE, U+8EC5-8EC6, U+8EC8, U+8ECB-8ECD, U+8ED2, U+8EDB, U+8EE3, U+8EEB, U+8EFB-8EFC, U+8EFE, U+8F05, U+8F0A, U+8F0C, U+8F12-8F15, U+8F19, U+8F1B-8F1D, U+8F1F, U+8F26, U+8F29, U+8F2F, U+8F33, U+8F38-8F39, U+8F3B, U+8F3E-8F3F, U+8F42, U+8F44-8F46, U+8F49, U+8F4C-8F4E, U+8F57, U+8F5C, U+8F5F, U+8F61-8F64, U+8F9B-8F9C, U+8F9F, U+8FA3, U+8FA7-8FA8, U+8FAD-8FB2, U+8FB7, U+8FBB, U+8FC2, U+8FC4-8FC5, U+8FDA, U+8FE2, U+8FE5-8FE6, U+8FE9-8FEA, U+8FED, U+8FEF, U+8FF4, U+8FF8-8FFA, U+9005, U+900B, U+900D-900E, U+9010-9011, U+9013, U+9015-9017, U+9019, U+901D-901E, U+9021-9022, U+9027, U+902E, U+9035-9036, U+9038-9039, U+903C, U+903E, U+9041-9042, U+9047, U+9049, U+904D, U+904F-9052, U+9056, U+9058-9059, U+905C, U+905E, U+9061, U+9065, U+9068, U+906D, U+906F, U+9072, U+9075-9076, U+907C-907D, U+9080-9084, U+9087, U+9089-908A, U+908F, U+9091, U+90A3, U+90A6, U+90A8, U+90AF, U+90B1, U+90B5, U+90B8, U+90C1, U+90CA, U+90DB, U+90E1-90E2, U+90E4, U+90F5, U+90F7, U+9102, U+9112, U+9119, U+912D, U+9130, U+9132, U+9149-914B, U+914E, U+9156, U+9158, U+9163, U+9165, U+9169-916A, U+916C, U+9172-9173, U+9175, U+9177, U+9182, U+9187, U+9189, U+918B, U+918D, U+9190, U+9192, U+9197, U+919C, U+91A2, U+91A4, U+91AA-91AB, U+91AF, U+91B4-91B5, U+91B8, U+91BA, U+91C0-91C1, U+91C6-91C9, U+91CB-91CC, U+91D0, U+91D6, U+91D8, U+91DB-91DC, U+91DF, U+91E1, U+91E3, U+91E7, U+91F5-91F6, U+91FC, U+91FF, U+920D-920E, U+9211, U+9214-9215, U+921E, U+9229, U+922C, U+9234, U+9237, U+923F, U+9245, U+9248-9249, U+924B, U+9250, U+9257, U+925A-925B, U+925E, U+9264, U+9266, U+9271, U+927E, U+9280, U+9283, U+9285, U+9291, U+9293, U+9295-9296, U+9298, U+929A-929C, U+92AD, U+92B7, U+92B9, U+92CF, U+92D2, U+92E4, U+92E9-92EA, U+92ED, U+92F2-92F3, U+92F8, U+92FA, U+92FC, U+9306, U+930F-9310, U+9319-931A, U+9322-9323, U+9326, U+9328, U+932B-932C, U+932E-932F, U+9335, U+933A-933B, U+9344, U+934B, U+934D, U+9354, U+9356, U+935B-935C, U+9360, U+936C, U+936E, U+937C, U+937E, U+938C, U+9394, U+9396-9397, U+939A, U+93A7, U+93AC-93AE, U+93B0, U+93B9, U+93C3, U+93C8, U+93D0-93D1, U+93D6-93D8, U+93DD, U+93E4-93E5, U+93E8, U+9403, U+9407, U+9410, U+9413-9414, U+9418-941A, U+9421, U+942B, U+9435-9436, U+9438, U+943A, U+9441, U+9444, U+9452-9453, U+945A-945B, U+945E, U+9460, U+9462, U+946A, U+9470, U+9475, U+9477, U+947C-947F, U+9481, U+9582-9583, U+9587, U+958A, U+958F;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c18.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+9591, U+9594, U+9596, U+9598-9599, U+95A0, U+95A3-95A5, U+95A7-95A8, U+95AD, U+95B9, U+95BB-95BC, U+95C3, U+95C7, U+95CA, U+95CC-95CD, U+95D4-95D6, U+95D8, U+95DC, U+95E1-95E2, U+95E5, U+961C, U+9621, U+9628, U+962A, U+962E-962F, U+963B, U+963F-9640, U+9642, U+9644, U+964B-964C, U+964F, U+965B-965F, U+9663, U+9665-9666, U+966A, U+966C, U+9672, U+9675-9678, U+967D, U+9685-9686, U+9688, U+968A-968B, U+968D, U+9695, U+9697-9699, U+96A7-96A8, U+96AA, U+96B0-96B2, U+96B4, U+96B6-96B9, U+96BB-96BC, U+96C0-96C1, U+96C4-96C5, U+96C7, U+96C9, U+96CB-96CE, U+96D5-96D6, U+96D9, U+96DB-96DC, U+96E8, U+96EA-96EB, U+96F2, U+96F6-96F7, U+96F9, U+9700, U+9704, U+9706-9708, U+970A, U+970D-970F, U+9711, U+9713, U+9716, U+9719, U+971C, U+971E, U+9724, U+9727, U+972A, U+9730, U+9738-9739, U+973D-973E, U+9742, U+9744, U+9746, U+9748-9749, U+9756, U+975C, U+9760-9761, U+9764, U+9766, U+9768-9769, U+976B, U+976D, U+9771, U+9774, U+9779-977A, U+977C, U+9781, U+9784-9786, U+978B, U+978D, U+978F-9790, U+9798, U+979C, U+97A0, U+97A3, U+97A6, U+97A8, U+97AB, U+97AD, U+97B3-97B4, U+97C3, U+97C6, U+97C8, U+97CB, U+97DC, U+97ED-97EE, U+97F2, U+97F5-97F6, U+97FB, U+9801, U+980C, U+980F, U+9811-9813, U+9817, U+981A, U+9821, U+9824, U+9834, U+9837-9838, U+983D, U+9846, U+984B, U+984F, U+9855, U+985B, U+9867, U+986B, U+986F-9871, U+9873-9874, U+98AA, U+98AF, U+98B1, U+98B6, U+98C3-98C4, U+98C6, U+98DC, U+98E2, U+98E9, U+98EB, U+98ED-98EE, U+98F4, U+98FC-98FD, U+9903, U+9905, U+9909, U+990C, U+9910, U+9912-9914, U+9918, U+991D-991E, U+9920-9921, U+9924, U+992C, U+992E, U+993D-993E, U+9942, U+9945, U+9949, U+994B-994C, U+9950-9952, U+9955, U+9957, U+9997-9998, U+99A5, U+99A8, U+99AC-99AE, U+99B3, U+99BC, U+99C1, U+99C6, U+99C8, U+99D1-99D2, U+99D5, U+99D8, U+99DB, U+99DD, U+99DF, U+99E2, U+99ED-99EE, U+99F1-99F2, U+99F8, U+99FB, U+99FF, U+9A01, U+9A05, U+9A0E-9A0F, U+9A12, U+9A19, U+9A28, U+9A2B, U+9A30, U+9A37, U+9A3E, U+9A40, U+9A42-9A43, U+9A45, U+9A4D, U+9A55, U+9A57, U+9A5A-9A5B, U+9A5F, U+9A62, U+9A64-9A65, U+9A69-9A6B, U+9AAD, U+9AB0, U+9ABC, U+9AC0, U+9AC4, U+9ACF, U+9AD1, U+9AD3-9AD4, U+9ADE-9ADF, U+9AE2-9AE3, U+9AE6, U+9AEB, U+9AEE-9AEF, U+9AF1, U+9AF4, U+9AF7, U+9AFB, U+9B06, U+9B18, U+9B1A, U+9B1F, U+9B22-9B23, U+9B25, U+9B27-9B2A, U+9B2E-9B2F, U+9B31-9B32, U+9B3B-9B3C, U+9B41-9B45, U+9B4D-9B4F, U+9B51, U+9B58, U+9B6F, U+9B74, U+9B83, U+9B8E, U+9B91-9B93;
}
@font-face {
  font-family: "Davide Serif JP";
  src: url("../fonts/noto-serif-jp-v60-c19.woff2") format("woff2");
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  unicode-range: U+9B96-9B97, U+9B9F-9BA0, U+9BA8, U+9BAA-9BAB, U+9BAD-9BAE, U+9BB4, U+9BB9, U+9BC0, U+9BC6, U+9BC9-9BCA, U+9BCF, U+9BD1-9BD2, U+9BD4, U+9BD6, U+9BDB, U+9BE1-9BE4, U+9BE8, U+9BF0-9BF2, U+9BF5, U+9C04, U+9C06, U+9C08-9C0A, U+9C0C-9C0D, U+9C10, U+9C12-9C15, U+9C1B, U+9C21, U+9C24-9C25, U+9C2D-9C30, U+9C32, U+9C39-9C3B, U+9C3E, U+9C46-9C48, U+9C52, U+9C57, U+9C5A, U+9C60, U+9C67, U+9C76, U+9C78, U+9CE5, U+9CE7, U+9CE9, U+9CEB-9CEC, U+9CF0, U+9CF3, U+9CF6, U+9D03, U+9D06-9D09, U+9D0E, U+9D12, U+9D15, U+9D1B, U+9D1F, U+9D23, U+9D26, U+9D28, U+9D2A-9D2C, U+9D3B, U+9D3E-9D3F, U+9D41, U+9D44, U+9D46, U+9D48, U+9D50-9D51, U+9D59, U+9D5C-9D5E, U+9D60-9D61, U+9D64, U+9D6C, U+9D6F, U+9D72, U+9D7A, U+9D87, U+9D89, U+9D8F, U+9D9A, U+9DA4, U+9DA9, U+9DAB, U+9DAF, U+9DB2, U+9DB4, U+9DB8, U+9DBA-9DBB, U+9DC1-9DC2, U+9DC4, U+9DC6, U+9DCF, U+9DD3, U+9DD9, U+9DE6, U+9DED, U+9DEF, U+9DF2, U+9DF8-9DFA, U+9DFD, U+9E1A-9E1B, U+9E1E, U+9E75, U+9E79, U+9E7D, U+9E7F, U+9E81, U+9E88, U+9E8B-9E8C, U+9E91-9E93, U+9E95, U+9E97, U+9E9D, U+9E9F, U+9EA5, U+9EA9-9EAA, U+9EAD, U+9EB8-9EBA, U+9EBC, U+9EBE-9EBF, U+9ECC-9ED0, U+9ED4, U+9ED8, U+9EDB-9EDE, U+9EE0, U+9EE5, U+9EE8, U+9EEF, U+9EF4, U+9EF6-9EF7, U+9EF9, U+9EFB-9EFD, U+9F07-9F08, U+9F0E, U+9F13, U+9F15, U+9F20-9F21, U+9F2C, U+9F3E, U+9F4A-9F4B, U+9F4E-9F4F, U+9F52, U+9F54, U+9F5F-9F61, U+9F63, U+9F66-9F67, U+9F6A, U+9F6C, U+9F72, U+9F76-9F77, U+9F8D, U+9F95, U+9F9C-9F9D, U+9FA0, U+FF03-FF04, U+FF06, U+FF0A, U+FF0C, U+FF0E, U+FF12, U+FF16-FF17, U+FF1B, U+FF1D, U+FF20-FF5B, U+FF5D, U+FF61-FF9F, U+FFE3;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+0020-007E, U+00A9, U+00D7, U+2039, U+25CB, U+3001-3002, U+300C-300D, U+3042, U+3044, U+3046, U+3048, U+304A-304D, U+304F, U+3051-3055, U+3057-305B, U+305D, U+305F-3061, U+3063-3064, U+3066-306B, U+306E-3070, U+3073, U+3076, U+3078-3079, U+307B, U+307E-307F, U+3081-3082, U+3084, U+3088-308C, U+308F, U+3092-3093, U+30A2, U+30A4, U+30A6-30A8, U+30AA-30AB, U+30AD, U+30AF-30B0, U+30B2-30B3, U+30B5-30B6, U+30B8-30B9, U+30BB, U+30BF-30C1, U+30C3, U+30C6-30C9, U+30CB, U+30D2-30D5, U+30D7, U+30DA, U+30DC, U+30DE-30E1, U+30E3-30E5, U+30E9-30ED, U+30F3, U+30FB-30FC, U+4E00, U+4E0A-4E0B, U+4E0D-4E0E, U+4E2D, U+4E88, U+4EBA, U+4ED5, U+4ED8, U+4EE5, U+4F4D, U+4F53, U+4F55, U+4F5C, U+4F7F, U+4FDD, U+4FE1, U+5143, U+5165, U+5168, U+516C, U+5185, U+51FA, U+5206-5207, U+521D, U+5224-5225, U+5229, U+524D, U+529B, U+52B9, U+52D5, U+533B, U+533F, U+5358, U+53C2, U+53CD, U+53D7, U+53EF, U+5408, U+540C-540D, U+5411, U+54E1, U+554F, U+5668, U+56DB, U+56DE, U+56FD, U+57FA, U+5834, U+58CA, U+58F0, U+5909, U+5927, U+5B58, U+5B66, U+5B89, U+5B9A, U+5BA2, U+5BB9, U+5BFE-5BFF, U+5C04, U+5C11, U+5C4A, U+5DEE, U+5E0C, U+5E2B, U+5E74, U+5EA6, U+5F0F, U+5F37, U+5F53, U+5F8C, U+5FC5, U+5FDC, U+6027, U+6075, U+611F, U+614B, U+623B, U+629E, U+62BC, U+63A5, U+64CD, U+654F, U+6559, U+6570, U+6587, U+6599, U+65AD, U+65B9, U+65BD, U+65E5, U+6642, U+6700, U+6708, U+671B, U+672C, U+679C, U+683C, U+6848, U+69D8, U+6A5F, U+6B21, U+6B63, U+6BCE, U+6BD4, U+6BDB, U+6C0F, U+6C17, U+6C7A, U+6CE2, U+6CE8, U+6DF1, U+70B9, U+713C, U+7167, U+71B1, U+7279, U+72B6, U+7406, U+7528, U+753B, U+7570, U+75DB, U+7642, U+767B, U+7684, U+76EE, U+76F4, U+76F8, U+7834, U+78BA, U+793A, U+793E, U+79FB, U+7A2E, U+7B54, U+7D04, U+7D42, U+7D44, U+7D50, U+7DCF, U+7F6E, U+8003, U+808C, U+80FD, U+8131, U+81EA, U+8272, U+85AC, U+884C, U+8853, U+8868, U+8981, U+898B, U+89A7, U+89E3, U+8A2D, U+8A3A, U+8A8D, U+8AAC, U+8AC7, U+8CC7, U+8CEA, U+8D64, U+8F09, U+8FBC, U+8FD1, U+9001, U+9055, U+9069, U+9078, U+90E8, U+91CD-91CE, U+91D1, U+9332, U+9577, U+958B, U+9593, U+9662, U+9762, U+97F3, U+9854, U+985E, U+9AD8, U+9ED2, U+FF08-FF09, U+FF1A, U+FF1F;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c01.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+00A5, U+2014, U+203B, U+2103, U+2192, U+3010-3011, U+301C, U+3050, U+3056, U+305E, U+3065, U+306D, U+3072, U+3075, U+3080, U+3087, U+308D, U+30A5, U+30AC, U+30AE, U+30B1, U+30B4, U+30B7, U+30BA, U+30BD-30BE, U+30C4, U+30CA, U+30D0-30D1, U+30D6, U+30D9, U+30DD, U+30EF, U+30F4, U+4E01, U+4E08, U+4E3B, U+4E73, U+4E7E, U+4E86, U+4E8B-4E8C, U+4ECA-4ECB, U+4ED6, U+4EE3-4EE4, U+4EF6, U+4F11, U+4F1A, U+4F1D, U+4F3A, U+4F4E, U+4F75, U+4F8B, U+4FA1, U+4FC2, U+500B, U+5024, U+5074, U+50B7, U+50BE, U+512A, U+5148-5149, U+514D, U+5186, U+51B7, U+51DD, U+51E6, U+5236, U+523A, U+5243, U+524A, U+5264, U+5272, U+52A0, U+52B4, U+5316, U+534A, U+5374-5375, U+53D6, U+53E3, U+53F3, U+53F7, U+5426, U+542B, U+5468, U+54C1, U+5584, U+56A2, U+56F2, U+56FA, U+5728, U+5730, U+57CB, U+5831, U+5857, U+5897, U+5916, U+591A, U+592A-592B, U+5951, U+5973, U+598A, U+59CB, U+5A20, U+5B8C, U+5B9F, U+5BBF, U+5BDF, U+5BE7, U+5C02, U+5C0F, U+5C4B, U+5C5E, U+5DF1, U+5E33, U+5E38, U+5E72-5E73, U+5E83, U+5F15, U+5F31, U+5F62, U+5F71, U+5F85, U+5F97, U+5FA9, U+5FB4, U+5FC3, U+5FCC, U+5FF5, U+601D, U+6025, U+60A9, U+60C5, U+610F, U+6163, U+616E, U+6210, U+6240, U+624B, U+6253, U+6255, U+6291, U+6297, U+629C, U+6301, U+6307, U+632F, U+6388, U+63A2, U+63B2, U+642D, U+652F, U+6539, U+6574, U+65B0, U+660E, U+666E, U+6697, U+66F4, U+66F8, U+670D, U+671F, U+672A-672B, U+6761, U+6765, U+6839, U+68B0, U+691C, U+696D, U+697D, U+6A19, U+6B62, U+6B8B, U+6BB5, U+6C34, U+6C88, U+6CBB, U+6CC1, U+6CD5, U+6D17, U+6D45, U+6D6E, U+6D74, U+6D77, U+6D88, U+6E0B, U+6E1B, U+6E7F, U+6E96, U+6EB6, U+6FC3, U+706B, U+708E, U+7121, U+7136, U+71E5, U+72D9, U+72EC, U+7387, U+7389, U+73FE, U+751F, U+7523, U+7531, U+7533, U+756A, U+7591, U+75AB, U+75B2, U+75B9, U+75C5, U+75C7, U+767A, U+767D, U+76AE, U+76DB, U+7709, U+7740, U+77E5, U+786C, U+7968, U+7981, U+79F0, U+7A0B, U+7A0E, U+7A74, U+7A7A, U+7ACB, U+7AEF, U+7B11, U+7B49, U+7BA1, U+7BC4, U+7C89, U+7CA7, U+7D14, U+7D20, U+7D39, U+7D4C, U+7D61, U+7D75, U+7D9A, U+7DCA, U+7DDA, U+7DF4, U+7E54, U+7E70, U+7F8E, U+7FD2, U+8005, U+80AA, U+80CC, U+80F8, U+8102, U+811A, U+8155, U+8179, U+819A, U+822C, U+82E5, U+8352, U+843D, U+84C4, U+8584, U+8840, U+885B, U+8907, U+8910, U+898F, U+8996, U+8A00, U+8A0E, U+8A3C, U+8A66, U+8A71, U+8ABF, U+8B58, U+8C37, U+8C61, U+8CA0, U+8CBB-8CBC, U+8D77, U+8DB3, U+8DE1, U+8EAB, U+8EFD, U+8F03, U+8FBA, U+8FD4, U+8FF7, U+8FFD, U+9014, U+901A, U+9023, U+9031-9032, U+904B, U+904E, U+907F, U+90FD, U+914D, U+9154, U+9589, U+95A2, U+964D, U+9650, U+9664, U+967A, U+9694, U+969B, U+96FB, U+9752, U+975E, U+9805-9806, U+982C, U+984C-984D, U+98F2, U+9996, U+99C5, U+9A13, U+9B5A, U+9EA6, U+9EBB, U+9F3B, U+9F62, U+FF0B, U+FF0F, U+FF5E;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c02.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+3005, U+304E, U+305C, U+3074, U+3077, U+307A, U+307C-307D, U+3083, U+3085-3086, U+30A1, U+30A3, U+30A9, U+30BC, U+30CC-30CF, U+30D8, U+30DB, U+30E2, U+30E7, U+30F5-30F6, U+4E07, U+4E16, U+4E21, U+4E38, U+4E45, U+4E57, U+4E71, U+4EA4, U+4EAC, U+4ECF, U+4F0E, U+4F34, U+4F38, U+4F4F, U+4F59, U+4F9B, U+4FC3, U+5099, U+50CD, U+5171, U+5177-5178, U+518D, U+5199, U+51F8-51F9, U+5200, U+5217, U+5230, U+5238, U+523B, U+5247, U+525B, U+526F, U+52D9, U+52E2, U+52E4, U+52E7, U+533A, U+5341, U+5370, U+539A, U+539F, U+53BB, U+53CA-53CB, U+53CE, U+5404, U+5439, U+5442, U+544A, U+5473, U+548C, U+5546, U+55AB, U+55B6, U+56E0, U+571F, U+5742, U+5747, U+578B, U+585E, U+58EB, U+58F2, U+590F, U+591C, U+5931, U+5965, U+5968, U+59A8, U+59FF, U+5B50, U+5B54, U+5B63, U+5B85, U+5B88, U+5BA4, U+5BB3, U+5BB6, U+5BC4, U+5BE9, U+5C06, U+5C0B, U+5C0E, U+5C3B, U+5C3F-5C40, U+5C64, U+5CA9, U+5D0E, U+5DE5, U+5E03, U+5E2F-5E30, U+5E45, U+5E95, U+5E97, U+5EAD, U+5EF6, U+5F35, U+5F3E, U+5F80, U+5F8B, U+5F90, U+5F92-5F93, U+5FAE, U+5FB9, U+5FD8-5FD9, U+6016, U+6065, U+6094, U+60A3, U+60AA, U+60F3, U+614E, U+6162, U+6211, U+6238, U+6271, U+627F, U+62BD, U+62C5, U+62E0, U+62ED, U+6319, U+63A1, U+63A7-63A8, U+63BB, U+63D0, U+63DB, U+64AE, U+6545, U+6591, U+65C5, U+65CF, U+65E2, U+65E9, U+66DC, U+66FF, U+6709, U+6717, U+671D, U+6771, U+677F, U+67A0, U+67D3, U+67FB, U+6804, U+6821, U+6897, U+6975, U+6982, U+6A29, U+6B4C, U+6B66, U+6B69, U+6B6F, U+6B73-6B74, U+6BCD, U+6BD2, U+6C38, U+6C42, U+6C57, U+6C5F, U+6CA1, U+6CC9, U+6D3B, U+6D41, U+6D78, U+6DB2, U+6DF7, U+6DFB, U+6E05, U+6E08, U+6E21, U+6E29, U+6E6F, U+6E80, U+6EF4, U+6F0F, U+6F54, U+6FC0, U+70BA, U+7159, U+7269, U+72ED, U+7384, U+7532, U+7537, U+753A, U+754C, U+75BE, U+75D5, U+75E9, U+760D, U+764C, U+770B, U+771F, U+777E, U+77ED, U+795D-795E, U+79D1-79D2, U+7A4D, U+7A93, U+7B2C, U+7B4B, U+7B56, U+7B87, U+7B97, U+7C98, U+7CBE, U+7CD6, U+7CFB, U+7D2B, U+7D30, U+7D99, U+7DD2, U+7DE0, U+7DE9, U+7E4A, U+7FA9, U+7FCC, U+8033, U+805E, U+8089, U+8098, U+809B, U+809D, U+80A9, U+80B2, U+80C3, U+80DE, U+8107, U+8133, U+816B, U+818F, U+819C-819D, U+81A0, U+81A8, U+81D3, U+81ED, U+821E, U+8239, U+826F, U+82E6, U+82F1, U+84B8, U+888B, U+88C5, U+88FD, U+895F, U+897F, U+899A, U+89AA, U+89B3, U+89D2, U+8A08, U+8A18, U+8A31, U+8A33, U+8A55, U+8A70, U+8A73, U+8A98, U+8A9E, U+8ACB, U+8B72, U+8B77, U+8CA9, U+8CB7, U+8D08, U+8D8A, U+8ECA, U+8EDF, U+8EE2, U+8F2A, U+9006, U+900F, U+9045, U+9053-9054, U+9060, U+90ED, U+9152, U+9178, U+91CF, U+91DD, U+9320, U+9580, U+9632, U+9670, U+968E, U+969C, U+96C6, U+96D1, U+96E3, U+97D3, U+97FF, U+9808, U+9818, U+982D, U+983B, U+9858, U+98A8, U+98DB, U+98DF, U+99D0, U+9AEA, U+9AED, U+FF05, U+FFE5;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c03.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+00A7, U+00B1, U+00B7, U+00F7, U+201C-201D, U+2026, U+2122, U+2190, U+2197, U+21C4, U+2265, U+23F0, U+2460-2467, U+2500, U+25A1, U+25B2-25B3, U+25BC, U+25EF, U+2600, U+2605, U+2610-2611, U+26A1, U+2753, U+300E-300F, U+3041, U+3045, U+3047, U+3049, U+3071, U+309D-309F, U+30E6, U+30E8, U+30FD-30FE, U+4E09, U+4E26, U+4E89, U+4E92, U+4E94, U+4EEE, U+4EF0, U+4EFB, U+4F0F, U+4F3C, U+4F46, U+4F9D, U+4FBF, U+4FEE, U+500D, U+5012, U+5019, U+501F, U+504F, U+505C, U+5065, U+5076, U+507D, U+50CF, U+5100, U+511F, U+5144-5145, U+517C, U+5192, U+51A0, U+51CD, U+5237, U+5270, U+529F, U+52A3, U+52A9-52AA, U+52C9, U+52DD, U+5302, U+5305, U+5354, U+5357, U+5371, U+5373, U+53B3, U+53CC, U+53E4-53E5, U+53E9, U+53EB, U+53F0, U+53F8, U+5410, U+5438, U+547C-547D, U+5510, U+552F, U+5589, U+558B, U+559A, U+5614, U+5642, U+5674, U+56E3, U+56F0, U+56F3, U+5727, U+57DF, U+584A, U+5854, U+5869, U+5883, U+58A8, U+5915, U+5929, U+592E, U+596A, U+597D, U+59A5, U+59D4, U+5A66, U+5B57, U+5B6B, U+5BA3, U+5BC6, U+5BDD, U+5BF8, U+5C01, U+5C0A, U+5C3A, U+5C3E, U+5C45, U+5C55, U+5C65, U+5C71, U+5C90, U+5D29, U+5DE6, U+5DFB, U+5E02, U+5E2D, U+5E78, U+5E7E, U+5E8A, U+5E8F, U+5EA7, U+5EAB, U+5EB7, U+5EC3, U+5F01, U+5F1F, U+5F27, U+5F79, U+5F7C, U+5F84, U+5FA1, U+5FAA, U+5FEB, U+6050, U+606F, U+6226, U+6234, U+6280, U+6295, U+6298, U+62B5, U+62D2, U+62DB, U+62E1, U+62EC, U+6368, U+636E, U+639B, U+63C3, U+63EE, U+63F4, U+640D, U+6442, U+6469, U+64E6, U+6557, U+6669, U+66F2, U+672D, U+67D4, U+6813, U+6885, U+69CB, U+69FD, U+6A2A, U+6B04, U+6B20, U+6B96, U+6C37, U+6C5A, U+6CBF, U+6CE1, U+6CF3, U+6D3E, U+6DAF, U+6FE1, U+70AD, U+722A, U+73CD, U+7559, U+75B1, U+75D2, U+75E2, U+7622, U+7652, U+76C6, U+76CA, U+76E4, U+7701, U+7720, U+773C, U+7761, U+77AC, U+77F3, U+79C1, U+79D8, U+7AF6, U+7BC0, U+7BE4, U+7C4D, U+7D0D, U+7D19, U+7D22, U+7D5E, U+7D66, U+7D76, U+7DD1, U+7E26, U+7E2B, U+7E2E, U+7E3E, U+7E41, U+7F72, U+8001, U+8010, U+8077, U+80A2, U+8108, U+814B, U+8154, U+8178, U+817A, U+817F, U+81BF-81C0, U+81E8, U+8217, U+82B1, U+8377, U+83CC, U+878D, U+8863, U+8896, U+88CF, U+88D5, U+88DC, U+8986, U+89E6, U+8A72, U+8A95, U+8AAD, U+8B1D, U+8CAC, U+8CFC, U+8D85, U+8E0F, U+8FCE, U+8FEB, U+9000, U+9003, U+901F, U+9063, U+907A, U+90AA, U+914C, U+9162, U+9244, U+9262, U+93E1, U+9451, U+9673, U+96A0, U+96A3, U+96F0, U+9732, U+9759, U+9802-9803, U+9810, U+984E, U+98EF, U+990A, U+9928, U+9999, U+99B4, U+9AA8, U+9E78, U+FE0F, U+FF13, U+FF15, U+1F338, U+1F393, U+1F3E5, U+1F48A, U+1F4AA, U+1F4AC, U+1F4B0, U+1F4C4-1F4C5, U+1F4CB, U+1F4D8, U+1F512, U+1F52C, U+1F530, U+1F5D3, U+1F600, U+1F60C, U+1F61F, U+1F9CD, U+1F9D4, U+1F9F4, U+1FA72, U+1FA79;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c04.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+00A2-00A3, U+00A8, U+00AC, U+00B0, U+00B4, U+00B6, U+0391-03A1, U+03A3-03A9, U+03B1-03C1, U+03C3-03C9, U+0401, U+0410-044F, U+0451, U+2010, U+2015-2016, U+2018-2019, U+2020-2021, U+2025, U+2030, U+2032-2033, U+212B, U+2191, U+2193, U+21D2, U+21D4, U+2200, U+2202-2203, U+2207-2208, U+220B, U+2212, U+221A, U+221D-221E, U+2220, U+2227-222C, U+2234-2235, U+223D, U+2252, U+2260-2261, U+2266-2267, U+226A-226B, U+2282-2283, U+2286-2287, U+22A5, U+2312, U+2501-2503, U+250C, U+250F-2510, U+2513-2514, U+2517-2518, U+251B-251D, U+2520, U+2523-2524, U+62FE, U+6311, U+631F, U+633F, U+6349, U+634F, U+6355, U+6357, U+6383, U+6392, U+639F, U+63CF, U+63E1, U+6458, U+6483, U+64A4, U+64EC, U+653B, U+653E, U+6551, U+6563, U+6577, U+65E6-65E8, U+6607, U+6613, U+6620, U+6627, U+662F, U+663C, U+666F, U+66A6, U+66AB, U+66D6, U+6728, U+6750, U+675F, U+6790, U+679A, U+67B6, U+6841, U+68B1, U+68C4, U+68D2, U+6A21, U+6B27, U+6B32, U+6B7B, U+6B8A, U+6C4E, U+6CA2, U+6E2C, U+6E58, U+6E90, U+6EC5, U+6ED1, U+6F14, U+6F22, U+6F70, U+6FC1, U+6FEB, U+7070, U+7126, U+717D, U+7236, U+7247-7248, U+7336, U+74B0, U+7530, U+7565, U+7573, U+767E, U+76BF, U+76E3, U+76FE, U+77DB, U+77E2, U+7814, U+7956, U+7A00, U+7A4F, U+7A81, U+7AE0, U+7BB1, U+7BC9, U+7C21, U+7C3F, U+7C8B, U+7C92, U+7D05, U+7D10, U+7D1B, U+7D21, U+7D2F, U+7D3A, U+7D71, U+7DAD, U+7DB2, U+7DE8, U+7DEF, U+7E01, U+7E1B, U+7E4B, U+7F6B, U+7FA4, U+80AF, U+81F3-81F4, U+8336, U+8449, U+8457, U+866B, U+88C1, U+88F8, U+8972, U+8A02, U+8A2A, U+8A5E, U+8A93, U+8AA0, U+8AA4, U+8AB0, U+8AB2, U+8AE6, U+8AFE, U+8B66, U+8D70, U+8DDD, U+8DEF, U+8DF3, U+8EF8, U+8F9E, U+8FBF, U+8FF0, U+9020, U+904A, U+906E, U+9077, U+90CE, U+91E6, U+9318, U+9375, U+95B2, U+95BE, U+968F, U+96E2, U+983C, U+98FE, U+99C4, U+9AB8, U+9B54, U+9CF4, U+9EC4, U+9ED9, U+9FFF, U+C0AC, U+C774, U+D2B8, U+FF01, U+FF10-FF11, U+FF14, U+FF18-FF19, U+FF1C, U+FF1E, U+FF5C;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c05.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+2525, U+2528, U+252B-252C, U+252F-2530, U+2533-2534, U+2537-2538, U+253B-253C, U+253F, U+2542, U+254B, U+25A0, U+25BD, U+25C6-25C7, U+25CE-25CF, U+2606, U+2640, U+2642, U+266A, U+266D, U+266F, U+3000, U+3003, U+3006-300B, U+3012-3015, U+3043, U+3062, U+306C, U+308E, U+3090-3091, U+309B-309C, U+30C2, U+30C5, U+30EE, U+30F0-30F2, U+4E03, U+4E10-4E11, U+4E14-4E15, U+4E17-4E19, U+4E1E, U+4E2A, U+4E31-4E32, U+4E36, U+4E39, U+4E3C, U+4E3F, U+4E42-4E43, U+4E4B, U+4E4D-4E4F, U+4E55-4E56, U+4E58-4E59, U+4E5D-4E5F, U+4E62, U+4E80, U+4E82, U+4E85, U+4E8A, U+4E8E, U+4E91, U+4E95, U+4E98-4E99, U+4E9B-4E9C, U+4E9E-4EA2, U+4EA5-4EA6, U+4EA8, U+4EAB, U+4EAD-4EAE, U+4EB0, U+4EB3, U+4EB6, U+4EC0-4EC2, U+4EC4, U+4EC6-4EC7, U+4ECD-4ECE, U+4ED4, U+4ED7, U+4ED9, U+4EDD-4EDF, U+4EED, U+4EF2, U+4EF7, U+4F01, U+4F09-4F0A, U+4F0D, U+4F10, U+4F1C, U+4F2F-4F30, U+4F36, U+4F3D, U+4F43, U+4F47, U+4F50-4F51, U+4F57, U+4F5A-4F5B, U+4F5D-4F5E, U+4F69, U+4F6F-4F70, U+4F73, U+4F76, U+4F7B-4F7C, U+4F83, U+4F86, U+4F88, U+4F8D, U+4F8F, U+4F91, U+4F96, U+4F98, U+4FA0, U+4FAB, U+4FAD-4FAF, U+4FB5-4FB6, U+4FC4, U+4FCA, U+4FCE, U+4FD0-4FD1, U+4FD4, U+4FD7-4FD8, U+4FDA-4FDB, U+4FDF, U+4FE3-4FE5, U+4FEF, U+4FF3, U+4FF5-4FF6, U+4FF8, U+4FFA, U+4FFE, U+5005-5006, U+5009, U+500F, U+5011, U+5014, U+5016, U+501A, U+5021, U+5023, U+5025-5026, U+5028-502D, U+5036, U+5039, U+5043, U+5047-5049, U+5050, U+5055-5056, U+505A, U+506C, U+5072, U+5075, U+5078, U+5080, U+5085, U+508D, U+5091, U+5098, U+509A, U+50AC-50AD, U+50B2-50B5, U+50C2, U+50C5, U+50C9-50CA, U+50D1, U+50D5-50D6, U+50DA, U+50DE, U+50E3, U+50E5, U+50E7, U+50ED-50EE, U+50F5, U+50F9, U+50FB, U+5101-5102, U+5104, U+5109, U+5112, U+5114-5116, U+5118, U+511A, U+5121, U+5132, U+5137, U+513A-513C, U+513F-5141, U+5146-5147, U+514B-514C, U+514E, U+5150, U+5152, U+5154, U+515A, U+515C, U+5162, U+5169-516B, U+516D-516E, U+5175-5176, U+5180, U+5182, U+5189-518A, U+518C, U+518F-5191, U+5193, U+5195-5197, U+51A2, U+51A4-51A6, U+51A8-51AC, U+51B0-51B6, U+51BD, U+51C4-51C6, U+51C9, U+51CB-51CC, U+51D6, U+51DB-51DC, U+51E0-51E1, U+51E7, U+51E9-51EA, U+51ED, U+51F0-51F1, U+51F5-51F6, U+51FD-51FE, U+5203-5204, U+5208, U+520A-520B, U+520E, U+5211, U+5214, U+5227, U+522A, U+522E, U+5233, U+5239, U+5244, U+524B-524C, U+524F, U+5254, U+5256, U+525E;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c06.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+5263, U+5265, U+5269-526A, U+5271, U+5273-5275, U+527D, U+527F, U+5283, U+5287-5289, U+528D, U+5291-5292, U+5294, U+52AB-52AD, U+52B1, U+52B5, U+52BC, U+52BE, U+52C1, U+52C3, U+52C5, U+52C7, U+52CD, U+52D2, U+52D7-52D8, U+52DE-52E0, U+52E3, U+52E6, U+52F2-52F3, U+52F5, U+52F8-52FA, U+52FE-52FF, U+5301, U+5306, U+5308, U+530D, U+530F-5310, U+5315, U+5317, U+5319-531A, U+531D, U+5320-5321, U+5323, U+532A, U+532F, U+5331, U+5333, U+5338-5339, U+5340, U+5343, U+5345-5349, U+534D, U+5351-5353, U+535A, U+535C, U+535E, U+5360, U+5366, U+5369, U+536E-536F, U+5377-5378, U+537B, U+537F, U+5382, U+5384, U+5396, U+5398, U+53A0, U+53A5-53A6, U+53A8-53A9, U+53AD-53AE, U+53B0, U+53B6, U+53C3, U+53C8-53C9, U+53D4, U+53D9, U+53DB, U+53DF, U+53E1-53E2, U+53E8, U+53EA, U+53EC-53EE, U+53F1-53F2, U+53F6, U+53FA, U+5401, U+5403, U+5409-540B, U+540E-540F, U+541B, U+541D, U+541F-5420, U+5429, U+542C-542E, U+5436, U+543B-543E, U+5440, U+5446, U+5448-5449, U+544E, U+5451, U+545F, U+546A, U+5470-5471, U+5475-5477, U+547B, U+5480, U+5484, U+5486, U+548B, U+548E-5490, U+5492, U+54A2, U+54A4-54A5, U+54A8, U+54AB-54AC, U+54AF, U+54B2-54B3, U+54B8, U+54BC-54BE, U+54C0, U+54C2, U+54C4, U+54C7-54C9, U+54D8, U+54E2, U+54E5-54E6, U+54E8-54E9, U+54ED-54EE, U+54F2, U+54FA, U+54FD, U+5504, U+5506-5507, U+550F, U+5514, U+5516, U+552E, U+5531, U+5533, U+5538-5539, U+553E, U+5540, U+5544-5545, U+554C, U+5553, U+5556-5557, U+555C-555D, U+5563, U+557B-557C, U+557E, U+5580, U+5583, U+5587, U+558A, U+5598-5599, U+559C-559F, U+55A7-55AA, U+55AC, U+55AE, U+55B0, U+55C4-55C5, U+55C7, U+55D4, U+55DA, U+55DC, U+55DF, U+55E3-55E4, U+55F7, U+55F9, U+55FD-55FE, U+5606, U+5609, U+5616-5618, U+561B, U+5629, U+562F, U+5631-5632, U+5634, U+5636, U+5638, U+564C, U+564E, U+5650, U+565B, U+5664, U+566A-566C, U+5678, U+567A, U+5680, U+5686-5687, U+568A, U+568F, U+5694, U+56A0, U+56A5, U+56AE, U+56B4, U+56B6, U+56BC, U+56C0-56C3, U+56C8, U+56CE, U+56D1, U+56D3, U+56D7-56D8, U+56DA, U+56EE, U+56F9, U+56FF-5700, U+5703-5704, U+5708-5709, U+570B, U+570D, U+570F, U+5712-5713, U+5716, U+5718, U+571C, U+5726, U+572D, U+5737-5738, U+573B, U+5740, U+574A, U+574E-5751, U+5761, U+5764, U+5766, U+5769-576A, U+577F, U+5782, U+5788-5789, U+5793, U+57A0, U+57A2-57A4, U+57AA, U+57B0, U+57B3, U+57C0, U+57C3, U+57C6, U+57CE, U+57D2-57D4, U+57D6, U+57DC, U+57E0, U+57E3, U+57F4, U+57F7, U+57F9, U+57FC, U+5800, U+5802, U+5805;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c07.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+5806, U+580A-580B, U+5815, U+5819, U+581D, U+5821, U+5824, U+582A, U+582F-5830, U+5835, U+583A, U+583D, U+5840-5841, U+584B, U+5851-5852, U+5858-585A, U+5862, U+586B, U+5870, U+5872, U+5875, U+5879, U+587E, U+5885, U+5893, U+589C, U+589F, U+58AB, U+58AE, U+58B3, U+58B8-58BB, U+58BE, U+58C1, U+58C5, U+58C7, U+58CC, U+58D1, U+58D3, U+58D5, U+58D7-58D9, U+58DC, U+58DE-58DF, U+58E4-58E5, U+58EC, U+58EE-58EF, U+58F1, U+58F7, U+58F9-58FD, U+5902, U+590A, U+5910, U+5918-5919, U+591B, U+5922, U+5925, U+592C-592D, U+5932, U+5937-5938, U+593E, U+5944, U+5947-5949, U+594E-5950, U+5954-5955, U+5957-5958, U+595A, U+5960, U+5962, U+5967, U+5969, U+596C, U+596E, U+5974, U+5978, U+5981-5984, U+598D, U+5993, U+5996, U+5999, U+599B, U+599D, U+59A3, U+59AC, U+59B2, U+59B9, U+59BB, U+59BE, U+59C6, U+59C9, U+59D0-59D1, U+59D3, U+59D9-59DA, U+59DC, U+59E5-59E6, U+59E8, U+59EA-59EB, U+59F6, U+59FB, U+5A01, U+5A03, U+5A09, U+5A11, U+5A18, U+5A1A, U+5A1C, U+5A1F, U+5A25, U+5A29, U+5A2F, U+5A35-5A36, U+5A3C, U+5A40-5A41, U+5A46, U+5A49, U+5A5A, U+5A62, U+5A6A, U+5A6C, U+5A7F, U+5A92, U+5A9A-5A9B, U+5ABC-5ABE, U+5AC1-5AC2, U+5AC9, U+5ACB-5ACC, U+5AD0, U+5AD6-5AD7, U+5AE1, U+5AE3, U+5AE6, U+5AE9, U+5AFA-5AFB, U+5B09, U+5B0B-5B0C, U+5B16, U+5B22, U+5B2A, U+5B2C, U+5B30, U+5B32, U+5B36, U+5B3E, U+5B40, U+5B43, U+5B45, U+5B51, U+5B55, U+5B5A-5B5D, U+5B5F, U+5B64-5B65, U+5B69, U+5B70-5B71, U+5B73, U+5B75, U+5B78, U+5B7A, U+5B80, U+5B83, U+5B87, U+5B8B, U+5B8D, U+5B8F, U+5B95, U+5B97-5B99, U+5B9B-5B9D, U+5BA5-5BA6, U+5BAE, U+5BB0, U+5BB4-5BB5, U+5BB8, U+5BC2-5BC3, U+5BC5, U+5BC7, U+5BC9, U+5BCC, U+5BD0, U+5BD2-5BD4, U+5BDB, U+5BDE, U+5BE1-5BE2, U+5BE4-5BE6, U+5BE8, U+5BEB, U+5BEE, U+5BF0, U+5BF3, U+5BF5-5BF6, U+5BFA, U+5C05, U+5C07-5C09, U+5C0D, U+5C13, U+5C16, U+5C1A, U+5C20, U+5C22, U+5C24, U+5C28, U+5C2D, U+5C31, U+5C38-5C39, U+5C3C-5C3D, U+5C41, U+5C46, U+5C48, U+5C4D-5C51, U+5C53, U+5C60-5C61, U+5C6C, U+5C6E-5C6F, U+5C76, U+5C79, U+5C8C, U+5C91, U+5C94, U+5CA1, U+5CA8, U+5CAB-5CAC, U+5CB1, U+5CB3, U+5CB6-5CB8, U+5CBB-5CBC, U+5CBE, U+5CC5, U+5CC7, U+5CD9, U+5CE0-5CE1, U+5CE8-5CEA, U+5CED, U+5CEF-5CF0, U+5CF6, U+5CFA-5CFB, U+5CFD, U+5D07, U+5D0B, U+5D11, U+5D14-5D1B, U+5D1F, U+5D22, U+5D4B-5D4C, U+5D4E, U+5D50, U+5D52, U+5D5C, U+5D69, U+5D6C, U+5D6F, U+5D73, U+5D76, U+5D82, U+5D84, U+5D87, U+5D8B-5D8C, U+5D90, U+5D9D, U+5DA2, U+5DAC, U+5DAE, U+5DB7, U+5DBA, U+5DBC-5DBD, U+5DC9, U+5DCC-5DCD, U+5DD2;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c08.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+5DD3, U+5DD6, U+5DDB, U+5DDD-5DDE, U+5DE1, U+5DE3, U+5DE7-5DE8, U+5DEB, U+5DF2-5DF5, U+5DF7, U+5DFD-5DFE, U+5E06, U+5E0B, U+5E11, U+5E16, U+5E19-5E1B, U+5E1D, U+5E25, U+5E36-5E37, U+5E3D, U+5E40, U+5E43-5E44, U+5E47, U+5E4C, U+5E4E, U+5E54-5E55, U+5E57, U+5E5F, U+5E61-5E64, U+5E75-5E76, U+5E79-5E7D, U+5E7F, U+5E81, U+5E84, U+5E87, U+5E96, U+5E9A, U+5E9C, U+5EA0, U+5EB5-5EB6, U+5EB8, U+5EC1-5EC2, U+5EC8-5ECA, U+5ECF-5ED0, U+5ED3, U+5ED6, U+5EDA-5EDB, U+5EDD, U+5EDF-5EE3, U+5EE8-5EE9, U+5EEC, U+5EF0-5EF1, U+5EF3-5EF4, U+5EF7-5EF8, U+5EFA-5EFC, U+5EFE-5EFF, U+5F03-5F04, U+5F09-5F0D, U+5F10-5F11, U+5F13-5F14, U+5F16-5F18, U+5F1B, U+5F25-5F26, U+5F29, U+5F2D, U+5F2F, U+5F38, U+5F3C, U+5F41, U+5F48, U+5F4A, U+5F4C, U+5F4E, U+5F51, U+5F56-5F57, U+5F59, U+5F5C-5F5D, U+5F61, U+5F66, U+5F69-5F6D, U+5F70, U+5F73, U+5F77, U+5F7F, U+5F81-5F83, U+5F87-5F88, U+5F8A, U+5F91, U+5F98-5F99, U+5F9E, U+5FA0, U+5FA8, U+5FAD, U+5FB3, U+5FBC-5FBD, U+5FCD, U+5FD6-5FD7, U+5FDD, U+5FE0, U+5FE4, U+5FF0-5FF1, U+5FF8, U+5FFB, U+5FFD, U+5FFF, U+600E-6010, U+6012, U+6015, U+6019, U+601B-601C, U+6020-6021, U+6026, U+6028-602B, U+602F, U+6031, U+603A, U+6041-6043, U+6046, U+604A-604B, U+604D, U+6052, U+6055, U+6059-605A, U+605F-6060, U+6062-6064, U+6068-606D, U+6070, U+6077, U+6081, U+6083-6084, U+6089, U+608B-608D, U+6092, U+6096-6097, U+609A-609B, U+609F-60A0, U+60A6-60A7, U+60B2-60B6, U+60B8, U+60BC-60BD, U+60C6-60C7, U+60D1, U+60D3, U+60D8, U+60DA, U+60DC, U+60DF-60E1, U+60E3, U+60E7-60E8, U+60F0-60F1, U+60F4, U+60F6-60F7, U+60F9-60FB, U+6100-6101, U+6103, U+6106, U+6108-6109, U+610D-610E, U+6115, U+611A-611B, U+6121, U+6127-6128, U+612C, U+6134, U+613C-613F, U+6142, U+6144, U+6147-6148, U+614A, U+614C-614D, U+6153, U+6155, U+6158-615A, U+615D, U+615F, U+6165, U+6167-6168, U+616B, U+616F-6171, U+6173-6177, U+617E, U+6182, U+6187, U+618A, U+618E, U+6190-6191, U+6194, U+6196, U+6199-619A, U+61A4, U+61A7, U+61A9, U+61AB-61AC, U+61AE, U+61B2, U+61B6, U+61BA, U+61BE, U+61C3, U+61C6-61CD, U+61D0, U+61E3, U+61E6, U+61F2, U+61F4, U+61F6-61F8, U+61FA, U+61FC-6200, U+6208-620A, U+620C-620E, U+6212, U+6214, U+6216, U+621A-621B, U+621D-621F;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c09.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+6221, U+622A, U+622E-6230, U+6232-6233, U+623F, U+6241, U+6247-6249, U+624D-624E, U+6258, U+625B, U+625E, U+6260, U+6263, U+6268, U+626E, U+6276, U+6279, U+627C, U+627E, U+6282-6284, U+6289-628A, U+6292-6294, U+6296, U+629B, U+62AB-62AC, U+62B1, U+62B9, U+62BB, U+62C2, U+62C6-62CA, U+62CC-62CD, U+62CF-62D1, U+62D3-62D4, U+62D7-62D9, U+62DC-62DD, U+62EE-62EF, U+62F1, U+62F3, U+62F5-62F7, U+62FF, U+6302, U+6308-6309, U+630C, U+6327-6328, U+632B, U+633A, U+633D-633E, U+634C-634D, U+6350, U+635C, U+6367, U+6369, U+636B, U+6372, U+6376-6377, U+637A-637B, U+6380, U+6389, U+638C, U+638E-638F, U+6396, U+6398, U+63A0, U+63A3, U+63A9-63AC, U+63B4-63B5, U+63BE, U+63C0, U+63C4, U+63C6, U+63C9, U+63D2, U+63D6, U+63DA, U+63E3, U+63E9, U+63F6, U+63FA, U+6406, U+640F, U+6413, U+6416-6417, U+641C, U+6426, U+6428, U+642C, U+6434, U+6436, U+643A, U+643E, U+644E, U+6467, U+646F, U+6476, U+6478, U+647A, U+6488, U+6492-6493, U+6495, U+649A, U+649E, U+64A5, U+64A9, U+64AB, U+64AD, U+64B0, U+64B2, U+64B9, U+64BB-64BC, U+64C1-64C2, U+64C5, U+64C7, U+64D2, U+64D4, U+64D8, U+64DA, U+64E0-64E3, U+64E7, U+64EF, U+64F1-64F2, U+64F4, U+64F6, U+64FA, U+64FD-64FE, U+6500, U+6505, U+6518, U+651C-651D, U+6523-6524, U+652A-652C, U+6534-6538, U+653F, U+6548, U+654D, U+6555-6556, U+6558, U+655D-655E, U+6562, U+6566, U+656C, U+6572, U+6575, U+6578, U+6582-6583, U+6588-6589, U+658C, U+658E, U+6590, U+6597, U+659B-659C, U+659F, U+65A1, U+65A4-65A5, U+65A7, U+65AB-65AC, U+65AF, U+65B7, U+65BC, U+65C1, U+65C3-65C4, U+65C6, U+65CB-65CC, U+65D2, U+65D7, U+65D9, U+65DB, U+65E0-65E1, U+65EC-65ED, U+65F1, U+65FA-65FB, U+6602-6603, U+6606, U+660A, U+660C, U+660F, U+6614, U+661C, U+661F, U+6625, U+6628, U+662D, U+6634-6636, U+663F, U+6641, U+6643-6644, U+6649, U+664B, U+664F, U+6652, U+665D-665F, U+6662, U+6664, U+6666-6668, U+6670, U+6674, U+6676, U+667A, U+6681, U+6683-6684, U+6687-6689, U+668E, U+6691, U+6696, U+6698, U+669D, U+66A2, U+66AE, U+66B4, U+66B8-66B9, U+66BC, U+66BE, U+66C1, U+66C4, U+66C7, U+66C9, U+66D9-66DA, U+66DD, U+66E0, U+66E6, U+66E9, U+66F0, U+66F3, U+66F5, U+66F7, U+66F9, U+66FC-66FE, U+6703, U+670B, U+670F, U+6714-6716, U+671E, U+6726-6727, U+672E, U+6731, U+6734, U+6736-6738, U+673A, U+673D, U+673F, U+6741, U+6746, U+6749, U+674E-674F, U+6751, U+6753, U+6756, U+6759, U+675C, U+675E, U+6760, U+6762-6764, U+676A, U+676D, U+676F-6770, U+6772-6773, U+6775, U+6777, U+677C, U+677E, U+6785, U+6787, U+6789, U+678B-678C;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c10.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+6795, U+6797, U+679D, U+67A1-67A2, U+67A6, U+67A9, U+67AF, U+67B3-67B4, U+67B7-67B9, U+67C1, U+67C4, U+67C6, U+67CA, U+67CE-67D1, U+67D8, U+67DA, U+67DD-67DE, U+67E2, U+67E4, U+67E7, U+67E9, U+67EC, U+67EE-67EF, U+67F1, U+67F3-67F5, U+67FE-67FF, U+6802-6803, U+6816-6817, U+681E, U+6822, U+6829-682B, U+6832, U+6834, U+6838, U+683D, U+6840, U+6842-6843, U+6846, U+684D-684E, U+6850-6851, U+6853-6854, U+6859, U+685C-685D, U+685F, U+6863, U+6867, U+6874, U+6876-6877, U+687E-687F, U+6881, U+6883, U+688D, U+688F, U+6893-6894, U+689B, U+689D, U+689F-68A0, U+68A2, U+68A6-68A8, U+68AD, U+68AF, U+68B3, U+68B5-68B6, U+68B9-68BA, U+68BC, U+68C6, U+68C9-68CB, U+68CD, U+68D4-68D5, U+68D7-68D8, U+68DA, U+68DF-68E1, U+68E3, U+68E7, U+68EE-68EF, U+68F2, U+68F9-68FA, U+6900-6901, U+6904-6905, U+6908, U+690B-690F, U+6912, U+6919-691B, U+6921-6923, U+6925-6926, U+6928, U+692A, U+6930, U+6934, U+6936, U+6939, U+693D, U+693F, U+694A, U+6953-6955, U+6959-695A, U+695C-695E, U+6960-6962, U+696A-696B, U+696E-696F, U+6973-6974, U+6977-6979, U+697C, U+697E, U+6981, U+698A, U+698E, U+6991, U+6994-6995, U+699B-699C, U+69A0, U+69A7, U+69AE, U+69B1-69B2, U+69B4, U+69BB, U+69BE-69BF, U+69C1, U+69C3, U+69C7, U+69CA, U+69CC-69CE, U+69D0, U+69D3, U+69D9, U+69DD-69DE, U+69E7-69E8, U+69EB, U+69ED, U+69F2, U+69F9, U+69FB, U+69FF, U+6A02, U+6A05, U+6A0A-6A0C, U+6A12-6A14, U+6A17, U+6A1B, U+6A1E-6A1F, U+6A22-6A23, U+6A2B, U+6A2E, U+6A35-6A36, U+6A38-6A3A, U+6A3D, U+6A44, U+6A47-6A48, U+6A4B, U+6A58-6A59, U+6A61-6A62, U+6A66, U+6A72, U+6A78, U+6A7F-6A80, U+6A84, U+6A8D-6A8E, U+6A90, U+6A97, U+6A9C, U+6AA0, U+6AA2-6AA3, U+6AAA, U+6AAC, U+6AAE, U+6AB3, U+6AB8, U+6ABB, U+6AC1-6AC3, U+6AD1, U+6AD3, U+6ADA-6ADB, U+6ADE-6ADF, U+6AE8, U+6AEA, U+6AFA-6AFB, U+6B05, U+6B0A, U+6B12, U+6B16, U+6B1D, U+6B1F, U+6B23, U+6B37-6B3A, U+6B3D-6B3E, U+6B43, U+6B47, U+6B49, U+6B4E, U+6B50, U+6B53-6B54, U+6B59, U+6B5B, U+6B5F, U+6B61, U+6B64, U+6B6A, U+6B78-6B79, U+6B7F-6B80, U+6B83-6B84, U+6B86, U+6B89, U+6B8D, U+6B95, U+6B98, U+6B9E, U+6BA4, U+6BAA-6BAB, U+6BAF, U+6BB1-6BB4, U+6BB7, U+6BBA-6BBC, U+6BBF-6BC0, U+6BC5-6BC6, U+6BCB, U+6BD3, U+6BD8, U+6BDF, U+6BEB-6BEC, U+6BEF, U+6BF3, U+6C08, U+6C11, U+6C13-6C14, U+6C1B, U+6C23-6C24, U+6C3E, U+6C40-6C41, U+6C50, U+6C55, U+6C5D-6C5E, U+6C60, U+6C62, U+6C68, U+6C6A, U+6C70, U+6C72-6C73, U+6C7D-6C7E, U+6C81-6C83, U+6C8C-6C8D;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c11.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+6C90, U+6C92-6C93, U+6C96, U+6C99-6C9B, U+6CAB, U+6CAE, U+6CB1, U+6CB3, U+6CB8-6CBA, U+6CBC-6CBE, U+6CC4-6CC5, U+6CCA, U+6CCC, U+6CD3, U+6CD7, U+6CD9, U+6CDB, U+6CDD, U+6CE3, U+6CE5, U+6CEA, U+6CEF-6CF1, U+6D0B-6D0C, U+6D12, U+6D19, U+6D1B, U+6D1E-6D1F, U+6D25, U+6D29-6D2B, U+6D32-6D33, U+6D35-6D36, U+6D38, U+6D3D, U+6D44, U+6D59-6D5A, U+6D5C, U+6D63-6D64, U+6D66, U+6D69-6D6A, U+6D6C, U+6D79, U+6D85, U+6D8C, U+6D8E, U+6D93, U+6D95, U+6D99, U+6D9B-6D9C, U+6DB5, U+6DB8, U+6DBC, U+6DC0, U+6DC5-6DC7, U+6DCB-6DCC, U+6DD1-6DD2, U+6DD5, U+6DD8-6DD9, U+6DDE, U+6DE1, U+6DE4, U+6DE6, U+6DE8, U+6DEA-6DEC, U+6DEE, U+6DF3, U+6DF5, U+6DF9-6DFA, U+6E07, U+6E09-6E0A, U+6E13, U+6E15, U+6E19-6E1A, U+6E1D, U+6E1F-6E20, U+6E23-6E26, U+6E2B, U+6E2D-6E2F, U+6E38, U+6E3A, U+6E3E, U+6E43, U+6E4A, U+6E4D-6E4E, U+6E56, U+6E5B, U+6E5F, U+6E67, U+6E6B, U+6E6E, U+6E72, U+6E76, U+6E7E, U+6E82, U+6E8C, U+6E8F, U+6E98, U+6E9C-6E9D, U+6E9F, U+6EA2, U+6EA5, U+6EAA, U+6EAF, U+6EB2, U+6EB7, U+6EBA, U+6EBD, U+6EC2, U+6EC4, U+6EC9, U+6ECB-6ECC, U+6ED3-6ED5, U+6EDD-6EDE, U+6EEC, U+6EEF, U+6EF2, U+6EF7-6EF8, U+6EFE-6EFF, U+6F01-6F02, U+6F06, U+6F09, U+6F11, U+6F13, U+6F15, U+6F20, U+6F23, U+6F2B-6F2C, U+6F31-6F32, U+6F38, U+6F3E-6F3F, U+6F41, U+6F45, U+6F58, U+6F5B-6F5C, U+6F5F, U+6F64, U+6F66, U+6F6D-6F6F, U+6F74, U+6F78, U+6F7A, U+6F7C, U+6F80-6F82, U+6F84, U+6F86, U+6F8E, U+6F91, U+6F97, U+6FA1, U+6FA3-6FA4, U+6FAA, U+6FB1, U+6FB3, U+6FB9, U+6FC2, U+6FC6, U+6FD4-6FD5, U+6FD8, U+6FDB, U+6FDF-6FE0, U+6FE4, U+6FEC, U+6FEE-6FEF, U+6FF1, U+6FF3, U+6FF6, U+6FFA, U+6FFE, U+7001, U+7009, U+700B, U+700F, U+7011, U+7015, U+7018, U+701A-701B, U+701D-701F, U+7026-7027, U+702C, U+7030, U+7032, U+703E, U+704C, U+7051, U+7058, U+7063, U+706F, U+7078, U+707C-707D, U+7089-708A, U+7092, U+7099, U+70AC, U+70AE-70AF, U+70B3, U+70B8, U+70C8, U+70CB, U+70CF, U+70D9, U+70DD, U+70DF, U+70F1, U+70F9, U+70FD, U+7109, U+7114, U+7119-711A, U+711C, U+7149, U+714C, U+714E, U+7155-7156, U+7162, U+7164-7166, U+7169, U+716C, U+716E, U+7184, U+7188, U+718A, U+718F, U+7194-7195, U+7199, U+719F, U+71A8, U+71AC, U+71B9, U+71BE, U+71C3, U+71C8-71C9, U+71CE, U+71D0, U+71D2, U+71D4-71D5, U+71D7, U+71DF-71E0, U+71E6-71E7, U+71EC-71EE, U+71F5, U+71F9, U+71FB-71FC, U+71FF, U+7206, U+720D, U+7210, U+721B, U+7228, U+722C-722D, U+7230, U+7232, U+7235, U+723A-7240, U+7246, U+724B-724C, U+7252, U+7258-7259, U+725B, U+725D, U+725F, U+7261-7262, U+7267, U+7272, U+7274, U+727D-727E, U+7280-7282;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c12.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+7287, U+7292, U+7296, U+72A0, U+72A2, U+72A7, U+72AC, U+72AF, U+72B2, U+72B9, U+72C2-72C4, U+72C6, U+72CE, U+72D0, U+72D2, U+72D7, U+72DB, U+72E0-72E2, U+72E9, U+72F7-72F9, U+72FC-72FD, U+730A, U+7316-7317, U+731B-731D, U+731F, U+7325, U+7329-732B, U+732E-732F, U+7334, U+7337, U+733E-733F, U+7344-7345, U+734E-734F, U+7357, U+7363, U+7368, U+736A, U+7370, U+7372, U+7375, U+7378, U+737A-737B, U+738B, U+7396, U+73A9, U+73B2-73B3, U+73BB, U+73C0, U+73C2, U+73C8, U+73CA, U+73CE, U+73DE, U+73E0, U+73E5, U+73EA, U+73ED-73EE, U+73F1, U+73F8, U+7403, U+7405, U+7409, U+7422, U+7425, U+7432-7436, U+743A, U+743F, U+7441, U+7455, U+7459-745C, U+745E-7460, U+7463-7464, U+7469-746A, U+746F-7470, U+7473, U+7476, U+747E, U+7483, U+748B, U+749E, U+74A2, U+74A7, U+74BD, U+74CA, U+74CF, U+74D4, U+74DC, U+74E0, U+74E2-74E3, U+74E6-74E7, U+74E9, U+74EE, U+74F0-74F2, U+74F6-74F8, U+7503-7505, U+750C-750E, U+7511, U+7513, U+7515, U+7518, U+751A, U+751C, U+751E, U+7525-7526, U+752B-752C, U+7538, U+753C, U+7544, U+7546, U+7549-754B, U+754D, U+754F, U+7551, U+7554, U+755A-755D, U+7560, U+7562, U+7564, U+7566-7567, U+7569, U+756B, U+756D, U+7574, U+7576-7578, U+757F, U+7582, U+7586-7587, U+7589-758B, U+758E-758F, U+7594, U+759A, U+759D, U+75A3, U+75A5, U+75B3, U+75B5, U+75B8, U+75BC-75BD, U+75C2-75C3, U+75CA, U+75CD, U+75D4, U+75D8-75D9, U+75DE, U+75E3, U+75F0, U+75F2-75F4, U+75FA, U+75FC, U+75FE-75FF, U+7601, U+7609, U+760B, U+761F-7621, U+7624, U+7627, U+7630, U+7634, U+763B, U+7646-7648, U+7656, U+7658, U+765C, U+7661-7662, U+7667-766A, U+766C, U+7670, U+7672, U+7676, U+7678, U+767C, U+7680, U+7683, U+7686-7688, U+768B, U+768E, U+7690, U+7693, U+7696, U+7699-769A, U+76B0, U+76B4, U+76B7-76BA, U+76C2-76C3, U+76C8, U+76CD, U+76D2, U+76D6-76D7, U+76DC, U+76DE-76DF, U+76E1, U+76E5, U+76E7, U+76EA, U+76F2, U+76FB, U+7704, U+7707-7708, U+770C, U+771B, U+771E, U+7724-7726, U+7729, U+7737-7738, U+773A, U+7747, U+775A-775B, U+7763, U+7765-7766, U+7768, U+776B, U+7779, U+777F, U+778B, U+778E, U+7791, U+779E, U+77A0, U+77A5, U+77AD, U+77B0, U+77B3, U+77B6, U+77B9, U+77BB-77BD, U+77BF, U+77C7, U+77CD, U+77D7, U+77DA, U+77DC, U+77E3, U+77E7, U+77E9, U+77EE-77EF, U+77FC, U+7802, U+780C, U+7812, U+7815, U+7820, U+7825-7827, U+7832, U+783A, U+783F, U+7845, U+785D, U+786B, U+786F, U+7872, U+7874, U+787C, U+7881, U+7886-7887, U+788C-788E, U+7891, U+7893, U+7895, U+7897, U+789A, U+78A3, U+78A7;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c13.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+78A9-78AA, U+78AF, U+78B5, U+78BC, U+78BE, U+78C1, U+78C5-78C6, U+78CA-78CB, U+78D0-78D1, U+78D4, U+78DA, U+78E7-78E8, U+78EC, U+78EF, U+78F4, U+78FD, U+7901, U+7907, U+790E, U+7911-7912, U+7919, U+7926, U+792A-792C, U+793C, U+7940-7941, U+7947-7949, U+7950, U+7953, U+7955, U+7957, U+795A, U+795F-7960, U+7962, U+7965, U+796D, U+7977, U+797A, U+797F-7980, U+7984-7985, U+798A, U+798D-798F, U+799D, U+79A6-79A7, U+79AA, U+79AE, U+79B0, U+79B3, U+79B9-79BA, U+79BD-79C0, U+79C9, U+79CB, U+79D5, U+79DF, U+79E1, U+79E3-79E4, U+79E6-79E7, U+79E9, U+79EC, U+7A08, U+7A0D, U+7A14, U+7A17-7A1A, U+7A1C, U+7A1F-7A20, U+7A31-7A32, U+7A37, U+7A3B-7A40, U+7A42-7A43, U+7A46, U+7A49, U+7A4E, U+7A50, U+7A57, U+7A61-7A63, U+7A69, U+7A6B, U+7A70, U+7A76, U+7A79, U+7A7D, U+7A7F, U+7A83-7A84, U+7A88, U+7A92, U+7A95-7A98, U+7A9F, U+7AA9-7AAA, U+7AAE-7AB0, U+7AB6, U+7ABA, U+7ABF, U+7AC3-7AC5, U+7AC7-7AC8, U+7ACA, U+7ACD, U+7ACF, U+7AD2-7AD3, U+7AD5, U+7AD9-7ADA, U+7ADC-7ADD, U+7ADF, U+7AE1-7AE3, U+7AE5-7AE6, U+7AEA, U+7AED, U+7AF0, U+7AF8-7AFA, U+7AFF, U+7B02, U+7B04, U+7B06, U+7B08, U+7B0A-7B0B, U+7B0F, U+7B18-7B19, U+7B1B, U+7B1E, U+7B20, U+7B25-7B26, U+7B28, U+7B33, U+7B35-7B36, U+7B39, U+7B45-7B46, U+7B48, U+7B4C-7B4D, U+7B4F-7B52, U+7B5D, U+7B65, U+7B67, U+7B6C, U+7B6E, U+7B70-7B71, U+7B74-7B75, U+7B7A, U+7B86, U+7B8B, U+7B8D, U+7B8F, U+7B92, U+7B94-7B95, U+7B98-7B9A, U+7B9C-7B9D, U+7B9F, U+7BAA, U+7BAD, U+7BB4, U+7BB8, U+7BC1, U+7BC6-7BC7, U+7BCB-7BCC, U+7BCF, U+7BDD, U+7BE0, U+7BE5-7BE6, U+7BE9, U+7BED, U+7BF3, U+7BF6-7BF7, U+7C00, U+7C07, U+7C0D, U+7C11-7C14, U+7C17, U+7C1F, U+7C23, U+7C27, U+7C2A-7C2B, U+7C37-7C38, U+7C3D-7C3E, U+7C40, U+7C43, U+7C4C, U+7C4F-7C50, U+7C54, U+7C56, U+7C58, U+7C5F-7C60, U+7C64-7C65, U+7C6C, U+7C73, U+7C75, U+7C7E, U+7C81-7C83, U+7C8D, U+7C90, U+7C95, U+7C97, U+7C9B, U+7C9F, U+7CA1-7CA2, U+7CA4-7CA5, U+7CA8, U+7CAB, U+7CAD-7CAE, U+7CB1-7CB3, U+7CB9, U+7CBD, U+7CC0, U+7CC2, U+7CC5, U+7CCA, U+7CCE, U+7CD2, U+7CD8, U+7CDC, U+7CDE-7CE0, U+7CE2, U+7CE7, U+7CEF, U+7CF2, U+7CF4, U+7CF6, U+7CF8, U+7CFA, U+7CFE, U+7D00, U+7D02, U+7D06, U+7D0A-7D0B, U+7D15, U+7D17-7D18, U+7D1A, U+7D1C, U+7D2C, U+7D2E, U+7D32-7D33, U+7D35, U+7D3F, U+7D43, U+7D45-7D46, U+7D4B, U+7D4E-7D4F, U+7D56, U+7D5B, U+7D62-7D63, U+7D68, U+7D6E, U+7D72-7D73, U+7D79, U+7D7D, U+7D89, U+7D8F, U+7D93, U+7D9B-7D9C, U+7D9F, U+7DA2-7DA3, U+7DAB-7DAC, U+7DAE-7DB1, U+7DB4;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c14.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+7DB5, U+7DB8, U+7DBA-7DBB, U+7DBD-7DBF, U+7DC7, U+7DCB, U+7DD5, U+7DD8, U+7DDC-7DDE, U+7DE1, U+7DE4, U+7DEC, U+7DF2, U+7DFB, U+7E04-7E05, U+7E09-7E0B, U+7E12, U+7E1E-7E1F, U+7E21-7E23, U+7E31-7E32, U+7E35, U+7E37, U+7E39-7E3B, U+7E3D, U+7E43, U+7E46, U+7E4D, U+7E55-7E56, U+7E59-7E5A, U+7E5D-7E5E, U+7E66-7E67, U+7E69-7E6A, U+7E6D, U+7E79, U+7E7B-7E7D, U+7E7F, U+7E82-7E83, U+7E88-7E89, U+7E8C, U+7E8E-7E90, U+7E92-7E94, U+7E96, U+7E9B-7E9C, U+7F36, U+7F38, U+7F3A, U+7F45, U+7F4C-7F4E, U+7F50-7F51, U+7F54-7F55, U+7F58, U+7F5F-7F60, U+7F67-7F6A, U+7F70, U+7F75, U+7F77-7F79, U+7F82-7F83, U+7F85-7F88, U+7F8A, U+7F8C, U+7F94, U+7F9A, U+7F9D-7F9E, U+7FA3, U+7FA8, U+7FAE-7FAF, U+7FB2, U+7FB6, U+7FB8-7FB9, U+7FBD, U+7FC1, U+7FC5-7FC6, U+7FCA, U+7FD4-7FD5, U+7FE0-7FE1, U+7FE6, U+7FE9, U+7FEB, U+7FF0, U+7FF3, U+7FF9, U+7FFB-7FFC, U+8000, U+8004, U+8006, U+800B-800C, U+8012, U+8015, U+8017-8019, U+801C, U+8021, U+8028, U+8036, U+803B, U+803D, U+803F, U+8046, U+804A, U+8052, U+8056, U+8058, U+805A, U+805F, U+8061-8062, U+8068, U+806F-8070, U+8072-8074, U+8076, U+8079, U+807D-807F, U+8084-8087, U+808B, U+8093, U+8096, U+809A, U+80A1, U+80A5, U+80AC-80AD, U+80B1, U+80B4, U+80BA, U+80C4, U+80C6, U+80CE, U+80D6, U+80D9-80DB, U+80DD, U+80E1, U+80E4-80E5, U+80EF, U+80F1, U+80F4, U+80FC, U+8105-8106, U+8109-810A, U+811B, U+8123, U+8129, U+812F, U+8139, U+813E, U+8146, U+814E, U+8150-8151, U+8153, U+815F, U+8165-8166, U+816E, U+8170-8171, U+8174, U+8180, U+8182-8183, U+8188, U+818A, U+8193, U+8195, U+81A3-81A4, U+81A9, U+81B0, U+81B3, U+81B5, U+81B8, U+81BA, U+81BD-81BE, U+81C2, U+81C6, U+81C8-81C9, U+81CD, U+81D1, U+81D8-81DA, U+81DF-81E0, U+81E3, U+81E5, U+81E7, U+81FA-81FC, U+81FE, U+8201-8202, U+8205, U+8207-820A, U+820C-820E, U+8210, U+8212, U+8216, U+8218, U+821B-821C, U+821F, U+8229-822B, U+822E, U+8233, U+8235-8238, U+8240, U+8247, U+8258-825A, U+825D, U+825F, U+8262, U+8264, U+8266, U+8268, U+826A-826B, U+826E, U+8271, U+8276-8278, U+827E, U+828B, U+828D, U+8292, U+8299, U+829D, U+829F, U+82A5-82A6, U+82AB-82AD, U+82AF, U+82B3, U+82B8-82B9, U+82BB, U+82BD, U+82C5, U+82D1-82D4, U+82D7, U+82D9, U+82DB-82DC, U+82DE-82DF, U+82E1, U+82E3, U+82E7, U+82EB, U+82F3-82F4, U+82F9-82FB, U+8302-8306, U+8309, U+830E, U+8316-8318, U+831C, U+8323, U+8328, U+832B, U+832F, U+8331-8332;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c15.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+8334-8335, U+8338-8339, U+8340, U+8345, U+8349-834A, U+834F-8350, U+8358, U+8373, U+8375, U+837B-837C, U+8385, U+8387, U+8389-838A, U+838E, U+8393, U+8396, U+839A, U+839E-83A0, U+83A2, U+83A8, U+83AA-83AB, U+83B1, U+83B5, U+83BD, U+83C1, U+83C5, U+83CA, U+83CE, U+83D3, U+83D6, U+83D8, U+83DC, U+83DF-83E0, U+83E9, U+83EB, U+83EF-83F2, U+83F4, U+83F7, U+83FB, U+83FD, U+8403-8404, U+8407, U+840B-840E, U+8413, U+8420, U+8422, U+8429-842A, U+842C, U+8431, U+8435, U+8438, U+843C, U+8446, U+844E, U+845B, U+8461-8463, U+8466, U+8469, U+846B-846F, U+8471, U+8475, U+8477, U+8479-847A, U+8482, U+8484, U+848B, U+8490, U+8494, U+8499, U+849C, U+849F, U+84A1, U+84AD, U+84B2, U+84B9, U+84BB-84BC, U+84BF, U+84C1, U+84C6, U+84C9-84CB, U+84CD, U+84D0-84D1, U+84D6, U+84D9-84DA, U+84EC, U+84EE, U+84F4, U+84FC, U+84FF-8500, U+8506, U+8511, U+8513-8515, U+8517-8518, U+851A, U+851F, U+8521, U+8526, U+852C-852D, U+8535, U+853D, U+8540-8541, U+8543, U+8548-854B, U+854E, U+8555, U+8557-8558, U+855A, U+8563, U+8568-856A, U+856D, U+8577, U+857E, U+8580, U+8587-8588, U+858A, U+8590-8591, U+8594, U+8597, U+8599, U+859B-859C, U+85A4, U+85A6, U+85A8-85AB, U+85AE-85AF, U+85B9-85BA, U+85C1, U+85C9, U+85CD, U+85CF-85D0, U+85D5, U+85DC-85DD, U+85E4-85E5, U+85E9-85EA, U+85F7, U+85F9-85FB, U+85FE, U+8602, U+8606-8607, U+860A-860B, U+8613, U+8616-8617, U+861A, U+8622, U+862D, U+862F-8630, U+863F, U+864D-864E, U+8650, U+8654-8655, U+865A, U+865C, U+865E-865F, U+8667, U+8671, U+8679, U+867B, U+868A-868C, U+8693, U+8695, U+86A3-86A4, U+86A9-86AB, U+86AF-86B0, U+86B6, U+86C4, U+86C6-86C7, U+86C9, U+86CB, U+86CD-86CE, U+86D4, U+86D9, U+86DB, U+86DE-86DF, U+86E4, U+86E9, U+86EC-86EF, U+86F8-86F9, U+86FB, U+86FE, U+8700, U+8702-8703, U+8706, U+8708-870A, U+870D, U+8711-8712, U+8718, U+871A, U+871C, U+8725, U+8729, U+8734, U+8737, U+873B, U+873F, U+8749, U+874B-874C, U+874E, U+8753, U+8755, U+8757, U+8759, U+875F-8760, U+8763, U+8766, U+8768, U+876A, U+876E, U+8774, U+8776, U+8778, U+877F, U+8782, U+879F, U+87A2, U+87AB, U+87AF, U+87B3, U+87BA-87BB, U+87BD, U+87C0, U+87C4, U+87C6-87C7, U+87CB, U+87D0, U+87D2, U+87E0, U+87EF, U+87F2, U+87F6-87F7, U+87F9, U+87FB, U+87FE, U+8805, U+880D-880F, U+8811, U+8815-8816, U+8821-8823, U+8827, U+8831, U+8836, U+8839, U+883B, U+8842, U+8844, U+8846, U+884D, U+8852, U+8857, U+8859, U+885D-885E, U+8861-8862, U+886B, U+8870, U+8872, U+8875, U+8877, U+887D-887F, U+8881-8882, U+8888, U+888D;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c16.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+8892, U+8897, U+8899, U+889E, U+88A2, U+88A4, U+88AB, U+88AE, U+88B0-88B1, U+88B4-88B5, U+88B7, U+88BF, U+88C2-88C4, U+88D4, U+88D8-88D9, U+88DD, U+88DF, U+88E1, U+88E8, U+88F2-88F4, U+88F9, U+88FC, U+88FE, U+8902, U+8904, U+890A, U+890C, U+8912-8913, U+891D-891E, U+8925, U+892A-892B, U+8936, U+8938, U+893B, U+8941, U+8943-8944, U+894C-894D, U+8956, U+895E, U+8960, U+8964, U+8966, U+896A, U+896D, U+896F, U+8974, U+8977, U+897E, U+8983, U+8987-8988, U+898A, U+8993, U+8997-8998, U+89A1, U+89A6, U+89A9, U+89AC, U+89AF, U+89B2, U+89BA, U+89BD, U+89BF-89C0, U+89DA, U+89DC-89DD, U+89E7, U+89F4, U+89F8, U+8A03, U+8A0A, U+8A0C, U+8A10, U+8A13, U+8A16-8A17, U+8A1B, U+8A1D, U+8A1F, U+8A23, U+8A25, U+8A34, U+8A36, U+8A3B, U+8A41, U+8A46, U+8A48, U+8A50-8A52, U+8A54, U+8A5B, U+8A60, U+8A62-8A63, U+8A69, U+8A6B-8A6E, U+8A7C, U+8A82, U+8A84-8A85, U+8A87, U+8A89, U+8A8C, U+8A91, U+8A9A, U+8AA1, U+8AA3, U+8AA5-8AA6, U+8AA8, U+8AB9, U+8ABC, U+8AC2, U+8AC4, U+8ACC-8ACD, U+8ACF, U+8AD2, U+8AD6, U+8ADA-8ADC, U+8ADE, U+8AE0-8AE2, U+8AE4, U+8AE7, U+8AEB, U+8AED-8AEE, U+8AF1, U+8AF3, U+8AF7-8AF8, U+8AFA, U+8B00-8B02, U+8B04, U+8B07, U+8B0C, U+8B0E, U+8B10, U+8B14, U+8B16-8B17, U+8B19-8B1B, U+8B20-8B21, U+8B26, U+8B28, U+8B2B-8B2C, U+8B33, U+8B39, U+8B3E, U+8B41, U+8B49, U+8B4C, U+8B4E-8B4F, U+8B56, U+8B5A-8B5C, U+8B5F, U+8B6B-8B6C, U+8B6F-8B71, U+8B74, U+8B7D, U+8B80, U+8B83, U+8B8A, U+8B8C, U+8B8E, U+8B90, U+8B92-8B93, U+8B96, U+8B99-8B9A, U+8C3A, U+8C3F, U+8C41, U+8C46, U+8C48, U+8C4A, U+8C4C, U+8C4E, U+8C50, U+8C55, U+8C5A, U+8C62, U+8C6A-8C6C, U+8C78-8C7A, U+8C7C, U+8C82, U+8C85, U+8C89-8C8A, U+8C8C-8C8E, U+8C94, U+8C98, U+8C9D-8C9E, U+8CA1-8CA2, U+8CA7-8CA8, U+8CAA-8CAB, U+8CAD-8CB0, U+8CB2-8CB4, U+8CB6, U+8CB8, U+8CBD, U+8CBF-8CC4, U+8CC8, U+8CCA, U+8CCD-8CCE, U+8CD1, U+8CD3, U+8CDA-8CDC, U+8CDE, U+8CE0, U+8CE2-8CE4, U+8CE6, U+8CED, U+8CFA-8CFB, U+8CFD, U+8D04-8D05, U+8D07, U+8D0A-8D0B, U+8D0D, U+8D0F-8D10, U+8D13-8D14, U+8D16, U+8D66-8D67, U+8D6B, U+8D6D, U+8D71, U+8D73-8D74, U+8D81, U+8D99, U+8DA3, U+8DA8, U+8DBA, U+8DBE, U+8DC2, U+8DCB-8DCC, U+8DCF, U+8DD6, U+8DDA-8DDB, U+8DDF, U+8DE3, U+8DE8, U+8DEA-8DEB, U+8DF5, U+8DFC, U+8DFF, U+8E08-8E0A, U+8E10, U+8E1D-8E1F, U+8E2A, U+8E30, U+8E34-8E35, U+8E42, U+8E44, U+8E47-8E4A, U+8E4C, U+8E50, U+8E55, U+8E59, U+8E5F-8E60, U+8E63-8E64, U+8E72, U+8E74, U+8E76, U+8E7C, U+8E81, U+8E84-8E85, U+8E87, U+8E8A-8E8B, U+8E8D, U+8E91, U+8E93-8E94;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c17.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+8E99, U+8EA1, U+8EAA, U+8EAC, U+8EAF-8EB1, U+8EBE, U+8EC5-8EC6, U+8EC8, U+8ECB-8ECD, U+8ED2, U+8EDB, U+8EE3, U+8EEB, U+8EFB-8EFC, U+8EFE, U+8F05, U+8F0A, U+8F0C, U+8F12-8F15, U+8F19, U+8F1B-8F1D, U+8F1F, U+8F26, U+8F29, U+8F2F, U+8F33, U+8F38-8F39, U+8F3B, U+8F3E-8F3F, U+8F42, U+8F44-8F46, U+8F49, U+8F4C-8F4E, U+8F57, U+8F5C, U+8F5F, U+8F61-8F64, U+8F9B-8F9C, U+8F9F, U+8FA3, U+8FA7-8FA8, U+8FAD-8FB2, U+8FB7, U+8FBB, U+8FC2, U+8FC4-8FC5, U+8FDA, U+8FE2, U+8FE5-8FE6, U+8FE9-8FEA, U+8FED, U+8FEF, U+8FF4, U+8FF8-8FFA, U+9005, U+900B, U+900D-900E, U+9010-9011, U+9013, U+9015-9017, U+9019, U+901D-901E, U+9021-9022, U+9027, U+902E, U+9035-9036, U+9038-9039, U+903C, U+903E, U+9041-9042, U+9047, U+9049, U+904D, U+904F-9052, U+9056, U+9058-9059, U+905C, U+905E, U+9061, U+9065, U+9068, U+906D, U+906F, U+9072, U+9075-9076, U+907C-907D, U+9080-9084, U+9087, U+9089-908A, U+908F, U+9091, U+90A3, U+90A6, U+90A8, U+90AF, U+90B1, U+90B5, U+90B8, U+90C1, U+90CA, U+90DB, U+90E1-90E2, U+90E4, U+90F5, U+90F7, U+9102, U+9112, U+9119, U+912D, U+9130, U+9132, U+9149-914B, U+914E, U+9156, U+9158, U+9163, U+9165, U+9169-916A, U+916C, U+9172-9173, U+9175, U+9177, U+9182, U+9187, U+9189, U+918B, U+918D, U+9190, U+9192, U+9197, U+919C, U+91A2, U+91A4, U+91AA-91AB, U+91AF, U+91B4-91B5, U+91B8, U+91BA, U+91C0-91C1, U+91C6-91C9, U+91CB-91CC, U+91D0, U+91D6, U+91D8, U+91DB-91DC, U+91DF, U+91E1, U+91E3, U+91E7, U+91F5-91F6, U+91FC, U+91FF, U+920D-920E, U+9211, U+9214-9215, U+921E, U+9229, U+922C, U+9234, U+9237, U+923F, U+9245, U+9248-9249, U+924B, U+9250, U+9257, U+925A-925B, U+925E, U+9264, U+9266, U+9271, U+927E, U+9280, U+9283, U+9285, U+9291, U+9293, U+9295-9296, U+9298, U+929A-929C, U+92AD, U+92B7, U+92B9, U+92CF, U+92D2, U+92E4, U+92E9-92EA, U+92ED, U+92F2-92F3, U+92F8, U+92FA, U+92FC, U+9306, U+930F-9310, U+9319-931A, U+9322-9323, U+9326, U+9328, U+932B-932C, U+932E-932F, U+9335, U+933A-933B, U+9344, U+934B, U+934D, U+9354, U+9356, U+935B-935C, U+9360, U+936C, U+936E, U+937C, U+937E, U+938C, U+9394, U+9396-9397, U+939A, U+93A7, U+93AC-93AE, U+93B0, U+93B9, U+93C3, U+93C8, U+93D0-93D1, U+93D6-93D8, U+93DD, U+93E4-93E5, U+93E8, U+9403, U+9407, U+9410, U+9413-9414, U+9418-941A, U+9421, U+942B, U+9435-9436, U+9438, U+943A, U+9441, U+9444, U+9452-9453, U+945A-945B, U+945E, U+9460, U+9462, U+946A, U+9470, U+9475, U+9477, U+947C-947F, U+9481, U+9582-9583, U+9587, U+958A, U+958F;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c18.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+9591, U+9594, U+9596, U+9598-9599, U+95A0, U+95A3-95A5, U+95A7-95A8, U+95AD, U+95B9, U+95BB-95BC, U+95C3, U+95C7, U+95CA, U+95CC-95CD, U+95D4-95D6, U+95D8, U+95DC, U+95E1-95E2, U+95E5, U+961C, U+9621, U+9628, U+962A, U+962E-962F, U+963B, U+963F-9640, U+9642, U+9644, U+964B-964C, U+964F, U+965B-965F, U+9663, U+9665-9666, U+966A, U+966C, U+9672, U+9675-9678, U+967D, U+9685-9686, U+9688, U+968A-968B, U+968D, U+9695, U+9697-9699, U+96A7-96A8, U+96AA, U+96B0-96B2, U+96B4, U+96B6-96B9, U+96BB-96BC, U+96C0-96C1, U+96C4-96C5, U+96C7, U+96C9, U+96CB-96CE, U+96D5-96D6, U+96D9, U+96DB-96DC, U+96E8, U+96EA-96EB, U+96F2, U+96F6-96F7, U+96F9, U+9700, U+9704, U+9706-9708, U+970A, U+970D-970F, U+9711, U+9713, U+9716, U+9719, U+971C, U+971E, U+9724, U+9727, U+972A, U+9730, U+9738-9739, U+973D-973E, U+9742, U+9744, U+9746, U+9748-9749, U+9756, U+975C, U+9760-9761, U+9764, U+9766, U+9768-9769, U+976B, U+976D, U+9771, U+9774, U+9779-977A, U+977C, U+9781, U+9784-9786, U+978B, U+978D, U+978F-9790, U+9798, U+979C, U+97A0, U+97A3, U+97A6, U+97A8, U+97AB, U+97AD, U+97B3-97B4, U+97C3, U+97C6, U+97C8, U+97CB, U+97DC, U+97ED-97EE, U+97F2, U+97F5-97F6, U+97FB, U+9801, U+980C, U+980F, U+9811-9813, U+9817, U+981A, U+9821, U+9824, U+9834, U+9837-9838, U+983D, U+9846, U+984B, U+984F, U+9855, U+985B, U+9867, U+986B, U+986F-9871, U+9873-9874, U+98AA, U+98AF, U+98B1, U+98B6, U+98C3-98C4, U+98C6, U+98DC, U+98E2, U+98E9, U+98EB, U+98ED-98EE, U+98F4, U+98FC-98FD, U+9903, U+9905, U+9909, U+990C, U+9910, U+9912-9914, U+9918, U+991D-991E, U+9920-9921, U+9924, U+992C, U+992E, U+993D-993E, U+9942, U+9945, U+9949, U+994B-994C, U+9950-9952, U+9955, U+9957, U+9997-9998, U+99A5, U+99A8, U+99AC-99AE, U+99B3, U+99BC, U+99C1, U+99C6, U+99C8, U+99D1-99D2, U+99D5, U+99D8, U+99DB, U+99DD, U+99DF, U+99E2, U+99ED-99EE, U+99F1-99F2, U+99F8, U+99FB, U+99FF, U+9A01, U+9A05, U+9A0E-9A0F, U+9A12, U+9A19, U+9A28, U+9A2B, U+9A30, U+9A37, U+9A3E, U+9A40, U+9A42-9A43, U+9A45, U+9A4D, U+9A55, U+9A57, U+9A5A-9A5B, U+9A5F, U+9A62, U+9A64-9A65, U+9A69-9A6B, U+9AAD, U+9AB0, U+9ABC, U+9AC0, U+9AC4, U+9ACF, U+9AD1, U+9AD3-9AD4, U+9ADE-9ADF, U+9AE2-9AE3, U+9AE6, U+9AEB, U+9AEE-9AEF, U+9AF1, U+9AF4, U+9AF7, U+9AFB, U+9B06, U+9B18, U+9B1A, U+9B1F, U+9B22-9B23, U+9B25, U+9B27-9B2A, U+9B2E-9B2F, U+9B31-9B32, U+9B3B-9B3C, U+9B41-9B45, U+9B4D-9B4F, U+9B51, U+9B58, U+9B6F, U+9B74, U+9B83, U+9B8E, U+9B91-9B93;
}
@font-face {
  font-family: "Davide Sans JP";
  src: url("../fonts/noto-sans-jp-v60-c19.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  unicode-range: U+9B96-9B97, U+9B9F-9BA0, U+9BA8, U+9BAA-9BAB, U+9BAD-9BAE, U+9BB4, U+9BB9, U+9BC0, U+9BC6, U+9BC9-9BCA, U+9BCF, U+9BD1-9BD2, U+9BD4, U+9BD6, U+9BDB, U+9BE1-9BE4, U+9BE8, U+9BF0-9BF2, U+9BF5, U+9C04, U+9C06, U+9C08-9C0A, U+9C0C-9C0D, U+9C10, U+9C12-9C15, U+9C1B, U+9C21, U+9C24-9C25, U+9C2D-9C30, U+9C32, U+9C39-9C3B, U+9C3E, U+9C46-9C48, U+9C52, U+9C57, U+9C5A, U+9C60, U+9C67, U+9C76, U+9C78, U+9CE5, U+9CE7, U+9CE9, U+9CEB-9CEC, U+9CF0, U+9CF3, U+9CF6, U+9D03, U+9D06-9D09, U+9D0E, U+9D12, U+9D15, U+9D1B, U+9D1F, U+9D23, U+9D26, U+9D28, U+9D2A-9D2C, U+9D3B, U+9D3E-9D3F, U+9D41, U+9D44, U+9D46, U+9D48, U+9D50-9D51, U+9D59, U+9D5C-9D5E, U+9D60-9D61, U+9D64, U+9D6C, U+9D6F, U+9D72, U+9D7A, U+9D87, U+9D89, U+9D8F, U+9D9A, U+9DA4, U+9DA9, U+9DAB, U+9DAF, U+9DB2, U+9DB4, U+9DB8, U+9DBA-9DBB, U+9DC1-9DC2, U+9DC4, U+9DC6, U+9DCF, U+9DD3, U+9DD9, U+9DE6, U+9DED, U+9DEF, U+9DF2, U+9DF8-9DFA, U+9DFD, U+9E1A-9E1B, U+9E1E, U+9E75, U+9E79, U+9E7D, U+9E7F, U+9E81, U+9E88, U+9E8B-9E8C, U+9E91-9E93, U+9E95, U+9E97, U+9E9D, U+9E9F, U+9EA5, U+9EA9-9EAA, U+9EAD, U+9EB8-9EBA, U+9EBC, U+9EBE-9EBF, U+9ECC-9ED0, U+9ED4, U+9ED8, U+9EDB-9EDE, U+9EE0, U+9EE5, U+9EE8, U+9EEF, U+9EF4, U+9EF6-9EF7, U+9EF9, U+9EFB-9EFD, U+9F07-9F08, U+9F0E, U+9F13, U+9F15, U+9F20-9F21, U+9F2C, U+9F3E, U+9F4A-9F4B, U+9F4E-9F4F, U+9F52, U+9F54, U+9F5F-9F61, U+9F63, U+9F66-9F67, U+9F6A, U+9F6C, U+9F72, U+9F76-9F77, U+9F8D, U+9F95, U+9F9C-9F9D, U+9FA0, U+FF03-FF04, U+FF06, U+FF0A, U+FF0C, U+FF0E, U+FF12, U+FF16-FF17, U+FF1B, U+FF1D, U+FF20-FF5B, U+FF5D, U+FF61-FF9F, U+FFE3;
}

/* ── Reset and base ───────────────────────────────────────────────────── */
* { box-sizing: border-box; }
html {
  max-width: 100%;
  color-scheme: light;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}
body {
  min-height: 100vh;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
  background: var(--bg);
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .38), transparent 220px),
    radial-gradient(1100px 380px at 50% -140px, rgba(45, 79, 146, .11), transparent 72%);
  background-size: auto;
  background-attachment: scroll;
  color: var(--text);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.65;
  letter-spacing: .01em;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3 {
  margin: 0 0 .5em;
  color: var(--text);
  font-family: var(--font-display);
  line-height: 1.25;
  letter-spacing: -.01em;
  text-wrap: balance;
  /* v72(2026-09-07): 和文の見出しは文節で折り返す(対応ブラウザのみ。balance が「医療脱|毛」のように語の途中で切っていた) */
  word-break: auto-phrase;
}
a { color: var(--text-link); text-decoration: none; text-underline-offset: 3px; }
a:not(.btn, .tile, .ui-card--action):hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; -webkit-tap-highlight-color: transparent; }
button, summary, .btn, .tile, .chip, .ui-card--action { touch-action: manipulation; }
code {
  padding: 1px 6px;
  border-radius: 6px;
  background: var(--brand-soft);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: .92em;
}
::selection { background: rgba(45, 79, 146, .18); }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--brand-electric);
  outline-offset: 3px;
  border-radius: 7px;
}

/* v60: ヘッダーは紺グラデ地から白地 72px へ変わった(design-brief §4)ので、
 * 白いフォーカスリングの対象からは外した(白地に白いリングは見えない)。
 * 紺地のまま残る .surface-hero にはこの契約を残す。ヘッダー自身は
 * 既定の :focus-visible(紺のリング、上で定義済み)がそのまま白地で 3:1 を満たす。 */
.surface-hero :where(a, button, summary, [tabindex]):focus-visible {
  outline-color: #ffffff;
  box-shadow: 0 0 0 6px rgba(11, 23, 48, .92);
}

.skip-link {
  position: fixed;
  z-index: 500;
  top: var(--space-2);
  left: var(--space-3);
  padding: 9px 14px;
  transform: translateY(-160%);
  border: 2px solid var(--accent);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--navy-800);
  box-shadow: var(--shadow-lg);
  font-weight: 800;
  transition: transform .16s var(--ease);
}
/* 画面外へ逃がしている間は影も消す。transform は影を動かすが、影は要素の外側に
 * 描かれるので、-160% ずらしても大きなぼかし(--shadow-lg)の裾だけが左上に残り、
 * 全ページの左上に灰色の染みとして出ていた。 */
.skip-link:not(:focus) { box-shadow: none; }
.skip-link:focus { transform: translateY(0); }

/* ── Layout primitives ───────────────────────────────────────────────── */
.container { max-width: var(--page-max); width: 100%; margin: 0 auto; padding: 18px var(--page-gutter) 40px; }
.container.narrow { max-width: var(--content-narrow); }
/* 業務画面(一覧・表)は広い面を使う。 */
.container.work { max-width: var(--content-work); }
/* ヘッダーも本文と同じ幅に寄せる(ヘッダーだけ 980px 基準で残ると
 * 戻る矢印が本文カードより 150px 以上内側に浮く)。 */
body:has(.container.narrow) { --page-max: var(--content-narrow); }
body:has(.container.work) { --page-max: var(--content-work); }
.stack > * + * { margin-top: var(--space-4); }
.row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.row.between { justify-content: space-between; }
.grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }

/* ── Header and global notices ───────────────────────────────────────── */
/* v60(2026-09-04): 発注者却下(「デザイン、アニメーション、全てにおいて失格」「ダサすぎる」)を
 * 受けた市場再設計(research/design-brief.md §4 共通ルール)。紺グラデの帯 + 左「←」四角ボタン
 * という管理画面の言い方をやめ、市場11サイト実測どおりの白地 72px ヘッダーに作り直した。
 * 左: 文字ロゴ「ダビデクリニック」(明朝)+ テキストリンク「機能一覧」。どちらも href="/jewel/" で、
 * 画面ごとに戻り先が変わる「←」を廃止し、常にトップへ1本化した。
 * 中央: 画面ごとの見出し(hd-mark + hd-title-text、小さく静かに)。本文に自前の大見出しを
 * 持つ画面は components.js 呼び出し側が titleTag:'p' を渡し、1ページに h1 が2つ並ぶのを避ける。
 * 右: 呼び出し側が渡した主CTA1つ(省略時は無し)。 */
/* v60(2026-09-04、コーディネーター裁定): 内側の並びはページの --page-max ではなく、
 * 常に v60 共通コンテナ幅(--container、1200px固定)に揃える。以前は自分の padding を
 * ページの --page-max から calc() していたため、--page-max がページごとに違う
 * (quiz 920px・skin narrow 660px 等)と文字ロゴの位置までページごとにずれていた
 * (1280px 実測で x=196 や x=256 から始まる)。ヘッダーはどのページでも同じ場所に
 * 揃うべき部品なので、外側の .app-header は地色・罫線・粘着だけを持ち、内側の
 * .app-header-inner が独立して幅・余白を決める(.v60-shell と同じ考え方だが、
 * 参照するのは常に固定の --container で、ページの --page-max は見ない)。 */
.app-header {
  position: sticky;
  z-index: 50;
  top: 0;
  display: flex;
  align-items: center;
  min-height: var(--header-height);
  overflow: hidden;
  background: var(--paper);
  color: var(--ink);
  border-bottom: 1px solid var(--line-1);
}
.app-header-inner {
  display: flex;
  align-items: center;
  gap: 22px;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter-sp);
}
@media (min-width: 640px) {
  .app-header-inner { padding-inline: var(--gutter); }
}
/* ヘッダーは components.js が読み込み後に差し込む。差し込む前の #app-header は
 * 高さ0だったので、差し込んだ瞬間に本文がヘッダーの高さぶん押し下げられ、
 * 全画面の初回表示のずれ(CLS)になっていた。差し込む前だけ同じ高さを予約する。
 * 予約値は上の .app-header の min-height と揃えること(480px以下は56px)。 */
:root #app-header:empty { display: block; min-height: var(--header-height); }
/* :root を足しているのは、画面別 CSS が同じ強さで min-height を固定していると
 * 狭い画面の予約(56px)が上書きされて飛びが残るため。 */
:root #app-header:empty::before { display: block; width: 0; height: 44px; content: ""; }
/* v94 U-05(2026-09-18): 設置先へ貼る写し(/embed/bridge.css を読む文書)では、その
 * bridge.css が .app-header を display:none にする。差し込む前にヘッダーの高さを予約すると、
 * 差し込んだ瞬間に本文がその分だけ跳ね上がり、これが初回表示のずれになっていた
 * (実測 /embed/qa-exam?mode=exam の 1280×800 で CLS 0.1935、ずれはこの 1 回だけ)。
 * 写しでは「ヘッダーは出ない」が正しいので、予約も 0 にする。
 * 目印に文書の先頭で読む bridge.css の <link> を使うのは、data-davide-embed を付ける
 * bridge.js が defer で動き、初回の描画に間に合わないことがあるため。 */
:root:has(head link[href*="embed/bridge.css"]) #app-header:empty {
  min-height: 0;
  border-bottom: 0;
}
:root:has(head link[href*="embed/bridge.css"]) #app-header:empty::before { height: 0; }
/* 実際のヘッダーも、写しでは初めから出さない。components.js は <head> の中で同期に動くので
 * 写しでもヘッダーを差し込む。それを隠す bridge.css の指定が効くのは、defer の bridge.js が
 * data-davide-embed を付けた後で、初回の描画には間に合わない(実測 1280×800 で 72px ぶん
 * 本文が跳ね上がり CLS 0.1118〜0.1940)。落ち着いた後は bridge.css が同じ指定を当てるので
 * 見た目・座標は前後で同値。 */
:root:has(head link[href*="embed/bridge.css"]) .app-header { display: none; }
/* 同じ理由で、本文の上余白と「配信元へ出ていく導線」の有無も初回から写しの値にする
 * (bridge.css の html[data-davide-embed="1"] .container / .qa-site-home-link と同じ値)。 */
:root:has(head link[href*="embed/bridge.css"]) .container { padding-top: 14px; }
:root:has(head link[href*="embed/bridge.css"]) .qa-site-home-link { display: none; }
/* v102: :has() の無い端末(iOS 15.0〜15.3)では上の 5 つの規則が丸ごと効かず、v94 U-05 で直した
 * 初回表示のずれが戻る。同じ条件(<head> に bridge.css の <link> がある)を api.js が見て <html> に
 * 付ける印(data-embed-copy="1")でも、同じ指定を当てる。:has() と 1 つの規則にまとめない
 * (読めないセレクターが 1 つでも混ざると、その規則ごと捨てられるため)。値は上と同じなので、
 * :has() のある端末の見た目は変わらない。 */
:root[data-embed-copy="1"] #app-header:empty {
  min-height: 0;
  border-bottom: 0;
}
:root[data-embed-copy="1"] #app-header:empty::before { height: 0; }
:root[data-embed-copy="1"] .app-header { display: none; }
:root[data-embed-copy="1"] .container { padding-top: 14px; }
:root[data-embed-copy="1"] .qa-site-home-link { display: none; }

.app-header .hd-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 44px;
  color: var(--navy-700);
  text-decoration: none;
}
.app-header .hd-brand-word {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: .01em;
  white-space: nowrap;
}
.app-header .hd-brand:hover, .app-header .hd-brand:focus-visible { text-decoration: none; }
.app-header .hd-brand:hover .hd-brand-word, .app-header .hd-brand:focus-visible .hd-brand-word { color: var(--navy-900); }

.app-header .hd-nav-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 44px;
  padding: 4px 1px;
  border-bottom: 2px solid transparent;
  color: var(--ink-2);
  font-size: 14px;
  font-weight: 700;
  transition: color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out);
}
.app-header .hd-nav-link:hover, .app-header .hd-nav-link:focus-visible {
  border-bottom-color: var(--gold-line);
  color: var(--navy-700);
  text-decoration: none;
}

.app-header .hd-title {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid var(--line-1);
  overflow: hidden;
  color: var(--ink-2);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}
.app-header .hd-mark {
  display: inline-flex;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: var(--navy-100);
  color: var(--navy-700);
  font: 800 var(--fs-micro)/1 var(--font-sans);
  letter-spacing: .06em;
}
.app-header .hd-title-stack { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.app-header .hd-title-text { overflow: hidden; text-overflow: ellipsis; }
.app-header .hd-sub { display: block; color: var(--ink-2); font-size: var(--fs-micro); font-weight: 700; letter-spacing: .1em; }
.app-header .hd-user {
  max-width: 190px;
  padding: 6px 10px;
  overflow: hidden;
  border: 1px solid var(--line-1);
  border-radius: 8px;
  background: var(--navy-100);
  color: var(--navy-700);
  font-size: 13px;
  font-weight: 700;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.app-header button.hd-logout, .app-header .hd-cta { flex: 0 0 auto; margin-left: auto; }
.app-header button.hd-logout {
  min-height: 44px;
  padding: 8px 13px;
  cursor: pointer;
  border: 1px solid var(--line-1);
  border-radius: 9px;
  background: var(--navy-100);
  color: var(--navy-700);
  font: 700 13px var(--font);
  transition: background .15s, border-color .15s;
}
/* 2026-09-15(発注者「なぞのアニメーション…意味が分からない」): hover の持ち上がり
   transform を削除(押下時のフィードバックは無く、恒常的なUI要素なので影響なし)。 */
.app-header button.hd-logout:hover { border-color: var(--navy-700); background: var(--navy-700); color: #fff; }
/* 呼び出し側が cta:{label,href|onClick} を渡したときだけ描く主CTA。--r-pill は
 * v60 の共通トークン(design-brief §3-5「ボタンはピル」)。 */
.app-header .hd-cta { min-height: 44px; padding: 10px 24px; border-radius: var(--r-pill); font-size: 13px; }


/* ── Components ──────────────────────────────────────────────────────── */
.card, .surface, .ui-card {
  position: relative;
  border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--line);
  /* 2026-09-04(v60・納品前検査): 2重影は廃止(design-brief §9-7)。区切りは 1px 罫と地色差で出す。 */
  box-shadow: none;
}
.card { padding: 20px; }
.card.pad-lg { padding: 28px; }
/* 2026-09-15: hover の持ち上がり transform を削除(発注者「なぞのアニメーション」)。 */
.card.hover, .ui-card--action { transition: box-shadow .18s var(--ease), border-color .18s; }
.card.hover:hover, .ui-card--action:hover { border-color: var(--navy-400); box-shadow: var(--shadow-hover); }
.card-title { display: flex; align-items: center; gap: var(--space-2); margin-bottom: 14px; color: var(--text); font-size: 16px; font-weight: 850; letter-spacing: -.01em; }
.ui-card--action { display: block; color: var(--text); text-decoration: none; }

.tile {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-sm);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s;
}
.tile::before { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; content: ""; background: var(--grad-gold); opacity: 0; transition: opacity .18s; }
/* 2026-09-15: hover の持ち上がり・矢印スライドの transform を削除(発注者「なぞのアニメーション」)。
   :active の押下フィードバックは残す(操作への反応、design-brief の対象外)。 */
.tile:hover { border-color: rgba(185, 148, 78, .48); box-shadow: var(--shadow-hover); text-decoration: none; }
.tile:hover::before { opacity: 1; }
.tile:hover .tile-arrow { color: var(--brand); }
.tile:active { transform: scale(.99); }
.tile .tile-icon { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid rgba(45, 79, 146, .13); border-radius: 14px; background: linear-gradient(145deg, var(--surface), var(--brand-soft)); color: var(--brand); box-shadow: inset 0 0 0 1px rgba(255,255,255,.72); font-size: 13px; font-weight: 850; letter-spacing: .04em; }
.tile .tile-icon svg, .ui-icon { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tile .tile-body { display: grid; flex: 1; min-width: 0; gap: 3px; }
.tile .tile-name { display: block; font-size: 15px; font-weight: 850; letter-spacing: .005em; line-height: 1.35; }
.tile .tile-desc { display: block; margin: 0; color: var(--muted); font-size: var(--fs-xs); line-height: 1.55; }
.tile .tile-meta { display: inline-flex; width: max-content; max-width: 100%; margin-top: 3px; padding: 3px 9px; border-radius: 999px; background: var(--surface-2); color: var(--muted); font-size: var(--fs-micro); font-weight: 800; letter-spacing: .03em; }
.tile .tile-arrow { color: var(--icon-quiet); font-size: 20px; transition: color .18s; }

.btn, .btn--primary, .btn--secondary, .btn--quiet, .btn--danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: var(--control-height);
  padding: 12px 22px;
  cursor: pointer;
  border: 1px solid var(--navy-700);
  /* 2026-09-04(v60・納品前検査): 主操作はピル、影は既定なし(design-brief §3-4/§3-5)。
     v60 の .v60-btn と同じ見え方に旧 .btn も揃える(両方が同じ画面に出るため)。 */
  border-radius: var(--r-pill);
  background: var(--action-primary);
  color: var(--action-primary-foreground);
  box-shadow: none;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0;
  text-decoration: none;
  transition: transform .12s var(--ease), box-shadow .15s, background .15s, border-color .15s;
}
/* 2026-09-15: hover の持ち上がり transform を削除(発注者「なぞのアニメーション」)。
   :active の押下フィードバック(次行)は残すため、transition の transform 成分は維持する。 */
.btn:hover, .btn--primary:hover { border-color: var(--action-primary-hover); background: var(--action-primary-hover); box-shadow: var(--shadow-float); color: var(--action-primary-foreground); text-decoration: none; }
.btn:active, .btn--primary:active, .btn--secondary:active, .btn--quiet:active, .btn--danger:active { transform: translateY(0) scale(.98); }
.btn.block { width: 100%; }
.btn.sm { min-height: 44px; padding: 10px 15px; font-size: 13px; }
.btn.lg { min-height: 52px; padding: 15px 26px; border-radius: var(--r-pill); font-size: 16px; }
.btn.ghost, .btn--secondary { border-color: var(--line-control); background: var(--action-secondary); color: var(--action-secondary-text); box-shadow: none; }
.btn.ghost:hover, .btn--secondary:hover { border-color: var(--navy-500); background: var(--brand-softer); color: var(--action-secondary-text); filter: none; }
.btn--quiet { border-color: transparent; background: transparent; color: var(--text-link); box-shadow: none; }
.btn--quiet:hover { background: var(--brand-soft); color: var(--text-link); }
.btn.err, .btn--danger { border-color: #bd3444; background: #bd3444; }
.btn.err:hover, .btn--danger:hover { border-color: #a52737; background: #a52737; }
.btn.ok { border-color: #087c56; background: #087c56; }
.btn.warn { border-color: #a05c0a; background: #a05c0a; }
/* .accent(金)は「特別扱いの1手」専用。各画面の通常の主操作は紺(.btn 既定)に統一する。
 * 同じ役割のボタンが画面ごとに紺・金で割れると、利用者は色の意味を学習できない。 */
.btn.accent { border-color: #a5823d; background: var(--grad-gold); color: #211707; box-shadow: 0 4px 12px rgba(125, 93, 37, .20); }
.btn.accent:hover { border-color: #7d5d25; background: linear-gradient(135deg, #d4b677, #ad873f); color: #211707; }

/* 押せない状態も文字を読ませる。opacity で要素ごと薄めると、紺地の白文字が地と一緒に
 * 沈んで実測 2.17:1 まで落ちる(AA 4.5:1 未満)。面と文字をトークンで差し替え、
 * 「押せない」ことは彩度と枠線の弱さで示しつつ、文字と地の関係は保つ。
 * 変種(.ghost/.err/.ok/.warn/.accent/--quiet)は同じ詳細度で後に並ぶため、
 * この一群は必ず変種の後ろに置く。前に置くと変種の地色が勝って無効化される。
 * :hover も併せて上書きしないと .btn:hover の紺が戻る。 */
.btn:disabled, .btn--primary:disabled, .btn--secondary:disabled, .btn--quiet:disabled, .btn--danger:disabled,
.btn:disabled:hover, .btn--primary:disabled:hover, .btn--secondary:disabled:hover, .btn--quiet:disabled:hover, .btn--danger:disabled:hover {
  cursor: default;
  opacity: 1;
  filter: none;
  border-color: var(--line-strong);
  background: var(--surface-3);
  color: var(--muted-strong);
  box-shadow: none;
  transform: none;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 44px;
  padding: 10px 16px;
  cursor: pointer;
  border: 1px solid var(--line-control);
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  box-shadow: none;
  font-family: var(--font);
  font-size: 13px;
  transition: border-color .15s, background .15s, transform .1s, box-shadow .15s;
}
/* v82(2a、発注者2026-09-15指摘): hoverはbackgroundを変えないので.chip.active
   (直下)とは元々別の見た目。持ち上がりのtransformは削除し(hover: hover) and
   (pointer: fine)で囲む(タッチ端末では最初から効かせない)。 */
@media (hover: hover) and (pointer: fine) {
  .chip:hover { border-color: var(--navy-400); box-shadow: var(--shadow-sm); }
}
.chip.active { border-color: var(--brand-electric); background: var(--brand-soft); color: var(--text-link); box-shadow: inset 0 -2px var(--brand-electric); font-weight: 800; }

.badge { display: inline-flex; align-items: center; gap: 4px; padding: 4px 11px; border: 1px solid transparent; border-radius: 999px; font-size: var(--fs-2xs); font-weight: 800; letter-spacing: .02em; line-height: 1.35; }
.badge.ok { background: var(--ok-soft); color: var(--text-status-success); }
.badge.err { background: var(--err-soft); color: var(--text-status-danger); }
.badge.warn { background: var(--warn-soft); color: var(--text-status-warning); }
.badge.info { background: var(--info-soft); color: var(--text-link); }
.badge.accent { background: var(--accent-soft); color: var(--accent-strong); }
.badge.muted { border-color: var(--line); background: var(--surface-2); color: var(--muted); }

/* ラベルも「押すと入力欄へフォーカスが移る」操作要素。実測で高さ 21.4px しかなかったため、
   WCAG 2.5.8 の最小 24px を満たす高さを確保する(入力欄本体は 48px あるので44pxまでは求めない)。 */
label.fld { display: flex; align-items: flex-end; min-height: 24px; margin-bottom: 6px; color: var(--navy-700); font-size: 13px; font-weight: 800; letter-spacing: .005em; }
input[type=text], input[type=number], input[type=password], input[type=date], input[type=search], input[type=email], select, textarea {
  width: 100%;
  min-height: var(--control-height);
  padding: 12px 13px;
  border: 1px solid var(--line-control);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
  box-shadow: inset 0 1px 1px rgba(5, 12, 18, .03);
  font-family: var(--font);
  font-size: 15px;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
input:hover, select:hover, textarea:hover { border-color: var(--navy-400); }
input:focus, select:focus, textarea:focus { border-color: var(--brand-electric); background: var(--surface); box-shadow: var(--focus-ring); outline: none; }
textarea { line-height: 1.6; resize: vertical; }
input::placeholder, textarea::placeholder { color: #616a7d; }

/* Details are deliberately composable: retain legacy class and add ui-disclosure. */
.ui-disclosure {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.ui-disclosure > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 56px;
  padding: 10px 14px;
  cursor: pointer;
  list-style: none;
}
.ui-disclosure > summary::-webkit-details-marker { display: none; }
.ui-disclosure > summary:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ui-disclosure[open] > summary { border-bottom: 1px solid var(--line); background: var(--brand-softer); }
.ui-disclosure__body { padding: var(--space-3); background: var(--bg); }
.ui-disclosure__toggle { color: var(--text-link); font-size: var(--fs-sm); font-weight: 800; white-space: nowrap; }

.ui-stepper {
  display: grid;
  grid-template-columns: repeat(var(--stepper-count, 3), minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 var(--space-3);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--line);
  list-style: none;
}
.ui-stepper > * { min-width: 0; padding: 9px 10px; background: var(--surface); }
.ui-stepper .is-current { background: var(--brand-softer); box-shadow: inset 0 2px 0 var(--accent); }
.ui-stepper .is-complete { background: var(--ok-soft); box-shadow: inset 0 2px 0 var(--ok); }

.ui-priority {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand-electric);
  border-radius: var(--radius-sm);
  background: var(--surface-2);
}
.ui-priority--success, .ui-card--status-success { border-color: var(--ok); background: var(--ok-soft); }
.ui-priority--warning, .ui-card--status-warning { border-color: var(--warn); background: var(--warn-soft); }
.ui-priority--danger, .ui-card--status-danger { border-color: var(--err); background: var(--err-soft); }

.ui-progress, .q-progress {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--line);
  box-shadow: inset 0 1px 2px rgba(5, 12, 18, .08);
}
.ui-progress > *, .q-progress > div { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--navy-500), var(--navy-400)); box-shadow: 0 0 8px rgba(45, 79, 146, .22); transition: width .4s var(--ease); }

/* ── Chat, quiz, metrics and tables ─────────────────────────────────── */
.chat-log { display: flex; flex-direction: column; gap: 10px; padding: 4px 0; }
.bubble { max-width: 88%; padding: 12px 15px; border-radius: 18px; box-shadow: var(--shadow-sm); font-size: 14px; white-space: pre-wrap; animation: fade-up .25s var(--ease); }
.bubble.user { align-self: flex-end; border-bottom-right-radius: 5px; background: var(--grad-brand); color: var(--text-on-dark); }
.bubble.bot { align-self: flex-start; border: 1px solid var(--line); border-bottom-left-radius: 5px; background: linear-gradient(180deg, var(--surface), #fbfcff); box-shadow: var(--shadow); }
.bubble.bot .bb-label { margin-bottom: 5px; color: var(--text-link); font-size: var(--fs-2xs); font-weight: 800; letter-spacing: .02em; }
.chat-input-bar { position: sticky; bottom: 0; display: flex; align-items: flex-end; gap: var(--space-2); padding: 12px 0 10px; background: linear-gradient(0deg, var(--bg) 72%, transparent); }
.chat-input-bar textarea, .chat-input-bar input { flex: 1; }

.q-option {
  display: block;
  width: 100%;
  padding: 15px;
  cursor: pointer;
  border: 2px solid var(--line-control);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text);
  box-shadow: var(--shadow-sm);
  font-family: var(--font);
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  transition: border-color .12s, background .12s, transform .1s, box-shadow .15s;
}
/* v82(2a): 基底の.q-option定義。/qa/(qa.css)・/skin/(skin.css)ともこれを土台に
   上書きしているが、この行のtransformはどちらの上書きにも打ち消されず素通りしていた
   (発注者2026-09-15指摘の実測で判明: 出題画面のhoverでtransform: translateY(-1px)が
   残っていた)。持ち上がりのtransformを削除し(hover: hover) and (pointer: fine)で囲む。
   background は元々未指定(選択中と紛らわしくなる塗りの変更はしていない)。 */
@media (hover: hover) and (pointer: fine) {
  .q-option:not(:disabled):hover { border-color: var(--brand); box-shadow: var(--shadow); }
}
.q-option:not(:disabled):active { transform: scale(.99); }
.q-option.correct { border-color: var(--ok); background: var(--ok-soft); animation: pop .3s; }
/* 2026-09-15: 300ms 上限(操作への反応)に合わせ .35s→.3s。 */
.q-option.wrong { border-color: var(--err); background: var(--err-soft); animation: shake .3s; }
.q-option:disabled { cursor: default; opacity: .9; }
.q-hearts { font-size: 18px; letter-spacing: 2px; }
.q-combo { color: var(--text-status-warning); font-weight: 800; }
.q-feedback { padding: 15px; border-radius: var(--radius); font-size: 14px; animation: fade-up .25s var(--ease); }
.q-feedback.ok { border: 1.5px solid var(--ok); background: var(--ok-soft); }
.q-feedback.ng { border: 1.5px solid var(--err); background: var(--err-soft); }
.q-score-big { background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-size: 52px; font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: -.04em; text-align: center; }

.tbl { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.tbl th { padding: 12px 11px; border-bottom: 1px solid var(--line-strong); background: #f4f7f8; color: #414d57; font-size: var(--fs-2xs); font-weight: 800; letter-spacing: .055em; text-align: left; white-space: nowrap; }
.tbl td { padding: 13px 11px; border-bottom: 1px solid var(--line); }
.tbl tr:last-child td { border-bottom: none; }
.tbl.zebra tbody tr:nth-child(even) { background: var(--surface-2); }
.tbl tbody tr { transition: background .14s; }
.tbl tbody tr:hover { background: #f0f8fb; }
.tbl-wrap { overflow-x: auto; border-radius: var(--radius-sm); scrollbar-color: #879ba6 transparent; scrollbar-width: thin; }

.stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; }
.stat {
  position: relative;
  min-height: 110px;
  padding: 17px 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.stat::after { position: absolute; top: 0; bottom: 0; left: 0; width: 4px; content: ""; background: var(--brand-electric); }
.stat .stat-num { font-size: 30px; font-weight: 850; font-variant-numeric: tabular-nums; letter-spacing: -.04em; line-height: 1.1; }
.stat .stat-label { margin-top: 5px; color: var(--muted); font-size: var(--fs-sm); font-weight: 650; }
.stat.accent { border-color: #dce69a; background: #f9fbe8; }
.stat.accent .stat-num { color: var(--accent-strong); }

.skeleton { min-height: 14px; border-radius: 8px; background: linear-gradient(100deg, var(--surface-2) 30%, #eef1f7 50%, var(--surface-2) 70%); background-size: 200% 100%; animation: shimmer 1.3s infinite linear; }
.spinner { display: inline-block; width: 20px; height: 20px; border: 2.5px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; vertical-align: middle; animation: spin .7s linear infinite; }
.spinner.dark { border-color: rgba(26, 48, 94, .25); border-top-color: var(--brand); }

/* ── States and utility components ───────────────────────────────────── */
.section-label { display: flex; align-items: center; gap: 8px; margin: 20px 2px 8px; color: var(--muted-strong); font-size: var(--fs-xs); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.section-label::before { width: 18px; height: 2px; border-radius: 999px; background: var(--accent); content: ""; }
.section-label::after { content: none; }
.muted { color: var(--muted); font-size: var(--fs-sm); }
.center { text-align: center; }
.divider { margin: var(--space-4) 0; border: 0; border-top: 1px solid var(--line); }
.divider-fade { height: 1px; margin: 18px 0; border: 0; background: linear-gradient(90deg, transparent, var(--line-strong), transparent); }
.disclaimer { padding: 10px 13px; border: 1px solid #ebcf8b; border-radius: var(--radius-sm); background: #fff9e9; color: #654814; font-size: var(--fs-sm); line-height: 1.65; }
.empty { padding: 32px 14px; color: var(--muted); font-size: 14px; text-align: center; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

#toast-area { position: fixed; z-index: 200; top: var(--toast-top, calc(var(--header-height) + var(--space-2))); left: 50%; display: flex; flex-direction: column; gap: var(--space-2); width: min(440px, 92vw); pointer-events: none; transform: translateX(-50%); }
#toast-area .toast { pointer-events: auto; }
.toast { padding: 13px 16px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 12px; background: var(--navy-800); color: var(--text-on-dark); box-shadow: var(--shadow-lg); font-size: 14px; font-weight: 600; animation: fade-up .25s var(--ease); }
/* トーストの文字は白 14px / 600 なので大きい文字扱いにならず、地色は全カラーストップで
 * 4.5:1 を満たす必要がある。旧値は明端が #23b97c=2.53:1 / #e0616d=3.44:1 / #b8790f=3.63:1 で不足。
 * 明端 on-dark 5.35:1 / 4.88:1 / 5.86:1、暗端 6.55:1 / 6.69:1 / 7.19:1(白文字で実測)。 */
.toast.ok { background: linear-gradient(135deg, #0f7a52, #0b6b47); }
.toast.err { background: linear-gradient(135deg, #c8404e, #a82f3c); }
.toast.warn { background: linear-gradient(135deg, #8c5a0b, #7a4e08); }
/* 本文が2行以上のときも、閉じるボタンが文字に重ならないよう横並びにする。 */
.toast.has-close { display: flex; align-items: flex-start; gap: var(--space-3); }
.toast .toast-text { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.toast .toast-close {
  flex: 0 0 auto; width: 30px; height: 30px; margin: -4px -6px -4px 0; padding: 0; cursor: pointer;
  border: 1px solid rgba(255, 255, 255, .32); border-radius: 8px; background: rgba(255, 255, 255, .12);
  color: inherit; font-size: 15px; line-height: 1;
}
.toast .toast-close:hover { background: rgba(255, 255, 255, .24); }

.modal-back { position: fixed; z-index: 150; inset: 0; display: flex; align-items: center; justify-content: center; padding: var(--space-4); background: rgba(11, 23, 48, .62); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); animation: fade-up .2s var(--ease); }
.modal { width: min(580px, 100%); max-height: 88vh; padding: 22px; overflow-y: auto; border: 1px solid rgba(255, 255, 255, .62); border-radius: var(--radius-lg); background: linear-gradient(180deg, var(--surface), #fafcff); box-shadow: var(--shadow-lg); }
.modal-close-row { display: flex; justify-content: flex-end; margin-bottom: var(--space-2); }

.eyebrow { color: var(--accent-strong); font-size: var(--fs-micro); font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.action-strip { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 11px 13px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255, 255, 255, .76); }
.action-strip > :first-child { min-width: 0; }
.surface-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.surface-heading h2, .surface-heading h3 { margin: 0; }
.kbd-hint { color: var(--muted); font-size: var(--fs-2xs); }

.brand-wordmark { display: inline-flex; flex-direction: column; width: max-content; color: var(--ink-900); font-family: var(--font-brand); font-size: 30px; font-weight: 900; letter-spacing: -.02em; line-height: 1; }
.brand-wordmark small { margin-top: 6px; color: var(--brand); font: 800 var(--fs-micro)/1 var(--font-display); letter-spacing: .24em; }
.page-kicker, .panel-kicker, .metric-kicker { color: var(--text-link); font-size: var(--fs-micro); font-weight: 850; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.page-intro { display: grid; gap: 7px; margin-bottom: 18px; }
.page-intro h2 { margin: 0; font-size: clamp(21px, 3vw, 30px); }
.page-intro p { max-width: 66ch; margin: 0; color: var(--muted); }
.surface-hero { position: relative; isolation: isolate; overflow: hidden; border: 1px solid rgba(255, 255, 255, .10); border-radius: var(--radius-lg); background: var(--grad-hero); color: var(--text-on-dark); box-shadow: var(--shadow-lg); }
.surface-hero::after { position: absolute; z-index: -1; top: -240px; right: -190px; width: 420px; height: 420px; border: 70px solid rgba(63, 102, 173, .10); border-radius: 50%; content: ""; box-shadow: 0 0 0 34px rgba(185, 148, 78, .06); }
.number-mark, .mono-mark { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 8px; border: 1px solid rgba(45, 79, 146, .18); border-radius: 9px; background: var(--brand-soft); color: var(--brand); font: 850 var(--fs-micro)/1 var(--font-display); letter-spacing: .08em; }
.topline { height: 3px; border-radius: 999px; background: linear-gradient(90deg, var(--brand) 0 86%, var(--accent) 86% 100%); }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 3px rgba(100, 113, 125, .10); }
.status-dot.ok { background: var(--ok); box-shadow: 0 0 0 3px rgba(12, 154, 105, .12); }
.status-dot.warn { background: var(--warn); box-shadow: 0 0 0 3px rgba(199, 123, 22, .12); }
.status-dot.err { background: var(--err); box-shadow: 0 0 0 3px rgba(213, 68, 85, .12); }
.metric-value { color: var(--ink-900); font-family: var(--font-display); font-size: clamp(28px, 3.5vw, 38px); font-weight: 850; font-variant-numeric: tabular-nums; letter-spacing: -.045em; line-height: 1; }
.metric-note { margin-top: 6px; color: var(--muted); font-size: var(--fs-xs); line-height: 1.55; }
/* 2026-09-15: 250ms 上限(画面の切替フェード)に合わせ .32s→.25s。 */
.fade-up { animation: fade-up .25s var(--ease); }

/* ── Shared layout / text utilities (v45) ────────────────────────────
 * 追加のみ。既存クラスの意味は変えない。各画面CSSはこれを組み合わせて使い、
 * 同じ間隔・同じ折返し規則を各ページで書き直さないこと。 */
.stack-xs > * + * { margin-top: var(--space-1); }
.stack-sm > * + * { margin-top: var(--space-2); }
.stack-md > * + * { margin-top: var(--space-4); }
.stack-lg > * + * { margin-top: var(--space-6); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.cluster-sm { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.cluster-lg { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); }
.cluster-between { justify-content: space-between; }
.cluster-end { justify-content: flex-end; }
.cluster-baseline { align-items: baseline; }
/* 読みやすい最大行長。日本語は全角なので 34em ≒ 34文字前後で折り返す。 */
.measure { max-width: 34em; }
.measure-wide { max-width: 46em; }
.truncate { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* 横に長い表・コード・図はページ全体ではなく、この箱の中だけを横スクロールさせる。 */
.scroll-x { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
  margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important;
  white-space: nowrap !important; border: 0 !important;
}
/* 日本語の禁則。「必要なもの / だけ」のような語中改行と、行頭の句読点・閉じ括弧を避ける。 */
.jp-text { line-break: strict; overflow-wrap: anywhere; word-break: normal; }
/* 文節改行が使える環境では anywhere を外す(語中で切れるため)。
 * ただし break-word は残す。外すと、長いURLや英数字の連続だけが枠からはみ出す。 */
@supports (word-break: auto-phrase) { .jp-text { word-break: auto-phrase; overflow-wrap: break-word; } }
.nowrap { white-space: nowrap; }
.tabular { font-variant-numeric: tabular-nums; }

/* 読み込み・送信中。色だけでなく文字と aria-busy でも状態が分かるようにする。 */
[aria-busy="true"] { cursor: progress; }
.btn[data-loading="true"], .btn--primary[data-loading="true"], .btn--secondary[data-loading="true"] {
  cursor: progress; pointer-events: none; opacity: .82;
}
.btn[data-loading="true"] .ui-spin, .btn--primary[data-loading="true"] .ui-spin, .btn--secondary[data-loading="true"] .ui-spin {
  display: inline-block; flex: 0 0 auto; width: 15px; height: 15px; border: 2px solid currentColor;
  border-top-color: transparent; border-radius: 50%; opacity: .85; animation: spin .7s linear infinite;
}
.skeleton-line { height: 13px; margin-bottom: 9px; border-radius: 7px; background: linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%); background-size: 200% 100%; animation: shimmer 1.3s infinite linear; }
.skeleton-line:last-child { margin-bottom: 0; width: 62%; }
.skeleton-block { min-height: 84px; border-radius: var(--radius-sm); background: linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%); background-size: 200% 100%; animation: shimmer 1.3s infinite linear; }

/* 入力補助。ヒントは常時、エラーは aria-describedby と一緒に使う。 */
.form-hint { margin: 5px 0 0; color: var(--muted); font-size: var(--fs-sm); line-height: 1.6; }
.form-error { display: flex; align-items: flex-start; gap: 6px; margin: 6px 0 0; color: var(--text-status-danger); font-size: var(--fs-sm); font-weight: 700; line-height: 1.6; }
.form-error::before { flex: 0 0 auto; content: "!"; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; margin-top: 1px; border-radius: 50%; background: var(--text-status-danger); color: #fff; font-size: 13px; font-weight: 900; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--err); box-shadow: inset 0 0 0 1px var(--err); }

/* 通信断の常設バー。トーストと違い、復旧するまで消えない。 */
.net-banner {
  /* モーダル(z-index 150)より下に置く。上に出すと、開いているダイアログの
   * 「閉じる」「実行する」に被って押せなくなる。背景が暗くなっている間は隠れてよい。 */
  position: fixed; z-index: 140; right: 0; bottom: 0; left: 0; display: flex; align-items: center;
  justify-content: center; gap: var(--space-2); min-height: 46px; padding: 9px 16px;
  border-top: 1px solid rgba(255, 255, 255, .16); background: var(--navy-800); color: var(--text-on-dark);
  box-shadow: 0 -6px 20px rgba(11, 23, 48, .22); font-size: var(--fs-md); font-weight: 700; text-align: center;
}
.net-banner[hidden] { display: none; }
.net-banner .net-banner-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--warn); box-shadow: 0 0 0 3px rgba(199, 123, 22, .28); }
/* バーの高さぶんだけ本文を空ける。
 * body:has(.net-banner:not([hidden])) でも書けるが、Chrome では body を主語にした
 * :has() が hidden の切り替えでスタイル再計算されず(matches() は true でも
 * computed style が変わらない)効かなかった。components.js が付け外しする
 * クラスで指定して、:has() 非対応ブラウザでも同じ挙動にする。 */
body.is-offline { padding-bottom: var(--net-banner-height, 54px); }
/* 画面下に貼り付く入力欄(質問チャット等)は、バーの分だけ持ち上げる。 */
body.is-offline .chat-input-bar { bottom: var(--net-banner-height, 54px); }

/* 確認ダイアログ(ネイティブ dialog)。UI.confirmDialog が使う。 */
dialog.ui-dialog {
  width: min(430px, calc(100vw - 32px)); padding: 22px; border: 1px solid var(--line);
  border-radius: var(--radius-lg); background: var(--surface); color: var(--text); box-shadow: var(--shadow-lg);
}
dialog.ui-dialog::backdrop { background: rgba(11, 23, 48, .58); }
dialog.ui-dialog h2 { margin: 0 0 8px; font-size: 18px; font-weight: 850; }
dialog.ui-dialog p { margin: 0; color: var(--muted-strong); font-size: var(--fs-md); line-height: 1.75; }
dialog.ui-dialog .ui-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-5); }
dialog.ui-dialog .ui-dialog-actions .btn { flex: 1 1 150px; }

/* 404 / オフライン等の状態ページ。中央 1 カラム、次の行動を必ず 1 つ置く。 */
.status-page { display: grid; place-items: center; min-height: 68vh; padding: var(--space-6) 0; text-align: center; }
.status-page-inner { display: grid; justify-items: center; gap: var(--space-4); max-width: 34em; }
.status-page-mark { display: grid; place-items: center; width: 72px; height: 72px; border: 1px solid var(--line-strong); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow-sm); }
.status-page-mark svg { width: 34px; height: 34px; fill: none; stroke: var(--brand); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.status-page h1 { margin: 0; font-size: clamp(21px, 3.4vw, 27px); }
/* 日本語本文の行間は 1.6〜1.8。1.85 は行が離れすぎて段落の塊が読み取りにくい。 */
.status-page p { margin: 0; color: var(--muted-strong); font-size: var(--fs-lg); line-height: 1.8; }
.status-page .status-page-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); width: 100%; }
.status-page .status-page-actions .btn { flex: 1 1 210px; max-width: 320px; }
/* v60(2026-09-04): 404 のボタンを角丸8pxの四角+金枠から、指示書§3-5のピル(.v60-btn)へ
 * 差し替えた。既存の .btn 版(上の行)は他画面がまだ使う可能性があるため残し、
 * .v60-btn 版を並記する。 */
.status-page .status-page-actions .v60-btn { flex: 1 1 210px; max-width: 320px; }
/* .status-page p (0,1,1) に負けて 16px で描画されていた。同じ入れ子で詳細度を合わせる。 */
.status-page .status-page-code { color: var(--muted); font-size: var(--fs-xs); font-weight: 800; letter-spacing: .14em; }
/* v60: 「404」を金ラベル(v60-eyebrow相当)にする。祖先に v60-surface-* を持たない
 * 白地の上で使うため、v60-eyebrow の子孫セレクタ方式ではなく単独クラスに直接
 * color を書く(home.css の .home-features-eyebrow と同じ安全な書き方。祖先不明の
 * ときに比較される5種のうち最も厳しい面でも 4.5:1 を満たす --gold-deep を使う
 * 理由は home.css 側のコメント参照)。 */
.status-page-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 4px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold-deep);
}
.status-page-eyebrow::before { display: inline-block; width: 40px; height: 1px; background: currentColor; content: ""; }

@keyframes pop { 40% { transform: scale(1.04); } }
@keyframes shake { 20%, 60% { transform: translateX(-5px); } 40%, 80% { transform: translateX(5px); } }
/* 2026-09-15: 8px 上限(画面の切替フェード)に合わせ 10px→8px。 */
@keyframes fade-up { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
/* fadeUp(camelCase)は使用箇所ゼロ(grep確認済み)のため削除。 */
@keyframes shimmer { 100% { background-position: 200% 0; } }
@keyframes spin { to { transform: rotate(360deg); } }

@supports ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
  .glass { background: rgba(255, 255, 255, .76); backdrop-filter: blur(14px) saturate(1.15); -webkit-backdrop-filter: blur(14px) saturate(1.15); }
  .app-header { backdrop-filter: saturate(1.12); -webkit-backdrop-filter: saturate(1.12); }
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  /* 左右の余白は 1 か所(--page-gutter)だけで決める。.app-header は 2026-09-04 から
   * --page-gutter を見ない(--gutter/--gutter-sp で独立、上の .app-header-inner 参照)。 */
  .container { --page-gutter: 20px; }
}

@media (max-width: 768px) {
  /* モバイルのタイプスケール。実測で本文まわりが 11〜13.5px まで落ちており、
   * 手に持つ距離では読み切れなかった。トークンの定義元は :root のまま一つで、
   * ここは同じ要素(html)に対する画面幅ごとの値の上書き。
   * 本文 16px / 二次 14px / キャプション・バッジ 13px を下限にする。
   * セレクタは :root。html だと型セレクタ(0,0,1)で :root(0,1,0)に負け、上書きが効かない。 */
  :root {
    --fs-micro: 13px;
    --fs-2xs: 13px;
    --fs-xs: 14px;
    --fs-sm: 14px;
    --fs-md: 16px;
    --fs-lg: 17px;
  }
  /* 既定の body は 15px。手に持つ距離では本文が小さいので、モバイルだけ 16px にする。 */
  body { font-size: 16px; line-height: 1.75; }
  .container { --page-gutter: 18px; }
  .container { padding-top: 22px; padding-bottom: 48px; }
  .grid2 { grid-template-columns: 1fr; }
  .app-header .hd-sub { display: none; }
  .app-header .hd-user { max-width: 110px; }
  .surface-hero::after { right: -210px; }
  .action-strip { align-items: stretch; flex-direction: column; }
  .bubble { max-width: 94%; }
  /* iOS Safari は文字サイズ 16px 未満の入力欄にフォーカスすると必ず画面を拡大し、
   * 戻すには手で縮小するしかない。全画面の入力で起きていたので 16px を下限にする。 */
  input[type=text], input[type=number], input[type=password], input[type=date],
  input[type=search], input[type=email], input[type=tel], select, textarea { font-size: 16px; }
  .status-page { min-height: 60vh; }
  .status-page .status-page-actions .btn { flex-basis: 100%; max-width: none; }
}

@media (max-width: 480px) {
  .container { --page-gutter: 15px; }
  .container { padding-top: 18px; padding-bottom: 40px; }
  .container.narrow { max-width: 100%; }
  .stack > * + * { margin-top: var(--space-3); }
  /* design-brief §4: SP のヘッダー高さは 56px。 */
  .app-header { min-height: 56px; }
  .app-header-inner { gap: 12px; }
  /* 差し込み前の予約高さも同じ値に合わせる(上の #app-header:empty と対) */
  :root #app-header:empty { min-height: 56px; }
  .app-header .hd-brand-word { font-size: 16px; }
  .app-header .hd-nav-link { font-size: 13px; }
  .app-header .hd-title { gap: 6px; padding-left: 12px; font-size: var(--fs-micro); }
  .app-header .hd-mark { flex-basis: 22px; width: 22px; height: 22px; border-radius: 6px; font-size: 11px; }
  .app-header .hd-user { display: none; }
  /* 注記の下限は13px。狭い画面でも落とさず、余白側で幅を吸収する。 */
  .app-header button.hd-logout { padding: 8px 10px; font-size: 13px; white-space: nowrap; }
  .app-header .hd-cta { padding: 9px 18px; font-size: 12.5px; }
  .card { padding: 17px; }
  .card.pad-lg { padding: 20px; }
  .tile { gap: var(--space-3); padding: 14px 15px; }
  .tile .tile-icon { width: 46px; height: 46px; font-size: 13px; }
  .tile .tile-name { font-size: 14.5px; }
  .tile .tile-desc { font-size: 13px; line-height: 1.5; }
  .stat-grid { gap: 9px; }
  .stat { min-height: 0; padding: 13px; }
  .stat .stat-num { font-size: 24px; }
  .btn, .btn--primary, .btn--secondary, .btn--quiet, .btn--danger { min-height: 48px; }
  .ui-stepper > * { padding: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-contrast: more) {
  body { --line: #aeb8c8; --line-strong: #8795aa; --line-control: #5d6675; --muted: #414b60; }
  .card, .tile, .stat, .ui-card { border-width: 2px; }
}

@media print {
  .app-header, .no-print, #toast-area, .skip-link, .net-banner,
  .modal-back, .chat-input-bar { display: none !important; }
  /* 紙の上では押せない操作要素を載せない。読む人には内容だけを残す。
   * details は開閉のつまみだけ消す(閉じている中身は元から印刷されない)。 */
  .btn, button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"],
  nav, .tile-action, .portal-quick-link .tile-action, .status-page-actions,
  .ui-stepper, .ui-disclosure__toggle, details > summary { display: none !important; }
  /* v83(P-45、a11y 8-2): 画面用の min-height:100vh(539 行)が紙でも 1 ページぶんの高さに
     なり、本文が終わった後に空の紙が 1 枚出ていた(実測: 全高 1155px / 紙 1123px)。
     紙では高さの下限を持たない。 */
  body { padding-bottom: 0; min-height: 0; background: #fff; background-image: none; color: #000; font-size: 11pt; }
  .container { max-width: none; padding: 0; }
  .card, .surface, .stat, .ui-card, .tile { box-shadow: none; }
  .card, .surface, .ui-card, .tile, .stat { border-color: #999; }
  /* 表とカードをページの切れ目でちぎらない。 */
  .card, .surface, .ui-card, .stat, .tile, .q-feedback, .disclaimer, figure { break-inside: avoid; page-break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; page-break-after: avoid; }
  .tbl thead { display: table-header-group; }
  .tbl-wrap, .scroll-x { overflow: visible !important; }
  /* 紙には遷移先が残らないので、外部リンクだけURLを添える(内部リンクは冗長なので出さない)。 */
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
  .print-only { display: revert !important; }
}
.print-only { display: none; }

/* --------------------------------------------------------------------------
 * Clinical learning theme (navy + gold)
 *
 * Skin diagnosis and staff QA carry the clinic navy (#1a305e) + gold (#b9944e)
 * identity used across the whole site. The scope is kept so these flows can use
 * calmer surfaces than the dense staff screens without forking the palette.
 * -------------------------------------------------------------------------- */
:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) {
  --ink-950: #0b1730;
  --ink-900: #10203f;
  --ink-800: #1a305e;
  /* 2026-09-04(v60): ここに「--navy-900」(値 #0b1730)・「--navy-800」(値 #10203f)が
     あると、このスコープ(肌・プラン診断・QA・clinical-learning)だけ body 要素の
     カスタムプロパティ再定義がルート要素(html)側の新しい値を上書きし、.page-banner 等の
     紺が他画面(質問チャット・機能一覧・埋め込み案内)と食い違っていた
     (skin/qa だけ #0b1730、他は #10203f)。ここで再定義せずルート要素の値
     (navy-900は#10203f・navy-800は#10203f)を継承させ、全画面で統一する。
     ※値は括弧書きにし「:root」という文字列は書かない(静的CSS解析が誤認するため、
     14行目付近のコメントを参照)。 */
  --navy-700: #1a305e;
  --navy-600: #244079;
  --navy-500: #2d4f92;
  --navy-400: #3f66ad;
  --brand-electric: #1a305e;
  --brand: #1a305e;
  --brand-soft: #e9eef8;
  --brand-softer: #f3f6fc;
  --accent: #b9944e;
  --accent-strong: #7d5d25;
  --accent-soft: #f7f1e4;
  --accent-pale: #fbf8f1;

  --text: #0b1730;
  /* v65(2026-09-05夜): このスコープ(肌診断・QA)は :root と別に --muted/--muted-strong を
     再定義しているため、48〜50行付近だけを直しても body:has(#skin-app) 等では反映されない
     (実測で発覚: .sk-help の computed color が旧 #495267 のままだった)。:root と同じ新値に揃える。 */
  --muted: #3f4a60;
  --muted-strong: #2f3a52;
  --text-link: #244079;
  --text-on-dark: #ffffff;
  --text-status-success: #0f6f48;
  --text-status-warning: #8b5b13;
  --text-status-danger: #b53540;
  --text-status-info: #1a305e;
  --icon-quiet: #616a7d;
  --bg: #eef1f7;
  --surface: #ffffff;
  --surface-2: #f7f9fd;
  --surface-3: #e9eef8;
  --surface-warm: #fbf8f1;
  --line: #e0e5ef;
  --line-strong: #cfd6e4;
  --line-control: #848b9b;

  --ok: #0c9a69;
  --ok-soft: #e4f6ef;
  --err: #b53540;
  --err-soft: #fcebed;
  --warn: #8b5b13;
  --warn-soft: #fbf1df;
  --info: #1a305e;
  --info-soft: #e5f3fc;

  --action-primary: #1a305e;
  --action-primary-hover: #10203f;
  --action-primary-foreground: #ffffff;
  --action-secondary: #ffffff;
  --action-secondary-text: #244079;
  --focus-ring: 0 0 0 3px #ffffff, 0 0 0 6px #1a305e;
  --ring: var(--focus-ring);
  --shadow-xs: 0 1px 2px rgba(11, 23, 48, .06);
  --shadow-sm: 0 1px 2px rgba(11, 23, 48, .05), 0 3px 10px rgba(11, 23, 48, .045);
  --shadow: 0 2px 5px rgba(11, 23, 48, .055), 0 10px 26px rgba(11, 23, 48, .065);
  --shadow-lg: 0 10px 24px rgba(11, 23, 48, .11), 0 24px 48px rgba(11, 23, 48, .09);
  --shadow-hover: 0 6px 14px rgba(11, 23, 48, .10), 0 16px 34px rgba(11, 23, 48, .13);
  --grad-brand: linear-gradient(135deg, #1a305e, #2d4f92);
  --grad-hero: linear-gradient(140deg, #f7f9fd 0%, #e5f3fc 58%, #f7f1e4 100%);
  --grad-gold: linear-gradient(135deg, #c9a765, #b9944e);
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) {
  background-color: var(--bg);
  background-image:
    radial-gradient(640px 300px at 94% -10%, rgba(26, 48, 94, .09), transparent 72%),
    radial-gradient(520px 240px at 0 8%, rgba(185, 148, 78, .06), transparent 75%);
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header {
  border-bottom: 3px solid #1a305e;
  background: rgba(255, 255, 255, .97);
  color: var(--text);
  box-shadow: 0 2px 14px rgba(11, 23, 48, .10);
}
/* この配色ではヘッダーに 3px の下線が付くぶん実際の描画高が伸びるので、
 * 差し込み前の予約にも同じ太さを(色は付けずに)確保する。 */
:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) #app-header:empty { border-bottom: 3px solid transparent; }

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header .hd-mark,
:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header .hd-user,
:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header button.hd-logout {
  border-color: var(--line-strong);
  background: var(--surface-2);
  color: var(--text-link);
  box-shadow: none;
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header button.hd-logout:hover {
  border-color: #1a305e;
  background: var(--brand-soft);
  color: #10203f;
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header .hd-title { color: var(--text); }

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header .hd-sub { color: var(--muted); }

body[data-ui-theme="clinical-learning"] .app-header .hd-sub,
body[data-ui-theme="clinical-learning"] .app-header .hd-user { display: none; }

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .app-header :where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline-color: #1a305e;
  box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px #1a305e;
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .surface-hero {
  border-color: var(--line-strong);
  background: linear-gradient(140deg, #f7f9fd 0%, #e9eef8 56%, #f7f1e4 100%);
  color: #0b1730;
  box-shadow: var(--shadow);
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .surface-hero::after {
  border-color: rgba(26, 48, 94, .08);
  box-shadow: 0 0 0 34px rgba(185, 148, 78, .055);
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .btn.accent {
  border-color: #9c2c36;
  background: linear-gradient(135deg, #b53540, #9c2c36);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(185, 148, 78, .23);
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .btn.accent:hover {
  border-color: #7f232c;
  background: #9c2c36;
  color: #ffffff;
}

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .toast { background: #0b1730; }

:where(
  body[data-ui-theme="clinical-learning"],
  body:has(#skin-app),
  body:has(#qa-home),
  body:has(#qa-quiz-root)
) .modal-back { background: rgba(11, 23, 48, .48); }

/* ──────────────────────────────────────────────────────────────────────────
 * ページ見出しの帯（v48）
 *
 * 各画面の一番上に置く装飾の写真帯。文字は重ねない（v48 の見出し画像は
 * 左右で明暗が大きく変わるため、重ねると環境によって 4.5:1 を割る）。
 * 役割は「この画面が何の画面か」を絵で示すことと、トップのヒーローと
 * 同じ紺＋金のリズムを保つこと。装飾なので alt="" とし、読み上げには出さない。
 * 高さを固定して object-fit: cover で敷くので、画像の比率が変わっても
 * レイアウトは動かない（CLS 0）。
 * ────────────────────────────────────────────────────────────────────────── */
.page-banner {
  position: relative;
  height: clamp(96px, 13vw, 168px);
  margin-bottom: clamp(18px, 2.6vw, 28px);
  overflow: hidden;
  background: var(--navy-900);
}
.page-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 下端の金の細線。トップのヒーローと同じ一手。 */
.page-banner::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #7d5d25, #c9a765 45%, #7d5d25);
  content: "";
}
@media (prefers-reduced-motion: reduce) {
  .page-banner img { transition: none !important; animation: none !important; }
}
/* 紙では帯を出さない（インクを使うだけで情報が無い）。 */
@media print { .page-banner { display: none !important; } }
