
body {
    margin: 0;
    font-family: var(--font-main);
    color: #726964;
    background-color: #e9e2e2;
  }

  main {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    padding-bottom: 165px;
  }

  section{
    padding: 4%;
  }

  img{width: 100%;}
ul{padding: 0;}
  :root {
  --price-fs-xs: clamp(10px, 2.4vw, 10px);  /* 備考・注釈など小さめ */
  --price-fs-sm: clamp(12px, 2.5vw, 14px);    /* 単位や補足など */
  --price-fs-md: clamp(16px, 3.6vw, 20px);  /* 本文・ラベル用ベース */
  --price-fs-lg: clamp(20px, 4.2vw, 26px);  /* 見出し・強調表示 */
  --price-fs-xl: clamp(24px, 4.8vw, 30px);  /* メイン価格表示など */
  --price-fs-xxl: clamp(28px, 6vw, 36px);   /* 特大数字・シンボル用 */

  /* 色（価格表用） */
  --price-color-base: #868686;
  --price-color-dark: #333;
  --price-color-light: #aaa;
  --price-color-accent: #CE7683;
  --price-color-accent-light: #c77e7d;
  --price-color-yellow: #a8a200;
  --price-color-campaign: #d85f6d;

  --font-main: 'Noto Sans JP', sans-serif;
  
}

.note-text {
  font-size: 10px;
  color: #888;
  text-align: left;
  padding: 0 30px;
  margin: 6px 0 12px 0; 
}


/*cta*/
.cta_btn{
  width: 95%;
  margin: 6% auto -12% auto;
  padding-left: 4%;
}

.fix_btn{
  position: fixed;
  bottom: 0;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-content: flex-end;
  z-index: 999;
  max-width: 600px;
}
.fix_btn > a > img{
  width: 80%;
  margin: 0 auto;
  display: block;
  max-width: 600px;
}


/*見出しルール*/
.space-section{
  position: relative;
}
  .space-section__heading {
    margin-bottom: 7px;
  }
  .space-section__title {
    font-size: 28px;
    letter-spacing: 0.1em;
    color: #d78b92;
    border-left: 2px solid #d78b92;
    border-right: 2px solid #d78b92;
    display: flow;
    width: 70%;
    margin: 10px auto 0 auto;
    text-align: center;
  }
  .space-section__subtitle {
    font-size: 16px;
    color: #6b645f;
    text-align: center;
  }
  
/*ポイント本文色*/
.highlight-pink {
  color: #E69594;
  font-weight: 400;
}

/*note*/

