/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 · macrostructure: Ecosystem Index · genre: modern-minimal · theme: studied-DNA (source: latest supplied desktop TOP reference) · hero: H2 Split Diptych · enrichment: E8 supplied staff photography · design-system: design.md · studied: yes · DNA-source: image */
html,
body {
  overflow-x: clip;
}

.p-top-page,
.p-first-view,
.p-hero,
.p-stats {
  background: var(--color-top-paper);
}

.p-top-page main {
  overflow: clip;
}

/* Page-corner artwork supplied with the desktop design. */
.p-top-page .p-subsidy__deco,
.p-top-page .p-news__deco {
  z-index: var(--z-base);
  block-size: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-top-page .p-subsidy__deco {
  inset-block-start: 0;
  inset-inline-end: 0;
  inline-size: clamp(10rem, 24.134vw, 21.676rem);
  aspect-ratio: 346.815 / 448.795;
  background-image: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_top_right.svg");
}

.p-top-page .p-news__deco {
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: clamp(5.75rem, 10.3vw, 9.25rem);
  aspect-ratio: 148 / 268;
  transform: none;
  background-image: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_bottom_left.svg");
}

/* =========================================================
   First view — mobile/tablet base
   ========================================================= */
.p-first-view {
  position: relative;
  isolation: isolate;
}

.p-main-visual__image {
  width: 100%;
  height: auto;
}

.p-first-view > .p-hero,
.p-first-view > .p-stats,
.p-first-view > .p-intro-banner {
  display: none;
}

.p-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-6) var(--space-5);
}

.p-hero__deco {
  display: none;
}

.p-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  min-width: 0;
}

.p-hero__body {
  position: relative;
  z-index: var(--z-raised);
  min-width: 0;
}

.p-hero__lead {
  position: relative;
  display: inline-block;
  margin-block-end: var(--space-4);
  padding: 0 0 var(--space-1);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--color-top-ink);
  font-size: var(--text-top-body);
  font-weight: 700;
  letter-spacing: var(--tracking-top-label);
}

.p-hero__lead::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: var(--rule-top-thin);
  background: var(--gradient-top-lead-rule);
}

.p-hero__title {
  min-width: 0;
  max-width: none;
  margin: 0 0 var(--space-4);
  color: var(--color-top-ink);
  font-size: clamp(var(--text-top-title-mobile), 10.5vw, var(--text-top-title-tablet));
  font-weight: 800;
  line-height: var(--leading-top-title-mobile);
  letter-spacing: var(--tracking-top-title);
  overflow-wrap: anywhere;
}

.p-hero__title-line {
  position: relative;
  display: inline-block;
}

.p-hero__title-accent {
  position: relative;
  display: inline-block;
  background: none;
  color: currentColor;
  -webkit-text-fill-color: currentColor;
}

.p-hero__title-accent--blue {
  color: var(--color-top-blue-deep);
}

.p-hero__title-accent--pink {
  color: var(--color-top-pink);
}

.p-hero__title-line--first::before,
.p-hero__title-line--first::after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: var(--offset-top-rule-mobile);
  height: var(--rule-top-emphasis);
  transform: skewX(var(--angle-top-rule));
}

.p-hero__title-line--first::before {
  left: 0;
  width: 24%;
  background: var(--gradient-top-claim-rule);
}

.p-hero__title-line--first::after {
  left: 58%;
  width: 34%;
  background: var(--gradient-top-subsidy-rule);
}

.p-hero__tagline {
  display: inline-flex;
  padding: var(--space-2) var(--space-3);
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--shape-top-slant-mobile)) 100%, 0 100%);
  background: var(--color-top-blue-deep);
  color: var(--color-top-on-dark);
  font-size: var(--text-top-small);
  font-weight: 700;
  letter-spacing: var(--tracking-top-label);
}

.p-hero__photos {
  position: relative;
  z-index: var(--z-base);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: var(--space-1);
  min-width: 0;
  margin: 0;
  transform: none;
}

.p-hero__photo {
  position: relative;
  grid-column: auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--color-top-photo-bg);
  transform: none;
}

.p-hero__photo img,
.p-recruit-banner__photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-hero__photo--1 img,
.p-hero__photo--3 img,
.p-hero__photo--5 img {
  object-position: center 22%;
}

.p-hero__photo--6 img {
  object-position: 66% center;
}

.p-stats {
  position: relative;
  z-index: var(--z-raised);
  padding-block: var(--space-2) var(--space-6);
}

.p-stats__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}

.p-stats__item {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 0;
  padding: var(--space-4) var(--space-5);
  background: var(--color-top-paper);
  box-shadow: var(--shadow-top-hairline);
}

.p-stats__label {
  color: var(--color-top-ink);
  font-weight: 700;
}

.p-stats__meta {
  display: block;
  margin-block-start: var(--space-1);
  color: var(--color-top-muted);
  font-size: var(--text-top-meta);
  line-height: 1.2;
}

.p-stats__value {
  color: currentColor;
  font-variant-numeric: tabular-nums;
}

.p-intro-banner {
  position: relative;
  background: var(--color-top-yellow);
}

.p-intro-banner__row {
  position: relative;
  max-width: var(--container-max);
}

.p-intro-banner__list,
.p-feature-banner__list,
.p-dual-banner__list,
.p-subsidy__layout,
.p-recruit-banner__inner,
.p-news-tabs {
  min-width: 0;
}

