@charset "UTF-8";
/*********************************/
/*          MainVisual           */
/*********************************/
.mv {
  position: relative;
  overflow: hidden;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}

.mv::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #191919;
  mix-blend-mode: multiply;
  opacity: 0.4;
  pointer-events: none;
  z-index: 1;
}

.mv video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.mv__title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 136vw;
  width: 100%;
  z-index: 2;
  transition: opacity 0.6s ease, transform 0.6s ease;
  opacity: 1;
  padding-left: 5.0666666667vw;
  padding-right: 5.0666666667vw;
}
@media screen and (min-width: 1025px) {
  .mv__title {
    max-width: clamp(56.25rem, 47.661rem + 13.41vw, 63.75rem);
    padding-left: 0;
    padding-right: 0;
  }
}

.mv__title--top {
  opacity: 0.2;
}

.mv__title--bottom {
  mix-blend-mode: overlay;
}

.mv__title.is-hidden {
  display: block;
  opacity: 0;
  transform: translate(-50%, -60%);
  pointer-events: none;
}

.mv__mask {
  position: fixed;
  top: 0;
  width: 50%;
  height: 100%;
  background: #000;
  z-index: 10000;
}

.mv__mask--left {
  left: 0;
  animation: maskLeftOpen 1.5s ease forwards;
  animation-delay: 1.5s; /* 3秒待ってから開始 */
}

.mv__mask--right {
  right: 0;
  animation: maskRightOpen 1.5s ease forwards;
  animation-delay: 1.5s; /* 3秒待ってから開始 */
}

@keyframes maskLeftOpen {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(-100%);
    opacity: 0;
  }
}
@keyframes maskRightOpen {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}
.company {
  margin-top: 100vh;
  backdrop-filter: blur(7px) brightness(65%);
  -webkit-backdrop-filter: blur(7px) brightness(65%);
  background-color: rgba(11, 48, 116, 0.7);
  position: relative;
  overflow: hidden;
}

.company__inner {
  position: relative;
  max-width: 256vw;
  margin-inline: auto;
  padding-left: 5.0666666667vw;
  padding-right: 5.0666666667vw;
  padding-top: 121.8666666667vw;
  padding-bottom: 88.5333333333vw;
}
@media screen and (min-width: 1025px) {
  .company__inner {
    max-width: 1920px;
    padding-top: 39.58333333%;
    padding-bottom: 18.75%;
    padding-left: 0;
    padding-right: 0;
  }
}

.company__body {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .company__body {
    padding-left: 50%;
  }
}

.company__body::before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.company__body::after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.company__catch {
  position: absolute;
  font-size: 10.6666666667vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.8888888889;
  color: #f5f5f5;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 1025px) {
  .company__catch {
    font-size: clamp(4.063rem, 0.126rem + 6.15vw, 7.5rem);
  }
}
.company__catch span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  transition-property: opacity, transform;
  transition-duration: 0.4s;
  transition-timing-function: ease;
}

.company__catch--top {
  position: absolute;
  top: 15.4666666667vw;
  left: 0;
  color: rgba(4, 34, 90, 0.5);
  line-height: 1.1;
}
@media screen and (min-width: 1025px) {
  .company__catch--top {
    top: 10%;
    left: 1.5%;
    line-height: 1.2;
  }
}

.company__catch-bottom {
  position: absolute;
  bottom: 12vw;
  left: 13.3333333333vw;
  color: rgba(4, 34, 90, 0.85);
}
@media screen and (min-width: 1025px) {
  .company__catch-bottom {
    bottom: 4.42708333%;
    left: 1.5%;
  }
}

.company__catch--topBottom {
  position: absolute;
  top: 17.3333333333vw;
  left: 32vw;
}

.company_body {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .company_body {
    transform: translateX(50%);
  }
}

.company__title {
  color: #fff;
  font-size: 6.4vw;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.8333333333;
}
@media screen and (min-width: 1025px) {
  .company__title {
    font-size: 56px;
    line-height: 1.57;
  }
}

