/*
 * デジタル庁デザインシステム コードスニペット（HTML版）+ 朝倉ブランドテーマ
 * DADS部分: MIT License, Copyright (c) 2025 デジタル庁  https://github.com/digital-go-jp/design-system-example-components-html
 * 部品: button input-text textarea radio form-control-label notification-banner heading
 * 生成: 2026-11-09 14:22 build_css.sh
 */
:root {
  --color-primitive-blue-50: #e8f1fe;
  --color-primitive-blue-100: #d9e6ff;
  --color-primitive-blue-200: #c5d7fb;
  --color-primitive-blue-300: #9db7f9;
  --color-primitive-blue-400: #7096f8;
  --color-primitive-blue-500: #4979f5;
  --color-primitive-blue-600: #3460fb;
  --color-primitive-blue-700: #264af4;
  --color-primitive-blue-800: #0031d8;
  --color-primitive-blue-900: #0017c1;
  --color-primitive-blue-1000: #00118f;
  --color-primitive-blue-1100: #000071;
  --color-primitive-blue-1200: #000060;
  --color-primitive-light-blue-50: #f0f9ff;
  --color-primitive-light-blue-100: #dcf0ff;
  --color-primitive-light-blue-200: #c0e4ff;
  --color-primitive-light-blue-300: #97d3ff;
  --color-primitive-light-blue-400: #57b8ff;
  --color-primitive-light-blue-500: #39abff;
  --color-primitive-light-blue-600: #008bf2;
  --color-primitive-light-blue-700: #0877d7;
  --color-primitive-light-blue-800: #0066be;
  --color-primitive-light-blue-900: #0055ad;
  --color-primitive-light-blue-1000: #00428c;
  --color-primitive-light-blue-1100: #00316a;
  --color-primitive-light-blue-1200: #00234b;
  --color-primitive-cyan-50: #e9f7f9;
  --color-primitive-cyan-100: #c8f8ff;
  --color-primitive-cyan-200: #99f2ff;
  --color-primitive-cyan-300: #79e2f2;
  --color-primitive-cyan-400: #2bc8e4;
  --color-primitive-cyan-500: #01b7d6;
  --color-primitive-cyan-600: #00a3bf;
  --color-primitive-cyan-700: #008da6;
  --color-primitive-cyan-800: #008299;
  --color-primitive-cyan-900: #006f83;
  --color-primitive-cyan-1000: #006173;
  --color-primitive-cyan-1100: #004c59;
  --color-primitive-cyan-1200: #003741;
  --color-primitive-green-50: #e6f5ec;
  --color-primitive-green-100: #c2e5d1;
  --color-primitive-green-200: #9bd4b5;
  --color-primitive-green-300: #71c598;
  --color-primitive-green-400: #51b883;
  --color-primitive-green-500: #2cac6e;
  --color-primitive-green-600: #259d63;
  --color-primitive-green-700: #1d8b56;
  --color-primitive-green-800: #197a4b;
  --color-primitive-green-900: #115a36;
  --color-primitive-green-1000: #0c472a;
  --color-primitive-green-1100: #08351f;
  --color-primitive-green-1200: #032213;
  --color-primitive-lime-50: #ebfad9;
  --color-primitive-lime-100: #d0f5a2;
  --color-primitive-lime-200: #c0f354;
  --color-primitive-lime-300: #ade830;
  --color-primitive-lime-400: #9ddd15;
  --color-primitive-lime-500: #8cc80c;
  --color-primitive-lime-600: #7eb40d;
  --color-primitive-lime-700: #6fa104;
  --color-primitive-lime-800: #618e00;
  --color-primitive-lime-900: #507500;
  --color-primitive-lime-1000: #3e5a00;
  --color-primitive-lime-1100: #2c4100;
  --color-primitive-lime-1200: #1e2d00;
  --color-primitive-yellow-50: #fbf5e0;
  --color-primitive-yellow-100: #fff0b3;
  --color-primitive-yellow-200: #ffe380;
  --color-primitive-yellow-300: #ffd43d;
  --color-primitive-yellow-400: #ffc700;
  --color-primitive-yellow-500: #ebb700;
  --color-primitive-yellow-600: #d2a400;
  --color-primitive-yellow-700: #b78f00;
  --color-primitive-yellow-800: #a58000;
  --color-primitive-yellow-900: #927200;
  --color-primitive-yellow-1000: #806300;
  --color-primitive-yellow-1100: #6e5600;
  --color-primitive-yellow-1200: #604b00;
  --color-primitive-orange-50: #ffeee2;
  --color-primitive-orange-100: #ffdfca;
  --color-primitive-orange-200: #ffc199;
  --color-primitive-orange-300: #ffa66d;
  --color-primitive-orange-400: #ff8d44;
  --color-primitive-orange-500: #ff7628;
  --color-primitive-orange-600: #fb5b01;
  --color-primitive-orange-700: #e25100;
  --color-primitive-orange-800: #c74700;
  --color-primitive-orange-900: #ac3e00;
  --color-primitive-orange-1000: #8b3200;
  --color-primitive-orange-1100: #6d2700;
  --color-primitive-orange-1200: #541e00;
  --color-primitive-red-50: #fdeeee;
  --color-primitive-red-100: #ffdada;
  --color-primitive-red-200: #ffbbbb;
  --color-primitive-red-300: #ff9696;
  --color-primitive-red-400: #ff7171;
  --color-primitive-red-500: #ff5454;
  --color-primitive-red-600: #fe3939;
  --color-primitive-red-700: #fa0000;
  --color-primitive-red-800: #ec0000;
  --color-primitive-red-900: #ce0000;
  --color-primitive-red-1000: #a90000;
  --color-primitive-red-1100: #850000;
  --color-primitive-red-1200: #620000;
  --color-primitive-magenta-50: #f3e5f4;
  --color-primitive-magenta-100: #ffd0ff;
  --color-primitive-magenta-200: #ffaeff;
  --color-primitive-magenta-300: #ff8eff;
  --color-primitive-magenta-400: #f661f6;
  --color-primitive-magenta-500: #f137f1;
  --color-primitive-magenta-600: #db00db;
  --color-primitive-magenta-700: #c000c0;
  --color-primitive-magenta-800: #aa00aa;
  --color-primitive-magenta-900: #8b008b;
  --color-primitive-magenta-1000: #6c006c;
  --color-primitive-magenta-1100: #500050;
  --color-primitive-magenta-1200: #3b003b;
  --color-primitive-purple-50: #f1eafa;
  --color-primitive-purple-100: #ecddff;
  --color-primitive-purple-200: #ddc2ff;
  --color-primitive-purple-300: #cda6ff;
  --color-primitive-purple-400: #bb87ff;
  --color-primitive-purple-500: #a565f8;
  --color-primitive-purple-600: #8843e1;
  --color-primitive-purple-700: #6f23d0;
  --color-primitive-purple-800: #5c10be;
  --color-primitive-purple-900: #5109ad;
  --color-primitive-purple-1000: #41048e;
  --color-primitive-purple-1100: #30016c;
  --color-primitive-purple-1200: #21004b;
  --color-neutral-white: #ffffff;
  --color-neutral-black: #000000;
  --color-neutral-solid-gray-50: #f2f2f2;
  --color-neutral-solid-gray-100: #e6e6e6;
  --color-neutral-solid-gray-200: #cccccc;
  --color-neutral-solid-gray-300: #b3b3b3;
  --color-neutral-solid-gray-400: #999999;
  --color-neutral-solid-gray-420: #949494;
  --color-neutral-solid-gray-500: #7f7f7f;
  --color-neutral-solid-gray-536: #767676;
  --color-neutral-solid-gray-600: #666666;
  --color-neutral-solid-gray-700: #4d4d4d;
  --color-neutral-solid-gray-800: #333333;
  --color-neutral-solid-gray-900: #1a1a1a;
  --color-neutral-opacity-gray-50: rgba(0, 0, 0, 0.05);
  --color-neutral-opacity-gray-100: rgba(0, 0, 0, 0.1);
  --color-neutral-opacity-gray-200: rgba(0, 0, 0, 0.2);
  --color-neutral-opacity-gray-300: rgba(0, 0, 0, 0.3);
  --color-neutral-opacity-gray-400: rgba(0, 0, 0, 0.4);
  --color-neutral-opacity-gray-420: rgba(0, 0, 0, 0.42);
  --color-neutral-opacity-gray-500: rgba(0, 0, 0, 0.5);
  --color-neutral-opacity-gray-536: rgba(0, 0, 0, 0.54);
  --color-neutral-opacity-gray-600: rgba(0, 0, 0, 0.6);
  --color-neutral-opacity-gray-700: rgba(0, 0, 0, 0.7);
  --color-neutral-opacity-gray-800: rgba(0, 0, 0, 0.8);
  --color-neutral-opacity-gray-900: rgba(0, 0, 0, 0.9);
  --font-family-sans:
    "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  --font-family-mono: "Noto Sans Mono", monospace;
  --elevation-1:
    0 2px 8px 1px rgba(0, 0, 0, 0.1), 0 1px 5px 0 rgba(0, 0, 0, 0.3);
  --elevation-2:
    0 2px 12px 2px rgba(0, 0, 0, 0.1), 0 1px 6px 0 rgba(0, 0, 0, 0.3);
  --elevation-3:
    0 4px 16px 3px rgba(0, 0, 0, 0.1), 0 1px 6px 0 rgba(0, 0, 0, 0.3);
  --elevation-4:
    0 6px 20px 4px rgba(0, 0, 0, 0.1), 0 2px 6px 0 rgba(0, 0, 0, 0.3);
  --elevation-5:
    0 8px 24px 5px rgba(0, 0, 0, 0.1), 0 2px 10px 0 rgba(0, 0, 0, 0.3);
  --elevation-6:
    0 10px 30px 6px rgba(0, 0, 0, 0.1), 0 3px 12px 0 rgba(0, 0, 0, 0.3);
  --elevation-7:
    0 12px 36px 7px rgba(0, 0, 0, 0.1), 0 3px 14px 0 rgba(0, 0, 0, 0.3);
  --elevation-8:
    0 14px 40px 7px rgba(0, 0, 0, 0.1), 0 3px 16px 0 rgba(0, 0, 0, 0.3);
  --color-semantic-success-1: var(--color-primitive-green-600);
  --color-semantic-success-2: var(--color-primitive-green-800);
  --color-semantic-error-1: var(--color-primitive-red-800);
  --color-semantic-error-2: var(--color-primitive-red-900);
  --color-semantic-warning-yellow-1: var(--color-primitive-yellow-700);
  --color-semantic-warning-yellow-2: var(--color-primitive-yellow-900);
  --color-semantic-warning-orange-1: var(--color-primitive-orange-600);
  --color-semantic-warning-orange-2: var(--color-primitive-orange-800);
  --color-key-50: var(--color-primitive-blue-50);
  --color-key-100: var(--color-primitive-blue-100);
  --color-key-200: var(--color-primitive-blue-200);
  --color-key-300: var(--color-primitive-blue-300);
  --color-key-400: var(--color-primitive-blue-400);
  --color-key-500: var(--color-primitive-blue-500);
  --color-key-600: var(--color-primitive-blue-600);
  --color-key-700: var(--color-primitive-blue-700);
  --color-key-800: var(--color-primitive-blue-800);
  --color-key-900: var(--color-primitive-blue-900);
  --color-key-1000: var(--color-primitive-blue-1000);
  --color-key-1100: var(--color-primitive-blue-1100);
  --color-key-1200: var(--color-primitive-blue-1200);
}