@media (min-width: 75.0625rem) {
  .p-first-view {
    height: auto;
  }

  .p-hero {
    height: var(--size-hero-reference);
    padding: 0;
    overflow: visible;
  }

  .p-hero__deco {
    position: absolute;
    z-index: var(--z-decoration);
    inset: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: var(--size-first-view-reference);
    pointer-events: none;
  }

  .p-hero__deco-svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .p-fv-stripe--navy { fill: var(--color-top-blue-deep); }
  .p-fv-stripe--blue { fill: var(--color-top-blue); }
  .p-fv-stripe--blue-outline { fill: var(--color-top-blue-outline); }
  .p-fv-stripe--cyan { fill: var(--color-top-cyan); }
  .p-fv-stripe--cyan-soft { fill: var(--color-top-cyan-soft); }
  .p-fv-stripe--cyan-faint { fill: var(--color-top-cyan-faint); }
  .p-fv-stripe--cyan-outline { fill: var(--color-top-cyan-outline); }
  .p-fv-stripe--pink { fill: var(--color-top-pink); }
  .p-fv-stripe--pink-light { fill: var(--color-top-pink-light); }
  .p-fv-stripe--pink-dark { fill: var(--color-top-pink-dark); }
  .p-fv-stripe--yellow { fill: var(--color-top-yellow); }
  .p-fv-stripe--green { fill: var(--color-top-green); }
  .p-fv-stripe--purple { fill: var(--color-top-purple); }
  .p-fv-stripe--navy-outline { fill: var(--color-top-blue-outline); }

  .p-hero__inner {
    display: block;
    width: 100%;
    max-width: none;
    height: var(--size-hero-reference);
    padding: 0;
  }

  .p-hero__body {
    position: absolute;
    z-index: var(--z-content);
    top: var(--offset-hero-copy-top);
    left: var(--offset-hero-copy-left);
    width: var(--size-hero-copy-width);
  }

  .p-hero__lead {
    margin-block-end: var(--offset-hero-lead-gap);
    padding-block-end: var(--space-2);
    font-size: var(--text-hero-lead-reference);
    line-height: 1;
  }

  .p-hero__lead::after {
    width: var(--size-hero-lead-rule);
    height: var(--rule-top-thin);
  }

  .p-hero__title {
    width: var(--size-hero-title-width);
    margin-block-end: var(--offset-hero-title-bottom);
    font-size: var(--text-hero-title-reference);
    line-height: 1;
    letter-spacing: var(--tracking-hero-title-reference);
    white-space: nowrap;
    overflow-wrap: normal;
  }

  .p-hero__title-line {
    line-height: var(--leading-hero-title-line);
  }

  .p-hero__title-line--second {
    margin-block-start: var(--offset-hero-title-line-gap);
  }

  .p-hero__title-business {
    letter-spacing: var(--tracking-hero-business-reference);
  }

  .p-hero__title-accent--blue {
    font-size: var(--scale-hero-blue-accent);
  }

  .p-hero__title-accent--pink {
    background: var(--gradient-top-speed-text);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: var(--scale-hero-pink-accent);
    margin-inline-start: var(--offset-hero-speed-gap);
  }

  .p-hero__title-line--first::before,
  .p-hero__title-line--first::after {
    bottom: var(--offset-hero-rule-bottom);
    height: var(--rule-top-emphasis-reference);
  }

  .p-hero__title-line--first::before {
    left: var(--offset-hero-rule-claim-left);
    width: var(--size-hero-rule-claim);
  }

  .p-hero__title-line--first::after {
    left: var(--offset-hero-rule-subsidy-left);
    width: var(--size-hero-rule-subsidy);
  }

  .p-hero__tagline {
    width: var(--size-hero-tagline-width);
    height: var(--size-hero-tagline-height);
    padding: 0 var(--space-5) 0 var(--space-4);
    align-items: center;
    clip-path: polygon(0 0, 100% 0, calc(100% - var(--shape-hero-tagline-slant)) 100%, 0 100%);
    font-size: var(--text-hero-tagline-reference);
    line-height: 1;
    transform: translateX(var(--offset-hero-tagline-left));
  }

  .p-hero__photos {
    position: absolute;
    z-index: var(--z-base);
    top: 0;
    right: 0;
    display: grid;
    width: var(--size-hero-photo-width);
    height: var(--size-hero-photo-height);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: var(--size-hero-photo-row-top) var(--size-hero-photo-row-bottom);
    gap: var(--rule-photo-gap);
  }

  .p-hero__photo {
    aspect-ratio: auto;
  }

  .p-hero__photo img {
    object-position: center 20%;
  }

  .p-hero__photo--4 img { object-position: center 24%; }
  .p-hero__photo--5 img { object-position: center 18%; }
  .p-hero__photo--6 img { object-position: 67% center; }

  .p-stats {
    position: absolute;
    z-index: var(--z-content);
    top: var(--offset-stats-top);
    left: 0;
    width: var(--size-stats-area-width);
    height: var(--size-stats-height);
    padding: 0;
    background: transparent;
  }

  .p-stats__list {
    width: var(--size-stats-list-width);
    height: var(--size-stats-height);
    margin: 0 0 0 var(--offset-stats-left);
    padding: 0;
    grid-template-columns: var(--size-stat-card-one) var(--size-stat-card-two) var(--size-stat-card-three);
    gap: var(--size-stat-card-gap);
  }

  .p-stats__item {
    position: relative;
    display: block;
    height: var(--size-stats-height);
    padding: var(--offset-stat-content-top) var(--space-4) var(--space-4);
    clip-path: var(--shape-stat-card);
    background: currentColor;
    box-shadow: none;
  }

  .p-stats__item::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: var(--rule-stat-border);
    clip-path: var(--shape-stat-card);
    background: var(--color-top-paper);
  }

  .p-stats__item > * {
    position: relative;
    z-index: 1;
  }

  .p-stats__item--blue { color: var(--color-top-green-dark); }
  .p-stats__item--yellow { color: var(--color-top-orange); }
  .p-stats__item--purple { color: var(--color-top-purple); }

  .p-stats__icon {
    position: absolute;
    top: var(--offset-stat-icon-top);
    left: var(--offset-stat-icon-left);
    width: var(--size-stat-icon);
    height: var(--size-stat-icon);
  }

  .p-stats__item > div {
    min-width: 0;
  }

  .p-stats__label {
    margin: 0;
    color: var(--color-top-ink);
    font-size: var(--text-stat-label-reference);
    line-height: 1.1;
    white-space: nowrap;
    padding-inline-start: var(--offset-stat-label-left);
  }

  .p-stats__meta {
    color: var(--color-top-ink);
    font-size: var(--text-stat-meta-reference);
    white-space: nowrap;
    padding-inline-start: var(--offset-stat-label-left);
  }

  .p-stats__value {
    margin-block-start: var(--offset-stat-value-top);
    color: currentColor;
    font-size: var(--text-stat-value-reference);
    line-height: .9;
    white-space: nowrap;
  }

  .p-stats__item--blue .p-stats__label,
  .p-stats__item--blue .p-stats__meta {
    padding-inline-start: var(--offset-stat-label-left-wide);
  }

  .p-stats__item--blue .p-stats__value {
    margin-inline-start: var(--offset-stat-value-left-wide);
  }

  .p-stats__item--yellow .p-stats__icon,
  .p-stats__item--purple .p-stats__icon {
    left: var(--offset-stat-icon-left-compact);
  }

  .p-stats__item--yellow .p-stats__label,
  .p-stats__item--yellow .p-stats__meta,
  .p-stats__item--purple .p-stats__label,
  .p-stats__item--purple .p-stats__meta {
    padding-inline-start: var(--offset-stat-label-left-compact);
  }

  .p-stats__value span {
    margin-inline-start: var(--space-1);
    color: var(--color-top-ink);
    font-size: var(--text-stat-unit-reference);
  }

  .p-intro-banner {
    position: absolute;
    z-index: var(--z-raised);
    inset: auto 0 0;
    height: var(--size-intro-reference);
  }

  .p-intro-banner__row {
    width: 100%;
    max-width: none;
    height: var(--size-intro-reference);
    padding: 0;
    display: block;
  }

  .p-intro-banner__list {
    position: absolute;
    z-index: var(--z-base);
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: var(--size-intro-list-width);
    height: var(--size-intro-list-height);
    padding: var(--space-4) var(--space-6) var(--space-4) var(--offset-intro-list-left);
    gap: 0;
    clip-path: polygon(0 0, 100% 0, calc(100% - var(--shape-intro-list-slant)) 100%, 0 100%);
    background: var(--color-top-blue-band);
  }

  .p-intro-banner__list li {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    min-width: 0;
    padding: 0 var(--space-4);
  }

  .p-intro-banner__list li:first-child {
    padding-inline-start: 0;
  }

  .p-intro-banner__list li + li {
    border: 0;
  }

  .p-intro-banner__list li + li::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: var(--rule-top-hairline);
    background: var(--color-top-on-dark);
    transform: skewX(var(--angle-intro-divider));
  }

  .p-intro-banner__icon {
    width: var(--size-intro-icon);
    height: var(--size-intro-icon);
  }

  .p-intro-banner__list li:nth-child(1) .p-intro-banner__icon { color: var(--color-top-yellow); }
  .p-intro-banner__list li:nth-child(2) .p-intro-banner__icon { color: var(--color-top-cyan); }
  .p-intro-banner__list li:nth-child(3) .p-intro-banner__icon { color: var(--color-top-green); }
  .p-intro-banner__list li:nth-child(4) .p-intro-banner__icon { color: var(--color-top-orange); }

  .p-intro-banner__list span {
    font-size: var(--text-intro-reference);
    line-height: 1.45;
  }

  .p-intro-banner__cta {
    position: absolute;
    z-index: var(--z-raised);
    right: 0;
    bottom: 0;
    width: var(--size-intro-cta-width);
    height: var(--size-intro-cta-height);
    padding: var(--offset-intro-cta-top) var(--offset-intro-cta-right) var(--space-5) var(--offset-intro-cta-left);
    clip-path: polygon(var(--shape-intro-cta-slant) 0, 100% 0, 100% 100%, 0 100%);
    background: var(--color-top-yellow);
  }

  .p-intro-banner__cta::before {
    content: "";
    position: absolute;
    top: var(--offset-intro-accent-top);
    right: 0;
    width: var(--size-intro-accent-width);
    height: var(--size-intro-accent-height);
    clip-path: polygon(8% 35%, 58% 35%, 64% 0, 100% 0, 93% 42%, 100% 42%, 97% 62%, 60% 62%, 56% 100%, 0 100%);
    background: var(--gradient-top-consultation-accent);
  }

  .p-intro-banner__cta-title {
    margin-block-end: var(--space-4);
    color: var(--color-top-blue-deep);
    font-size: var(--text-intro-title-reference);
    line-height: 1;
    white-space: nowrap;
  }

  .p-intro-banner__cta-box {
    width: var(--size-intro-cta-box-width);
    height: var(--size-intro-cta-box-height);
    padding: var(--space-3) 0;
    border-radius: 0;
    background: var(--color-top-paper);
    transform: translateX(var(--offset-intro-box-left)) skewX(var(--angle-intro-box));
  }

  .p-intro-banner__cta-item {
    justify-content: center;
    gap: var(--space-2);
    padding: 0 var(--space-3);
    color: var(--color-top-blue-deep);
    font-size: var(--text-intro-item-reference);
    line-height: 1;
    transform: skewX(var(--angle-intro-box-reverse));
  }

  .p-intro-banner__cta-item + .p-intro-banner__cta-item {
    border-inline-start: var(--rule-top-hairline) solid var(--color-top-ink);
  }

  .p-intro-banner__cta-item svg {
    width: var(--size-intro-cta-icon);
    height: var(--size-intro-cta-icon);
  }
}

/* =========================================================
   Content below the first view
   ========================================================= */
.p-feature-banner {
  padding-block: 0;
  background: var(--color-top-feature-yellow);
}

.p-feature-banner__deco {
  display: none;
}

.p-feature-banner .l-container {
  max-width: none;
  padding-inline: 0;
}

.p-feature-banner__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.p-feature-banner__item {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto;
  align-content: start;
  row-gap: var(--space-2);
  min-width: 0;
  padding: var(--space-5) var(--space-4);
  border: 0;
  border-block-end: var(--rule-top-hairline) solid var(--color-top-on-dark);
}

.p-feature-banner__item:last-child {
  border-block-end: 0;
}

.p-feature-banner__item h3 {
  margin: 0;
  color: var(--color-top-blue-deep);
  font-size: var(--text-top-body);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: var(--tracking-top-heading);
}

.p-feature-banner__item p {
  margin: 0;
  color: var(--color-top-ink);
  font-size: var(--text-intro-reference);
  line-height: 1.55;
  text-wrap: pretty;
}

.p-feature-banner__link {
  justify-self: start;
  margin-block: calc(-1 * var(--space-3));
  padding-block: var(--space-3);
  color: var(--color-top-ink);
  font-size: var(--text-intro-reference);
  font-weight: 700;
  line-height: 1.4;
  text-underline-offset: var(--space-1);
  white-space: nowrap;
}

@media (min-width: 48rem) {
  .p-feature-banner__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-feature-banner__item {
    padding-inline: var(--space-6);
  }
}

@media (min-width: 75rem) {
  .p-feature-banner {
    block-size: 11.875rem;
    padding-block: 1.1875rem;
    border-block: var(--rule-top-hairline) solid var(--color-top-on-dark);
  }

  .p-feature-banner .l-container {
    padding-inline: 0;
  }

  .p-feature-banner__list {
    inline-size: calc(100% - clamp(3rem, 4.1667vw, 3.75rem));
    min-block-size: 9.375rem;
    margin-inline: auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .p-feature-banner__item {
    min-block-size: 9.375rem;
    padding: 1.5rem clamp(2rem, 2.7778vw, 2.5rem) 1.125rem;
    border: 0;
  }

  .p-feature-banner__item h3 {
    color: var(--color-top-feature-heading);
    font-size: clamp(1rem, 1.25vw, 1.125rem);
    line-height: 1.35;
  }

  .p-feature-banner__item p {
    color: var(--color-top-feature-ink);
    font-size: clamp(1rem, 0.9722vw, 1rem);
    line-height: 1.55;
  }

  .p-feature-banner__link {
    color: var(--color-top-feature-ink);
    font-size: clamp(1rem, 0.9028vw, 1rem);
  }

  .p-feature-banner__item::before,
  .p-feature-banner__item:last-child::after {
    content: "";
    position: absolute;
    inset-block: 0;
    width: var(--rule-top-hairline);
    background: var(--color-top-on-dark);
    opacity: 1;
    transform: rotate(10deg);
    transform-origin: center;
  }

  .p-feature-banner__item::before {
    inset-inline-start: 0;
  }

  .p-feature-banner__item:last-child::after {
    inset-inline-end: 0;
  }
}

.p-dual-banner {
  background: var(--color-top-paper);
  border-block-start: var(--rule-top-thin) solid var(--color-top-on-dark);
}

.p-dual-banner__list {
  background: var(--color-top-dual-surface);
}

.p-dual-banner__card--dark {
  background: var(--gradient-top-dual-dark);
}

.p-dual-banner__card--light {
  background: var(--color-top-dual-surface);
  color: var(--color-top-feature-ink);
}

.p-dual-banner__deco {
  display: none;
}

.p-dual-banner__heading {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
}

.p-dual-banner__badge,
.p-dual-banner__title {
  margin-block-end: 0;
}

.p-dual-banner__title {
  line-height: 1.35;
}

.p-dual-banner__intro,
.p-dual-banner__description {
  position: relative;
  font-size: var(--text-intro-reference);
}

.p-dual-banner__intro--dark {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-2);
}