.company__text {
  color: #fff;
  font-size: 4.5333333333vw;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 2.0588235294;
  margin-top: 16vw;
}
@media screen and (min-width: 1025px) {
  .company__text {
    font-size: 18px;
    margin-top: 120px;
    line-height: 3.77;
  }
}

.company__btn {
  margin-top: 16vw;
  font-size: 5.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-left: auto;
}
@media screen and (min-width: 1025px) {
  .company__btn {
    margin-top: 120px;
    margin-left: 0;
  }
}

.company__img {
  position: absolute;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
}

.company__img--top {
  max-width: 153.6vw;
  width: 90vw;
  top: 10.6666666667vw;
  left: 0;
  z-index: 5;
}
@media screen and (min-width: 1025px) {
  .company__img--top {
    width: 60%;
    top: 6.25%;
    left: 0;
  }
}

.company__img--middle {
  max-width: 60vw;
  width: 48vw;
  top: 57.3333333333vw;
  right: 0;
  z-index: 5;
}
@media screen and (min-width: 1025px) {
  .company__img--middle {
    width: 23.4375%;
    top: 15.625%;
    right: 0;
  }
}

.company__img--bottom {
  max-width: 76.8vw;
  width: 50vw;
  bottom: 16vw;
  left: 5.0666666667vw;
  z-index: 5;
}
@media screen and (min-width: 1025px) {
  .company__img--bottom {
    width: 30%;
    bottom: 9.79166667%;
    left: 10%;
  }
}

.bg {
  overflow: hidden;
  background-color: #fff;
}

.work {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.work__inner {
  position: relative;
  padding-top: 32vw;
  padding-bottom: 15.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .work__inner {
    padding-top: 240px;
    padding-bottom: 240px;
  }
}

.work__body {
  position: relative;
}

.work__body::before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.work__body::after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.work__head {
  position: relative;
  margin-bottom: 16vw;
}
@media screen and (min-width: 1025px) {
  .work__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
  }
}
.work__head h2 {
  margin-bottom: 70px;
}
@media screen and (min-width: 1025px) {
  .work__head h2 {
    margin-bottom: 0;
  }
}

.work__swiper {
  position: relative;
  top: 0;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .work__swiper {
    margin-right: calc(50% - 50vw);
    margin-top: 120px;
  }
}

.work__swiper .swiper-wrapper {
  display: flex;
  will-change: transform;
  transition: transform 0.2s linear;
  cursor: grab;
}

.work__text {
  font-size: 4.2666666667vw;
  font-weight: bold;
  margin-top: 5.3333333333vw;
  color: #0b3074;
}
@media screen and (min-width: 1025px) {
  .work__text {
    font-size: 18px;
    margin-top: 40px;
  }
}

.work__item.swiper-slide {
  padding-right: 5.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .work__item.swiper-slide {
    padding-right: 40px;
  }
}

.work__btn {
  margin-top: 16vw;
  margin-left: auto;
  font-size: 5.3333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1025px) {
  .work__btn {
    margin-top: 120px;
  }
}

.work__btn.btn::before {
  top: 62%;
}

.swiper-progress {
  position: relative;
  height: 2px;
  background: #989898;
  max-width: 18vw;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .swiper-progress {
    max-width: 100px;
  }
}

.swiper-progress-bar {
  width: 0;
  height: 100%;
  background: #0b3074;
}

.work__swiperArrows {
  max-width: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 1025px) {
  .work__swiperArrows {
    max-width: 453px;
  }
}

.work__swiperBtns {
  display: flex;
  align-items: center;
  gap: 4.2666666667vw;
}
@media screen and (min-width: 1025px) {
  .work__swiperBtns {
    gap: 32px;
  }
}

.work__swiperArrows .swiper-button-next:after,
.work__swiperArrows .swiper-button-prev:after {
  content: "";
}

