@charset "UTF-8";


/*================================================================
 スマホ（全てのサイズで読み込む）
================================================================*/

/*
共通
================================================================*/

#recruit {
  margin: 0 auto;
}

h2 {
  padding-bottom: 20px;
  font-size: 2.4rem;
  border-bottom: 3px solid #E21E31;
}

.nowrap {
  white-space: nowrap;
}

/*求人情報を詳しく見るボタン*/

.recruit-link-button {
  position: relative;
  margin: 0 auto;
  padding: .7em .5em .5em;
  max-width: 500px;
  text-align: center;
  color: #fff;
  background: #E21E31;
  border: solid 4px #E21E31;
}

.recruit-link-button .main-text {
  padding-bottom: .7em;
  font-size: 2.2rem;
}

.recruit-link-button .supplement {
  font-size: 1.4rem;
}

.recruit-link-button .arrow {
  position: relative;
  bottom: 1em;
}

.recruit-link-button .arrow::before,
.recruit-link-button .arrow::after {
  bottom: 0;
  left: calc(50% - 1.5px);
  width: 3px;
  height: 17px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 50% calc(100% - 1.5px);
}

.recruit-link-button .arrow::before {
  transform: rotate(53deg);
}

.recruit-link-button .arrow::after {
  transform: rotate(-53deg);
}

.recruit-link-button:hover {
  background: #fff;
  color: #E21E31;
  opacity: 1;
}
.recruit-link-button:hover .arrow::before,
.recruit-link-button:hover .arrow::after {
  background: #E21E31;
  opacity: 1;
}

/*見出し*/

.index {
  padding-left: 10px;
  border-left: solid 8px #E21E31;
}

.index h3 {
  padding-bottom: 13px;
  color: #E21E31;
  font-size: 2.8rem;
  font-weight: 900;
}
.index h3 span {
  display: inline-block;
  padding-bottom: 7px;
}

.index p {
  color: #CCCCCC;
  font-size: 1.4rem;
  font-weight: 900;
  line-height: 1;
  font-family: "Outfit", "Hiragino Sans", "ヒラギノ角ゴシック", sans-serif;
}


/*
#appeal
================================================================*/

#appeal {
  padding-top: 75px;
}

#appeal .copy {
  text-align: center;
  color: #E21E31;
  font-size: 2.2rem;
  font-weight: 900;
}

#appeal .ph {
  margin: 0 auto;
  max-width: 680px;
}

.point-list {
  align-items: flex-start;
  flex-wrap: wrap;
}

.point-list-item {
  width: 100%;
}

.point-list-item:not(:last-child) {
  margin-bottom: 50px;
}

.point-list-item .illust {
  margin: 0 auto;
}
.point-list-item:first-child .illust {
  max-width: 125px;
}
.point-list-item:nth-child(2) .illust {
  max-width: 135px;
}
.point-list-item:nth-child(3) .illust {
  max-width: 125px;
}
.point-list-item:last-child .illust {
  max-width: 155px;
}

.point-list-item p {
  font-size: 1.4rem;
}

.point-list-item .headline {
  padding: 20px 0;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1.6;
}


/*
#job
================================================================*/

#job {
  background: #F7F7F7;
}

.profession {
    padding-bottom: 20px;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .2rem;
    border-bottom: 3px solid #E21E31;
}

#job .text-area {
  flex-wrap: wrap;
  margin: 35px auto;
  letter-spacing: .05rem;
}

#job .text-area .headline {
  margin-bottom: 30px;
  width: 100%;
  font-size: 2rem;
  font-weight: 900;
}

#job .ph-wrap {
  flex-wrap: wrap;
}

#job .ph {
  margin: 0 auto 20px;
}

#job .ph:last-child {
  margin-bottom: 0;
}


/*
#workflow
================================================================*/

.schedule {
    position: relative;
}

.schedule::before {
  content: "";
    position: absolute;
    top: 10px;
    left: 6px;
    width: 6px;
    height: 93%;
    background-color: #CCCCCC;
}

.schedule-item {
    display: flex;
    position: relative;
    align-items: center;
    margin-bottom: 15px;
    width: 100%;
}

.schedule-item::after {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: #E21E31;
  content: "";
}

.schedule-item:nth-child(2),
.schedule-item:nth-child(3) {
  margin-bottom: 45px;
}
.schedule-item:nth-child(4) {
  margin-bottom: 30px;
}
.schedule-item:last-child {
  margin-bottom: 0;
}

