/*! Writen  by SCSS */
.mainvisual {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1920 / 1000; }
  @media screen and (max-width: 768px) {
    .mainvisual {
      margin-top: 84px; } }
  @media screen and (max-width: 480px) {
    .mainvisual {
      aspect-ratio: 750 / 560; } }
  .mainvisual:after {
    content: "";
    position: absolute;
    inset: 0;
    background: #FFF;
    opacity: 0;
    transition: 1s opacity linear 0s !important;
    pointer-events: none;
    z-index: 15; }
  .mainvisual .inset {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%; }
  .mainvisual .main_bg:before {
    content: "";
    position: absolute;
    inset: 0;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover; }
  .mainvisual .main_cap {
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 12px;
    color: #000;
    font-weight: bold;
    -webkit-text-stroke: 1px #fff;
    text-stroke: 1px #fff;
    paint-order: stroke;
    text-shadow: 0px 0px 0px rgba(255, 255, 255, 0.8), 0px 0px 1px rgba(255, 255, 255, 0.8), 0px 0px 2px rgba(255, 255, 255, 0.8), 0px 0px 3px rgba(255, 255, 255, 0.8), 0px 0px 4px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8);
    opacity: 0;
    transition: 1s opacity ease-in-out 0s !important; }
    @media screen and (max-width: 480px) {
      .mainvisual .main_cap {
        font-size: 10px; } }
  .mainvisual .scene01 {
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../images/main/main_bg.jpg"); }
    @media screen and (max-width: 480px) {
      .mainvisual .scene01 {
        background-image: url("../images/main/main_bg_sp.jpg"); } }
    .mainvisual .scene01 .maincopy {
      font-size: clamp(22px, 2.5vw, 40px);
      text-align: center;
      letter-spacing: 0.1em; }
      .mainvisual .scene01 .maincopy span {
        display: inline-block;
        opacity: 0;
        transform: translateX(30px);
        transition: 0.8s opacity ease-in-out 0s, 0.8s transform ease-in-out 0s !important; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene01 .maincopy span {
            transform: translateX(20px); } }
        .mainvisual .scene01 .maincopy span:nth-of-type(1) {
          transition-delay: 0s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(2) {
          transition-delay: 0.1s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(3) {
          transition-delay: 0.2s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(4) {
          transition-delay: 0.3s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(5) {
          transition-delay: 0.4s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(6) {
          transition-delay: 0.5s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(7) {
          transition-delay: 0.6s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(8) {
          transition-delay: 0.7s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(9) {
          transition-delay: 0.8s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(10) {
          transition-delay: 0.9s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(11) {
          transition-delay: 1s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(12) {
          transition-delay: 1.1s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(13) {
          transition-delay: 1.2s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(14) {
          transition-delay: 1.3s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(15) {
          transition-delay: 1.4s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(16) {
          transition-delay: 1.5s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(17) {
          transition-delay: 1.6s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(18) {
          transition-delay: 1.7s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(19) {
          transition-delay: 1.8s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(20) {
          transition-delay: 1.9s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(21) {
          transition-delay: 2s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(22) {
          transition-delay: 2.1s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(23) {
          transition-delay: 2.2s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(24) {
          transition-delay: 2.3s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(25) {
          transition-delay: 2.4s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(26) {
          transition-delay: 2.5s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(27) {
          transition-delay: 2.6s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(28) {
          transition-delay: 2.7s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(29) {
          transition-delay: 2.8s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(30) {
          transition-delay: 2.9s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(31) {
          transition-delay: 3s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(32) {
          transition-delay: 3.1s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(33) {
          transition-delay: 3.2s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(34) {
          transition-delay: 3.3s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(35) {
          transition-delay: 3.4s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(36) {
          transition-delay: 3.5s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(37) {
          transition-delay: 3.6s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(38) {
          transition-delay: 3.7s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(39) {
          transition-delay: 3.8s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(40) {
          transition-delay: 3.9s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(41) {
          transition-delay: 4s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(42) {
          transition-delay: 4.1s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(43) {
          transition-delay: 4.2s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(44) {
          transition-delay: 4.3s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(45) {
          transition-delay: 4.4s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(46) {
          transition-delay: 4.5s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(47) {
          transition-delay: 4.6s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(48) {
          transition-delay: 4.7s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(49) {
          transition-delay: 4.8s !important; }
        .mainvisual .scene01 .maincopy span:nth-of-type(50) {
          transition-delay: 4.9s !important; }
  .mainvisual .scene02 {
    transition: 1s filter linear 0s, 1s opacity ease-in-out 0s !important; }
    .mainvisual .scene02 .main_view_wrap {
      transition: 2.2s transform ease-in-out 0s !important; }
      .mainvisual .scene02 .main_view_wrap > figure {
        aspect-ratio: 1920 / 1209;
        height: auto; }
        .mainvisual .scene02 .main_view_wrap > figure img {
          width: 100%; }
      .mainvisual .scene02 .main_view_wrap .main_view {
        opacity: 0;
        filter: blur(10px) brightness(10);
        transition: 1.6s opacity ease-in-out 0s, 1.6s filter ease-in-out 0s !important; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene02 .main_view_wrap .main_view .main_view_in {
            transition: 7s transform linear 0s !important; } }
      .mainvisual .scene02 .main_view_wrap .main_line {
        clip-path: inset(100% 0 0 0);
        transition: 2s clip-path ease-in-out 0s !important; }
      .mainvisual .scene02 .main_view_wrap .main_shine {
        clip-path: inset(100% 0 0 0);
        mix-blend-mode: screen;
        transition: 2s clip-path ease-in-out 0s !important; }
      .mainvisual .scene02 .main_view_wrap .main_prot {
        opacity: 0;
        transform: translateY(30px);
        transition: 1.5s all ease-in-out 0s !important; }
  .mainvisual .scene03 {
    /*
    .main_text_group{
    	opacity: 0;
    	transition:1s opacity ease-in-out 0s!important;
    	position: absolute;
    	left:auto;
    	width:29.6875%;
    	background-position:top center;
    	background-repeat:no-repeat;
    	background-size:cover;
    	background-image:url("../images/main/main_text_bg.jpg");
    	display:flex;
    	justify-content: center;
    	align-items:center;
    	@media screen and (max-width: 480px) {
    		background-image:url("../images/main/main_text_bg_sp.jpg");
    		
    		top:auto;
    		left:0;
    		right:0;
    		bottom:0;
    		width: 100%;
    		height:44.56%;
    	}
    	.main_text_in{
    		max-width: 350px;
    		width:calc(100% - 60px);
    		margin:0 auto;
    		display:flex;
    		justify-content: center;
    		flex-direction:column;
    		row-gap:25px;
    		letter-spacing: 0.3em;
    		@media screen and (max-width: 1200px) {
    			letter-spacing: 0.15em;
    		}
    		@media screen and (max-width: 480px) {
    			row-gap:5px;
    			width: 70%;
    		}
    		.main_text01{
    			font-size:clamp(24px,2.31vw,44px);
    			opacity: 0;
    			transition:1s opacity ease-in-out 0s!important; 
    			@media screen and (max-width: 480px) {
    				font-size:8vw;
    			}
    			.text_grad{
    				display: inline-block;
    				background: -webkit-linear-gradient(0deg, #666 0%,#000 100%);
    				-webkit-background-clip: text;
    				-webkit-text-fill-color: transparent;
    				color: #000;
    			}
    			.small{
    				font-size:81%;
    			}
    		}
    		
    		.main_text02{
    			font-size:clamp(12px,0.94vw,18px);
    			line-height: 2;
    			opacity: 0;
    			transition:1s opacity ease-in-out 0s!important; 
    			@media screen and (max-width: 480px) {
    				font-size:4vw;
    				line-height:1.8;
    			}
    		}
    		
    		.main_text_line{
    			clip-path:inset(0 0 0 100%);
    			transition:0.5s clip-path ease-in-out 0s!important; 
    		}
    	}
    	
    }
    */ }
    .mainvisual .scene03 .main_image_group {
      position: absolute;
      inset: 0;
      right: auto;
      width: 70.3125%;
      width: 100%; }
      .mainvisual .scene03 .main_image_group .main_bg_group,
      .mainvisual .scene03 .main_image_group .main_bg_group02 {
        position: absolute;
        inset: 0;
        opacity: 0;
        transition: 1s opacity ease-in-out 0s;
        background-position: top center;
        background-repeat: no-repeat;
        background-size: cover;
        background-image: url("../images/main/main_bg.jpg"); }
        @media screen and (max-width: 480px) {
          .mainvisual .scene03 .main_image_group .main_bg_group,
          .mainvisual .scene03 .main_image_group .main_bg_group02 {
            background-image: url("../images/main/main_bg_sp.jpg"); } }
      .mainvisual .scene03 .main_image_group .main_parse {
        position: absolute;
        inset: 0;
        width: 93.75%;
        margin: auto;
        overflow: hidden; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene03 .main_image_group .main_parse {
            width: 100%; } }
        .mainvisual .scene03 .main_image_group .main_parse:before {
          opacity: 0;
          filter: brightness(500%);
          transform: scale(1.2);
          transition: 0.5s opaity ease-in-out 0.5s, filter 1.5s linear, 7s transform ease-in-out 0s !important;
          background-image: url("../images/main/main_slide01.jpg"); }
          @media screen and (max-width: 480px) {
            .mainvisual .scene03 .main_image_group .main_parse:before {
              background-image: url("../images/main/main_slide01_sp.jpg"); } }
      .mainvisual .scene03 .main_image_group .main_slide {
        position: absolute;
        inset: 0;
        width: 93.75%;
        overflow: hidden; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene03 .main_image_group .main_slide {
            width: 100%; } }
        .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-active .main_image.main_image01, .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-prev .main_image.main_image01 {
          opacity: 1;
          filter: brightness(100%);
          transition: opacity 1.5s linear 0.5s, filter 1.5s linear !important; }
          .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-active .main_image.main_image01 span, .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-prev .main_image.main_image01 span {
            animation: 4s zoom_down ease-in-out 0s both !important; }
        .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-active .main_image.main_image01_noon, .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-prev .main_image.main_image01_noon {
          opacity: 1;
          transition: opacity 1.5s linear 4s !important; }
        .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-active .main_image.main_image02, .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-prev .main_image.main_image02 {
          opacity: 1;
          filter: brightness(100%);
          transition: opacity 1.5s linear 0.5s, filter 1.5s linear !important; }
          .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-active .main_image.main_image02 span, .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-prev .main_image.main_image02 span {
            animation: 8s up_down ease-in-out 0s both !important; }
        .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide.swiper-slide-active .main_cap {
          opacity: 1; }
@keyframes zoom_down {
  0% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }
@keyframes up_down {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-39.4%); } }
        .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image {
          position: absolute;
          inset: 0;
          width: 100%;
          height: 100%;
          opacity: 0; }
          .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image02 {
            filter: brightness(500%);
            transition: opacity 1.5s linear, filter 1.5s linear !important; }
            .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image02 span {
              display: inline-block;
              position: absolute;
              width: 100%;
              height: 100%;
              top: 0;
              left: 0; }
              .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image02 span img {
                width: 100%; }
          .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image01 {
            filter: brightness(500%);
            transition: opacity 0.3s linear 1s, filter 0.3s linear 1s !important; }
            .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image01 span {
              display: inline-block;
              position: absolute;
              width: 100%;
              height: 100%;
              top: 0;
              left: 0; }
              .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image01 span img {
                object-fit: cover;
                width: 100%;
                height: 100%; }
          .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image01_noone {
            opacity: 0;
            transition: opacity 0.6s linear 1s !important; }
            .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image01_noone span {
              display: inline-block;
              position: absolute;
              width: 100%;
              height: 100%;
              top: 0;
              left: 0; }
              .mainvisual .scene03 .main_image_group .main_slide .swiper-wrapper .swiper-slide .main_image.main_image01_noone span img {
                object-fit: cover;
                width: 100%;
                height: 100%; }
    .mainvisual .scene03 .maincopy_tome {
      position: absolute;
      left: 5%;
      top: 12%;
      font-size: clamp(28px, 2.5vw, 40px);
      color: #FFF;
      line-height: 1.4;
      letter-spacing: 0.4em;
      filter: drop-shadow(4px 4px 5px rgba(0, 0, 0, 0.4));
      z-index: 10;
      opacity: 0;
      transform: scale(1.3);
      transition: 2s opacity ease-in-out 0s,2s transform ease-in-out 0s; }
      @media screen and (max-width: 768px) {
        .mainvisual .scene03 .maincopy_tome {
          left: 5%;
          top: 2%;
          letter-spacing: 0.3em; } }
      @media screen and (max-width: 480px) {
        .mainvisual .scene03 .maincopy_tome {
          top: 7%;
          font-size: 22px;
          line-height: 1.3; } }
      .mainvisual .scene03 .maincopy_tome .big {
        font-size: 120%; }
  .mainvisual .main_ui {
    position: absolute;
    top: 90px;
    right: 10px;
    overflow: hidden;
    z-index: 3; }
    @media screen and (max-width: 1050px) {
      .mainvisual .main_ui {
        top: 100px; } }
    @media screen and (max-width: 480px) {
      .mainvisual .main_ui {
        right: 5px;
        top: 10px; } }
    .mainvisual .main_ui .skip_replay {
      float: left;
      width: 70px;
      text-align: center;
      font-size: 12px;
      line-height: 1;
      color: #FFF;
      padding: 5px 0;
      background: radial-gradient(circle, #a08b15 0%, #806100 100%);
      border: 1px solid rgba(217, 203, 172, 0.5);
      letter-spacing: 0.05em;
      transition: opacity 0.5s ease-in-out 0s !important;
      cursor: pointer; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_ui .skip_replay {
          font-size: 11px;
          width: 60px; } }
      .mainvisual .main_ui .skip_replay:hover {
        opacity: 0.7; }

.mainvisual:not(.main_end) .main_ui .skip_replay .replay {
  display: none; }

.mainvisual:not(.main_end) .main_ui .skip_replay .reload {
  display: none; }

.mainvisual.main_end .main_ui .skip_replay .skip {
  display: none; }

.mainvisual.moving *,
.mainvisual.moving *:before,
.mainvisual.moving *:after {
  transition: 0s all ease-in-out 0.5s !important;
  animation: 0s all ease-in-out 0.5s !important; }

.mainvisual.moving:after {
  opacity: 1 !important;
  transition: 0.5s all ease-in-out 0s !important; }

.mainvisual {
  /*
  &.s2{
  	.scene02{
  		opacity: 1;
  		.main_view_wrap{
  			.main_view{
  				opacity: 1;
  				filter: blur(0px) brightness(1);
  			}
  		}
  	}
  }
  &.s2-2{
  	.scene01{
  		opacity: 0;
  	}
  	
  	.scene02{
  		opacity: 1;
  		.main_view_wrap{
  			.main_line{
  				clip-path:inset(0 0 0 0);
  			}
  			.main_shine{
  				clip-path:inset(0 0 0 0);
  			}
  			
  			
  			.main_view_in{
  				@media screen and (max-width: 480px) {
  					//transform:translateX(-50%);
  				}
  			}
  		}
  	}
  }
  &.s2-3{
  	.scene02{
  		opacity: 1;
  		.main_view_wrap{
  			.main_prot{
  				opacity: 1;
  				transform:translateY(0);
  			}
  		}
  	}
  }
  &.s2-4{
  	.scene02{
  		opacity: 1;
  		.main_view_wrap{
  			transform:translateY(-21%);
  			@media screen and (max-width: 480px) {
  				//transform:translateY(-20%);
  				transform:translateY(-9%);
  			}
  		}
  	}
  }
  &.s2-5{
  	.scene02{
  		opacity: 0;
  		filter: blur(55px) saturate(0%) contrast(0%) brightness(500%);
  	}
  }
  */ }
  .mainvisual.s1 .scene01 .maincopy {
    opacity: 1 !important; }
    .mainvisual.s1 .scene01 .maincopy span {
      opacity: 1;
      transform: translateX(0); }
  .mainvisual.s1-2 .scene01 .maincopy {
    opacity: 1 !important; }
    .mainvisual.s1-2 .scene01 .maincopy span {
      opacity: 0;
      transition: 1s opacity ease-in-out 0s !important; }
  .mainvisual.s3 {
    /*
    .main_image_group{
    	.main_bg_group{
    		opacity: 1;
    	}
    	.main_parse{
    		&:before{
    			opacity: 1;
    			transform:scale(1);
    			filter: brightness(100%);
    		}
    		.main_cap{
    			opacity: 1;
    		}
    	}
    }
    */ }
    .mainvisual.s3 .scene03 .main_bg_group02 {
      opacity: 1; }
  .mainvisual.s3-2 .scene01 {
    opacity: 0; }
  .mainvisual.s3-2 .scene03 .maincopy_tome {
    opacity: 1;
    transform: scale(1); }
  .mainvisual.s3-3 {
    /*
    .scene03{
    	.main_bg_group02{
    		opacity: 1;
    	}
    }
    */ }
  .mainvisual.s3-4 .scene03 .main_parse {
    opacity: 0; }

/*# sourceMappingURL=mainvisual.css.map */
