/*! Writen  by SCSS */
#mainvisual.moving *,
#mainvisual.moving :before,
#mainvisual.moving :after {
  transition: 0s all ease-in-out 0.5s !important; }

#mainvisual.moving:after {
  opacity: 1 !important;
  transition: 0.5s all ease-in-out 0s !important; }

.mainvisual {
  position: relative;
  background: #000;
  overflow: hidden;
  aspect-ratio: 2/1; }
  @media screen and (max-width: 480px) {
    .mainvisual {
      aspect-ratio: 480/700; } }
  .mainvisual:after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 100;
    pointer-events: none;
    background: #000;
    z-index: 10;
    transition: 0.4s opacity linear 0s; }
  .mainvisual .inset {
    position: absolute;
    inset: 0; }
  .mainvisual .movie_scene .video_wrap {
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: 1; }
    .mainvisual .movie_scene .video_wrap .main_movie {
      position: absolute;
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      width: 100%;
      height: auto;
      transform: translate(-50%, -50%);
      object-fit: cover; }
    .mainvisual .movie_scene .video_wrap.show {
      opacity: 1;
      z-index: 2; }
      .mainvisual .movie_scene .video_wrap.show .movie_copy {
        opacity: 1; }
      .mainvisual .movie_scene .video_wrap.show .movie_copy02 {
        opacity: 1; }
  .mainvisual .movie_scene .movie_copy {
    opacity: 0;
    display: flex;
    justify-content: center;
    transition: opacity 1s ease-in-out 0.5s;
    margin: auto; }
    .mainvisual .movie_scene .movie_copy.movie_copy01 {
      width: 57.74%; }
      @media screen and (max-width: 480px) {
        .mainvisual .movie_scene .movie_copy.movie_copy01 {
          width: 80%; } }
    .mainvisual .movie_scene .movie_copy.movie_copy02 {
      width: 52.22%; }
      @media screen and (max-width: 480px) {
        .mainvisual .movie_scene .movie_copy.movie_copy02 {
          width: 70%; } }
    .mainvisual .movie_scene .movie_copy.movie_copy03 {
      right: auto;
      top: auto;
      left: 7.01%;
      bottom: 8%;
      width: 48.37%;
      z-index: 5; }
      @media screen and (max-width: 480px) {
        .mainvisual .movie_scene .movie_copy.movie_copy03 {
          bottom: 6%;
          width: 75%; } }
      .mainvisual .movie_scene .movie_copy.movie_copy03.show {
        opacity: 1; }
  .mainvisual .main_scene {
    z-index: 5; }
  .mainvisual .scene01:after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.9);
    opacity: 0;
    transition: 1.5s opacity ease-in-out 0s; }
  .mainvisual .scene01 .main_view01 {
    opacity: 0;
    transition: 1s opacity ease-in-out 0s; }
  .mainvisual .scene01 .main_view02 {
    opacity: 0;
    transition: 1s opacity ease-in-out 0s; }
  .mainvisual .scene01 .main_light,
  .mainvisual .scene01 .main_light02 {
    opacity: 0;
    transition: none; }
  .mainvisual .scene01 .main_view03 {
    clip-path: inset(100% 0 0 0);
    transition: 1s clip-path ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene01 .main_view03 {
        transition-duration: 1.5s; } }
  .mainvisual .scene01 .main_view04 {
    opacity: 0;
    transition: 2s opacity ease-in-out 0s; }
  .mainvisual .scene01 .main_view05 {
    clip-path: inset(100% 0 0 0);
    transition: 2s clip-path ease-in-out 0s; }
  .mainvisual .scene01 .main_view06 {
    opacity: 0;
    transition: 2s opacity ease-in-out 0s; }
  .mainvisual .scene01 .main_prot {
    opacity: 0;
    transform: translateY(20px);
    transition: 0.8s opacity ease-in-out 0s,0.8s transform ease-in-out 0s; }
  .mainvisual .scene01 .main_prot2 {
    clip-path: inset(100% 0 0 0);
    transition: 2s clip-path ease-in-out 0s; }
  .mainvisual .scene01 .main_copy01 {
    bottom: auto;
    top: 22%;
    top: 6%;
    width: 52.64%;
    max-width: 1000px;
    margin: auto;
    opacity: 0;
    transform: translateY(20px);
    transition: 1.2s opacity ease-in-out 0s,1.2s transform ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene01 .main_copy01 {
        top: 16%;
        width: 80%; } }
  .mainvisual .scene01 .main_copy02 {
    bottom: auto;
    top: 22%;
    top: 6%;
    width: 64.74%;
    max-width: 1230px;
    margin: auto;
    opacity: 0;
    transform: translateY(20px);
    transition: 1.2s opacity ease-in-out 0s,1.2s transform ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene01 .main_copy02 {
        top: 16%;
        width: 55%; } }
  .mainvisual .scene02 .s_one {
    position: absolute;
    bottom: auto;
    top: 19%;
    width: 28.11%;
    max-width: 534px;
    opacity: 0;
    margin: auto;
    transform: translateY(20px);
    transition: 1.5s opacity ease-in-out 0s,1.5s transform ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene02 .s_one {
        width: 70%;
        top: 25%;
        transform: translateY(20px) translateX(20px); } }
  .mainvisual .scene02 .main_line {
    clip-path: inset(0 100% 0 0);
    transition: 2.5s clip-path ease-in-out 0s; }
  .mainvisual .scene02 .main_line6 .main_line6_img {
    opacity: 0;
    transform: translateY(20px);
    transition: 1s opacity ease-in-out 0s,1s transform ease-in-out 0s; }
    .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(1) {
      transition-delay: 0s; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(1) {
          transition-delay: 0s; } }
    .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(2) {
      transition-delay: 0.2s; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(2) {
          transition-delay: 0.2s; } }
    .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(3) {
      transition-delay: 0.4s; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(3) {
          transition-delay: 0.4s; } }
    .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(4) {
      transition-delay: 0.6s; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(4) {
          transition-delay: 0.6s; } }
    .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(5) {
      transition-delay: 0.8s; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(5) {
          transition-delay: 0.8s; } }
    .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(6) {
      transition-delay: 1s; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_line6 .main_line6_img:nth-of-type(6) {
          transition-delay: 1s; } }
  .mainvisual .scene02 .main_copy03 {
    top: auto;
    bottom: 18%;
    width: 35.53%;
    max-width: 675px;
    margin: auto;
    opacity: 0;
    transform: translateY(20px);
    transition: 1.6s opacity ease-in-out 0s,1.6s transform ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene02 .main_copy03 {
        width: 65%;
        bottom: 13%; } }
  .mainvisual .scene03 {
    opacity: 0;
    background: #000;
    transition: 1.5s opacity ease-in-out 0s; }
    .mainvisual .scene03 .main_logo {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      gap: 40px 0;
      opacity: 0;
      width: 33.08%;
      max-width: 463px;
      height: max-content;
      margin: auto;
      transform: scale(1.3);
      filter: blur(10px);
      transition: 1.5s opacity ease-in-out 0s,1.5s transform ease-in-out 0s,1.5s filter ease-in-out 0s; }
      @media screen and (max-width: 820px) {
        .mainvisual .scene03 .main_logo {
          width: 30%; } }
      @media screen and (max-width: 480px) {
        .mainvisual .scene03 .main_logo {
          width: 65%; } }
    .mainvisual .scene03 .scroll_ico {
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column; }
      .mainvisual .scene03 .scroll_ico .ico_txt {
        font-size: 10px; }
      .mainvisual .scene03 .scroll_ico .scrolls {
        display: flex;
        flex-direction: column;
        gap: 4px; }
        .mainvisual .scene03 .scroll_ico .scrolls span {
          font-size: 16px;
          display: inline-block;
          line-height: 0.5;
          opacity: 0.3;
          transform: scaleX(1.8);
          animation: arrow 2s infinite; }
          .mainvisual .scene03 .scroll_ico .scrolls span:nth-child(1) {
            animation-delay: 0s; }
          .mainvisual .scene03 .scroll_ico .scrolls span:nth-child(2) {
            animation-delay: 0.5s; }
          .mainvisual .scene03 .scroll_ico .scrolls span:nth-child(3) {
            animation-delay: 0.8s; }