.work__swiperArrows .swiper-button-next,
.work__swiperArrows .swiper-button-prev {
  position: relative;
  top: 0;
  right: 0;
  left: 0;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  transition: 0.3s;
}
@media screen and (min-width: 1025px) {
  .work__swiperArrows .swiper-button-next,
  .work__swiperArrows .swiper-button-prev {
    width: 80px;
    height: 80px;
  }
}
.work__swiperArrows .swiper-button-next svg,
.work__swiperArrows .swiper-button-prev svg {
  transition: 0.3s;
  border-radius: 50%;
}
.work__swiperArrows .swiper-button-next:hover svg,
.work__swiperArrows .swiper-button-prev:hover svg {
  background-color: #0b3074;
}
.work__swiperArrows .swiper-button-next:hover svg g path,
.work__swiperArrows .swiper-button-prev:hover svg g path {
  stroke: #f5f5f5;
}

.icon {
  cursor: pointer;
  transition: all 0.3s ease;
}

.work .swiper-counter {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  max-width: 34.6666666667vw;
  width: 100%;
  color: #0b3074;
  font-size: 4.2666666667vw;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .work .swiper-counter {
    font-size: 20px;
    max-width: 180px;
  }
}

.machines {
  position: relative;
  color: #f5f5f5;
  padding-left: 5.0666666667vw;
  padding-right: 5.0666666667vw;
  padding-top: 40vw;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .machines {
    padding-top: 300px;
    padding-left: 0;
    padding-right: 0;
  }
}

.machines::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/top/machines_bg.png);
  background-size: cover;
  background-position: 0 0;
  background-repeat: no-repeat;
  opacity: 0.3;
  mix-blend-mode: multiply;
}

.machines__inner {
  position: relative;
  padding-top: 32vw;
  padding-bottom: 32vw;
  max-width: 256vw;
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .machines__inner {
    max-width: 1920px;
    padding-top: 240px;
    padding-bottom: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.machines__catch {
  position: absolute;
  top: 5.3333333333vw;
  left: 0vw;
}
@media screen and (min-width: 1025px) {
  .machines__catch {
    top: -140px;
    left: -10px;
  }
}
.machines__catch span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  transition-property: opacity, transform;
  transition-duration: 0.4s;
  transition-timing-function: ease;
  background: linear-gradient(0deg, rgba(123, 123, 123, 0) 0%, rgba(153, 153, 153, 0.1) 25%, rgba(183, 183, 183, 0.2) 50%, rgba(215, 215, 215, 0.3) 75%, rgba(245, 245, 245, 0.4) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 14.6666666667vw;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .machines__catch span {
    font-size: clamp(10rem, 5.705rem + 6.7vw, 13.75rem);
  }
}

.machines__img {
  position: relative;
  max-width: 128vw;
  width: 100%;
  margin-bottom: 16vw;
  z-index: 5;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .machines__img {
    width: 50%;
    margin-bottom: 0;
  }
}

.machines__contents {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .machines__contents {
    width: 50%;
    padding-right: 10%;
    padding-left: 4.16666667%;
  }
}

.machines__contents::before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}
@media screen and (min-width: 1025px) {
  .machines__contents::before {
    left: 0%;
  }
}

.machines__contents::after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}
@media screen and (min-width: 1025px) {
  .machines__contents::after {
    left: 0%;
  }
}

.machines__text {
  font-size: 4vw;
  font-weight: 700;
  padding-top: 16vw;
  font-size: 4vw;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.625;
}
@media screen and (min-width: 1025px) {
  .machines__text {
    padding-top: 120px;
    font-size: 16px;
  }
}

.machines__btn {
  margin-top: 16vw;
  margin-left: auto;
}
@media screen and (min-width: 1025px) {
  .machines__btn {
    margin-top: 120px;
    margin-left: auto;
  }
}

.recruit {
  position: relative;
  overflow: hidden;
  padding-top: 40vw;
}
@media screen and (min-width: 1025px) {
  .recruit {
    padding-top: 300px;
  }
}

.recruit__inner {
  position: relative;
  color: #f5f5f5;
  padding-top: 46.6666666667vw;
  padding-bottom: 110.6666666667vw;
}
@media screen and (min-width: 1025px) {
  .recruit__inner {
    padding-top: 19.79166667%;
    padding-bottom: 48.95833333%;
  }
}