.notes {
  font-size: var(--price-fs-xs);
  color: var(--price-color-base);
  line-height: 1.4;
  margin-top: 2%;
  text-align: left;  
}

  /*スライド*/

  .review-section {
    background-color: #f6e9eb;
    padding: 60px 20px;
    text-align: center;
    margin-top: 14%;
  }

  .review-rating {
    margin-bottom: 4%;
  }

  .rating-box {
    display: inline-block;
    background-color: #f6e9eb;
    text-align: center;
    position: relative;
  }

  .rating-box::before {
    content: '';
    display: block;
    width: 143px;
    height: 110px;
    background-image: url('img/review_004.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-bottom: 8px;
    position: absolute;
    left: -40%;
    top: 4%;
  }
  
  .rating-box::after {
    content: '';
    display: block;
    width: 143px;
    height: 110px;
    background-image: url('img/review_005.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-bottom: 8px;
    position: absolute;
    right: -100%;
    top: 4%;
  }

  .rating-label {
    font-size: 16px;
    color: #5b4a3f;
    margin-bottom: 8px;
  }

  .rating-score {
    font-size: 64px;
    font-weight: 400;
    color: #a56a46;
    line-height: 1;
  }

  .rating-stars {
    color: #b3545d;
    font-size: 24px;
    margin-top: 4px;
    letter-spacing: 4px;
  }

  .review-carousel {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
  }

  .review-slide {
    padding: 0 16px;
    box-sizing: border-box;
  }

  .review-slider {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .review-slider__track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 40px;
  }
  .review-slider__image-wrap {
    position: relative;
    width: 320px;
    flex-shrink: 0;
  }
  .review-slider__image {
    width: 100%;
    border-radius: 4px;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3;
  }
  .review-slider__caption {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: #f3f3f3;
    color: #333;
    padding: 6px 14px;
    font-size: 14px;
    border-radius: 4px;
  }
  .review-slider__arrow {
    background: #d78b92;
    color: #fff;
    font-size: 24px;
    width: 30px;
    height: 40px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .review-slider__arrow--prev {
    left: -10px;
  }
  .review-slider__arrow--next {
    right: -10px;
  }

  .review-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px;
    max-width: 600px;
    margin: 0 auto;
    text-align: left;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  }

  .review-card__top {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
  }

  .review-card__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
  }

  .review-card__title {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
  }

  .review-card__info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
  }

  .review-card__tag {
    background: #666;
    color: #fff;
    font-size: 13px;
    padding: 4px 10px;
    border-radius: 4px;
  }

  .review-card__stars {
    color: #f5c244;
    font-size: 18px;
  }

  .review-card__text {
    font-size: 15px;
    line-height: 1.8;
    color: #333;
  }

  .review-pagination {
    margin-top: 24px;
  }
  
  .slick-dots{
    display: flex ;
    width: 100%;
    justify-content: center;
  }



  /*ポイント*/
.point-section__inner{
  margin: 14% 0;
}
  .point-section__heading-wrap {
    text-align: center;
    margin-bottom: 24px;
  }

  .point-section__image-sub{
    width: 100%;
    margin: 12px auto -3% auto;
  }

  .point-section__label {
    font-size: 14px;
    color: #7a726d;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
  }

  .point-section__line {
    width: 40px;
    margin: 0 auto 16px;
    border: none;
    border-top: 1px solid #aaa;
  }

  .point-section__heading {
    font-size: 21px;
    font-weight: 300;
    color: #726964;
    margin-bottom: 6px;
    letter-spacing: 1px;
    line-height: 36px;
  }

  .point-section__subheading {
    font-size: 16px;
    font-weight: 500;
    color: #3a342d;
  }

  .point-section__text-block {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    letter-spacing: 0.2px;
    line-height: 26px;
  }

  .point-section__text-group {
    text-align: center;
    font-size: 15px;
    color: #444;
    line-height: 2;
    margin-bottom: 24px;
  }

  .point-section__text {
    margin-bottom: 16px;
  }

  .point-section__highlight {
    background: #ffffff;
    border: 1px solid #efb3b3;
    color: #e07d7d;
    padding: 12px 20px;
    border-radius: 100px;
    font-size: 14px;
    text-align: center;
    width: 90%;
    margin-bottom: 12px;
    z-index: 1;
  }

  .point-section__list {
    list-style: none;
    text-align: left;
    background-color: #FBF5F5;
    padding: 9% 4% 3% 4%;
    margin-top: -7%;
    margin-bottom: 0;
    width: 100%;
  }

  .point-section__list li {
    font-size: 14px;
    color: #444;
    line-height: 1.1;
    position: relative;
    padding-left: 2em;
    margin-bottom: 8px;
  }

  .point-section__list li::before {
    content: '•';
    position: absolute;
    left: 3%;
    color: #f48c9a;
    font-size: 1em;
    line-height: 1;
  }



      /*ポイント３スライダー*/

    .maintenance_slide{
      width: 90%;
      margin: -64% auto 0 auto;
    }
    .balloon-label {
      position: absolute;
      top: 5%;
      left: 5%;
      background: #fff;
      color: #d78b92;
      padding: 2% 5%;
      font-size: 3.8vw;
      font-weight: 400;
      border-radius: 999px;
      box-shadow: 0 0 0 1px #fff;
    }

    .maintenance-slider__arrow {
      width: 10%;
      aspect-ratio: 1/1;
      background: #fff;
      border-radius: 50%;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      border: none;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 2;
      cursor: pointer;
    }

    .maintenance-slider__arrow--prev {
      left: -5%;
      background-image: url('img/maintenance001_allow.png');
      background-repeat: no-repeat;
      background-position: center;
      background-size: 100%;
      transform: translateY(-50%) scaleX(-1);

    }

    .maintenance-slider__arrow--next {
      right: -5%;
      background-image: url('img/maintenance001_allow.png');
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 100%;
    }
    

    .maintenance-slider__dots {
      margin-top: 4%;
    }

    .dot {
      display: inline-block;
      width: 3.2vw;
      height: 3.2vw;
      max-width: 12px;
      max-height: 12px;
      background: #ddd;
      border-radius: 50%;
      margin: 0 1vw;
    }

    .dot.active {
      background: #d78b92;
    }



 /*why*/
 .why_text{
  text-align: center;
  font-size: 20px;
  }

 .why002{
  width: 60%;
  margin: 0 auto;
  }    

  /*voice*/

