@charset "UTF-8";
@keyframes mv_catch_bar {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes mv_catch_bar_vertical {
  from {
    height: 0;
  }
  to {
    height: 100%;
  }
}
@keyframes orbit_rotate {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes support_path_reveal {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes support_step_fadein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes iconArrowSlideNext {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  50% {
    opacity: 0;
    translate: 50% 0;
  }
  51% {
    opacity: 0;
    translate: -50% 0;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes iconArrowSlideUp {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  50% {
    opacity: 0;
    translate: 0 -50%;
  }
  51% {
    opacity: 0;
    translate: 0 50%;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes iconArrowSlideDown {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  50% {
    opacity: 0;
    translate: 0 50%;
  }
  51% {
    opacity: 0;
    translate: 0 -50%;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes yurayura_ellipse {
  from {
    rotate: -6deg;
  }
  to {
    rotate: 6deg;
  }
}
:root {
  --color-font: #2a467c;
  --color-font-sub: #626160;
  --color-bg-body: #f4f2f0;
  --color-primary: #00469b;
  --color-secondary: #86e1f2;
  --color-tertiary: #93e475;
  --color-bg-light: #f8f8f8;
  --color-bg-dark: #29467c;
  --color-link: #8b008b;
  --color-danger: #ff0000;
  --color-border: #d0d5df;
  --color-new: #7cff24;
  --grad-base: linear-gradient(
      90deg,
      var(--color-secondary) 0%,
      var(--color-tertiary) 100%
  );
  --grad-pickup: linear-gradient(to right, #D8F1FF, #CFFACD);
  --ease-base: cubic-bezier(0.38, 0.005, 0.215, 1);
  --color-yamabuki-50: color-mix(in srgb, var(--color-primary) 5%, white);
  --color-yamabuki-100: color-mix(in srgb, var(--color-primary) 10%, white);
  --color-yamabuki-200: color-mix(in srgb, var(--color-primary) 20%, white);
  --color-yamabuki-300: color-mix(in srgb, var(--color-primary) 50%, white);
  --color-yamabuki-400: color-mix(in srgb, var(--color-primary) 70%, white);
  --color-yamabuki-500: var(--color-primary);
  --color-yamabuki-600: color-mix(in srgb, var(--color-primary) 70%, black);
  --color-yamabuki-700: color-mix(in srgb, var(--color-primary) 50%, black);
  --color-yamabuki-800: color-mix(in srgb, var(--color-primary) 30%, black);
  --color-yamabuki-900: color-mix(in srgb, var(--color-primary) 10%, black);
  --color-blue-50: color-mix(in srgb, var(--color-secondary) 5%, white);
  --color-blue-100: color-mix(in srgb, var(--color-secondary) 10%, white);
  --color-blue-200: color-mix(in srgb, var(--color-secondary) 30%, white);
  --color-blue-300: color-mix(in srgb, var(--color-secondary) 50%, white);
  --color-blue-400: color-mix(in srgb, var(--color-secondary) 70%, white);
  --color-blue-500: var(--color-secondary);
  --color-blue-600: color-mix(in srgb, var(--color-secondary) 70%, black);
  --color-blue-700: color-mix(in srgb, var(--color-secondary) 50%, black);
  --color-blue-800: color-mix(in srgb, var(--color-secondary) 30%, black);
  --color-blue-900: color-mix(in srgb, var(--color-secondary) 10%, black);
  --color-white: #fff;
  --color-gray-50: #e7eaee;
  --color-gray-100: #e7eaee;
  --color-gray-200: #d0d5df;
  --color-gray-300: #b9c1cf;
  --color-gray-400: #a2acbf;
  --color-gray-500: #8b98af;
  --color-gray-600: #74839f;
  --color-gray-700: #5d6f8f;
  --color-gray-800: #465a7f;
  --color-gray-900: #2f466f;
  --color-black: #000;
  --container-xxl: 1400px;
  --container-xl: 1200px;
  --container-lg: 992px;
  --container-md: 768px;
  --container-sm: 576px;
  --space-xl: clamp(80px, 19vw, 240px);
  --space-lg: clamp(60px, 8vw, 98px);
  --space-md: clamp(40px, 6vw, 66px);
  --space-sm: clamp(16px, 2vw, 24px);
  --space-xs: 10px;
  --container-space-x: 32px;
  --font-40: clamp(2.4rem, 3.6vw, 4.8rem);
  --font-40: clamp(2.4rem, 3vw, 4rem);
  --font-36: clamp(2.4rem, 4vw, 3.6rem);
  --font-32: clamp(2.4rem, 3vw, 3.2rem);
  --font-30: clamp(2rem, 2.4vw, 3rem);
  --font-28: clamp(2rem, 2.4vw, 2.8rem);
  --font-26: clamp(2rem, 2.4vw, 2.6rem);
  --font-24: clamp(2rem, 2vw, 2.4rem);
  --font-22: clamp(1.8rem, 2vw, 2.2rem);
  --font-20: clamp(1.6rem, 2vw, 2rem);
  --font-18: clamp(1.6rem, 1.8vw, 1.8rem);
  --font-14: 1.4rem;
  --font-13: 1.3rem;
  --font-12: 1.2rem;
  --font-11: 1.1rem;
  --font-10: 1rem;
  --font-xl: var(--font-36);
  --font-lg: var(--font-24);
  --font-md: var(--font-18);
  --font-sm: 1.4rem;
  --font-xs: 1.2rem;
  --round-md: 20px;
  --header-h: 86px;
}
@media screen and (max-width: 768px) {
  :root {
    --container-space-x: 24px;
    --round-md: 12px;
    --header-h: 80px;
  }
}
@media screen and (max-width: 576px) {
  :root {
    --container-space-x: 18px;
  }
}

@layer reset {
  /* Box sizing rules */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  /* Remove default margin */
  body,
  h1,
  h2,
  h3,
  h4,
  p,
  figure,
  blockquote,
  dl,
  dd {
    margin: 0;
  }
  /* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
  ul[role=list],
  ol[role=list] {
    list-style: none;
  }
  /* Set core root defaults */
  html:focus-within {
    scroll-behavior: smooth;
  }
  /* Set core body defaults */
  body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
  }
  /* A elements that don't have a class get default styles */
  a:not([class]) {
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
  }
  /* Make images easier to work with */
  img,
  picture {
    max-width: 100%;
  }
  /* Inherit fonts for inputs and buttons */
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  /* Remove all animations and transitions for people that prefer not to see them */
  @media (prefers-reduced-motion: reduce) {
    html:focus-within {
      scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
}
@layer base {
  html {
    font-size: 62.5%;
    scrollbar-color: var(--color-primary) transparent;
    scrollbar-width: thin;
    scroll-behavior: smooth;
  }
  body {
    font-size: 16px;
    font-size: 1.6rem;
    font-feature-settings: "palt";
    -webkit-text-size-adjust: 100%;
    font-family: "Montserrat", "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.6;
    color: var(--color-font);
  }
  body:has(.js-mobile-menu.is-open) {
    overflow: hidden;
    height: 100dvh;
  }
  body:not(#home) {
    margin-top: 150px;
  }
  @media screen and (max-width: 992px) {
    body:not(#home) {
      margin-top: 80px;
    }
  }
  a[href^="tel:"],
  a[href^="mailto:"] {
    color: inherit;
  }
  ol,
  ul,
  dl {
    margin: 0;
    padding-left: 0;
  }
  ol,
  ul {
    list-style-type: none;
  }
  button,
  select,
  input[type=button],
  input[type=submit] {
    outline: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    cursor: pointer;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    color: currentColor;
  }
  input[type=date],
  input[type=email],
  input[type=tel],
  input[type=text],
  input[type=time],
  textarea {
    font-size: 16px;
  }
  address {
    font-style: normal;
  }
  table {
    word-break: break-all;
    border-collapse: collapse;
    width: 100%;
  }
  iframe {
    border: none;
  }
  [id^=anc-] {
    scroll-margin-top: 100px;
  }
  @media (prefers-reduced-motion: reduce) {
    body::before {
      content: "OSの視差効果を無効にする設定が適用されています。視差効果のない状態でページが表示されます。";
      background-color: #ffebeb;
      padding: 2px 4px;
      color: red;
      text-align: center;
      display: block;
      font-size: 14px;
      position: absolute;
      z-index: 9999;
      top: 0;
      left: 0;
      width: 100%;
    }
  }
}
#wrapper {
  overflow: clip;
}

@layer plugin {
  .slida {
    --slide-count: 1;
    --slide-index: 0;
    --active-index: 0;
    --angle-step: 0deg;
    --active-position-angle: 99deg;
    --slide-transition-duration: 1000ms;
    --slide-opacity-transition-duration: 100ms;
    --rotate-radius: 60vw;
    --slide-size: 46vw;
    position: relative;
    overflow: visible;
    opacity: 0;
  }
  @media screen and (max-width: 992px) {
    .slida {
      --active-position-angle: 110deg;
    }
  }
  @media screen and (max-width: 576px) {
    .slida {
      --slide-size: 93vw;
      --rotate-radius: 36vw;
      --active-position-angle: 28deg;
    }
  }
  .slida.is-initialized {
    opacity: 1;
  }
  .slida .slida_track {
    --track-size: calc(
        var(--rotate-radius) * 2 + (var(--slide-size) * 0.6)
    );
    position: relative;
    width: var(--track-size);
    height: var(--track-size);
    transform-origin: center;
  }
  @media screen and (max-width: 576px) {
    .slida .slida_track {
      --track-size: calc(
          var(--rotate-radius) * 2 + (var(--slide-size) * 1.1)
      );
    }
  }
  .slida .slida_slide {
    position: absolute;
    top: 50%;
    left: 44%;
    width: var(--slide-size);
    transform: translate(-50%, -50%) rotate(calc((var(--slide-index) - var(--active-index)) * var(--angle-step) + var(--active-position-angle))) translateY(calc(var(--rotate-radius) * -1)) rotate(calc((var(--slide-index) - var(--active-index)) * var(--angle-step) * -1 - var(--active-position-angle)));
    transition: transform var(--slide-transition-duration) cubic-bezier(0.22, 1, 0.36, 1), opacity var(--slide-opacity-transition-duration) linear;
  }
  @media screen and (max-width: 576px) {
    .slida .slida_slide {
      transform: translate(-50%, -50%) rotate(calc((var(--slide-index) - var(--active-index)) * var(--angle-step) + var(--active-position-angle))) translateY(calc(var(--rotate-radius) * -1.3)) rotate(calc((var(--slide-index) - var(--active-index)) * var(--angle-step) * -1 - var(--active-position-angle)));
    }
  }
  .slida .slida_slide img {
    width: 100%;
    height: auto;
  }
  .slida.is-no-rotate-transition .slida_slide {
    transition: none;
  }
  .slida .slida_dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    position: relative;
    z-index: 1;
  }
  .slida .slida_dots .slida_dot {
    width: 10px;
    aspect-ratio: 1;
    border: 0;
    border-radius: 50%;
    background: #c7c7c7;
  }
  .slida .slida_dots .slida_dot.is-current {
    background: #333;
  }
  .slida .slida_dots .slida_dot_text {
    display: none;
  }
}
@layer layout {
  @keyframes entry_modal_show {
    0% {
      opacity: 0;
      scale: 0.9;
    }
    38% {
      opacity: 1;
      scale: 1.02;
    }
    65% {
      scale: 0.99;
    }
    100% {
      opacity: 1;
      scale: 1;
    }
  }
  .l-entry_modal {
    visibility: hidden;
  }
  dialog:open .l-entry_modal {
    visibility: visible;
    animation: entry_modal_show 0.5s var(--ease-base) 0s 1 forwards;
  }
  .l-entry_modal .l-entry__item:not(:first-child) {
    margin-top: 0;
  }
  .l-entry_modal__inner {
    border-radius: var(--round-md);
    overflow: hidden;
    background-color: var(--color-white);
    border: 1px solid var(--color-primary);
  }
  .l-entry_modal__ttl {
    padding-block: 0.8em;
    line-height: 1.2;
    text-align: center;
    font-weight: 600;
    color: var(--color-primary);
    background-image: linear-gradient(to right, #e4ffd9, #ebf8ff);
    font-size: var(--font-36);
    border-bottom: 1px solid var(--color-primary);
  }
  .l-entry_modal__btns {
    padding: 48px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 28px;
  }
  @media screen and (max-width: 992px) {
    .l-entry_modal__btns {
      padding: 48px 24px;
      gap: 0 12px;
    }
  }
  @media screen and (max-width: 768px) {
    .l-entry_modal__btns {
      padding: 8% 4%;
      grid-template-columns: 1fr;
      gap: 6vw 0;
    }
  }
  .l-entry_modal .c-entry_btn {
    position: relative;
    margin-top: 0.8em;
    padding-block: 1.9cqw;
    min-height: 138px;
  }
  @media screen and (max-width: 992px) {
    .l-entry_modal .c-entry_btn {
      padding-block: 0.6em;
    }
  }
  @media screen and (max-width: 768px) {
    .l-entry_modal .c-entry_btn {
      min-height: 20vw;
    }
  }
  .l-entry_modal .c-grad_fukidashi {
    padding: 0;
    position: relative;
    inset: unset;
    translate: none;
    background: none;
    animation: none;
    text-align: center;
    color: var(--color-primary);
    font-size: var(--font-24);
    font-weight: 600;
    width: auto;
  }
}
@layer layout {
  .l-entry {
    padding-block: 60px;
    margin-block: var(--space-lg);
    position: relative;
  }
  .l-entry__inner {
    display: grid;
    grid-template-columns: 360px 1fr;
    align-items: center;
    gap: min(8vw, 160px);
  }
  @media screen and (max-width: 992px) {
    .l-entry__inner {
      grid-template-columns: 240px 1fr;
    }
  }
  .l-entry__head {
    width: 100%;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 0;
  }
  .l-entry__head .head_txt {
    position: relative;
    z-index: 1;
    color: var(--color-white);
    font-weight: 600;
    font-size: clamp(2rem, 2.6vw, 3.6rem);
  }
  .l-entry__head::before,
  .l-entry__head .head_bg {
    opacity: 0;
    transition: opacity 1.6s ease 0.5s;
  }
  .l-entry__head.is-finish::before,
  .l-entry__head.is-finish .head_bg {
    opacity: 1;
  }
  .l-entry__head::before {
    content: "";
    position: absolute;
    width: 108%;
    aspect-ratio: 1;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background: url(/recruit/assets/dest/img/common/bg_entry_head_orbit.svg) no-repeat center/contain;
    border-radius: 50%;
    animation: orbit_rotate 180s linear 0s infinite;
  }
  .l-entry__head .head_bg {
    position: absolute;
    width: 137%;
    aspect-ratio: 1;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    background-color: color-mix(in srgb, var(--color-primary) 5%, transparent);
    border-radius: 50%;
    z-index: -1;
  }
  .l-entry__head .head_circle {
    --entry-circle-progress: 0;
    --entry-circle-color-progress: 0;
    border-radius: 50%;
    aspect-ratio: 1;
    width: 100%;
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    background-color: color-mix(in srgb, #ffffff calc((1 - var(--entry-circle-color-progress)) * 100%), var(--color-primary) calc(var(--entry-circle-color-progress) * 100%));
    translate: calc(-50% + (1 - var(--entry-circle-progress)) * 108%) calc(-50% + (1 - var(--entry-circle-progress)) * -80%);
    scale: calc(1 + (1 - var(--entry-circle-progress)) * 5);
  }
  @media screen and (max-width: 768px) {
    .l-entry__head .head_circle {
      translate: -50% calc(-50% + (1 - var(--entry-circle-progress)) * -80%);
      scale: calc(1 + (1 - var(--entry-circle-progress)) * 3);
    }
  }
  .l-entry__body {
    position: relative;
    z-index: 1;
    padding-block: 80px;
    padding-left: 20%;
  }
  @media screen and (max-width: 992px) {
    .l-entry__body {
      padding-left: 12%;
    }
  }
  .l-entry__body > * {
    position: relative;
    z-index: 1;
  }
  .l-entry__body::before {
    content: "";
    border-radius: 999em 0 0 999em;
    background-color: var(--color-primary);
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
  }
  .l-entry .c-grad_fukidashi {
    position: absolute;
    font-size: 1.4rem;
    top: 0;
    right: 0;
    translate: 0 -120%;
  }
  @media screen and (max-width: 576px) {
    .l-entry .c-grad_fukidashi {
      font-size: 1.6rem;
    }
  }
  .l-entry .c-grad_fukidashi.--bottom {
    inset: unset;
    bottom: 0;
    left: 0;
    translate: -20% 120%;
  }
  @media screen and (max-width: 768px) {
    .l-entry .c-grad_fukidashi.--bottom {
      translate: 0 120%;
    }
  }
  .l-entry__item {
    position: relative;
  }
  .l-entry__item + .l-entry__item {
    margin-top: 3cqw;
  }
  @media screen and (max-width: 768px) {
    .l-entry__inner {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .l-entry__head {
      aspect-ratio: 1;
      width: min(100%, 480px);
    }
    .l-entry__head .head_txt {
      font-size: min(6vw, 3rem);
    }
    .l-entry__body {
      width: 100%;
      padding: var(--container-space-x);
      padding-top: 33vw;
      padding-bottom: 8vw;
    }
    .l-entry__body::before {
      width: 100%;
      height: 100%;
      border-radius: 45vw 45vw 10px 10px;
    }
    .l-entry__body .c-entry_btn {
      width: min(100%, 480px);
      margin-inline: auto;
    }
  }
  body:not(#home) .l-entry__head .head_circle {
    scale: 1;
    translate: 0;
    inset: unset;
    background-color: var(--color-primary);
  }
}
@layer layout {
  .l-footer {
    position: relative;
    z-index: 0;
  }
  .l-footer > * {
    position: relative;
    z-index: 1;
  }
  .l-footer .bg_ellipse {
    position: absolute;
    z-index: -1;
    inset: 0;
  }
  .l-footer .bg_ellipse .ellipse {
    display: block;
    position: absolute;
    width: 140cqw;
    height: auto;
    top: -34%;
    left: -10%;
    max-width: none;
    animation: yurayura_ellipse 2s ease-out 0s infinite alternate;
  }
  .l-footer__body {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 4vw;
    padding-inline: var(--container-space-x);
  }
  @media not screen and (max-width: 768px) {
    .l-footer__body {
      padding-right: 60px;
    }
  }
  @media screen and (max-width: 992px) {
    .l-footer__body {
      align-items: start;
    }
  }
  @media screen and (max-width: 768px) {
    .l-footer__body {
      flex-direction: column-reverse;
      gap: 14vw;
    }
    .l-footer__body > * {
      width: 100%;
    }
  }
  .l-footer__logo {
    color: inherit;
    text-decoration: none;
  }
  .l-footer__logo .site_logo {
    width: 190px;
    height: auto;
    display: block;
  }
  .l-footer__logo .site_name {
    margin-top: 1.5em;
    font-size: var(--font-18);
    font-weight: 500;
  }
  .l-footer__sitemap .c-sitemap {
    display: grid;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    gap: min(6vw, 80px);
    font-size: var(--font-20);
  }
  .l-footer__sitemap .c-sitemap__item {
    padding-block: 0.6em;
  }
  @media screen and (max-width: 768px) {
    .l-footer__sitemap .c-sitemap {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 10px;
    }
    .l-footer__sitemap .c-sitemap__col {
      display: contents;
    }
  }
  @media screen and (max-width: 576px) {
    .l-footer__sitemap .c-sitemap {
      font-size: 2rem;
      line-height: 1.2;
    }
  }
  .l-footer__sitemap .entry_btn {
    margin-top: min(4vw, 80px);
    font-size: clamp(3rem, 4vw, 4.5rem);
  }
  .l-footer__sitemap .entry_btn .txt {
    padding-right: 1em;
  }
  @media screen and (max-width: 768px) {
    .l-footer__sitemap .entry_btn {
      width: min(100%, 380px);
      margin-inline: auto;
      margin-top: 14vw;
    }
    .l-footer__sitemap .entry_btn .txt {
      flex-grow: 1;
    }
  }
  .l-footer__sns {
    display: flex;
    gap: 0 10px;
  }
  .l-footer__sns .sns_link {
    display: block;
    width: 24px;
  }
  .l-footer__sns .sns_link img {
    display: block;
    height: auto;
  }
  @media screen and (max-width: 768px) {
    .l-footer__sns .sns_link {
      width: 32px;
    }
  }
  .l-footer__corp_link {
    color: inherit;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-weight: 500;
    gap: 0 0.5em;
    font-size: 1.4rem;
  }
  .l-footer__corp_link .--externallink {
    width: 14px;
  }
  .l-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: min(6vw, 80px);
    padding-block: 36px;
    padding-inline: var(--container-space-x);
    position: relative;
  }
  .l-footer__bottom::before {
    content: "";
    position: absolute;
    top: 0;
    left: var(--container-space-x);
    width: calc(100% - var(--container-space-x) * 2);
    height: 1px;
    background-color: var(--color-gray-200);
  }
  .l-footer__bottom__start {
    display: flex;
    align-items: center;
    gap: 40px;
  }
  .l-footer__copyright {
    font-size: 1.2rem;
  }
  @media screen and (max-width: 768px) {
    .l-footer__bottom {
      padding-block: 0;
      display: block;
      border-top: none;
      padding-inline: 0;
    }
    .l-footer__bottom__start {
      padding-block: 24px;
      padding-inline: var(--container-space-x);
      display: flex;
      justify-content: space-between;
    }
    .l-footer__copyright {
      background-color: var(--color-font);
      color: var(--color-white);
      display: block;
      font-size: 1.4rem;
      text-align: center;
      width: 100%;
      padding-block: 0.8em;
    }
  }
}
@layer layout {
  .l-header {
    --header-space-y: 20px;
    --sub-navi-btn-h: 52px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding-block: var(--header-space-y);
    padding-inline: 20px;
    translate: 0 0;
    transition: translate 0.3s var(--ease-base);
    line-height: 1;
  }
  @media screen and (max-width: 1200px) {
    .l-header {
      --header-space-y: 14px;
      padding-inline: var(--header-space-y);
    }
  }
  .l-header::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.6);
    -webkit-backdrop-filter: blur(18px);
            backdrop-filter: blur(18px);
  }
  body[data-scroll-status=first-view] .l-header::before, body[data-scroll-status=top] .l-header::before {
    display: none;
  }
  .l-header a {
    text-decoration: none;
  }
  body[data-scroll-status=up] .l-header, body[data-scroll-status=down] .l-header {
    --header-space-y: 10px;
  }
  body[data-scroll-status=up] .l-header__sub_navi .c-base_btn {
    --sub-navi-btn-h: 43px;
  }
  body[data-scroll-status=down] .l-header__sub_navi {
    opacity: 0;
    height: 0;
    translate: 0 calc((var(--sub-navi-btn-h) + var(--header-space-y)) * -1);
  }
  body[data-scroll-status=first-view] .l-header {
    translate: 0 -100%;
  }
  .l-header__container {
    display: flex;
    justify-content: end;
    align-items: start;
    gap: 0 30px;
    position: relative;
  }
  @media screen and (max-width: 1200px) {
    .l-header__container {
      gap: 10px 30px;
    }
  }
  .l-header__site_ttl {
    display: flex;
    justify-content: start;
    gap: 0 24px;
    align-items: end;
    color: inherit;
    position: absolute;
    top: 0;
    left: 0;
  }
  .l-header__site_ttl .site_logo {
    display: block;
    width: 139px;
    height: auto;
  }
  .l-header__site_ttl .site_name {
    font-size: 1.8rem;
  }
  @media screen and (max-width: 1200px) {
    .l-header__site_ttl {
      gap: 0 12px;
    }
    .l-header__site_ttl .site_name {
      font-size: 1.6rem;
    }
  }
  .l-header__gnav {
    width: 100%;
    display: flex;
    justify-content: end;
    gap: 0 min(3vi, 30px);
    font-weight: 500;
    margin-top: var(--header-space-y);
  }
  .l-header__gnav__item {
    color: inherit;
    font-size: var(--font-18);
    padding-block: 0.6em;
    display: block;
    position: relative;
    overflow: hidden;
  }
  .l-header__gnav__item::before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background-image: var(--grad-base);
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: 100%;
    transform: scaleX(0);
    transition: transform 0.3s var(--ease-base);
  }
  .l-header__gnav__item[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 14px;
    aspect-ratio: 1;
    background: url(/recruit/assets/dest/img/common/ico_externallink.svg) no-repeat center/contain;
    margin-left: 4px;
  }
  .l-header__gnav__item.is-current::before {
    transform-origin: 0;
    transform: scaleX(1);
  }
  @media (any-hover: hover) {
    .l-header__gnav__item:hover::before {
      transform-origin: 0;
      transform: scaleX(1);
    }
  }
  .l-header__corp_link {
    color: inherit;
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    font-size: 1.4rem;
    position: relative;
    padding-bottom: 3px;
  }
  .l-header__corp_link::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: currentColor;
    position: absolute;
    bottom: 0;
    left: 0;
    transform-origin: 100%;
    transform: scaleX(0);
    transition: transform 0.3s var(--ease-base);
  }
  @media (any-hover: hover) {
    .l-header__corp_link:hover::after {
      transform-origin: 0;
      transform: scaleX(1);
    }
  }
  .l-header__corp_link .--externallink {
    width: 14px;
  }
  .l-header__sub_navi {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 0 24px;
    transition: translate 0.2s ease, height 0.2s ease, opacity 0.2s ease;
  }
  .l-header__sub_navi .c-base_btn {
    padding-block: 0;
    display: flex;
    align-items: center;
    height: var(--sub-navi-btn-h);
    transition: height 0.3s ease;
  }
  @media not screen and (max-width: 992px) {
    .l-header .bg_circle {
      display: none;
    }
    .l-header__hamburger {
      display: none;
    }
    .l-header__menu {
      display: none;
    }
  }
  @media screen and (max-width: 992px) {
    .l-header {
      --menu-h: calc(100dvh - 30px);
    }
    .l-header:has(.l-header__menu.is-open) {
      transition: background-color 0.4s ease 0.3s;
      height: 100dvh;
      background-color: var(--color-font);
    }
    .l-header:has(.l-header__menu.is-open)::before {
      filter: none;
      background-color: transparent;
    }
    .l-header:has(.l-header__menu.is-open) .bg_circle {
      height: var(--menu-h);
      overflow: hidden;
      border-radius: 0 0 0 50px;
    }
    .l-header:has(.l-header__menu.is-open) .bg_circle::before {
      scale: 60;
    }
    .l-header .bg_circle {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      width: 100%;
    }
    .l-header .bg_circle::before {
      content: "";
      width: 50px;
      aspect-ratio: 1;
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      translate: 100% -100%;
      background-color: var(--color-white);
      border-radius: 50%;
      transition: scale 0.6s linear;
    }
    .l-header__container {
      justify-content: space-between;
      align-items: center;
    }
    .l-header__end {
      display: none;
    }
    .l-header__site_ttl {
      position: relative;
      inset: unset;
      z-index: 1;
    }
    .l-header__hamburger {
      position: relative;
      z-index: 2;
    }
    .l-header__menu {
      position: absolute;
      left: 0;
      top: 0;
      pointer-events: none;
      width: 100%;
      height: var(--menu-h);
      border-radius: 0 0 0 50px;
      padding-top: 78px;
      opacity: 0;
      overflow-y: auto;
      overscroll-behavior: none;
    }
    .l-header__menu.is-open {
      transition: opacity 0.3s ease 0.6s;
      pointer-events: auto;
      opacity: 1;
    }
    .l-header__menu .menu_inner {
      width: min(100%, 740px);
      margin-inline: auto;
      padding: 12px 4% 0;
    }
    .l-header__menu .menu_top {
      background-color: #f4f5f6;
      border-radius: var(--round-md);
      padding: min(4vw, 30px);
    }
    .l-header__menu .menu_top .c-base_btn {
      width: 100%;
      padding-block: 1em;
    }
    .l-header__menu .l-entry__item {
      margin-top: 1.8em;
    }
    .l-header__menu .c-entry_btn .shizuoka_zukan {
      max-width: 180px;
    }
    .l-header__menu .c-grad_fukidashi {
      padding: 0;
      position: relative;
      inset: unset;
      translate: none;
      background: none;
      animation: none;
      text-align: center;
      color: var(--color-primary);
      font-size: var(--font-18);
      font-weight: 600;
      width: auto;
      margin-bottom: 0.6em;
    }
    .l-header__menu .c-sitemap {
      margin-block: min(4vw, 60px);
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 12px;
    }
    .l-header__menu .c-sitemap__col {
      display: contents;
    }
    .l-header__menu .c-sitemap__item {
      display: none;
    }
    .l-header__menu .c-sitemap__item:has(.ttl_en) {
      padding-block: 1em;
      display: flex;
      align-items: end;
      gap: 0 1em;
      font-size: var(--font-18);
    }
    .l-header__menu .c-sitemap__item .ttl_en {
      display: block;
    }
    .l-header__menu .c-press_btn {
      margin-top: var(--space-sm);
    }
    .l-header__menu .c-corp_add {
      margin-top: var(--space-md);
    }
    .l-header__menu .c-corp_add a {
      text-decoration: underline;
    }
    .l-header__menu__bottom {
      margin-top: var(--space-sm);
      padding-block: 20px;
      border-top: 1px solid var(--color-gray-200);
      display: flex;
      justify-content: end;
    }
  }
  @media screen and (max-width: 576px) {
    .l-header__site_ttl {
      flex-direction: column;
      align-items: start;
      gap: 8px;
    }
    .l-header__site_ttl .site_name {
      font-size: 3.2vw;
    }
    .l-header__menu .menu_top .c-base_btn {
      font-size: 2rem;
    }
    .l-header__menu .c-entry_btn {
      min-height: 75px;
    }
    .l-header__menu .c-press_btn .btn_ttl {
      font-size: 10vw;
    }
    .l-header__menu .c-press_btn .deco {
      scale: 0.5;
    }
  }
}
@keyframes bestfitCardEntrance {
  0% {
    opacity: 0;
    transform: translateX(80%) translateY(80%) rotate(var(--card-tilt-angle, 0deg));
  }
  100% {
    opacity: 1;
    transform: translateX(0) translateY(0) rotate(0deg);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes strokeDraw {
  to {
    stroke-dashoffset: 0;
  }
}
@layer component {
  .js-bestfit-line {
    --bestfit-line-grad-start: #93e475;
    --bestfit-line-grad-end: #86e1f2;
    --bestfit-line-stroke-width: 240;
    --bestfit-line-ellipse-rx: 1600;
    --bestfit-line-ellipse-ry: 400;
    --bestfit-line-shift-x: -90%;
    --bestfit-gap: clamp(12px, 1.6vw, 24px);
    --bestfit-line-top: 30%;
    --bestfit-line-height: 470px;
    --bestfit-stair-step: clamp(30px, 8vw, 100px);
    --bestfit-path-start-delay: 2.4s;
  }
  .c-bestfit_card {
    --bestfit-stair-offset: 0px;
    --card-tilt-angle: 30deg;
    --card-enter-delay: 0s;
    margin-top: var(--bestfit-stair-offset, 0);
    background-color: var(--color-white);
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 34px rgba(7, 43, 107, 0.08);
    aspect-ratio: 288/524;
    border-radius: 30px;
    container-type: inline-size;
    padding-top: 3cqw;
    border: 1px solid var(--color-primary);
  }
  @media not screen and (max-width: 768px) {
    .c-bestfit_card {
      opacity: 0;
      transform-origin: 50% 0%;
      transform: translateX(-120%) translateY(80%) rotate(var(--card-tilt-angle, 0deg));
    }
    .c-bestfit_card:nth-child(1) {
      --bestfit-stair-offset: calc(var(--bestfit-stair-step) * 3);
      --card-enter-delay: 0s;
    }
    .c-bestfit_card:nth-child(2) {
      --bestfit-stair-offset: calc(var(--bestfit-stair-step) * 2);
      --card-enter-delay: 0.4s;
    }
    .c-bestfit_card:nth-child(3) {
      --bestfit-stair-offset: var(--bestfit-stair-step);
      --card-enter-delay: 0.8s;
    }
    .c-bestfit_card:nth-child(4) {
      --card-enter-delay: 1.2s;
    }
  }
  .c-bestfit_card__line {
    position: absolute;
    top: var(--bestfit-line-top, 30%);
    translate: 0 calc(var(--bestfit-stair-offset, 0) * -1);
    left: 0;
    width: 100%;
    height: var(--bestfit-line-height, 160px);
    pointer-events: none;
    z-index: 0;
  }
  .c-bestfit_card__line svg {
    position: absolute;
    top: 50cqw;
    left: calc((100% + var(--bestfit-gap, 20px)) * var(--bestfit-index) * -1 + var(--bestfit-line-shift-x, 0));
    width: calc(560% + var(--bestfit-gap, 20px) * 3);
    height: 100%;
    transform-origin: 50% 0;
    rotate: -24deg;
    overflow: visible;
  }
  .c-bestfit_card__line path {
    stroke-width: var(--bestfit-line-stroke-width, 90);
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    transition: stroke-dashoffset 1.6s var(--ease-base) calc(var(--bestfit-index) * 0.08s);
  }
  .c-bestfit_card__line .bestfit-stop--start {
    stop-color: var(--bestfit-line-grad-start, #86e1f2);
  }
  .c-bestfit_card__line .bestfit-stop--end {
    stop-color: var(--bestfit-line-grad-end, #93e475);
  }
  .c-bestfit_card__thumb {
    position: relative;
    z-index: 1;
  }
  .c-bestfit_card__thumb {
    width: auto;
    height: 100%;
    display: block;
    margin-inline: auto;
  }
  .c-bestfit_card__ttl {
    font-size: var(--font-22);
    position: absolute;
    z-index: 1;
    writing-mode: vertical-rl;
    display: flex;
    flex-direction: column;
    align-items: end;
    font-weight: 500;
  }
  .c-bestfit_card__ttl .line {
    line-height: 1.3;
    padding: 1em;
    padding-block: 0.6em 0.4em;
    background-color: var(--color-white);
    display: block;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    border: 1px solid var(--color-primary);
  }
  .c-bestfit_card__ttl.--lt {
    left: 0;
    top: 0;
  }
  .c-bestfit_card__ttl.--lt .line {
    border-bottom-right-radius: var(--round-md);
    border-left: none;
    border-top: none;
  }
  .c-bestfit_card__ttl.--rt {
    right: 0;
    top: 0;
  }
  .c-bestfit_card__ttl.--rt .line {
    border-bottom-left-radius: var(--round-md);
    border-right: none;
    border-top: none;
  }
  .c-bestfit_card__ttl.--lb {
    left: 0;
    bottom: 0;
  }
  .c-bestfit_card__ttl.--lb .line {
    border-top-right-radius: var(--round-md);
    border-left: none;
    border-bottom: none;
  }
  .c-bestfit_card__ttl.--rb {
    right: 0;
    bottom: 0;
  }
  .c-bestfit_card__ttl.--rb .line {
    border-top-left-radius: var(--round-md);
    border-right: none;
    border-bottom: none;
  }
  .js-bestfit-line.is-inview .c-bestfit_card {
    animation: bestfitCardEntrance 1.2s ease-out forwards;
    animation-delay: var(--card-enter-delay, 0s);
  }
  .js-bestfit-line.is-inview .c-bestfit_card__line path {
    animation: strokeDraw 1.6s var(--ease-base) calc(var(--bestfit-path-start-delay, 1.6s) + var(--bestfit-index) * 0.08s) forwards;
  }
  @media screen and (max-width: 768px) {
    .c-bestfit_card {
      --bestfit-stair-offset: 0px;
    }
    .c-bestfit_card__ttl {
      font-size: var(--font-20);
    }
    .c-bestfit_card__line svg {
      left: var(--bestfit-line-shift-x, 0);
      width: 100%;
    }
  }
}
@layer component {
  .c-branch {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
  @media screen and (max-width: 576px) {
    .c-branch {
      grid-template-columns: 1fr;
    }
  }
  .c-branch__item {
    --thumb-diff: 20px;
    color: inherit;
    text-decoration: none;
    padding: var(--thumb-diff) 0 0 var(--thumb-diff);
  }
  @media screen and (max-width: 768px) {
    .c-branch__item {
      --thumb-diff: 8px;
    }
  }
  .c-branch__item__thumb {
    aspect-ratio: 610/320;
    border-radius: 10px;
    background-image: linear-gradient(-120deg, var(--color-secondary) 0%, var(--color-tertiary) 100%);
  }
  .c-branch__item__thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
  }
  .c-branch__item__thumb .inner {
    border: 1px solid var(--color-primary);
    border-radius: 10px;
    overflow: hidden;
    translate: calc(var(--thumb-diff) * -1) calc(var(--thumb-diff) * -1);
    transition: translate 0.2s ease;
  }
  .c-branch__item__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 0.8em;
  }
  .c-branch__item .branch_ttl {
    font-size: var(--font-28);
    font-weight: 600;
    line-height: 1.3;
  }
  .c-branch__item .c-maru_icon {
    width: 60px;
  }
  @media screen and (max-width: 768px) {
    .c-branch__item .c-maru_icon {
      width: 45px;
    }
  }
  .c-branch__item .c-maru_icon::after {
    width: 20px;
  }
  .c-branch__item .branch_txt {
    margin-top: 0.4em;
    font-weight: 500;
    width: 100%;
  }
  @media (any-hover: hover) {
    .c-branch__item:hover .c-branch__item__thumb .inner {
      translate: 0;
    }
  }
}
@layer component {
  .c-btns {
    display: flex;
    gap: min(3vw, 30px);
  }
  .c-btns.--start {
    justify-content: flex-start;
  }
  .c-btns.--center {
    justify-content: center;
  }
  .c-btns.--end {
    justify-content: flex-end;
  }
  @media not screen and (max-width: 576px) {
    .c-btns.--sp {
      display: none;
    }
  }
}
@layer component {
  .base_btn_style, .c-press_btn, .c-base_btn {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 1px solid transparent;
    display: block;
    text-decoration: none;
    position: relative;
    text-align: center;
    text-decoration: none;
    color: inherit;
    line-height: 1;
    padding-block: 0.8em;
    border-radius: 0;
    background-color: transparent;
  }
  .c-base_btn {
    font-weight: 600;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: var(--color-white);
    font-size: var(--font-20);
  }
  .c-base_btn::before {
    content: "";
    position: absolute;
    border-radius: 999em;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 100%;
    background-color: var(--color-primary);
    transition: scale 0.3s var(--ease-base);
  }
  .c-base_btn:has(.c-maru_icon) {
    padding-block: 0.6em;
    padding-inline: 0.4em;
    display: flex;
    align-items: center;
    gap: 0;
  }
  .c-base_btn .c-icon {
    display: inline-block;
    margin-inline: 6px;
  }
  .c-base_btn.--border {
    color: var(--color-primary);
  }
  .c-base_btn.--border::before {
    border: 1px solid var(--color-primary);
    background-color: var(--color-white);
  }
  .c-base_btn .txt {
    position: relative;
    z-index: 1;
    padding-inline: 1.8em;
  }
  @media (any-hover: hover) {
    .c-base_btn:hover::before {
      scale: 1.1;
    }
    .c-base_btn:hover .c-maru_icon {
      background-color: var(--color-white);
    }
  }
  .c-entry_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 0 12px;
    text-decoration: none;
    color: var(--color-primary);
    padding: 2.8cqw 2.6cqw;
    container-type: inline-size;
    line-height: 1.3;
    min-height: 119px;
  }
  .c-entry_btn > * {
    position: relative;
    z-index: 1;
  }
  .c-entry_btn::before {
    content: "";
    position: absolute;
    border-radius: var(--round-md);
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    transition: scale 0.3s var(--ease-base);
    border: 1px solid var(--color-primary);
  }
  @media (any-hover: hover) {
    .c-entry_btn:hover::before {
      scale: 1.03;
    }
  }
  .c-entry_btn .entry_ttl {
    font-weight: 700;
    font-size: clamp(3rem, 4vw, 5.5rem);
  }
  .c-entry_btn .shizuoka_zukan {
    width: 40cqw;
    display: block;
    height: auto;
  }
  .c-entry_btn .mail_box {
    line-height: 1;
  }
  .c-entry_btn .mail_address {
    font-weight: 600;
    font-size: clamp(2rem, 2.6vw, 3.6rem);
  }
  .c-entry_btn .mail_address .sm {
    font-size: 75%;
    display: block;
  }
  .c-entry_btn .tel_time {
    font-size: 1.5rem;
    color: var(--color-black);
    margin-top: 0.3em;
  }
  .c-entry_btn .c-maru_icon {
    position: absolute;
    top: 50%;
    right: 18px;
    translate: 0 -50%;
    width: min(10cqw, 48px);
  }
  @media screen and (max-width: 576px) {
    .c-entry_btn .c-maru_icon {
      right: 8px;
    }
  }
  @media screen and (max-width: 768px) {
    .c-entry_btn {
      min-height: 89px;
    }
  }
  .c-press_btn {
    background-color: var(--color-gray-100);
    text-align: left;
    padding: 18px 24px;
    position: relative;
    z-index: 0;
  }
  .c-press_btn .deco {
    position: absolute;
    display: block;
    height: auto;
    transform-origin: 0 0;
    rotate: -90deg;
    scale: 0.7;
    top: 86%;
    left: 103%;
  }
  .c-press_btn .btn_ttl {
    text-box: trim-both cap alphabetic;
    display: block;
    position: relative;
    padding-bottom: 0.13em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 800;
    font-size: min(7vw, 4rem);
  }
  .c-press_btn .btn_ttl::after {
    content: "";
    display: block;
    width: 108%;
    height: 12px;
    background-image: linear-gradient(0deg, var(--color-secondary) 0%, var(--color-tertiary) 100%);
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  @media screen and (max-width: 576px) {
    .c-press_btn .btn_ttl::after {
      height: 14px;
    }
  }
  .c-press_btn .btn_txt {
    margin-top: 0.6em;
  }
  @media not screen and (max-width: 576px) {
    .c-press_btn .btn_txt br {
      display: none;
    }
  }
}
@layer component {
  .c-card {
    color: inherit;
    text-decoration: none;
    container-type: inline-size;
    display: grid;
    grid-row: span 2;
    grid-template-rows: auto 1fr;
    line-height: 1.3;
  }
  .c-card__thumb {
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 410/273;
    position: relative;
    border: 1px solid var(--color-primary);
  }
  .c-card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .c-card__label {
    background-color: var(--color-green);
    color: var(--color-white);
    position: absolute;
    top: 0;
    left: 0;
    line-height: 1;
    padding: 0.5em 1.3em 0.6em;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-weight: 600;
    font-size: clamp(1.4rem, 1.5vw, 2rem);
  }
  .c-card__ribbon {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.4em 0.8em;
    padding-right: 1.8em;
    line-height: 1;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    color: var(--color-white);
    font-size: var(--font-lg);
    font-weight: 600;
    -webkit-mask: url(/recruit/assets/dest/img/common/bg_pickup_ribbon.svg) no-repeat center/100% 100%;
            mask: url(/recruit/assets/dest/img/common/bg_pickup_ribbon.svg) no-repeat center/100% 100%;
    background: var(--grad-ribbon);
  }
  .c-card__ttl {
    font-weight: 500;
    color: var(--color-green);
    font-size: clamp(1.6rem, 2vw, 2.4rem);
  }
  .c-card__ribbon + .c-card__ttl {
    margin-top: var(--space-xs);
  }
  @container (width < 360px) {
    .c-card__ttl {
      font-size: 1.6rem;
      line-height: 1.5;
    }
  }
  @container (width < 240px) {
    .c-card__ttl {
      font-size: 1.4rem;
    }
  }
  .c-card__date {
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    display: block;
    position: relative;
    width: 100%;
  }
  .c-card__date::after {
    content: "";
    display: block;
    width: 1.5em;
    aspect-ratio: 1;
    -webkit-mask: url(/recruit/assets/dest/img/common/ico_arrow_next.svg) no-repeat center/contain;
            mask: url(/recruit/assets/dest/img/common/ico_arrow_next.svg) no-repeat center/contain;
    background-color: var(--color-green);
    position: absolute;
    top: 50%;
    right: 0.6em;
    transform: translateY(-50%);
  }
  @media (any-hover: hover) {
    .c-card[href] .c-card__thumb {
      position: relative;
    }
    .c-card[href] .c-card__thumb::after {
      content: "";
      display: block;
      inset: 0;
      background-color: var(--color-black);
      position: absolute;
      opacity: 0;
      transition: opacity 0.2s ease;
    }
    .c-card[href] .c-card__date::after {
      transition: right 0.2s ease;
    }
    .c-card[href] .c-card:hover .c-card__thumb::after {
      opacity: 0.3;
    }
    .c-card[href] .c-card:hover .c-card__date::after {
      right: 0;
    }
  }
}
@keyframes caruseruSlide {
  0% {
    left: 0;
  }
  100% {
    left: -100%;
  }
}
@keyframes caruseruSlideSlash {
  0% {
    left: -100%;
  }
  100% {
    left: -200%;
  }
}
@layer component {
  .c-caruseru {
    overflow: hidden;
  }
  .c-caruseru .slider_body {
    position: relative;
    width: auto;
  }
  .c-caruseru .slider_image {
    will-change: transform;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% + 100vw);
    height: 100%;
    animation: caruseruSlide 30s linear infinite;
    background-repeat: repeat-x;
    background-position: left top;
    background-size: auto 100%;
  }
  .c-caruseru.--reverse .slider_image {
    animation-direction: reverse;
  }
}
@layer component {
  .c-container-xxl {
    container-type: inline-size;
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
    padding-inline: var(--container-space-x);
  }
  .c-container-xxl.--no-space {
    padding-left: 0;
    padding-right: 0;
  }
  .c-container-xl {
    container-type: inline-size;
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    padding-inline: var(--container-space-x);
  }
  .c-container-xl.--no-space {
    padding-left: 0;
    padding-right: 0;
  }
  .c-container-lg {
    container-type: inline-size;
    margin-left: auto;
    margin-right: auto;
    max-width: 992px;
    padding-inline: var(--container-space-x);
  }
  .c-container-lg.--no-space {
    padding-left: 0;
    padding-right: 0;
  }
  .c-container-md {
    container-type: inline-size;
    margin-left: auto;
    margin-right: auto;
    max-width: 768px;
    padding-inline: var(--container-space-x);
  }
  .c-container-md.--no-space {
    padding-left: 0;
    padding-right: 0;
  }
  .c-container-sm {
    container-type: inline-size;
    margin-left: auto;
    margin-right: auto;
    max-width: 576px;
    padding-inline: var(--container-space-x);
  }
  .c-container-sm.--no-space {
    padding-left: 0;
    padding-right: 0;
  }
}
@layer component {
  .c-corp_add {
    line-height: 1.5;
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 1.2em;
  }
  .c-corp_add .add_txt {
    width: 100%;
  }
  .c-corp_add .corp_map {
    width: 100%;
  }
  .c-corp_add .corp_map a {
    color: inherit;
    text-decoration: underline;
    display: inline-block;
    padding-right: 1.3em;
    background: url(/recruit/assets/dest/img/common/ico_maker.svg) no-repeat right center/1.1em auto;
  }
}
@layer component {
  body.error .l-footer {
    margin-top: var(--space-lg);
  }
  .c-error__en_ttl {
    position: relative;
    display: flex;
    justify-content: center;
    z-index: 1;
    font-weight: 800;
    font-size: clamp(3rem, 6vw, 10rem);
    margin-bottom: 5cqw;
  }
  @media screen and (max-width: 576px) {
    .c-error__en_ttl {
      font-size: 8vw;
    }
  }
  .c-error__en_ttl .line {
    text-box: trim-both cap alphabetic;
    display: block;
    position: relative;
    padding-bottom: 0.13em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-error__en_ttl .line::after {
    content: "";
    display: block;
    width: 0;
    height: 19px;
    background-image: var(--grad-base);
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 0;
    animation: mv_catch_bar 1s var(--ease-base) 0s 1 forwards;
  }
  @media screen and (max-width: 576px) {
    .c-error__en_ttl .line::after {
      height: 14px;
    }
  }
  .c-error__en_ttl .line:not(:first-child) {
    margin-top: 0.22em;
  }
  .c-error__wrap {
    border: 1px solid var(--color-primary);
    border-radius: 5cqw;
    overflow: clip;
  }
  .c-error__head {
    border-bottom: 1px solid var(--color-primary);
    background-image: linear-gradient(to right, #e4ffd9, #ebf8ff);
  }
  .c-error__ttl {
    padding: 4cqw 5cqw 3cqw;
    font-size: var(--font-30);
    font-weight: 500;
  }
  .c-error__sub_ttl {
    font-size: var(--font-24);
    font-weight: 500;
  }
  .c-error__body {
    padding: 2.6cqw 5cqw 6cqw;
  }
  .c-error__desc {
    margin-top: 1em;
    line-height: 2;
  }
  .c-error__desc a {
    color: inherit;
  }
  .c-error__list {
    list-style-type: disc;
    margin-top: 12px;
    margin-left: 1.5em;
  }
  .c-error__list__item:not(:first-child) {
    margin-top: 0.5em;
  }
}
@layer component {
  #canvas-js-bg-particles {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
}
@layer component {
  @keyframes frame_border_anime {
    0% {
      -webkit-mask-size: 20px 0, 0 20px, 20px 0, 0 20px;
              mask-size: 20px 0, 0 20px, 20px 0, 0 20px;
    }
    25% {
      -webkit-mask-size: 20px 100%, 0 20px, 20px 0, 0 20px;
              mask-size: 20px 100%, 0 20px, 20px 0, 0 20px;
    }
    50% {
      -webkit-mask-size: 20px 100%, 100% 20px, 20px 0, 0 20px;
              mask-size: 20px 100%, 100% 20px, 20px 0, 0 20px;
    }
    75% {
      -webkit-mask-size: 20px 100%, 100% 20px, 20px 100%, 0 20px;
              mask-size: 20px 100%, 100% 20px, 20px 100%, 0 20px;
    }
    100% {
      -webkit-mask-size: 20px 100%, 100% 20px, 20px 100%, 100% 20px;
              mask-size: 20px 100%, 100% 20px, 20px 100%, 100% 20px;
    }
  }
  .c-gallery {
    --frame-radius: var(--round-md);
  }
  @media screen and (max-width: 768px) {
    .c-gallery {
      --frame-radius: 8px;
    }
  }
  .c-gallery .gallery_frame {
    position: relative;
    overflow: hidden;
    border-radius: var(--frame-radius);
    aspect-ratio: 360/240;
  }
  .c-gallery .gallery_frame img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
    opacity: 0;
    transition: opacity 0.8s ease 1.5s;
  }
  .c-gallery .gallery_frame .frame_border {
    position: absolute;
    inset: 0;
    z-index: 1;
    border: 1px solid var(--color-primary);
    border-radius: var(--frame-radius);
    -webkit-mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000);
            mask-image: linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000), linear-gradient(#000, #000);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: top right, bottom right, bottom left, top left;
            mask-position: top right, bottom right, bottom left, top left;
    -webkit-mask-size: 20px 0, 0 20px, 20px 0, 0 20px;
            mask-size: 20px 0, 0 20px, 20px 0, 0 20px;
    -webkit-mask-composite: source-over, source-over, source-over;
            mask-composite: add, add, add;
    animation: frame_border_anime 1.3s linear 0s 1 forwards;
    animation-play-state: paused;
  }
  .c-gallery.is-inview .frame_border {
    animation-play-state: running;
  }
  .c-gallery.is-inview .gallery_frame img {
    opacity: 1;
  }
  .c-gallery .gallery_line:not(:first-child) {
    margin-top: 27px;
  }
  @media screen and (max-width: 768px) {
    .c-gallery .gallery_line:not(:first-child) {
      margin-top: 12px;
    }
  }
}
@layer component {
  .c-grad_fukidashi {
    padding: 1em 1.5em 2.3em;
    background: url(/recruit/assets/dest/img/common/bg_grad_fukidashi.svg) no-repeat center/100% 100%;
    line-height: 1;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: var(--font-22);
    animation: floatY 2.5s ease-in-out infinite;
    white-space: nowrap;
  }
  .c-grad_fukidashi.--bottom {
    padding: 2em 1.5em 1.4em;
    background-image: url(/recruit/assets/dest/img/common/bg_grad_fukidashi_bottom.svg);
  }
  @keyframes floatY {
    0% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-12px);
    }
    100% {
      transform: translateY(0);
    }
  }
}
@layer component {
  .hamburger {
    /* Customizable properties */
    --hamburger-width: 48px;
    --hamburger-height: 48px;
    --hamburger-bar-height: 4px;
    --hamburger-color: var(--color-primary);
    --hamburger-line-width: 40px;
    --hamburger-gap: 12px;
    --hamburger-duration: 0.17s;
    position: relative;
    display: inline-grid;
    place-items: center;
    inline-size: var(--hamburger-width);
    block-size: var(--hamburger-height);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .hamburger__line {
    position: relative;
    display: block;
    inline-size: var(--hamburger-line-width);
    block-size: var(--hamburger-bar-height);
    background-color: var(--hamburger-color);
    border-radius: 999px;
    transition: background-color var(--hamburger-duration) ease, opacity var(--hamburger-duration) ease;
  }
  .hamburger__line::before, .hamburger__line::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 100%;
    background-color: var(--hamburger-color);
    border-radius: inherit;
    transition: transform var(--hamburger-duration) ease, inset-block-start var(--hamburger-duration) ease;
    transform-origin: center;
  }
  .hamburger__line::before {
    inset-block-start: calc(var(--hamburger-gap) * -1);
  }
  .hamburger__line::after {
    inset-block-start: var(--hamburger-gap);
  }
  .hamburger.is-active .hamburger__line {
    background-color: transparent;
  }
  .hamburger.is-active .hamburger__line::before {
    inset-block-start: 0;
    transform: rotate(45deg);
  }
  .hamburger.is-active .hamburger__line::after {
    inset-block-start: 0;
    transform: rotate(-45deg);
  }
}
@layer layout {
  .l-headline {
    padding-block: min(5vw, 80px);
    position: relative;
    z-index: 1;
  }
  .l-headline__inner {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 0 4em;
  }
  @media screen and (max-width: 576px) {
    .l-headline__inner {
      flex-direction: column;
      gap: 0.6em 0;
      align-items: start;
    }
  }
  .l-headline__en {
    position: relative;
    font-size: clamp(3rem, 7vw, 10rem);
  }
  @media screen and (max-width: 576px) {
    .l-headline__en {
      font-size: 11vw;
    }
  }
  .l-headline__en .line {
    line-height: 1;
    display: block;
    position: relative;
    padding-bottom: 0.13em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .l-headline__en .line::after {
    content: "";
    display: block;
    width: 0;
    height: 19px;
    background-image: linear-gradient(to left, var(--color-secondary) 0%, var(--color-tertiary) 100%);
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 0.14em;
  }
  @media screen and (max-width: 576px) {
    .l-headline__en .line::after {
      height: 14px;
    }
  }
  .l-headline__en .line::after {
    opacity: 1;
    transform-origin: 0 50%;
    scale: 1.05 1;
    animation: mv_catch_bar 0.8s var(--ease-base) 0s 1 forwards;
  }
  .l-headline__en .line:not(:first-child) {
    margin-top: 0.22em;
  }
  .l-headline__ja {
    font-size: var(--font-30);
    font-weight: 500;
  }
  .l-headline__lead {
    font-size: var(--font-20);
    line-height: 1.9;
    margin-top: 1.6em;
    font-weight: 500;
  }
}
@layer component {
  .c-icon {
    width: 1.4em;
    height: auto;
    aspect-ratio: 1;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    color: inherit;
    background-color: currentColor;
  }
  .c-icon.--externallink {
    width: 14px;
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_externallink.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_externallink.svg");
  }
  .c-icon.--arrow_next {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_next.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_next.svg");
  }
  .c-icon.--arrow_prev {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_prev.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_prev.svg");
  }
  .c-icon.--arrow_up {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_up.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_up.svg");
  }
  .c-icon.--arrow_down {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_down.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_down.svg");
  }
  .c-maru_icon {
    border: 1px solid transparent;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border-radius: 50%;
    aspect-ratio: 1;
    width: 1.4em;
    display: block;
    position: relative;
    transition: background-color 0.2s ease;
    background-color: var(--color-secondary);
  }
  .c-maru_icon::after {
    content: "";
    display: block;
    width: min(50%, 20px);
    aspect-ratio: 1;
    position: absolute;
    inset: 0;
    margin: auto;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    color: inherit;
    background-color: var(--color-primary);
  }
  .c-maru_icon.--border {
    border-color: var(--color-primary);
    background-color: transparent;
  }
  .c-maru_icon.--next::after {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_next.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_next.svg");
  }
  .c-maru_icon.--prev::after {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_prev.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_prev.svg");
  }
  .c-maru_icon.--up::after {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_up.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_up.svg");
  }
  .c-maru_icon.--down::after {
    -webkit-mask-image: url("/recruit/assets/dest/img/common/ico_arrow_down.svg");
            mask-image: url("/recruit/assets/dest/img/common/ico_arrow_down.svg");
  }
}
a.c-maru_icon,
a .c-maru_icon,
button.c-maru_icon,
button .c-maru_icon {
  transition: background-color 0.3s ease, scale 0.3s var(--ease-base);
}
@media (any-hover: hover) {
  a.c-maru_icon.--border:hover,
  a .c-maru_icon.--border:hover,
  button.c-maru_icon.--border:hover,
  button .c-maru_icon.--border:hover {
    background-color: var(--color-secondary);
  }
}
a.c-maru_icon[disabled],
a .c-maru_icon[disabled],
button.c-maru_icon[disabled],
button .c-maru_icon[disabled] {
  border-color: var(--color-gray-500);
  pointer-events: none;
}
a.c-maru_icon[disabled]::after,
a .c-maru_icon[disabled]::after,
button.c-maru_icon[disabled]::after,
button .c-maru_icon[disabled]::after {
  background-color: var(--color-gray-500);
}
@media (any-hover: hover) {
  a:hover .c-maru_icon,
  button:hover .c-maru_icon {
    scale: 1.07;
  }
  a:hover .c-maru_icon.--border,
  button:hover .c-maru_icon.--border {
    background-color: var(--color-secondary);
  }
}

@layer component {
  .c-img {
    display: block;
    height: auto;
  }
}
@layer component {
  .c-link {
    text-decoration: none;
  }
}
@layer component {}
@layer component {
  .c-modal {
    overflow: visible;
    width: min(100%, 1300px);
    padding: 0;
    border: none;
    background-color: transparent;
  }
  .c-modal::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
  }
  .c-modal .close_btn {
    aspect-ratio: 1;
    width: 56px;
    border-radius: 50%;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    background: url(/recruit/assets/dest/img/common/ico_close.svg) no-repeat center/32% auto;
    background-color: var(--color-primary);
    border: none;
    position: absolute;
    top: 0;
    right: 0;
    translate: 1em -50%;
    z-index: 1;
    padding: 0;
  }
  @media screen and (max-width: 576px) {
    .c-modal .close_btn {
      width: 38px;
    }
  }
  .c-modal__content {
    background-color: var(--color-white);
  }
}
@layer component {
  .c-news__list {
    container-type: inline-size;
  }
  .c-news__item {
    display: grid;
    color: inherit;
    text-decoration: none;
    grid-template-columns: 10rem 1fr 20px;
    align-items: center;
    gap: 0 3em;
    line-height: 1.3;
    padding-block: 1.5em;
    border-bottom: 1px solid var(--color-border);
    position: relative;
    min-width: 0;
  }
  .c-news__item .c-icon {
    width: 20px;
  }
  .c-news__item::before {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background-color: var(--color-primary);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: width 0.2s var(--ease-base);
  }
  @media (any-hover: hover) {
    .c-news__item:hover::before {
      width: 100%;
    }
  }
  @container (width < 600px) {
    .c-news__item {
      grid-template-columns: 1fr 20px;
      gap: 4px 0.6em;
    }
    .c-news__item .item_date {
      grid-column: span 2;
    }
  }
}
@layer component {
  .js-number-carousel {
    padding-block: 40px;
    --slide-w: min(20vw, 240px);
  }
  @media screen and (max-width: 768px) {
    .js-number-carousel {
      --slide-w: 36vw;
    }
  }
  @media screen and (max-width: 576px) {
    .js-number-carousel {
      --slide-w: 42vw;
    }
  }
  .js-number-carousel .splide__slide .item_inner {
    padding-block: 12px;
    display: flex;
    gap: 24px;
    justify-content: center;
  }
  @media screen and (max-width: 768px) {
    .js-number-carousel .splide__slide .item_inner {
      flex-direction: column;
      gap: 12vw;
    }
  }
  .js-number-carousel .splide__slide img {
    width: var(--slide-w);
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .js-number-carousel .splide__arrow {
    position: absolute;
    left: 50%;
    translate: -50% 0;
  }
  .js-number-carousel .splide__arrow--prev {
    top: 0;
  }
  .js-number-carousel .splide__arrow--next {
    bottom: 0;
  }
  @media screen and (max-width: 768px) {
    .js-number-carousel .splide__arrow {
      inset: unset;
      top: 50%;
      translate: 0 -50%;
      rotate: -90deg;
    }
    .js-number-carousel .splide__arrow--prev {
      left: 0;
    }
    .js-number-carousel .splide__arrow--next {
      right: 0;
    }
  }
}
@layer component {
  .c-pagination {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    --pagination-wd: 60px;
  }
  .c-pagination__prev ._btn,
  .c-pagination__prev .is-current, .c-pagination__next ._btn,
  .c-pagination__next .is-current, .c-pagination__item ._btn,
  .c-pagination__item .is-current {
    text-decoration: none;
    display: block;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    margin: 0 5px;
    width: var(--pagination-wd);
    height: var(--pagination-wd);
    line-height: var(--pagination-wd);
  }
  .c-pagination__prev ._btn, .c-pagination__next ._btn, .c-pagination__item ._btn {
    color: inherit;
  }
  @media (any-hover: hover) {
    .c-pagination__prev ._btn, .c-pagination__next ._btn, .c-pagination__item ._btn {
      transition: background-color 0.2s ease;
    }
    .c-pagination__prev ._btn:hover, .c-pagination__next ._btn:hover, .c-pagination__item ._btn:hover {
      color: var(--color-white);
      background-color: var(--color-primary);
    }
  }
  .c-pagination__prev .is-current, .c-pagination__next .is-current, .c-pagination__item .is-current {
    background-color: var(--color-primary);
    color: #fff;
  }
  .c-pagination__prev ._btn, .c-pagination__next ._btn {
    margin-inline: 24px;
    background-position: center;
    background-repeat: no-repeat;
  }
  .c-pagination__prev ._btn[aria-disabled=true], .c-pagination__next ._btn[aria-disabled=true] {
    opacity: 0.4;
    filter: grayscale(1);
    pointer-events: none;
  }
  .c-pagination__prev .c-maru_icon, .c-pagination__next .c-maru_icon {
    width: 100%;
  }
  .c-pagination__prev .c-maru_icon::after, .c-pagination__next .c-maru_icon::after {
    width: 40%;
  }
  @media screen and (max-width: 768px) {
    .c-pagination__item {
      display: none;
    }
    .c-pagination__item:has(.is-current) {
      display: block;
    }
  }
  .c-pagination--indiv {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 3rem;
    margin-top: 8rem;
    border-top: 1px solid var(--color-border);
  }
  @media screen and (max-width: 576px) {
    .c-pagination--indiv {
      display: grid;
      grid-template-columns: 44px 1fr 44px;
      gap: 0 1.4em;
    }
  }
  .c-pagination--indiv__back {
    width: 40%;
    max-width: 240px;
  }
  @media screen and (max-width: 576px) {
    .c-pagination--indiv__back {
      width: 100%;
      max-width: none;
    }
  }
  .c-pagination--indiv__back a {
    width: 100%;
    max-width: none;
  }
  .c-pagination--indiv__prev a, .c-pagination--indiv__next a {
    text-decoration: none;
    display: block;
    padding: 0.4em 1em;
    margin: 0 5px;
    border-bottom: 1px solid currentColor;
  }
  @media (any-hover: hover) {
    .c-pagination--indiv__prev a, .c-pagination--indiv__next a {
      transition: border-bottom-color 0.2s ease;
    }
    .c-pagination--indiv__prev a:hover, .c-pagination--indiv__next a:hover {
      border-bottom-color: var(--color-primary);
    }
  }
  @media screen and (max-width: 576px) {
    .c-pagination--indiv__prev a, .c-pagination--indiv__next a {
      text-indent: -9999px;
      border: 1px solid currentColor;
      aspect-ratio: 1;
      padding: 0;
      border-radius: 50%;
    }
  }
}
@layer component {
  .c-pan {
    font-size: 1.4rem;
    display: flex;
    gap: 0 12px;
  }
  .c-pan .link {
    text-decoration: none;
    color: inherit;
  }
  @media (any-hover: hover) {
    .c-pan .link:hover {
      text-decoration: underline;
    }
  }
}
@layer component {
  .c-press_card {
    --card-inner-space-y:16px;
    display: block;
    color: inherit;
    text-decoration: none;
    color: inherit;
    text-decoration: none;
    container-type: inline-size;
    display: grid;
    grid-row: span 2;
    grid-template-rows: auto 1fr;
    line-height: 1.3;
    position: relative;
  }
  .c-press_card .p-press__label {
    position: absolute;
    right: 4%;
    top: 0;
    translate: 0 -50%;
  }
  .c-press_card__thumb {
    aspect-ratio: 3/2;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--color-primary);
  }
  .c-press_card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .c-press_card__ttl {
    margin-top: var(--card-inner-space-y);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    font-size: var(--font-24);
  }
  .c-press_card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 11px;
    margin-top: var(--card-inner-space-y);
    font-size: 1.4rem;
  }
  .c-press_card__date {
    display: block;
    line-height: 1;
    font-size: 1.4rem;
    font-weight: 500;
    margin-top: var(--card-inner-space-y);
  }
}
@layer component {
  @keyframes scroll_down_bar {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
    }
    50% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
    }
    50.1% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    100% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
  }
  .fix_scroll_gauge {
    opacity: 0;
    transition: opacity 0.6s ease;
  }
  body[data-scroll-status=first-view] .fix_scroll_gauge, body[data-scroll-status=top] .fix_scroll_gauge {
    opacity: 0;
  }
  body[data-scroll-status=up] .fix_scroll_gauge, body[data-scroll-status=down] .fix_scroll_gauge {
    opacity: 1;
  }
  body[data-scroll-status=top] .fix_scroll_gauge {
    pointer-events: none;
  }
  body[data-scroll-rate=end] .fix_scroll_gauge {
    opacity: 0;
  }
  body[data-totop-scrolling=true] .fix_scroll_gauge {
    opacity: 0;
  }
  .c-scroll_gauge {
    --position-r: 24px;
    border: 1px solid var(--color-gray-400);
    background-color: var(--color-white);
    border-radius: 999em;
    writing-mode: vertical-rl;
    z-index: 99;
    position: fixed;
    align-items: center;
    bottom: 30%;
    right: var(--position-r);
    line-height: 1;
    padding: 24px 14px;
    display: flex;
    gap: 0.6em;
    font-size: 1.4rem;
    font-weight: 600;
  }
  @media screen and (max-width: 768px) {
    .c-scroll_gauge {
      display: none;
    }
  }
  .c-scroll_gauge .rate_num {
    height: 20px;
    white-space: nowrap;
    text-align: right;
    display: inline-block;
  }
  .c-scroll_gauge .scroll_rate {
    font-size: 1.6rem;
  }
  .c-scroll_gauge .scroll_rate .per {
    display: inline-block;
    font-size: 1.2rem;
    margin-top: 0.2em;
  }
  .c-scroll_gauge .scroll_arrow {
    position: relative;
    height: 27px;
  }
  .c-scroll_gauge .scroll_arrow::before, .c-scroll_gauge .scroll_arrow::after {
    position: absolute;
    left: 50%;
    content: "";
    display: block;
    background-color: var(--color-primary);
  }
  .c-scroll_gauge .scroll_arrow::before {
    width: 2px;
    height: 100%;
    top: 0;
    translate: -50% 0;
  }
  .c-scroll_gauge .scroll_arrow::after {
    width: 11px;
    aspect-ratio: 1;
    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
    bottom: 0;
    translate: -50% 80%;
  }
  .c-scroll_gauge.--totop {
    --totop-w: 44px;
    position: absolute !important;
    bottom: 20%;
    pointer-events: auto;
  }
  .c-scroll_gauge.--totop .scroll_arrow::before {
    animation: scroll_down_bar 3s cubic-bezier(1, 0, 0, 1) infinite forwards;
  }
  .c-scroll_gauge.--totop .scroll_arrow::after {
    width: 11px;
    aspect-ratio: 1;
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
            clip-path: polygon(50% 0, 100% 100%, 0 100%);
    bottom: auto;
    top: 0;
    translate: -50% -80%;
  }
}
@layer component {
  .c-scroll_hint {
    white-space: nowrap;
    font-size: 1.6rem;
    position: absolute;
    z-index: 0;
    top: 50%;
    left: 50vw;
    width: min(50%, 220px);
    transform: translate(-50%, -50%);
    z-index: 9;
    color: var(--color-white);
    aspect-ratio: 1;
    transition: opacity 0.2s ease;
    text-align: center;
    font-size: 1.4rem;
    container-type: inline-size;
  }
  @keyframes tenmetsuHint {
    from {
      opacity: 0.3;
    }
    to {
      opacity: 0.7;
    }
  }
  .c-scroll_hint::before {
    content: "";
    display: block;
    width: 50%;
    margin-inline: auto;
    margin-top: 12%;
    margin-bottom: 10%;
    aspect-ratio: 1;
    background: url(/recruit/assets/dest/img/common/ico_finger.svg) no-repeat center/contain;
  }
  .c-scroll_hint::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    animation: tenmetsuHint 2s linear 0s infinite alternate;
    background-color: var(--color-font);
    z-index: -1;
    border-radius: 50%;
  }
  .is-scrolled .c-scroll_hint {
    opacity: 0;
  }
  @media not screen and (max-width: 768px) {
    .c-scroll_hint {
      display: none;
    }
  }
}
@layer component {
  .c-sitemap__item {
    text-decoration: none;
    color: inherit;
    font-weight: 500;
    display: block;
  }
  .c-sitemap__item .ttl_en {
    font-size: 75%;
    font-weight: 600;
    display: none;
  }
  .c-sitemap__item.--home {
    display: none;
  }
  .c-sitemap__item[target=_blank]::after {
    content: "";
    display: inline-block;
    width: 14px;
    aspect-ratio: 1;
    background: url(/recruit/assets/dest/img/common/ico_externallink.svg) no-repeat center/contain;
    margin-left: 4px;
  }
}
@layer component {
  .splide__arrow {
    z-index: 1;
    width: 61px;
  }
  @media screen and (max-width: 576px) {
    .splide__arrow {
      width: 50px;
    }
  }
  .splide__arrow::after {
    width: 20px;
  }
  .splide__arrow svg {
    display: none;
  }
}
@layer component {
  [data-tab-content] {
    opacity: 0;
    position: absolute;
    height: 0;
    overflow: hidden;
    transition: opacity 0.3s var(--ease-base);
  }
  [data-tab-content].is-active {
    opacity: 1;
    position: relative;
    height: auto;
    overflow: visible;
  }
}
@layer component {
  .c-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
  }
  .c-tags.--lg {
    font-size: 1.5rem;
  }
  @media screen and (max-width: 768px) {
    .c-tags.--lg {
      font-size: 1.3rem;
    }
  }
  .c-tag {
    background-color: #fff;
    border: 1px solid var(--color-gray-200);
    line-height: 1;
    border-radius: 2em;
    padding: 0.8em 1.2em;
    color: inherit;
    text-decoration: none;
  }
  .c-tag::before {
    content: "#";
  }
}
@layer component {
  @keyframes grad_ttl_line_fadeout {
    0% {
      opacity: 1;
      width: 100%;
    }
    99% {
      opacity: 0;
      width: 100%;
    }
    100% {
      opacity: 0;
      width: 0;
    }
  }
  .base_title_style, .c-grad_ttl {
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
  .c-grad_ttl:not(.is-inview) .line::after {
    animation: grad_ttl_line_fadeout 0.22s ease-out 0s 1 forwards;
  }
  .c-grad_ttl.is-inview .line::after {
    opacity: 1;
    animation: mv_catch_bar 0.3s var(--ease-base) 0s 1 forwards;
  }
  .c-grad_ttl.is-inview .line:nth-child(2)::after {
    animation-delay: 0.18s;
  }
  .c-grad_ttl__en {
    position: relative;
    z-index: 1;
    font-weight: 800;
    font-size: clamp(3rem, 6vw, 10rem);
  }
  @media screen and (max-width: 576px) {
    .c-grad_ttl__en {
      font-size: 16vw;
    }
  }
  .c-grad_ttl__en .line {
    text-box: trim-both cap alphabetic;
    display: block;
    position: relative;
    padding-bottom: 0.13em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-grad_ttl__en .line::after {
    content: "";
    display: block;
    width: 0;
    opacity: 0;
    height: 19px;
    background-image: var(--grad-base);
    z-index: -1;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  @media screen and (max-width: 576px) {
    .c-grad_ttl__en .line::after {
      height: 14px;
    }
  }
  .c-grad_ttl__en .line:not(:first-child) {
    margin-top: 0.22em;
  }
  .c-grad_ttl__ja {
    font-weight: 500;
    margin-top: 0.9em;
  }
  .c-grad_ttl .deco {
    position: absolute;
    display: block;
    height: auto;
  }
  @media screen and (max-width: 576px) {
    .c-grad_ttl .deco {
      scale: 0.7;
      transform-origin: 0 100%;
    }
  }
}
@layer page {
  body.press #wrapper {
    position: relative;
  }
  body.press #wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20%;
    width: 100vw;
    aspect-ratio: 1;
    background-color: #f4f5f6;
    border-radius: 50%;
    z-index: -1;
  }
  body.press .l-headline__en::after {
    position: absolute;
    left: 100%;
    bottom: 0.25em;
    content: "";
    scale: 1 -1;
    display: block;
    width: 1em;
    aspect-ratio: 1;
    background: url(/recruit/assets/dest/img/top/deco_press_pen.svg) no-repeat center/contain;
  }
  .p-press__pickup {
    position: relative;
  }
  .p-press__pickup .c-press_card.--pickup {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 48% 1fr;
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__thumb_wrap {
    position: relative;
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__thumb {
    border-radius: 20px;
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__ttl {
    margin-top: 0;
    font-size: var(--font-32);
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__lead {
    margin-top: 1.8em;
    font-size: var(--font-18);
    line-height: 1.8;
    font-weight: 500;
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__tags {
    margin-top: var(--space-md);
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__txt {
    padding: 0 min(4vw, 50px);
  }
  .p-press__pickup .c-press_card.--pickup .c-press_card__date {
    font-size: 1.6rem;
    margin-top: min(2vw, 30px);
  }
  .p-press__pickup .c-press_card.--pickup .c-tags {
    margin-top: min(4vw, 40px);
    font-size: 1.6rem;
  }
  @media screen and (max-width: 768px) {
    .p-press__pickup .c-press_card.--pickup .c-press_card__txt {
      padding: 20px;
    }
  }
  @media screen and (max-width: 576px) {
    .p-press__pickup .c-press_card.--pickup {
      display: block;
    }
    .p-press__pickup .c-press_card.--pickup .c-press_card__txt {
      padding: 0;
      margin-top: 10px;
    }
  }
  .p-press__pickup__bg_txt {
    line-height: 1;
    z-index: 0;
    position: absolute;
    top: 0;
    left: -0.2em;
    color: var(--color-border);
    font-size: 17rem;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
    writing-mode: vertical-rl;
  }
  @media screen and (max-width: 768px) {
    .p-press__pickup__bg_txt {
      font-size: 32vw;
      opacity: 0.5;
    }
  }
  .p-press__pickup__txt {
    position: relative;
    z-index: 1;
    font-size: var(--font-lead);
    font-weight: 600;
    line-height: 2;
  }
  @media screen and (max-width: 768px) {
    .p-press__pickup__txt {
      padding-top: 4vw;
      width: 100%;
    }
  }
  @media screen and (max-width: 576px) {
    .p-press__pickup__txt br {
      display: none;
    }
  }
  .p-press__list {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 39px;
  }
  @media screen and (max-width: 768px) {
    .p-press__list {
      grid-template-columns: repeat(2, 1fr);
      gap: 3vw;
    }
  }
  @media screen and (max-width: 576px) {
    .p-press__list {
      grid-template-columns: repeat(1, 1fr);
      gap: 60px 0;
    }
  }
  .p-press__tags {
    position: relative;
    z-index: 1;
  }
  .p-press__tags .c-tags {
    gap: 21px 28px;
    font-size: 1.6rem;
  }
  @media screen and (max-width: 1200px) {
    .p-press__tags .c-tags {
      gap: 16px;
    }
  }
  @media screen and (max-width: 768px) {
    .p-press__tags .c-tags {
      font-size: 1.4rem;
      gap: 10px;
    }
  }
  .p-press__tags .c-tag {
    padding: 1.4em 1.3em;
    min-width: 150px;
    text-align: center;
  }
  .p-press__tags .c-tag.is-current {
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .p-press__tags .c-tag::before {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .p-press__tags .c-tag {
      padding: 10px 1em;
    }
  }
  @media screen and (max-width: 992px) {
    .p-press__tags__container {
      flex-direction: column;
    }
    .p-press__tags__content {
      --space: 30px;
      margin-left: 0;
      padding-left: 0;
      border-left: none;
    }
  }
  .p-press__label {
    border-radius: 999em;
    border: 1px solid var(--color-primary);
    line-height: 1;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-weight: 600;
    padding: 0.8em 1.6em 0.7em;
  }
  .p-press__label.--new {
    background-color: var(--color-new);
  }
  .p-press__label.--pickup {
    font-size: var(--font-24);
    font-weight: 700;
    background-image: var(--grad-pickup);
  }
  .p-press__category {
    padding-bottom: min(6vw, 100px);
  }
  .p-press__indiv {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0 min(4vw, 60px);
  }
  .p-press__indiv:has(.p-press__indiv__sub.--empty) {
    justify-content: center;
  }
  .p-press__indiv:has(.p-press__indiv__sub.--empty) .p-press__indiv__main {
    width: min(100%, 820px);
  }
  .p-press__indiv:has(.p-press__indiv__sub.--empty) .p-press__indiv__sub {
    display: none;
  }
  @media screen and (max-width: 992px) {
    .p-press__indiv {
      flex-direction: column;
    }
  }
  .p-press__indiv__sub {
    width: 360px;
    flex-shrink: 0;
  }
  @media screen and (max-width: 992px) {
    .p-press__indiv__sub {
      width: 100%;
    }
  }
  .p-press__indiv__sub .indiv_archive {
    border-radius: 30px;
    border: 1px solid var(--color-primary);
    overflow: hidden;
  }
  .p-press__indiv__sub .indiv_archive ._ttl {
    position: relative;
    line-height: 1;
    border-bottom: 1px solid var(--color-primary);
    padding: 1em 0 0.8em;
    font-size: var(--font-24);
    font-weight: 600;
    text-align: center;
    background-image: linear-gradient(to right, #e4ffd9, #ebf8ff);
  }
  .p-press__indiv__sub .indiv_archive ._list {
    background-color: var(--color-white);
    padding: 10px 12% 30px;
  }
  .p-press__indiv__sub .indiv_archive ._list a {
    display: block;
    color: inherit;
    font-weight: 400;
    text-decoration: none;
    border-bottom: 1px solid var(--color-border);
    padding-block: 1em;
    line-height: 1.3;
  }
  .p-press__indiv__sub .indiv_pickup:not(:first-child) {
    margin-top: var(--space-md);
  }
  .p-press__indiv__sub .indiv_pickup ._ttl {
    position: relative;
    line-height: 1;
    border: 1px solid var(--color-primary);
    border-bottom: 1px solid var(--color-primary);
    border-radius: 10px;
    padding: 1em 0 0.8em;
    font-size: var(--font-24);
    font-weight: 600;
    text-align: center;
    background-image: var(--grad-pickup);
    margin-bottom: var(--space-sm);
  }
  @media screen and (max-width: 992px) {
    .p-press__indiv__sub {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      align-items: start;
      gap: 20px;
    }
    .p-press__indiv__sub .indiv_pickup {
      margin-top: 0;
    }
  }
  @media screen and (max-width: 768px) {
    .p-press__indiv__sub {
      grid-template-columns: repeat(1, 1fr);
      gap: 8vw;
      width: 100%;
    }
  }
  .p-press__indiv .indiv_head .c-tags {
    margin-top: 2em;
  }
  .p-press__indiv .indiv_ttl {
    margin-top: 12px;
    font-weight: 500;
    font-size: clamp(2rem, 3vw, 4.5rem);
    line-height: 1.3;
  }
  .p-press__indiv .indiv_date {
    display: block;
    margin-top: 2em;
  }
  .p-press__indiv .indiv_body {
    margin-bottom: 60px;
  }
  .p-press__indiv .indiv_body .alignleft {
    float: left;
    margin-right: 20px;
  }
  .p-press__indiv .indiv_body .alignright {
    float: right;
    margin-left: 20px;
  }
  .p-press__indiv .indiv_body .aligncenter {
    margin: auto;
  }
  .p-press__indiv .indiv_body hr {
    border-top: 1px solid rgba(var(--color-primary), 0.3);
    border-bottom: none;
    margin: 2em 0;
  }
  .p-press__indiv .indiv_body img,
  .p-press__indiv .indiv_body p,
  .p-press__indiv .indiv_body ul,
  .p-press__indiv .indiv_body ol {
    margin: 1em 0;
  }
  .p-press__indiv .indiv_body img {
    height: auto;
  }
  .p-press__indiv .indiv_body a {
    color: var(--color-primary);
    text-decoration: underline;
    word-break: break-all;
  }
  .p-press__indiv .indiv_body iframe {
    max-width: 100%;
    margin: 2em 0;
  }
  .p-press__indiv .indiv_body h1,
  .p-press__indiv .indiv_body h2,
  .p-press__indiv .indiv_body h3,
  .p-press__indiv .indiv_body h4,
  .p-press__indiv .indiv_body h5,
  .p-press__indiv .indiv_body h6 {
    font-weight: bold;
    margin: 0 0 0.5em 0;
    scroll-margin-top: 80px;
  }
  .p-press__indiv .indiv_body h1 {
    font-size: 200%;
  }
  .p-press__indiv .indiv_body h2 {
    font-size: 180%;
  }
  .p-press__indiv .indiv_body h3 {
    font-size: 160%;
  }
  .p-press__indiv .indiv_body h4 {
    font-size: 140%;
  }
  .p-press__indiv .indiv_body h5 {
    font-size: 120%;
  }
  .p-press__indiv .indiv_body h6 {
    font-size: 100%;
  }
  .p-press__indiv .indiv_body blockquote {
    background: rgba(var(--color-primary), 0.1);
    margin: 1em 0;
    padding: 1em;
    border: 1px dashed var(--color-primary);
  }
  .p-press__indiv .indiv_body table {
    width: 100%;
    border-top: 1px solid #ccc;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 1em 0;
  }
  .p-press__indiv .indiv_body table th,
  .p-press__indiv .indiv_body table td {
    padding: 1em;
    border-bottom: 1px solid #ccc;
    background: #fff;
  }
  .p-press__indiv .indiv_body table th {
    background: rgba(var(--color-primary), 0.1);
    text-align: center;
    font-size: 110%;
    width: 30%;
  }
  .p-press__indiv .indiv_body ul {
    margin: 1em 0;
    list-style-type: disc;
  }
  .p-press__indiv .indiv_body ul li {
    margin-left: 1.3em;
    margin-bottom: 0.3em;
  }
  .p-press__indiv .indiv_body ul li::marker {
    color: var(--color-primary);
    font-size: 1.2em;
  }
  .p-press__indiv .indiv_body ol {
    counter-reset: counter;
  }
  .p-press__indiv .indiv_body ol li {
    padding-left: 1.5em;
    position: relative;
    line-height: 1.5;
    position: relative;
    padding-left: 1.5em;
    margin: 0.2em 0;
  }
  .p-press__indiv .indiv_body ol li:before {
    display: block;
    position: absolute;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    left: 0;
    color: var(--color-primary);
    font-size: 150%;
    counter-increment: counter;
    content: counters(counter, ".") " ";
    top: -0.25em;
    left: 0;
  }
  .p-press__indiv_nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 23px;
  }
  .p-press__indiv_nav .c-base_btn {
    padding-block: 1.1em;
  }
  .p-press__indiv_nav .btn {
    display: block;
    width: 60px;
  }
  .p-press__indiv_nav .btn.is-disabled {
    filter: grayscale(1);
    opacity: 0.6;
  }
  .p-press__indiv_nav .btn .c-maru_icon {
    width: 100%;
  }
  .p-press__indiv_nav .btn .c-maru_icon::after {
    width: 40%;
  }
  .p-press__recommend {
    margin-top: var(--space-lg);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--color-border);
    position: relative;
    z-index: 1;
  }
  .p-press__recommend .reco_ttl {
    text-align: center;
    font-size: var(--font-40);
    font-weight: 500;
  }
  @media screen and (max-width: 768px) {
    .p-press__recommend .p-press__list_wrap {
      overflow-x: auto;
    }
    .p-press__recommend .p-press__list {
      padding-block: 20px;
      display: block;
      width: auto;
    }
    .p-press__recommend .p-press__list:has(> :nth-child(2)) {
      display: flex;
      width: -webkit-max-content;
      width: -moz-max-content;
      width: max-content;
      gap: 0 22px;
    }
    .p-press__recommend .c-press_card {
      flex-shrink: 0;
      width: 290px;
    }
    .p-press__recommend .c-press_card:only-of-type {
      display: block;
      width: 100%;
    }
    .p-press__recommend > .c-container-xl {
      padding-inline: 0;
    }
  }
  .p-press__module {
    padding-top: var(--space-xl);
  }
  @media screen and (max-width: 576px) {
    .p-press__module {
      padding-top: 8vw;
    }
  }
  @media screen and (max-width: 576px) {
    .p-press__module .c-lead {
      word-break: unset;
    }
    .p-press__module .c-lead br {
      display: none;
    }
  }
  .p-press__module__list .splide__list {
    gap: 30px;
  }
  .p-press__module__list .splide__slide {
    max-width: 400px;
  }
  .p-press__module__container {
    display: grid;
    grid-template-columns: min(15%, 350px) minmax(0, 1fr);
    gap: 0 min(8vw, 90px);
  }
  @media screen and (max-width: 768px) {
    .p-press__module__container {
      display: block;
    }
  }
  .p-press__module__header {
    z-index: 0;
    position: relative;
    writing-mode: vertical-rl;
  }
  @media screen and (max-width: 768px) {
    .p-press__module__header {
      writing-mode: horizontal-tb;
    }
  }
  .p-press__module__bg_txt {
    line-height: 1;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    color: var(--color-border);
    font-size: min(11vw, 17rem);
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
  }
  @media screen and (max-width: 768px) {
    .p-press__module__bg_txt {
      writing-mode: vertical-rl;
      font-size: 40vw;
      opacity: 0.5;
    }
  }
  .p-press__module__ttl {
    color: var(--color-green);
    font-size: var(--font-xxl);
  }
  @media screen and (max-width: 576px) {
    .p-press__module__ttl {
      font-size: 8vw;
      line-height: 1.3;
    }
  }
  .p-press__module__ttl ._outline {
    color: var(--color-white);
    text-shadow: 1px 1px 0 var(--color-green), -1px -1px 0 var(--color-green), -1px 1px 0 var(--color-green), 1px -1px 0 var(--color-green), 0px 1px 0 var(--color-green), -1px 0 var(--color-green), -1px 0 0 var(--color-green), 1px 0 0 var(--color-green);
  }
  @media screen and (max-width: 576px) {
    .p-press__module__ttl ._outline {
      display: block;
    }
  }
  @media screen and (max-width: 768px) {
    .p-press__module__content {
      margin-top: 1em;
      position: relative;
      z-index: 1;
    }
  }
  .p-press__module__article {
    margin-top: var(--space-md);
  }
  .p-press__module__article .c-press_card.--pickup {
    max-width: 998px;
    display: grid;
    grid-template-columns: 54% 1fr;
  }
  .p-press__module__article .c-press_card.--pickup .c-press_card__thumb {
    border-radius: 20px;
  }
  .p-press__module__article .c-press_card.--pickup .c-press_card__txt {
    padding: 30px 50px;
  }
  @media screen and (max-width: 768px) {
    .p-press__module__article .c-press_card.--pickup .c-press_card__txt {
      padding: 20px;
    }
  }
  @media screen and (max-width: 576px) {
    .p-press__module__article .c-press_card.--pickup {
      display: block;
    }
    .p-press__module__article .c-press_card.--pickup .c-press_card__txt {
      padding: 0;
      margin-top: 10px;
    }
  }
  .p-press__module__slider {
    position: relative;
  }
  @media not screen and (max-width: 768px) {
    .p-press__module__slider .splide__arrow--next {
      right: 80px;
    }
  }
  @media screen and (max-width: 576px) {
    .p-press__module__slider.not-slider {
      padding-left: 20px;
    }
  }
  .p-press__module__slider.not-slider .splide__list {
    overflow-x: auto;
  }
  .p-press__module__slider.not-slider .splide__slide {
    flex-shrink: 0;
    width: 100%;
  }
  .p-press__module .c-btns {
    padding-inline: 30px;
    margin-top: var(--space-lg);
  }
  @media screen and (max-width: 576px) {
    .p-press__module .c-btns {
      justify-content: center;
    }
  }
  @media screen and (max-width: 768px) {
    .p-press__module__header,
    .p-press__module .c-lead,
    .p-press__module .c-press_card.--pickup {
      padding-inline: 3%;
    }
  }
  .p-press__mokuji {
    padding-bottom: var(--space-md);
  }
  .p-press__mokuji__list .ez-toc-heading-level-2 > a {
    color: var(--color-green);
    text-decoration: none;
    font-weight: 600;
    display: block;
    padding: 0.9em 0;
    padding-left: 2em;
    border-bottom: 1px dashed var(--color-green);
    background: url(/recruit/assets/dest/img/common/ico_fukidashi_green.svg) no-repeat left 1em/1.3em auto;
  }
  @media (any-hover: hover) {
    .p-press__mokuji__list .ez-toc-heading-level-2 > a:hover {
      text-decoration: underline;
    }
  }
  .p-press__mokuji__list .ez-toc-heading-level-3 > a,
  .p-press__mokuji__list .ez-toc-heading-level-4 > a,
  .p-press__mokuji__list .ez-toc-heading-level-5 > a {
    color: var(--color-green);
    text-decoration: none;
    font-weight: 600;
    display: block;
    padding: 0.9em 0;
    padding-left: 2em;
    border-bottom: 1px dashed var(--color-green);
  }
  @media (any-hover: hover) {
    .p-press__mokuji__list .ez-toc-heading-level-3 > a:hover,
    .p-press__mokuji__list .ez-toc-heading-level-4 > a:hover,
    .p-press__mokuji__list .ez-toc-heading-level-5 > a:hover {
      text-decoration: underline;
    }
  }
}
@layer utility {
  .u-block-xxl {
    display: none;
  }
  @media screen and (max-width: 1400px) {
    .u-block-xxl {
      display: block;
    }
  }
  .u-block-xl {
    display: none;
  }
  @media screen and (max-width: 1200px) {
    .u-block-xl {
      display: block;
    }
  }
  .u-block-lg {
    display: none;
  }
  @media screen and (max-width: 992px) {
    .u-block-lg {
      display: block;
    }
  }
  .u-block-md {
    display: none;
  }
  @media screen and (max-width: 768px) {
    .u-block-md {
      display: block;
    }
  }
  .u-block-sm {
    display: none;
  }
  @media screen and (max-width: 576px) {
    .u-block-sm {
      display: block;
    }
  }
}
@layer utility {
  @media screen and (max-width: 768px) {
    .u-d-block--pc {
      display: none;
    }
  }
  @media screen and (min-width: 768px) {
    .u-d-block--pc {
      display: block;
    }
  }
  @media screen and (min-width: 768px) {
    .u-d-block--sp {
      display: none;
    }
  }
  @media screen and (max-width: 768px) {
    .u-d-block--sp {
      display: block;
    }
  }
  @media screen and (max-width: 768px) {
    .u-d-inline--pc {
      display: none;
    }
  }
  @media screen and (min-width: 768px) {
    .u-d-inline--pc {
      display: inline;
    }
  }
  @media screen and (min-width: 768px) {
    .u-d-inline--sp {
      display: none;
    }
  }
  @media screen and (max-width: 768px) {
    .u-d-inline--sp {
      display: inline;
    }
  }
  @media screen and (max-width: 768px) {
    .u-d-inline-block--pc {
      display: none;
    }
  }
  @media screen and (min-width: 768px) {
    .u-d-inline-block--pc {
      display: inline-block;
    }
  }
  @media screen and (min-width: 768px) {
    .u-d-inline-block--sp {
      display: none;
    }
  }
  @media screen and (max-width: 768px) {
    .u-d-inline-block--sp {
      display: inline-block;
    }
  }
  .u-display-hide {
    display: none;
  }
}
@layer utility {
  .u-font-xl {
    font-size: var(--font-xl);
  }
  .u-font-lg {
    font-size: var(--font-lg);
  }
  .u-font-md {
    font-size: var(--font-md);
  }
  .u-font-sm {
    font-size: var(--font-sm);
  }
  .u-font-xs {
    font-size: var(--font-xs);
  }
}
@layer utility {
  @media screen and (max-width: 1400px) {
    .u-hide-xxl {
      display: none;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-hide-xl {
      display: none;
    }
  }
  @media screen and (max-width: 992px) {
    .u-hide-lg {
      display: none;
    }
  }
  @media screen and (max-width: 768px) {
    .u-hide-md {
      display: none;
    }
  }
  @media screen and (max-width: 576px) {
    .u-hide-sm {
      display: none;
    }
  }
}
@layer utility {
  .u-mt-xl {
    margin-top: var(--space-xl);
  }
  .u-mt-lg {
    margin-top: var(--space-lg);
  }
  .u-mt-md {
    margin-top: var(--space-md);
  }
  .u-mt-sm {
    margin-top: var(--space-sm);
  }
  .u-pt-xl {
    padding-top: var(--space-xl);
  }
  .u-pt-lg {
    padding-top: var(--space-lg);
  }
  .u-pt-md {
    padding-top: var(--space-md);
  }
  .u-pt-sm {
    padding-top: var(--space-sm);
  }
}
@layer utility {
  .u-text-alignL {
    text-align: left;
  }
  .u-text-alignC {
    text-align: center;
  }
  .u-text-alignR {
    text-align: right;
  }
}
@layer utility {
  .u-col-1 {
    width: 8.333333%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-1--xxl {
      width: 8.333333%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-1--xl {
      width: 8.333333%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-1--lg {
      width: 8.333333%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-1--md {
      width: 8.333333%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-1--sm {
      width: 8.333333%;
    }
  }
  .u-col-2 {
    width: 16.666666%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-2--xxl {
      width: 16.666666%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-2--xl {
      width: 16.666666%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-2--lg {
      width: 16.666666%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-2--md {
      width: 16.666666%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-2--sm {
      width: 16.666666%;
    }
  }
  .u-col-3 {
    width: 24.999999%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-3--xxl {
      width: 24.999999%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-3--xl {
      width: 24.999999%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-3--lg {
      width: 24.999999%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-3--md {
      width: 24.999999%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-3--sm {
      width: 24.999999%;
    }
  }
  .u-col-4 {
    width: 33.333332%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-4--xxl {
      width: 33.333332%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-4--xl {
      width: 33.333332%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-4--lg {
      width: 33.333332%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-4--md {
      width: 33.333332%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-4--sm {
      width: 33.333332%;
    }
  }
  .u-col-5 {
    width: 41.666665%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-5--xxl {
      width: 41.666665%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-5--xl {
      width: 41.666665%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-5--lg {
      width: 41.666665%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-5--md {
      width: 41.666665%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-5--sm {
      width: 41.666665%;
    }
  }
  .u-col-6 {
    width: 49.999998%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-6--xxl {
      width: 49.999998%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-6--xl {
      width: 49.999998%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-6--lg {
      width: 49.999998%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-6--md {
      width: 49.999998%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-6--sm {
      width: 49.999998%;
    }
  }
  .u-col-7 {
    width: 58.333331%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-7--xxl {
      width: 58.333331%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-7--xl {
      width: 58.333331%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-7--lg {
      width: 58.333331%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-7--md {
      width: 58.333331%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-7--sm {
      width: 58.333331%;
    }
  }
  .u-col-8 {
    width: 66.666664%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-8--xxl {
      width: 66.666664%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-8--xl {
      width: 66.666664%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-8--lg {
      width: 66.666664%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-8--md {
      width: 66.666664%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-8--sm {
      width: 66.666664%;
    }
  }
  .u-col-9 {
    width: 74.999997%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-9--xxl {
      width: 74.999997%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-9--xl {
      width: 74.999997%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-9--lg {
      width: 74.999997%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-9--md {
      width: 74.999997%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-9--sm {
      width: 74.999997%;
    }
  }
  .u-col-10 {
    width: 83.33333%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-10--xxl {
      width: 83.33333%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-10--xl {
      width: 83.33333%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-10--lg {
      width: 83.33333%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-10--md {
      width: 83.33333%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-10--sm {
      width: 83.33333%;
    }
  }
  .u-col-11 {
    width: 91.666663%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-11--xxl {
      width: 91.666663%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-11--xl {
      width: 91.666663%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-11--lg {
      width: 91.666663%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-11--md {
      width: 91.666663%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-11--sm {
      width: 91.666663%;
    }
  }
  .u-col-12 {
    width: 99.999996%;
  }
  @media screen and (max-width: 1400px) {
    .u-col-12--xxl {
      width: 99.999996%;
    }
  }
  @media screen and (max-width: 1200px) {
    .u-col-12--xl {
      width: 99.999996%;
    }
  }
  @media screen and (max-width: 992px) {
    .u-col-12--lg {
      width: 99.999996%;
    }
  }
  @media screen and (max-width: 768px) {
    .u-col-12--md {
      width: 99.999996%;
    }
  }
  @media screen and (max-width: 576px) {
    .u-col-12--sm {
      width: 99.999996%;
    }
  }
}