@charset "UTF-8";
/*=======================================================
共通
=======================================================*/
.ly_main {
  padding-top: min(16 / 1280 * 100vw, 16px);
  background: #f7f4f4;
}
.bl_breadcrumbs {
  margin-bottom: min(16 / 1280 * 100vw, 16px);
}
body {
  font-size: min(14 / 1280 * 100vw, 14px);
}
@media screen and (max-width: 750px) {
  .ly_main {
    padding-top: 24px;
  }
  .bl_breadcrumbs {
    margin-bottom: 24px;
  }
  body {
    font-size: 24px;
  }
}
/*=======================================================
ly_cont
=======================================================*/
.ly_cont {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: min(56 / 1280 * 100vw, 56px) min(32 / 1280 * 100vw, 32px);
}
.ly_cont_main {
  width: min(828 / 1280 * 100vw, 828px);
}
.ly_cont_aside {
  width: min(340 / 1280 * 100vw, 340px);
}
@media screen and (max-width: 750px) {
  .ly_cont {
    gap: 40px;
    padding-bottom: 80px;
  }
  .ly_cont_main {
    width: 100%;
  }
  .ly_cont_aside {
    width: 100%;
  }
}
/*=======================================================
detail_head
=======================================================*/
.bl_head_def .bl_head_ditem {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  white-space: normal;
  max-height: 3em;
  line-height: 2em;
}

