.top {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background-color: #fff;
}

.top img {
  vertical-align: bottom;
}

.top-text {
  position: absolute;
  width: 100%;
  top: 9%;
  left: 0;
  text-align: center;
}

.top-text img {
  filter: drop-shadow(0 0 8px #5566bc) drop-shadow(0 0 8px #5566bc) drop-shadow(0 0 8px #5566bc);
}

.top-logo img {
  width: 44%;
}

.top-date img {
  width: 14%;
  margin: 2rem 0 0;
}

.newyear {
  position: fixed;
  bottom: -0.2em;
  left: 0.5em;
  color: #fff;
  font-size: 28px;
  text-shadow: 0 0 4px #5566bc, 0 0 4px #5566bc;
  z-index: 9999;
}

@media screen and (min-width: 1px) and (max-width: 743px) {
  .top {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1.3;
    overflow: hidden;
  }

  .top picture {
    display: block;
    width: 200%;
    transform: translateX(-25%);
    /* 中央配置で開始 */
    transition: transform 7s ease-in-out;
    /* 移動速度と滑らかさ */
  }

  .top picture.left {
    transform: translateX(0);
    /* 左端 */
  }

  .top picture.right {
    transform: translateX(-50%);
    /* 右端 */
  }

  .top-text {
    position: absolute;
    width: 100%;
    top: 9%;
    left: 0;
    text-align: center;
  }

  .top-text img {
    filter: drop-shadow(0 0 8px #5566bc) drop-shadow(0 0 8px #5566bc) drop-shadow(0 0 8px #5566bc);
  }

  .top-logo img {
    width: 74%;
  }

  .top-date img {
    width: 36%;
    margin: 1.5rem 0 0;
  }
}

@media screen and (min-width: 744px) and (max-width: 1024px) {

  .top-text {
    position: absolute;
    width: 100%;
    top: 7%;
    left: 0;
    text-align: center;
  }
}

@media screen and (min-width: 1025px) {}