:root {
  --color-primary: var(--wp--preset--color--primary, #1a712a);
  --color-secondary: var(--wp--preset--color--secondary, #2d953e);
  --color-accent: var(--wp--preset--color--accent, #fb4933);
  --color-contrast: var(--wp--preset--color--contrast, #111);
  --color-neutral-strong: var(--wp--preset--color--neutral-strong, #282828);
  --color-neutral-medium: var(--wp--preset--color--neutral-medium, #ccc);
  --color-neutral-soft: var(--wp--preset--color--neutral-soft, #eaeaea);
  --color-base-primary: var(--wp--preset--color--base-primary, #e3f3e5);
  --color-base-accent: var(--wp--preset--color--base-accent, #fdecea);
  --color-base-body: var(--wp--preset--color--base-body, #fff);
  --color-primary-active: #2d953e;
  --color-accent-active: #de3d2b;
  --color-line: #4cc764;
  --color-line-active: #3db254;
  --color-contrast-active: #464646;
  --gradient-primary: var(--wp--preset--gradient--primary, linear-gradient(180deg, #2d953e 0%, #0d531a 100%));
  --gradient-base-primary: var(--wp--preset--gradient--base-primary, linear-gradient(180deg, #a8deb200 0%, #a8deb266 100%));
  --font-family-ja: var(--wp--preset--font-family--noto-sans-jp, "Noto Sans JP", sans-serif);
  --font-family-en: var(--wp--preset--font-family--geist, "Geist", sans-serif);
  --font-size-xxs: 10px;
  --font-size-xs: 12px;
  --font-size-s: 14px;
  --font-size-m: 16px;
  --font-size-l: 20px;
  --font-size-xl: 24px;
  --font-size-2xl: 28px;
  --font-size-3xl: 32px;
  --font-size-4xl: 40px;
  --font-size-5xl: 48px;
  --font-size-6xl: 56px;
  --font-size-7xl: 64px;
  --border-radius-0: var(--wp--preset--border-radius--0, 0);
  --border-radius-4: var(--wp--preset--border-radius--4, 4px);
  --border-radius-8: var(--wp--preset--border-radius--8, 8px);
  --border-radius-16: var(--wp--preset--border-radius--16, 16px);
  --border-radius-full: var(--wp--preset--border-radius--full, 9999px);
  --spacing-0: 0;
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-32: 32px;
  --spacing-36: 36px;
  --spacing-40: 40px;
  --spacing-48: 48px;
  --spacing-56: 56px;
  --spacing-64: 64px;
  --spacing-80: 80px;
  --content-size: var(--wp--style--global--content-size, 1067px);
  --wide-size: var(--wp--style--global--wide-size, 1280px);
  --full-size: 1760px;
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-xxl: 1440px;
  --z-index-drawer: 110;
  --z-index-header: 100;
  --z-index-floating: 90;
  --clip-path-parallelogram: polygon(41% 0%, 100% 0%, 59% 100%, 0% 100%);
  --fluid-min-viewport: 375;
  --fluid-max-viewport: 1440;
  --fluid-slope: calc((100vw - var(--fluid-min-viewport) * 1px) / (var(--fluid-max-viewport)  - var(--fluid-min-viewport)));
  --header-height-corporate-desktop: 120px;
  --header-height-corporate-mobile: 56px;
  --header-height-recruit-desktop: 114px;
  --header-height-recruit-mobile: 64px;
  --icon-hamburger-duration: .3s;
  --icon-hamburger-delay: 0s;
  --animation-duration-heading-cover: .5s;
  --animation-delay-heading-cover: 0s;
  --animation-duration-image-cover: .5s;
  --animation-delay-image-cover: 0s;
  --animation-timing-function-cover: ease-in-out;
  --animation-delay-char-up-in: .2s;
  --animation-delay-interval-char-up-in: .1s;
  --animation-duration-char-up-in: .4s;
  --animation-timing-function-char-up-in: ease-in-out;
  --animation-transform-y-fade-up-in: 24px;
  --animation-duration-fade-up-in: .5s;
  --animation-timing-function-fade-up-in: ease-in-out;
  --animation-duration-zoom-up-in: .6s;
  --animation-timing-function-zoom-up-in: ease-in-out;
  --animation-duration-fade-in: .5s;
  --animation-timing-function-fade-in: ease-in-out;
  --animation-delay-text1: 0s;
  --animation-duration-text2: .5s;
  --animation-delay-text2: .5s;
  --animation-timing-function-text2: ease-in-out;
}

@layer base {
  *, :before, :after {
    box-sizing: border-box;
  }

  body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
    margin: 0;
  }

  table {
    border-collapse: collapse;
  }

  img, video {
    block-size: auto;
    max-inline-size: 100%;
  }

  button, input, select, textarea {
    font: inherit;
    color: inherit;
  }

  a {
    color: inherit;
  }
}

:root {
  interpolate-size: allow-keywords;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height-recruit-desktop);
  -webkit-text-size-adjust: 100%;
}

@media (max-width: 640px) {
  html {
    scroll-padding-top: var(--header-height-recruit-mobile);
  }
}

body {
  min-block-size: 100vh;
  min-block-size: 100dvh;
  font-family: var(--font-family-ja);
  font-size: var(--font-size-m);
  background: #fcfcfc;
  line-height: 1.6;
  position: relative;
  overflow-x: hidden;
}

@media (max-width: 640px) {
  body {
    font-size: var(--font-size-s);
  }
}

body:has(:modal[open], .is-open) {
  overflow: hidden;
}

ul, ol {
  padding-inline-start: 1.5em;
}

h1 {
  font-size: var(--font-size-2xl);
}

h2 {
  font-size: var(--font-size-xl);
}

h3 {
  font-size: var(--font-size-l);
}

h4 {
  font-size: var(--font-size-xl);
}

h5, h6 {
  font-size: var(--font-size-m);
}

strong {
  font-weight: 700;
}

::placeholder {
  color: #a5a5a5;
}

[type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="date"] {
  width: 100%;
  padding-block: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  padding-inline: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-base-body);
  color: var(--color-contrast);
  font-size: var(--font-size-m);
  line-height: 2;
}

:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="date"]):focus {
  border-color: var(--color-primary);
  outline: none;
}

:is([type="text"], [type="email"], [type="tel"], [type="url"], [type="number"], [type="date"]):focus::placeholder {
  color: #0000;
}

textarea {
  width: 100%;
  height: clamp(160px, calc(160px + var(--fluid-slope) * 40), 200px);
  field-sizing: content;
  padding-block: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  padding-inline: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-base-body);
  color: var(--color-contrast);
  font-family: inherit;
  font-size: var(--font-size-m);
  line-height: 2;
}

textarea:focus {
  border-color: var(--color-primary);
  outline: none;
}

textarea:focus::placeholder {
  color: #0000;
}

select {
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  box-shadow: none;
  background: var(--color-base-body) url("../../assets/images/common/icon-select-arrow.svg") no-repeat right var(--spacing-20) center / 10px auto;
  color: var(--color-contrast);
  font-family: inherit;
  font-size: var(--font-size-m);
  appearance: none;
  padding-block-start: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  padding-block-end: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  padding-inline-start: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  padding-inline-end: 52px;
  line-height: 2;
}

select:focus {
  border-color: var(--color-primary);
  outline: none;
}

[type="submit"] {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-16);
  padding: var(--spacing-24) var(--spacing-64);
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-accent);
  background: var(--color-accent) url("../../assets/images/common/icon-accent-arrow-reverse.svg") no-repeat right var(--spacing-20) center / var(--spacing-24) auto;
  color: var(--color-base-body);
  font-family: inherit;
  font-size: var(--font-size-m);
  cursor: pointer;
  font-weight: 700;
  line-height: normal;
  transition: background-color .3s;
  display: inline-flex;
}

@media (any-hover: hover) {
  [type="submit"]:hover {
    background-color: var(--color-accent-active);
  }
}

[type="checkbox"] {
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-base-body);
  appearance: none;
  cursor: pointer;
  width: 20px;
  margin: 0;
  display: block;
  position: relative;
}

[type="checkbox"]:after {
  content: "";
  background: none;
  position: absolute;
  inset: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

[type="checkbox"]:checked:after {
  background: var(--color-primary);
}

[type="checkbox"]:focus {
  border-color: var(--color-primary);
  outline: none;
}

[type="radio"] {
  aspect-ratio: 1;
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-body-base);
  appearance: none;
  cursor: pointer;
  border-radius: 50%;
  width: 20px;
  margin: 0;
  display: block;
  position: relative;
}

[type="radio"]:after {
  content: "";
  aspect-ratio: 1;
  background: none;
  border-radius: 50%;
  width: 10px;
  margin: auto;
  position: absolute;
  inset: 0;
}

[type="radio"]:checked:after {
  background-color: var(--color-primary);
}

[type="radio"]:focus {
  border-color: var(--color-primary);
  outline: none;
}

label:has([type="checkbox"], [type="radio"]) {
  align-items: center;
  gap: var(--spacing-8);
  display: flex;
}

table {
  border-collapse: collapse;
  table-layout: fixed;
  inline-size: 100%;
}

table small {
  color: #646464;
  font-size: .75em;
}

th {
  padding: var(--spacing-24) var(--spacing-16);
  border-block-start: 1px solid var(--color-neutral-medium);
  border-block-end: 1px solid var(--color-neutral-medium);
  text-align: left;
  font-weight: 700;
  line-height: 1.75;
}

th:first-child {
  border-block-start: 1px solid var(--color-primary);
  border-block-end: 1px solid var(--color-primary);
}

td {
  padding: var(--spacing-24) var(--spacing-16);
  border-block-start: 1px solid var(--color-neutral-medium);
  border-block-end: 1px solid var(--color-neutral-medium);
  line-height: 1.75;
}

@keyframes infinity-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes scroll-loop {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@keyframes cover {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(101%);
  }
}

@keyframes side-in {
  from {
    transform: translateX(-101%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes charUpIn {
  0% {
    transform: translateY(100%);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes fadeUpIn {
  0% {
    opacity: 0;
    translate: 0 var(--animation-transform-y-fade-up-in);
  }

  100% {
    opacity: 1;
    translate: 0;
  }
}

@keyframes zoomUpIn {
  0% {
    opacity: 0;
    scale: 0;
  }

  100% {
    opacity: 1;
    scale: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.a-text-split {
  visibility: hidden;
}

.a-text-split .is-char-clip {
  vertical-align: bottom;
  display: inline-block;
  overflow: hidden;
}

.a-text-split .is-char {
  vertical-align: bottom;
  display: inline-block;
  transform: translateY(100%);
}

.a-text-split.is-ready {
  visibility: visible;
}

.a-fade-up-in {
  opacity: 0;
  translate: 0 var(--animation-transform-y-fade-up-in);
}

.a-fade-up-in.is-in-view {
  animation-name: fadeUpIn;
  animation-duration: var(--animation-duration-fade-up-in);
  animation-timing-function: var(--animation-timing-function-fade-up-in);
  animation-fill-mode: both;
}

.a-fade-in {
  opacity: 0;
}

.a-fade-in.is-in-view {
  animation-name: fadeIn;
  animation-duration: var(--animation-duration-fade-in);
  animation-timing-function: var(--animation-timing-function-fade-in);
  animation-fill-mode: both;
}

.l-container-full {
  inline-size: 100%;
  max-inline-size: calc(var(--full-size)  + 80px * 2);
  margin-inline: auto;
  padding-inline: 80px;
}

@media (max-width: 1440px) {
  .l-container-full {
    max-inline-size: calc(var(--wide-size)  + var(--spacing-20) * 2);
    padding-inline: var(--spacing-20);
  }
}

.l-container-wide {
  inline-size: 100%;
  max-inline-size: calc(var(--wide-size)  + var(--spacing-20) * 2);
  padding-inline: var(--spacing-20);
  margin-inline: auto;
}

.l-container-content {
  inline-size: 100%;
  max-inline-size: calc(var(--content-size)  + var(--spacing-20) * 2);
  padding-inline: var(--spacing-20);
  margin-inline: auto;
}

.l-main {
  overflow: hidden;
}

.l-under-page {
  padding-block-start: 117px;
  overflow: clip;
}

@media (max-width: 1024px) {
  .l-under-page {
    padding-block-start: 56px;
  }
}

.c-pagination {
  gap: var(--spacing-16);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.c-pagination__item .page-numbers {
  min-inline-size: clamp(40px, calc(40px + var(--fluid-slope) * 24), 64px);
  block-size: clamp(40px, calc(40px + var(--fluid-slope) * 24), 64px);
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-white);
  color: var(--color-primary);
  text-align: center;
  font-family: var(--font-family-en);
  font-size: var(--font-size-m);
  place-items: center;
  line-height: 1;
  text-decoration: none;
  transition: background-color .3s, border-color .3s;
  display: grid;
}

.c-pagination__item .page-numbers.current {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-base-body);
  font-weight: 700;
}

@media (any-hover: hover) {
  .c-pagination__item .page-numbers:not(.current):hover {
    background: var(--color-base-primary);
    border-color: var(--color-primary);
  }
}

.c-heading-level1 {
  column-gap: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  row-gap: var(--spacing-12);
  font-size: clamp(36px, calc(36px + var(--fluid-slope) * 12), 48px);
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "icon title";
  align-items: start;
  display: grid;
}

.c-heading-level1:has(.c-heading-level1__sub) {
  grid-template-areas: "icon title"
                       ". sub";
}

.c-heading-level1:before {
  content: "";
  inline-size: clamp(38px, calc(38px + var(--fluid-slope) * 17), 55px);
  aspect-ratio: 55 / 58;
  background: var(--gradient-primary);
  clip-path: polygon(66% 0, 100% 0%, 34% 100%, 0% 100%);
  grid-area: icon;
  margin-block-start: .08em;
  display: block;
}

.c-heading-level1:has(.c-heading-level1__main[lang="en"]) {
  font-size: clamp(48px, calc(48px + var(--fluid-slope) * 38), 84px);
}

.c-heading-level1:has(.c-heading-level1__main[lang="en"]):before {
  margin-block-start: .14em;
}

.c-heading-level1__main {
  inline-size: fit-content;
  color: var(--color-contrast);
  font-size: clamp(36px, calc(36px + var(--fluid-slope) * 12), 48px);
  grid-area: title;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  overflow: hidden;
}

.c-heading-level1__main[lang="en"] {
  font-family: var(--font-family-en);
  font-size: clamp(48px, calc(48px + var(--fluid-slope) * 38), 84px);
  -webkit-hyphens: manual;
  hyphens: manual;
  line-height: 1;
}

.c-heading-level1__main:after {
  content: "";
  background: var(--color-primary);
  position: absolute;
  inset: 0;
  transform: translateX(0%);
}

.c-heading-level1__sub {
  inline-size: fit-content;
  font-size: var(--font-size-m);
  grid-area: sub;
  padding-inline-start: clamp(0px, calc(0px + var(--fluid-slope) * 4), 4px);
  font-weight: 700;
  line-height: normal;
  position: relative;
  overflow: hidden;
}

.c-heading-level1__sub:after {
  content: "";
  background: var(--color-primary);
  position: absolute;
  inset: 0;
  transform: translateX(0%);
}

.c-heading-level1.is-in-view .c-heading-level1__main:after, .c-heading-level1.is-in-view .c-heading-level1__sub:after {
  animation-name: cover;
  animation-duration: var(--animation-duration-heading-cover);
  animation-delay: var(--animation-delay-heading-cover);
  animation-fill-mode: both;
  animation-timing-function: var(--animation-timing-function-cover);
}

.c-news-card {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 8, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: 106px minmax(0, 1fr) var(--icon-size-fluid);
  gap: var(--spacing-16) var(--spacing-24);
  padding-block: var(--spacing-24);
  padding-inline: var(--spacing-16);
  grid-template-areas: "image meta icon"
                       "image title icon";
  align-items: center;
  text-decoration: none;
  transition: background-color .3s;
  display: grid;
}

@media (max-width: 640px) {
  .c-news-card {
    grid-template-columns: auto minmax(0, 1fr) var(--icon-size-fluid);
    gap: var(--spacing-16);
    grid-template-areas: "image image image"
                         "meta meta meta"
                         "title title icon";
    padding-inline: 0;
  }
}

.c-news-card:before, .c-news-card:after {
  content: "";
  grid-area: icon;
  justify-self: center;
}

.c-news-card:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-news-card:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

.c-news-card__image {
  border: 1px solid var(--color-neutral-medium);
  grid-area: image;
}

.c-news-card__thumbnail {
  aspect-ratio: 106 / 71;
  background: var(--color-neutral-soft);
  display: block;
  position: relative;
}

.c-news-card__thumbnail img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
  position: absolute;
}

.c-news-card__meta {
  align-items: center;
  gap: var(--spacing-16);
  flex-wrap: wrap;
  grid-area: meta;
  display: flex;
}

.c-news-card__date {
  color: var(--color-contrast);
  font-family: var(--font-family-en);
  font-size: var(--font-size-s);
  align-self: center;
  line-height: normal;
}

.c-news-card__categories {
  align-self: center;
}

.c-news-card__categories ul {
  align-items: center;
  gap: var(--spacing-8);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.c-news-card__categories span, .c-news-card__categories a {
  padding: var(--spacing-4) var(--spacing-8);
  border: 1px solid var(--color-primary);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-10);
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  line-height: 1.16667;
  display: flex;
}

.c-news-card__categories a {
  text-decoration: none;
  transition: color .3s, background-color .3s;
}

.c-news-card__categories a:hover {
  background: var(--color-base-primary);
}

.c-news-card__title {
  grid-area: title;
}

.c-news-card__link {
  align-items: center;
  gap: var(--spacing-16);
  color: var(--color-primary);
  line-height: 1.4;
}

@media (any-hover: hover) {
  .c-news-card:hover {
    background-color: var(--color-base-primary);
  }
}

.c-button-secondary {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 24px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 8, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  align-items: center;
  gap: var(--spacing-16);
  padding: var(--spacing-24) var(--spacing-20) var(--spacing-24) 52px;
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-base-body);
  color: var(--color-contrast);
  font-size: var(--font-size-m);
  text-align: center;
  cursor: pointer;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: border-color .3s, background-color .3s, color .3s;
  display: inline-grid;
  position: relative;
}

.c-button-secondary:before, .c-button-secondary:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-button-secondary:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-button-secondary:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (any-hover: hover) {
  .c-button-secondary:hover {
    border-color: var(--color-primary);
    background-color: var(--color-base-primary);
    color: var(--color-primary);
  }
}

.c-heading {
  justify-content: start;
  align-items: flex-start;
  gap: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  grid-template-columns: auto auto;
  display: inline-grid;
}

.c-heading__en {
  font-family: var(--font-family-en);
  font-size: clamp(var(--font-size-xxs), calc(var(--font-size-xxs)  + var(--fluid-slope) * 6), var(--font-size-m));
  letter-spacing: .128em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin-inline-start: clamp(4px, calc(4px + var(--fluid-slope) * 4), var(--spacing-8));
  font-weight: 500;
  line-height: 1.5;
}

.c-heading__ja {
  gap: clamp(var(--spacing-4), calc(var(--spacing-4)  + var(--fluid-slope) * 4), var(--spacing-8));
  display: grid;
}

.c-heading__text1 {
  color: var(--color-primary);
  font-size: clamp(38px, calc(38px + var(--fluid-slope) * 38), 76px);
  font-weight: 700;
  line-height: 1.15789;
}

.c-heading__text2 {
  font-size: clamp(24px, calc(24px + var(--fluid-slope) * 24), 48px);
  opacity: 0;
  font-weight: 700;
  line-height: normal;
}

.c-heading.is-in-view .c-heading__text1 .is-char {
  animation-name: charUpIn;
  animation-duration: var(--animation-duration-char-up-in);
  animation-timing-function: var(--animation-timing-function-char-up-in);
  animation-delay: calc(var(--i) * var(--animation-delay-interval-char-up-in)  + var(--animation-delay-text1));
  animation-fill-mode: both;
}

.c-heading.is-in-view .c-heading__text2 {
  animation-name: fadeIn;
  animation-duration: var(--animation-duration-text2);
  animation-timing-function: var(--animation-timing-function-text2);
  animation-delay: var(--animation-delay-text2);
  animation-fill-mode: both;
}

.c-news-item {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 8, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  gap: var(--spacing-8);
  padding-block: clamp(var(--spacing-16), var(--spacing-16)  + var(--fluid-slope) * 16, var(--spacing-32));
  padding-inline: var(--spacing-32) var(--spacing-24);
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  text-decoration: none;
  transition: background-color .3s;
  display: grid;
}

@media (max-width: 640px) {
  .c-news-item {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 0;
  }
}

@media (any-hover: hover) {
  .c-news-item:hover {
    background-color: var(--color-base-primary);
  }
}

.c-news-item__time {
  border-inline-end: 1px solid var(--color-neutral-medium);
  font-family: var(--font-family-en);
  line-height: normal;
}

@media (max-width: 640px) {
  .c-news-item__time {
    inline-size: 96px;
    font-size: var(--font-size-s);
    border-inline-end: none;
  }
}

.c-news-item__title {
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  align-items: center;
  gap: var(--spacing-16);
  padding-inline: var(--spacing-8);
  color: var(--color-primary);
  font-size: clamp(var(--font-size-s), var(--font-size-s)  + var(--fluid-slope) * 2, var(--font-size-m));
  line-height: normal;
  text-decoration: none;
  display: grid;
}

@media (max-width: 640px) {
  .c-news-item__title {
    font-size: var(--font-size-s);
  }
}

.c-news-item__title:before, .c-news-item__title:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-news-item__title:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-news-item__title:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (max-width: 640px) {
  .c-news-item__title {
    padding-inline: 0;
  }
}

.c-link-list {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 8, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-16);
  padding-block: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  padding-inline: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 4), var(--font-size-l));
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: background-color .3s, color .3s;
  display: flex;
}

.c-link-list:after {
  content: "";
  inline-size: clamp(16px, calc(16px + var(--fluid-slope) * 8), 24px);
  aspect-ratio: 1;
  background: url("../../assets/images/common/icon-primary-arrow.svg") center / contain no-repeat;
}

@media (any-hover: hover) {
  .c-link-list:hover {
    background-color: var(--color-base-primary);
    color: var(--color-primary);
  }
}

.c-line-button {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-8);
  padding: var(--spacing-8) var(--spacing-24);
  border-radius: var(--border-radius-full);
  background: var(--color-line);
  color: var(--color-base-body);
  font-size: var(--font-size-m);
  font-weight: 700;
  line-height: 2.15;
  text-decoration: none;
  transition: background-color .3s;
  display: inline-flex;
}

.c-line-button:before {
  content: "";
  aspect-ratio: 25.2 / 24;
  background: url("../../assets/images/recruit/icon-line.svg") center / contain no-repeat;
  inline-size: 25.2px;
}

@media (any-hover: hover) {
  .c-line-button:hover {
    background-color: var(--color-line-active);
  }
}

.c-line-floating {
  z-index: var(--z-index-floating);
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s, visibility .3s;
  position: fixed;
  inset-block-end: 48px;
  inset-inline-end: 0;
  overflow: hidden;
}

@media (max-width: 640px) {
  .c-line-floating {
    inline-size: calc(100% - var(--spacing-20) * 2);
    gap: var(--spacing-8);
    justify-content: stretch;
    margin-inline: auto;
    display: none;
    inset-block-end: var(--spacing-20);
    inset-inline: 0;
  }
}

.c-line-floating.is-visible {
  visibility: visible;
  opacity: 1;
}

.c-line-floating__lead {
  text-align: center;
  font-size: var(--font-size-xxs);
  margin-block-end: var(--spacing-8);
  font-weight: 700;
  line-height: normal;
}

@media (max-width: 640px) {
  .c-line-floating__lead {
    text-align: center;
    font-size: var(--font-size-s);
    margin-block-end: 0;
    font-weight: 700;
    line-height: normal;
  }
}

.c-line-floating__button {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-8);
  padding: var(--spacing-24) var(--spacing-16);
  border-radius: var(--border-radius-8) 0 0 var(--border-radius-8);
  background: var(--color-line);
  color: var(--color-base-body);
  font-size: var(--font-size-m);
  letter-spacing: .24em;
  writing-mode: vertical-rl;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color .3s;
  display: inline-flex;
}

.c-line-floating__button:before {
  content: "";
  aspect-ratio: 25.2 / 24;
  background: url("../../assets/images/recruit/icon-line.svg") center / contain no-repeat;
  inline-size: 25.2px;
}

@media (any-hover: hover) {
  .c-line-floating__button:hover {
    background-color: var(--color-line-active);
  }
}

@media (max-width: 640px) {
  .c-line-floating__button {
    padding: var(--spacing-16) var(--spacing-24);
    writing-mode: horizontal-tb;
    border-radius: var(--border-radius-full);
    letter-spacing: 0;
  }
}

.c-target-buttons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: inline-grid;
}

.c-target-buttons__button {
  --icon-size-desktop: 32px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 16, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  padding: var(--spacing-32) clamp(12px, calc(12px + var(--fluid-slope) * 8), 20px) var(--spacing-32) clamp(32px, calc(32px + var(--fluid-slope) * 20), 52px);
  border: 2px solid var(--color-contrast);
  border-radius: var(--border-radius-8) var(--border-radius-0) var(--border-radius-0) var(--border-radius-8);
  background: var(--color-contrast);
  color: var(--color-base-body);
  text-align: center;
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 8), var(--font-size-xl));
  word-break: keep-all;
  overflow-wrap: anywhere;
  align-items: center;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: background-color .3s, border-color .3s;
  display: inline-grid;
  position: relative;
}

.c-target-buttons__button:before, .c-target-buttons__button:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-target-buttons__button:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-base-body);
}

