@charset "UTF-8";
/*----------------------------------------------------------------

メディアクエリ

----------------------------------------------------------------*/
main .mv_sub {
  background-image: url(../img/common/sub_mv_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 500px;
  position: relative;
  z-index: 20;
}
.sub_cont {
  margin-top: -200px;
  padding-top: 300px;
}

/*----------------------------------------------------------------

policy

----------------------------------------------------------------*/
.policy_cont {
  margin-top: -200px;
  padding-top: 300px;
}

/*----------------------------------------------------------------

companylist

----------------------------------------------------------------*/
.comaplist_list01 {
  display: flex;
}
.comaplist_list01 .whitearea {
  width: 500px;
  height: 360px;
}
.comaplist_list01 .comaplist_list_img {
  width: 390px;
}
.comaplist_list01 .sp_1600 {
  display: none;
}

.comaplist_list_lower {
  display: flex;
  justify-content: space-between;
}
.comaplist_list_lower .list {
  width: 48%;
}

/*----------------------------------------------------------------

greeting

----------------------------------------------------------------*/
.greeting_cont {
  padding-top: 120px;
}
.greeting_cont .greeting_cont_mv {
  position: relative;
  z-index: 0;
}
.greeting_cont .greeting_cont_mv .greeting_name {
  position: absolute;
  bottom: 54px;
  left: 15%;
  z-index: 10;
}
/*----------------------------------------------------------------

news

----------------------------------------------------------------*/
.news_cont .news_area {
  display: flex;
  flex-direction: column;
  gap: 50px;
}
.news_cont .news_pagenavi .wp-pagenavi {
  display: flex;
  justify-content: flex-start; /*←左寄せになります。*/
  flex-wrap: wrap;
  width: 100%;
}
.news_cont .news_pagenavi .wp-pagenavi a, .news_cont .news_pagenavi .wp-pagenavi span,
.news_cont .news_pagenavi .page-numbers, .news_cont .news_pagenavi .wp-pagenavi .current, .news_cont .news_pagenavi .wp-pagenavi .page, .news_cont .news_pagenavi .previouspostslink, .news_cont .news_pagenavi .nextpostslink, .news_cont .news_pagenavi #pagenavi a.last, .news_cont .news_pagenavi #pagenavi a.first {
  border: 1px solid #0D3781 !important; /*←好きな色を入れてください。*/
  background-color: #0D3781; /*←好きな色を入れてください。*/
  padding: 12px 17px;
  color: #fff; /*←好きな色を入れてください。*/
  font-size: 20px;
  line-height: 16px;
  font-weight: 700;
  margin: 5px;
}
.news_cont .news_pagenavi .previouspostslink:hover,
.news_cont .news_pagenavi .nextpostslink:hover,
.news_cont .news_pagenavi .wp-pagenavi .page:hover {
  background: #fff; /*←好きな色を入れてください。*/
  border: 1px solid #0D3781 !important; /*←好きな色を入れてください。*/
  color: #0D3781 !important; /*←好きな色を入れてください。*/
}
.news_cont .news_pagenavi .wp-pagenavi .current {
  background: #fff; /*←好きな色を入れてください。*/
  color: #0D3781; /*←好きな色を入れてください。*/
}
.news_cont .news_s_box_txt p {
  padding: 5px 0;
  word-break: break-all;
}
.news_cont .news_s_box_txt p::after {
  content: "";
  display: block;
  clear: both;
}
.news_cont .news_s_box_txt img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}
.news_cont .blocks-gallery-item img {
  margin: 0;
}
.news_cont .news_s_box_txt a {
  color: #197FFB; /*←好きな色を入れてください。*/
  transition: 0.3s;
  font-weight: 700;
}
.news_cont .news_s_box_txt a:hover {
  opacity: 0.6;
  transition: 0.3s;
}
.news_cont .news_s_box_txt p strong span,
.news_cont .news_s_box_txt p strong {
  font-weight: 700;
}
.news_cont .news_s_box_txt .alignleft {
  float: left;
  margin: 20px 20px 20px 0; /*←好きな余白で*/
}
.news_cont .news_s_box_txt .alignright {
  float: right;
  margin: 20px 0px 20px 20px; /*←好きな余白で*/
}
.news_cont .news_s_box_txt img.aligncenter {
  display: block;
  margin: auto;
}
.news_cont .news_s_box_txt img.alignnone {
  display: block;
}
.news_cont .news_s_box_txt ul li {
  list-style-type: disc;
}
.news_cont .news_s_box_txt ol li {
  list-style-type: decimal;
}
.news_cont .news_s_box_txt iframe {
  max-width: 100%;
}
.news_cont .news_s_box_txt p.has-text-align-center {
  text-align: center;
}
.news_cont .news_s_box_txt p.has-text-align-right {
  text-align: right;
}
.news_cont .news_s_box_txt h2 {
  font-size: 26px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  border-bottom: solid 2px #F5F5F5; /*←好きな色を入れてください。*/
  position: relative;
}
.news_cont .news_s_box_txt h2::after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #0D3781; /*←好きな色を入れてください。*/
  bottom: -2px;
  width: 20%;
}
.news_cont .news_s_box_txt h3 {
  font-size: 24px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  border-left: solid 5px #0D3781; /*←好きな色を入れてください。*/
  background: #f5f5f5; /*←好きな色を入れてください。*/
  padding-left: 10px;
}
.news_cont .news_s_box_txt h4 {
  font-size: 22px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
  position: relative;
  padding-left: 23px;
}
.news_cont .news_s_box_txt h4:after {
  position: absolute;
  content: "●";
  top: 50%;
  /* Safari用 */
  transform: translate(0, -50%);
  left: 0;
  font-size: 16px;
  color: #0D3781; /*←好きな色を入れてください。*/
}
.news_cont .news_s_box_txt h5 {
  font-size: 18px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
}
.news_cont .news_s_box_txt h6 {
  font-size: 16px; /*←好きな大きさで*/
  margin-bottom: 15px;
  font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
  .news_cont .single_pagination_area .single_back_btn:hover {
    opacity: 1;
    background-color: #fff;
    color: #0D3781;
  }
}

