.mansions-wrap {
  position: relative;
  overflow-x: hidden;
  overflow-y: visible;
  padding-bottom: 56px;
}

@media (max-width: 768px) {
  .mansions-wrap {
    padding-bottom: 48px;
  }
}

/* スライド間の余白 */
.mansions-wrap .mansions-slider .slick-slide {
  padding: 0 16px;
}

@media (min-width: 1024px) {
  .mansions-wrap .mansions-slider .slick-slide {
    padding: 0 20px;
  }
}

/* 影などを見せたい場合 */
.mansions-wrap .slick-list {
  overflow: visible;
}

/* デフォルトの :before 矢印を完全オフ（テーマ競合対策） */
.slick-prev:before,
.slick-next:before {
  content: none !important;
}

/* 矢印コンテナ */
.mansions-wrap .mansions-arrows {
  z-index: 5;
  pointer-events: none;
}

.mansions-wrap .mansions-arrows .btn-arrow {
  pointer-events: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  background: #fff;
  border: 0;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #111827;
  /* 濃いグレー */
  box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, opacity .2s ease;
  opacity: .95;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.mansions-wrap .mansions-arrows .btn-arrow:hover {
  transform: translateY(-50%) scale(1.06);
  background: #2f7ad9;
  /* ブランド色に変更可 */
  color: #fff;
  box-shadow: 0 10px 24px rgba(47, 122, 217, .35);
}

.mansions-wrap .mansions-arrows .slick-prev {
  left: 0;
}

.mansions-wrap .mansions-arrows .slick-next {
  right: 0;
}

@media (min-width: 1024px) {
  .mansions-wrap .mansions-arrows .slick-prev {
    left: 8px;
  }

  .mansions-wrap .mansions-arrows .slick-next {
    right: 8px;
  }
}

@media (max-width: 640px) {
  .mansions-wrap .mansions-arrows .btn-arrow {
    width: 44px;
    height: 44px;
  }
}

/* 無効状態のとき（先頭/末尾でも infinite:true なら基本出ないが一応） */
.mansions-wrap .mansions-arrows .slick-disabled {
  opacity: .4;
  cursor: default;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

/* --- Slick Dots カスタマイズ --- */
.mansions-wrap .slick-dots {
  bottom: -40px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.mansions-wrap .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0;
}

.mansions-wrap .slick-dots li button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d1d5db;
  /* gray-300 */
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.mansions-wrap .slick-dots li.slick-active button {
  background: #2f7ad9;
  /* ブランドブルー */
  transform: scale(1.25);
}

.mansions-wrap .slick-dots button:before {
  display: none;
  /* デフォルトの白ドット削除 */
}