.pre-inc .mv .main_anime {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .pre-inc .mv .main_anime {
      height: 82dvh; } }
  .pre-inc .mv .main_anime .inset {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%; }
  .pre-inc .mv .main_anime .main_scene {
    opacity: 0;
    transition: 1s opacity ease-in-out 0s;
    pointer-events: none; }
  .pre-inc .mv .main_anime .maincopy_group {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .pre-inc .mv .main_anime .maincopy_group {
        top: -1.5%; } }
    .pre-inc .mv .main_anime .maincopy_group .maincopy {
      text-align: center;
      font-size: clamp(34px, 3vw, 48px);
      color: #FFF;
      letter-spacing: 0.1em;
      text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.8), 0px 0px 2px rgba(0, 0, 0, 0.8), 0px 0px 3px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8);
      will-change: transform,opacity;
      opacity: 0;
      transform: translateY(15px);
      transition: 1s opacity ease-in-out 0s,1.5s transform ease-in-out 0s; }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .maincopy_group .maincopy {
          font-size: 7.4vw; } }
      .pre-inc .mv .main_anime .maincopy_group .maincopy .small {
        font-size: 75%; }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .maincopy_group .maincopy .block {
          display: block; } }
      .pre-inc .mv .main_anime .maincopy_group .maincopy .big01 {
        font-size: 150%;
        display: inline-block;
        line-height: 1; }
      .pre-inc .mv .main_anime .maincopy_group .maincopy .big02 {
        font-size: 114%;
        display: inline-block;
        line-height: 1; }
  .pre-inc .mv .main_anime .main_bg {
    overflow: hidden;
    width: 50%; }
    @media screen and (max-width: 768px) {
      .pre-inc .mv .main_anime .main_bg {
        width: 100%;
        height: 50%; } }
    .pre-inc .mv .main_anime .main_bg:before {
      content: "";
      position: absolute;
      inset: 0;
      background-position: top center;
      background-repeat: no-repeat;
      background-size: cover;
      transition: 8s transform ease-in-out 0s; }
    .pre-inc .mv .main_anime .main_bg .main_cap {
      position: absolute;
      right: 5px;
      bottom: 5px;
      font-size: 12px;
      color: #FFF;
      text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.8), 0px 0px 2px rgba(0, 0, 0, 0.8), 0px 0px 3px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg .main_cap {
          font-size: 10px;
          bottom: auto;
          top: 5px;
          right: auto;
          left: 5px; } }
      .pre-inc .mv .main_anime .main_bg .main_cap.left_cap {
        right: auto;
        left: 5px; }
        @media screen and (max-width: 768px) {
          .pre-inc .mv .main_anime .main_bg .main_cap.left_cap {
            bottom: 5px;
            left: auto;
            right: 5px;
            top: auto; } }
    .pre-inc .mv .main_anime .main_bg.left_bg {
      right: auto; }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.left_bg {
          right: 0;
          top: auto; } }
    .pre-inc .mv .main_anime .main_bg.right_bg {
      left: auto; }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.right_bg {
          left: 0;
          bottom: auto; } }
    .pre-inc .mv .main_anime .main_bg.left01:before {
      background-image: url("../image/top/main/main_left01.jpg"); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.left01:before {
          background-image: url("../image/top/main/main_left01_sp.jpg"); } }
    .pre-inc .mv .main_anime .main_bg.right01:before {
      background-image: url("../image/top/main/main_right01.jpg"); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.right01:before {
          background-image: url("../image/top/main/main_right01_sp.jpg"); } }
    .pre-inc .mv .main_anime .main_bg.left02:before {
      background-image: url("../image/top/main/main_left02.jpg"); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.left02:before {
          background-image: url("../image/top/main/main_left02_sp.jpg"); } }
    .pre-inc .mv .main_anime .main_bg.right02:before {
      background-image: url("../image/top/main/main_right02.jpg"); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.right02:before {
          background-image: url("../image/top/main/main_right02_sp.jpg"); } }
    .pre-inc .mv .main_anime .main_bg.left03:before {
      background-image: url("../image/top/main/main_left03.jpg"); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.left03:before {
          background-image: url("../image/top/main/main_left03_sp.jpg"); } }
    .pre-inc .mv .main_anime .main_bg.right03:before {
      background-image: url("../image/top/main/main_right03.jpg"); }
      @media screen and (max-width: 768px) {
        .pre-inc .mv .main_anime .main_bg.right03:before {
          background-image: url("../image/top/main/main_right03_sp.jpg"); } }
