@charset "UTF-8";

[class*=swiper]:focus {
  outline: none;
}

.swiper {
  margin: 0 0 30px;
  color: #000;
}
.swiper-slide {
  background: #fff;
  padding: 25px;
  border-radius: 15px;
  aspect-ratio: 294/256;
}
.s3 .swiper-slide {
  background: #f2f1ee;
}

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-button-prev,
.swiper-button-next {
  display: inline-block;
  width: 72px;
  aspect-ratio: 72/13;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  position: relative;
}

.swiper-button-prev {
  margin-right: 30px;
}
.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  width: 72px;
  aspect-ratio: 72/13;
}
.swiper-button-prev::before {
  background: url(../img/prev2.png) no-repeat center center / contain;
}
.swiper-button-next::before {
  background: url(../img/next2.png) no-repeat center center / contain;
}
.s1 .swiper-button-prev::before {
  background: url(../img/prev1.png) no-repeat center center / contain;
}
.s1 .swiper-button-next::before {
  background: url(../img/next1.png) no-repeat center center / contain;
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.swiper-area {
  position: relative;
}

.slide-media {
  padding-top: 60.82474227%;
}
.slide-content {
}
.slide-title {
  font-size: min(1.2vw,16px);
  line-height: 1.3;
  /*padding: 1em 0;*/
  padding: 1em 0 0;
  /*border-bottom: 1px solid;*/
  /*margin-bottom: 1em;*/
  text-align: center;
  letter-spacing: 0.1em;
}
.slide-title + p {
  font-size: min(1.0vw,14px);
  letter-spacing: 0.05em;
  line-height: 1.805;
}


.swiper-slide:has(.nophoto) {
  display: flex;
  justify-content: center;
  align-items: center;
}
.nophoto .slide-title {
  padding: 0;
}


/*=========================================================================================================
調整
=========================================================================================================*/
@media screen and (min-width: 768px) and (max-width: 1200px) {


}

/*=========================================================================================================
tab
=========================================================================================================*/
@media screen and (min-width: 768px) and (max-width: 1024px) {


}

/*=========================================================================================================
sp
=========================================================================================================*/
@media screen and (max-width: 767px) {

  .swiper {
    margin: 0 0 20px;
  }
  .swiper-slide {
    padding: 15px;
    border-radius: 10px;
  }

  .slide-title {
    font-size: 14px;
  }
  .slide-title + p {
    font-size: 12px;
    line-height: 1.5;
  }

}

/*=========================================================================================================
sp 調整
=========================================================================================================*/
@media screen and (max-width: 360px) {



}
