:root {
  --color-white: #FFFFFF;
  --color-blue-pale: #D8EBF0;
  --color-blue-light: #3D7FC1;
  --color-blue: #0C66BF;
  --color-blue-dark: #1C547B;
  --color-navy: #1B3552;
  --color-red: #C72E2E;
  --color-orange: #ED824C;
  --color-green: #24904F;
  --color-green-dark: #58860D;
  --color-application-digital-tint: #F0F6FC;
  --color-application-paper-tint: #EDF7F1;
  --color-black: #1A1A1A;
  --color-primary: var(--color-blue);
  --color-primary-light: var(--color-blue-light);
  --color-primary-dark: var(--color-blue-dark);
  --color-secondary: var(--color-green);
  --color-accent: var(--color-orange);
  --color-text: var(--color-black);
  --color-surface: var(--color-white);
  --color-tint: var(--color-blue-pale);
  --font-sans: "Noto Sans", "Noto Sans JP", "Helvetica Neue", "Kozuka Gothic Pro", "小塚ゴシック Pro", sans-serif;
  --font-size-62: 62px;
  --font-size-49: 49px;
  --font-size-48: 48px;
  --font-size-45: 45px;
  --font-size-36: 36px;
  --font-size-34: 34px;
  --font-size-32: 32px;
  --font-size-28: 28px;
  --font-size-26: 26px;
  --font-size-24: 24px;
  --font-size-22: 22px;
  --font-size-20: 20px;
  --font-size-18: 18px;
  --font-size-16: 16px;
  --font-size-12: 12px;
  --space-md: 24px;
  --section-space: 95px;
  --content-width: 1080px;
  --radius-md: 16px;
  --radius-lg: 22px;
  --border-width: 2px;
  --font-body: var(--font-size-16);
  --font-title: 36px;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; overflow-x: clip; scroll-padding-top: clamp(104px, 6.888889vw, 124px); scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; overflow-x: clip; color: var(--color-text); background: var(--color-surface); font-family: var(--font-sans); font-size: var(--font-body); font-size-adjust: from-font; font-weight: 500; line-height: 1.8; }
body.is-menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--color-orange); outline-offset: 3px; }
.mobile-only { display: none; }

/* PCは1920px幅を基準に、配置・文字・余白を同じ比率で縮小する。 */
@media (min-width: 960px) {
  html { font-size: clamp(8px, .833333vw, 32px); }
}

.site-header { position: sticky; z-index: 100; inset-block-start: 0; background: transparent; border-bottom: 1px solid transparent; transition: background-color .25s ease, border-color .25s ease; }
.site-header.is-scrolled { background: var(--color-white); border-bottom: 1px solid var(--color-blue-pale); }
.site-header__inner { display: grid; grid-template-columns: 14% minmax(0, 86%); grid-template-areas: "brand nav"; align-items: center; width: min(100%, 1800px); height: clamp(104px, 6.888889vw, 124px); min-height: clamp(104px, 6.888889vw, 124px); margin-inline: auto; }
.site-header__brand-wrap { grid-area: brand; display: grid; justify-content: end; }
.site-header__brand { display: block; margin-right: clamp(24px, 2.777778vw, 50px); text-decoration: none; }
.site-header__brand img { width: clamp(135px, 8.666667vw, 156px); }
.site-header__nav { grid-area: nav; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 95%; gap: 8px clamp(10px, .888889vw, 16px); padding-inline: 8px; margin: 0 auto;}
.site-header__nav a { color: var(--color-blue-dark); font-size: 16px; font-weight: 500; line-height: 1.35; text-align: center; text-decoration: none; white-space: normal; }
.site-header__nav a:hover, .site-header__nav a:focus { color: var(--color-blue-dark); text-decoration: none; }
.site-header__nav .site-header__contact { display: inline-flex; flex: 0 0 clamp(120px, 8.333333vw, 150px); align-items: center; justify-content: center; width: clamp(120px, 8.333333vw, 150px); min-height: clamp(56px, 3.666667vw, 66px); color: var(--color-white); background: var(--color-accent); border: var(--border-width) solid var(--color-accent); border-radius: 99px; font-size: clamp(16px, 1.111111vw, 20px); font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; }
.site-header__nav .site-header__contact:hover, .site-header__nav .site-header__contact:focus, .site-header__nav .site-header__contact:focus-visible, .site-header__nav .site-header__contact:active { color: var(--color-white); background: var(--color-accent); border-color: var(--color-accent); box-shadow: none; text-decoration: none; transform: none; transition: none; }
.site-header__menu, .mobile-menu { display: none; }

@media (min-width: 960px) and (max-width: 1359px) {
  .site-header__inner { display: flex; gap: 24px; width: min(calc(100% - 40px), var(--content-width)); }
  .site-header__brand-wrap { display: block; }
  .site-header__brand { width: 135px; margin-right: 0; }
  .site-header__nav { display: none; }
  .site-header__menu { position: relative; z-index: 120; display: block; width: 48px; height: 48px; margin-left: auto; padding: 0; border: 0; background: transparent; cursor: pointer; }
  .site-header__menu span { position: absolute; left: 9px; right: 9px; height: 2px; background: var(--color-primary); transition: top .2s, transform .2s, opacity .2s; }
  .site-header__menu span:nth-child(1) { top: 14px; }
  .site-header__menu span:nth-child(2) { top: 23px; }
  .site-header__menu span:nth-child(3) { top: 32px; }
  .site-header__menu.is-open span:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); }
  .site-header__menu.is-open span:nth-child(2) { opacity: 0; }
  .site-header__menu.is-open span:nth-child(3) { top: 50%; transform: translateY(-50%) rotate(-45deg); }
  .mobile-menu { z-index: 110; display: block; position: fixed; inset: 0; overflow: hidden; background: rgba(0,0,0,.34); opacity: 0; pointer-events: none; transition: opacity .4s ease; }
  .mobile-menu.is-open { opacity: 1; pointer-events: auto; }
  .mobile-menu[hidden] { display: none; }
  .mobile-menu__nav { display: grid; width: min(520px, 70%); min-width: 320px; min-height: 100%; margin-left: auto; padding: 104px 28px 40px; overflow-y: auto; background: var(--color-white); transform: translateX(100%); transition: transform .4s ease; }
  .mobile-menu.is-open .mobile-menu__nav { transform: translateX(0); }
  .mobile-menu__nav a { min-height: 62px; padding: 16px 18px; color: var(--color-primary-dark); border-bottom: 1px solid var(--color-blue-pale); font-weight: 500; line-height: 1.45; text-decoration: none; }
}

.button { display: inline-flex; align-items: center; justify-content: center; padding: 18px 28px; text-decoration: none; }
.button:hover, .button:focus, .button:focus-visible, .button:active { box-shadow: none; text-decoration: none; transform: none; transition: none; }
.button--primary { color: var(--color-white); background: var(--color-accent); }
.button--primary:hover, .button--primary:focus, .button--primary:focus-visible, .button--primary:active { color: var(--color-white); background: var(--color-accent); }
.button--secondary { color: var(--color-white); background: var(--color-primary-light); }
.button--green { color: var(--color-white); background: var(--color-secondary); }
.button--green:hover, .button--green:focus, .button--green:focus-visible, .button--green:active { color: var(--color-white); background: var(--color-secondary); }
.button--white { color: var(--color-primary); background: var(--color-white); }

