/* -------------- */
/* subpage common */
/* -------------- */

/* subpage header */

.subpage_header {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 22.4rem;
  justify-content: space-between;
}

.subpage_header .deco {
  position: absolute;
  width: 19rem;
  left: -9rem;
  top: 5rem;
  z-index: -1;
}


.subpage_header .page_title {
  padding-left: 8vw;
  flex: 1 1 40%;
  min-width: 62rem;
  background: transparent;
  letter-spacing: 0.1em;
}

.subpage_header .page_title span {
  display: block;
}

.subpage_header .page_title .ja {
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 1.4;
  text-shadow: 0px 0px 2px #fff;
}

.subpage_header .page_title .en {
  font-size: 1.8rem;
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  letter-spacing: 0.15em;
  color: #0E5FC8;
  margin-top: 8px;
  text-transform: uppercase;
}

.subpage_header .header_image {
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.subpage_header .header_image img {
  height: 100%;
  width: auto;
}

@media screen and (max-width: 970px) {
  .subpage_header {
    flex-direction: column;
    height: initial;
    align-items: initial;
    width: 100%;
    padding-top: 4rem;
    gap: 2rem;
  }

  .subpage_header .deco {
    top: -5rem;
  }

  .subpage_header .header_image {
    position: relative;
    width: 100%;
    height: 10rem;
    margin: 0 0 0 auto;
    text-align: right;
  }

  .subpage_header .header_image img {
    width: auto;
    height: 100%;
    object-fit: contain;
    object-position: right;
  }

  .subpage_header .page_title .ja {
    font-size: 3.2rem;
  }
}

/* breadcrumb */

.breadcrumb {
  padding: 1.6rem 4rem;
}

.breadcrumb .breadcrumb_list {
  max-width: 1200px;
  margin: 0 auto;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumb .breadcrumb_list a {
  color: #18191A;
  text-decoration: none;
  transition-duration: 0.3s;
}

.breadcrumb .breadcrumb_list a,
.breadcrumb .breadcrumb_list span {
  font-size: 1.2rem;
  font-weight: 400;
}

.breadcrumb .breadcrumb_list a:hover {
  color: #0E5FC8;
  transition-duration: 0.3s;
}

.breadcrumb .breadcrumb_list li:not(:last-of-type)::after {
  content: ">";
  display: inline-block;
  padding: 0 4px;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 765px) {
  .breadcrumb {
    padding: 1.6rem 1rem;
  }
}

/* main content */

.secondlevel_subpage .main_content {
  padding: 6rem 0 10rem 0;
}

.secondlevel_subpage .main_content p {
  line-height: 1.5;
}

.secondlevel_subpage .main_content p.rich {
  line-height: 2;
}

@media screen and (max-width: 765px) {
  .secondlevel_subpage .main_content {
    padding: 5rem 0 10rem 0;
  }
}

/* headline */

.main_content .section_title {
  font-size: 3.2rem;
  font-weight: bold;
  position: relative;
  padding-bottom: 2.4rem;
  margin-bottom: 2.4rem;
}

.main_content .section_title::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 4px;
  background-color: #EDEDED;
  bottom: 0;
  left: 0;
}

.main_content .section_title::after {
  content: "";
  position: absolute;
  width: 100px;
  height: 4px;
  background-color: #0E5FC8;
  bottom: 0;
  left: 0;
}

.main_content .section_title.center {
  text-align: center;
}

.main_content .section_title.center::after {
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (max-width: 765px) {
  .main_content .section_title {
    font-size: 2.4rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }
}

/* anker link */

.anker_menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

@media screen and (max-width: 765px) {
  .anker_menu {
    gap: 0.5rem;
    justify-content: flex-start;
  }
}

/* toTop Button */

.toTop_btn {
  position: fixed;
  bottom: 2rem;
  right: 1rem;

}

.toTop_btn a.link_btn.anker {
  display: block;
  padding: 0;
  width: 3.6rem;
  height: 3.6rem;
}

.toTop_btn a.link_btn.anker span {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 5px 5px 10px rgba(14, 95, 200, 0.16);
}

.toTop_btn a.link_btn.anker span::after {
  transform: translateY(15%) rotate(-45deg);

}


/* ----------- */
/* cotact form */
/* ----------- */

.contact_form {
  padding-top: 10rem;
}

.contact_form .section_title {
  margin-bottom: 4rem;
}


.contact_form .lead_text {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 4rem;
  text-align: center;
}


.contact_form form {
  max-width: 800px;
  margin: 0 auto;
}

.contact_form .row {
  display: flex;
  width: 100%;
  margin-bottom: 1.6rem;
  align-items: flex-start;
  gap: 1.6rem;
}

.contact_form label {
  flex: 0 0 26rem;
  display: flex;
  justify-content: space-between;
  padding: 1rem;
  font-weight: bold;

}

.contact_form label.required::after {
  content: "必須";
  display: inline-block;
  border: 1px solid #F42424;
  color: #F42424;
  padding: 4px 8px;
  font-size: 1rem;
  height: fit-content;
  font-weight: 500;
}

.contact_form .input_bar {
  flex: 1 1 auto;
}

.contact_form input,
.contact_form select,
.contact_form textarea {
  padding: 1rem 1.6rem;
  border-radius: 1rem;
  border: 1px solid #AFAFAF;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-family: inherit;
}

.contact_form .attention {
  display: block;
  font-size: 1.2rem;
  margin-top: 8px;
}

.contact_form .scroll_text .title {
  padding: 8px;
  width: 100%;
  background-color: #0E5FC8;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

.contact_form .scroll_text .text_box {
  padding: 2rem 4rem;
  overflow-y: scroll;
  width: 100%;
  box-sizing: border-box;
  height: 20rem;
  border: 1px solid #707070;
}

.contact_form .scroll_text .content {
  font-size: 1.4rem;
  line-height: 1.5;
}

.contact_form .scroll_text .content p {
  margin-top: 1em;
}

.contact_form .scroll_text .content h1,
.contact_form .scroll_text .content h2 {
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 1em;
}

.contact_form .scroll_text .content ul,
.contact_form .scroll_text .content ol {
  padding-left: 1em;
  margin-top: 1em;
}

.contact_form .scroll_text .content li:not(:last-of-type) {
  margin-bottom: 1em;
}

.contact_form .submit_btn {
  width: fit-content;
  margin: 4rem auto 0 auto;
}

.contact_form button[type="submit"] {
  padding: 1.7rem 5rem;
  background-color: #163A74;
  color: #fff;
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  border-radius: 5rem;
  transition-duration: 0.3s;
}

.contact_form button[type="submit"]:hover {
  background-color: #3C91FF;
  transition-duration: 0.3s;
}

@media screen and (max-width: 765px) {

  .contact_form .row {
    display: block;
  }

  .contact_form label {
    max-width: 26rem;
  }
}

/* ------------------------ */
/* subpage for_corporations */
/* ------------------------ */

#field_list {
  margin-top: 4rem;
}

.field_list_menu {
  background-color: #EDEDED;
  border-radius: 1rem;
  padding: 4rem 2.5rem;
}

.field_list_menu .column4 {
  display: flex;
  gap: 1rem;
}

.field_list_menu .column4 div {
  flex: 1 1 25%;
}


.field_list_menu .column3 {
  display: flex;
  gap: 1rem;
}

.field_list_menu .column3 div {
  flex: 1 1 32%;
}

.field_list_menu .item .title {
  border-radius: 5rem;
  background-color: #0E5FC8;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 8px;
  width: 100%;
}

.field_list_menu .item .title span {
  display: block;
}

.field_list_menu .item .title .en {
  font-size: 1.4rem;
  font-weight: 400;
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

.field_list_menu .item .desc {
  padding: 0.8rem;
  font-size: 1.4rem;
}

.field_list_menu .item .icon {
  width: fit-content;
  margin: 1.6rem auto 0 auto;
}

.field_list_menu .item .icon img {
  width: auto;
  height: 8rem;
}

.field_list_menu .obj {
  text-align: center;
  width: 4.3rem;
  margin: 2.4rem auto 4rem auto;
}

@media screen and (max-width: 765px) {
  .field_list_menu {
    padding: 4rem 2rem;
  }

  .field_list_menu .column4 {
    flex-wrap: wrap;
    justify-content: center;
  }

  .field_list_menu .column4>div {
    flex: 1 1 48%;
    max-width: 48%;
  }

  .field_list_menu .column3 {
    flex-wrap: wrap;
    justify-content: center;
  }

  .field_list_menu .column3 div {
    flex: 1 1 100%;
    max-width: 27rem;
  }

  .field_list_menu .obj {
    margin: 2rem auto;
  }
}

#case_checklist {
  margin-top: 6rem;
}

#case_checklist .block_title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 4rem;
  text-align: center;
}

#case_checklist .column2 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}

#case_checklist .column2 li {
  flex: 1 1 48%;
}

