@charset "UTF-8";

/* service-common */

html {
  width: 100%;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  overflow-x: hidden;
}

img {
  width: 100%;
  vertical-align: bottom;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

article {
  width: 85.29411764705883vw;
  margin: 0 auto;
}

section.sec02 article {
  width: 85.29411764705883vw;
  margin: 0 auto;
}

li {
  list-style: none;
}

.white {
  color: #ffffff;
}

.gray {
  color: #eeeeee;
}

.dark_gray {
  color: #757575;
}

.inter {
  font-family: "Inter", sans-serif;
}

.view_btn {
  font-family: "Inter", sans-serif;
  color: #ffffff;
  font-size: 1.0294117647058822vw;
  border: 1px solid #fff;
  padding: 0.4352941176470588vw 0 0;
  text-decoration: none;
  width: 11.98529411764706vw;
  height: 2.2470588235294117vw;
  text-align: center;
}

.title_flex {
  display: flex;
  justify-content: space-between;
}

.single_bnr {
  width: 65%;
  margin: 20px auto;
}

section.sec_influence {
  position: relative;
}

.swiper-button-prev.thum-09 {
  height: 3.6764705882352944vw !important;
  width: 3.6764705882352944vw !important;
}

.swiper-button-next.thum-09 {
  height: 3.6764705882352944vw !important;
  width: 3.6764705882352944vw !important;
  right: 4%;
}

.swiper-button-prev.thum-09::before {
  background-image: url(../img/service_gym/prev-btn.svg);
  content: "";
  width: 100%;
  height: 100%;
  background-size: cover;
}

.swiper-button-next.thum-09::before {
  background-image: url(../img/service_gym/next-btn.svg);
  content: "";
  width: 100%;
  height: 100%;
  background-size: cover;
}

@media (max-width: 767px) {
  body {
    font-size: 4.102564102564102vw !important;
  }

  article {
    width: 84.61538461538461vw;
  }

  .view_btn {
    font-size: 3.5897435897435894vw;
    padding: 1.3vw 0 0;
    width: 41.026vw;
    height: 7.42vw;
  }

  .single_bnr {
    width: 100%;
    margin: -10px auto 20px;
  }

  .swiper-button-prev.thum-09 {
    height: 7.435897435897436vw !important;
    width: 7.435897435897436vw !important;
    left: 0px;
  }

  .swiper-button-next.thum-09 {
    height: 7.435897435897436vw !important;
    width: 7.435897435897436vw !important;
    right: 0px;
  }
}

@media (max-width: 767px) {
  .pc {
    display: none !important;
  }

  .sp {
    display: block !important;
  }
}

/* MV */

.mv {
  width: 100vw;
}

.mv_pc {
  width: 100%;
}

@media (max-width: 767px) {
}

/* slide */

.gym_slider {
  margin-bottom: 20px;
  margin-top: -4.411764705882353vw;

  /* スライドの動き等速 */
  .swiper-wrapper {
    transition-timing-function: linear;
  }

  /* 画像のサイズ調整 */
  .service-slider {
    margin-bottom: 20px;

    .swiper-slide {
      height: auto;
    }
  }

  .service_bnr-slider {
    .swiper-slide {
      height: 100%;
      width: auto !important;
    }
  }
}

@media (max-width: 767px) {
  .gym_slider {
    margin-bottom: 7.6923076923076925vw;
    margin-top: -4.411764705882353vw;

    .service_bnr-slider {
      .swiper-slide {
        height: 17.3vw;
        width: 100% !important;
      }
    }
  }
}

/* sec01 */

.sec01 {
  background-image: url(../img/service_gym/webp/sec01-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 20px 5.352941vw;

  h2 {
    font-size: 1.7647058823529411vw;
    font-weight: 700;
    margin-bottom: 2.5735294117647056vw;
    line-height: 1.5;
    text-align: center;

    span {
      font-size: 2.5vw;
      font-weight: 600;
    }
  }

  .sec01-wrap {
    background: rgba(255, 255, 255, 0.8);
    padding: 20px 2.941176470588235vw;

    ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 77.132353vw;
      margin: 0 auto;

      li {
        width: 24.573529411764707vw;

        &:nth-child(4),
        &:nth-child(5),
        &:nth-child(6) {
          margin-top: 2.941176470588235vw;
        }

        img {
          margin-bottom: 0;
        }

        p {
          font-size: 1.3235294117647058vw;
          color: #212121;
        }
      }
    }
  }
}

@media (max-width: 767px) {
  .sec01 {
    padding: 20px 3.8461538461538463vw;
    margin-top: 0;

    h2 {
      font-size: 6.153846153846154vw;
      margin-bottom: 20px;

      span {
        font-size: 8.717948717948717vw;
      }
    }

    .sec01-wrap {
      padding: 12.82051282051282vw 5.128205128205128vw;

      .sec01-slider_wrap {
        position: relative;

        .swiper-horizontal > .swiper-pagination-bullets,
        .swiper-pagination-bullets.swiper-pagination-horizontal,
        .swiper-pagination-custom,
        .swiper-pagination-fraction {
          bottom: -7.6923076923076925vw !important;
        }

        /* ページネーションのサイズと色 */
        .swiper-pagination-bullet {
          background-color: #212121;
          height: 1.5384615384615385vw;
          width: 1.5384615384615385vw;
        }
      }

      ul {
        flex-wrap: nowrap;
        width: 78.71794871794872vw;
        transition-timing-function: linear;

        li {
          &:nth-child(4),
          &:nth-child(5),
          &:nth-child(6) {
            margin-top: 0;
          }

          img {
            margin-bottom: 3.076923076923077vw;
          }

          p {
            font-size: 4.615384615384616vw;
            text-align: left;
          }
        }
      }
    }
  }
}

/* sec02 */

.sec02 {
  margin-top: 2.941vw;
  border-color: #fafafa;

  .title_wrap {
    width: 55.73529411764706vw;
    margin: 0 auto;
    position: relative;
    margin-bottom: 7.352941176470589vw;

    h2 {
      font-size: 2.6470588235294117vw;
      font-weight: 700;
      text-align: center;
    }

    span {
      font-size: 4.5588235294117645vw;
      font-weight: 600;
      line-height: 0.97;
      position: absolute;
      top: -50%;
      width: 100%;
      right: 0%;
      z-index: -1;
      text-align: center;
    }
  }

  ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;

    li {
      width: 15.616911764705883vw;
    }
  }

  .reason {
    background-image: url(../img/service_gym/webp/reason-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 15.073529411764705vw 0 7.720588235294118vw;
    text-align: center;

    .reason_inner {
      width: 57.35294117647059vw;
      margin: 0 auto;
      position: relative;
    }

    .ab_txt_wrap {
      position: absolute;
      top: 52%;
      width: 57.35294117647059vw;
      transform: translate(0, -50%);

      h3 {
        font-size: 2.353vw;
        display: inline-block;
        vertical-align: baseline;
        color: #fafafa;
        font-weight: 500;

        span.img {
          width: 14.706vw;
          margin-bottom: 0.441vw;
          margin-right: 0.441vw;
        }

        span.inter {
          text-align: center;
          font-size: 2.794vw;
          font-style: normal;
          font-weight: 600;
          line-height: 3.885vw;
          letter-spacing: 0.044vw;
          font-family: "inter";
        }

        span.sml {
          display: inline-block;
          font-size: 2.059vw;
          margin-bottom: 0.294vw;
        }

        span {
          display: inline-block;
          vertical-align: bottom;
        }

        span.txt38 {
          font-size: 2.279vw;
          vertical-align: bottom;
        }

        span.txt32 {
          margin-bottom: 0.221vw;
        }
      }

      .hash_wrap {
        margin-top: 1.471vw;

        ul {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-evenly;

          li {
            width: 45%;
            background: #212121;
            border-radius: 5.882vw;
            margin-bottom: 0.735vw;
            padding: 0.3vw 0;
          }
        }
      }
    }
  }
}

@media (max-width: 767px) {
  .sec02 {
    margin-top: 35px;

    .title_wrap {
      width: 92.3076923076923vw;
      margin-bottom: 20px;

      h2 {
        font-size: 7.179487179487179vw;
        line-height: 1.21;
        text-align: center;
      }

      span {
        font-size: 8.205128205128204vw;
        top: -3.8461538461538463vw;
        letter-spacing: 0.005em;
      }
    }

    ul {
      li {
        width: initial;
      }
    }

    /* slide */

    /* スライドの動き等速 */
    .swiper-wrapper {
      margin-bottom: 7.352941176470589vw;
    }

    /* 画像のサイズ調整 */
    .sec02-slider {
      margin-bottom: 20px;
    }

    .reason {
      background-image: url(../img/service_gym/sp/webp/reason-bg.webp);
      padding: 25.64102564102564vw 0 15.384615384615385vw;

      .reason_inner {
        width: 84.125vw;
        margin: 0 auto;
        position: relative;
      }

      .ab_txt_wrap {
        position: absolute;
        top: 52%;
        width: 84.125vw;
        transform: translate(0, -50%);

        h3 {
          font-size: 2.353vw;
          display: inline-block;
          vertical-align: baseline;
          color: #fafafa;
          font-weight: 500;

          span.img {
            width: 38.974vw;
            margin-bottom: 1.441vw;
            margin-right: 0.441vw;
          }

          span.inter {
            text-align: center;
            font-size: 6.667vw;
            font-style: normal;
            font-weight: 600;
            line-height: 10.885vw;
            letter-spacing: 0.044vw;
            font-family: "inter";
          }

          span.sml {
            display: inline-block;
            font-size: 6.154vw;
            margin-bottom: 0.294vw;
          }

          span {
            display: inline-block;
            vertical-align: bottom;
          }

          span.txt38 {
            font-size: 6.154vw;
            vertical-align: bottom;
          }

          span.txt32 {
            margin-bottom: 0vw;
            font-size: 7.179vw;
          }
        }

        .hash_wrap {
          margin-top: 5.471vw;

          ul {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-evenly;

            li {
              width: 95%;
              background: #212121;
              border-radius: 5.882vw;
              margin-bottom: 2.735vw;
              padding: 0.3vw 0;
              font-size: 3.8vw;
            }
          }
        }
      }
    }
  }
}

/* sec03 */

.sec03 {
  padding: 7.352941176470589vw 0 4.705882352941177vw;

  .title_wrap {
    display: flex;
    align-items: center;

    h2 {
      font-size: 4.117647058823529vw;
      font-weight: 600;
      margin-right: 1.1029411764705883vw;
    }

    span {
      color: #9e9e9e;
      font-size: 1.4705882352941175vw;
    }
  }
}

@media (max-width: 767px) {
  .sec03 {
    padding: 20.51282051282051vw 0;

    .title_wrap {
      display: flex;
      align-items: center;
      text-align: left;

      h2 {
        font-size: 8.205128205128204vw;
        margin-right: 2.051282051282051vw;
        letter-spacing: 0.005em;
      }

      span {
        font-size: 4.102564102564102vw;
      }
    }
  }
}

/* cta */

.cta {
  background-color: #ebfaf8;
  padding: 20px 0;

  .cta_wrap {
    background-image: url(../img/service_gym/webp/cta-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3.2352941176470593vw 0;
    width: 63.23529411764706vw;
    margin: 0 auto;
    text-align: center;

    h2 {
      font-size: 7.352941176470589vw;
      line-height: 0.91;
      font-weight: 800;
      font-style: italic;
      color: transparent;
      -webkit-text-stroke: 1px rgb(255, 255, 255);
      margin-bottom: 1.8382352941176472vw;
    }

    p {
      font-size: 1.4705882352941175vw;
      font-weight: 500;
      margin-bottom: 20px;
    }

    img {
      width: 25.735294117647058vw;
      margin: 0 auto;
    }
  }
}

@media (max-width: 767px) {
  .cta {
    .cta_wrap {
      background-image: url(../img/service_gym/sp/webp/cta-bg.webp);
      padding: 13.846153846153847vw 0;
      width: 84.61538461538461vw;

      h2 {
        font-size: 15.384615384615385vw;
        margin-bottom: 4.615384615384616vw;
      }

      p {
        font-size: 4.102564102564102vw;
        letter-spacing: 0.005em;
        margin: 0 auto 7.6923076923076925vw;
        width: 64.1025641025641vw;
      }

      img {
        width: 71.7948717948718vw;
        margin: 0 auto;
      }
    }
  }
}

/* sec04 */

.sec04 {
  background-image: url(../img/service_gym/webp/reason_big-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 2.941vw 0 20px;

  .title_wrap {
    /* width: 37.4264705882353vw; */
    margin: 0 auto;
    position: relative;
    margin-bottom: 20px;
    text-align: center;

    h2 {
      font-size: 2.6470588235294117vw;
      font-weight: 700;
      z-index: 1;
      position: relative;
    }

    span {
      font-size: 4.5588235294117645vw;
      font-weight: 600;
      line-height: 0.97;
      position: absolute;
      top: -20%;
      width: 100%;
      right: 0%;
      z-index: 0;
      opacity: 0.2;
    }
  }
}

@media (max-width: 767px) {
  .sec04 {
    background-image: url(../img/service_gym/webp/reason_big-bg.webp);
    padding: 10.256vw 0 20px;

    p {
      font-size: 4.050632911392405vw;
    }

    .title_wrap {
      width: 92.3076923076923vw;
      margin-bottom: 20px;

      h2 {
        font-size: 7.179487179487179vw;
        line-height: 1.21;
      }

      span {
        font-size: 8.205128205128204vw;
        top: -3.8461538461538463vw;
        letter-spacing: 0.005em;
      }
    }
  }
}

/* sec04-01 */

.sec04-01 {
  margin-bottom: 20px;

  .sec04-01_wrap {
    display: flex;
    align-items: center;
    margin-bottom: 20px;

    .sec04-01_swiper {
      width: 50vw;
    }

    .sec04-01_dis {
      width: 35.294117647058826vw;
      text-align: left;
      margin-left: 7.352941176470589vw;
      position: relative;

      h3 {
        font-size: 2.2058823529411766vw;
        font-weight: 700;
        font-style: italic;
        margin-bottom: 1.4705882352941175vw;
      }

      p {
        margin-bottom: 1.4705882352941175vw;
      }

      span {
        position: absolute;
        opacity: 0.2;
        font-size: 8.38235294117647vw;
        font-style: italic;
        font-weight: 600;
        top: 11.029411764705882vw;
        right: 0;
        padding-right: 0.7vw;
      }
    }
  }
}

.thumbnail-container {
  width: 77.94117647058823vw;
  margin: 0 auto;
  position: relative;

  .thumb_img {
    width: 12.5vw !important;
  }

  .slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
  }

  /* 矢印のクリック範囲など */
  .splide__arrow {
    background-color: transparent;
    /* ボタンの背景を透明にする */
    height: 3.6764705882352944vw;
    transition: 0.2s;
    width: 3.6764705882352944vw;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    opacity: 0;
  }

  .swiper-button-next {
    right: -20px;
  }

  .swiper-button-prev {
    left: -68px;
  }

  /* 矢印共通のスタイル */
  .splide__arrow::before {
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    height: 3.6764705882352944vw;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 3.6764705882352944vw;
  }

  /* 前の矢印 */
  .thum-prev01::before {
    background-image: url(../img/service_gym/prev-btn.svg);
  }

  /* 次の矢印 */
  .thum-next01::before {
    background-image: url(../img/service_gym/next-btn.svg);
  }

  /* 次のスライドが無い場合の矢印 */
  .splide__arrow:disabled::before {
    opacity: 0.5;
  }
}

@media (max-width: 767px) {
  .sec04-01 {
    margin-bottom: 20px;

    .sec04-01_wrap {
      display: block;
      margin-bottom: 20px;

      .sec04-01_swiper {
        width: 92.3076923076923vw;
      }

      .sec04-01_dis {
        width: 84.61538461538461vw;
        margin: 20px auto 0;
        position: relative;

        h3 {
          font-size: 5.641025641025641vw;
          margin-bottom: 20px;
          letter-spacing: 0.005em;
        }

        p {
          margin-bottom: 20px;
          letter-spacing: 0.08em;
        }

        span {
          font-size: 29.230769230769234vw;
          top: 38.58974358974359vw;
          right: -5vw;
          width: 40vw;
          letter-spacing: -0.5vw;
        }
      }
    }
  }

  .thumbnail-container {
    width: 84.61538461538461vw;

    .thumb_img {
      width: 27.692307692307693vw !important;
    }

    /* 矢印のクリック範囲など */
    .splide__arrow {
      height: 7.435897435897436vw;
      transition: 0.2s;
      width: 7.435897435897436vw;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
      opacity: 0;
    }

    .swiper-button-next {
      right: -20px;
    }

    .swiper-button-prev {
      left: -20px;
    }

    /* 矢印共通のスタイル */
    .splide__arrow::before {
      background-repeat: no-repeat;
      background-size: contain;
      bottom: 0;
      content: "";
      height: 7.435897435897436vw;
      left: 0;
      margin: auto;
      position: absolute;
      top: 0;
      width: 7.435897435897436vw;
    }

    /* 前の矢印 */
    .thum-prev01::before {
      background-image: url(../img/service_gym/prev-btn.svg);
    }

    /* 次の矢印 */
    .thum-next01::before {
      background-image: url(../img/service_gym/next-btn.svg);
    }

    /* 次のスライドが無い場合の矢印 */
    .splide__arrow:disabled::before {
      opacity: 0.5;
    }
  }
}

/* sec04-02 */

.sec04-02 {
  display: flex;
  justify-content: right;
  align-items: center;
  margin-bottom: 20px;

  .sec04-02_dis {
    width: 35.294117647058826vw;
    text-align: left;
    margin-right: 7.352941176470589vw;
    position: relative;

    h3 {
      font-size: 2.2058823529411766vw;
      font-weight: 700;
      font-style: italic;
      margin-bottom: 1.4705882352941175vw;
    }

    p {
      margin-bottom: 1.4705882352941175vw;
    }

    img {
      z-index: 2;
      position: relative;
      width: 23.411765vw;
    }

    span {
      position: absolute;
      opacity: 0.2;
      font-size: 8.38235294117647vw;
      font-style: italic;
      font-weight: 600;
      top: 14.191176470588236vw;
      right: 0;
      z-index: 1;
      padding-right: 0.7vw;
    }
  }

  .sec04-02_img {
    width: 50vw;
  }
}

@media (max-width: 767px) {
  .sec04-02 {
    margin-bottom: 20px;
    flex-direction: column-reverse;

    .sec04-02_img {
      width: 92.3076923076923vw;
      margin-left: auto;
    }

    .sec04-02_dis {
      width: 84.61538461538461vw;
      margin: 20px auto 0;
      position: relative;

      h3 {
        font-size: 5.641025641025641vw;
        margin-bottom: 20px;
        letter-spacing: 0.005em;
      }

      p {
        margin-bottom: 20px;
        letter-spacing: 0.08em;
      }

      img {
        width: 85.38461538461539vw;
      }

      span {
        font-size: 29.230769230769234vw;
        top: 22.28205128205128vw;
        right: -5.128205128205128vw;
        width: 40vw;
        letter-spacing: -0.5vw;
      }
    }
  }
}

/* sec04-03 */

.sec04-03 {
  margin-bottom: 20px;
}

.sec04-03_wrap {
  display: flex;
  align-items: center;
  margin-bottom: 20px;

  .sec04-03_swiper {
    width: 50vw;
  }

  .sec04-03_dis {
    width: 35.294117647058826vw;
    text-align: left;
    margin-left: 7.352941176470589vw;
    position: relative;

    h3 {
      font-size: 2.2058823529411766vw;
      font-weight: 700;
      font-style: italic;
      margin-bottom: 1.4705882352941175vw;
    }

    p {
      margin-bottom: 1.4705882352941175vw;
    }

    span {
      position: absolute;
      opacity: 0.2;
      font-size: 8.38235294117647vw;
      font-style: italic;
      font-weight: 600;
      top: 11.029411764705882vw;
      right: 0;
      padding-right: 0.7vw;
    }
  }
}

.thumbnail-container_03 {
  width: 77.94117647058823vw;
  margin: 0 auto;
  position: relative;

  .thumb_img {
    width: 12.5vw !important;
  }

  .slider-thumbnail_03 .swiper-slide.swiper-slide-thumb-active {
    opacity: 1;
  }

  /* 矢印のクリック範囲など */
  .splide__arrow {
    background-color: transparent;
    /* ボタンの背景を透明にする */
    height: 3.6764705882352944vw;
    transition: 0.2s;
    width: 3.6764705882352944vw;
  }

  .swiper-button-next:after,
  .swiper-button-prev:after {
    opacity: 0;
  }

  .swiper-button-next {
    right: -20px;
  }

  .swiper-button-prev {
    left: -68px;
  }

  /* 矢印共通のスタイル */
  .splide__arrow::before {
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    height: 3.6764705882352944vw;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 3.6764705882352944vw;
  }

  /* 前の矢印 */
  .thum-prev03::before {
    background-image: url(../img/service_gym/prev-btn.svg);
  }

  /* 次の矢印 */
  .thum-next03::before {
    background-image: url(../img/service_gym/next-btn.svg);
  }

  /* 次のスライドが無い場合の矢印 */
  .splide__arrow:disabled::before {
    opacity: 0.5;
  }
}

@media (max-width: 767px) {
  .sec04-03 {
    margin-bottom: 20px;

    .sec04-03_wrap {
      display: block;
      margin-bottom: 20px;

      .sec04-03_swiper {
        width: 92.3076923076923vw;
      }

      .sec04-03_dis {
        width: 84.61538461538461vw;
        margin: 20px auto 0;
        position: relative;

        h3 {
          font-size: 5.341025641025641vw;
          margin-bottom: 20px;
          letter-spacing: 0.005em;
        }

        p {
          margin-bottom: 20px;
          letter-spacing: 0.08em;
        }

        span {
          font-size: 29.230769230769234vw;
          top: 30.589744vw;
          width: 40vw;
          letter-spacing: -0.5vw;
        }
      }
    }
  }

  .thumbnail-container_03 {
    width: 84.61538461538461vw;

    .thumb_img {
      width: 27.692307692307693vw !important;
    }

    /* 矢印のクリック範囲など */
    .splide__arrow {
      height: 7.435897435897436vw;
      transition: 0.2s;
      width: 7.435897435897436vw;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
      opacity: 0;
    }

    .swiper-button-next {
      right: -20px;
    }

    .swiper-button-prev {
      left: -20px;
    }

    /* 矢印共通のスタイル */
    .splide__arrow::before {
      background-repeat: no-repeat;
      background-size: contain;
      bottom: 0;
      content: "";
      height: 7.435897435897436vw;
      left: 0;
      margin: auto;
      position: absolute;
      top: 0;
      width: 7.435897435897436vw;
    }

    /* 前の矢印 */
    .thum-prev03::before {
      background-image: url(../img/service_gym/prev-btn.svg);
    }

    /* 次の矢印 */
    .thum-next03::before {
      background-image: url(../img/service_gym/next-btn.svg);
    }

    /* 次のスライドが無い場合の矢印 */
    .splide__arrow:disabled::before {
      opacity: 0.5;
    }
  }
}

/* sec04-04 */

.sec04-04 {
  display: flex;
  justify-content: right;
  align-items: center;
  margin-bottom: 0;

  .sec04-04_dis {
    width: 35.294117647058826vw;
    text-align: left;
    margin-right: 7.352941176470589vw;
    position: relative;

    h3 {
      font-size: 2.2058823529411766vw;
      font-weight: 700;
      font-style: italic;
      margin-bottom: 1.4705882352941175vw;
    }

    p {
      margin-bottom: 1.4705882352941175vw;
    }

    img {
      z-index: 2;
      position: relative;
      width: 29.411764705882355vw;
    }

    span {
      position: absolute;
      opacity: 0.2;
      font-size: 8.38235294117647vw;
      font-style: italic;
      font-weight: 600;
      top: 11.191176470588236vw;
      right: 0;
      z-index: 1;
      padding-right: 0.7vw;
    }
  }

  .sec04-04_img {
    width: 50vw;
  }
}

@media (max-width: 767px) {
  .sec04-04 {
    margin-bottom: 0;
    flex-direction: column-reverse;

    .sec04-04_img {
      width: 92.3076923076923vw;
      margin-left: auto;
    }

    .sec04-04_dis {
      width: 84.61538461538461vw;
      margin: 20px auto 0;
      position: relative;

      h3 {
        font-size: 5.641025641025641vw;
        margin-bottom: 20px;
        letter-spacing: 0.005em;
      }

      p {
        margin-bottom: 20px;
        letter-spacing: 0.08em;
      }

      img {
        width: 85.38461538461539vw;
      }

      span {
        font-size: 29.230769230769234vw;
        top: 43.58974358974359vw;
        right: 0;
        width: 40vw;
        letter-spacing: -0.5vw;
      }
    }
  }
}

/* sec05 */

.sec05 {
  background-image: url(../img/service_gym/webp/sec05-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 20px 0 20px;
  text-align: center;

  img {
    width: 35.22058823529412vw;
  }

  .sec05-wrap {
    width: 73.52941176470588vw;
    margin: -3.4558823529411766vw auto 0;
    background-color: #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4.852941176470589vw 0 2.941176470588235vw;

    img {
      width: 23.01470588235294vw;
      margin-right: 4.191176470588235vw;
    }

    .note_wrap {
      width: 39.705882352941174vw;
      text-align: left;

      h4 {
        font-weight: 400;
        margin-bottom: 1.4705882352941175vw;
      }

      .user_voice_wrap {
        background-color: #ffffff;
        padding: 1.0294117647058822vw 0;

        p {
          width: 36.76470588235294vw;
          margin: 0 auto;
        }

        .dark_gray {
          font-size: 1.0294117647058822vw;
        }

        .user_voice {
          border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
          margin-bottom: 0.5147058823529411vw;
          color: #212121;
        }
      }
    }
  }
}

@media (max-width: 767px) {
  .sec05 {
    background-image: url(../img/service_gym/webp/sec05-bg.webp);
    padding: 15.384615384615385vw 0;

    img {
      width: 86.66666666666667vw;
    }

    .sec05-wrap {
      width: 92.3076923076923vw;
      margin: -10.76923076923077vw auto 0;
      display: block;
      padding: 21.53846153846154vw 0 10.256410256410255vw;

      img {
        width: 73.33333333333333vw;
        margin-right: 0;
        margin-bottom: 6.666666666666667vw;
      }

      .note_wrap {
        width: 76.92307692307693vw;
        margin: 0 auto;

        h4 {
          font-size: 3.5897435897435894vw;
          margin-bottom: 5.128205128205128vw;
        }

        .user_voice_wrap {
          padding: 3.5897435897435894vw 0;

          p {
            width: 66.66666666666666vw;
          }

          .dark_gray {
            font-size: 3.5897435897435894vw;
          }

          .user_voice {
            border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
            margin-bottom: 1.7948717948717947vw;
            font-size: 4.050632911392405vw;
          }
        }
      }
    }
  }
}

/* sec06 */

.sec06 {
  padding: 20px 0 20px;

  .title_wrap {
    display: flex;
    align-items: center;

    h2 {
      font-size: 4.117647058823529vw;
      font-weight: 600;
      margin-right: 1.1029411764705883vw;
    }

    span {
      color: #9e9e9e;
      font-size: 1.4705882352941175vw;
    }
  }

  .more_center {
    margin-top: 10px;
  }

  .title_dis {
    text-align: left;
    width: 61.76470588235294vw;
  }

  .view_btn {
    background-color: #9e9e9e;
    border: initial;
  }
}

@media (max-width: 767px) {
  .sec06 {
    padding: 20px 0;

    .title_flex {
      display: block;
    }

    .title_wrap {
      display: flex;
      align-items: center;
      text-align: left;
      margin-bottom: 20px;

      h2 {
        font-size: 8.205128205128204vw;
        margin-right: 2.051282051282051vw;
        letter-spacing: 0.005em;
      }

      span {
        font-size: 4.102564102564102vw;
      }
    }

    .title_dis {
      text-align: left;
      width: 84.61538461538461vw;
      font-size: 3.5897435897435894vw;
    }

    .view_btn-sp {
      width: 100%;
      text-align: left;
      margin-bottom: 20px;
    }
  }
}

/* sec07 */

.sec07 {
  background-image: url(../img/service_gym/webp/sec07-bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  padding: 20px 0 20px;

  h2 {
    width: 68.31102941176471vw;
    margin: 0 auto 2.941176470588235vw;
  }

  .flex {
    display: flex;
    justify-content: space-around;
    align-items: initial;

    .sec07-img_wrap {
      img {
        margin-bottom: 0.8823529411764706vw;
        width: 20.588235294117645vw;
      }

      p {
        font-size: 1.4705882352941175vw;
        font-weight: 500;
        letter-spacing: 0.05em;
        width: 23.52941176470588vw;
      }
    }
  }

  .sec07-dis_wrap {
    width: 73.52941176470588vw;
    background: none;
    border: solid 1px #fff;
    padding: 2.6470588235294117vw 0;
    margin: 2.2058823529411766vw auto 0;

    h3 {
      font-size: 2.2058823529411766vw;
      text-align: center;

      span {
        font-size: 2.3529411764705883vw;
      }
    }

    p {
      width: 61.76470588235294vw;
      margin: 0 auto;
      text-align: left;
    }
  }
}

@media (max-width: 767px) {
  .sec07 {
    background-image: url(../img/service_gym/sp/webp/sec07-bg.webp);
    padding: 20px 0 20px;

    article {
      width: 100%;
    }

    h2 {
      width: 85.12820512820512vw;
      margin: 0 auto 20px;
    }

    .sec07-slider_wrap {
      position: relative;
      margin-bottom: 20px;

      .sec07-img_wrap {
        text-align: center;

        img {
          margin-bottom: 20px;
        }

        p {
          font-size: 4.128205vw;
          letter-spacing: 0.05em;
          text-align: left;
          display: flex;
          justify-content: center;
        }

        /* slide */
        /* スライドの動き等速 */
        .swiper-wrapper {
          transition-timing-function: linear;
        }
      }

      .swiper-horizontal > .swiper-pagination-bullets,
      .swiper-pagination-bullets.swiper-pagination-horizontal,
      .swiper-pagination-custom,
      .swiper-pagination-fraction {
        bottom: -7.6923076923076925vw !important;
      }

      /* ページネーションのサイズと色 */
      .swiper-pagination-bullet {
        background-color: #fff;
        height: 1.5384615384615385vw;
        width: 1.5384615384615385vw;
      }
    }

    .sec07-dis_wrap {
      width: 92.3076923076923vw;
      padding: 7.6923076923076925vw 0;
      margin: 0 auto;

      h3 {
        font-size: 5.128205128205128vw;
        line-height: 1.5;
        margin-bottom: 20px;

        span {
          font-size: 5.641025641025641vw;
        }
      }

      p {
        width: 82.05128205128204vw;
        font-size: 4.145vw;
      }
    }
  }
}

/* sec08 */

.sec08 {
  padding: 2.941vw 0 20px;

  .title_wrap {
    margin: 0 auto;
    position: relative;
    margin-bottom: 20px;
    text-align: center;

    h2 {
      font-size: 2.6470588235294117vw;
      font-weight: 700;
      z-index: 1;
    }

    span {
      font-size: 4.5588235294117645vw;
      font-weight: 600;
      line-height: 0.97;
      position: absolute;
      top: -50%;
      width: 100%;
      right: 0%;
      z-index: -1;
    }
  }

  ul li {
    margin-bottom: 2.911764705882353vw;

    &:last-child {
      margin-bottom: 0;
    }
  }

  .flow_card {
    border: solid 1px #bdbdbd;
  }

  .flow_inner {
    display: flex;
    align-items: center;

    .txt_wrap {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 75%;

      p.nom {
        font-size: 8vw;
        color: #e0e0e0;
        font-weight: 500;
        font-family: "Inter";
        width: 18%;
        margin-left: 2%;
        letter-spacing: -2px;
      }

      .txt {
        display: inline-block;
        width: 74%;
        margin-left: 4%;

        h3 {
          font-size: 20px;
          color: #212121;
        }

        p {
          color: #212121;
        }
      }
    }

    .img {
      width: 25%;
      margin: 0 2% 0 1%;
    }
  }

  .triangle-bottom {
    position: absolute;
    display: inline-block;
    border-style: solid;
    border-width: 25px 40px 0 40px;
    border-color: #bdbdbd transparent transparent transparent;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

@media (max-width: 767px) {
  .sec08 {
    padding: 20px 0 20px;

    .title_wrap {
      width: 74.87179487179488vw;
      margin-bottom: 20px;

      h2 {
        font-size: 7.179487179487179vw;
        line-height: 1.21;
      }

      span {
        font-size: 8.205128205128204vw;
        top: -3.8461538461538463vw;
        letter-spacing: 0.005em;
        z-index: -1;
      }
    }

    ul li {
      margin-bottom: 30px;

      &:last-child {
        margin-bottom: 0;
      }
    }

    .flow_card {
      position: relative;

      .flow_inner {
        flex-direction: column;

        .txt_wrap {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          width: 100%;
          padding-top: 10px;

          p.nom {
            position: absolute;
            right: 5px;
            top: 0;
            font-size: 19vw;
            width: auto;
            margin-left: 0;
            line-height: 1.2;
            z-index: -1;
          }

          .txt {
            display: inline-block;
            width: 90%;
            margin-left: 5%;
          }
        }

        .img {
          width: 89%;
          margin: 3% 0 5%;
        }
      }
    }
  }
}

/* sec09 */

.sec09 {
  background-color: #fafafa;
  padding: 20px 0 20px;

  .title_wrap {
    display: flex;
    align-items: center;

    h2 {
      font-size: 4.117647058823529vw;
      font-weight: 600;
      margin-right: 1.1029411764705883vw;
    }

    span {
      color: #9e9e9e;
      font-size: 1.4705882352941175vw;
    }
  }

  .title_dis {
    text-align: left;
    width: 61.76470588235294vw;
  }

  .view_btn {
    background-color: #9e9e9e;
    border: initial;
  }

  /* accordion */

  .accordion {
    margin-left: auto;
    margin-right: auto;
    margin-top: 4.411764705882353vw;
    position: relative;
    width: 100%;
  }

  .accordion-title {
    cursor: pointer;
    font-size: 1.3235294117647058vw;
    padding: 1.25vw 1.4705882352941175vw;
    position: relative;
    text-align: left;
    font-weight: 700;
    display: flex;

    img {
      width: 2.6470588235294117vw;
      height: 2.6470588235294117vw;
      text-align: center;
      margin-right: 0.8823529411764706vw;
    }
  }

  .accordion-content {
    display: none;
    padding: 1.4705882352941175vw 6.985294117647059vw 2.2058823529411766vw 2.2058823529411766vw;
  }

  .content-flex {
    display: flex;

    span {
      font-size: 1.6176470588235297vw;
      font-weight: 600;
      margin-right: 1.397058823529412vw;
    }
  }

  .accordion-content p {
    color: #9e9e9e;
    text-align: left;
  }

  /* タイトルの背景色 */
  .accordion-item .accordion-title {
    border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
  }

  /* 縦線 */
  .accordion-title::before {
    background: #212121;
    /* 線の色 */
    content: "";
    height: 2px;
    /* 線の太さ */
    position: absolute;
    right: 25px;
    top: 50%;
    /* 線の位置を縦中央に */
    transform: rotate(90deg);
    /* 線を縦に */
    transition: transform 0.3s ease-in-out;
    width: 15px;
    /* 線の幅 */
  }

  /* 横線 */
  .accordion-title::after {
    background: #212121;
    /* 線の色 */
    content: "";
    height: 2px;
    /* 線の太さ */
    position: absolute;
    right: 25px;
    top: 50%;
    /* 線の位置を縦中央に */
    transition: opacity 0.3s ease-in-out;
    width: 15px;
    /* 線の幅 */
  }

  /* 縦線(クリック後) */
  .accordion-title.open::before {
    transform: rotate(180deg);
  }

  /* 横線(クリック後) */
  .accordion-title.open::after {
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .sec09 {
    padding: 20px 0 20px;

    .title_flex {
      display: block;

      .view_btn-sp {
        text-align: left;
      }
    }

    .title_wrap {
      display: flex;
      align-items: center;
      text-align: left;
      margin-bottom: 20px;

      h2 {
        font-size: 8.205128205128204vw;
        margin-right: 2.051282051282051vw;
        letter-spacing: 0.005em;
      }

      span {
        font-size: 4.102564102564102vw;
      }
    }

    /* accordion */

    .accordion {
      margin-top: 7.6923076923076925vw;
    }

    .accordion-title {
      font-size: 4.102564102564102vw;
      padding: 3.076923076923077vw 9.230769230769232vw 3.076923076923077vw 2.564102564102564vw;

      img {
        width: 7.6923076923076925vw;
        height: auto;
        margin-right: 2.051282051282051vw;
      }
    }

    .accordion-content {
      padding: 3.076923076923077vw 9.230769230769232vw 3.076923076923077vw 2.564102564102564vw;
    }

    .content-flex {
      span {
        font-size: 4.615384615384616vw;
        font-weight: 600;
        margin-right: 4.102564102564102vw;
      }
    }

    .accordion-content p {
      color: #9e9e9e;
      text-align: left;
    }

    /* タイトルの背景色 */
    .accordion-item .accordion-title {
      border-bottom: 1px dotted var(--System-Gray-400, #9e9e9e);
    }

    /* 縦線 */
    .accordion-title::before {
      right: 10px;
    }

    /* 横線 */
    .accordion-title::after {
      right: 10px;
    }
  }
}

.message_swiper {
  background-image: url(../img/service_gym/webp/bg.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 70px 5.352941vw;
  .message_wrap {
    max-width: 1360px;
    margin-right: auto;
    margin-left: auto;
    .inner_message {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
    }
    .message_txt_wrap {
      width: 45%;
      .ttl_wrap {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 15px 20px;
        background-color: rgba(255, 255, 255, 0.5);
        .mes_name {
          width: 50%;
          font-family: Inter;
          font-size: 1.4vw;
          font-weight: 600;
          line-height: 1.6;
          .name {
            display: block;
            font-size: 1.05vw;
            font-weight: 400;
          }
        }
        ul {
          width: 45%;
          margin-left: 5%;
          li {
            font-size: 1vw;
          }
        }
      }
      .txt_wrap {
        h3 {
          margin-top: 20px;
          font-size: 1.357vw;
          font-weight: bold;
          color: #fff;
        }
        p {
          margin-top: 15px;
          font-size: 1.176vw;
        }
      }
    }
    .message_img {
      width: 44%;
      margin-left: 11%;
    }
  }
  @media screen and (max-width: 767px) {
    background-image: url(../img/service_gym/sp/webp/bg-sp.webp);
    padding: 35px 5.352941vw;
    background-position: right;
    .inner_message {
      .message_txt_wrap {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        .ttl_wrap {
          margin-top: 20px;
          .mes_name {
            width: 100%;
            padding-bottom: 10px;
            font-family: Inter;
            font-size: 4.5vw;
            font-weight: 600;
            .name {
              display: block;
              font-size: 4vw;
              font-weight: 400;
            }
          }
          ul {
            width: 100%;
            margin-left: 0;
            padding-top: 10px;
            border-top: 1px #fff dashed;
            li {
              font-size: 4vw;
            }
          }
        }
        .txt_wrap {
          h3 {
            font-size: 5.357vw;
          }
          p {
            font-size: 4.050632911392405vw;
          }
        }
      }
      .message_img {
        width: 100%;
        margin-top: 20px;
        margin-left: 0;
      }
    }
  }
}

/*250911料金表追加*/

section.gym_price {
  p {
    color: #212121;
  }

  .flex {
    display: flex;
  }

  .title_wrap {
    display: flex;
    align-items: center;

    h2 {
      font-size: 4.117647058823529vw;
      font-weight: 600;
      margin-right: 1.1029411764705883vw;
    }

    span {
      color: #9e9e9e;
      font-size: 1.4705882352941175vw;
    }
  }

  @media (max-width: 767px) {
    article {
      width: 92.3076923076923vw;
    }

    .bnr-wrap {
      width: 76.92307692307693vw;
      margin: 15.384615384615385vw auto;

      img:first-child {
        margin-bottom: 7.6923076923076925vw;
      }
    }

    .title_wrap {
      margin-bottom: 20px;
      margin-left: 3.8461538461538463vw;

      h2 {
        font-size: 8.205128205128204vw;
        margin-right: 2.051282051282051vw;
      }

      span {
        font-size: 4.102564102564102vw;
      }
    }
  }

  /* 24gym */

  h4.md_new {
    width: 23vw;
    margin-bottom: 0.8vw;
  }

  .gym h4.md_new img {
    width: 100%;
  }

  span.sml {
    display: block;
    font-size: 0.8vw;
    color: #9c9c9c;
  }

  .service_detail p {
    color: #212121;
  }

  .flex_md {
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  .gym .flex_md div.md {
    width: 15vw;
  }

  .md_wrap {
    width: 60%;
    margin-right: -1vw;
  }

  .md_flex {
    display: flex;
    justify-content: center;
  }

  .md_flex p {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 600;
    color: #00c0b5;
    background: var(--bg-grn-bg, #ebfaf8);
    margin: 0 4px;
    padding: 10px;
    line-height: 1.2;
    font-size: 1vw;
    letter-spacing: 0;
  }

  span.sml {
    margin-right: unset !important;
    font-weight: 500;
  }

  .gym .basic_plan .basic_plan-dis-wrap .flex_md div.md {
    width: 15vw;
  }

  .gym .basic_plan .basic_plan-dis-wrap .flex_md div.md.long {
    width: 25vw;
  }

  .span_wrap {
    display: flex;
    margin-top: 0.8vw;
    margin-left: 1vw;
  }

  .span_wrap span {
    font-size: 1vw;
    letter-spacing: 1px;
  }

  .span_wrap.flex {
    flex-wrap: wrap;
  }

  .gym {
    margin-bottom: 20px;

    .title-wrap {
      background: linear-gradient(88deg, #00c0b5 -109.94%, #5df3cf 112.68%);
      padding: 1.1764705882352942vw 2.941176470588235vw;

      h3 {
        font-size: 2.5vw;
        text-align: left;
      }
    }

    p.service_price {
      background: linear-gradient(89deg, #00c0b5 -8.51%, #5df3cf 197.88%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      font-size: 3.162vw;
      font-family: "Inter";
      font-style: italic;
      font-weight: 500;
      margin-left: 0;
      display: inline-block;
      line-height: 1.2;
      letter-spacing: 0;

      span.b_tag {
        position: relative;
        width: 4.479vw;
        display: inline-block;
        font-size: 1.224vw;
        font-style: normal;
        text-align: center;
        vertical-align: middle;
        background: #212121;
        -webkit-text-fill-color: transparent;
        -webkit-background-clip: text;
        margin-left: 0;
        margin-right: 0.1vw;
      }

      span.b_tag:after {
        position: absolute;
        content: "";
        width: 3.412vw;
        height: 3.412vw;
        display: inline-block;
        font-size: 1.324vw;
        text-align: center;
        vertical-align: middle;
        border: solid 1px #212121;
        border-radius: 50%;
        left: 0.421vw;
        top: -1.2vw;
      }

      span.yen {
        font-size: 1.618vw;
        font-family: "Noto Sans JP";
        font-style: normal;
        margin-left: 0.368vw;
        margin-right: 0;
      }

      span.s-sml {
        background: #818181;
        -webkit-text-fill-color: transparent;
        -webkit-background-clip: text;
        margin-left: 0;
        margin-right: 0;
        font-size: 0.8vw;
        font-style: normal;
      }
    }

    .special_benefits {
      display: flex;
      align-items: center;
      border-bottom: 1px dotted #9e9e9e;
      padding-bottom: 0.5vw;
      margin-bottom: 0.5vw;

      .md_wrap {
        margin-top: -10px;
      }
    }

    .new_tokuten {
      display: flex;
      margin-bottom: 7px;
      width: 58%;

      p.price_tag {
        position: relative;
        line-height: 1.2;
        letter-spacing: 2px;
      }

      .ribbon14 {
        display: inline-block;
        position: absolute;
        top: 0;
        right: -4.276vw;
        margin: 0;
        padding: 10px 6px;
        z-index: 2;
        width: 40px;
        text-align: center;
        font-size: 17px;
        color: white;
        background: #00c0b5;
      }

      .ribbon14:after {
        content: "";
        position: absolute;
        left: 0;
        top: 100%;
        height: 0;
        width: 0;
        border-left: 26px solid #00c0b5;
        border-right: 26px solid #00c0b5;
        border-bottom: 10px solid transparent;
      }

      .tokuten_detail {
        margin-left: 5.5vw;
      }

      span.span1 {
        color: #212121;
        font-size: 1.6vw;
        letter-spacing: -2px;
      }

      span.span2 {
        font-size: 25px;
        color: #00c0b5;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 1px;
      }

      span.span3 {
        color: #818181;
        font-size: 12px;
        display: inline-block;
        vertical-align: text-top;
      }
    }

    h4.md {
      position: relative;
      color: #fcfcfc;
      background: #212121;
      font-weight: 400;
      font-size: 0.9vw;
      padding: 0 1vw;
      display: inline-block;
      z-index: 2;
    }

    div.md {
      margin-bottom: -8px;
      text-align: center;
      width: 23vw;
    }

    .md p {
      position: relative;
      top: -12px;
      color: #212121;
      font-size: 1vw;
      border: 1px solid var(--System-Gray-400, #bdbdbd);
      background: var(--bg-grn-bg, #ebfaf8);
      padding: 10px 0 0px;
      line-height: 1.75;
      justify-content: center;
      letter-spacing: 1px;
    }

    .plan-wrap {
      padding: 20px 2.794117647058824vw;
      background-color: #fafafa;
    }

    .gym-img {
      width: 30.821323529411764vw;
      margin-right: 2.0588235294117645vw;
    }

    .lite_plan {
      padding-bottom: 20px;
      border-bottom: 1px dotted #9e9e9e;
      align-items: center;
    }

    .lite_plan-dis-wrap {
      width: 46.7vw;
      text-align: left;

      .lite_plan-dis {
        text-align: left;
        border-bottom: 1px dotted #9e9e9e;
        padding-bottom: 0.8823529411764706vw;
        margin-bottom: 1.4705882352941175vw;

        h3 {
          font-size: 2.594117647058824vw;
          background: linear-gradient(87deg, #00c0b5 -8.27%, #5df3cf 314.32%);
          background-clip: text;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          margin-right: 0.7352941176470588vw;
          font-weight: 600;
        }

        span {
          font-size: 1.0294117647058822vw;
          font-weight: 400;
          color: #9e9e9e;
          margin-right: 1.7647058823529411vw;
        }
      }

      .benefits {
        margin-bottom: 0.7352941176470588vw;
      }

      span {
        margin-right: 1.4705882352941175vw;
      }

      .price-img {
        width: 16.691176470588236vw;
      }

      .flex {
        justify-content: left;
        align-items: center;
        flex-wrap: wrap;
      }
    }

    .basic_plan {
      margin-top: 20px;
      padding-bottom: 20px;
      align-items: center;
      flex-wrap: nowrap;

      .basic_plan-dis-wrap {
        width: 46.911764705882355vw;
        text-align: left;

        .basic_plan-dis {
          text-align: left;
          border-bottom: 1px dotted #9e9e9e;
          padding-bottom: 0.8823529411764706vw;
          margin-bottom: 1.4705882352941175vw;

          h3 {
            font-size: 2.594117647058824vw;
            background: linear-gradient(87deg, #00c0b5 -8.27%, #5df3cf 314.32%);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin-right: 0.7352941176470588vw;
            font-weight: 600;
            letter-spacing: 0.0061em;
          }

          p.service_price {
            background: linear-gradient(89deg, #00c0b5 -8.51%, #5df3cf 197.88%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            font-size: 3.162vw;
            font-family: "Inter";
            font-style: italic;
            font-weight: 500;
            margin-left: 0;
            display: inline-block;
            line-height: 1.2;

            span.b_tag {
              position: relative;
              width: 4.479vw;
              display: inline-block;
              font-size: 1.224vw;
              font-style: normal;
              text-align: center;
              vertical-align: middle;
              background: #212121;
              -webkit-text-fill-color: transparent;
              -webkit-background-clip: text;
              margin-left: 0;
              margin-right: 0.1vw;
            }

            span.b_tag:after {
              position: absolute;
              content: "";
              width: 3.412vw;
              height: 3.412vw;
              display: inline-block;
              font-size: 1.324vw;
              text-align: center;
              vertical-align: middle;
              border: solid 1px #212121;
              border-radius: 50%;
              left: 0.421vw;
              top: -1.2vw;
            }

            span.yen {
              font-size: 1.618vw;
              font-family: "Noto Sans JP";
              font-style: normal;
              margin-left: 0.368vw;
              margin-right: 0;
            }

            span.s-sml {
              background: #818181;
              -webkit-text-fill-color: transparent;
              -webkit-background-clip: text;
              margin-left: 0;
              margin-right: 0;
              font-size: 0.8vw;
              font-style: normal;
            }
          }

          span {
            font-size: 1.0294117647058822vw;
            font-weight: 400;
            color: #9e9e9e;
            margin-right: 0.7352941176470588vw;
          }

          .flex {
            justify-content: left;
            align-items: center;
            flex-wrap: wrap;
          }

          .price-img {
            width: 18.38235294117647vw;
          }
        }

        .benefits {
          margin-bottom: 0.7352941176470588vw;
        }

        span {
          margin-right: 1.4705882352941175vw;
        }

        .special_benefits {
          display: flex;
          align-items: center;
          border-bottom: 1px dotted #9e9e9e;
          padding-bottom: 0.5vw;
          margin-bottom: 0.5vw;
        }

        .new_tokuten {
          display: flex;
          margin-bottom: 7px;

          p.price_tag {
            position: relative;
            line-height: 1.2;
            letter-spacing: 2px;
          }

          .ribbon14 {
            display: inline-block;
            position: absolute;
            top: 0;
            right: -4.276vw;
            margin: 0;
            padding: 10px 6px;
            z-index: 2;
            width: 40px;
            text-align: center;
            font-size: 17px;
            color: white;
            background: #00c0b5;
          }

          .ribbon14:after {
            content: "";
            position: absolute;
            left: 0;
            top: 100%;
            height: 0;
            width: 0;
            border-left: 26px solid #00c0b5;
            border-right: 26px solid #00c0b5;
            border-bottom: 10px solid transparent;
          }

          .tokuten_detail {
            margin-left: 5.5vw;
          }

          span.span1 {
            color: #212121;
            font-size: 1.5vw;
          }

          span.span2 {
            font-size: 25px;
            color: #00c0b5;
            font-weight: 500;
            line-height: 1;
            letter-spacing: 1px;
          }

          span.span3 {
            color: #818181;
            font-size: 12px;
            display: inline-block;
            vertical-align: text-top;
          }
        }

        h4.md {
          position: relative;
          color: #fcfcfc;
          background: #212121;
          font-weight: 400;
          font-size: 0.9vw;
          padding: 0 1vw;
          display: inline-block;
          z-index: 2;
        }

        div.md {
          margin-bottom: -8px;
          text-align: center;
          width: 24vw;
        }

        .md p {
          position: relative;
          top: -12px;
          color: #212121;
          font-size: 1vw;
          border: 1px solid var(--System-Gray-400, #bdbdbd);
          background: var(--bg-grn-bg, #ebfaf8);
          padding: 10px 0 0px;
          line-height: 1.75;
          justify-content: center;
          letter-spacing: 1px;
        }
      }
    }

    .gym-note {
      width: 77.94117647058823vw;
      margin: 0 auto;
    }
  }

  @media (max-width: 767px) {
    .gym {
      margin-bottom: 7.6923076923076925vw;

      .title-wrap {
        padding: 1.692308vw 5.128205128205128vw;

        h3 {
          font-size: 7.179487179487179vw;
        }
      }

      .plan-wrap {
        padding: 20px 5.128205128205128vw;
      }

      .gym-img {
        width: 100%;
        margin-right: 0;
        margin-bottom: 5.128205128205128vw;
      }

      .lite_plan {
        padding-bottom: 20px;
        border-bottom: 1px dotted #9e9e9e;
        display: block;
      }

      .lite_plan-dis-wrap {
        width: 100%;

        .flex {
          justify-content: center;
          flex-direction: column;
        }

        .lite_plan-dis {
          padding-bottom: 3.076923076923077vw;
          margin-bottom: 5.128205128205128vw;

          h3 {
            font-size: 8.205128205128204vw;
            margin-right: 2.512820512820513vw;
            line-height: 1;
          }

          span {
            font-size: 3.5897435897435894vw;
            margin-right: 0;
            margin-left: 0;
          }
        }

        .benefits {
          margin-bottom: 5.128205128205128vw;
        }

        span {
          margin: 0 auto;
          display: block;
          text-align: center;
        }

        .price-img {
          width: 58.97435897435898vw;
          margin: 0 auto 3.5897435897435894vw;
        }
      }

      .basic_plan {
        margin-top: 7.6923076923076925vw;
        padding-bottom: 7.6923076923076925vw;
        display: block;

        .basic_plan-dis-wrap {
          width: 100%;

          .basic_plan-dis {
            padding-bottom: 3.076923076923077vw;
            margin-bottom: 5.128205128205128vw;

            .flex {
              justify-content: center;
            }

            h3 {
              font-size: 8.205128205128204vw;
              margin-right: 0;
              text-align: center;
              line-height: 1;
            }

            span {
              font-size: 3.5897435897435894vw;
              margin-right: 0;
            }

            .flex {
              display: block;
            }

            .price-img {
              width: 64.1025641025641vw;
            }
          }

          .benefits {
            margin-bottom: 5.128205128205128vw;
          }

          span {
            margin: 0 auto;
            display: block;
            text-align: center;
          }

          .price-img {
            width: 58.97435897435898vw;
            margin: 0 auto 3.5897435897435894vw;
          }
        }
      }

      & .lite_plan {
        & .lite_plan-dis-wrap {
          & .lite_plan-dis {
            p.service_price {
              display: flex;
              align-items: center;
              justify-content: center;
              background: linear-gradient(89deg, #00c0b5 -8.51%, #5df3cf 197.88%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
              font-size: 12.162vw;
              font-family: "Inter";
              font-style: italic;
              font-weight: 500;
              margin-left: 0;
              line-height: 1.2;

              span.b_tag {
                position: relative;
                width: 14.479vw;
                display: inline-block;
                font-size: 4.224vw;
                font-style: normal;
                text-align: center;
                vertical-align: middle;
                background: #212121;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-left: 0;
                margin-right: 0.1vw;
              }

              span.b_tag:after {
                position: absolute;
                content: "";
                width: 12.412vw;
                height: 12.412vw;
                display: inline-block;
                font-size: 1.324vw;
                text-align: center;
                vertical-align: middle;
                border: solid 1px #212121;
                border-radius: 50%;
                left: 0.421vw;
                top: -4.2vw;
              }

              span.yen {
                font-size: 5.618vw;
                font-family: "Noto Sans JP";
                font-weight: 600;
                font-style: normal;
                margin-left: 1.368vw;
                margin-right: 0;
                margin-top: 12px;
              }

              span.s-sml {
                background: #818181;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-top: 15px;
                margin-left: 0;
                margin-right: 0;
                font-size: 3.8vw;
                font-style: normal;
              }
            }
          }

          div.md {
            margin-bottom: -8px;
            text-align: center;
            width: 80vw;
          }

          h4.md {
            position: relative;
            color: #fcfcfc;
            background: #212121;
            font-weight: 400;
            font-size: 3.9vw;
            padding: 0 1vw;
            display: inline-block;
            z-index: 2;
          }

          .md p {
            position: relative;
            top: -12px;
            color: #212121;
            font-size: 3.5vw;
            border: 1px solid var(--System-Gray-400, #bdbdbd);
            background: var(--bg-grn-bg, #ebfaf8);
            padding: 10px 0 0px;
            line-height: 1.75;
            justify-content: center;
          }

          .special_benefits {
            flex-direction: column;
            padding-bottom: 10px;
            margin-bottom: 10px;

            & .new_tokuten {
              .ribbon14 {
                display: inline-block;
                position: absolute;
                top: 0;
                right: -8px;
                margin: 0;
                padding: 10px 6px;
                z-index: 2;
                width: 40px;
                text-align: center;
                font-size: 17px;
                color: white;
              }

              span.span1 {
                color: #212121;
                font-size: 4.145vw;
              }
              span.span3 {
                color: #818181;
                font-size: 14px;
                display: block;
                vertical-align: text-top;
                text-align: center;
              }
            }
          }
        }
      }

      .gym-note {
        width: 77.94117647058823vw;
        margin: 0 auto;
      }

      & .basic_plan {
        & .basic_plan-dis-wrap {
          & .basic_plan-dis {
            p.service_price {
              display: flex;
              align-items: center;
              justify-content: center;
              background: linear-gradient(89deg, #00c0b5 -8.51%, #5df3cf 197.88%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
              font-size: 12.162vw;
              font-family: "Inter";
              font-style: italic;
              font-weight: 500;
              margin-left: 0;
              line-height: 1.2;

              span.b_tag {
                position: relative;
                width: 14.479vw;
                display: inline-block;
                font-size: 4.224vw;
                font-style: normal;
                text-align: center;
                vertical-align: middle;
                background: #212121;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-left: 0;
                margin-right: 0.1vw;
              }

              span.b_tag:after {
                position: absolute;
                content: "";
                width: 12.412vw;
                height: 12.412vw;
                display: inline-block;
                font-size: 1.324vw;
                text-align: center;
                vertical-align: middle;
                border: solid 1px #212121;
                border-radius: 50%;
                left: 0.421vw;
                top: -4.2vw;
              }

              span.yen {
                font-size: 5.618vw;
                font-family: "Noto Sans JP";
                font-weight: 600;
                font-style: normal;
                margin-left: 1.368vw;
                margin-right: 0;
                margin-top: 12px;
              }

              span.s-sml {
                background: #818181;
                -webkit-text-fill-color: transparent;
                -webkit-background-clip: text;
                margin-top: 15px;
                margin-left: 0;
                margin-right: 0;
                font-size: 3.8vw;
                font-style: normal;
              }
            }
          }

          div.md {
            margin-bottom: -8px;
            text-align: center;
            width: 90vw;
          }

          h4.md {
            position: relative;
            color: #fcfcfc;
            background: #212121;
            font-weight: 400;
            font-size: 3.9vw;
            padding: 0 1vw;
            display: inline-block;
            z-index: 2;
          }

          .md p {
            position: relative;
            top: -12px;
            color: #212121;
            font-size: 3.5vw;
            border: 1px solid var(--System-Gray-400, #bdbdbd);
            background: var(--bg-grn-bg, #ebfaf8);
            padding: 10px 0 0px;
            line-height: 1.75;
            justify-content: center;
          }

          .special_benefits {
            flex-direction: column;
            padding-bottom: 10px;
            margin-bottom: 10px;

            & .new_tokuten {
              .ribbon14 {
                display: inline-block;
                position: absolute;
                top: 0;
                right: -8px;
                margin: 0;
                padding: 10px 6px;
                z-index: 2;
                width: 40px;
                text-align: center;
                font-size: 17px;
                color: white;
              }
              span.span1 {
                color: #212121;
                font-size: 4.145vw;
              }
              span.span3 {
                color: #818181;
                font-size: 14px;
                display: block;
                vertical-align: text-top;
                text-align: center;
              }
            }
          }
        }
      }
    }
  }

  @media (max-width: 767px) {
    h4.md_new {
      width: 100%;
      margin-bottom: -8px;
    }

    .md_wrap {
      width: 100%;
    }

    .md_flex p {
      font-size: 14px;
      width: 48%;
      padding: 1%;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .md_flex.premium p {
      font-size: 14px;
      width: 48%;
      padding: 1%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: center;
    }

    span.sml {
      margin: 0 !important;
      font-size: 2.5vw;
    }

    .flex_md {
      flex-direction: column;
    }

    .span_wrap {
      flex-direction: column;
    }

    .span_wrap span {
      font-size: 3.5vw;
    }

    .gym .basic_plan .basic_plan-dis-wrap .flex_md div.md,
    .gym .basic_plan .basic_plan-dis-wrap .flex_md div.md.long {
      width: 80vw;
    }
  }
}
