@charset "UTF-8";
/* ***********************************
 *  採用情報スタイル設定
 *
 *  〜799px：SP
 *  800px〜：PC
 *  800px～1099px：タブレット/小型PC(状況に応じて対応)
 * ***********************************
 *  2025.7.3 新規作成
 *
 * *********************************** */

.header {
  position: absolute;
}

.recruit-hero{
  position: relative;
}

.recruit-hero-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recruit-title {
  color: #fff;
  position: absolute;
  bottom: -1.8vw;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 10.6vw;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: 0.5vw;
}

/* point */
.recruit-point {
  padding-top: 13.333vw;
}

.recruit-point-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.recruit-point-list .point-item-wrapper:nth-of-type(1) {
  width: 100%;
  display: flex;
  justify-content: center;
}

.recruit-point-list .point-item-wrapper:nth-of-type(2) {
  margin-right: 3.604vw;;
}

.recruit-point-item {
  width: 38vw;
  height: 38vw;
  border: 2px solid #1e1e1e;
  border-radius: 50%;
  position: relative;
}

.point-icon {
  height: 13vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  margin-top: -5vw
}

.recruit-point-item-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.748vw;
  font-weight: bold;
  line-height: 1.5;
  white-space: nowrap;
  text-align: center;
  letter-spacing: 0;
}

.recruit-point-text {
  font-size: 4vw;
  line-height: 2;
  margin: 11.374vw 10vw 12.044vw;
  letter-spacing: 0;
}

/* reason */
.recruit-reason-heading  {
  font-size: 6.213vw;
  line-height: 1.75;
  text-align: center;
  margin-bottom: 3.5vw;
}

.recruit-reason-number {
  font-size: 12.737vw;
  line-height: 1.75;
  font-weight: bold;
}

.recruit-reason-item {
  padding-top: 11.5vw;
  background-color: #1e1e1e;
}

.reason-text-heading {
  padding: 0 10vw;
  font-size: 5.6vw;
  line-height: 1.75;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0;
}

.reason-text {
  padding: 4.739vw 10vw 11.5vw;
  color: #fff;
  line-height: 2;
  font-size: 4vw;
  letter-spacing: 0;
}

/* voice */
.voice {
  padding: 18vw 0;
}

.recruit-heading-wrapper {
  text-align: center;
}

.recruit-heading-en {
  font-size: 7.2vw;
  line-height: 1.4;
  font-weight: bold;
}

.recruit-heading-ja {
  font-size: 3.733vw;
  line-height: 1;
  font-weight: bold;
}

.voice-image {
  width: 50%;
  margin: 10.566vw auto 9.246vw;
}

.voice-heading {
  font-size: 4.8vw;
  line-height: 1.75;
  font-weight: bold;
  letter-spacing: 0;
}

.voice-text-wrapper {
  margin: 0 7.333vw;
}

.voice-list .voice-item:nth-of-type(odd) .voice-text-wrapper {
  border-right: 1px solid #8e8e8e;
  border-bottom: 1px solid #8e8e8e;
  padding: 0 8.175vw 7.333vw 2.745vw;
}

.voice-list .voice-item:nth-of-type(even) .voice-text-wrapper {
  border-left: 1px solid #8e8e8e;
  border-bottom: 1px solid #8e8e8e;
  padding: 0 2.745vw 7.333vw 8.175vw;
}

.occupation-wrapper {
  margin-top: 4.923vw;
  display: flex;
  align-items: center;
}

.occupation-label {
  height: 5.6vw;
  line-height: 5.6vw;
  width: 18.667vw;
  background-color: #1e1e1e;
  color: #fff;
  text-align: center;
  letter-spacing: 1vw;
  font-size: 3.2vw;
}

.occupation {
  font-size: 3.733vw;
  margin-left: 2.884vw;
  letter-spacing: 0;
}

.voice-text {
  font-size: 3.733vw;
  line-height: 2;
  color: #505050;
  letter-spacing: 0;
  margin-top: 8.657vw;
}

/* guideline */
.recruit-guideline {
  padding-bottom: 30vw;
}

.recruit-guideline .recruit-heading-wrapper {
  margin-bottom: 9.633vw;
}

.recruit-guideline .common-table td {
  line-height: 2;
}
.recruit-guideline .table-list-item {
  line-height: 2;
}

.table-list-item {
  position: relative;
  padding-left: 1em;
}

.table-list-item::before {
  position: absolute;
  left: 0;
  top: 0.7em;
}

.table-list.type2 .table-list-item::before {
  content: '※';
  width: 0;
  height: 0;
  background-color: transparent;
  top: 0;
}

