[data-theme="dark"] #loader .loading-bg {
  background-color: rgba(37,37,37,0.9);
}
[data-theme="dark"] #loader .spinner-box .loading-word {
  color: var(--red-1, #ff5252);
}
#loader .loading-bg {
  position: fixed;
  z-index: 1000;
  width: 50%;
  height: 100%;
  background-color: rgba(255,255,255,0.9);
  transition: 0.8s;
}
#loader .loading-right-bg {
  right: 0;
}
#loader .spinner-box {
  position: fixed;
  z-index: 1001;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  opacity: 1;
  transition: 0.5s;
}
#loader .spinner-box .loading-taichi {
  opacity: 0.8;
  animation: rotate-all 2s linear infinite;
}
#loader .spinner-box .loading-word {
  position: absolute;
  top: calc(50%);
  left: 50%;
  transform: translate(-50%, -50%);
  font: 700 2rem Mulish, 'Noto Sans SC', 'Noto Serif JP', -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  color: #888;
}
#loader .spinner-box .loading-word span {
  display: inline-block;
  animation: up-down 2s ease-in-out infinite;
  animation-delay: calc(0.1s * var(--i));
}
#loader.loading .loading-left-bg {
  transform: translate(-100%, 0);
}
#loader.loading .loading-right-bg {
  transform: translate(100%, 0);
}
#loader.loading .spinner-box {
  opacity: 0;
  visibility: hidden;
}
@keyframes rotate-all {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes up-down {
  0% {
    transform: translateY(0px);
  }
  20% {
    transform: translateY(-24px);
  }
  40%, 100% {
    transform: translateY(0px);
  }
}