.c-target-buttons__button:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-contrast);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (max-width: 768px) {
  .c-target-buttons__button {
    padding: var(--spacing-16) var(--spacing-12) var(--spacing-16) var(--spacing-16);
    font-size: var(--font-size-m);
    text-align: left;
  }
}

.c-target-buttons__button.is-mid-career {
  border-color: var(--color-accent);
  background: var(--color-accent);
}

.c-target-buttons__button.is-mid-career:after {
  background: var(--color-accent);
}

@media (any-hover: hover) {
  .c-target-buttons__button:hover {
    background-color: var(--color-contrast-active);
    border-color: var(--color-contrast-active);
  }

  .c-target-buttons__button:hover.is-mid-career {
    background-color: var(--color-accent-active);
    border-color: var(--color-accent-active);
  }
}

.c-target-buttons__button:nth-child(1 of .c-target-buttons__button) {
  border-radius: var(--border-radius-8) var(--border-radius-0) var(--border-radius-0) var(--border-radius-8);
}

.c-target-buttons__button:nth-child(2 of .c-target-buttons__button) {
  border-radius: var(--border-radius-0) var(--border-radius-8) var(--border-radius-8) var(--border-radius-0);
}

.c-contact-buttons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: inline-grid;
}

@media (max-width: 768px) {
  .c-contact-buttons {
    grid-template-columns: repeat(2, auto);
  }
}

.c-contact-buttons__button {
  padding: var(--spacing-16) var(--spacing-40);
  border-radius: var(--border-radius-8) var(--border-radius-0) var(--border-radius-0) var(--border-radius-8);
  border: 1px solid var(--color-accent);
  background: var(--color-accent);
  color: var(--color-base-body);
  font-size: var(--font-size-s);
  text-align: center;
  place-items: center;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: background-color .3s, color .3s;
  display: grid;
  position: relative;
}

.c-contact-buttons__button:after {
  content: "";
  background-color: var(--color-base-body);
  block-size: 12px;
  inline-size: 12px;
  margin-block: auto;
  transition: background-color .3s, transform .3s;
  position: absolute;
  inset-block: 0;
  inset-inline-end: 14px;
  -webkit-mask: url("../../assets/images/common/icon-arrow-up.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow-up.svg") center / contain no-repeat;
}

.c-contact-buttons__button.is-event {
  background-color: var(--color-base-body);
  color: var(--color-accent);
}

.c-contact-buttons__button.is-event:after {
  background-color: var(--color-accent);
  -webkit-mask-image: url("../../assets/images/common/icon-arrow-up.svg");
  mask-image: url("../../assets/images/common/icon-arrow-up.svg");
}

.c-contact-buttons__button.is-entry {
  padding: var(--spacing-8);
}

@media (any-hover: hover) {
  .c-contact-buttons__button:hover {
    background-color: var(--color-accent-active);
  }

  .c-contact-buttons__button:hover.is-event {
    background-color: var(--color-base-accent);
  }
}

@media (max-width: 768px) {
  .c-contact-buttons__button {
    padding: var(--spacing-8) var(--spacing-4);
    font-size: var(--font-size-xxs);
  }

  .c-contact-buttons__button:after {
    display: none;
  }
}

.c-contact-buttons__button:nth-child(1 of .c-contact-buttons__button) {
  border-radius: var(--border-radius-8) 0 0 var(--border-radius-8);
}

@media (max-width: 768px) {
  .c-contact-buttons__button:nth-child(1 of .c-contact-buttons__button) {
    border-radius: var(--border-radius-4) 0 0 var(--border-radius-4);
  }
}

.c-contact-buttons__button:nth-child(2 of .c-contact-buttons__button) {
  border-radius: 0 var(--border-radius-8) var(--border-radius-8) 0;
}

@media (max-width: 768px) {
  .c-contact-buttons__button:nth-child(2 of .c-contact-buttons__button) {
    border-radius: 0 var(--border-radius-4) var(--border-radius-4) 0;
  }
}

.c-recruit-logo {
  place-items: center start;
  gap: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 16), var(--spacing-24));
  grid-template-columns: auto auto;
  inline-size: max-content;
  text-decoration: none;
  display: grid;
}

.c-recruit-logo__image {
  inline-size: 102px;
  display: block;
}

@media (max-width: 768px) {
  .c-recruit-logo__image {
    inline-size: 62px;
  }
}

.c-recruit-logo__text {
  font-size: var(--font-size-m);
  font-weight: 700;
  line-height: normal;
}

@media (max-width: 768px) {
  .c-recruit-logo__text {
    font-size: var(--font-size-xxs);
  }
}

.c-recruit-logo.is-footer .c-recruit-logo__image {
  inline-size: clamp(95px, calc(95px + var(--fluid-slope) * 32), 127px);
}

.c-recruit-logo .is-footer .c-recruit-logo__text {
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 8), var(--font-size-l));
}

.c-about-box {
  padding-block: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  padding-inline: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 8), var(--spacing-32));
  background: var(--color-base-body);
  text-decoration: none;
  transition: background-color .3s;
  display: inline-grid;
}

@media (any-hover: hover) {
  .c-about-box:hover {
    background-color: var(--color-base-primary);
  }
}

.c-about-box__head {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 24px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 0, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  gap: var(--spacing-16);
  font-size: clamp(var(--font-size-l), calc(var(--font-size-l)  + var(--fluid-slope) * 4), var(--font-size-xl));
  align-items: center;
  font-weight: 700;
  line-height: 2;
  display: grid;
}

.c-about-box__head:before, .c-about-box__head:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-about-box__head:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-about-box__head:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

.c-about-box__description {
  border-block-start: 1px solid var(--color-neutral-medium);
  font-size: clamp(var(--font-size-s), calc(var(--font-size-s)  + var(--fluid-slope) * 2), var(--font-size-m));
  margin-block-start: var(--spacing-12);
  padding-block-start: var(--spacing-16);
  line-height: 2;
}

.c-grow-box {
  padding-block: var(--spacing-24) clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  padding-inline: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-36));
  background: var(--color-base-body);
  text-decoration: none;
  transition: background-color .3s;
  display: inline-grid;
}

@media (any-hover: hover) {
  .c-grow-box:hover {
    background-color: var(--color-base-primary);
  }
}

.c-grow-box__head {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 24px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 8, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  gap: var(--spacing-16);
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 12), var(--font-size-3xl));
  align-items: center;
  font-weight: 700;
  line-height: 1.5;
  display: grid;
}

.c-grow-box__head:before, .c-grow-box__head:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-grow-box__head:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-grow-box__head:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

.c-grow-box__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-16);
  line-height: normal;
}

.c-grow-box__image {
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 12), var(--spacing-36));
  display: block;
}

.c-info-box {
  gap: var(--spacing-16);
  text-decoration: none;
  transition: background-color .3s;
  display: inline-grid;
}

.c-info-box__image {
  aspect-ratio: 618 / 200;
  inline-size: 100%;
  position: relative;
  overflow: hidden;
}

.c-info-box__image img {
  object-fit: cover;
  transition: transform .3s;
  display: block;
  position: absolute;
  inset: 0;
}

.c-info-box__head {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 24px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 0, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  gap: var(--spacing-16);
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 4), var(--font-size-xl));
  align-items: center;
  font-weight: 700;
  line-height: 2;
  transition: color .3s;
  display: grid;
}

.c-info-box__head:before, .c-info-box__head:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-info-box__head:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-info-box__head:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (any-hover: hover) {
  .c-info-box:hover .c-info-box__image img {
    transform: scale(1.05);
  }

  .c-info-box:hover .c-info-box__head {
    color: var(--color-primary);
  }
}

.c-qa-box {
  interpolate-size: allow-keywords;
  padding-block-end: clamp(8px, calc(8px + var(--fluid-slope) * 16), var(--spacing-24));
  transition: background-color .3s;
}

.c-qa-box::details-content {
  height: 0;
  transition: height .3s, content-visibility .3s allow-discrete;
  overflow: clip;
}

.c-qa-box__head {
  gap: clamp(16px, calc(16px + var(--fluid-slope) * 8), var(--spacing-24));
  padding-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), 48px);
  padding-block-end: clamp(16px, calc(16px + var(--fluid-slope) * 8), var(--spacing-24));
  padding-inline: clamp(24px, calc(24px + var(--fluid-slope) * 8), 32px);
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 12), var(--font-size-l));
  cursor: pointer;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  font-weight: 700;
  line-height: normal;
  transition: color .3s;
  display: grid;
}

.c-qa-box__head:before {
  content: "Q.";
  color: var(--color-primary);
  font-family: var(--font-family-en);
  font-size: var(--font-size-xl);
  font-weight: 700;
  line-height: normal;
}

.c-qa-box__head::-webkit-details-marker {
  display: none;
}

@media (any-hover: hover) {
  .c-qa-box__head:hover {
    color: var(--color-primary);
  }
}

.c-qa-box__answer {
  padding-block-end: clamp(8px, calc(8px + var(--fluid-slope) * 16), 24px);
  padding-inline: clamp(24px, calc(24px + var(--fluid-slope) * 12), 36px);
  gap: clamp(16px, calc(16px + var(--fluid-slope) * 8), var(--spacing-24));
  grid-template-columns: auto minmax(0, 1fr);
  display: grid;
}

.c-qa-box__answer:before {
  content: "A.";
  color: var(--color-primary);
  font-family: var(--font-family-en);
  font-size: var(--font-size-xl);
  font-weight: 700;
  line-height: normal;
}

.c-qa-box__text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 12), var(--font-size-m));
  font-weight: 500;
  line-height: 2;
}

.c-qa-box__text:not(:last-child) {
  margin-block-end: 1em;
}

.c-qa-box__icon {
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
  inline-size: 24px;
  display: block;
  position: relative;
}

.c-qa-box__icon:before, .c-qa-box__icon:after {
  content: "";
  background: var(--color-base-body);
  block-size: 2px;
  inline-size: 10px;
  margin: auto;
  transition: rotate .3s;
  position: absolute;
  inset: 0;
}

.c-qa-box__icon:after {
  rotate: 90deg;
}

.c-qa-box[open]::details-content {
  height: auto;
}

.c-qa-box[open] .c-qa-box__icon:after {
  rotate: 180deg;
}

@media (any-hover: hover) {
  .c-qa-box:has(.c-qa-box__head:hover) {
    background-color: var(--color-base-primary);
  }
}

.c-contact-box {
  aspect-ratio: 620 / 300;
  padding-block: clamp(24px, calc(24px + var(--fluid-slope) * 12), var(--spacing-32));
  padding-inline: clamp(8px, calc(8px + var(--fluid-slope) * 24), var(--spacing-32));
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
  position: relative;
  overflow: hidden;
}

@media (max-width: 768px) {
  .c-contact-box {
    aspect-ratio: 160 / 128;
    padding: clamp(16px, calc(16px + var(--fluid-slope) * 8), var(--spacing-32));
  }
}

.c-contact-box__image {
  object-fit: cover;
  z-index: -1;
  block-size: 100%;
  inline-size: 100%;
  transition: filter .3s, scale .3s;
  display: block;
  position: absolute;
  inset: 0;
}

.c-contact-box__head {
  --icon-size-desktop: 48px;
  --icon-size-mobile: 24px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 24, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  inline-size: 100%;
  color: var(--color-base-body);
  text-align: center;
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 12), var(--font-size-3xl));
  font-weight: 700;
  line-height: normal;
  position: relative;
}

@media (max-width: 768px) {
  .c-contact-box__head {
    text-align: left;
  }
}

.c-contact-box__head .is-underline {
  text-decoration-skip-ink: auto;
  text-decoration: underline;
  text-decoration-thickness: clamp(2px, calc(2px + var(--fluid-slope) * 2), 4px);
  text-underline-offset: clamp(8px, calc(8px + var(--fluid-slope) * 8), 16px);
  text-underline-position: from-font;
  line-height: 2;
}

.c-contact-box__head:before, .c-contact-box__head:after {
  content: "";
  margin-block: auto;
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
}

@media (max-width: 768px) {
  .c-contact-box__head:before, .c-contact-box__head:after {
    inset-block-start: auto;
  }
}

.c-contact-box__head:before {
  inline-size: var(--icon-size-fluid);
  block-size: var(--icon-size-fluid);
  background: var(--color-primary);
  border-radius: clamp(4px, calc(4px + var(--fluid-slope) * 6), 10px);
}

@media (max-width: 768px) {
  .c-contact-box__head:before {
    inset-block-end: 4px;
  }
}

