/* 2412追加ローディング */
.loading_wrap {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loading_wrap .loading_bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.loading_wrap .loading_bg .bg_block {
  background-color: #fff;
  width: 25%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: top 0.3s;
}

.loading_wrap .loading_bg .bg_block:nth-child(1) {
  left: 0;
  transition-delay: 0.1s;
}

.loading_wrap .loading_bg .bg_block:nth-child(2) {
  left: 25%;
  transition-delay: 0.2s;
}

.loading_wrap .loading_bg .bg_block:nth-child(3) {
  left: 50%;
  transition-delay: 0.3s;
}

.loading_wrap .loading_bg .bg_block:nth-child(4) {
  left: 75%;
  transition-delay: 0.4s;
}

.loading_wrap .loading_bg.active .bg_block {
  top: -100%;
}

.loading_wrap .loading_icon {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.loading_wrap .loading_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.loading_text_wrap {
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: absolute;
  left: 80px;
  bottom: 80px;
}

.loading_text {
  opacity: 0;
  transform: translateY(24px);
  height: 64px;
  transition: all 0.4s;
}

.loading_text_wrap.active .loading_text {
  opacity: 1;
  transform: translateY(0);
}

.loading_text_wrap.active .loading_text02 {
  transition-delay: 0.3s;
}

.loading_text img {
  height: 100%;
}

@media screen and (max-width: 1280px) {
  .loading_wrap .loading_icon img {
    object-fit: cover;
  }

  .loading_text_wrap {
    gap: 8px;
    left: 20px;
    bottom: 32px;
  }

  .loading_text {
    height: clamp(24px, calc(24 / 400 * 100vw), 64px);
  }
}
