/*! chief-fo.jp static site
 * Base: Digital Agency Design System (DADS) v2.18.2 / design-system-example-components-html v20260909 (MIT), modified.
 */
/* ==========================================================
   L1 Foundations — DADS v2.18.2 / design-system-example-components-html v20260909
   src/global.css から転記（トークン部分）。変更禁止。
   ========================================================== */
:root {
  color-scheme: light;
  --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-800: #0066be; --color-primitive-light-blue-900: #0055ad;
  --color-primitive-green-50: #e6f5ec; --color-primitive-green-800: #197a4b; --color-primitive-green-900: #115a36;
  --color-primitive-yellow-300: #ffd43d;
  --color-primitive-orange-800: #c74700;
  --color-primitive-magenta-900: #8b008b;
  --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;
  --font-family-sans: "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;
  --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-900: var(--color-primitive-blue-900); --color-key-1000: var(--color-primitive-blue-1000); --color-key-1200: var(--color-primitive-blue-1200);

  /* L5 Brand Slots — 第2段で差し替える変数はここだけ */
  --brand-primary: var(--color-key-900);
  --brand-primary-hover: var(--color-key-1000);
  --brand-accent: var(--color-neutral-solid-gray-800);
  --brand-heading-font: var(--font-family-sans);
  --brand-radius: calc(8 / 16 * 1rem);
  --brand-body-size: 1rem; /* 16px。高齢層向けは calc(18/16*1rem) */
  --kc-bg: var(--color-neutral-white);
  --kc-bg-sub: var(--color-neutral-solid-gray-50);
  --kc-fg: var(--color-neutral-solid-gray-900);
  --kc-fg-sub: var(--color-neutral-solid-gray-700);
  --kc-line: var(--color-neutral-solid-gray-420);
}

html { font-family: var(--font-family-sans); scrollbar-gutter: stable; }
body { margin: 0; background: var(--kc-bg); color: var(--kc-fg); font-size: var(--brand-body-size); line-height: 1.7; letter-spacing: 0.02em; font-family: var(--font-family-sans); }
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
img { max-width: 100%; height: auto; }
: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; }

/* ==========================================================
   L2 DADS components — HTML版リポジトリから転記。クラス名・値は変更しない。
   ========================================================== */
/* button */
.dads-button { --button-color: var(--brand-primary); --button-hover-color: var(--brand-primary-hover); --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[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); color: var(--color-neutral-white); } }
.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="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-size="lg"] { min-width: calc(136 / 16 * 1rem); min-height: calc(56 / 16 * 1rem); border-radius: var(--brand-radius); 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: var(--brand-radius); 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__icon { flex-shrink: 0; }

/* heading */
.dads-heading { color: var(--color-neutral-solid-gray-800); font-family: var(--brand-heading-font); }
.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="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"] { font-weight: bold; font-size: calc(18 / 16 * 1rem); line-height: 1.6; 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(--brand-primary); 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); }
.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); color: var(--kc-fg-sub); }
.dads-heading__heading { margin: 0; font: inherit; }

/* link */
.dads-link__icon { display: inline-block; width: calc(16 / 16 * 1rem); height: calc(16 / 16 * 1rem); vertical-align: -0.15em; }

/* list */
.dads-list { margin-top: 0; margin-bottom: 0; padding-left: calc(32 / 16 * 1rem); list-style-type: revert; }
.dads-list > li { --_spacing: 0; padding-top: var(--_spacing); padding-bottom: var(--_spacing); }
.dads-list[data-spacing="4"] > li { --_spacing: calc(4 / 16 * 1rem); }
.dads-list[data-spacing="8"] > li { --_spacing: calc(8 / 16 * 1rem); }

/* description-list */
.dads-description-list { margin-top: calc(16 / 16 * 1rem); margin-bottom: calc(16 / 16 * 1rem); display: grid; gap: calc(8 / 16 * 1rem) 0; overflow-wrap: anywhere; }
.dads-description-list dt { font-weight: bold; }
.dads-description-list dd { margin-left: calc(32 / 16 * 1rem); }

/* utility-link */
.dads-utility-link:any-link { display: block; width: fit-content; font-weight: normal; font-size: calc(16 / 16 * 1rem); line-height: 1.3; font-family: var(--font-family-sans); letter-spacing: 0; text-decoration: none; text-wrap: pretty; }
.dads-utility-link__label { color: var(--color-neutral-solid-gray-800); text-decoration: underline; text-decoration-thickness: calc(1 / 16 * 1rem); text-underline-offset: calc(3 / 16 * 1rem); }
.dads-utility-link:visited .dads-utility-link__label { color: var(--color-neutral-solid-gray-800); }
@media (hover: hover) { .dads-utility-link:hover .dads-utility-link__label { text-decoration-thickness: calc(3 / 16 * 1rem); } }
.dads-utility-link__tail-icon { display: inline-block; width: calc(16 / 16 * 1rem); height: calc(16 / 16 * 1rem); vertical-align: -0.15em; color: var(--color-neutral-solid-gray-900); }

/* divider */
.dads-divider { margin: 0; border: 0; border-top: 1px solid; opacity: 1; }
.dads-divider[data-color="solid-gray-420"] { border-top-color: var(--color-neutral-solid-gray-420); }
.dads-divider[data-style="solid"] { border-top-style: solid; }
.dads-divider[data-width="1"] { border-top-width: 1px; }