.c-contact-box__head:after {
  inline-size: calc(var(--icon-size-fluid) / 2);
  block-size: calc(var(--icon-size-fluid) / 2);
  background: var(--color-base-body);
  margin-inline-end: calc(var(--icon-size-fluid-half) / 2);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (max-width: 768px) {
  .c-contact-box__head:after {
    margin-block-end: calc(var(--icon-size-fluid-half) / 2 + 4px);
  }
}

@media (any-hover: hover) {
  .c-contact-box:hover .c-contact-box__image {
    filter: brightness(.8);
    scale: 1.05;
  }
}

.c-icon-hamburger {
  justify-content: center;
  gap: var(--spacing-8);
  box-shadow: none;
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  display: grid;
}

.c-icon-hamburger__bars {
  block-size: 18px;
  inline-size: 28px;
  display: block;
  position: relative;
}

.c-icon-hamburger__bar1, .c-icon-hamburger__bar2, .c-icon-hamburger__bar3 {
  background: var(--color-contrast);
  block-size: 2px;
  inline-size: 28px;
  transition: translate .3s, rotate .3s;
  display: block;
  position: absolute;
}

.c-icon-hamburger__bar1 {
  inset-block-start: 0;
}

.c-icon-hamburger__bar2 {
  inset-block-start: var(--spacing-8);
}

.c-icon-hamburger__bar3 {
  inset-block-start: var(--spacing-16);
}

.c-icon-hamburger.is-close .c-icon-hamburger__bar1 {
  translate: 0 var(--spacing-8);
  rotate: 24deg;
}

.c-icon-hamburger.is-close .c-icon-hamburger__bar2 {
  display: none;
}

.c-icon-hamburger.is-close .c-icon-hamburger__bar3 {
  translate: 0 calc(var(--spacing-8) * -1);
  rotate: -24deg;
}

.c-menu-link {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 24px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 0, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  padding-block: var(--spacing-16);
  grid-template-areas: "text-ja icon"
                       "text-en icon";
  align-items: center;
  text-decoration: none;
  display: inline-grid;
  position: relative;
}

.c-menu-link:before, .c-menu-link:after {
  content: "";
  grid-area: icon;
  justify-self: center;
}

.c-menu-link:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-menu-link:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

.c-menu-link__ja {
  font-size: var(--font-size-l);
  grid-area: text-ja;
  font-weight: 700;
  line-height: 1.3;
  display: block;
}

.c-menu-link__en {
  margin-top: var(--spacing-4);
  font-family: var(--font-family-en);
  font-size: var(--font-size-xs);
  grid-area: text-en;
  font-weight: 400;
  line-height: 1.14;
  display: block;
}

.c-sub-head {
  gap: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  font-size: clamp(var(--font-size-xl), calc(var(--font-size-xl)  + var(--fluid-slope) * 4), var(--font-size-2xl));
  word-break: keep-all;
  overflow-wrap: anywhere;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  font-weight: 700;
  line-height: 1.5;
  display: grid;
}

.c-sub-head:before {
  content: "";
  aspect-ratio: 30 / 24;
  background: var(--color-primary);
  clip-path: polygon(36% 0, 100% 0%, 64% 100%, 0% 100%);
  inline-size: 1.072em;
  display: block;
}

.c-sub-head__text {
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  display: flex;
}

.c-sub-head__tag {
  padding: var(--spacing-4) var(--spacing-8);
  border-radius: var(--border-radius-4);
  background: var(--color-contrast);
  color: var(--color-base-body);
  font-size: clamp(var(--font-size-xs), calc(var(--font-size-xs)  + var(--fluid-slope) * 2), var(--font-size-s));
  font-weight: 700;
  line-height: normal;
}

.c-download-link {
  align-items: center;
  gap: var(--spacing-8);
  color: var(--color-primary);
  border-block-end: 1px solid #0000;
  font-weight: 400;
  text-decoration: none;
  transition: border-color .3s;
  display: inline-flex;
}

.c-download-link:before {
  content: "";
  aspect-ratio: 1;
  background: url("../../assets/images/common/icon-download.svg") center / contain no-repeat;
  flex-shrink: 0;
  inline-size: 24px;
}

@media (any-hover: hover) {
  .c-download-link:hover {
    border-block-end-color: 1px solid var(--color-primary);
  }
}

.c-external-link {
  gap: var(--spacing-8);
  color: var(--color-primary);
  border-block-end: 1px solid #0000;
  font-weight: 400;
  line-height: 1.75;
  text-decoration: none;
  transition: border-color .3s;
  display: inline-flex;
}

.c-external-link:after {
  content: "";
  aspect-ratio: 1;
  background: url("../../assets/images/common/icon-external.svg") center / contain no-repeat;
  flex-shrink: 0;
  inline-size: 24px;
}

@media (any-hover: hover) {
  .c-external-link:hover {
    border-block-end-color: 1px solid var(--color-primary);
  }
}

.c-tab__buttons {
  align-items: flex-end;
  gap: var(--spacing-24);
  border-block-end: 1px solid var(--color-primary);
  display: flex;
}

.c-tab__button {
  padding-block: var(--spacing-16);
  padding-inline: clamp(32px, calc(32px + var(--fluid-slope) * 32), 64px);
  box-shadow: none;
  background: var(--color-base-primary);
  color: var(--color-contrast);
  font-size: var(--font-size-m);
  border: none;
  place-items: center;
  font-weight: 700;
  line-height: 1.5;
  transition: color .3s, background-color .3s;
  display: grid;
}

.c-tab__button[aria-selected="true"] {
  color: var(--color-base-body);
  background-color: var(--color-primary);
}

.c-tab__button:not([aria-selected="true"]) {
  cursor: pointer;
}

@media (any-hover: hover) {
  .c-tab__button:not([aria-selected="true"]):hover {
    color: var(--color-base-body);
    background-color: var(--color-primary);
  }
}

@media (max-width: 640px) {
  .c-tab__button {
    flex: 1;
  }
}

.c-tab__panels {
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
}

.c-tab__panel {
  opacity: 0;
  max-inline-size: min(100%, 960px);
  margin-inline: auto;
  transition: opacity .5s ease-in-out;
  display: none;
}

.c-tab__panel:not([hidden]) {
  opacity: 1;
  display: block;
}

@starting-style {
  .c-tab__panel:not([hidden]) {
    opacity: 0;
  }
}

.c-in-numbers-card {
  padding-block-start: clamp(var(--spacing-36), calc(var(--spacing-36)  + var(--fluid-slope) * 16), 52px);
  padding-inline: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 8), var(--spacing-32));
  place-items: start center;
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 8), var(--spacing-32));
  background: var(--color-base-primary);
  padding-block-end: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 8), var(--spacing-32));
  display: grid;
}

.c-in-numbers-card__head {
  justify-items: center;
  gap: var(--spacing-8);
  text-align: center;
  display: grid;
}

.c-in-numbers-card__title {
  font-size: clamp(var(--font-size-l), calc(var(--font-size-l)  + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: 1.33;
}

.c-in-numbers-card__title sup {
  font-size: var(--font-size-m);
}

.c-in-numbers-card__sub {
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 4), var(--font-size-l));
  font-weight: 700;
  line-height: 1.6;
}

.c-in-numbers-card__count {
  align-items: center;
  gap: var(--spacing-8);
  display: flex;
}

.c-in-numbers-card__number {
  font-family: var(--font-family-en);
  font-size: clamp(var(--font-size-6xl), calc(var(--font-size-6xl)  + var(--fluid-slope) * 8), var(--font-size-7xl));
  font-weight: 700;
  line-height: 1.125;
}

.c-in-numbers-card__unit {
  font-size: clamp(var(--font-size-3xl), calc(var(--font-size-3xl)  + var(--fluid-slope) * 8), var(--font-size-4xl));
  font-weight: 700;
  line-height: 1.2;
}

.c-in-numbers-card__visual {
  aspect-ratio: 1;
  inline-size: 160px;
}

.c-in-numbers-card__visual img {
  display: block;
}

.c-in-numbers-card__support {
  align-items: center;
  gap: var(--spacing-24);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.c-in-numbers-card__support img {
  flex: 1;
}

.c-in-numbers-card__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  line-height: 2;
}

.c-in-numbers-card__note {
  align-items: baseline;
  gap: var(--spacing-8);
  color: #797979;
  font-size: clamp(var(--font-size-xs), calc(var(--font-size-xs)  + var(--fluid-slope) * 2), var(--font-size-s));
  margin-block-start: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  font-weight: 400;
  line-height: 1.71;
  display: flex;
}

.c-in-numbers-card__note:before {
  content: "※";
}

.c-in-numbers-card.is-horizontal {
  align-items: center;
  row-gap: var(--spacing-32);
  column-gap: var(--spacing-48);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "head description"
                       "visual description";
}

.c-in-numbers-card.is-horizontal .c-in-numbers-card__support, .c-in-numbers-card.is-horizontal .c-in-numbers-card__visual {
  grid-area: visual;
}

.c-in-numbers-card.is-horizontal .c-in-numbers-card__head {
  grid-area: head;
}

.c-in-numbers-card.is-horizontal .c-in-numbers-card__description {
  grid-area: description;
}

@media (max-width: 768px) {
  .c-in-numbers-card.is-horizontal {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head"
                         "visual"
                         "description";
  }
}

.c-in-numbers-target {
  padding: var(--spacing-32);
  justify-items: center;
  gap: var(--spacing-32);
  background: var(--color-base-primary);
  display: grid;
}

.c-in-numbers-target__items {
  justify-content: center;
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  flex-wrap: wrap;
  display: flex;
}

.c-target-card {
  justify-items: center;
  gap: var(--spacing-8);
  display: grid;
}

.c-target-card__image {
  inline-size: 120px;
  display: block;
}

.c-target-card__title {
  padding-inline: var(--spacing-8);
  border-radius: var(--border-radius-full);
  background: var(--color-primary);
  color: var(--color-base-body);
  text-align: center;
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 4), var(--font-size-l));
  justify-content: center;
  justify-self: stretch;
  align-items: center;
  font-weight: 700;
  line-height: 1.8;
  display: flex;
}

.c-in-numbers-target__title, .c-in-numbers-target__text {
  font-size: clamp(var(--font-size-l), calc(var(--font-size-l)  + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: 1.33;
}

.c-in-numbers-target__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  line-height: 2;
}

.c-work-box {
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  grid-template-columns: 33.3333% minmax(0, 1fr);
  align-items: center;
  display: grid;
}

@media (max-width: 640px) {
  .c-work-box {
    grid-template-columns: minmax(0, 1fr);
  }
}

.c-work-box__title {
  align-items: center;
  gap: var(--spacing-16);
  font-size: clamp(var(--font-size-l), calc(var(--font-size-l)  + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: normal;
  display: flex;
}

.c-work-box__number {
  inline-size: clamp(24px, calc(24px + var(--fluid-slope) * 4), 28px);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  color: var(--color-base-body);
  font-family: var(--font-family-en);
  font-size: clamp(var(--font-size-s), calc(var(--font-size-s)  + var(--fluid-slope) * 2), var(--font-size-m));
  background: #35a546;
  flex-shrink: 0;
  place-items: center;
  font-weight: 700;
  line-height: normal;
  display: grid;
}

.c-work-box__description {
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 2), 18px);
  margin-block-start: var(--spacing-24);
  line-height: 1.77;
}

.c-enjoy-box__image img {
  display: block;
}

.c-enjoy-box__body {
  padding-block-start: var(--spacing-24);
  padding-inline: var(--spacing-24);
}

@media (max-width: 640px) {
  .c-enjoy-box__body {
    padding-inline: 0;
  }
}

.c-enjoy-box__title {
  font-size: var(--font-size-l);
  font-weight: 700;
  line-height: 1.6;
}

.c-enjoy-box__description {
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 2), 18px);
  margin-block-start: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  line-height: 1.77;
}

.c-story-card {
  gap: clamp(24px, calc(24px + var(--fluid-slope) * 24), 48px);
  grid-template-columns: 50.2083% minmax(0, 1fr);
  grid-template-areas: "image body";
  display: grid;
}

.c-story-card:where(.is-reverse) {
  grid-template-columns: minmax(0, 1fr) 50.2083%;
  grid-template-areas: "body image";
}

@media (max-width: 640px) {
  .c-story-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image"
                         "body";
  }
}

.c-story-card__image {
  aspect-ratio: 482 / 301;
  grid-area: image;
  inline-size: 100%;
  max-inline-size: 482px;
}

.c-story-card__image img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

.c-story-card__body {
  grid-area: body;
}

.c-story-card__title {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 12), 32px);
  font-weight: 700;
  line-height: normal;
}

.c-story-card__description {
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 2), 18px);
  margin-block-start: clamp(16px, calc(16px + var(--fluid-slope) * 8), var(--spacing-32));
  line-height: 1.8;
}

.c-story-card__button {
  inline-size: 366px;
  max-inline-size: 100%;
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 16), var(--spacing-32));
  display: grid;
}

.c-flow-timeline {
  gap: var(--spacing-20);
  z-index: 0;
  display: grid;
  position: relative;
}

.c-flow-timeline:after {
  content: "";
  background: var(--color-primary);
  z-index: -1;
  block-size: calc(100% - 32px);
  inline-size: 2px;
  margin-inline: auto;
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
}

.c-flow-timeline__item {
  column-gap: var(--spacing-24);
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  display: grid;
}

.c-flow-timeline__time {
  aspect-ratio: 1;
  border-radius: var(--border-radius-full);
  background: var(--color-primary);
  inline-size: 64px;
  color: var(--color-base-body);
  font-size: clamp(var(--font-size-s), calc(var(--font-size-s)  + var(--fluid-slope) * 2), var(--font-size-m));
  place-items: center;
  line-height: 1.5;
  display: grid;
}

.c-flow-timeline__text-box.is-office {
  text-align: right;
}

@media (max-width: 640px) {
  .c-flow-timeline__text-box.is-office {
    text-align: left;
  }
}

.c-flow-timeline__title {
  font-size: var(--font-size-m);
  font-weight: 700;
  line-height: 1.75;
}

.c-flow-timeline__text {
  font-size: clamp(var(--font-size-s), calc(var(--font-size-s)  + var(--fluid-slope) * 2), var(--font-size-m));
  line-height: 2;
}

.c-flow-timeline__box {
  padding: clamp(20px, calc(20px + var(--fluid-slope) * 12), 32px);
  align-items: center;
  gap: clamp(16px, calc(16px + var(--fluid-slope) * 8), 24px);
  background: #f1f1f1;
  grid-template-columns: minmax(0, 1fr) 45.5556%;
  grid-template-areas: "body image";
  display: grid;
  position: relative;
}

@media (max-width: 640px) {
  .c-flow-timeline__box {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "body"
                         "image";
  }
}

.c-flow-timeline__box:before {
  content: "";
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  background: #f1f1f1;
  block-size: 24px;
  inline-size: 16px;
  position: absolute;
  inset-block-start: 20px;
  inset-inline-end: calc(100% - 1px);
}

.c-flow-timeline__box.is-office {
  grid-template-columns: 45.5556% minmax(0, 1fr);
  grid-template-areas: "image body";
}

@media (max-width: 640px) {
  .c-flow-timeline__box.is-office {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "body"
                         "image";
  }
}

.c-flow-timeline__box.is-office:before {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  inset-inline-start: calc(100% - 1px);
}

@media (max-width: 640px) {
  .c-flow-timeline__box.is-office:before {
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    inset-inline: auto calc(100% - 1px);
  }
}

.c-flow-timeline__body {
  grid-area: body;
}

.c-flow-timeline__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: var(--spacing-16);
  line-height: 2;
}

.c-flow-timeline__image {
  grid-area: image;
}

.c-flow-timeline__image img {
  inline-size: 100%;
  display: block;
}

@media (max-width: 640px) {
  .c-flow-timeline:after {
    margin-inline: 0;
    inset-block-start: 0;
    inset-inline-start: 32px;
  }

  .c-flow-timeline__item {
    column-gap: var(--spacing-16);
    grid-template-columns: auto minmax(0, 1fr);
  }

  .c-flow-timeline__head {
    grid-area: 1 / 1;
  }

  .c-flow-timeline__text-box, .c-flow-timeline__box {
    grid-area: 1 / 2;
  }

  .s-interview-content__flow.is-office .c-flow-timeline__text-box.is-field, .s-interview-content__flow.is-office .c-flow-timeline__box.is-field, .s-interview-content__flow.is-field .c-flow-timeline__text-box.is-office, .s-interview-content__flow.is-field .c-flow-timeline__box.is-office {
    display: none;
  }

  .s-interview-content__flow.is-field .c-flow-timeline__item:has(.c-flow-timeline__text-box.is-field:empty) {
    display: none;
  }

  .s-interview-content__flow.is-office .c-flow-timeline__item:has(.c-flow-timeline__text-box.is-office:empty) {
    display: none;
  }
}

.c-program-box {
  gap: var(--spacing-24);
  grid-template-columns: 45.8716% minmax(0, 1fr);
  align-items: start;
  display: grid;
}

.c-program-box__image img {
  display: block;
}

.c-program-box__title {
  padding: var(--spacing-4) var(--spacing-16);
  background: var(--color-base-body);
  text-align: center;
  font-weight: 700;
}

.c-program-box__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-16);
  line-height: 2;
}

.c-roadmap-box__flow {
  --color-flow: #6ebf77;
  padding: var(--spacing-12);
  color: var(--color-base-body);
  text-align: center;
  background: var(--color-flow);
  font-size: var(--font-size-m);
  font-weight: 700;
  line-height: 2;
  position: relative;
}

.c-roadmap-box__flow:after {
  content: "";
  background: var(--color-flow);
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  z-index: 2;
  block-size: 100%;
  inline-size: 24px;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 100%;
}

@media (max-width: 640px) {
  .c-roadmap-box__flow:after {
    display: none;
  }
}

.c-roadmap-box__body {
  gap: var(--spacing-24);
  padding: var(--spacing-32) var(--spacing-24);
  background: #f6f6f6;
  place-items: start center;
  display: grid;
}

.c-roadmap-box__icon {
  inline-size: 120px;
}

.c-roadmap-box__title {
  color: var(--color-primary);
  text-align: center;
  font-size: var(--font-size-l);
  align-self: center;
  font-weight: 700;
  line-height: 1.6;
}

.c-roadmap-box__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  line-height: 2;
}

.c-roadmap-box.is-subgrid {
  grid-template-rows: subgrid;
  grid-row: span 4;
  display: grid;
}

.c-roadmap-box.is-subgrid .c-roadmap-box__body {
  grid-template-rows: subgrid;
  grid-row: span 3;
  display: grid;
}

.c-roadmap-box.is-first .c-roadmap-box__flow {
  --color-flow: #6ebf77;
}

.c-roadmap-box.is-second .c-roadmap-box__flow {
  --color-flow: #35a546;
}

.c-roadmap-box.is-second .c-roadmap-box__body {
  border-inline: 1px solid var(--color-neutral-medium);
}

.c-roadmap-box.is-third .c-roadmap-box__flow {
  --color-flow: #238233;
}

.c-grow-up-box {
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  grid-template-columns: minmax(0, 1fr) 41.6667%;
  grid-template-areas: "body image";
  align-items: center;
  display: grid;
}

.c-grow-up-box:where(.is-reverse) {
  grid-template-columns: 41.6667% minmax(0, 1fr);
  grid-template-areas: "image body";
}

@media (max-width: 640px) {
  .c-grow-up-box {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image"
                         "body";
  }
}

.c-grow-up-box__body {
  grid-area: body;
}

.c-grow-up-box__sub {
  font-size: clamp(18px, calc(18px + var(--fluid-slope) * 2), 20px);
  font-weight: 700;
  line-height: 1.6;
}

.c-grow-up-box__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  line-height: 2;
}

.c-grow-up-box__image {
  grid-area: image;
}

.c-grow-up-box__image img {
  display: block;
}

.c-grow-up-list-box {
  padding: var(--spacing-32);
  align-items: center;
  gap: var(--spacing-32);
  background: var(--color-base-body);
  grid-template-columns: max-content minmax(0, 1fr);
  display: grid;
}

@media (max-width: 640px) {
  .c-grow-up-list-box {
    padding: var(--spacing-16);
    gap: var(--spacing-16);
    grid-template-columns: minmax(0, 1fr);
  }
}

.c-grow-up-list-box__head {
  font-size: var(--font-size-l);
  font-weight: 700;
  line-height: 1.6;
}

.c-grow-up-list-box__body {
  border-inline-start: 1px solid var(--color-neutral-medium);
  padding-inline-start: var(--spacing-32);
}

@media (max-width: 640px) {
  .c-grow-up-list-box__body {
    border-inline-start: none;
    border-block-start: 1px solid var(--color-neutral-medium);
    padding-block-start: var(--spacing-16);
    padding-inline-start: 0;
  }
}

.c-grow-up-list-box__lists {
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-grow-up-list-box__list {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  padding-inline-start: var(--spacing-20);
  font-weight: 700;
  line-height: normal;
  position: relative;
}

.c-grow-up-list-box__list:before {
  content: "";
  aspect-ratio: 1;
  border-radius: var(--border-radius-full);
  background: var(--color-primary);
  inline-size: 12px;
  display: block;
  position: absolute;
  inset-block-start: 6px;
  inset-inline-start: 0;
}

.c-grow-up-list-box__list:not(:first-child) {
  margin-block-start: var(--spacing-16);
}

.c-grow-up-list-box__list .is-small {
  font-weight: 400;
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
}

.s-grow-asset__text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  line-height: 2;
}

.c-step-box {
  place-items: center;
  gap: var(--spacing-16);
  display: grid;
}

@media (max-width: 640px) {
  .c-step-box {
    grid-template-columns: 150px minmax(0, 1fr);
    place-items: center start;
  }
}

.c-step-box__head {
  justify-content: center;
  align-items: center;
  inline-size: 100%;
  display: flex;
  position: relative;
}

@media (max-width: 640px) {
  .c-step-box__head {
    justify-content: flex-start;
  }
}

.c-step-box__circle {
  aspect-ratio: 1;
  border-radius: var(--border-radius-full);
  background: var(--gradient-primary);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-8);
  flex-direction: column;
  inline-size: 200px;
  max-inline-size: 100%;
  display: flex;
  position: relative;
}

@media (max-width: 1024px) {
  .c-step-box__circle {
    inline-size: 20vw;
  }
}

@media (max-width: 640px) {
  .c-step-box__circle {
    inline-size: 134px;
  }
}

.c-step-box__label {
  color: #fff;
  align-items: baseline;
  display: flex;
}

.c-step-box__text {
  font-family: var(--font-family-en);
  font-size: var(--font-size-m);
  font-weight: 700;
  line-height: 1.5;
}

.c-step-box__number {
  font-family: var(--font-family-en);
  font-size: var(--font-size-l);
  font-weight: 700;
  line-height: 1.2;
}

