/* デジタル庁デザインシステム(DADS) 準拠オーバーレイ — styles.css の後に読み込む。
   既存CSS変数名をDADSトークンへ再写像（var()第2引数=旧値フォールバック）。生成: apply-dads.mjs */
:root{
  --accent: var(--color-key-800, #0031d8);
  --accent-strong: var(--color-key-900, #0017c1);
  --accent-color: var(--color-key-800, #0031d8);
  --brand: var(--color-key-800, #0031d8);
  --brand-color: var(--color-key-800, #0031d8);
  --primary: var(--color-key-800, #0031d8);
  --primary-color: var(--color-key-800, #0031d8);
  --link: var(--color-key-800, #0031d8);
  --error-color: var(--color-semantic-error-1, #ec0000);
  --danger: var(--color-semantic-error-1, #ec0000);
  --error: var(--color-semantic-error-1, #ec0000);
  --success: var(--color-semantic-success-1, #259d63);
  --success-color: var(--color-semantic-success-1, #259d63);
  --warning: var(--color-semantic-warning-orange-1, #fb5b01);
  --warning-color: var(--color-semantic-warning-orange-1, #fb5b01);
  --ink: var(--color-neutral-solid-gray-900, #1a1a1a);
  --text: var(--color-neutral-solid-gray-900, #1a1a1a);
  --text-color: var(--color-neutral-solid-gray-900, #1a1a1a);
  --muted: var(--color-neutral-solid-gray-700, #4d4d4d);
  --muted-color: var(--color-neutral-solid-gray-700, #4d4d4d);
  --text-muted: var(--color-neutral-solid-gray-700, #4d4d4d);
  --line: var(--color-neutral-solid-gray-200, #cccccc);
  --border: var(--color-neutral-solid-gray-200, #cccccc);
  --border-color: var(--color-neutral-solid-gray-200, #cccccc);
  --field-border: var(--color-neutral-solid-gray-700, #4d4d4d);
  --surface: var(--color-neutral-solid-gray-50, #f2f2f2);
  --panel-bg: var(--color-neutral-white, #ffffff);
  --card: var(--color-neutral-white, #ffffff);
  --card-bg: var(--color-neutral-white, #ffffff);
  --bg: var(--color-neutral-solid-gray-50, #f2f2f2);
  --font-family-sans: 'Noto Sans JP','Hiragino Sans','Yu Gothic UI','Meiryo',system-ui,sans-serif;
  --font-family-mono: 'Noto Sans Mono', ui-monospace, monospace;
  --font-sans: 'Noto Sans JP','Hiragino Sans','Yu Gothic UI','Meiryo',system-ui,sans-serif;
}
body{ font-family: var(--font-family-sans); line-height: 1.5; }
code, kbd, pre, samp{ font-family: var(--font-family-mono); }
/* WCAG 2.4.7: フォーカスは必ず可視。outline:none を !important で無効化し可視リングへ */
:focus-visible{ outline: 3px solid var(--color-key-800, #0031d8) !important; outline-offset: 2px !important; }
/* フォーム部品: 最小タップ44px・継承フォント */
button, input, select, textarea{ font-family: inherit; }
button{ min-height: 44px; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]), select, textarea{ min-height: 44px; }
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
