.container {}

@media (max-width: 1200px) {
  .container {
    padding: 5vw;
  }
}



.s-main-visual {
  padding: 0
}


@media (max-width: 1200px) {
  .s-main-visual .container-lg {
    padding: 0;
  }
}

@media (max-width: 1200px) {
  .container-lg {
    padding: 0;
  }
}

.s-main-visual .content {
  height: 84vh;
  border-radius: 1.25rem;
  transition: all .6s ease-in-out, transform 2s ease .7s;
  overflow: hidden
}

@media (max-width: 1200px) {
  .s-main-visual .content {
    height: auto;
    aspect-ratio: 19 / 10;
  }
}

.main--visual_image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center
}

.s-main-visual .content {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0vw;

}

@media (max-width: 1200px) {
  .s-main-visual .content {
    padding-top: 13vw;
    align-items: flex-start;
    border-radius: 0;
  }
}


.p-recruit-mv__text {
  position: absolute;
  left: 2%;
  top: 49%;
  z-index: 2;
  color: #fff;
  text-align: left;
  width: auto;
  padding: 0 5.33vw;
  margin-top: -5%;
}

@media (max-width: 1200px) {
  .p-recruit-mv__text {
    position: absolute;
    left: 15%;
    top: 40%;
    z-index: 2;
    color: #fff;
    text-align: left;
    width: auto;
    padding: 0 5.33vw;
    margin-top: -5%;
    opacity: 0.9;
  }
}

.p-recruit-mv__sub {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: min(1.7vw, 1.65rem);
  letter-spacing: 0.05em;
  margin-bottom: -0.33vw;
  display: block;
}

.p-recruit-mv__title {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 16.9vw;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0;
  display: block;
  color: #fff;
}

@media (min-width: 769px) {

  .p-recruit-mv__title,
  .s-main-visual .content h2 {
    font-size: min(7.7vw, 120px);
    /* 130px */
  }
}

/* SP adjustments */
@media (max-width: 1200px) {
  .p-recruit-mv__sub {
    font-size: 2.83vw;
    margin-bottom: -0.67vw;
  }

  .p-recruit-mv__title {
    font-size: 12.9vw;
  }

}


.s-intro h2 {
  font-size: clamp(4.19rem, 4.05vw + 3.25rem, 7.5rem)
}

.s-intro h3 {
  font-size: clamp(1.38rem, 1.23vw + 1.09rem, 2.38rem);
  margin-bottom: 1.875rem;
  white-space: nowrap
}

.s-intro p {
  font-size: clamp(.88rem, .46vw + .77rem, 1.25rem)
}

.s-intro p .span-line {
  position: relative;
  display: inline-flex;
  overflow: hidden
}

.s-intro p .span-line--inner {
  position: relative;
  display: block
}



.s-concept .content>div {
  margin-bottom: 4.76vw;
  margin-left: 13vw;
}

@media (max-width: 1200px) {
  .s-concept .content>div {
    margin-bottom: initial;
    margin-left: initial;
  }
}

.s-concept {
  padding-top: 2rem;
}

.s-concept .content>div+div {
  margin-top: 5rem
}

@media (max-width: 1200px) {
  .s-concept .content>div+div {
    margin-top: 7rem
  }
}


.s-concept .content-img {
  margin-top: 0vw;
}



@media (max-width: 1200px) {
  .s-concept .content-img {
    margin-top: 8vw;
  }
}


.s-concept .content-img picture {
  height: 87.47vw;
  border-radius: .938rem;
  overflow: hidden
}

.s-concept .content-img picture img {
  height: 100%;
  object-fit: cover;
  object-position: center
}

.s-concept .content-txt {
  margin-top: 1.875rem
}

.s-concept .content-txt h2 {
  font-size: clamp(1.5rem, 1.07vw + 1.25rem, 2.38rem);
  margin-bottom: 3vw;
}

.s-concept .content-txt h3 {
  font-size: clamp(1rem, .15vw + .96rem, 1.13rem);
  margin-bottom: 1.25rem
}

.s-member {
  background: #343434;
  color: #fff;
  overflow-x: hidden
}

#members_slider {
  overflow: inherit
}

#members_slider::after {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 105%;
  top: 0;
  bottom: 0;
  left: -100%;
  margin: auto;
  background: #343434;
  z-index: 2
}

#members_slider .swiper-wrapper {
  transition-timing-function: linear
}

#members_slider .swiper-slide {
  position: relative;
  width: clamp(11.25rem, 14.3vw + 7.93rem, 22.94rem)
}

#members_slider .swiper-slide a {
  width: 100%
}

#members_slider .swiper-slide .member-img {
  width: 100%;
  height: clamp(14.56rem, 20.08vw + 9.86rem, 30.94rem);
  margin-bottom: 1.25rem;
  border-radius: .938rem;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

#members_slider .swiper-slide .member-img img {
  height: 100%;
  object-fit: cover;
  object-position: center
}

#members_slider .swiper-slide .member-txt h3 {
  font-size: clamp(1.13rem, .15vw + 1.09rem, 1.25rem)
}

#members_slider .swiper-slide .member-txt p {
  font-size: clamp(.88rem, .31vw + .8rem, 1.13rem)
}

.modal-open {
  overflow: hidden
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  outline: 0;
  transition: all .45s ease-out
}

.modal.fade .modal-dialog {
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0)
}

.modal.in .modal-dialog {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto
}

.modal-dialog {
  width: 100%;
  margin: 0
}

.modal-content {
  position: relative;
  height: 100%;
  padding: 2.5rem 1.25rem;
  color: #343434
}

.member-content {
  display: flex;
  flex-wrap: wrap;
  margin: 0.89vw
}

.member-content>div {
  width: 100%
}

.member-content .member-image figure {
  border-top-right-radius: .938rem;
  border-top-left-radius: .938rem;
  overflow: hidden
}

.member-content .member-image figure img {
  height: 100%;
  object-fit: cover;
  transform: scale(1.01)
}

.member-content .member-desc {
  background: #fff;
  border-bottom-right-radius: .938rem;
  border-bottom-left-radius: .938rem;
}

.modal-content .close {
  position: fixed;
  top: .625rem;
  right: 1.875rem;
  display: inline-block;
  width: 3.125rem;
  height: 3.125rem;
  background: transparent;
  transition: 0.2s linear;
  z-index: 1
}

.modal-content .close .closer {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  width: 3.45vw;
  height: 3.45vw;
  color: #343434
}

.modal-content .close .closer span+span {
  background: #343434;
  display: block;
  width: 1.125rem;
  height: 1px;
  -webkit-transition: all .6s cubic-bezier(.22, .61, .36, 1);
  -moz-transition: all .4s cubic-bezier(.22, .61, .36, 1);
  -o-transition: all .4s cubic-bezier(.22, .61, .36, 1);
  transition: all .6s cubic-bezier(.22, .61, .36, 1);
  opacity: 1
}

.modal-content .close .closer span:nth-of-type(1) {
  margin-top: .625rem
}

.modal-body {
  position: relative
}

.modal-body h2 {
  font-size: clamp(1.25rem, .61vw + 1.11rem, 1.75rem)
}

.modal-body h2 span {
  display: block
}

.modal-body h2 span+span {
  font-size: clamp(1rem, .46vw + .89rem, 1.38rem)
}

.modal-content .desc {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #343434
}

.modal-content .desc>div+div {
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #D5D5D5
}

.modal-content .desc h3 {
  font-size: clamp(1rem, .46vw + .89rem, 1.38rem);
  margin-bottom: .938rem
}

.modal-content .desc .lead {
  font-size: clamp(1rem, .15vw + .96rem, 1.13rem)
}

.modal-content .message {
  margin-top: 1.875rem;
  padding: 1.875rem 0 1.25rem 0;
  border-top: 1px solid #D5D5D5;
  border-bottom: 1px solid #343434
}

.modal-content .message h4 {
  font-size: clamp(1rem, .15vw + .96rem, 1.13rem);
  margin-bottom: .935rem
}

.modal-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
  background-color: rgba(52, 52, 52, .85);
  opacity: 0;
  transition: all .3s cubic-bezier(0.6, -0.28, 0.735, 0.045)
}

body.modal-open .modal-overlay {
  display: block;
  opacity: 1;
  transition: all .3s cubic-bezier(0.175, .665, .5, .98);
  z-index: 1000
}

.s-our--history .content dl {
  font-size: clamp(1rem, .31vw + .93rem, 1.25rem);
  padding: 1.25rem 0;
  border-top: 1px solid #343434
}

.s-our--history .content dl:last-of-type {
  border-bottom: 1px solid #343434
}

.s-our--history .content dl dd {
  font-size: clamp(.88rem, .46vw + .77rem, 1.25rem);
  margin-top: .938rem
}

.s-company--profile {
  background: #F8F8F8;
  border-top: 1px solid #343434;
  border-bottom: 1px solid #343434
}

.s-company--profile .content>div+div {
  margin-top: 1.25rem
}

.s-company--profile .content dl {
  font-size: clamp(.81rem, .23vw + .76rem, 1rem);
  display: flex
}

.s-company--profile .content dl+dl {
  margin-top: 1.25rem
}

.s-company--profile .content dl dt {
  font-weight: 800;
  flex-shrink: 0;
  width: 4.375rem
}

.s-company--profile .content dl dd {
  font-weight: 500;
  flex-basis: auto;
  width: 100%;
  margin-left: 2.5rem
}