.c-step-box__icon {
  inline-size: 38.5%;
  max-inline-size: 77px;
  display: block;
}

.c-step-box__title {
  text-align: center;
  font-size: var(--font-size-l);
  font-weight: 700;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .c-step-box__title {
    text-align: left;
  }
}

.c-step-box__sub {
  text-align: center;
  font-size: var(--font-size-m);
  margin-block-start: var(--spacing-4);
  font-weight: 500;
  line-height: 1.5;
  display: block;
}

@media (max-width: 640px) {
  .c-step-box__sub {
    text-align: left;
  }
}

.c-step-box.is-last .c-step-box__head:after {
  display: none;
}

.c-information-box {
  padding: var(--spacing-32);
  align-items: center;
  gap: var(--spacing-32);
  background: #f6f6f6;
  grid-template-columns: 27.5862% minmax(0, 1fr);
  display: grid;
}

@media (max-width: 640px) {
  .c-information-box {
    padding: var(--spacing-24);
    gap: var(--spacing-16);
    grid-template-columns: minmax(0, 1fr);
  }
}

.c-information-box__head {
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 4), var(--font-size-l));
  text-align: center;
  font-weight: 700;
  line-height: 1.6;
}

.c-information-box__body {
  border-inline-start: 1px solid var(--color-neutral-medium);
  padding-inline-start: var(--spacing-32);
}

@media (max-width: 640px) {
  .c-information-box__body {
    border-inline-start: none;
    border-block-start: 1px solid var(--color-neutral-medium);
    padding-block-start: var(--spacing-16);
    padding-inline-start: 0;
  }
}

.c-information-box__text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  line-height: 2;
}

.c-link-box {
  grid-template-columns: clamp(60px, calc(60px + var(--fluid-slope) * 100), 160px) minmax(0, 1fr);
  gap: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 16), var(--spacing-32));
  padding: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  background: var(--color-base-body);
  text-decoration: none;
  transition: background-color .3s, border-color .3s;
  display: grid;
}

.c-link-box__image {
  inline-size: clamp(60px, calc(60px + var(--fluid-slope) * 100), 160px);
}

.c-link-box__text {
  --icon-size-desktop: 24px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 8, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  align-items: center;
  gap: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 8), var(--font-size-xl));
  font-weight: 700;
  line-height: 2;
  transition: color .3s;
  display: grid;
}

.c-link-box__text:before, .c-link-box__text:after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.c-link-box__text:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-link-box__text:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (any-hover: hover) {
  .c-link-box:hover {
    background-color: var(--color-base-primary);
    border-color: var(--color-primary);
  }

  .c-link-box:hover .c-link-box__text {
    color: var(--color-primary);
  }
}

.c-button-back {
  padding: var(--spacing-24) var(--spacing-64);
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-base-body);
  color: var(--color-contrast);
  text-align: center;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: border-color .3s, background-color .3s, color .3s;
  display: inline-flex;
  position: relative;
}

.c-button-back:before {
  content: "";
  block-size: 24px;
  inline-size: 24px;
  background: url("../../assets/images/common/icon-primary-arrow.svg") center / contain no-repeat;
  margin-block: auto;
  position: absolute;
  inset-block: 0;
  inset-inline-start: var(--spacing-20);
  transform: rotate(180deg);
}

@media (any-hover: hover) {
  .c-button-back:hover {
    border-color: var(--color-primary);
    background-color: var(--color-base-primary);
    color: var(--color-primary);
  }
}

.c-main-head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  align-items: center;
  gap: var(--spacing-24);
  z-index: 2;
  flex-wrap: wrap;
  font-weight: 700;
  line-height: 1.57;
  display: flex;
  position: relative;
}

.c-main-head__tags {
  align-items: center;
  gap: var(--spacing-16);
  flex-wrap: wrap;
  display: flex;
  transform: translateY(.1em);
}

.c-tag {
  padding: var(--spacing-4) var(--spacing-8);
  border-radius: var(--border-radius-4);
  background: var(--color-contrast);
  color: var(--color-base-body);
  font-size: clamp(var(--font-size-xs), calc(var(--font-size-xs)  + var(--fluid-slope) * 2), var(--font-size-s));
  font-weight: 700;
  line-height: normal;
}

.c-tag.is-new-graduate {
  background-color: var(--color-contrast);
  color: var(--color-base-body);
}

.c-tag.is-middle-career {
  background-color: var(--color-accent);
}

.c-icon-link-primary {
  --icon-size-desktop: 16px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 0, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: var(--icon-size-fluid) minmax(0, 1fr);
  place-items: center start;
  gap: var(--spacing-8);
  color: var(--color-primary);
  line-height: normal;
  font-size: clamp(var(--font-size-s), var(--font-size-s)  + var(--fluid-slope) * 2, var(--font-size-m));
  border-block-end: 1px solid #0000;
  text-decoration: none;
  transition: border-color .3s;
  display: inline-grid;
}

@media (any-hover: hover) {
  .c-icon-link-primary:hover {
    border-block-end-color: var(--color-primary);
  }
}

.c-icon-link-primary:before, .c-icon-link-primary:after {
  content: "";
  grid-area: 1 / 1 / 2 / 2;
  justify-self: center;
}

.c-icon-link-primary:before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.c-icon-link-primary:after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

.s-main-visual-blank__container {
  block-size: clamp(80px, calc(80px + var(--fluid-slope) * 80), 124px);
  position: relative;
}

.s-main-visual-blank__container:before {
  content: "";
  aspect-ratio: 1642 / 1080;
  background: var(--gradient-primary);
  inline-size: 1642px;
  clip-path: var(--clip-path-parallelogram);
  z-index: 1;
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 66.6667%;
}

@media (max-width: 640px) {
  .s-main-visual-blank__container:before {
    inset-inline-start: 80%;
  }
}

.s-main-visual-simple__container {
  gap: var(--spacing-16);
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 36), 100px) clamp(120px, calc(120px + var(--fluid-slope) * 40), 160px);
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: center;
  display: grid;
  position: relative;
}

.s-main-visual-simple__container.is-ja {
  padding-block-start: 80px;
  padding-block-end: clamp(100px, calc(100px + var(--fluid-slope) * 100), 128px);
}

@media (max-width: 640px) {
  .s-main-visual-simple__container {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .s-main-visual-simple__heading {
    inline-size: 80%;
  }
}

.s-main-visual-simple__image {
  aspect-ratio: 426 / 292;
  object-fit: cover;
  inline-size: 33.3333%;
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 0;
  transform: translateY(-66%);
}

@media (min-width: 1440px) {
  .s-main-visual-simple__image {
    inline-size: 29.5833vw;
  }
}

.s-main-visual-simple__image:before {
  content: "";
  aspect-ratio: 1642 / 1080;
  background: var(--gradient-primary);
  clip-path: polygon(40% 0%, 100% 0%, 60% 100%, 0% 100%);
  z-index: 1;
  inline-size: 385.446%;
  position: absolute;
  inset-block-end: calc(50% - 12px);
  inset-inline-start: 0;
}

@media (max-width: 640px) {
  .s-main-visual-simple__image {
    inline-size: 40%;
    inset-block: auto 12px;
    transform: none;
  }

  .s-main-visual-simple__image:before {
    inset-block-end: 12px;
    inset-inline-start: 50%;
  }
}

.s-main-visual-simple__container.is-ja .s-main-visual-simple__image {
  inset-block-end: -3px;
}

.s-main-visual-simple__image-frame {
  z-index: 2;
  block-size: 100%;
  inline-size: 100%;
  position: relative;
  overflow: hidden;
}

.s-main-visual-simple__image-frame img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

.s-main-visual-simple__image-frame:has(img):after {
  content: "";
  background: var(--gradient-primary);
  position: absolute;
  inset: 0;
  transform: translateX(0%);
}

.s-main-visual-simple__image-frame.is-in-view:after {
  animation-name: cover;
  animation-duration: var(--animation-duration-image-cover);
  animation-delay: var(--animation-delay-image-cover);
  animation-fill-mode: both;
  animation-timing-function: var(--animation-timing-function-cover);
}

.s-header {
  padding: var(--spacing-32);
  align-items: center;
  gap: var(--spacing-32);
  z-index: var(--z-index-header);
  display: flex;
  position: sticky;
  inset-block-start: 0;
}

@media (max-width: 768px) {
  .s-header {
    padding: var(--spacing-16);
    gap: var(--spacing-16);
    background: var(--color-base-body);
  }
}

.s-header__logo {
  align-items: center;
  margin-right: auto;
  display: grid;
}

@media (max-width: 1280px) {
  .s-header__nav {
    display: none;
  }
}

.s-header__lists {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-32);
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.s-header__list {
  font-size: var(--font-size-m);
  font-weight: 700;
  line-height: normal;
}

.s-header__link {
  border-bottom: 4px solid #0000;
  padding-block: 8px;
  text-decoration: none;
  transition: border-color .3s;
  display: inline-block;
}

@media (any-hover: hover) {
  .s-header__link:hover {
    border-bottom-color: var(--color-accent);
  }
}

.s-header__link.is-current {
  border-bottom-color: var(--color-accent);
}

.s-header__buttons {
  inline-size: 400px;
}

.s-header__hamburger {
  display: none;
}

@media (max-width: 1280px) {
  .s-header__hamburger {
    display: block;
  }
}

.single-recruit-news .s-header, .post-type-archive-recruit-news .s-header {
  inline-size: 100%;
  position: fixed;
}

.s-footer {
  position: relative;
}

.s-footer__contact {
  z-index: 2;
  inline-size: 100%;
  position: absolute;
  inset-block-start: -150px;
}

@media (max-width: 768px) {
  .s-footer__contact {
    inset-block-start: -52px;
  }
}

.s-footer__buttons {
  gap: clamp(16px, calc(16px + var(--fluid-slope) * 16), var(--spacing-40));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.s-footer__main {
  padding-block: 240px var(--spacing-64);
  background: var(--gradient-primary);
  color: var(--color-base-body);
  z-index: 1;
  position: relative;
}

@media (max-width: 768px) {
  .s-footer__main {
    padding-block-start: 128px;
  }
}

.s-footer:has(.c-line-floating) .s-footer__main {
  padding-block-end: 92px;
}

.s-footer__container {
  justify-content: space-between;
  align-items: center;
  row-gap: var(--spacing-48);
  grid-template-columns: minmax(0, 1fr) auto;
  display: grid;
}

@media (max-width: 768px) {
  .s-footer__container {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-footer__area1 {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-32);
  flex-wrap: wrap;
  padding-inline-end: var(--spacing-48);
  display: flex;
}

@media (max-width: 768px) {
  .s-footer__area1 {
    justify-content: flex-start;
    gap: var(--spacing-64);
    flex-direction: column;
    padding-inline-end: 0;
  }
}

.s-footer__lists {
  justify-content: center;
  align-items: center;
  gap: clamp(24px, calc(24px + var(--fluid-slope) * 16), var(--spacing-32));
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.s-footer__link {
  color: var(--color-base-body);
  font-size: var(--font-size-m);
  border-block-end: 1px solid #0000;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  transition: border-color .3s;
}

@media (any-hover: hover) {
  .s-footer__link:hover {
    border-block-end-color: var(--color-base-body);
  }
}

.s-footer__sns-lists {
  justify-content: center;
  align-items: center;
  gap: var(--spacing-24);
  padding: 0 0 0 var(--spacing-48);
  border-inline-start: 1px solid var(--color-neutral-medium);
  margin: 0;
  list-style: none;
  display: flex;
}

@media (max-width: 768px) {
  .s-footer__sns-lists {
    border-inline-start: none;
    padding-inline-start: 0;
  }
}

.s-footer__sns-link {
  text-decoration: none;
}

.s-footer__sns-image {
  inline-size: 26px;
  display: block;
}

.s-footer__area3 {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-32);
  border-block-start: 1px solid #0d531a;
  flex-wrap: wrap;
  padding-block-start: var(--spacing-48);
  display: flex;
}

@media (max-width: 768px) {
  .s-footer__area3 {
    justify-content: flex-start;
    gap: var(--spacing-64);
    flex-direction: column-reverse;
  }
}

.s-footer__copyright {
  color: var(--color-base-body);
  font-family: var(--font-family-en);
  font-size: var(--font-size-s);
  font-weight: 400;
  line-height: normal;
}

.s-footer__utilities {
  align-items: center;
  gap: clamp(24px, calc(24px + var(--fluid-slope) * 40), var(--spacing-64));
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

@media (max-width: 768px) {
  .s-footer__utilities {
    flex-direction: column;
  }
}

.s-footer__utility-link {
  color: var(--color-base-body);
  font-size: var(--font-size-s);
  border-block-end: 1px solid #0000;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  transition: border-color .3s;
}

@media (any-hover: hover) {
  .s-footer__utility-link:hover {
    border-block-end-color: var(--color-base-body);
  }
}

.s-footer__area4 {
  place-self: end;
}

@media (max-width: 768px) {
  .s-footer__area4 {
    place-self: center;
  }
}

.s-footer__back-to-top {
  text-decoration: none;
}

.s-footer__back-to-top img {
  inline-size: 67px;
  display: block;
}

@keyframes recruit-menu-fade-in {
  from {
    visibility: hidden;
    opacity: 0;
  }

  to {
    visibility: visible;
    opacity: 1;
  }
}

@keyframes recruit-menu-fade-out {
  from {
    visibility: visible;
    opacity: 1;
  }

  to {
    visibility: hidden;
    opacity: 0;
  }
}

@keyframes recruit-menu-fade-up-in {
  from {
    opacity: 0;
    transform: translateY(.5em);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes recruit-menu-fade-up-out {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(.5em);
  }
}

.s-menu {
  inline-size: 100%;
  block-size: calc(100vh - var(--header-height-recruit-mobile));
  block-size: calc(100dvh - var(--header-height-recruit-mobile));
  max-width: initial;
  max-height: initial;
  padding: 0 var(--spacing-20) 30px var(--spacing-20);
  background: var(--color-base-body);
  z-index: var(--z-index-drawer);
  visibility: hidden;
  opacity: 0;
  border: none;
  position: fixed;
  inset-block-start: var(--header-height-recruit-mobile);
  inset-inline: 0;
  overflow: auto;
}

.s-menu__lists {
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.s-menu__list {
  border-bottom: 1px solid var(--color-neutral-medium);
  display: grid;
}

.s-menu__buttons {
  margin-block-start: var(--spacing-24);
  display: grid;
}

.s-menu__line-button {
  justify-items: stretch;
  gap: var(--spacing-16);
  margin-block-start: var(--spacing-24);
  display: grid;
}

.s-menu__line-text {
  text-align: center;
  font-size: var(--font-size-s);
  font-weight: 700;
  line-height: normal;
}

.s-menu.is-open {
  animation-name: recruit-menu-fade-in;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}

.s-menu.is-open .s-menu__lists {
  animation-name: recruit-menu-fade-up-in;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-delay: .4s;
  animation-fill-mode: both;
}

.s-menu.is-open .s-menu__buttons {
  animation-name: recruit-menu-fade-up-in;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-delay: .5s;
  animation-fill-mode: both;
}

.s-menu.is-open .s-menu__line-button {
  animation-name: recruit-menu-fade-up-in;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-delay: .55s;
  animation-fill-mode: both;
}

.s-menu.is-close {
  animation-name: recruit-menu-fade-out;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-delay: .3s;
  animation-fill-mode: both;
}

.s-menu.is-close .s-menu__lists {
  animation-name: recruit-menu-fade-up-out;
  animation-duration: .5s;
  animation-delay: .15;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}

.s-menu.is-close .s-menu__buttons {
  animation-name: recruit-menu-fade-up-out;
  animation-duration: .5s;
  animation-timing-function: ease-in-out;
  animation-delay: .1s;
  animation-fill-mode: both;
}

.s-menu.is-close .s-menu__line-button {
  animation-name: recruit-menu-fade-up-out;
  animation-duration: .5s;
  animation-delay: 0;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
}

.s-recruit-page-mv {
  z-index: 2;
  position: relative;
}

.s-recruit-page-mv__container {
  gap: var(--spacing-16);
  grid-template-columns: 37.5% 57.8125%;
  grid-template-areas: "head image";
  justify-content: space-between;
  align-items: center;
  display: grid;
  position: relative;
}

.s-recruit-page-mv__container:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: -42px;
  inset-inline-end: 93.3594%;
}

.s-recruit-page-mv__container:after {
  content: "";
  aspect-ratio: 545 / 664;
  clip-path: polygon(54% 0%, 100% 0%, 46% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 42.5781%;
  display: block;
  position: absolute;
  inset-block-end: -216px;
  inset-inline-start: 83.5938%;
}

@media (max-width: 768px) {
  .s-recruit-page-mv__container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head"
                         "image";
    gap: 0;
  }

  .s-recruit-page-mv__container:after {
    inset-block-end: -100px;
  }
}

.s-recruit-page-mv__head {
  padding-block: var(--spacing-24);
}

.s-recruit-page-mv__lead {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 4), 24px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  font-weight: 700;
  line-height: 1.33;
}

.s-recruit-page-mv__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-recruit-page-mv__image {
  z-index: 2;
  align-self: stretch;
  align-items: end;
  display: grid;
  position: relative;
}

.s-recruit-page-mv__image:before {
  content: "";
  aspect-ratio: 481 / 435;
  background: var(--gradient-primary);
  clip-path: polygon(43% 0%, 100% 0%, 57% 100%, 0% 100%);
  z-index: -1;
  inline-size: 65%;
  display: block;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
}

.s-recruit-page-mv__image img {
  aspect-ratio: 680 / 485;
  object-fit: contain;
  object-position: right bottom;
  inline-size: 100%;
  display: block;
  position: relative;
}

.s-recruit-page-mv__interview-heading {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-recruit-page-mv__interview-heading .is-strong {
  color: var(--color-primary);
  font-weight: 700;
}

.s-recruit-page-mv__interview-meta {
  justify-content: flex-start;
  align-items: center;
  gap: var(--spacing-16);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 16), var(--spacing-48));
  display: flex;
}

.s-recruit-page-mv__interview-name {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: normal;
}

.s-recruit-page-mv__interview-year {
  padding: var(--spacing-8) var(--spacing-16);
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-size: var(--font-size-s);
  font-weight: 700;
  line-height: 1.14;
}

.s-top-mv {
  z-index: 1;
  padding-block-end: clamp(40px, calc(40px + var(--fluid-slope) * 80), 120px);
  position: relative;
}

.s-top-mv__container {
  padding-block: 8px 16px;
  position: relative;
}

@media (max-width: 768px) {
  .s-top-mv__container {
    padding-block: 0;
  }
}

@media (max-width: 768px) {
  .s-top-mv__images {
    position: relative;
  }
}

@keyframes recruit-mv-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes recruit-mv-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.s-top-mv__main {
  inline-size: clamp(290px, calc(290px + var(--fluid-slope) * 292), 582px);
  aspect-ratio: 582 / 618;
  z-index: 0;
  opacity: 0;
  align-items: end;
  max-inline-size: 100%;
  margin-inline: auto;
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  display: grid;
  position: relative;
  transform: translateX(32px);
}

.s-top-mv__main img {
  object-fit: cover;
  opacity: 0;
  block-size: 100%;
  inline-size: 100%;
  transition: opacity .8s ease-in-out;
  display: block;
  position: absolute;
  inset: 0;
}

.s-top-mv__main img.is-active {
  opacity: 1;
}

.s-top-mv__main:before {
  content: "";
  aspect-ratio: 582 / 536;
  background: var(--gradient-primary);
  clip-path: polygon(42% 0%, 100% 0%, 58% 100%, 0% 100%);
  z-index: -1;
  inline-size: 100%;
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
}

@media (max-width: 768px) {
  .s-top-mv__main {
    padding-block-start: 16px;
    transform: none;
  }
}

.s-top-mv__lead {
  font-size: clamp(40px, calc(40px + var(--fluid-slope) * 40), 80px);
  z-index: 3;
  opacity: 0;
  font-weight: 600;
  line-height: 1.375;
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  position: absolute;
  inset-block-end: 180px;
  inset-inline-start: 0;
}

.s-top-mv__lead .is-strong {
  color: var(--color-primary);
  font-weight: 600;
}

.s-top-mv__lead .is-cross {
  font-family: var(--font-family-en);
}

@media (max-width: 768px) {
  .s-top-mv__lead {
    margin-block-start: 30px;
    position: static;
  }
}

.s-top-mv__image1, .s-top-mv__image2, .s-top-mv__image3, .s-top-mv__image4, .s-top-mv__image5 {
  z-index: 2;
  inline-size: 12.5%;
  position: absolute;
}

@media (max-width: 768px) {
  .s-top-mv__image1, .s-top-mv__image2, .s-top-mv__image3, .s-top-mv__image4, .s-top-mv__image5 {
    inline-size: 21.3333vw;
  }
}

:is(.s-top-mv__image1, .s-top-mv__image2, .s-top-mv__image3, .s-top-mv__image4, .s-top-mv__image5):before {
  content: "";
  z-index: -1;
}

:is(.s-top-mv__image1, .s-top-mv__image2, .s-top-mv__image3, .s-top-mv__image4, .s-top-mv__image5) img {
  opacity: 0;
  scale: 0;
}

.s-top-mv__image1 {
  inset-block-start: 70px;
  inset-inline-start: 0;
}

.s-top-mv__image1 img {
  display: block;
}

.s-top-mv__image1:before {
  content: "";
  aspect-ratio: 445 / 542;
  background: var(--gradient-base-primary);
  clip-path: polygon(55% 0%, 100% 0%, 45% 100%, 0% 100%);
  inline-size: 278.125%;
  position: absolute;
  inset-block-start: -172px;
  inset-inline-end: 26.25%;
}

@media (max-width: 768px) {
  .s-top-mv__image1 {
    inset-block-start: 22px;
    inset-inline: auto 80%;
  }

  .s-top-mv__image1:before {
    inline-size: 222px;
    inset-block-start: -87px;
    inset-inline-end: 20px;
  }
}

.s-top-mv__image2 {
  inset-block-end: -4px;
  inset-inline-start: 0;
}

.s-top-mv__image2 img {
  display: block;
}

.s-top-mv__image2:before {
  content: "";
  aspect-ratio: 88 / 107;
  background: var(--gradient-base-primary);
  clip-path: polygon(58% 0%, 100% 0%, 42% 100%, 0% 100%);
  inline-size: 55%;
  position: absolute;
  inset-block-start: calc(100% - 34px);
  inset-inline-start: 0;
}

@media (max-width: 768px) {
  .s-top-mv__image2 {
    inset-block-start: 126px;
    inset-inline: auto 90%;
  }

  .s-top-mv__image2:before {
    inline-size: 44px;
    inset-block-start: calc(100% - 18px);
  }
}

.s-top-mv__image3 {
  inset-block-start: 48px;
  inset-inline-end: 0;
}

.s-top-mv__image3 img {
  display: block;
}

.s-top-mv__image3:before {
  content: "";
  aspect-ratio: 250 / 304;
  background: var(--gradient-base-primary);
  clip-path: polygon(55% 0%, 100% 0%, 45% 100%, 0% 100%);
  inline-size: 156.25%;
  position: absolute;
  inset-block-end: -42px;
  inset-inline-start: 0;
}

@media (max-width: 768px) {
  .s-top-mv__image3 {
    display: none;
  }
}

.s-top-mv__image4 {
  inset-block-start: calc(50% - 42px);
  inset-inline-end: 12.5%;
}

.s-top-mv__image4 img {
  display: block;
}

.s-top-mv__image4:before {
  content: "";
  aspect-ratio: 166 / 202;
  background: var(--gradient-base-primary);
  clip-path: polygon(55% 0%, 100% 0%, 45% 100%, 0% 100%);
  inline-size: 103.75%;
  position: absolute;
  inset-block-end: -70px;
  inset-inline-start: 51.875%;
}

@media (max-width: 768px) {
  .s-top-mv__image4 {
    inset-block-end: 135px;
    inset-inline-start: 90%;
  }

  .s-top-mv__image4:before {
    inline-size: 83px;
    inset-block-end: -34px;
    inset-inline-start: 42px;
  }
}

.s-top-mv__image5 {
  inset-block-end: 74px;
  inset-inline-end: 0;
}

.s-top-mv__image5 img {
  display: block;
}

@media (max-width: 768px) {
  .s-top-mv__image5 {
    inset-block-end: -4px;
  }
}

.s-top-mv__buttons {
  inline-size: 75%;
  margin-block-start: clamp(30px, calc(30px + var(--fluid-slope) * 38), 68px);
  margin-inline: auto;
  display: grid;
  position: relative;
}

@media not (min-width: 1440px) {
  .s-top-mv__buttons {
    gap: var(--spacing-24);
    justify-items: stretch;
  }
}

@media (max-width: 1024px) {
  .s-top-mv__buttons {
    inline-size: 87.5%;
  }
}

@media (max-width: 640px) {
  .s-top-mv__buttons {
    inline-size: 100%;
  }
}

.s-top-mv__line-box {
  gap: var(--spacing-8);
  justify-content: center;
  inline-size: max-content;
  margin-inline: auto;
  display: none;
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: calc(100% + 16px);
}

@media not (min-width: 1440px) {
  .s-top-mv__line-box {
    inline-size: 100%;
    position: static;
  }
}

@media (max-width: 640px) {
  .s-top-mv__line-box {
    justify-content: stretch;
    display: grid;
  }
}

.s-top-mv__line-text {
  text-align: center;
  font-size: var(--font-size-s);
  font-weight: 700;
  line-height: normal;
}

.s-top-mv__images.is-in-view .s-top-mv__image1 img {
  animation-name: zoomUpIn;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  animation-delay: 0s;
  animation-fill-mode: both;
}

.s-top-mv__images.is-in-view .s-top-mv__image2 img {
  animation-name: zoomUpIn;
  animation-duration: .7s;
  animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  animation-delay: .1s;
  animation-fill-mode: both;
}

.s-top-mv__images.is-in-view .s-top-mv__image3 img {
  animation-name: zoomUpIn;
  animation-duration: .75s;
  animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  animation-delay: .35s;
  animation-fill-mode: both;
}

.s-top-mv__images.is-in-view .s-top-mv__image4 img {
  animation-name: zoomUpIn;
  animation-duration: .7s;
  animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  animation-delay: .2s;
  animation-fill-mode: both;
}

.s-top-mv__images.is-in-view .s-top-mv__image5 img {
  animation-name: zoomUpIn;
  animation-duration: .7s;
  animation-timing-function: cubic-bezier(.34, 1.56, .64, 1);
  animation-delay: .5s;
  animation-fill-mode: both;
}

.s-top-message {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 8), 72px);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
}

.s-top-message__container {
  z-index: 0;
  position: relative;
}

.s-top-message__bg1 {
  inline-size: clamp(272px, calc(272px + var(--fluid-slope) * 273), 545px);
  aspect-ratio: 545 / 664;
  background: var(--gradient-base-primary);
  clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
  z-index: -1;
  position: absolute;
  inset-block-end: calc(100% - clamp(8px, calc(8px + var(--fluid-slope) * 72), 80px));
  inset-inline-start: calc(100% - clamp(77px, calc(77px + var(--fluid-slope) * 123), 200px));
}

.s-top-message__content1 {
  grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 3fr);
  grid-template-areas: "heading . image"
                       "lead . image"
                       "description . image";
  align-items: end;
  display: grid;
}