@keyframes arrow {
  0%, 100% {
    opacity: 0.3; }
  40% {
    opacity: 1; } }
  .mainvisual .main_button {
    z-index: 11;
    position: absolute;
    right: 20px;
    top: 20px;
    width: 80px;
    border: 1px solid #FFF;
    border-radius: 5px;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    color: #FFF;
    font-size: 13px;
    line-height: 1;
    padding: 10px 0 8px; }
    @media screen and (max-width: 480px) {
      .mainvisual .main_button {
        width: 70px;
        font-size: 12px;
        padding: 8px 0;
        right: 10px;
        top: 10px; } }
    .mainvisual .main_button .replay {
      opacity: 0;
      pointer-events: none;
      transition: 0.3s opacity ease-out 0s; }
    .mainvisual .main_button .skip {
      position: absolute;
      inset: 0;
      height: max-content;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: auto;
      transition: 0.3s opacity ease-out 0s; }

@keyframes blinking {
  0%,100% {
    opacity: 0; }
  60% {
    opacity: 1; } }
#mainvisual.anime_start .scene01 {
  opacity: 1; }
#mainvisual.s1 .scene01 .main_view01 {
  opacity: 1; }
#mainvisual.s1_2 .scene01 .main_view02 {
  opacity: 1; }
#mainvisual.s1_2 .scene01 .main_light {
  animation: 1.3s blinking linear 1; }
