/* Digitalization & AI subsidy page */
#subsidy-page { --subsidy-heading-size: var(--h2); }
.subsidy-hero { position: relative; z-index: 2; min-height: 560px; overflow: hidden; color: white; }
.subsidy-hero::after { content: ""; position: absolute; width: 620px; aspect-ratio: 1; right: -180px; top: -190px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.04), 0 0 0 160px rgba(255,255,255,.03); }
.subsidy-hero__inner { position: relative; z-index: 2; min-height: 560px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: var(--hero-frame-top) var(--hero-frame-inline) var(--hero-frame-bottom); }
.subsidy-hero__copy { width: 100%; min-width: 0; text-align: left; }
.subsidy-hero h1 { max-width: 700px; font-size: var(--h2); line-height: 1.28; text-shadow: 0 3px 12px rgba(0,66,120,.2); }
.subsidy-hero__year { margin-left: .08em; letter-spacing: .08em; }
.subsidy-hero__lead { max-width: 700px; margin-top: 28px; color: rgba(255,255,255,.9); }
.subsidy-hero__lead > p { font-size: var(--p); line-height: var(--line-height-body); letter-spacing: var(--letter-spacing-body); }
.subsidy-hero__lead > p + p { margin-top: var(--paragraph-gap); }
.subsidy-hero__lead-title { color: white; font-size: clamp(1.02rem,1.3vw,1.18rem) !important; font-weight: 700; line-height: var(--line-height-body) !important; }
.subsidy-note-marker { margin-left: .08em; font-size: .7em; line-height: 0; vertical-align: super; }
.subsidy-hero__category-note { max-width: 700px; margin-top: 40px; color: rgba(255,255,255,.72); font-size: var(--note-size); line-height: var(--line-height-body); }
.subsidy-hero__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; }
.subsidy-hero__actions .home-cta-button { margin: 0; }
.subsidy-hero .home-cta-button,
.subsidy-cta .home-cta-button { color: #1d6fa3; background: rgba(255,255,255,.82); border-color: rgba(255,255,255,.72); }
.subsidy-hero .home-cta-button:hover,
.subsidy-hero .home-cta-button:focus-visible,
.subsidy-cta .home-cta-button:hover,
.subsidy-cta .home-cta-button:focus-visible { border-color: transparent; }
.subsidy-hero__summary { width: min(420px,100%); margin-top: 46px; }
.subsidy-hero__summary ul { display: grid; grid-template-columns: 1fr; gap: 12px; }
.subsidy-hero__summary li { position: relative; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; overflow: hidden; padding: 17px 20px; border: 1px solid transparent; border-radius: 12px; background: rgba(255,255,255,.1); box-shadow: none; backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.subsidy-hero__summary li::before { content: ""; position: absolute; inset: 0; padding: 1px; border-radius: inherit; background: rgba(255,255,255,.72); pointer-events: none; -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.subsidy-hero__summary .subsidy-metric__label { color: white; font-size: clamp(1.04rem,1.2vw,1.16rem); font-weight: 700; line-height: 1.4; letter-spacing: .055em; }
.subsidy-hero__summary strong { align-self: center; margin-top: 12px; color: white; font-size: clamp(1.7rem,2.7vw,2.55rem); line-height: 1.15; white-space: nowrap; text-align: center; text-shadow: 0 3px 12px rgba(0,66,120,.18); }
.subsidy-hero__summary strong em { font-family: 'Lato',sans-serif; font-size: 1.12em; font-style: normal; }
.subsidy-hero__summary strong small { margin: 0 .12em; font-size: .52em; font-weight: 700; }
.subsidy-hero__summary li p { margin-top: 12px; color: rgba(255,255,255,.82); font-size: var(--note-size); line-height: var(--line-height-body); }
.subsidy-hero__summary .subsidy-metric__range { display: flex; flex-direction: column; gap: 0; line-height: 1; }
.subsidy-hero__summary .subsidy-metric__range span { display: flex; align-items: baseline; line-height: 1; }
.subsidy-hero__summary .subsidy-metric__cost-name { align-self: center; margin-top: 12px; color: rgba(255,255,255,.82); font-size: clamp(.86rem,1vw,.96rem); font-weight: 600; text-align: center; }
.subsidy-hero__summary .subsidy-metric__duration { margin-top: 3px; }
.subsidy-hero__summary .subsidy-metric__note { margin-top: 12px; }
.subsidy-section-inner { padding: 120px 30px; }
.subsidy-section-heading { max-width: 760px; margin: 0 auto; text-align: center; }
.subsidy-section-heading h2,.subsidy-target h2,.subsidy-cta h2 { color: #385b77; font-size: var(--subsidy-heading-size); font-weight: 700; line-height: 1.4; }
.subsidy-section-heading > p:last-child { margin-top: 22px; }
.subsidy-note { width: 100%; margin: 25px auto 0; color: var(--text-color-muted); font-size: var(--note-size); line-height: var(--line-height-body); text-align: left; text-wrap: pretty; }
.subsidy-content-bg { position: relative; padding: 1rem 0; }
.subsidy-content-bg > section {
  width: calc(100% - clamp(32px, 4vw, 64px));
  max-width: 1600px;
  margin: 1rem auto;
  overflow: hidden;
  color: var(--text-color);
  border: 1px solid var(--section-card-border);
  border-radius: 10px;
  background: var(--section-card-bg);
  box-shadow: var(--section-card-shadow);
}
body#subsidy-page .subsidy-content-bg > section > .inner { position: relative; z-index: 2; width: 100%; }
.subsidy-target { background: transparent; }
.subsidy-target__inner { padding: 120px 30px; }
.subsidy-target__copy { width: min(1120px,100%); margin: 0 auto; text-align: center; }
.subsidy-check-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 82px; }
.subsidy-check-list li { display: flex; flex-direction: column; align-items: center; min-height: 250px; padding: 26px 25px; border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 12px 28px rgba(37,92,123,.07); backdrop-filter: blur(6px); }
.subsidy-cost-icon { width: 76px; height: 76px; display: grid; place-items: center; margin-bottom: 22px; color: #269bb1; border-radius: 50%; background: linear-gradient(145deg,#e8f9fa,#d7eff7); }
.subsidy-cost-icon svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.subsidy-check-list strong { display: block; color: var(--accent-color); font-size: 1rem; line-height: var(--line-height-heading); white-space: nowrap; }
.subsidy-check-list .subsidy-cost-description { display: block; width: 100%; max-width: 28em; margin: var(--paragraph-gap) auto 0; color: var(--text-color); font-size: var(--p); line-height: var(--line-height-body); letter-spacing: var(--letter-spacing-body); text-align: left; line-break: strict; word-break: normal; overflow-wrap: normal; text-wrap: pretty; }
.subsidy-flow { background: transparent; }
.subsidy-steps { position: relative; display: grid; width: min(720px,100%); grid-template-columns: 1fr; gap: 0; margin: 58px auto 0; counter-reset: step; }
.subsidy-steps::before { content: ""; position: absolute; top: 42px; bottom: 42px; left: 33px; width: 1px; background: rgba(128,222,234,.72); }
.subsidy-steps li { position: relative; display: grid; min-width: 0; min-height: 132px; grid-template-columns: 68px minmax(0,1fr); align-items: center; gap: 28px; padding: 14px 0; }
.subsidy-step-marker { position: relative; z-index: 1; display: grid; width: 68px; height: 68px; place-items: center; color: white; border-radius: 50%; background: #80deea; box-shadow: 0 6px 16px rgba(29,111,163,.1); font: 700 1rem/1 'Lato',sans-serif; letter-spacing: .04em; }
.subsidy-steps li > div { padding: 8px 0; }
.subsidy-steps h3 { color: #385b77; font-size: clamp(1.05rem,1.35vw,1.22rem); line-height: 1.5; text-align: left; }
.subsidy-steps p { max-width: none; margin-top: 10px; font-size: var(--p); text-align: left; }
.subsidy-alert { display: flex; width: min(960px,100%); gap: 14px; align-items: center; margin: 44px auto 0; padding: 20px 24px; border-left: 4px solid #e5ae4e; background: #fff9ed; }
.subsidy-alert strong { flex: 0 0 auto; color: #a66d0a; font-size: .78rem; white-space: nowrap; }
.subsidy-alert p { font-size: clamp(.72rem,.82vw,.8rem); line-height: 1.7; }
.subsidy-prepare { background: transparent; }
.subsidy-prepare__inner { padding: 110px 30px; }
.subsidy-prepare__layout { display: block; }
.subsidy-prepare__copy { width: min(940px,100%); margin: 0 auto; text-align: center; }
.subsidy-prepare__copy h2 { color: #385b77; font-size: var(--subsidy-heading-size); line-height: 1.4; }
.subsidy-prepare__lead { margin-top: 22px; font-size: var(--p); line-height: var(--line-height-body); }
.subsidy-prepare__items { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin-top: 68px; }
.subsidy-prepare__items article { min-width: 0; padding: 8px 32px 18px; border-left: 1px solid rgba(74,169,217,.24); }
.subsidy-prepare__items article:last-child { border-right: 1px solid rgba(74,169,217,.24); }
.subsidy-prepare__meta { display: flex; gap: 12px; align-items: center; }
.subsidy-prepare__meta > span { color: var(--sub-color); font: 700 1rem/1 'Lato',sans-serif; letter-spacing: .06em; }
.subsidy-prepare__meta small { padding: 5px 11px; border-radius: 999px; color: white; font-size: .7rem; font-weight: 700; line-height: 1; }
.subsidy-prepare__meta .is-required { background: var(--accent-color); }
.subsidy-prepare__meta .is-optional { color: #256f8f; background: rgba(128,222,234,.42); }
.subsidy-prepare__items h3 { margin-top: 16px; color: #385b77; font-size: clamp(1.05rem,1.25vw,1.18rem); }
.subsidy-prepare__items p { margin-top: 12px; font-size: var(--p); }
.subsidy-prepare__items > article > strong { display: inline-block; margin-top: 18px; color: var(--sub-color); font-size: clamp(.95rem,1.12vw,1.08rem); }
.subsidy-prepare__items .subsidy-prepare__note { color: var(--text-color-muted); font-size: var(--note-size); }
.subsidy-prepare__alert { position: relative; width: min(1080px,100%); margin: 64px auto 0; padding: 20px 26px; background: rgba(255,255,255,.42); text-align: left; }
.subsidy-prepare__alert::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--gradient); }
.subsidy-prepare__alert strong { display: block; color: var(--accent-color); font-size: .86rem; line-height: 1.4; }
.subsidy-prepare__alert p { margin-top: 6px; font-size: clamp(.76rem,.88vw,.86rem); line-height: 1.5; }
.subsidy-cta { padding: 110px 30px; color: white; background: transparent; text-align: center; }
.subsidy-content-bg > .subsidy-cta { width: 100%; max-width: none; margin: 1rem 0; color: white; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.subsidy-cta__inner { max-width: 850px; }
.subsidy-cta h2 { color: white; }
.subsidy-cta h2 { margin-top: 10px; }
.subsidy-cta p { margin-top: 22px; }
.subsidy-cta .home-cta-button { margin-top: 35px; }
.subsidy-disclaimer { padding: 34px 30px 65px; background: transparent; }
.subsidy-content-bg > .subsidy-disclaimer { width: 100%; max-width: none; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.subsidy-disclaimer > .inner { width: min(960px,100%); padding-top: 32px; border-top: 1px solid rgba(255,255,255,.42); }
.subsidy-disclaimer h3 { color: white; font-size: .88rem; letter-spacing: .06em; }
.subsidy-disclaimer ul { display: grid; gap: 7px; margin-top: 15px; }
.subsidy-disclaimer li { position: relative; padding-left: 1em; color: rgba(255,255,255,.82); font-size: clamp(.68rem,.76vw,.76rem); line-height: 1.7; }
.subsidy-disclaimer li::before { content: "※"; position: absolute; left: 0; }
.subsidy-disclaimer a { display: inline-block; margin-top: 20px; color: #b2ebf2; font-size: .8rem; font-weight: 400; text-decoration: none; border-bottom: 1px solid currentColor; }

@media (max-width: 1000px) {
  .subsidy-hero,.subsidy-hero__inner { min-height: 0; }
  .subsidy-hero__copy { max-width: 760px; margin: 0 auto; text-align: center; }
  .subsidy-hero h1 { margin-inline: auto; }
  .subsidy-hero__summary { width: min(720px,100%); }
  .subsidy-check-list { grid-template-columns: 1fr; }
  .subsidy-check-list li { min-height: 0; }
  .subsidy-prepare__items { grid-template-columns: 1fr; }
  .subsidy-prepare__items article { padding: 28px 20px; border-right: 0; border-bottom: 1px solid rgba(74,169,217,.24); }
  .subsidy-prepare__items article:last-child { border-right: 0; }
  .subsidy-steps { gap: 0; }
  .subsidy-steps li { display: grid; padding: 18px 0; }
  .subsidy-steps h3 { min-height: 0; }
}
@media (max-width: 767px) {
  .subsidy-hero__lead br { display: none; }
  .subsidy-hero__summary ul { grid-template-columns: 1fr; gap: 24px; }
  .subsidy-hero__summary li { padding: 20px 0 18px 18px; }
  .subsidy-section-inner,.subsidy-target__inner,.subsidy-prepare__inner { padding: 80px 20px; }
  .subsidy-steps::before { left: 25px; }
  .subsidy-steps li { min-height: 120px; grid-template-columns: 52px minmax(0,1fr); gap: 16px; }
  .subsidy-step-marker { width: 52px; height: 52px; font-size: .82rem; }
  .subsidy-steps li > div { padding: 8px 0; }
  .subsidy-alert { gap: 10px; padding: 18px 16px; }
  .subsidy-cta { padding: 80px 20px; }
  .subsidy-disclaimer { padding: 50px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .subsidy-hero::after { display: none; }
}

@media (min-width: 1001px) {
  .subsidy-content-bg > section {
    width: calc(100% - var(--section-card-frame));
  }
  .subsidy-hero,
  .subsidy-hero__inner { min-height: 0; }
  .subsidy-hero__inner {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(440px,.95fr);
    grid-template-rows: auto auto;
    grid-template-areas:
      "copy summary"
      "actions summary";
    align-items: center;
    align-content: start;
    column-gap: clamp(16px,1.5vw,32px);
  }
  .subsidy-hero__copy { grid-area: copy; align-self: start; }
  .subsidy-hero h1 {
    font-size: var(--h2);
  }
  .subsidy-hero__summary {
    grid-area: summary;
    align-self: center;
    justify-self: center;
    margin-top: 0;
  }
  .subsidy-hero__actions {
    grid-area: actions;
    align-self: start;
    justify-content: flex-start;
    margin-top: 22px;
  }
}

@media (min-width: 1024px) and (max-height: 1000px) {
  .subsidy-hero,
  .subsidy-hero__inner {
    min-height: 100vh;
    min-height: 100svh;
  }
}

.subsidy-content-bg > #page_top-btn .page-top {
  color: white;
}
