@charset "UTF-8";
/*---------------------------------------------
design-width
---------------------------------------------*/
/*---------------------------------------------
font-size
---------------------------------------------*/
/* pc */
/* SP */
/*---------------------------------------------
vw変換

width: vw-sp(320);
@include pc-only {
  width: min(vw-pc(194), 194px);
}
@include pc-lg {
  width: vw-pc-lg(194);
}
---------------------------------------------*/
/*---------------------------------------------
メディアクエリ
---------------------------------------------*/
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

/*---------------------------------------------
フォント用のmixinとユーティリティ

@include font-sp(26); // モバイルファースト
@include font-pc(18); // タブレット〜PC対応
---------------------------------------------*/
main section p {
  font-size: 3.7333333333vw;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  main section p {
    font-size: min(1.6666666667vw, 20px);
  }
}
@media screen and (min-width: 1500px) {
  main section p {
    font-size: 1.3333333333vw;
  }
}

.content-title {
  font-size: 6.6666666667vw;
  color: #213987;
  font-weight: 600;
  line-height: 1.428;
}
@media screen and (min-width: 768px) {
  .content-title {
    font-size: min(3.5vw, 42px);
  }
}
@media screen and (min-width: 1500px) {
  .content-title {
    font-size: 2.8vw;
  }
}

.section-bg {
  background-color: #f6f7f7;
}

.btn-container {
  display: flex;
  justify-content: center;
  gap: 3vw;
  margin-top: 10.6666666667vw;
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  .btn-container {
    flex-direction: row;
    justify-content: center;
    gap: 2.36%;
    margin-top: min(5.8333333333vw, 70px);
    margin-bottom: min(5.8333333333vw, 70px);
  }
}

.btn-more {
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .btn-more {
    font-size: min(1.6666666667vw, 20px);
  }
}
@media screen and (min-width: 1500px) {
  .btn-more {
    font-size: 1.3333333333vw;
  }
}
.btn-more.font-dec {
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .btn-more.font-dec {
    font-size: min(1.6666666667vw, 20px);
  }
}
@media screen and (min-width: 1500px) {
  .btn-more.font-dec {
    font-size: 1.3333333333vw;
  }
}

/*---------------------------------------------
mv
---------------------------------------------*/
.mv-recruit .title-en img {
  width: 56vw;
}
@media screen and (min-width: 768px) {
  .mv-recruit .title-en img {
    width: min(28.6666666667vw, 344px);
  }
}
@media screen and (min-width: 1500px) {
  .mv-recruit .title-en img {
    width: 22.9333333333vw;
  }
}

/*---------------------------------------------
section01
---------------------------------------------*/
#section01 {
  padding: 24vw 0 16vw;
}
@media screen and (min-width: 768px) {
  #section01 {
    padding: min(10.8333333333vw, 130px) 0 min(6.6666666667vw, 80px);
  }
}
@media screen and (min-width: 1500px) {
  #section01 {
    padding-bottom: 8.6666666667vw 0 5.3333333333vw;
  }
}
#section01 .section01__row {
  position: relative;
  padding-bottom: 0.5em;
}
#section01 .section01__text-title {
  font-size: 6.6666666667vw;
  color: #213987;
  font-weight: 500;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  #section01 .section01__text-title {
    font-size: min(3.5vw, 42px);
  }
}
@media screen and (min-width: 1500px) {
  #section01 .section01__text-title {
    font-size: 2.8vw;
  }
}
@media screen and (min-width: 768px) {
  #section01 .section01__image {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  #section01 .section01__image {
    margin-top: 10.6666666667vw;
    text-align: center;
  }
}
#section01 .section01__image img {
  width: 56vw;
}
@media screen and (min-width: 768px) {
  #section01 .section01__image img {
    width: min(24.25vw, 291px);
  }
}
@media screen and (min-width: 1500px) {
  #section01 .section01__image img {
    width: 19.4vw;
  }
}