.p-dual-banner__intro--dark strong {
  color: var(--color-top-feature-yellow);
  letter-spacing: var(--tracking-top-label);
}

.p-dual-banner__button-arrow {
  display: grid;
  flex: none;
  place-items: center;
  inline-size: var(--space-4);
  block-size: var(--space-4);
  margin-inline-start: auto;
  border-radius: 50%;
  background: var(--color-top-dual-blue);
  color: var(--color-top-on-dark);
  font-size: var(--text-top-small);
  line-height: 1;
}

.p-dual-banner__card--light .p-dual-banner__button-arrow {
  background: var(--color-top-on-dark);
  color: var(--color-top-dual-blue);
}

.p-dual-banner__card--light .p-dual-banner__features {
  display: flex;
  flex-wrap: wrap;
}

.p-dual-banner__card--light .p-dual-banner__features li[data-dot="teal"]::before {
  background: var(--color-top-dual-cyan);
}

.p-dual-banner__card--light .p-dual-banner__features li[data-dot="orange"]::before {
  background: var(--color-top-dual-orange);
}

.p-dual-banner__card--light .p-dual-banner__features li[data-dot="pink"]::before {
  background: var(--color-top-dual-pink);
}

.p-dual-banner__card--light .p-dual-banner__features li[data-dot="purple"]::before {
  background: var(--color-top-dual-purple);
}

@media (min-width: 75rem) {
  .p-dual-banner__list {
    position: relative;
    display: block;
    block-size: clamp(17.5625rem, 23.4028vw, 21.0625rem);
    overflow: clip;
  }

  .p-dual-banner__card {
    position: absolute;
    inset-block: 0;
    min-width: 0;
  }

  .p-dual-banner__card--dark {
    inset-inline-start: 0;
    inline-size: 62.35%;
    padding: clamp(2.9167rem, 3.8889vw, 3.5rem)
      clamp(5.4167rem, 7.2222vw, 6.5rem)
      clamp(2.5rem, 3.3333vw, 3rem)
      clamp(3.9063rem, 5.2083vw, 4.6875rem);
    clip-path: polygon(0 0, 100% 0, 93.07% 100%, 0 100%);
  }

  .p-dual-banner__card--light {
    inset-inline-end: 0;
    inline-size: 42%;
    padding: clamp(2.7604rem, 3.6806vw, 3.3125rem)
      clamp(4.375rem, 5.8333vw, 5.25rem)
      clamp(2.5rem, 3.3333vw, 3rem)
      clamp(4.7917rem, 6.3889vw, 5.75rem);
    clip-path: polygon(10.36% 0, 100% 0, 100% 100%, 0 100%);
  }

  .p-dual-banner__heading {
    flex-wrap: nowrap;
    gap: clamp(0.4688rem, 0.625vw, 0.5625rem);
  }

  .p-dual-banner__badge {
    display: grid;
    flex: none;
    place-items: center;
    block-size: clamp(1.0833rem, 1.4404vw, 1.2969rem);
    padding: 0;
    font-size: clamp(1rem, 0.6944vw, 1rem);
    line-height: 1;
  }

  .p-dual-banner__card--dark .p-dual-banner__badge {
    inline-size: clamp(6.9271rem, 9.2361vw, 8.3125rem);
  }

  .p-dual-banner__card--light .p-dual-banner__heading {
    gap: clamp(1.0417rem, 1.3889vw, 1.25rem);
    margin-inline-start: clamp(0.2604rem, 0.3472vw, 0.3125rem);
  }

  .p-dual-banner__card--light .p-dual-banner__badge {
    inline-size: clamp(3.1771rem, 4.2361vw, 3.8125rem);
  }

  .p-dual-banner__title {
    font-size: clamp(1rem, 1.3889vw, 1.25rem);
    line-height: 1.2;
    white-space: nowrap;
  }

  .p-dual-banner__intro {
    margin-block-start: clamp(1.1458rem, 1.5278vw, 1.375rem);
    font-size: clamp(1rem, 0.9722vw, 1rem);
    line-height: 1.45;
  }

  .p-dual-banner__intro--dark {
    margin-block-start: clamp(1.4063rem, 1.875vw, 1.6875rem);
    gap: clamp(0.5rem, 0.6944vw, 0.625rem);
    line-height: clamp(1.3542rem, 1.8056vw, 1.625rem);
  }

  .p-dual-banner__intro--dark strong {
    font-size: clamp(1.375rem, 1.8056vw, 1.625rem);
    line-height: 1;
  }

  .p-dual-banner__features {
    margin-block-end: 0;
  }

  .p-dual-banner__card--dark .p-dual-banner__features {
    inline-size: min(50vw, 45rem);
    margin-block-start: clamp(0.1875rem, 0.2778vw, 0.25rem);
    columns: 2;
    column-gap: var(--space-5);
  }

  .p-dual-banner__card--dark .p-dual-banner__features li {
    margin-block-end: 0;
    padding-inline-start: var(--space-3);
    font-size: clamp(1rem, 0.9722vw, 1rem);
    line-height: clamp(1.3542rem, 1.8056vw, 1.625rem);
  }

  .p-dual-banner__card--dark .p-dual-banner__features li::before {
    inset-block-start: 0.6875rem;
    inline-size: 0.375rem;
    block-size: 0.375rem;
  }

  .p-dual-banner__card--light .p-dual-banner__features {
    inline-size: min(28.75vw, 25.875rem);
    margin-block-start: clamp(0.1875rem, 0.2778vw, 0.25rem);
    columns: 2;
    column-gap: var(--space-3);
  }

  .p-dual-banner__card--light .p-dual-banner__features li {
    margin-block-end: 0;
    padding-inline-start: var(--space-4);
    font-size: clamp(1rem, 0.9722vw, 1rem);
    line-height: clamp(1.1979rem, 1.5972vw, 1.4375rem);
  }

  .p-dual-banner__card--light .p-dual-banner__features li::before {
    inset-block-start: 0.5625rem;
    inline-size: var(--space-2);
    block-size: var(--space-2);
  }

  .p-dual-banner__description {
    inline-size: min(29.7222vw, 26.75rem);
    margin-block-start: 0.1875rem;
    color: var(--color-top-feature-ink);
    font-size: clamp(1rem, 0.9722vw, 1rem);
    line-height: 1.45;
  }

  .p-dual-banner__actions {
    display: grid;
    flex-wrap: nowrap;
  }

  .p-dual-banner__card--dark .p-dual-banner__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 1.3889vw, 1.25rem);
    inline-size: min(51.1111vw, 46rem);
    margin-block-start: clamp(1.0417rem, 1.3889vw, 1.25rem);
    margin-inline-start: clamp(-0.375rem, -0.4167vw, -0.3125rem);
  }

  .p-dual-banner__card--light .p-dual-banner__actions {
    inline-size: min(29.7222vw, 26.75rem);
    margin-block-start: clamp(1.3021rem, 1.7361vw, 1.5625rem);
  }

  .p-dual-banner__actions .c-btn {
    justify-content: flex-start;
    inline-size: 100%;
    block-size: clamp(2.6563rem, 3.5417vw, 3.1875rem);
    padding: clamp(0.625rem, 0.8333vw, 0.75rem) clamp(1.25rem, 1.6667vw, 1.5rem);
    border: var(--rule-top-hairline) solid transparent;
    background: var(--color-top-on-dark);
    color: var(--color-top-feature-ink);
    font-size: clamp(1rem, 1.1111vw, 1rem);
  }

  .p-dual-banner__button-arrow {
    inline-size: clamp(1.25rem, 1.6667vw, 1.5rem);
    block-size: clamp(1.25rem, 1.6667vw, 1.5rem);
  }

  .p-dual-banner__card--dark .p-dual-banner__actions .c-btn:hover {
    background: var(--color-top-on-dark);
  }

  .p-dual-banner__card--light .p-dual-banner__actions .c-btn {
    padding-inline-start: clamp(1.5625rem, 2.0833vw, 1.875rem);
    background: var(--color-top-dual-blue);
    color: var(--color-top-on-dark);
  }

}

.p-feature-banner__item h3,
.p-dual-banner__title,
.p-subsidy-card__title,
.p-sidebar-box__title,
.p-recruit-banner__title {
  letter-spacing: var(--tracking-top-heading);
}

.p-subsidy-card__cta,
.p-feature-banner__link,
.p-recruit-banner__btn,
.p-news-tabs__tab {
  white-space: nowrap;
}

.p-subsidy-card__thumb,
.p-sidebar-box__video {
  overflow: hidden;
  background: var(--color-top-photo-bg);
  isolation: isolate;
}

.p-subsidy-card__thumb {
  aspect-ratio: 288 / 169.366;
}

.p-sidebar-box__video {
  aspect-ratio: 270 / 152;
}

.p-subsidy-card__thumb-image,
.p-sidebar-box__video-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-subsidy-card__thumb .p-subsidy-card__play,
.p-subsidy-card__thumb-caption,
.p-sidebar-box__video .p-subsidy-card__play {
  z-index: var(--z-raised);
}

.p-subsidy-card__thumb-caption {
  color: var(--color-top-on-dark);
  text-shadow: 0 var(--rule-top-hairline) var(--space-1) var(--color-top-ink);
}


/* Measured fidelity correction: subsidy section in SV_01.svg (1440px artboard). */
.p-top-page .p-subsidy {
  border-block-end: 0;
  background: var(--color-top-paper);
}

