/*! Writen  by SCSS */
.mainvisual {
  position: relative;
  overflow: hidden; }
  .mainvisual.main_loaded .main_in .main_encopy_group .main_encopy {
    visibility: visible;
    opacity: 1; }
  .mainvisual .main_in {
    aspect-ratio: 1600/782;
    position: relative; }
    @media screen and (max-width: 480px) {
      .mainvisual .main_in {
        aspect-ratio: 414/810; } }
    .mainvisual .main_in .main_image figure {
      position: absolute;
      inset: 0;
      overflow: hidden; }
      .mainvisual .main_in .main_image figure img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0;
        transition: 0s opacity ease-in-out 0.5s;
        z-index: 0; }
        .mainvisual .main_in .main_image figure img.active {
          opacity: 1; }
      .mainvisual .main_in .main_image figure:after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to right, #009feb 0%, #0060af 100%);
        transform: scaleX(0);
        transform-origin: left center;
        animation: none;
        will-change: transform; }
      .mainvisual .main_in .main_image figure.active {
        z-index: 1; }
        .mainvisual .main_in .main_image figure.active img {
          opacity: 1; }
        .mainvisual .main_in .main_image figure.active:after {
          animation: kv-show 1s cubic-bezier(0.65, 0, 0.35, 1); }
@keyframes kv-show {
  0% {
    transform: scaleX(0) translateX(0%);
    transform-origin: left center; }
  50% {
    transform: scaleX(1) translateX(0%);
    transform-origin: left center; }
  100% {
    transform: scaleX(1) translateX(100%);
    transform-origin: left center; } }
    .mainvisual .main_in .main_image.main_slide02 {
      aspect-ratio: 50/28;
      position: absolute;
      left: 56.69%;
      bottom: 3.99%;
      width: 31.25%;
      overflow: visible; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .main_image.main_slide02 {
          left: 20px;
          bottom: 20px;
          width: 70.05%; } }
      .mainvisual .main_in .main_image.main_slide02:before {
        content: "";
        position: absolute;
        right: -30px;
        bottom: -30px;
        width: 88%;
        aspect-ratio: 44/22;
        background: #0062b2; }
        @media screen and (max-width: 480px) {
          .mainvisual .main_in .main_image.main_slide02:before {
            right: -20px;
            bottom: -20px; } }
    .mainvisual .main_in .main_image.main_slide03 {
      aspect-ratio: 24/32;
      position: absolute;
      right: 3.13%;
      top: 0%;
      width: 15%;
      overflow: visible; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .main_image.main_slide03 {
          right: 0;
          top: 54%;
          width: 31.41%;
          aspect-ratio: 13/14; } }
      .mainvisual .main_in .main_image.main_slide03 img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .mainvisual .main_in .main_image.main_slide03:before {
        content: "";
        position: absolute;
        right: -20.43%;
        bottom: -25%;
        width: 50%;
        aspect-ratio: 1;
        background: linear-gradient(to right, rgba(30, 92, 170, 0.5) 0%, rgba(0, 160, 233, 0.5) 100%); }
        @media screen and (max-width: 480px) {
          .mainvisual .main_in .main_image.main_slide03:before {
            right: 9.57%;
            bottom: -15%; } }
    .mainvisual .main_in .main_image img {
      position: absolute;
      inset: 0; }
    .mainvisual .main_in .swiper.main_slide01 {
      position: absolute;
      left: 0;
      top: 8.25%;
      width: 50%; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .swiper.main_slide01 {
          left: 0;
          top: 0;
          width: 100%; } }
    .mainvisual .main_in .swiper .swiper-wrapper .swiper-slide img.full_img {
      width: 100%; }
    .mainvisual .main_in .maincopy {
      position: absolute;
      left: 8.75%;
      letter-spacing: 0.05em;
      bottom: 0.67%;
      line-height: 1.6;
      font-size: clamp(24px, 2.75vw, 44px); }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .maincopy {
          left: 0;
          right: 0;
          top: 38.5%;
          bottom: auto;
          text-align: center;
          font-size: 6.4vw; } }
      .mainvisual .main_in .maincopy .sub {
        display: block;
        font-size: 35%;
        letter-spacing: normal; }
        @media screen and (max-width: 480px) {
          .mainvisual .main_in .maincopy .sub {
            font-size: 55%; } }
    .mainvisual .main_in .main_encopy_group {
      display: flex;
      flex-direction: column;
      position: absolute;
      left: 56.25%;
      top: 17.29%; }
      @media screen and (max-width: 960px) {
        .mainvisual .main_in .main_encopy_group {
          left: 54.25%; } }
      @media screen and (max-width: 820px) {
        .mainvisual .main_in .main_encopy_group {
          top: 14%; } }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .main_encopy_group {
          left: 20px;
          top: 53%; } }
      .mainvisual .main_in .main_encopy_group .main_encopy {
        font-size: clamp(11px, 1vw, 16px);
        line-height: 2.4;
        opacity: 0.6;
        visibility: hidden;
        transition: 0.7s opacity ease-in-out 0s;
        opacity: 0; }
        @media screen and (max-width: 480px) {
          .mainvisual .main_in .main_encopy_group .main_encopy {
            font-size: 2.8vw;
            letter-spacing: normal; } }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(1) {
          transition-delay: 0s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(2) {
          transition-delay: 0.2s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(3) {
          transition-delay: 0.4s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(4) {
          transition-delay: 0.6s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(5) {
          transition-delay: 0.8s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(6) {
          transition-delay: 1s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(7) {
          transition-delay: 1.2s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(8) {
          transition-delay: 1.4s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(9) {
          transition-delay: 1.6s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(10) {
          transition-delay: 1.8s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(11) {
          transition-delay: 2s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(12) {
          transition-delay: 2.2s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(13) {
          transition-delay: 2.4s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(14) {
          transition-delay: 2.6s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(15) {
          transition-delay: 2.8s; }
        .mainvisual .main_in .main_encopy_group .main_encopy:nth-of-type(16) {
          transition-delay: 3s; }
