:root {
  --loader-color: #154B5A;
  --overlay-bg: #ffffff;
}

/* デフォルトは非表示。必要なときだけ .preloader--visible を付ける */
#preloader {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  background: var(--overlay-bg);
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

#preloader.preloader--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

body.is-loading {
  overflow: hidden;
}

/* 既存の double-bounce 用スタイル（必要に応じて） */
.spinner {
  width: 48px;
  height: 48px;
  position: relative;
}

.double-bounce1,
.double-bounce2 {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 50%;
  background-color: var(--loader-color);
  opacity: .6;
  animation: sk-bounce 2s infinite ease-in-out;
}

.double-bounce2 {
  animation-delay: -1s;
}

@keyframes sk-bounce {

  0%,
  100% {
    transform: scale(0)
  }

  50% {
    transform: scale(1)
  }
}