@charset "UTF-8";

    .slider-area.option {
      /*max-width: 1000px;
      margin: 40px auto;
      */
    }



    /* サムネイル全体 */
    .option .thumbs-swiper {
      width: 100%;
      margin: 0 auto 16px;
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      background: url(../img/ph/bg-option.png)no-repeat;
      background-position: center;
      background-size: cover;
      border: solid 1px #8ec21f;
      overflow: visible;
    }

    /* サムネイルの1枚 */
    .option .thumbs-swiper .swiper-slide {
      /*opacity: 0.7;*/
      cursor: pointer;
      box-sizing: border-box;
      text-align: center;
      padding:  0;
    }
    .option .thumbs-swiper .swiper-slide .tx{
      font-size: 10px;
      color: #fff;
    }

    .option .thumbs-swiper .swiper-slide-thumb-active {
      opacity: 1;
    }

    .option .thumbs-swiper .swiper-slide img {
      width: 100%;
      display: block;
      margin: 0 auto;
    }

    /* 矢印 */
    .option .main-swiper .swiper-button-prev,
    .option .main-swiper .swiper-button-next {
      color: #000;
    }

.option .thumbs-swiper .thumb-title {
  opacity: 1;            /* ぼかさない */
  cursor: default;       /* 矢印にしない */
  position: relative;
}
.option .thumbs-swiper .thumb-title::after {
  content: "";
  position: absolute;
  width: 50px;
  height: 1px;
  background: #8ec21f;
  transform: rotate(-45deg);
  left: -15px;
  top: 10px;
}
/*
.option .thumbs-swiper .thumb-title::after {
  content: "プラン一覧";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  background: rgba(0,0,0,0.4);
}
*/
.option .swiper-slide.i-free{
  position: relative;
}
.option .swiper-slide.i-free::before{
  background: url(../img/icon/i-free.svg)no-repeat;
  background-size: contain;
  background-position: top left;
  width: 80px;
  height: 74px;
  position: absolute;
  left: 0;
  top: -1px;
  z-index: 1;
}
.option .main-swiper .swiper-slide .inner.i-free::before{
  background: url(../img/icon/i-free-g.svg)no-repeat;
  background-size: contain;
  background-position: top left;
  width: 80px;
  height: 74px;
  left: -2px;
  top: -5px;
}



    .option .main-swiper {
      width: 100%;
      margin-bottom: 16px;
      margin-top: 30px;
    }

    .option .main-swiper .swiper-slide img {
      width: 100%;
      display: block;
    }

.option .main-swiper .swiper-wrapper{
  padding-bottom: 30px;
}
/**/
.option .main-swiper .swiper-slide .inner{
  padding: 20px;
  background: #fff;
  border: solid 1px #dcdddd;
  box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.option .main-swiper .swiper-slide .c-tx{
  margin-top: 15px;
  min-height: 13rem;
}
.option .main-swiper .swiper-slide .c-tx .t-bold,
.option .main-swiper .swiper-slide .c-tx p{
  font-size: clamp(10px, 0.75vw, 12px);
}
.option .main-swiper .swiper-slide .c-tx .title-small{
  margin-bottom: 10px;
  border-bottom: solid 1px #8ec21f;
  padding-bottom: 6px;
}
.option .chu{
  font-size: clamp(12px, 1vw, 16px);
}


/**ボタン**/
.option .swiper-button-next:after, 
.option .swiper-button-prev:after {
    font-family: swiper-icons;
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    color: #fff;
    font-size: 1.3rem;
    font-weight: bold;
}

.option .main-swiper .swiper-button-prev, 
.option .main-swiper .swiper-button-next {
    color: #fff;
    background: #8ec21f;
    background: rgb(142 194 31 / 60%);
    width: 50px;
    height: 50px;
    border-radius: 40px;
    transition: 0.3s;
}
.option .main-swiper .swiper-button-prev:hover, 
.option .main-swiper .swiper-button-next:hover {
    background: rgb(142 194 31 / 100%);
}


/* 念のため wrapper 側の gap も潰しておく */
.option .main-swiper .swiper-wrapper {
  gap: 0 !important;
}


@media (max-width: 1024px) {

  .option .main-swiper .swiper-slide .c-tx{
    min-height: 11rem;
  }

}

@media (max-width: 820px) {
  .option .swiper-slide.i-free::before{
    background: url(../img/icon/i-free.svg)no-repeat;
    background-size: contain;
    background-position: top left;
    width: 60px;
    height: 55px;
  }


}
/* SPで少し小さめに */
@media (max-width: 767px) {

    .option .main-swiper {
      margin-top: 15px;
    }

      .slider-area.option {
        margin: 0px auto 15px;
      }
      .option .main-swiper{
        padding-bottom: 15px;
        margin-bottom: 0;
      }
  .option .swiper-slide.i-free::before{
    background: url(../img/icon/i-free.svg)no-repeat;
    background-size: contain;
    background-position: top left;
    width: 37px;
    height: 35px;
  }


  .option .main-swiper .swiper-button-prev, 
  .option .main-swiper .swiper-button-next {
    top: auto;
    bottom: 0px;
    width: 30px;
    height: 30px;
  }
  .option .main-swiper .swiper-button-prev{
    left: calc(50% - 40px);
  }
  .option .main-swiper .swiper-button-next{
    right: calc(50% - 40px);
  }
  .option .swiper-button-next:after, 
  .option .swiper-button-prev:after{
    font-size: 12px;
  }



}



/**schedule*******************************************/
.mono .sl-schedule{
  background: #f2f2f3;
  padding: 20px 0px;
  margin-top: 50px;
  margin-bottom: 10px;
  position: relative;
}
.mono .sl-schedule::before,
.mono .sl-schedule::after{
  content: '';
  display: block;
  width: 50px;
  height: 100%;
  position: absolute;
  z-index: 2;
  top: 0;
  background: url(../img/ph/kage-l.png)repeat-y;
  background-size: 100%;
  background-position: top left;
}
.mono .sl-schedule::before{
  left: 0;
}
.mono .sl-schedule::after{
  right: 0px;
  background: url(../img/ph/kage-l.png)repeat-y;
  background-size: 100%;
  background-position: top right;
  transform: scale(-1, 1);
 }

.mono .sl-schedule + .chu{
  color: #fff;
  margin-top: 6px;
  text-align: center;
  font-size: 12px;
}
/*
.sl-schedule .swiper{
  overflow: visible;
}
*/
.sl-schedule .swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  position: relative;
}