.number_title {
  margin-bottom: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.number_title span {
  display: block;
}

.number_title .number {
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 3.6rem;
  font-weight: 600;
  margin-right: 1.2rem;
  color: #0E5FC8;
}

.number_title .title {
  font-size: 2.8rem;
  font-weight: bold;
}

.service_item {
  margin-top: 10rem;
}

.service_item .image_area {
  margin: 0 auto 4rem auto;
}

.service_item .image_area.slim {
  max-width: 65rem;
}

.service_item .column2 {
  display: flex;
  gap: 5rem;
  margin-bottom: 4rem;
}

.service_item .column2 div {
  flex: 1 1 50%;
}

.service_item .text_area .title {
  padding: 1rem 1.6rem;
  font-size: 2rem;
  position: relative;
  margin-bottom: 1.6rem;
}

.service_item .text_area .title::before {
  content: "";
  height: 100%;
  width: 3px;
  background: #0E5FC8;
  position: absolute;
  left: 0;
  top: 0;
}

.service_item .text_area p {
  padding: 0;
  line-height: 1.7;
}

@media screen and (max-width: 765px) {
  .service_item .column2 {
    flex-direction: column;
    gap: 4rem;
  }

  .service_item .column2 div {
    flex: 1 1 100%;
  }
}

.information_block {
  padding: 1.8rem;
  background-color: #EDEDED;
}

.information_block p {
  padding-bottom: 0;
  line-height: 1.5;
}

.information_block .title {
  font-size: 2rem;
  color: #0E5FC8;
}

.information_block p.sub_title {
  font-weight: bold;
  margin: 9px 0;
}

#service_detail_01_information .information_block p.desc {
  line-height: 1.7;
  margin-bottom: 2.4rem;
}