.profile-content {
  padding: 0
}

.s-our-service ul {
  display: flex;
  flex-direction: column;
  gap: 2.5rem
}

.s-our-service ul>li {
  width: 100%
}

.s-our-service ul>li .-inner {
  display: flex;
  flex-direction: column;
  align-items: center
}

.s-service--image {
  width: 100%;
  height: clamp(16.94rem, 8.13vw + 15.03rem, 23.56rem);
  border-radius: .935rem;
  overflow: hidden
}

.s-service--image::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0
}

.s-our-service ul>li:nth-of-type(1) .s-service--image::after {
  background: url(../img/about/our-service01.webp) center / cover no-repeat
}

.s-our-service ul>li:nth-of-type(2) .s-service--image::after {
  background: url(../img/about/our-service02.webp) center / cover no-repeat
}

.s-our-service ul>li:nth-of-type(3) .s-service--image::after {
  background: url(../img/about/our-service03.webp) center / cover no-repeat
}

.s-our-service .btn-primary {
  width: 17.313rem;
  margin-top: 1.25rem
}

/*-- 2023-09-14 --*/
.modal .close {
  position: fixed;
  width: 3.125rem;
  height: 3.125rem;
  top: 4%;
  right: 7%;
  display: inline-block;
  background: transparent;
  transition: 0.2s linear;
  z-index: 1
}

@media (max-width: 1200px) {
  .modal .close {
    top: 3.5vw;
    right: 3.5vw;
  }
}


.modal .close .closer {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #343434
}

.modal .close .closer span+span {
  background: #343434;
  display: block;
  width: 1.125rem;
  height: 1px;
  -webkit-transition: all .6s cubic-bezier(.22, .61, .36, 1);
  -moz-transition: all .4s cubic-bezier(.22, .61, .36, 1);
  -o-transition: all .4s cubic-bezier(.22, .61, .36, 1);
  transition: all .6s cubic-bezier(.22, .61, .36, 1);
  opacity: 1
}

.modal .close .closer span:nth-of-type(1) {
  margin-top: .625rem
}

/*-- 20230928 --*/
.--recruit_page #header {
  border-bottom: 0
}

/*-- media query 64rem --*/
@media (min-width:64rem) {
  .--recruit_page {
    overflow-x: inherit
  }

  .s-main-visual .content h2 {
    align-items: center;
    height: 100%;
    top: 0;
    right: 10%;
    left: auto;
    font-size: 7.5vw;
  }

  .s-intro {
    padding-top: 6.25rem;
    text-align: center
  }

  .s-intro h3 {
    margin-bottom: 3.75rem
  }

  .s-concept {
    padding: 5rem 0;
    border-top: 0
  }

  .s-concept .container {
    width: 100%;
    max-width: 100%;
    padding: 0
  }

  .s-concept .content>div {
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5vw;
    top: 0;
    margin-bottom: 5rem;
    margin-left: 13vw;
    padding: 0;
    background: #fff;
  }

  .s-concept .content-img {
    position: relative;
    width: calc(100% - 40%);
    height: 100vh;
  }

  .s-concept .content-img img {
    height: 100%;
    object-fit: cover;
  }

  .s-concept .content-txt {
    margin-top: 0
  }

  .s-concept .content-img picture {
    width: 100%;
    height: 80vh;
    border-radius: 1.25rem
  }

  .s-concept .content>div+div {
    margin-top: 0
  }

  .s-concept .content>div:last-of-type {
    margin-bottom: 0
  }

  .s-member .s-ttl {
    text-align: left
  }

  .s-our--history .content dl {
    display: flex;
    padding: 3.125rem 0
  }

  .s-our--history .content dl dt {
    flex-shrink: 0;
    width: 3.75rem
  }

  .s-our--history .content dl dd {
    flex-basis: auto;
    width: 100%;
    margin-top: 0;
    margin-left: 2.5rem
  }

  .s-company--profile .content {
    display: flex;
    gap: 6.25rem
  }

  .s-company--profile .content>div {
    width: 50%
  }

  .s-company--profile .content>div+div {
    margin-top: 0
  }

  .s-our-service ul {
    flex-direction: row
  }

  .s-our-service ul>li {
    width: 33.33333%
  }

  .s-our-service .btn-primary {
    margin-top: 2.5rem
  }
}

/*-- media query 75rem --*/
@media (min-width:75rem) {
  .s-main-visual .content {
    height: 47.938rem
  }

  .modal-dialog {
    width: 85vw;
    /*max-width:1250px;*/
    margin: 0 auto
  }

  .member-content {
    flex-wrap: nowrap;
    gap: 3.125rem;
    height: 90vh;
    margin: 0 auto;
    margin-top: 1.79vw;
    padding: clamp(2.5rem, 8.33vw + -3.75rem, 5rem);
    background: #fff;
    border-radius: 1.25rem;
    overflow: hidden
  }

  .member-content>div {
    width: 50%
  }

  .member-content .member-image figure {
    width: 100%;
    height: 100%;
    border-radius: 1.25rem
  }

  .modal-content .close {
    position: absolute;
    top: -1.25rem;
    right: 1.25rem
  }

  .modal-content {
    padding: 0;
    overflow-y: auto
  }

  .modal-content .title {
    font-size: 1.25rem
  }

  .modal-content .name .jp {
    font-size: 1.875rem
  }

  .modal-content .name .en {
    font-size: 0.875rem;
    margin-left: 1.19vw
  }

  .modal-content .desc {
    margin-top: 2.38vw
  }

  .modal-content .desc dl {
    font-size: 1rem
  }

  .modal-content .comment {
    font-size: 0.875rem;
    padding-top: 3.57vw
  }

  .modal-content .close .closer {
    flex-direction: row;
    width: 4.375rem
  }

  .modal-content .close .closer span:nth-of-type(1) {
    margin-top: 0;
    margin-right: .313rem
  }

  .modal-content .message {
    padding-bottom: 1.75rem
  }

  /*-- 2023-09-14 --*/
  .modal .close {
    position: absolute;
    width: 3.375vw;
    right: 9%
  }

  .modal .close .closer {
    flex-direction: row
  }

  .modal .close .closer span:nth-of-type(1) {
    margin-top: 0;
    margin-right: .313rem
  }
}

/* Force overrides for s-concept content01 (Value) in Recruit Page - PC Only */
@media (min-width: 769px) {
  .page-template-recruit .s-concept .content01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    padding: 0;
    gap: 0;
  }

  .page-template-recruit .s-concept .content01 .content-txt {
    width: 40%;
    margin-top: 0;
  }

  .page-template-recruit .s-concept .content01 .content-img {
    width: 60%;
    height: auto;
    position: relative;
    right: -5%;
  }

  .page-template-recruit .s-concept .content01 .content-img img {
    width: 100%;
    height: auto;
    border-radius: 0;
    -webkit-mask-image: url(../img/recruit/mask-concept-v.png);
    mask-image: url(../img/recruit/mask-concept-v.png);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    aspect-ratio: 930 / 730;
    object-fit: cover;
  }

  /* Typography Overrides */
  .page-template-recruit .s-concept .content01 .content-txt h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 2.26vw;
    /* 38px @ 1680px */
    letter-spacing: 0.05em;
    line-height: normal;
    margin-bottom: 1.19vw;
  }

  .page-template-recruit .s-concept .content01 .content-txt h3 {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.07vw;
    /* 18px @ 1680px */
    letter-spacing: 0.05em;
    margin-bottom: 1.19vw;
    color: #272727;
  }

  .page-template-recruit .s-concept .content01 .content-txt p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    font-size: 0.95vw;
    /* 16px @ 1680px */
    letter-spacing: 0.05em;
    line-height: 2.0;
  }
}

/* Marquee Section */
.p-recruit-marquee {
  width: 100%;
  overflow: hidden;
  background: #fff;
  padding: 3.57vw 0;
}

.p-recruit-marquee__track {
  display: flex;
  width: fit-content;
  animation: marquee_scroll 60s linear infinite;
  /* Slow scroll */
}

.p-recruit-marquee__item {
  flex-shrink: 0;
  padding-right: 0.2em;
}

.p-recruit-marquee__item span {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  /* SemiBold */
  font-size: 11.31vw;
  /* 190px @ 1680px */
  color: #ededed;
  letter-spacing: 0.57vw;
  line-height: normal;
  white-space: nowrap;
  display: block;
}

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

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

  /* Matches 3 items logic */
}

@media (max-width: 1024px) {
  .p-recruit-marquee__item span {
    font-size: 16.95vw;
    letter-spacing: 0.24vw;
  }

  .p-recruit-marquee {
    padding: 5vw 0;
  }
}

/* Message Section */
.p-recruit-message {
  position: relative;
  width: 100%;
  /* Overlay background image */
  background: url(../img/recruit/message_bg.jpg) center / cover no-repeat;
  padding: 13.1vw 0;
  color: #fff;
  overflow: hidden;
}

.p-recruit-message__inner {
  position: relative;
  z-index: 2;
  padding: 0 13vw;
}

.p-recruit-message__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  /* Bold */
  font-size: 2.26vw;
  /* 38px @ 1680px */
  letter-spacing: 0.05em;
  /* 1.9px / 38px = 0.05 */
  line-height: normal;
  margin-bottom: 1.79vw;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  /* Ensure readability */
}