.voice-section__inner {
  max-width: 700px;
  margin: 4% auto 0 auto;
  padding: 20px 20px;
  background: #fff7f7;
  font-family: "Noto Sans JP", sans-serif;
}
.voice-section__head {
  display: flex;
  align-items: center;
  gap: 12px;
}
.voice-section__label {
  color: #e3828a;
  font-weight: 400;
  font-size: 16px;
  margin-bottom: 3px;
}
.voice-section__meta {
  color: #7a7a7a;
  font-size: 14px;
  margin-bottom:-13px;
}
.voice-section__content {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.voice-section__title {
  font-size: 20px;
  color: #736964;
  font-weight: 400;
  margin-bottom: 16px;
  line-height: 1.6;
}
.voice-section__text {
  font-size: 15px;
  color: #736964;
  line-height: 2;
}

@media (max-width: 480px) {
  .voice-section__text {
    line-height: 1.6;
    font-size: 14px;
  }
}
.voice-section__text .highlight {
  background: #f9f7d6;
}
.voice-section__img-wrapper {
  position: absolute;
  top: 0;
  right: 16px;
  transform: translateY(-50%);
  width: 130px;
  height: 130px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid #fff;
  box-shadow: 0 0 6px rgba(0,0,0,0.1);
}
.voice-section__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 480px) {
  .voice-section__img-wrapper {
    transform: translateY(-60%);
    width: 100px;
    height: 100px;

  }
}

.voice-section__disclaimer {
  font-size: 11px;
  color: #999;
  margin-top: 16px;
  text-align: left;
}
/*faq*/

.faq-section__inner {
  margin: 0 auto;
}
.faq-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.faq-list li {
  background: #f8cfd9;
  margin-bottom: 12px;
  overflow: hidden;
}
.faq-list input[type="checkbox"] {
  display: none;
}
.faq-question {
  display: block;
  padding: 16px 20px;
  color: #fff;
  background: #e3828a;
  position: relative;
  cursor: pointer;
  font-size: 17px;
  letter-spacing: 1px;
}
.faq-question::after {
  content: '+';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  transition: transform 0.3s;
  color: #fff;
}
.faq-list input:checked + .faq-question::after {
  content: '−';
}
.faq-answer {
  max-height: 0;
  overflow: hidden;
  background: #FCF5F5;
  color: #444;
  font-size: 14px;
  line-height: 2;
  padding: 0 20px;
  transition: all 0.3s ease;
}
.faq-list input:checked + .faq-question + .faq-answer {
  max-height: 500px;
  padding: 16px 20px;
}

/*価格表*/

.price {
  background-color: #F8F8F8;
}

.price-table-wrapper {
  position: relative;
}

.price-badge {
  position: absolute;
  left: 6%;
  width: 27%;
  z-index: 10;
}

@media (max-width: 480px) {
  .price-badge {
    top: 30px;
    left: 10px;
    width: 120px;
  }
}