@media (max-width: 1024px) {
  .s-top-message__content1 {
    grid-template-columns: minmax(0, 4.5fr) minmax(0, .5fr) minmax(0, 3fr);
  }
}

@media (max-width: 640px) {
  .s-top-message__content1 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading"
                         "lead"
                         "description"
                         "image";
  }
}

.s-top-message__heading {
  font-family: var(--font-family-en);
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 16), 32px);
  text-transform: uppercase;
  grid-area: heading;
  font-weight: 700;
  line-height: 2.5;
}

.s-top-message__lead {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), 56px);
  grid-area: lead;
  margin-block-start: var(--spacing-24);
  font-weight: 700;
  line-height: 1.57;
}

.s-top-message__lead .is-strong {
  color: var(--color-primary);
  font-weight: 700;
}

.s-top-message__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  grid-area: description;
  margin-block-start: var(--spacing-24);
  margin-block-end: clamp(0px, calc(0px + var(--fluid-slope) * 112), 112px);
  line-height: 2;
}

@media (max-width: 640px) {
  .s-top-message__description {
    margin-block-end: 0;
  }
}

.s-top-message__image1 {
  z-index: 0;
  grid-area: image;
  position: relative;
}

.s-top-message__image1 img {
  display: block;
}

.s-top-message__image1:before {
  content: "";
  aspect-ratio: 147 / 180;
  background: var(--gradient-base-primary);
  clip-path: polygon(48% 0%, 100% 0%, 52% 100%, 0% 100%);
  z-index: -1;
  inline-size: 30.9474%;
  position: absolute;
  inset-block-start: -12.6316%;
  inset-inline-start: -7.15789%;
}

@media (max-width: 640px) {
  .s-top-message__image1 {
    inline-size: 268px;
    margin-block-start: 58px;
    margin-inline: auto;
  }

  .s-top-message__image1:before {
    inline-size: 82px;
    inset-block-start: -34px;
    inset-inline-start: -20px;
  }
}

.s-top-message__content2 {
  row-gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  grid-template-columns: minmax(0, 3fr) minmax(0, 1.5fr) minmax(0, 3.5fr);
  grid-template-areas: "images . lead"
                       "images . description"
                       "images . button";
  align-items: start;
  margin-block-start: var(--spacing-20);
  display: grid;
}

@media (max-width: 1280px) {
  .s-top-message__content2 {
    grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 4fr);
  }
}

@media (max-width: 768px) {
  .s-top-message__content2 {
    grid-template-columns: minmax(0, 3fr) minmax(0, .5fr) minmax(0, 4.5fr);
  }
}

@media (max-width: 640px) {
  .s-top-message__content2 {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "lead"
                         "description"
                         "images"
                         "button";
    margin-block-start: var(--spacing-48);
  }
}

.s-top-message__images {
  flex-direction: column;
  grid-area: images;
  align-items: flex-end;
  padding-block-end: clamp(44px, calc(44px + var(--fluid-slope) * 66), 110px);
  display: flex;
  position: relative;
}

.s-top-message__images:before {
  content: "";
  aspect-ratio: 445 / 542;
  background: var(--gradient-base-primary);
  clip-path: polygon(56% 0%, 100% 0%, 44% 100%, 0% 100%);
  inline-size: 92.7083%;
  display: block;
  position: absolute;
  inset-block-start: -46px;
  inset-inline-end: 76%;
}

@media (max-width: 640px) {
  .s-top-message__images {
    inline-size: fit-content;
    margin-inline-start: 16px;
    padding-block-start: 18px;
  }

  .s-top-message__images:before {
    inline-size: 177px;
    padding-inline-start: 0;
    inset-block-start: -18px;
    inset-inline-end: calc(100% - 78px);
  }
}

.s-top-message__image2 {
  aspect-ratio: 561 / 518;
  inline-size: 116.875%;
  margin-inline-end: 28px;
}

.s-top-message__image2 img {
  object-fit: cover;
  clip-path: polygon(43% 0%, 100% 0%, 57% 100%, 0% 100%);
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

@media (max-width: 640px) {
  .s-top-message__image2 {
    inline-size: 223px;
    margin-inline-end: 0;
  }
}

.s-top-message__image3 {
  aspect-ratio: 308 / 284;
  inline-size: 64.1667%;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: -7%;
}

.s-top-message__image3 img {
  object-fit: cover;
  clip-path: polygon(42% 0%, 100% 0%, 58% 100%, 0% 100%);
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

@media (max-width: 640px) {
  .s-top-message__image3 {
    inline-size: 122px;
    inset-inline-end: -38px;
  }
}

.s-top-message__lead2 {
  font-size: clamp(24px, calc(24px + var(--fluid-slope) * 4), 28px);
  grid-area: lead;
  margin-block-start: clamp(0px, calc(0px + var(--fluid-slope) * 80), 80px);
  font-weight: 700;
  line-height: 1.71;
}

@media (max-width: 640px) {
  .s-top-message__lead2 {
    margin-block-start: 0;
    line-height: 2;
  }
}

.s-top-message__description2 {
  grid-area: description;
}

.s-top-message__text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  line-height: 2;
}

.s-top-message__text:nth-child(n+2 of .s-top-message__text) {
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-top-message__button {
  grid-area: button;
  inline-size: 366px;
  max-inline-size: 100%;
  margin-inline-start: auto;
  display: grid;
}

@media (max-width: 640px) {
  .s-top-message__button {
    inline-size: 100%;
  }
}

.s-top-news {
  background: var(--color-base-body);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 62), 126px);
}

.s-top-news__container {
  gap: var(--spacing-16);
  grid-template-columns: minmax(0, 1fr) 63.5938%;
  display: grid;
}

@media (max-width: 640px) {
  .s-top-news__container {
    gap: var(--spacing-16);
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-top-news__heading {
  color: var(--color-primary);
  font-size: clamp(var(--font-size-2xl), calc(var(--font-size-2xl)  + var(--fluid-slope) * 28), var(--font-size-6xl));
  text-transform: uppercase;
  align-self: start;
  font-weight: 700;
  line-height: normal;
}

.s-top-news__heading.is-in-view .is-char {
  animation-name: charUpIn;
  animation-duration: var(--animation-duration-char-up-in);
  animation-timing-function: var(--animation-timing-function-char-up-in);
  animation-delay: calc(var(--i) * var(--animation-delay-interval-char-up-in)  + var(--animation-delay-char-up-in));
  animation-fill-mode: both;
}

.s-top-news__lists {
  margin: 0;
  padding: 0;
  list-style: none;
}

.s-top-news__list {
  border-block-end: 1px solid var(--color-neutral-medium);
}

.s-top-about {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 156), 200px) clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-top-about__container {
  z-index: 0;
  position: relative;
}

.s-top-about__head {
  grid-template-columns: 25% 37.5%;
  justify-content: start;
  display: grid;
}

@media (max-width: 1280px) {
  .s-top-about__head {
    grid-template-columns: 25% 50%;
  }
}

@media (max-width: 640px) {
  .s-top-about__head {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-top-about__description {
  font-size: clamp(var(--font-size-s), calc(var(--font-size-s)  + var(--fluid-slope) * 2), var(--font-size-m));
  margin-block-start: 1em;
  line-height: 2;
}

@media (max-width: 640px) {
  .s-top-about__description {
    margin-block-start: var(--spacing-48);
  }
}

.s-top-about__company {
  inline-size: 25%;
  position: absolute;
  inset-block-end: calc(100% - 22px);
  inset-inline-end: 0;
}

@media (max-width: 640px) {
  .s-top-about__company {
    inline-size: 135px;
    inset-block: -26px auto;
  }
}

.s-top-about__items {
  gap: var(--spacing-40);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  display: grid;
  position: relative;
}

@media (max-width: 640px) {
  .s-top-about__items {
    gap: var(--spacing-48);
    grid-template-columns: minmax(0, 1fr);
    position: static;
  }
}

.s-top-about__item {
  z-index: 0;
  max-inline-size: 100%;
  padding-block: clamp(0, calc(0 + var(--fluid-slope) * 80), 80px);
  aspect-ratio: 620 / 400;
  background: #ddd;
  place-items: center end;
  display: grid;
  position: relative;
}

.s-top-about__item:where(.is-wide) {
  aspect-ratio: 1280 / 480;
  grid-column: 1 / -1;
}

@media (max-width: 1024px) {
  .s-top-about__item {
    aspect-ratio: unset;
    justify-items: start;
    padding-block: 0;
  }
}

.s-top-about__picture, .s-top-about__image {
  z-index: -1;
  block-size: 100%;
  inline-size: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

@media (max-width: 1024px) {
  .s-top-about__picture, .s-top-about__image {
    block-size: auto;
    position: static;
  }
}

.s-top-about__image {
  object-fit: cover;
}

.s-top-about__box {
  inline-size: 54.8387%;
  display: block;
}

@media (max-width: 1024px) {
  .s-top-about__box {
    inline-size: 100%;
  }
}

.s-top-about__item.is-wide .s-top-about__box {
  inline-size: 37.5%;
}

@media (max-width: 1024px) {
  .s-top-about__item.is-wide .s-top-about__box {
    inline-size: 100%;
  }
}

.s-top-about__infinity-texts {
  align-items: center;
  gap: .5em;
  width: max-content;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  animation: 20s linear infinite infinity-scroll;
  display: flex;
  overflow-x: hidden;
}

@media (max-width: 768px) {
  .s-top-about__infinity-texts {
    animation-duration: 24s;
  }
}

.s-top-about__infinity-text {
  color: #ebebeb;
  font-family: var(--font-family-en);
  font-size: clamp(44px, calc(44px + var(--fluid-slope) * 44), 88px);
  white-space: nowrap;
  font-weight: 300;
  line-height: 1;
}

.s-top-about__bg1 {
  inline-size: clamp(120px, calc(120px + var(--fluid-slope) * 120), 240px);
  aspect-ratio: 240 / 194;
  background: var(--gradient-base-primary);
  clip-path: polygon(36% 0%, 100% 0%, 64% 100%, 0% 100%);
  z-index: -1;
  position: absolute;
  inset-block-end: calc(100% + 102px);
  inset-inline-start: -154px;
}

@media (max-width: 640px) {
  .s-top-about__bg1 {
    inline-size: 120px;
    inset-block-end: calc(100% + 16px);
    inset-inline-start: -76px;
  }
}

.s-top-interview__grid {
  align-items: end;
  column-gap: 72px;
  row-gap: clamp(32px, calc(32px + var(--fluid-slope) * 88), 120px);
  z-index: 0;
  grid-template: "head main"
                 "content main" minmax(0, 1fr)
                 / minmax(0, 1fr) 57.0313%;
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 32), 80px);
  display: grid;
  position: relative;
}

.s-top-interview__grid:before {
  z-index: -1;
  content: "Interview";
  color: #f1f1f1;
  text-align: center;
  font-family: var(--font-family-en);
  font-size: clamp(64px, calc(64px + var(--fluid-slope) * 176), 240px);
  text-transform: uppercase;
  margin-inline: auto;
  font-weight: 600;
  line-height: 1;
  position: absolute;
  inset-block-end: -32px;
  inset-inline: 0;
}

@media (max-width: 768px) {
  .s-top-interview__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head"
                         "main"
                         "content";
    gap: 32px;
  }

  .s-top-interview__grid:before {
    writing-mode: vertical-rl;
    margin-inline: auto;
    inset-block: 0 auto;
    inset-inline: auto 100px;
  }
}

.s-top-interview__head {
  font-size: clamp(24px, calc(24px + var(--fluid-slope) * 44), 68px);
  grid-area: head;
  align-self: start;
  margin-block-start: 24px;
  font-weight: 700;
  line-height: 1.29;
  overflow: hidden;
}

@media (max-width: 768px) {
  .s-top-interview__head {
    margin-block-start: 0;
    line-height: 1.6;
  }
}

.s-top-interview__head1 {
  color: var(--color-primary);
  font-weight: 700;
}

.s-top-interview__head2 {
  display: block;
}

.s-top-interview__content {
  grid-area: content;
  align-self: start;
  position: relative;
}

@media (max-width: 768px) {
  .s-top-interview__content {
    order: 2;
  }
}

.s-top-interview__bodes {
  z-index: 0;
  display: grid;
  position: relative;
}

.s-top-interview__body {
  place-items: center start;
  column-gap: var(--spacing-16);
  row-gap: var(--spacing-24);
  opacity: 0;
  visibility: hidden;
  grid-area: 1 / -1 / 1 / -1;
  grid-template-columns: auto minmax(0, 1fr);
  text-decoration: none;
  transition: opacity .8s, visibility .8s;
  display: grid;
  inset: 0;
}

.s-top-interview__body.is-active {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 768px) {
  .s-top-interview__body {
    padding-inline-end: 74px;
  }
}

.s-top-interview__name {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: normal;
}

.s-top-interview__join {
  padding-block: clamp(4px, calc(4px + var(--fluid-slope) * 4), var(--spacing-8));
  padding-inline: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-size: clamp(12px, calc(12px + var(--fluid-slope) * 2), var(--font-size-s));
  justify-content: center;
  align-items: center;
  font-weight: 700;
  line-height: 1.14;
  display: inline-flex;
}

.s-top-interview__description {
  line-height: 2;
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  grid-column: 1 / -1;
}

.s-top-interview__main {
  grid-area: main;
  padding-top: 116px;
  display: grid;
  position: relative;
}

@media (max-width: 768px) {
  .s-top-interview__main {
    padding-top: 13.8667vw;
  }
}

.s-top-interview__main:before {
  content: "";
  aspect-ratio: 730 / 668;
  background: var(--gradient-primary);
  clip-path: polygon(44% 0%, 100% 0%, 56% 100%, 0% 100%);
  inline-size: 100%;
  display: block;
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
}

@media (max-width: 768px) {
  .s-top-interview__main {
    order: 1;
  }
}

.s-top-interview__image {
  aspect-ratio: 730 / 673;
  opacity: 0;
  visibility: hidden;
  grid-area: 1 / -1 / 1 / -1;
  inline-size: 100%;
  max-inline-size: 100%;
  text-decoration: none;
  transition: opacity .8s, visibility .8s;
  display: block;
}

.s-top-interview__image.is-active {
  opacity: 1;
  visibility: visible;
}

.s-top-interview__image img {
  inline-size: 100%;
  display: block;
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
}

@media (max-width: 768px) {
  .s-top-interview__image {
    order: 2;
  }
}

@media (max-width: 730px) {
  .s-top-interview__image {
    inline-size: 100%;
  }
}

.s-top-interview__header {
  z-index: 0;
  align-items: center;
  display: flex;
  position: relative;
}

.s-top-interview__label {
  font-family: var(--font-family-en);
  font-size: var(--font-size-s);
  letter-spacing: .08em;
  font-weight: 500;
  line-height: 1.71;
}

.s-top-interview__items {
  margin-inline-start: .5em;
  display: grid;
}

.s-top-interview__item {
  grid-area: 1 / 1 / -1 / -1;
  grid-template-columns: auto auto;
  justify-content: start;
  align-items: center;
  display: grid;
}

.s-top-interview__numbers-en {
  font-family: var(--font-family-en);
  font-size: var(--font-size-s);
  letter-spacing: .08em;
  font-weight: 500;
  line-height: 1.71;
  display: grid;
}

.s-top-interview__names-en {
  font-family: var(--font-family-en);
  font-size: var(--font-size-s);
  letter-spacing: .08em;
  border-inline-start: 1px solid var(--color-neutral-medium);
  margin-inline-start: var(--spacing-24);
  padding-inline-start: var(--spacing-24);
  font-weight: 500;
  line-height: 1.71;
  display: grid;
}

.s-top-interview__number-en, .s-top-interview__name-en {
  opacity: 0;
  grid-area: 1 / 1 / -1 / -1;
  transition: opacity .8s;
}

:is(.s-top-interview__number-en, .s-top-interview__name-en).is-active {
  opacity: 1;
}

.s-top-interview__pagination {
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  margin-block-start: var(--spacing-24);
  padding: 0;
  display: flex;
  position: static;
}

.s-top-interview__number {
  opacity: 1;
  block-size: 4px;
  inline-size: 92px;
  box-shadow: none;
  appearance: none;
  cursor: pointer;
  background: #c5c5c5;
  border: none;
  border-radius: 0;
  margin: 0;
  display: block;
}

.s-top-interview__number.is-active {
  background: var(--color-primary);
}

.s-top-interview__button {
  inline-size: 366px;
  max-inline-size: 100%;
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 72), 120px);
  margin-inline: auto;
  display: grid;
}

