#fullOverlay{
    position: fixed;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background: rgba(100, 100, 100, .3);
    z-index: 5000;
  }
  @keyframes fadeOut {
      from {
          opacity: 1;
      }
      to {
          display: none;
          opacity: 0;
          z-index: -1;
      }
  }
  #loader {
      width: 100%;
      height: 100vh;
      background-color: #00C2BC;
      /* 環境によって「z-index」追加 */
  }
  /* 読み込み完了後に「loaded」を付与する */
  #loader.loaded {
      animation: fadeOut 3s forwards;
  }
  .spinner {
    width: 40px;
    height: 40px;
    position: fixed;
    margin: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
  }
  .double-bounce1, .double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #333;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-animation: sk-bounce 2.0s infinite ease-in-out;
    animation: sk-bounce 2.0s infinite ease-in-out;
  }
  .double-bounce2 {
    -webkit-animation-delay: -1.0s;
    animation-delay: -1.0s;
  }
  @-webkit-keyframes sk-bounce {
    0%, 100% { -webkit-transform: scale(0.0) }
    50% { -webkit-transform: scale(1.0) }
  }
  @keyframes sk-bounce {
    0%, 100% {
      transform: scale(0.0);
      -webkit-transform: scale(0.0);
    } 50% {
      transform: scale(1.0);
      -webkit-transform: scale(1.0);
    }
  }