.recruit-flow li + li {
  margin-top: 1em;
}

@media screen and (min-width:800px) {
  .recruit-title {
    bottom: -1.2vw;
    font-size: 6.5vw;
  }

  .recruit-title .pc-only {
    display: inline-block;
  }

  /* point */
  .recruit-point {
    padding-top: 100px;
  }

  .recruit-point-item {
    width: 265px;
    height: 265px;
  }

  .recruit-point-item-text {
    font-size: 26px;
  }

  .point-icon {
    height: 90px;
    margin-top: -40px;
  }

  .recruit-point-list .point-item-wrapper:nth-of-type(1) {
    width: auto;
  }

  .recruit-point-list .point-item-wrapper:nth-of-type(2) {
    margin-right: 0;
  }

  .recruit-point-list .point-item-wrapper:nth-of-type(n+2) {
    margin-left: 25px;
  }

  .recruit-point-text {
    font-size: 20px;
    line-height: 2.5;
    margin: 65px 0 119px;
    text-align: center;
  }

  .recruit-reason-heading {
    font-size: 40px;
  }

  .recruit-reason-number {
    font-size: 82px;
  }

  .recruit-reason-item {
    padding-top: 0;
    display: flex;
  }

  .reason-text-wrapper,
  .reason-image-wrapper {
    flex: 0 0 50%;
    box-sizing: border-box;
  }

  .reason-text-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .reason-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .reason-text-heading {
    font-size: 36px;
    margin-bottom: 31px;
    display: inline-block;
  }

  .reason-text {
    font-size: 20px;
    max-width: 550px;
  }

  .recruit-reason-list .recruit-reason-item {
    align-items: stretch;
  }

  .recruit-reason-list .recruit-reason-item:nth-of-type(odd) {
    flex-direction: row-reverse;
  }

  .recruit-reason-list .recruit-reason-item:nth-of-type(odd) .reason-text-wrapper {
    padding: 32px 48px 32px 95px;
  }

  .recruit-reason-list .recruit-reason-item .reason-text-heading {
    padding: 0;
  }

  .recruit-reason-list .recruit-reason-item .reason-text {
    padding: 0;
  }

  .recruit-reason-list .recruit-reason-item:nth-of-type(even) {
    flex-direction: row;
  }

  .recruit-reason-list .recruit-reason-item:nth-of-type(even) .reason-text-wrapper {
    padding: 32px 95px 32px 48px;
    align-items: flex-end;
  }

  /* voice */
  .voice {
    padding: 185px 0;
  }

  .recruit-heading-en {
    font-size: 76px;
  }

  .recruit-heading-ja {
    font-size: 20px;
  }

  .voice-heading {
    font-size: 26px;
    line-height: 1.615;
  }

  .voice-list {
    max-width: 1140px;
    margin: 120px auto 0;
  }

  .occupation-label {
    width: 98px;
    height: 30px;
    line-height: 30px;
    letter-spacing: 4px;
    font-size: 16px;
  }

  .occupation-wrapper {
    margin-top: 38px;
  }

  .occupation {
    font-size: 20px;
    margin-left: 15px;
  }

  .voice-text {
    font-size: 20px;
    line-height: 2;
    margin-top: 19px;
  }

  .voice-image {
    margin: 0;
    width: auto;
  }

  .voice-item + .voice-item {
    margin-top: 100px;
  }

  .voice-item {
    display: flex;
  }

  .voice-item:nth-of-type(1) {
    margin-left: 100px;
  }

  .voice-list .voice-item:nth-of-type(even) {
    flex-direction: row-reverse;
  }

  .voice-text-wrapper {
    margin: 0;
    width: 55%;
  }

  .voice-list .voice-item:nth-of-type(odd) .voice-text-wrapper {
    padding: 0 70px 16px 15px;
    margin-left: 40px;
  }

  .voice-list .voice-item:nth-of-type(even) .voice-text-wrapper {
    padding: 0 16px 18px 70px;
    margin-left: 0;
    margin-right: 40px;
  }

  /* guideline */
  .recruit-guideline {
    padding-bottom: 160px;
  }

  .recruit-guideline .recruit-heading-wrapper {
    margin-bottom: 100px;
  }
}

@media screen and (min-width: 800px) and (max-width: 1099px) {
  .recruit-point-item {
    width: 240px;
    height: 240px;
  }

  .voice-text-wrapper {
    width: 100%;
  }

  .voice-list .voice-item:nth-of-type(odd) {
    margin-right: 20px;
  }

  .voice-list .voice-item:nth-of-type(even) {
    margin-left: 20px;
  }
}