.flow_list.row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  list-style: none;
  flex-wrap: wrap;
}

.flow_list.row .flow_item {
  flex: 0 0 16.6%;
  padding: 16px;
  background: #fff;
  clip-path: polygon(0% 0%, 90% 0%, 100% 50%, 90% 100%, 0% 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 15rem;
  min-width: 15rem;
  margin-bottom: 1.6rem;
}

.flow_list.row .flow_item span {
  display: block;
  text-align: center;
}

.flow_list.row .flow_item .num {
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
  color: #0E5FC8;
  font-style: italic;
}

.flow_list.row .flow_item .desc {
  font-size: 1.8rem;
  font-weight: bold;
  min-height: 3em;
}

@media screen and (max-width: 765px) {
  .flow_list.row {
    flex-direction: column;
    gap: 0;

  }

  .flow_list.row .flow_item {
    clip-path: polygon(0% 0%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    margin-bottom: 0;
    padding-bottom: 3rem;
  }
}

#service_detail_02_information .field_list_menu {
  padding: 0;
  margin-top: 3.2rem;
}

#service_detail_02_information .information_block .desc {
  margin-top: 1.6rem;
}

/* -------------- */
/* subpage career */
/* -------------- */

#career .section {
  padding-bottom: 6rem;
}

#career #anker_link .anker_menu {
  gap: 1rem;
  justify-content: flex-start;
  padding-bottom: 4rem;
}

#career .lead_text {
  padding: 1.6rem 0 4rem 0;
  text-align: center;
  line-height: 2;
}

#career .lead_text.left {
  text-align: left;
}


#career .feature_item .column2 {
  display: flex;
  min-height: 36.5rem;
  position: relative;
}

#career .feature_item .column2:nth-of-type(even) {
  flex-direction: row-reverse;
}

#career .feature_item .column2:nth-of-type(even) .text_area {
  left: 0;
  right: auto;
}

#career .feature_item .image_area {
  width: 56%;
  height: inherit;
  overflow: hidden;
}

#career .feature_item .image_area img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}

#career .feature_item .text_area {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  left: auto;
  width: 60%;
  max-width: 64rem;
  background: rgba(255, 255, 255, 0.8);
  padding: 2.4rem 2.4rem 2.4rem 4rem;
  height: fit-content;
}