html {
  scrollbar-gutter: stable;
  font-family: var(--font-family-sans);
}

html:has(:modal) {
  overflow: clip;
  scrollbar-gutter: auto;
}

body:has(:modal) {
  overflow: auto;
  scrollbar-gutter: stable;
}

:where(a):any-link {
  color: var(--color-primitive-blue-1000);
  text-decoration: underline;
  text-decoration-thickness: calc(1 / 16 * 1rem);
  text-underline-offset: calc(3 / 16 * 1rem);
}

:where(a):visited {
  color: var(--color-primitive-magenta-900);
}

@media (hover: hover) {
  :where(a):hover {
    color: var(--color-primitive-blue-900);
    text-decoration-thickness: calc(3 / 16 * 1rem);
  }
}

:where(a):active {
  color: var(--color-primitive-orange-800);
  text-decoration-thickness: calc(1 / 16 * 1rem);
}

:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-u-visually-hidden {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

:where(.dads-u-focus-outline):focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black) !important;
  outline-offset: calc(2 / 16 * 1rem) !important;
  border-radius: calc(4 / 16 * 1rem) !important;
  background-color: var(--color-primitive-yellow-300) !important;
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300) !important;
}

@supports selector(:has(*)) {
  :where(.dads-u-focus-within-outline):focus-visible,
  :where(.dads-u-focus-within-outline):has(:focus-visible) {
    outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black) !important;
    outline-offset: calc(2 / 16 * 1rem) !important;
    border-radius: calc(4 / 16 * 1rem) !important;
    background-color: var(--color-primitive-yellow-300) !important;
    box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300) !important;
  }
}
@supports not selector(:has(*)) {
  :where(.dads-u-focus-within-outline):focus-within {
    outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black) !important;
    outline-offset: calc(2 / 16 * 1rem) !important;
    border-radius: calc(4 / 16 * 1rem) !important;
    background-color: var(--color-primitive-yellow-300) !important;
    box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300) !important;
  }
}