.s-top-grow {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 156), 200px);
}

.s-top-grow__container {
  z-index: 0;
  position: relative;
}

.s-top-grow__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 72), 120px);
  line-height: 2;
}

.s-top-grow__items {
  background: var(--color-base-body);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 120), 120px);
  display: grid;
  position: relative;
}

@media (max-width: 768px) {
  .s-top-grow__items {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-top-grow__item:where(:nth-child(n+3 of .s-top-grow__item)) {
  border-block-start: 1px solid var(--color-neutral-medium);
}

.s-top-grow__item:where(:nth-child(2n of .s-top-grow__item)) {
  border-inline-start: 1px solid var(--color-neutral-medium);
}

@media (max-width: 768px) {
  .s-top-grow__item {
    border: none;
  }

  .s-top-grow__item:where(:nth-child(n+2 of .s-top-grow__item)) {
    border-block-start: 1px solid var(--color-neutral-medium);
  }
}

.s-top-grow__bg1, .s-top-grow__bg2, .s-top-grow__bg3 {
  z-index: -1;
  aspect-ratio: 356 / 288;
  background: var(--gradient-base-primary);
  clip-path: polygon(38% 0%, 100% 0%, 62% 100%, 0% 100%);
  inline-size: 356px;
  position: absolute;
}

.s-top-grow__bg1 {
  inline-size: clamp(120px, calc(120px + var(--fluid-slope) * 236), 356px);
  inset-block-end: calc(100% + 90px);
  inset-inline-start: -228px;
}

@media (max-width: 768px) {
  .s-top-grow__bg1 {
    inset-block-end: calc(100% + 20px);
    inset-inline-start: -76px;
  }
}

.s-top-grow__bg2 {
  inline-size: clamp(80px, calc(80px + var(--fluid-slope) * 80), 160px);
  inset-block-start: 30px;
  inset-inline-end: 0;
}

@media (max-width: 768px) {
  .s-top-grow__bg2 {
    inset-block-start: 152px;
  }
}

.s-top-grow__bg3 {
  inline-size: clamp(198px, calc(198px + var(--fluid-slope) * 198), 396px);
  inset-block-end: calc(100% - 94px);
  inset-inline-start: calc(100% - 140px);
}

@media (max-width: 768px) {
  .s-top-grow__bg3 {
    inset-block-end: calc(100% + 48px);
    inset-inline-start: calc(100% - 72px);
  }
}

.s-top-info {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 160), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-top-info__container {
  z-index: 0;
  position: relative;
}

.s-top-info__qa {
  border-block-start: 1px solid var(--color-neutral-medium);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 120), 120px);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 120), 120px);
}

.s-top-info__head {
  font-size: clamp(38px, calc(38px + var(--fluid-slope) * 38), 76px);
}

.s-top-info__head-ja {
  color: var(--color-primary);
  text-align: center;
  font-size: inherit;
  font-weight: 700;
  line-height: 1.42;
}

.s-top-info__head.is-in-view .is-char {
  animation-name: charUpIn;
  animation-duration: var(--animation-duration-char-up-in);
  animation-timing-function: var(--animation-timing-function-char-up-in);
  animation-delay: calc(var(--i) * var(--animation-delay-interval-char-up-in)  + var(--animation-delay-char-up-in));
  animation-fill-mode: both;
}

.s-top-info__head-en {
  text-align: center;
  font-family: var(--font-family-en);
  font-size: clamp(10px, calc(10px + var(--fluid-slope) * 10), var(--font-size-m));
  font-weight: 500;
  line-height: var(--spacing-24);
  letter-spacing: .128em;
  text-transform: uppercase;
  margin-block-start: clamp(8px, calc(8px + var(--fluid-slope) * 8), var(--spacing-16));
}

.s-top-info__links {
  gap: var(--spacing-40);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: var(--spacing-64);
  display: grid;
}

@media (max-width: 768px) {
  .s-top-info__links {
    gap: var(--spacing-24);
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-top-info__sub-head {
  text-align: center;
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 32), var(--font-size-5xl));
  font-weight: 700;
  line-height: normal;
}

.s-top-info__sub-head .is-strong {
  color: var(--color-primary);
  font-weight: 700;
}

.s-top-info__sub-head.is-in-view .is-char {
  animation-name: charUpIn;
  animation-duration: var(--animation-duration-char-up-in);
  animation-timing-function: var(--animation-timing-function-char-up-in);
  animation-delay: calc(var(--i) * var(--animation-delay-interval-char-up-in)  + var(--animation-delay-char-up-in));
  animation-fill-mode: both;
}

.s-top-info__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  text-align: center;
  margin-block-start: var(--spacing-40);
  line-height: 2;
}

.s-top-info__items {
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-base-body);
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 16), var(--spacing-64));
  position: relative;
}

.s-top-info__item {
  overflow: hidden;
}

.s-top-info__item ~ .s-top-info__item {
  border-block-start: 1px solid var(--color-neutral-medium);
}

.s-top-info__item:nth-child(1 of .s-top-info__item) {
  border-radius: var(--border-radius-8) var(--border-radius-8) 0 0;
}

.s-top-info__item:nth-last-child(1 of .s-top-info__item) {
  border-radius: 0 0 var(--border-radius-8) var(--border-radius-8);
}

.s-top-info__button {
  inline-size: 366px;
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 16), var(--spacing-64));
  margin-inline: auto;
  display: grid;
}

@media (max-width: 768px) {
  .s-top-info__button {
    inline-size: max-content;
  }
}

.s-top-info__bg1 {
  inline-size: clamp(198px, calc(198px + var(--fluid-slope) * 198), 396px);
  aspect-ratio: 396 / 320;
  background: var(--gradient-base-primary);
  clip-path: polygon(36% 0%, 100% 0%, 64% 100%, 0% 100%);
  z-index: -1;
  position: absolute;
  inset-block-end: calc(100% + 64px);
  inset-inline-start: calc(100% - 160px);
}

@media (max-width: 768px) {
  .s-top-info__bg1 {
    inset-block-end: calc(100% + 20px);
    inset-inline-start: calc(100% - 62px);
  }
}

.s-top-info__bg2 {
  aspect-ratio: 396 / 320;
  background: var(--gradient-base-primary);
  clip-path: polygon(36% 0%, 100% 0%, 64% 100%, 0% 100%);
  z-index: -1;
  inline-size: 240px;
  position: absolute;
  inset-block-start: -80px;
  inset-inline-start: -80px;
}

.s-top-info__bg3 {
  aspect-ratio: 396 / 320;
  background: var(--gradient-base-primary);
  clip-path: polygon(36% 0%, 100% 0%, 64% 100%, 0% 100%);
  z-index: -1;
  inline-size: 400px;
  position: absolute;
  inset-block-end: -92px;
  inset-inline-start: calc(100% - 318px);
}

@media (max-width: 768px) {
  .s-top-info__bg3 {
    display: none;
  }
}

.s-top-works {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 156), 200px);
  background: #fff;
}

.s-top-works__container {
  z-index: 0;
  grid-template-columns: minmax(0, 1fr) 50%;
  grid-template-areas: "image heading"
                       "image description"
                       "image lists"
                       "image thumbnails";
  align-items: end;
  column-gap: 84px;
  display: grid;
  position: relative;
}

@media (max-width: 1024px) {
  .s-top-works__container {
    column-gap: 42px;
  }
}

@media (max-width: 768px) {
  .s-top-works__container {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "heading"
                         "image"
                         "thumbnails"
                         "description"
                         "lists";
  }
}

.s-top-works__bg1 {
  aspect-ratio: 396 / 320;
  background: var(--gradient-base-primary);
  clip-path: polygon(36% 0%, 100% 0%, 64% 100%, 0% 100%);
  z-index: -1;
  inline-size: 30.9375%;
  position: absolute;
  inset-block-start: 76px;
  inset-inline-start: 87.5%;
}

@media (max-width: 768px) {
  .s-top-works__bg1 {
    inline-size: 198px;
    inset-block-start: -36px;
    inset-inline-start: 80%;
  }
}

.s-top-works__interview {
  border-block-start: 1px solid var(--color-neutral-medium);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-start: var(--spacing-16);
}

.s-top-works__image {
  grid-area: image;
  align-self: stretch;
}

.s-top-works__image .splide, .s-top-works__image .splide__track {
  block-size: 100%;
}

.s-top-works__image .splide__slide {
  position: relative;
}

.s-top-works__image img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

@media (max-width: 768px) {
  .s-top-works__image {
    margin-block-start: var(--spacing-64);
  }

  .s-top-works__image img {
    block-size: auto;
    position: static;
  }
}

.s-top-works__head {
  grid-area: heading;
  align-self: start;
}

.s-top-works__description {
  inline-size: 75%;
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  grid-area: description;
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 52), 100px);
  line-height: 2;
}

@media (max-width: 768px) {
  .s-top-works__description {
    inline-size: 100%;
  }
}

.s-top-works__lists {
  margin: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 48), var(--spacing-64)) 0 0;
  grid-area: lists;
  padding: 0;
  list-style: none;
}

.s-top-works__list {
  border-block-end: 1px solid var(--color-neutral-medium);
}

.s-top-works__thumbnails {
  grid-area: thumbnails;
  margin-block-start: clamp(8px, calc(8px + var(--fluid-slope) * 56), var(--spacing-64));
}

.s-top-works__thumbnail {
  border: none !important;
}

.s-top-works__thumbnail img {
  filter: grayscale();
  display: block;
}

.s-top-works__thumbnail.is-active img {
  filter: grayscale(0%);
}

.p-single__body {
  padding-block-start: 12px;
  padding-block-end: clamp(100px, calc(100px + var(--fluid-slope) * 100), 200px);
}

.p-single__meta {
  align-items: center;
  gap: var(--spacing-16);
  flex-wrap: wrap;
  display: flex;
}

.p-single__date {
  color: var(--color-contrast);
  font-family: var(--font-family-en);
  line-height: 1.25;
}

.p-single__categories ul {
  align-items: center;
  gap: var(--spacing-8);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.p-single__categories span, .p-single__categories a {
  padding: var(--spacing-4) var(--spacing-8);
  border: 1px solid var(--color-primary);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-10);
  color: var(--color-primary);
  font-size: var(--font-size-xs);
  line-height: 1.16667;
  display: flex;
}

.p-single__categories a {
  text-decoration: none;
  transition: color .3s, background-color .3s;
}

@media (any-hover: hover) {
  .p-single__categories a:hover {
    background: var(--color-base-primary);
  }
}

.p-single__title {
  border-block-end: 2px solid var(--color-neutral-medium);
  font-size: clamp(var(--font-size-xl), calc(var(--font-size-xl)  + var(--fluid-slope) * 8), var(--font-size-3xl));
  margin-block-start: var(--spacing-24);
  padding-block-end: .75em;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}

.p-single__title:before {
  content: "";
  background: var(--color-primary);
  block-size: 2px;
  inline-size: 25%;
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
}

.p-single__content {
  margin-block-start: clamp(var(--spacing-40), calc(var(--spacing-40)  + var(--fluid-slope) * 40), 80px);
}

.p-single__button {
  inline-size: 366px;
  margin-block-start: clamp(80px, calc(80px + var(--fluid-slope) * 48), 128px);
  margin-inline: auto;
  display: grid;
}

@media (max-width: 640px) {
  .p-single__button {
    inline-size: 100%;
  }
}

.p-single.is-recruit-single .p-single__body {
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.p-archive__body {
  padding-block-end: clamp(100px, calc(100px + var(--fluid-slope) * 100), 200px);
}

.p-archive__container.is-tow-column {
  grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 8fr);
  grid-template-areas: "sidebar . content";
  display: grid;
}

@media (max-width: 768px) {
  .p-archive__container.is-tow-column {
    gap: var(--spacing-64);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "content"
                         "sidebar";
  }
}

.p-archive__sidebar {
  grid-area: sidebar;
}

.p-archive__lists {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-archive__lists li {
  border-bottom: 1px dashed var(--color-neutral-medium);
}

.p-archive__lists a {
  --icon-size-desktop: 16px;
  --icon-size-mobile: 16px;
  --icon-size-fluid: clamp(var(--icon-size-mobile), var(--icon-size-mobile)  + var(--fluid-slope) * 0, var(--icon-size-desktop));
  --icon-size-fluid-half: calc(var(--icon-size-fluid) / 2);
  grid-template-columns: minmax(0, 1fr) var(--icon-size-fluid);
  padding: var(--spacing-24) var(--spacing-16);
  align-items: center;
  gap: var(--spacing-24);
  background: var(--color-base-body);
  font-size: var(--font-size-s);
  line-height: normal;
  text-decoration: none;
  transition: background-color .3s, color .3s;
  display: grid;
}

.p-archive__lists a:not(.is-current):before, .p-archive__lists a:not(.is-current):after {
  content: "";
  grid-area: 1 / -1 / 2 / -2;
  justify-self: center;
}

.p-archive__lists a:not(.is-current):before {
  inline-size: var(--icon-size-fluid);
  aspect-ratio: 1;
  border-radius: var(--border-radius-4);
  background: var(--color-primary);
}

.p-archive__lists a:not(.is-current):after {
  inline-size: var(--icon-size-fluid-half);
  aspect-ratio: 1;
  background: var(--color-base-body);
  -webkit-mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
  mask: url("../../assets/images/common/icon-arrow.svg") center / contain no-repeat;
}

@media (any-hover: hover) {
  .p-archive__lists a:not(.is-current):hover {
    background: var(--color-base-primary);
    color: var(--color-primary);
  }
}

.p-archive__lists a.is-current {
  pointer-events: none;
  font-weight: 700;
}

.p-archive__lists.is-sticky {
  --toc-margin-block: 16px;
  max-block-size: calc(100vh - var(--header-height-corporate-desktop)  - var(--toc-margin-block) * 2);
  position: sticky;
  inset-block-start: calc(var(--header-height-corporate-desktop)  + var(--toc-margin-block));
  overflow: auto;
}

.p-archive__content {
  grid-area: content;
}

.p-archive__cards {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.p-archive__card {
  border-bottom: 1px solid var(--color-neutral-medium);
}

.p-archive__pagination {
  justify-content: flex-end;
  margin-block-start: clamp(var(--spacing-32), calc(var(--spacing-32)  + var(--fluid-slope) * 32), var(--spacing-64));
  display: flex;
}

.p-archive__no-posts {
  line-height: 2;
}

.p-archive.is-recruit-archive .p-archive__body {
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.p-recruit-top, .p-recruit-about {
  overflow: hidden;
}

.s-about-cxr {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  background: var(--color-base-body);
}

.s-about-cxr__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-about-cxr__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-about-cxr__sections {
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  margin-inline: auto;
}

.s-about-cxr__section {
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  display: grid;
}

.s-about-cxr__section:not(:first-child) {
  border-top: 1px solid var(--color-neutral-medium);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
}

.s-about-cxr__items {
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (max-width: 640px) {
  .s-about-cxr__items {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-about-cxr__item.is-sub-grid {
  grid-template-rows: subgrid;
  grid-row: span 3;
  display: grid;
}

.s-about-cxr__item.is-two-column {
  grid-column: span 2;
}

@media (max-width: 640px) {
  .s-about-cxr__item.is-two-column {
    grid-column: span 1;
  }
}

.s-about-business {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-about-business__container {
  z-index: 0;
  position: relative;
}

.s-about-business__container:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% + 85px);
  inset-inline-end: 93.2813%;
}

.s-about-business__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-about-business__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-about-business__content {
  z-index: 0;
  background: #d1d1d1;
  block-size: 630px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  position: relative;
}

@media (max-width: 768px) {
  .s-about-business__content {
    block-size: 300px;
  }
}

.s-about-business__content:before {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% - 65px);
  inset-inline-start: 87.5%;
}

.s-about-safety {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-about-safety__container {
  z-index: 0;
  position: relative;
}

.s-about-safety__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-about-safety__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-about-safety__items {
  max-inline-size: 960px;
  gap: clamp(48px, calc(48px + var(--fluid-slope) * 80), 128px);
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 72), 120px);
  margin-block-end: 0;
  margin-inline: auto;
  padding: 0;
  list-style: none;
  display: grid;
}

.c-safety-card {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-48);
  display: flex;
}

.c-safety-card:where(.is-reverse) {
  flex-direction: row-reverse;
}

@media (max-width: 640px) {
  .c-safety-card {
    gap: var(--spacing-24);
    flex-direction: column;
  }
}

.c-safety-card__image {
  inline-size: 50%;
}

.c-safety-card__image img {
  inline-size: 100%;
  display: block;
}

@media (max-width: 640px) {
  .c-safety-card__image {
    inline-size: 100%;
  }
}

.c-safety-card__body {
  flex: 1;
}

.c-safety-card__title {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: 2;
}

.c-safety-card__description {
  margin-block-start: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 16), var(--spacing-16));
}

.c-safety-card__text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  line-height: 2;
}

.c-safety-card__text:not(:first-child) {
  margin-block-start: 1em;
}

.s-about-business__sections {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  margin-inline: auto;
  display: grid;
}

.s-about-business__section-text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: var(--spacing-24);
  line-height: 2;
}

