@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&Noto+Serif+JP:wght@500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/* base color */
/* origin color */
/* template color */
/* footer */
/* hamburger menu */
/* pagenavi */
/* contact page Navi*/
/* policy */
/* 404 */
/*.form */
.mincho {
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 500;
}

.-en {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}

.disp__only {
  display: none;
}
@media screen and (max-width: 900px) {
  .disp__only.--mobile {
    display: block;
  }
}
@media screen and (max-width: 450px) {
  .disp__only.--sp {
    display: block;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex._list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex._fdr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 900px) {
  .flex._fdr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c-title_front p {
  font-size: clamp(3.125rem, 11.1111111111vw, 6.25rem);
  font-weight: bold;
}
.c-title_front h2 {
  font-size: clamp(1.125rem, 2.2222222222vw, 1.25rem);
  color: red;
}
.c-title_lower p {
  font-size: clamp(1.5rem, 5.3333333333vw, 3rem);
  font-weight: bold;
  color: #ddd;
}
.c-title_lower h2 {
  font-size: clamp(1.125rem, 2.2222222222vw, 1.25rem);
}
.c-title_corporate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
@media screen and (max-width: 1200px) {
  .c-title_corporate {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media screen and (min-width: 1201px) {
  .c-title_corporate._vertical h2,
  .c-title_corporate._vertical p {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 1200px) {
  .c-title_corporate h2,
  .c-title_corporate p {
    line-height: 1 !important;
  }
}
.c-title_corporate h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: clamp(1.125rem, 2.6666666667vw, 1.5rem);
  font-weight: 700;
  line-height: 1.1;
}
.c-title_corporate h2::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 8px;
  height: auto;
  background-color: #2A348F;
  border-radius: 50%;
}
.c-title_corporate p {
  font-family: "Poppins", sans-serif;
  font-size: clamp(3.75rem, 13.3333333333vw, 7.5rem);
  font-weight: 500;
  line-height: 1.3;
}
.c-title_recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.c-title_recruit h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: clamp(1.125rem, 2.6666666667vw, 1.5rem);
  font-weight: 500;
  line-height: 1;
}
.c-title_recruit h2::before {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  width: 8px;
  height: auto;
  background-color: #1CA0FF;
  border-radius: 50%;
}
.c-title_recruit p {
  color: #1CA0FF;
  font-family: "Poppins", sans-serif;
  font-size: clamp(4rem, 13.3333333333vw, 7.5rem);
  font-weight: 500;
  line-height: 1;
}

.c-accordion {
  color: #333;
  background-color: #FAFAFA;
  padding: clamp(20px, 3.125vw, 40px);
  border-radius: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
.c-accordion + .c-accordion {
  margin-top: 8px;
}
@media (hover: hover) {
  .c-accordion:hover .-dtit .-icon {
    background-color: #F0F6FF;
  }
  .c-accordion:hover .-dtit path {
    fill: #2A348F;
  }
}
@media (hover: none) {
  .c-accordion {
    -webkit-transition: all 0s;
    transition: all 0s;
  }
  .c-accordion:active .-dtit .-icon {
    background-color: #F0F6FF;
  }
  .c-accordion:active .-dtit path {
    fill: #2A348F;
  }
}
.c-accordion .-dtit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 8px;
  border-bottom: 1px solid #2A348F;
  padding-bottom: 8px;
}
.c-accordion .-dtit .-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #2A348F;
  aspect-ratio: 24/40;
  width: 24px;
  height: auto;
  border-radius: 4px;
  overflow: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-accordion .-dtit .-icon svg {
  position: relative;
  aspect-ratio: 8/16;
  width: 8px;
  height: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-accordion .-dtit .-icon path {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.c-accordion .-dtit.-open svg {
  rotate: 180deg;
}
.c-accordion .-data {
  margin-top: 24px;
  font-size: 15px;
  font-weight: 500;
  line-height: 2;
}

@media screen and (max-width: 900px) {
  .c-mv {
    padding-bottom: 96px;
  }
}
.c-mv .bgUDextend::before {
  -webkit-animation-name: bgUDextendAnime;
          animation-name: bgUDextendAnime;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  content: "";
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: #2A348F;
}
.c-mv._r .bgUDextend::before {
  background-color: #1CA0FF;
}
.c-mv .c-mv_image {
  position: absolute;
  top: 0;
  right: 0;
  margin-left: auto;
  width: 81.25vw;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 4px 1fr 4px 1fr 4px 1fr;
  grid-template-columns: repeat(4, 1fr);
  -ms-grid-rows: 1fr;
  grid-template-rows: repeat(1, 1fr);
  gap: 4px;
}
.c-mv .c-mv_image > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.c-mv .c-mv_image > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.c-mv .c-mv_image > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
.c-mv .c-mv_image > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
}
@media screen and (max-width: 450px) {
  .c-mv .c-mv_image {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    width: 94.4vw;
    aspect-ratio: 354/467;
    height: auto;
  }
}
.c-mv .c-mv_image .slick-list {
  height: 100%;
}
.c-mv .c-mv_image figure {
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
.c-mv .c-mv_image figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.c-mv .c-mv_image figure:nth-of-type(1) {
  aspect-ratio: 322/433;
  width: auto;
  height: 41.4750957854%;
}
.c-mv .c-mv_image figure:nth-of-type(2) {
  aspect-ratio: 322/665;
  width: auto;
  height: 63.6973180077%;
}
.c-mv .c-mv_image figure:nth-of-type(3) {
  aspect-ratio: 322/1044;
  width: auto;
  height: 100%;
}
.c-mv .c-mv_image figure:nth-of-type(4) {
  aspect-ratio: 322/887;
  width: auto;
  height: 84.9616858238%;
}
.c-mv .c-mv_image figure:nth-of-type(5),
.c-mv .c-mv_image figure .slick-track {
  aspect-ratio: 175/364;
  width: auto;
  height: 77.9443254818%;
}
.c-mv .c-mv_image figure:nth-of-type(6),
.c-mv .c-mv_image figure .slick-track {
  aspect-ratio: 175/467;
  width: auto;
  height: 100%;
}
.c-mv._c {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  min-height: 65.25vw;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(229, 229, 229)), to(rgb(255, 255, 255)));
  background: linear-gradient(180deg, rgb(229, 229, 229) 0%, rgb(255, 255, 255) 100%);
}
@media screen and (max-width: 1200px) {
  .c-mv._c {
    margin-bottom: 76px;
  }
}
.c-mv._c .c-mv_head {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: auto auto 0;
  padding-right: 40px;
  padding-left: 40px;
  overflow: clip;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 1201px) {
  .c-mv._c .c-mv_head {
    padding-bottom: 14.3125vw;
  }
}
@media screen and (max-width: 450px) {
  .c-mv._c .c-mv_head {
    padding-top: 436px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.c-mv._c .c-mv_head h2 {
  font-size: clamp(2rem, 5.3333333333vw, 4rem);
  line-height: 1.5;
  color: #2A348F;
}
.c-mv._c .c-mv_head h2 br {
  display: block;
}
.c-mv._c .c-mv_head p {
  margin-top: 24px;
  font-family: "Poppins", sans-serif;
  font-size: clamp(0.875rem, 2vw, 1.125rem);
  font-weight: 500;
  line-height: 1.2;
}
.c-mv._r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  min-height: 65.25vw;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(231, 245, 255)), to(rgb(255, 255, 255)));
  background: linear-gradient(0deg, rgb(231, 245, 255) 0%, rgb(255, 255, 255) 100%);
}
.c-mv._r .c-mv_head {
  position: relative;
  width: 100%;
  max-width: 1280px;
  margin: auto auto 0;
  padding-right: 40px;
  padding-left: 40px;
  overflow: clip;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 450px) {
  .c-mv._r .c-mv_head {
    padding-top: 448px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.c-mv._r .c-mv_head h2 {
  font-size: clamp(2.5rem, 5.3333333333vw, 4rem);
  line-height: 1.5;
  color: #1CA0FF;
}
.c-mv._r .c-mv_head h2 br {
  display: block;
}
.c-mv._r .c-mv_head p {
  margin-top: 24px;
  font-family: "Poppins", sans-serif;
  font-size: clamp(0.875rem, 2vw, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
}

/* 色が敷かれてから表示 */
.bgextend {
  -webkit-animation-name: bgextendAnimeBase;
          animation-name: bgextendAnimeBase;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  opacity: 0;
}

@-webkit-keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*中の要素*/
.bgappear {
  -webkit-animation-name: bgextendAnimeSecond;
          animation-name: bgextendAnimeSecond;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*左から右*/
.bgLRextend::before {
  -webkit-animation-name: bgLRextendAnime;
          animation-name: bgLRextendAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #2A348F;
  z-index: 1;
}

.bgextend-w.bgLRextend::before {
  background-color: #fff;
}

.bgextend-cy::before {
  background-color: #1CA0FF;
}

@-webkit-keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
/*上から下*/
@media screen and (min-width: 1201px) {
  .bgUDextend::before {
    -webkit-animation-name: bgUDextendAnime;
            animation-name: bgUDextendAnime;
    -webkit-animation-duration: 1.2s;
            animation-duration: 1.2s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    content: "";
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #2A348F;
  }
}
@media screen and (max-width: 1200px) {
  .bgUDextend::before {
    -webkit-animation-name: bgLRextendAnime;
            animation-name: bgLRextendAnime;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #2A348F;
    z-index: 1;
  }
}

@-webkit-keyframes bgUDextendAnime {
  0% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  50% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  50.001% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
  }
  100% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}

@keyframes bgUDextendAnime {
  0% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  50% {
    -webkit-transform-origin: top;
            transform-origin: top;
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
  }
  50.001% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
  }
  100% {
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
  }
}
.progress {
  position: fixed;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 15;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.progress.is-hidden {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
  right: -100px;
}
@media screen and (max-width: 900px) {
  .progress {
    display: none;
  }
}
.progress._r ul li.is-active {
  color: #1CA0FF;
}
.progress._r .progress-wrapper ._bad {
  background: #1CA0FF;
}
.progress._r span {
  color: #1CA0FF;
}
.progress ul {
  list-style: none;
  padding: 0;
  margin: 0 0 10px;
}
.progress ul li {
  font-family: "Poppins", sans-serif;
  font-size: clamp(0.875rem, 1.6666666667vw, 0.9375rem);
  font-weight: 500;
  color: #E2E2E2;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.progress ul li.is-active {
  color: #2A348F;
}
.progress-wrapper {
  position: relative;
  width: 3px;
  height: 165px;
  background: #E2E2E2;
  overflow: hidden;
  margin-bottom: 10px;
}
.progress-wrapper ._bad {
  background: #2A348F;
  top: 0;
}
.progress-wrapper ._good {
  background: #E2E2E2;
  bottom: 0;
}
.progress-bar {
  position: absolute;
  width: 100%;
  height: 0;
}
.progress span {
  font-family: "Poppins", sans-serif;
  font-size: clamp(0.875rem, 1.6666666667vw, 0.9375rem);
  font-weight: 500;
  color: #2A348F;
  margin-top: 5px;
}
.progress .-js-menulink li {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  display: none;
}
.progress .-js-menulink li.is-active {
  opacity: 1;
  display: block;
  font-weight: 500;
}