@charset "UTF-8";
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}

.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

/*　////////////////////////////////
ブレイクポイント
//////////////////////////////////　*/
/*　////////////////////////////////
ベースフォント
//////////////////////////////////　*/
/*　////////////////////////////////
カラー
//////////////////////////////////　*/
/*　////////////////////////////////
clearfix[@extend .clearfix];
//////////////////////////////////　*/
.clearfix {
  zoom: 1;
}
.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

/*　////////////////////////////////////////////////////////////////////////////////////////////////
flex include
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
初期値top:50%; left:50%;
[@include set-top();] [@include set-left();]
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*縦中央*/
/*横中央*/
/* -----上下左右中央、%指定で調整可能----- */
/*　////////////////////////////////
flex 設定
//////////////////////////////////　*/
/*　////////////////////////////////
三角形
//////////////////////////////////　*/
/*　////////////////////////////////
矢印
//////////////////////////////////　*/
/*　////////////////////////////////////////////////////////////////////////////////////////////////
font-size
//////////////////////////////////////////////////////////////////////////////////////////////////　*/
/*　////////////////////////////////
汎用style
//////////////////////////////////　*/
.all-wrapper {
  /*　////////////////////////////////
  lower_header
  //////////////////////////////////　*/
}
.all-wrapper .lower_header .lower_main_img {
  max-width: 680px;
  width: 100%;
  height: auto;
  margin: 0 auto 40px;
}
.all-wrapper .lower_header .lower_title {
  margin-bottom: 40px;
  font-size: clamp(2rem, 3.09vw, 2.7rem);
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.2em;
}
.all-wrapper .lower_header .first_txt {
  margin-bottom: 40px;
  text-align: center;
  font-weight: 500;
  font-size: clamp(2.2rem, 4.12vw, 4rem);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .all-wrapper .lower_header .lower_main_img {
    margin: 0 auto 80px;
  }
  .all-wrapper .lower_header .lower_title {
    margin-bottom: 80px;
  }
  .all-wrapper .lower_header .first_txt {
    margin-bottom: 80px;
  }
}

/* all-wrapper */
.recruit_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: 1px solid #664497;
  position: relative;
}
.recruit_box::before, .recruit_box::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #664497;
  border-radius: 50%;
  bottom: -5px;
}
.recruit_box::before {
  left: 0;
}
.recruit_box::after {
  right: 0;
}
.recruit_box .left_box, .recruit_box .right_box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
.recruit_box .left_box {
  margin-bottom: 30px;
}

.recruit_heading {
  color: #664497;
  font-size: clamp(2.4rem, 3.75vw, 3.3rem);
  line-height: 1.4;
  margin-bottom: 30px;
}

.recruit_txt {
  font-size: clamp(1.6rem, 2.29vw, 1.9rem);
  line-height: 2;
}

.recruit_img01 {
  max-width: 380px;
  display: block;
}

.recruit_img02 {
  max-width: 440px;
  display: block;
  margin-left: auto;
}

.job_description .jd_heading {
  text-align: center;
  font-size: clamp(2.2rem, 3.42vw, 3rem);
  color: #fff;
  background: #e95513;
  line-height: 1.4;
  padding: 15px;
  border-radius: 50px;
  margin-bottom: 30px;
}
.job_description .recruit_heading {
  margin-bottom: 20px;
}
.job_description .jd_list {
  margin-bottom: 20px;
}
.job_description .jd_list .dl_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 7px;
}
.job_description .jd_list .dl_row dt, .job_description .jd_list .dl_row dd {
  font-size: 1.5rem;
}
.job_description .jd_list .dl_row dt {
  width: 105px;
  text-indent: -1.2em;
  padding-left: 1.2em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.job_description .jd_list .dl_row dt::before {
  content: "■";
  margin-right: 0.2em;
}
.job_description .jd_list .dl_row dd {
  width: calc(100% - 105px);
}
.job_description .jd_list .dl_row .five_letters {
  letter-spacing: 0;
}
.job_description .contact_txt {
  font-size: clamp(1.8rem, 2.62vw, 2.2rem);
  font-weight: bold;
  line-height: 1.7;
  color: #664497;
}
.job_description .contact_txt a {
  color: #e95513;
}

@media (min-width: 768px) {
  .recruit_box {
    padding-bottom: 80px;
    margin-bottom: 80px;
  }
  .recruit_box .left_box, .recruit_box .right_box {
    width: 50%;
  }
  .recruit_box .right_box {
    padding: 0 40px;
  }
  .recruit_heading {
    margin-bottom: 50px;
  }
  .recruit_img01 {
    margin-left: auto;
  }
  .job_description .jd_heading {
    padding: 20px 15px;
    margin-bottom: 50px;
  }
  .job_description .jd_list {
    margin-bottom: 40px;
  }
  .job_description .contact_txt .tel {
    pointer-events: none;
  }
}