.schedule-content {
  padding-left: 30px;
  width: 100%;
}

.schedule-time {
  display: inline-block;
  padding-right: 10px;
  color: #E21E31;
  font-weight: 900;
}

.schedule-time::before {
  top: 50%;
  right: 0px;
  transform: translateX(50%) translateY(-50%) rotate(45deg);
}

.schedule-content-detail {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7;
}


/*
#voices
================================================================*/

#voices {
  background: #F7F7F7;
}

#voices-wrap {
  margin: 0 auto;
  padding-bottom: 80px;
  max-width: 800px;
  overflow: hidden;
}

/*スライダー*/

.swiper-button-prev:after,
.swiper-button-next:after{
  content: ""; /*contentを空にする*/
}

.swiper-pagination-bullet {
  margin: 0 8px !important;
  width: 14px;
  height: 14px;
}

.swiper-pagination-bullet-active{
background: #E21E31;
}

/*アイテム*/

.voices-list-item,
.modal-content {
  max-width: 980px;
  letter-spacing: 0;
}

.voice-head {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.6;
}

.inline {
  position: relative;
  margin: 10px 0;
  background: #fff;
}

.inline::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 10px;
  width: 25px;
  height: 25px;
  background: url(../../img/recruit/icon-window.png) no-repeat;
  background-size: 25px;
}

.inline:hover {
  background: #E21E31;
  opacity: 1;
}

.text-wrap {
  text-align: center;
}

.text-wrap .name {
  font-size: 2rem;
  font-weight: 900;
}

/*モーダル*/

.modaal-outer-wrapper {
  display: inherit;
  position: fixed;

}

.modaal-inner-wrapper {
  display: inherit;
  padding: 0 10px;
  background: #33333380;
}

.modaal-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 650px;
  width: 95%;
  max-width: 500px;
  border: solid 6px #E21E31;
}

.modaal-content-container {
  padding: 70px 5px;
}

.modal-content {
  padding: 0 10px;
  height: 540px;
  overflow-y: auto;
}

.modaal-close {
  top: 12px;
  right: 12px;
  background: #E21E31 !important;
  border-radius: 50px;
}

/*モーダルの中身*/

.modal-content .voice-head {
  color: #E21E31;
  font-size: 2.4rem;
}

.ph-area {
  flex-wrap: wrap;
  align-items: end;
}

.modal-content .ph-area .ph {
  width: 46%;
}

.modal-content .ph-area .text-wrap {
  width: 51%;
  text-align: left;
  font-size: 1.4rem;
}

.main-text-wrap {
  margin: 20px 0;
  line-height: 2;
}


/*
#message
================================================================*/

.message-head {
  margin: 40px auto 30px;
  text-align: center;
  font-size: 2rem;
  font-weight: 900;
}

.sign {
  text-align: right;
  font-size: 1.8rem;
  font-weight: 900;
}

.sign .name {
  padding-left: 10px;
  font-size: 2.8rem;
}

/*
requirements
================================================================*/

#requirements {
  background: #F7F7F7;
}

#requirements table {
  margin: 0 auto;
  max-width: 840px;
}

#requirements table tr {
  background: #fff;
}

#requirements table th,
#requirements table td {
  display: block;
}

#requirements table th {
  display: block;
  padding: 1em 1em .15em;
  font-weight: 900;
}

#requirements table td {
  padding: .15em 1em 1em;
}

#requirements table li::before {
  content: "■";
}

#requirements table dl li::before {
  content: "◇";
}


/*
closing
================================================================*/

.closing .comment,
.induction,
.phone-num {
  text-align: center;
  font-weight: 900;
}

.closing .comment {
  margin-bottom: 50px;
  font-size: 2rem;
  line-height: 2;
}

.induction {
  color: #E21E31;
  font-size: 2rem;
}

.phone-num {
  font-size: 3.7rem;
}




