.p-top-page .p-subsidy > .l-container,
.p-top-page .p-subsidy-card,
.p-top-page .p-subsidy-card__head,
.p-top-page .p-subsidy-card__body,
.p-top-page .p-subsidy-card__details,
.p-top-page .p-sidebar,
.p-top-page .p-sidebar-box {
  min-width: 0;
}

.p-top-page .p-subsidy__main {
  gap: 0;
}

.p-top-page .p-subsidy-card,
.p-top-page .p-subsidy-card:last-child {
  padding-block: var(--space-5);
  border-block-end: var(--rule-top-thin) solid var(--color-top-subsidy-rule);
}

.p-top-page .p-subsidy-card__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  margin: 0;
}

.p-top-page .p-subsidy-card__title {
  color: var(--color-top-ink);
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.p-top-page .p-subsidy-card--blue {
  --subsidy-accent: var(--color-top-subsidy-blue);
  --subsidy-accent-text: var(--color-top-subsidy-blue-text);
  --subsidy-soft: var(--color-top-subsidy-blue-soft);
  --subsidy-contrast: var(--color-top-subsidy-bright-ink);
}

.p-top-page .p-subsidy-card--orange {
  --subsidy-accent: var(--color-top-subsidy-orange);
  --subsidy-accent-text: var(--color-top-subsidy-orange-text);
  --subsidy-soft: var(--color-top-subsidy-orange-soft);
  --subsidy-contrast: var(--color-top-subsidy-bright-ink);
}

.p-top-page .p-subsidy-card--pink {
  --subsidy-accent: var(--color-top-subsidy-pink);
  --subsidy-accent-text: var(--color-top-subsidy-pink-text);
  --subsidy-soft: var(--color-top-subsidy-pink-soft);
  --subsidy-contrast: var(--color-top-on-dark);
}

.p-top-page .p-subsidy-card--purple {
  --subsidy-accent: var(--color-top-subsidy-purple);
  --subsidy-accent-text: var(--color-top-subsidy-purple-text);
  --subsidy-soft: var(--color-top-subsidy-purple-soft);
  --subsidy-contrast: var(--color-top-on-dark);
}

.p-top-page .p-subsidy-card__stats {
  width: 100%;
  min-height: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0;
  color: var(--color-top-muted);
  font-size: var(--text-top-meta);
  line-height: 1.25;
}

.p-top-page .p-subsidy-card__stats-strong {
  color: var(--color-top-feature-ink);
}

.p-top-page .p-subsidy-card .p-subsidy-card__stats {
  background: var(--subsidy-soft);
}

.p-top-page .p-subsidy-card .p-subsidy-card__stats b {
  color: var(--subsidy-accent-text);
}

.p-top-page .p-subsidy-card__cta {
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  min-height: 2.875rem;
  margin: 0;
  padding: 0.6875rem 1.25rem;
  background: var(--subsidy-accent);
  color: var(--subsidy-contrast);
  font-size: 1rem;
  line-height: 1;
  transition: transform var(--duration-top-reduced) var(--ease-top-out);
}

.p-top-page .p-subsidy-card__cta-icon {
  width: 1.4375rem;
  height: 1.4375rem;
  background: var(--color-top-on-dark);
}

.p-top-page .p-subsidy-card .p-subsidy-card__cta-icon {
  color: var(--subsidy-accent-text);
}

.p-top-page .p-subsidy-card__cta-icon svg {
  width: 0.875rem;
  height: 0.875rem;
}

.p-top-page .p-subsidy-card__cta[aria-disabled="true"] {
  opacity: 0.55;
  pointer-events: none;
}

.p-top-page .p-subsidy-card__cta[aria-busy="true"],
.p-top-page .p-subsidy-card__cta[data-state="loading"] {
  opacity: 0.72;
  cursor: progress;
}

.p-top-page .p-subsidy-card__cta[data-state="error"] {
  box-shadow: inset 0 0 0 var(--rule-top-thin) var(--color-top-subsidy-error);
}

.p-top-page .p-subsidy-card__cta[data-state="success"] {
  box-shadow: inset 0 0 0 var(--rule-top-thin) var(--color-top-subsidy-success);
}

.p-top-page .p-subsidy-card__tags {
  gap: 0.375rem 0.5rem;
  margin-block: 0.5rem 1rem;
}

.p-top-page .p-subsidy-card__tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.34375rem;
  padding: 0.1875rem 0.625rem;
  border: var(--rule-top-half) solid var(--color-top-feature-ink);
  background: var(--color-top-paper);
  color: var(--color-top-feature-ink);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
}

.p-top-page .p-subsidy-card__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}

.p-top-page .p-subsidy-card__details {
  display: grid;
  grid-template-columns: minmax(5.5rem, 7.375rem) minmax(0, 1fr);
  min-height: 6.960375rem;
  background: var(--color-top-subsidy-surface);
}

.p-top-page .p-subsidy-card__badge {
  min-height: 6.960375rem;
  margin: 0;
  background: var(--subsidy-accent);
  color: var(--subsidy-contrast);
  clip-path: polygon(0 0, 100% 0, 83% 100%, 0 100%);
  font-size: 1rem;
  line-height: 1.45;
}

.p-top-page .p-subsidy-card__info {
  min-height: 6.960375rem;
  margin: 0;
  padding: 1.25rem 1.25rem 1rem 0.5rem;
  background: var(--color-top-subsidy-surface);
}

.p-top-page .p-subsidy-card__period {
  color: var(--color-top-feature-ink);
  font-size: 1rem;
  line-height: 1.45;
}

.p-top-page .p-subsidy-card__note {
  color: var(--color-top-subsidy-muted);
  font-size: var(--text-top-meta);
  line-height: 1.55;
}

.p-top-page .p-subsidy-card__thumb {
  width: 100%;
  margin: 0;
  aspect-ratio: 288 / 169.366;
}

.p-top-page .p-subsidy-card__thumb::after,
.p-top-page .p-sidebar-box__video::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: var(--z-base);
  background: color-mix(in srgb, var(--color-top-feature-ink) 10%, transparent);
  pointer-events: none;
}

.p-top-page .p-subsidy-card__thumb .p-subsidy-card__play,
.p-top-page .p-sidebar-box__video .p-subsidy-card__play {
  width: 3.1875rem;
  height: 3.1875rem;
  padding: 0.875rem;
  border: var(--rule-top-hairline) solid var(--color-top-on-dark);
  background: transparent;
  color: var(--color-top-on-dark);
}

.p-top-page .p-subsidy-card__thumb-caption {
  transform: translate(-50%, 1.75rem);
  font-size: 1rem;
}

.p-top-page .p-subsidy-card__links {
  gap: 0.5rem 1.25rem;
  margin-block-start: 1.25rem;
  color: var(--color-top-muted);
  font-size: 1rem;
  line-height: 1.4;
}

