/* Critical path */
.mv {
  width: 100%;
  height: 100%;
  aspect-ratio: 23.4375/38;
  font-size: clamp(13rem, calc(100vw / 26.7857), 26rem);
}
@media only screen and (min-width: 768px), print {
  .mv {
    aspect-ratio: 90/45.9;
    font-size: clamp(10rem, calc(100vw / 90), 26rem);
  }
}
.mv__txt {
  font-size: 2em;
  display: flex;
  flex-direction: column;
  letter-spacing: 0.2em;
  font-weight: 600;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .mv__txt {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 3;
    padding-top: 1em;
  }
}
.mv__txt span {
  background: #ebf2fa;
  line-height: 1;
  padding: 0.2em 0.25em 0.3em;
  white-space: nowrap;
}
@media only screen and (min-width: 768px), print {
  .mv__txt {
    font-size: 3.75em;
    grid-column: 1/3;
    grid-row: 3/4;
  }
}
.mv__bg1 {
  position: absolute;
  left: 0;
  width: 24em;
  top: 5em;
}
@media only screen and (min-width: 768px), print {
  .mv__bg1 {
    top: 0;
    width: 77.1875em;
  }
}
.mv__bg2 {
  position: absolute;
  top: 4em;
  bottom: 0;
  right: 0;
  margin: auto;
  width: min(14vw, 12em);
}
@media only screen and (min-width: 768px), print {
  .mv__bg3 {
    display: none;
  }
}
.mv__bg3 {
  position: absolute;
  right: 2em;
  bottom: 10em;
  width: 8em;
}
.mv__grid {
  height: 100%;
}
@media only screen and (min-width: 768px), print {
  .mv__grid {
    gap: 2.5em;
    display: grid;
    grid-template-columns: 29em auto 1fr 24.6em;
    grid-template-rows: min(5vw, 6.12em) auto auto 1fr;
  }
}
.mv__img3 {
  position: absolute;
  width: 12em;
}
@media only screen and (max-width: 767px) {
  .mv__img3 {
    top: 9em;
    left: 0;
  }
}
@media only screen and (min-width: 768px), print {
  .mv__img3 {
    width: min(30vw, 21.8em);
    top: 5.5em;
    right: 28%;
  }
}
@media only screen and (max-width: 767px) {
  .mv__img1 {
    width: 12.93319em;
    position: absolute;
    right: 0;
    top: 5em;
  }
}
@media only screen and (min-width: 768px), print {
  .mv__img1 {
    grid-column: 4/5;
    grid-row: 1/5;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
@media only screen and (min-width: 768px), print {
  .mv__img1-in {
    width: min(30vw, 24.6em);
  }
}
@media only screen and (max-width: 767px) {
  .mv__img2 {
    width: 16.3125em;
    position: absolute;
    bottom: 2.5em;
    left: 0;
  }
}
@media only screen and (min-width: 768px), print {
  .mv__img2 {
    position: relative;
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
.mv__sc {
  position: absolute;
  bottom: 1em;
  width: 2.75em;
}
@media only screen and (min-width: 768px), print {
  .mv__sc {
    left: 1em;
  }
}
@media only screen and (max-width: 767px) {
  .mv__sc {
    right: 1em;
  }
}