/* chip-label */
.dads-chip-label { display: inline-grid; grid-template-columns: auto auto; align-items: baseline; align-content: center; box-sizing: border-box; min-height: calc(32 / 16 * 1rem); border-radius: calc(8 / 16 * 1rem); padding: calc(3 / 16 * 1rem) calc(7 / 16 * 1rem); font-weight: normal; font-size: calc(16 / 16 * 1rem); line-height: 1; font-family: var(--font-family-sans); letter-spacing: 0.02em; overflow-wrap: anywhere; }
.dads-chip-label[data-style="outlined"] { border: 1px solid var(--_non-text, #000); background-color: var(--color-neutral-white); color: var(--_text, #000); }
.dads-chip-label[data-style="filled-1"] { border: 1px solid var(--_non-text, #000); background-color: var(--_bg, #eee); color: var(--_text-dark, #000); }
.dads-chip-label[data-color="gray"] { --_non-text: var(--color-neutral-solid-gray-700); --_bg: var(--color-neutral-solid-gray-50); --_text: var(--color-neutral-solid-gray-800); --_text-dark: var(--color-neutral-solid-gray-800); }
.dads-chip-label[data-color="blue"] { --_non-text: var(--color-primitive-blue-700); --_bg: var(--color-primitive-blue-50); --_text: var(--color-primitive-blue-700); --_text-dark: var(--color-primitive-blue-800); }
.dads-chip-label[data-color="green"] { --_non-text: var(--color-primitive-green-800); --_bg: var(--color-primitive-green-50); --_text: var(--color-primitive-green-800); --_text-dark: var(--color-primitive-green-900); }

/* hamburger-menu-button */
.dads-hamburger-menu-button { display: flex; align-items: center; column-gap: calc(4 / 16 * 1rem); width: fit-content; border: 0; border-radius: calc(6 / 16 * 1rem); background: transparent; padding: calc(4 / 16 * 1rem) calc(12 / 16 * 1rem) calc(6 / 16 * 1rem) calc(12 / 16 * 1rem); color: var(--color-neutral-solid-gray-800); font-weight: normal; font-size: calc(16 / 16 * 1rem); line-height: 1; font-family: var(--font-family-sans); letter-spacing: 0.02em; touch-action: manipulation; cursor: pointer; }
@media (hover: hover) { .dads-hamburger-menu-button:hover { background-color: var(--color-neutral-solid-gray-50); text-decoration: underline; text-underline-offset: calc(3 / 16 * 1rem); } }
.dads-hamburger-menu-button__icon { margin-top: calc(2 / 16 * 1rem); width: calc(24 / 16 * 1rem); height: calc(24 / 16 * 1rem); flex-shrink: 0; color: var(--color-neutral-black); }

/* horizontal-menu */
.dads-horizontal-menu { margin: 0; display: flex; align-items: stretch; padding: 0; color: var(--color-neutral-solid-gray-900); list-style-type: none; font-weight: bold; font-size: calc(16 / 16 * 1rem); line-height: 1.3; font-family: var(--font-family-sans); letter-spacing: 0; }
.dads-horizontal-menu__item { display: flex; align-items: stretch; position: relative; }
.dads-horizontal-menu__item-inner, .dads-horizontal-menu__item-inner:any-link { position: relative; display: flex; align-items: center; gap: calc(4 / 16 * 1rem); box-sizing: border-box; min-height: calc(64 / 16 * 1rem); border: 0; background-color: transparent; padding: calc(16 / 16 * 1rem) calc(20 / 16 * 1rem); color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
@media (hover: hover) { .dads-horizontal-menu__item-inner:hover { background-color: var(--color-neutral-solid-gray-50); } .dads-horizontal-menu__item-inner:hover::after { position: absolute; right: 0; bottom: 0; left: 0; border-bottom: 2px solid var(--color-neutral-black); content: ""; } }
.dads-horizontal-menu__item-inner[aria-current] { background-color: var(--color-neutral-white); color: var(--color-key-1000); }
.dads-horizontal-menu__item-inner[aria-current]::after { position: absolute; right: 0; bottom: 0; left: 0; border-bottom: 4px solid var(--brand-primary); content: ""; }

/* resource-list（お知らせ用） */
.dads-resource-list { display: flex; align-items: center; background: var(--color-neutral-white); color: var(--color-neutral-solid-gray-800); font-family: var(--font-family-sans); overflow-wrap: anywhere; --_border-color: var(--color-neutral-solid-gray-420); --_padding-block: calc(16 / 16 * 1rem); --_padding-inline: calc(16 / 16 * 1rem); }
.dads-resource-list[data-style="list"] { border: 1px solid transparent; border-bottom-color: var(--_border-color); }
.dads-resource-list__body { position: relative; z-index: 0; display: flex; flex-grow: 1; align-items: center; gap: calc(16 / 16 * 1rem); outline-offset: calc(-1 / 16 * 1rem); border-radius: inherit; padding: var(--_padding-block) var(--_padding-inline); color: inherit; text-decoration: none; }
.dads-resource-list__body > * { flex-shrink: 0; }
.dads-resource-list__contents { width: 0; display: flex; flex-grow: 1; flex-shrink: 1; flex-direction: column; gap: calc(4 / 16 * 1rem); font-weight: normal; font-size: calc(16 / 16 * 1rem); line-height: 1.3; letter-spacing: 0; }
.dads-resource-list__contents > * { max-width: 100%; }
.dads-resource-list__label { order: -1; }
.dads-resource-list__label > * { margin: 0; }
.dads-resource-list__title { margin: 0; color: var(--color-neutral-solid-gray-900); font-weight: bold; font-size: calc(20 / 16 * 1rem); line-height: 1.5; letter-spacing: 0.02em; }
.dads-resource-list__title a { color: var(--color-primitive-blue-1000); text-decoration: underline; text-decoration-thickness: calc(1 / 16 * 1rem); text-underline-offset: calc(3 / 16 * 1rem); }
@media (hover: hover) { .dads-resource-list__title a:hover { color: var(--color-primitive-blue-900); text-decoration-thickness: calc(3 / 16 * 1rem); } }
.dads-resource-list__support > * { margin: 0; }
.dads-resource-list__sub { flex-shrink: 0; font-weight: normal; font-size: calc(16 / 16 * 1rem); line-height: 1.3; letter-spacing: 0; }
.dads-resource-list__sub > * { margin: 0; }

/* ==========================================================
   L2 独自コンポーネント（kc-）＋ L3 レイアウト
   余白はDADSの8pxベースに従う。任意px禁止。
   ========================================================== */
.kc-container { max-width: calc(1120 / 16 * 1rem); margin-inline: auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.kc-section { padding-block: calc(64 / 16 * 1rem); }
@media (min-width: 768px) { .kc-section { padding-block: calc(96 / 16 * 1rem); } }
.kc-section--sub { background: var(--kc-bg-sub); }
.kc-section__head { display: grid; gap: calc(16 / 16 * 1rem); margin-bottom: calc(32 / 16 * 1rem); }
.kc-section__lead { margin: 0; max-width: calc(720 / 16 * 1rem); color: var(--kc-fg-sub); }
.kc-prose { max-width: calc(720 / 16 * 1rem); }
.kc-prose p { margin: 0 0 1em; }
.kc-prose p:last-child { margin-bottom: 0; }
.kc-actions { display: flex; flex-wrap: wrap; gap: calc(16 / 16 * 1rem); }
.kc-more { margin-top: calc(24 / 16 * 1rem); }

/* header */
.kc-header { background: var(--kc-bg); border-bottom: 1px solid var(--kc-line); position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; }
body::before { content: ""; position: fixed; inset: 0 0 auto; height: env(safe-area-inset-top, 0px); z-index: 30; background: var(--kc-bg); }
.kc-header__bar { display: flex; align-items: center; justify-content: space-between; gap: calc(16 / 16 * 1rem); min-height: calc(72 / 16 * 1rem); }
.kc-header__logo { display: flex; align-items: center; gap: calc(12 / 16 * 1rem); text-decoration: none; color: var(--kc-fg); font-weight: bold; line-height: 1.3; }
.kc-header__logo img { height: calc(40 / 16 * 1rem); width: auto; }
.kc-header__logo small { display: block; font-size: calc(14 / 16 * 1rem); font-weight: normal; color: var(--kc-fg-sub); }
.kc-header__nav { display: none; }
.kc-header__util { display: none; align-items: center; gap: calc(16 / 16 * 1rem); }
.kc-header__tel { font-weight: bold; font-size: calc(18 / 16 * 1rem); letter-spacing: 0.02em; color: var(--kc-fg); text-decoration: none; display: inline-flex; align-items: center; gap: calc(4 / 16 * 1rem); }
.kc-header__tel small { font-size: calc(14 / 16 * 1rem); font-weight: normal; color: var(--kc-fg-sub); }
.kc-header__sp { display: flex; align-items: center; gap: calc(8 / 16 * 1rem); }
@media (min-width: 1024px) {
  .kc-header__nav { display: block; }
  .kc-header__util { display: flex; }
  .kc-header__sp { display: none; }
  .kc-header__row2 { border-top: 1px solid var(--color-neutral-solid-gray-100); }
}
.kc-mobile-menu { display: none; border-top: 1px solid var(--kc-line); padding-block: calc(16 / 16 * 1rem); }
.kc-mobile-menu[data-open="true"] { display: block; }
.kc-mobile-menu ul { list-style: none; margin: 0; padding: 0; display: grid; }
.kc-mobile-menu li a { display: block; padding: calc(12 / 16 * 1rem) calc(8 / 16 * 1rem); color: var(--kc-fg); text-decoration: none; font-weight: bold; border-bottom: 1px solid var(--color-neutral-solid-gray-100); }
.kc-mobile-menu .kc-actions { margin-top: calc(16 / 16 * 1rem); }
@media (min-width: 1024px) { .kc-mobile-menu { display: none !important; } }

/* X1 hero */
.kc-hero { padding-block: calc(48 / 16 * 1rem); border-bottom: 1px solid var(--color-neutral-solid-gray-100); }
@media (min-width: 768px) { .kc-hero { padding-block: calc(80 / 16 * 1rem); } }
.kc-hero__grid { display: grid; gap: calc(32 / 16 * 1rem); align-items: center; }
@media (min-width: 768px) { .kc-hero__grid { grid-template-columns: 7fr 5fr; gap: calc(48 / 16 * 1rem); } }
.kc-hero__shoulder { margin: 0 0 calc(12 / 16 * 1rem); font-weight: bold; color: var(--brand-primary); font-size: calc(16 / 16 * 1rem); }
.kc-hero__title { margin: 0; font-family: var(--brand-heading-font); font-weight: bold; font-size: calc(32 / 16 * 1rem); line-height: 1.5; letter-spacing: 0.01em; text-wrap: balance; }
@media (min-width: 768px) { .kc-hero__title { font-size: calc(48 / 16 * 1rem); line-height: 1.4; letter-spacing: 0; } }
.kc-hero__lead { margin: calc(24 / 16 * 1rem) 0 calc(32 / 16 * 1rem); max-width: calc(640 / 16 * 1rem); font-size: calc(18 / 16 * 1rem); line-height: 1.6; }
.kc-hero__media { margin: 0; }
.kc-hero__media img { display: block; width: 100%; border-radius: var(--brand-radius); object-fit: cover; aspect-ratio: 4 / 3; }

/* X3 audience-card */
.kc-audience-list { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(24 / 16 * 1rem); }
@media (min-width: 768px) { .kc-audience-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kc-audience-card { position: relative; display: grid; align-content: start; gap: calc(12 / 16 * 1rem); min-width: 0; border: 1px solid var(--kc-line); border-radius: calc(16 / 16 * 1rem); background: var(--color-neutral-white); padding: calc(24 / 16 * 1rem); }
.kc-audience-card__eyebrow { margin: 0; font-size: calc(14 / 16 * 1rem); font-weight: bold; color: var(--brand-primary); letter-spacing: 0.04em; }
.kc-audience-card h3 { margin: 0; font-size: calc(22 / 16 * 1rem); line-height: 1.5; letter-spacing: 0.02em; font-family: var(--brand-heading-font); }
.kc-audience-card h3 a { color: var(--color-primitive-blue-1000); }
.kc-audience-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.kc-audience-card p { margin: 0; color: var(--kc-fg-sub); }
.kc-audience-card ul { margin: 0; padding-left: calc(20 / 16 * 1rem); color: var(--kc-fg); }
.kc-audience-card__more { margin-top: auto; padding-top: calc(8 / 16 * 1rem); font-weight: bold; color: var(--color-primitive-blue-1000); text-decoration: underline; text-decoration-thickness: calc(1 / 16 * 1rem); text-underline-offset: calc(3 / 16 * 1rem); }
.kc-audience-card__more::after { content: ""; display: inline-block; width: 1em; height: 1em; margin-left: calc(4 / 16 * 1rem); vertical-align: -0.15em; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18l6-6-6-6 1.4-1.4L17.8 12l-7.4 7.4Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 18l6-6-6-6 1.4-1.4L17.8 12l-7.4 7.4Z'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (hover: hover) { .kc-audience-card:hover { outline: 2px solid var(--color-neutral-black); outline-offset: -1px; background: var(--color-neutral-solid-gray-50); } .kc-audience-card:hover h3 a, .kc-audience-card:hover .kc-audience-card__more { text-decoration-thickness: calc(3 / 16 * 1rem); color: var(--color-primitive-blue-900); } }
.kc-audience-card:has(a: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); }
.kc-audience-card:has(a:focus-visible) a:focus-visible { outline: none; box-shadow: none; }

/* 相談窓口カード（DADSカード型のテキスト版） */
.kc-notice-card { display: grid; gap: calc(16 / 16 * 1rem); border: 1px solid var(--kc-line); border-left: calc(8 / 16 * 1rem) solid var(--brand-primary); border-radius: calc(16 / 16 * 1rem); background: var(--color-neutral-white); padding: calc(24 / 16 * 1rem); max-width: calc(880 / 16 * 1rem); }
@media (min-width: 768px) { .kc-notice-card { grid-template-columns: 1fr auto; align-items: center; padding: calc(32 / 16 * 1rem); } }
.kc-notice-card h3 { margin: 0 0 calc(8 / 16 * 1rem); font-size: calc(22 / 16 * 1rem); line-height: 1.5; }
.kc-notice-card p { margin: 0; color: var(--kc-fg-sub); }

/* X4 person-profile */
.kc-person { display: grid; gap: calc(24 / 16 * 1rem); align-items: start; }
@media (min-width: 768px) { .kc-person { grid-template-columns: calc(280 / 16 * 1rem) minmax(0, 1fr); gap: calc(48 / 16 * 1rem); } }
.kc-person__photo { margin: 0; }
.kc-person__photo img { display: block; width: 100%; max-width: calc(280 / 16 * 1rem); aspect-ratio: 1; object-fit: cover; border-radius: var(--brand-radius); border: 1px solid var(--kc-line); }
.kc-person__name { margin: 0 0 calc(4 / 16 * 1rem); font-size: calc(24 / 16 * 1rem); font-weight: bold; line-height: 1.5; }
.kc-person__role { margin: 0 0 calc(24 / 16 * 1rem); color: var(--kc-fg-sub); font-weight: bold; }
.kc-person__book { margin-top: calc(32 / 16 * 1rem); border: 1px solid var(--kc-line); border-radius: calc(16 / 16 * 1rem); padding: calc(24 / 16 * 1rem); display: grid; gap: calc(16 / 16 * 1rem); max-width: calc(720 / 16 * 1rem); }
@media (min-width: 640px) { .kc-person__book { grid-template-columns: calc(120 / 16 * 1rem) 1fr; } }
.kc-person__book img { width: 100%; border: 1px solid var(--kc-line); }
.kc-person__book h4 { margin: 0 0 calc(8 / 16 * 1rem); font-size: calc(18 / 16 * 1rem); line-height: 1.6; }
.kc-person__book p { margin: 0; }

/* X9 news-list */
.kc-news-list { list-style: none; margin: 0; padding: 0; display: grid; }
.kc-news-list .dads-resource-list__sub { color: var(--kc-fg-sub); min-width: calc(112 / 16 * 1rem); font-variant-numeric: tabular-nums; }
.kc-news-list .dads-resource-list__body { flex-wrap: wrap; }
.kc-news-list .dads-resource-list__title { font-size: calc(18 / 16 * 1rem); }
@media (max-width: 639px) { .kc-news-list .dads-resource-list__contents { width: 100%; } }

/* X8 office-info + X5 trust-logos */
.kc-office { display: grid; gap: calc(32 / 16 * 1rem); }
@media (min-width: 768px) { .kc-office { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(48 / 16 * 1rem); } }
.kc-office .dads-description-list { margin: 0; grid-template-columns: max-content 1fr; column-gap: calc(24 / 16 * 1rem); }
.kc-office .dads-description-list dd { margin: 0; }
@media (max-width: 479px) { .kc-office .dads-description-list { grid-template-columns: 1fr; } .kc-office .dads-description-list dt { margin-top: calc(8 / 16 * 1rem); } }
.kc-trust { display: grid; gap: calc(16 / 16 * 1rem); }
.kc-trust__title { margin: 0; font-size: calc(16 / 16 * 1rem); font-weight: bold; color: var(--kc-fg-sub); }
.kc-trust-logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: calc(16 / 16 * 1rem); }
.kc-trust-logos li { border: 1px solid var(--kc-line); border-radius: var(--brand-radius); background: var(--color-neutral-white); padding: calc(12 / 16 * 1rem) calc(16 / 16 * 1rem); display: grid; gap: calc(8 / 16 * 1rem); max-width: calc(260 / 16 * 1rem); }
.kc-trust-logos img { height: calc(48 / 16 * 1rem); width: auto; max-width: 100%; object-fit: contain; }
.kc-trust-logos span { font-size: calc(14 / 16 * 1rem); color: var(--kc-fg-sub); line-height: 1.5; }

/* X2 cta-band */
.kc-cta-band { background: var(--brand-primary); color: var(--color-neutral-white); padding-block: calc(48 / 16 * 1rem); }
@media (min-width: 768px) { .kc-cta-band { padding-block: calc(64 / 16 * 1rem); } }
.kc-cta-band__inner { display: grid; gap: calc(24 / 16 * 1rem); }
@media (min-width: 768px) { .kc-cta-band__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: calc(48 / 16 * 1rem); } }
.kc-cta-band h2 { margin: 0 0 calc(8 / 16 * 1rem); font-size: calc(28 / 16 * 1rem); line-height: 1.5; letter-spacing: 0.01em; font-family: var(--brand-heading-font); text-wrap: balance; }
.kc-cta-band p { margin: 0; }
.kc-cta-band .dads-button[data-type="solid-fill"] { --button-color: var(--color-neutral-white); color: var(--brand-primary); --button-hover-color: var(--color-key-50); }
.kc-cta-band .dads-button[data-type="solid-fill"]:hover { color: var(--brand-primary-hover); }
.kc-cta-band .dads-button[data-type="outline"] { background: transparent; color: var(--color-neutral-white); border-color: var(--color-neutral-white); --button-hover-color: var(--color-neutral-white); --button-outline-hover-bg-color: rgba(255,255,255,0.15); }
.kc-cta-band__tel { font-size: calc(14 / 16 * 1rem); opacity: 0.9; margin-top: calc(8 / 16 * 1rem); }
.kc-cta-band__assure { margin: 0; list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: calc(4 / 16 * 1rem) calc(16 / 16 * 1rem); font-size: calc(14 / 16 * 1rem); line-height: 1.5; opacity: 0.95; }
.kc-cta-band__assure li::before { content: "✓ "; }
.kc-cta-band .kc-actions + .kc-cta-band__assure { margin-top: calc(12 / 16 * 1rem); }
.kc-cta-band .kc-actions { flex-direction: column; align-items: stretch; }
.kc-cta-band .kc-actions .dads-button { width: 100%; min-width: calc(240 / 16 * 1rem); }
.kc-cta-band a:any-link:not(.dads-button) { color: var(--color-neutral-white); }

/* footer */
.kc-footer { background: var(--kc-bg-sub); border-top: 1px solid var(--kc-line); padding-block: calc(48 / 16 * 1rem) calc(32 / 16 * 1rem); font-size: calc(14 / 16 * 1rem); line-height: 1.3; color: var(--kc-fg-sub); }
.kc-footer__grid { display: grid; gap: calc(32 / 16 * 1rem); }
@media (min-width: 768px) { .kc-footer__grid { grid-template-columns: minmax(0, 1fr) auto; } }
.kc-footer__org { margin: 0 0 calc(12 / 16 * 1rem); font-size: calc(18 / 16 * 1rem); font-weight: bold; color: var(--kc-fg); line-height: 1.5; }
.kc-footer address { font-style: normal; line-height: 1.7; }
.kc-footer address a { color: var(--kc-fg); }
.kc-footer__badge { display: inline-block; margin-top: calc(12 / 16 * 1rem); }
.kc-footer__nav { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(12 / 16 * 1rem); }
.kc-footer__legal { margin-top: calc(32 / 16 * 1rem); padding-top: calc(16 / 16 * 1rem); border-top: 1px solid var(--color-neutral-solid-gray-200); display: flex; flex-wrap: wrap; gap: calc(16 / 16 * 1rem); justify-content: space-between; }
.kc-footer__legal ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: calc(16 / 16 * 1rem); }

/* accordion（DADS転記） */
.dads-accordion { --_icon-size: calc(20 / 16 * 1rem); border-bottom: 1px solid var(--color-neutral-solid-gray-420); }
@media (min-width: 48rem) { .dads-accordion { --_icon-size: calc(32 / 16 * 1rem); } }
.dads-accordion__summary { position: relative; display: block; padding: calc(8 / 16 * 1rem) calc(8 / 16 * 1rem) calc(8 / 16 * 1rem) calc(var(--_icon-size) + 0.75rem); 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; cursor: default; }
.dads-accordion__summary::marker { content: ""; }
.dads-accordion__summary::-webkit-details-marker { display: none; }
@media (min-width: 48rem) { .dads-accordion__summary { padding: calc(16 / 16 * 1rem) calc(16 / 16 * 1rem) calc(16 / 16 * 1rem) calc(var(--_icon-size) + calc(20 / 16 * 1rem)); font-size: calc(18 / 16 * 1rem); line-height: 1.6; } }
@media (hover: hover) { .dads-accordion__summary:hover:not(:focus-visible) { background-color: var(--color-neutral-solid-gray-50); } }
.dads-accordion__summary:focus-visible { outline: calc(4 / 16 * 1rem) solid var(--color-neutral-black); outline-offset: calc(2 / 16 * 1rem); border-radius: calc(4 / 16 * 1rem); background-color: var(--color-primitive-yellow-300); box-shadow: 0 0 0 calc(2 / 16 * 1rem) var(--color-primitive-yellow-300); }
.dads-accordion__icon { position: absolute; top: calc(8 / 16 * 1rem); left: calc(2 / 16 * 1rem); margin-top: calc((1lh - var(--_icon-size)) / 2); display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; width: var(--_icon-size); height: var(--_icon-size); border-radius: 50%; border: 1px solid currentcolor; background-color: var(--color-neutral-white); color: var(--color-key-1000); }
@media (min-width: 48rem) { .dads-accordion__icon { top: calc(14 / 16 * 1rem); left: calc(6 / 16 * 1rem); } }
.dads-accordion[open] .dads-accordion__icon { transform: rotate(180deg); }
.dads-accordion__icon-svg { margin-top: calc(2 / 16 * 1rem); width: calc(16 / 16 * 1rem); height: calc(16 / 16 * 1rem); pointer-events: none; }
@media (min-width: 48rem) { .dads-accordion__icon-svg { width: auto; height: auto; } }
.dads-accordion__summary :is(h1, h2, h3, h4, h5, h6) { margin: 0; font: inherit; font-weight: bold; }
.dads-accordion__content { padding: calc(16 / 16 * 1rem) calc(8 / 16 * 1rem) calc(16 / 16 * 1rem) calc(var(--_icon-size) + 0.75rem); }
@media (min-width: 48rem) { .dads-accordion__content { padding: calc(24 / 16 * 1rem) calc(16 / 16 * 1rem) calc(24 / 16 * 1rem) calc(var(--_icon-size) + 1.25rem); } }
.dads-accordion__content p { margin: 0 0 1em; }
.dads-accordion__content p:last-child { margin-bottom: 0; }

/* X7 faq */
.kc-faq { max-width: calc(880 / 16 * 1rem); border-top: 1px solid var(--color-neutral-solid-gray-420); }

/* 取り組み・パートナー（カード流用） */
.kc-card-list { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(24 / 16 * 1rem); }
@media (min-width: 768px) { .kc-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kc-card-list[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kc-card { position: relative; display: grid; align-content: start; gap: calc(8 / 16 * 1rem); min-width: 0; border: 1px solid var(--kc-line); border-radius: calc(16 / 16 * 1rem); background: var(--color-neutral-white); padding: calc(24 / 16 * 1rem); }
.kc-card h3 { margin: 0; font-size: calc(20 / 16 * 1rem); line-height: 1.5; letter-spacing: 0.02em; }
.kc-card h3 a { color: var(--color-primitive-blue-1000); }
.kc-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.kc-card p { margin: 0; color: var(--kc-fg-sub); }
.kc-card__logo { margin: 0 0 calc(8 / 16 * 1rem); }
.kc-card__logo img { height: calc(56 / 16 * 1rem); width: auto; max-width: 100%; object-fit: contain; }
@media (hover: hover) { .kc-card:has(a):hover { outline: 2px solid var(--color-neutral-black); outline-offset: -1px; background: var(--color-neutral-solid-gray-50); } .kc-card:hover h3 a { text-decoration-thickness: calc(3 / 16 * 1rem); color: var(--color-primitive-blue-900); } }
.kc-card:has(a: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); }
.kc-card:has(a:focus-visible) a:focus-visible { outline: none; box-shadow: none; }
.kc-card--static { background: var(--kc-bg-sub); }
.kc-audience-card__note { font-size: calc(14 / 16 * 1rem); color: var(--kc-fg-sub); }
.kc-hero__title em { font-style: normal; color: var(--brand-primary); }

/* DADS form components（転記） */
.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="md"] { gap: calc(8 / 16 * 1rem); }
.dads-form-control-label__label { align-self: start; padding: 0; font-weight: bold; }
.dads-form-control-label[data-size="md"] .dads-form-control-label__label { font-size: calc(17 / 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, #ec0000); }
.dads-form-control-label__support-text { margin-top: 0; margin-bottom: 0; color: var(--color-neutral-solid-gray-600); }
.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="md"] { height: 3rem; }
.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-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: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-select { 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-select__control { position: relative; display: block; width: fit-content; max-width: 100%; }
.dads-select__select { vertical-align: middle; box-sizing: border-box; border-radius: calc(8 / 16 * 1rem); border: 1px solid var(--color-neutral-solid-gray-600); background-color: var(--color-neutral-white); padding-right: calc(40 / 16 * 1rem); padding-left: calc(16 / 16 * 1rem); color: inherit; font: inherit; line-height: 1; letter-spacing: inherit; appearance: none; max-width: 100%; }
.dads-select__select[data-size="md"] { height: calc(48 / 16 * 1rem); }
.dads-select__select: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-select__select:hover { border-color: var(--color-neutral-black); } }
.dads-select__chevron { pointer-events: none; position: absolute; top: 0; right: calc(16 / 16 * 1rem); bottom: 0; margin-top: auto; margin-bottom: auto; width: calc(16 / 16 * 1rem); height: calc(16 / 16 * 1rem); }
.dads-checkbox { display: flex; align-items: start; gap: var(--_gap); width: fit-content; }
.dads-checkbox:has(.dads-checkbox__label:not(:empty)) { padding-top: calc(8 / 16 * 1rem); padding-bottom: calc(8 / 16 * 1rem); }
.dads-checkbox[data-size="md"] { --_gap: calc(8 / 16 * 1rem); --_checkbox-size: calc(32 / 16 * 1rem); --_checkbox-border-width: calc(2 / 16 * 1rem); --_checkbox-scale: calc(20 / 14); --_label-padding-top: calc(4 / 16 * 1rem); --_label-font-size: calc(16 / 16 * 1rem); }
.dads-checkbox__checkbox { display: flex; justify-content: center; align-items: center; flex-shrink: 0; width: var(--_checkbox-size); height: var(--_checkbox-size); border-radius: 12.5%; }
@media (hover: hover) { .dads-checkbox__checkbox:has(:not(:focus, :disabled):hover) { background-color: var(--color-neutral-solid-gray-420); } }
.dads-checkbox__input { --_base-color: var(--color-neutral-white); --_accent-color: var(--color-key-900); --_accent-hover-color: var(--color-key-1100, #000071); --_border-color: var(--color-neutral-solid-gray-600); --_border-hover-color: var(--color-neutral-black); --_check-color: var(--color-neutral-white); margin: 0; appearance: none; width: 75%; height: 75%; border-radius: calc(2 / 18 * 100%); background-color: var(--_base-color); background-clip: padding-box; border: var(--_checkbox-border-width) solid var(--_border-color); }
.dads-checkbox__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); }
.dads-checkbox__input:is(:checked, :indeterminate) { border-color: var(--_accent-color); background-color: var(--_accent-color); }
.dads-checkbox__input::before { display: none; width: calc(14 / 16 * 1rem); height: calc(14 / 16 * 1rem); background-color: var(--_check-color); transform-origin: left top; transform: scale(var(--_checkbox-scale, 1)); content: ""; }
.dads-checkbox__input:checked::before { display: block; clip-path: path("M5.6,11.2L12.65,4.15L11.25,2.75L5.6,8.4L2.75,5.55L1.35,6.95L5.6,11.2Z"); }
.dads-checkbox__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; }
/* DADS table（転記・抜粋） */
.dads-table { --_border-color: var(--color-neutral-solid-gray-420); --_padding: calc(20 / 16 * 1rem) calc(16 / 16 * 1rem); margin: 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; row-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; max-width: 100%; }
.dads-table__caption { font-weight: bold; font-size: calc(17 / 16 * 1rem); }
.dads-table__table { border-collapse: collapse; }
.dads-table__table :is(td, th) { padding: var(--_padding); text-align: left; vertical-align: baseline; }
.dads-table__table th { font-weight: bold; }
.dads-table__col-header, .dads-table__row-header { --_border-color: var(--color-neutral-solid-gray-500); background-color: var(--color-neutral-solid-gray-100); color: var(--color-neutral-solid-gray-900); }
.dads-table [data-width="full"] { width: 100%; }
.dads-table [data-cell-border=""] :where(td, th) { border: 1px solid var(--_border-color); }
:last-of-type > .dads-table__col-header { border-bottom: 1px solid var(--color-neutral-black); }
.dads-table__table ul { margin: 0; padding-left: calc(20 / 16 * 1rem); }
.dads-table .dads-list { padding-left: calc(20 / 16 * 1rem); }

/* kc: フォーム・料金表・特徴 */
.kc-form { display: grid; gap: calc(24 / 16 * 1rem); max-width: calc(720 / 16 * 1rem); }
.kc-form .dads-input-text__input, .kc-form .dads-textarea__textarea { width: 100%; }
.kc-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.kc-form__checks { display: grid; gap: 0 calc(16 / 16 * 1rem); grid-template-columns: repeat(auto-fill, minmax(calc(260 / 16 * 1rem), 1fr)); }
.kc-form__submit { display: grid; gap: calc(12 / 16 * 1rem); justify-items: start; }
.kc-form__submit .dads-button { min-width: calc(240 / 16 * 1rem); }
.kc-table-wrap { overflow-x: auto; max-width: 100%; }
.kc-price-table .dads-table__table { min-width: calc(640 / 16 * 1rem); }
.kc-feature { display: grid; gap: calc(32 / 16 * 1rem); }
@media (min-width: 768px) { .kc-feature { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(48 / 16 * 1rem); } }
.kc-feature__item { display: grid; gap: calc(16 / 16 * 1rem); align-content: start; }
.kc-feature__item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--brand-radius); border: 1px solid var(--kc-line); }
.kc-feature__item h3 { margin: 0; font-size: calc(22 / 16 * 1rem); line-height: 1.5; letter-spacing: 0.02em; }
.kc-feature__item .kc-prose p { margin: 0 0 0.75em; }
.kc-notice { border: 1px solid var(--kc-line); border-left: calc(8 / 16 * 1rem) solid var(--brand-accent); border-radius: calc(8 / 16 * 1rem); background: var(--color-neutral-white); padding: calc(20 / 16 * 1rem) calc(24 / 16 * 1rem); max-width: calc(880 / 16 * 1rem); }
.kc-notice h3 { margin: 0 0 calc(8 / 16 * 1rem); font-size: calc(18 / 16 * 1rem); line-height: 1.6; }
.kc-notice p { margin: 0; }
.kc-hero__media[data-shape="portrait"] img { aspect-ratio: 3 / 4; max-width: calc(360 / 16 * 1rem); margin-inline: auto; }
.kc-cta-band[data-tone="accent"] { background: var(--brand-accent); }
.kc-cta-band[data-tone="accent"] .dads-button[data-type="solid-fill"] { color: var(--brand-accent); }
.kc-cta-band[data-tone="accent"] .dads-button[data-type="solid-fill"]:hover { color: var(--brand-accent); }
.kc-header__util .dads-button[data-tone="accent"] { --button-color: var(--brand-accent); --button-hover-color: var(--brand-accent); }

/* L5 Brand overrides（このサイト固有） */

/* 問い合わせ導線なし版：静的カード・画像全体表示 */
.kc-audience-card--static h3 { color: var(--color-neutral-solid-gray-900); }
.kc-audience-card--static { background: var(--color-neutral-white); }
.kc-hero__grid { grid-template-columns: 1fr !important; }
/* FV直下バナー：トリミングせず全体表示 */
.kc-banner { padding-block: 0 calc(48 / 16 * 1rem); }
@media (min-width: 768px) { .kc-banner { padding-block: 0 calc(80 / 16 * 1rem); } }
.kc-banner figure { margin: 0; }
.kc-banner img { display: block; width: 100%; max-width: 760px; height: auto; border: 1px solid var(--kc-line); border-radius: var(--brand-radius); }
.kc-hero { border-bottom: 0; padding-bottom: calc(24 / 16 * 1rem); }
@media (min-width: 768px) { .kc-hero { padding-bottom: calc(32 / 16 * 1rem); } }
.kc-hero__lead { margin-bottom: 0; }
/* PCのみ意味の切れ目で改行（1行あたり約36字が入る幅を確保） */
.kc-br-pc { display: none; }
@media (min-width: 768px) {
  .kc-hero__lead { max-width: 40em; }
  .kc-br-pc { display: inline; }
}
.kc-footer__note { margin: calc(12 / 16 * 1rem) 0 0; color: var(--kc-fg-sub); }
/* サービスカード：静的（hoverで動かない） */
@media (hover: hover) { .kc-audience-card--static:hover { outline: none; background: var(--color-neutral-white); } }
/* 提携先：カード全体リンク（hoverで反応） */
.kc-partner-list { list-style: none; margin: calc(40 / 16 * 1rem) 0 0; padding: 0; display: grid; gap: calc(24 / 16 * 1rem); }
@media (min-width: 768px) { .kc-partner-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kc-partner { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: calc(8 / 16 * 1rem) calc(24 / 16 * 1rem); align-items: center; border: 1px solid var(--kc-line); border-radius: calc(16 / 16 * 1rem); background: var(--color-neutral-white); padding: calc(24 / 16 * 1rem); }
@media (max-width: 479px) { .kc-partner { grid-template-columns: 1fr; } }
.kc-partner__logo { margin: 0; }
.kc-partner__logo img { display: block; height: calc(56 / 16 * 1rem); width: auto; max-width: calc(200 / 16 * 1rem); object-fit: contain; }
.kc-partner__body { display: grid; gap: calc(4 / 16 * 1rem); min-width: 0; }
.kc-partner__eyebrow { margin: 0; font-size: calc(14 / 16 * 1rem); font-weight: bold; color: var(--kc-fg-sub); }
.kc-partner__desc { margin: 0; color: var(--kc-fg-sub); }
.kc-partner__link { font-weight: bold; font-size: calc(18 / 16 * 1rem); line-height: 1.5; }
.kc-partner__link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
@media (hover: hover) {
  .kc-partner:hover { outline: 2px solid var(--color-neutral-black); outline-offset: -1px; background: var(--color-neutral-solid-gray-50); }
  .kc-partner:hover .kc-partner__link { color: var(--color-primitive-blue-900); text-decoration-thickness: calc(3 / 16 * 1rem); }
}
.kc-partner:has(a: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); }
.kc-partner:has(a:focus-visible) a:focus-visible { outline: none; box-shadow: none; background: transparent; }
/* 事務所概要：1カラム */
.kc-office { grid-template-columns: 1fr !important; max-width: calc(880 / 16 * 1rem); }
.kc-person__photo img { aspect-ratio: auto; object-fit: contain; max-width: calc(280 / 16 * 1rem); }
.kc-header__logo img { height: calc(44 / 16 * 1rem); }
@media (min-width: 1024px) { .kc-header__bar { min-height: calc(80 / 16 * 1rem); } }

/* skip link: visible on keyboard focus */
.kc-skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--color-neutral-white); padding: 8px 16px; }
.kc-skip:focus { left: max(16px, env(safe-area-inset-left, 0px)); top: 8px; }