/*================================================================
PC（画面幅900px以上で読み込む）
================================================================*/
@media screen and (min-width:900px) {
  /*
  共通
  ================================================================*/

  #recruit .inner {
    max-width: 980px;
  }

  /*求人情報を詳しく見るボタン*/

  .recruit-link-button .main-text {
    font-size: 2.8rem;
  }

  .recruit-link-button .supplement {
    font-size: 1.6rem;
  }

  .recruit-link-button .arrow {
    display: block;
  }


  /*
  #appeal
  ================================================================*/

  #appeal .copy {
    font-size: 3.4rem;
    line-height: 1.7;
  }

  #appeal .ph {
    margin: 0 auto 20px;
}

  .point-list-item {
    width: 23%;
  }

  .point-list-item:not(:last-child) {
    margin-bottom: 0;
  }

  .point-list-item .illust {
    display: flex;
    align-items: center;
    height: 120px;
  }


  /*
  #job
  ================================================================*/

  @media screen and (min-width:1080px) {

    #job .text-area p {
      width: 62%;
    }

    #job .text-area .headline {
      margin-bottom: 0;
      width: 36%;
    }
  }

  #job .ph {
    width: 32%;
    margin: 0 auto;
  }


  /*
  #workflow
  ================================================================*/

  .schedule::before {
    top: 0;
    left: 60px;
    transform: translateY(-50%);
    width: 87%;
    height: 6px;
  }

  @media screen and (min-width:1100px) {
    .schedule::before {
      width: 88%;
    }
  }

  .schedule {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-start;
      margin: 0px -20px;
  }

  .schedule-item {
    margin: 15px 0 0;
    width: 13.4%;
  }

  .schedule-item::after {
    top: -15px;
    left: 44%;
  }

  .schedule-item:nth-child(2),
  .schedule-item:nth-child(3) {
    margin: 15px 6% 0 0;
  }

  .schedule-item:nth-child(4) {
    margin: 15px 2% 0 0;
  }

  .schedule-item:nth-child(5) {
    width: 19%;
  }

  .schedule-content {
    padding-left: 0;
    text-align: center;
  }

  .schedule-time {
      margin: 0px auto;
      padding-right: 0;
  }

  .schedule-time::before {
      left: 50%;
      bottom: 0px;
      transform: translateX(-50%) translateY(50%) rotate(45deg);
  }

  .schedule-time::after {
      top: 3.5em;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
  }

  .schedule-content-detail {
      text-align: center;
  }


  /*
  #voices
  ================================================================*/

  #voices-wrap {
    padding-bottom: 0;
  }

  .voices-list {
    display: flex;
    justify-content: space-between;
  }

  /*アイテム*/

  .voices-list-item {
    width: 30%;
  }

  /*モーダル*/

  .modaal-container {
    max-width: 1200px;
    height: 700px;
  }

  @media screen and (max-width:950px) {
    .modaal-container {
      width: 99%;
    }
  }

  .swiper-pagination {
    display: none;
  }

  /*モーダルの中身*/

  .modal-content {
    margin-top: 85px;
    max-width: 680px;
    width: 69%;
    height: 500px;
  }

  .modal-content .voice-head {
    position: fixed;
    top: 40px;
    padding-bottom: 0;
    font-size: 2.6rem;
  }

  .ph-area {
    display: block;
    position: fixed;
    top: 18%;
    right: 15px;
    max-width: 300px;
    width: 26%;
  }

  .modal-content .ph-area .ph {
    margin-bottom: 20px;
    width: 100%;
  }

  .modal-content .ph-area .text-wrap {
    width: 100%;
    font-size: 1.6rem;
  }

  .main-text-wrap {
    margin: 40px 0;
  }

  .main-text-wrap.first {
    margin: 0 0 40px;
  }

  @media screen and (min-width:1080px) {
    .modal-content {
      padding: 0 15px 0 5%;
    }
    .ph-area {
      right: 5%;
    }
  }
  @media screen and (min-width:1200px) {
    .modal-content {
      padding: 0 15px 0 12%;
    }
    .ph-area {
      right: 12%;
    }

  }

  /*
  #message
  ================================================================*/

  #message .ph {
    margin: 0 auto;
    max-width: 800px;
  }


  /*
  requirements
  ================================================================*/

  #requirements table th,
  #requirements table td {
    display: inline-block;
    padding: 1em 1.5em 1em 2em;
  }

  #requirements table th {
    width: 22%;
  }

  #requirements table td {
    width: 78%;
  }


  /*
  closing
  ================================================================*/

  .closing .comment {
    font-size: 2.4rem;
  }

  .induction {
    font-size: 2.8rem;
  }

  .phone-num {
    font-size: 5rem;
  }


}