.hero { width: min(100%, var(--content-width)); margin-inline: auto; padding: 55px 0 46px; background: var(--color-white) url("img/mv-img-bg.png") center top / 85% auto no-repeat; }
.hero__inner { position: relative; width: min(100%, var(--content-width)); margin-inline: auto; text-align: center; }
.hero__content { position: relative; z-index: 2; left: 50%; width: 854px; margin-inline: 0; padding-top: 21px; color: var(--color-primary); transform: translateX(-50%); }
.hero__fiscal-year { position: absolute; z-index: 1; top: 0; left: 50%; display: flex; align-items: center; justify-content: center; width: max-content; height: 42px; margin: 0; padding-inline: 20px; color: var(--color-white); background: var(--color-primary); border-radius: 99px; font-size: var(--font-size-22); font-weight: 500; line-height: 1; transform: translateX(-50%); }
.hero__title-box { min-height: 180px; padding: 40px 30px; border: var(--border-width) solid var(--color-primary); border-radius: 32px; background: var(--color-white); }
.hero__title-box p { margin: 0; font-size: var(--font-size-34); font-weight: 500; line-height: 1.35; }
.hero__title-box h1 { margin: 2.4px 0 0; font-size: var(--font-size-45); line-height: 1.25; letter-spacing: .02em; }
.hero__message { margin: 30px 0 20px; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-36); font-weight: 500; line-height: 1.35; }
.hero__message-emphasis { font-size: 42px; }
.hero__lead { width: 100%; margin: 0; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-18); font-weight: 500; line-height: 1.6; }
.hero__illustration { position: absolute; z-index: 1; top: 61px; display: block; object-fit: contain; }
.hero__illustration--care { top: 80px; left: 50px; width: 190px; transform: translateX(-50%); z-index: 3; }
.hero__illustration--family { top: 70px; right: 60px; width: 150px; transform: translateX(50%); z-index: 3; }
.hero__benefits { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(2, 442px); justify-content: center; column-gap: 37px; width: 100%; margin: 35px auto; }
.hero__benefit-image { display: block; width: 100%; height: auto; }
.hero__note { grid-column: 1 / -1; width: 100%; margin: 15px 0 0; font-size: var(--font-size-16); font-weight: 400; line-height: 1.4; text-align: left; }
.hero__actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; width: 100%; margin-inline: auto; }
.hero__actions .button { gap: 15px; min-height: 59px; padding: 20px 16px; border-radius: 22px; font-size: var(--font-size-22); }
.hero__actions .button img { width: 47px; object-fit: contain; }
.hero__actions .button:nth-child(2) img { width: 68px; }
.hero__actions .button:nth-child(3) img { width: 30px; }
.hero__updates { display: flex; flex-flow: column; align-items: center; width: 100%; margin: 30px auto 0; text-align: left; }
.application-period h2, .news h2 { margin: 0; font-size: var(--font-size-24); font-weight: 500; }
.application-period p { display: flex; align-items: start; gap: 10px; margin: 10px 0 0; color: var(--color-red); }
.application-period__date { display: flex; flex-direction: column; }
.application-period__date b { display: flex; align-items: center; font-weight: 500; }
.application-period__date small { color: var(--color-red); font-size: var(--font-size-18); line-height: 1.2; }
.application-period__date small:last-child { align-self: center; margin-top: 5px; font-size: var(--font-size-12); }
.application-period__date strong { font-family: "Noto Sans", "Noto Sans JP", sans-serif; font-size: var(--font-size-49); line-height: 1; white-space: nowrap; }
.application-period__separator { font-size: var(--font-size-28); }
.application-period i { display: grid; place-items: center; width: 50px; aspect-ratio: 1; margin-left: 3px; color: var(--color-white); background: var(--color-red); border-radius: 50%; font-size: var(--font-size-22); font-style: normal; }
.application-period em { padding-top: 25px; font-size: var(--font-size-22); font-style: normal; }
.news { display: grid; align-items: center; grid-template-columns: auto 1fr; gap: 43px; margin-top: 40px; color: var(--color-primary); }
.news ul { margin: 0; padding: 0; color: var(--color-text); list-style: none; }
.news li { display: grid; grid-template-columns: 105px 1fr; gap: 30px; font-size: var(--font-size-20); font-weight: 400; line-height: 2.15; }

.section { padding: var(--section-space) 0 80px; }
.section--tint { background: var(--color-tint); }
.section__inner { width: min(calc(100% - 100px), var(--content-width)); margin-inline: auto; }
.section__inner--wide { width: min(calc(100% - 100px), var(--content-width)); }
.section-title { margin: 0; color: var(--color-primary); font-size: var(--font-title); font-weight: 600; line-height: 1.4; }
.section-title span { margin-left: 25px; font-size: var(--font-size-36); }
.section-lead { font-size: var(--font-size-20); font-weight: 400; }

.overview-flow { margin-top: 48px; }
.overview-flow img { width: 100%; }
.overview__download { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: min(100%, 400px); min-height: 88px; margin: 40px auto 0; padding: 10px 30px; color: var(--color-primary); background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--space-md); font-size: var(--font-size-20); font-weight: 500; line-height: 1.3; text-decoration: none; }
.overview__download:hover { color: var(--color-white); background: var(--color-primary); }

.scheme-detail { display: grid; gap: 48px; }
.scheme-detail__card { padding: 36px 40px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); }
.scheme-detail__item + .scheme-detail__item { margin-top: 24px; }
.scheme-detail__summary { position: relative; display: block; margin: 0; padding: 14px 18px; background: var(--color-blue-pale); border-radius: var(--radius-md); list-style: none; cursor: pointer; }
.scheme-detail__summary::-webkit-details-marker { display: none; }
.scheme-detail__summary::after { content: ""; position: absolute; top: 50%; right: 20px; width: 12px; height: 12px; border-right: 3px solid var(--color-primary); border-bottom: 3px solid var(--color-primary); transform: translateY(-70%) rotate(45deg); transition: transform .2s ease; }
.scheme-detail__item[open]:not(.is-closing) .scheme-detail__summary::after { transform: translateY(-30%) rotate(225deg); }
.scheme-detail__item h3 { display: flex; gap: 18px; align-items: flex-start; margin: 0; padding-right: 42px; font-size: var(--font-size-22); line-height: 1.45; }
.scheme-detail__item h3 span { flex: 0 0 auto; color: var(--color-primary); font-size: var(--font-size-28); line-height: 1.1; }
.scheme-detail__content { padding-top: 10px; overflow: hidden; }
.scheme-detail__item p, .scheme-detail__note { margin: 0; font-size: var(--font-size-16); font-weight: 400; line-height: 1.85; }
.scheme-services { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.scheme-services__group { padding: 22px 24px; background: var(--color-white); border: 1px solid var(--color-blue-pale); border-radius: var(--radius-md); }
.scheme-services__group h4 { display: flex; gap: 8px; margin: 0; color: var(--color-primary); font-size: var(--font-size-20); line-height: 1.45; }
.scheme-services__group h4 span { flex: 0 0 auto; }
.scheme-services__group ul { margin: 14px 0 0; padding-left: 1em; font-size: var(--font-size-16); font-weight: 400; line-height: 1.7; list-style-type: "・"; }
.scheme-services__group li + li { margin-top: 5px; }
.scheme-services__group strong { font-weight: 600; }
.scheme-services__group small { font-size: .85em; font-weight: 400; }
.scheme-detail__note { margin-top: 10px; }
.scheme-detail__note--emphasis { display: flex; align-items: center; margin-block: 25px; color: var(--color-text); font-weight: 600; }
.scheme-menu { display: grid; gap: 25px; margin: 0; padding: 0; list-style: none; counter-reset: scheme-menu; }
.scheme-menu--continued { counter-reset: scheme-menu 2; }
.scheme-menu li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 8px 18px; align-items: start; counter-increment: scheme-menu; }
.scheme-menu li::before { content: counter(scheme-menu); display: grid; place-items: center; width: 44px; aspect-ratio: 1; color: var(--color-white); background: var(--color-primary); border-radius: 50%; font-size: var(--font-size-22); font-weight: 600; line-height: 1; }
.scheme-menu strong { color: var(--color-primary); font-size: var(--font-size-22); line-height: 1.45; }
.scheme-menu span { grid-column: 2; font-size: var(--font-size-16); font-weight: 400; line-height: 1.75; margin-top: -18px;}