.price-badge img {
  width: 80%;
  height: auto;
  display: block;
}


.price-table-intro-row {
  display: grid;
  grid-template-columns: 34% 33% 33%;
  align-items: end;
  padding: 0 0px;
  max-width: 100%;
  margin-bottom: -8px;
}



.intro-block {
  text-align: center;
}


.price-table-intro-row::before {
  content: "";
  display: block;
}


.intro-block:last-child {
  margin-left: 0;
  text-align: center;
}
@media (max-width: 480px) {
  .intro-block:last-child {
    margin-left: 0;
    text-align: center;
  }
}

.intro-text {
  font-size: 14px;
  color: #5a5a5a;
  font-weight: 500;
  line-height: 1.6;
}
.intro-block:first-child {
  margin-left: 0;
  text-align: center;
}

@media (max-width: 480px) {
  .intro-block:first-child {
    margin-left: 0;
    text-align: center;
  }
}

.recommend-label {
  font-size: 14px;
  color: #CE7683;
  font-weight: 400;
  margin-bottom: -12px;
}



.recommend-text {
  font-size: 14px;
  font-weight: 400;
  color: #CE7683;
  line-height: 1.6;
}

@media screen and (max-width: 600px) {
  .intro-text,
  .recommend-text,
  .recommend-label {
    font-size: 3.5vw;
  }
}

.campaign-wrap {
  text-align: center;
  margin-top: 40px;
}

.plus {
  font-size: 32px;
  color: #5a524a;
  margin-bottom: 16px;
}

.campaign-bubble {
  background: #ce7683;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  padding:4% 6%;
  border-radius: 999px;
  display: inline-block;
  margin-bottom: 20px;
}

.campaign-prices {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 20px;
  color: #5a524a;
}

.original .label {
  display: block;
  font-size: 14px;
  color: #666;
  margin-bottom: 4px;
}

.original del {
  font-size: 22px;
  text-decoration: line-through;
  font-weight: 400;
}

.arrow {
  font-size: 36px;
  color: #ce7683;
}

.discounted .price {
  font-size: 42px;
  font-weight: 400;
  color: #ce7683;
  background: #fff7a0;
}


/* テーブル本体 */
.price-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0% auto 0 auto;
  table-layout: fixed;
  background-color: white;
}

.price-table th,
.price-table td {
  border: 1px solid var(--price-color-light);
  padding: 9px;
  text-align: center;
  vertical-align: top;
}
@media screen and (max-width: 600px) {
  .price-table td, .price-table th {
    padding: 2.5vw 1.5vw;
  }
}


.price-table .plan-type {
  background: #fff;
  font-weight: 500;
  font-size: var(--price-fs-md);
  color: var(--price-color-base);
}

.price-table th {
  background: #f0f0f0;
  font-weight: 700;
  font-size: var(--price-fs-md);
  color: var(--price-color-base);
}

.price-table th.recommend {
  background: var(--price-color-accent);
  color: #fff;
}

.plan-features {
  font-size: var(--price-fs-sm);
  color: var(--price-color-base);
  line-height: 1.5;
  margin-top: 12px;
}

.plan-price {
  font-size: var(--price-fs-lg);
  font-weight: 700;
  color: #5e5751;
  line-height: 1;
  display: inline-block;
}

.plan-unit {
  font-size: var(--price-fs-sm);
  color: var(--price-color-base);
  display: inline-block;
  margin-left: 0.3vw;
}

