/* carousel.css の全内容（修正版） */

.carousel-container {
  width: 100%;
  height: 250px;
  position: relative;
  overflow: hidden;
  /* ↓【修正点1】親要素のマイナス指定を打ち消し、被りを解消 */
  top: 20px;
}

.carousel-slides {
  display: flex;
  height: 100%;
}

.carousel-slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  object-fit: cover;
  object-position: center top; /* 上端を基準に表示 */
}

.carousel-dots {
  text-align: center;
  position: absolute;
  bottom: 15px;
  width: 100%;
  z-index: 2;
}

.carousel-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.carousel-dot.active {
  background-color: white;
}




  /* カタログビューバナーのレイアウト崩れを修正 */
  .catalogviewPOP img {
    max-width: 350px;
    width: 100%;
    height: auto;
  }
  /* .catalogviewPOP の text-align: center; は削除し、左寄せに戻します */

  /* --- 下部バナーエリアのスタイリング（はみ出し修正版） --- */
/* バナーエリア全体を囲むコンテナ */
/* バナーエリア全体を囲むコンテナ */
.banner-section {
  max-width: 930px;
  margin: 20px auto;
}

/* PR表記を右寄せにするためのヘッダー */
.pr-header {
  display: flex;
  justify-content: flex-end; /* 右寄せ */
  margin-bottom: 8px; /* バナーとの間に少し余白 */
}

/* PR表記のスタイリング */
.pr-label-group {
  font-size: 11px;
  color: #555;
  border: 1px solid #ccc; /* 枠線を追加 */
  padding: 2px 8px;      /* 余白を追加 */
  display: inline-block;
  line-height: 1;
}

/* バナーを並べるグリッド */
.bnarea {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.banner-item {
  line-height: 0;
}

.banner-item img {
  width: 100%;
  height: auto;
}