

.slide-wrap {
  position: relative;
}

.slick-initialized {
    position: relative;
}

.slide-wrap .js-prev, .slide-wrap .js-next {
  font-family: FontAwesome;
  width: 1em;
  font-size: 3em;
  line-height: 0.7em;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10;
  position: relative;
}

.slick-slider .slick-list, .slick-slider .slick-track {
    margin-bottom: 40px;
}

@media screen and (max-width:640px) {
	.slide-wrap .js-prev, .slide-wrap .js-next {
		line-height: 0.75em;
	  }
}

.slide-wrap-ninni .js-prev,
.slide-wrap-ninni .js-next {
  color: #87cda6;
}

.slide-wrap-kabarai .js-prev,
.slide-wrap-kabarai .js-next {
  color: #f38f94;
}

.slide-wrap-minji .js-prev,
.slide-wrap-minji .js-next {
  color: #67b1d8;
}

.slide-wrap-jikohasan .js-prev,
.slide-wrap-jikohasan .js-next {
  color: #bc9ecc;
}

/* ドット全体のコンテナをflexboxで配置 */
.slide-wrap .slick-dots {
	display: flex;
    justify-content: center;
    align-items: center; /* ★ここで矢印の44pxの中心と高さを合わせる */
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
    width: 100%;
    height: 40px; /* 矢印ボタンと同じ高さにすることで中心線を一致させる */
}

.slide-wrap .js-prev {
  order: -1; /* ドットの前に配置 */
  content: "\f104";
}

.slide-wrap .js-next {
  order: 999; /* ドットの後に配置 */
  content: "\f105";
}

/* slick-dotsのli要素 */
.slide-wrap .slick-dots li {
	margin: 0 5px;
    display: flex;
    align-items: center;
	justify-content: center;
}


.slide-wrap .slick-dots li button {
	display: block;
    width: 12px;
    height: 12px;
    padding: 0;
    border-radius: 50%;
    background-color: #ccc;
    border: none;
    font-size: 0; /* 数字を隠す */
    cursor: pointer;
}

.slide-wrap .slick-dots li.slick-active button {
    background-color: #333;
}

.slide-wrap .slick-dots li button:before {
	content: none;
}

/* 左右のボタン共通 */
.slick-prev,
.slick-next {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;

    /* ボタンの大きさを確保し、押しやすくする */
    width: 44px;
    height: 44px;
    cursor: pointer;
    border: none;
    background: transparent;

    /* 重要：Flexboxで中のアイコンを物理中央に固定 */
    display: flex !important;
    align-items: center;
    justify-content: center;

    /* Font Awesomeの設定を維持 */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 24px;
    color: #333;
}

/* slickのデフォルトボタンを非表示 */
.slick-prev:before,
.slick-next:before {
    content: '';
    display: none;
}
.slick-dots {
	bottom: -10px;
}
.panel-foot .btn-link-ninni {
    border: 2px solid #87cda6;
    position: relative;
}
.panel-foot .btn-link-kabarai {
    border: 2px solid #f38f94;
    position: relative;
}
.panel-foot .btn-link-minji {
    border: 2px solid #67b1d8;
    position: relative;
}
.panel-foot .btn-link-jikohasan {
    border: 2px solid #bc9ecc;
    position: relative;
}
.slick-dotted.slick-slider {
	margin-bottom: 0px;
}

.panel--ninni {
	border-color: #87cda6;
    border-radius: 0.25rem 0.25rem 0 0;
	border: 2px solid #87cda6;
}
.panel--kabarai{
	border-color: #f38f94;
    border-radius: 0.25rem 0.25rem 0 0;
	border: 2px solid #f38f94;
}
.panel--minji{
	border-color: #67b1d8;
    border-radius: 0.25rem 0.25rem 0 0;
	border: 2px solid #67b1d8;
}
.panel--jikohasan{
	border-color: #bc9ecc;
    border-radius: 0.25rem 0.25rem 0 0;
	border: 2px solid #bc9ecc;
}


.slick-track {
	display: flex;
}

.slick-slide {
  height: auto !important;
}

.slick-dots {
    bottom: -1.5em;
}

.panel-foot a[class^=btn-link-] {
	margin: 3em 0 0 0;
}