.plan-sub {
  font-size: var(--price-fs-sm);
  color: var(--price-color-yellow);
  font-weight: 500;
  margin-top: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .plan-features {
    margin-top: 1vw;
  }
  .plan-sub {
    margin-top: 1.2vw;
  }
}


  /*施設紹介*/

  .space-section {
    padding: 0px 20px;
    background: #fff;
    text-align: center;
    font-family: "Noto Sans JP", sans-serif;
  }

  .space-slider {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .space-slider__track {
    display: flex;
    transition: transform 0.5s ease;
    gap: 40px;
  }
  .space-slider__image-wrap {
    position: relative;
    width: 320px;
    flex-shrink: 0;
  }
  .space-slider__image {
    width: 100%;
    border-radius: 4px;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3;
  }
  .space-slider__caption {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: #f3f3f3;
    color: #333;
    padding: 6px 14px;
    font-size: 14px;
    border-radius: 4px;
  }

.space-slider__arrow {
  background: transparent;
  width: 36px;
  border: none;
  position: absolute;
  top: 46%;
  transform: translateY(-50%);
  z-index: 2;
}

.space-slider__arrow::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  border: solid #999; 
  border-width: 0 2px 2px 0;
}


.space-slider__arrow--prev::before {
  transform: rotate(135deg);
}


.space-slider__arrow--next::before {
  transform: rotate(-45deg);
}


.space-slider__arrow--prev {
  left: 0px;
}

.space-slider__arrow--next {
  right: 0px;
}

.slick-dots {
  display: flex;
  justify-content: center;
  padding: 2px 0;
  list-style: none;
  margin: 0;
}

.slick-dots li {
  margin: 0 4px;
}

.slick-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #bbb;
  border: none;
  padding: 0;
  font-size: 0;
  appearance: none;
  line-height: 0;
  outline: none;
  cursor: pointer;
}

.slick-dots .slick-active button {
  background: #d78b92;
}

/*トレーナー紹介*/

.trainer-slider__arrow {
  background: transparent;
  width: 46px;
  border: none;
  position: absolute;
  top: 23%;
  transform: translateY(-50%);
  z-index: 2;
}

.trainer-slider__arrow::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  border: solid #736964; 
  border-width: 0 2px 2px 0;
}


.trainer-slider__arrow--prev::before {
  transform: rotate(135deg);
}


.trainer-slider__arrow--next::before {
  transform: rotate(-45deg);
}


.trainer-slider__arrow--prev {
  left: 0px;
}

.trainer-slider__arrow--next {
  right: 0px;
}

        /*map*/
        .map {
          width: 100%;
          height: 400px;
          border: none;
          border-radius: 8px;
        }
    
        .info-block {
          margin-top: 40px;
          font-size: 18px;
          line-height: 2;
        }
    
        .info-title {
          text-decoration: underline;
          margin-bottom: 10px;
        }
    
        footer {
          margin-top: 20px;
          background-color: #f2f2f2;
          padding: 20px 10px;
        }
    
        footer ul {
          list-style: none;
          padding: 0;
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          gap: 10px;
          font-size: 12px;
          color: #888;
          margin: 0;
        }
    
        footer li::after {
          content: "|";
          margin: 0 8px;
          color: #ccc;
        }
    
        footer li:last-child::after {
          content: "";
          margin: 0;
        }
    
        footer ul li a {
          color: #414141;
          text-decoration: none;
        }
    
        .info-block{
          text-align: center;
        }
    
        @media (max-width: 480px) {
          .map {
            height: 300px;
          }
    
          .info-block {
            font-size: 16px;
          }
        }

        .br-pc {
          display: inline;
        }
        .br-sp {
          display: none;
        }
        
        @media (max-width: 480px) {
          .br-pc {
            display: none;
          }
          .br-sp {
            display: inline;
          }
        }


/*-------------------------
  lp-footer
-------------------------*/
.lp-footer {
  width: 100%;
  max-width: 525px;
  margin: 0 auto;
  position: relative;
/* font */
    font-family: "Zen Kaku Gothic New", "Helvetica Neue", Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-weight: 500;
    font-style: normal;
    background-color: #d9d9d9;
}

/* modal
-------------------------*/
.modal {
  padding: 25px 0;
}

.inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}

/* モーダルを開くボタン */
.modal__trigger {
  cursor: pointer;
}

.modal__trigger:nth-child(n + 2) {
  margin-top: 25px;
}

