.page_recruitment {
  padding-block: 80px 100px;
}
.page_recruitment .recruitment_div .sec_ttl {
  font-size: 38px;
  font-weight: 600;
  margin-bottom: 100px;
}
.page_recruitment .recruitment_div .type_div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
}
.page_recruitment .recruitment_div .type_div .type {
  font-size: 20px;
  padding-block: 47px;
  text-align: center;
  -webkit-box-shadow: #C4C4C6 3px 2px 7px 0px;
          box-shadow: #C4C4C6 3px 2px 7px 0px;
  margin-bottom: 80px;
  position: relative;
}
.page_recruitment .recruitment_div .type_div .type::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 15px solid #004EA1;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
  top: 45%;
  left: 92%;
}
.page_recruitment .recruitment_div .type_div .hover_opacity {
  opacity: 1;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.page_recruitment .recruitment_div .type_div .hover_opacity:hover {
  opacity: 0.6;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.page_recruitment .article_ttl {
  color: #004EA1;
  font-size: 30px;
  font-weight: 600;
  border-bottom: 2px solid #B5DEFF;
  padding-bottom: 12px;
  margin-bottom: 30px;
}
.page_recruitment .article_subttl {
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 31px;
}
.page_recruitment .article_txt {
  font-size: 16px;
  margin-bottom: 60px;
}
.page_recruitment .occupation_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 60px;
}
.page_recruitment .occupation_list > .occupation_list_item {
  color: #222222;
  font-size: 18px;
  display: inline-block;
  padding: 24px 0;
  border: 1px solid #C4C4C6;
  border-radius: 8px;
  text-align: center;
  -ms-flex-line-pack: center;
      align-content: center;
}
.page_recruitment .occupation_list .hover_opacity {
  opacity: 1;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.page_recruitment .occupation_list .hover_opacity:hover {
  opacity: 0.6;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.page_recruitment .occupation_list.parttime_list {
  grid-template-rows: repeat(2, 1fr);
}
.page_recruitment .requirements_tbl {
  width: 100%;
  border: 1px solid #C4C4C6;
  margin-bottom: 60px;
}
.page_recruitment .requirements_tbl tr {
  display: grid;
  grid-template-columns: 133px auto;
  border-bottom: 1px solid #C4C4C6;
  padding: 25px 45px;
}
.page_recruitment .requirements_tbl tr:last-of-type {
  border-bottom: none;
}
.page_recruitment .requirements_tbl th {
  font-size: 16px;
  font-weight: bold;
  border-right: 1px solid #C4C4C6;
}
.page_recruitment .requirements_tbl td {
  font-size: 16px;
  padding-left: 69px;
}
.page_recruitment .requirements_tbl td > a {
  color: #004EA1;
  text-decoration-line: underline;
  text-decoration-color: #004EA1;
  text-decoration-style: solid;
}
.page_recruitment .parttime_recruit .requirements_tbl tr:nth-of-type(1) td {
  font-weight: 600;
}
.page_recruitment .process {
  width: 100%;
  margin-bottom: 40px;
}
.page_recruitment .process tr {
  display: grid;
  grid-template-columns: 282px auto;
}
.page_recruitment .process tr:nth-of-type(odd) {
  border: 1px solid #C4C4C6;
}
.page_recruitment .process tr:nth-of-type(odd) th {
  background-color: #EBF6FF;
  -ms-flex-line-pack: center;
      align-content: center;
  font-size: 20px;
  font-weight: 600;
}
.page_recruitment .process tr:nth-of-type(odd) td {
  font-size: 16px;
}
.page_recruitment .process tr:nth-of-type(odd) th, .page_recruitment .process tr:nth-of-type(odd) td {
  padding: 25px 0 25px 30px;
}
.page_recruitment .process tr:nth-of-type(even) th {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 20px solid #004EA1;
  border-right: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 14px solid transparent;
  margin: 30px auto 0;
  padding-bottom: 20px;
}
.page_recruitment .process th {
  font-size: 20px;
}
.page_recruitment .btn {
  text-align: center;
  margin-top: 40px;
}
.page_recruitment .btn .entry_btn {
  display: inline-block;
  color: white;
  font-size: 22px;
  font-weight: 600;
  background-color: #004EA1;
  border-radius: 8px;
  padding: 21px 90px;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.page_recruitment .btn .entry_btn::before {
  content: "";
  position: absolute;
  width: 20px;
  border-top: 1px solid white;
  left: 18px;
  top: 50%;
}
.page_recruitment .btn .entry_btn::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  left: 27px;
  top: 43.5%;
}
.page_recruitment .graduate_recruit, .page_recruitment .parttime_recruit {
  padding-top: 90px;
}
.page_recruitment .occupation_detail {
  background-color: #EBF6FF;
}
.page_recruitment .occupation_detail .occupation_detail_div {
  padding: 63px 0;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single {
  scroll-margin-top: 150px;
  background-color: white;
  padding: 50px;
  margin-bottom: 60px;
  border-radius: 12px;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_ttl {
  color: #004EA1;
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 40px;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_h4 {
  font-size: 22px;
  font-weight: 600;
  border-bottom: 1px solid #C4C4C6;
  padding-bottom: 21px;
  margin-bottom: 20px;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_h4::before {
  content: "";
  border-left: 3px solid #559FED;
  margin-right: 25px;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_h5 {
  font-size: 20px;
  margin-bottom: 20px;
  font-weight: 600;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_txt {
  font-size: 16px;
  margin-bottom: 30px;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_txt:has(+ .entry_btn) {
  margin-bottom: 40px;
}
.page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_txt a {
  color: #004EA1;
  text-decoration-line: underline;
  text-decoration-color: #004EA1;
  text-decoration-style: solid;
}
@media (max-width: 768px) {
  .page_recruitment {
    padding-block: 40px 60px;
  }
  .page_recruitment .recruitment_div .sec_ttl {
    font-size: 24px;
    margin-bottom: 50px;
  }
  .page_recruitment .recruitment_div .type_div {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
  .page_recruitment .recruitment_div .type_div .type {
    font-size: 18px;
    padding-block: 19px;
    -webkit-box-shadow: #C4C4C6 3px 2px 7px 0px;
            box-shadow: #C4C4C6 3px 2px 7px 0px;
    margin-bottom: 0px;
    position: relative;
  }
  .page_recruitment .recruitment_div .type_div .type:last-of-type {
    margin-bottom: 60px;
  }
  .page_recruitment .recruitment_div .type_div .type::after {
    border-left: 10px solid #004EA1;
    border-right: 10px solid transparent;
    border-bottom: 7px solid transparent;
    border-top: 7px solid transparent;
    top: 40%;
    left: 92%;
  }
  .page_recruitment .article_ttl {
    font-size: 20px;
    font-weight: 600;
    border-bottom: 1px solid #B5DEFF;
  }
  .page_recruitment .article_subttl {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .page_recruitment .article_txt {
    font-size: 14px;
    margin-bottom: 40px;
  }
  .page_recruitment .occupation_list {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 20px;
  }
  .page_recruitment .occupation_list .occupation_list_item {
    font-size: 16px;
    padding: 18px 0;
  }
  .page_recruitment .occupation_list.parttime_list {
    grid-template-rows: auto;
  }
  .page_recruitment .requirements_tbl {
    margin-bottom: 40px;
  }
  .page_recruitment .requirements_tbl tr {
    grid-template-columns: 1fr;
    padding: 0px 0px;
  }
  .page_recruitment .requirements_tbl th {
    font-size: 14px;
    background-color: #F0F0F0;
    padding: 15px 17px;
    border-right: none;
  }
  .page_recruitment .requirements_tbl td {
    font-size: 14px;
    padding: 15px 17px;
  }
  .page_recruitment .process {
    width: 100%;
    margin-bottom: 20px;
  }
  .page_recruitment .process tr {
    grid-template-columns: 1fr;
  }
  .page_recruitment .process tr:nth-of-type(odd) th {
    background-color: #EBF6FF;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .page_recruitment .process tr:nth-of-type(odd) th, .page_recruitment .process tr:nth-of-type(odd) td {
    padding: 15px 20px;
    font-size: 14px;
  }
  .page_recruitment .process tr:nth-of-type(even) th {
    border-top: 13px solid #004EA1;
    border-right: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    margin: 15px auto 5px;
    padding-bottom: 0px;
  }
  .page_recruitment .entry_btn {
    font-size: 18px;
    padding: 18px 90px;
    max-width: 304px;
  }
  .page_recruitment .entry_btn::before {
    width: 20px;
    left: 18px;
    top: 50%;
  }
  .page_recruitment .entry_btn::after {
    width: 10px;
    height: 10px;
    left: 27px;
    top: 43.5%;
  }
  .page_recruitment .career_recruit {
    padding-bottom: 20px;
  }
  .page_recruitment .graduate_recruit,
  .page_recruitment .parttime_recruit {
    padding-top: 60px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div {
    padding: 40px 0;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single {
    padding: 30px 20px 50px;
    margin-bottom: 40px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single:last-of-type {
    margin-bottom: 0;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_ttl {
    font-size: 20px;
    margin-bottom: 30px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_h4 {
    font-size: 18px;
    padding-bottom: 11px;
    margin-bottom: 15px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_h4::before {
    content: "";
    margin-right: 16px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_h5 {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_txt {
    font-size: 14px;
  }
  .page_recruitment .occupation_detail .occupation_detail_div .detail_single .article_txt:has(+ .entry_btn) {
    margin-bottom: 50px;
  }
}/*# sourceMappingURL=recruitment.css.map */