.pre-inc .mv .mv__item {
  opacity: 0;
  transition: 1s opacity ease-in-out 0s; }
  @media screen and (max-width: 768px) {
    .pre-inc .mv .mv__item {
      top: 85%; } }
  .pre-inc .mv .mv__item .mv__title:before {
    opacity: 1;
    transition: 1s opacity ease-in-out 0s; }
  .pre-inc .mv .mv__item .mv__title img {
    transition: 0.5s opacity ease-in-out 0s; }
    .pre-inc .mv .mv__item .mv__title img.mv__title-image02 {
      opacity: 0; }
  .pre-inc .mv .mv__item .mv__title span {
    transition: 0.5s color ease-in-out 0s;
    position: absolute;
    right: 14%;
    bottom: -6rem;
    color: #fff;
    font-size: 10px; }
    @media screen and (max-width: 768px) {
      .pre-inc .mv .mv__item .mv__title span {
        right: -3%; } }
.pre-inc .mv .mv__inner {
  opacity: 0;
  transition: 1s opacity ease-in-out 0s; }
.pre-inc .mv .mv__swiper {
  opacity: 0;
  transition: 1s opacity ease-in-out 1s; }
.pre-inc #mainvisual.s1 .main_anime .scene01 {
  opacity: 1; }
  .pre-inc #mainvisual.s1 .main_anime .scene01 .main_bg.left01:before, .pre-inc #mainvisual.s1 .main_anime .scene01 .main_bg.right01:before {
    transform: scale(1.1); }
.pre-inc #mainvisual.s1_2 .main_anime .scene01 .maincopy_group .maincopy {
  opacity: 1;
  transform: translateY(0); }
.pre-inc #mainvisual.s2 .main_anime .scene02 {
  opacity: 1; }
  .pre-inc #mainvisual.s2 .main_anime .scene02 .main_bg.left02:before, .pre-inc #mainvisual.s2 .main_anime .scene02 .main_bg.right02:before {
    transform: scale(1.1); }
.pre-inc #mainvisual.s2_2 .main_anime .scene02 .maincopy_group .maincopy {
  opacity: 1;
  transform: translateY(0); }
.pre-inc #mainvisual.s3 .main_anime .scene03 {
  opacity: 1; }
  .pre-inc #mainvisual.s3 .main_anime .scene03 .main_bg.left03:before, .pre-inc #mainvisual.s3 .main_anime .scene03 .main_bg.right03:before {
    transform: scale(1.1); }
.pre-inc #mainvisual.s3_2 .main_anime .scene03 .maincopy_group .maincopy {
  opacity: 1;
  transform: translateY(0); }
.pre-inc #mainvisual.s4 .mv__inner {
  opacity: 1; }
.pre-inc #mainvisual.s4 .mv__swiper {
  opacity: 1; }
.pre-inc #mainvisual.s4 .mv__item {
  opacity: 1; }
  .pre-inc #mainvisual.s4 .mv__item:before {
    opacity: 1; }
  .pre-inc #mainvisual.s4 .mv__item .mv__title span {
    opacity: 1; }
.pre-inc #mainvisual.s4_2 .main_scene {
  opacity: 0 !important;
  transition: 0s; }
.pre-inc #mainvisual.s4_2 .mv__item img.mv__title-image {
  opacity: 0; }
.pre-inc #mainvisual.s4_2 .mv__item img.mv__title-image02 {
  opacity: 1; }
.pre-inc #mainvisual.s4_2 .mv__item .mv__title span {
  color: #FFF; }
.pre-inc #mainvisual.s4_2 .mv__item .mv__title:after {
  background: #FFF; }
.pre-inc #mainvisual.s4_2 .mv__inner .mv__white-left {
  animation: 0.6s mv__left ease-in-out 1 forwards; }
  @media screen and (max-width: 768px) {
    .pre-inc #mainvisual.s4_2 .mv__inner .mv__white-left {
      animation: 1s mv__left ease-in-out 1 forwards; } }
.pre-inc #mainvisual.s4_2 .mv__inner .mv__white-right {
  animation: 0.6s mv__right ease-in-out 1 forwards; }
  @media screen and (max-width: 768px) {
    .pre-inc #mainvisual.s4_2 .mv__inner .mv__white-right {
      animation: 1s mv__right ease-in-out 1 forwards; } }
.pre-inc #mainvisual.s5 .mv__item {
  opacity: 0; }

@keyframes mv__left {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-100%); } }
@keyframes mv__right {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(100%); } }

/*# sourceMappingURL=gm_mainvisual.css.map */