/* モーダル本体 */
.modal__wrapper {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.modal__layer {
  height: 100%;
  background: rgba(50, 50, 50, .85);
  cursor: pointer;
}

.modal__container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(calc(85% - 40px), 1000px);
  height: calc(90% - 40px);
  padding: 20px;
  background: #fff;
}

.modal__inner {
  position: relative;
  overflow-y: scroll;
  height: 100%;
  padding: 80px 5px 20px 5px;
}

/* モーダルを閉じるボタン */
.modal__close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  background: rgba(50, 50, 50, 1);
  cursor: pointer;
  transition: opacity .6s;
}

.modal__close:hover {
  opacity: .6;
}

.modal__close:before,
.modal__close:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  background: #fff;
  content: '';
}

.modal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* モーダル内のコンテンツ */
.modal__content {
}

.modal__text {
  margin-top: 30px;
  line-height: 1.55;
}


@media screen and (min-width: 600px) {
  .modal__container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(calc(100% - 40px), 1000px);
    height: calc(100% - 40px);
    padding: 20px;
    background: #fff;
}
}






 /*animation*/

.poyopoyo {
  animation: poyopoyo 1s infinite;
}

@keyframes poyopoyo {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

/* 数字が出るボタンをドットにリセット */
.slick-dots li button {
  font-size: 0; /* 数字を非表示に */
}

.mini-slideUp {
  -webkit-transform: translateY(5vw) scale(1);
  transform: translateY(5vw) scale(1);
  -webkit-transition-duration: 0.6s;
  transition-duration: 0.6s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: transform, opacity, filter;
  transition-property: transform, opacity, filter, -webkit-transform,
    -webkit-filter;
  opacity: 0;
  will-change: transform, opacity;
}

.mini-slideUp.active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

/*fadein*/
@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.fadeInScale{
  opacity: 0; 
}

.fadeInScale.active {
  transform: scale(0.8); 
  animation: fadeInScale 0.4s cubic-bezier(0.34, 1.56, 0.64, 1.26) forwards;
  animation-delay: 0.2s; 
  will-change: opacity, transform;
}


/*固定ボタンフェード位置*/
.fix_btn {
  display: none; 
  opacity: 0;
  transition: opacity 0.7s; 
}

.fix_btn.show {
  display: block;
  opacity: 1;
}

/*fv_cacth*/
.feature-list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: 100%;
    position: absolute;
    top: 24%;
    left: 6%;
}

.feature-item {
  width: fit-content;
  background-color: #e57e86;
  color: white;
  padding: 1%;
  margin-bottom: 4px;
  font-size: clamp(16px, 4vmin, 28px); 
  font-weight: 400;
  text-align: left;
  position: relative;
  overflow: hidden;
  opacity: 0;
  animation: showItem 0.001s forwards;
}

small {
    font-weight: normal;
}

.feature-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; 
    height: 100%;
    background-color: #f8f8f8; 
    z-index: 10;
    animation: wipeRight 0.5s ease-out forwards;
    opacity: 1; 
}

@keyframes wipeRight {
    0% {
        transform: translateX(0); 
    }
    100% {
        transform: translateX(100%);
    }
}

@keyframes showItem {
    to { opacity: 1; }
}

.feature-item:nth-child(1)::after { animation-delay: 0.1s; }
.feature-item:nth-child(2)::after { animation-delay: 0.25s; } 
.feature-item:nth-child(3)::after { animation-delay: 0.4s; }
.feature-item:nth-child(4)::after { animation-delay: 0.55s; }
.feature-item:nth-child(5)::after { animation-delay: 0.7s; }
.feature-item:nth-child(1) { animation-delay: 0.09s; } 
.feature-item:nth-child(2) { animation-delay: 0.24s; } 
.feature-item:nth-child(3) { animation-delay: 0.39s; }
.feature-item:nth-child(4) { animation-delay: 0.54s; }
.feature-item:nth-child(5) { animation-delay: 0.69s; }