#career .feature_item .text_area .title {
  font-size: 2.4rem;
  margin-bottom: 1.6rem;
  color: #0E5FC8;
  font-weight: bold;
  position: relative;
}

#career .feature_item .text_area .title::after {
  content: "";
  width: 2rem;
  height: 5px;
  background-color: #EBEB3B;
  display: block;
  position: absolute;
  left: -4rem;
  top: 1.5rem;
}

#career .feature_item .text_area .desc {
  line-height: 2;
}

#career .feature_item .text_area dl {
  display: flex;
}

#career .feature_item .text_area dt {
  white-space: nowrap;
}


#career .recruit_block {
  display: flex;
}

#career .recruit_block:nth-of-type(even) {
  flex-direction: row-reverse;
}

#career .recruit_block .image_area,
#career .recruit_block .text_area {
  flex: 1 1 50%;
}

#career .recruit_block .image_area {
  height: inherit;
  width: 100%;
  overflow: hidden;
}

#career .recruit_block .image_area a {
  display: block;
  transition-duration: 0.3s;
}

#career .recruit_block .image_area a:hover {
  opacity: 0.6;
  transition-duration: 0.3s;
}

#career .recruit_block .image_area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#career .recruit_block .text_area {
  padding: 2rem 3rem;
}

#career .recruit_block .blcok_title {
  font-size: 2.4rem;
  margin-bottom: 2rem;
}

#career .recruit_block .sub {
  padding: 1rem 2rem;
  border-radius: 1rem;
  width: 100%;
  text-align: center;
  background-color: #0E5FC8;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

#career .recruit_block .desc {
  line-height: 2;
  margin-bottom: 1.6rem;
}

#career .recruit_block .link {
  width: fit-content;
  margin: 0 0 0 auto;
}

#career_field #field_list {
  padding: 0;
}

#career_field .field_list_menu .column3 {
  gap: 3rem;
}

/* #career_field .field_list_menu .desc {
  background-color: #EDEDED;
  border-radius: 1rem;
  margin-top: 1.6rem;
  min-height: 13.3rem;
} */

#career_field .field_list_menu .desc .ttl {
  font-size: 1.7rem;
  font-weight: bold;
  display: block;
  margin-bottom: 0.8rem;
}

@media screen and (max-width: 765px) {
  #career .lead_text {
    text-align: left;
  }

  #career #anker_link .anker_menu a {
    font-size: 1.4rem;
    padding: 1rem 4.5rem 1rem 2.5rem;
  }

  #career #anker_link .anker_menu a span:after {
    width: 10px;
    height: 10px;
    transform: translateY(-5%) rotate(135deg);
  }

  #career .feature_item .column2,
  #career .feature_item .column2:nth-of-type(even) {
    flex-direction: column;
  }

  #career .feature_item .image_area {
    width: 100%;
  }

  #career .feature_item .text_area {
    position: relative;
    width: 90%;
    margin: -10rem auto 4rem auto;
  }

  #career .recruit_block,
  #career .recruit_block:nth-of-type(even) {
    flex-direction: column;
  }

  #career .recruit_block:not(:last-of-type) {
    margin-bottom: 4rem;
  }

  #career .recruit_block .text_area {
    padding: 2rem 0;
  }
}

#career_support .career_support_item {
  display: flex;
  margin-bottom: 2.4rem;
  gap: 2.4rem;
}

#career_support .career_support_item .image_area {
  flex: 0 0 24.1rem;
  width: 24.1rem;
  border-radius: 1rem;
  overflow: hidden;
}

#career_support .career_support_item .text_area {
  padding: 0 0 1.6rem 2.4rem;
  line-height: 1.68;
}

#career_support .career_support_item .text_area .title {
  color: #0E5FC8;
  font-size: 2.4rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

@media screen and (max-width: 600px) {
  #career_support .career_support_item {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-bottom: 4rem;
  }

  #career_support .career_support_item .image_area {
    flex: initial;
  }

  #career_support .career_support_item .text_area {
    padding: 0;
  }
}

/* career flow */

#career_flow .column2 {
  display: flex;
  padding-top: 1.6rem;
}

#career_flow .column2 div {
  flex: 1 1 50%;
}