.sl-schedule .swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;
  /*line-height: 300px;*/
  text-align: center;
}

.sl-schedule .swiper-slide img{
  width: 100%;
  height: auto;
      box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}

.sl-schedule .swiper-slide:nth-child(3n + 1) {
  background-color: #de4439;
}

.sl-schedule .swiper-slide:nth-child(3n + 2) {
  background-color: #fcd500;
}

.sl-schedule .swiper-slide:nth-child(3n + 3) {
  background-color: #53c638;
}

/**ボタン**/
.sl-schedule .swiper-button-prev, 
.sl-schedule .swiper-button-next {
    /*
    background: rgb(255 255 255 / 60%);*/
    background: rgb(142 194 31 / 60%);
    width: 50px;
    height: 50px;
    border-radius: 40px;
    transition: 0.3s;
    top: calc((100% - 50px) /2);
}

.sl-schedule .swiper-button-prev:hover, 
.sl-schedule .swiper-button-next:hover {
    background: rgb(255 255 255 / 100%);
    background: rgb(142 194 31 / 100%);
}
/**/
.sl-schedule .swiper-button-next:after, 
.sl-schedule .swiper-button-prev:after {
  font-size: 1.3rem;
  color: #fff;
}


/***TOP-V**********************/
#top-v .swiper{
  position: relative;
  padding-bottom: 20px;
  padding-top: 35px;
  margin-bottom: 10px;
}
#top-v .swiper--wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  height: 300px;
}
#top-v .swiper-slide a{
  line-height: 1;
}
#top-v .swiper-slide p{
  padding: 8px 6px;
  background: #fff;
  line-height: 1;
  margin: 0;
  top: -6px;
  position: relative;
  border: solid 1px #8ec21f;
  color: #8ec21f;
}

#top-v .swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;
}
#top-v .swiper-slide img{
  width: 100%;
  height: auto;
  line-height: 1;
}

/**ボタン**/
#top-v .swiper-button-prev:hover, 
#top-v .swiper-button-next:hover {
    background: rgb(142 194 31 / 100%);
}

#top-v .swiper-button-next:after, 
#top-v .swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    color:#111;
    font-size: 1.3rem;
    font-weight: bold;
}

#top-v  .swiper-button-prev, 
#top-v  .swiper-button-next {
    color: #fff;
    background: #fff;
    background: rgb(255 255 255 / 60%);
    width: 50px;
    height: 50px;
    border-radius: 40px;
    transition: 0.3s;
    position: absolute;
    top: calc((100% - 50px) / 2)
    /*bottom: 5px;*/
}
/*
#top-v  .swiper-button-prev{
  left: calc(50% - 100px);
} 
#top-v  .swiper-button-next {
  right: calc(50% - 100px);
}
*/

#top-v .swiper-horizontal>.swiper-pagination-bullets, 
#top-v .swiper-pagination-bullets.swiper-pagination-horizontal, 
#top-v .swiper-pagination-custom, 
#top-v .swiper-pagination-fraction{
  bottom: var(--swiper-pagination-bottom, 4px);
}
#top-v .swiper-pagination-bullet-active{
  background: #8ec21f;
}


/* SPで少し小さめに */
@media (max-width: 767px) {
  .mono .sl-schedule{
    margin-top: 10px;
    margin-bottom: 20px;
  }
  .sl-schedule .swiper-button-next:after, 
  .sl-schedule .swiper-button-prev:after{
    font-size: 12px;
    color: #8ec21f;
  }

  .sl-schedule .swiper-button-prev, 
  .sl-schedule .swiper-button-next {
      top: auto;
      bottom: -40px;
      width: 22px;
      height: 22px;
      background: rgb(255 255 255 / 80%);  
    }
  .sl-schedule .swiper-button-prev:hover, 
  .sl-schedule .swiper-button-next:hover{
    background: #fff;
  }


  /***********************/
  #top-v .swiper{
    position: relative;
    padding-bottom: 40px;
    padding-top: 35px;
  }

  #top-v  .swiper-button-prev, 
  #top-v  .swiper-button-next{
    width: 30px;
    height: 30px;
    top: auto;
    bottom: 5px;
    background: #8ec21f;
    background: rgb(142 194 31 / 60%);;
  }

  #top-v  .swiper-button-next:after, 
  #top-v  .swiper-button-prev:after {
        font-size: 12px;
        color: #fff;
    }
  #top-v  .swiper-button-prev{
    left: calc(50% - 70px);
  } 
  #top-v  .swiper-button-next {
    right: calc(50% - 70px);
  }
  #top-v .swiper-horizontal>.swiper-pagination-bullets, 
  #top-v .swiper-pagination-bullets.swiper-pagination-horizontal, 
  #top-v .swiper-pagination-custom, 
  #top-v .swiper-pagination-fraction{
    bottom: var(--swiper-pagination-bottom, 10px);
  }


}