@charset "utf-8";

.fv {
  margin-block-start: clamp(1.5625rem, -2.4560978982rem + 17.1460176991vw, 11.25rem);
}

.fv__catch {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 0.625rem;
  justify-content: space-between;
  margin-inline: auto;
  padding-inline: 20px;
  position: relative;
  z-index: 2;
}

@media screen and (width >= 862px) {
  .fv__catch {
    padding-inline: 40px;
    width: min(1367px, 100%);
  }
}

.fv__catch-title {
  color: #fff;
  font-size: 2.25rem;
  font-size: clamp(2.25rem, 0.0721792035rem + 9.2920353982vw, 7.5rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  margin-inline-start: 1.875rem;
  text-align: left;
}

.fv__catch-texts {
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, 0.3657356195rem + 1.1061946903vw, 1.25rem);
  margin-block-start: -0.875rem;
  margin-inline-start: auto;
  text-align: right;
  width: fit-content;
}

@media screen and (width >= 1366px) {
  .fv__catch-texts {
    margin-block-start: -3.375rem;
  }
}

.fv__catch-text {
  font-size: 0.75rem;
  font-size: clamp(0.75rem, 0.6722206858rem + 0.3318584071vw, 0.9375rem);
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}

.fv__swiper-container,
.fv__swiper,
.fv__swiper-wrapper,
.fv__swiper-slide {
  position: relative;
}

.fv__swiper-wrapper {
  transition-timing-function: linear;
  display: flex;
}

.fv__swiper-slide {
  aspect-ratio: 1326/460;
  height: auto;
  width: 1326px;
}

.fv__swiper-slide img {
  aspect-ratio: inherit;
}

.fv__slider-imgs {
  margin-block-start: -0.3125rem;
  margin-inline: auto;
  position: relative;
  width: 97vw;
  z-index: 1;
}

@media screen and (width >= 1366px) {
  .fv__slider-imgs {
    margin-block-start: -1.6875rem;
  }
}

.feature {
  overflow: hidden;
  padding-block-end: 3.125rem;
  padding-block-start: 9.375rem;
}

@media screen and (min-width: 1000px) {
  .feature {
    padding-block-end: 0;
  }
}

.feature__contents {
  margin-inline: auto;
  padding-inline: 40px;
  width: min(1280px, 100%);
}

.feature__title {
  font-size: 1.625rem;
  font-size: clamp(1.625rem, 1.0027654867rem + 2.6548672566vw, 3.125rem);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.7;
  width: -moz-fit-content;
  width: fit-content;
}

.feature__body {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  justify-content: space-between;
  row-gap: 1.875rem;
}

@media screen and (width >=600px) {
  .feature__body {
    align-items: center;
  }
}

@media screen and (width >=1000px) {
  .feature__body {
    flex-direction: row;
  }
}

.feature__slider-imgs {
  display: flex;
  flex-direction: column;
  height: auto;
  margin-block-start: 6.125rem;
  width: clamp(20rem, 15.3332411504rem + 19.9115044248vw, 31.25rem);
}

.feature__text-btn {
  width: 100%;
}

@media screen and (width >=1000px) {
  .feature__text-btn {
    margin-block-start: -10rem;
    width: min(50%, 600px);
  }
}

.feature__text-wrap {
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, 0.0027654867rem + 2.6548672566vw, 2.125rem);
  width: -moz-fit-content;
  width: fit-content;
}

.feature__text-wrap p {
  font-size: 0.875rem;
  font-size: clamp(0.875rem, 0.7972206858rem + 0.3318584071vw, 1.0625rem);
  font-weight: 500;
  letter-spacing: 0em;
  letter-spacing: 0.05em;
  line-height: 2.1428571429;
}

.feature__btn {
  margin-block-start: 4.375rem;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (width >=1000px) {
  .feature__btn {
    margin-inline: unset;
  }
}

.feature__btn .common-cta-link {
  padding-block: 1rem;
  padding-right: 15.625rem;
}

.feature__swiper-container,
.feature__swiper,
.feature__swiper-wrapper,
.feature__swiper-slide {
  position: relative;
}

.feature__swiper-container:first-of-type {
  aspect-ratio: 255/320;
  height: auto;
  width: clamp(8.75rem, 5.7684596239rem + 12.7212389381vw, 15.9375rem);
}

.feature__swiper-container:first-of-type img {
  aspect-ratio: 255/320;
}

.feature__swiper-container:nth-of-type(2) {
  align-self: flex-end;
  aspect-ratio: 195/245;
  height: auto;
  margin-block-start: -8.125rem;
  width: 195px;
  width: clamp(6.875rem, 4.6712527655rem + 9.4026548673vw, 12.1875rem);
}

.feature__swiper-container:nth-of-type(2) img {
  aspect-ratio: 195/245;
}

.feature__swiper-container:nth-of-type(3) {
  aspect-ratio: 420/240;
  height: auto;
  margin-block-start: 3rem;
  width: clamp(18.4375rem, 15.1966952434rem + 13.8274336283vw, 26.25rem);
}

.feature__swiper-container:nth-of-type(3) img {
  aspect-ratio: 420/240;
}

@media screen and (width >=1000px) {
  .feature__swiper-container:nth-of-type(3) {
    margin-left: -7%;
  }
}

.feature__swiper-wrapper {
  transition-timing-function: linear;
  display: flex;
}

.feature__swiper-slide img {
  border-radius: 5px;
}

.feature .swiper-button-prev,
.feature .swiper-button-next,
.feature .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: unset;
  left: unset;
  margin: 0;
  padding: 0;
  right: unset;
  top: unset;
}