#career_flow .flow_list .flow_item {
  display: flex;
  gap: 2.4rem;
  width: 100%;
}

#career_flow .flow_list .flow_item .step {
  clip-path: polygon(0% 0%, 100% 0, 100% 80%, 50% 100%, 0 80%);
  background: #163A74;
  overflow: hidden;
  padding: 1rem 2rem 2.5rem 2rem;
  color: #fff;
  display: flex;
  align-items: center;
  flex-direction: column;
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 3rem;
  position: relative;
  flex: 0 0 9rem;
}

#career_flow .flow_list .flow_item .step small {
  font-size: 2.2rem;
}

#career_flow .flow_list .flow_item .step::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #0E5FC8;
  mix-blend-mode: screen;
}

#career_flow .flow_list .flow_item .s-01::after {
  opacity: 1;
}

#career_flow .flow_list .flow_item .s-02::after {
  opacity: 0.8;
}

#career_flow .flow_list .flow_item .s-03::after {
  opacity: 0.7;
}

#career_flow .flow_list .flow_item .s-04::after {
  opacity: 0.6;
}

#career_flow .flow_list .flow_item .s-05::after {
  opacity: 0.5;
}

#career_flow .flow_list .flow_item .s-06::after {
  opacity: 0.4;
}

#career_flow .flow_list .flow_item .s-07::after {
  opacity: 0.3;
}

#career_flow .flow_list .flow_item .s-08::after {
  opacity: 0;
}

#career_flow .flow_list .flow_item .desc .title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
  display: block;
}

#career_flow .flow_list .flow_item .desc {
  font-size: 1.4rem;
  font-weight: 400;
}

#career_flow .right_block {
  padding-left: 2.4rem;
}

#career_flow .right_block .sub_block_title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

#career_flow .right_block .lead_text {
  font-size: 2rem;
  text-align: left;
  margin-bottom: 2rem;
}

#career_flow .right_block .image_area {
  overflow: hidden;
  border-radius: 1rem;
  width: 90%;
  margin: 0 auto;
}

@media screen and (max-width: 765px) {
  #career_flow .column2 {
    flex-direction: column;
    gap: 4rem;
  }

  #career_flow .column2 div {
    flex: 1 1 100%;
  }

  #career_flow .right_block {
    padding-left: 0;
  }

  #career_flow .right_block .image_area {
    width: 100%;
    max-width: 40rem;
  }
}

/* career system */

#career_system .lead_text {
  text-align: left;
}

#career_system .lead_text dl {
  display: flex;
}

#career_system .lead_text dt {
  white-space: nowrap;
}

#career_system .information_for_center {
  padding: 2.4rem;
  background: #EDEDED;
  border-radius: 1rem;
}

#career_system .information_for_center .column2 {
  display: flex;
  gap: 4rem;
  align-items: center;
}

#career_system .information_for_center .text_area .info_title {
  color: #163A74;
  font-size: 2rem;
  margin-bottom: 2rem;
}

#career_system .information_for_center .text_area p {
  font-size: 1.8rem;
  line-height: 1.77;
}

#career_system .information_for_center .image_area {
  max-width: 36rem;
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
}


@media screen and (max-width: 765px) {
  #career_system .information_for_center .column2 {
    flex-direction: column;
  }
}

/* career welfare */

#career_welfare .lead_text {
  text-align: left;
}

#career_welfare .column3 {
  display: flex;
  gap: 5%;
  justify-content: center;
  margin-bottom: 4rem;
  padding-top: 1.6rem;
  flex-wrap: wrap;
}

#career_welfare .column2 {
  display: flex;
}

#career_welfare .column2 div {
  flex: 1 1 50%;
}

#career_welfare .column2 .image_area {
  padding: 0 2.4rem;
  box-sizing: border-box;
}

#career_welfare .welfare_item {
  width: 30%;
  min-width: 30rem;
}

#career_welfare .welfare_item .welfare_item_title::after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background-color: #0E5FC8;
}

#career_welfare .welfare_item .welfare_item_title .num {
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 3.6rem;
  color: #0E5FC8;
  margin-right: 1.8rem;
  display: inline-block;
  font-weight: 600;
  vertical-align: middle;
}

#career_welfare .welfare_item .welfare_item_title .title {
  font-size: 2.8rem;
  vertical-align: middle;
  font-weight: bold;
}

