/* -----------------------------
  スライダー
----------------------------- */
.wrapper *,
.slider *,
.slider .content img {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.wrapper {
  max-width: 1200px; /* サイトのメイン幅 */
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  height: 650px; /* スライド高さ */
}

/* 前後ボタン */
.next, .prev {
  width: 60px;
  height: 100%;
  position: absolute;
  top: 0;           /* スライダーの高さの中央 */
  transition: all 0.7s;
  z-index: 10;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.5); /* 白50%透過 */
}

.next { right: 0; }
.prev { left: 0; }

/* 矢印 */
.next::after, .prev::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border-top: solid 3px #5a5a5a;
  border-right: solid 3px #5a5a5a;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) 
}

.next::after { transform: rotate(45deg); right: 25px; }
.prev::after { transform: rotate(-135deg); left: 25px; }

.next:hover, .prev:hover {
  background: rgba(255, 255, 255, 0.8); /* 白80%透過 */
}

/* スライダー本体 */
.slider {
  display: flex;
  width: 1000%; /* 10枚分 */
  transition: transform 1.5s ease;
}

/* スライド1枚の幅 */
.content {
  width: 10%; /* 100% ÷ 10枚 */
  height: 620px;
  display: flex;
  justify-content: center;
  position: relative;
  align-items: center;
}
.slide-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 12px 15px;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
}

.content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;  /* ブロック化で擬似要素が重なる */
}
  /* 各画像微調整 */
  .content1 img {
    object-position: center calc(0% - 250px);
  }
  .content2 img {
    object-position: center calc(0% - 150px);
  }
  .content3 img {
    object-position: center calc(0% - 150px);
  }
  .content4 img {
    object-position: center calc(0% - 350px);
  }
  .content5 img {
    object-position: center calc(0% - 200px);
  }
  .content6 img {
    object-position: center calc(0% - 500px);
  }
  .content7 img {
    object-position: center calc(0% - 150px);
  }
  .content8 img {
    object-position: center calc(0% - 50px);
  }
  .content9 img {
    object-position: center calc(0% - 150px);
  }
  .content10 img {
    object-position: center calc(0% - 100px);
  }


/* インジケーター */
.indicator {
  width: 100%;
  position: absolute;
  bottom: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
}

.slider-indicator li {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  list-style: none;
  background-color: transparent; /* 非アクティブは透明 */
  border: 1px solid #3399ff;     /* 青枠 */
  margin: 0 10px;
  cursor: pointer;
}
.slider-indicator li.active {
  background-color: rgba(51, 153, 255, 0.7); /* 透過70%で濃い青 */
  border-color: #3399ff;                    /* 枠は濃い青のまま */                 /* 枠は濃い青 */
}

.slider-indicator li:after {
  display: none;
}


@media (max-width: 600px) {
   /* ---------- スライダー ---------- */
  .next, .prev {
    display: none; /* スマホ非表示 */
  }
  .wrapper,
  .content {
    height: auto;
  }
  .content img {
    width: 100%;
    height: auto;
    display: block;
  }
  .indicator {
    position: relative;
    bottom: auto;
    margin-top: 10px;
  }
  .slider .content img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
  }
  .slide-caption {
    font-size: 0.95rem;
    bottom: 20px;
    padding: 8px 10px;
  }
}