.calc-flow-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.calc-flow { min-width: 1080px; display: grid; grid-template-columns: 210px 32px auto auto auto auto 160px; align-items: center; gap: 18px; margin: 44px 0 0; padding: 34px 40px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-md); }
.calc-flow__stack { display: grid; gap: 10px; }
.calc-flow__stack span, .calc-flow strong { display: grid; place-items: center; min-height: 54px; padding: 8px 16px; color: var(--color-primary); border: var(--border-width) solid currentColor; font-size: var(--font-size-20); line-height: 1.2; text-align: center; }
.calc-flow__brace { display: block; width: 28px; height: auto; }
.calc-flow__text { font-size: var(--font-size-20); line-height: 1.35; text-align: center; }
.calc-flow__operator { color: var(--color-primary); font-size: var(--font-size-32); font-weight: 600; line-height: 1; }
.subsidy-calc__tables { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; min-width: 0; }
.subsidy-table-card { min-width: 0; padding: 30px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); box-shadow: none; }
.subsidy-table-card h3 { margin: 0 0 20px; color: var(--color-primary); font-size: var(--font-size-24); line-height: 1.35; }
.subsidy-table-card--combined { position: relative; margin-top: 60px; padding-top: 58px; }
.subsidy-table-card--combined > h3 { position: absolute; top: 0; left: 36px; margin: 0; padding: 9px 34px; color: var(--color-white); background: var(--color-primary); border-radius: 999px; font-size: var(--font-size-28); transform: translateY(-50%); }
.scheme-menu-section .subsidy-table-card--national-aid { margin-top: 12px; }
.subsidy-table-card--national-aid table { min-width: 1016px; table-layout: fixed; }
.subsidy-table-card--national-aid th { color: var(--color-white); background: var(--color-primary-dark); text-align: center; }
.subsidy-table-card--national-aid th:nth-child(1) { width: 5%; }
.subsidy-table-card--national-aid th:nth-child(2) { width: 31%; }
.subsidy-table-card--national-aid th:nth-child(3) { width: 15%; }
.subsidy-table-card--national-aid th:nth-child(4) { width: 49%; }
.subsidy-table-card--national-aid td { padding: 9px 12px; border-color: var(--color-blue-pale); }
.subsidy-table-card--national-aid td:nth-child(1), .subsidy-table-card--national-aid td:nth-child(3) { text-align: center; }
.subsidy-table-card--national-aid td:nth-child(3) { font-weight: 600; }
.subsidy-table-card__row--required td { background: rgba(199, 46, 46, .14); }
.subsidy-table-card__row--not-required td { background: rgba(61, 127, 193, .14); }
.national-aid-notice { font-size: var(--font-size-24); line-height: 1.6; }
.national-aid-notice p { margin: 0; }
.national-aid-notice__links { margin: 14px 0 0; padding-left: 1em; list-style-type: "・"; }
.national-aid-notice__links a { color: var(--color-primary); overflow-wrap: anywhere; text-decoration: none; }
.subsidy-table-card__section h4, .subsidy-table-card .subsidy-table-card__standards dt { margin: 0; color: var(--color-primary); font-size: var(--font-size-24); font-weight: 600; line-height: 1.45; }
.subsidy-table-card__lead { margin: 4px 0 20px; font-size: var(--font-size-18); font-weight: 400; line-height: 1.6; }
.subsidy-table-card .subsidy-table-card__standards { display: grid; gap: 26px; margin: 30px 0 0; }
.subsidy-table-card .subsidy-table-card__standards div { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: start; padding: 26px 0 0; border-top: 1px solid var(--color-blue-pale); border-bottom: 0; }
.subsidy-table-card .subsidy-table-card__standards div:nth-of-type(1) { padding-top: 0; border-top: 0; }
.subsidy-table-card .subsidy-table-card__standards dd { margin: 0; font-size: var(--font-size-18); font-weight: 400; line-height: 1.75; text-align: left; }
.subsidy-table-card__standards dd span { display: block; }
.subsidy-table-card .subsidy-table-card__standards dd.subsidy-table-card__amount-list { display: grid; grid-template-columns: max-content auto max-content; column-gap: .15em; justify-content: start; align-items: end; }
.subsidy-table-card__amount-separator { text-align: center; }
.subsidy-table-card__amount-label { font-weight: 600; }
.subsidy-table-card__amount-value { white-space: nowrap; }
.table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.calc-flow-scroll, .table-scroll, .overview-flow, .documents-matrix { scrollbar-width: none; }
.calc-flow-scroll::-webkit-scrollbar, .table-scroll::-webkit-scrollbar, .overview-flow::-webkit-scrollbar, .documents-matrix::-webkit-scrollbar { display: none; width: 0; height: 0; }
.table-scroll table { width: 100%; min-width: 500px; border-collapse: collapse; font-size: var(--font-size-16); line-height: 1.45; }
/* 支給額系テーブルは最大幅のまま。幅が足りなければ縮小せず横スクロール */
.subsidy-calc .table-scroll table,
.national-reference .table-scroll table { min-width: 1016px; }
.subsidy-table-card__section .table-scroll { overflow-x: visible; }
.subsidy-table-card__section .table-scroll table { min-width: 0; table-layout: fixed; }
.table-scroll th, .table-scroll td { padding: 5px; border: 1px solid #707070; text-align: left; }
.table-scroll th { color: var(--color-primary-dark); background: var(--color-blue-pale); font-weight: 600; }
.table-scroll thead th { text-align: center; }
.subsidy-table-card dl { display: grid; gap: 14px; margin: 0; }
.subsidy-table-card dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding-bottom: 14px; border-bottom: 1px solid var(--color-blue-pale); }
.subsidy-table-card dl div { border-bottom: 0;  padding-bottom: 0; }
.subsidy-table-card dt { color: var(--color-primary-dark); font-size: var(--font-size-16); font-weight: 600; }
.subsidy-table-card dd { margin: 0; font-size: var(--font-size-18); font-weight: 600; text-align: right; }
.payment-example__groups { display: grid; gap: 93px; margin-top: 93px; }
.payment-example__group { position: relative; padding: 38px 30px 30px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); }
.payment-example__group > h3 { position: absolute; top: 0; left: 36px; margin: 0; padding: 9px 34px; color: var(--color-white); background: var(--color-primary); border-radius: 22px 22px 0 0; font-size: var(--font-size-28); font-weight: 600; line-height: 1.35; transform: translateY(calc(-100% - var(--border-width))); }
.payment-example__items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-example__item { min-width: 0; padding: 0 30px; }
.payment-example__item:first-child { padding-left: 0; }
.payment-example__item + .payment-example__item { border-left: 1px solid var(--color-blue-pale); padding-right: 0; }
.payment-example__item h4 { margin: 0 0 24px; color: var(--color-primary); font-size: var(--font-size-22); font-weight: 600; line-height: 1.55; }
.payment-example__item dl { display: grid; gap: 14px; margin: 0; }
.payment-example__item dl div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: baseline; padding-bottom: 14px; border-bottom: 1px solid var(--color-blue-pale); }
.payment-example__item dl div:nth-of-type(2) { border-bottom: 0;  padding-bottom: 0; }
.payment-example__item dt { color: var(--color-primary-dark); font-size: var(--font-size-18); font-weight: 600; }
.payment-example__item dd { margin: 0; font-size: var(--font-size-22); font-weight: 600; text-align: right; }
.payment-example__item dl div:last-child { padding-top: 12px; border-bottom: 0; border-top: var(--border-width) solid var(--color-primary-dark); }
.payment-example__item dl div:last-child dt, .payment-example__item dl div:last-child dd { color: var(--color-primary); font-size: var(--font-size-24); }
.national-reference { min-width: 0; margin-top: 42px; padding: 30px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); }
.national-reference__course + .national-reference__course { margin-top: 30px; }
.national-reference__course h3 { margin: 0 0 10px; color: var(--color-primary); font-size: var(--font-size-22); line-height: 1.45; }
.national-reference__table { width: 100%; min-width: 900px; border-collapse: collapse; font-size: var(--font-size-16); line-height: 1.45; }
.national-reference__table th, .national-reference__table td { padding: 8px 12px; border: 1px solid #707070; }
.national-reference__table thead th { color: var(--color-primary-dark); background: var(--color-blue-pale); font-weight: 600; text-align: center; }
.national-reference__table thead th:first-child { width: 160px; }
.national-reference__table thead th:last-child { width: 190px; }
.national-reference__table tbody th { color: var(--color-primary-dark); background: var(--color-blue-pale); font-weight: 600; text-align: center; vertical-align: middle; }
.national-reference__table td:last-child { vertical-align: middle; }
.national-reference__table small { font-size: .9em; font-weight: 400; }
.national-reference__table .fee-cond { display: inline-block; min-width: 12em; white-space: nowrap; }
.national-reference__table .fee-cond--wide { min-width: 13em; }
.national-reference__table .hang { display: block; padding-left: 1em; text-indent: -1em; }
.national-reference__table .hang:nth-of-type(3) {text-indent: -0.9em;}
.national-reference__table .hang--gap { margin-top: 1em; }
.national-reference p { margin: 10px 0 0; line-height: 1.7; }

.application .section-lead strong { font-weight: 700; }
.application__panel { position: relative; margin-top: 64px; padding: 50px 30px 30px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); }
.application__check-title { position: absolute; top: 0; left: 36px; min-width: 302px; margin: 0; padding: 8px 35px; color: var(--color-white); background: var(--color-primary); border-radius: 22px; font-size: var(--font-size-28); font-weight: 500; line-height: 1.2; transform: translateY(-50%); text-align: center; }
.documents__lead { margin: 40px 0 30px; font-size: var(--font-size-20); font-weight: 500; }
.check-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; column-gap: 78px; margin: 0; padding-left: 0; list-style-position: inside; list-style-type: ""; font-size: var(--font-size-16); font-weight: 400; }
.application__panel li { padding-left: 1em; text-indent: -1em; }
.application__method-guide { max-width: 1000px; margin: 56px auto 0; color: var(--color-primary); font-size: var(--font-size-24); font-weight: 600; line-height: 1.6; text-align: center; text-wrap: balance; }
.application__method-guide small { color: var(--color-text); font-size: var(--font-size-20); font-weight: 500; }
.application__grid { display: block; margin-top: 90px; }
.method-card { position: relative; padding: 45px 32px 10px; background: var(--color-white); border: var(--border-width) solid currentColor; border-radius: var(--radius-md); }
.method-card--digital { color: var(--color-primary); }
.method-card--paper { color: var(--color-secondary); border-color: var(--color-green-dark); }
.method-card--paper { margin-top: 72px; }
.method-card > h3 { position: absolute; top: 0; left: 20px; min-width: 240px; margin: 0; padding: 10px 35px; color: var(--color-white); border-radius: 18px 18px 0 0; font-size: var(--font-size-24); font-weight: 500; line-height: 1.2; text-align: center; transform: translateY(-100%); }
.method-card--digital > h3 { background: var(--color-primary); }
.method-card--paper > h3 { background: var(--color-secondary); }
.method-card > .method-card__lead { margin: 0; color: var(--color-text); font-size: var(--font-size-20); font-weight: 400; }
.method-card__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; margin-top: 24px; }
.method-card li { font-weight: 400; color: var(--color-text); }
.method-card h4 { display: flex; align-items: center; gap: 8px; margin: 0; color: currentColor; font-size: var(--font-size-28); line-height: 1.15; }
.method-card__column h4:not(:first-child) { margin-top: 30px; }
.method-card h4::before { content: ""; flex: 0 0 32px; width: 32px; height: 32px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.method-card--digital h4::before { background-image: url("img/icon-img-check-blue.png"); }
.method-card--paper h4::before { background-image: url("img/icon-img-check-green.png"); }
.method-card h4 + ul, .method-card h4 + ol, .method-card h4 + p { font-size: var(--font-size-16); }
.method-card ul { padding-left: 1em; list-style-type: "・"; }
.method-card ol { padding-left: 0; list-style: none; }
.method-card__column p { color: var(--color-text); font-weight: 400; }
.method-card__column p.note-text { margin: 4px 0 8px; }
.method-card__column p + p.note-text { margin-top: -8px; }
.method-card__action { display: flex; justify-content: center; margin-top: 42px; padding: 20px; border-radius: var(--radius-lg); }
.method-card--digital .method-card__action { background: var(--color-application-digital-tint); }
.method-card--paper .method-card__action { background: var(--color-application-paper-tint); }
.method-card .button { gap: 30px; min-width: 350px; padding: 20px 55px; font-size: var(--font-size-22); border-radius: 22px; }
.method-card__button-icon { width: 8px; object-fit: contain; }
.documents { margin-top: 64px; }
.documents-required .documents-detail, .documents-section .documents { margin-top: 0; }
.documents__lead { margin: 10px 0 40px; }
.documents__panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px 22px; margin-top: 0; padding: 45px 30px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--space-md); }
.documents__panel a { display: flex; align-items: center; justify-content: space-between; gap: 5px; min-height: 88px; padding: 10px 30px; color: var(--color-primary); border: var(--border-width) solid var(--color-primary); border-radius: var(--space-md); font-size: var(--font-size-20); font-weight: 500; line-height: 1.3; text-decoration: none; }
.documents__download-icon { flex: 0 0 auto; width: 20px; height: auto; }
.documents__panel a small { display: inline-block; font-size: 14px; line-height: 1.35; }
.documents__panel a:hover { color: var(--color-white); background: var(--color-primary); }
.documents-detail { display: grid; gap: 34px; min-width: 0; margin-top: 75px; }
.documents-detail__card { min-width: 0; padding: 30px 34px; background: var(--color-white); border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); }
.documents-detail__card h3 { margin: 25px 0 15px; color: var(--color-primary); font-size: var(--font-size-22); line-height: 1.45; }
.documents-detail__card h3:nth-of-type(1) { margin-top: 0; }
.documents-detail__card h4 { margin: -6px 0 10px; color: var(--color-black); font-size: var(--font-size-18); line-height: 1.45; }
.documents-detail__card ul + h4 { margin-top: 28px; }
.documents-detail__card p, .documents-detail__card li { font-size: var(--font-size-16); font-weight: 400; line-height: 1.75; margin: 0 0;}
.documents-detail__card ul { margin: 0; padding-left: 1em; list-style-type: "○"; }
.documents-detail__anchor { display: inline-flex; margin: 16px 0 20px; padding: 10px 24px; color: var(--color-white); background: var(--color-primary); border-radius: 99px; font-size: var(--font-size-16); text-decoration: none; }
.documents-detail__breakdown { margin-top: 6px !important; list-style: none !important; }
.documents-detail__breakdown li { display: block; }
.documents-detail__breakdown li span:first-child { display: inline-block; min-width: 33em; white-space: nowrap; }
.documents-matrix { overflow-x: visible; }
.documents-matrix table { width: 100%; min-width: 0; table-layout: fixed; }
.documents-matrix col:not(:first-child) { width: 35px; }
.documents-matrix th:first-child, .documents-matrix td:first-child { overflow-wrap: anywhere; }
.documents-matrix th { text-align: center; vertical-align: middle; }
.documents-matrix td:not(:first-child) { text-align: center; }
.documents-matrix__notes { display: grid; gap: 5px; margin-top: 18px; }
.note-text { padding-left: 1em; text-align: left; text-indent: -0.85em; font-size: var(--font-size-16); line-height: 1.5; }
.national-reference p.note-text, .documents-detail__card p.note-text { font-size: var(--font-size-16); font-weight: 400; line-height: 1.5; }
.note-text--numbered { padding-left: calc(2em + 0.7ch); text-indent: calc(-2em - 0.7ch); }
.documents-matrix__notes p { margin: 0; }