.p-recruit-message__text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  /* Bold as per Figma */
  font-size: 1.19vw;
  /* 20px @ 1680px */
  letter-spacing: 0.05em;
  /* 1px / 20px = 0.05 */
  line-height: 2.5;
  /* 50px / 20px = 2.5 */
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
}

.p-recruit-message__text p {
  margin-bottom: 0;
  line-height: 2.5;
}

@media (max-width: 1200px) {
  .p-recruit-message {
    padding: 26.67vw 0;
  }

  .p-recruit-message__title {
    font-size: 7.47vw;
  }

  .p-recruit-message__text {
    font-size: 4.27vw;
    line-height: 2.0;
  }
}

/* PC Typography & Layout Overrides (Standardize to VW based on 1680px) */
@media (min-width: 769px) {

  /* --- Typography --- */

  /* Main Visual Title */

  /* Intro */
  .s-intro h2 {
    font-size: 7.13vw;
    /* 120px */
  }

  .s-intro h3 {
    font-size: 2.27vw;
    /* 38px */
    margin-bottom: 3.57vw;
    /* 60px */
  }

  .s-intro p {
    font-size: 1.19vw;
    /* 20px */
  }

  /* Generic Concept */
  .s-concept .content-txt h2 {
    font-size: 2.27vw;
    /* 38px */
    margin-bottom: 1vw;
  }

  .s-concept .content-txt h3 {
    font-size: 1.08vw;
    /* 18px */
  }

  .s-concept .content-txt p {
    font-size: 0.96vw;
    /* 16px */
  }

  /* Members Slider */
  #members_slider .swiper-slide .member-txt h3 {
    font-size: 1.19vw;
    /* 20px */
  }

  #members_slider .swiper-slide .member-txt p {
    font-size: 1.08vw;
    /* 18px */
  }

  /* History */
  .s-our--history .content dl,
  .s-our--history .content dl dd {
    font-size: 1.19vw;
    /* 20px */
  }

  /* Company Profile */
  .s-company--profile .content dl {
    font-size: 0.95vw;
    /* 16px */
  }

  /* Message Section Text */
  .p-recruit-message__title {
    font-size: 2.26vw;
    /* 38px */
  }

  .p-recruit-message__text {
    font-size: 1.19vw;
    /* 20px */
  }

  /* --- Layout Metrics --- */

  /* Section Spacing */
  .s-intro {
    padding-top: 5.95vw;
    /* 100px */
  }

  .s-concept {
    padding: 4.76vw 0;
    /* 80px */
  }

  /* History Layout */
  .s-our--history .content dl {
    padding: 2.98vw 0;
    /* 50px */
  }

  .s-our--history .content dl dt {
    width: 3.57vw;
    /* 60px */
  }

  .s-our--history .content dl dd {
    margin-left: 2.38vw;
    /* 40px */
  }

  /* Company Profile Layout */
  .s-company--profile .content {
    gap: 5.95vw;
    /* 100px */
  }

  .s-company--profile .content dl dt {
    width: 4.17vw;
    /* 70px */
  }

  .s-company--profile .content dl dd {
    margin-left: 2.38vw;
    /* 40px */
  }

  /* Service Layout */
  .s-our-service .btn-primary {
    width: 16.49vw;
    /* 277px */
    margin-top: 2.38vw;
    /* 40px */
  }

  /* Message Section Layout */
  .p-recruit-message {
    padding: 13.10vw 0;
    /* 220px */
  }

  .p-recruit-message__title {
    margin-bottom: 1.79vw;
    /* 30px */
  }
}

/* Thought Section */
.p-recruit-thought {
  background: #fff;
  padding: 4.76vw 0;
}

.p-recruit-thought__content {
  display: flex;
  flex-direction: column;
  padding: 0 1.19vw;
  gap: 2.38vw;
  max-width: 71.43vw;
  margin: 0 auto;
}

.p-recruit-thought__img {
  width: 100%;
  position: relative;
  border-radius: 1.5vw;
  overflow: hidden;
}

.p-recruit-thought__img img {
  width: 100%;
  height: auto;
  aspect-ratio: 524 / 694;
  object-fit: cover;
}

.p-recruit-thought__txt {
  width: 100%;
  color: #272727;
}

.p-recruit-thought__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.43vw;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 1.19vw;
}

.p-recruit-thought__desc {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 0.83vw;
  letter-spacing: 0.05em;
  line-height: 2.0;
}

.p-recruit-thought__desc p {
  margin-bottom: 0;
}

/* Mobile Overrides (375px base) */
@media (max-width: 1200px) {
  .p-recruit-thought {
    padding: 21.33vw 5.33vw;
  }

  .p-recruit-thought__content {
    flex-direction: column;
    gap: 8vw;
    padding: 0;
    max-width: 100%;
  }

  .p-recruit-thought__img {
    width: 100%;
    border-radius: 4.27vw;
  }

  .p-recruit-thought__img img {
    aspect-ratio: 524 / 694;
  }

  .p-recruit-thought__txt {
    width: 100%;
  }

  .p-recruit-thought__title {
    font-size: 4.27vw;
    letter-spacing: 0.1em;
    line-height: 1.6;
    margin-bottom: 5.33vw;
  }

  .p-recruit-thought__desc {
    font-size: 3.73vw;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
}

/* PC Overrides (VW) */
@media (min-width: 769px) {
  .p-recruit-thought {
    padding: 10.71vw 0;
    /* 180px @ 1680 */
  }

  .p-recruit-thought__content {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    max-width: none;
    margin: 0;
    padding: 0px 13vw;

  }

  .p-recruit-thought__img {
    width: 32vw;
  }

  .p-recruit-thought__txt {
    width: auto;
    /* 595px @ 1680 */
  }

  .p-recruit-thought__title {
    font-size: 2.5vw;
    /* 42px @ 1680 */
    letter-spacing: 0.2em;
    /* 8.4px */
    line-height: 1.66;
    /* 70px */
    margin-bottom: 2.38vw;
    /* 40px */
  }

  .p-recruit-thought__desc {
    font-size: 1.19vw;
    /* 20px @ 1680 */
    letter-spacing: 0.05em;
    line-height: 2.5;
    /* 50px */
  }
}

/* --- Member Section Updates (Figma Match) --- */

/* Header & Navigation */
.s-member {
  padding: 4.76vw 0;
  background: linear-gradient(90deg, #343434 0%, #343434 100%);
  /* Base fallback */
  background: linear-gradient(90deg, rgb(52, 52, 52) 0%, rgb(52, 52, 52) 100%), linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 100%);
  color: #fff;
  padding-bottom: 5vw;
}

.p-recruit-member__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 2.38vw;
  position: relative;
}

.s-ttl-wrap {
  display: flex;
  align-items: baseline;
  gap: 1.19vw;
}

.s-member .s-ttl {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.5vw;
  letter-spacing: 0.1em;
  margin: 0;
  color: #fff;
}

.s-sub-ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.31vw;
  letter-spacing: 0.05em;
  margin: 0;
  color: #fff;
}

.swiper-navigation {
  display: flex;
  gap: 1.79vw;
}

.swiper-button-prev,
.swiper-button-next {
  position: static;
  /* Override Swiper default */
  width: 5.36vw;
  height: 5.36vw;
  margin: 0;
  background: transparent;
  cursor: pointer;
}

.swiper-button-prev {
  transform: rotate(180deg);
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.swiper-button-prev img,
.swiper-button-next img {
  width: 100%;
  height: 100%;
  display: block;
}

/* Mobile default */
#members_slider .swiper-slide {
  width: 23.69vw;
  /* 398px */
  color: #fff;
  padding-right: 1.79vw;
  box-sizing: border-box;
}

#members_slider .swiper-slide .member-img {
  width: 100%;
  height: 32.74vw;
  margin-bottom: 1.79vw;
  border-radius: 0;
  /* Apply Mask */
  -webkit-mask-image: url(../img/recruit/mask-member.png);
  mask-image: url(../img/recruit/mask-member.png);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

#members_slider .swiper-slide .member-txt {
  text-align: left;
  padding-left: 0;
}

.member-role {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 0.95vw;
  letter-spacing: 0.1em;
  margin-bottom: 0.3vw;
  opacity: 0.9;
}

.member-name {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 2.02vw;
  /* 34px */
  letter-spacing: 0.1em;
  margin-bottom: 0;
  line-height: 1.2;
}

.member-name-en {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 0.95vw;
  letter-spacing: 0.1em;
  margin-bottom: 1.19vw;
  opacity: 0.8;
}

.member-interview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 7.74vw;
  height: 2.62vw;
  background: #fff;
  border-radius: 1.31vw;
  color: #272727;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.95vw;
  letter-spacing: 0.05em;
  margin-top: 0.6vw;
}