.news_single_cont .left {
  width: 90%;
}
.news_single_cont .right {
  width: 27%;
}

/*----------------------------------------------------------------

bases

----------------------------------------------------------------*/
.bases_cont {
  padding-top: 50px;
}
.bases_cont .bases_white_content {
  max-width: 1500px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 20;
}
.bases_cont .bases_white_content .bases_white_content_list .img {
  width: 640px;
}
.bases_cont .bases_white_content .bases_white_content_list .blue_content {
  width: 860px;
  margin-right: 0;
  margin-left: auto;
  border-radius: 0 0 20px 0;
  padding-left: 300px;
  margin-top: -270px;
}
@media (hover: hover) and (pointer: fine) {
  .bases_cont .bases_white_content .bases_white_content_list .blue_content:hover {
    opacity: 1;
  }
  .bases_cont .bases_white_content .bases_white_content_list .blue_content:hover .arrow span {
    transform: translateX(10px);
    transition: transform 0.3s;
  }
}
.bases_cont .bases_white_content .bases_white_content_list .blue_content .middle h3 {
  text-decoration: underline;
  text-underline-offset: 30px;
  text-decoration-color: #ffffff;
  text-decoration-thickness: 1px;
}
.bases_cont .bases_white_content .bases_white_content_list .blue_content .middle .arrow span {
  transition: 0.4s;
}