.p-top-page .p-subsidy-card__links a:last-child {
  color: var(--color-top-feature-ink);
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

.p-top-page .p-sidebar {
  gap: 1.875rem;
}

.p-top-page .p-sidebar-box {
  padding: 1.875rem;
  background: color-mix(in srgb, var(--color-top-subsidy-surface) 90%, transparent);
}

.p-top-page .p-sidebar-box__title {
  margin-block-end: 1.25rem;
  padding-block-end: 0.875rem;
  border-block-end: var(--rule-top-half) solid var(--color-top-subsidy-rule);
  color: var(--color-top-feature-ink);
  font-size: 1rem;
  font-style: normal;
  line-height: 1.25;
}

.p-top-page .p-sidebar-box__list {
  gap: 1.125rem;
  margin-block-end: 1.5rem;
}

.p-top-page .p-sidebar-box__list li {
  gap: 0.625rem;
  padding: 0;
  border: 0;
  color: var(--color-top-feature-ink);
  font-size: 1rem;
  line-height: 1.7;
}

.p-top-page .p-sidebar-box__q {
  color: var(--color-top-dual-blue-deep);
}

.p-top-page .p-sidebar-box__ai-form {
  position: relative;
  display: block;
}

.p-top-page .p-sidebar-box__ai-input {
  width: 100%;
  height: 2.6875rem;
  min-height: 2.6875rem;
  padding: 0.625rem 3rem 0.625rem 0.875rem;
  border: var(--rule-top-hairline) solid transparent;
  border-radius: 0;
  background: var(--color-top-subsidy-field);
  font-size: 1rem;
}

.p-top-page .p-sidebar-box__ai-input::placeholder {
  color: var(--color-top-muted);
  opacity: 1;
}

.p-top-page .p-sidebar-box__ai-input:hover {
  border-color: var(--color-top-subsidy-rule);
}

.p-top-page .p-sidebar-box__ai-submit {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0.75rem;
  width: 1.4375rem;
  height: 1.4375rem;
  min-height: 1.4375rem;
  transform: translateY(-50%);
  background: var(--color-top-dual-blue);
  transition: transform var(--duration-top-reduced) var(--ease-top-out);
}

.p-top-page .p-sidebar-box__ai-submit::before {
  content: "";
  position: absolute;
  inset: -0.625rem;
}

.p-top-page .p-sidebar-box__ai-submit svg {
  width: 0.875rem;
  height: 0.875rem;
}

.p-top-page .p-sidebar-box__more {
  min-height: 0;
  margin-block-start: 1.5rem;
  color: var(--color-top-feature-ink);
  font-size: 1rem;
}

.p-top-page .p-sidebar-box__ai-suggestions {
  gap: 0.375rem;
  margin-block-start: 1.25rem;
}

.p-top-page .p-sidebar-box__ai-chip {
  position: relative;
  min-height: 1.34375rem;
  padding: 0.1875rem 0.625rem;
  border: var(--rule-top-half) solid var(--color-top-feature-ink);
  background: var(--color-top-subsidy-field);
  color: var(--color-top-feature-ink);
  font-size: 1rem;
  line-height: 1.2;
  transition: transform var(--duration-top-reduced) var(--ease-top-out);
}

.p-top-page .p-sidebar-box__ai-chip::before {
  content: "";
  position: absolute;
  inset: -0.625rem -0.25rem;
}

.p-top-page .p-sidebar-box__ai-input:disabled,
.p-top-page .p-sidebar-box__ai-submit:disabled,
.p-top-page .p-sidebar-box__ai-chip:disabled,
.p-top-page .p-sidebar-box__ai-submit[aria-disabled="true"],
.p-top-page .p-sidebar-box__ai-chip[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

.p-top-page .p-sidebar-box__ai-input[aria-invalid="true"] {
  border-color: var(--color-top-subsidy-error);
}

.p-top-page .p-sidebar-box__ai-submit[data-state="error"],
.p-top-page .p-sidebar-box__ai-chip[data-state="error"] {
  box-shadow: inset 0 0 0 var(--rule-top-thin) var(--color-top-subsidy-error);
}

.p-top-page .p-sidebar-box__ai-input[data-state="success"] {
  border-color: var(--color-top-subsidy-success);
}

.p-top-page .p-sidebar-box__ai-submit[data-state="success"],
.p-top-page .p-sidebar-box__ai-chip[data-state="success"] {
  box-shadow: inset 0 0 0 var(--rule-top-thin) var(--color-top-subsidy-success);
}

.p-top-page .p-sidebar-box__ai-input[aria-busy="true"],
.p-top-page .p-sidebar-box__ai-submit[aria-busy="true"],
.p-top-page .p-sidebar-box__ai-chip[aria-busy="true"] {
  opacity: 0.72;
  cursor: progress;
}

.p-top-page .p-sidebar-box--media {
  padding: 1.25rem;
  background: var(--color-top-subsidy-surface);
}

.p-top-page .p-sidebar-box--media .p-sidebar-box__title {
  margin-block-end: 1.25rem;
  padding-block-end: 0.875rem;
}

@media (min-width: 48rem) {
  .p-top-page .p-subsidy-card__body {
    grid-template-columns: minmax(0, 2fr) minmax(10rem, 1fr);
    gap: var(--space-3);
  }
}

@media (min-width: 75rem) {
  .p-top-page .p-subsidy {
    padding-block: clamp(8rem, 11.1111vw, 10rem) clamp(8rem, 11.3889vw, 10.25rem);
  }

  .p-top-page .p-subsidy > .l-container {
    display: grid;
    grid-template-columns: minmax(0, 917fr) minmax(17rem, 310fr);
    grid-template-areas:
      "heading sidebar"
      "main sidebar";
    column-gap: clamp(1.75rem, 2.4306vw, 2.1875rem);
    width: calc(100% - 3rem);
    max-width: 78.875rem;
    padding-inline: 0;
  }

  .p-top-page .p-subsidy .c-heading {
    grid-area: heading;
    min-height: 3.4375rem;
    margin: 0 0 2.25rem;
  }

  .p-top-page .p-subsidy__layout {
    display: contents;
  }

  .p-top-page .p-subsidy__main {
    grid-area: main;
  }

  .p-top-page .p-sidebar {
    grid-area: sidebar;
    align-self: start;
  }

  .p-top-page .p-subsidy-card,
  .p-top-page .p-subsidy-card:last-child {
    min-height: 19.023rem;
    padding-block: 2.125rem 2rem;
  }

  .p-top-page .p-subsidy-card__head {
    grid-template-columns: minmax(9.75rem, 196fr) minmax(0, 393fr) minmax(14rem, 288fr);
    gap: clamp(0.75rem, 1.3889vw, 1.25rem);
    min-height: 2.875rem;
  }

  .p-top-page .p-subsidy-card__title {
    font-size: 1.375rem;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  .p-top-page .p-subsidy-card__stats {
    align-self: center;
    height: 2.25rem;
    padding-inline: 1.25rem;
    white-space: nowrap;
  }

  .p-top-page .p-subsidy-card__tags {
    margin-block: 0.375rem 1rem;
  }

  .p-top-page .p-subsidy-card__body {
    grid-template-columns: minmax(0, 609fr) minmax(13rem, 288fr);
    gap: clamp(0.75rem, 1.3889vw, 1.25rem);
    min-height: 6.960375rem;
  }

  .p-top-page .p-subsidy-card__details {
    grid-template-columns: minmax(5.5rem, 118fr) minmax(0, 491fr);
  }

  .p-top-page .p-subsidy-card__info {
    padding-inline-start: 1.5rem;
  }

  .p-top-page .p-subsidy-card__thumb {
    margin-block-end: -3.625rem;
    transform: translateY(-1.4375rem);
  }

  .p-top-page .p-sidebar-box--faq {
    min-height: 24.881rem;
  }

  .p-top-page .p-sidebar-box--assistant {
    min-height: 17.3125rem;
  }

  .p-top-page .p-sidebar-box--media {
    min-height: 15.375rem;
  }
}

.p-recruit-banner {
  background: var(--gradient-top-recruit);
  isolation: isolate;
}

.p-recruit-banner__deco {
  display: none;
}

.p-recruit-banner__inner {
  position: relative;
  z-index: var(--z-raised);
}

.p-recruit-banner__copy {
  min-width: 0;
}

.p-recruit-banner__label {
  margin-block-end: var(--space-4);
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--color-top-on-dark);
  font-size: var(--text-top-body);
}

.p-recruit-banner__company {
  color: var(--color-top-on-dark);
  font-weight: 700;
}

.p-recruit-banner__title {
  min-width: 0;
  color: var(--color-top-on-dark);
  font-size: var(--text-top-title-mobile);
  line-height: 1.2;
  overflow-wrap: anywhere;
  white-space: nowrap;
}

.p-recruit-banner__text {
  max-width: 48ch;
  color: var(--color-top-on-dark);
}

.p-recruit-banner__photos {
  --recruit-photo-aspect: 195 / 241;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
  min-width: 0;
  transform: none;
}

.p-recruit-banner__photos img {
  display: block;
  width: 100%;
  height: auto;
  min-width: 0;
  aspect-ratio: var(--recruit-photo-aspect);
  object-fit: cover;
  object-position: center;
}

.p-recruit-banner__photo-column {
  display: contents;
}

.p-recruit-banner__photo--clone {
  display: none;
}

.p-recruit-banner__photo--5 {
  object-position: 67% center;
}

.p-recruit-banner__photo--8 {
  object-position: 38% center;
}

@keyframes recruit-photo-loop-down {
  to {
    transform: translate3d(var(--recruit-cycle-x), var(--recruit-cycle-y), 0);
  }
}

@keyframes recruit-photo-loop-up {
  to {
    transform: translate3d(
      calc(-1 * var(--recruit-cycle-x)),
      calc(-1 * var(--recruit-cycle-y)),
      0
    );
  }
}

.p-recruit-banner__btn-arrow {
  display: block;
  line-height: 1;
}

.p-news {
  background: var(--color-top-paper);
}

.p-news-tabs__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-block-end: var(--space-5);
  border-block-end: var(--rule-top-hairline) solid var(--color-top-rule);
}

.p-news-tabs__tab {
  position: relative;
  min-width: 0;
  min-height: 2.75rem;
  margin: 0;
  padding: var(--space-3) var(--space-2);
  border: 0;
  background: transparent;
  color: var(--color-top-muted);
  font-size: var(--text-top-small);
  line-height: 1;
  text-align: center;
  cursor: pointer;
}

.p-news-tabs__tab::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: var(--rule-top-thin);
  background: transparent;
}

.p-news-tabs__tab.is-active {
  border: 0;
  color: var(--color-top-ink);
}

.p-news-tabs__tab.is-active::after {
  background: var(--gradient-accent);
}

.p-news-tabs__tab[data-filter="seminar"] {
  color: var(--color-top-subsidy-blue-text);
}

.p-news-tabs__tab[data-filter="case"] {
  color: var(--color-top-subsidy-pink-text);
}

.p-news-tabs__tab:focus-visible,
.p-recruit-banner__btn:focus-visible,
.c-news-list__link:focus-visible {
  outline: var(--rule-top-emphasis) solid var(--color-focus);
  outline-offset: var(--space-1);
}

.p-news-tabs__tab:disabled,
.p-news-tabs__more[aria-disabled="true"],
.p-recruit-banner__btn[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.p-news-tabs__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  font-variant-numeric: tabular-nums;
}

.p-news .c-news-list__item {
  position: relative;
  display: block;
  min-width: 0;
  padding: var(--space-4) var(--space-3) var(--space-3);
  border-block-end: var(--rule-top-hairline) solid var(--color-top-rule);
}

.p-news .c-news-list__item[hidden] {
  display: none;
}

.p-news .c-news-list__category {
  display: block;
  width: fit-content;
  margin-block-end: var(--space-2);
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: var(--text-top-small);
  line-height: 1.2;
}

.p-news .c-news-list__category--info {
  color: var(--color-top-subsidy-blue-text);
}

.p-news .c-news-list__category--important {
  color: var(--color-top-subsidy-pink-text);
}

.p-news .c-news-list__link {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--space-5);
  min-width: 0;
  padding-inline-end: var(--space-3);
  color: var(--color-top-ink);
  text-decoration: none;
}

.p-news .c-news-list__title,
.p-news .c-news-list__summary,
.p-news .c-news-list__date {
  grid-column: 1;
  min-width: 0;
}

.p-news .c-news-list__title {
  margin-block-end: var(--space-1);
  font-size: 1rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.p-news .c-news-list__summary {
  margin-block-end: var(--space-1);
  font-size: 1rem;
  line-height: 1.5;
}

.p-news .c-news-list__date {
  color: var(--color-top-muted);
  font-size: var(--text-top-small);
  line-height: 1.3;
}

.p-news .c-news-list__arrow {
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  justify-self: end;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1;
}

.p-news-tabs__footer {
  margin-block-start: var(--space-6);
  text-align: center;
}

.p-recruit-banner__btn:active {
  transform: translateY(var(--rule-top-hairline));
}

.p-news-tabs__grid {
  font-variant-numeric: tabular-nums;
}

@media (min-width: 48rem) and (max-width: 75rem) {
  .p-hero__photos {
    max-width: var(--size-top-photo-grid-tablet);
    margin-inline: auto;
  }

  .p-stats__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .p-news-tabs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--space-5);
  }
}