/* PC Overrides (VW) */
@media (min-width: 769px) {
  .s-member {
    padding: 10.71vw 14.58vw;
    /* Keep container padding */
    overflow-x: clip;
    /* Allow negative margin visual but prevent scrollbar if needed, or hidden */
  }

  /* Break out the slider to the right edge */
  #members_slider {
    margin-right: -14.58vw;
    width: calc(100% + 14.58vw);
  }

  #members_slider .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  }

  #members_slider .swiper-slide {
    width: 24.88vw;
    /* 21.90 (Img) + 2.98 (Gap) */
    margin-right: 0;
    padding-right: 2.98vw;
    /* 50px Gap */
    box-sizing: border-box;
  }

  #members_slider .swiper-slide .member-img {
    height: 32.74vw;
    /* 550px */
    margin-bottom: 1.79vw;
    /* 30px */
  }

  .member-role {
    font-size: 0.95vw;
    /* 16px */
  }

  .member-name {
    font-size: 2.02vw;
    /* 34px */
  }

  .member-name-en {
    font-size: 0.95vw;
    /* 16px */
  }

  .member-interview {
    width: 7.74vw;
    /* 130px */
    height: 2.61vw;
    /* 44px */
    font-size: 0.95vw;
    /* 16px */
    border-radius: 1.31vw;
  }

  /* Header adjustments to match Layout */
  .s-member .s-ttl {
    font-size: 2.5vw;
    /* 42px */
  }

  .s-sub-ttl {
    font-size: 1.31vw;
    /* 22px */
  }

  .swiper-navigation {
    gap: 1.79vw;
    /* 30px */
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 5.36vw;
    /* 90px */
    height: 5.36vw;
  }
}

/* Mobile Overrides (375px base) */
@media (max-width: 1200px) {
  .s-member {
    padding: 21.33vw 0;
    overflow-x: hidden;
    position: relative;
  }

  .p-recruit-member__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 5.33vw;
    margin-bottom: 10.67vw;
    padding: 0 5.33vw;
  }

  .s-ttl-wrap {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 1.33vw;
  }

  .s-member .s-ttl {
    font-size: 7.47vw;
  }

  .s-sub-ttl {
    font-size: 4.27vw;
  }

  .swiper-navigation {
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 100%;
    left: 0;
    top: 116vw;
    z-index: 10;
    padding: 0;
    gap: 0;
  }

  .swiper-button-prev,
  .swiper-button-next {
    position: relative;
    width: 10.67vw;
    height: 10.67vw;
    top: auto;
    bottom: auto;
    z-index: 10;
    display: flex;
    margin: 0;
  }

  .swiper-button-prev {
    left: 0;
  }

  .swiper-button-next {
    right: 0;
  }

  #members_slider {
    width: 100%;
    margin-right: 0;
    padding-left: 0;
  }

  #members_slider .swiper-slide {
    width: 67vw;
    padding: 0 3.79vw;
  }

  #members_slider .swiper-slide .member-img {
    height: auto;
    aspect-ratio: 368 / 550;
    margin-bottom: 5.33vw;
  }

  .member-role {
    font-size: 3.2vw;
    margin-bottom: 1.33vw;
  }

  .member-name {
    font-size: 4.8vw;
    margin-bottom: 1.33vw;
  }

  .member-name-en {
    font-size: 3.2vw;
    margin-bottom: 4vw;
  }

  .member-interview {
    width: 34.67vw;
    height: 10.67vw;
    font-size: 3.2vw;
    border-radius: 5.33vw;
    margin-top: 2.67vw;
  }
}

/* ==========================================================================
   New Modal Design (Figma Based)
   ========================================================================== */

#myModal_steven .modal-dialog,
#myModal_sora .modal-dialog,
#myModal_miai .modal-dialog,
#myModal_moechi .modal-dialog,
#myModal_lee .modal-dialog,
#myModal_sawa .modal-dialog,
#myModal_sayappy .modal-dialog,
#myModal_marin .modal-dialog,
#myModal_aramari .modal-dialog {
  max-width: none;
  width: auto;
  height: auto;
  margin: 0 auto;
  padding: 0;

  /* Centering Logic */
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;

  pointer-events: none;
  /* Pass through clicks to backdrop */
}

#myModal_steven .p-recruit-modal__dialog,
#myModal_sora .p-recruit-modal__dialog,
#myModal_miai .p-recruit-modal__dialog,
#myModal_moechi .p-recruit-modal__dialog,
#myModal_lee .p-recruit-modal__dialog,
#myModal_sawa .p-recruit-modal__dialog,
#myModal_sayappy .p-recruit-modal__dialog,
#myModal_marin .p-recruit-modal__dialog,
#myModal_aramari .p-recruit-modal__dialog {
  pointer-events: auto;
  /* Re-enable pointer events for content */
}

/* Specific Adjustments for mobile to stack correctly */
@media (max-width: 1200px) {

  #myModal_steven .modal-dialog,
  #myModal_sora .modal-dialog,
  #myModal_miai .modal-dialog,
  #myModal_moechi .modal-dialog,
  #myModal_lee .modal-dialog,
  #myModal_sawa .modal-dialog,
  #myModal_sayappy .modal-dialog,
  #myModal_marin .modal-dialog,
  #myModal_aramari .modal-dialog {
    display: block;
    min-height: auto;
    margin: 5.33vw;
    padding-top: 5.33vw;
  }
}


/* Content Container */
.p-recruit-modal__content {
  background: #fff;
  border-radius: 1.19vw;
  /* 20px */
  overflow: hidden;
  position: relative;
  /* Use VW for PC */
  padding: 4.76vw;
  /* 80px */
  display: flex;
  align-items: stretch;
  gap: 2.98vw;
  /* 50px */
  width: auto;
  max-width: 90vw;
  max-height: 90vh;
  margin: 5vh 0;
  box-sizing: border-box;

  /* Ensure clicks work */
  pointer-events: auto;
}

/* Close Button Position + Design */
.p-recruit-modal__close {
  position: absolute;
  top: 1.19vw;
  /* 20px approx */
  right: 1.19vw;
  z-index: 10;
  pointer-events: auto;
  width: 2.38vw;
  /* 40px */
  height: 2.38vw;
  background: transparent;
  border: none;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 0.3s;
}

.p-recruit-modal__close:hover {
  opacity: 0.7;
}

@media (max-width: 1200px) {
  .p-recruit-modal__close {
    top: 2.67vw;
    right: 2.67vw;
    width: 8vw;
    height: 8vw;
  }
}

.p-recruit-modal__close-icon {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.p-recruit-modal__close-icon::before,
.p-recruit-modal__close-icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  /* Thickness of line */
  background-color: #343434;
  /* Dark color */
  transform: translate(-50%, -50%) rotate(45deg);
}

.p-recruit-modal__close-icon::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* Left Image */
.p-recruit-modal__img {
  width: 29.76vw;
  /* 500px */
  height: initial;
  flex-shrink: 0;
  border-radius: 1.19vw;
  /* 20px */
  overflow: hidden;
}

.p-recruit-modal__img figure,
.p-recruit-modal__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin: 0;
}

/* Right Info */
.p-recruit-modal__info {
  width: 28.57vw;
  /* 480px */
  display: flex;
  flex-direction: column;
  gap: 1.79vw;
  /* 30px */
  text-align: left;
  overflow: auto;
  min-height: 35.71vw;
  padding-right: 1vw;
}

/* Profile Header */
.p-recruit-modal__profile {
  display: flex;
  flex-direction: column;
  gap: 0.9vw;
  /* 15px */
  margin-bottom: 0.6vw;
}

.p-recruit-modal__profile .role {
  font-size: 0.95vw;
  /* 16px */
  letter-spacing: 0.1em;
  margin: 0;
  line-height: 1.5;
  color: #272727;
}

.p-recruit-modal__profile .name {
  font-size: 2.14vw;
  /* 36px */
  letter-spacing: 0.1em;
  margin: 0;
  line-height: 1.2;
  color: #272727;
}

.p-recruit-modal__profile .name-en {
  font-size: 0.95vw;
  /* 16px */
  letter-spacing: 0.1em;
  margin: 0;
  line-height: 1.5;
  color: #272727;
}

/* Q&A List */
.p-recruit-modal__qa {
  display: flex;
  flex-direction: column;
  gap: 2.08vw;
  /* 35px */
}

.p-recruit-modal__qa-item {
  display: flex;
  flex-direction: column;
  gap: 0.60vw;
  /* 10px */
  border-bottom: 1px dashed #272727;
  padding-bottom: 1.79vw;
  /* 30px */
}

.p-recruit-modal__qa-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Question Line */
.p-recruit-modal__qa-item .question {
  display: flex;
  align-items: center;
  gap: 0.6vw;
  /* 10px */
}

@media (max-width: 1200px) {
  .p-recruit-modal__qa-item .question {
    gap: 1.6vw;
  }

}

.p-recruit-modal__qa-item .q-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.38vw;
  /* 40px */
  min-height: 2.38vw;
  background: #272727;
  /* Fallback if img not used, usually bg image in design */
  border-radius: 50%;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 0.95vw;
  line-height: 1;
}

.p-recruit-modal__qa-item .q-text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 0.95vw;
  /* 16px */
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin: 0;
  color: #272727;
}

/* Answer */
.p-recruit-modal__qa-item .answer {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 0.95vw;
  /* 16px */
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin: 0;
  color: #272727;
}