.recruit__body {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

.recruit__body::before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.recruit__body::after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.recruit__catch {
  position: absolute;
  top: -56vw;
  left: 2.6666666667vw;
}
@media screen and (min-width: 1025px) {
  .recruit__catch {
    top: -540px;
    left: -10px;
  }
}
.recruit__catch span {
  display: inline-block;
  opacity: 0;
  transform: translateY(20px);
  transition-property: opacity, transform;
  transition-duration: 0.4s;
  transition-timing-function: ease;
  background: linear-gradient(0deg, rgba(11, 48, 116, 0.8) 0%, rgba(11, 48, 116, 0.6) 25%, rgba(11, 48, 116, 0.4) 50%, rgba(11, 48, 116, 0.2) 75%, rgba(11, 48, 116, 0) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 13.3333333333vw;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .recruit__catch span {
    font-size: clamp(9.375rem, 3.649rem + 8.94vw, 14.375rem);
  }
}

.recruit__text {
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 2.125;
  font-size: 4.2666666667vw;
  margin-top: 16vw;
}
@media screen and (min-width: 1025px) {
  .recruit__text {
    font-size: 16px;
    margin-top: 120px;
    line-height: 3.625;
  }
}

.recruit__btn {
  margin-top: 16vw;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .recruit__btn {
    margin-top: 120px;
  }
}

.recruit__img {
  position: absolute;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.recruit__img--leftTop {
  max-width: 37.3333333333vw;
  width: 100%;
  top: 0;
  left: 5.0666666667vw;
}
@media screen and (min-width: 1025px) {
  .recruit__img--leftTop {
    max-width: none;
    width: 18.75%;
    top: 0;
    left: 18.75%;
  }
}

.recruit__img--leftMiddle {
  max-width: 26.6666666667vw;
  top: 24.6666666667vw;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .recruit__img--leftMiddle {
    max-width: none;
    width: 18.75%;
    top: 11.61458333%;
    left: 4.6875%;
  }
}

.recruit__img--leftBottom {
  max-width: 50vw;
  width: 100%;
  bottom: 75.3333333333vw;
  left: 0;
}
@media screen and (min-width: 1025px) {
  .recruit__img--leftBottom {
    max-width: none;
    width: 60%;
    bottom: 12.5%;
    left: 2.08333333%;
  }
}

.recruit__img--rightTop {
  max-width: 40vw;
  width: 100%;
  top: 0;
  right: 0;
}
@media screen and (min-width: 1025px) {
  .recruit__img--rightTop {
    max-width: none;
    width: 30%;
    top: 0%;
    right: 2.08333333%;
  }
}

.recruit__img--rightMiddle {
  max-width: 30vw;
  width: 100%;
  bottom: 53.3333333333vw;
  right: 0;
}
@media screen and (min-width: 1025px) {
  .recruit__img--rightMiddle {
    max-width: none;
    width: 13.4375%;
    top: 41.66666667%;
    right: 10%;
  }
}

.recruit__img--rightBottom {
  max-width: 40vw;
  width: 100%;
  bottom: 32.2666666667vw;
  right: 19.2vw;
}
@media screen and (min-width: 1025px) {
  .recruit__img--rightBottom {
    max-width: none;
    width: 18.75%;
    bottom: 26.92708333%;
    right: 15.2083333%;
  }
}

.news {
  overflow: hidden;
  background-color: #f5f5f5;
  padding-top: 32vw;
  padding-bottom: 32vw;
}
@media screen and (min-width: 1025px) {
  .news {
    padding-top: 240px;
    padding-bottom: 240px;
  }
}

.news__inner {
  position: relative;
  max-width: 256vw;
  width: 100%;
  margin-inline: auto;
  padding-left: 5.0666666667vw;
  padding-right: 5.0666666667vw;
}
@media screen and (min-width: 1025px) {
  .news__inner {
    max-width: 1920px;
    padding-left: 10%;
    padding-right: 0;
  }
}

.news__body {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .news__body {
    display: flex;
    justify-content: space-between;
    gap: 7.63888889%;
  }
}

.news__inner::before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.news__inner::after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.news__section-title {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .news__section-title {
    max-width: 250px;
    text-align: left;
  }
}

.news__list {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .news__list {
    max-width: 1344px;
    overflow: auto;
  }
}

.news__item {
  position: relative;
  margin-top: 5.3333333333vw;
  background-color: #fff;
  padding: 5.3333333333vw;
  z-index: 5;
}
@media screen and (min-width: 1025px) {
  .news__item {
    margin-top: 0px;
    display: flex;
    align-items: flex-start;
    gap: 42px;
    padding: 2.97619048% 14.28571429% 2.97619048% 5.95238095%;
  }
}

.news__date {
  font-size: 3.7333333333vw;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1025px) {
  .news__date {
    font-size: 20px;
    max-width: 165px;
    width: 100%;
  }
}
.news__date span {
  font-size: 3.7333333333vw;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1025px) {
  .news__date span {
    font-size: 16px;
  }
}

@media screen and (min-width: 1025px) {
  .news__content {
    max-width: 867px;
    width: 100%;
  }
}

.news__title {
  color: #0b3074;
  font-size: 3.7333333333vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 4vw;
}
@media screen and (min-width: 1025px) {
  .news__title {
    font-size: 18px;
    margin-top: 0;
  }
}

.news__text {
  color: #333333;
  margin-top: 5.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (min-width: 1025px) {
  .news__text {
    margin-top: 40px;
    font-size: 16px;
  }
}

.news__imgs {
  display: flex;
  flex-direction: column;
  gap: 3.2vw;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .news__imgs {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 40px;
  }
}

.news__img {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .news__img {
    max-width: 411px;
  }
}

.contact {
  overflow: hidden;
  backdrop-filter: blur(7px) brightness(65%);
  -webkit-backdrop-filter: blur(7px) brightness(65%);
  background-color: rgba(11, 48, 116, 0.85);
  padding-top: 32vw;
  padding-bottom: 32vw;
}
@media screen and (min-width: 1025px) {
  .contact {
    padding-top: 240px;
    padding-bottom: 240px;
  }
}

.contact__inner {
  position: relative;
}

.contact__inner::before {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.contact__inner::after {
  content: "";
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  z-index: 1;
  background-color: #898989;
  opacity: 0.3;
}

.contact__body {
  color: #f5f5f5;
  font-weight: 500;
  margin-top: 16vw;
}
@media screen and (min-width: 1025px) {
  .contact__body {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 120px;
  }
}

.contact__text p {
  font-size: 3.2vw;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .contact__text p {
    font-size: 16px;
    text-align: left;
  }
}
@media screen and (min-width: 1025px) {
  .contact__text {
    padding-right: clamp(2.5rem, -3.226rem + 8.94vw, 7.5rem);
  }
}

.contact-banner {
  margin-top: 8.5333333333vw;
  border: 1px solid #f5f5f5;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .contact-banner {
    margin-top: 64px;
  }
}

.contact-banner__tag {
  color: #0b3074;
  background-color: #f5f5f5;
  padding: 0.2666666667vw 1.0666666667vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 4.2666666667vw;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .contact-banner__tag {
    font-size: 32px;
    padding: 2px 8px;
  }
}

.contact-banner {
  padding-top: 5.3333333333vw;
  padding-bottom: 5.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .contact-banner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.contact-banner a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.1333333333vw;
  font-size: 8.5333333333vw;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1025px) {
  .contact-banner a {
    font-size: clamp(2.188rem, 0.112rem + 3.24vw, 4rem);
    gap: 16px;
  }
}

.contact-banner__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.0666666667vw;
  line-height: 1.4;
}
@media screen and (min-width: 1025px) {
  .contact-banner__number {
    gap: 8px;
  }
}
.contact-banner__number .hyphen {
  display: block;
  margin-bottom: 1.3333333333vw;
  line-height: 1;
}
@media screen and (min-width: 1025px) {
  .contact-banner__number .hyphen {
    margin-bottom: 5px;
  }
}

.contact-banner > span {
  display: block;
  text-align: center;
  font-size: 3.2vw;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 1025px) {
  .contact-banner > span {
    font-size: 18px;
  }
}

.form__body {
  margin-top: 10.6666666667vw;
}
@media screen and (min-width: 1025px) {
  .form__body {
    margin-top: 0;
  }
}

.form__fieldset {
  border: none;
}

.c-form-control + .c-form-control {
  margin-top: 8.5333333333vw;
}
@media screen and (min-width: 1025px) {
  .c-form-control + .c-form-control {
    margin-top: 64px;
  }
}
.c-form-control__label {
  font-weight: 700;
  font-size: 3.7333333333vw;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1025px) {
  .c-form-control__label {
    font-size: 18px;
  }
}
.c-form-control__label sup {
  position: relative;
  top: -2px;
  display: inline-flex;
  align-items: center;
  padding: 1.6vw 3.2vw;
  font-weight: 500;
  line-height: 1;
  vertical-align: middle;
  background-color: #437fee;
  margin-left: 2.1333333333vw;
}
@media screen and (min-width: 1025px) {
  .c-form-control__label sup {
    margin-left: 16px;
    font-size: 14px;
    padding: 6px 12px;
  }
}
.c-form-control__box {
  margin-top: 3.7333333333vw;
}
@media screen and (min-width: 1025px) {
  .c-form-control__box {
    margin-top: 16px;
  }
}
.c-form-control__box div {
  display: flex;
  gap: 4.2666666667vw;
}
@media screen and (min-width: 1025px) {
  .c-form-control__box div {
    gap: 32px;
  }
}
.c-form-control__option {
  display: flex;
  align-items: center;
}
.c-form-control__option input[type=radio] {
  display: none;
}
.c-form-control__option input[type=radio]:checked + label::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #437fee;
  border-radius: 50%;
  width: 4.2666666667vw;
  height: 4.2666666667vw;
  left: 0.8666666667vw;
}
@media screen and (min-width: 1025px) {
  .c-form-control__option input[type=radio]:checked + label::after {
    left: 7px;
    width: 16px;
    height: 16px;
  }
}
.c-form-control__option label {
  position: relative;
  padding-left: 10.6666666667vw;
  font-size: 3.7333333333vw;
  cursor: pointer;
}
@media screen and (min-width: 1025px) {
  .c-form-control__option label {
    padding-left: 40px;
    font-size: 16px;
  }
}
.c-form-control__option label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 6vw;
  height: 6vw;
  border: 1px solid #cdd6dd;
  border-radius: 50%;
  background-color: transparent;
}
@media screen and (min-width: 1025px) {
  .c-form-control__option label::before {
    width: 30px;
    height: 30px;
  }
}
.c-form-control__input, .c-form-control__textarea {
  color: #191919;
  background-color: #ffffff;
  border: none;
  width: 100%;
  padding: 1rem;
}
.c-form-control__input:focus, .c-form-control__textarea:focus {
  outline: none;
  box-shadow: none;
  border-color: inherit;
}
@media screen and (min-width: 1025px) {
  .c-form-control__input {
    line-height: 1.75;
  }
}

textarea:-webkit-autofill,
input:-webkit-autofill {
  background-color: #ffffff !important;
}

.form-privacy-textarea {
  width: 100%;
  background: transparent;
  color: #ffffff;
  border: solid 1px #ffffff;
  border-radius: 8px;
  margin-top: 10.6666666667vw;
  font-size: 2.9333333333vw;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1025px) {
  .form-privacy-textarea {
    margin-top: 80px;
    padding: 8px;
    font-size: 14px;
  }
}

.c-form-acceptance {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 9px;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .c-form-acceptance {
    margin-top: 40px;
  }
}
.c-form-acceptance__checkbox {
  position: relative;
  cursor: pointer;
  background-color: #ffffff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  width: 4vw;
  height: 4vw;
}
@media screen and (min-width: 1025px) {
  .c-form-acceptance__checkbox {
    height: 20px;
    width: 20px;
  }
}
.c-form-acceptance__checkbox:checked {
  background: #437fee;
}
.c-form-acceptance__checkbox:checked::after {
  content: "";
  position: absolute;
  left: 1.0666666667vw;
  top: 0vw;
  width: 1.6vw;
  height: 3.2vw;
  border-right: 0.5333333333vw solid #fff;
  border-bottom: 0.5333333333vw solid #fff;
  transform: rotate(45deg);
}
@media screen and (min-width: 1025px) {
  .c-form-acceptance__checkbox:checked::after {
    left: 7px;
    top: 3px;
    width: 6px;
    height: 12px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
}
.c-form-acceptance__label {
  font-size: 3.2vw;
}
@media screen and (min-width: 1025px) {
  .c-form-acceptance__label {
    font-size: 14px;
  }
}

.form-honeypot {
  display: none;
}

.form__submit-area {
  width: 100%;
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .form__submit-area {
    margin-top: 40px;
  }
}
.form__submit-area .c-form-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ffffff;
  font-weight: 700;
  letter-spacing: 0.1rem;
  max-width: 69.0666666667vw;
  width: 100%;
  height: 13.0666666667vw;
  font-size: 4.2666666667vw;
  transition: 0.3s;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .form__submit-area .c-form-btn {
    max-width: 278px;
    height: 53px;
    font-size: 16px;
  }
}
.form__submit-area .c-form-btn:hover {
  background-color: #ffffff;
  border: 1px solid #0b3074;
  color: #0b3074;
}
.form__submit-area__btns {
  display: flex;
  gap: 30px;
}

.c-form-btn.--default {
  background-color: #437fee;
  border: 1px solid #437fee;
}

.c-form-btn.--default:hover {
  background-color: #f5f5f5;
  border: 1px solid #437fee;
  color: #437fee;
}

/**************************************************************
* States
**************************************************************/
.is-hidden {
  display: none;
}

.is-fadeout {
  opacity: 0;
}

.is-parallax-img {
  display: block;
}

.js-fadein-fx {
  opacity: 0;
}

/* form-*
**************************************/
.form-processing-status {
  position: relative;
}
.form-processing-status__msg {
  position: relative;
  text-align: center;
}

.form-processing-animation {
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
  /* animations */
}
.form-processing-animation .form-spinner-icn,
.form-processing-animation .form-checkmark-icn {
  display: block;
}
.form-processing-animation .form-spinner-icn {
  position: relative;
  display: block;
  width: 140px;
  height: 140px;
  margin: auto;
  border-radius: 50%;
}
.form-processing-animation .form-checkmark-icn {
  display: block;
  max-width: 100%;
  margin: auto;
  opacity: 0;
}
.form-processing-animation .form-checkmark-icni {
  opacity: 0;
  transform: translateY(15%);
}
.form-processing-animation.is-loading .form-spinner-icn {
  border: 1rem dotted #ffffff;
  animation: form-spinner-rotation-fx 2s linear backwards infinite;
}
.form-processing-animation:not(.is-loading) .form-spinner-icn {
  border-color: transparent;
  box-shadow: none;
}
.form-processing-animation[class*=is-animated] .form-checkmark-icn {
  animation: form-checkmark-animation-fx 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) forwards;
}

/* keyframes */
@keyframes form-spinner-rotation-fx {
  to {
    transform: rotate(360deg);
  }
}
@keyframes form-checkmark-animation-fx {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.form__comfirm {
  font-weight: 700;
  font-size: 3.7333333333vw;
  letter-spacing: 0.1em;
  margin-bottom: 2.6666666667vw;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .form__comfirm {
    font-size: 18px;
    margin-bottom: 20px;
  }
}

.l-form-btn-block {
  width: 100%;
}

.form__thanks {
  margin-top: 13.3333333333vw;
}
@media screen and (min-width: 1025px) {
  .form__thanks {
    margin-top: 0;
  }
}/*# sourceMappingURL=top.css.map */