@media (min-width: 64rem) {
  .p-recruit-banner {
    padding-block: 0;
  }

  .p-recruit-banner__inner {
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    min-height: calc(var(--space-8) * 4 + var(--space-6) + var(--space-5) + var(--space-1));
  }

  .p-recruit-banner__copy {
    display: grid;
    grid-template-columns: calc(var(--space-8) + var(--space-3)) minmax(0, 1fr);
    column-gap: var(--space-7);
    align-items: start;
    margin-inline-start: calc(-1 * (var(--space-7) + var(--space-2)));
  }

  .p-recruit-banner__copy::before {
    content: "";
    position: absolute;
    inset-block-start: calc(var(--space-8) - var(--space-2));
    inset-inline-start: calc(var(--space-8) + var(--space-5));
    width: var(--rule-top-thin);
    height: calc(var(--space-8) * 3 + var(--space-3));
    background: var(--color-top-on-dark);
    transform: rotate(18deg);
    transform-origin: center;
  }

  .p-recruit-banner__label {
    margin-block-start: 0;
    margin-block-end: 0;
    font-size: 1.875rem;
  }

  .p-recruit-banner__copy-body {
    margin-block-start: calc(var(--space-8) + var(--space-3));
  }

  .p-recruit-banner__company {
    font-size: 1.25rem;
  }

  .p-recruit-banner__title {
    font-size: calc(var(--text-top-title-mobile) + var(--space-3));
  }

  .p-recruit-banner__btn {
    position: absolute;
    z-index: var(--z-content);
    inset-block-start: 50%;
    inset-inline-start: calc(100% - var(--space-6));
    display: grid;
    place-items: center;
    width: calc(var(--space-8) + var(--space-6) + var(--space-5) + var(--space-2));
    aspect-ratio: 1;
    padding: var(--space-4);
    border: var(--rule-top-emphasis) solid transparent;
    border-radius: 50%;
    background: linear-gradient(var(--color-top-on-dark), var(--color-top-on-dark)) padding-box,
      var(--gradient-top-recruit-reverse) border-box;
    color: var(--color-top-recruit-end);
    text-align: center;
    transform: translate(-50%, -50%);
  }

  .p-recruit-banner__photos {
    position: relative;
    inset-inline-start: calc(var(--space-7) + var(--space-4));
    display: block;
    height: calc(var(--space-8) * 4 + var(--space-6) + var(--space-5) + var(--space-1));
  }

  .p-recruit-banner__photo-column {
    /* 1周分の移動量。列内の送り量(-90px, 248px)の3枚分と一致させる */
    --recruit-cycle-x: -270px;
    --recruit-cycle-y: 744px;
    position: absolute;
    inset: 0;
    display: block;
    animation-duration: 30s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform;
  }

  .p-recruit-banner__photo-column--down {
    animation-name: recruit-photo-loop-down;
  }

  .p-recruit-banner__photo-column--up {
    animation-name: recruit-photo-loop-up;
  }

  .p-recruit-banner__photos img {
    position: absolute;
    inset: var(--recruit-photo-top) auto auto var(--recruit-photo-left);
    width: calc(var(--space-8) * 2 + var(--space-1));
    height: auto;
    transform: rotate(20deg);
  }

  .p-recruit-banner__photo-column--down .p-recruit-banner__photo--clone {
    inset-block-start: calc(var(--recruit-photo-top) - var(--recruit-cycle-y));
    inset-inline-start: calc(var(--recruit-photo-left) - var(--recruit-cycle-x));
  }

  .p-recruit-banner__photo-column--up .p-recruit-banner__photo--clone {
    inset-block-start: calc(var(--recruit-photo-top) + var(--recruit-cycle-y));
    inset-inline-start: calc(var(--recruit-photo-left) + var(--recruit-cycle-x));
  }

  /* 20deg傾けた格子。列内は(-90px, 248px)刻み、列間は同じ間隔でずらす */
  .p-recruit-banner__photo--1 { --recruit-photo-top: -218px; --recruit-photo-left: 182px; }
  .p-recruit-banner__photo--2 { --recruit-photo-top: 30px; --recruit-photo-left: 92px; }
  .p-recruit-banner__photo--3 { --recruit-photo-top: 278px; --recruit-photo-left: 2px; }
  .p-recruit-banner__photo--4 { --recruit-photo-top: -214px; --recruit-photo-left: 412px; }
  .p-recruit-banner__photo--5 { --recruit-photo-top: 34px; --recruit-photo-left: 322px; }
  .p-recruit-banner__photo--6 { --recruit-photo-top: 282px; --recruit-photo-left: 232px; }
  .p-recruit-banner__photo--7 { --recruit-photo-top: -70px; --recruit-photo-left: 590px; }
  .p-recruit-banner__photo--8 { --recruit-photo-top: 178px; --recruit-photo-left: 500px; }
  .p-recruit-banner__photo--9 { --recruit-photo-top: 426px; --recruit-photo-left: 410px; }
}

/* 1437px desktop reference — supplied TOP design, recruit + news. */
@media (min-width: 75.0625rem) {
  .p-recruit-banner {
    height: 32.568vw;
    min-height: 0;
  }

  .p-recruit-banner__inner {
    container: recruit-reference / inline-size;
    grid-template-columns: minmax(0, 45.86fr) minmax(0, 54.14fr);
    gap: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    min-height: 0;
    margin-inline: auto;
    padding: 0;
  }

  .p-recruit-banner__copy {
    position: relative;
    display: block;
    height: 100%;
    margin: 0;
  }

  .p-recruit-banner__copy::before {
    inset-block-start: 6.47cqi;
    inset-inline-start: 17.67cqi;
    width: 0.139cqi;
    height: 20.18cqi;
    transform: rotate(18deg);
  }

  .p-recruit-banner__label {
    position: absolute;
    inset-block-start: 6.33cqi;
    inset-inline-start: 7.65cqi;
    margin: 0;
    font-size: 2.087cqi;
    line-height: 1;
  }

  .p-recruit-banner__copy-body {
    position: absolute;
    inset-block-start: 14.2cqi;
    inset-inline-start: 20.11cqi;
    width: 24.5cqi;
    min-width: 0;
    margin: 0;
  }

  .p-recruit-banner__company {
    margin-block-end: 1.55cqi;
    font-size: max(1rem, 1.253cqi);
    line-height: 1.25;
  }

  .p-recruit-banner__title {
    margin-block-end: 1.1cqi;
    font-size: 3.34cqi;
    line-height: 1.12;
  }

  .p-recruit-banner__text {
    width: 24.5cqi;
    max-width: none;
    margin: 0;
    font-size: max(1rem, 0.974cqi);
    line-height: 1.8;
  }

  .p-recruit-banner__btn {
    inset-block-start: 7.73cqi;
    inset-inline-start: 65.83cqi;
    width: 12.74cqi;
    min-width: 0;
    max-width: none;
    padding: 3.97cqi 1.67cqi;
    border-width: 0.178cqi;
    row-gap: 0.114cqi;
    font-size: max(1rem, 1.314cqi);
    line-height: 1.2;
  }

  .p-recruit-banner__btn-arrow {
    font-size: 1.25em;
  }

  .p-recruit-banner__photos {
    inset-inline-start: 0;
    height: 100%;
  }

  .p-recruit-banner__photos img {
    width: 13.57cqi;
    height: auto;
  }

  /* 1周分の移動量。列内の送り量(-6.297cqi, 17.3cqi)の3枚分と一致させる */
  .p-recruit-banner__photo-column {
    --recruit-cycle-x: -18.891cqi;
    --recruit-cycle-y: 51.9cqi;
  }

  /* 20deg傾けた格子。列内は(-6.297cqi, 17.3cqi)刻み、列間は同じ間隔でずらす */
  .p-recruit-banner__photo--1 { --recruit-photo-top: -15.247cqi; --recruit-photo-left: 12.644cqi; }
  .p-recruit-banner__photo--2 { --recruit-photo-top: 2.053cqi; --recruit-photo-left: 6.347cqi; }
  .p-recruit-banner__photo--3 { --recruit-photo-top: 19.353cqi; --recruit-photo-left: 0.05cqi; }
  .p-recruit-banner__photo--4 { --recruit-photo-top: -14.978cqi; --recruit-photo-left: 28.541cqi; }
  .p-recruit-banner__photo--5 { --recruit-photo-top: 2.322cqi; --recruit-photo-left: 22.244cqi; }
  .p-recruit-banner__photo--6 { --recruit-photo-top: 19.622cqi; --recruit-photo-left: 15.947cqi; }
  .p-recruit-banner__photo--7 { --recruit-photo-top: -4.966cqi; --recruit-photo-left: 40.892cqi; }
  .p-recruit-banner__photo--8 { --recruit-photo-top: 12.334cqi; --recruit-photo-left: 34.595cqi; }
  .p-recruit-banner__photo--9 { --recruit-photo-top: 29.634cqi; --recruit-photo-left: 28.298cqi; }

  .p-top-page .p-news__deco {
    inline-size: 10.3vw;
  }

  .p-news .c-heading {
    font-size: 2.116vw;
  }

  .p-news .c-heading::before {
    margin-inline-end: 0.557vw;
  }

  .p-news-tabs__nav {
    min-height: 3.48vw;
    margin-block-end: 2.644vw;
  }

  .p-news-tabs__tab {
    min-height: 3.48vw;
    padding: 1.114vw;
    font-size: max(1rem, 1.044vw);
  }

  .p-news-tabs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 4.454vw;
  }

  .p-news .c-news-list__item {
    min-height: 10.786vw;
    padding: 1.67vw 1.67vw 1.392vw;
  }

  .p-news .c-news-list__category {
    margin-block-end: 0.696vw;
    font-size: max(1rem, 0.835vw);
  }

  .p-news .c-news-list__title {
    margin-block-end: 0.278vw;
    font-size: max(1rem, 1.253vw);
  }

  .p-news .c-news-list__summary {
    margin-block-end: 0.278vw;
    font-size: max(1rem, 0.974vw);
  }

  .p-news .c-news-list__link {
    grid-template-columns: minmax(0, 1fr) 2.227vw;
    padding-inline-end: 1.114vw;
  }

  .p-news .c-news-list__date {
    font-size: max(1rem, 0.835vw);
  }

  .p-news .c-news-list__arrow {
    font-size: 1.67vw;
  }

  .p-news-tabs__footer {
    margin-block-start: 5.01vw;
  }

}

@media (hover: hover) and (pointer: fine) and (min-width: 64rem) {
  .p-recruit-banner__btn:hover {
    transform: translate(-50%, calc(-50% + var(--offset-top-hover)));
  }
}