/* SP Adjustments overlay */
@media (max-width: 1200px) {

  #myModal_steven .modal-dialog,
  #myModal_sora .modal-dialog,
  #myModal_miai .modal-dialog,
  #myModal_moechi .modal-dialog,
  #myModal_lee .modal-dialog,
  #myModal_sawa .modal-dialog,
  #myModal_sayappy .modal-dialog,
  #myModal_marin .modal-dialog,
  #myModal_aramari .modal-dialog {
    display: block;
    /* Stack normally on mobile */
    min-height: auto;
    margin: 5.33vw;
    /* padding-top: 5.33vw; */
    padding-top: 0;
    height: calc(100vh - 10.66vw);
  }

  .p-recruit-modal__content {
    flex-direction: column;
    padding: 19vw 5.33vw 8vw;
    width: 100%;
    margin: 0 auto;
    max-height: none;
    overflow-y: visible;
    gap: 8vw;
    max-width: 100%;
    height: auto;
    height: 100%;
  }

  .p-recruit-modal__qa {
    display: flex;
    flex-direction: column;
    gap: 7.08vw;
  }

  .p-recruit-modal__qa-item {
    display: flex;
    flex-direction: column;
    gap: 1.6vw;
    border-bottom: 1px dashed #272727;
    padding-bottom: 6.79vw;
  }

  .p-recruit-modal__img {
    width: 100%;
    height: auto;
    aspect-ratio: 500/702;
    border-radius: 2.67vw;
  }

  .p-recruit-modal__info {
    width: 100%;
    gap: 5.33vw;
    padding-top: 0;
    min-height: max-content;
    overflow: initial;
  }

  .p-recruit-modal__profile .name {
    font-size: 6.4vw;
  }

  .p-recruit-modal__profile .role,
  .p-recruit-modal__profile .name-en,
  .p-recruit-modal__qa-item .q-text,
  .p-recruit-modal__qa-item .answer {
    font-size: 3.73vw;
  }

  .p-recruit-modal__profile .role {
    font-size: 3.2vw;
  }

  .p-recruit-modal__qa-item .q-icon {
    min-width: 8vw;
    min-height: 8vw;
    font-size: 3.2vw;
  }

  .p-recruit-modal__close {
    top: 2.67vw;
    right: 2.67vw;
  }
}

@media screen and (min-width: 768px) {
  .p-ideal__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.38vw;
  }

  .p-ideal__row.-reverse {
    flex-direction: row-reverse;
  }

  .p-ideal__text-col {
    width: 45%;
  }

  .p-ideal__img-col {
    width: 50%;
  }
}

.p-ideal__item {
  display: flex;
  align-items: flex-start;
  gap: 0.89vw;
  margin-bottom: 1.19vw;
}

.p-ideal__item img {
  width: 1.43vw;
  flex-shrink: 0;
  margin-top: 0.24vw;
}

.p-ideal__images {
  position: relative;
}

.p-ideal__img-sub {
  position: absolute;
  bottom: -10%;
  right: -10%;
  width: 60%;
  border: 0.24vw solid #fff;
}

.p-ideal__note {
  margin-top: 2.38vw;
  font-size: 0.9rem;
  color: #666;
}

.s-environment {
  background: #fff;
  padding: 7.14vw 0;
}

.s-environment .s-ttl-wrap {
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
  margin-bottom: 3.57vw;
}

.s-environment .s-ttl {
  color: #272727;
  font-size: 2.5vw;
  letter-spacing: 0.05em;
  margin-bottom: 0;
}

.s-environment .s-sub-ttl {
  color: #272727;
  font-size: 1.31vw;
  letter-spacing: 0.05em;
}

.p-env__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95vw;
}

@media screen and (min-width: 768px) {
  .p-env__grid {
    grid-template-columns: repeat(4, 16.37vw);
    gap: 1.79vw;
    justify-content: center;
  }
}

.p-env__item {
  background: #f8f8f8;
  padding: 2.38vw 1.19vw 1.79vw;
  text-align: center;
  border-radius: 1.19vw;
  height: 15.48vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.p-env__icon {
  height: 5.12vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.71vw;
  position: relative;
}

.p-env__icon img {
  display: block;
}

.p-env__text {
  font-size: 1.19vw;
  line-height: 1.9vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #272727;
}

.p-env__icon.-env01 img {
  width: 5.74vw;
  height: 2.68vw;
}

.p-env__icon.-env02 {
  width: 7.14vw;
  height: 3.51vw;
}

.p-env__icon.-env02 .p-env__icon-img.-a {
  width: 2.16vw;
  height: 3.44vw;
  position: absolute;
  right: 0;
  top: 0;
}

.p-env__icon.-env02 .p-env__icon-img.-b {
  width: 4.31vw;
  height: 3.03vw;
  position: absolute;
  left: 0;
  bottom: 0;
}

.p-env__icon.-env03 img {
  width: 7.22vw;
  height: 3.87vw;
}

.p-env__icon.-env04 img {
  width: 5.24vw;
  height: 3.93vw;
}

.p-env__icon.-env05 img {
  width: 5.54vw;
  height: 3.81vw;
}

.p-env__icon.-env06 img {
  width: 4.4vw;
  height: 4.29vw;
}

.p-env__icon.-env07 img {
  width: 4.05vw;
  height: 5.12vw;
}

.p-env__icon.-env08 img {
  width: 4.76vw;
  height: 3.87vw;
}

@media screen and (max-width: 767px) {
  .s-environment {
    padding: 21.33vw 0;
  }

  .s-environment .s-ttl {
    font-size: 7.47vw;
  }

  .s-environment .s-sub-ttl {
    font-size: 4.27vw;
  }

  .p-env__item {
    height: auto;
    padding: 6.4vw 2.27vw 7.33vw;
    border-radius: 4.27vw;
    justify-content: flex-start;
  }

  .p-env__icon {
    height: 14.07vw;
    margin-bottom: 4.67vw;
  }

  .p-env__text {
    font-size: 3.73vw;
    line-height: 5.87vw;
  }


  .p-env__icon.-env01 img {
    width: 19.74vw;
    height: 9.68vw;
  }

  .p-env__icon.-env02 {
    width: 20.14vw;
    height: 14.51vw;
  }

  .p-env__icon.-env02 .p-env__icon-img.-a {
    width: 7.16vw;
    height: 10.44vw;
    position: absolute;
    right: 0;
    top: initial;
    bottom: 0;
  }

  .p-env__icon.-env02 .p-env__icon-img.-b {
    width: 11.31vw;
    height: 9.03vw;
    position: absolute;
    left: 0;
    bottom: 1vw;
  }

  .p-env__icon.-env03 img {
    width: 23.22vw;
    height: 12.87vw;
  }

  .p-env__icon.-env04 img {
    width: 16.24vw;
    height: 11.93vw;
  }

  .p-env__icon.-env05 img {
    width: 15.54vw;
    height: 11.81vw;
  }

  .p-env__icon.-env06 img {
    width: 16.4vw;
    height: 16.29vw;
  }

  .p-env__icon.-env07 img {
    width: 16.05vw;
    height: 18.12vw;
  }

  .p-env__icon.-env08 img {
    width: 16.76vw;
    height: 13.87vw;
  }
}

.s-workflow {
  background-color: #F8F8F8;
  border-top: 1px solid #343434;
  border-bottom: 1px solid #343434;
}

/* Workflow section (Figma match, 1680px-based vw on PC) - Base Design */
.s-workflow .s-ttl-wrap {
  display: block;
  text-align: center;
}

.s-workflow .s-ttl {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.5vw;
  letter-spacing: 0.05em;
  color: #272727;
  margin-bottom: 0.36vw;
}

.s-workflow .s-sub-ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.31vw;
  letter-spacing: 0.05em;
  color: #272727;
}

.p-workflow__desc {
  text-align: center;
  max-width: 70.83vw;
  margin: 1.9vw auto 0;
}

.p-workflow__desc p {
  font-size: 0.95vw;
  line-height: 1.9vw;
  color: #272727;
}

/* Base Design (768px and up) */
.p-workflow__cols {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 6.43vw;
  margin-top: 2.68vw;
}

.p-workflow__col {
  width: 32.14vw;
  max-width: 32.14vw;
}

.p-workflow__col:nth-child(1) .p-workflow__timeline img {
  height: 29.1vw;
}

.p-workflow__role {
  text-align: center;
  margin-bottom: 2.26vw;
}

.p-workflow__col:nth-child(1) .p-workflow__role img {
  width: 4.39vw;
  height: 4.5vw;
}

.p-workflow__role img {
  width: 3.39vw;
  height: 4.8vw;
  margin-bottom: 0.65vw;
  object-fit: contain;
}

.p-workflow__role h3 {
  font-size: 1.43vw;
  letter-spacing: 0.05em;
}

.p-workflow__role .en {
  display: block;
  font-size: 0.95vw;
  letter-spacing: 0.05em;
  margin-top: 0.54vw;
  margin-bottom: 3.5vw;
}

.p-workflow__timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2.8vw;
  padding-left: 0;
  margin-left: 0;
  border-left: none;
  justify-content: space-between;
  height: 96%;
}

.p-workflow__timeline::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 2.38vw;
  transform: translateX(-50%);
  width: 1px;
  height: calc(100% - 2.38vw);
  background: #707070;
}

.p-workflow__step {
  position: relative;
  background: #fff;
  border: 1px solid #707070;
  border-radius: 0 1.19vw 1.19vw 1.19vw;
  padding: 2.98vw 2.98vw 2.98vw;
  margin-bottom: 0;
}

.p-workflow__step::before {
  content: none;
}

.p-workflow__step .time {
  position: absolute;
  top: -2.38vw;
  left: -1px;
  width: 7.98vw;
  height: 2.38vw;
  background: #272727;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95vw;
  letter-spacing: 0.05em;
  border-radius: 0.6vw 0.6vw 0 0;
}

.p-workflow__step .content h4 {
  font-size: 1.43vw;
  letter-spacing: 0.05em;
  margin-bottom: 0.95vw;
}

.p-workflow__step .content p {
  font-size: 0.95vw;
  line-height: 1.9vw;
}

.p-workflow__step .images {
  margin-top: 1.49vw;
}