.s-about-business__items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1px;
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  margin-block-end: 0;
  margin-inline: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (max-width: 640px) {
  .s-about-business__items {
    grid-template-columns: minmax(0, 1fr);
  }
}

.c-infrastructure-box .c-infrastructure-box__image img {
  inline-size: 100%;
  display: block;
}

.c-infrastructure-box .c-infrastructure-box__body {
  padding-block: var(--spacing-24);
  padding-inline: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
}

.c-infrastructure-box .c-infrastructure-box__title {
  font-size: clamp(var(--font-size-l), calc(var(--font-size-l)  + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: 2;
}

.c-infrastructure-box .c-infrastructure-box__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(var(--spacing-12), calc(var(--spacing-12)  + var(--fluid-slope) * 12), var(--spacing-24));
  line-height: 2;
}

.s-about-business__steps {
  flex-wrap: wrap;
  justify-content: center;
  gap: 53px;
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 32), 80px);
  margin-block-end: 0;
  margin-inline: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

@media (max-width: 1024px) {
  .s-about-business__steps {
    gap: 5.3vw;
  }
}

@media (max-width: 640px) {
  .s-about-business__steps {
    flex-direction: column;
    gap: 54px;
  }
}

.s-about-business__step {
  gap: var(--spacing-20);
  flex: 1;
  align-items: flex-start;
  min-inline-size: 0;
  display: flex;
  position: relative;
}

.s-about-business__step:not(:last-child):after {
  content: "";
  aspect-ratio: 12 / 24;
  background: url("../../assets/images/recruit/step-arrow.svg") center / contain no-repeat;
  flex-shrink: 0;
  block-size: 24px;
  inline-size: 12px;
  margin-block-start: 88px;
  position: absolute;
  inset-block: 0;
  inset-inline-start: calc(100% + 24px);
}

@media (max-width: 1024px) {
  .s-about-business__step:not(:last-child):after {
    block-size: 2.4vw;
    inline-size: 1.2vw;
    margin-block-start: 8.8vw;
    inset-inline-start: calc(100% + 2.4vw);
  }
}

@media (max-width: 640px) {
  .s-about-business__step:not(:last-child):after {
    block-size: 24px;
    inline-size: 12px;
    margin-block-start: 0;
    margin-inline-start: 62px;
    inset-block-start: calc(100% + 18px);
    inset-inline-start: 0;
    transform: rotate(90deg);
  }
}

.s-about-business__slider {
  margin-block-start: clamp(80px, calc(80px + var(--fluid-slope) * 80), 160px);
  overflow: hidden;
}

.s-about-business__slider-items {
  --infinity-slide-duration: 32s;
}

@media (max-width: 768px) {
  .s-about-business__slider-items {
    --infinity-slide-duration: 40s;
  }
}

.s-about-business__slider-items {
  inline-size: max-content;
  animation: scroll-loop var(--infinity-slide-duration) linear infinite;
  gap: 36px;
  display: flex;
}

.s-about-business__slider-item {
  flex-shrink: 0;
  flex-basis: 320px;
}

@media (max-width: 640px) {
  .s-about-business__slider-item {
    flex-basis: 200px;
  }
}

.s-message-lead {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  overflow: hidden;
}

.s-message-lead__container {
  z-index: 2;
  position: relative;
}

.s-message-lead__lead {
  text-align: center;
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 20), var(--font-size-4xl));
  font-weight: 700;
  line-height: 1.8;
}

.s-message-lead__description {
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 2), 18px);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  line-height: 2;
}

.s-message-lead__card1 {
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
}

.c-message-lead-card {
  column-gap: var(--spacing-48);
  grid-template-columns: 37.6563% minmax(0, 1fr);
  grid-template-areas: "image content";
  display: grid;
}

.c-message-lead-card:where(.is-reverse) {
  grid-template-columns: minmax(0, 1fr) 37.6563%;
  grid-template-areas: "content image";
}

.c-message-lead-card:where(.is-no-image) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "content";
}

@media (max-width: 768px) {
  .c-message-lead-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image"
                         "content";
  }
}

.c-message-lead-card__image {
  grid-area: image;
}

.c-message-lead-card__content {
  padding-block: var(--spacing-24);
  grid-area: content;
  align-items: center;
  display: grid;
}

.c-message-lead-card:where(.is-no-image) .c-message-lead-card__content {
  padding-block: 0;
}

.c-message-lead-card__title {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 12), var(--font-size-4xl));
  font-weight: 700;
  line-height: normal;
}

.c-message-lead-card__text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(16px, calc(16px + var(--fluid-slope) * 16), var(--spacing-32));
  line-height: 2;
}

.s-message-lead__image {
  z-index: 0;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  position: relative;
}

.s-message-lead__image:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: 142px;
  inset-inline-end: 93.2813%;
}

.s-message-lead__card2, .s-message-lead__card3 {
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
}

.s-message-movie {
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-message-movie__container {
  z-index: 0;
  position: relative;
}

.s-message-movie__container:before {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% + 44px);
  inset-inline-start: 87.5%;
}

.s-message-movie__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  text-align: center;
  font-weight: 700;
  line-height: 1.57;
}

.s-message-movie__video {
  aspect-ratio: 960 / 480;
  inline-size: 75%;
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 16), var(--spacing-48));
  margin-inline: auto;
}

.s-message-movie__video iframe {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

@media (max-width: 768px) {
  .s-message-movie__video {
    inline-size: 100%;
  }
}

.s-message-movie__iframe {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

.s-interview-works {
  overflow: hidden;
}

.s-interview-about {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-interview-works__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-interview-works__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-interview-works__content {
  grid-template-columns: 43.75% minmax(0, 1fr);
  gap: 80px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  display: grid;
}

@media (max-width: 768px) {
  .s-interview-works__content {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }
}

.s-interview-works__images {
  padding-block-end: 100px;
  position: relative;
}

.s-interview-works__image1 {
  z-index: 0;
  inline-size: 57.1429%;
  position: relative;
}

.s-interview-works__image1 img {
  display: block;
}

.s-interview-works__image1:before {
  content: "";
  aspect-ratio: 166 / 202;
  clip-path: polygon(50% 0%, 100% 0%, 50% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 51.875%;
  display: block;
  position: absolute;
  inset-block-end: -66px;
  inset-inline-start: 76.875%;
}

.s-interview-works__image2 {
  inline-size: 32.1429%;
  position: absolute;
  inset-block-end: 0;
  inset-inline-end: 0;
}

.s-interview-works__image2 img {
  display: block;
}

.s-interview-works__about-description {
  margin-block-start: var(--spacing-16);
}

.s-interview-works__about-text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  line-height: 2;
}

.s-interview-works__about-text:not(:first-child) {
  margin-block-start: 1em;
}

.s-interview-works__slides {
  gap: clamp(20px, calc(20px + var(--fluid-slope) * 16), 36px);
  inline-size: max-content;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  animation: 20s linear infinite infinity-scroll;
  display: flex;
}

.s-interview-works__slide {
  aspect-ratio: 320 / 220;
  inline-size: 320px;
}

.s-interview-works__slide img {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
  display: block;
}

@media (max-width: 768px) {
  .s-interview-works__slide {
    inline-size: 200px;
  }
}

.s-interview-content {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-interview-content__container {
  z-index: 0;
  position: relative;
}

.s-interview-content__container:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% + 85px);
  inset-inline-end: 93.2813%;
}

.s-interview-content__sections {
  max-inline-size: 960px;
  margin-inline: auto;
}

.s-interview-content__section:not(:first-child) {
  border-block-start: 1px solid var(--color-neutral-medium);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-interview-content__section.is-enjoy-section {
  z-index: 0;
  position: relative;
}

.s-interview-content__section.is-enjoy-section:before {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(34% 0%, 100% 0%, 66% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% - 182px);
  inset-inline-start: 100%;
}

.s-interview-content__section.is-qa-section {
  z-index: 0;
  position: relative;
}

.s-interview-content__section.is-qa-section:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: -26px;
  inset-inline-end: calc(100% + 72px);
}

.s-interview-content__section.is-flow-section {
  z-index: 0;
  position: relative;
}

.s-interview-content__section.is-flow-section:before {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(34% 0%, 100% 0%, 66% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: 272px;
  inset-inline-start: 100%;
}

.s-interview-content__section.is-story-section {
  z-index: 0;
  position: relative;
}

.s-interview-content__section.is-story-section:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: 126px;
  inset-inline-end: calc(100% + 72px);
}

.s-interview-content__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: var(--spacing-24);
  line-height: 2;
}

.s-interview-content__note {
  gap: var(--spacing-8);
  color: #797979;
  font-size: var(--font-size-s);
  margin-block-start: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  font-weight: 400;
  line-height: 1.71;
  display: flex;
}

.s-interview-content__note:before {
  content: "※";
}

.s-interview-content__tab-note {
  gap: var(--spacing-8);
  color: #797979;
  font-size: var(--font-size-s);
  margin-block-start: var(--spacing-24);
  font-weight: 400;
  line-height: 1.71;
  display: flex;
}

.s-interview-content__tab-note:before {
  content: "※";
}

.s-interview-content__body {
  margin-block-start: var(--spacing-48);
}

.s-interview-voice {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-interview-voice__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-interview-voice__head .is-strong {
  color: var(--color-primary);
  font-weight: 700;
}

.s-interview-voice__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-interview-voice__items {
  max-inline-size: 960px;
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  margin-inline: auto;
  display: grid;
}

.c-interview-card {
  align-items: center;
  gap: clamp(24px, calc(24px + var(--fluid-slope) * 56), 80px);
  grid-template-columns: minmax(0, 1fr) 52.0833%;
  grid-template-areas: "body image";
  display: grid;
}

.c-interview-card:where(.is-reverse) {
  grid-template-columns: 52.0833% minmax(0, 1fr);
  grid-template-areas: "image body";
}

@media (max-width: 640px) {
  .c-interview-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image"
                         "body";
  }
}

.c-interview-card__body {
  grid-area: body;
}

.c-interview-card__meta {
  align-items: center;
  gap: var(--spacing-16);
  display: flex;
}

.c-interview-card__name {
  font-size: clamp(20px, calc(20px + var(--fluid-slope) * 4), var(--font-size-xl));
  font-weight: 700;
  line-height: normal;
}

.c-interview-card__join {
  padding-block: clamp(4px, calc(4px + var(--fluid-slope) * 4), var(--spacing-8));
  padding-inline: clamp(var(--spacing-8), calc(var(--spacing-8)  + var(--fluid-slope) * 8), var(--spacing-16));
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  font-size: clamp(12px, calc(12px + var(--fluid-slope) * 2), var(--font-size-s));
  justify-content: center;
  align-items: center;
  font-weight: 700;
  line-height: 1.14;
  display: inline-flex;
}

.c-interview-card__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-24);
  line-height: 2;
}

.c-interview-card__button {
  inline-size: 366px;
  max-inline-size: 100%;
  margin-block-start: var(--spacing-24);
  display: grid;
}

.c-interview-card__image {
  z-index: 0;
  grid-area: image;
  max-inline-size: 500px;
  position: relative;
}

.c-interview-card__image:before {
  content: "";
  background: var(--gradient-primary);
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  z-index: -1;
  block-size: calc(100% - 80px);
  inline-size: 100%;
  display: block;
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
}

.c-interview-card__image img {
  max-inline-size: 100%;
  display: block;
  inset-block-end: 0;
  inset-inline: 0;
}

.s-interview-content__works {
  gap: var(--spacing-64);
  display: grid;
}

.s-interview-content__enjoys {
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  display: grid;
}

@media (max-width: 640px) {
  .s-interview-content__enjoys {
    gap: var(--spacing-24);
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-interview-content__qa-items {
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-base-body);
  position: relative;
}

.s-interview-content__qa-item {
  overflow: hidden;
}

.s-interview-content__qa-item ~ .s-interview-content__qa-item {
  border-block-start: 1px solid var(--color-neutral-medium);
}

.s-interview-content__qa-item:nth-child(1 of .s-interview-content__qa-item) {
  border-radius: var(--border-radius-8) var(--border-radius-8) 0 0;
}

.s-interview-content__qa-item:nth-last-child(1 of .s-interview-content__qa-item) {
  border-radius: 0 0 var(--border-radius-8) var(--border-radius-8);
}

.s-interview-content__stories {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 56), 128px);
  display: grid;
}

.s-interview-content__tabs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.s-interview-content__tab {
  padding: var(--spacing-16) var(--spacing-24);
  appearance: none;
  box-shadow: none;
  color: var(--color-base-body);
  font-size: var(--font-size-m);
  text-align: center;
  pointer-events: none;
  background: #6ebf77;
  border: none;
  font-weight: 700;
  line-height: 1.5;
  display: block;
}

.s-interview-content__tab:nth-child(2n) {
  background: #35a546;
}

@media (max-width: 640px) {
  .s-interview-content__tab {
    pointer-events: auto;
    position: relative;
  }

  .s-interview-content__tab:after {
    content: "";
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #6ebf77;
    block-size: 10px;
    inline-size: 20px;
    margin-inline: auto;
    display: none;
    position: absolute;
    inset-block-start: calc(100% - 1px);
    inset-inline: 0;
  }

  .s-interview-content__tab:nth-child(2n):after {
    background: #35a546;
  }

  .s-interview-content__tab.is-active:after {
    display: block;
  }
}

.s-interview-content__flow {
  margin-block-start: 50px;
}

.s-interview-content__flow-note {
  padding: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 8), var(--spacing-32));
  background: var(--color-base-body);
  text-align: center;
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), var(--font-size-m));
  margin-block-start: var(--spacing-48);
  line-height: 2;
}

@media (max-width: 640px) {
  .s-interview-content__flow-note {
    text-align: left;
  }
}

.p-recruit-grow {
  overflow: hidden;
}

.s-grow-training {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-grow-training__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-grow-training__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 2), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-grow-training__image {
  max-inline-size: 960px;
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  margin-inline: auto;
}

.s-grow-training__image img {
  display: block;
}

.s-grow-training__sections {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  margin-inline: auto;
  display: grid;
}

.s-grow-training__system {
  z-index: 0;
  position: relative;
}

.s-grow-training__system:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: 106px;
  inset-inline-end: calc(100% + 74px);
}

.s-grow-training__person {
  z-index: 0;
  position: relative;
}

.s-grow-training__person:before {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(34% 0%, 100% 0%, 66% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: -64px;
  inset-inline-start: 100%;
}

.s-grow-system__image {
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-grow-system__image img {
  display: block;
}

.s-grow-person__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-24);
  line-height: 2;
}

.s-grow-person__image {
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-grow-person__image img {
  display: block;
}

.s-grow-training__cards {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  margin-inline: auto;
  display: grid;
}

@media (max-width: 768px) {
  .s-grow-training__cards {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-grow-training__card:last-child {
  z-index: 0;
  position: relative;
}

.s-grow-training__card:last-child:before {
  content: "";
  aspect-ratio: 545 / 664;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 42.5781%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% - 32px);
  inset-inline-start: calc(100% - 32px);
}

.c-grow-asset-card {
  grid-template-columns: minmax(0, 1fr) 50%;
  grid-template-areas: "body image";
  align-items: center;
  gap: 48px;
  display: grid;
}

.c-grow-asset-card:where(.is-reverse) {
  grid-template-columns: 50% minmax(0, 1fr);
  grid-template-areas: "image body";
}

@media (max-width: 768px) {
  .c-grow-asset-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "image"
                         "body";
    gap: 24px;
  }
}

.c-grow-asset-card__image {
  grid-area: image;
  max-inline-size: 480px;
}

.c-grow-asset-card__image img {
  display: block;
}

.c-grow-asset-card__body {
  grid-area: body;
}

.c-grow-asset-card__description {
  font-size: clamp(16px, calc(16px + var(--fluid-slope) * 2), 18px);
  line-height: 2;
}

.c-grow-asset-card__text:not(:first-child) {
  margin-block-start: 1em;
}

.s-grow-training__resilience {
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
}

.s-grow-training__resilience img {
  display: block;
}

.s-grow-hr__box {
  margin-block-start: var(--spacing-48);
}

.s-grow-program__boxes {
  gap: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  padding: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 8), var(--spacing-32));
  background: #f6f6f6;
  grid-template-columns: repeat(2, 1fr);
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  display: grid;
}

@media (max-width: 640px) {
  .s-grow-program__boxes {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-grow-program__note {
  justify-content: center;
  align-items: center;
  gap: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 8), var(--spacing-24));
  padding: var(--spacing-16);
  background: #35a546;
  flex-wrap: wrap;
  display: flex;
}

@media (max-width: 640px) {
  .s-grow-program__note {
    flex-direction: column;
    align-items: flex-start;
  }
}

.s-grow-program__tag {
  padding-block: var(--spacing-8);
  padding-inline: var(--spacing-16);
  background: var(--color-base-body);
  color: #1a712a;
  font-size: clamp(var(--font-size-s), calc(var(--font-size-s)  + var(--fluid-slope) * 2), var(--font-size-m));
  font-weight: 700;
  line-height: 1.5;
}

.s-grow-program__text {
  font-size: clamp(var(--font-size-m), calc(var(--font-size-m)  + var(--fluid-slope) * 4), var(--font-size-l));
  color: var(--color-base-body);
  font-weight: 700;
  line-height: 1.6;
}

.s-grow-program__sections {
  gap: 80px;
  margin-block-start: 80px;
  display: grid;
}

.s-grow-program__section.is-certifications {
  z-index: 0;
  position: relative;
}

.s-grow-program__section.is-certifications:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% - 32px);
  inset-inline-end: calc(100% + 72px);
}

.s-grow-program__sub-title {
  border-bottom: 1px solid var(--color-neutral-medium);
  font-size: clamp(var(--font-size-l), calc(var(--font-size-l)  + var(--fluid-slope) * 4), var(--font-size-xl));
  padding-block-end: 1em;
  font-weight: 700;
  line-height: 1.33;
  position: relative;
}

.s-grow-program__sub-title:before {
  content: "";
  background: var(--color-primary);
  z-index: 2;
  block-size: 1px;
  inline-size: 33.3333%;
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
}

.s-grow-program__body {
  margin-block-start: var(--spacing-48);
}

.s-grow-program__roadmap {
  grid-template-columns: repeat(3, 1fr);
  display: grid;
}

