.hero-swiper {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.hero-swiper img {
  width: 100%;
  height: auto;
  object-fit: fill;
}

/* ===== コントロールエリア（外に配置） ===== */

.swiper-controls {
  position: relative;
  margin-top: 20px;
}

/* 中央グループ */
.swiper-controls-main {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== ページネーション ===== */

.swiper-pagination {
  position: static;
}

.swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  background: #CCCCCC;
  opacity: 1;
  border-radius: 50%;
  display: inline-block;
}

.swiper-pagination-bullet-active {
  width: 6px;
  height: 6px;
  background: #07A32B;
  border-radius: 50%;
}

/* ===== 矢印 ===== */

.swiper-button-prev,
.swiper-button-next {
  position: static;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #07A32B;
  color: #07A32B;
  margin-top: 0px;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 12px;
}

/* ===== 再生停止ボタン ===== */

.swiper-control {
  position: absolute;
  top: 50%;
  left: calc(50% + 90px);
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid #07A32B;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

button:focus-visible {
  outline: 2px solid #000 !important;
  outline-offset: 2px;
}

/* 停止アイコン */

.pause {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
  background: #07A32B;
  border-radius: 50%;
}

/* 停止バー2本 */
.pause::before,
.pause::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 3px;
  height: 10px;
  background: #fff;
}

/* 左の棒 */
.pause::before {
transform: translateX(-4px) translateY(-1px);
}

/* 右の棒 */
.pause::after {
  transform: translateX(1px) translateY(-1px);
}




/* 再生 */

.play {
  display: none;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #07A32B;
}

.swiper-control.is-paused .pause {
  display: none;
}

.swiper-control.is-paused .play {
  display: block;
}

.swiper-control.is-paused {
  background: #07A32B;
}

.swiper-control.is-paused .play {
  border-color: transparent transparent transparent #fff;
  transform: translateX(1px);
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 5px);
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: auto;
  padding-bottom: 3px;
  padding-left: 23px;
  padding-right: 23px;
}

#carousel a:focus img,
#carousel a:focus-visible img {
  outline: 3px solid #000000;
  outline-offset: -3px;
}

@media all and (max-width: 768px){

.hero-swiper {
  width: 100%;
  max-width: auto;
  margin: 0 auto;
  height: auto;
}

.hero-swiper img {
  width: 100%;
  height: auto;
  object-fit: fill;
}


}