#Contents{
  background-color: #cfeafb;
}
#Foot{
  padding-top: 0;
}

#rainyseason2026 {
  background-color: #f3f9fd;
  overflow-x: clip;
  font-family: 'Noto Sans JP', sans-serif;
  .fv-present {
    position: relative;
    top: calc(-10 * (100vw / 750));
    padding-bottom: calc(26 * (100vw / 750));
  }
  .fv-present::before {
    content: "";
    display: block;
    position: absolute;
    bottom: calc(260 * (100vw / 750));
    left: calc(-12 * (100vw / 750));
    width: calc(795 * (100vw / 750));
    height: calc(617 * (100vw / 750));
    background-image: url(fv_present_deco.png);
    background-size: cover;
    background-position: center;
    z-index: 2;
  }
  .fv-present__heading {
    position: absolute;
    width: calc(822 * (100vw / 750));
    top: calc(20 * (100vw / 750));
    left: calc(-36 * (100vw / 750));
    right: 0;
    z-index: 1;
  }
  .fv-present__summary {
    padding: 0 calc(31 * (100vw / 750));
    position: relative;
  }
  .fv-present__link {
    position: absolute;
    bottom: calc(56 * (100vw / 750));
    margin: auto;
    left: 0;
    right: 0;
  }
  .product-section{
    + .product-section{
    }
    .product-section__inner{
      padding-bottom: calc(50 * (100vw / 750));
      position: relative;
    }
  }

  .product-section:last-of-type {
    padding-bottom: 3.5rem;
  }



  .product-list{
    margin-inline: auto;
    display: grid;
    gap: calc(50 * (100vw / 750));
    width: 100%;

    .product-item {
      position: relative;
      padding: 0 calc(40 * (100vw / 750));

      .product-item__link {
        position: relative;
        display: block;
      }
      .product-item__discount{
        width: calc(150 * (100vw / 750));
        position: absolute;
        top: calc(-16 * (100vw / 750));
        left: calc(-11 * (100vw / 750));
        z-index: 2;
      }

    }
    
  }

  .product-section__heading-wrapper {
    position: relative;
  }
  .product-section__heading-wrapper::before {
    content: "";
    display: block;
    position: absolute;
   
  }
  .product-section__heading {
    margin: 0 auto;
    padding: calc(54 * (100vw / 750)) 0 calc(38 * (100vw / 750));
  }

  #itemlist-1{
    background-color: #f3f9fd;
    position: relative;
    .product-section__inner {
      background-image: url(itemlist1_bg.png);
      background-position: 0 0;
      background-repeat: repeat;
      background-size: 100%;
    }
    .product-section__heading {
      width: calc(486 * (100vw / 750));
    }
    .product-section__heading-wrapper::before {
      top: calc(-8 * (100vw / 750));
      left: calc(-70 * (100vw / 750));
      width: calc(848 * (100vw / 750));
      height: calc(224 * (100vw / 750));
      background-image: url(itemlist1_deco.png);
      background-size: cover;
      background-position: center;
    }
  }

  #itemlist-2{
    /* background-color: #fbf4f7; */
    .product-section__inner {
      background-image: url(itemlist2_bg.png);
      background-position: 0 0;
      background-repeat: repeat;
      background-size: 100%;
    }
    .product-section__heading {
      width: calc(477 * (100vw / 750));
    }
    .product-section__heading-wrapper::before {
      top: calc(-18 * (100vw / 750));
      left: calc(-64 * (100vw / 750));
      width: calc(858 * (100vw / 750));
      height: calc(228 * (100vw / 750));
      background-image: url(itemlist2_deco.png);
      background-size: cover;
      background-position: center;
    }
    .product-item__discount--itemlist-2 {
      padding: 0 calc(40 * (100vw / 750));
      margin-bottom: calc(28 * (100vw / 750));
    }
    .product-list-wrapper {
      padding: 0 calc(40 * (100vw / 750));
    }
    .product-list {
      background-color: #fff;
      gap: calc(37 * (100vw / 750));
      padding-top: calc(20 * (100vw / 750));
      padding-bottom: calc(37 * (100vw / 750));
    }
    .dotted-border {
      position: relative;
    }
    .dotted-border::before {
      content: "";
      display: block;
      width: calc(578 * (100vw / 750));
      height: 1px;
      background-image : linear-gradient(to right, #e35eab calc(3 * (100vw / 750)), transparent calc(3 * (100vw / 750)));
      background-size: calc(6 * (100vw / 750)) 1px;
      position: absolute;
      margin: auto;
      bottom: calc(-20 * (100vw / 750));
      left: 0;
      right: 0;
    }
    .product-item {
      padding: 0;
    }
  }

  #itemlist-3{
    .product-section__inner {
      background-image: url(itemlist3_bg.png);
      background-position: 0 0;
      background-repeat: repeat;
      background-size: 100%;
    }
    .product-section__heading {
      width: calc(319 * (100vw / 750));
    }
    .product-section__heading-wrapper::before {
      top: calc(-13 * (100vw / 750));
      left: calc(-40 * (100vw / 750));
      width: calc(817 * (100vw / 750));
      height: calc(220 * (100vw / 750));
      background-image: url(itemlist3_deco.png);
      background-size: cover;
      background-position: center;
    }
  }


  .product-list__link{
    margin-inline: auto;
    width: 71%;
    display: block;
    margin-top: calc(40 * (100vw / 750));
  }

  .ending {
    padding-top: calc(36 * (100vw / 750));
    padding-bottom: calc(56 * (100vw / 750));
    .ending__inner {
    }
    .ending-lecture {
      position: relative;
      margin-bottom: calc(14 * (100vw / 750));
    }
    .ending-lecture__heading {
      position: absolute;
      width: calc(830 * (100vw / 750));
      left: calc(-28 * (100vw / 750));
      top: calc(-64 * (100vw / 750));
      z-index: 1;
    }
    .ending-lecture__content {
      padding: 0 calc(31 * (100vw / 750));
    }
    .ending-banner {
      padding: 0 calc(31 * (100vw / 750));
      margin-bottom: calc(32 * (100vw / 750));
    }
    .ending-notes {
      
      padding: 0 calc(60 * (100vw / 750));
    }
    .ending-notes__title {
       font-size: 1.4rem;
       font-weight: 500;
        margin-bottom: calc(32 * (100vw / 750));
    }
    .ending-notes__content {
      font-size: 1.3rem;
      p {
       font-weight: 400;
        text-indent: -1em;
        padding-left: 1em;
        line-height: 1.5;
      }
    }
  }



  /* soldout 事前に仕込んでおく、 */

  .soldout .product-item__link{
    pointer-events: none;
  }

  .soldout .product-item__link::before{
    content: "完売しました";
    color: #ffffff;
    font-size: 2rem;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgb(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
  }
  .soldout .product-item__discount::before {
    content: "";
    position: absolute;
    background-color: rgb(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
    border-radius: 50%;
  }
}


@media (min-width: 768px){
  #rainyseason2026{
    max-width: 750px;
    margin-inline: auto;
    overflow-x: visible;

    .fv-present {
      position: relative;
      top:-10px;
      padding-bottom: 26px;
    }
    .fv-present::before {
      bottom: 260px;
      left: -12px;
      width: 795px;
      height: 617px;
    }
    .fv-present__heading {
      position: absolute;
      width: 822px;
      top: 20px;
      left: -36px;
      right: 0;
      z-index: 1;
    }
    .fv-present__summary {
      padding: 0 31px;
      position: relative;
    }
    .fv-present__link {
      position: absolute;
      bottom: 56px;
      margin: auto;
      left: 0;
      right: 0;
    }


    .product-section{
     

      .product-section__inner{
        padding-bottom: 54px;
      }

    }
    .product-section:last-of-type {
      padding-bottom: 80px;
    }

    .product-list{
      gap: 54px;
      .product-item{
        padding: 0 40px;
        
        .product-item__discount{
          width: 150px;
          top: -16px;
          left: -11px;
        }

        
      }
    }
    .soldout .product-item__link::before{
      font-size: 4rem;
    }

    .product-section__heading {
    margin: 0 auto;
    padding: 54px 0 38px;
  }

  #itemlist-1{
    .product-section__heading {
      width: 48.6rem;
    }
    .product-section__heading-wrapper::before {
      top: -8px;
      left: -70px;
      width: 848px;
      height: 224px;
    }
  }

  #itemlist-2{
    .product-section__heading {
      width: 477px;
    }
    .product-section__heading-wrapper::before {
      top: -18px;
      left: -64px;
      width: 858px;
      height: 228px;
    }
    .product-item__discount--itemlist-2 {
      padding: 0 40px;
      margin-bottom: 28px;
    }
    .product-list-wrapper {
      padding: 0 40px;
    }
    .product-list {
      gap: 37px;
      padding-top: 20px;
      padding-bottom: 37px;
    }
    .dotted-border::before {
      width: 578px;
      background-image : linear-gradient(to right, #e35eab 3px, transparent 3px);
      background-size: 6px 1px;
      bottom: -20px;
    }
    .product-item {
      padding: 0;
    }
  }

  #itemlist-3{
    .product-section__heading {
      width: 319px;
    }
    .product-section__heading-wrapper::before {
      top: -13px;
      left: -40px;
      width: 817px;
      height: 220px;
    }
  }

    
    .product-list__link{
      margin-top: 40px;
    }

    .ending {
      padding-top: 36px;
      padding-bottom: 56px;
      .ending__inner {
      }
      .ending-lecture {
        position: relative;
        margin-bottom: 14px;
      }
      .ending-lecture__heading {
        position: absolute;
        width: 830px;
        left: -28px;
        top: -64px;
        z-index: 1;
      }
      .ending-lecture__content {
        padding: 0 31px;
      }
      .ending-banner {
        padding: 0 31px;
        margin-bottom: 32px;
      }
      .ending-notes {
        
        padding: 0 60px;
      }
      .ending-notes__title {
        font-size: 16px;
        font-weight: 500;
        margin-bottom: 32px;
      }
      .ending-notes__content {
        font-size: 14px;
        p {
        font-weight: 400;
          text-indent: -1em;
          padding-left: 1em;
          line-height: 1.5;
        }
      }
    }
  }
}






#toTop {
  display: none;
}
#toList {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 7rem;
  height: 7rem;
  transition: all 0.3s;
  box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.16);
  border-radius: 50px;
  z-index: 100;
  border-radius: 50%;
}
#toList a {
  border-radius: 50%;
  background-color: #093362;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  width: 100%;
  height: 100%;
  font-size: 1.4rem;
  line-height: 1.25;
}
@media (min-width: 768px) {
  #toList {
    width: 10rem;
    height: 10rem;
    right: 3rem;
    bottom: 3rem;
  }

  #toList a {
    font-size: 1.8rem;
  }
}