@charset "UTF-8";
/* ----------------------------------------------------------------------------------------------------
*	 メインビジュアル
* --------------------------------------------------------------------------------------------------*/
.p-mv {
  background-color: #f4f7ff;
}

.p-mv__ttl-box {
  width: 100%;
  max-width: 77.5rem;
  margin: 0 auto;
  padding: 12.5rem 1.25rem 6.25rem;
}

.p-mv__ttl-en {
  font-size: 4.1875rem;
  line-height: 1.4;
  font-weight: 600;
  font-family: "Zalando Sans Expanded", sans-serif;
  color: #2f3659;
}

.p-mv__ttl-ja {
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 900;
  color: #674cdc;
}

.p-mv__bg {
  height: 23.75rem;
  background-image: url("../../images/recruit/bg_mv_pc.webp");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-mv__ttl-box {
    max-width: initial;
    padding: 26.7vw 4vw 10.7vw;
  }
  .p-mv__ttl-en {
    font-size: 10.1vw;
  }
  .p-mv__ttl-ja {
    font-size: 4.8vw;
  }
  .p-mv__bg {
    height: 32vw;
    background-image: url("../../images/recruit/bg_mv_sp.webp");
  }
}
/* ----------------------------------------------------------------------------------------------------
*	 採用情報
* --------------------------------------------------------------------------------------------------*/
.p-recruit {
  padding: 6.25rem 0 7.5rem;
  background-color: #f4f7ff;
}

.p-recruit__ttl-box {
  width: 100%;
  max-width: 77.5rem;
  margin: 0 auto 6.875rem;
  padding: 0 1.25rem;
}

.p-recruit__ttl-lead {
  font-size: 1.625rem;
  line-height: 1.8;
  font-weight: 900;
  color: #2f3659;
}

.p-recruit__team {
  position: relative;
  margin: 0 0 7.5rem;
  overflow-x: hidden;
}
.p-recruit__team:before {
  content: "";
  position: absolute;
  bottom: 3%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100vw;
  height: 88%;
  background-color: #fff;
  z-index: 0;
}

.p-recruit__team-wrap {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  margin: 0 auto;
  padding: 0 1.25rem 0 0;
}

.p-recruit__team-pic-box {
  position: relative;
  z-index: 2;
  left: 0;
  top: 0;
  width: 47%;
  margin: 0 5% 0 0;
}

.p-recruit__team-pic img {
  width: 100%;
  height: auto;
}

.p-recruit__team-txt-box {
  position: relative;
  width: 36.875rem;
  margin: 2% 0 0;
}

.p-recruit__team-ttl {
  font-size: 2.375rem;
  line-height: 1.5;
  font-weight: 900;
  position: relative;
  z-index: 2;
  margin: 0 0 4.375rem;
  color: #2f3659;
}

.p-recruit__team-txt {
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 400;
  position: relative;
  z-index: 2;
  color: #000;
}

.p-recruit__information {
  margin: 0 0 6.25rem;
}

.p-recruit__information-ttl {
  font-size: 2.375rem;
  line-height: 1.5;
  font-weight: 900;
  margin: 0 0 4.375rem;
  color: #2f3659;
}

.p-recruit__information-txt {
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 400;
  margin: 0 0 4.375rem;
  color: #000;
}

.p-recruit__information-btn-box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-recruit__information-btn {
  margin: 0 1.875rem 0 0;
}

.p-recruit__information-btn-link {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
  display: block;
  width: 16.875rem;
  padding: 1.375rem 2.5rem 1.375rem 1.875rem;
  color: #fff;
  background-color: #2f3659;
  border: 0.125rem solid #2f3659;
  border-radius: 9999px;
  -webkit-transition: 0.3s ease-in-out background-color, 0.3s ease-in-out color;
  transition: 0.3s ease-in-out background-color, 0.3s ease-in-out color;
}
.p-recruit__information-btn-link:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (any-hover: hover) {
  .p-recruit__information-btn-link:hover {
    color: #2f3659;
    background-color: #fff;
  }
  .p-recruit__information-btn-link:hover:after {
    right: 1.125rem;
    border-top: 0.125rem solid #2f3659;
    border-right: 0.125rem solid #2f3659;
  }
}