.p-workflow__step .images img {
  width: 100%;
  height: 16vw;
  border-radius: 1.19vw;
  display: none;
  object-fit: cover;
}

.p-workflow__step .images img:first-child {
  display: block;
}

@media screen and (min-width: 900px) {
  .p-workflow__cols {
    flex-direction: row;
  }

  .p-workflow__col {
    width: 48%;
  }
}

/* Mobile Styles (max-width: 1200px) */
@media screen and (max-width: 1200px) {
  .s-workflow {
    padding: 8.33vw 0;
  }

  .s-workflow .s-ttl {
    font-size: 7.47vw;
    margin-bottom: 1.33vw;
  }

  .s-workflow .s-sub-ttl {
    font-size: 4.27vw;
  }

  .p-workflow__desc {
    max-width: 100%;
    margin: 3.33vw auto 5.33vw;
    padding: 0 3.33vw;
  }

  .p-workflow__desc p {
    font-size: 3.73vw;
    line-height: 1.6;
    text-align: left;
  }

  .p-workflow__desc p br {
    display: none;
  }

  .p-workflow__cols {
    flex-direction: column;
    gap: 13.67vw;
    padding: 0 3.33vw;
    margin-top: 2.68vw;
  }

  .p-workflow__col {
    width: 100%;
    max-width: 100%;
  }

  .p-workflow__col:nth-child(1) .p-workflow__timeline img {
    height: auto;
  }

  .p-workflow__role {
    text-align: center;
    margin-bottom: 4.8vw;
  }

  .p-workflow__col:nth-child(1) .p-workflow__role img {
    width: 10.67vw;
    height: 10.67vw;
  }

  .p-workflow__role img {
    width: 8vw;
    height: 12vw;
    margin-bottom: 1.33vw;
    object-fit: contain;
  }

  .p-workflow__role h3 {
    font-size: 4.27vw;
    letter-spacing: 0.05em;
  }

  .p-workflow__role .en {
    display: block;
    font-size: 2.67vw;
    letter-spacing: 0.05em;
    margin-top: 1.33vw;
    margin-bottom: 13.33vw;
  }

  .p-workflow__timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 12.4vw;
    padding-left: 0;
    margin-left: 0;
    border-left: none;
  }

  .p-workflow__timeline::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 4vw;
    transform: translateX(-50%);
    width: 1px;
    height: calc(100% - 4vw);
    background: #707070;
  }

  .p-workflow__step {
    position: relative;
    background: #fff;
    border: 1px solid #707070;
    border-radius: 0 2.67vw 2.67vw 2.67vw;
    padding: 5.33vw 4vw 4vw;
    margin-bottom: 0;
  }

  .p-workflow__step::before {
    content: none;
  }

  .p-workflow__step .time {
    position: absolute;
    top: -9vw;
    left: -1px;
    width: 21.67vw;
    height: 9vw;
    background: #272727;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5.0vw;
    letter-spacing: 0.05em;
    border-radius: 1.33vw 1.33vw 0 0;
  }

  .p-workflow__step .content h4 {
    font-size: 4.27vw;
    letter-spacing: 0.05em;
    margin-bottom: 2vw;
  }

  .p-workflow__step .content p {
    font-size: 3.73vw;
    line-height: 1.8;
  }

  .p-workflow__step .images {
    margin-top: 2.67vw;
  }

  .p-workflow__step .images img {
    width: 100%;
    height: 35vw;
    border-radius: 2.67vw;
    display: none;
    object-fit: cover;
  }

  .p-workflow__step .images img:first-child {
    display: block;
  }
}


.s-guidelines {
  background: #f8f8f8;
  border-top: 1px solid #343434;
  border-bottom: 1px solid #343434;
  padding: 10.24vw 0;
}

.s-guidelines .s-ttl-wrap {
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
  margin-bottom: 3.57vw;
}

.s-guidelines .s-ttl {
  color: #272727;
  font-size: 2.5vw;
  letter-spacing: 0.05em;
  margin-bottom: 0;
}

.s-guidelines .s-sub-ttl {
  color: #272727;
  font-size: 1.31vw;
  letter-spacing: 0.05em;
}

.p-benefits {
  display: flex;
  flex-direction: column;
  gap: 5.95vw;
}

.p-benefits__list {
  max-width: 70.83vw;
  margin: 0 auto;
  border-top: 1px solid #343434;
  border-bottom: 1px solid #343434;
}

@media screen and (max-width: 1200px) {
  .p-benefits__list {
    max-width: 100%;
  }
}

.p-benefits__item {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 1.43vw 0 0;
  border-bottom: 1px solid #343434;
}

.p-benefits__item:last-child {
  border-bottom: none;
}

.p-benefits__title {
  width: 19.46vw;
  font-size: 1.31vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #272727;
  margin: 0;
  padding-bottom: 2vw;
}

.p-benefits__desc {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.43vw;
}

@media screen and (max-width: 1200px) {
  .p-benefits__desc {
    gap: 2.43vw;
  }
}

.p-benefits__desc dl {
  display: grid;
  align-items: center;
  grid-template-columns: 15.95vw 1fr;
  margin: 0;
  padding-bottom: 1.7vw;
  border-bottom: solid 1px #70707030;
}

@media screen and (max-width: 1200px) {
  .p-benefits__desc dl {
    padding-bottom: 3.7vw;
  }
}

.p-benefits__desc dl:last-child {
  border-bottom: none;
}

.p-benefits__desc dt {
  font-weight: 700;
  font-size: 0.95vw;
  letter-spacing: 0.05em;
  color: #272727;
  margin: 0;
}

.p-benefits__desc dd {
  font-weight: 500;
  font-size: 0.95vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #272727;
  margin: 0;
}

.p-benefits__gallery {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding-left: calc((100vw - 70.83vw) / 2);
}

.p-benefits__gallery-row {
  display: flex;
  gap: 5.95vw;
  align-items: center;
}

.p-benefits__gallery-col {
  display: flex;
  flex-direction: column;
  gap: 5.36vw;
}

.p-benefits__gallery-col.-left {
  width: 26.19vw;
}

.p-benefits__gallery-col.-right {
  width: 53.27vw;
  padding-top: 6.25vw;
}

.p-benefits__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-benefits__img.-left-lg {
  height: 36.31vw;
  border-radius: 1.19vw;
}

.p-benefits__img.-left-sm {
  height: 18.45vw;
  border-radius: 1.19vw;
}

.p-benefits__img.-right-sm {
  width: 27.38vw;
  height: 18.1vw;
  border-radius: 1.19vw;
}

.p-benefits__img.-right-lg {
  height: 36.67vw;
  border-radius: 1.19vw 0 0 1.19vw;
}

.p-flow__steps {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}

.p-flow__item {
  text-align: center;
  width: 100%;
  max-width: 11.9vw;
  position: relative;
}

.p-flow__badge {
  display: inline-block;
  background-color: #272727;
  color: #fff;
  padding: 0.357vw 0.952vw;
  border-radius: 5.95vw;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  margin-bottom: 2.19vw;
  margin-top: 0;
}

.p-flow__icon {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.p-flow__icon-wrapper {
  margin: 0 auto 1.19vw;
}

/* Flow-01: 応募フォーム (93px × 67px) */
.p-flow__icon-wrapper--1 {
  width: 5.535vw;
  height: 3.988vw;
}

/* Flow-02: 書類選考 (80px × 84px) */
.p-flow__icon-wrapper--2 {
  width: 4.762vw;
  height: 5.0vw;
}

/* Flow-03: 面接 (114px × 78px) */
.p-flow__icon-wrapper--3 {
  width: 6.786vw;
  height: 4.643vw;
}

/* Flow-04: 技術チェック (134px × 66px) */
.p-flow__icon-wrapper--4 {
  width: 7.976vw;
  height: 3.929vw;
}

/* Flow-05: 内定・入社 (113px × 84px) */
.p-flow__icon-wrapper--5 {
  width: 6.726vw;
  height: 5.0vw;
}

.p-flow__arrow {
  display: none;
  align-items: center;
  justify-content: center;
  height: 2.381vw;
}

.p-flow__arrow-icon {
  width: 1.786vw;
  height: 1.786vw;
  transform: rotate(90deg);
}

@media screen and (min-width: 768px) {
  .p-flow__arrow {
    display: flex;
  }

  .p-flow__arrow-icon {
    transform: rotate(90deg) translateX(5vw);
    width: 1.5vw;
    height: 1.5vw;
  }
}

.p-flow__item h4 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin: 0.893vw 0 0.595vw 0;
  color: #272727;
  line-height: 1.4;
}

.p-flow__item p {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  color: #666;
  margin: 0;
  line-height: 1.6;
}

.s-flow__ttl-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 4vw;
  flex-direction: column;
}

.s-flow .s-ttl {
  color: #272727;
  margin-bottom: 0;
}

.s-flow .s-sub-ttl {
  color: #272727;
}