.dads-u-dsp-64B-140 {
  font-weight: bold !important;
  font-size: calc(64 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-dsp-57B-140 {
  font-weight: bold !important;
  font-size: calc(57 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-dsp-48B-140 {
  font-weight: bold !important;
  font-size: calc(48 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-dsp-64N-140 {
  font-weight: normal !important;
  font-size: calc(64 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-dsp-57N-140 {
  font-weight: normal !important;
  font-size: calc(57 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-dsp-48N-140 {
  font-weight: normal !important;
  font-size: calc(48 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-std-45B-140 {
  font-weight: bold !important;
  font-size: calc(45 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-std-36B-140 {
  font-weight: bold !important;
  font-size: calc(36 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}

.dads-u-std-32B-150 {
  font-weight: bold !important;
  font-size: calc(32 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

.dads-u-std-28B-150 {
  font-weight: bold !important;
  font-size: calc(28 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

.dads-u-std-26B-150 {
  font-weight: bold !important;
  font-size: calc(26 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-24B-150 {
  font-weight: bold !important;
  font-size: calc(24 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-22B-150 {
  font-weight: bold !important;
  font-size: calc(22 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-20B-150 {
  font-weight: bold !important;
  font-size: calc(20 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-18B-160 {
  font-weight: bold !important;
  font-size: calc(18 / 16 * 1rem) !important;
  line-height: 1.6 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-17B-170 {
  font-weight: bold !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-16B-170 {
  font-weight: bold !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-16B-175 {
  font-weight: bold !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.75 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-45N-140 {
  font-weight: normal !important;
  font-size: calc(45 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

.dads-u-std-36N-140 {
  font-weight: normal !important;
  font-size: calc(36 / 16 * 1rem) !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}

.dads-u-std-32N-150 {
  font-weight: normal !important;
  font-size: calc(32 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

.dads-u-std-28N-150 {
  font-weight: normal !important;
  font-size: calc(28 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
}

.dads-u-std-26N-150 {
  font-weight: normal !important;
  font-size: calc(26 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-24N-150 {
  font-weight: normal !important;
  font-size: calc(24 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-22N-150 {
  font-weight: normal !important;
  font-size: calc(22 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-20N-150 {
  font-weight: normal !important;
  font-size: calc(20 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-18N-160 {
  font-weight: normal !important;
  font-size: calc(18 / 16 * 1rem) !important;
  line-height: 1.6 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-17N-170 {
  font-weight: normal !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-16N-170 {
  font-weight: normal !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.7 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-std-16N-175 {
  font-weight: normal !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.75 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-dns-17B-130 {
  font-weight: bold !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-17B-120 {
  font-weight: bold !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-16B-130 {
  font-weight: bold !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-16B-120 {
  font-weight: bold !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-14B-130 {
  font-weight: bold !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-14B-120 {
  font-weight: bold !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-17N-130 {
  font-weight: normal !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-17N-120 {
  font-weight: normal !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-16N-130 {
  font-weight: normal !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-16N-120 {
  font-weight: normal !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-14N-130 {
  font-weight: normal !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

.dads-u-dns-14N-120 {
  font-weight: normal !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

.dads-u-oln-17B-100 {
  font-weight: bold !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-oln-16B-100 {
  font-weight: bold !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-oln-14B-100 {
  font-weight: bold !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-oln-17N-100 {
  font-weight: normal !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-oln-16N-100 {
  font-weight: normal !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-oln-14N-100 {
  font-weight: normal !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

.dads-u-mono-17B-150 {
  font-weight: bold !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  font-family: var(--font-family-mono) !important;
  letter-spacing: 0 !important;
}

.dads-u-mono-16B-150 {
  font-weight: bold !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  font-family: var(--font-family-mono) !important;
  letter-spacing: 0 !important;
}

.dads-u-mono-14B-150 {
  font-weight: bold !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  font-family: var(--font-family-mono) !important;
  letter-spacing: 0 !important;
}

.dads-u-mono-17N-150 {
  font-weight: normal !important;
  font-size: calc(17 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  font-family: var(--font-family-mono) !important;
  letter-spacing: 0 !important;
}

.dads-u-mono-16N-150 {
  font-weight: normal !important;
  font-size: calc(16 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  font-family: var(--font-family-mono) !important;
  letter-spacing: 0 !important;
}

.dads-u-mono-14N-150 {
  font-weight: normal !important;
  font-size: calc(14 / 16 * 1rem) !important;
  line-height: 1.5 !important;
  font-family: var(--font-family-mono) !important;
  letter-spacing: 0 !important;
}

/* ---- button: button.css ---- */
.dads-button {
  --button-color: var(--color-key-900);
  --button-hover-color: var(--color-key-1000);
  --button-active-color: var(--color-key-1200);
  --button-outline-hover-bg-color: var(--color-key-200);
  --button-outline-active-bg-color: var(--color-key-300);
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: calc(4 / 16 * 1rem);
  box-sizing: border-box;
  width: fit-content;
  max-width: 100%;
  font-weight: bold;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1;
  font-family: var(--font-family-sans);
  letter-spacing: 0.02em;
  text-decoration: none;
  text-underline-offset: calc(3 / 16 * 1rem);
}

.dads-button:disabled,
.dads-button[aria-disabled="true"] {
  cursor: default;
}

.dads-button[data-type="solid-fill"] {
  border: 4px double transparent;
  background-color: var(--button-color);
  color: var(--color-neutral-white);
}

@media (hover: hover) {
  .dads-button[data-type="solid-fill"]:hover {
    background-color: var(--button-hover-color);
    text-decoration: underline;
    text-decoration-thickness: calc(1 / 16 * 1rem);
  }
}

.dads-button[data-type="solid-fill"]:active {
  background-color: var(--button-active-color);
  text-decoration: underline;
}

.dads-button[data-type="solid-fill"]:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-button[data-type="solid-fill"]:disabled,
.dads-button[data-type="solid-fill"][aria-disabled="true"] {
  background-color: var(--color-neutral-solid-gray-300);
  color: var(--color-neutral-solid-gray-50);
  text-decoration: none;
}

@media (forced-colors: active) {
  .dads-button[data-type="solid-fill"]:disabled,
  .dads-button[data-type="solid-fill"][aria-disabled="true"] {
    border-color: GrayText;
    color: GrayText;
  }
}

.dads-button[data-type="outline"] {
  border: 1px solid currentcolor;
  background-color: var(--color-neutral-white);
  color: var(--button-color);
}

@media (hover: hover) {
  .dads-button[data-type="outline"]:hover {
    background-color: var(--button-outline-hover-bg-color);
    color: var(--button-hover-color);
    text-decoration: underline;
    text-decoration-thickness: calc(1 / 16 * 1rem);
  }
}

.dads-button[data-type="outline"]:active {
  background-color: var(--button-outline-active-bg-color);
  color: var(--button-active-color);
  text-decoration: underline;
}

.dads-button[data-type="outline"]:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-button[data-type="outline"]:disabled,
.dads-button[data-type="outline"][aria-disabled="true"] {
  background-color: var(--color-neutral-white);
  color: var(--color-neutral-solid-gray-300);
  text-decoration: none;
}

@media (forced-colors: active) {
  .dads-button[data-type="outline"]:disabled,
  .dads-button[data-type="outline"][aria-disabled="true"] {
    border-color: GrayText;
    color: GrayText;
  }
}

.dads-button[data-type="text"] {
  border: 0;
  background-color: transparent;
  color: var(--button-color);
  text-decoration: underline;
  text-decoration-thickness: calc(1 / 16 * 1rem);
}

@media (hover: hover) {
  .dads-button[data-type="text"]:hover {
    background-color: var(--color-key-50);
    color: var(--button-hover-color);
    text-decoration-thickness: calc(3 / 16 * 1rem);
  }
}

.dads-button[data-type="text"]:active {
  background-color: var(--color-key-100);
  color: var(--button-active-color);
}

.dads-button[data-type="text"]:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  background-color: var(--color-primitive-yellow-300);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-button[data-type="text"]:disabled,
.dads-button[data-type="text"][aria-disabled="true"] {
  background-color: transparent;
  color: var(--color-neutral-solid-gray-300);
  text-decoration-thickness: revert;
}

@media (forced-colors: active) {
  .dads-button[data-type="text"]:disabled,
  .dads-button[data-type="text"][aria-disabled="true"] {
    color: GrayText;
  }
}

.dads-button[data-size="lg"] {
  min-width: calc(136 / 16 * 1rem);
  min-height: calc(56 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  padding: calc(12 / 16 * 1rem) calc(16 / 16 * 1rem);
}

.dads-button[data-size="md"] {
  min-width: calc(96 / 16 * 1rem);
  min-height: calc(48 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  padding: calc(8 / 16 * 1rem) calc(16 / 16 * 1rem);
}

.dads-button[data-size="sm"] {
  position: relative;
  min-width: calc(80 / 16 * 1rem);
  min-height: calc(36 / 16 * 1rem);
  border-radius: calc(6 / 16 * 1rem);
  padding: calc(2 / 16 * 1rem) calc(12 / 16 * 1rem);
}

.dads-button[data-size="sm"]::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  height: calc(44 / 16 * 1rem);
}

.dads-button[data-size="xs"] {
  position: relative;
  min-width: calc(72 / 16 * 1rem);
  min-height: calc(28 / 16 * 1rem);
  border-radius: calc(4 / 16 * 1rem);
  padding: calc(2 / 16 * 1rem) calc(8 / 16 * 1rem);
  font-size: calc(14 / 16 * 1rem);
}

.dads-button[data-size="xs"]::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  height: calc(44 / 16 * 1rem);
}

.dads-button__icon {
  flex-shrink: 0;
}

/* ---- input-text: input-text.css ---- */
.dads-input-text {
  display: block;
  color: var(--color-neutral-solid-gray-800);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  font-family: var(--font-family-sans);
  letter-spacing: 0.02em;
}

.dads-input-text__input {
  box-sizing: border-box;
  max-width: 100%;
  border: 1px solid var(--color-neutral-solid-gray-600);
  background-color: var(--color-neutral-white);
  padding: calc(12 / 16 * 1rem) calc(16 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-900);
  font: inherit;
  line-height: 1;
}

.dads-input-text__input[data-size="sm"] {
  height: 2.5rem;
}

.dads-input-text__input[data-size="md"] {
  height: 3rem;
}

.dads-input-text__input[data-size="lg"] {
  height: 3.5rem;
}

.dads-input-text__input:read-only:not(:disabled) {
  border-style: dashed;
}

.dads-input-text__input:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

@media (hover: hover) {
  .dads-input-text__input:not(:read-only):hover {
    border-color: var(--color-neutral-black);
  }
}

.dads-input-text__input:is(:user-invalid, [aria-invalid="true"]) {
  border-color: var(--color-semantic-error-1);
}

@media (hover: hover) {
  .dads-input-text__input:is(:user-invalid, [aria-invalid="true"]):hover {
    border-color: var(--color-primitive-red-1000);
  }
}

.dads-input-text__input:is(:disabled, [aria-disabled="true"]),
.dads-input-text__input:is(:disabled, [aria-disabled="true"]):hover {
  border-color: var(--color-neutral-solid-gray-300);
  background-color: var(--color-neutral-solid-gray-50);
  color: var(--color-neutral-solid-gray-420);
}

@media (forced-colors: active) {
  .dads-input-text__input[aria-disabled="true"],
  .dads-input-text__input[aria-disabled="true"]:hover {
    border-color: GrayText;
    color: GrayText;
  }
}

.dads-input-text__error-text {
  margin: calc(8 / 16 * 1rem) 0 0 0;
  display: block;
  color: var(--color-semantic-error-1);
}

/* ---- textarea: textarea.css ---- */
.dads-textarea {
  display: block;
  color: var(--color-neutral-solid-gray-800);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  font-family: var(--font-family-sans);
  letter-spacing: 0.02em;
}

.dads-textarea__textarea {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  border: 1px solid var(--color-neutral-solid-gray-600);
  background-color: var(--color-neutral-white);
  padding: calc(16 / 16 * 1rem);
  border-radius: calc(8 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-900);
  font: inherit;
  resize: vertical;
}

.dads-textarea__textarea:read-only:not(:disabled) {
  border-style: dashed;
}

.dads-textarea__textarea:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

@media (hover: hover) {
  .dads-textarea__textarea:not(:read-only):hover {
    border-color: var(--color-neutral-black);
  }
}

.dads-textarea__textarea:is(:user-invalid, [aria-invalid="true"]) {
  border-color: var(--color-semantic-error-1);
}

@media (hover: hover) {
  .dads-textarea__textarea:is(:user-invalid, [aria-invalid="true"]):hover {
    border-color: var(--color-primitive-red-1000);
  }
}

.dads-textarea__textarea:is(:disabled, [aria-disabled="true"]),
.dads-textarea__textarea:is(:disabled, [aria-disabled="true"]):hover {
  border-color: var(--color-neutral-solid-gray-300);
  background-color: var(--color-neutral-solid-gray-50);
  color: var(--color-neutral-solid-gray-420);
  resize: none;
}

@media (forced-colors: active) {
  .dads-textarea__textarea[aria-disabled="true"],
  .dads-textarea__textarea[aria-disabled="true"]:hover {
    border-color: GrayText;
    color: GrayText;
  }
}

.dads-textarea__error-text {
  margin: calc(8 / 16 * 1rem) 0 0 0;
  display: block;
  color: var(--color-semantic-error-1);
}

.dads-textarea__counter {
  display: block;
  margin-top: calc(8 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-600);
  font-size: calc(16 / 16 * 1rem);
  line-height: 1;
  letter-spacing: 0.02em;
}

.dads-textarea__counter[data-exceeded] {
  color: var(--color-semantic-error-1);
}

/* ---- radio: radio.css ---- */
.dads-radio {
  display: flex;
  align-items: start;
  gap: var(--_gap);
  width: fit-content;
}

.dads-radio:has(.dads-radio__label:not(:empty)) {
  padding-top: calc(8 / 16 * 1rem);
  padding-bottom: calc(8 / 16 * 1rem);
}

.dads-radio[data-size="sm"] {
  --_gap: calc(4 / 16 * 1rem);
  --_radio-size: calc(24 / 16 * 1rem);
  --_radio-outer-size: calc(20 / 16 * 1rem);
  --_radio-inner-size: calc(10 / 16 * 1rem);
  --_radio-border-width: calc(2 / 16 * 1rem);
  --_label-padding-top: 1px;
  --_label-font-size: calc(16 / 16 * 1rem);
}

.dads-radio[data-size="md"] {
  --_gap: calc(8 / 16 * 1rem);
  --_radio-size: calc(32 / 16 * 1rem);
  --_radio-outer-size: calc(26 / 16 * 1rem);
  --_radio-inner-size: calc(12 / 16 * 1rem);
  --_radio-border-width: calc(2 / 16 * 1rem);
  --_label-padding-top: calc(4 / 16 * 1rem);
  --_label-font-size: calc(16 / 16 * 1rem);
}

.dads-radio[data-size="lg"] {
  --_gap: calc(12 / 16 * 1rem);
  --_radio-size: calc(44 / 16 * 1rem);
  --_radio-outer-size: calc(36 / 16 * 1rem);
  --_radio-inner-size: calc(16 / 16 * 1rem);
  --_radio-border-width: calc(3 / 16 * 1rem);
  --_label-padding-top: calc(10 / 16 * 1rem);
  --_label-font-size: calc(17 / 16 * 1rem);
}

.dads-radio__radio {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: var(--_radio-size);
  height: var(--_radio-size);
  border-radius: 50%;
}

@media (hover: hover) {
  .dads-radio__radio:has(
    :not(:focus, :disabled, [aria-disabled="true"]):hover
  ) {
    background-color: var(--color-neutral-solid-gray-420);
  }
}

.dads-radio__input {
  --_base-color: var(--color-neutral-white);
  --_accent-color: var(--color-key-900);
  --_accent-hover-color: var(--color-key-1100);
  --_border-color: var(--color-neutral-solid-gray-600);
  --_border-hover-color: var(--color-neutral-black);

  position: relative;
  margin: 0;
  appearance: none;
  width: var(--_radio-outer-size);
  height: var(--_radio-outer-size);
  border-radius: 51%;
  background-color: var(--_base-color);
  border: var(--_radio-border-width) solid var(--_border-color);
}

.dads-radio__input:focus {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

@media (hover: hover) {
  .dads-radio__input:not(:disabled, [aria-disabled="true"]):hover {
    border-color: var(--_border-hover-color);
  }
}

.dads-radio__input:checked {
  border-color: var(--_accent-color);
}

@media (hover: hover) {
  .dads-radio__input:checked:not(:disabled, [aria-disabled="true"]):hover {
    border-color: var(--_accent-hover-color);
  }
}

.dads-radio__input:checked::before {
  position: absolute;
  inset: 0;
  margin: auto;
  width: var(--_radio-inner-size);
  height: var(--_radio-inner-size);
  border-radius: 51%;
  background-color: var(--_accent-color);
  content: "";
}

@media (hover: hover) {
  .dads-radio__input:checked:not(
    :disabled,
    [aria-disabled="true"]
  ):hover::before {
    background-color: var(--_accent-hover-color);
  }
}

.dads-radio__input[aria-invalid="true"] {
  --_accent-color: var(--color-semantic-error-1);
  --_accent-hover-color: var(--color-primitive-red-1000);
  --_border-color: var(--color-semantic-error-1);
  --_border-hover-color: var(--color-primitive-red-1000);
}

.dads-radio__input:is(:disabled, [aria-disabled="true"]) {
  --_base-color: var(--color-neutral-solid-gray-50);
  --_accent-color: var(--color-neutral-solid-gray-300);
  --_accent-hover-color: var(--color-neutral-solid-gray-300);
  --_border-color: var(--color-neutral-solid-gray-300);
  --_border-hover-color: var(--color-neutral-solid-gray-300);
}

@media (forced-colors: active) {
  .dads-radio__input,
  .dads-radio__input[aria-invalid="true"] {
    --_accent-color: Highlight;
    --_accent-hover-color: Highlight;
    --_border-color: ButtonText;
    --_border-hover-color: ButtonText;
  }

  .dads-radio__input:is(:disabled, [aria-disabled="true"]) {
    --_accent-color: GrayText;
    --_accent-hover-color: GrayText;
    --_border-color: GrayText;
    --_border-hover-color: GrayText;
  }
}

.dads-radio__label {
  padding-top: var(--_label-padding-top);
  color: var(--color-neutral-solid-gray-800);
  font-weight: normal;
  font-size: var(--_label-font-size);
  line-height: 1.3;
  font-family: var(--font-family-sans);
  letter-spacing: 0;
}

/* ---- form-control-label: form-control-label.css ---- */
.dads-form-control-label {
  margin: 0;
  display: flex;
  flex-direction: column;
  border: 0;
  padding: 0;
  color: var(--color-neutral-solid-gray-800);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  font-family: var(--font-family-sans);
  letter-spacing: 0.02em;
}

.dads-form-control-label[data-size="sm"] {
  gap: calc(4 / 16 * 1rem);
}

.dads-form-control-label[data-size="md"] {
  gap: calc(8 / 16 * 1rem);
}

.dads-form-control-label[data-size="lg"] {
  gap: calc(8 / 16 * 1rem);
}

.dads-form-control-label__label {
  align-self: start;
  padding: 0;
  font-weight: bold;
}

.dads-form-control-label[data-size="sm"] .dads-form-control-label__label {
  font-size: calc(16 / 16 * 1rem);
}

.dads-form-control-label[data-size="md"] .dads-form-control-label__label {
  font-size: calc(17 / 16 * 1rem);
}

.dads-form-control-label[data-size="lg"] .dads-form-control-label__label {
  font-size: calc(18 / 16 * 1rem);
}

legend.dads-form-control-label__label {
  margin-bottom: calc(8 / 16 * 1rem);
  float: none;
}

.dads-form-control-label__requirement {
  margin-left: calc(4 / 16 * 1rem);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
}

.dads-form-control-label__requirement[data-required="true"] {
  color: var(--color-semantic-error-1);
}

.dads-form-control-label__requirement::before {
  content: " ";
}

.dads-form-control-label__status {
  margin-left: calc(4 / 16 * 1rem);
  display: inline-block;
  outline: 1px solid transparent;
  border-radius: calc(8 / 16 * 1rem);
  background-color: var(--color-neutral-solid-gray-536);
  padding: calc(8 / 16 * 1rem);
  color: var(--color-neutral-white);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1;
  letter-spacing: 0.02em;
}

.dads-form-control-label__support-text {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--color-neutral-solid-gray-600);
}

.dads-form-control-label__error-text {
  margin-top: 0;
  margin-bottom: 0;
  color: var(--color-semantic-error-1);
  line-height: 1.3;
  letter-spacing: 0;
}

/* ---- notification-banner: notification-banner.css ---- */
.dads-notification-banner {
  --_base-color: var(--color-primitive-blue-900);
  --_color-chip-color: var(--color-primitive-blue-900);
  display: grid;
  grid-template-columns: calc(24 / 16 * 1rem) 1fr auto;
  grid-template-rows: minmax(calc(36 / 16 * 1rem), auto);
  border: solid var(--_base-color);
  background-color: var(--color-neutral-white);
  padding-top: calc(8 / 16 * 1rem);
  padding-right: calc(16 / 16 * 1rem);
  padding-bottom: calc(24 / 16 * 1rem);
  padding-left: calc(16 / 16 * 1rem);
  gap: calc(16 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-800);
  font-weight: normal;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  font-family: var(--font-family-sans);
  letter-spacing: 0.02em;
}

.dads-notification-banner[data-style="standard"] {
  border-radius: calc(12 / 16 * 1rem);
  border-width: calc(3 / 16 * 1rem);
}

.dads-notification-banner[data-style="color-chip"] {
  border-width: calc(2 / 16 * 1rem);
  padding-left: calc(24 / 16 * 1rem);
  box-shadow: inset calc(8 / 16 * 1rem) 0 0 0 var(--_color-chip-color);
}

@media (min-width: 48rem) {
  .dads-notification-banner {
    grid-template-columns: calc(36 / 16 * 1rem) 1fr auto;
    padding-top: calc(24 / 16 * 1rem);
    padding-right: calc(24 / 16 * 1rem);
    padding-bottom: calc(32 / 16 * 1rem);
    padding-left: calc(24 / 16 * 1rem);
    column-gap: calc(24 / 16 * 1rem);
  }

  .dads-notification-banner[data-style="color-chip"] {
    padding-left: calc(40 / 16 * 1rem);
    box-shadow: inset calc(16 / 16 * 1rem) 0 0 0 var(--_color-chip-color);
  }
}

.dads-notification-banner[data-type="success"] {
  --_base-color: var(--color-semantic-success-2);
  --_color-chip-color: var(--color-semantic-success-2);
}

.dads-notification-banner[data-type="error"] {
  --_base-color: var(--color-semantic-error-1);
  --_color-chip-color: var(--color-semantic-error-1);
}

.dads-notification-banner[data-type="warning"] {
  --_base-color: var(--color-semantic-warning-yellow-2);
  --_color-chip-color: var(--color-primitive-yellow-400);
}

.dads-notification-banner[data-type="info-1"] {
  --_base-color: var(--color-primitive-blue-900);
  --_color-chip-color: var(--color-primitive-blue-900);
}

.dads-notification-banner[data-type="info-2"] {
  --_base-color: var(--color-neutral-solid-gray-536);
  --_color-chip-color: var(--color-neutral-solid-gray-536);
}

.dads-notification-banner__icon {
  justify-self: center;
  width: calc(28 / 16 * 1rem);
  height: calc(28 / 16 * 1rem);
  max-width: none;
  max-height: none;
  padding-top: calc(3 / 16 * 1rem);
  color: var(--_base-color);
}

@media (min-width: 48rem) {
  .dads-notification-banner__icon {
    margin-top: calc(-4 / 16 * 1rem);
    margin-bottom: calc(-4 / 16 * 1rem);
    width: calc(44 / 16 * 1rem);
    height: calc(44 / 16 * 1rem);
    padding: 0;
  }
}

@media (forced-colors: active) {
  .dads-notification-banner__icon {
    color: currentcolor;
  }
}

.dads-notification-banner__heading {
  grid-column: span 2;
  margin-top: 0;
  margin-bottom: 0;
  display: grid;
  grid-template-columns: inherit;
  gap: inherit;
}

.dads-notification-banner__heading-text {
  padding-top: calc(3 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-900);
  font-weight: bold;
  font-size: calc(17 / 16 * 1rem);
  line-height: 1.7;
  letter-spacing: 0.02em;
}

@media (min-width: 48rem) {
  .dads-notification-banner__heading-text {
    padding-top: calc(2 / 16 * 1rem);
    font-size: calc(20 / 16 * 1rem);
    line-height: 1.5;
  }
}

.dads-notification-banner__close {
  margin-right: calc(-12 / 16 * 1rem);
  display: flex;
  align-self: start;
  align-items: center;
  column-gap: calc(4 / 16 * 1rem);
  background: transparent;
  border-radius: calc(8 / 16 * 1rem);
  border: 0;
  padding-top: calc(4 / 16 * 1rem);
  padding-right: calc(12 / 16 * 1rem);
  padding-bottom: calc(6 / 16 * 1rem);
  padding-left: calc(12 / 16 * 1rem);
  color: var(--color-neutral-solid-gray-900);
  font: inherit;
  line-height: 1;
  letter-spacing: inherit;
}

@media (hover: hover) {
  .dads-notification-banner__close:hover {
    background-color: var(--color-neutral-solid-gray-50);
    text-decoration: underline;
    text-decoration-thickness: calc(1 / 16 * 1rem);
    text-underline-offset: calc(3 / 16 * 1rem);
  }
}

.dads-notification-banner__close:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  background-color: var(--color-primitive-yellow-300);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-notification-banner__close-icon {
  margin-top: calc(2 / 16 * 1rem);
  width: calc(24 / 16 * 1rem);
  height: calc(24 / 16 * 1rem);
}

.dads-notification-banner__mobile-close {
  margin-top: calc(4 / 16 * 1rem);
  border: 0;
  border-radius: calc(4 / 16 * 1rem);
  background: transparent;
  padding: 0;
  color: var(--color-neutral-black);
  touch-action: manipulation;
}

@media (hover: hover) {
  .dads-notification-banner__mobile-close:hover {
    outline: 1px solid;
    background-color: var(--color-neutral-solid-gray-50);
  }
}

.dads-notification-banner__mobile-close:focus-visible {
  outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black);
  outline-offset: calc(2 / 16 * 1rem);
  background-color: var(--color-primitive-yellow-300);
  box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300);
}

.dads-notification-banner__mobile-close-icon {
  display: block;
  width: calc(44 / 16 * 1rem);
  height: calc(44 / 16 * 1rem);
}

.dads-notification-banner__body {
  margin-top: calc(-4 / 16 * 1rem);
  display: grid;
  row-gap: calc(8 / 16 * 1rem);
  grid-column: 1 / 4;
  color: var(--color-neutral-solid-gray-800);
}

@media (min-width: 48rem) {
  .dads-notification-banner__body {
    margin-top: 0;
    grid-column: 2 / 4;
  }
}

.dads-notification-banner__body > * {
  margin-top: 0;
  margin-bottom: 0;
}

.dads-notification-banner__timestamp time {
  text-autospace: normal;
}

.dads-notification-banner__actions {
  margin-bottom: calc(-8 / 16 * 1rem);
  display: grid;
  gap: calc(8 / 16 * 1rem);
  grid-column: 1 / 4;
}

@media (min-width: 48rem) {
  .dads-notification-banner__actions {
    grid-auto-flow: column;
    gap: calc(16 / 16 * 1rem);
    grid-column: 2 / 4;
    justify-content: end;
  }
}

.dads-notification-banner .dads-button {
  width: auto;
}

.dads-notification-banner[data-type="success"] .dads-button {
  --button-color: var(--color-semantic-success-2);
  --button-hover-color: var(--color-primitive-green-1000);
  --button-active-color: var(--color-primitive-green-1200);
  --button-outline-hover-bg-color: var(--color-primitive-green-200);
  --button-outline-active-bg-color: var(--color-primitive-green-300);
}

.dads-notification-banner[data-type="error"] .dads-button {
  --button-color: var(--color-semantic-error-1);
  --button-hover-color: var(--color-primitive-red-1000);
  --button-active-color: var(--color-primitive-red-1200);
  --button-outline-hover-bg-color: var(--color-primitive-red-200);
  --button-outline-active-bg-color: var(--color-primitive-red-300);
}

.dads-notification-banner[data-type="warning"] .dads-button {
  --button-color: var(--color-semantic-warning-yellow-2);
  --button-hover-color: var(--color-primitive-yellow-1000);
  --button-active-color: var(--color-primitive-yellow-1200);
  --button-outline-hover-bg-color: var(--color-primitive-yellow-200);
  --button-outline-active-bg-color: var(--color-primitive-yellow-300);
}

.dads-notification-banner[data-type="info-1"] .dads-button {
  --button-color: var(--color-primitive-blue-900);
  --button-hover-color: var(--color-primitive-blue-1000);
  --button-active-color: var(--color-primitive-blue-1200);
  --button-outline-hover-bg-color: var(--color-primitive-blue-200);
  --button-outline-active-bg-color: var(--color-primitive-blue-300);
}

.dads-notification-banner[data-type="info-2"] .dads-button {
  --button-color: var(--color-neutral-solid-gray-800);
  --button-hover-color: var(--color-neutral-solid-gray-900);
  --button-active-color: var(--color-neutral-black);
  --button-outline-hover-bg-color: var(--color-neutral-solid-gray-200);
  --button-outline-active-bg-color: var(--color-neutral-solid-gray-300);
}

/* ---- heading: heading.css ---- */
.dads-heading {
  color: var(--color-neutral-solid-gray-800);
  font-family: var(--font-family-sans);
}

.dads-heading[data-size="64"] {
  --_shoulder-size: calc(28 / 16 * 1rem);
  --_shoulder-line-height: 1.5;
  --_shoulder-letter-spacing: 0.01em;
  font-weight: bold;
  font-size: calc(64 / 16 * 1rem);
  line-height: 1.4;
  letter-spacing: 0;
}

.dads-heading[data-size="57"] {
  --_shoulder-size: calc(24 / 16 * 1rem);
  --_shoulder-line-height: 1.5;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(57 / 16 * 1rem);
  line-height: 1.4;
  letter-spacing: 0;
}

.dads-heading[data-size="45"] {
  --_shoulder-size: calc(22 / 16 * 1rem);
  --_shoulder-line-height: 1.5;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(45 / 16 * 1rem);
  line-height: 1.4;
  letter-spacing: 0;
}

.dads-heading[data-size="36"] {
  --_shoulder-size: calc(20 / 16 * 1rem);
  --_shoulder-line-height: 1.5;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(36 / 16 * 1rem);
  line-height: 1.4;
  letter-spacing: 0.01em;
}

.dads-heading[data-size="32"] {
  --_shoulder-size: calc(18 / 16 * 1rem);
  --_shoulder-line-height: 1.6;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(32 / 16 * 1rem);
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.dads-heading[data-size="28"] {
  --_shoulder-size: calc(16 / 16 * 1rem);
  --_shoulder-line-height: 1.7;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(28 / 16 * 1rem);
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.dads-heading[data-size="24"] {
  --_shoulder-size: calc(16 / 16 * 1rem);
  --_shoulder-line-height: 1.7;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(24 / 16 * 1rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.dads-heading[data-size="20"] {
  --_shoulder-size: calc(16 / 16 * 1rem);
  --_shoulder-line-height: 1.7;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(20 / 16 * 1rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.dads-heading[data-size="18"] {
  --_shoulder-size: calc(16 / 16 * 1rem);
  --_shoulder-line-height: 1.7;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(18 / 16 * 1rem);
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.dads-heading[data-size="16"] {
  --_shoulder-size: calc(16 / 16 * 1rem);
  --_shoulder-line-height: 1.7;
  --_shoulder-letter-spacing: 0.02em;
  font-weight: bold;
  font-size: calc(16 / 16 * 1rem);
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.dads-heading[data-chip] {
  position: relative;
  padding-left: calc(1em / 3 + 0.5em);
}

.dads-heading[data-chip]::before {
  position: absolute;
  top: 0.2em;
  bottom: 0.1em;
  left: 0;
  width: calc(1em / 3);
  background-color: var(--color-key-900);
  content: "";
}

@supports (top: 1lh) {
  .dads-heading[data-chip]::before {
    top: calc(0.5lh - 0.45em);
    bottom: calc(0.5lh - 0.55em);
  }
}

.dads-heading[data-chip]:has(.dads-heading__shoulder)::before {
  top: calc((var(--_shoulder-size) * (var(--_shoulder-line-height) - 1)) / 2);
}

@media (forced-colors: active) {
  .dads-heading[data-chip]::before {
    background-color: CanvasText;
  }
}

.dads-heading[data-rule] {
  border-bottom: solid var(--color-key-900);
}

.dads-heading[data-rule="8"] {
  border-bottom-width: calc(8 / 16 * 1rem);
  padding-bottom: calc(32 / 16 * 1rem);
}

.dads-heading[data-rule="6"] {
  border-bottom-width: calc(6 / 16 * 1rem);
  padding-bottom: calc(24 / 16 * 1rem);
}

.dads-heading[data-rule="4"] {
  border-bottom-width: calc(4 / 16 * 1rem);
  padding-bottom: calc(16 / 16 * 1rem);
}

.dads-heading[data-rule="2"] {
  border-bottom-width: calc(2 / 16 * 1rem);
  padding-bottom: calc(8 / 16 * 1rem);
}

.dads-heading__shoulder {
  margin: 0;
  font-weight: bold;
  font-size: var(--_shoulder-size);
  line-height: var(--_shoulder-line-height);
  letter-spacing: var(--_shoulder-letter-spacing);
}

.dads-heading__heading {
  margin: 0;
  font: inherit;
}

.dads-heading__icon {
  margin-right: calc(0.4em - 0.25em);
}

.dads-heading__icon::after {
  content: " ";
}

.dads-heading__icon-svg {
  display: inline-block;
  width: 1.25em;
  height: 1.25em;
  vertical-align: -0.25em;
}

/* ---- 朝倉ブランド テーマ層（最後に読む） ---- */
/*
 * asakura-theme.css — 朝倉ブランド × デジタル庁デザインシステム（DADS）テーマ層
 *
 * 読み込み順: vendor/dads-html/global.css → 各部品CSS → このファイル（必ず最後）
 *
 * 役割分担
 *   配色        = 朝倉駿ブランドカラー（正本: https://www.notion.so/3d974a8a9b9c81cba577dd5db3f9a79e の現行節。2026-10-18 資料DAY1 v5の紺系へ改訂）
 *   構造・部品  = DADS（文字階層・余白・角丸・影・部品仕様・フォーカス・可読性基準）
 *
 * 方針
 *   - DADSのキーカラー（行政の青）は使わず、キーカラー13段をブランドの紺系（アイス→青→紺）で置き換える
 *   - 部品CSS（vendor配下）は編集しない。色の差し替えはトークンの上書きと少数のセレクタ上書きだけで行う
 *   - フォーカス表示は2重構造・太さ・オフセットをDADSのまま保ち、色だけ紺＋ミストへ差し替える（2026-10-18 朝倉様指示。DADS公式の「変更しない」からの意図的な逸脱。5b節）
 *   - 成功・エラー・警告はDADSの機能色。アイス地でも 4.5:1 / 3:1 を満たす段へ寄せている
 *   - 色を変えたら scripts/check_contrast.py を通す（exit 0 まで完成扱いにしない）
 *   - 2026-09-18〜10-17の旧基本5色（生成り・青灰・青緑・アクア・テラコッタ）は使わない
 */
:root {
  /* ---- 1. 朝倉ブランド（2026-10-18改訂・資料DAY1 v5の紺系） ---- */
  --asakura-ice: #F2F8FC;         /* アイス: 背景の基準 */
  --asakura-mist: #E8F2FA;        /* ミスト: 情報をまとめる淡い面 */
  --asakura-navy: #1A2B59;        /* 紺: 主見出し・強い面・強い線・ボタン */
  --asakura-blue: #2C76AB;        /* 青: 小見出し・キッカー・アイコン（アイス地の小さな文字には使わない: 4.45:1） */
  --asakura-ink: #162029;         /* インク: 本文 */
  --asakura-line: #C1DDF0;        /* 細罫: 罫線・枠（装飾の線） */
  --asakura-deep-line: #7FBDE7;   /* 濃い線: 番号・装飾線・グラデーションの起点（装飾専用） */
  --asakura-bright: #2691CF;      /* ブライト: ごく少量の差し色（装飾専用） */
  --asakura-grad-from: #3D97A6;   /* 見出しグラデーション始点（要所の見出し文字だけ） */
  --asakura-grad-to: #6F80C7;     /* 見出しグラデーション終点 */

  /* ---- 2. DADSキーカラー13段 → ブランド紺系の階調 ----
   * 50=アイス, 100=ミスト, 200=細罫, 400=濃い線, 700=青, 900=紺, 1200=v5の濃紺地 #0F1724 を固定点に、間をOKLab補間で生成
   * （scripts/gen_key_scale.py で生成。ボタン既定=900 / ホバー=1000 / 押下=1200 はDADSの部品CSSどおり） */
  --color-key-50: #f2f8fc;
  --color-key-100: #e8f2fa;
  --color-key-200: #c1ddf0;
  --color-key-300: #a1cdec;
  --color-key-400: #7fbde7;
  --color-key-500: #64a5d3;
  --color-key-600: #498dbf;
  --color-key-700: #2c76ab;
  --color-key-800: #244f81;
  --color-key-900: #1a2b59;
  --color-key-1000: #162447;
  --color-key-1100: #131e35;
  --color-key-1200: #0f1724;

  /* ---- 3. 共通カラー: 部品の本文色（gray-800/900）をインクへ。境界・無効状態のグレーはDADSのまま ---- */
  --color-neutral-solid-gray-800: #162029;
  --color-neutral-solid-gray-900: #162029;

  /* ---- 4. セマンティックカラー: アイス #F2F8FC の上でも文字4.5:1・非文字3:1を満たす段へ ----
   * DADS既定は白地想定（error-1=red-800・warning-yellow-2=yellow-900 は淡色地で4.5:1に届かない） */
  --color-semantic-error-1: var(--color-primitive-red-900);
  --color-semantic-error-2: var(--color-primitive-red-1000);
  --color-semantic-warning-yellow-1: var(--color-primitive-yellow-800);
  --color-semantic-warning-yellow-2: var(--color-primitive-yellow-1000);
  --color-semantic-warning-orange-1: var(--color-primitive-orange-700);  /* orange-600 はアイス地で非文字 2.97:1 のため1段濃く */

  /* ---- 5. ページ側で使う役割トークン（ヒーロー・セクション・独自レイアウトはこれで書く） ---- */
  --ask-bg: var(--asakura-ice);
  --ask-surface: var(--color-neutral-white);        /* フォーム・表・カードの地 */
  --ask-surface-tint: var(--asakura-mist);
  --ask-surface-tint-weak: var(--asakura-ice);
  --ask-surface-warm: var(--asakura-mist);          /* 互換用（旧・淡い暖色面）。暖色は廃止したためミストに寄せる */

  --ask-text: var(--asakura-ink);
  --ask-text-sub: var(--color-key-800);              /* 補助文字: 青と紺の中間 */
  --ask-text-warm: var(--asakura-navy);              /* 互換用（旧・暖色の文字）。暖色は廃止したため紺に寄せる */
  --ask-text-on-primary: var(--color-neutral-white);
  --ask-heading: var(--asakura-navy);
  --ask-kicker: var(--asakura-blue);                 /* 大きめの小見出し・キッカー用（小さな本文には --ask-text-sub） */

  --ask-primary: var(--color-key-900);
  --ask-primary-hover: var(--color-key-1000);
  --ask-primary-active: var(--color-key-1200);

  --ask-link: var(--color-key-900);
  --ask-link-hover: var(--color-key-1000);
  --ask-link-visited: var(--color-primitive-magenta-900);  /* 訪問済み: DADSの慣習色（機能色。基幹色ではない） */
  --ask-link-active: var(--color-primitive-orange-800);    /* 押下中: DADSの慣習色 */

  --ask-accent: var(--asakura-bright);                     /* 装飾専用のごく少量の差し色 */
  --ask-border-decor: var(--asakura-line);                 /* 区切り・装飾の線（3:1不要） */
  --ask-border-control: var(--color-neutral-solid-gray-600); /* 入力欄等の境界（3:1以上・DADSと同じ） */
  --ask-border-strong: var(--asakura-navy);

  /* ブランドガイドのグラデーション（資料v5の実装どおり）。表紙・帯・区切り・要所の見出しだけに使う。本文の下には敷かない */
  --ask-gradient-band: linear-gradient(135deg, rgb(193 221 240 / .45), transparent 72%), var(--asakura-ice);
  --ask-gradient-rule: linear-gradient(90deg, #7FBDE7, #2C76AB, #1A2B59);
  --ask-gradient-heading: linear-gradient(90deg, #3D97A6, #6F80C7);  /* 文字に使うときは background-clip:text。印刷時は青の単色へ */

  /* フォーカス枠の2重構造（DADSの黒＋Yellow-300をブランド色へ。2026-10-18 朝倉様指示） */
  --ask-focus-ring-outer: var(--asakura-navy);   /* 外側4pxの線（旧 Black） */
  --ask-focus-ring-inner: var(--asakura-mist);   /* 内側2pxの線・強調面（旧 Yellow-300） */
}

/* ---- 5b. フォーカス表示: 2重構造と太さ・オフセットはDADSのまま、色だけブランドへ ----
 * 部品CSSは --color-neutral-black / --color-primitive-yellow-300 を直接参照するため、
 * フォーカス中の要素にだけ両トークンを再定義する（:root の値と他の用途は変えない）。
 * 明るい地では外側の紺が、紺の塗りボタン上では内側のミストが視認性を担う。
 * DADS公式は「フォーカス色は変更しない」としているが、朝倉様の明示指示により差し替えた。
 * 判定は scripts/check_contrast.py の「フォーカス」行（非文字3:1）で行う。 */
html :focus-visible,
html :where(.dads-u-focus-within-outline):has(:focus-visible),
html :where(.dads-u-focus-within-outline):focus-within {
  --color-neutral-black: var(--ask-focus-ring-outer);
  --color-primitive-yellow-300: var(--ask-focus-ring-inner);
}

/* ---- 6. ページの地と本文 ---- */
html {
  background-color: var(--ask-bg);
}
body {
  margin: 0;
  background-color: var(--ask-bg);
  color: var(--ask-text);
  font-family: var(--font-family-sans);
}

/* ---- 7. リンク: 行政の青 → ブランドの紺（訪問済み・押下中はDADSの慣習色のまま） ----
 * global.css / link.css / breadcrumb / accordion / disclosure / resource-list が primitive-blue を直接参照するため上書きする。
 * `html` を前置してDADS側より詳細度を1つ上げ、宣言順もDADSと同じ any-link → visited → hover → active にそろえる。
 * 公式側が `:any-link` 付きで書いている部品（link / breadcrumb / accordion / disclosure）は、こちらも `:any-link` を付けないと詳細度で負ける（2026-09-22 監査指摘で修正） */
html :where(a):any-link,
html .dads-link:any-link,
html .dads-breadcrumb__link:any-link,
html .dads-accordion__back-link:any-link,
html .dads-disclosure__back-link:any-link,
html .dads-resource-list__body:any-link .dads-resource-list__title,
html .dads-resource-list__title a {
  color: var(--ask-link);
}
html :where(a):visited,
html .dads-link:visited,
html .dads-breadcrumb__link:visited {
  color: var(--ask-link-visited);
}
@media (hover: hover) {
  html :where(a):hover,
  html .dads-link:hover,
  html .dads-breadcrumb__link:hover,
  html .dads-accordion__back-link:hover,
  html .dads-disclosure__back-link:hover,
  html .dads-resource-list__body:any-link:hover .dads-resource-list__title,
  html .dads-resource-list__title a:hover {
    color: var(--ask-link-hover);
  }
}
html :where(a):active,
html .dads-link:active,
html .dads-breadcrumb__link:active,
html .dads-accordion__back-link:active,
html .dads-disclosure__back-link:active,
html .dads-resource-list__body:any-link:active .dads-resource-list__title,
html .dads-resource-list__title a:active {
  color: var(--ask-link-active);  /* 現状はDADSの既定 orange-800 と同値。値を変えたときに部品側が取り残されないよう明示する（2026-09-22 再監査の指摘） */
}

/* ---- 8. 行政の青を直接参照する残りの部品 ---- */
html .dads-chip-label[data-color="blue"] {
  --_non-text: var(--color-key-700);
  --_bg: var(--color-key-50);
  --_text: var(--color-key-900);
  --_text-dark: var(--color-key-1000);
}
html .dads-image__image-area:any-link {
  outline-color: var(--color-key-900);
}
html .dads-notification-banner,
html .dads-notification-banner[data-type="info-1"] {
  --_base-color: var(--color-key-900);
  --_color-chip-color: var(--color-key-900);
}
html .dads-notification-banner[data-type="info-1"] .dads-button {
  --button-color: var(--color-key-900);
  --button-hover-color: var(--color-key-1000);
  --button-active-color: var(--color-key-1200);
  --button-outline-hover-bg-color: var(--color-key-200);
  --button-outline-active-bg-color: var(--color-key-300);
}
html .dads-switch-mode__rail {
  background-color: var(--color-key-100);
  border-color: var(--color-key-900);
}
html .dads-switch-mode__thumb {
  background-color: var(--color-key-900);
}
@media (hover: hover) {
  html .dads-switch-mode:hover .dads-switch-mode__rail {
    border-color: var(--color-key-1100);
  }
  html .dads-switch-mode:hover .dads-switch-mode__thumb {
    background-color: var(--color-key-1100);
  }
}

/* ---- 9. カード見本（card-example-1）: 公式例の画像面はシアン→紫のグラデーションのため、ブランドの淡いアイス→ミスト面へ ----
 * 見出しは h2 固定で書かれているので、セクション内で h3/h4 を使っても同じ見た目になるようにする */
html .dads-card-example-1__image {
  /* 大きい色面は濃くしない（ブランド方針）。淡いアイス→ミスト面＋紺のアイコン（アイコンは fill="currentColor" で書く） */
  background: linear-gradient(114deg, var(--color-key-50) 0%, var(--color-key-100) 100%);
  color: var(--color-key-900);
}
html .dads-card-example-1__main :is(h2, h3, h4) {
  margin: 0;
  min-width: 0;
  color: var(--ask-text);
  font-weight: bold;
  font-size: calc(20 / 16 * 1rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-decoration-thickness: calc(1 / 16 * 1rem);
  text-underline-offset: calc(3 / 16 * 1rem);
}
@media (hover: hover) {
  html .dads-card-example-1:hover .dads-card-example-1__main :is(h2, h3, h4) {
    text-decoration-thickness: calc(3 / 16 * 1rem);
  }
}
