@charset "utf-8";
.start {
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 900000;
  animation: loaderOut 0.5s ease 3.8s forwards;
}

@keyframes loaderOut {
  to { opacity: 0; visibility: hidden; }
}

/* コンテナ底辺 = 50vh + 40px が水平線 */
.load-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  padding-bottom: 2px;
}

.load {
  display: block;
  width: 545px;
  animation: loaderReveal 1.5s cubic-bezier(.19, 1, .22, 1) 0.3s both;
}

@keyframes loaderReveal {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}

