@charset "UTF-8";
/*@function vw($size, $viewport:1920) {
  $rate: 100 / $viewport;
  @return $rate * $size * 1vw;
}*/
.bluebox, .sub_personnel_development_box04, .sub_personnel_development_box01, .sub_quality_sec .inbox, .sub_iso26000_container_bg .inbox, .sub_management_philosophy_container01_box .inbox {
  border: 1px solid #074e9b;
  border-radius: 20px;
  background-color: #f9f9f9;
}

ol.ollist > li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
  margin: 0;
  padding: 0 0 0 2.5em;
  line-height: 1.6;
  font-size: 1.8rem;
}
ol.ollist > li::before {
  content: "0" counter(cnt) ".";
  color: #004ea2;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: "Roboto", serif;
  position: absolute;
  top: 0.05em;
  left: 0;
  line-height: 1.3;
}
ol.ollist > li:not(:last-child) {
  margin-bottom: 1rem;
}

ul.ullist li {
  position: relative;
  padding-left: calc(10px + 0.5em);
}
ul.ullist li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0px;
  width: 10px;
  height: 10px;
  background: #004ea2;
  border-radius: 50%;
}
ul.ullist li:not(:last-child) {
  margin-bottom: 1rem;
}

.management_philosophy .common_w_inner {
  background: url(../images/sustainability_philosophy/management_philosophy_mainimg.jpg) no-repeat center center;
  background-size: cover;
}
.management_philosophy .common_w_inner .common_en01 {
  text-align: center;
}
@media screen and (max-width: 1294px) {
  .management_philosophy .common_w_inner .common_en01 br.sp {
    display: block;
  }
}

