/*! Writen  by SCSS */
.mainvisual {
  position: relative;
  aspect-ratio: 16/8;
  background: #000;
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    .mainvisual {
      aspect-ratio: 414/510; } }
  .mainvisual .inset {
    position: absolute;
    inset: 0;
    width: 100%; }
  .mainvisual img.full_img {
    width: 100%; }
  .mainvisual .scene01 {
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../images/top/main/main_bg.jpg");
    color: #FFF; }
    .mainvisual .scene01 .scene01_item {
      bottom: auto;
      top: 15%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      text-align: center;
      transition: 1s opacity ease-in-out 0s;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene01 .scene01_item {
          top: 0;
          bottom: 0; } }
      .mainvisual .scene01 .scene01_item .main_copy {
        opacity: 0;
        transform: translateY(30px);
        font-size: clamp(30px, 2.875vw, 46px);
        transition: 1.5s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s, 1.5s transform ease-in-out 0s;
        line-height: 1.53; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene01 .scene01_item .main_copy {
            font-size: 6.8vw;
            transform: translateY(15px); } }
      .mainvisual .scene01 .scene01_item .main_logo {
        opacity: 0;
        transform: scale(1.3);
        width: 44.32%;
        max-width: 546px;
        position: relative;
        margin: clamp(60px, 6.25vw, 100px) auto clamp(70px, 7.5vw, 120px);
        transition: 2s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s, 2s transform cubic-bezier(0.75, 0, 0.25, 1) 0s; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene01 .scene01_item .main_logo {
            margin: 40px auto;
            width: 83%; } }
        .mainvisual .scene01 .scene01_item .main_logo .flare {
          position: absolute;
          left: 30%;
          top: -88%;
          width: 47.82%;
          opacity: 0;
          transition: 1s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s, 2.5s ease-in-out 0s; }
      .mainvisual .scene01 .scene01_item .main_copy02 {
        opacity: 0;
        transform: translateY(-30px);
        font-size: clamp(20px, 1.875vw, 30px);
        transition: 1.5s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s, 1.5s transform cubic-bezier(0.75, 0, 0.25, 1) 0s; }
        @media screen and (max-width: 480px) {
          .mainvisual .scene01 .scene01_item .main_copy02 {
            font-size: 4.8vw;
            transform: translateY(-15px); } }
  .mainvisual .scene02 .main_view_group .main_view {
    opacity: 0;
    transform: scale(1.25);
    transition: 3s opacity ease-in-out 0s,3s transform ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene02 .main_view_group .main_view {
        transform: scale(1.5); } }
  .mainvisual .scene02 .main_view_group:before, .mainvisual .scene02 .main_view_group:after {
    content: "";
    position: absolute;
    inset: 0;
    height: 20%;
    background: #000;
    z-index: 1;
    opacity: 0;
    transition: 1s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s, 3s transform cubic-bezier(0.75, 0, 0.25, 1) 0s; }
  .mainvisual .scene02 .main_view_group:before {
    top: -5px;
    bottom: auto;
    transform-origin: top center; }
  .mainvisual .scene02 .main_view_group:after {
    top: auto;
    bottom: -5px;
    transform-origin: bottom center; }
  .mainvisual .scene02 .main_view_group .cap {
    opacity: 0;
    transition: 2s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s;
    text-shadow: 0px 0px 0px rgba(0, 51, 86, 0.8), 0px 0px 1px rgba(0, 51, 86, 0.8), 0px 0px 2px rgba(0, 51, 86, 0.8), 0px 0px 3px rgba(0, 51, 86, 0.8), 0px 0px 4px rgba(0, 51, 86, 0.8), 0px 0px 5px rgba(0, 51, 86, 0.8), 0px 0px 6px rgba(0, 51, 86, 0.8), 0px 0px 7px rgba(0, 51, 86, 0.8), 0px 0px 8px rgba(0, 51, 86, 0.8), 0px 0px 9px rgba(0, 51, 86, 0.8), 0px 0px 10px rgba(0, 51, 86, 0.8); }
  .mainvisual .scene02 .announcement {
    position: absolute;
    left: 25px;
    top: 20px;
    line-height: 0;
    opacity: 0;
    width: 11.13%;
    transition: 1s opacity cubic-bezier(0.75, 0, 0.25, 1) 1.5s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene02 .announcement {
        width: 20%;
        left: 10px;
        top: 10px; } }
  .mainvisual .scene02 .main_shine_group .main_shine {
    clip-path: inset(100% 0 0 0);
    transition: 1s clip-path ease-in-out 0s; }
    .mainvisual .scene02 .main_shine_group .main_shine.shine02, .mainvisual .scene02 .main_shine_group .main_shine.shine03 {
      mix-blend-mode: screen; }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_shine_group .main_shine.shine02, .mainvisual .scene02 .main_shine_group .main_shine.shine03 {
          clip-path: unset;
          opacity: 0;
          transition: 1s opacity ease-in-out 0s; } }
  .mainvisual .scene02 .mainVideo {
    opacity: 0;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    transition: 1s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s; }
  .mainvisual .scene02 .main_prot {
    opacity: 0;
    transform: translateY(20px);
    transition: 1s opacity ease-in-out 0s,1s transform ease-in-out 0s; }
  .mainvisual .scene02 .main_logo02 {
    position: absolute;
    inset: 0;
    bottom: auto;
    top: 10%;
    width: 42.22%;
    max-width: 802px;
    margin: auto;
    transform: scale(1.2);
    opacity: 0;
    transition: 1s opacity ease-in-out,1s transform ease-in-out 0s; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene02 .main_logo02 {
        width: 83%;
        top: 12%; } }
  .mainvisual .scene02 .main_parse_wrap {
    position: absolute;
    inset: 0;
    right: auto;
    top: auto;
    width: 28.74%;
    max-width: 546px; }
    @media screen and (max-width: 480px) {
      .mainvisual .scene02 .main_parse_wrap {
        left: -2%;
        width: 30.75%; } }
    .mainvisual .scene02 .main_parse_wrap .main_parse {
      opacity: 0;
      transition: 1s opacity ease-in-out 0s,1s transform ease-in-out 0s; }
    .mainvisual .scene02 .main_parse_wrap .cap {
      right: auto;
      left: 5px;
      opacity: 0;
      transition: 1s opacity cubic-bezier(0.75, 0, 0.25, 1) 0s;
      text-shadow: 0px 0px 0px rgba(0, 51, 86, 0.8), 0px 0px 1px rgba(0, 51, 86, 0.8), 0px 0px 2px rgba(0, 51, 86, 0.8), 0px 0px 3px rgba(0, 51, 86, 0.8), 0px 0px 4px rgba(0, 51, 86, 0.8), 0px 0px 5px rgba(0, 51, 86, 0.8), 0px 0px 6px rgba(0, 51, 86, 0.8), 0px 0px 7px rgba(0, 51, 86, 0.8), 0px 0px 8px rgba(0, 51, 86, 0.8), 0px 0px 9px rgba(0, 51, 86, 0.8), 0px 0px 10px rgba(0, 51, 86, 0.8); }
      @media screen and (max-width: 480px) {
        .mainvisual .scene02 .main_parse_wrap .cap {
          left: 85%;
          white-space: nowrap; } }

