@charset "UTF-8";
/*=======================================================
共通
=======================================================*/
.bl_consultation_btn {
  width: 336px;
  height: 64px;
  background: transparent linear-gradient(101deg, #BA322F 0%, #6E1412 100%) 0% 0% no-repeat padding-box;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  gap: 16px;
  padding-right: 13px;
}
.bl_consultation_btn::before {
  content: "";
  width: 48px;
  height: 48px;
  background: url("../../img/recruiter/common/icon_contact.svg") top center/contain no-repeat;
}
.bl_consultation_btn.el_reverse {
  background: #fff;
  color: #9B1613;
}
.bl_consultation_btn.el_reverse::before {
  background: url("../../img/recruiter/common/icon_contact__red.svg") top center/contain no-repeat;
}
.el_sec_mainTtl.el_deco_under {
  padding-bottom: 35px;
  position: relative;
}
.el_sec_mainTtl.el_deco_under::after {
  position: absolute;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.el_deco_bothEndsLine {
  display: flex;
  justify-content: center;
  position: relative;
  margin-bottom: 32px;
}
.el_deco_bothEndsLine::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #FFE3A5;
  width: 100%;
  height: 1px;
  content: "";
}
.el_deco_bothEndsLine .el_inner {
  font-size: 26px;
  color: #FFE3A5;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 0 24px;
  position: relative;
  z-index: 2;
  background: #363636;
}
@media screen and (max-width: 750px) {
  .bl_consultation_btn {
    width: 497px;
    height: 96px;
    font-size: 30px;
    padding-bottom: 6px;
  }
  .bl_consultation_btn::before {
    width: 68px;
    height: 68px;
  }
  .el_sec_mainTtl.el_deco_under {
    padding-bottom: 55px;
  }
  .el_sec_mainTtl.el_deco_under::after {
    font-size: 24px;
  }
  .el_deco_bothEndsLine {
    margin-bottom: 40px;
  }
  .el_deco_bothEndsLine::before {
    display: none;
  }
  .el_deco_bothEndsLine .el_inner {
    font-size: 38px;
    padding: 0;
  }
}
/*=======================================================
mv
=======================================================*/
.bl_mv {
  height: 680px;
  padding-top: 185px;
}
.bl_mv .ly_cont_inner {
  position: relative;
}
.bl_mv .ly_cont_inner::before {
  position: absolute;
  content: "";
  width: 1152px;
  height: 680px;
  top: -185px;
  right: -488px;
  background: url("../../img/recruiter/lp/mv_bg.jpg") top center/cover no-repeat;
  z-index: -1;
}
.bl_mv_ttl {
  width: 462px;
  margin-bottom: 68px;
}
.bl_mv_txt {
  margin-bottom: 64px;
}
@media screen and (max-width: 750px) {
  .bl_mv {
    background: url("../../img/recruiter/lp/mv_bg_sp.jpg") top center/cover no-repeat;
    height: 990px;
    padding-top: 200px;
  }
  .bl_mv .ly_cont_inner::before {
    display: none;
  }
  .bl_mv_ttl {
    width: 466px;
    margin-bottom: 102px;
  }
  .bl_mv_txt {
    width: 460px;
    margin-bottom: 112px;
  }
  .bl_mv .bl_consultation_btn {
    border: 2px solid #fff;
  }
}
/*=======================================================
reason
=======================================================*/
.bl_reason {
  background: #F9F1F0;
  padding: 64px 0;
}
.bl_reason .el_sec_mainTtl {
  padding-top: 56px;
  font-size: 32px;
  font-weight: 700;
  position: relative;
  margin-bottom: 48px;
}
.bl_reason .el_sec_mainTtl .el_deco {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  padding: 1px 16px 4px;
  background: #363636;
  color: #fff;
  font-size: 24px;
}
.bl_reason .bl_media_list {
  gap: 56px;
}
.bl_reason .bl_media_ttl {
  color: #9B1613;
  padding-bottom: 10px;
  margin-bottom: 16px;
  position: relative;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.bl_reason .bl_media_ttl::after {
  position: absolute;
  content: "";
  width: 528px;
  height: 15px;
  background: url("../../img/recruiter/lp/reason_media_ttl_deco.svg") top center/contain no-repeat;
  bottom: 0;
  left: -32px;
}
@media screen and (min-width: 751px) {
  .bl_reason .bl_media.el_reverse {
    gap: 21px;
  }
  .bl_reason .bl_media.el_reverse .bl_media_ttl {
    text-align: right;
  }
  .bl_reason .bl_media.el_reverse .bl_media_ttl::after {
    left: initial;
    right: -21px;
    transform: scale(-1, 1);
  }
}
@media screen and (max-width: 750px) {
  .bl_reason {
    padding: 80px 0;
  }
  .bl_reason .el_sec_mainTtl {
    padding-top: 68px;
    font-size: 40px;
    margin-bottom: 56px;
  }
  .bl_reason .el_sec_mainTtl .el_deco {
    padding: 1px 15px 6px;
    font-size: 34px;
  }
  .bl_reason .bl_media_imgWrapper.sp {
    display: block;
    margin-bottom: 32px;
  }
  .bl_reason .bl_media_ttl {
    padding-bottom: 16px;
    margin-bottom: 32px;
    font-size: 38px;
  }
  .bl_reason .bl_media_ttl::after {
    width: 690px;
    height: 25px;
    left: 0;
  }
  .bl_reason .bl_media:nth-of-type(2) .bl_media_ttl {
    font-size: 37px;
  }
}
/*=======================================================
solution
=======================================================*/
.bl_solution {
  padding: 64px 0;
  background: #363636;
}
.bl_solution .el_sec_mainTtl {
  color: #fff;
  line-height: calc(54/32);
}
.bl_solution .el_sec_mainTtl .el_deco_bg {
  background: #877062;
  padding: 0 8px 3px;
  margin-right: 8px;
  line-height: 1;
}
.bl_solution_kind .bl_kind_ttl {
  background: #9B1613;
  padding: 4px 0 7px;
  color: #fff;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.bl_solution_kind .bl_kind_list {
  padding: 24px 22px;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 20px;
}
.bl_solution_kind .bl_kind_item {
  background: #887062;
  border-radius: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 0 9px;
  width: calc((100% - 80px) / 5);
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .bl_solution {
    padding: 80px 0;
  }
  .bl_solution .el_sec_mainTtl .el_deco_bg {
    padding: 0 12px 4.5px;
    margin-right: 12px;
  }
  .bl_solution_kind .bl_kind_ttl {
    padding: 11px 0 15px;
    font-size: 32px;
  }
  .bl_solution_kind .bl_kind_list {
    padding: 30px;
    gap: 26px;
  }
  .bl_solution_kind .bl_kind_item {
    border-radius: 4px;
    padding: 10px 0 14px;
    width: calc((100% - 26px) / 2);
  }
}
/*=======================================================
flow
=======================================================*/
.bl_flow {
  padding: 80px 0;
  background: #F9F1F0;
}
.bl_flow .el_sec_mainTtl::after {
  color: #9B1613;
  content: "Flow";
}
.bl_flow_intro {
  text-align: center;
  margin-bottom: 32px;
}
.bl_flow .bl_media {
  padding: 32px;
  background: #fff;
  gap: 24px;
  position: relative;
}
.bl_flow .bl_media_list {
  gap: 36px;
}
.bl_flow .bl_media:not(:last-of-type)::after {
  position: absolute;
  content: "";
  width: 24px;
  height: 12px;
  background: url("../../img/recruiter/lp/flow_arrow.svg") top center/contain no-repeat;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
}
.bl_flow .bl_media_imgWrapper {
  flex: 0 1 264px;
}
.bl_flow .bl_media_ttl {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #817250;
  margin-bottom: 16px;
}
@media screen and (max-width: 750px) {
  .bl_flow_intro {
    margin-bottom: 64px;
  }
  .bl_flow .bl_media {
    padding: 40px 30px;
  }
  .bl_flow .bl_media_list {
    gap: 94px;
  }
  .bl_flow .bl_media:not(:last-of-type)::after {
    width: 60px;
    height: 30px;
    bottom: -62px;
  }
  .bl_flow .bl_media_imgWrapper {
    width: 382px;
    margin: 0 auto 24px;
  }
  .bl_flow .bl_media_imgWrapper.sp {
    display: block;
  }
  .bl_flow .bl_media_body {
    flex: auto;
    width: 100%;
  }
  .bl_flow .bl_media_ttl {
    font-size: 38px;
    text-align: center;
    margin-bottom: 24px;
  }
}
/*=======================================================
cta
=======================================================*/
.bl_cta {
  padding: 64px 0 0;
  height: 390px;
  background: url("../../img/recruiter/common/cta_bg.jpg") top center/cover no-repeat;
}
.bl_cta .el_sec_mainTtl {
  color: #fff;
  margin-bottom: 40px;
}
.bl_cta_txt {
  text-align: center;
  margin-bottom: 40px;
  color: #fff;
}
.bl_cta .bl_consultation_btn {
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .bl_cta {
    padding: 80px 0 0;
    height: 568px;
    background: url("../../img/recruiter/common/cta_bg_sp.jpg") top center/cover no-repeat;
  }
  .bl_cta .el_sec_mainTtl {
    margin-bottom: 56px;
  }
  .bl_cta_txt {
    margin-bottom: 56px;
  }
}
/*=======================================================
faq
=======================================================*/
.bl_faq {
  padding: 64px 0;
  background: #fff;
}
.bl_faq .el_sec_mainTtl::after {
  content: "FAQ";
  color: #9B1613;
}
.bl_faq_def {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  width: 100%;
}
.bl_faq_def > div {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.bl_faq_def > div > dt {
  width: 100%;
  position: relative;
  background: #363636;
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.04em;
  padding: 11px 55px 14px 68px;
  cursor: pointer;
  position: relative;
}
.bl_faq_def > div > dt::after {
  position: absolute;
  content: "▼";
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: #ffffff;
  border-radius: 2px;
  color: #9B1613;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 0 2px 2px;
  font-size: 14px;
}
.bl_faq_def > div > dt.open::after {
  content: "▲";
}
.bl_faq_def > div > dt > span {
  position: relative;
}
.bl_faq_def > div > dt > span::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 50%;
  top: -3px;
  left: -52px;
}
.bl_faq_def > div > dt > span::after {
  position: absolute;
  content: "";
  width: 18px;
  height: 22px;
  background: url("../../img/recruiter/lp/faq_Q.svg") top center/contain no-repeat;
  top: 6px;
  left: -41px;
}
.bl_faq_def > div > dd {
  padding: 8px 0 0 72px;
  position: relative;
  display: none;
}
.bl_faq_def > div > dd::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  background: #fff;
  border: 1px solid #9B1613;
  top: 0;
  left: 16px;
  border-radius: 50%;
}
.bl_faq_def > div > dd::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background: url("../../img/recruiter/lp/faq_A.svg") top center/contain no-repeat;
  top: 10px;
  left: 25px;
}
@media screen and (max-width: 750px) {
  .bl_faq {
    padding: 80px 0;
  }
  .bl_faq_def {
    gap: 36px;
  }
  .bl_faq_def > div {
    gap: 20px;
  }
  .bl_faq_def > div > dt {
    font-size: 28px;
    padding: 16px 70px 20px 80px;
  }
  .bl_faq_def > div > dt::after {
    right: 14px;
    width: 40px;
    height: 40px;
    padding: 0 0 3px 3px;
    font-size: 18px;
  }
  .bl_faq_def > div > dt > span::before {
    width: 48px;
    height: 48px;
    top: 0;
    left: -64px;
  }
  .bl_faq_def > div > dt > span::after {
    width: 22px;
    height: 26px;
    top: 11px;
    left: -52px;
  }
  .bl_faq_def > div > dd {
    padding: 0 0 0 80px;
  }
  .bl_faq_def > div > dd::before {
    width: 48px;
    height: 48px;
    border-width: 2px;
  }
  .bl_faq_def > div > dd::after {
    width: 24px;
    height: 24px;
    top: 11px;
    left: 28px;
  }
}