@font-face {
  font-family: 'Fjalla One';
  src: url('/common/font/fjallaone-regular.eot');
  src: url('/common/font/fjallaone-regular.eot?#iefix') format('embedded-opentype'), url('/common/font/fjallaone-regular.woff') format('woff'), url('/common/font/fjallaone-regular.ttf') format('truetype'), url('/common/font/fjallaone-regular.svg#fjalla_oneregular') format('svg');
}
/* ==========================================================================
   recruit variable
   ========================================================================== */
/* font
  ========================================================================== */
/*Aleo*/
@font-face {
  font-family: "Aleo";
  font-style: normal;
  font-weight: 700;
  src: url("/common/font/Aleo/Aleo-Bold.woff2") format("woff2"), url("/common/font/Aleo/Aleo-Bold.ttf") format("truetype");
}
/*Noto Sans JP*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("/common/font/NotoSansJP/NotoSansJP-Light.woff2") format("woff2"), url("/common/font/NotoSansJP/NotoSansJP-Light.ttf") format("truetype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("/common/font/NotoSansJP/NotoSansJP-Regular.woff2") format("woff2"), url("/common/font/NotoSansJP/NotoSansJP-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("/common/font/NotoSansJP/NotoSansJP-Medium.woff2") format("woff2"), url("/common/font/NotoSansJP/NotoSansJP-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("/common/font/NotoSansJP/NotoSansJP-Bold.woff2") format("woff2"), url("/common/font/NotoSansJP/NotoSansJP-Bold.ttf") format("truetype");
}
/* ==========================================================================
   recruit about
   ========================================================================== */
.recruit-about_lead {
  color: #222;
  font-size: 1.6rem;
  line-height: 1.8;
}
.recruit-about_lead + .mod-anchor-list02 {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_lead + .mod-anchor-list02 {
    margin-top: 40px;
  }
}
.recruit-about_business:nth-child(n+2) {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_business:nth-child(n+2) {
    margin-top: 30px;
  }
}
.recruit-about_business_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 15px;
  background-color: #EEF2F9;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_business_inner {
    display: block;
  }
}
.recruit-about_business_image {
  width: 550px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_business_image {
    width: auto;
  }
}
.recruit-about_business_image img {
  max-width: 100%;
}
.recruit-about_business_content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_business_content {
    padding: 30px 25px;
  }
}
.recruit-about_business_title {
  color: #00559d;
  line-height: 1.3;
  font-size: 2.7rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_business_title {
    font-size: 2.2rem;
  }
}
.recruit-about_business_text {
  margin-top: 25px;
  color: #222;
  line-height: 1.8;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_business_text {
    margin-top: 20px;
    font-size: 1.5rem;
  }
}
.recruit-about_job {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job {
    gap: 20px 2.86%;
  }
}
.recruit-about_job_item {
  width: -webkit-calc(33.33% - 26.66px);
  width: calc(33.33% - 26.66px);
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_item {
    width: -webkit-calc(50% - 1.43%);
    width: calc(50% - 1.43%);
  }
}
.recruit-about_job_link {
  overflow: hidden;
  position: relative;
  display: block;
  height: 100%;
  border-radius: 15px;
  aspect-ratio: 1.41666667;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_link {
    border-radius: 10px;
    aspect-ratio: 1.21428571;
  }
}
.recruit-about_job_bg {
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.recruit-about_job_bg img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.recruit-about_job_link:hover .recruit-about_job_bg {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.recruit-about_job_text-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  padding: 60px 25px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_text-wrapper {
    padding: 30px 15px;
  }
}
.recruit-about_job_text {
  position: relative;
  border: 1.5px solid #fff;
  border-radius: 100px;
  padding: 18px 20px;
  width: 290px;
  min-height: 68px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_text {
    width: 100%;
    max-width: 100%;
    min-height: 46px;
    padding: 10px;
  }
}
.recruit-about_job_text:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: -webkit-calc(100% - 1px);
  width: calc(100% - 1px);
  height: 100%;
  margin: auto;
  backdrop-filter: blur(10px);
  border-radius: 100vw;
}
.recruit-about_job_label {
  position: relative;
  color: #fff;
  font-size: 2.3rem;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_label {
    font-size: 1.6rem;
  }
}
.recruit-about_job_trigger {
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 38px;
  height: 38px;
  background-color: #fff;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_trigger {
    right: 7px;
    bottom: 7px;
    width: 21px;
    height: 21px;
  }
}
.recruit-about_job_trigger:before,
.recruit-about_job_trigger:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 14px;
  height: 2px;
  background-color: #00559d;
  margin: auto;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_trigger:before,
  body:not(.non-responsive) .recruit-about_job_trigger:after {
    width: 9px;
    height: 1px;
  }
}
.recruit-about_job_trigger:after {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}
.recruit-about_job_modal-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(50px);
  background: rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  z-index: 10000;
  /* 初期状態: 非表示 */
  opacity: 0;
  visibility: hidden;
}
.recruit-about_job_modal-wrapper.is-visible {
  opacity: 1;
  visibility: visible;
}
.recruit-about_job_modal {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 970px;
  max-height: -webkit-calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  /* 初期状態: 非表示 */
  display: none;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal {
    max-width: 600px;
    max-height: -webkit-calc(100vh - 20px);
    max-height: calc(100vh - 20px);
    padding: 20px;
  }
}
.recruit-about_job_modal.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.recruit-about_job_modal * {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.04em;
}
.recruit-about_job_modal_inner {
  position: relative;
  overflow-y: auto;
  width: 100%;
  height: 100%;
}
.recruit-about_job_modal_content-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  background-color: #fff;
  border-radius: 15px;
}
.recruit-about_job_modal_link_close {
  position: absolute;
  top: 15px;
  right: 15px;
  border-radius: 100vw;
  border: none;
  width: 44px;
  height: 44px;
  background: url(/company/recruit/img/common/modal_close.png) no-repeat center;
  background-size: 14px;
  background-color: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}
