/* custom sta */
@media (min-width: 960px) {
  #pagetop {
    margin-bottom: 60px;
  }
}
/* over #footer-railway */
#pagetop {
  z-index: 1;
}
/* custom end */

#footer-railway {
  position: relative;
  width: 100%;
  height: 60px;
  overflow: hidden;
  background: transparent;
}

/* バス */
.footer-bus {
  position: absolute;
  bottom: 0;
  right: 0;
}
.footer-bus-body {
  width: 92px;
  height: 40px;
  background: url("./img/bus_top.svg") no-repeat center / contain;
  animation: bus-bounce 0.3s linear infinite;
}

/* 地下鉄 */
.footer-train {
  position: absolute;
  bottom: 0;
  right: 0;
}
.footer-train-body {
  width: 660px;
  height: 40px;
  background: url("./img/train_top.svg") no-repeat center / contain;
}

/* バス */
@keyframes bus-go-through {
  /* 登場 */
  0% {
    transform: translateX(100%);
    animation-timing-function: ease-out;
  }
  /* 停止 */
  25% {
    transform: translateX(calc(100% - max(20vw, 120px)));
  }
  /* 出発 */
  40% {
    transform: translateX(calc(100% - max(20vw, 120px)));
    animation-timing-function: cubic-bezier(0.1, 0, 1, 1);
  }
  /* 退場 */
  100% {
    transform: translateX(-100vw);
  }
}

/* バス 縦揺れ */
@keyframes bus-bounce {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(1px); }
  100% { transform: translateY(0); }
}


/* 地下鉄 */
@keyframes train-go-through {
  /* 登場 */
  0% {
    transform: translateX(100%);
    animation-timing-function: ease-out;
  }
  /* 停止 */
  30% {
    transform: translateX(calc(100% - max(20vw, 120px)));
  }
  /* 出発 */
  45% {
    transform: translateX(calc(100% - max(20vw, 120px)));
    animation-timing-function: cubic-bezier(0.7, 0, 1, 1);
  }
  /* 退場 */
  100% {
    transform: translateX(-100vw);
  }
}