.p-shop {
  background-color: #f8f8f8;
  padding-bottom: 60px;
}





.p-shop__splide {
  margin-block-start: calc(30 / 16 * 1rem);
  @media screen and (max-width: 768px) {
    max-inline-size: 600px;
    inline-size: 100%;
    margin-inline: auto;
  }

}



.p-shop__splide-list {
  inline-size: min(100%, 1132px);
  @media screen and (max-width: 768px) {
   
    gap: 0;
  }
}

.p-shop__splide-slide {
  margin-inline: auto;
  background-color: #fff;
  display: grid;
  inline-size: 100%;
  grid-template-rows: auto auto 1fr auto; /* 明示行: 画像, タイトル, テキスト伸縮, リンク */
  @media screen and (max-width: 768px) {
    margin-inline: auto;
  }
}
.p-shop__splide-item {
  display: grid;
}

.p-shop__slide-img {
  inline-size: 100%;
  margin-inline: auto;
  img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    aspect-ratio: 350/225;
  }
}
.p-shop__splide-slide-title-wrapper{
  padding-inline: 32px;

}
.p-shop__slide-title {
  padding-block-start: 24px;
  padding-bottom: 16px;
  font-size: calc(24 / 16 * 1rem);
  font-weight: 900;
  letter-spacing: 0.089em;
  line-height: calc(35 / 24);
  border-bottom: 1px solid #d4d4d4;
  @media screen and (max-width: 768px) {
    font-size: 20px;
  }
}

.p-shop__slide-text {
  padding-block-start: calc(16 / 16 * 1rem);
  padding-inline: 24px;
  font-size: calc(16 / 16 * 1rem);
  font-weight: 900;
  letter-spacing: 0.089em;
  line-height: calc(24 / 16);
  @media screen and (max-width: 768px) {
    font-size: 16px;
  }
}

.p-shop__slide-link {
  display: block;
  margin-block-start: calc(57 / 16 * 1rem);
  margin-inline-start: auto;
  margin-inline-end: calc(31 / 16 * 1rem);
  padding-bottom: calc(33 / 16 * 1rem);
  inline-size: 107px;
  grid-row: 4;
  img {
    inline-size: initial;
    block-size: 100%;
    object-fit: contain;
    aspect-ratio: 107/15;
  }
}
.p-shop__slide-link--btn {
  background-color: #bb0d24;
  border-radius: 31px;
  font-size: calc(16 / 16 * 1rem);
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.089em;
  text-align: center;
  line-height: 1;
  padding:12px;
  inline-size: min(100%, 286px);
  margin-inline: auto;
  display: grid;
  place-items: center;
  margin-block-start: 16px;
  margin-bottom: 24px;
  grid-row: 4;
  @media screen and (max-width: 768px) {
    font-size: 16px;
    padding: 15px;
  }
}
.p-shop__splide-pagination + .splide__pagination{
  bottom: -1.5em !important;
}
.p-shop__splide-pagination + .splide__pagination .splide__pagination__page{
  background-color: #bb0d24 !important;
  inline-size: 9px;
  block-size: 9px;
  opacity:.5;
  border: 1px solid #bb0d24;
 
}
.p-shop__splide-pagination + .splide__pagination .splide__pagination__page.is-active{
background-color: #fff !important; 
transform: scale(1) ;
opacity:1;
}