.support__lead { margin: 14px 0 0; font-size: var(--font-size-20); line-height: 1.35; }
.support__lead strong { font-weight: 500; }
.support__lead span { color: var(--color-primary); }
.support__panel { position: relative; margin-top: 64px; padding: 60px 36px 30px; border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-lg); }
.support__panel-title { position: absolute; top: 0; left: 36px; min-width: 500px; margin: 0; padding: 8px 35px; color: var(--color-white); background: var(--color-primary); border-radius: 22px; font-size: var(--font-size-24); font-weight: 500; line-height: 1.2; text-align: center; transform: translateY(-50%); }
.support__intro { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: center; gap: 55px; padding-inline: 20px; }
.support__image { width: 250px; }
.support__intro-text p { margin: 0; font-size: var(--font-size-16); font-weight: 400; line-height: 1.55; }
.support__intro-text p > strong { font-size: var(--font-size-22); font-weight: 600; }
.support__intro-text p + p { margin-top: 18px; }
.support__recommend { position: relative; margin-top: 45px; padding: 26px 35px 18px; border: var(--border-width) solid var(--color-primary); border-radius: var(--radius-md); }
.support__recommend-title { position: absolute; top: 0; left: 35px; margin: 0; padding: 0 28px; color: var(--color-primary); background: var(--color-white); font-size: var(--font-size-22); font-weight: 600; line-height: 1.35; transform: translateY(-50%); }
.support__recommend ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); grid-auto-flow: column; column-gap: 70px; margin: 0; padding-left: 1em; font-size: var(--font-size-16); font-weight: 400; line-height: 1.75; list-style-type: "・"; }
.support__content-title { margin: 30px 0 14px; font-size: var(--font-size-24); font-weight: 700; }
.support__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 35px; }
.support__grid article { display: flex; flex-direction: column; border-radius: 10px; }
.support__grid h4 { margin: 0; padding: 8px 20px; color: var(--color-white); font-size: var(--font-size-20); font-weight: 500; background: var(--color-primary); border: var(--border-width) solid var(--color-primary); border-radius: 8px 8px 0 0; }
.support__grid p { flex: 1; min-height: 93px; margin: 0; padding: 12px 20px 20px; font-size: var(--font-size-16); font-weight: 400; line-height: 1.6; border-right: 1px solid #707070; border-bottom: 1px solid #707070; border-left: 1px solid #707070; border-radius: 0 0 8px 8px; }
.support__download { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 16px; padding: 14px 24px; color: var(--color-primary); border: var(--border-width) solid var(--color-primary); border-radius: var(--space-md); font-size: var(--font-size-18); font-weight: 500; line-height: 1.3; text-decoration: none; }
.support__download:hover { color: var(--color-white); background: var(--color-primary); }
.support__form { max-width: 640px; margin-inline: auto; overflow: hidden; border-radius: var(--radius-md); }
.support__form-iframe { display: block; width: 100%; max-width: 100%; height: 1100px; border: none; }
@media (min-width: 1180px) {
  .support__layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .support__main { min-width: 0; }
  .support__intro { grid-template-columns: 170px minmax(0, 1fr); grid-template-areas: "quote quote" "image text"; gap: 20px 24px; padding-inline: 0; }
  .support__image { grid-area: image; width: 170px; }
  .support__intro-text { display: contents; }
  .support__intro-text p:first-child { grid-area: quote; }
  .support__intro-text p > strong { font-size: var(--font-size-20); }
  .support__intro-text br.desktop-only { display: none; }
  .support__intro-text p + p { grid-area: text; margin-top: 0; }
  .support__recommend { margin-top: 40px; padding: 26px 24px 18px; }
  .support__recommend-title { left: 24px; padding: 0 16px; }
  .support__recommend ul { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .support__grid { gap: 20px; }
  .support__grid h4 { padding: 8px 16px; }
  .support__grid p { min-height: 0; padding: 12px 16px 16px; }
  .support__aside { display: flex; flex-direction: column; min-width: 0; }
  .support__aside .support__content-title { margin-top: 0; }
  .support__aside .support__form { position: relative; flex: 1; width: 100%; max-width: none; min-height: 600px; margin: 0; overflow-y: auto; }
  .support__aside .support__form-iframe { position: absolute; top: 0; left: 0; height: 1250px; }
}

.steps .section__inner--wide { width: min(calc(100% - 100px), 1700px); margin-inline: auto; }
.steps__intro { width: min(100%, 890px); margin-inline: auto; }
.steps__diagram { width: 100%; margin: 40px auto 0; }
.steps__diagram img { display: block; width: 100%; height: auto; }
.steps__note { margin: 24px 0 0; font-size: var(--font-size-18);}

.coming-soon { min-height: 440px; }
.coming-soon__title { margin: 0; font-size: var(--font-size-28); font-weight: 500; }
.coming-soon strong { display: block; margin-top: 112px; color: #7B7B7B; font-family: "Helvetica Neue", var(--font-sans); font-size: var(--font-size-36); text-align: center; }
.faq__lead { margin: 25px 0; font-size: var(--font-size-20); font-weight: 500; line-height: 1.55; }
.faq__search label { position: absolute; width: 1px; height: 1px; -webkit-clip-path: inset(50%); clip-path: inset(50%); overflow: hidden; }
.faq__search input { width: 100%; min-height: 52px; margin: 0 0 36px; padding: 12px 16px 12px 44px; background: var(--color-white) url("img/search.png") 15px center / 22px 23px no-repeat; border: 1px solid #707070; border-radius: 10px; font-size: var(--font-size-16); font-weight: 400; }
.faq__list { margin-inline: 24px; }
.faq__list details { border-top: 1px solid #D7D7D7; }
.faq__list details:last-of-type { border-bottom: 1px solid #D7D7D7; }
.faq__list summary { position: relative; display: flex; align-items: center; gap: 30px; min-height: 106px; padding: 18px 64px 18px 0; color: var(--color-navy); font-size: var(--font-size-24); font-weight: 600; cursor: pointer; list-style: none; }
.faq__list summary::-webkit-details-marker { display: none; }
.faq__list summary::before, .faq__list summary::after { content: ""; position: absolute; top: 50%; right: 16px; width: 20px; height: 2px; background: #7B7B7B; transform: translateY(-50%); transform-origin: center; transition: transform .3s ease; }
.faq__list summary::before { transform: translateY(-50%) rotate(90deg); }
.faq__list details[open]:not(.is-closing) summary::before { transform: translateY(-50%) rotate(180deg); }
.faq__list summary span { display: grid; place-items: center; flex: 0 0 55px; aspect-ratio: 1; color: var(--color-primary); border: var(--border-width) solid #9BC4EC; border-radius: 50%; font-size: var(--font-size-18); }
.faq__content { overflow: hidden; }
.faq__answer { display: flex; gap: 30px; min-height: 0; padding: 0 64px 37px 0; overflow: hidden; color: var(--color-navy); }
.faq__answer b { display: grid; place-items: center; flex: 0 0 55px; height: 55px; color: var(--color-white); background: var(--color-primary); border-radius: 50%; font-size: var(--font-size-16); }
.faq__answer p { margin: 0; font-size: var(--font-size-20); line-height: 1.5; }
.faq__answer a { color: var(--color-primary); word-break: break-all; }
.faq__empty { padding: 32px; text-align: center; }

.site-footer { padding: 70px 50px 60px; color: var(--color-white); background: var(--color-primary); text-align: center; }
.site-footer__inner { width: min(100%, var(--content-width)); margin-inline: auto; }
.site-footer__title { margin: 0; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-32); font-weight: 500; }
.site-footer__lead { margin-inline: auto; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-20); font-weight: 500; }
.site-footer__faq-lead { margin: 60px 0 0 ; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-20); font-weight: 500; }
.site-footer .button { margin: 30px 0 75px; padding: 25px 70px; font-size: var(--font-size-24); font-weight: 500; border-radius: 22px; }
.site-footer__faq-button { gap: 15px; }
.site-footer__faq-button img { width: 10px; height: auto; }
.site-footer__office-title { margin: 0; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-36); font-weight: 500; }
.site-footer__contact { display: grid; grid-template-columns: 1fr 1fr; margin: 60px auto 60px; }
.site-footer__contact > * { padding: 0 70px; font-style: normal; }
.site-footer__contact > * + * { border-left: 1px solid rgba(255,255,255,.5); }
.site-footer__contact b { display: inline-block; padding: 2px 20px; color: var(--color-black); font-size: var(--font-size-20); font-weight: 500; background: var(--color-blue-pale); border-radius: 99px; }
.site-footer__contact a { margin: 30px 0 0; display: block; font-size: var(--font-size-62); font-weight: 600; line-height: 1; text-decoration: none; }
.site-footer__contact p { margin: 30px 0 0; font-size: var(--font-size-20); font-weight: 500; line-height: 2.2; }
.site-footer__submission-building { display: inline-block; }
.site-footer__submission-recipient { display: inline-block; line-height: inherit; }
.site-footer__contact > address { padding-inline: 30px; text-align: center; }
.site-footer__contact > address p { text-align: left; line-height: 1.7; }
.site-footer__related-title { margin: 0; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-32); font-weight: 500; }
.site-footer__related-groups { display: grid; grid-template-columns: repeat(2, auto); justify-content: center; gap: 36px 70px; margin: 40px auto 80px; text-align: left; }
.site-footer__related-group-title { margin: 0; font-family: "Noto Sans", var(--font-sans); font-size: var(--font-size-22); font-weight: 500; line-height: 1.5; }
.site-footer__related-links { margin: 8px 0 0; padding-left: 1em; font-size: var(--font-size-20); font-weight: 500; list-style-type: "・"; }
.site-footer__contact a:hover, .site-footer__related-links a, .site-footer__related-links a:hover { text-decoration: none; }
.site-footer__links { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; font-size: var(--font-size-20); font-weight: 500; line-height: 1; }
.site-footer__links a, .site-footer__links a:hover { text-decoration: none; }
.site-footer__links a + a { border-left: 1px solid var(--color-white); padding-left: 18px; }

@media (min-width: 1360px) {
  .site-header__inner { grid-template-columns: 150px minmax(0, 1fr); column-gap: 20px; width: min(calc(100% - 80px), 1500px); }
  .site-header__brand { margin-right: 0; }
  .site-header__nav { width: 100%; gap: 12px clamp(20px, 2vw, 36px); padding-inline: 8px; }
  .site-header__nav a { white-space: nowrap; }
}

@media (max-width: 959px) {
  .steps__diagram { width: min(370px, calc(100vw - 50px)); margin-inline: auto; }
  html { scroll-padding-top: 114px; }
  .hero { width: 100%; padding-inline: 16px; }
  .site-header__inner { display: flex; gap: 24px; width: min(calc(100% - 40px), var(--content-width)); height: 114px; min-height: 114px; }
  .site-header__brand-wrap { display: block; }
  .site-header__brand { width: 114px; }
  .site-header__brand { font-size: var(--font-size-20); }
  .site-header__nav { display: none; }
  .site-header__menu { position: relative; z-index: 120; display: block; width: 48px; height: 48px; margin-left: auto; padding: 0; border: 0; background: transparent; cursor: pointer; }
  .site-header__menu span { position: absolute; left: 9px; right: 9px; height: 2px; background: var(--color-primary); transition: top .2s, transform .2s, opacity .2s; }
  .site-header__menu span:nth-child(1) { top: 14px; }
  .site-header__menu span:nth-child(2) { top: 23px; }
  .site-header__menu span:nth-child(3) { top: 32px; }
  .site-header__menu.is-open span:nth-child(1) { top: 50%; transform: translateY(-50%) rotate(45deg); }
  .site-header__menu.is-open span:nth-child(2) { opacity: 0; }
  .site-header__menu.is-open span:nth-child(3) { top: 50%; transform: translateY(-50%) rotate(-45deg); }
  .mobile-menu { z-index: 110; display: block; position: fixed; inset: 0; overflow: hidden; background: rgba(0,0,0,.34); opacity: 0; pointer-events: none; transition: opacity .4s ease; }
  .mobile-menu.is-open { opacity: 1; pointer-events: auto; }
  .mobile-menu[hidden] { display: none; }
  .mobile-menu__nav { display: grid; width: min(520px, 70%); min-width: 320px; min-height: 100%; margin-left: auto; padding: 114px 28px 40px; overflow-y: auto; background: var(--color-white); transform: translateX(100%); transition: transform .4s ease; }
  .mobile-menu.is-open .mobile-menu__nav { transform: translateX(0); }
  .mobile-menu__nav a { min-height: 62px; padding: 16px 18px; color: var(--color-primary-dark); border-bottom: 1px solid var(--color-blue-pale); font-weight: 500; line-height: 1.45; text-decoration: none; }
  .hero__inner { width: 100%; }
  .hero__content { left: auto; width: 100%; margin-inline: auto; transform: none; }
  .hero__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 0; }
  .hero__actions, .application__grid { gap: 20px; }
  .check-list { column-gap: 20px; }
  .documents__panel { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 680px) {
  .subsidy-table-card--national-aid th:nth-child(1) { width: 8%; }
  .subsidy-table-card--national-aid th:nth-child(4) { width: 46%; }
  html { scroll-padding-top: 92px; }
  .desktop-only { display: none; }
  .mobile-only { display: initial; }
  html, body { overflow-x: hidden; }
  body { font-size: 14px; line-height: 1.7; }
  .site-header { position: fixed; z-index: 130; inset: 0 0 auto; width: 100%; background: transparent; border-bottom: 0; }
  .site-header__inner { justify-content: space-between; width: 100%; height: 92px; min-height: 92px; padding-inline: 25px; }
  .site-header__brand-wrap { display: block; }
  .site-header__brand { width: 114px; margin-right: 0; }
  .site-header__menu { width: 30px; height: 24px; }
  .site-header__menu span { left: 0; right: 0; background: var(--color-black); }
  .site-header__menu span:nth-child(1) { top: 0; }
  .site-header__menu span:nth-child(2) { top: 11px; }
  .site-header__menu span:nth-child(3) { top: 22px; }
  .mobile-menu__nav { width: 70%; min-width: 220px; padding: 92px 17px 32px; }
  .mobile-menu__nav a { min-height: 54px; padding: 14px 12px; font-size: 15px; }
  .hero { width: 100vw; padding: 108px 11px 34px; overflow: hidden; background: var(--color-white) url("img/spTop-bg.png") top center / 100% auto no-repeat; }
  .hero__inner { width: 100%; max-width: 390px; margin-inline: auto; overflow: visible; }
  .hero__content { z-index: auto; left: auto; width: 100%; min-width: 0; margin-inline: auto; padding-top: 0; transform: none; }
  .hero__fiscal-year { position: relative; top: auto; left: auto; z-index: 4; width: calc(100% - 58px); height: 34px; margin: 0 auto -17px; padding-inline: 12px; font-size: 17px; white-space: nowrap; transform: none; }
  .hero__title-box { min-height: 320px; padding: 46px 24px 30px; border-width: var(--border-width); border-radius: 28px; background: rgba(255,255,255,.9); }
  .hero__title-box p { position: relative; z-index: 4; font-size: 26px; line-height: 1.35; overflow-wrap: anywhere; white-space: normal; }
  .hero__title-box h1 { position: relative; z-index: 4; margin: 20px auto 0; color: var(--color-primary); font-size: 34px; line-height: 1.25; letter-spacing: 0; overflow-wrap: anywhere; white-space: normal; }
  .hero__illustration { z-index: 3; display: block; top: 245px; transform: none; }
  .hero__illustration--care { left: -15px; width: 120px; margin-top: 10px; }
  .hero__illustration--family { right: 0px; width: 100px; }
  .hero__message { max-width: 340px; margin: 118px auto 36px; font-size: 28px; line-height: 1.5; }
  .hero__message-emphasis { font-size: 28px; }
  .hero__message-key { font-size: 38px; }
  .hero__lead { width: calc(100% - 30px); margin-inline: auto; font-size: 16px; line-height: 2.15; }
  .hero__lead br { display: none; }
  .hero__benefits, .hero__actions, .hero__updates, .application__grid, .support__grid, .site-footer__contact { grid-template-columns: 1fr; width: 100%; }
  .hero__benefits { display: flex; flex-direction: column; gap: 14px; min-width: 0; margin: 54px auto 0; }
  .hero__actions { gap: 21px; width: min(100%, 320px); margin: 31px auto 0; }
  .hero__actions .button { width: 100%; max-width: 320px; min-width: 0; height: 91px; min-height: 91px; gap: 12px; padding: 12px 14px; border-radius: 14px; font-size: 20px; }
  .hero__actions .button img { width: 31px; }
  .hero__actions .button:nth-child(2) img { width: 38px; }
  .hero__actions .button:nth-child(3) img { width: 24px; }
  .hero__updates { display: block; width: min(100%, 320px); margin: 42px auto 0; }
  .hero__note { width: 100%; margin-top: -5px; font-size: 14px; line-height: 1.5; text-align: center; }
  .application-period h2 { font-size: 19px; }
  .application-period p { flex-wrap: nowrap; gap: 6px; margin-top: 8px; }
  .application-period__date small { font-size: 14px; }
  .application-period__date strong { font-size: min(36px, 7.6vw); letter-spacing: 0; }
  .application-period__separator { margin-inline: 0; font-size: min(20px, 4.6vw); }
  .application-period i { width: min(38px, 9vw); height: min(38px, 9vw); margin-left: 2px; font-size: min(17px, 4.2vw); }
  .application-period em { padding-top: 20px; font-size: 18px; }
  .application-period__date small:last-child { font-size: 10px; }
  .news { display: block; margin-top: 52px; }
  .news h2 { margin-bottom: 28px; color: var(--color-primary); font-size: 24px; line-height: 1.35; }
  .news li { display: block; margin-bottom: 15px; font-size: 18px; line-height: 1.55; }
  .news time { display: block; margin-bottom: 5px; font-size: 16px; line-height: 1.2; }
  .section { padding: 45px 20px; }
  .section__inner { width: min(100%, 370px); margin-inline: auto; }
  .overview { padding: 45px 20px; }
  .overview .section__inner { width: min(100%, 370px); }
  .overview .section-title { font-size: 30px; line-height: 1.45; text-align: left; }
  .overview .section-title span { margin-left: 0; font-size: 30px; }
  .overview .section-lead { margin-top: 28px; font-size: 16px; line-height: 1.45; }
  .overview-flow { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
  .overview-flow img { width: 100%; max-width: 100%; }
  .overview__download { min-height: 70px; margin-top: 30px; padding: 10px 20px; border-radius: 16px; }
  .section-title { font-size: var(--font-size-24); }
  .section-title span { font-size: var(--font-size-20); }
  .section-title span { display: block; margin-top: 4px; }
  .scheme .section-title { font-size: 28px; line-height: 1.35; }
  .scheme-detail { width: min(370px, calc(100vw - 50px)); margin: 0 50%; gap: 30px; transform: translateX(-50%); }
  .scheme-detail__card { padding: 28px 24px; border-width: var(--border-width); border-radius: 20px; }
  .scheme-detail__summary { padding: 12px 14px; border-radius: 14px; }
  .scheme-detail__summary::after { right: 16px; }
  .scheme-detail__item h3 { gap: 12px; padding-right: 34px; font-size: 20px; line-height: 1.5; }
  .scheme-detail__item h3 span { font-size: 24px; }
  .scheme-detail__item p, .scheme-detail__note { font-size: 16px; line-height: 1.85; }
  .scheme-services { grid-template-columns: 1fr; gap: 16px; margin-top: 20px; }
  .scheme-services__group { padding: 18px 16px; border-radius: 14px; }
  .scheme-services__group h4 { gap: 6px; font-size: 18px; line-height: 1.45; }
  .scheme-services__group ul { margin-top: 12px; font-size: 14px; line-height: 1.65; }
  .scheme-detail__note--emphasis { min-height: 36px; margin-block: 22px; }
  .scheme-menu { gap: 22px; }
  .scheme-menu li { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; }
  .scheme-menu li::before { width: 36px; font-size: 18px; }
  .scheme-menu strong { font-size: 20px; line-height: 1.45; }
  .scheme-menu span { grid-column: 2; font-size: 16px; line-height: 1.7; }
  .subsidy-calc .section-title, .payment-example .section-title { font-size: 30px; line-height: 1.35; }
  .subsidy-calc .section-lead { font-size: 16px; line-height: 1.8; }
  .calc-flow-scroll { overflow-x: auto; }
  .calc-flow { min-width: 700px; grid-template-columns: 155px 24px auto auto auto auto 118px; gap: 13px; margin: 34px 0 42px; padding: 25px 30px; }
  .calc-flow__stack { gap: 8px; }
  .calc-flow__stack span, .calc-flow strong { min-height: 44px; padding: 6px 12px; font-size: 16px; }
  .calc-flow__brace { width: 21px; }
  .calc-flow__text { font-size: 16px; }
  .calc-flow__operator { font-size: 26px; }
  .subsidy-calc__tables { grid-template-columns: 1fr; width: min(370px, calc(100vw - 50px)); margin-inline: 50%; transform: translateX(-50%); }
  .subsidy-table-card { padding: 24px; border-radius: 18px; }
  .subsidy-table-card h3 { font-size: 22px; }
  .subsidy-table-card--combined { margin-top: 54px; padding-top: 48px; }
  .subsidy-table-card--combined > h3 { left: 24px; padding: 8px 22px; font-size: 24px; }
  .subsidy-table-card--national-aid { margin-top: 72px; padding-top: 58px; }
  .scheme-menu-section .subsidy-table-card--national-aid { margin-top: 42px; }
  .subsidy-table-card--national-aid > h3 { max-width: calc(100% - 48px); border-radius: 22px; font-size: 20px; line-height: 1.4; }
  .national-aid-notice { font-size: 18px; line-height: 1.65; }
  .subsidy-table-card__section h4, .subsidy-table-card .subsidy-table-card__standards dt { font-size: 20px; }
  .subsidy-table-card__lead, .subsidy-table-card .subsidy-table-card__standards dd { font-size: 16px; }
  .subsidy-table-card .subsidy-table-card__standards { gap: 22px; margin-top: 24px; }
  .subsidy-table-card .subsidy-table-card__standards div { gap: 6px; padding-top: 22px; }
  .subsidy-table-card .subsidy-table-card__standards dd.subsidy-table-card__amount-list { display: block; width: 100%; text-align: left; }
  .subsidy-table-card__standards dd .subsidy-table-card__amount-label, .subsidy-table-card__standards dd .subsidy-table-card__amount-separator { display: inline; }
  .subsidy-table-card__standards dd .subsidy-table-card__amount-value { display: block; margin-top: 4px; text-align: left; }
  .subsidy-table-card__standards dd .subsidy-table-card__amount-value:not(:last-child) { margin-bottom: 8px; }
  .table-scroll table { min-width: 400px; font-size: 12px; }
  .subsidy-table-card dl div { grid-template-columns: 1fr; gap: 4px; }
  .subsidy-table-card dd { text-align: left; }
  .payment-example__groups { gap: 64px; width: min(370px, calc(100vw - 100px)); margin: 64px 50% 0; transform: translateX(-50%); }
  .payment-example__group { padding: 34px 24px 24px; border-radius: 18px; }
  .payment-example__group > h3 { left: 24px; padding: 8px 22px; font-size: 20px; }
  .payment-example__items { grid-template-columns: 1fr; }
  .payment-example__item { padding: 0; }
  .payment-example__item + .payment-example__item { margin-top: 20px; padding: 35px 0 0; border-top: 1px solid var(--color-blue-pale); border-left: 0; }
  .payment-example__item h4 { margin-bottom: 18px; font-size: 18px; line-height: 1.6; }
  .payment-example__item dl div { grid-template-columns: 1fr; gap: 4px; }
  .payment-example__item dt { font-size: 16px; }
  .payment-example__item dd { font-size: 18px; text-align: left; }
  .payment-example__item dd br { display: none; }
  .payment-example__item dl div:last-child dt, .payment-example__item dl div:last-child dd { font-size: 20px; }
  .national-reference { width: min(370px, calc(100vw - 100px)); margin: 34px 50% 0; padding: 24px; border-radius: 18px; transform: translateX(-50%); }
  .national-reference__course + .national-reference__course { margin-top: 26px; }
  .national-reference__course h3 { font-size: 18px; }
  .national-reference .table-scroll .national-reference__table { min-width: 740px; table-layout: fixed; font-size: 14px; }
  .national-reference__table thead th:first-child { width: 140px; }
  .national-reference__table thead th:last-child { width: 170px; }
  .national-reference__table th, .national-reference__table td { padding: 6px 8px; }
  .national-reference p { font-size: 14px; }
  .check-list { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .application .section__inner { position: relative; }
  .application .section-title { font-size: 30px; line-height: 1.35; }
  .application .section-lead { width: 100%; margin-top: 10px; font-size: 16px; line-height: 1.45; }
  .application__panel { width: min(370px, calc(100vw - 50px)); margin: 60px 50% 0; padding: 50px 20px 30px; border-width: var(--border-width); transform: translateX(-50%); }
  .application__check-title { left: 50%; width: min(300px, calc(100% - 28px)); min-width: 0; padding: 10px 18px; font-size: 20px; line-height: 1.35; transform: translate(-50%, -50%); }
  .application .check-list { gap: 14px; font-size: 16px; line-height: normal; }
  .application__method-guide { width: min(370px, calc(100vw - 50px)); margin: 42px 50% 0; font-size: 18px; line-height: 1.65; transform: translateX(-50%); }
  .application__method-guide small { display: block; margin-top: 8px; font-size: 14px; line-height: 1.65; }
  .application__grid { width: min(370px, calc(100vw - 50px)); margin: 76px 50% 0; transform: translateX(-50%); }
  .method-card { width: 100%; padding: 30px 20px; border-width: var(--border-width); }
  .method-card--paper { margin-top: 70px; }
  .method-card > h3 { left: 50%; width: min(320px, calc(100% - 100px)); min-width: 0; padding: 13px 22px; font-size: 20px; line-height: 1.2; white-space: nowrap; transform: translate(-50%, -100%); }
  .method-card > .method-card__lead { font-size: 16px; line-height: 1.75; }
  .method-card__grid { grid-template-columns: 1fr; gap: 20px; margin-top: 30px; }
  .method-card h4 { font-size: 24px; line-height: 1.35; }
  .method-card h4 + ul, .method-card h4 + ol, .method-card h4 + p { font-size: 16px; line-height: 1.8; }
  .method-card__action { margin-top: 34px; padding: 12px; border-radius: 16px; }
  .method-card .button { justify-content: center; width: 100%; min-width: 0; min-height: 70px; padding: 16px 14px; gap: 14px; font-size: 16px; line-height: 1.25; border-radius: 18px; }
  .method-card__button-icon { width: 9px; }
  .documents { width: min(370px, calc(100vw - 50px)); margin: 64px 50% 0; transform: translateX(-50%); }
  .documents .section-title { width: min(100%, 320px); margin-inline: auto; font-size: 30px; line-height: 1.35; }
  .documents__lead { width: min(100%, 320px); margin: 8px auto 30px; font-size: 16px; line-height: 1.35; }
  .documents__panel { grid-template-columns: 1fr; gap: 15px; padding: 30px 24px; border-radius: 16px; }
  .documents__panel a { min-height: 70px; padding: 10px 20px; font-size: 20px; line-height: 1.25; border-radius: 16px; }
  .documents-detail, .documents-required .documents-detail { width: min(370px, calc(100vw - 50px)); gap: 28px; margin: 0 50%; transform: translateX(-50%); }
  .documents-detail__card { padding: 24px; border-radius: 16px; }
  .documents-detail__card h3 { font-size: 18px; }
  .documents-detail__card h4 { font-size: 18px; }
  .documents-detail__card p, .documents-detail__card li { font-size: 16px; line-height: 1.5; margin-bottom: 10px; }
  .documents-detail__breakdown li { display: block; margin-bottom: 15px; line-height: 1.5; }
  .documents-detail__breakdown li span:first-child { display: inline-block; min-width: 0; white-space: normal; }
  .documents-matrix { overflow-x: auto; overscroll-behavior-inline: contain; }
  .documents-matrix table { min-width: 600px; }
  .documents-matrix th, .documents-matrix td { padding: 5px; }
  .documents-matrix th:not(:first-child), .documents-matrix td:not(:first-child) { font-size: 11px; }
  .documents-matrix__notes p { font-size: 13px; line-height: 1.65; }
  .support .section-title { font-size: 30px; line-height: 1.35; }
  .support__lead { margin-top: 18px; font-size: 16px; line-height: 1.55; }
  .support__panel { width: min(370px, calc(100vw - 50px)); margin: 70px 50% 0; padding: 70px 10px 20px; border-width: var(--border-width); transform: translateX(-50%); }
  .support__panel-title { left: 50%; width: calc(100% - 28px); min-width: 0; padding: 11px 14px; font-size: 20px; line-height: 1.35; transform: translate(-50%, -50%); }
  .support__intro { grid-template-columns: 1fr; gap: 24px; padding-inline: 4px; }
  .support__image { width: 230px; margin-inline: auto; }
  .support__intro-text { min-width: 0; }
  .support__intro-text p { width: auto; min-width: 0; max-width: none; font-size: 16px; line-height: 1.7; }
  .support__intro-text p > strong { font-size: 14px; line-height: 1.55; }
  .support__recommend { margin: 55px 10px 0; padding: 38px 20px 20px; border-width: var(--border-width); }
  .support__recommend-title { left: 50%; width: max-content; max-width: calc(100% - 24px); padding-inline: 12px; font-size: 20px; text-align: center; transform: translate(-50%, -50%); }
  .support__recommend ul { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; gap: 8px; padding-left: 1em; font-size: 16px; line-height: 1.7; }
  .support__content-title { margin: 45px 10px 18px; font-size: 24px; line-height: 1.35; }
  .support__grid { width: auto; margin: 0 10px; transform: none; gap: 28px; }
  .support__grid article { width: 100%; }
  .support__grid h4 { padding: 12px 20px; font-size: 22px; line-height: 1.35; border-radius: 8px 8px 0 0; }
  .support__grid p { min-height: 0; padding: 16px 20px 22px; font-size: 17px; line-height: 1.65; }
  .support__download { margin: 0 10px 18px; font-size: 16px; }
  .support__form { width: max(320px, calc(100% + 20px)); max-width: none; margin: 0 50%; border-radius: 8px; transform: translateX(-50%); }
  .support__form-iframe { height: clamp(1110px, calc(1220px - (100vw - 370px) * 2.6), 1200px); }
  .steps .section__inner--wide { width: 100%; }
  .steps__intro { width: min(100%, 320px); margin-inline: auto; }
  .steps .section-title { font-size: 25px; line-height: 1.35; }
  .steps .section-lead { font-size: 16px; line-height: 1.55; }
  .steps__diagram { margin-top: 34px; }
  .steps__note { width: min(370px, calc(100vw - 50px)); margin: 20px auto 0; font-size: var(--font-size-16); }
  .coming-soon { min-height: 0; padding-block: 50px 124px; }
  .coming-soon__title, .coming-soon .section-title { font-size: 24px; line-height: 1.45; }
  #seminar .section-title { font-size: 30px; }
  .coming-soon .section-lead { margin-top: 18px; font-size: 16px; line-height: 1.55; }
  .coming-soon strong { margin: 88px 0 0; font-size: 42px; line-height: 1.2; }
  .faq .section-title { font-size: 30px; line-height: 1.35; }
  .faq__lead { margin: 18px 0 36px; font-size: 16px; line-height: 1.45; }
  .faq__lead br { display: none; }
  .faq__search { display: block; width: min(370px, calc(100vw - 100px)); margin: 0 50%; transform: translateX(-50%); }
  .faq__search input { min-height: 62px; margin-bottom: 56px; padding-left: 58px; background-position: 24px center; font-size: 16px; }
  .faq__list { width: min(370px, calc(100vw - 100px)); margin: 0 50%; transform: translateX(-50%); }
  .faq__list summary { gap: 15px; min-height: 106px; padding: 18px 54px 18px 0; font-size: 18px; line-height: 1.45; }
  .faq__list summary::before, .faq__list summary::after { right: 14px; width: 20px; }
  .faq__list summary span, .faq__answer b { flex: 0 0 45px; width: 45px; height: 45px; font-size: 16px; }
  .faq__answer { gap: 15px; padding: 0 54px 34px 0; }
  .faq__answer p { font-size: 16px; line-height: 1.65; }
  .site-footer { padding: 54px 0 54px; }
  .site-footer__inner { width: min(320px, calc(100% - 32px)); }
  .site-footer__title { font-size: 24px; line-height: 1.35; }
  .site-footer__lead { width: min(100%, 320px); margin: 24px auto 0; font-size: 16px; line-height: 1.7; }
  .site-footer__lead br { display: none; }
  .site-footer__faq-lead { width: min(100%, 320px); margin: 50px auto 0; font-size: 16px; line-height: 1.7; }
  .site-footer .button { width: min(370px, calc(100vw - 20px)); min-height: 98px; margin: 20px 50% 50px; padding: 16px 30px; transform: translateX(-50%); font-size: 24px; line-height: 1.25; border-radius: 22px; }
  .site-footer__faq-button { gap: 30px; }
  .site-footer__faq-button img { width: 9px; }
  .site-footer__office-title { font-size: 24px; line-height: 1.35; overflow-wrap: anywhere; }
  .site-footer__related-title { font-size: 28px; line-height: 1.35; }
  .site-footer__related-groups { grid-template-columns: 1fr; gap: 24px; width: min(100%, 320px); margin: 30px auto 50px; }
  .site-footer__related-group-title { font-size: 18px; }
  .site-footer__related-links { font-size: 16px; line-height: 2.05; }
}

@media (min-width: 1360px) {
  .payment-example__item dd br { display: none; }
}

@media (max-width: 1359px) {
  .subsidy-table-card__menu-detail, .subsidy-table-card__course-detail { display: block; }
  .payment-example__item h4 br { display: none; }
  .site-header:has(.site-header__menu.is-open) .site-header__brand-wrap { visibility: hidden; }
  .site-header__menu.is-open { position: fixed; z-index: 140; top: 34px; right: clamp(26px, 5vw, 60px); margin: 0; }
  .site-header__menu.is-open span { background: var(--color-primary-dark); }
  .mobile-menu { background: var(--color-white); }
  .mobile-menu__nav { display: flex; flex-direction: column; width: 100%; min-width: 0; height: 100dvh; min-height: 100%; margin: 0; padding: 0 clamp(26px, 5vw, 60px) 48px; overflow-y: auto; background: var(--color-white); }
  .mobile-menu__nav > .mobile-menu__brand { display: flex; align-items: center; flex: 0 0 auto; min-height: clamp(112px, 20vw, 156px); padding: 0; border-bottom: 1px solid var(--color-blue-pale); text-decoration: none; }
  .mobile-menu__brand img { width: clamp(114px, 15vw, 156px); }
  .mobile-menu__nav > a:not(.mobile-menu__brand) { position: relative; display: flex; align-items: center; flex: 0 0 auto; min-height: 78px; padding: 18px 44px 18px 0; color: var(--color-primary-dark); border-bottom: 1px solid var(--color-blue-pale); font-size: clamp(18px, 2vw, 22px); font-weight: 600; line-height: 1.4; text-decoration: none; }
  .mobile-menu__nav > a:not(.mobile-menu__brand)::after { content: ""; position: absolute; top: 50%; right: 5px; width: 12px; height: 12px; border-top: 3px solid var(--color-primary-light); border-right: 3px solid var(--color-primary-light); transform: translateY(-50%) rotate(45deg); }
  .site-footer__contact { grid-template-columns: 1fr; width: min(100%, 320px); margin: 34px auto 72px; }
  .site-footer__contact > * { padding: 0; }
  .site-footer__contact > * + * { border-top: 1px solid rgba(255,255,255,.5); border-left: 0; }
  .site-footer__contact b { width: 148px; min-height: 35px; padding: 4px 14px; font-size: 16px; line-height: 1.55; }
  .site-footer__contact a { margin-top: 20px; font-size: clamp(38px, 12vw, 48px); overflow-wrap: anywhere; }
  .site-footer__contact p { margin-top: 8px; max-width: 100%; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
  .site-footer__contact address { padding: 48px 0 0; margin-top: 40px; }
  .site-footer__contact address p { margin-top: 22px; font-size: 16px; line-height: 1.4; }
  .site-footer__submission-recipient { max-width: 100%; word-break: keep-all; }
  .site-footer__submission-recipient br { display: none; }
  .site-footer__links { display: grid; grid-template-columns: max-content max-content; justify-content: center; gap: 16px 0; font-size: clamp(14px, 4.1vw, 16px); line-height: 1.4; overflow-wrap: normal; }
  .site-footer__links a { position: relative; padding-inline: clamp(8px, 3vw, 14px); white-space: nowrap; }
  .site-footer__links a + a { border-left: 0; padding-left: clamp(8px, 3vw, 14px); }
  .site-footer__links a:nth-child(even)::before { content: ""; position: absolute; top: 50%; left: 0; width: 1px; height: 16px; background: currentColor; transform: translateY(-50%); }
}

.site-footer__office-break { display: none; }

@media (min-width: 681px) and (max-width: 1359px) {
  .site-footer__office-break { display: initial; }
  .hero { width: calc(100% - 100px); padding-inline: 0; }
  .hero__illustration--care {
    top: clamp(80px, calc(250.38px - 12.54vw), 165px);
    left: clamp(28px, calc(5.9px + 3.24vw), 50px);
    width: clamp(100px, calc(9.6px + 13.27vw), 190px);
    margin-top: 10px;
  }
  .hero__illustration--family {
    top: clamp(70px, calc(250.4px - 13.27vw), 160px);
    right: clamp(50px, calc(39.96px + 1.47vw), 60px);
    width: clamp(90px, calc(29.73px + 8.85vw), 150px);
  }
  .hero__message { margin: clamp(30px, calc(90.13px - 4.42vw), 60px) 0 20px; }
  .hero__title-box p { font-size: 30px; }
  .hero__title-box h1 { font-size: 36px; }
  .hero__benefits { grid-template-columns: repeat(2, minmax(0, 442px)); gap: 0 clamp(20px, 2.75vw, 37px); }
  .hero__actions .button { font-size: 18px; }
  .payment-example__item h4,
  .payment-example__item dt,
  .payment-example__item dd,
  .payment-example__item dl div:last-child dt,
  .payment-example__item dl div:last-child dd { font-size: var(--font-size-20); }
  .payment-example__item dd br { display: initial; }
  .support__form-iframe { height: 1015px; }
}

@media (max-width: 340px) {
  .hero__fiscal-year { font-size: 13px; }
  .hero__title-box { min-height: 300px; padding-inline: 20px; }
  .hero__title-box p { font-size: 21px; }
  .hero__title-box h1 { font-size: 30px; line-height: 1.22; }
  .hero__illustration { top: 265px; }
  .hero__message { max-width: 270px; margin-top: 130px; font-size: 27px; }
  .hero__message-emphasis { font-size: inherit; }
  .hero__message-key { font-size: 36px; }
}

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