@media (hover: hover) and (pointer: fine) {
  .p-top-page .p-subsidy-card__cta:hover {
    transform: translateY(var(--offset-top-hover));
  }

  .p-top-page .p-sidebar-box__ai-submit:hover {
    transform: translateY(calc(-50% + var(--offset-top-hover)));
  }

  .p-top-page .p-sidebar-box__ai-chip:hover {
    transform: translateY(var(--offset-top-hover));
  }

  .p-feature-banner__link:hover {
    text-decoration: underline;
  }
}

.p-top-page .p-subsidy-card__cta:active,
.p-top-page .p-sidebar-box__ai-chip:active {
  transform: translateY(var(--rule-top-hairline));
}

.p-top-page .p-sidebar-box__ai-submit:active {
  transform: translateY(calc(-50% + var(--rule-top-hairline)));
}

@media (prefers-reduced-motion: reduce) {
  .p-feature-banner__link,
  .p-subsidy-card__cta,
  .p-sidebar-box__ai-submit,
  .p-sidebar-box__ai-chip,
  .p-recruit-banner__btn {
    transition-duration: var(--duration-top-reduced);
  }

  .p-recruit-banner__photo-column {
    animation: none;
  }

  .p-recruit-banner__photo-column .p-recruit-banner__photo--clone {
    display: none;
  }
}

/* =========================================================
   Subsidy information v2 — supplied desktop reference
   Reference canvas: 1536 × 1024
   ========================================================= */
.p-top-page .p-subsidy-v2 {
  --subsidy-v2-navy: #001b4e;
  --subsidy-v2-rule: #c9d2df;
  --subsidy-v2-blue: #064eb2;
  --subsidy-v2-blue-ink: #043696;
  --subsidy-v2-blue-soft: #d5e7f7;
  --subsidy-v2-pink: #d32451;
  --subsidy-v2-pink-ink: #d11d4b;
  --subsidy-v2-pink-soft: #efd0d5;
  --subsidy-v2-orange: #fca40d;
  --subsidy-v2-orange-ink: #9c4d00;
  --subsidy-v2-orange-soft: #fcf3d3;
  /* 省力化投資補助金＝赤紫、成長加速化補助金＝緑。
     グローバルナビの補助金カラー（--color-top-pink / --color-top-green-dark）と揃える */
  --subsidy-v2-magenta: var(--color-top-pink);
  --subsidy-v2-magenta-ink: var(--color-top-pink-dark);
  --subsidy-v2-magenta-soft: oklch(92% 0.055 350);
  --subsidy-v2-green: var(--color-top-green-dark);
  --subsidy-v2-green-ink: oklch(47% 0.135 152);
  --subsidy-v2-green-soft: oklch(91% 0.045 152);
  width: 100%;
  background-color: #fff;
  background-image: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_top_right.svg");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: clamp(10rem, 24.134vw, 21.676rem) auto;
  color: var(--subsidy-v2-navy);
}

.p-top-page .p-subsidy-v2__heading {
  display: flex;
  align-items: center;
  gap: 15px;
  color: var(--subsidy-v2-navy);
  font-size: 1.86rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .13em;
  overflow-wrap: normal;
}

.p-top-page .p-subsidy-v2__heading::before {
  display: none;
}

.p-top-page .p-subsidy-v2__heading > span {
  position: relative;
  display: block;
  width: 13px;
  height: 35px;
  transform: skew(-22deg);
}

.p-top-page .p-subsidy-v2__heading i {
  position: absolute;
  left: 4px;
  display: block;
  width: 3px;
  transform: none;
}

.p-top-page .p-subsidy-v2__heading i:nth-child(1) { top: 0; height: 16px; background: #00a5ef; }
.p-top-page .p-subsidy-v2__heading i:nth-child(2) { top: 15px; height: 12px; background: var(--subsidy-v2-pink); }
.p-top-page .p-subsidy-v2__heading i:nth-child(3) { top: 26px; height: 9px; background: #ffe000; }

.p-top-page .p-subsidy-v2__cards {
  display: grid;
  gap: 15px;
}

.p-top-page .p-subsidy-v2-card {
  --subsidy-card-accent: var(--subsidy-v2-blue);
  --subsidy-card-ink: var(--subsidy-v2-blue-ink);
  --subsidy-card-soft: var(--subsidy-v2-blue-soft);
  --subsidy-card-bg-lt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diadef_lt.svg");
  --subsidy-card-bg-rt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diadef_rt.svg");
  --subsidy-card-video-bg: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/top/video-thumb-new-business.webp");
  position: relative;
  isolation: isolate;
  min-height: 297px;
  overflow: hidden;
  border: 1px solid var(--subsidy-v2-rule);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 27, 78, .025);
}

.p-top-page .p-subsidy-v2-card::before,
.p-top-page .p-subsidy-v2-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset-block: 0;
  width: min(34%, 340px);
  background-repeat: no-repeat;
  background-size: auto 100%;
  pointer-events: none;
}

.p-top-page .p-subsidy-v2-card::before {
  left: 0;
  background-image: var(--subsidy-card-bg-lt);
  background-position: left top;
  opacity: .34;
}

.p-top-page .p-subsidy-v2-card::after {
  right: 0;
  background-image: var(--subsidy-card-bg-rt);
  background-position: right bottom;
  opacity: .62;
}

.p-top-page .p-subsidy-v2-card--first {
  min-height: 310px;
}

.p-top-page .p-subsidy-v2-card--blue {
  --subsidy-card-accent: var(--subsidy-v2-blue);
  --subsidy-card-ink: var(--subsidy-v2-blue-ink);
  --subsidy-card-soft: var(--subsidy-v2-blue-soft);
  --subsidy-card-bg-lt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diablue_lt.svg");
  --subsidy-card-bg-rt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diablue_rt.svg");
  --subsidy-card-video-bg: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/top/video-thumb-new-business.webp");
}

.p-top-page .p-subsidy-v2-card--magenta {
  --subsidy-card-accent: var(--subsidy-v2-magenta);
  --subsidy-card-ink: var(--subsidy-v2-magenta-ink);
  --subsidy-card-soft: var(--subsidy-v2-magenta-soft);
  --subsidy-card-bg-lt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diared_lt.svg");
  --subsidy-card-bg-rt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diared_rt.svg");
  --subsidy-card-video-bg: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/top/video-thumb-labor-saving.webp");
}

.p-top-page .p-subsidy-v2-card--green {
  --subsidy-card-accent: var(--subsidy-v2-green);
  --subsidy-card-ink: var(--subsidy-v2-green-ink);
  --subsidy-card-soft: var(--subsidy-v2-green-soft);
  --subsidy-card-bg-lt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diagreen_rt.svg");
  --subsidy-card-bg-rt: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/bg_diagreen_lt.svg");
  --subsidy-card-video-bg: url("https://svltd2.files.cmssv.awsv.jp/_build_/common_v7/assets/common/img/top/video-thumb-growth.webp");
  min-height: 300px;
}

.p-top-page .p-subsidy-v2-card__edge {
  position: absolute;
  z-index: 2;
  inset: 0 auto 0 0;
  width: 14px;
  background: var(--subsidy-card-accent);
}

.p-top-page .p-subsidy-v2-card__edge::before,
.p-top-page .p-subsidy-v2-card__edge::after {
  content: none;
}

.p-top-page .p-subsidy-v2-card__main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, .48fr) minmax(210px, .48fr);
  min-height: 261px;
  padding: 22px 19px 22px 70px;
}

.p-top-page .p-subsidy-v2-card__overview {
  min-width: 0;
  padding-right: 14px;
}

.p-top-page .p-subsidy-v2-card__overview h3 {
  color: var(--subsidy-card-ink);
  font-size: clamp(1.55rem, 1.88vw, 1.82rem);
  font-weight: 700;
  line-height: 1.34;
  letter-spacing: .105em;
  white-space: normal;
  overflow-wrap: normal;
}

.p-top-page .p-subsidy-v2-card__result {
  margin-top: 2px;
  color: var(--subsidy-v2-navy);
  font-size: .96rem;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.7;
}

.p-top-page .p-subsidy-v2-card__description {
  margin-top: 5px;
  color: var(--subsidy-v2-navy);
  font-size: .94rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: .015em;
}

.p-top-page .p-subsidy-v2-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: 23px;
}

.p-top-page .p-subsidy-v2-card__links .c-btn {
  min-width: 8.75rem;
}

.p-top-page .p-subsidy-v2-card__schedule {
  min-width: 0;
  padding: 4px 0 0 31px;
  border-left: 1px solid var(--subsidy-v2-rule);
}

.p-top-page .p-subsidy-v2-card__round {
  color: var(--subsidy-card-ink);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .04em;
}

