@charset "utf-8";
/* CSS Document */


.swiper-button-prev,
.swiper-button-next {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 10;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  color: #fff;
  text-align: center;
  line-height: 40px;
  font-size: 20px;
}

.swiper-button-prev::after {
  content: "◀";
}

.swiper-button-next::after {
  content: "▶";
}

.swiper-container {
  position: relative;
}




#tokutyou {
  /*background-color: #f8f9fa;*/
  padding: 60px 20px;
  background-image: url(../image/tokutyou_back.webp);
}

.tokutyou_1 {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
  padding: 30px;
  margin-bottom: 30px;
  transition: transform 0.3s ease;
}

.tokutyou_1:hover {
  transform: translateY(-5px);
}

.tokutyou_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
}

.tokutyou_text {
  /*flex: 1 1 300px;*/
}

.tokutyou_image {
  flex: 1 1;
}

.tokutyou_h {
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: #333;
  text-align: center;
}

.tokutyou_top {
  overflow: hidden; /* 自身はスクロールさせない */
}
/*
@media screen and (min-width: 1000px) {
  #tokutyou {
    display: flex;
    flex-direction: row;
    overflow: hidden;
  }

  .tokutyou_top {
    flex: 0 0 40%;
    max-width: 40%;
    padding: 250px 20px 20px 20px;
    overflow: auto;
    position: sticky;
    top: 0;
    height: 100vh;
    z-index: 2;
  }

  .tokutyou_scroll {
    flex: 1;
    overflow-y: auto;
    height: 100vh;
    padding: 20px;
  }

  .tokutyou_1 {
    margin-bottom: 30px;
  }
}
*/

@media screen and (min-width: 1000px){
  .tokutyou_scroll{
    display: flex;
    justify-content: center;
  }
  .tokutyou_image{
    width: 85%;
  }
  .tokutyou_1{
    width: 30%;
  }
}

.review_slide {
  padding-left: 10px;
  padding-right: 10px;
  max-width: 1800px;
}

.review_slide .swiper-slide {
  width: 600px;/* 必要に応じて調整（auto でも可） */
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 1000px){
  .review_slide .swiper-slide {
    width: 400px; /* 必要に応じて調整（auto でも可） */
    display: flex;
    justify-content: center;
  }
}

.logo_slide {
  pointer-events: none;
}

.logo_slide_img{
  width: 200px;
}

.logo_slide .swiper-slide{
  width: 200px;
}

.slide_list {
  transition-timing-function: linear !important;
}

@media screen and (min-width: 1000px){
  .logo_slide_img{
  width: 300px;
}

.logo_slide .swiper-slide{
  width: 300px;
}
}