.recruit-about_job_modal_link_close:hover {
  top: 9px;
  right: 9px;
  width: 56px;
  height: 56px;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_close {
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    background-size: 12px;
  }
}
.recruit-about_job_modal_heading {
  position: relative;
}
.recruit-about_job_modal_heading:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 185px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.5)));
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_heading:before {
    height: 35.9vw;
  }
}
.recruit-about_job_modal_heading img {
  max-width: 100%;
}
.recruit-about_job_modal_title {
  position: absolute;
  bottom: 30px;
  left: 50px;
  color: #fff;
  line-height: 1.3;
  font-weight: bold;
  font-size: 4.2rem;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_title {
    bottom: 20px;
    left: 20px;
    font-size: 2.5rem;
  }
}
.recruit-about_job_modal_content {
  padding: 40px 50px 50px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_content {
    padding: 25px 20px 30px;
  }
}
.recruit-about_job_modal_text {
  color: #222;
  line-height: 1.8;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_text {
    font-size: 1.5rem;
  }
}
.recruit-about_job_modal_link {
  position: relative;
  display: block;
  margin-top: 40px;
  padding: 18px 86px 18px 36px;
  border-radius: 15px;
  border: 4px solid #EEF2F9;
  background-color: #EEF2F9;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link {
    margin-top: 30px;
    border: none;
    padding: 15px;
  }
}
.recruit-about_job_modal_link:hover {
  background-color: transparent;
}
.recruit-about_job_modal_link_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_inner {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}
.recruit-about_job_modal_link_image {
  overflow: hidden;
  width: 110px;
  height: 110px;
  border-radius: 100vw;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_image {
    width: 55px;
    height: 55px;
  }
}
.recruit-about_job_modal_link_image img {
  max-width: 100%;
}
.recruit-about_job_modal_link_content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 35px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_content {
    margin-left: 10px;
  }
}
.recruit-about_job_modal_link_head {
  color: #00559d;
  letter-spacing: 0;
  font-family: "Aleo", sans-serif;
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_head {
    font-size: 1.7rem;
  }
}
.recruit-about_job_modal_link_text {
  margin-top: 3px;
  color: #222;
  line-height: 1.5;
  font-weight: bold;
  font-size: 2.2rem;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_text {
    font-size: 1.5rem;
  }
}
.recruit-about_job_modal_link:hover .recruit-about_job_modal_link_text {
  color: #00559d;
}
.recruit-about_job_modal_link_text02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 10px;
  color: #666;
  line-height: 1.5;
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_text02 {
    display: block;
    padding-right: 25px;
  }
}
.recruit-about_job_modal_link_text02 > span {
  display: block;
}
.recruit-about_job_modal_link_text02 > span:nth-child(n+2) {
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_text02 > span:nth-child(n+2) {
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_text02 {
    font-size: 1rem;
  }
}
.recruit-about_job_modal_link_icon {
  position: absolute;
  top: 0;
  right: 31px;
  bottom: 0;
  margin: auto 0;
  width: 50px;
  height: 50px;
  background-color: #00559d;
  border-radius: 100vw;
  border: 2px solid #00559d;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_icon {
    top: auto;
    right: 10px;
    bottom: 10px;
    width: 28px;
    height: 28px;
  }
}
.recruit-about_job_modal_link_icon:before,
.recruit-about_job_modal_link_icon:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link_icon:before,
  body:not(.non-responsive) .recruit-about_job_modal_link_icon:after {
    width: 10px;
    height: 10px;
  }
}
.recruit-about_job_modal_link_icon:before {
  background: url(/company/recruit/img/common/icon_arrow_white.png) no-repeat;
  background-size: 100% auto;
  opacity: 1;
}
.recruit-about_job_modal_link_icon:after {
  background: url(/company/recruit/img/common/icon_arrow_blue.png) no-repeat;
  background-size: 100% auto;
  opacity: 0;
}
.recruit-about_job_modal_link:hover .recruit-about_job_modal_link_icon {
  right: -webkit-calc(31px - 7.5px);
  right: calc(31px - 7.5px);
  width: 65px;
  height: 65px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_job_modal_link:hover .recruit-about_job_modal_link_icon {
    right: 10px;
    width: 28px;
    height: 28px;
  }
}
.recruit-about_job_modal_link:hover .recruit-about_job_modal_link_icon:before {
  opacity: 0;
}
.recruit-about_job_modal_link:hover .recruit-about_job_modal_link_icon:after {
  opacity: 1;
}
.recruit-about_table-wrapper {
  position: relative;
  /* 左側のグラデーション */
  /* 右側のグラデーション */
}
.recruit-about_table-wrapper:before,
.recruit-about_table-wrapper:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 15px;
  pointer-events: none;
  z-index: 10;
  -webkit-transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
  transition: 0.3s cubic-bezier(0.18, -0.01, 0.3, 1);
}
.recruit-about_table-wrapper:before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#ffffff), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, #ffffff, rgba(255, 255, 255, 0));
  background: linear-gradient(to right, #ffffff, rgba(255, 255, 255, 0));
  opacity: 0;
}
.recruit-about_table-wrapper:after {
  right: 0;
  background: -webkit-gradient(linear, right top, left top, from(#ffffff), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(right, #ffffff, rgba(255, 255, 255, 0));
  background: linear-gradient(to left, #ffffff, rgba(255, 255, 255, 0));
  opacity: 1;
  /* 初期は右端が表示されている状態 */
}
.recruit-about_table-wrapper.is-scrolled-from-left:before {
  opacity: 1;
}
.recruit-about_table-wrapper.is-scrolled-to-right:after {
  opacity: 1;
}
.recruit-about_table-wrapper:not(.is-scroll-to-right):after {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
  }
}
.recruit-about_table > table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table > table {
    width: 700px;
    min-width: 100%;
  }
}
.recruit-about_table > table th,
.recruit-about_table > table td {
  border: 1px solid #B7B7B7;
  padding: 12px;
  line-height: 1.3;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table > table th,
  body:not(.non-responsive) .recruit-about_table > table td {
    padding: 12px 8px;
  }
}
.recruit-about_table > table thead th {
  font-weight: bold;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table > table thead th {
    font-size: 1.4rem;
  }
}
.recruit-about_table > table thead th:first-child {
  background-color: #E3E9F3;
  color: #222;
  width: 240px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table > table thead th:first-child {
    width: 140px;
  }
}
.recruit-about_table > table thead th:nth-child(n+2) {
  background-color: #00559d;
  color: #fff;
}
.recruit-about_table > table tbody th,
.recruit-about_table > table tbody td {
  padding: 18px 20px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table > table tbody th,
  body:not(.non-responsive) .recruit-about_table > table tbody td {
    padding: 12px 10px;
  }
}
.recruit-about_table > table tbody th {
  background-color: #EEF2F9;
  text-align: left;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table > table tbody th {
    font-size: 1.4rem;
  }
}
.recruit-about_table > table tbody td {
  text-align: center;
}
.recruit-about_table > table tbody td:nth-child(odd) {
  background-color: #F5F7FB;
}
.recruit-about_table_check {
  font-size: 2.4rem;
  color: #00559d;
  line-height: 1;
}
.recruit-about_table_scroll-hint {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 15px;
  color: #00559d;
  line-height: 1.3;
  font-size: 1.4rem;
}
.recruit-about_table_scroll-hint:before {
  content: "";
  display: block;
  width: 39px;
  height: 25px;
  background: url(/company/recruit/img/common/scroll_sp.png) no-repeat center;
  background-size: 100% auto;
  margin-right: 11px;
}
@media screen and (max-width: 768px) {
  body:not(.non-responsive) .recruit-about_table_scroll-hint {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