.feature .swiper-button-prev::after,
.feature .swiper-button-next::after {
  content: "";
}

.feature .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
}

.common-cta-link {
  border: 1px solid #fff;
  border-radius: 10px;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0em;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-block: 1.4375rem;
  padding-inline: 1.25rem 12.5rem;
  position: relative;
  white-space: nowrap;
  width: min(80%, 300px);
}

.common-cta-link::after {
  aspect-ratio: 5/10;
  background: url(../images/icon_chevron-right.png) no-repeat center center/cover;
  content: "";
  height: auto;
  position: absolute;
  right: 1.5em;
  top: 50%;
  translate: 0 -50%;
  width: 5px;
}

.recruit {
  background: #e9e9e9;
  border-radius: 8px 8px 0 0;
  padding-block-end: clamp(3.75rem, 1.6758849558rem + 8.8495575221vw, 8.75rem);
  position: relative;
  overflow: hidden;
}

@media screen and (width >=1000px) {
  .recruit {
    margin-block-start: -1.25rem;
  }
}

.recruit__contents {
  margin-inline: auto;
  padding-block-start: 3.125rem;
  padding-inline: 40px;
  width: min(1280px, 100%);
}

@media screen and (min-width: 768px) {
  .recruit__contents {
    padding-block-start: 8.75rem;
  }
}

.recruit__header {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  justify-content: space-between;
  width: min(100%, 989px);
}

.recruit__header-text {
  color: #272a2c;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 2.2;
}

.recruit__body {
  margin-block-start: 3.6875rem;
  position: relative;
}

.recruit__body .common-cta-link {
  border: 1px solid currentcolor;
  color: #272a2c;
  display: block;
  margin-block-start: 5.625rem;
  margin-left: auto;
  /* width: fit-content; */
  padding-block: 18px;
}

.recruit__body .common-cta-link::after {
  background: url(../images/icon_chevron-right-black.png) no-repeat center center/cover;
}

@media screen and (min-width: 768px) {
  .recruit__body .common-cta-link {
    margin-block-start: 1.6875rem;
  }
}

.recruit__slider-imgs {
  width: calc(100% + 50vw - 50%);
}

.recruit__slider-titles {
  align-items: flex-start;
  bottom: 13%;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  left: 7%;
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 2;
}

.recruit__slider-title-en {
  font-size: 2.25rem;
  font-size: clamp(1.625rem, 1.3657356195rem + 1.1061946903vw, 2.25rem);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1;
}

.recruit__slider-title-ja {
  font-size: 1.125rem;
  font-size: clamp(1.125rem, 1.125rem + 0vw, 1.125rem);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1;
}

.recruit__swiper-container,
.recruit__swiper,
.recruit__swiper-wrapper,
.recruit__swiper-slide {
  position: relative;
}

.recruit__swiper-wrapper {
  transition-timing-function: linear;
  display: flex;
}

.recruit__swiper-slide {
  aspect-ratio: 580/400;
  height: 100%;
  margin-inline-end: 1.25rem;
  position: relative;
  width: min(80%, 580px);
}

@media (any-hover: hover) {
  .recruit__swiper-slide:hover::after {
    opacity: 0.3;
  }
}

.recruit__swiper-slide::before {
  /* 下部だけ黒くするグラデーション */
  background: linear-gradient(to top, rgb(0 0 0 / 50%) 30%, rgb(0 0 0 / 0%) 70%);
  border-radius: 8px;
  content: "";
  inset: 0;
  pointer-events: none; /* クリックを邪魔しない */
  position: absolute;
  z-index: 1;
}

.recruit__swiper-slide::after {
  aspect-ratio: 50/50;
  background: url(../images/icon_rectangle-chevron-right.png) no-repeat center center/cover;
  bottom: 11%;
  content: "";
  height: auto;
  pointer-events: none;
  position: absolute;
  right: 7%;
  width: clamp(1.875rem, 1.3564712389rem + 2.2123893805vw, 3.125rem);
  z-index: 1;
}

.recruit__swiper-slide img {
  border-radius: 8px;
  max-height: 400px;
  max-width: 580px;
  aspect-ratio: 580/400;
}

.recruit__swiper-slide-link {
  height: 100%;
}

.recruit .swiper-button-prev,
.recruit .swiper-button-next,
.recruit .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: unset;
  left: unset;
  margin: 0;
  padding: 0;
  right: unset;
  top: unset;
}

.recruit .swiper-button-prev::after,
.recruit .swiper-button-next::after {
  content: "";
}

.recruit .swiper-button-prev,
.recruit .swiper-button-next {
  bottom: 10px;
  height: 36px;
  position: absolute;
  top: 36px;
  width: 36px;
}