@media screen and (max-width: 1200px) {
  .s-flow {
    padding: 21.33vw 5.33vw;
  }

  .s-flow__ttl-wrap {
    margin-bottom: 10.67vw;
  }

  .s-flow .s-ttl {
    font-size: 7.47vw;
    margin-bottom: 1.33vw;
  }

  .s-flow .s-sub-ttl {
    font-size: 4.27vw;
  }

  .p-flow__steps {
    flex-direction: column;
    align-items: center;
    gap: 6.67vw;
  }

  .p-flow__item {
    max-width: 100%;
    width: 100%;
  }

  .p-flow__badge {
    font-size: 4.2vw;
    padding: 0.33vw 4vw;
    margin-bottom: 7vw;
    border-radius: 10.67vw;
  }

  .p-flow__icon-wrapper {
    margin: 0 auto 5.33vw;

  }

  .p-flow__icon-wrapper--1 {
    width: 21.33vw;
    height: 14.33vw;
  }

  .p-flow__icon-wrapper--2 {
    width: 21.33vw;
    height: 21.33vw;
  }

  .p-flow__icon-wrapper--3 {
    width: 21.33vw;
    height: 14.33vw;
  }

  .p-flow__icon-wrapper--4 {
    width: 31.33vw;
    height: 14.33vw;
  }

  .p-flow__icon-wrapper--5 {
    width: 21.33vw;
    height: 16.33vw;
  }

  .p-flow__icon {
    width: 100%;
    height: 100%;
  }

  .p-flow__arrow {
    display: flex;
    height: 8vw;
    transform: rotate(0deg);
  }

  .p-flow__arrow-icon {
    width: 6.4vw;
    height: 3.4vw;
    transform: rotate(180deg);
  }

  .p-flow__item h4 {
    font-size: 4.27vw;
    margin: 2.67vw 0;
    line-height: 1.6;
  }

  .p-flow__item p {
    font-size: 3.73vw;
    line-height: 1.8;
  }
}

.s-faq {
  padding: 0 0 10vw;
  background: #fff;
}

.s-faq .container {
  max-width: 70.83vw;
  margin: 0 auto;
}


.s-faq .s-ttl-wrap {
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
  margin-bottom: 3.57vw;
}

.s-faq .s-ttl {
  color: #272727;
  font-size: 2.5vw;
  letter-spacing: 0.05em;
  margin-bottom: 0;
}

.s-faq .s-sub-ttl {
  color: #272727;
  font-size: 1.31vw;
  letter-spacing: 0.05em;
}



.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: 2.1vw;
}

.p-faq__item {
  background-color: #f8f8f8;
  border: 0.084vw solid #707070;
  border-radius: 1.68vw;
  overflow: hidden;
}

.p-faq__q {
  padding: 2.18vw 2.52vw;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  font-weight: bold;
  position: relative;
}

.p-faq__q .mark {
  position: absolute;
  left: 2.52vw;
  top: 50%;
  transform: translateY(-50%);
  width: 3.36vw;
  height: 3.36vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #333333;
  border-radius: 50%;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.34vw;
  margin-right: 0;
  line-height: 1;
  flex-shrink: 0;
  z-index: 2;
}

.p-faq__q p {
  margin: 0 0 0 0;
  font-size: 1.34vw;
  font-weight: 700;
  line-height: 2.69vw;
  letter-spacing: 0.067vw;
  color: #272727;
  margin-left: 4.7vw;
  padding-right: 5.04vw;
  flex: 1;
  padding-top: 0;
}


.p-faq__q .toggle {
  position: absolute;
  right: 2.52vw;
  top: 50%;
  transform: translateY(-50%);
  width: 2.18vw;
  height: 2.18vw;
  cursor: pointer;
  flex-shrink: 0;
}

.p-faq__q .toggle::before,
.p-faq__q .toggle::after {
  content: '';
  position: absolute;
  background-color: #272727;
  transition: transform 0.3s ease;
}