#career_welfare .welfare_item .icon {
  max-width: 7rem;
  margin: 2rem auto 1.6rem auto;
}


#career_welfare .welfare_item .desc {
  font-size: 1.8rem;
}

@media screen and (max-width: 765px) {

  #career_welfare .column3,
  #career_welfare .column2 {
    flex-direction: column;
  }

  #career_welfare .column2 div {
    flex: 1 1 100%;
  }

  #career_welfare .column2 .image_area {
    padding: 0;
    box-sizing: border-box;
    max-width: 40rem;
    margin: 0 auto;
  }

  #career_welfare .welfare_item {
    width: 100%;
    margin-bottom: 3rem;
  }
}

/* career faq */

#career_faq .faq_item {
  max-width: 800px;
  margin: 0 auto 1.6rem auto;

}

#career_faq .faq_item::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #163A74;
}

#career_faq .faq_item .Q::before,
#career_faq .faq_item .A::before {
  display: inline-block;
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 3.2rem;
  font-weight: bold;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ccc;
  border: 2px solid transparent;
  width: 5rem;
  height: 5rem;
  flex: 0 0 5rem;
}

#career_faq .faq_item .Q::before {
  content: "Q";
  background-color: #0E5FC8;
  color: #fff;
}

#career_faq .faq_item .A::before {
  content: "A";
  background: transparent;
  border-color: #0E5FC8;
  color: #0E5FC8;
}

#career_faq .faq_item .Q,
#career_faq .faq_item .A {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding-bottom: 1.6rem;
}

#career_faq .faq_item .Q {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  cursor: pointer;
}

#career_faq .faq_item .Q span {
  display: inline-block;
  vertical-align: middle;
  color: #0E5FC8;
  line-height: 1;
  width: 25px;
  height: 2px;
  background: currentColor;
  border-radius: 0.1em;
  position: relative;
  margin: 0 1rem 0 auto;
  flex: 0 0 2.5rem;
}

#career_faq .faq_item .Q span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  display: block;
  transition-duration: 0.3s;
}

#career_faq .faq_item .A {
  font-size: 1.8rem;
  font-weight: 500;
  height: 0;
  padding: 0;
  visibility: hidden;
  opacity: 0;
}

#career_faq .faq_item.is-show-ansower .A {
  height: initial;
  padding: 0 0 1.6rem 0;
  visibility: visible;
  transition-duration: 0.5s;
  opacity: 1;
}

#career_faq .faq_item.is-show-ansower .Q span::before {
  opacity: 0;
  transition-duration: 0.3s;
}

@media screen and (max-width: 765px) {
  #career_faq .lead_text {
    text-align: center;
  }

  #career_faq .faq_item .Q::before,
  #career_faq .faq_item .A::before {
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 3.5rem;
    font-size: 2.1rem;
  }

  #career_faq .faq_item .Q,
  #career_faq .faq_item .A {
    font-size: 1.6rem;
  }
}

#career .main_content {
  padding-top: 2rem;
}

#career #contact_form {
  padding-top: 2rem;
}

/* career banner */

#career_banner p {
  text-align: center;
  font-size: 1.4rem;
}

#career_banner .banner_list {
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  justify-content: center;
  list-style: none;
}

#career_banner .banner_list .list_item {
  flex: 0 0 20rem;
}

#career_banner .banner_list .list_item a {
  display: block;
  overflow: hidden;
  border:1px solid #EDEDED;
  cursor: pointer;
}

#career_banner .banner_list .list_item a:hover {
  opacity: 0.6;
}

/* -------------------------------- */
/* subpage career regular&temporary */
/* -------------------------------- */

.thirdlevel_subpage .leading_sentence p {
  padding: 1.6rem;
  background-color: #EDEDED;
  width: 100%;
  color: #163A74;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin: 2.4rem 0 8.4rem 0;
  border-radius: 1rem;
  line-height: 1.7;
}


.thirdlevel_subpage .section:not(:last-of-type) {
  padding-bottom: 10rem;
}

@media screen and (max-width: 765px) {
  .thirdlevel_subpage .leading_sentence p {
    font-size: 1.8rem;
    margin-bottom: 4rem;
  }

  .thirdlevel_subpage .section:not(:last-of-type) {
    padding-bottom: 6rem;
  }
}


