/*! Writen  by SCSS */
body .wrap {
  height: 100svh;
  overflow: hidden; }
body.main_end .wrap {
  height: auto; }

body.moving .loading_area *,
body.moving .loading_area :before,
body.moving .loading_area :after,
body.moving .mainvisual *,
body.moving .mainvisual :before,
body.moving .mainvisual :after {
  transition: 0s all ease-in-out 0.5s !important; }

body.moving .mainvisual:after {
  opacity: 1 !important;
  transition: 0.4s all ease-in-out 0s !important; }

body.main_end .loading_area {
  position: absolute;
  pointer-events: none; }
  body.main_end .loading_area .loading_in {
    pointer-events: none; }
  body.main_end .loading_area .main_button .replay {
    opacity: 1;
    pointer-events: all; }
  body.main_end .loading_area .main_button .skip {
    opacity: 0;
    pointer-events: none; }

.loading_area {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9950; }
  .loading_area .load_bg {
    position: absolute;
    inset: 0;
    background: #FFF;
    transition: 2s transform cubic-bezier(0.75, 0, 0.25, 1) 0s; }
    .loading_area .load_bg.left {
      clip-path: polygon(0 0, 61% 0, 41% 100%, 0% 100%); }
    .loading_area .load_bg.right {
      clip-path: polygon(60% 0, 100% 0, 100% 100%, 40% 100%); }
  .loading_area .inset {
    position: absolute;
    inset: 0; }
  .loading_area .loading_in {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    row-gap: 40px;
    opacity: 0;
    filter: blur(15px);
    transition: 1s opacity ease-in-out 0s,1s filter ease-in-out 0s;
    font-size: clamp(70px, 6.25vw, 100px);
    line-height: 1; }
    @media screen and (max-width: 480px) {
      .loading_area .loading_in {
        row-gap: 25px;
        font-size: 10vw; } }
    .loading_area .loading_in .load_copy {
      letter-spacing: 0.1em; }
    .loading_area .loading_in .load_read {
      font-size: 30%; }
      @media screen and (max-width: 480px) {
        .loading_area .loading_in .load_read {
          font-size: 40%; } }
    .loading_area .loading_in .load_copy_img {
      max-width: 1703px;
      width: 89.64%;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .loading_area .loading_in .load_copy_img {
          width: 90%; } }
  .loading_area .main_button {
    z-index: 10;
    position: absolute;
    right: 20px;
    top: 100px;
    width: 80px;
    border: 1px solid #FFF;
    border-radius: 5px;
    text-align: center;
    background: rgba(0, 0, 0, 0.5);
    cursor: pointer;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    line-height: 1; }
    @media screen and (max-width: 480px) {
      .loading_area .main_button {
        right: 10px;
        top: 70px;
        width: 60px;
        font-size: 12px; } }
    .loading_area .main_button .replay {
      padding: 10px 5px;
      opacity: 0;
      pointer-events: none;
      transition: 0.3s opacity ease-out 0s; }
      @media screen and (max-width: 480px) {
        .loading_area .main_button .replay {
          padding: 8px 5px; } }
    .loading_area .main_button .skip {
      position: absolute;
      inset: 0;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: auto;
      transition: 0.3s opacity ease-out 0s; }

.mainvisual {
  position: relative;
  overflow: hidden; }
  .mainvisual:after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 100;
    pointer-events: none;
    background: #FFF;
    z-index: 15;
    transition: 0.4s opacity linear 0s; }
  .mainvisual img.full_img {
    width: 100%; }
  .mainvisual .main_in {
    position: relative;
    aspect-ratio: 1920/1500; }
    @media screen and (max-width: 480px) {
      .mainvisual .main_in {
        aspect-ratio: 414/1200; } }
    .mainvisual .main_in .inset {
      position: absolute;
      inset: 0; }
    .mainvisual .main_in .main_image_group .main_navy {
      opacity: 0;
      transition: 1.5s opacity ease-in-out 1s; }
    .mainvisual .main_in .main_image_group .main_line {
      clip-path: inset(100% 0 0 0);
      mix-blend-mode: color-dodge;
      transition: 3.5s clip-path cubic-bezier(0.75, 0, 0.25, 1) 0s; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .main_image_group .main_line {
          transition-duration: 3.5s; } }
    .mainvisual .main_in .main_image_group .main_shine {
      clip-path: inset(100% 0 0 0);
      mix-blend-mode: screen;
      transition: 3.5s clip-path cubic-bezier(0.75, 0, 0.25, 1) 0s; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .main_image_group .main_shine {
          transition-duration: 3.5s; } }
    .mainvisual .main_in .main_image_group .main_prot {
      transition: 1s opacity ease-in-out 0s; }
    .mainvisual .main_in .main_logo {
      max-width: 913px;
      width: 48.06%;
      margin: 0 auto;
      top: 30%;
      bottom: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.7));
      clip-path: inset(0 100% 0 0);
      transition: 1s clip-path cubic-bezier(0.75, 0, 0.25, 1) 0s;
      height: max-content; }
      @media screen and (max-width: 480px) {
        .mainvisual .main_in .main_logo {
          top: 10%;
          bottom: auto;
          width: 85%;
          margin: auto; } }
  .mainvisual .merit_group {
    position: absolute;
    inset: 0;
    top: auto;
    bottom: 65px; }
    @media screen and (max-width: 480px) {
      .mainvisual .merit_group {
        bottom: 40px;
        padding-top: 20px; } }
    .mainvisual .merit_group .cap {
      bottom: 100%; }
    .mainvisual .merit_group .property_name {
      width: 43.48%;
      margin: 0 auto clamp(50px, 4.211vw, 80px); }
      @media screen and (max-width: 480px) {
        .mainvisual .merit_group .property_name {
          width: 80%;
          margin: 0 auto 40px; } }
    .mainvisual .merit_group .merit_img {
      text-align: center;
      width: 96.06%;
      margin: 0 auto; }
      @media screen and (max-width: 480px) {
        .mainvisual .merit_group .merit_img {
          width: 76%;
          margin: 0 auto; } }

body.l1 .loading_area .loading_in {
  opacity: 1;
  filter: blur(0); }
body.l2 .loading_area .load_bg.left {
  transform: translateX(-100%); }
body.l2 .loading_area .load_bg.right {
  transform: translateX(100%); }
body.l2 .loading_area .loading_in {
  opacity: 0;
  filter: blur(10px); }
body.l2 .mainvisual .main_in .main_image_group .main_image img {
  transform: scale(1); }
  @media screen and (max-width: 480px) {
    body.l2 .mainvisual .main_in .main_image_group .main_image img {
      transform: scale(1) translateY(0); } }
body.l2 .mainvisual .main_in .main_image_group .main_navy {
  opacity: 1; }
body.l2 .mainvisual .main_in .main_image_group .main_line {
  clip-path: inset(0 0 0 0); }
body.l2 .mainvisual .main_in .main_image_group .main_shine {
  clip-path: inset(0 0 0 0); }
body.s1 .main_in .main_logo {
  clip-path: inset(0 0 0 0); }

/*# sourceMappingURL=mainvisual.css.map */
