@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital@0;1&family=Zen+Maru+Gothic&display=swap');

:root{
  --color-cream: #FFF8E2;
  --color-dark-beige: #FEEED1;
  --color-theme-fresh: #14BED8;
  --color-theme-part: #88BE41;
  --font-en-sub: "Outfit", sans-serif;
  --font-jp-sub: "Zen Maru Gothic", sans-serif;
}

body{
  background-color: var(--color-cream);
}

.container_m{
  width: min(100%, 1330px);
}

.img-radius{
  border-radius: 25px;
}

.t-highlight{
  background: linear-gradient(transparent 60%, #FFD791 60%);
}

.bkg-dark-beige{
  background-color: var(--color-dark-beige);
}

.f-en-sub{
  font-family: var(--font-en-sub);
}

.f-jp-sub{
  font-family: var(--font-jp-sub);
}

.fc-gray{
  color: #919397;
}

.theme-fresh,
.theme-career,
.theme-part,
.theme-service,
.theme-community,
.theme-admin{
  --theme-color: var(--color-accent);

  .fc-accent,
  .hdg-filled,
  .hdg-double-line{
    color: var(--theme-color);
  }
  .section-hdg .f-en-sub,
  .hdg-double-line::before,
  .hdg-double-line::after{
    border-color: var(--theme-color);
  }
  .box-border-hdg,
  .catchcopy,
  .hdg-radius,
  .btn-radius{
    background-color: var(--theme-color);
  }
}

.theme-fresh{
  --theme-color: var(--color-theme-fresh);

  .arrow-circle-right{
    background-image: url(../img/recruit/common/arrow_circle_right_fresh.svg);
  }
  .arrow-chev-right{
    background-image: url(../img/recruit/common/arrow_chevron_fresh.svg);
  }
  .link-circle-img{
    border-color: #CFF4F9;
  }
}

.theme-career{
  --theme-color: var(--color-theme-career);

  .arrow-circle-right{
    background-image: url(../img/recruit/common/arrow_circle_right_career.svg);
  }
  .arrow-chev-right:not(.-is-white){
    background-image: url(../img/recruit/common/arrow_chevron_career.svg);
  }
  .link-circle-img{
    border-color: #FFE4DF;
  }
}

.theme-part{
  --theme-color: var(--color-theme-part);

  .arrow-circle-right{
    background-image: url(../img/recruit/common/arrow_circle_right_part.svg);
  }
  .arrow-chev-right{
    background-image: url(../img/recruit/common/arrow_chevron_part.svg);
  }
  .link-circle-img{
    border-color: #D5EEB4;
  }
}

.theme-career{
  --theme-color: var(--color-theme-career);
}

.theme-service{
  --theme-color: var(--color-theme-service);

  .list-check-icn-item{
    &.box-radius{
      background-color: #FFF6E1;
    }
    &::before{
      content: url('../img/recruit/common/icn_check_orange.svg');
    }
  }
}

.theme-community{
  --theme-color: var(--color-theme-community);
}

.theme-admin{
  --theme-color: var(--color-theme-admin);
}

.box-border.-is-large{
  padding: clamp(30px, 5vw, 65px) clamp(20px, 5vw, 80px);
  border: 5px solid #F8EED2;
  border-radius: 25px;
  background-color: var(--color-white);
}

.list-dotted.grid-repeat{
  .list-dotted-item:not(:last-child){
    border-bottom: none;
    border-right: 4px dotted #F8EED2;
  }
}

.list-dotted-item{
  font-size: clamp(1.7rem, 3vw, 2rem);
  font-weight: bold;

  &:not(:last-child){
    border-bottom: 4px dotted #F8EED2;
  }
  a.grid{
    padding: clamp(15px, 5vw, 30px) clamp(10px, 5vw, 30px);
    gap: 0 clamp(5px, 3vw, 20px);
    grid-template-columns: clamp(50px, 10vw, 80px) 1fr;
  }
}

.link-circle-img{
  border: 5px solid #B4E9D7;
  border-radius: 100px;
  display: inline-block;
}

.sns-link-list{
  .icn-sns-ig{
    border: 1px solid #E6EBF2;
  }
}

.logo-img{
  display: inline-block;
  width: min(100%, 280px);
}

.btn-radius{
  &.-is-border{
    padding: clamp(15px, 3vw, 20px) clamp(15px, 3vw, 25px);
    color: var(--color-accent);
    background-color: var(--color-white) !important;
    border-width: 2px;
    font-size: 1.8rem;
    box-shadow: 0px 15px 35px #00AD9240;

    &:hover{
      font-weight: bold !important;
      color: var(--color-accent) !important;
      filter: none;
      border-color: var(--color-accent) !important;
      box-shadow: none;
      transform: translate(2px, 2px);
    }
  }
}

.btn-bkg-img{
  position: relative;
  display: block;
  width: max-content;
  min-width: min(100%, 360px);
  border-radius: 100px;
  color: var(--color-white);
  overflow: hidden;
  padding: 20px 25px 20px 35px;
  font-weight: bold;

  .icn-circle-external{
    background-size: 48px auto;
  }
}

.btn-bkg-img-inner{
  position: relative;
  z-index: 1;
  display: block;
  line-height: 1.3;
}

.btn-bkg-img-item{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: brightness(0.5);
}

[class*="arrow-circle"],
[class*="icn-circle"]{
  &.-is-large{
    background-size: 48px auto;
    padding: 17px 65px 17px 0;
  }
}

.swiper-wrapper.-is-linear{
  align-items: center;
  transition-timing-function: linear !important;
}

.swiper-button-prev,
.swiper-button-next{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: clamp(40px, 5vw, 60px);
  height: clamp(40px, 5vw, 60px);
}

.swiper-button-prev{
  left: 0;
  background-image: url('../img/recruit/common/slider_pager_prev.svg');
}

.swiper-button-next{
  left: auto;
  right: 0;
  background-image: url('../img/recruit/common/slider_pager_next.svg');
}

.section-hdg{
  line-height: 1.2;

  .f-en-sub{
    width: max-content;
    display: block;
    padding-bottom: 7px;
    border-bottom: 2px solid var(--color-accent);
    margin-bottom: clamp(15px, 3vw, 30px);

    &.fc-white{
      color: var(--color-white);
      border-color: var(--color-white);
    }
  }
  &.t-center{
    .f-en-sub{
      margin-left: auto;
      margin-right: auto;
    }
  }
}

.js-modal-block{
  opacity: 0;
  visibility: hidden;
  position: fixed;
  inset: 0;
  z-index: 999999;
  margin: auto;
  width: min(calc(100% - 30px), 1030px);
  height: max-content;
  transition: .3s;

  &::after{
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    z-index: -1;
  }
  &.-is-open,
  &.-is-open::after{
    opacity: 1;
    visibility: visible;
  }
  .box-radius{
    padding: clamp(50px, 5vw, 80px) clamp(20px, 5vw, 80px);
    border-radius: 25px;
  }
  .btn-radius{
    width: 100%;
    text-align: left;
    line-height: 1.2;
    padding: clamp(20px, 5vw, 30px) clamp(20px, 5vw, 40px) clamp(20px, 5vw, 30px) clamp(35px, 5vw, 50px);
  }
}

.js-modal-close{
  border: 2px solid var(--color-accent);
  width: 70px;
  height: 70px;
  line-height: 65px;
  cursor: pointer;
  position: absolute;
  bottom: -35px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: var(--color-white);
  border-radius: 50px;
  text-align: center;
}

[data-deco-shape-postion-x],
[data-deco-shape-postion-y]{
  position: absolute;
  z-index: 1;
  --postion-x-value: 0;
  --postion-y-value: 0;
}

[data-deco-shape-postion-x="left"]{
  left: var(--postion-x-value);
}

[data-deco-shape-postion-x="right"]{
  right: var(--postion-x-value);
}

[data-deco-shape-postion-y="top"]{
  top: var(--postion-y-value);
}

[data-deco-shape-postion-y="bottom"]{
  bottom: var(--postion-y-value);
}

.article-list-item .bullet-disc{
  &::before{
    width: 7px;
    height: 7px;
    top: 0.6em;
  }
}

.article-list-item.box-radius{
  padding: 0;

  > a{
    padding: clamp(20px, 3vw, 30px) clamp(30px, 7vw, 50px);
  }
  .bullet-disc::before{
    bottom: 0;
    top: 0;
    left: clamp(15px, 3vw, 35px);
    margin: auto;
  }
  .arrow-chev-right{
    background-position: calc(100% - clamp(15px, 3vw, 35px)) center;
  }
}

@media screen and (max-width: 36.667em) {
  .article-list.-is-flex{
    .article-list-item a{
      display: block;
    }
  }
}

/*////////////////////////

 Header

////////////////////////*/
.header{
  background-color: transparent;
  border-bottom: none !important;

  &::after{
    background-color: rgba(0, 0, 0, 0.3);
  }
  &.-is-open{
    &::after{
      opacity: 1;
      visibility: visible;
    }
    .header__nav_toggle_bar_item{
      &::before{
        transform: rotate(290deg);
      }
      &::after{
        transform: rotate(-290deg);
      }
    }
  }
  &:not(.-is-open){
    .header__nav_toggle:hover{
      .header__nav_toggle_bar_item {
        &::before{
          transform: translateY(-10px);
        }
        &::after{
          transform: translateY(10px);
        }
      }
    }
  }
  .container_xl {
    padding: 0 !important;
    line-height: 1;
  }
  .js-modal-open{
    width: clamp(120px, 10vw, 180px);
    margin-left: clamp(5px, 2vw, 15px);
    padding: clamp(15px, 3vw, 25px) clamp(15px, 1.2vw, 25px) !important;
  }
}

.header__logo_block{
  border-radius: 0px 0px 15px 0px;
  width: min(100%, 530px);

  a{
    gap: 10px clamp(3px, 2vw, 20px);
    padding: clamp(25px, 3vw, 45px) clamp(10px, 2.5vw, 20px);
  }
  .f-en-sub{
    display: block;
    font-size: clamp(1rem, 1.5vw, 1.8rem);
  }
  .bkg-accent{
    margin: 1px 0 0;
    padding: 2px;
    font-size: clamp(0.5rem, 1.5vw, 0.8rem);
    font-weight: bold;
    white-space: nowrap;
    line-height: 1;
  }
}

.header__outer_link_block{
  .btn-radius{
    font-weight: bold !important;
    border: none !important;
    min-width: auto;
    padding: clamp(15px, 3vw, 20px) clamp(15px, 3vw, 25px);

    &.-is-white{
      background-color: var(--color-white);
      color: var(--color-black);
    }
    &:has(.icn-external){
      &:hover{
        background-color: var(--color-white) !important;
        color: var(--color-white) !important;

        .icn-external{
          filter: brightness(1) invert(1);
        }
      }
    }
  }
}

.header__nav{
  height: 90vh;
  top: 0;
  border-radius: 0px 0px 0px 50px;
  width: min(95%, 1000px);
  background-color: var(--color-white);
  z-index: 99999;
  padding: clamp(100px, 15vw, 140px) clamp(20px, 7vw, 80px) 50px;

  .grid-column-two{
    --grid-size-left: min(50%, 400px);
    gap: 40px clamp(20px, 5vw, 80px);
  }
  .list-dotted-item{
    height: calc(100% / 4);

    a{
      padding: 15px clamp(10px, 5vw, 25px);
      height: 100%;
    }
  }
  .btn-radius{
    width: 100%;
    text-align: left;
    line-height: 1.2;
    padding: clamp(20px, 5vw, 30px) clamp(20px, 5vw, 40px) clamp(20px, 5vw, 30px) clamp(35px, 5vw, 50px);
  }
}

.header__nav_toggle{
  border-radius: 36px;
  width: clamp(48px, 15vw, 108px);
  display: block;
  z-index: 999999;
  background-color: var(--color-black);
  padding: 26px 0;
  margin: 0 clamp(15px, 3vw, 30px) 0 0;
}

.header__nav_toggle_bar_block{
  width: 30px;
  height: 14px;
}

.header__nav_sub_list{
  display: block;
  padding: 0;
  background-color: transparent !important;

  &::before{
    content: none;
  }
  .list-border-item{
    font-size: clamp(1.7rem, 3vw, 1.8rem);
    font-weight: bold;

    > a{
      display: block;
      padding: clamp(15px, 5vw, 20px) 0;
    }
    &:first-child > a{
      padding-top: 0;
    }
  }
}

.header__nav_sub_child_list{
  padding: 0 0 30px 20px;
}

.header__nav_sub_child_item{
  &:not(:last-child){
    margin-bottom: 15px;
  }
}

.header__nav_bottom_block{
  gap: 10px clamp(20px, 3vw, 50px);
  margin-top: clamp(30px, 5vw, 60px);
}

.header__nav_main_list {
  padding: 0 !important;
}

@media screen and (max-width: 80em) and (min-width: 67.563em) {
  .header__logo_block{
    width: min(100%, 200px);

    a{
      flex-wrap: wrap;
    }
  }
}

@media screen and (max-width: 67.5em) {
  .header__outer_link_block{
    [class*="theme-"]:has(.btn-radius),
    .btn-radius{
      display: none;
    }
  }
}

/*////////////////////////

 Footer

////////////////////////*/
.recruit-lrg-btn-block{
  .theme-bus .btn-radius{
    color: var(--color-accent) !important;
  }
  .theme-fresh,
  .theme-career,
  .theme-part{
    .btn-radius{
      --theme-color: var(--color-accent);
      box-shadow: 0 4px 0 var(--theme-color);

      &:hover{
        color: var(--theme-color) !important;
      }
    }
  }
  .theme-fresh .btn-radius{
    --theme-color: var(--color-theme-fresh);
  }
  .theme-career .btn-radius{
    --theme-color: var(--color-theme-career);
  }
  .theme-part .btn-radius{
    --theme-color: var(--color-theme-part);
  }
  .btn-radius{
    width: 100%;
    background-color: var(--color-white) !important;
    padding: clamp(20px, 5vw, 35px);
    border: none;
    box-shadow: 0 4px 0 var(--color-accent);
    font-size: clamp(1.8rem, 3vw, 2.2rem);

    &:hover{
      filter: none;
      box-shadow: none !important;
      font-weight: bold !important;
      transform: translate(0, 4px);
    }
  }
}

.footer{
  &:not(:has(.footer-recruit-info)){
    margin-top: clamp(100px, 35vw, 300px);
  }
  .bkg-white{
    border-radius: 25px 25px 0px 0px;
    padding: clamp(50px, 10vw, 130px) 0 clamp(40px, 5vw, 80px);
    width: calc(100% - clamp(30px, 4vw, 80px));
    margin: auto;
    position: relative;
    z-index: 2;
  }
}

.footer-recruit-info{
  position: relative;
  padding: clamp(80px, 20vw, 200px) 0 clamp(110px, 25vw, 340px);

  .relative{
    z-index: 1;
  }
  .block-bkg-img .img-cover{
    object-position: top;
  }
  [class*="theme-"]:has(.btn-radius){
    width: min(100%, 450px);
  }
  .btn-radius{
    font-size: 1.8rem !important;
  }
}

.footer-entry{
  position: relative;
  background-color: var(--color-dark-beige);
  padding: 0 0 clamp(50px, 10vw, 130px);

  &::before{
    content: '';
    width: 100%;
    height: min(17vw, 200px);
    background: url('../img/recruit/common/footer_entry_bkg.svg') no-repeat top center / cover;
    position: absolute;
    bottom: 100%;
    left: 0;
  }
  [data-deco-shape-postion-x="left"][data-deco-shape-postion-y="top"]{
    --postion-x-value: -4vw;
    --postion-y-value: -6vw;
    width: min(40vw, 566px);
  }
  [data-deco-shape-postion-x="right"][data-deco-shape-postion-y="bottom"]{
    --postion-x-value: -20vw;
    --postion-y-value: -19vw;
    width: min(65vw, 964px);
  }
  .container_m{
    position: relative;
    z-index: 2;
  }
  .section-hdg{
    width: min(100%, 966px);
    padding: 20px clamp(65px, 4vw, 100px);
    margin: auto;
    background-image: url('../img/recruit/common/footer_entry_deco_man.svg'), url('../img/recruit/common/footer_entry_deco_woman01.svg'), url('../img/recruit/common/footer_entry_deco_woman02.svg'), url('../img/recruit/common/footer_entry_deco_staff.svg');
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-position: left top, 6vw bottom, right top, calc(100% - 6vw) bottom;
    background-size: clamp(12px, 2vw, 25px) auto, clamp(12px, 2vw, 24px) auto, clamp(12px, 2vw, 25px) auto, clamp(12px, 2vw, 27px) auto;
  }
  .btn-radius{
    padding: clamp(30px, 5vw, 60px);
    background-color: var(--color-black);
    font-size: clamp(1.8rem, 5vw, 2.6rem);
    box-shadow: 0px 15px 35px #00AD9240;
    border: none;

    &:hover{
      filter: none;
      box-shadow: none !important;
      font-weight: bold !important;
      transform: translate(0, 4px);
    }
  }
}

.footer__logo_block{
  .f-en-sub{
    font-size: clamp(1rem, 2vw, 1.7rem);
  }
}

.footer__nav_outer_block{
  --grid-size-right: min(30%, 360px);
  gap: 40px clamp(10px, 3vw, 40px);
  margin: clamp(30px, 5vw, 50px) 0;
  padding: clamp(40px, 5vw, 80px) 0;
  border-top: 1px solid #E6EBF2;
  border-bottom: 1px solid #E6EBF2;

  .btn-bkg-img{
    width: 100%;
    min-width: 100%
  }
}

.footer__nav_list:first-of-type{
  .footer__nav_item{
    &:first-child{
      padding-top: 0 !important;
      border-top: none !important;
    }
  }
}

.footer__nav_item{
  > a{
    &:hover{
      opacity: 1;
      color: var(--color-accent);
    }
  }
  &.fs-18{
    font-size: clamp(1.6rem, 3vw, 1.8rem);
  }
}

.footer__nav_parent{
  padding: 0;

  &.fs-18{
    font-size: clamp(1.6rem, 3vw, 1.8rem);
  }
}

.footer__nav_child_item{
  a{
    font-weight: bold;
    color: #919397;
  }
}

.footer__bottom_link_block{
  --grid-size-right: max-content;

 .box-border{
  padding: 15px;
 }
}

@media screen and (min-width: 48.063em) {
  .footer__nav_item {
    margin-bottom: 30px;
  }
  .footer__nav_child_list{
    padding-bottom: 0;
  }
}

/*////////////////////////

 Recruit Top

////////////////////////*/
/********** LOADING ***********/
.js-loading-block{
  /* display: none; */
  background-color: var(--color-cream);
  background-image: url('../img/recruit/mv_deco_bkg01.png'), url('../img/recruit/mv_deco_bkg02.png'), url('../img/recruit/mv_deco_bkg03.png'), url('../img/recruit/mv_deco_bkg04.png');
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: 5% -150px, 96% 120px, -100px 145%, 120% 150%;
  background-size: min(70vw,913px) auto, min(70vw,349px) auto, min(70vw,500px) auto, min(75vw,657px) auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999999;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.loading-block-inner{
  padding: 50px 15px;
  width: min(100%, 1705px);
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  margin: auto;
}

.loading-block-hdg{
  margin-bottom: -5vw;
  position: relative;
  z-index: 10;
}

[data-loading-block="middle"]{
  position: relative;
  z-index: 10;
  width: min(80vw, 950px);
  margin: auto;
 animation: scale-in-center 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

[data-loading-block="left"],
[data-loading-block="right"]{
  width: min(24vw, 450px);
}

[data-loading-block="left"]{
  left: 5vw;
  animation-delay: .4s;
}

[data-loading-block="right"]{
  right: 5vw;
  animation-delay: .6s;
}

.loading-block-side-img-block{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@keyframes scale-in-center {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@media screen and (max-width: 48em) {
  .js-loading-block{
    background-position: -10vw -10vw, calc(100% + 100px) 0, -120px 110%, 50vw 120vw;
  }
   .loading-block-side-img-block{
    position: relative;
    justify-content: center;
    gap: 20px;
   }
   [data-loading-block="left"], [data-loading-block="right"]{
    width: min(35vw, 450px);
   }
   [data-loading-block="middle"]{
    margin-top: -80px;
    width: min(90vw, 950px);
   }
}
/*********** END LOADING ***********/

.large-en-catch{
  position:absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  width: min(500vw, 3192px);
  height: min(500vw, 3192px);

  img{
    width:100%;
    display:block;
    animation: rotateText 200s linear infinite;
    transform-origin:center center;
  }
}

@keyframes rotateText{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

.js-repeat-move{
  transition: .2s;
  transform: rotate(-5deg);

  &.-is-on{
    transform: rotate(5deg);
  }
}

.block-bkg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;

  img {
    width: 100%;
    display: block;
    filter: brightness(0.7);
  }
}

.bkg-shape-wave{
  position: relative;
  background-color: #FEEED1;

  &::before, &::after{
    position: absolute;
    left: 0;
    display: block;
    content: '';
    width: 100%;
  }
  &::before{
    bottom: 100%;
    height: min(20vw, 500px);
    background: url('../img/recruit/common/bkg_wave_top_right_large.svg') no-repeat top center / cover;
  }
  &::after{
    top: 100%;
    height: min(50vw, 360px);
    background: url('../img/recruit/common/bkg_wave_bottom_right_large.svg') no-repeat bottom center / cover;
  }
  &.-is-invert{
    &::before{
      background-image: url('../img/recruit/common/bkg_wave_top_left_large.svg');
    }
    &::after{
      background-image: url('../img/recruit/common/bkg_wave_bottom_left_large.svg');
    }
  }
  &.-is-absolute{
    position: absolute;
    top: 265px;
    left: 0;
    z-index: -1;
    height: 445px;
    width: 100%;

    &::before{
      height: 300px;
      background: url('../img/recruit/common/bkg_wave_top_left.svg') no-repeat top left / cover;
    }
    &::after{
      height: 190px;
      background: url('../img/recruit/common/bkg_wave_bottom_left.svg') no-repeat bottom left / cover;
    }
    &.-is-invert{
      &::before{
        background-image: url('../img/recruit/common/bkg_wave_top_right.svg');
      }
      &::after{
        height: 290px;
        background-image: url('../img/recruit/common/bkg_wave_bottom_right.svg');
      }
    }
  }
}

.recruit-top{
  padding-bottom: 0 !important;
}

.recruit-top-mv{
  padding: clamp(120px, 25vw, 160px) 0 clamp(50px, 20vw, 160px);
  position: relative;

  .swiper-container {
    position: relative;
    overflow: visible;
  }
  .swiper-slide {
    img{
      border-radius: 25px;
      transition: .7s;
      box-shadow: 0px 3px 30px #7D7A7142;
    }
  }
  .swiper-slide-prev img{
    transform: scale(0.7) translateY(clamp(70px, 10vw, 130px)) rotate(-15deg);
  }
  .swiper-slide-next img{
    transform: scale(0.7) translateY(clamp(70px, 10vw, 130px)) rotate(15deg);
  }
  .swiper-button-prev,
  .swiper-button-next{
    width: clamp(40px, 5vw, 80px);
    height: clamp(40px, 5vw, 80px);
  }
  .swiper-button-prev{
    left: 17%;
  }
  .swiper-button-next{
    left: auto;
    right: 17%;
  }
}

.recruit__top_mv_deco{
  z-index: -1;

  &[data-deco-shape-postion-x="left"][data-deco-shape-postion-y="top"]{
    --postion-x-value: 4vw;
    --postion-y-value: -7vw;
    width: min(60vw, 913px);
  }
  &[data-deco-shape-postion-x="right"][data-deco-shape-postion-y="top"]{
    --postion-x-value: 5vw;
    --postion-y-value: 7vw;
    width: min(35vw, 349px);
  }
  &[data-deco-shape-postion-x="left"][data-deco-shape-postion-y="bottom"]{
    --postion-x-value: -5vw;
    --postion-y-value: -3vw;
    width: min(45vw, 500px);
  }
  &[data-deco-shape-postion-x="right"][data-deco-shape-postion-y="bottom"]{
    --postion-x-value: -15vw;
    --postion-y-value: -5vw;
    width: min(60vw, 657px);
  }
}

.recruit__top_mv_hdg{
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  margin: auto;
  text-align: center;
  z-index: 10;
}

.recruit__top_mv_news_block{
  width: min(calc(100% - 30px), 860px);
  margin: 40px auto 0;
}

.recruit-top-intro{
  position: relative;
  margin-top: -150px;
  padding: 75px 0 clamp(50px, 10vw, 150px);
  overflow: hidden;

  .list-dotted-item a{
    padding: 20px;
    display: grid;
    align-items: center;
    grid-template-columns: min(25%, 150px) 1fr;
    gap: 0 15px;
  }
  .icn-circle-external,
  .arrow-circle-right{
    font-size: clamp(1.8rem, 5vw, 2.4rem);
  }
  .box-border.-is-large{
    padding: 0;
  }
}

.recruit-top-message{
  background-image: url('../img/recruit/message_deco_bkg01.png'), url('../img/recruit/message_deco_bkg02.png');
  background-repeat: no-repeat, no-repeat;
  background-position: calc(100% + 12vw) 30%, -150px calc(100% + 14vw);
  background-size: min(50vw, 668px), min(70vw, 832px);
  padding: 0 0 clamp(200px, 50vw, 350px);
  position: relative;

  .fs-20{
    line-height: 2.5;
  }
}

.recruit__message_deco_block{
  position: absolute;

  &[data-deco-block="1"]{
    left: 7vw;
    top: 50px;

    .deco-img{
      width: min(15vw, 270px);
    }
  }
  &[data-deco-block="2"]{
    right: 9vw;
    top: 5%;
    gap: 20px clamp(20px, 4vw, 100px);

    .deco-img{
      width: min(17vw, 160px);
    }
  }
  &[data-deco-block="3"]{
    left: 7vw;
    bottom: 20%;

    .deco-img{
      width: min(20vw, 200px);
    }
  }
  &[data-deco-block="4"]{
    right: 7vw;
    bottom: 20%;
    z-index: 10;

    .deco-img{
      width: min(17vw, 360px);
    }
  }
}

.recruit-top-feature{
  position: relative;

  .container_m{
    position: relative;
    z-index: 1;
    width: min(100%, 1430px);
  }
  .section-hdg{
    margin-bottom: 80px;
  }
  .section-balloon{
    margin-left: auto;
    width: min(40vw, 245px);
  }
}

.recruit__top_feature_num{
  position: absolute;
  top: -30px;
  left: -30px;
  z-index: 1;
}

.recruit-top-job{
  padding: clamp(150px, 25vw, 200px) 0 150px;
  background-image: url('../img/recruit/job_deco_bkg01.png'), url('../img/recruit/job_deco_bkg02.png');
  background-repeat: no-repeat, no-repeat;
  background-position: left top, 90% 75%;
  background-size: min(55vw, 347px) auto, auto;
  overflow: hidden;

  [data-deco-shape-postion-x="right"][data-deco-shape-postion-y="top"]{
    --postion-x-value: 10vw;
    --postion-y-value: 25vw;
  }
  [data-deco-shape-postion-x="left"][data-deco-shape-postion-y="bottom"]{
    --postion-x-value: 10vw;
    --postion-y-value: 25%;
  }
  [data-deco-shape-postion-x="right"][data-deco-shape-postion-y="bottom"]{
    --postion-x-value: 20vw;
  }
  .large-en-catch{
    top: auto;
    bottom: 50px;
  }
  .grid-column-two{
    gap: 30px clamp(20px, 7vw, 100px);
    --grid-size-right: min(50vw, 800px);
  }
  .grid-swiper-block .swiper-container{
    height: min(60vw, 540px);
    position: relative;

    .swiper-slide{
      position: relative;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;

      &:not(:first-of-type){
        position: absolute;
      }
      &.-is-active {
        z-index: 10;

        img{
          opacity: 1;
          visibility: visible;
        }
      }
      img{
        transition: .5s;
        opacity: 0;
        visibility: hidden;
      }
    }
  }
  .swiper-wrapper.-is-linear{
    .swiper-slide{
      width: max-content;
    }
  }
}

.recruit-top-work-style{
  padding: clamp(30px, 7vw, 100px) 0 clamp(120px, 15vw, 180px);
  background: url('../img/recruit/workstyle_deco_bkg01.png') no-repeat -8vw 117% / min(100vw, 589px) auto;
  z-index: -1;
  position: relative;

  .bkg-white{
    border-radius: 25px;
    padding: 0 clamp(20px, 5vw, 70px) 90px;
    margin-top: -70px;
    position: relative;
  }
  .curve-top svg {
    display: block;
    width: 110%;
    height: 120px;
    fill: var(--color-white);
    position: absolute;
    bottom: 90%;
    left: -5%;
  }
  .hdg-size44{
    position: relative;
    z-index: 2;
    margin-top: -50px;
  }
  .box-border{
    &.-is-large{
      padding: 0;
    }
    a{
      display: block;

      &:hover{
        opacity: 1;
      }
    }
  }
  .btn-bkg-img{
    width: min(100%, 560px);
    padding: clamp(30px, 5vw, 50px);
  }
  .theme-career{
    .recruit__top_ws_catch{
      background-color: var(--color-theme-career);
    }
  }
  .grid-repeat{
    margin: clamp(30px, 5vw, 100px) 0 100px;
    gap: 100px clamp(20px, 6vw, 100px);
  }
}

.recruit__top_ws_balloon{
  position: fixed;
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease;
  background-color: var(--color-white);
  font-size: 1.4rem;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0px 2px 5px #0000001A;
  width: min(100%, 260px);
}

.recruit__top_ws_catch{
  font-weight: bold;
  background-color: var(--color-theme-fresh);
  color: var(--color-white);
  display: inline-block;
  border-radius: 50px;
  position: absolute;
  top: -70px;
  left: 0;
  right: 0;
  z-index: 2;
  margin: auto;
  padding: 5px 15px;
  text-align: center;
  width: max-content;
}

.recruit__top_ws_img{
  height: min(80vw, 515px);
}

.recruit__top_ws_arrow{
  position: absolute;
  bottom: -45px;
  left: 0;
  right: 0;
  z-index: 1;
  margin: auto;
  text-align: center;
  pointer-events: none;
}

.recruit-top-people{
  background: url('../img/recruit/people_deco_bkg01.png') no-repeat 90% 7vw / min(60vw, 341px) auto;
}

.common-people-slide-block{
  position: relative;

  .section-hdg + .fs-20{
    padding-bottom: 80px;
  }
  .section-balloon{
    width: min(40vw, 274px);
  }
}

.people-thumb-item{
  width: min(100%, 360px);
  position: relative;

  a{
    display: block;
  }
  .hover-scale-wrapper{
    border-radius: 300px;
    background-color: var(--theme-color);

    img{
      aspect-ratio: 360 / 540;
    }
  }
}

.people-thumb-number{
  font-family: var(--font-en-sub);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  color: var(--color-white);
  font-size: clamp(5rem, 10vw, 6rem);
  font-weight: 100;
  line-height: 1.3;
  text-shadow: 0.5px 0.5px #aaa;
}

.people-thumb-name{
  font-size: 2rem;
  text-shadow: 0.5px 0.5px #aaa;
}

.people-thumb-txt-block{
  position: absolute;
  bottom: 7%;
  left: 10%;
  z-index: 1;
  font-weight: bold;
  color: var(--color-white);
}

.people-thumb-meta > span{
  color: var(--color-white);
  background-color: var(--color-black);
  display: block;
  width: 100%;
  max-width: max-content;
  padding: 1px 8px;
  margin-bottom: 1px;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
}

.slide-people{
  .swiper-btn-block{
    /* width: min(100%, clamp(400px, 30vw, 460px)); */
    width: min(40%, 460px);
    margin: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
    justify-content: space-between;

    .swiper-button-prev,
    .swiper-button-next{
      position: relative;
      top: 0;
      left: 0;
      right: 0;
    }
  }
  .swiper-wrapper{
    align-items: center;
  }
  .swiper-slide{
    width: auto;
    transform: scale(0.65);
  }
  &:not(.swiper-slide-active){
    .people-thumb-name{
      font-size: clamp(2rem, 3vw, 2.6rem);
    }
    .people-thumb-meta > span{
      font-size: clamp(1.1rem, 2vw, 1.8rem);
    }
  }
  .swiper-slide-active{
    transform: scale(1);
  }
}

.recruit-top-environment{
  padding: clamp(100px, 15vw, 150px) 0 80px;
  position: relative;
  z-index: 1;

  &::after{
    content: '';
    display: block;
    width: min(55vw, 410px);
    height: min(55vw, 403px);
    position: absolute;
    top: 70%;
    left: 2vw;
    background: url('../img/recruit/environment_deco_bkg01.png') no-repeat center / contain;
  }
  a{
    position: relative;
    z-index: 1;
    display: block;
    color: var(--color-white);
    padding: clamp(40px, 7vw, 80px) clamp(20px, 7vw, 100px);
    border-radius: 25px;
    overflow: hidden;

    &:hover{
      opacity: 1;
    }
  }
  .fc-accent{
    position: relative;
    z-index: 1;
  }
  .block-bkg-img{
    img{
      filter: brightness(0.5);
    }
  }
  .arrow-circle-right{
    position: relative;
    z-index: 1;
    width: clamp(40px, 7vw, 76px);
    height: clamp(40px, 7vw, 76px);
    display: block;
    background-size: contain;
    background-position: bottom right;
    margin-left: auto;
  }
}

.recruit-top-news{
  position: relative;
  z-index: 1;
  margin-bottom: 80px;

  .article-date,
  .article-title{
    font-size: 1.6rem;
  }
  .grid-column-two{
    --grid-size-left: min(100%, 130px);
    gap: 40px clamp(20px, 5vw, 90px);
    padding: clamp(30px, 7vw, 55px) clamp(20px, 7vw, 60px);
    border-radius: 25px;

    .list-border-item:last-child{
      border-bottom: none;
      padding-bottom: 0;
    }
    .f-en-sub{
      margin-bottom: 25px;
    }
  }
}

.recruit-top-sns{
  padding-bottom: clamp(70px, 7vw, 200px);
}

@media (hover: none) {
  .recruit-top-job{
    .grid-swiper-block .swiper-container{
      height: auto;

      .swiper-slide{
        position: relative !important;

        img{
          opacity: 1;
          visibility: visible;
          object-fit: contain;
          width: auto;
          height: auto;
        }
      }
    }
  }
  .recruit__top_ws_balloon{
    position: relative;
    opacity: 1;
    visibility: visible;
    margin: 0 0 20px;
    width: 100%;

    &::after{
      content: '';
      width: 20px;
      height: 20px;
      background-color: var(--color-white);
      transform: rotate(-45deg);
      position: absolute;
      left: 50px;
      bottom: -10px;
      box-shadow: -4px 2px 5px #0000001A;
    }
  }
}

@media screen and (min-width: 67.563em) {
  .recruit-top-feature{
    .section-balloon{
      position: absolute;
      top: 0;
      right: 0;
    }
  }
  .common-people-slide-block{
    .section-balloon{
      position: absolute;
      bottom: 0;
      left: 0;
    }
  }
}

@media screen and (max-width: 67.5em) {
  .recruit-top-message{
    padding-top: 140px;
  }
  .recruit__message_deco_block{
    &[data-deco-block="1"]{
      left: 15px;
      top: 0;

      .deco-icn:nth-of-type(2){
        width: 80px;
      }
    }
    &[data-deco-block="2"]{
      top: 2%;
      right: 15px;
      gap: 10px;
      text-align: right;
    }
    &[data-deco-block="3"]{
      left: 15px;
      bottom: 0;
      z-index: 1;
    }
    &[data-deco-block="4"]{
      right: 15px;
      bottom: 5%;
    }
  }
  .recruit-top-job{
    [data-deco-shape-postion-x="left"][data-deco-shape-postion-y="bottom"]{
      --postion-y-value: 0;
    }
    [data-deco-shape-postion-x="right"][data-deco-shape-postion-y="bottom"]{
      --postion-x-value: 10vw;
    }
  }
}

@media screen and (min-width: 61.313em) {
  .slide-people{
    .swiper-slide-next + .swiper-slide a{
      transform: translateX(-120px);
    }
    .swiper-slide-next + .swiper-slide + .swiper-slide a{
      transform: translateX(-210px);
    }
    .swiper-slide:has(+ .swiper-slide-prev) a{
      transform: translateX(120px);
    }
    .swiper-slide:has(+ .swiper-slide + .swiper-slide-prev) a{
      transform: translateX(210px);
    }
  }
}

@media screen and (max-width: 61.25em) {
  .slide-people{
    .swiper-btn-block{
      width: 85%;
    }
  }
}

@media screen and (min-width: 48.063em) {
  .recruit__top_mv_news_block{
    position: relative;
    z-index: 1;
    top: -30px;
    margin: auto;
  }
  .recruit-top-intro{
    .list-dotted-item a{
      display: block;
      text-align: center;
    }
    .icn-circle-external,
    .arrow-circle-right{
      padding: 15px 0 55px 0;
      background-position: bottom center;
      background-size: 48px auto;
    }
    .link-circle-img{
      border-width: 10px;
    }
  }
  .recruit-top-feature{
    .animation-bottom{
      &:nth-of-type(2){
        animation-delay: .5s;
      }
      &:nth-of-type(3){
        animation-delay: .9s;
      }
    }
  }
  .recruit__top_feature_item{
    &:nth-child(2){
      margin-top: 60px;
    }
    &:nth-child(3){
      margin-top: 120px;
    }
  }
}

@media screen and (max-width: 48em) {
  .recruit__top_mv_deco {
    &[data-deco-shape-postion-x="left"][data-deco-shape-postion-y="top"]{
      --postion-x-value: -8vw;
    }
  }
  .recruit-top-mv{
    .recruit__top_mv_hdg{
      top: -70px;
      padding: 0 15px;
    }
    .swiper-container{
      margin-top: 60px;
    }
    .swiper-button-prev{
      left: 7%;
    }
    .swiper-button-next{
      right: 7%;
    }
  }
  .recruit-top-intro{
    margin-top: -50px;

    .list-dotted-item{
      border: none !important;

      &:not(:last-child){
        border-bottom: 4px dotted #F8EED2 !important;
      }
    }
  }
  .recruit__message_deco_block{
    &.flexbox.-is-tab-wrap,
    .flexbox.-is-tab-wrap{
      .deco-icn{
        width: 100%;
        margin: 0;
      }
    }
    &[data-deco-block="4"] {
      .flexbox{
        gap: 15px;
      }
      .deco-img{
        margin-left: auto;
        margin-bottom: 5px;
      }
    }
  }
  .recruit__top_feature_num{
    left: -10px;
  }
  .recruit-top-work-style{
    background-position: -8vw 105%;
  }
}

/*////////////////////////

 Recruit Child Common

////////////////////////*/
.site-recruit{
  position: relative;
}

.recruit-child{
  padding: clamp(140px, 25vw, 200px) 0 0 !important;
  position: relative;

  &::before{
    content: '';
    display: block;
    width: 100%;
    height: min(180vw, 1240px);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background:
    url('../img/recruit/mv_deco_bkg01.png') no-repeat -90px -130px / min(70vw,913px) auto,
    url('../img/recruit/mv_deco_bkg02.png') no-repeat 95% 150px / min(50vw,349px) auto,
    url('../img/recruit/mv_deco_bkg03.png') no-repeat -100px 100% / min(70vw,500px) auto,
    url('../img/recruit/mv_deco_bkg04.png') no-repeat 110% 95% / min(60vw,657px) auto;
  }
  .section-hdg{
    margin-top: clamp(80px, 15vw, 200px);
  }
  .hdg-double-line{
    margin-top: clamp(60px, 7vw, 80px);
  }
  .list-border-item{
    border-color: #EBE2C7;
  }
}

.child-mv-block{
  margin-bottom: clamp(70px, 10vw, 100px);

  .child-hdg{
    font-family: var(--font-jp-sub);

    &:has(.f-en-sub){
      line-height: 1;
    }
    .fs-22{
      font-family: var(--font-base);
    }
    .f-en-sub{
      line-height: 0.8;
      font-size: clamp(8rem, 20vw, 16rem);
      font-weight: 500;
      letter-spacing: 0.08em;
      margin-bottom: -30px;
    }
  }
}

.child-inner-link-block{
  border-radius: 70px;
  padding: 25px clamp(30px, 3vw, 40px);
  width: 100%;
  max-width: max-content;
  margin: 0 auto clamp(70px, 15vw, 180px);
  font-size: clamp(1.6rem, 3vw, 1.8rem);

  .arrow-inner-link::after{
    background-color: transparent;
  }
}

.catchcopy{
  font-size: clamp(2rem, 3vw, 2.2rem);
  max-width: max-content;
  width: 100%;
  padding: 5px 15px;
  border-radius: 6px;
  color: var(--color-white);
  background-color: var(--color-accent);
}

.hdg-double-line{
  color: var(--color-accent);
  font-size: clamp(2rem, 3vw, 2.6rem);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  line-height: 1.2;

  &::before,
  &::after{
    content: "";
    height: 4px;
    border: 1px solid var(--color-accent);
  }
  &::before{
    border-radius: 50px 0 0 50px;
    border-right: none;
  }
  &::after{
    border-radius: 0 50px 50px 0;
    border-left: none;
  }
}

.hdg-vertical_line{
  font-size: 6rem;
  color: var(--color-accent);
  line-height: 1;
  font-weight: 400;

  &::before{
    content: '';
    display: block;
    height: 40px;
    width: 1px;
    background-color: var(--color-accent);
    margin: 0 auto 10px;
  }
}

.hdg-filled{
  color: var(--color-accent);
  border-radius: 6px;
  font-size: 1.8rem;
  padding: 7px 20px;
  background-color: #F8EED2;
}

.hdg-radius{
  color: var(--color-white);
  border-radius: 70px;
  max-width: max-content;
  width: 100%;
  margin: 0 auto 20px;
  background-color: var(--color-accent);
  padding: 5px 15px;
  line-height: 1.2;
  font-size: 1.8rem;

  &.-is-border{
    text-align: center;
    background-color: var(--color-white);
    border: 1px solid var(--color-accent);
    color: var(--color-accent);
  }
}

.hdg-fukidashi{
  position: relative;
  width: min(90%, 450px);
  margin: auto;
  border-radius: 70px;
  padding: clamp(10px, 3vw, 20px) 20px;
  color: var(--color-white);
  background-color: var(--color-accent);
  text-align: center;
  font-size: 2rem;
  line-height: 1.3;

  &::after{
    content: '';
    display: block;
    width: 15px;
    height: 20px;
    background-color: var(--color-accent);
    position: absolute;
    bottom: -7px;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(-45deg);
  }
}

.child-bottom-link-list{
  position: relative;
  font-weight: bold;
  font-size: 1.8rem;
  padding: 40px 20px !important;
  margin-top: clamp(150px, 15vw, 200px);

  .hdg-fukidashi{
    position: absolute;
    bottom: 90%;
    left: 0;
    right: 0;
    margin: auto;
  }
}

.child-bottom-link-item{
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  line-height: 1.3;

  a{
    display: block;
    padding: 7px clamp(20px, 5vw, 40px);
    position: relative;
    top: 50%;
    transform: translateY(-50%);

    &:hover{
      color: var(--color-accent);
      opacity: 1;
    }
  }
}

.list-check-icn-item{
  position: relative;
  padding-left: 45px !important;

  &.box-radius{
    padding: 20px clamp(15px, 3vw, 25px);
  }
  &::before{
    content: url('../img/recruit/common/icn_check_blue.svg');
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 25px;
  }
}

.accordion-list{
  .accordion-item{
    border: none !important;
    border-radius: 25px;

    &:not(.-is-open){
      .js-accordion-ttl{
        background-color: #F8EED2;
        color: var(--color-black);
      }
    }
    .box-border{
      border-radius: 0 0 25px 25px;
      border-top: none;
    }
  }
  .js-accordion-ttl{
    font-size: clamp(1.8rem, 3vw, 2.2rem);
    box-shadow: none;
    margin: 0;
    padding: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 50px);
  }
  .js-accordion-toggle{
    width: 21px;
    height: 21px;
  }
  .btn-radius.-is-large{
    border-color: var(--color-accent) !important;
    background-color: var(--color-accent);
  }
}

.box-fade{
  background: #FFE8C0 0% 0% no-repeat padding-box;
  border-radius: 25px;
  position: relative;
  padding: 50px clamp(20px, 5vw, 80px);

  &::after{
    content: '';
    display: block;
    width: 95%;
    height: 85%;
    background: #FFF8E2 0% 0% no-repeat padding-box;
    border-radius: 15px;
    filter: blur(20px);
    position: absolute;
    inset: 0;
    margin: auto;
  }
  .relative{
    z-index: 1;
  }
}

.box-border-with-hdg{
  .box-border.-is-large{
    border-top: none;
    border-radius: 0px 0px 25px 25px;
    padding: clamp(30px, 3vw, 40px) clamp(20px, 5vw, 70px);
  }
}

.box-border-hdg{
  background-color: var(--color-accent);
  color: var(--color-white);
  border-radius: 25px 25px 0px 0px;
  padding: clamp(20px, 3vw, 30px) 15px;
  position: relative;
  text-align: center;

  &.hdg-size26{
    &::after{
      content: '';
      width: 48px;
      height: 6px;
      background-color: #41C8B3;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 1;
    }
  }
}

@media screen and (max-width: 48em) {
  .recruit-child::before{
    background-position: -70px -50px, 130% 50px, -100px 100%, 150% 70%;
  }
  .child-inner-link-block{
    > a{
      width: 100%;
    }
  }
  .child-bottom-link-list{
    padding-bottom: 0 !important;
  }
  .child-bottom-link-item{
    border: none !important;

    &:not(:last-child){
      border-bottom: 4px dotted #F8EED2 !important;
    }
    a{
      padding: 15px 0;
    }
  }
  .child-mv-block{
    .child-hdg .f-en-sub{
      margin-bottom: -10px;
    }
  }
}

/*////////////////////////

 Recruit - Job

////////////////////////*/
.recruit-job-top{
  .grid-column-two{
    gap: 40px clamp(20px, 5vw, 80px);
    --grid-size-right: min(40%, 540px);
  }
  .flexbox.-is-tab-wrap{
    gap: 0 clamp(20px, 3vw, 40px);
  }
}

@media screen and (max-width: 48em) {
  .recruit-job-top{
    .grid-column-two div:has(.catchcopy){
      order: 2;
    }
  }
}

/*////////////////////////

 Recruit - Requirements Top

////////////////////////*/
.recruit-requirements-top{
  padding-bottom: 150px;
}

/*////////////////////////

 Recruit - Requirements Child

////////////////////////*/
.btn-tab-block{
  width: 90%;
  margin: auto;
}

.btn-tab-item{
  width: min(100%, 450px);
  text-align: center;

  a{
    color: var(--color-white);
    font-size: clamp(2rem, 3vw, 2.6rem);
    display: block;
    padding: clamp(20px, 5vw, 30px) 15px;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 25px 25px 0px 0px;
    background-color: var(--color-theme-admin);
    opacity: 0.3;
  }
  &:hover,
  &.-is-active{
    a{
      opacity: 1;
    }
  }
  &.-is-specialist a{
    background-color: var(--color-theme-service);
  }
}

.recruit-requirements-child{
  .btn-radius.-is-large{
    font-size: 2.2rem;
    padding: 32px !important;
  }
  .box-border.-is-large{
    padding: clamp(50px, 7vw, 100px) clamp(20px, 7vw, 80px);
    word-break: break-word;

    .list-border-item{
      border-color: #EBE2C7;
      display: grid;
      gap: 10px 20px;
      grid-template-columns: 22% 1fr;
    }
    .hdg-filled{
      margin-top: 50px;
      color: var(--color-black);
      padding: 20px;
      background-color: #E4F2FF;
    }
  }
  .box-radius.-is-filled{
    border-radius: 25px;
    position: relative;
    background-color: #E4F2FF;

    &:not(:last-of-type)::after{
      content: '';
      display: inline-block;
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 9px solid transparent;
      border-bottom: 9px solid transparent;
      border-left: 11px solid var(--color-theme-admin);
      border-right: 0;
      position: absolute;
      top: 0;
      bottom: 0;
      left: calc(100% + 5px);
      margin: auto;
    }
  }
  .list-counter-item{
    padding: 0;

    &::before{
      margin-bottom: 7px;
      background-color: var(--color-theme-admin);
      content: "Step "counter(lists, decimal-leading-zero);
      display: block;
      position: relative;
      font-family: var(--font-en-sub);
      color: var(--color-white);
      border-radius: 100px;
      text-align: center;
      padding: 5px 10px;
      line-height: 1;
      width: max-content;
      font-size: 1.2rem;
      font-weight: 600;
    }
  }
  .theme-service{
    .hdg-filled{
      background-color: #FFF1D9 !important;
    }
    .box-radius.-is-filled{
      background-color: #FFF1D9;

      &::after{
        border-left-color: var(--color-theme-service);
      }
    }
    .list-counter-item::before{
      background-color: var(--color-theme-service);
    }
  }
}

.recruit-requirements-child.-is-career{
  .box-border.-is-large{
    padding: clamp(20px, 7vw, 80px);
  }
}

@media screen and (max-width: 48em) {
  .recruit-requirements-child{
    .box-border.-is-large{
      .list-border-item{
        grid-template-columns: 1fr;
      }
    }
    .box-radius.-is-filled{
      &:not(:last-of-type)::after{
        border-right: 9px solid transparent;
        border-left: 9px solid transparent;
        border-top: 11px solid var(--color-theme-admin);
        border-bottom: 0;
        top: calc(100% + 5px);
        bottom: auto;
        left: 0;
        right: 0;
      }
    }
    .theme-service{
      .box-radius.-is-filled{
        &::after{
          border-top-color: var(--color-theme-service);
        }
      }
    }
  }
}

/*////////////////////////

 News

 ////////////////////////*/
.recruit-article-archive{
  .box-radius{
    border-radius: 25px;

    &:not(:last-child){
      margin-bottom: 10px;
    }
  }
}

.wp-pagenavi{
  padding: 0 clamp(40px, 10vw, 100px);
  margin-top: clamp(50px, 7vw, 80px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  font-weight: bold;

  a:not(.previouspostslink):not(.nextpostslink),
  .current {
    text-align: center;
    color: var(--color-accent);
    margin: 0 5px;
    display: block;
    font-family: var(--font-en-sub);
    background-color: var(--color-white);
    border: 2px solid var(--color-accent);
    border-radius: 100px;
    width: clamp(50px, 5vw, 70px);
    height: clamp(50px, 5vw, 70px);
    line-height: clamp(45px, 5vw, 65px);
  }
  .current,
  a:not(.previouspostslink):not(.nextpostslink):hover{
    opacity: 1;
    color: var(--color-dark-gray);
    border-color: #F8EFD2;
    background-color: #F8EFD2;
    color: #DCD2B6;
  }
  .arrow-circle-left{
    background-image: url('../img/common/arrow_circle_left_accent.svg');
  }
  .arrow-circle-right{
    background-image: url('../img/common/arrow_circle_right_accent.svg');
  }
}

.recruit-article-detail{
  .child-mv-block{
    margin-bottom: 60px;
  }
  .article-editor-block{
    h2{
      margin: clamp(60px, 10vw, 100px) 0 clamp(30px, 3vw, 50px);
      padding: 0;
      background-color: transparent;
      font-size: clamp(2.6rem, 3vw, 3.2rem);
    }
  }
}

/*////////////////////////

 Internship / Seminar

 ////////////////////////*/
.filter-link-item{
  &:hover a,
  &.-is-current a{
    background-color: var(--color-accent);
    color: var(--color-white);
  }
  a{
    color: var(--color-black);
    background-color: var(--color-white);
    border-radius: 70px;
    padding: clamp(15px, 2.5vw, 30px) clamp(15px, 3vw, 50px);
  }
}

.article-thumb-list.-is-seminar{
  .article-thumb-item{
    border-radius: 25px;
    overflow: hidden;
    background-color: var(--color-white);
  }
  .hover-scale-wrapper{
    margin: 0;
  }
  .bullet-disc{
    color: #919397;
    font-weight: bold;
  }
  .bkg-white{
    padding: clamp(20px, 3vw, 30px);
  }
}

.article-meta-list{
  gap: 5px 15px;
}

/*////////////////////////

 Recruit - About

////////////////////////*/
.recruit-about-top{
  .box-border.-is-large{
    .grid-column-two{
      --grid-size-left: 160px;
      gap: 30px clamp(20px, 3vw, 50px);

      .img-radius{
        aspect-ratio: 160 / 178;
        max-height: 178px;
        max-width: 160px;
      }
    }
  }
}

.recruit-about-personality{
  margin: clamp(150px, 20vw, 350px) 0 clamp(150px, 20vw, 300px);
}

.recruit-about-feature{
  margin: 120px 0 0;

  .swiper-slide{
    width: clamp(280px, 50vw, 540px);
  }
  .section-hdg{
    margin-top: 100px;
  }
  .bkg-shape-wave.-is-absolute {
    top: 25%;
    height: 345px;
  }
}

.recruit-about-history{
  .grid-column-two{
    gap: 40px clamp(20px, 5vw, 80px);
    --grid-size-right: min(40vw, 600px);
  }
  .box-radius{
    padding: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 30px);
    background-color: #F8EED2;
    border-radius: 25px;
  }
  .hdg-vertical_line{
    font-size: 6.4rem;
    font-weight: 300;
    position: relative;
  }
  .list-vertical-line-item:last-of-type{
    .hdg-vertical_line{
      margin-bottom: 60px;

      &::after{
        content: url('../img/recruit/about/vertical_dash.svg');
        display: block;
        text-align: center;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
      }
    }
  }
}

@media screen and (min-width: 48.063em) {
  .recruit-about-history{
    .grid-column-two.-is-reverse{
      --grid-size-right: 1fr;
      --grid-size-left: min(40vw, 600px);

        .column-text{
          order: 2;
        }
    }
  }
}

/*////////////////////////

 Recruit - Career

////////////////////////*/
@media screen and (max-width: 67.5em) {
  .recruit-newgraduate-top,
  .recruit-career-top{
    .common-people-slide-block{
      margin-top: 150px;

      .section-hdg{
        margin-top: 20px !important;
      }
    }
  }
}

/*////////////////////////

 Recruit - New Graduate

////////////////////////*/
.recruit-newgraduate-top{
  .box-border-hdg{
    padding: clamp(20px, 3vw, 20px) 15px;

    &::before{
      content: '';
      width: min(30%, 114px);
      height: 125px;
      background: url('../img/recruit/newgraduate/icn_person.svg') no-repeat bottom / contain;
      position: absolute;
      left: clamp(5px, 3vw, 30px);
      bottom: 0;
      z-index: 1;
    }
  }
  #specialist{
    .box-border-hdg::before{
      background-image: url('../img/recruit/newgraduate/icn_person_phone.svg');
    }
  }
}


/*////////////////////////

 Recruit - Form

////////////////////////*/
.form.-is-thanks{
  .box-fade{
    width: min(100%, 500px);
  }
}

.form-note{
  a{
    text-decoration: underline;
    color: var(--color-accent);
  }
}

.form-input-ttl{
  font-size: 1.8rem;
  font-weight: bold;
}

.form-input-item{
  margin: 0 !important;
  gap: 15px;

  &:not(:has(textarea)){
    align-items: center;
  }
}

.form-input-block{
  .box-radius.-is-filled{
    padding: clamp(20px, 3vw, 40px) clamp(20px, 3vw, 30px);
  }
}

.btn-radius.-is-mynav{
  padding: clamp(20px, 3vw, 30px) clamp(15px, 3vw, 20px);
  width: min(100%, 450px);
  border-color: var(--color-white) !important;
  background-color: var(--color-white) !important;
  box-shadow: 0 4px 0 #14BED8;

  &:hover{
    filter: none;
    box-shadow: none !important;
    transform: translate(0, 4px);
  }
  .icn-external{
    background-image: url('../img/recruit/entry/newgraduate/icn_external_mynavi.svg');

    img{
      max-width: 206px;
    }
  }
}

@media screen and (min-width: 48.063em) {
  .form-input-item{
    --grid-size-left: min(100%, 250px);

    &:has(textarea){
      .form-input-ttl{
        margin-top: 15px;
      }
    }
  }
}

/*////////////////////////

 Recruit - People

////////////////////////*/
.recruit-article-archive.-is-people{
  .people-thumb-list{
    gap: clamp(50px, 5vw, 100px) clamp(20px, 7vw, 100px);
  }
  .people-thumb-item{
    margin: auto;
  }
}

@media screen and (min-width: 48.063em) {
  .recruit-article-archive.-is-people{
    .people-thumb-list{
      margin-bottom: 250px;
    }
    .people-thumb-item:nth-child(3n+2) {
      position: relative;
      top: 120px;
    }
  }
}

/*////////////////////////

 Recruit - People - Detail

////////////////////////*/
.recruit-article-detail.-is-people{
  .common-people-slide-block{
    margin-top: 100px;
    padding-top: clamp(70px, 20vw, 200px);

    .hdg-fukidashi{
      margin-bottom: 40px;
    }
  }
  .child-mv-block{
    margin: 40px;

    .f-en-sub{
      margin: -6%;
    }
  }
  .hdg-double-line{
    margin-top: clamp(80px, 7vw, 120px);
  }
}

.people__detail_mv_block{
  gap: 20px clamp(15px, 5vw, 40px);

  .img-radius{
    border-radius: 300px;
    width: min(70vw, 500px);
    margin: auto;

    img{
      aspect-ratio: 500 / 750;
    }
  }
  .hdg-size44{
    margin: 0 auto;
  }
  .people-thumb-meta > span{
    font-size: 2rem;
    border-radius: 6px;
  }
}

.people__detail_career_block{
  margin-bottom: clamp(70px, 10vw, 150px);

  .list-dotted-item{
    width: 100%;

    &:not(:last-child){
      padding-bottom: 35px;
      margin-bottom: 35px;
    }
  }
}

.people__detail_interview_block{
  .bkg-shape-wave{
    z-index: -1;

    &.-is-invert{
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: min(100vw,400px);
    }
  }
}

[data-interview-block]{
  margin-bottom: clamp(120px, 20vw, 270px);
  gap: 50px clamp(20px, 7vw, 100px);

  .icn-ques,
  .icn-ans{
    display: flex;
    gap: 0 clamp(15px, 3vw, 30px);


    &::before{
      flex-shrink: 0;
      content: 'Q';
      font-weight: 500;
      font-family: var(--font-en-sub);
      display: block;
      width: 60px;
      height: 75px;
      line-height: 75px;
      background-color: var(--theme-color);
      color: var(--color-white);
      font-size: 2.6rem;
      text-align: center;
      border-radius: 300px;
    }
  }
  .icn-ques{
    align-items: center;
  }
  .icn-ans::before{
    content: 'A';
    color: var(--theme-color);
    background-color: var(--color-white);
  }
}

[data-interview-block="1"],
[data-interview-block="3"]{
  .img-radius img{
    aspect-ratio: 540 / 360;
  }
}

[data-interview-block="2"],
[data-interview-block="4"]{
  .img-radius img{
    aspect-ratio: 450 / 600;
  }
}

[data-interview-block="5"]{
  margin-bottom: 0 !important;

  .img-radius img{
    aspect-ratio: 1300 / 730;
  }
}

.people__detail_schedule_block{
  gap: 10px 20px;

  .box-radius{
    border-radius: 25px;
    gap: 15px clamp(15px, 3vw, 40px);
    --grid-size-left: 65px;

    &:not(:last-child){
      margin-bottom: 10px;
    }
    .f-en-sub{
      position: relative;
      padding-left: 20px;
      font-weight: 500;
      flex-shrink: 0;

      &::before{
        content: '-';
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
      }
    }
  }
}

.people__detail_qa_block{
  gap: 30px 50px;
  --grid-size-left: clamp(150px, 20vw ,200px);

  .img-radius{
    border-radius: 100px;
    flex-shrink: 0;
    margin: auto;
  }
  .box-radius{
    border-radius: 20px 20px 20px 0px;
    background-color: var(--theme-color);
    color: var(--color-white);
  }
}

@media screen and (min-width: 67.563em) {
  .people__detail_mv_block{
    .hdg-size44{
      max-width: min(100%, 360px);
      margin-left: auto;
      margin-right: 0;
    }
  }
  .people__detail_career_block{
    .list-dotted-item{
      flex: 1;
      border-bottom: none;

      &:not(:last-child){
        padding-right: clamp(15px, 5vw, 35px);
        margin-right: clamp(15px, 5vw, 35px);
        border-right: 4px dotted #F8EED2;
      }
    }
    .box-radius{
      border-radius: 15px;
      position: relative;
      padding: 15px;

      &::before{
        content: '';
        display: block;
        position: absolute;
        top: -5px;
        left: 30px;
        background-color: var(--color-white);
        transform: rotate(-45deg);
        width: 12px;
        height: 12px;
      }
    }
  }
}

@media screen and (min-width: 48.063em) {
  .recruit-article-detail.-is-people{
    .grid-column-two.-is-reverse{
      --grid-size-right: 1fr;
      --grid-size-left: min(40vw, 450px);

        .grid-column-text{
          order: 2;
        }
    }
  }
}

/*////////////////////////

 Recruit - Environment

////////////////////////*/
.hdg-size66{
  font-size: clamp(4rem, 4vw, 6.6rem);
  line-height: 0.8;
}

.hdg-size72{
  font-size: clamp(5rem, 5vw, 7.2rem);
  line-height: 0.8;
}

.hdg-size96{
  font-size: clamp(7rem, 10vw, 9.6rem);
  line-height: 0.8;
}

.theme-mobile{
  .fc-accent{
    color: #E93D5A;
  }
}

.theme-ferry{
  .fc-accent{
    color: var(--color-theme-fresh);
  }
}

.theme-souvenir{
  .fc-accent{
    color: #D57200;
  }
}

.recruit-environment-top{
  word-break: break-all;

  .list-border-item:last-child{
    border-bottom: none;
    padding-bottom: 0;
  }
  [data-support-block="1"]{
    .hdg-radius.-is-border{
      padding: 13px;
    }
  }
  [data-train-list="1"]{
    .grid-column-two{
      --grid-size-left: clamp(120px, 20vw, 180px);
      gap: clamp(15px, 3vw, 30px);
      font-size: 1.8rem;

      &:nth-child(1) .hdg-radius{
        background-color: #C9EFE9;
        color: var(--color-accent);
      }
      &:nth-child(2) .hdg-radius{
        background-color: #4FD1BD;
      }
      &:not(:last-child) .hdg-radius::after{
        content: '';
        width: 3px;
        height: 90%;
        border-right: 3px dotted var(--color-accent);
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: auto;
      }
      .hdg-radius{
        max-width: 100%;
        font-weight: bold;
        margin: 0;
        padding: 30px 5px;
        position: relative;
        z-index: 1;
      }
    }
  }
  [data-train-list="2"] .grid-column-two{
    --grid-size-left: clamp(70px, 15vw, 100px);
    gap: clamp(15px, 3vw, 30px);
  }
  [data-support-block="2"]{
    .list-border-item.grid-column-two{
      gap: 15px;
      --grid-size-left: min(40%, 290px);
    }
    .hdg-filled{
      color: var(--color-black);
      width: max-content;
      font-size: 1.4rem;
      font-weight: bold;
    }
    .flexbox{
      gap: 0 clamp(20px, 3vw, 30px);
    }
  }
  [data-gallery-block]{
    .img-cover{
      aspect-ratio: 856 / 572;
    }
  }
  [data-gallery-block="1"]{
    --grid-size-right: min(35%, 412px);
  }
  [data-gallery-block="3"]{
    --grid-size-left: min(35%, 412px);
  }
  .hdg-size60,
  .hdg-size66,
  .hdg-size72,
  .hdg-size96{
    display: inline-block;
  }
}

[data-number-block-item]{
  padding: clamp(30px, 5vw, 50px) clamp(15px, 3vw, 40px);
}

[data-number-block-item="locations"]{
  .img-map{
    max-width: 270px;
  }
  .grid-repeat{
    gap: 0 30px;
  }
  .list-dotted-item{
    padding: 20px 0 10px;
    border-bottom: 4px dotted #F8EED2;

    .fs-15{
      line-height: 1;
    }
  }
}

[data-number-block-item="hometown"]{
  .fs-18{
    line-height: 1;
  }
  .box-radius{
    font-weight: bold;
    z-index: 1;
    border-radius: 25px;
    text-align: center;
    padding: 27px 15px;

    &:nth-of-type(1){
      position: absolute;
      top: 0;
      left: 0;
      gap: 20px 0;
      width: min(72%, 360px);

      &::after{
        display: inline-block;
        content: url('../img/recruit/environment/number_fukidashi.svg');
        position: absolute;
        top: 100%;
        right: 24%;
      }
    }
    &:nth-of-type(2){
      width: min(100%, 150px);
      position: relative;
      left: -10px;

      .hdg-size60{
        line-height: 0.8;
      }
    }
  }
}

[data-number-grid-block="5"]{
  --grid-size-right: min(100%, 420px);
}

[data-number-block-item="recruitment"]{
  .list-dotted-item{
    &:not(:last-child){
      padding-right: 20px;
      margin-right: 20px;
    }
    .box-radius{
      padding: 15px 10px;
    }
  }
}

.recruit__environment_benefit_list{
  gap: 10px 40px;

  .grid-column-two{
    gap: 15px;
    --grid-size-left: clamp(130px, 10vw, 150px);
  }
}

@media screen and (min-width: 67.563em) {
  [data-number-grid-block="1"]{
    grid-template-columns: min(100%, 420px) 1fr;
    grid-template-rows: 1fr 1fr;
  }
  [data-number-grid-block="3"]{
    grid-template-columns: 1fr min(100%, 420px) ;
    grid-template-rows: 1fr 1fr;
  }
  [data-number-block-item="establish"]{
    grid-column: 1;
    grid-row: 1;
  }
  [data-number-block-item="groups"]{
    grid-column: 1;
    grid-row: 2;
  }
  [data-number-block-item="locations"]{
    grid-column: 2;
    grid-row: 1 / 3;
  }
  [data-number-block-item="hometown"]{
    grid-column: 1;
    grid-row: 1 / 3;
  }
  [data-number-block-item="years_length"]{
    grid-column: 2;
    grid-row: 1;
  }
  [data-number-block-item="newgrad"]{
    grid-column: 2;
    grid-row: 2;
  }
}

@media screen and (max-width: 67.5em) {
  .recruit__environment_benefit_list{
    gap: 40px;
  }
}

@media screen and (min-width: 48.063em) {
  [data-number-block-item="office"]{
    .fc-accent{
      position: absolute;
      bottom: 8%;
      right: 8%;
      z-index: 1;
    }
  }
}

@media screen and (max-width: 36.667em) {
  [data-number-block-item="hometown"]{
    .img-map{
      margin-top: -25vw;
    }
    .box-radius{
      &:nth-of-type(1){
        position: relative;
      }
      &:nth-of-type(2){
        margin-left: auto;
      }
    }
  }
  [data-number-block-item="recruitment"]{
    .list-dotted-item{
      &:not(:last-child){
        padding: 0 0 30px;
        margin: 0 0 30px;
        border: none !important;
        border-bottom: 4px dotted #F8EED2 !important;
      }
    }
  }
}