.recruit .swiper-button-prev {
  left: -30px;
}

@media screen and (min-width: 768px) {
  .recruit .swiper-button-prev {
    left: clamp(-1.875rem, -4.2830267559rem + 5.016722408vw, 0rem);
  }
}

.recruit .swiper-button-next {
  left: 97%;
}

@media screen and (min-width: 768px) {
  .recruit .swiper-button-next {
    left: clamp(18.75rem, 13.4523411371rem + 11.0367892977vw, 22.875rem);
  }
}

.recruit .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
}

.recruit .swiper-pagination-progressbar.swiper-pagination-horizontal {
  height: 2px;
  left: 20px;
  top: calc(100% - 90px);
  width: 260px;
}

@media screen and (min-width: 768px) {
  .recruit .swiper-pagination-progressbar.swiper-pagination-horizontal {
    left: 4.5%;
    top: calc(100% - 27px);
    width: clamp(16.25rem, 13.0392976589rem + 6.6889632107vw, 18.75rem);
  }
}

.recruit .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #272a2c;
}

.recruit .recruit__swiper-prev-next {
  position: relative;
  width: 300px;
}

.common-header-group {
  color: #272a2c;
}

.common-header-group__title-en {
  font-size: 2.5rem;
  font-size: clamp(2.5rem, 1.9814712389rem + 2.2123893805vw, 3.75rem);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1;
}

.common-header-group__title-ja {
  font-size: 1rem;
  font-size: clamp(1rem, 0.8444413717rem + 0.6637168142vw, 1.375rem);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1;
  margin-block-start: 0.875rem;
}

.service {
  border-radius: 8px 8px 0 0;
  margin-block-start: -1.25rem;
  padding-block: clamp(2.5rem, 0.3221792035rem + 9.2920353982vw, 7.75rem) clamp(2.5rem, 0.2184734513rem + 9.7345132743vw, 8rem);
  position: relative;
}

.service__contents {
  margin-inline: auto;
  padding-inline: 40px;
  width: min(1280px, 100%);
}

.service__titles {
  position: relative;
  z-index: 2;
}

.service__title-en {
  font-size: 1rem;
  font-size: clamp(1rem, 0.8444413717rem + 0.6637168142vw, 1.375rem);
  font-weight: 500;
  letter-spacing: 0em;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.service__title-ja {
  font-size: 1.625rem;
  font-size: clamp(1.625rem, 0.7435011062rem + 3.7610619469vw, 3.75rem);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1.6;
  margin-block-start: 1.0625rem;
  width: -moz-fit-content;
  width: fit-content;
}

.service__body {
  margin-block-start: -0.9375rem;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .service__body {
    display: flex;
    flex-direction: row;
    gap: 6.25rem;
    justify-content: space-between;
    margin-block-start: -1.875rem;
  }
}

.service__slider-imgs {
  margin-left: calc(-1 * (50vw - 50%));
  width: calc(89.3333333333% + 50vw - 50%);
}

@media screen and (min-width: 768px) {
  .service__slider-imgs {
    width: calc(44.1434846266% + 50vw - 50%);
  }
}

.service__text-btn {
  margin-block-start: clamp(1.25rem, 0.3425746681rem + 3.8716814159vw, 3.4375rem);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .service__text-btn {
    width: clamp(17.1875rem, -8.8994565217rem + 54.347826087vw, 37.5rem);
  }
}

.service__text-wrap {
  display: flex;
  flex-direction: column;
  gap: clamp(0.625rem, 0.0027654867rem + 2.6548672566vw, 2.125rem);
  width: -moz-fit-content;
  width: fit-content;
}

.service__text-wrap p {
  font-size: 0.875rem;
  font-size: clamp(0.875rem, 0.7972206858rem + 0.3318584071vw, 1.0625rem);
  font-weight: 500;
  letter-spacing: 0em;
  letter-spacing: 0.05em;
  line-height: 2.1428571429;
}

.service__btn {
  margin-block-start: 4.375rem;
  margin-inline: auto;
}

@media screen and (width >=1000px) {
  .service__btn {
    margin-inline: unset;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.service__btn .common-cta-link {
  padding-block: 1rem;
  padding-right: 15.625rem;
}

.service__swiper-container,
.service__swiper,
.service__swiper-wrapper,
.service__swiper-slide {
  position: relative;
}

.parent-swiper .swiper-wrapper {
  aspect-ratio: 460/460;
  height: auto;
  width: clamp(16.25rem, 11.0647123894rem + 22.1238938053vw, 28.75rem);
}

.parent-swiper .swiper-wrapper {
  transition-timing-function: linear;
  display: flex;
}

.parent-swiper .swiper-slide img {
  border-radius: 5px;
  aspect-ratio: 460/460;
}

.service__swiper-slide img {
  border-radius: 5px;
}

.service .swiper-button-prev,
.service .swiper-button-next,
.service .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: unset;
  left: unset;
  margin: 0;
  padding: 0;
  right: unset;
  top: unset;
}

.service .swiper-button-prev::after,
.service .swiper-button-next::after {
  content: "";
}

.service .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  opacity: 1;
}