@media screen and (max-width: 400px) {
  .thirdlevel_subpage .leading_sentence p br {
    display: none;
  }
}


.number_list_row {
  display: flex;
  gap: 1.3rem;
  border-bottom: 1px solid #18191A;
  padding: 1.3rem 1.3rem 1.3rem 0;
  max-width: 920px;
  margin: 0 auto;
}

.number_list_row dt {
  flex: 0 0 35.3rem;
}

.number_list_row .num {
  display: inline-block;
  font-size: 3.6rem;
  color: #0E5FC8;
  font-size: 600;
  font-family: "Open Sans", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  margin-right: 1.2rem;
  vertical-align: middle;
}

.number_list_row .title {
  font-size: 2.8rem;
  font-weight: bold;
  vertical-align: middle;
}

.number_list_row dd {
  font-size: 2rem;
  line-height: 1.5;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 765px) {
  .number_list_row {
    flex-direction: column;
  }

  .number_list_row dt {
    flex: initial;
  }

  .number_list_row .num {
    font-size: 2.4rem;
  }

  .number_list_row .title {
    font-size: 2rem;
  }

  .number_list_row dd {
    font-size: 1.6rem;
  }
}

#career_merit .image_area {
  padding-top: 4rem;
  max-width: 92rem;
  margin: 0 auto;
}


.feild_image.column3 {
  display: flex;
  justify-content: center;
}

.feild_image_item {
  flex: 1 1 28rem;
  padding: 3rem;
  max-width: 30rem;
}

.feild_image_item .title {
  background-color: #0E5FC8;
  color: #fff;
  text-align: center;
  font-weight: 500;
  font-size: 1.6rem;
  border-radius: 50rem;
  padding: 8px 0;
  margin-bottom: 2rem;
}

@media screen and (max-width: 765px) {
  .feild_image.column3 {
    flex-direction: column;
  }

  .feild_image_item {
    max-width: 30rem;
    margin: 0 auto;
    padding: 0 0 4rem 0;
  }
}


#career_fieldcategory .lead_text {
  text-align: center;
  font-weight: 400;
  font-size: 2rem;
  line-height: 2;
  margin: 4rem 0;
}


@media screen and (max-width: 765px) {
  #career_fieldcategory .lead_text {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 400px) {
  #career_fieldcategory .lead_text br {
    display: none;
  }
}

.voice_card {
  background-color: #0E5FC8;
  color: #fff;
  padding: 4rem;
  border-radius: 1rem;
}

.voice_card:not(:last-of-type) {
  margin-bottom: 4rem;
}

.voice_card .title_area {
  display: flex;
  gap: 3.2rem;
  align-items: center;
}

.voice_card .title_area .image_photo {
  flex: 0 0 30rem;
  overflow: hidden;
  border-radius: 1rem;
}

.voice_card .title_area .image_photo img {
  height: 100%;
  object-fit: cover;
}

.voice_card .title_area .image_icon {
  flex: 0 1 30rem;
  overflow: hidden;
}

.voice_card .title_area .image_icon img {
  max-width: 15.6rem;
  margin: 0 auto;
  display: block;
}

.voice_card .title_area .main_title {
  font-size: 2.6rem;
  line-height: 1.7;
  font-weight: bold;
}

.voice_card .title_area .main_title small {
  font-weight: 500;
  font-size: 1.6rem;
  display: block;
}

.voice_card .message_area {
  background-color: #fff;
  color: #18191A;
  padding: 2rem 4.5rem 1.6rem 1.6rem;
  display: flex;
  position: relative;
  border-radius: 2rem;
  margin-top: 2rem;
  align-items: center;
  cursor: pointer;
}

.voice_card .message_area span {
  background-color: #EBEB3B;
  width: 3.6rem;
  height: 3.6rem;
  display: flex;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  right: 1rem;
  top: 1.5rem;
  margin: auto;
  transition-duration: 0.3s;
}

.voice_card .message_area span::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #0E5FC8;
  line-height: 1;
  width: 12px;
  height: 12px;
  border: 0.2em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-15%) rotate(135deg);
  border-radius: 0.1em;
  margin: 0 auto;
  transition-duration: 0.3s;
}

.voice_card .message_area .sub_title {
  font-size: 2rem;
}

.voice_card .is-show-message p {
  margin: 1.6rem 0;
}