.kyoten_cont {
  overflow: hidden;
}
.kyoten_cont .bases_bg {
  margin-top: -185px;
}
.kyoten_cont .bases_white_content {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  position: relative;
  margin-top: -270px;
  z-index: 20;
}
.kyoten_cont .bases_white_content .kyoten01_inner {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
.kyoten_cont .bases_white_content .kyoten01_inner table {
  width: 100%;
}
.kyoten_cont .bases_white_content .kyoten01_inner table tr th {
  vertical-align: middle;
  width: 25%;
}
.kyoten_cont .bases_white_content .kyoten01_inner table tr td {
  vertical-align: middle;
}
.kyoten_cont .bases_white_content .kyoten01_inner .kyoten_link {
  transition: 0.4s;
}
.kyoten_cont .bases_white_content .kyoten01_inner .kyoten_link span {
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .kyoten_cont .bases_white_content .kyoten01_inner .kyoten_link:hover {
    opacity: 1;
    background: #fff;
    color: #0D3781;
  }
  .kyoten_cont .bases_white_content .kyoten01_inner .kyoten_link:hover span {
    background: #0D3781 !important;
    color: #fff !important;
  }
}
.kyoten_cont .kyoten_lower .en_stroke {
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
.kyoten_cont .kyoten_title_adjust {
  margin-top: -50px;
}
.kyoten_cont .kyoten_staff_area .kyoten_staff_card {
  transition: 0.4s;
  width: 30%;
}
@media (hover: hover) and (pointer: fine) {
  .kyoten_cont .kyoten_staff_area .kyoten_staff_card:hover .arrow {
    transform: translateX(10px);
    transition: transform 0.4s;
  }
}
.kyoten_cont .kyoten_staff_area .kyoten_staff_card .upper {
  height: 250px;
  background-color: #fff;
  border-radius: 20px 20px 0 0;
}
.kyoten_cont .kyoten_staff_area .kyoten_staff_card .upper img {
  width: 100%; /* または任意の幅 */
  aspect-ratio: 3/2;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  border-radius: 20px 20px 0 0;
}
.kyoten_cont .kyoten_staff_area .kyoten_staff_card .lower {
  border-radius: 0 0 20px 20px;
}

.staff_detail_content_inner_qa {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  margin-top: 80px;
  gap: 40px;
}

.staff_detail_content_inner_qa_list {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
}

.company_info_anchor_area {
  display: grid;
  grid-template-columns: repeat(2, 400px);
  gap: 45px;
  justify-content: center;
}
@media (hover: hover) and (pointer: fine) {
  .company_info_anchor_area a:hover {
    opacity: 1;
  }
  .company_info_anchor_area a:hover span {
    transform: translateY(10px);
    transition: transform 0.4s;
  }
}
.company_info_anchor_area a span {
  transition: 0.4s;
}
.company_info_cont {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  padding-top: 260px;
}
.company_info_cont table {
  max-width: 1120px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.company_info_cont table tr {
  border-bottom: 1px solid #0D3781;
}
.company_info_cont .company_table_btn {
  transition: 0.4s;
}
.company_info_cont .company_table_btn p {
  transition: 0.4s;
}
.company_info_cont .company_table_btn span {
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .company_info_cont .company_table_btn:hover {
    opacity: 1;
    background-color: #fff;
  }
  .company_info_cont .company_table_btn:hover p {
    color: #0D3781;
  }
  .company_info_cont .company_table_btn:hover span {
    background-color: #0D3781;
    color: #fff;
  }
}

.company_info_cont02 {
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
.company_info_cont02 .company_info_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
.company_info_cont02 .company_table_btn {
  transition: 0.4s;
}
.company_info_cont02 .company_table_btn p {
  transition: 0.4s;
}
.company_info_cont02 .company_table_btn span {
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .company_info_cont02 .company_table_btn:hover {
    opacity: 1;
    background-color: #fff;
  }
  .company_info_cont02 .company_table_btn:hover p {
    color: #0D3781;
  }
  .company_info_cont02 .company_table_btn:hover span {
    background-color: #0D3781;
    color: #fff;
  }
}

/*----------------------------------------------------------------

strengths

----------------------------------------------------------------*/
.strengths_cont {
  overflow: hidden;
  position: relative;
  z-index: 0;
  background-image: url(../img/strengths/strengths_bg01.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-bottom: 280px;
}
.strengths_cont .strengths_cont_inner .upper {
  gap: 100px;
}
.strengths_cont .strengths_cont_inner .upper .right {
  max-width: 548px;
}
.strengths_cont .en {
  white-space: nowrap;
  font-size: 7.8vw;
}
.strengths_cont .strength_white {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  bottom: 0;
  right: 0;
  z-index: 10;
}

.strengths_cont02 .strengths_cont02_inner .anchor_area {
  display: grid;
  grid-template-columns: repeat(3, 400px);
  gap: 45px;
  justify-content: center;
}
@media (hover: hover) and (pointer: fine) {
  .strengths_cont02 .strengths_cont02_inner .anchor_area a:hover {
    opacity: 1;
  }
  .strengths_cont02 .strengths_cont02_inner .anchor_area a:hover span {
    transform: translateY(10px);
    transition: transform 0.4s;
  }
}
.strengths_cont02 .strengths_cont02_inner .anchor_area a span {
  transition: 0.4s;
}

.strength_content {
  overflow: hidden;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.strength_content .strength_content_inner {
  max-width: 1760px;
  width: 95%;
  margin-left: auto;
  margin-right: 0;
}
.strength_content .strength_content_inner .left {
  position: relative;
  z-index: 10;
}
.strength_content .strength_content_inner .left img {
  opacity: 0.8;
  position: absolute;
  width: 640px;
  height: auto;
  top: 0;
  left: -140px;
  z-index: 0;
}
.strength_content .strength_content_inner .right {
  border-radius: 20px 0 0 20px;
}
.strength_content .strength_content_inner .right .text {
  max-width: 640px;
  width: 90%;
}

.strength_content01 {
  background-image: url(../img/strengths/strengths_bg02.jpg);
}

.strength_content02 {
  background-image: url(../img/strengths/strengths_bg03.jpg);
}
.strength_content02 .strength_content_inner {
  margin-left: 0;
  margin-right: auto;
}
.strength_content02 .strength_content_inner .right {
  border-radius: 0 20px 20px 0;
}
.strength_content02 .strength_content_inner .left img {
  top: -90px;
  left: 0;
}

.strength_content03 {
  background-image: url(../img/strengths/strengths_bg04.jpg);
}
.strength_content03 .strength_content_inner .left img {
  top: -70px;
  left: -160px;
}

/*----------------------------------------------------------------

staff

----------------------------------------------------------------*/
.staff_anchor_area {
  display: grid;
  grid-template-columns: repeat(3, 400px);
  gap: 45px;
  justify-content: center;
}

.staff_cont01 .kyoten_staff_area .kyoten_staff_card {
  transition: 0.4s;
  width: 30%;
  border: 1px solid #F5F5F5;
}
@media (hover: hover) and (pointer: fine) {
  .staff_cont01 .kyoten_staff_area .kyoten_staff_card:hover .arrow {
    transform: translateX(10px);
  }
  .staff_cont01 .kyoten_staff_area .kyoten_staff_card .arrow {
    transition: transform 0.4s;
  }
}
.staff_cont01 .kyoten_staff_area .kyoten_staff_card .upper {
  border-radius: 20px 20px 0 0;
}
.staff_cont01 .kyoten_staff_area .kyoten_staff_card .lower {
  border-radius: 0 0 20px 20px;
}

/*----------------------------------------------------------------

matching

----------------------------------------------------------------*/
.service_ph_area {
  padding-top: 100px;
}

.matching_cont01 .matching_cont01_inner {
  justify-content: space-between;
}
.matching_cont01 .matching_cont01_inner .left {
  width: 45%;
  background-image: url(../img/service/circle_blue.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.matching_cont01 .matching_cont01_inner .right {
  width: 50%;
}

.matching_cont02 {
  position: relative;
  z-index: 0;
  padding-top: 230px;
}
.matching_cont02 .gray_bg_img {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  top: 0;
  left: 0;
  z-index: 0;
}
.matching_cont02 .matching_line {
  background: #0D3781;
  width: 324px;
  height: 1px;
  margin-left: auto;
  margin-right: auto;
}
.matching_cont02 .matching_line_flex {
  display: flex;
  justify-content: space-between;
}
.matching_cont02 .matching_line_flex .matching_line_flex_card {
  border-radius: 0 0 40px 0;
  width: 31.25%;
}

.matching_cont03 .matching_cont03_inner .matching_merit_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 45px;
}
.matching_cont03 .matching_cont03_inner .matching_merit_flex .matching_merit_flex_card {
  width: 45%;
  border-radius: 0 0 40px 0;
}

.matching_merit_flex_contract {
  justify-content: center !important;
  gap: 40px !important;
}
.matching_merit_flex_contract .matching_merit_flex_card {
  width: 31% !important;
}

.contract_cont_title {
  width: 481px;
}

.contract_flex_area {
  display: flex;
  align-items: center;
  justify-content: start;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  gap: 20px;
  flex-wrap: wrap;
}
.contract_flex_area .contract_flex_circle {
  width: 240px;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.contract_flex_area .img {
  width: -moz-fit-content;
  width: fit-content;
}
.contract_flex_area .contract_flex_circle02 {
  background-color: #2369E5;
}
.contract_flex_area .contract_flex_circle03 {
  background-color: #3063BC;
}
.contract_flex_area .contract_flex_circle04 {
  background-color: #0D3781;
}

.transport_cont01 {
  background-image: url(../img/service/transport/tra_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.transport_cont01 .flex_flex {
  max-width: 1090px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  gap: 50px;
}

.transport_cont00 {
  padding-bottom: 200px;
}

.transport_cont01 {
  position: relative;
  z-index: 20;
  padding-bottom: 230px;
}
.transport_cont01 .gray_bg_img {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  top: 0;
  left: 0;
  z-index: 10;
}
.transport_cont01 .gray_bg_img02 {
  top: unset;
  left: unset;
  bottom: 0;
  right: 0;
}

.transport_cont02 {
  background-image: unset;
  background-color: #f5f5f5;
}

.philo_cont01 {
  background-image: url(../img/service/philosophy/phi_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 400px 0 400px !important;
  position: relative;
  z-index: 0;
}
.philo_cont01 .blue_bg_img {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  bottom: 0;
  right: 0;
  z-index: 10;
}
.philo_cont01 .philo_cont01_inner .philo_cont01_inner_content {
  background-color: #fff;
  border-radius: 150px;
  box-shadow: inset 0px 0px 20px 0 rgba(25, 127, 251, 0.5);
}
.philo_cont01 .philo_cont01_inner .philo_cont01_inner_content h3 {
  letter-spacing: 22px;
}
.philo_cont02 {
  overflow: hidden;
}
.philo_cont02 .philo_cont02_inner .right {
  position: relative;
  z-index: 0;
}
.philo_cont02 .philo_cont02_inner .right p {
  position: relative;
  z-index: 20;
}
.philo_cont02 .philo_cont02_inner .right .bg_img {
  position: absolute;
  bottom: -60px;
  left: 20px;
  z-index: 10;
}

.conduct_cont {
  position: relative;
  z-index: 0;
}
.conduct_cont .conduct_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  top: 0;
  left: 0;
  z-index: 10;
}
.conduct_cont .conduct_cont_inner {
  max-width: 1770px;
  margin-right: 0;
  margin-left: auto;
  width: 95%;
}
.conduct_cont .conduct_cont_inner .left {
  max-width: 640px;
}
.conduct_cont .conduct_cont_inner .right .conduct_content {
  border-radius: 40px 0 0 40px;
  box-shadow: 10px 10px 20px 0 rgba(25, 127, 251, 0.05);
}
/*----------------------------------------------------------------

recruit

----------------------------------------------------------------*/
.recruit_header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
}
.recruit_header .hamburger_contents h1 a {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0%, 90% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% 0%, 90% 100%, 0 100%);
}
.recruit_header .hamburger_contents .menu_trigger_recruit {
  cursor: pointer;
  border: 2px solid #0D3781;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.recruit_header .hamburger_contents .menu_trigger_recruit span {
  position: relative;
  z-index: 0;
  display: block;
  width: 25px;
  height: 3px;
  background-color: #0D3781;
  margin: 3px 0;
  transition: all 0.3s ease;
  transform-origin: center;
}
.recruit_header .hamburger_contents .menu_trigger_recruit.opened span:nth-of-type(1) {
  top: 10px;
  transform: rotate(-45deg);
}
.recruit_header .hamburger_contents .menu_trigger_recruit.opened span:nth-of-type(2) {
  opacity: 0;
}
.recruit_header .hamburger_contents .menu_trigger_recruit.opened span:nth-of-type(3) {
  transform: rotate(45deg);
  bottom: 7px;
}

/* 全画面メニュー表示エリア */
.menu_overlay {
  overflow-y: auto;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  display: none;
}
.menu_overlay .menu_content {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #F1F5F8;
  padding: 0;
  text-align: center;
  overflow-y: auto;
}
.menu_overlay .menu_content .menu_content_inner {
  margin-top: 200px;
}
.menu_overlay .menu_content .menu_content_inner .menu_content_inner_left {
  position: relative;
  z-index: 0;
}
.menu_overlay .menu_content .menu_content_inner .menu_content_inner_left small {
  text-align: left !important;
  position: relative;
  z-index: 10;
}
.menu_overlay .menu_content .menu_content_inner .menu_content_inner_left p {
  position: relative;
  z-index: 10;
}
.menu_overlay .menu_content .menu_content_inner .menu_content_inner_left .ham_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  top: 5vw;
  left: 0;
  z-index: 0;
}
.menu_overlay .menu_content .menu_content_inner .menu_content_inner_right {
  display: flex;
  gap: 4vw;
  position: relative;
  z-index: 20;
}
.menu_overlay .menu_content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.menu_overlay .menu_content li {
  margin: 30px 0;
}
.menu_overlay .menu_content a {
  text-align: left;
  width: 100%;
}
.menu_overlay .menu_content a:hover {
  opacity: 1;
  color: #197FFB;
}
.menu_overlay .menu_content .close_menu {
  position: absolute;
  top: 30px;
  right: 40px;
  background: none;
  border: none;
  font-size: 40px;
  cursor: pointer;
  color: white;
  transition: all 0.3s ease;
  display: none;
}
.menu_overlay .menu_content .close_menu:hover {
  transform: rotate(90deg);
  color: #ff6b6b;
}

.mv_sub_rec {
  background-image: url(../img/recruit/mv.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.mv_sub_rec .mv_sub_rec_text_area {
  position: absolute;
  top: 30vw;
  left: -3%;
  z-index: 0;
}
.mv_sub_rec .mv_sub_rec_line_area {
  position: absolute;
  top: 30vw;
  left: -3%;
  z-index: 0;
}
.mv_sub_rec .mv_sub_rec_line_area img {
  width: 100vw;
}
.mv_sub_rec .mv_sub_rec_text {
  font-size: 13vw;
  opacity: 0.9;
  white-space: nowrap;
}
.mv_sub_rec .mv_sub_inner_rec {
  position: relative;
  z-index: 10;
  display: flex;
  top: 40px;
}
.mv_sub_rec .mv_sub_inner_rec .mv_sub_inner_rec_left {
  position: relative;
  z-index: 0;
  left: 8vw;
  top: 0vw;
}
.mv_sub_rec .mv_sub_inner_rec .mv_sub_inner_rec_left img {
  width: 35vw;
}
.mv_sub_rec .mv_sub_inner_rec .mv_sub_inner_rec_slider {
  width: 38vw;
}
.mv_sub_rec .mv_sub_inner_rec .mv_sub_inner_rec_slider .slick-slide {
  width: 38vw;
}
.mv_sub_rec .mv_sub_inner_rec .mv_sub_inner_rec_slider img {
  width: 100%;
}
.mv_sub_rec .mv_rec_lower {
  position: relative;
  z-index: 40;
}

.recruit_message_area {
  overflow: hidden;
}
.recruit_message_area .recruit_message_area_inner .upper {
  display: flex;
}
.recruit_message_area .recruit_message_area_inner .upper .left {
  position: relative;
  z-index: 0;
  margin-right: 18.75vw;
}
.recruit_message_area .recruit_message_area_inner .upper .left .rec_title {
  position: relative;
  z-index: 10;
  line-height: 1.2;
  writing-mode: vertical-rl;
}
.recruit_message_area .recruit_message_area_inner .upper .left .bg_img {
  position: absolute;
  width: 800px;
  height: auto;
  top: 0;
  left: -350px;
  z-index: 0;
}
.recruit_message_area .recruit_message_area_inner .upper .right {
  position: relative;
  z-index: 20;
  max-width: 670px;
}
.recruit_message_area .recruit_message_area_inner .upper .right p {
  position: relative;
  z-index: 10;
}
.recruit_message_area .recruit_message_area_inner .upper .right .img {
  position: relative;
  z-index: 20;
}
.recruit_message_area .recruit_message_area_inner .upper .right .car_img {
  position: absolute;
  width: 50%;
  bottom: -60px;
  right: -180px;
  z-index: -1;
}
.recruit_message_area .recruit_message_area_inner .section_btn_rec {
  background-color: #197FFB;
}
@media (hover: hover) and (pointer: fine) {
  .recruit_message_area .recruit_message_area_inner .section_btn_rec:hover {
    opacity: 1;
    color: #197FFB;
    background-color: #fff;
  }
  .recruit_message_area .recruit_message_area_inner .section_btn_rec:hover span {
    color: #197FFB;
  }
}
.recruit_message_area .recruit_message_area_inner .section_btn_rec span {
  transition: 0.4s;
}
.recruit_message_area .recruit_message_area_inner .section_btn_rec:before {
  display: none;
}

.recruit_number_cont {
  background-image: url(../img/recruit/number_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 300px;
  padding-bottom: 200px;
  position: relative;
  z-index: 0;
}
.recruit_number_cont .blue02_bg_img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  z-index: 10;
}
.recruit_number_cont .blue02_bg_img02 {
  top: unset;
  bottom: 0;
}
.recruit_number_cont .recruit_number_content {
  background-color: #fff;
  max-width: 640px;
  border-radius: 0 0 80px 0;
  margin-left: 10%;
  margin-right: auto;
  width: 90%;
}
.recruit_number_cont .recruit_number_content span {
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .recruit_number_cont .recruit_number_content:hover {
    opacity: 1;
  }
  .recruit_number_cont .recruit_number_content:hover .right span {
    background-color: #fff;
    color: #197FFB;
  }
}
.recruit_number_cont01 {
  background-image: url(../img/recruit/job_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 200px;
  padding-bottom: 300px;
}
.recruit_number_cont01 .recruit_number_content01 {
  margin-right: 5%;
  margin-left: auto;
}

.recruit_benefits .recruit_benefits_inner {
  display: flex;
  max-width: 1770px;
  align-items: center;
  gap: 160px;
  width: 90%;
}
.recruit_benefits .recruit_benefits_inner .left {
  max-width: 960px;
}
.recruit_benefits .recruit_benefits_inner .right {
  max-width: 650px;
}
.recruit_benefits .recruit_benefits_inner .right .section_btn_rec {
  background-color: #197FFB;
}
@media (hover: hover) and (pointer: fine) {
  .recruit_benefits .recruit_benefits_inner .right .section_btn_rec:hover {
    opacity: 1;
    color: #197FFB;
    background-color: #fff;
  }
  .recruit_benefits .recruit_benefits_inner .right .section_btn_rec:hover span {
    color: #197FFB;
  }
}
.recruit_benefits .recruit_benefits_inner .right .section_btn_rec span {
  transition: 0.4s;
}
.recruit_benefits .recruit_benefits_inner .right .section_btn_rec:before {
  display: none;
}

.crosstalk_cont {
  padding-top: 240px;
  position: relative;
  z-index: 0;
}
.crosstalk_cont .crosstalk_cont_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.crosstalk_cont .crosstalk_cont_inner .titlearea {
  position: relative;
  z-index: 0;
}
.crosstalk_cont .crosstalk_cont_inner .titlearea p {
  position: relative;
  z-index: 10;
}
.crosstalk_cont .crosstalk_cont_inner .titlearea h3 {
  position: relative;
  z-index: 10;
}
.crosstalk_cont .crosstalk_cont_inner .titlearea .crosstalk_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
@media (hover: hover) and (pointer: fine) {
  .crosstalk_cont .crosstalk_cont_inner .crosstalk_btn:hover {
    opacity: 1;
  }
  .crosstalk_cont .crosstalk_cont_inner .crosstalk_btn:hover .right span {
    background-color: #fff;
    color: #00418E;
  }
}
.crosstalk_cont .crosstalk_cont_inner .crosstalk_btn span {
  transition: 0.4s;
}

.rec_flow_area {
  margin-top: 60px;
}
.rec_flow_area .rec_flow_slider img {
  margin: 0 20px;
}
.rec_flow_area .rec_flow_slider .slick-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.rec_flow_area_00 {
  margin-top: 0;
}

.gradient-bg {
  background: linear-gradient(90deg, #030C1B 0%, #197FFB 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  font-size: 175px;
}

.gradient-bg_sub {
  font-size: 36px;
}

.en_gradient {
  background: linear-gradient(90deg, #197FFB 0%, #2ED2FF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.gra_black_blue {
  background: linear-gradient(90deg, #030C1B 0%, #197FFB 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.requirement_cont {
  background-image: url(../img/recruit/requirement_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 280px 0;
}
.requirement_cont .requirement_cont_inner .requirement_btn {
  border-radius: 0 0 80px 0;
}
.requirement_cont .requirement_cont_inner .requirement_btn span {
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .requirement_cont .requirement_cont_inner .requirement_btn:hover {
    opacity: 1;
  }
  .requirement_cont .requirement_cont_inner .requirement_btn:hover .material-symbols-outlined {
    background-color: #00418E;
    color: #ffffff;
  }
}

.join_cont .join_cont_inner .join_title {
  text-align: center;
  font-size: 9.8vw;
}
.join_cont .join_cont_inner .contact_btn {
  transition: 0.4s;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.join_cont .join_cont_inner .contact_btn .left span,
.join_cont .join_cont_inner .contact_btn .left p {
  transition: 0.4s;
}
.join_cont .join_cont_inner .contact_btn .material-symbols-outlined {
  transition: 0.4s;
  border: 1px solid #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .join_cont .join_cont_inner .contact_btn:hover {
    opacity: 1;
    background: #fff;
    color: #0D3781;
  }
  .join_cont .join_cont_inner .contact_btn:hover .left span,
  .join_cont .join_cont_inner .contact_btn:hover .left p {
    color: #0D3781;
  }
  .join_cont .join_cont_inner .contact_btn:hover .material-symbols-outlined {
    border: 1px solid #0D3781;
    color: #0D3781;
  }
}

.pl_cont01 {
  padding-top: 240px;
  position: relative;
  z-index: 0;
}
.pl_cont01 .gray_bg_img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.pl_cont01 .pl_cont01_inner .upper hr {
  max-width: 324px;
  margin-left: auto;
  margin-right: auto;
}
.pl_cont01 .pl_cont01_inner .lower {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  gap: 35px;
}
.pl_cont01 .pl_cont01_inner .lower .circle {
  width: 184px;
  height: 184px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.pl_cont01 .pl_cont01_inner .lower .center_area {
  padding: 30px;
}
.pl_cont01 .pl_cont01_inner .lower .center_area .center_area_upper {
  display: flex;
  gap: 20px;
  align-items: center;
}
.pl_cont01 .pl_cont01_inner .lower .center_area .center_area_upper .center_card {
  background-color: #fff;
  border: 2px solid #00FFFF;
  width: 140px;
  height: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.pl_cont01 .pl_cont01_inner .lower .center_area .center_area_lower {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pl_cont01 .pl_cont01_inner .lower .center_area .center_area_lower .lower_card {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 2px solid #00FFFF;
}

.pl_cont02 {
  position: relative;
  z-index: 0;
  padding: 240px 0;
  background-image: url(../img/service/3pl/3pl_bg03.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.pl_cont02 .white_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.pl_cont02 .blue02_bg_img {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
}
.pl_cont02 .pl_cont02_inner .pl_cont02_flex {
  gap: 30px;
}
.pl_cont02 .pl_cont02_inner .pl_cont02_flex .pl_cont02_flex_content {
  width: 48%;
}

.pl_cont05 {
  position: relative;
  z-index: 0;
}
.pl_cont05 .blue02_bg_img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.pl_cont04 {
  background-image: url(../img/service/3pl/3pl_bg02.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 0;
}
.pl_cont04 .news_lower {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
}
.pl_cont04 .pl_cont04_flex .pl_cont04_flex_card {
  width: 48% !important;
  border-radius: 0 0 40px 0;
}

/*----------------------------------------------------------------

company

----------------------------------------------------------------*/
/*----------------------------------------------------------------

contact

----------------------------------------------------------------*/
.contact_cont .contact_cont_inner table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 70px;
}
.contact_cont .contact_cont_inner table th {
  width: 26%;
  vertical-align: top;
  text-align: left;
}
.contact_cont .contact_cont_inner table td {
  width: 74%;
  vertical-align: top;
}
.contact_cont .contact_cont_inner table input[type=text] {
  width: 100%;
  background: #fff;
  border: 1px solid #C0BFBF;
  box-sizing: border-box;
  padding: 8px 12px;
  font-size: 16px;
  border-radius: 0;
  outline: none;
  resize: vertical;
  height: 60px;
}
.contact_cont .contact_cont_inner table textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #C0BFBF;
  box-sizing: border-box;
  padding: 8px 12px;
  font-size: 16px;
  border-radius: 0;
  outline: none;
  resize: vertical;
  min-height: 210px;
  height: 210px;
}
.contact_cont .contact_cont_inner table input[type=checkbox] {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 1.5px solid #333333;
  border-radius: 50%;
  background: #fff;
  vertical-align: middle;
  cursor: pointer;
  margin: 0 3px 0 0;
  position: relative;
  display: inline-block;
  top: -2px;
}
.contact_cont .contact_cont_inner table input[type=checkbox]:checked {
  background: #0D3781;
  border-color: #0D3781;
}
.contact_cont .contact_cont_inner table label {
  cursor: pointer;
}
.contact_cont .contact_cont_inner .contact_checkbox {
  width: 30px;
  height: 30px;
  border: 1px solid #C0BFBF;
  border-radius: 10px;
  background: #fff;
  vertical-align: middle;
  cursor: pointer;
  margin: 0 3px 0 0;
  position: relative;
  display: inline-block;
  top: -2px;
  left: -10px;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
}
.contact_cont .contact_cont_inner .contact_checkbox:checked {
  background: #0D3781;
  border-color: #0D3781;
}
.contact_cont .contact_cont_inner label {
  cursor: pointer;
}
.contact_cont .contact_cont_inner .contact_checkbox_label {
  cursor: pointer;
}
.contact_cont .contact_cont_inner .contact_scroll {
  overflow-y: scroll;
  height: 200px;
  border: 1px solid #C0BFBF;
}
.contact_cont .contact_cont_inner .contact_btn {
  border: 1px solid #0D3781;
  transition: 0.4s;
}
.contact_cont .contact_cont_inner .contact_btn:hover {
  background: #fff;
  color: #0D3781;
}

.contact_tel_area .right {
  border-left: 1px solid #DCEFF3;
}

.anchor_area_pl {
  display: grid;
  grid-template-columns: repeat(2, 400px);
  gap: 45px;
  justify-content: center;
}
@media (hover: hover) and (pointer: fine) {
  .anchor_area_pl a:hover {
    opacity: 1;
  }
  .anchor_area_pl a:hover span {
    transform: translateY(10px);
    transition: transform 0.4s;
  }
}
.anchor_area_pl a span {
  transition: 0.4s;
}

/*----------------------------------------------------------------

recruit sub

----------------------------------------------------------------*/
.mv_sub_rec_sub {
  padding-bottom: 330px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.mv_sub_rec_sub_cross01 {
  background-image: url(../img/crosstalk01/mv.jpg);
}

.mv_sub_rec_sub_cross02 {
  background-image: url(../img/crosstalk02/mv.jpg);
}

.mv_sub_rec_sub_message {
  background-image: url(../img/message/mv.jpg);
}

.mv_sub_rec_sub_env {
  background-image: url(../img/environment/mv.jpg);
}

.mv_sub_rec_sub_career {
  background-image: url(../img/career/mv.jpg);
}

.mv_sub_rec_sub_rec {
  background-image: url(../img/recruitment/mv.jpg);
}

.mv_sub_rec_sub_entry {
  background-image: url(../img/entry/mv.jpg);
}

.mv_sub_rec_sub_num {
  background-image: url(../img/number/mv.jpg);
}

.crosstalk01_cont01 .crosstalk01_cont01_inner .crosstalk01_cont01_flex {
  display: flex;
  gap: 4vw;
}
.crosstalk01_cont01 .crosstalk01_cont01_inner .crosstalk01_cont01_flex .left {
  width: 50%;
}
.crosstalk01_cont01 .crosstalk01_cont01_inner .crosstalk01_cont01_flex .left img {
  width: 100%;
}
.crosstalk01_cont01 .crosstalk01_cont01_inner .crosstalk01_cont01_flex .right {
  width: 43%;
}

.crosstalk01_cont02 {
  padding-bottom: 250px;
  position: relative;
  z-index: 0;
}
.crosstalk01_cont02 .rec_bg {
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  right: 0;
}
.crosstalk01_cont03 .crosstalk01_cont03_inner .crosstalk01_cont03_inner_upper .right {
  width: 1120px;
  border-bottom: 3px dashed #00FFFF;
}
.crosstalk01_cont03 .crosstalk01_cont03_inner .crosstalk01_cont03_inner_lower {
  position: relative;
  z-index: 0;
  background-color: #fff;
  max-width: 1120px;
  margin-right: 0;
  margin-left: auto;
  box-shadow: 0 10px 40px 0 linear-gradient(to right, #197FFB 0%, #2ED2FF 100%);
}
.crosstalk01_cont03 .crosstalk01_cont03_inner .crosstalk01_cont03_inner_lower p {
  position: relative;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: #fff;
}

.crosstalk01_cont04 {
  background-color: #F1F5F8;
}
.crosstalk01_cont04 .crosstalk01_cont04_inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.crosstalk01_cont04 .crosstalk01_cont04_inner .talk_area {
  max-width: 1120px;
  width: 90%;
  margin-right: 0;
  margin-left: auto;
}
.crosstalk01_cont04 .crosstalk01_cont04_inner .talk_area .right {
  width: 100%;
  max-width: 930px;
}
.crosstalk01_cont04 .crosstalk01_cont04_inner .talk_area .right .comment_area {
  position: relative;
  background: #fff;
  max-width: 930px;
  width: 100%;
}
.crosstalk01_cont04 .crosstalk01_cont04_inner .talk_area .right .comment_area::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 30px;
  width: 0;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-right: 20px solid #fff;
}
.crosstalk01_cont04 .crosstalk_bg_area {
  background-image: url(../img/crosstalk01/bg01.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 600px;
}

.crosstalk01_cont04_02 {
  background-color: #FFFFFF;
}
.crosstalk01_cont04_02 .crosstalk01_cont04_inner .talk_area .right .comment_area {
  background: #F1F5F8;
}
.crosstalk01_cont04_02 .crosstalk01_cont04_inner .talk_area .right .comment_area::before {
  border-right: 20px solid #F1F5F8;
}
.crosstalk01_cont04_02 .crosstalk_bg_area {
  background-image: url(../img/crosstalk01/bg02.jpg);
}

.crosstalk01_cont04_03 .crosstalk_bg_area {
  background-image: url(../img/crosstalk01/bg03.jpg);
}

.crosstalk01_cont04_04 .crosstalk_bg_area {
  background-image: url(../img/crosstalk01/bg04.jpg);
}

.crosstalk01_cont04_05 .crosstalk_bg_area {
  background-image: url(../img/crosstalk01/bg05.jpg);
}

.crosstalk01_cont04_02_01 .crosstalk_bg_area {
  background-image: url(../img/crosstalk02/bg01.jpg);
}

.crosstalk01_cont04_02_02 .crosstalk_bg_area {
  background-image: url(../img/crosstalk02/bg02.jpg);
}

.crosstalk01_cont04_02_03 .crosstalk_bg_area {
  background-image: url(../img/crosstalk02/bg03.jpg);
}

.crosstalk01_cont04_02_04 .crosstalk_bg_area {
  background-image: url(../img/crosstalk02/bg04.jpg);
}

.rec_ban_area {
  position: relative;
  z-index: 0;
  padding: 220px 0;
}
.rec_ban_area .rec_ban_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  z-index: 10;
}
.rec_ban_area .rec_ban_bg01 {
  right: 0;
  top: 0;
}
.rec_ban_area .rec_ban_bg02 {
  left: 0;
  bottom: 0;
}
.rec_ban_area .rec_ban_area_inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.rec_ban_area .rec_ban_area_inner .rec_ban {
  background-color: #fff;
  border-radius: 0 0 40px 0;
  box-shadow: 0 0 20px 0 rgba(13, 55, 129, 0.2);
}
.rec_ban_area .rec_ban_area_inner_career {
  grid-template-columns: repeat(2, 1fr);
}

.message_cont02 {
  padding-top: 280px;
  position: relative;
  z-index: 0;
}
.message_cont02 .message_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  top: 0;
  left: 0;
  z-index: 10;
}
.message_cont02 .message_cont02_inner .message_text_area {
  position: relative;
  z-index: 0;
}
.message_cont02 .message_cont02_inner .message_text_area .bg_img {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
.message_cont02 .message_cont02_inner .message_text_area p {
  position: relative;
  z-index: 10;
}
.message_cont02 .message_cont02_inner .message_text_area h3 {
  position: relative;
  z-index: 10;
}
.message_cont02 .message_content_area {
  padding-bottom: 240px;
  background-image: url(../img/message/bg01.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.rec_ban_area_env {
  padding-top: 100px;
}
.rec_ban_area_env .env_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  bottom: -1px;
  left: 0;
  z-index: 10;
}

.rec_ban_area_rec {
  padding-top: 130px;
  padding-bottom: 220px;
}
.rec_ban_area_rec .rec_ban_area_inner {
  max-width: 840px;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
}
.rec_ban_area_rec .rec_ban_area_inner .rec_ban {
  background-color: #fff;
  border-radius: 0 0 40px 0;
  box-shadow: 0 0 20px 0 rgba(2, 4, 7, 0.2);
}
.message_cont02_02 {
  padding-top: 140px;
}
.message_cont02_02 .message_content_area {
  background-image: url(../img/message/bg02.jpg);
}

.env_cont01 {
  background-color: #F1F5F8;
}
.env_cont01 .env_cont01_inner .env_cont01_flexarea {
  gap: 40px;
  flex-wrap: wrap;
}
.env_cont01 .env_cont01_inner .env_cont01_flexarea .env_cont01_card {
  width: 31%;
  border: 1px solid #197FFB;
  box-shadow: 0 0 20px 0 rgba(25, 127, 251, 0.2);
  display: flex;
  align-items: center;
  flex-direction: column;
}
.env_cont01 .env_cont01_inner .env_cont01_flexarea01 .env_cont01_card {
  width: 620px;
  border: 1px solid #197FFB;
  box-shadow: 0 0 20px 0 rgba(25, 127, 251, 0.2);
  display: flex;
  align-items: center;
  flex-direction: row;
}
.env_cont01 .env_cont01_inner .env_cont01_flexarea01 .env_cont01_card .img {
  margin-right: 30px;
}

.env_bg_area {
  width: 100%;
  height: 640px;
  background-image: url(../img/environment/bg01.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.env_bg_area02 {
  background-image: url(../img/environment/bg02.jpg);
}

.env_bg_area03 {
  background-image: url(../img/environment/bg03.jpg);
}

.env_cont02 {
  background-color: #fff;
}

.env_cont03_wide {
  height: 210px;
  border: 1px solid #197FFB;
  box-shadow: 0 0 20px 0 rgba(25, 127, 251, 0.2);
}
.env_cont03_wide .wide_right {
  height: 100%;
}
.env_cont03_wide .wide_right img {
  height: 100%;
}

.req_cont01 {
  position: relative;
  z-index: 0;
  padding-bottom: 320px;
}
.req_cont01 .req_bg {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.req_white_area .req_white_area_inner {
  max-width: 1120px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.req_white_area .req_white_area_inner .req_white_content h5 {
  background-color: #F1F5F8;
}

.req001 {
  position: relative;
  z-index: 0;
}
.req001 .req_bg {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
}

.req_cont02 .req_cont02_inner .req_cont02_content {
  border-radius: 20px;
  border: 1px solid #0d3781;
}
.req_cont02 .req_cont02_inner .req_cont02_content .req_cont02_content_inner {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}
.req_cont02 .req_cont02_inner .req_cont02_content .req_cont02_content_inner p {
  border-top: 1px solid #0d3781;
}
.req_cont02 .req_cont02_inner .req_cont02_content .req_cont02_content_inner p:last-child {
  border-bottom: 1px solid #0d3781;
}

/*----------------------------------------------------------------

effort

----------------------------------------------------------------*/
.effort_cont01 {
  width: 100%;
}
.effort_cont01 .effort_cont01_inner {
  background-image: url(../img/effort/effort_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 750px;
  margin-top: -100px;
}

.effort_cont02 .effort_cont02_inner .left {
  position: relative;
  z-index: 10;
}
.effort_cont02 .effort_cont02_inner .left h3 {
  position: relative;
  z-index: 10;
}
.effort_cont02 .effort_cont02_inner .left .bg_img {
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  top: 0;
  left: 40%;
  transform: translateX(-50%);
  z-index: 0;
}

.effort_cont03 {
  position: relative;
  z-index: 0;
}
.effort_cont03 .gray_bg_effort {
  position: absolute;
  top: -2px;
  left: 0;
  z-index: 10;
  height: auto;
}
.effort_cont03 .effort_cont03_inner .white_content .border_area .border_blue_2px .border_blue_2px_inner {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.effort_cont03 .effort_cont03_inner .h5_text {
  text-decoration: underline;
  text-decoration-color: #0D3781;
  text-underline-offset: 15px;
  text-decoration-thickness: 1px;
}
.effort_cont03 .effort_cont03_inner .white_corporate picture {
  display: block;
  max-width: 915px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.effort_cont03 .effort_cont03_inner .white_corporate picture img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

/*----------------------------------------------------------------

contact

----------------------------------------------------------------*/
.contact_form_container {
  max-width: 1280px;
  margin: 0 auto;
  background-color: #fff;
}

.form_group {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #000000;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
}

.form_group.first_group {
  border-top: 1px solid #000000;
  padding-top: 30px;
}

.form_group:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.form_label_group {
  min-width: 200px;
  flex-shrink: 0;
}

.form_label {
  display: block;
  font-weight: 600;
  color: #333;
  letter-spacing: 1px;
}

.required_badge {
  color: #fff;
  font-weight: 400;
  padding: 2px 8px;
  border-radius: 3px;
  margin-left: 8px;
  letter-spacing: 0.5px;
}

.form_input_group {
  width: 100%;
}

.form_input {
  width: 100%;
  letter-spacing: 0px;
}

.form_input_name {
  width: 320px !important;
}

.form_input_age {
  width: 50px !important;
}

.form_input,
.form_select,
.form_textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #C7C7C7;
  border-radius: 0;
  font-family: inherit;
  transition: border-color 0.3s ease;
  letter-spacing: 0px;
}

.form_textarea {
  resize: vertical;
  min-height: 120px;
}

.checkbox_group {
  margin: 30px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #000000;
}

.checkbox_label_group {
  min-width: 200px;
  flex-shrink: 0;
}

.checkbox_content_group {
  width: 640px;
}

.checkbox_wrapper {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.checkbox_input {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #000000;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  top: 5px;
}

.submit_button {
  text-align: center;
  background-color: #E60012;
  color: #fff;
  font-weight: 700;
  padding: 15px 70px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color 0.3s ease;
  display: block;
  margin: 40px auto 0;
  width: 320px;
  transition: 0.4s;
}

.privacy_policy_text {
  border: 1px solid #C5C1C1;
  border-radius: 0;
  padding: 15px;
  height: 200px;
  overflow-y: auto;
}

.footer_entry_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}

.career_cont02 {
  position: relative;
  z-index: 0;
}
.career_cont02 .career_cont02_inner .time_area_sp {
  display: none;
}
.career_cont02 .career_bg {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}
.career_cont02 .career_bg02 {
  position: absolute;
  width: 100%;
  top: unset;
  left: 0;
  bottom: 0;
  z-index: 10;
}