/* -------------------------- */
/* webp */
/* -------------------------- */
.webp .contents_head {
  background-image: url(/images/recruit/job/bg_main.webp);
}

.no-webp .contents_head {
  background-image: url(/images/recruit/job/bg_main.jpg);
}

/* -------------------------- */
/* content */
/* -------------------------- */
.requirements {
  margin-bottom: 32px;
  padding-bottom: 32px;
  position: relative;
  background: #f5f5f5;
}
.requirements::after {
  width: 100%;
  height: 110px;
  background: #fff;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}
.requirements .container {
  position: relative;
  z-index: 1;
}
.requirements .requirements_list {
  margin-bottom: 24px;
  box-shadow: 20px 20px 20px 0 rgba(0, 0, 0, 0.15);
}
.requirements .requirements_list a {
  padding: 16px;
  background: #fff;
  color: #262626;
  display: block;
}
.requirements .requirements_list a .thum_img {
  width: 100%;
  margin-bottom: 16px;
  transition: all 0.3s;
}
.requirements .requirements_list a .requirements_list_inner .title_section04 {
  margin-bottom: 8px;
  transition: all 0.3s;
}
.requirements .requirements_list a .requirements_list_inner .requirements_list_txt {
  font-size: 1.2rem;
}
.requirements .requirements_list a:hover .thum_img {
  opacity: 0.7;
}
.requirements .requirements_list a:hover .requirements_list_inner .title_section04 {
  color: #5CCE7A;
}

.step {
  margin-bottom: 64px;
}
.step .step_box {
  width: 345px;
  margin: 0 auto;
  padding-bottom: 24px;
  overflow: hidden;
  position: relative;
}
.step .step_box::after {
  width: 0;
  height: 0;
  border-style: solid;
  content: "";
  position: absolute;
  border-width: 25px 187.5px 0 187.5px;
  border-color: #31B14F transparent;
  bottom: 1px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.step .step_list {
  overflow: hidden;
}
.step .step_list li {
  background: #C6ECB7;
  position: relative;
  text-align: center;
}
.step .step_list li:not(:last-child)::before, .step .step_list li:not(:last-child)::after {
  width: 0;
  height: 0;
  border-style: solid;
  content: "";
  position: absolute;
  border-width: 26px 187.5px 0 187.5px;
  left: 50%;
  transform: translateX(-50%);
}
.step .step_list li:not(:last-child)::before {
  border-color: #fff transparent;
  bottom: -2px;
  z-index: 1;
}
.step .step_list li:not(:last-child)::after {
  border-color: #C6ECB7 transparent;
  bottom: 0;
  z-index: 2;
}
.step .step_list li:first-child {
  padding: 16px 0 24px;
}
.step .step_list li:not(:first-child) {
  padding: 24px 0;
}
.step .step_list li .step_list_number {
  width: 100%;
  margin-bottom: 16px;
  font-weight: bold;
  position: relative;
  text-align: center;
  z-index: 3;
}
.step .step_list li .step_list_number span {
  display: block;
}
.step .step_list li .step_list_number em {
  display: block;
  font-size: 1.8rem;
  font-style: normal;
}
.step .step_list li .step_list_txt {
  width: 100%;
  margin-bottom: 16px;
  padding: 0 30px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  position: relative;
  z-index: 3;
}
.step .step_list li .step_list_txt a {
  color: #262626;
  text-decoration: underline;
}
.step .step_list li .step_list_txt a:hover {
  text-decoration: none;
}
.step .step_list li:last-child {
  margin-top: -25px;
  padding: 56px 0 1px;
  background: #31B14F;
  color: #fff;
}

.faq {
  padding-bottom: 72px;
}
.faq .faq_list {
  border-top: 1px solid #D4D4D4;
}
.faq .faq_list dt {
  padding: 16px 0 9px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}
.faq .faq_list dt span {
  color: #5CCE7A;
  display: block;
  font-family: "Montserrat";
  font-size: 2rem;
  font-weight: 600;
}
.faq .faq_list dd {
  padding-bottom: 16px;
  border-bottom: 1px solid #D4D4D4;
  font-weight: 500;
}

/* -------------------------- */
/* detail */
/* -------------------------- */
.job_detail {
  padding-bottom: 48px;
}

.job_head {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}
.job_head .job_head_title {
  margin-bottom: 24px;
  font-size: 2.4rem;
  font-weight: bold;
}
.job_head .txt_normal {
  max-width: 640px;
  margin: 0 auto;
  text-align: left;
  line-height: 2;
}
.job_head .thum_img {
  margin-top: 24px;
}

.job_outline {
  max-width: 860px;
  margin: 32px auto 0;
}
.job_outline .job_outline_list {
  border-top: 1px solid #D4D4D4;
}
.job_outline .job_outline_list dt {
  padding: 16px 0 8px;
  font-weight: bold;
}
.job_outline .job_outline_list dd {
  padding-bottom: 16px;
  border-bottom: 1px solid #D4D4D4;
  font-weight: 500;
}
@media only screen and (min-width: 768px) {
  .requirements {
    margin-bottom: 72px;
    padding-bottom: 72px;
  }
  .requirements::after {
    height: 200px;
  }
  .requirements .requirements_list a {
    padding: 0;
    display: flex;
  }
  .requirements .requirements_list a .thum_img {
    width: 300px;
    margin-bottom: 0;
  }
  .requirements .requirements_list a .requirements_list_inner {
    padding: 0 24px;
    flex: 1;
    align-self: center;
  }
  .requirements .requirements_list a .requirements_list_inner .requirements_list_txt {
    font-size: 1.4rem;
    line-height: 2;
  }
  .step {
    margin-bottom: 72px;
  }
  .faq {
    padding-bottom: 96px;
  }
  .faq .faq_list dt {
    padding: 24px 0 8px 56px;
  }
  .faq .faq_list dt span {
    position: absolute;
    left: 0;
    top: 22px;
  }
  .faq .faq_list dd {
    padding: 0 0 24px 56px;
  }
  .job_detail {
    padding-bottom: 64px;
  }
  .job_outline .job_outline_list {
    display: flex;
    flex-wrap: wrap;
  }
  .job_outline .job_outline_list dt {
    width: 140px;
    padding: 16px;
    border-bottom: 1px solid #D4D4D4;
  }
  .job_outline .job_outline_list dd {
    width: calc(100% - 140px);
    padding: 16px 16px 16px 0;
  }
}
@media only screen and (min-width: 1280px) {
  .requirements {
    margin-bottom: 124px;
    padding-bottom: 96px;
  }
  .requirements::after {
    height: 260px;
  }
  .requirements .requirements_list {
    margin-bottom: 32px;
  }
  .requirements .requirements_list a .thum_img {
    width: 350px;
  }
  .requirements .requirements_list a .requirements_list_inner {
    padding: 0 40px;
  }
  .requirements .requirements_list a .requirements_list_inner .title_section04 {
    margin-bottom: 16px;
  }
  .step {
    margin-bottom: 124px;
  }
  .step .step_box {
    width: calc(100% - 30px);
    height: 200px;
    padding-bottom: 0;
  }
  .step .step_box::after {
    border-width: 130px 0 130px 30px;
    border-color: transparent #31B14F;
    top: 50%;
    left: inherit;
    bottom: inherit;
    right: 1px;
    transform: translateX(0%) translateY(-50%);
  }
  .step .step_list {
    width: 100%;
    height: 200px;
    display: flex;
    position: relative;
  }
  .step .step_list li {
    width: 25%;
  }
  .step .step_list li:not(:last-child)::before, .step .step_list li:not(:last-child)::after {
    border-width: 150px 0 150px 30px;
    left: inherit;
    top: 50%;
    transform: translateX(0%) translateY(-50%);
  }
  .step .step_list li:not(:last-child)::before {
    border-color: transparent #fff;
    bottom: inherit;
    left: calc(85% + 3px);
  }
  .step .step_list li:not(:last-child)::after {
    border-color: transparent #C6ECB7;
    bottom: inherit;
    /* left: 85%; */
    left: 84%;
  }
  .step .step_list li:first-child {
    padding: 24px 24px 16px 8px;
  }
  .step .step_list li:not(:first-child) {
    padding: 24px 24px 16px 8px;
  }
  .step .step_list li .step_list_txt {
    align-self: flex-start;
    text-align: left;
  }
  .step .step_list li:last-child {
    margin: 0 0 0 -30px;
    padding: 24px 0 16px 40px;
  }
  .faq {
    padding-bottom: 180px;
  }
  .faq .faq_list dt {
    padding: 40px 0 16px 125px;
    font-size: 2rem;
  }
  .faq .faq_list dt span {
    font-size: 2.4rem;
    left: 48px;
    top: 45px;
  }
  .faq .faq_list dd {
    padding: 0 0 40px 125px;
    font-size: 1.6rem;
  }
  .job_detail {
    padding-bottom: 96px;
  }
  .job_head .job_head_title {
    margin-bottom: 32px;
    font-size: 4rem;
  }
  .job_head .txt_normal {
    line-height: 2.2;
  }
  .job_head .thum_img {
    margin-top: 32px;
  }
  .job_outline {
    margin-top: 64px;
  }
  .job_outline .job_outline_list dt {
    width: 175px;
    padding: 24px 16px 24px 32px;
    font-size: 1.6rem;
  }
  .job_outline .job_outline_list dd {
    width: calc(100% - 175px);
    padding: 24px 24px 24px 0;
    font-size: 1.6rem;
  }
}
/*# sourceMappingURL=../map/recruit/job.css.map */
