* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.carousel-container {
  width: 100vw;
  /*aspect-ratio: 16 / 9;*/
  overflow: hidden;
  position: relative;
}

.carousel-track {
  display: flex;
  width: calc((100vw + 20px) * 2); /* 画像間のマージンを加味した幅 */
  animation: slide-left 20s linear infinite;
}

.carousel-slide {
  display: flex;
  width: calc(100vw + 20px); /* 3枚分の画像幅＋2つの10pxマージン */
}

.carousel-slide img {
  width: calc((100vw - 20px) / 3); /* 3枚分のマージン(2×10px)を引いて分割 */
  height: auto;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  margin-right: 10px;
}

.carousel-slide img:last-child {
  margin-right: 0;
}

@keyframes slide-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-100vw - 20px));
  }
}


