@charset "utf-8";
/* CSS Document */

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

.event {
  overflow: hidden;
}

/* スライダー全体 */
.box-hero-slider {
  width: 100%;
  margin: 0 auto;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

/* スライドを横並びにするトラック */
.box-hero-slider .slider-track {
  display: flex;
  width: 100%;
  transition: transform 0.5s ease;
  will-change: transform;
  user-select: none;
}

/*
 * 1枚だけの場合
 * JavaScriptで transform を使用しないため中央配置する
 */
.box-hero-slider .slider-track.is-single {
  justify-content: center;
  transform: none !important;
}

/* 各スライド */
.box-hero-slider .slide {
  flex: 0 0 20%; /* PCは画面内に5枚 */
  min-width: 0;
  margin: 0;
  position: relative;
  transition:
    transform 0.5s ease,
    opacity 0.5s ease;
  opacity: 0.8;
  border-radius: 12px;
}

section.works .box-hero-slider .slide {
    padding: 0 2px;
}

/* 1枚だけの場合の横幅 */
.box-hero-slider .slider-track.is-single .slide {
  flex-basis: 20%;
}

.box-hero-slider .slide a {
  display: block;
}

/* スライド画像 */
.box-hero-slider .slide img {
  display: block;
  width: 96%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow:
    rgba(0, 0, 0, 0.1) 0 13px 27px -5px,
    rgba(0, 0, 0, 0.3) 0 8px 16px -8px;
}

/* 中央のスライド */
.box-hero-slider .slide.center {
  transform: scale(1.2);
  z-index: 10;
  opacity: 1;
}

/* スライダー操作ボタン */
.box-hero-slider .slider-controls {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30%;
  z-index: 20;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* floatを使わず左右に配置 */
.box-hero-slider .slider-controls::after {
  display: block;
  clear: both;
  content: "";
}

.box-hero-slider .slider-controls button {
  padding: 10px 13px;
  border: none;
  border-radius: 50px;
  background-color: #fff;
  cursor: pointer;
  transition:
    background-color 0.3s,
    opacity 0.3s;
  pointer-events: auto;
}

.box-hero-slider .slider-controls button:hover {
  opacity: 0.8;
}

.box-hero-slider .slider-controls button.prev {
  float: left;
}

.box-hero-slider .slider-controls button.next {
  float: right;
}

/* スマホ用 */
@media (max-width: 768px) {
  .box-hero-slider {
    margin: 0 auto;
    padding: 80px 0 120px; /* scale(1.8) の上下切れ対策 */
  }

  .box-hero-slider .slide {
    flex-basis: 33.3333%; /* スマホは画面内に3枚 */
  }

  .box-hero-slider .slider-track.is-single .slide {
    flex-basis: 33.3333%;
  }

  .box-hero-slider .slide.center {
    transform: scale(2);
  }

  .box-hero-slider .slider-controls {
    width: 75%;
  }

  .box-hero-slider .slider-controls button {
    padding: 10px;
  }
}

/* 動きを減らす設定を使用している場合 */
@media (prefers-reduced-motion: reduce) {
  .box-hero-slider .slider-track,
  .box-hero-slider .slide,
  .box-hero-slider .slider-controls button {
    transition: none;
  }
}