/*---------------------------------------------
story
---------------------------------------------*/
#story {
  padding: 16vw 0 24vw;
}
@media screen and (min-width: 768px) {
  #story {
    padding: min(6.6666666667vw, 80px) 0 min(9.1666666667vw, 110px);
  }
}
@media screen and (min-width: 1500px) {
  #story {
    padding-bottom: 5.3333333333vw 0 7.3333333333vw;
  }
}
#story .story__row {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #story .story__row {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  #story .story__row .story__text-wrap {
    width: 50%;
  }
}
#story .story__row .story__text-wrap .story__en-title {
  width: 53.3333333333vw;
  margin-bottom: 4.6666666667vw;
}
@media screen and (min-width: 768px) {
  #story .story__row .story__text-wrap .story__en-title {
    width: min(32.0833333333vw, 385px);
    margin-bottom: min(2.0833333333vw, 25px);
  }
}
@media screen and (min-width: 1500px) {
  #story .story__row .story__text-wrap .story__en-title {
    width: 25.6666666667vw;
    margin-bottom: 1.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  #story .story__row .story__item-wrap {
    width: 37.27%;
  }
}
#story .story__title {
  margin-bottom: 1.2em;
}
#story .story__wantedly {
  margin-top: 3em;
  width: 37.3333333333vw;
}
@media screen and (min-width: 768px) {
  #story .story__wantedly {
    width: min(19.9166666667vw, 239px);
  }
}
@media screen and (min-width: 1500px) {
  #story .story__wantedly {
    width: 15.9333333333vw;
  }
}
#story .story__item-link {
  display: block;
}
@media screen and (min-width: 768px) {
  #story .story__item-link {
    transition: opacity 0.3s ease-out;
  }
  #story .story__item-link:hover {
    opacity: 0.7;
  }
}
#story .story__item-link p {
  margin-top: 0.2em;
  font-size: 3.4666666667vw;
  line-height: 1.66;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #story .story__item-link p {
    font-size: min(1.5vw, 18px);
  }
}
@media screen and (min-width: 1500px) {
  #story .story__item-link p {
    font-size: 1.2vw;
  }
}
#story .story__item-link + .story__item-link {
  margin-top: 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  #story .story__item-link + .story__item-link {
    margin-top: min(2.5vw, 30px);
  }
}
@media screen and (min-width: 1500px) {
  #story .story__item-link + .story__item-link {
    margin-top: 2vw;
  }
}

/*---------------------------------------------
document
---------------------------------------------*/
#document {
  padding: 16vw 0;
}
@media screen and (min-width: 768px) {
  #document {
    padding: min(10vw, 120px) 0 min(12.5vw, 150px);
  }
}
@media screen and (min-width: 1500px) {
  #document {
    padding: 8vw 0 10vw;
  }
}
#document .document__en-title {
  width: 100%;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #document .document__en-title {
    width: min(91.6666666667vw, 1100px);
    margin-bottom: min(3.3333333333vw, 40px);
  }
}
@media screen and (min-width: 1500px) {
  #document .document__en-title {
    width: 73.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}
#document .document__row {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  #document .document__row {
    gap: 8vw;
  }
}
@media screen and (min-width: 768px) {
  #document .document__row {
    flex-direction: row;
  }
}
#document .document__row .document__text-wrap {
  flex: 1;
}
@media screen and (min-width: 768px) {
  #document .document__row .document__text-wrap {
    margin-right: min(2.9166666667vw, 35px);
  }
}
@media screen and (min-width: 1500px) {
  #document .document__row .document__text-wrap {
    margin-right: 2.3333333333vw;
  }
}
#document .document__row .document__text-wrap .document__title {
  margin-bottom: 0.8em;
}
#document .document__row .document__text-wrap .document__subtitle {
  font-size: 4.2666666667vw;
  margin-bottom: 1.5em;
  line-height: 1.5;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #document .document__row .document__text-wrap .document__subtitle {
    font-size: min(2vw, 24px);
  }
}
@media screen and (min-width: 1500px) {
  #document .document__row .document__text-wrap .document__subtitle {
    font-size: 1.6vw;
  }
}
#document .document__row .document__frame {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #document .document__row .document__frame {
    width: 59%;
  }
}