#mainvisual.s1_2_2 .scene01 .main_light02 {
  animation: 2.1s blinking linear 1;
  animation-delay: 0.3s; }
#mainvisual.s1_3 .scene01 .main_view03 {
  clip-path: inset(0 0 0 0); }
#mainvisual.s1_4 .scene01 .main_prot {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s1_5 .scene01 .main_view05 {
  clip-path: inset(0 0 0 0); }
#mainvisual.s1_5 .scene01 .main_prot2 {
  clip-path: inset(0 0 0 0); }
#mainvisual.s1_6 .scene01 .main_view06 {
  opacity: 1; }
#mainvisual.s1_7 .scene01 .main_copy01 {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s1_8 .scene01 .main_copy01 {
  opacity: 0;
  transform: translateY(-20px); }
#mainvisual.s1_8 .scene01 .main_copy02 {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s2 .scene01:after {
  opacity: 1; }
#mainvisual.s2 .scene01 .main_copy02 {
  opacity: 0;
  transform: translateY(-20px); }
#mainvisual.s2 .scene02 .s_one {
  opacity: 1;
  transform: translateY(-20px); }
  @media screen and (max-width: 480px) {
    #mainvisual.s2 .scene02 .s_one {
      transform: translateY(-20px) translateX(20px); } }
#mainvisual.s2_2 .scene02 .main_line {
  clip-path: inset(0 0 0 0); }
#mainvisual.s2_3 .scene02 .main_line6 .main_line6_img {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s2_4 .scene02 .main_copy03 {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s3 .scene03 {
  opacity: 1; }
#mainvisual.s3_2 .scene03 .main_logo {
  transform: scale(1);
  filter: blur(0);
  opacity: 1; }
#mainvisual.main_end .main_button .replay {
  opacity: 1;
  pointer-events: all; }
#mainvisual.main_end .main_button .skip {
  opacity: 0;
  pointer-events: none; }

/*# sourceMappingURL=mainvisual.css.map */