.bl_detail_head {
  margin-bottom: min(24 / 1280 * 100vw, 24px);
}
.bl_detail_head .bl_head_ttl {
  padding-bottom: min(12 / 1280 * 100vw, 12px);
  margin-bottom: min(16 / 1280 * 100vw, 16px);
  font-size: min(22 / 1280 * 100vw, 22px);
  font-weight: 700;
  border-bottom: 1px solid #cccccc;
}
.bl_detail_head .bl_head_list {
  display: flex;
  flex-wrap: wrap;
  gap: min(8 / 1280 * 100vw, 8px);
  margin-bottom: min(16 / 1280 * 100vw, 16px);
}
.bl_detail_head .bl_head_item {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: min(calc(3 / 1280 * 100vw), 3px) min(calc(8 / 1280 * 100vw), 8px)
    min(calc(5 / 1280 * 100vw), 5px);
  min-width: min(90 / 1280 * 100vw, 90px);
  height: min(25 / 1280 * 100vw, 25px);
  background: #fff;
  border: 1px solid #c3a45f;
}
.bl_detail_head .bl_head_dwrap {
  display: flex;
}
.bl_detail_head .bl_head_dwrap.company .bl_head_dttl::before {
  background: url("../images/common/icon_company.svg") top center/contain
    no-repeat;
}
.bl_detail_head .bl_head_dwrap.location .bl_head_dttl::before {
  background: url("../images/common/icon_pin.svg") top center/contain no-repeat;
}
.bl_detail_head .bl_head_dwrap.annual-income .bl_head_dttl::before {
  background: url("../images/common/icon_money.svg") top center/contain
    no-repeat;
}
.bl_detail_head .bl_head_dwrap:not(:first-of-type) .bl_head_ditem {
  border-top: none;
}
.bl_detail_head .bl_head_dwrap:last-of-type .bl_head_dttl {
  border-bottom: none;
}
.bl_detail_head .bl_head_dttl {
  flex: 0 1 min(140 / 1280 * 100vw, 140px);
  background: #363636;
  color: #fff;
  padding: 0 0 min(2 / 1280 * 100vw, 2px) min(44 / 1280 * 100vw, 44px);
  display: flex;
  align-items: center;
  position: relative;
  border-bottom: 1px solid #cccccc;
}
.bl_detail_head .bl_head_dttl::before {
  position: absolute;
  content: "";
  width: min(24 / 1280 * 100vw, 24px);
  height: min(24 / 1280 * 100vw, 24px);
  top: 50%;
  left: min(12 / 1280 * 100vw, 12px);
  transform: translateY(-50%);
}
.bl_detail_head .bl_head_ditem {
  flex: 1;
  padding: min(9 / 1280 * 100vw, 9px) min(16 / 1280 * 100vw, 16px)
    min(11 / 1280 * 100vw, 11px);
  display: block;
  align-items: center;
  border: 1px solid #cccccc;
  border-left: none;
  width: 100%;
  background: #fff;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.bl_detail_head .bl_recommend_ttl {
  font-size: min(20 / 1280 * 100vw, 20px);
  font-weight: 700;
  border-bottom: 1px solid #cccccc;
  padding: min(1 / 1280 * 100vw, 1px) min(18 / 1280 * 100vw, 18px)
    min(10 / 1280 * 100vw, 10px);
  margin: min(40 / 1280 * 100vw, 40px) 0 min(16 / 1280 * 100vw, 16px);
  position: relative;
}
.bl_detail_head .bl_recommend_ttl::before {
  position: absolute;
  content: "";
  width: min(6 / 1280 * 100vw, 6px);
  height: calc(100% - min(8 / 1280 * 100vw, 8px));
  background: linear-gradient(180deg, #ba322f 0%, #6e1412 100%);
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .bl_detail_head {
    margin-bottom: 40px;
  }
  .bl_detail_head .bl_head_ttl {
    padding-bottom: 24px;
    margin-bottom: 24px;
    font-size: 36px;
    border-width: 2px;
  }
  .bl_detail_head .bl_head_list {
    gap: 12px;
    margin-bottom: 24px;
  }
  .bl_detail_head .bl_head_item {
    padding: 0 8px 4px;
    min-width: 160px;
    height: 36px;
    font-size: 22px;
  }
  .bl_detail_head .bl_head_dttl {
    flex: 0 1 140px;
    padding: 0 0 3px 38px;
    border-width: 2px;
    font-size: 20px;
  }
  .bl_detail_head .bl_head_dttl::before {
    width: 24px;
    height: 24px;
    left: 8px;
  }
  .bl_detail_head .bl_head_ditem {
    padding: 6px 16px 10px;
    border-width: 2px;
    font-size: 22px;
    line-height: calc(32 / 22);
  }
}
/*=======================================================
detail_info
=======================================================*/
.bl_detail_info .el_sec_mainTtl {
  font-size: min(28 / 1280 * 100vw, 28px);
  margin-bottom: min(24 / 1280 * 100vw, 24px);
  text-align: left;
}
.bl_detail_info .bl_info_conts + * {
  margin-top: min(24 / 1280 * 100vw, 24px);
}
.bl_detail_info .bl_info_conts .bl_conts_ttl {
  background: #363636;
  padding: min(5 / 1280 * 100vw, 5px) min(44 / 1280 * 100vw, 44px)
    min(7 / 1280 * 100vw, 7px);
  color: #fff;
  position: relative;
  display: flex;
  align-items: center;
  font-size: min(16 / 1280 * 100vw, 16px);
  font-weight: 700;
}
.bl_detail_info .bl_info_conts .bl_conts_ttl::before {
  position: absolute;
  content: "";
  width: min(20 / 1280 * 100vw, 20px);
  height: min(20 / 1280 * 100vw, 20px);
  top: 50%;
  left: min(12 / 1280 * 100vw, 12px);
  transform: translateY(-50%);
}
.bl_detail_info .bl_info_conts .bl_conts_body {
  padding: min(16 / 1280 * 100vw, 16px) min(12 / 1280 * 100vw, 12px)
    min(18 / 1280 * 100vw, 18px);
  background: #fff;
  border: 1px solid #363636;
  border-top: none;
  display: grid;
  gap: min(20 / 1280 * 100vw, 20px);
}
.bl_detail_info .bl_info_conts .bl_conts_body .el_att {
  font-size: min(12 / 1280 * 100vw, 12px);
}
.bl_detail_info .bl_info_conts .bl_conts_def {
  display: grid;
  gap: min(20 / 1280 * 100vw, 20px);
}
.bl_detail_info .bl_info_conts .bl_conts_dwrap {
  display: grid;
  gap: min(12 / 1280 * 100vw, 12px);
}
.bl_detail_info .bl_info_conts .bl_conts_dttl {
  padding: 0 min(16 / 1280 * 100vw, 16px) min(7 / 1280 * 100vw, 7px);
  position: relative;
  font-size: min(16 / 1280 * 100vw, 16px);
  font-weight: 700;
  border-bottom: 1px solid #cccccc;
}
.bl_detail_info .bl_info_conts .bl_conts_dttl::before {
  position: absolute;
  content: "";
  width: min(4 / 1280 * 100vw, 4px);
  height: calc(100% - min(6 / 1280 * 100vw, 6px));
  background: linear-gradient(180deg, #ba322f 0%, #6e1412 100%);
  top: min(1 / 1280 * 100vw, 1px);
  left: 0;
}
.bl_detail_info .bl_info_conts .bl_conts_ditem {
  display: grid;
  gap: min(4 / 1280 * 100vw, 4px);
}
.bl_detail_info .bl_info_conts .bl_conts_ditem .bl_bulletList {
  display: grid;
  gap: min(4 / 1280 * 100vw, 4px);
}
.bl_detail_info .bl_info_conts .bl_conts_box .bl_conts_txt + * {
  margin-top: min(8 / 1280 * 100vw, 8px);
}
.bl_detail_info .bl_info_conts .bl_conts_sdef + * {
  margin-top: min(10 / 1280 * 100vw, 10px);
}
.bl_detail_info .bl_info_conts .bl_conts_sdttl {
  min-width: min(61 / 1280 * 100vw, 61px);
  height: min(26 / 1280 * 100vw, 26px);
  padding: 0 min(16 / 1280 * 100vw, 16px) min(2 / 1280 * 100vw, 2px);
  color: #fff;
  background: linear-gradient(270deg, #ba322f 0%, #6e1412 100%);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-bottom: min(12 / 1280 * 100vw, 12px);
  font-weight: 700;
}
.bl_detail_info .bl_info_btn {
  font-weight: 700;
  color: #fff;
  padding: 0 0 min(3 / 1280 * 100vw, 3px);
  background: linear-gradient(270deg, #ba322f 0%, #6e1412 100%);
  width: min(300 / 1280 * 100vw, 300px);
  height: min(56 / 1280 * 100vw, 56px);
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  font-size: min(17 / 1280 * 100vw, 17px);
}
.bl_detail_info .bl_info_btn + * {
  margin-top: min(24 / 1280 * 100vw, 24px);
}
.bl_deco_list > li {
  padding-left: 1em;
  position: relative;
}
.bl_deco_list > li::before {
  position: absolute;
  content: "∟";
  top: 0;
  left: 0;
  display: block;
}
.bl_detail_info .bl_conts_ttl.recruitment-recommend::before {
  background: url("../images/common/icon_star.svg") top center/contain no-repeat;
}
.bl_detail_info .bl_conts_ttl.recruitment-background::before {
  background: url("../images/common/icon_human_search.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.job-description::before {
  background: url("../images/common/icon_bag.svg") top center/contain no-repeat;
}
.bl_detail_info .bl_conts_ttl.target-training-period::before {
  background: url("../images/common/icon_pen.svg") top center/contain no-repeat;
}
.bl_detail_info .bl_conts_ttl.application-requirements::before {
  background: url("../images/common/icon_check.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.annual-income::before {
  background: url("../images/common/icon_money.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_info_conts.annual-income .hp_bold {
  font-size: min(16 / 1280 * 100vw, 16px);
}
.bl_detail_info .bl_conts_ttl.bar-association-fees::before {
  background: url("../images/common/icon_balance.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.location::before {
  background: url("../images/common/icon_pin.svg") top center/contain no-repeat;
}
.bl_detail_info .bl_conts_ttl.working-hours::before {
  background: url("../images/common/icon_time.svg") top center/contain no-repeat;
}
.bl_detail_info .bl_conts_ttl.holiday::before {
  background: url("../images/common/icon_calendar.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.employee-benefits::before {
  background: url("../images/common/icon_heart.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.side-job::before {
  background: url("../images/common/icon_wallet.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.against-smoking::before {
  background: url("../images/common/icon_smoke.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.individual-acceptance::before {
  background: url("../images/common/icon_personal.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.in-house-tools::before {
  background: url("../images/common/icon_pc.svg") top center/contain no-repeat;
}
.bl_detail_info .bl_conts_ttl.accounting-software::before {
  background: url("../images/common/icon_account.svg") top center/contain
    no-repeat;
}
.bl_detail_info .bl_conts_ttl.employ_status::before {
  background: url("../images/common/icon_human_white.svg") top center/contain
    no-repeat;
}
@media screen and (max-width: 750px) {
  .bl_detail_info .el_sec_mainTtl {
    font-size: 42px;
    margin-bottom: 36px;
  }
  .bl_detail_info .bl_info_conts + * {
    margin-top: 40px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_ttl {
    padding: 6px 56px 9px;
    font-size: 26px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_ttl::before {
    width: 24px;
    height: 24px;
    left: 16px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_body {
    padding: 16px 30px 20px;
    border-width: 2px;
    gap: 40px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_body .el_att {
    font-size: 18px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_def {
    padding: 14px 0 10px;
    gap: 40px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_dwrap {
    gap: 24px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_dttl {
    padding: 0 24px 18px;
    font-size: 26px;
    border-width: 2px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_dttl::before {
    width: 8px;
    height: calc(100% - 12px);
  }
  .bl_detail_info .bl_info_conts .bl_conts_ditem {
    gap: 8px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_ditem .bl_bulletList {
    gap: 6px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_box .bl_conts_txt + * {
    margin-top: 4px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_sdef + * {
    margin-top: 10px;
  }
  .bl_detail_info .bl_info_conts .bl_conts_sdttl {
    min-width: 96px;
    height: 40px;
    padding: 0 10px 4.5px;
    margin-bottom: 12px;
  }
  .bl_detail_info .bl_info_btn {
    padding: 0 0 2px;
    width: 630px;
    height: 96px;
    font-size: 30px;
  }
  .bl_detail_info .bl_info_btn + * {
    margin-top: 40px;
  }
  .bl_detail_info .bl_bulletList li:not(:first-of-type) {
    margin-top: 8px;
  }
  .bl_detail_info .bl_info_conts.multiple .bl_conts_body {
    padding: 30px;
  }
  .bl_detail_info .bl_info_conts.annual-income .hp_bold {
    font-size: 26px;
  }
}
/*=======================================================
companyInfo
=======================================================*/
.bl_companyInfo {
  margin-top: min(24/ 1280 * 100vw, 24px);
  background: #fff;
  padding: min(24 / 1280 * 100vw, 24px) min(12 / 1280 * 100vw, 12px);
}
.bl_companyInfo .el_sec_mainTtl {
  font-size: min(20 / 1280 * 100vw, 20px);
  margin-bottom: min(15 / 1280 * 100vw, 15px);
}
.bl_companyInfo_list {
  display: grid;
  gap: min(24 / 1280 * 100vw, 24px);
}
.bl_companyInfo_item .bl_item_ttl {
  padding: 0 min(16 / 1280 * 100vw, 16px) min(7 / 1280 * 100vw, 7px);
  font-size: min(16 / 1280 * 100vw, 16px);
  font-weight: 700;
  border-bottom: 1px solid #cccccc;
  position: relative;
  margin-bottom: min(12 / 1280 * 100vw, 12px);
}
.bl_companyInfo_item .bl_item_ttl::before {
  position: absolute;
  content: "";
  width: min(4 / 1280 * 100vw, 4px);
  height: calc(100% - min(6 / 1280 * 100vw, 6px));
  background: linear-gradient(180deg, #ba322f 0%, #6e1412 100%);
  top: min(1 / 1280 * 100vw, 1px);
  left: 0;
}
.bl_companyInfo_item .bl_item_txt + * {
  margin-top: min(24 / 1280 * 100vw, 24px);
}
@media screen and (max-width: 750px) {
  .bl_companyInfo {
    margin-top: 40px;
    padding: 40px 30px;
  }
  .bl_companyInfo .el_sec_mainTtl {
    font-size: 30px;
    margin-bottom: 40px;
  }
  .bl_companyInfo_list {
    gap: 40px;
  }
  .bl_companyInfo_item .bl_item_ttl {
    padding: 0 24px 15px;
    font-size: 26px;
    border-width: 2px;
    margin-bottom: 16px;
  }
  .bl_companyInfo_item .bl_item_ttl::before {
    width: 8px;
    height: calc(100% - 12px);
  }
  .bl_companyInfo_item .bl_item_txt + * {
    margin-top: 36px;
  }
}
/*=======================================================
conditions
=======================================================*/
.bl_conditions {
  padding: 0 0 min(64 / 1280 * 100vw, 64px);
}
.bl_conditions .ly_cont_inner {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .bl_conditions {
    padding: 0;
  }
}

/*=======================================================
movie
=======================================================*/
.bl_movie {
  padding: min(24 / 1280 * 100vw, 24px) 0 0;
}
.bl_movie .ly_cont_inner {
  width: 100%;
}
.bl_movie_slide {
  width: min(324/ 1280 * 100vw, 324px);
  margin: 0 auto;
}
.bl_movie_slidesContainer {
  overflow: hidden;
}
.bl_movie_slidesContainerWrapper {
  position: relative;
  width: min(684 / 1280 * 100vw, 684px);
  margin: 0 auto;
}
.bl_movie_slide a {
  display: flex;
}
.bl_movie .bl_slide_btnWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 2;
}
.bl_movie .bl_slide_prev,
.bl_movie .bl_slide_next {
  width: min(40 / 1280 * 100vw, 40px);
  height: min(56 / 1280 * 100vw, 56px);
  background: url("../images/detail/detail_slider_arrow.svg") top center/cover
    no-repeat;
}
.bl_movie .bl_slide_prev::after,
.bl_movie .bl_slide_next::after {
  display: none;
}
.bl_movie .bl_slide_prev {
  left: min(-68 / 1280 * 100vw, -68px);
}
.bl_movie .bl_slide_next {
  transform: scale(-1, 1);
  right: min(-68 / 1280 * 100vw, -68px);
}
@media screen and (max-width: 750px) {
  .bl_movie {
    padding: 40px 0 0;
  }
  .bl_movie .el_sec_mainTtl::after {
    width: 63px;
  }
  .bl_movie_slide {
    width: 630px;
  }
  .bl_movie_slidesContainerWrapper {
    width: 630px;
  }
  .bl_movie .bl_slide_prev,
  .bl_movie .bl_slide_next {
    width: 54px;
    height: 84px;
  }
  .bl_movie .bl_slide_prev {
    left: -40px;
  }
  .bl_movie .bl_slide_next {
    right: -40px;
  }
}