/*---------------------------------------------
requirements
---------------------------------------------*/
#requirements {
  padding: 21.3333333333vw 0 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  #requirements {
    padding: min(10vw, 120px) 0 min(5vw, 60px);
  }
}
@media screen and (min-width: 1500px) {
  #requirements {
    padding: 8vw 0 4vw;
  }
}
#requirements .requirements__en-title {
  width: 94%;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #requirements .requirements__en-title {
    width: min(78.1666666667vw, 938px);
    margin-bottom: min(1.6666666667vw, 20px);
  }
}
@media screen and (min-width: 1500px) {
  #requirements .requirements__en-title {
    width: 62.5333333333vw;
    margin-bottom: 1.3333333333vw;
  }
}
#requirements .requirements__title {
  font-size: 4.2666666667vw;
  margin-bottom: 1.5em;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 1.6em;
}
@media screen and (min-width: 768px) {
  #requirements .requirements__title {
    font-size: min(3.5vw, 42px);
  }
}
@media screen and (min-width: 1500px) {
  #requirements .requirements__title {
    font-size: 2.8vw;
  }
}
#requirements .requirements__subtitle {
  font-size: 4.8vw;
  color: #021f42;
  font-weight: 600;
  line-height: 1.428;
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  #requirements .requirements__subtitle {
    font-size: min(2.3333333333vw, 28px);
  }
}
@media screen and (min-width: 1500px) {
  #requirements .requirements__subtitle {
    font-size: 1.8666666667vw;
  }
}
#requirements .requirements__lead-row {
  display: flex;
  flex-direction: column;
  gap: 3vw;
  margin-top: 16vw;
  margin-bottom: 17.3333333333vw;
}
@media screen and (min-width: 768px) {
  #requirements .requirements__lead-row {
    flex-direction: row;
    justify-content: center;
    gap: 2.36%;
    margin-top: min(7.5vw, 90px);
    margin-bottom: min(8.3333333333vw, 100px);
  }
}
@media screen and (min-width: 1500px) {
  #requirements .requirements__lead-row {
    margin-top: 6vw;
    margin-bottom: 6.6666666667vw;
  }
}

.recruit-table {
  width: 100%;
}
.recruit-table .recruit-table__row {
  width: 100%;
  display: flex;
  flex-direction: column;
  line-height: 2;
}
.recruit-table .recruit-table__row p {
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 768px) {
  .recruit-table .recruit-table__row p {
    font-size: min(1.5vw, 18px);
  }
}
@media screen and (min-width: 1500px) {
  .recruit-table .recruit-table__row p {
    font-size: 1.2vw;
  }
}
@media screen and (min-width: 768px) {
  .recruit-table .recruit-table__row {
    flex-direction: row;
    border-bottom: solid 1px #d3d3d3;
  }
}
.recruit-table .recruit-table__row .recruit-table__name {
  background-color: #f5f5f5;
  font-weight: 600;
  padding: 0.4em 0.8em 0.5em 1.6em;
}
@media screen and (min-width: 768px) {
  .recruit-table .recruit-table__row .recruit-table__name {
    width: 27.27%;
    padding: 1.3em 0.8em 1.2em 1.6em;
  }
}
.recruit-table .recruit-table__row .recruit-table__text {
  flex: 1;
  padding: 1.1em 0.8em 1em 1.1em;
}
.recruit-table .recruit-table__row .recruit-table__text .recruit-table__text-list {
  font-weight: 600;
  margin-bottom: 0.3em;
}
.recruit-table .recruit-table__row .recruit-table__text .recruit-table__text-sub {
  font-size: 3.2vw;
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .recruit-table .recruit-table__row .recruit-table__text .recruit-table__text-sub {
    font-size: min(1.3333333333vw, 16px);
  }
}
@media screen and (min-width: 1500px) {
  .recruit-table .recruit-table__row .recruit-table__text .recruit-table__text-sub {
    font-size: 1.0666666667vw;
  }
}
.recruit-table .recruit-table__row .recruit-table__text .recruit-table__text-sub + .recruit-table__text-list {
  margin-top: 1.2em;
}
.recruit-table .recruit-table__row .recruit-table__text .idt {
  padding-left: 1em;
  text-indent: -1em;
}
.recruit-table .recruit-table__row .recruit-table__text .recruit-p-row + .recruit-p-row {
  margin-top: 0.8em;
}
.recruit-table .recruit-table__row .recruit-table__text .note {
  font-size: 2.9333333333vw;
}
@media screen and (min-width: 768px) {
  .recruit-table .recruit-table__row .recruit-table__text .note {
    font-size: min(1.1666666667vw, 14px);
  }
}
@media screen and (min-width: 1500px) {
  .recruit-table .recruit-table__row .recruit-table__text .note {
    font-size: 0.9333333333vw;
  }
}