/* iso26000 */
.iso26000 .common_w_inner {
  background: url(../images/iso26000/iso26000_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

/* quality */
.quality .common_w_inner {
  background: url(../images/quality/quality_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

/* personnel_development */
.personnel_development .common_w_inner {
  background: url(../images/personnel_development/personnel_development_mainimg.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 1294px) {
  .personnel_development .common_w_inner .common_en01 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 980px) {
  .personnel_development .common_w_inner .common_en01 {
    font-size: 5.6rem;
  }
}
@media screen and (max-width: 820px) {
  .personnel_development .common_w_inner .common_en01 {
    text-align: center;
  }
}
@media screen and (max-width: 820px) {
  .personnel_development .common_w_inner .common_en01 br {
    display: block;
  }
}

/* education_partnerships */
.education_partnerships .common_w_inner {
  background: url(../images/education_partnerships/education_partnerships_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

/* sustainability */
.sub_sustainability_insec {
  padding: 3.5rem 0 6.5rem 0;
}

.sub_sustainability_ttl {
  margin-bottom: 4rem;
}
.sub_sustainability_ttl .common_en01 {
  color: #f5f7fb;
  font-size: 8.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1;
  word-break: auto-phrase;
}
.sub_sustainability_ttl .h3_ttl {
  color: #004ea2;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.sustainability .common_sub_item_box {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sustainability .common_sub_item_box .common_sub_item_sn {
  width: auto;
}

.sustainability .common_sub_item_box.inone {
  display: block;
}
.sustainability .common_sub_item_box.inone .common_sub_item_sn_name {
  text-align: center;
}
.sustainability .common_sub_item_box.inone a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.sustainability .common_sub_item_box.inone .common_sub_item_sn_img img {
  transition: all 0.5s ease-out;
}
.sustainability .common_sub_item_box.inone a:hover .common_sub_item_sn_img img {
  transform: scale(1.1, 1.1);
}

.sustainability .common_sub_item_box.intwo {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* csr_top_message */
.csr_top_message .common_w_inner {
  background: url(../images/csr_top_message/csr_top_message_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.sub_csr_top_message_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 5rem;
}
.sub_csr_top_message_box_disc {
  width: 55%;
}
.sub_csr_top_message_box_disc .common_txt01 {
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_csr_top_message_box_disc .common_txt01:not(:last-child) {
  margin-bottom: 3rem;
}
.sub_csr_top_message_box_img {
  width: 38.33%;
  width: 39%;
}
.sub_csr_top_message_box_img img {
  width: 100%;
}
.sub_csr_top_message_box_name {
  margin-top: 4rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.sub_csr_top_message_box_name .bf_txt {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-right: 2rem;
  display: inline-block;
}

.management_philosophy .common_sub_menu_box01 ul {
  margin: 0 0 4rem 0;
}
.management_philosophy .common_sub_menu_box01 ul li {
  width: calc((100% - 6rem) / 3);
}
.management_philosophy .common_sub_menu_box01 ul li a {
  padding-left: 1em;
  padding-right: 1em;
}
.management_philosophy .common_sub_menu_box01 ul li a .btn_txt {
  line-height: 1.4;
}
.management_philosophy .common_sub_menu_box01 ul li a::after {
  right: 30px;
}

.sub_management_philosophy_container_bg {
  padding: 5rem 0 4rem 0;
}
.sub_management_philosophy_container01_box {
  margin-top: 10rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
}
.sub_management_philosophy_container01_box .inbox {
  padding: 4rem 5.5rem;
}
.sub_management_philosophy_container01_box .inbox:nth-child(3), .sub_management_philosophy_container01_box .inbox:nth-child(4) {
  grid-column: 1/-1;
  align-self: start;
}
.sub_management_philosophy_container01_box .inbox .ollist {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.sub_management_philosophy_container01_box .inttl {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 4rem;
}
.sub_management_philosophy_container01_box .common_txt01 {
  line-height: 2.1;
}
.sub_management_philosophy_container01_box .bigtxt {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub_management_philosophy_container01_img01 {
  text-align: center;
  margin: 5rem 0 0 0;
}
.sub_management_philosophy_container01_txt01 {
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_management_philosophy_container02_box {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
}
.sub_management_philosophy_container02_box .inbox {
  border: 1px solid #074e9b;
  border-radius: 20px;
  background-color: #f5f7fb;
  padding: 4rem 5.5rem;
  position: relative;
}
.sub_management_philosophy_container02_box .inbox::before {
  content: "";
  position: absolute;
  top: calc(50% - 26px);
  left: -60px;
  border-style: solid;
  border-width: 26px 60px 26px 0;
  border-color: transparent #004ea2 transparent transparent;
}
@media screen and (max-width: 820px) {
  .sub_management_philosophy_container02_box .inbox::before {
    top: calc(42% - 26px);
  }
}
.sub_management_philosophy_container02_box .inbox::after {
  content: "";
  position: absolute;
  top: calc(50% - 25px);
  left: -58px;
  border-style: solid;
  border-width: 25px 58px 25px 0;
  border-color: transparent #f9f9f9 transparent transparent;
}
@media screen and (max-width: 820px) {
  .sub_management_philosophy_container02_box .inbox::after {
    top: calc(42% - 25px);
  }
}
.sub_management_philosophy_container02_box .inbox .ollist > li {
  font-weight: 700;
  font-size: 2rem;
}
.sub_management_philosophy_container02_box .inbox .ollist > li .ullist {
  margin: 1rem 0 2rem 0;
}
.sub_management_philosophy_container02_box .inbox .ollist > li .ullist li {
  font-weight: 400;
  font-size: 1.8rem;
}
.sub_management_philosophy_container02_box .inbox .ollist > li .ullist li:not(:last-child) {
  margin-bottom: 0.2em;
}
.sub_management_philosophy_container02_box .inleft .common_btn01 {
  width: 38rem;
  height: 7rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_management_philosophy_container02_box .inttl {
  text-align: center;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 4rem;
}
.sub_management_philosophy_container02_box .common_txt01 {
  line-height: 2.1;
}
.sub_management_philosophy_container02_box .bigtxt {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 35.8rem;
}
.sub_management_philosophy_container02_txt01 {
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_management_philosophy_container02_img01 {
  margin: 5rem 0;
  text-align: center;
}
.sub_management_philosophy_container03_box {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
}
@media screen and (max-width: 820px) {
  .sub_management_philosophy_container03_box {
    display: block;
  }
}
.sub_management_philosophy_container03_box .inbox {
  border-radius: 20px;
  background-color: #e8f0f8;
  padding: 4rem 5rem;
}
.sub_management_philosophy_container03_box .inbox .common_en01 {
  position: relative;
  padding-left: 45px;
  color: #004ea2;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_management_philosophy_container03_box .inbox .common_en01::before {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid #004ea2;
  background-color: #fff;
}
.sub_management_philosophy_container03_box .inbox .common_en01::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  left: 12px;
  width: 22px;
  height: 1px;
  background: #004ea2;
}
.sub_management_philosophy_container03_box .inbox .catch {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  color: #004ea2;
}
@media screen and (max-width: 980px) {
  .sub_management_philosophy_container03_box .inbox .catch br {
    display: none;
  }
}
@media screen and (max-width: 820px) {
  .sub_management_philosophy_container03_box .inbox:first-child {
    margin-bottom: 4rem;
  }
}
.sub_management_philosophy_container03_box .inbox .inttl {
  display: table;
  margin-left: auto;
  margin-right: auto;
}

.sub_iso26000_container_bg {
  padding: 5rem 0 4rem 0;
}
.sub_iso26000_container_bg .insec {
  margin-bottom: 4rem;
}
.sub_iso26000_container_bg .h4_ttl {
  color: #004ea2;
  position: relative;
  padding-left: 20px;
  font-weight: 700;
  line-height: 1.2;
  margin: 3.5rem 0 2rem 0;
  font-size: 2rem;
}
.sub_iso26000_container_bg .h4_ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: #004ea2;
}
.sub_iso26000_container_bg .h4_ttl + .h5_ttl {
  margin: 0 0 0.5rem 0;
}
.sub_iso26000_container_bg .h5_ttl {
  margin: 4rem 0 0.5rem 0;
}
.sub_iso26000_container_bg .list {
  margin-top: 1.5rem;
}
.sub_iso26000_container_bg .list li {
  position: relative;
  padding-left: calc(15px + 0.5em);
  font-weight: 500;
}
.sub_iso26000_container_bg .list li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  left: 0px;
  width: 9px;
  height: 9px;
  background: #354362;
  border-radius: 50%;
}
.sub_iso26000_container_bg .list li:not(:last-child) {
  margin-bottom: 1rem;
}
.sub_iso26000_container_bg .intxt {
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 2.25;
}
.sub_iso26000_container_bg .intxt .boldtxt {
  font-weight: 700;
  color: #004ea2;
}
.sub_iso26000_container_bg .inbox {
  padding: 3.5rem 5rem 4rem 5rem;
  margin-top: 5rem;
}
.sub_iso26000_container_bg .inbox_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 32px;
  margin-bottom: 2rem;
}
.sub_iso26000_container_bg .inbox_ttl::before {
  content: "";
  position: absolute;
  top: calc(50% - 1.5px);
  left: 0;
  width: 22px;
  height: 3px;
  background: #004ea2;
}
.sub_iso26000_container_bg .inbox ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem 3rem;
}
.sub_iso26000_container_bg .inbox ul li figure {
  display: flex;
  align-items: center;
}
.sub_iso26000_container_bg .inbox ul li figure figcaption {
  margin-left: 2.5rem;
}
.sub_iso26000_mainbox {
  display: flex;
  flex-wrap: wrap;
}
.sub_iso26000_mainbox_txt01 {
  line-height: 2.25;
  letter-spacing: 0.05em;
}
.sub_iso26000_mainbox .common_sub_menu_box01 ul {
  flex-wrap: wrap;
}
.sub_iso26000_mainbox .common_sub_menu_box01 ul li:not(:last-child) {
  width: calc((100% - 3rem) / 3);
  margin-bottom: 3rem;
}
@media screen and (max-width: 980px) {
  .sub_iso26000_mainbox .common_sub_menu_box01 ul li:not(:last-child) {
    width: calc((100% - 1.5rem) / 2);
  }
}
.sub_iso26000_mainbox .common_sub_menu_box01 ul li:last-child {
  width: 100%;
}
.sub_iso26000_mainbox .common_sub_menu_box01 ul li a:after {
  right: 20px;
}
.sub_iso26000_mainbox .inleft {
  /*max-width: vw(630);*/
  margin-right: 9rem;
  width: calc(60% - 9rem);
}
@media screen and (max-width: 1294px) {
  .sub_iso26000_mainbox .inleft {
    margin-right: 6rem;
    width: calc(60% - 6rem);
  }
}
.sub_iso26000_mainbox figure {
  /*width: calc(100% - 72rem);*/
  margin-top: 2rem;
  width: 40%;
}

.sub_quality_sec:not(:last-child) {
  margin-bottom: 9rem;
}
.sub_quality_sec .h3_ttl {
  background: #004ea2;
  color: #fff;
  border-radius: 9999px;
  margin-bottom: 5rem;
  display: table;
  margin-left: auto;
  margin-right: auto;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0.5rem 7rem;
}
.sub_quality_sec .h4_ttl {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 2rem 0 1rem 0;
}
.sub_quality_sec .h5_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0 1rem 0;
}
.sub_quality_sec .intxt {
  line-height: 2.25;
  letter-spacing: 0.05em;
  margin-bottom: 3.5rem;
}
.sub_quality_sec .inbox {
  padding: 4rem 4.5rem;
  flex-grow: 1;
}
.sub_quality_sec .inbox ul.ullist + .txt01 {
  margin-top: 0.5em;
}
.sub_quality_sec .inbox ul.ullist li:not(:last-child) {
  margin-bottom: 0.2em;
}
.sub_quality_sec .inbox .txt01 {
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.sub_quality_sec .inbox .txt01 + .txt01 {
  margin-top: 0.5em;
}
.sub_quality_read {
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 7rem;
}
.sub_quality_flex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5.5rem 4rem;
}
.sub_quality_flex .box {
  margin-top: 2.7rem;
  display: flex;
  flex-direction: column;
}
.sub_quality_flex .box figure {
  position: relative;
}
.sub_quality_flex .box figure::before {
  content: "";
  position: absolute;
  top: -2.7rem;
  left: 2rem;
  width: 7.4rem;
  height: 7.4rem;
}
.sub_quality_flex .box.box01 figure::before {
  background: url(../images/quality/quality_snimg01.png) no-repeat left top;
  background-size: contain;
}
.sub_quality_flex .box.box02 figure::before {
  background: url(../images/quality/quality_snimg02.png) no-repeat left top;
  background-size: contain;
}
.sub_quality_flex .box.box03 figure::before {
  background: url(../images/quality/quality_snimg03.png) no-repeat left top;
  background-size: contain;
}
.sub_quality_flex .box.box04 figure::before {
  background: url(../images/quality/quality_snimg04.png) no-repeat left top;
  background-size: contain;
}
.sub_quality_flex .box.box05 figure::before {
  background: url(../images/quality/quality_snimg05.png) no-repeat left top;
  background-size: contain;
}
.sub_quality_box02 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 5rem;
}
.sub_quality_box02 .img01 {
  width: 36rem;
  text-align: center;
}
.sub_quality_box02 .img01 > img {
  max-width: 24rem;
}
.sub_quality_box02 .img01 a {
  display: table;
  margin-left: auto;
  margin-right: auto;
  border: none;
  position: relative;
}
.sub_quality_box02 .img01 a img {
  max-width: calc(18rem + 60px);
  padding-right: 60px;
}
.sub_quality_box02 .img01 a::after {
  content: inherit;
}
.sub_quality_box02 .img01 a .btn_zoom {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 40px;
  height: 40px;
  display: block;
  margin-left: 15px;
  cursor: pointer;
}
.sub_quality_box02 .img01 a .btn_zoom::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0px;
  width: 40px;
  height: 40px;
  background: url(../images/common/icon_zoom.svg) no-repeat left top;
  background-size: contain;
}
.sub_quality_box02 .img01 a:hover {
  opacity: 0.7;
}
.sub_quality_box02 .right_box {
  width: calc(100% - 39rem);
}
.sub_quality_box02 .right_box .txt01 {
  line-height: 2.25;
  letter-spacing: 0.05em;
}
.sub_quality_box02 .right_box .common_btn01 {
  width: 38rem;
  height: 7rem;
  margin-top: 4rem;
}

.sub_personnel_development_sec:not(:last-child) {
  margin-bottom: 9rem;
}
.sub_personnel_development_sec .h3_ttl {
  background: #004ea2;
  color: #fff;
  border-radius: 9999px;
  margin-bottom: 3rem;
  display: table;
  margin-left: auto;
  margin-right: auto;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  padding: 0.5rem 6.5rem;
  min-width: 36rem;
  text-align: center;
}
.sub_personnel_development_read {
  margin-bottom: 4rem;
}
.sub_personnel_development_read + .h3_ttl {
  margin-top: 5rem;
}
.sub_personnel_development_read .txt01 {
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.sub_personnel_development_read .txt01 + .txt01 {
  margin-top: 1.5em;
}
.sub_personnel_development_box01 {
  margin-top: 7rem;
  padding: 6rem 1.4rem;
}
.sub_personnel_development_box01 .txt01 {
  letter-spacing: 0.05em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2rem;
}
.sub_personnel_development_box01 .h3_ttl {
  margin-bottom: 2rem;
}
.sub_personnel_development_box01 .img01 {
  margin-bottom: 2.5rem;
}
.sub_personnel_development_box01 .flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 7.6rem;
}
.sub_personnel_development_box01 .inbox {
  width: calc((100% - 6rem) / 3);
}
.sub_personnel_development_box01 .inbox .ttl {
  text-align: center;
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 4.8em;
}
@media screen and (max-width: 1088px) {
  .sub_personnel_development_box01 .inbox .ttl {
    min-height: 6.4em;
  }
}
.sub_personnel_development_box01 .inbox .ttl .bigtxt {
  font-size: 2rem;
}
.sub_personnel_development_box01 .inbox .txt02 {
  letter-spacing: 0.05em;
  flex-grow: 1;
}
.sub_personnel_development_box02 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.sub_personnel_development_box02 .left_box {
  width: 50%;
}
.sub_personnel_development_box02 .left_box .txt_box .txt01 {
  letter-spacing: 0.05em;
  line-height: 2.25;
}
.sub_personnel_development_box02 .left_box .txt_box .txt01 + .txt01 {
  margin-top: 1.5em;
}
.sub_personnel_development_box02 figure {
  width: 50%;
  text-align: right;
}
.sub_personnel_development_box03 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin-bottom: 7rem;
}
.sub_personnel_development_box03 .inbox figure img {
  border-radius: 20px;
}
.sub_personnel_development_box03 .inbox figure figcaption {
  margin-top: 1.5rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_personnel_development_box04 {
  padding: 4rem 5rem 5rem 5rem;
}
.sub_personnel_development_box04 .ttl {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 3.5rem;
}
.sub_personnel_development_box04 .list {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.sub_personnel_development_box04 .list .ullist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem 10rem;
}
.sub_personnel_development_box04 .list .ullist li {
  font-weight: 700;
}
.sub_personnel_development_box04 .common_btn01 {
  width: 38rem;
  height: 7rem;
  margin-top: 3.5rem;
  margin-left: auto;
  margin-right: auto;
}

.sub_education_partnerships_sec:not(:last-child) {
  margin-bottom: 5rem;
}
.sub_education_partnerships_read {
  margin-bottom: 8rem;
}
.sub_education_partnerships_read .in_txt {
  line-height: 2.25;
  letter-spacing: 0.05em;
}
.sub_education_partnerships_read .in_txt + .in_txt {
  margin-top: 3rem;
}
.sub_education_partnerships_list ul {
  display: flex;
  flex-wrap: wrap;
}
.sub_education_partnerships_list ul li {
  width: calc((100% - 4rem) / 2);
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.sub_education_partnerships_list ul li:nth-child(2n+1) {
  margin-right: 4rem;
}
.sub_education_partnerships_list_img {
  margin-bottom: 2.5rem;
  border-radius: 20px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
}
.sub_education_partnerships_list_img a {
  aspect-ratio: 1200/628;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 20px;
}
.sub_education_partnerships_list_img a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 78, 162, 0.3), rgba(20, 182, 242, 0.3));
  opacity: 0;
  transition: all 0.5s ease-out;
  z-index: 2;
}
.sub_education_partnerships_list_img a img {
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
  transition: all 0.5s ease-out;
}
.sub_education_partnerships_list_img a:hover::before {
  opacity: 1;
}
.sub_education_partnerships_list_img a:hover img {
  transform: scale(1.1, 1.1);
}
.sub_education_partnerships_list_ttl {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_education_partnerships_list_ttl a {
  color: #354362;
}
.sub_education_partnerships_list_date {
  color: #004ea2;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 0.5rem;
}
.sub_education_partnerships_menu ul {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  margin-bottom: 7rem;
}
.sub_education_partnerships_menu ul li {
  width: calc((100% - 4rem) / 2);
}
.sub_education_partnerships_menu ul li .in_btn {
  background-color: #004ea2;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border-radius: 9999px;
  height: 6rem;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.sub_education_partnerships_menu ul li .in_btn .btn_txt {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
}
.sub_education_partnerships_menu ul li a {
  border: 1px solid #004ea2;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  border-radius: 9999px;
  height: 6rem;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.sub_education_partnerships_menu ul li a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.sub_education_partnerships_menu ul li a .btn_txt {
  color: #004ea2;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 1.8rem;
}
.sub_education_partnerships_menu ul li a .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 3rem;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 2;
}
.sub_education_partnerships_menu ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background-color: #004ea2;
  border-radius: 9999px;
}
.sub_education_partnerships_menu ul li a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background-color: #004ea2;
}

/* recruit共通 */
.recruit_hd_btn.pc {
  position: fixed;
  right: 0;
  top: 3rem;
  width: 14rem;
  /*1536~1679
  @media screen and (max-width: 1679px) {
  }*/
  /*1366~1535*/
}
@media screen and (max-width: 1535px) {
  .recruit_hd_btn.pc {
    width: 12rem;
  }
}
.recruit_hd_btn.pc {
  /*1280~1365*/
}
@media screen and (max-width: 1365px) {
  .recruit_hd_btn.pc {
    top: 2rem;
    width: 10rem;
  }
}
.recruit_hd_btn.pc a {
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  transition: 0.3s;
}
.recruit_hd_btn.pc a img {
  width: 100%;
}
.recruit_hd_btn.pc a:hover {
  opacity: 0.9;
  box-shadow: none;
  transition: 0.3s;
}

.recruit_hd_btn02 {
  margin-top: 1rem;
}

.recruit_ft {
  margin-top: 3rem;
  padding: 7.5rem 0 7rem 0;
  display: flex;
  justify-content: center;
  background: url(../images/recruit/recruit_ft_bk.png) no-repeat center top;
  background-size: cover;
}
.recruit_ft_ttl {
  text-align: center;
  position: relative;
  margin-bottom: 3rem;
}
.recruit_ft_ttl .common_en01 {
  color: #1f95d6;
  font-size: 18.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
}
.recruit_ft_ttl .h2_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 3.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  white-space: nowrap;
}
.recruit_ft_ct {
  background-color: #fff;
  border-radius: 20px;
  padding: 3.5rem 8rem 3.5rem 4rem;
  position: relative;
  box-sizing: border-box;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.recruit_ft_ct .txt {
  line-height: 2.25;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: 27rem;
}
@media screen and (max-width: 820px) {
  .recruit_ft_ct .txt {
    margin-left: 24rem;
  }
}
.recruit_ft_ct .txt .blue_txt {
  color: #004ea2;
}
.recruit_ft_ct figure {
  position: absolute;
  top: -4rem;
  left: 4rem;
  width: 19.6rem;
}
.recruit_ft_btn {
  margin-top: 5rem;
  margin-left: auto;
  margin-right: auto;
  width: 48rem;
  height: 9rem;
}
.recruit_ft_btn a {
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(to right, #e67f46, #e64661);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 6px 13px 0 rgba(8, 24, 46, 0.4);
  position: relative;
  overflow: hidden;
}
.recruit_ft_btn a::before {
  background: linear-gradient(to right, #e64661, #e67f46);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.recruit_ft_btn a:hover {
  box-shadow: none;
}
.recruit_ft_btn a:hover::before {
  opacity: 0;
}
.recruit_ft_btn a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.recruit_ft_btn a .btn_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
}
.recruit_ft_btn a .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 5rem;
  top: 50%;
  transform: translate(0, -50%);
}
.recruit_ft_btn a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}
.recruit_ft_btn a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}

/* recruit_message */
.recruit-message .common_w_inner {
  background: url(../images/recruit_message/recruit_message_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.sub_recruit_message_bg {
  background: url(../images/recruit_message/recruit_message_bk.png) no-repeat left top;
  background-size: cover;
  border-radius: 20px;
  max-width: 1400px;
  width: calc(100% - 6rem);
  display: flex;
  justify-content: center;
  padding: 9rem 0;
}
.sub_recruit_message_ttl {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 7rem;
}
@media screen and (max-width: 820px) {
  .sub_recruit_message_ttl {
    font-size: 3.4rem;
  }
}
.sub_recruit_message_box {
  display: flex;
  justify-content: space-between;
}
.sub_recruit_message_box_disc {
  width: 59%;
}
.sub_recruit_message_box_disc .common_txt01 {
  line-height: 2;
}
.sub_recruit_message_box_disc .common_txt01 + .common_txt01 {
  margin-top: 2rem;
}
.sub_recruit_message_box_img {
  width: 37%;
}
.sub_recruit_message_box_img > img {
  width: 100%;
}
.sub_recruit_message_box_img figure figcaption {
  margin-top: 2.5rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_recruit_message_box_img figure figcaption img {
  margin-left: 1.5rem;
}
@media screen and (max-width: 820px) {
  .sub_recruit_message_box_img figure figcaption img {
    max-width: 140px;
  }
}

/* occupation */
.occupation .common_w_inner {
  background: url(../images/recruit_occupation/occupation_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.sub_occupation_container01_bg {
  padding: 7rem 0 7rem 0;
  display: flex;
  justify-content: center;
}
.sub_occupation_container01_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_occupation_container01_box figure {
  width: 43.08%;
}
.sub_occupation_container01_box figure img {
  width: 100%;
}
.sub_occupation_container01_disc {
  width: 52.08%;
}
.sub_occupation_container01_disc .h2_ttl {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
}
@media screen and (max-width: 980px) {
  .sub_occupation_container01_disc .h2_ttl br {
    display: none;
  }
}
.sub_occupation_container01_disc .common_txt01 {
  font-weight: 500;
  line-height: 2.25;
}
.sub_occupation_container01_disc .common_txt01 .blue_txt {
  color: #004ea2;
  font-weight: 700;
}

.sub_occupation_container02_bg {
  background-color: #f3fafd;
  padding: 12rem 0;
  display: flex;
  justify-content: center;
}
.sub_occupation_container02_bg .h2_ttl {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 10rem;
}
.sub_occupation_container02_list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8rem 4rem;
}
.sub_occupation_container02_list_in {
  position: relative;
  border: 1px solid #a4c9e5;
  padding: 8.5rem 5.5rem 3rem 5.5rem;
  background-color: #fff;
  border-radius: 20px;
}
.sub_occupation_container02_list_in::before {
  content: "";
  position: absolute;
  top: -5.2rem;
  left: calc(50% - 6.1rem);
  width: 12.2rem;
  height: 12.2rem;
}
.sub_occupation_container02_list_in .h3_ttl {
  color: #004ea2;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 2rem;
}
.sub_occupation_container02_list_in .txt {
  line-height: 2.25;
  letter-spacing: 0.05em;
}
.sub_occupation_container02_list_in.list01::before {
  background: url(../images/recruit_occupation/occupation_icon01.png) no-repeat left top;
  background-size: contain;
}
.sub_occupation_container02_list_in.list02::before {
  background: url(../images/recruit_occupation/occupation_icon02.png) no-repeat left top;
  background-size: contain;
}
.sub_occupation_container02_list_in.list03::before {
  background: url(../images/recruit_occupation/occupation_icon03.png) no-repeat left top;
  background-size: contain;
}
.sub_occupation_container02_list_in.list04::before {
  background: url(../images/recruit_occupation/occupation_icon04.png) no-repeat left top;
  background-size: contain;
}
.sub_occupation_container02_list_in.list05::before {
  background: url(../images/recruit_occupation/occupation_icon05.png) no-repeat left top;
  background-size: contain;
}
.sub_occupation_container02_list_in.list06::before {
  background: url(../images/recruit_occupation/occupation_icon06.png) no-repeat left top;
  background-size: contain;
}

.sub_occupation_container03_bg {
  padding: 12rem 0 9rem 0;
  display: flex;
  justify-content: center;
}
.sub_occupation_container03_bg ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
}
.sub_occupation_container03_bg ul li a {
  width: 100%;
  height: 8rem;
  border-radius: 9999px;
  background: linear-gradient(to right, #14b6f2, #004ea2);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  position: relative;
  overflow: hidden;
}
.sub_occupation_container03_bg ul li a::before {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.sub_occupation_container03_bg ul li a:hover::before {
  opacity: 0;
}
.sub_occupation_container03_bg ul li a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.sub_occupation_container03_bg ul li a .icon_txt {
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 53px;
  padding-right: 25px;
}
.sub_occupation_container03_bg ul li a .icon_txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.sub_occupation_container03_bg ul li a .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translate(0, -50%);
}
.sub_occupation_container03_bg ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}
.sub_occupation_container03_bg ul li a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}
.sub_occupation_container03_bg ul li:nth-child(1) .icon_txt::before {
  background: url(../images/recruit_occupation/occupation_link01.png) no-repeat left top;
  background-size: contain;
  width: 37px;
  height: 25px;
}
.sub_occupation_container03_bg ul li:nth-child(2) .icon_txt::before {
  background: url(../images/recruit_occupation/occupation_link02.png) no-repeat left top;
  background-size: contain;
  width: 48px;
  height: 32px;
}
.sub_occupation_container03_bg ul li:nth-child(3) .icon_txt::before {
  background: url(../images/recruit_occupation/occupation_link03.png) no-repeat left top;
  background-size: contain;
  width: 40px;
  height: 35px;
}
.sub_occupation_container03_bg ul li.recruit_link04 .icon_txt::before {
  background: url(../images/training/recruit_link04.png) no-repeat left top;
  background-size: contain;
  width: 24px;
  height: 46px;
}

/* interview */
.interview .common_w_inner {
  background: url(../images/interview/interview_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.sub_education_partnerships_menu + .sub_interview_list {
  margin-top: 10rem;
}

.common_sub_h2_ttl + .sub_interview_list {
  margin-top: 4.5rem;
}

.sub_interview_list ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 3rem;
}
.sub_interview_list ul li {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
}
.sub_interview_list ul li a {
  display: block;
}
.sub_interview_list ul li a:hover {
  opacity: 0.7;
}
.sub_interview_list ul li a img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 726/401;
}
.sub_interview_list_in {
  background-color: #fff;
  padding: 2rem 3.5rem;
}
.sub_interview_list_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
.sub_interview_list_txt {
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #53769b;
}
.sub_interview_list_name {
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #004ea2;
}

.sub_interview_detail_container01_bg {
  padding: 7rem 0 0 0;
  display: flex;
  justify-content: center;
}
.sub_interview_detail_container02_bg {
  padding: 8rem 0 10rem 0;
  display: flex;
  justify-content: center;
}
.sub_interview_detail_main {
  z-index: 2;
  position: relative;
  display: flex;
  justify-content: center;
}
.sub_interview_detail_main > .common_en01 {
  position: absolute;
  top: -2rem;
  left: 0;
  color: #e9f4ff;
  font-size: 12.8rem;
  letter-spacing: 0.07em;
  font-weight: 500;
  line-height: 1;
  z-index: 2;
}
@media screen and (max-width: 1260px) {
  .sub_interview_detail_main > .common_en01 {
    font-size: 9rem;
    top: -1rem;
  }
}
.sub_interview_detail_main_box {
  margin-top: 4.5rem;
  position: relative;
  display: flex;
}
.sub_interview_detail_main_box .img {
  width: 63.33%;
  overflow: hidden;
}
.sub_interview_detail_main_box .img img {
  aspect-ratio: 726/401;
  border-radius: 20px;
  width: 100%;
  max-width: inherit;
  object-fit: cover;
}
.sub_interview_detail_main_box .disc {
  width: calc(36.67% + 8rem);
  margin-top: 18rem;
  background-color: #0050a3;
  min-width: 52rem;
  border-radius: 20px;
  padding: 4rem 6rem;
  position: relative;
  z-index: 3;
  margin-right: -8rem;
}
@media screen and (max-width: 1260px) {
  .sub_interview_detail_main_box .disc {
    min-width: inherit;
    width: calc(36.67% + 15rem);
    margin-right: -15rem;
    padding: 3rem 4rem;
  }
}
.sub_interview_detail_main_box .disc::after {
  background: url(../images/interview_detail/interview_detail_design01.png) no-repeat left top;
  background-size: contain;
  content: "";
  position: absolute;
  right: -5.5rem;
  top: -10.6rem;
  width: 24.3rem;
  height: 18.7rem;
}
.sub_interview_detail_main_box .ttl {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-bottom: 1.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 1260px) {
  .sub_interview_detail_main_box .ttl {
    font-size: 2.6rem;
  }
}
.sub_interview_detail_main_box .txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  margin-bottom: 1.5rem;
}
.sub_interview_detail_main_box .name {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
}
.sub_interview_detail_article {
  background-image: linear-gradient(90deg, rgb(239, 253, 255), rgb(239, 247, 255) 99%);
  margin-top: -23.5rem;
  border-radius: 20px;
  padding: 28rem 0 8.5rem 0;
  display: flex;
  justify-content: center;
  position: relative;
}
.sub_interview_detail_article::after {
  background: url(../images/interview_detail/interview_detail_design02.png) no-repeat left top;
  background-size: contain;
  content: "";
  position: absolute;
  right: 3rem;
  top: 6.5rem;
  width: 19rem;
  height: 15.9rem;
  z-index: 4;
}
.sub_interview_detail_article_inner {
  max-width: 1000px;
  width: 90.625%;
}
.sub_interview_detail_article .common_sub_article_blog .wp-block-image {
  margin-bottom: 7rem;
}
.sub_interview_detail_article .common_sub_article_blog .wp-block-image img {
  border-radius: 20px;
}

/* newgraduate */
.newgraduate .common_w_inner {
  background: url(../images/newgraduate/newgraduate_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.newgraduate .common_sub_menu_box01 ul {
  justify-content: center;
}
.newgraduate .common_sub_menu_box01 ul li {
  width: calc((100% - 3rem) / 2);
  max-width: 380px;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.newgraduate .common_sub_menu_box01 ul li a {
  padding-left: 1em;
  padding-right: 1em;
}
.newgraduate .common_sub_menu_box01 ul li a .btn_txt {
  line-height: 1.4;
}
.newgraduate .common_sub_menu_box01 ul li a::after {
  right: 30px;
}

.sub_newgraduate_container01_bg {
  padding: 7rem 0 11rem 0;
  display: flex;
  justify-content: center;
}
.sub_newgraduate_container01_sec {
  padding: 6rem 0 0 0;
}
.sub_newgraduate_container01_sec .h2_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 4rem;
  text-align: center;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_dl dt {
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_dl dt::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_dl {
  margin: 2rem 0;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_box {
  border: 1px solid #a4c9e5;
  background: #f7fbfd;
  border-radius: 20px;
  padding: 4rem 6rem;
  margin-top: 4.5rem;
  margin-bottom: 2rem;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_box_ttl {
  background-color: #004ea2;
  color: #fff;
  border-radius: 9999px;
  padding: 10px;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.5rem;
  display: flex;
  justify-content: center;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_box_ttl .ttl_txt {
  position: relative;
  padding-left: 127px;
  padding-right: 127px;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_box_ttl .ttl_txt::before {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 102px;
  height: 73px;
  background: url(../images/recruit/recruit_ct01_box_ttl.png) no-repeat left top;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .recruit_ct01_box_txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .time_block li {
  padding-left: 1.2em;
  position: relative;
  margin: 0.5rem 0;
}
.sub_newgraduate_container01_sec .common_sub_tbl01 .time_block li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  background: #354362;
  border-radius: 50%;
}

.sub_newgraduate_container02_bg {
  padding: 10rem 0 11rem 0;
  display: flex;
  justify-content: center;
  background: #f3fafd;
}
.sub_newgraduate_container02_bg .h2_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 4rem;
  text-align: center;
}

.newgraduate .common_sub_fax_box_ans {
  background-color: #f3fafd;
}
.newgraduate .common_sub_fax_box_ans::before {
  background: #06a9e7;
}

/* midcareer */
.midcareer .common_w_inner {
  background: url(../images/midcareer/midcareer_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.midcareer .common_sub_menu_box01 ul li {
  width: calc((100% - 6rem) / 3);
}
.midcareer .common_sub_menu_box01 ul li a {
  padding-left: 1em;
  padding-right: 1em;
}
.midcareer .common_sub_menu_box01 ul li a .btn_txt {
  line-height: 1.4;
}
.midcareer .common_sub_menu_box01 ul li a::after {
  right: 30px;
}

.sub_midcareer_container01_bg {
  padding: 7rem 0 11rem 0;
  display: flex;
  justify-content: center;
}
.sub_midcareer_container01_sec {
  padding: 6rem 0 0 0;
}
.sub_midcareer_container01_sec .h2_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 4rem;
  text-align: center;
}
.sub_midcareer_container01_menu {
  display: flex;
  justify-content: space-between;
}
.sub_midcareer_container01_menu .tab {
  background-color: #8d9193;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  width: calc((100% - 4rem) / 3);
  border-radius: 20px 20px 0 0;
  height: 8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.sub_midcareer_container01_menu .tab.is-active {
  background-color: #004ea2;
}
.sub_midcareer_container01_tbl .panel {
  background-color: #f9f9f9;
  padding: 5rem 8rem 8rem 8rem;
  display: none;
  border-radius: 0 0 20px 20px;
}
.sub_midcareer_container01_tbl .panel.is-show {
  display: block;
}
.sub_midcareer_container01_tbl .time_block li {
  padding-left: 1.2em;
  position: relative;
  margin: 0.5rem 0;
}
.sub_midcareer_container01_tbl .time_block li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  background: #354362;
  border-radius: 50%;
}

.sub_midcareer_container02_bg {
  padding: 11rem 0 12rem 0;
  display: flex;
  justify-content: center;
  background: #f3fafd;
}
.sub_midcareer_container02_bg .h2_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 4rem;
  text-align: center;
}
.sub_midcareer_container02_flow_in {
  background-color: #fff;
  padding: 2rem 8rem;
  border: 1px solid #a4c9e5;
  border-radius: 20px;
  display: flex;
  align-items: center;
  position: relative;
}
.sub_midcareer_container02_flow_in:not(:last-child) {
  margin-bottom: 60px;
}
.sub_midcareer_container02_flow_in:not(:last-child)::after {
  position: absolute;
  bottom: -43px;
  left: calc(50% - 19px);
  content: "";
  width: 0;
  height: 0;
  border-left: 19px solid transparent;
  border-right: 19px solid transparent;
  border-top: 20px solid #004ea2;
}
.sub_midcareer_container02_flow_in figure {
  width: 24.8rem;
  margin-right: 6rem;
}
.sub_midcareer_container02_flow_in figure img {
  width: 100%;
}
.sub_midcareer_container02_flow_in .disc {
  width: calc(100% - 30.8rem);
}
.sub_midcareer_container02_flow_in .disc .h3_ttl {
  display: flex;
  align-items: center;
  color: #004ea2;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
.sub_midcareer_container02_flow_in .disc .h3_ttl .common_en01 {
  font-size: 4.2rem;
  margin-right: 2rem;
  position: relative;
  padding-left: 40px;
}
.sub_midcareer_container02_flow_in .disc .h3_ttl .common_en01::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_midcareer_container02_flow_in .disc .h3_ttl .common_en01::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_midcareer_container02_flow_in .disc .common_txt01 {
  line-height: 2.25;
}

.sub_midcareer_container03_bg {
  padding: 10rem 0 0 0;
  display: flex;
  justify-content: center;
}
.sub_midcareer_container03_bg .h2_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 4rem;
  text-align: center;
}
.sub_midcareer_container03_box {
  margin-top: 9rem;
  border: 1px solid #a4c9e5;
  background-color: #f7fbfd;
  border-radius: 20px;
  padding: 5rem 8rem 6rem 8rem;
}
.sub_midcareer_container03_box .txt {
  line-height: 2.5;
  margin-bottom: 3rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.sub_midcareer_container03_box .txt .blue_txt {
  color: #004ea2;
  font-weight: 700;
}
.sub_midcareer_container03_box .btn {
  width: 58rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5rem;
}
.sub_midcareer_container03_box .btn a {
  border-radius: 9999px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 1.5rem;
  box-sizing: border-box;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
}
.sub_midcareer_container03_box .btn a .icon_txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  position: relative;
  padding-right: 30px;
  display: inline-block;
}
.sub_midcareer_container03_box .btn a .icon_txt::before {
  background: url(../images/common/icon_outlink_wh.png) no-repeat left top;
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  right: 0;
  width: 20px;
  height: 20px;
}
.sub_midcareer_container03_box .btn a .hosoku {
  color: #fff;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 100%;
}
.sub_midcareer_container03_box figure img {
  width: 100%;
}

.midcareer .common_sub_fax_box_ans {
  background-color: #f3fafd;
}
.midcareer .common_sub_fax_box_ans::before {
  background: #06a9e7;
}

/* training */
.training .common_w_inner {
  background: url(../images/training/training_mainimg.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 980px) {
  .training .common_w_inner .common_en01 {
    font-size: 6rem;
  }
}

.training .common_sub_menu_box01 ul {
  justify-content: center;
}
.training .common_sub_menu_box01 ul li {
  width: calc((100% - 3rem) / 2);
  max-width: 380px;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}
.training .common_sub_menu_box01 ul li a {
  padding-left: 1em;
  padding-right: 1em;
}
.training .common_sub_menu_box01 ul li a .btn_txt {
  line-height: 1.4;
}
.training .common_sub_menu_box01 ul li a::after {
  right: 30px;
}

.training .h2_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 4rem;
}
.training .hosoku_ttl {
  margin-top: 1rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  display: block;
}
.training .lead_txt {
  max-width: 800px;
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5rem;
}

.sub_training_container01_bg {
  padding: 7rem 0 12rem 0;
  display: flex;
  justify-content: center;
}

.sub_training_container02_bg {
  padding: 10rem 0 8rem 0;
  display: flex;
  justify-content: center;
  background: #f3fafd;
}
.sub_training_container02_box {
  margin-bottom: 5rem;
}
.sub_training_container02_box .txt {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_training_container02_box ul {
  margin: 2.5rem 0 3rem 0;
  display: flex;
  justify-content: center;
}
.sub_training_container02_box ul li {
  width: calc((100% - 2rem) / 2);
  max-width: 390px;
  margin: 0 1rem;
  border: 1px solid #004ea2;
  background-color: #fff;
  border-radius: 10px;
  padding: 1rem;
  color: #004ea2;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_training_container02_sec {
  padding: 4rem 0;
}
.sub_training_container02_flow01 {
  margin-top: 6rem;
}
.sub_training_container02_flow01_in {
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  padding: 5rem 5rem 5rem 2rem;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  position: relative;
}
.sub_training_container02_flow01_in:not(:last-child) {
  margin-bottom: 50px;
}
.sub_training_container02_flow01_in:not(:last-child):after {
  position: absolute;
  bottom: -22px;
  left: 100px;
  content: "";
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
}
.sub_training_container02_flow01_in:nth-child(1) {
  background-color: #14b6f2;
}
.sub_training_container02_flow01_in:nth-child(1):after {
  border-top: 22px solid #14b6f2;
}
.sub_training_container02_flow01_in:nth-child(1) .sub_training_container02_flow_ttl {
  border-left: 3px solid #14b6f2;
}
.sub_training_container02_flow01_in:nth-child(1) .sub_training_container02_flow01_img .no {
  margin-right: 5px;
}
.sub_training_container02_flow01_in:nth-child(2) {
  background-color: #0c8cd2;
}
.sub_training_container02_flow01_in:nth-child(2):after {
  border-top: 22px solid #0c8cd2;
}
.sub_training_container02_flow01_in:nth-child(2) .sub_training_container02_flow_ttl {
  border-left: 3px solid #0c8cd2;
}
.sub_training_container02_flow01_in:nth-child(3) {
  background-color: #0463b2;
}
.sub_training_container02_flow01_in:nth-child(3) .sub_training_container02_flow_ttl {
  border-left: 3px solid #0463b2;
}
.sub_training_container02_flow01_in02 {
  background-color: #f3fafd;
  display: flex;
  width: 100%;
  margin-left: 3rem;
  margin-top: 30px;
  position: relative;
  border-radius: 20px;
}
.sub_training_container02_flow01_in02:before {
  position: absolute;
  top: -22px;
  left: 55px;
  content: "";
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-bottom: 22px solid #f3fafd;
}
.sub_training_container02_flow01_in02 .sub_training_container02_flow01_img {
  margin-top: 3.5rem;
  margin-left: 2rem;
}
.sub_training_container02_flow01_in02 .sub_training_container02_flow01_img .no {
  margin-bottom: 2rem;
}
.sub_training_container02_flow01_in02 .sub_training_container02_flow01_disc {
  padding: 5rem 5rem 5rem 0;
  background-color: #f3fafd;
}
.sub_training_container02_flow01_img {
  width: 157px;
  margin-right: 2rem;
  text-align: center;
}
.sub_training_container02_flow01_img .no {
  margin-bottom: 4rem;
  display: block;
}
.sub_training_container02_flow01_disc {
  width: calc(100% - 157px - 2rem);
  background-color: #fff;
  border-radius: 20px;
  padding: 5rem 5rem;
}
.sub_training_container02_flow01_disc .txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.25;
}
.sub_training_container02_flow01_disc .txt .blue_txt {
  color: #004ea2;
}
.sub_training_container02_flow01_disc .txt + .txt {
  margin-top: 4rem;
}
.sub_training_container02_flow02 {
  margin-top: 6rem;
  background-color: #074e9b;
  border-radius: 20px;
  padding: 5rem;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
}
.sub_training_container02_flow02_in {
  display: flex;
  flex-wrap: wrap;
  padding: 5rem 5rem 5rem 2rem;
  border-radius: 20px;
  position: relative;
  background-color: #fff;
}
.sub_training_container02_flow02_in:not(:last-child) {
  margin-bottom: 3rem;
}
.sub_training_container02_flow02_in .sub_training_container02_flow_ttl {
  border-left: 3px solid #074e9b;
}
.sub_training_container02_flow02_img {
  width: 202px;
  margin-right: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub_training_container02_flow02_disc {
  width: calc(100% - 202px - 2rem);
  background-color: #fff;
  border-radius: 20px;
}
.sub_training_container02_flow02_disc .txt {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2.25;
}
.sub_training_container02_flow02_disc .txt .blue_txt {
  color: #004ea2;
}
.sub_training_container02_flow02_disc .txt + .txt {
  margin-top: 4rem;
}
.sub_training_container02_flow_ttl {
  padding-left: 1em;
  margin-bottom: 2rem;
}
.sub_training_container02_flow_ttl .h4_ttl {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.sub_training_container02_flow_ttl .hosoku {
  display: block;
  font-size: 2rem;
  margin-top: 0.8rem;
}

.sub_training_container03_bg {
  padding: 7rem 0 0 0;
  display: flex;
  justify-content: center;
}
.sub_training_container03_box01 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
  margin-bottom: 5rem;
}
.sub_training_container03_box01_in {
  border: 1px solid #074e9b;
  border-radius: 20px;
  padding: 4rem 4rem 2.5rem 4rem;
}
.sub_training_container03_box01_in .txt {
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: 1.6rem;
}
.sub_training_container03_box01_in:nth-child(1) .sub_training_container03_box01_ttl {
  font-size: 2rem;
}
.sub_training_container03_box01_in:nth-child(1) .sub_training_container03_box01_ttl::before {
  background: url(../images/training/training_07_icon.png) no-repeat left top;
  width: 88px;
  height: 76px;
  margin-left: -44px;
}
.sub_training_container03_box01_in:nth-child(2) .sub_training_container03_box01_ttl::before {
  background: url(../images/training/training_08_icon.png) no-repeat left top;
  width: 72px;
  height: 78px;
  margin-left: -36px;
}
.sub_training_container03_box01_in:nth-child(3) .sub_training_container03_box01_ttl::before {
  background: url(../images/training/training_09_icon.png) no-repeat left top;
  width: 54px;
  height: 88px;
  margin-left: -27px;
}
.sub_training_container03_box01_ttl {
  color: #0050a3;
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 2rem;
  padding-top: 13rem;
  position: relative;
}
.sub_training_container03_box01_ttl::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 50%;
}
.sub_training_container03_box01_under {
  background-color: #f3fafd;
  border-radius: 20px;
  margin-bottom: 11rem;
  padding: 4rem;
  box-sizing: border-box;
}
.sub_training_container03_box01_under .cover {
  position: relative;
  padding: 0 150px;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.sub_training_container03_box01_under .cover::before {
  background: url(../images/training/training_10_icon.png) no-repeat left top;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  left: 0;
  width: 110px;
  height: 156px;
}
.sub_training_container03_box01_under .cover::after {
  background: url(../images/training/training_11_icon.png) no-repeat left top;
  background-size: contain;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  width: 107px;
  height: 155px;
}
.sub_training_container03_box01_under .txt {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0 25px;
  line-height: 1.4;
  text-align: center;
}
.sub_training_container03_box01_under .txt::before {
  background-color: #354362;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 36px;
  transform: rotate(-30deg);
  margin-top: -13px;
}
.sub_training_container03_box01_under .txt::after {
  background-color: #354362;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 2px;
  height: 36px;
  transform: rotate(30deg);
  margin-top: -13px;
}
.sub_training_container03_box01_under .txt .big_txt {
  font-size: 3.4rem;
}
.sub_training_container03_box01_under .txt .blue_txt {
  color: #074e9b;
  background: linear-gradient(transparent 40%, #fff882 60%);
}
.sub_training_container03_box02 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
}
.sub_training_container03_box02_in {
  background: #074e9b;
  border-radius: 20px;
  padding: 4rem 4rem 3rem 4rem;
}
.sub_training_container03_box02_in .hosoku {
  color: #fff;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 1.5rem;
  display: block;
}
.sub_training_container03_box02_in .txt {
  color: #fff;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: 1.6rem;
}
.sub_training_container03_box02_in:nth-child(1) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_12_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(2) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_13_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(3) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_14_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(4) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_15_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(5) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_16_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(6) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_17_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(7) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_18_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(8) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_19_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_in:nth-child(9) .sub_training_container03_box02_ttl::before {
  background: url(../images/training/training_20_icon.png) no-repeat left top;
  background-size: contain;
}
.sub_training_container03_box02_ttl {
  color: #fff;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1.5rem;
  padding-top: 16.2rem;
  position: relative;
}
.sub_training_container03_box02_ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 7.1rem);
  width: 14.2rem;
  height: 14.2rem;
}

.training .sub_occupation_container03_bg ul {
  display: flex;
  gap: inherit;
  justify-content: center;
}
.training .sub_occupation_container03_bg ul li {
  width: calc((100% - 3rem) / 2);
  max-width: 380px;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

.common_sub_recruit_ttl {
  position: relative;
  margin-bottom: 9rem;
}
.common_sub_recruit_ttl .h2_ttl {
  color: #004ea2;
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  width: 100%;
}
.common_sub_recruit_ttl .common_en01 {
  display: block;
  color: #e9f4ff;
  font-size: 10.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  line-height: 1;
}

.recruit_top .breadcrumb {
  padding: 0 0 1.5rem 0;
}

.sub_recruit_main_bg {
  background: url(../images/recruit/recruit_main_bk.png) no-repeat center top;
  background-size: cover;
  width: 100%;
  /*height: vw(760);*/
  margin-bottom: 5.3rem;
  position: relative;
  aspect-ratio: 1920/760;
}
.sub_recruit_main_bg .designbox {
  position: relative;
  width: 100%;
  aspect-ratio: 1920/760;
  /*height: vw(760);*/
}
.sub_recruit_main_bg .dz01 {
  position: absolute;
  top: 4rem;
  top: 2.0833vw;
  left: 50%;
  /*width: vw(320);
  height: vw(206);*/
  width: 16.66%;
  display: block;
  aspect-ratio: 320/206;
  margin-left: -67rem;
  margin-left: -34.89583vw;
  box-shadow: 0px 0px 79px -6px rgba(2, 36, 82, 0.15);
  border-radius: 20px;
}
.sub_recruit_main_bg .dz02 {
  position: absolute;
  top: 9.1rem;
  top: 4.739583vw;
  left: 50%;
  transform: translate(-50%, 0);
  /*width: vw(214);
  height: vw(138);*/
  width: 11.14%;
  display: block;
  aspect-ratio: 214/138;
  box-shadow: 0px 0px 79px -6px rgba(2, 36, 82, 0.15);
  border-radius: 20px;
}
.sub_recruit_main_bg .dz03 {
  position: absolute;
  top: 6rem;
  top: 3.125vw;
  left: 50%;
  /*width: vw(317);
  height: vw(205);*/
  width: 16.51%;
  display: block;
  aspect-ratio: 317/205;
  margin-left: 34rem;
  margin-left: 17.70833vw;
  box-shadow: 0px 0px 79px -6px rgba(2, 36, 82, 0.15);
  border-radius: 20px;
}
.sub_recruit_main_bg .dz04 {
  position: absolute;
  bottom: -5.5rem;
  bottom: -2.864583vw;
  left: 50%;
  /*width: vw(402);
  height: vw(260);*/
  width: 20.93%;
  display: block;
  aspect-ratio: 402/260;
  margin-left: -50rem;
  margin-left: -26.0416vw;
  box-shadow: 0px 0px 79px -6px rgba(2, 36, 82, 0.15);
  border-radius: 20px;
  /*@include md{
      left: 0;
      margin-left: 0;
  }*/
}
.sub_recruit_main_bg .dz05 {
  background: url(../images/recruit/recruit_main_design05.png) no-repeat left top;
  content: "";
  position: absolute;
  bottom: 3.5rem;
  bottom: 1.8229vw;
  left: 50%;
  /*width: vw(343);
  height: vw(222);*/
  width: 17.86%;
  display: block;
  aspect-ratio: 343/222;
  margin-left: 16rem;
  margin-left: 8.33vw;
  box-shadow: 0px 0px 79px -6px rgba(2, 36, 82, 0.15);
  border-radius: 20px;
}
.sub_recruit_main_catch {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.sub_recruit_main_catch .catch_h1 {
  color: #074e9b;
  /*font-size: 4.6rem;*/
  font-size: clamp(2.2rem, 2.4vw, 4.6rem);
  letter-spacing: 0.12em;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.sub_recruit_main_catch .common_en01 {
  color: #79a8da;
  /*font-size: 1.6rem;*/
  font-size: clamp(1.4rem, 0.83vw, 1.6rem);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.sub_recruit_container01_bg {
  padding: 7.5rem 0;
}
.sub_recruit_container01_bg .common_inner {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.sub_recruit_container01_bg .common_inner .txt {
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.sub_recruit_container01_bg .common_inner .txt .blue_txt {
  color: #004ea2;
  font-weight: 700;
}
.sub_recruit_container01_bg .common_inner .common_btn01 {
  position: absolute;
  right: 0;
  top: 4rem;
}
.sub_recruit_container01_bg .common_sub_recruit_ttl {
  margin-bottom: 6rem;
  position: relative;
}
.sub_recruit_container01_catch {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 3.5rem;
}
.sub_recruit_container01_link {
  max-width: 1520px;
  width: 90.625%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4rem;
}
.sub_recruit_container01_link_in {
  overflow: hidden;
  border-radius: 20px;
  aspect-ratio: 740/440;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub_recruit_container01_link_in::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.5s ease-out;
}
.sub_recruit_container01_link_in:hover::before {
  transform: scale(1.1, 1.1);
}
.sub_recruit_container01_link_in:nth-child(1)::before {
  background: url(../images/recruit/recruit_01_img01.jpg) no-repeat center center;
  background-size: cover;
}
.sub_recruit_container01_link_in:nth-child(2)::before {
  background: url(../images/recruit/recruit_01_img02.jpg) no-repeat center center;
  background-size: cover;
}
.sub_recruit_container01_link_in .ttl {
  color: #fff;
  margin-bottom: 3rem;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  z-index: 1;
}
.sub_recruit_container01_link_in .common_btn01 {
  position: relative;
  z-index: 1;
}

.sub_recruit_container02_bg {
  padding: 7.5rem 0 10rem;
  display: flex;
  justify-content: center;
  position: relative;
}
.sub_recruit_container02_bg::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: calc(100% - (100% - 1520px) / 2);
  width: 95.3125%;
  height: calc(100% - 12.5rem);
  background-color: #f3fafd;
  border-radius: 20px 0 0 20px;
}
.sub_recruit_container02_bg::after {
  content: "";
  position: absolute;
  bottom: -6rem;
  left: 3rem;
  width: 34.5rem;
  height: 26.6rem;
  background: url(../images/recruit/recruit_02_img02.png) no-repeat left bottom;
  background-size: contain;
}
.sub_recruit_container02_bg .common_sub_recruit_ttl {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 7rem;
}
.sub_recruit_container02_bg .common_inner {
  position: relative;
  z-index: 1;
}
.sub_recruit_container02_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_recruit_container02_box figure {
  width: 46.9%;
}
.sub_recruit_container02_box figure img {
  width: 100%;
}
.sub_recruit_container02_box_disc {
  width: calc(53.1% - 5rem);
}
@media screen and (max-width: 1648px) {
  .sub_recruit_container02_box_disc {
    margin-left: 4.6875%;
    width: calc(48.4125% - 5rem);
  }
}
.sub_recruit_container02_box_disc .h3_ttl {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
}
.sub_recruit_container02_box_disc .txt {
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.05em;
  margin-bottom: 5rem;
}
.sub_recruit_container02_box_disc .txt .blue_txt {
  color: #004ea2;
  font-weight: 700;
}
.sub_recruit_container02_box_disc .common_btn01 {
  margin-left: 0;
  margin-right: 0;
}

.sub_recruit_container03_bg {
  padding: 11rem 0 0 0;
  display: flex;
  justify-content: center;
}
.sub_recruit_container03_box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  grid-template-areas: "a b" "c c" "d e" "d f" "g h";
  /* エリア指定 */
}
.sub_recruit_container03_box .a {
  grid-area: a;
}
.sub_recruit_container03_box .a .txt {
  margin-top: 2.604vw;
}
.sub_recruit_container03_box .a figure {
  margin-left: 1.5rem;
}
.sub_recruit_container03_box .b {
  grid-area: b;
}
.sub_recruit_container03_box .b .flex figure {
  margin-top: -2rem;
}
.sub_recruit_container03_box .b figure {
  margin-left: 1.5rem;
}
.sub_recruit_container03_box .b .txt {
  margin-top: 2.604vw;
}
.sub_recruit_container03_box .b .txt .blue_txt {
  margin-right: 0.5rem;
}
.sub_recruit_container03_box .c {
  grid-area: c;
}
.sub_recruit_container03_box .d {
  grid-area: d;
}
.sub_recruit_container03_box .e {
  grid-area: e;
}
.sub_recruit_container03_box .f {
  grid-area: f;
  margin-top: -25px;
  /* ← 45px → 20px にするため差分引く */
}
.sub_recruit_container03_box .g {
  grid-area: g;
}
.sub_recruit_container03_box .h {
  grid-area: h;
}
.sub_recruit_container03_box {
  /*@include tab {
      grid-template-columns: 1fr;
      grid-template-areas:
          "a"
          "b"
          "c"
          "d"
          "e"
          "f"
          "g"
          "h";
  }*/
  /*&_in {
      border: 1px solid #a4c9e5;
      background: #f7fbfd;
      padding: vw(40) vw(50);
      border-radius: 20px;

      @include md {
          padding: vw(30) vw(30);
      }
  }

  .h3_ttl {
      position: relative;
      font-size: 2.2rem;
      font-weight: 700;
      letter-spacing: 0.05em;
      padding-left: vw(36);

      &::before {
          content: '';
          position: absolute;
          top: 50%;
          transform: translate(0, -50%);
          left: 0px;
          width: 10px;
          height: 10px;
          border: 1px solid $mainColor;
          background-color: #fff;
          border-radius: 50%;
      }

      &::after {
          content: '';
          position: absolute;
          top: 50%;
          transform: translate(0, -50%);
          left: 10px;
          width: 16px;
          height: 1px;
          background: $mainColor;
      }
  }

  .flex {
      display: flex;
      justify-content: space-between;
  }

  .txt {
      font-size: 4.6rem;
      font-size: clamp(3.8rem, 0.83vw, 4.6rem);
      font-weight: 700;
      letter-spacing: 0.05em;
      line-height: 1;
      white-space: nowrap;

      .blue_txt {
          font-family: $en01;
          color: $mainColor;
          font-size: 12.2rem;
          font-size: clamp(10.1rem, 0.83vw, 12.2rem);
      }
  }

  figure {
      img {
          width: 100%;
      }
  }*/
}
.sub_recruit_container03_hosoku {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: block;
  text-align: right;
  margin-top: 2.5rem;
}

.sub_recruit_container04_bg {
  padding: 11rem 0 10rem 0;
  margin-bottom: 15.5rem;
  position: relative;
}
.sub_recruit_container04_bg::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: calc(100% - (100% - 1520px) / 2);
  width: 95.3125%;
  height: calc(100% - 16rem);
  background-color: #f3fafd;
  border-radius: 0 20px 20px 0;
}
.sub_recruit_container04_bg::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 4rem;
  width: 33.4rem;
  height: 28.2rem;
  background: url(../images/recruit/recruit_04_img02.png) no-repeat left bottom;
  background-size: contain;
}
.sub_recruit_container04_bg .common_sub_recruit_ttl {
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 7rem;
}
.sub_recruit_container04_inner {
  max-width: 1560px;
  width: 95.3125%;
  position: relative;
  z-index: 1;
}
.sub_recruit_container04_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_recruit_container04_box figure {
  width: 53.84%;
}
.sub_recruit_container04_box figure img {
  width: 100%;
}
.sub_recruit_container04_box_disc {
  width: calc(46.16% - 9.5rem);
}
@media screen and (max-width: 1648px) {
  .sub_recruit_container04_box_disc {
    margin-right: 4.6875%;
    width: calc(41.4725% - 6rem);
  }
}
.sub_recruit_container04_box_disc .h3_ttl {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1260px) {
  .sub_recruit_container04_box_disc .h3_ttl br.pc {
    display: none;
  }
}
.sub_recruit_container04_box_disc .txt {
  font-weight: 500;
  line-height: 2.25;
  letter-spacing: 0.05em;
  margin-bottom: 5rem;
}
.sub_recruit_container04_box_disc .txt .blue_txt {
  color: #004ea2;
  font-weight: 700;
}
.sub_recruit_container04_box_disc .common_btn01 {
  margin-left: 0;
  margin-right: 0;
}

.sub_recruit_container05_bg {
  background: url(../images/recruit/recruit_05_img02.png) no-repeat left bottom;
  background-size: cover;
  padding-top: 7rem;
  display: flex;
  justify-content: flex-end;
}
.sub_recruit_container05_bg + .recruit_ft {
  margin-top: 0;
}
.sub_recruit_container05_inner {
  max-width: 1560px;
  width: 95.3125%;
  position: relative;
  z-index: 1;
}
.sub_recruit_container05_box {
  display: flex;
  align-items: center;
}
.sub_recruit_container05_box figure {
  aspect-ratio: 900/550;
  width: 57.69%;
  border-radius: 20px 0 0 0;
  overflow: hidden;
}
.sub_recruit_container05_box figure img {
  width: 100%;
}
.sub_recruit_container05_box_disc {
  width: 42.31%;
}
@media screen and (max-width: 1648px) {
  .sub_recruit_container05_box_disc {
    margin-left: 4.6875%;
    width: 37.6225%;
  }
}
.sub_recruit_container05_box_disc .common_btn01 {
  margin-left: 0;
  margin-right: 0;
  max-width: 90%;
}
.sub_recruit_container05_ttl {
  padding-bottom: 4rem;
  margin-bottom: 8rem;
  border-bottom: 1px solid #004ea2;
}
@media screen and (max-width: 1260px) {
  .sub_recruit_container05_ttl {
    margin-bottom: 6rem;
  }
}
@media screen and (max-width: 1088px) {
  .sub_recruit_container05_ttl {
    padding-bottom: 1.5rem;
    margin-bottom: 3rem;
  }
}
.sub_recruit_container05_ttl .h2_ttl {
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 36px;
  color: #004ea2;
  margin-bottom: 3.5rem;
  line-height: 1;
}
.sub_recruit_container05_ttl .h2_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  background-color: #fff;
  border-radius: 50%;
}
.sub_recruit_container05_ttl .h2_ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background: #004ea2;
}
.sub_recruit_container05_ttl .common_en01 {
  font-size: 8.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #004ea2;
  line-height: 1;
}
@media screen and (max-width: 1648px) {
  .sub_recruit_container05_ttl .common_en01 {
    font-size: 7rem;
  }
}
@media screen and (max-width: 1260px) {
  .sub_recruit_container05_ttl .common_en01 {
    font-size: 6rem;
  }
}
@media screen and (max-width: 1088px) {
  .sub_recruit_container05_ttl .common_en01 {
    font-size: 4.4rem;
  }
}

/* recruit_contact */
.recruit_contact .common_w_inner {
  background: url(../images/recruit_contact/recruit_contact_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.common_sub_article_school {
  display: block;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.6rem;
  color: #004ea2;
}

.education_detail .common_inner {
  max-width: 910px;
}

.education_detail .common_sub_article_date {
  font-family: "Noto Sans CJK JP", "Noto Sans Japanese", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}/*# sourceMappingURL=pc_phase02.css.map */