@media (max-width: 640px) {
  .s-grow-program__roadmap {
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-grow-career {
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-grow-career__container {
  z-index: 0;
  position: relative;
}

.s-grow-career__container:after {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(34% 0%, 100% 0%, 66% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% + 82px);
  inset-inline-start: 87.5%;
}

.s-grow-career__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-grow-career__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-grow-career__sections {
  max-inline-size: 960px;
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  margin-inline: auto;
  display: grid;
}

.s-grow-career__section.is-career-model {
  z-index: 0;
  position: relative;
}

.s-grow-career__section.is-career-model:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: 192px;
  inset-inline-end: calc(100% + 72px);
}

.s-grow-career__body {
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-grow-career__image img {
  display: block;
}

.s-grow-benefit {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-grow-benefit__container {
  z-index: 0;
  position: relative;
}

.s-grow-benefit__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-grow-benefit__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-grow-benefit__sections {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  margin-inline: auto;
  display: grid;
}

.s-grow-benefit__section-text {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-24);
  line-height: 2;
}

.s-grow-benefit__box:first-child {
  z-index: 0;
  position: relative;
}

.s-grow-benefit__table {
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-grow-benefit__table th:first-child {
  inline-size: 160px;
}

@media (max-width: 640px) {
  .s-grow-benefit__table th:first-child {
    inline-size: 100px;
  }
}

.s-grow-benefit__table ul {
  margin-block: 0;
}

.s-grow-asset {
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-grow-asset__container {
  z-index: 0;
  position: relative;
}

.s-grow-asset__container:before {
  content: "";
  aspect-ratio: 545 / 664;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 42.5781%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% + 80px);
  inset-inline-start: 87.5%;
}

.s-grow-asset__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-grow-asset__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-grow-asset__sections {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  margin-inline: auto;
  display: grid;
}

.s-grow-asset__box {
  z-index: 0;
  display: grid;
  position: relative;
}

.s-grow-asset__box:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-start: 300px;
  inset-inline-end: calc(100% + 74px);
}

.s-grow-asset__card, .s-grow-asset__lists {
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-grow-asset__steps {
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
  margin-block-start: var(--spacing-48);
  margin-block-end: 0;
  margin-inline: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

@media (max-width: 1024px) {
  .s-grow-asset__steps {
    gap: 6vw;
  }
}

@media (max-width: 640px) {
  .s-grow-asset__steps {
    gap: 50px;
  }
}

.s-grow-asset__step {
  gap: var(--spacing-20);
  flex-shrink: 0;
  flex-basis: 24%;
  justify-content: center;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.s-grow-asset__step:not(:last-child):after {
  content: "";
  aspect-ratio: 12 / 24;
  background: url("../../assets/images/recruit/step-arrow.svg") center / contain no-repeat;
  flex-shrink: 0;
  block-size: 24px;
  inline-size: 12px;
  margin-block-start: 88px;
  position: absolute;
  inset-block: 0;
  inset-inline-start: calc(100% + 24px);
}

@media (max-width: 1024px) {
  .s-grow-asset__step:not(:last-child):after {
    block-size: 2.4vw;
    inline-size: 1.2vw;
    margin-block-start: 8.8vw;
    inset-inline-start: calc(100% + 2.4vw);
  }
}

@media (max-width: 640px) {
  .s-grow-asset__step {
    flex-direction: column;
    flex-basis: 100%;
  }

  .s-grow-asset__step:not(:last-child):after {
    block-size: 24px;
    inline-size: 12px;
    margin-block-start: 0;
    inset-block-start: calc(100% + 14px);
    inset-inline-start: 62px;
    transform: rotate(90deg);
  }
}

.s-grow-asset__content {
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  display: grid;
}

.s-grow-asset__sub-head {
  border-bottom: 1px solid var(--color-neutral-medium);
  font-size: var(--font-size-xl);
  margin-block-start: 80px;
  padding-block-end: var(--spacing-24);
  font-weight: 700;
  line-height: 1.33;
  position: relative;
}

.s-grow-asset__sub-head:before {
  content: "";
  background: var(--color-primary);
  z-index: 2;
  block-size: 1px;
  inline-size: 33.3333%;
  position: absolute;
  inset-block-start: 100%;
  inset-inline-start: 0;
}

.s-grow-asset__text {
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-information-job {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  background: var(--color-base-body);
  overflow: hidden;
}

.s-information-job__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-information-job__body {
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-information-job__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-16);
  line-height: 2;
}

@keyframes rowSlideDown {
  from {
    opacity: 0;
    transform: translateY(-12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.s-information-job__content {
  margin-block-start: var(--spacing-24);
}

.s-information-job__content p {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  line-height: 2;
}

.s-information-job__content tr.is-show {
  animation: .35s both rowSlideDown;
}

.s-information-job__button {
  inline-size: 366px;
  margin-block-start: var(--spacing-48);
  margin-inline: auto;
  display: grid;
}

@media (max-width: 640px) {
  .s-information-job__button {
    inline-size: 100%;
  }
}

.s-information-job__sections {
  gap: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  max-inline-size: 960px;
  margin-inline: auto;
  display: grid;
}

.s-information-process__container {
  z-index: 0;
  position: relative;
}

.s-information-process__container:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% + 44px);
  inset-inline-end: 93.2813%;
}

.s-information-process__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-24);
  line-height: 2;
}

.s-information-process__content {
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
}

.s-information-process__steps {
  justify-content: center;
  gap: var(--spacing-12);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

@media (max-width: 640px) {
  .s-information-process__steps {
    flex-direction: column;
  }
}

.s-information-process__step {
  align-items: flex-start;
  gap: var(--spacing-12);
  flex: 1;
  display: flex;
}

.s-information-process__step:not(:last-child):after {
  content: "";
  aspect-ratio: 12 / 24;
  background: url("../../assets/images/recruit/icon-step-arrow.svg") center / contain no-repeat;
  flex-shrink: 0;
  inline-size: 12px;
  margin-block-start: 50px;
  display: block;
}

@media (max-width: 1024px) {
  .s-information-process__step {
    flex-grow: 0;
  }
}

@media (max-width: 640px) {
  .s-information-process__step {
    flex-direction: column;
  }

  .s-information-process__step:not(:last-child):after {
    margin-block-start: 0;
    margin-inline-start: 44px;
    transform: rotate(90deg);
  }
}

.s-information-process__break {
  display: none;
}

@media (max-width: 1024px) {
  .s-information-process__break {
    flex-basis: 100%;
    display: block;
  }
}

@media (max-width: 640px) {
  .c-step-card {
    align-items: center;
    gap: var(--spacing-20);
    display: flex;
  }
}

.c-step-card__head {
  aspect-ratio: 1;
  inline-size: 128px;
  padding: var(--spacing-8);
  border-radius: var(--border-radius-full);
  background: var(--gradient-primary);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

@media (max-width: 640px) {
  .c-step-card__head {
    flex-shrink: 0;
    inline-size: 100px;
  }
}

.c-step-card__number {
  color: var(--color-base-body);
  text-align: center;
  font-family: var(--font-family-en);
  font-size: var(--font-size-s);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1.5;
}

.c-step-card__number .is-number {
  font-size: var(--font-size-m);
  line-height: 1.1;
}

.c-step-card__icon {
  inline-size: 64px;
}

@media (max-width: 640px) {
  .c-step-card__icon {
    inline-size: 40px;
  }
}

.c-step-card__body {
  margin-block-start: var(--spacing-16);
}

.c-step-card__title {
  font-size: var(--font-size-l);
  text-align: center;
  font-weight: 700;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .c-step-card__title {
    text-align: left;
  }
}

.c-step-card__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  text-align: center;
  margin-block-start: var(--spacing-4);
  font-weight: 500;
  line-height: 1.5;
}

@media (max-width: 640px) {
  .c-step-card__description {
    text-align: left;
  }
}

.s-information-process__range {
  inline-size: 623px;
  max-inline-size: 100%;
  justify-content: space-between;
  align-items: center;
  margin-block-start: var(--spacing-16);
  margin-inline-start: auto;
  display: flex;
}

.s-information-process__range:before {
  content: "";
  aspect-ratio: 29 / 56;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  background: #bee2c1;
  flex-shrink: 0;
  inline-size: 29px;
  display: block;
}

@media (max-width: 640px) {
  .s-information-process__range:before {
    aspect-ratio: 56 / 29;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    inline-size: 56px;
  }
}

.s-information-process__range:after {
  content: "";
  aspect-ratio: 29 / 56;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  background: #bee2c1;
  flex-shrink: 0;
  inline-size: 29px;
  display: block;
}

@media (max-width: 640px) {
  .s-information-process__range:after {
    aspect-ratio: 56 / 29;
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    inline-size: 56px;
  }
}

@media (max-width: 1024px) {
  .s-information-process__range {
    margin-inline: auto;
  }
}

@media (max-width: 640px) {
  .s-information-process__range {
    flex-direction: column;
    block-size: 560px;
    inline-size: auto;
    margin-block-start: 0;
    margin-inline: 0;
  }
}

@media (max-width: 640px) {
  .s-information-process__steps-wrap {
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--spacing-8);
    flex-direction: row;
    display: flex;
  }
}

.s-information-process__range-text {
  font-family: var(--font-family-en);
  font-size: var(--font-size-m);
  text-align: center;
  background: #bee2c1;
  flex: 1;
  padding-block: 5px;
  font-weight: 700;
  line-height: 1.5;
}

@media (max-width: 640px) {
  .s-information-process__range-text {
    writing-mode: vertical-rl;
  }
}

.s-information-process__box {
  margin-block-start: var(--spacing-48);
}

.s-information-process__box-head {
  font-family: var(--font-family-en);
  font-size: var(--font-size-l);
  font-weight: 700;
  line-height: 1.2;
}

.s-information-process__box-description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-16);
  font-weight: 500;
  line-height: 1.5;
}

.s-information-company {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
}

.s-information-company__container {
  z-index: 0;
  position: relative;
}

.s-information-company__head {
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 24), var(--font-size-6xl));
  font-weight: 700;
  line-height: 1.57;
}

.s-information-company__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-information-company__content {
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 56), 120px);
  margin-inline: auto;
  overflow-x: auto;
}

.s-information-company__table {
  inline-size: 960px;
  max-inline-size: 100%;
}

@media (max-width: 640px) {
  .s-information-company__table {
    table-layout: fixed;
    inline-size: 100%;
  }
}

.s-information-company__table > tbody > tr > th:first-child {
  inline-size: 160px;
}

@media (max-width: 640px) {
  .s-information-company__table > tbody > tr > th:first-child {
    inline-size: 100px;
  }
}

.s-information-company__table td:has(.s-information-company__sub-table) {
  padding: 0;
  overflow-x: auto;
}

@media (max-width: 640px) {
  .s-information-company__table td:has(.s-information-company__sub-table) {
    -webkit-overflow-scrolling: touch;
    min-inline-size: 0;
  }
}

.s-information-company__sub-table {
  inline-size: 800px;
}

.s-information-company__sub-table col:first-child {
  inline-size: 230px;
}

.s-information-company__sub-table col:nth-child(2) {
  inline-size: 160px;
}

.s-information-company__sub-table th {
  border-block-color: var(--color-neutral-medium);
  font-weight: 400;
}

.s-information-company__sub-table tr:first-child th, .s-information-company__sub-table tr:first-child td {
  border-block-start: none;
}

.s-information-company__sub-table tr:last-child th, .s-information-company__sub-table tr:last-child td {
  border-block-end: none;
}

@media (max-width: 640px) {
  .s-information-company__sub-table {
    inline-size: 680px;
  }

  .s-information-company__sub-table col:first-child {
    inline-size: 150px;
  }

  .s-information-company__sub-table col:nth-child(2) {
    inline-size: 120px;
  }
}

.s-information-company__other {
  justify-content: space-between;
  align-items: center;
  gap: var(--spacing-16);
  display: flex;
}

@media (max-width: 640px) {
  .s-information-company__other {
    flex-direction: column;
  }
}

.s-information-company__bg1 {
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  position: absolute;
  inset-block-start: 1190px;
  inset-inline-end: 93.2813%;
}

.s-information-company__bg3 {
  aspect-ratio: 396 / 320;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  position: absolute;
  inset-block-end: calc(100% - 2px);
  inset-inline-start: 87.5%;
}

.s-information-company__bg4 {
  aspect-ratio: 396 / 320;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  position: absolute;
  inset-block-end: 834px;
  inset-inline-start: 87.5%;
}

.s-information-qa {
  padding-block: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  background: var(--color-base-body);
}

.s-information-qa__container {
  z-index: 0;
  position: relative;
}

.s-information-qa__container:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: calc(100% - 52px);
  inset-inline-end: 87.5%;
}

.s-information-qa__head {
  text-align: center;
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 16), var(--font-size-5xl));
  font-weight: 700;
  line-height: normal;
}

.s-information-qa__head .is-strong {
  color: var(--color-primary);
  font-weight: 700;
}

.s-information-qa__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  text-align: center;
  margin-block-start: clamp(24px, calc(24px + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-information-qa__items {
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-base-body);
  position: relative;
  overflow: hidden;
}

.s-information-qa__item:not(:first-child) {
  border-block-start: 1px solid var(--color-neutral-medium);
}

.s-information-qa__button {
  inline-size: 366px;
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 80), 128px);
  margin-inline: auto;
  display: grid;
}

@media (max-width: 768px) {
  .s-information-qa__button {
    inline-size: max-content;
  }
}

.s-information-contact {
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-information-contact__container {
  z-index: 0;
  position: relative;
}

.s-information-contact__container:before {
  content: "";
  aspect-ratio: 396 / 320;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 30.9375%;
  display: block;
  position: absolute;
  inset-block-end: 100%;
  inset-inline-start: 87.5%;
}

.s-information-contact__head {
  text-align: center;
  font-size: clamp(32px, calc(32px + var(--fluid-slope) * 8), 40px);
  font-weight: 700;
  line-height: normal;
}

.s-information-contact__head .is-strong {
  color: var(--color-primary);
  font-weight: 700;
}

.s-information-contact__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  text-align: center;
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  line-height: 2;
}

.s-information-contact__links {
  gap: var(--spacing-40);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block-start: clamp(48px, calc(48px + var(--fluid-slope) * 80), 128px);
  display: grid;
}

@media (max-width: 768px) {
  .s-information-contact__links {
    gap: var(--spacing-24);
    grid-template-columns: minmax(0, 1fr);
  }
}

.s-information-company__links {
  line-height: 2;
}

.c-link-link {
  color: var(--color-primary);
  font-size: var(--font-size-m);
  justify-content: center;
  align-items: center;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  transition: -webkit-text-decoration .3s, text-decoration .3s;
  display: inline-flex;
}

.c-link-link:before {
  content: "";
  aspect-ratio: 1;
  background: url("../../assets/images/recruit/icon-page-link-arrow.svg") center / contain no-repeat;
  flex-shrink: 0;
  inline-size: 24px;
  display: block;
}

@media (any-hover: hover) {
  .c-link-link:hover {
    text-decoration: underline;
  }
}

.s-information-qa__links {
  padding-block: var(--spacing-16);
  padding-inline: var(--spacing-24);
  justify-content: center;
  align-items: center;
  column-gap: clamp(var(--spacing-16), calc(var(--spacing-16)  + var(--fluid-slope) * 16), var(--spacing-32));
  row-gap: var(--spacing-16);
  background: #f6f6f6;
  flex-wrap: wrap;
  margin-block-start: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  margin-block-end: 0;
  margin-inline: 0;
  list-style: none;
  display: flex;
}

@media (max-width: 640px) {
  .s-information-qa__links {
    padding: var(--spacing-8);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: start;
    gap: 0;
    display: grid;
  }
}

@media (max-width: 640px) {
  .s-information-qa__link {
    padding: var(--spacing-8) var(--spacing-8);
  }
}

.s-information-qa__sections {
  gap: clamp(48px, calc(48px + var(--fluid-slope) * 80), 128px);
  max-inline-size: 960px;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  margin-inline: auto;
  display: grid;
}

.s-information-qa__section {
  gap: clamp(var(--spacing-24), calc(var(--spacing-24)  + var(--fluid-slope) * 24), var(--spacing-48));
  display: grid;
}

.s-event-info {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
  overflow: hidden;
}

.s-event-info__container {
  z-index: 2;
  position: relative;
}

.s-event-info__description {
  margin-block-start: var(--spacing-16);
}

.s-event-info__content {
  margin-block-start: var(--spacing-48);
}

.s-event-info__table {
  margin-block-start: var(--spacing-48);
}

.s-event-info__table th:first-child {
  inline-size: clamp(100px, calc(100px + var(--fluid-slope) * 60), 160px);
}

.s-event-info__logos {
  gap: var(--spacing-16);
  flex-wrap: wrap;
  display: flex;
}

.s-event-info__logos img {
  block-size: 50px;
  inline-size: auto;
  display: block;
}

.s-event-info__iframe {
  aspect-ratio: 960 / 630;
  inline-size: 100%;
  margin-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
  display: block;
}

.s-event-info__iframe iframe {
  object-fit: cover;
  block-size: 100%;
  inline-size: 100%;
}

.p-recruit-entry {
  overflow: hidden;
}

.s-entry-form {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.s-entry-form__container {
  z-index: 2;
  position: relative;
}

.s-entry-form__container:before {
  content: "";
  aspect-ratio: 240 / 194;
  clip-path: polygon(47% 0%, 100% 0%, 53% 100%, 0% 100%);
  background: var(--gradient-base-primary);
  z-index: -1;
  inline-size: 18.75%;
  display: block;
  position: absolute;
  inset-block-end: 21.5%;
  inset-inline-end: 93.2813%;
}

.s-entry-form__description {
  font-size: clamp(14px, calc(14px + var(--fluid-slope) * 14), 16px);
  margin-block-start: var(--spacing-16);
  line-height: 2;
}

.s-entry-form__content {
  margin-block-start: var(--spacing-16);
}

.c-contact__items {
  gap: var(--spacing-24);
  display: grid;
}

.c-contact__item {
  gap: var(--spacing-16);
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: start;
  display: grid;
}

@media (max-width: 768px) {
  .c-contact__item {
    gap: var(--spacing-8);
    grid-template-columns: minmax(0, 1fr);
  }
}

.c-contact__label {
  align-items: center;
  gap: var(--spacing-8);
  justify-content: space-between;
  padding-block-start: var(--spacing-16);
  font-weight: 700;
  line-height: 1.75;
  display: flex;
}

.c-contact__label.is-required:after {
  content: "必須";
  padding: 0 var(--spacing-8);
  border-radius: var(--border-radius-4);
  background: var(--color-accent);
  color: var(--color-base-body);
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 2;
  display: flex;
}

@media (max-width: 768px) {
  .c-contact__label {
    justify-content: flex-start;
    padding-block-start: 0;
  }
}

.c-contact__control {
  gap: var(--spacing-16);
  display: grid;
}

.c-contact__control .wpcf7-not-valid-tip {
  color: var(--color-accent);
  margin-block-start: var(--spacing-8);
  font-weight: 500;
}

.c-contact__control:has(.wpcf7-not-valid-tip) [type="text"] {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) [type="email"] {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) [type="tel"] {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) [type="url"] {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) [type="number"] {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) [type="date"] {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) select {
  border-color: var(--color-accent);
}

.c-contact__control:has(.wpcf7-not-valid-tip) textarea {
  border-color: var(--color-accent);
}

.c-contact__zip {
  gap: var(--spacing-16);
  align-items: center;
  display: flex;
}

.c-contact__address-search {
  padding-block: clamp(8px, calc(8px + var(--fluid-slope) * 8), 16px);
  padding-inline: clamp(16px, calc(16px + var(--fluid-slope) * 16), 24px);
  justify-content: center;
  align-items: center;
  gap: var(--spacing-4);
  border-radius: var(--border-radius-8);
  border: 1px solid var(--color-neutral-medium);
  background: var(--color-neutral-soft);
  font-size: var(--font-size-m);
  cursor: pointer;
  flex-shrink: 0;
  align-self: stretch;
  font-weight: 700;
  line-height: normal;
  transition: background-color .3s, border-color .3s;
  display: flex;
}

@media (any-hover: hover) {
  .c-contact__address-search:hover {
    background-color: var(--color-base-primary);
    border-color: var(--color-primary);
  }
}

.c-contact__check {
  text-align: center;
  margin-block-start: var(--spacing-48);
  font-weight: 500;
}

.c-contact__check a {
  color: var(--color-primary);
  text-decoration: none;
}

.c-contact__check a[target="_blank"] {
  align-items: center;
  gap: var(--spacing-4);
  margin-inline-end: var(--spacing-4);
  display: inline-flex;
}

.c-contact__check a[target="_blank"]:after {
  content: "";
  aspect-ratio: 1;
  background: url("../../assets/images/common/icon-external.svg") center / 100% no-repeat;
  width: 24px;
  display: block;
}

.c-contact__button {
  inline-size: 366px;
  text-align: center;
  margin-block-start: var(--spacing-48);
  margin-inline: auto;
  display: grid;
}

@media (max-width: 640px) {
  .c-contact__button {
    inline-size: 100%;
  }
}

.p-interview-single {
  overflow: hidden;
}

.p-interview-single__body {
  background: var(--color-base-body);
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 96), 160px);
  padding-block-end: clamp(116px, calc(116px + var(--fluid-slope) * 184), 310px);
}

.p-interview-single__content > * + * {
  margin-block-start: var(--spacing-48);
}

.p-interview-single__footer {
  padding-block-start: clamp(64px, calc(64px + var(--fluid-slope) * 64), 128px);
}

.p-interview-single__button {
  inline-size: 366px;
  margin-inline: auto;
  display: grid;
}

@media (max-width: 640px) {
  .p-interview-single__button {
    inline-size: 100%;
  }
}

@media (max-width: 640px) {
  .u-hidden-max-sm {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .u-hidden-max-md {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .u-hidden-max-lg {
    display: none !important;
  }
}

@media (max-width: 1280px) {
  .u-hidden-max-xl {
    display: none !important;
  }
}

@media not (max-width: 640px) {
  .u-hidden-min-sm {
    display: none !important;
  }
}

@media not (max-width: 768px) {
  .u-hidden-min-md {
    display: none !important;
  }
}

@media not (max-width: 1024px) {
  .u-hidden-min-lg {
    display: none !important;
  }
}

@media not (max-width: 1280px) {
  .u-hidden-min-xl {
    display: none !important;
  }
}

.u-hidden-all {
  display: none !important;
}