.voice_card .toggle_area {
  height: 0;
  opacity: 0;
  visibility: hidden;

}

.voice_card .is-show-message .toggle_area {
  height: 100%;
  opacity: 1;
  visibility: visible;
  transition-duration: 0.5s;
}

.voice_card .is-show-message span {
  transform: rotate(-180deg);
  transition-duration: 0.3s;
}

#career_voice .section_title {
  margin-bottom: 4rem;
}

#career_voice {
  padding-bottom: 10rem;
}

@media screen and (max-width: 765px) {
  .voice_card {
    padding: 2rem;
    max-width: 50rem;
    margin: 0 auto;
  }

  .voice_card .title_area {
    display: flex;
    gap: 3.2rem;
    flex-direction: column;
  }

  .voice_card .title_area .image_photo,
  .voice_card .title_area .image_icon {
    flex: initial;
  }

  #career_voice {
    padding-bottom: 6rem;
  }

}

/* ------------------- */
/* subpage staff login */
/* ------------------- */

#staff_login .form_category .column2 {
  display: flex;
  gap: 4rem;
}

#staff_login .login_form_area {
  flex: 1 1 50%;
  padding: 3rem 1.6rem;
  box-shadow: 5px 5px 10px rgba(14, 95, 200, 0.4);
  border-radius: 1rem;
}

#staff_login .login_form_area .title {
  background-color: #0E5FC8;
  color: #fff;
  padding: 1rem 2rem;
  width: 100%;
  border-radius: 1rem;
}

#staff_login .login_form_row {
  display: flex;
  width: 100%;
  padding: 2rem 0;
  align-items: flex-start;
  flex-direction: column;
}

#staff_login .login_form_row .item_name {
  font-weight: bold;
  margin-bottom: 1rem;
}

#staff_login .login_form_row .input_bar {
  flex: 1 1 auto;
  width: 100%;
}

#staff_login .login_form_row input {
  border: 1px solid #AFAFAF;
  border-radius: 1rem;
  padding: 1rem 1.6rem;
  background-color: #D1DFF2;
  width: 100%;
}

#staff_login .login_form_area .submit_btn {
  max-width: 28rem;
  background-color: #163A74;
  color: #fff;
  text-align: center;
  font-weight: bold;
  border-radius: 5rem;
  padding: 1.6rem;
  font-size: 2rem;
  display: block;
  width: 100%;
  margin: 2rem auto;
  transition-duration: 0.3s;
}

#staff_login .login_form_area .submit_btn:hover {
  background-color: #3C91FF;
  transition-duration: 0.3s;
}



@media screen and (max-width: 765px) {
  #staff_login .form_category .column2 {
    flex-direction: column;
  }
}

.main_content.documents {
  padding-top: 0;
}

.documents h2 {
  background-color: #0E5FC8;
  color: #fff;
  padding: 1.6rem 2.4rem;
  font-weight: bold;
  margin: 8rem 0 4rem 0;
}

.documents .pdf_lnk {
  padding: 1rem 1.4rem;
  display: inline-flex;
  border: 1px solid #0E5FC8;
  border-radius: 1rem;
  width: 33rem;
  color: #18191A;
  text-decoration: none;
  font-weight: bold;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  transition-duration: 0.3s;
  margin-bottom: 2rem;
  margin-right: 1.4rem;
}

.documents .pdf_lnk::before {
  content: "";
  display: block;
  width: 2.7rem;
  height: 3.2rem;
  margin-right: 0.8rem;
  background-image: url(../common/images/pdf_icon.png);background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.documents .pdf_lnk:hover {
  background-color: #EBEB3B ;
  transition-duration: 0.3s;
}

@media screen and (max-width: 810px) {
  .documents .pdf_lnk {
    width: 48%;
    min-width: 32rem;
    margin-right: 1rem;
  }
}

@media screen and (max-width: 700px) {
  .documents .pdf_lnk {
    width: 100%;
    min-width: initial;
  }
}

.normal_table.row {
  display: flex;
  padding: 1.6rem 0;
  border-bottom: 1px solid #aaa;
  align-items: center;
}

.normal_table.row:last-of-type {
  margin-bottom: 4rem;
}

.normal_table.row dt {
  flex: 0 0 20rem;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 765px) {
  .normal_table.row {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
  .normal_table.row dt {
    flex: initial;
   
  }
}