/* ------------------------ */
/* 01. only-sp, only-pc */
/* 02. button */
/* 03. page-title */
/* 04. breadcrumb */
/* 05. cta */
/* 06. page-nav */
/* 07. info-list */
/* 08. faq */
/* 09. requirement */
/* ------------------------ */

/* only-sp, only-pc */
/* ------------------------------------------------------------------- */

@media screen and (max-width: 1023px) {
  .only-pc {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .only-sp {
    display: none !important;
  }
}

/* button */
/* ------------------------------------------------------------------- */
/* 矢印 */
.btn-arrow {
  width: 32.5px;
}

/* 共通スタイル */
.site-btn {
  display: block;
  max-width: 500px;
  width: 100%;
  height: 60px;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 100%;
  letter-spacing: 0.04em;
  padding: 18px 20px;
  cursor: pointer;
  transition: opacity .3s;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.site-btn:hover {
  opacity: .7;
}

/* ボタン_黒 */
.site-btn--black {
  background-color: #2E2E2E;
  color: #FFFFFF;
}

/* ボタン_オレンジ */
.site-btn--orange {
  background-color: #FFA620;
  color: #FFFFFF;
}

/* 下ボタン 上マージン　 */
.ud-btn {
  margin-top: 20px;
  ;
}

/* ボタン_白 */
/* .site-btn--white {} */

@media screen and (min-width: 1024px) {
  .site-btn {
    max-width: 300px;
    width: 100%;
    height: 60px;
    padding: 22px 20px;
  }
}

/* page-title */
/* ------------------------------------------------------------------- */
.page-title {
  background-color: #F6F6F6;
  width: 100%;
  height: 188px;
}

.page-title-content {
  position: relative;
  overflow: hidden;
  height: 100%;
}

.page-title-content-asirai-left {
  position: absolute;
  top: 140px;
  right: 88%;
}

.page-title-content-asirai-left img {
  max-width: 102px;
}

.page-title-content-asirai-right {
  display: none;
}

.page-title-content-asirai-right-sp {
  position: absolute;
  bottom: 101px;
  left: 55%;
}

.page-title-content-title {
  max-width: 532px;
  padding: 72px 16px 0;
  margin: 0 auto;
}

.page-title-content-title-sub {
  font-family: 'Poppins';
  color: #F9BF11;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.page-title-content-title-main {
  font-family: 'Noto Sans JP';
  color: #2E2E2E;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

@media screen and (min-width: 1024px) {
  .page-title {
    height: 350px;
  }

  .page-title-content-title {
    width: 75%;
    max-width: 1112px;
    padding: 172px 16px 0;
  }

  .page-title-content-title-sub {
    font-size: 16px;
  }

  .page-title-content-title-main {
    font-size: 48px;
  }

  .page-title-content-asirai-right-sp {
    display: none;
  }

  .page-title-content-asirai-left {
    position: absolute;
    top: 136px;
    right: 90%;
  }

  .page-title-content-asirai-right {
    display: block;
    position: absolute;
    bottom: 64px;
    left: 65%;
  }

  .page-title-content-asirai-left img {
    max-width: 376px;
  }
}

/* breadcrumb */
/* ------------------------------------------------------------------- */
.breadcrumb {
  max-width: 1112px;
  margin: 0 auto;
  padding: 12px 16px 0;
  box-sizing: border-box;
}

.breadcrumb-list {
  font-family: 'Noto Sans JP', sans-serif;
  list-style: none;
  display: flex;
  line-height: 1;
  margin: 0;
  padding: 0;
  row-gap: 6px;
  flex-wrap: wrap;
}

.breadcrumb-list-item {
  display: flex;
  align-items: center;
}

.breadcrumb-list-item:last-child {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}

.breadcrumb-list-item-link {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
  font-weight: 700;
  font-size: 12px;
  line-height: 150%;
  color: #222222;
}

.breadcrumb-list-item-link[href] {
  transition: opacity 0.3s;
  color: #F9BF11;
  border-bottom: 1px solid #F9BF11;
  line-height: 1;
}

.breadcrumb-list-item-link[href]:hover {
  opacity: 0.6;
}

.breadcrumb-list-item-link > span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  -o-text-overflow: ellipsis;
}

.breadcrumb-list > * + * {
  margin-left: 14px;
}

.breadcrumb-list > * + *::before {
  content: url(../images/icons/breadcrumb-arrow-right.svg);
  margin-right: 14px;
  margin-bottom: 3px;
}

@media screen and (max-width: 1023px) {
  .breadcrumb {
    max-width: 532px;
  }
}

/* cta */
/* ------------------------------------------------------------------- */
.recruit-section {
  background: linear-gradient(79.61deg, #F9BF11 2.11%, #FFA620 62.77%);
  padding: 64px 16px;
  position: relative;
}

.recruit-section-inner {
  max-width: 500px;
  margin: 0 auto;
  position: relative;
  /* 背景画像を背面に表示する為に指定 */
}

/* テキスト */
.recruit-section-texts--en {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  line-height: 140%;
  text-align: center;
  letter-spacing: 0.04em;
  color: #FFFFFF;
}

.recruit-section-texts--ja {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  font-size: 24px;
  line-height: 125%;
  text-align: center;
  letter-spacing: 0.04em;
  color: #2E2E2E;
  margin-top: 8px;
}

/* ボタン */
.recruit-section-btns {
  margin-top: 40px;
}

.recruit-section-btns > .site-btn + .site-btn {
  margin-top: 24px;
}

.recruit-section-btns > .site-btn {
  max-width: 500px;
  height: 56px;
  padding: 20px 36px;
}

/* 背景画像 */
.bg_img {
  position: absolute;
  left: 0;
  width: 100%;
  height: auto;
}

.bg_professional {
  top: -2px;
  max-width: 720px;
  left: 50%;
  transform: translateX(-50%);
}

.bg_for_professional {
  bottom: -2px;
  max-width: 800px;
  left: 50%;
  transform: translateX(-50%);
}

.bg_rectangle-left {
  left: 0;
  width: 74px;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
}

.bg_rectangle-right {
  left: auto;
  right: 0;
  width: 63px;
  height: auto;
  top: 12%;
}

@media screen and (min-width: 1024px) {
  .recruit-section {
    padding: 132px 180px 148px;
  }

  .recruit-section-inner {
    max-width: 680px;
  }

  /* テキスト */
  .recruit-section-texts--en {
    font-size: 16px;
  }

  .recruit-section-texts--ja {
    font-size: 44px;
    margin-top: 14px;
  }

  /* ボタン */
  .recruit-section-btns {
    display: flex;
    gap: 40px;
    align-items: center;
  }

  .recruit-section-btns > .site-btn + .site-btn {
    margin-top: 0;
  }

  .recruit-section-btns > .site-btn {
    max-width: initial;
    padding: 18px 28px;
    width: calc((100% - 40px) / 2);
  }

  /* 背景画像 */
  .bg_img {
    position: absolute;
    left: 0;
  }

  .bg_professional {
    top: -2px;
    max-width: 981px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bg_for_professional {
    bottom: -2px;
    max-width: 1199px;
    left: 50%;
    transform: translateX(-50%);
  }

  .bg_rectangle-left {
    left: 0;
    width: 256px;
    height: 336px;
    bottom: 84px;
  }

  .bg_rectangle-right {
    left: auto;
    right: 0;
    width: 180px;
    height: 287px;
    top: 84px;
  }
}

/* page-nav */
.page-nav {
  width: 100%;
  max-width: 532px;
  padding: 40px 16px 0;
  margin: 0 auto;
  box-sizing: border-box;
}

.page-nav-list {
  list-style: none;
}

.page-nav-list__separate + .page-nav-list-item {
  margin-top: 20px;
}

.page-nav-list-item-link {
  display: flex;
  align-items: center;
  transition: opacity .3s;
  gap: 0 16px;
  cursor: pointer;
}

.page-nav-list-item-link:hover {
  opacity: .7;
}

.page-nav-list-item-link__text {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 16px;
  line-height: 100%;
  color: #2E2E2E;
}

.page-nav-list-item-link__icon {
  display: block;
  width: 14px;
  height: auto;
}

@media screen and (min-width: 1024px) {
  .page-nav {
    /* width: 75%; */
    max-width: 1112px;
  }

  .page-nav-list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 28px;
  }

  .page-nav-list__separate + .page-nav-list-item {
    margin-top: 0;
  }

  .page-nav-list__separate {
    width: 1px;
    height: 16px;
    background-color: #BBBBBB;
  }
}

/* section-title */
.section-title__sub {
  padding-left: 6px;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-size: 12px;
  line-height: 100%;
  letter-spacing: 0.04em;
  color: #F9BF11;
}

.section-title__title {
  width: fit-content;
  margin-top: 6px;
  padding: 0 3px 6px;
  padding-bottom: 6px;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  line-height: 100%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
  background-image: linear-gradient(90deg, #F9BF11 0%, #F87700 100%);
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 9px;
  position: relative;
}

.section-title__title::before {
  content: '';
  position: absolute;
  border-top: 9px solid #FFF;
  border-right: 3px solid transparent;
  left: 0;
  bottom: 0;
}

.section-title__title::after {
  content: '';
  position: absolute;
  border-bottom: 9px solid #FFF;
  border-left: 3px solid transparent;
  right: 0;
  bottom: 0;
}

.section-title--center .section-title__sub,
.section-title--center .section-title__title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (min-width: 1024px) {
  .section-title__sub {
    padding-left: 6px;
    font-size: 16px;
  }

  .section-title__title {
    margin-top: 8px;
    padding: 0 4px 6px;
    font-size: 28px;
  }

  .section-title__title::before {
    border-right: 4px solid transparent;
  }

  .section-title__title::after {
    border-left: 4px solid transparent;
  }
}

/* info-list */
.info-list-item {
  padding: 18px 0;
  border-top: 1px solid #D9D9D9;
  ;
}

.info-list-item:last-child {
  border-bottom: 1px solid #D9D9D9;
  ;
}

.info-list-item__head {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

.info-list-item__description {
  margin-top: 8px;
  font-family: 'Noto Sans JP';
  font-weight: 400;
  font-size: 16px;
  line-height: 180%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

.info-list-item__description strong {
  font-weight: 700;
  color: #FFA620;
}

.info-list-item__description a {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  transition: opacity .3s;
  color: #2E2E2E;
}

.info-list-item__description a:hover {
  opacity: .7;
}

@media screen and (min-width: 1024px) {
  .info-list-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
  }

  .info-list-item__head {
    width: 176px;
    font-size: 18px;
  }

  .info-list-item__description {
    width: calc(100% - 176px - 24px);
    margin: 0;
  }
}

/* faq */
.faq-list-item {
  border-top: 1px solid #D9D9D9;
  padding: 16px 0;
}

.faq-list-item:last-child {
  border-bottom: 1px solid #D9D9D9;
}

.faq-list-item-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  transition: opacity .3s;
}

.faq-list-item-head:hover {
  opacity: .7;
}

.faq-list-item-head__q {
  width: 23px;
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-size: 28px;
  line-height: 100%;
  color: #FFA620;
  margin-top: 2px;
}

.faq-list-item-head__text {
  width: calc(100% - 23px - 23px - 12px - 12px);
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 16px;
  line-height: 180%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

.faq-list-item-head__icon {
  width: 23px;
  height: 23px;
  position: relative;
  margin-top: 2px;
}

.faq-list-item-head__icon > span {
  position: absolute;
  width: 23px;
  height: 1px;
  background-color: #2E2E2E;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.faq-list-item-head__icon > span:last-child {
  transform: rotate(90deg);
  transition: opacity .3s;
}

.faq-list-item--show .faq-list-item-head__icon > span:last-child {
  opacity: 0;
}

.faq-list-item-body {
  overflow: hidden;
  transition: height .3s;
}

.faq-list-item-body-inner {
  padding: 12px 35px 0;
}

.faq-list-item-body-inner__text {
  font-family: 'Noto Sans JP';
  font-weight: 400;
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

@media screen and (min-width: 1024px) {
  .faq-list {
    margin-top: 80px;
  }

  .faq-list-item-head {
    gap: 24px;
  }

  .faq-list-item-head__q {
    width: 26px;
    font-size: 32px;
    margin-top: 2px;
  }

  .faq-list-item-head__text {
    width: calc(100% - 26px - 24px - 24px - 24px);
    font-size: 18px;
  }

  .faq-list-item-head__icon {
    width: 24px;
    height: 24px;
    margin-top: 2px;
  }

  .faq-list-item-head__icon > span {
    width: 24px;
    height: 1px;
  }

  .faq-list-item-body-inner {
    padding: 24px 48px 0 50px;
  }

  .faq-list-item-body-inner__text {
    font-size: 16px;
  }
}

/* requirement */
.requirement-list-item {
  border-top: 1px solid #D9D9D9;
  padding: 16px 0;
}

.requirement-list-item:last-child {
  border-bottom: 1px solid #D9D9D9;
}

.requirement-list-item-head-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.requirement-list-item-head {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  transition: opacity .3s;
  flex: 1;
}

.requirement-list-item-head:hover {
  opacity: .7;
}

.requirement-list-item-head__img {
  width: 32px;
  transform: rotateX(0deg);
  /* margin-top: 6px; */
  transition: .5s ease-in-out;
}

.requirement-list-item--show .requirement-list-item-head__img {
  transform: rotateX(180deg);
}

.requirement-list-item-head__text {
  width: calc(100% - 18px - 24px - 8px - 8px);
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 16px;
  line-height: 180%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

.requirement-list-item-head-btn {
  width: 100%;
  max-width: 124px;
}

.requirement-list-item-head-btn .site-btn {
  height: 52px;
  justify-content: center;
}

.requirement-list-item-head__icon {
  width: 24px;
  height: 24px;
  position: relative;
  margin-top: 2px;
}

.requirement-list-item-head__icon > span {
  position: absolute;
  width: 24px;
  height: 1px;
  background-color: #2E2E2E;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.requirement-list-item-head__icon > span:last-child {
  transform: rotate(90deg);
  transition: opacity .3s;
}

.requirement-list-item--show .requirement-list-item-head__icon > span:last-child {
  opacity: 0;
}

.requirement-list-item-body {
  overflow: hidden;
  transition: height 1.2s;
  height: 0px;
}

.requirement-list-item-body-inner {
  padding: 12px 0 40px;
}

.requirement-list-item-body-inner-btns {
  width: 100%;
  margin: 24px auto 0;
}

.requirement-list-item-body-inner-btns-close {
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  transition: opacity .3s;
  cursor: pointer;
}

.requirement-list-item-body-inner-btns-close:hover {
  opacity: .7;
}

.requirement-list-item-body-inner-btns-close__text {
  font-family: 'Noto Sans JP';
  font-weight: 700;
  font-size: 18px;
  line-height: 100%;
  text-align: center;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

.requirement-list-item-body-inner-btns-close__icon {
  width: 24px;
  height: 1px;
  background-color: #2E2E2E;
  display: block;
}

@media screen and (min-width: 1024px) {
  .requirement-list {
    margin-top: 80px;
  }

  .requirement-list-item-head {
    gap: 8px;
  }

  .requirement-list-item-head__img {
    width: 41px;
    /* margin-top: 6px; */
  }

  .requirement-list-item-head__text {
    width: calc(100% - 18px - 24px - 8px - 8px);
    font-size: 20px;
  }

  .requirement-list-item-head-btn {
    max-width: 162px;
  }

  .requirement-list-item-head__icon {
    width: 24px;
    height: 24px;
    margin-top: 2px;
  }

  .requirement-list-item-head__icon > span {
    width: 24px;
    height: 1px;
  }

  .requirement-list-item-body-inner {
    padding: 24px 0 80px;
  }

  .requirement-list-item-body-inner-btns {
    max-width: 300px;
    margin: 40px auto 0;
  }

  .requirement-list-item-body-inner-btns-close {
    margin-top: 40px;
  }

  .requirement-list-item-body-inner-btns-close__text {
    font-size: 18px;
  }
}

/* interview-card */
.interview-card {
  width: 100%;
}

.interview-card-content {
  display: block;
  cursor: pointer;
  transition: opacity .3s;
  position: relative;
  padding: 16px 12px 0;
}

.interview-card-content__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.interview-card-content:hover {
  opacity: .7;
}

.interview-card-content__img {
  width: 100%;
  display: block;
}

.interview-card-content-text__title {
  margin-top: 8px;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  letter-spacing: 0.04em;
  color: #2E2E2E;
}

.interview-card-content-text-sub {
  margin-top: 4px;
  display: flex;
  gap: 6px;
  align-items: center;
  letter-spacing: 0.04em;
  color: #787880;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 160%;
}

.interview-card-content-text-labels {
  margin-top: 8px;
  gap: 8px;
  display: flex;
  flex-wrap: wrap;
}

.interview-card-content-text-labels p {
  border: 1px solid #FFA620;
  padding: 6px;
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-size: 12px;
  line-height: 120%;
  letter-spacing: 0.04em;
  color: #FFA620;
}

@media screen and (min-width: 1024px) {
  .interview-card {
    width: calc((100% - 72px) / 3);
  }

  .interview-card-content {
    padding: 18px 12px 0;
    width: 100%;
  }
}

/* interview-carousel */
.interview-carousel {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

@media screen and (min-width: 1024px) {
  .interview-carousel {
    flex-direction: row;
    gap: 36px;
  }
}