#mainvisual.s1 .scene01 .scene01_item .main_copy,
#mainvisual.s1 .scene01 .scene01_item .main_copy02 {
  transform: translateY(0);
  opacity: 1; }
#mainvisual.s2 .scene01 .scene01_item .main_logo {
  opacity: 1;
  transform: scale(1); }
#mainvisual.s2_2 .scene01 .scene01_item .main_logo .flare {
  opacity: 1;
  transform: rotate(90deg); }
#mainvisual.s2_3 .scene01 .scene01_item {
  opacity: 0; }
#mainvisual.s3 .scene02 .announcement {
  opacity: 1; }
#mainvisual.s3 .scene02 .main_view_group .main_view {
  opacity: 1; }
#mainvisual.s3 .scene02 .main_view_group .cap {
  opacity: 1; }
#mainvisual.s3 .scene02 .main_view_group:before, #mainvisual.s3 .scene02 .main_view_group:after {
  opacity: 1; }
#mainvisual.s3_2 .scene02 .main_view_group .main_view {
  transform: scale(1); }
#mainvisual.s3_2 .scene02 .main_view_group:before {
  transform: scale(1, 0); }
#mainvisual.s3_2 .scene02 .main_view_group:after {
  transform: scale(1, 0); }
#mainvisual.s3_3 .scene02 .main_shine_group .main_shine {
  clip-path: inset(0 0 0 0); }
  #mainvisual.s3_3 .scene02 .main_shine_group .main_shine.shine02, #mainvisual.s3_3 .scene02 .main_shine_group .main_shine.shine03 {
    opacity: 1; }
#mainvisual.s3_3 .scene02 .mainVideo {
  opacity: 1; }
#mainvisual.s3_4 .scene02 .main_prot {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s3_5 .scene02 .main_logo02 {
  opacity: 1;
  transform: scale(1); }
#mainvisual.s3_6 .scene02 .main_parse_wrap .main_parse {
  opacity: 1;
  transform: translateY(0); }
#mainvisual.s3_6 .scene02 .main_parse_wrap .cap {
  opacity: 1; }

/*# sourceMappingURL=mainvisual.css.map */