/*---------------------------------------------
process
---------------------------------------------*/
#process {
  padding: 18.6666666667vw 0;
}
@media screen and (min-width: 768px) {
  #process {
    padding: min(9.1666666667vw, 110px) 0;
  }
}
@media screen and (min-width: 1500px) {
  #process {
    padding: 7.3333333333vw 0;
  }
}
#process .process__en-title {
  width: 48vw;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #process .process__en-title {
    width: min(45.4166666667vw, 545px);
    margin-bottom: min(1.6666666667vw, 20px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__en-title {
    width: 36.3333333333vw;
    margin-bottom: 1.3333333333vw;
  }
}
#process .process__wrap {
  padding-top: 16vw;
}
@media screen and (min-width: 768px) {
  #process .process__wrap {
    padding-top: min(10vw, 120px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap {
    padding-top: 8vw;
  }
}
#process .process__wrap .process__step {
  border-radius: 20px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 20px 0px rgba(9, 46, 95, 0.1);
  padding: 8vw 4vw;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step {
    padding: min(3.75vw, 45px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step {
    padding: 3vw;
  }
}
#process .process__wrap .process__step .process__image {
  width: 24vw;
}
@media screen and (max-width: 767px) {
  #process .process__wrap .process__step .process__image {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__image {
    width: min(13.1666666667vw, 158px);
    margin-top: 0;
    margin-left: min(2.5vw, 30px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step .process__image {
    width: 10.5333333333vw;
    margin-left: 2vw;
  }
}
#process .process__wrap .process__step .process__title-row {
  display: flex;
}
@media screen and (max-width: 767px) {
  #process .process__wrap .process__step .process__title-row {
    flex-direction: column-reverse;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__title-row {
    flex-direction: row;
  }
}
#process .process__wrap .process__step .process__title-row .process__text {
  flex: 1;
}
#process .process__wrap .process__step .process__title {
  display: flex;
  align-items: center;
  font-size: 5.6vw;
  font-weight: 600;
  color: #021f42;
  margin-bottom: 3.3333333333vw;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__title {
    font-size: min(3vw, 36px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step .process__title {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__title {
    margin-bottom: min(1.25vw, 15px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step .process__title {
    margin-bottom: 1vw;
  }
}
#process .process__wrap .process__step .process__title .process__number {
  display: block;
  width: 8.6666666667vw;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__title .process__number {
    width: min(4.1666666667vw, 50px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step .process__title .process__number {
    width: 3.3333333333vw;
  }
}
#process .process__wrap .process__step .process__title .dline-svg {
  display: inline-block;
  margin: 0 8px;
}
#process .process__wrap .process__step:nth-child(1) .process__title .process__number {
  width: 8vw;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step:nth-child(1) .process__title .process__number {
    width: min(3.5vw, 42px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step:nth-child(1) .process__title .process__number {
    width: 2.8vw;
  }
}
#process .process__wrap .process__step .btn-gradation {
  margin-top: 1.5em;
  margin-inline: auto;
}
#process .process__wrap .process__step .btn-more {
  margin-top: 1.5em;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__desc {
    padding-left: min(8.1666666667vw, 98px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__step .process__desc {
    padding-left: 6.5333333333vw;
  }
}
#process .process__wrap .process__step .process__desc a {
  text-decoration: underline;
  text-underline-offset: 8px;
  text-decoration-thickness: 1px;
  transition: opacity 0.3s ease-out;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__step .process__desc a:hover {
    opacity: 0.6;
  }
}
#process .process__wrap .process__arrow {
  text-align: center;
  margin-bottom: 2.6666666667vw;
}
@media screen and (min-width: 768px) {
  #process .process__wrap .process__arrow {
    margin-bottom: min(1.6666666667vw, 20px);
  }
}
@media screen and (min-width: 1500px) {
  #process .process__wrap .process__arrow {
    margin-bottom: 1.3333333333vw;
  }
}