.p-top-page .p-subsidy-v2-card__date {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 31px;
  padding-bottom: 26px;
  border-bottom: 1px dashed #aebbcf;
  color: var(--subsidy-v2-navy);
  font-size: .89rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.p-top-page .p-subsidy-v2-card__date--deadline {
  margin-top: 27px;
  padding-bottom: 0;
  border-bottom: 0;
}

.p-top-page .p-subsidy-v2-card__date svg {
  flex: 0 0 29px;
  width: 29px;
  height: 29px;
  stroke: var(--subsidy-card-ink);
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.p-top-page .p-subsidy-v2-card__date strong {
  color: var(--subsidy-card-ink);
  font-size: 1.55rem;
  letter-spacing: .025em;
}

.p-top-page .p-subsidy-v2-card__date small {
  font-size: .58em;
  font-weight: 700;
}

.p-top-page .p-subsidy-v2-card__video {
  position: relative;
  display: flex;
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 9;
  margin-left: 24px;
  padding: 20px 78px 18px 18px;
  align-self: center;
  overflow: hidden;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  border: 1px solid var(--subsidy-card-ink);
  border-radius: 6px;
  background-color: #f7faff;
  background-image: var(--subsidy-card-video-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: var(--subsidy-card-ink);
  text-align: left;
}

.p-top-page .p-subsidy-v2-card__video::before,
.p-top-page .p-subsidy-v2-card__video::after {
  content: none;
}

.p-top-page .p-subsidy-v2-card__video-caption {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  color: var(--subsidy-card-ink);
  font-size: .7rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
}

.p-top-page .p-subsidy-v2-card__play {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 18px;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: var(--subsidy-card-ink);
  color: #fff;
  transform: translateY(-50%);
}

.p-top-page .p-subsidy-v2-card__play svg {
  width: 26px;
  height: 26px;
  fill: currentColor;
}

.p-top-page .p-subsidy-v2-card__video strong {
  position: relative;
  z-index: 2;
  max-width: 100%;
  margin: 0;
  color: var(--subsidy-card-ink);
  font-size: clamp(.82rem, 1vw, 1rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
}

.p-top-page .p-subsidy-v2-card__blog {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 102px 1px minmax(0, 1fr) auto;
  width: calc(100% - 100px);
  height: 49px;
  margin-left: 61px;
  align-items: center;
  gap: 16px;
  border-top: 1px solid var(--subsidy-v2-rule);
  color: var(--subsidy-v2-navy);
  font-size: .78rem;
  letter-spacing: .02em;
}

.p-top-page .p-subsidy-v2-card__blog a {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

.p-top-page .p-subsidy-v2-card__blog a:nth-of-type(2) {
  overflow: hidden;
  text-overflow: ellipsis;
}

.p-top-page .p-subsidy-v2-card__blog svg {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  stroke: var(--subsidy-card-ink);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.p-top-page .p-subsidy-v2-card__blog-divider {
  width: 1px;
  height: 18px;
  background: #8795aa;
}

.p-top-page .p-subsidy-v2-card__blog time {
  color: #778296;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .p-top-page .p-subsidy-v2-card__video:hover {
    background-color: var(--subsidy-card-soft);
  }

  .p-top-page .p-subsidy-v2-card__blog a:hover {
    color: var(--subsidy-card-ink);
  }
}

@media (max-width: 1279px) {
  .p-top-page .p-subsidy-v2-card,
  .p-top-page .p-subsidy-v2-card--first,
  .p-top-page .p-subsidy-v2-card--green {
    height: auto;
  }

  .p-top-page .p-subsidy-v2-card__main {
    grid-template-columns: minmax(0, 1fr) 270px;
    height: auto;
    padding-bottom: 24px;
  }

  .p-top-page .p-subsidy-v2-card__overview {
    padding-right: 28px;
  }

  .p-top-page .p-subsidy-v2-card__overview h3 {
    white-space: normal;
  }

  .p-top-page .p-subsidy-v2-card__video {
    grid-column: 1 / -1;
    width: min(100%, 420px);
    height: auto;
    margin: 24px auto 0;
  }

  .p-top-page .p-subsidy-v2-card__blog {
    width: calc(100% - 165px);
  }
}

@media (min-width: 1440px) {
  .p-top-page .p-subsidy-v2-card {
    height: 297px;
    min-height: 0;
  }

  .p-top-page .p-subsidy-v2-card--first {
    height: 310px;
  }

  .p-top-page .p-subsidy-v2-card--green {
    height: 300px;
  }

  .p-top-page .p-subsidy-v2-card__main {
    grid-template-columns: minmax(0, 1fr) 293px 295px;
    height: calc(100% - 49px);
    min-height: 0;
    padding: 22px 19px 0 87px;
  }

  .p-top-page .p-subsidy-v2-card__overview h3 {
    white-space: nowrap;
  }

  .p-top-page .p-subsidy-v2-card__video {
    height: auto;
    min-height: 0;
    margin-left: 32px;
    align-self: center;
  }

  .p-top-page .p-subsidy-v2-card__blog {
    width: calc(100% - 100px);
    margin-left: 78px;
  }
}

@media (max-width: 767px) {
  .p-top-page .p-subsidy-v2-card::before,
  .p-top-page .p-subsidy-v2-card::after {
    width: min(52vw, 260px);
    background-size: 100% auto;
  }

  .p-top-page .p-subsidy-v2__heading {
    height: auto;
    font-size: 1.55rem;
  }

  .p-top-page .p-subsidy-v2__cards {
    gap: 20px;
  }

  .p-top-page .p-subsidy-v2-card__main {
    grid-template-columns: 1fr;
    padding: 28px 20px 24px 40px;
  }

  .p-top-page .p-subsidy-v2-card__overview {
    padding-right: 0;
  }

  .p-top-page .p-subsidy-v2-card__overview h3 {
    font-size: 1.32rem;
    line-height: 1.5;
    letter-spacing: .06em;
  }

  .p-top-page .p-subsidy-v2-card__description br {
    display: none;
  }

  .p-top-page .p-subsidy-v2-card__links {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .p-top-page .p-subsidy-v2-card__links .c-btn {
    min-width: 0;
    width: 100%;
  }

  .p-top-page .p-subsidy-v2-card__schedule {
    margin-top: 30px;
    padding: 24px 0 0;
    border-top: 1px solid var(--subsidy-v2-rule);
    border-left: 0;
  }

  .p-top-page .p-subsidy-v2-card__date {
    justify-content: flex-start;
  }

  .p-top-page .p-subsidy-v2-card__video {
    grid-column: auto;
    width: 100%;
  }

  .p-top-page .p-subsidy-v2-card__blog {
    grid-template-columns: auto 1px minmax(0, 1fr);
    width: calc(100% - 58px);
    height: auto;
    min-height: 58px;
    margin-left: 40px;
    padding-block: 10px;
  }

  .p-top-page .p-subsidy-v2-card__blog time {
    grid-column: 1 / -1;
    padding-left: 2px;
  }
}

@media (max-width: 479px) {
  .p-top-page .p-subsidy-v2-card__links {
    grid-template-columns: 1fr;
  }

  .p-top-page .p-subsidy-v2-card__round {
    font-size: 1.25rem;
  }

  .p-top-page .p-subsidy-v2-card__date {
    align-items: flex-start;
    font-size: .82rem;
  }

  .p-top-page .p-subsidy-v2-card__date strong {
    display: block;
    margin-top: 7px;
    font-size: 1.35rem;
  }

  .p-top-page .p-subsidy-v2-card__blog {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .p-top-page .p-subsidy-v2-card__blog-divider {
    display: none;
  }

  .p-top-page .p-subsidy-v2-card__blog time {
    grid-column: 1 / -1;
  }
}

/* =========================================================
   Interaction clarity — no idle-layout changes
   ========================================================= */
.p-top-page .p-news-tabs__tab,
.p-top-page .p-subsidy-card__cta,
.p-top-page .p-sidebar-box__ai-submit,
.p-top-page .p-sidebar-box__ai-chip,
.p-top-page .p-recruit-banner__btn,
.p-top-page .c-news-list__link {
  transition:
    background-color var(--duration-top-hover) var(--ease-top-out),
    color var(--duration-top-hover) var(--ease-top-out),
    box-shadow var(--duration-top-hover) var(--ease-top-out),
    opacity var(--duration-top-hover) var(--ease-top-out);
}

.p-top-page :where(
  .p-feature-banner__link,
  .p-subsidy-card__links a,
  .p-sidebar-box__list a,
  .p-sidebar-box__more,
  .l-footer__nav a
):focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

.p-top-page .p-news-tabs__tab:focus-visible {
  background: var(--color-header-hover);
}

.p-top-page .c-news-list__link:focus-visible {
  box-shadow: none;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .p-top-page :where(
    .p-feature-banner__link,
    .p-subsidy-card__links a,
    .p-sidebar-box__list a,
    .p-sidebar-box__more,
    .l-footer__nav a
  ):hover {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 2px;
  }

  .p-top-page .p-subsidy-card__cta:hover {
    box-shadow: var(--shadow-top-hover-inset);
    transform: none;
  }

  .p-top-page .p-sidebar-box__ai-submit:hover {
    box-shadow: var(--shadow-top-hover-ring);
    transform: translateY(-50%);
  }

  .p-top-page .p-sidebar-box__ai-chip:hover {
    border-color: var(--color-top-feature-ink);
    background: var(--color-header-hover);
    color: var(--color-top-feature-ink);
    transform: none;
  }

  .p-top-page .p-dual-banner__actions .c-btn:hover {
    box-shadow: var(--shadow-top-hover-inset);
    transform: none;
  }

  .p-top-page .p-recruit-banner__btn:hover {
    box-shadow: var(--shadow-top-hover-inset);
    transform: translate(-50%, -50%);
  }

  .p-top-page .p-news-tabs__tab:hover {
    background: var(--color-header-hover);
  }

  .p-top-page .c-news-list__link:hover {
    box-shadow: none;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }
}

.p-top-page .p-subsidy-card__cta:active,
.p-top-page .p-sidebar-box__ai-chip:active {
  opacity: 0.78;
  transition-duration: var(--duration-top-press);
}

@media (prefers-reduced-motion: reduce) {
  .p-top-page .p-news-tabs__tab,
  .p-top-page .p-subsidy-card__cta,
  .p-top-page .p-sidebar-box__ai-submit,
  .p-top-page .p-sidebar-box__ai-chip,
  .p-top-page .p-recruit-banner__btn,
  .p-top-page .c-news-list__link {
    transition-duration: 0.01ms;
  }
}

/* Shared source styles: common_v7/css/top.css */
/* Two lines: label, then the complete date. */
.p-top-page .p-subsidy-v2-card__date > span {
  min-width: 0;
  display: block;
  line-height: 1.3;
}
.p-top-page .p-subsidy-v2-card__date .p-subsidy-v2-card__common-date {
  display: block;
  margin-top: 7px;
  white-space: nowrap;
  font-size: clamp(1.15rem, 1.4vw, 1.45rem);
  letter-spacing: 0;
}
.p-top-page .p-subsidy-v2-card__date .p-subsidy-v2-card__date-year {
  display: inline;
  margin-right: .35em;
  font-size: .6em;
  letter-spacing: 0;
}
@media (max-width: 479px) {
  .p-top-page .p-subsidy-v2-card__date .p-subsidy-v2-card__common-date { font-size: 1.25rem; }
}
@media (min-width: 1440px) {
  .p-top-page .p-subsidy-v2-card,
  .p-top-page .p-subsidy-v2-card--first,
  .p-top-page .p-subsidy-v2-card--green { height: auto; min-height: 297px; }
  .p-top-page .p-subsidy-v2-card__main { height: auto; min-height: 248px; padding-bottom: 22px; }
}