.p-recruit__related-box {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: center;
  -webkit-box-align: center;
          align-items: center;
  padding: 3.125rem 9.375rem;
  background-color: #fff;
  border-radius: 1rem;
}

.p-recruit__related-ttl-box {
  width: 30%;
  margin: 0 10% 0 0;
}

.p-recruit__related-ttl-en {
  font-size: 2.5rem;
  line-height: 1.5;
  font-weight: 600;
  font-family: "Zalando Sans Expanded", sans-serif;
  color: #2f3659;
}

.p-recruit__related-ttl-ja {
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 900;
  color: #674cdc;
}

.p-recruit__related-link-box {
  width: 60%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: start;
  -webkit-box-pack: start;
          justify-content: flex-start;
  -ms-flex-align: start;
  -webkit-box-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-recruit__related-link {
  display: block;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 700;
  position: relative;
  width: 14.688rem;
  margin: 0 1.875rem 0 0;
  padding: 0 1.875rem 1.25rem 0;
  color: #2f3659;
  border-bottom: 0.125rem solid #2f3659;
}
.p-recruit__related-link:after {
  content: "";
  position: absolute;
  top: 0.438rem;
  right: 0.625rem;
  display: block;
  width: 0.438rem;
  height: 0.438rem;
  border-top: 0.125rem solid #2f3659;
  border-right: 0.125rem solid #2f3659;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-recruit__related-link:nth-of-type(n+3) {
  margin: 1.25rem 1.875rem 0 0;
}
@media (any-hover: hover) {
  .p-recruit__related-link:hover {
    background-position: 100% 50%;
  }
  .p-recruit__related-link:hover:after {
    right: 0.438rem;
  }
}

@media screen and (max-width: 767px) {
  .p-recruit {
    padding: 13.3vw 0 26.7vw;
  }
  .p-recruit__ttl-box {
    max-width: initial;
    margin: 0 auto 16vw;
    padding: 0 4vw;
  }
  .p-recruit__ttl-lead {
    font-size: 4.8vw;
  }
  .p-recruit__team {
    padding: 0 0 16vw;
    margin: 0 0 21.3vw;
  }
  .p-recruit__team:before {
    bottom: 0;
    height: 90%;
  }
  .p-recruit__team-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 4vw;
  }
  .p-recruit__team-pic-box {
    width: 100%;
    margin: 0 0 13.3vw;
  }
  .p-recruit__team-txt-box {
    width: 100%;
    margin: 0;
  }
  .p-recruit__team-ttl {
    font-size: 6.4vw;
    margin: 0 0 10.7vw;
  }
  .p-recruit__team-txt {
    font-size: 3.7vw;
  }
  .p-recruit__information {
    margin: 0 0 26.7vw;
  }
  .p-recruit__information-ttl {
    font-size: 6.4vw;
    margin: 0 0 13.3vw;
  }
  .p-recruit__information-txt {
    font-size: 3.7vw;
    margin: 0 0 10.7vw;
  }
  .p-recruit__information-btn-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-recruit__information-btn {
    margin: 0 0 8vw;
  }
  .p-recruit__information-btn:last-of-type {
    margin: 0;
  }
  .p-recruit__information-btn-link {
    font-size: 3.7vw;
    width: 49.3vw;
    padding: 4vw 8vw;
  }
  .p-recruit__information-btn-link:after {
    right: 4vw;
    width: 1.6vw;
    height: 1.6vw;
  }
  .p-recruit__related-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 8vw 8vw 16vw;
  }
  .p-recruit__related-ttl-box {
    width: 100%;
    margin: 0 0 16vw;
  }
  .p-recruit__related-ttl-en {
    font-size: 6.9vw;
  }
  .p-recruit__related-ttl-ja {
    font-size: 3.2vw;
  }
  .p-recruit__related-link-box {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-recruit__related-link {
    font-size: 3.7vw;
    width: 62.7vw;
    margin: 0 auto 8vw;
    padding: 0 8vw 2.7vw 0;
  }
  .p-recruit__related-link:after {
    top: 1.9vw;
    right: 2.7vw;
    width: 1.9vw;
    height: 1.9vw;
  }
  .p-recruit__related-link:nth-of-type(n+3) {
    margin: 0 auto 8vw;
  }
  .p-recruit__related-link:last-of-type {
    margin: 0 auto;
  }
}