.p-faq__q .toggle::before {
  width: 100%;
  height: 0.168vw;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.p-faq__q .toggle::after {
  width: 0.168vw;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(0deg);
}

.p-faq__item.is-open .p-faq__q .toggle::after {
  transform: translateX(-50%) rotate(90deg);
}

.p-faq__a {
  display: none;
  padding: 2.6vw 2.14vw 2.6vw 7.14vw;
  color: #272727;
  font-size: 1.34vw;
  font-weight: 500;
  line-height: 2.52vw;
  letter-spacing: 0.067vw;
  position: relative;
  background: #f8f8f8;
}

.p-faq__a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 2.52vw;
  right: 2.52vw;
  height: 0.084vw;
  background-image: repeating-linear-gradient(to right, #999, #999 0.42vw, transparent 0.42vw, transparent 0.84vw);
}

.p-faq__a .mark {
  position: absolute;
  left: 2.52vw;
  top: 2vw;
  width: 3.36vw;
  height: 3.36vw;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #333333;
  border-radius: 50%;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 1.34vw;
  margin-right: 0;
  line-height: 1;
  flex-shrink: 0;
}

.p-faq__a p {
  margin: 0;
}

@media screen and (max-width: 1200px) {
  .s-faq {
    padding: 21.33vw 5.33vw;
  }

  .s-faq .container {
    max-width: 100%;
  }

  .s-faq .s-ttl-wrap {
    margin-bottom: 10.67vw;
  }

  .s-faq .s-ttl {
    font-size: 7.47vw;
    margin-bottom: 1.33vw;
  }

  .s-faq .s-sub-ttl {
    font-size: 4.27vw;
  }

  .p-faq__list {
    gap: 5.33vw;
  }

  .p-faq__item {
    border-radius: 4.27vw;
  }

  .p-faq__q {
    padding: 5.33vw 5.33vw 5.33vw 16vw;
  }

  .p-faq__q .mark {
    left: 5.33vw;
    width: 8vw;
    height: 8vw;
    font-size: 3.73vw;
  }

  .p-faq__q p {
    margin-left: 0;
    padding-right: 10.67vw;
    font-size: 3.73vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .p-faq__q .toggle {
    right: 5.33vw;
    width: 5.33vw;
    height: 5.33vw;
  }

  .p-faq__q .toggle::before {
    height: 0.53vw;
  }

  .p-faq__q .toggle::after {
    width: 0.53vw;
  }

  .p-faq__a {
    padding: 5.33vw 5.33vw 5.33vw 16vw;
    font-size: 3.73vw;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .p-faq__a::before {
    left: 5.33vw;
    right: 5.33vw;
    height: 0.27vw;
    background-image: repeating-linear-gradient(to right, #999, #999 1.33vw, transparent 1.33vw, transparent 2.67vw);
  }

  .p-faq__a .mark {
    left: 5.33vw;
    top: 5.33vw;
    width: 8vw;
    height: 8vw;
    font-size: 3.73vw;
  }
}

.p-recruit-guidelines {
  max-width: 70.83vw;
  margin: 11.31vw auto 0;
}

@media screen and (max-width: 1200px) {
  .p-recruit-guidelines {
    max-width: 100%;
  }
}

.p-recruit-tab-nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: row-reverse;
  gap: 0;
  flex-wrap: wrap;
}

.p-recruit-tab-nav span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.46vw;
  padding: 0 min(3vw, 20px);
  background: #999;
  color: #fff;
  font-size: min(1.19vw, 23px);
  letter-spacing: 0.08em;
  border: 0.2vw solid #fff;
  border-radius: 1.19vw 1.19vw 0 0;
  cursor: pointer;
  margin-left: -3vw;
  padding-left: 4vw;
}

.p-recruit-tab-nav span.is-next1,
.p-recruit-tab-nav span.is-next2,
.p-recruit-tab-nav span.is-next3,
.p-recruit-tab-nav span.is-next4 {
  padding: 0 min(3vw, 20px);
  padding-right: 4vw;
}


.p-recruit-tab-nav span.is-prev1,
.p-recruit-tab-nav span.is-next1 {
  z-index: 4;
}

.p-recruit-tab-nav span.is-prev2,
.p-recruit-tab-nav span.is-next2 {
  z-index: 3;
}

.p-recruit-tab-nav span.is-prev3,
.p-recruit-tab-nav span.is-next3 {
  z-index: 2;
}

.p-recruit-tab-nav span.is-prev4,
.p-recruit-tab-nav span.is-next4 {
  z-index: 1;
}

.p-recruit-tab-nav span:nth-child(5) {
  margin-left: -0vw;
}

.p-recruit-tab-nav span.active {
  background: #fff;
  color: #272727;
  border: 1px solid #707070;
  border-bottom: none;
  border-radius: 1.19vw 1.19vw 0 0;
  padding: 0 min(3vw, 34px);
  z-index: 8;
}

.p-recruit-tab-nav span.is-prev {
  padding-left: 4vw;
}

.p-recruit-tab-nav span.is-next {
  padding-left: 2vw;
  z-index: 6;
}

.p-recruit-tab-content {
  border: 1px solid #707070;
  border-top: none;
  border-radius: 0 0 1.19vw 1.19vw;
  background: #fff;
  padding: 2.98vw 4.76vw 4.76vw;
}

.p-guideline-card {
  background: transparent;
  padding: 0;
  display: none;
}

.p-guideline-card .sp-hide {
  display: inline-block;
}

.p-guideline-card.is-active {
  display: block;
}

.p-guideline-card__title {
  font-weight: 700;
  color: #272727;
  letter-spacing: 0.08em;
  margin-bottom: 2.38vw;
}

.p-guideline-card__title .main {
  font-size: 1.9vw;
}

.p-guideline-card__title .sub {
  font-size: 1.07vw;
}

.p-guideline-card dl {
  display: flex;
  align-items: center;
  padding: 1.49vw 2.38vw;
  margin: 0;
}

@media screen and (max-width: 1200px) {

  .p-guideline-card .pc-hide {
    display: inline-block;
    /* font-size: 0.7em; */
  }

  .p-guideline-card .sp-hide {
    display: none;
    /* font-size: 0.7em; */
  }
}

.p-guideline-card dl:nth-of-type(odd) {
  background: #f8f8f8;
}

.p-guideline-card dt {
  width: 15.95vw;
  font-weight: 700;
  font-size: 0.95vw;
  letter-spacing: 0.05em;
  margin: 0;
}

.p-guideline-card dd {
  width: calc(100% - 15.95vw);
  font-weight: 500;
  font-size: 0.95vw;
  line-height: 1.9vw;
  letter-spacing: 0.05em;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .p-benefits__gallery {
    width: calc(100% + 1.85rem);
    margin: 0 -0.938rem;
    padding: 0 0.938rem;
  }

  .p-benefits__gallery-row {
    gap: 4vw;
  }

  .p-benefits__gallery-col.-right,
  .p-benefits__gallery-col.-left {
    width: 40%;
    padding-top: 0;
    gap: 4vw;
  }

  .p-benefits__gallery-col.-right {
    width: 60%;
  }

  .p-benefits__img.-right-sm,
  .p-benefits__img.-right-lg,
  .p-benefits__img.-left-lg,
  .p-benefits__img.-left-sm {
    width: 100%;
    height: auto;
    border-radius: 3.19vw;
  }

  .p-benefits__img.-right-lg {
    margin-right: -0.938rem;
    width: calc(100% + 0.938rem);
    border-radius: 3.19vw 0 0 3.19vw;
  }

}

@media screen and (max-width: 1200px) {
  .s-guidelines {
    padding: 26.67vw 0;
  }

  .s-guidelines .s-ttl {
    font-size: 7.47vw;
  }

  .s-guidelines .s-sub-ttl {
    font-size: 4.27vw;
  }

  .p-benefits {
    gap: 16vw;
  }

  .p-benefits__item {
    flex-direction: column;
    align-items: flex-start;
    padding: 6.4vw 0;
  }

  .p-benefits__title {
    width: 100%;
    margin-bottom: 4.27vw;
    font-size: 4.8vw;
  }

  .p-benefits__desc dl {
    grid-template-columns: 1fr;
    gap: 1.6vw;
  }

  .p-benefits__desc dt,
  .p-benefits__desc dd {
    width: 100%;
    font-size: 3.73vw;
    line-height: 5.87vw;
  }

  .p-recruit-tab-nav {
    justify-content: flex-start;
  }

  .p-recruit-tab-nav span {
    height: 12.8vw;
    font-size: 3.2vw;
    padding: 0 4.1vw;
    width: auto;
    margin-left: 0vw;
    z-index: initial;
    border-radius: 5.19vw 5.19vw 0 0;
  }

  .p-recruit-tab-nav span.active {
    padding: 0 4.1vw;
    z-index: initial;
    border-radius: 5.19vw 5.19vw 0 0;
  }

  .p-recruit-tab-nav span:nth-child(4),
  .p-recruit-tab-nav span:nth-child(5) {
    padding: 0 7.6vw;
  }

  .p-recruit-tab-nav span:nth-child(4).active,
  .p-recruit-tab-nav span:nth-child(5).active {
    padding: 0 6.6vw;
  }

  .p-recruit-tab-nav span.is-next1,
  .p-recruit-tab-nav span.is-next2,
  .p-recruit-tab-nav span.is-next3,
  .p-recruit-tab-nav span.is-next4 {
    padding: 0 4.1vw;
  }

  .p-recruit-tab-nav span:nth-child(4).is-next1,
  .p-recruit-tab-nav span:nth-child(4).is-next2,
  .p-recruit-tab-nav span:nth-child(4).is-next3,
  .p-recruit-tab-nav span:nth-child(4).is-next4 {
    padding: 0px 6.6vw;
  }

  .p-recruit-tab-nav span:nth-child(5).is-next1,
  .p-recruit-tab-nav span:nth-child(5).is-next2,
  .p-recruit-tab-nav span:nth-child(5).is-next3,
  .p-recruit-tab-nav span:nth-child(5).is-next4 {
    padding: 0 7.6vw;
  }

  .p-recruit-tab-nav span:nth-child(1),
  .p-recruit-tab-nav span:nth-child(2),
  .p-recruit-tab-nav span:nth-child(3) {
    padding-bottom: 10vw;
    height: 20.8vw;
    margin-bottom: -10vw;
  }

  .p-recruit-tab-nav span.is-prev1,
  .p-recruit-tab-nav span.is-next1 {
    z-index: initial;
  }

  .p-recruit-tab-nav span.is-prev2,
  .p-recruit-tab-nav span.is-next2 {
    z-index: initial;
  }

  .p-recruit-tab-nav span.is-prev3,
  .p-recruit-tab-nav span.is-next3 {
    z-index: initial;
  }

  .p-recruit-tab-nav span.is-prev4,
  .p-recruit-tab-nav span.is-next4 {
    z-index: initial;
  }

  .p-recruit-guidelines {
    margin-top: 21.33vw;
  }

  .p-recruit-tab-content {
    padding: 8vw 5.33vw 10.67vw;
  }

  .p-guideline-card__title {
    margin-bottom: 6.4vw;
  }

  .p-guideline-card__title .main {
    font-size: 5.87vw;
  }

  .p-guideline-card__title .sub {
    font-size: 3.73vw;
  }

  .p-guideline-card dl {
    flex-direction: column;
    align-items: flex-start;
    padding: 4.27vw;
  }

  .p-guideline-card dt,
  .p-guideline-card dd {
    width: 100%;
    font-size: 3.73vw;
    line-height: 5.87vw;
  }
}


/* Ideal Team Member */
.s-ideal .s-ttl-wrap {
  display: block;
  text-align: center;
  margin-bottom: 5.71vw;
}

.s-ideal .s-ttl {
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  font-size: 2.5vw;
  color: #272727;
  letter-spacing: 0.05em;
  margin-bottom: 0.36vw;
  text-align: center;
}

.s-ideal .s-sub-ttl {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.31vw;
  color: #272727;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-ideal__content {
  display: flex;
  flex-direction: column;
  gap: 4.76vw;
}

.p-ideal__text-col {
  width: 46%;
  max-width: 540px;
}

@media (max-width: 1200px) {
  .p-ideal__text-col {
    width: 100%;
    max-width: initial;
  }
}

.p-ideal__img-col {
  width: 54%;
  max-width: 626px;
}

@media (max-width: 1200px) {
  .p-ideal__img-col {
    width: 100%;
    max-width: initial;
  }
}

.p-ideal__row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: min(4.76vw, 60px);
}

@media (max-width: 1200px) {
  .p-ideal__row {
    display: initial;
    align-items: initial;
    justify-content: initial;
    gap: initial;
  }
}

.p-ideal__row.-reverse {
  flex-direction: row-reverse;
}

@media (max-width: 1200px) {
  .p-ideal__row.-reverse {
    flex-direction: initial;
    flex-direction: column;
  }
}

.p-ideal__item {
  display: flex;
  align-items: center;
  gap: 0.6vw;
  padding-bottom: 1.43vw;
  margin-bottom: 1.43vw;
  border-bottom: 1px dashed #272727;
}

.p-ideal__item:first-child {
  margin-top: 1vw;
}

.p-ideal__item:last-child {
  /* border-bottom: none; */
  margin-bottom: 0;
  /* padding-bottom: 0; */
}

.p-ideal__item img {
  width: 1.49vw;
  height: 1.32vw;
  flex-shrink: 0;
}

.p-ideal__item p {
  margin: 0;
  color: #272727;
  line-height: 1.5;
  font-size: min(1.6vw, 18px);
  letter-spacing: 0.08em;
}

.p-ideal__item p .-bold {
  font-weight: 700;
  font-size: min(1.5vw, 22px);
}

.p-ideal__text {
  margin: 0;
  color: #272727;
  line-height: 2.02vw;
}

.p-ideal__text .--sm {
  font-size: 1.07vw;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.p-ideal__text .--lg {
  font-size: 1.31vw;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.p-ideal__images {
  position: relative;
  height: 100%;
  object-fit: cover;
}

.p-ideal__images img {
  border-radius: 1.19vw;
  height: 100%;
  object-fit: cover;
}

.p-ideal__img-sub {
  display: none;
}

@media screen and (max-width: 1200px) {
  .s-ideal .s-ttl-wrap {
    margin-bottom: 10.67vw;
  }

  .s-ideal .s-ttl {
    font-size: 8.53vw;
    line-height: 1.2;
    margin-bottom: 2vw;
  }

  .s-ideal .s-sub-ttl {
    font-size: 4.27vw;
  }

  .p-ideal__content {
    gap: 10.67vw;
  }

  .p-ideal__row {
    display: flex;
    flex-direction: column;
    gap: 6.4vw;
  }

  .p-ideal__item {
    align-items: flex-start;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
    gap: 1.6vw;
  }

  .p-ideal__item img {
    height: 4.6vw;
    width: 5.32vw;
    margin-top: 1vw;
  }

  .p-ideal__item p {
    line-height: 6.93vw;
    font-size: 3.73vw;
  }

  .p-ideal__item p .-bold {
    font-size: 4.27vw;
  }

  .p-ideal__text {
    line-height: 6.93vw;
  }

  .p-ideal__text .--sm {
    font-size: 3.73vw;
  }

  .p-ideal__text .--lg {
    font-size: 4.27vw;
  }
}