@charset "UTF-8";
:root {
  --color-primary         : #656565;
  --color-secondary       : #ff8b8b;
  --color-tertiary        : #707070;
  --color-background      : #fff7f7;
  --color-border          : #ffd3d3;
  --color-text            : #656565;
  --color-background-pink : #ffe3e3;
  --color-background-topic: #ffafac;
  --color-text-white      : #ffffff;
  --color-text-boxsolid   : #494949;

  --font-family-default: "Zen Kaku Gothic New", sans-serif;
  --font-size-large: 45px;
  --font-size-medium: 30px;
  --font-size-small: 20px;
  --font-size-xsmall: 18px;

  --spacing-small: 8px;
  --spacing-medium: 16px;
  --spacing-large: 24px;
  --spacing-xlarge: 32px;

  --border-standard: 1px solid var(--color-secondary);

  --bg-image-trouble          : url("../img/onayami_1.png");
  --bg-image-circle           : url("../img/onayami_3.png");
  --bg-image-hukidashi        : url("../img/onayami_4.png");
  --bg-image-you              : url("../img/onayami_2.png");
  --bg-image-nakatsukashiki   : url("../img/nakatsukashiki.png");
  --bg-image-nakatsukashiki-sp: url("../img/nakatsukashiki_sp.png");
  --bg-image-koushi-line      : url("../img/koushi_line.png");
  --bg-image-pg_shikaku_1     : url("../img/pg_shikaku_1.png");
  --bg-image-pg_shikaku_2     : url("../img/pg_shikaku_2.png");
  --bg-image-pg_shikaku_3     : url("../img/pg_shikaku_3.png");
  --bg-image-pg_shikaku_4     : url("../img/pg_shikaku_4.png");
  --bg-image-pg_shikaku_5     : url("../img/pg_shikaku_5.png");
  --bg-image-pg_shikaku_6     : url("../img/pg_shikaku_6.png");
  --bg-image-pg_shikaku_7     : url("../img/pg_shikaku_7.png");
  --bg-image-plan             : url("../img/plan.png"); 

  --circle-diameter: 218px;
  --circle-diameter-small: 150px;
  --circle-diameter-xsmall: 100px;
  --triangle-container-max-width: 756px;
  --triangle-container-max-width-small: calc(100vw - 48px);
  --triangle-container-gap: 54px;
  --triangle-container-gap-small: 20px;
  --triangle-container-gap-xsmall: 6px;
  --circle-font-size: 27px;
  --circle-font-size-small: 18px;
  --circle-font-size-xsmall: 13px;
  --worries-flex-width: 40%;
  --worries-flex-margin: 30%;

  --font-size-h2: 43px;
  --font-size-paragraph: 48px;
  --font-size-topic: 53px;
  --letter-spacing-h2: 2.15px;
  --letter-spacing-paragraph: 4.8px;
  --letter-spacing-topic: 10.6px;
  --padding-bottom-you: 206px;
  --padding-top-topic: 47px;
  --margin-bottom-topic: 158px;
  --line-height-normal: 1.5;
}

/*全体共通CSS*/
/* 不要な余白を取り除くためのスタイル */
.no-sidebar .content .main,
.no-sidebar .content-in,
#content,
.content {
  padding: 0; /* 余白をゼロに設定 */
  width: 100%; /* コンテンツ幅を最大に設定 */
  margin-top: 0; /* 上部の余白をゼロに設定 */
}

/* スクロールバーを非表示にするためのスタイル */
html,
body {
  overflow-x: hidden !important; /* 横スクロールバーを非表示に */
}

body {
  font-family: var(--font-family-default);
}

/* ロゴを非表示にするためのスタイル */
.logo-header {
  display: none; /* ロゴを非表示に設定 */
}

#main-navigation {
  display: none;
}

.top {
  max-width: 100%;
  height: auto;
  margin-bottom: 0%;
  padding-bottom: 0%;
  .top__img {
    width: auto;
    height: auto;
  }
  .top__spimg {
    display: none;
  }
  .top__border {
    background: #f9c8ce 0% 0% no-repeat padding-box;
    width: 100%;
    height: 1.5rem;
  }
}

.troubles {
  width: 100%;
  aspect-ratio: 1920 / 521;
  background-image: var(--bg-image-trouble);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  .troubles__title {
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 2.34vw;
    font-weight: bold;
    letter-spacing: 0.27vw;
    color: #656565;
    width: 100%;
    height: auto;
    padding-top: 6vw;
    & span {
      display: inline-block;
      width: auto;
      transform-origin: center;
      transform: matrix(0.94, 0.34, -0.34, 0.94, 0, 0) translate(1.3vw, 0.52vw);
      font-size: 4.06vw;
      line-height: 5.83vw;
    }
  }
  .troubles__container {
    display: flex;
    flex-flow: column;
    width: 39.17vw;
    height: auto;
    margin: auto;
    margin-top: 3vw;
    .container-row1 {
      display: flex;
      flex-flow: row;
      flex-wrap: nowrap;
      justify-content: space-between;
      width: 100%;
      height: auto;
    }
    .container-row2 {
      display: flex;
      flex-flow: row;
      flex-wrap: nowrap;
      justify-content: space-evenly;
      width: 100%;
      height: auto;
    }
  }
  .troubles__bubble {
    background-image: var(--bg-image-hukidashi);
    background-repeat: no-repeat;
    background-size: 50%;
    background-position: 50% 0;
    opacity: 1;
    aspect-ratio: 7 / 1;
  }
}

.troubles-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 1.4vw;
  color: #707070;
  font-family: "Zen Kaku Gothic New";
  font-weight: bold;
  letter-spacing: 0px;
  line-height: 2.03vw;
  font-weight: bold;
  background-image: var(--bg-image-circle);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 11.35vw;
  height: 11.35vw;
  border-radius: 50%;
  @media screen and (max-width: 480px) {
    
  }
}

.recommend {
  width: 100%;
  aspect-ratio: 1920 / 473;
  background-image: var(--bg-image-you);
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 0;
  .recommend__foryou {
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 2.24vw;
    line-height: 3.2vw;
    font-weight: bold;
    letter-spacing: 0.27vw;
    color: #656565;
    width: 100%;
    height: auto;
    margin-top: 5%;
  }
  .recommend__fasting {
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5vw;
    line-height: 3.6vw;
    font-weight: bold;
    letter-spacing: 0.27vw;
    color: #656565;
    width: 100%;
    height: auto;
    & span {
      background-color: #ffe3e3;
      font-size: 2.5vw;
      font-weight: 900;
      line-height: 3.65vw;
      font-family: "Zen Kaku Gothic New", sans-serif;
      letter-spacing: 0.17vw;
    }
  }
}

.pink-short{
  background: linear-gradient(transparent 50%, #FFE3E3 40%);
}

.topic-title {
  height: 13.02vw;
  background-color: #ffafac;
  padding-top: 2.45vw;
  text-align: center;
  font-size: 2.76vw;
  font-weight: bold;
  line-height: 4.17vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.55vw;
  color: #ffffff;
  margin-bottom: 8.23vw;
}
.topic-reset {
  display: flex;
  flex-flow: column;
  max-width: 100%;
  height: auto;
  margin-top: 8.26vw;
  margin-bottom: 0;
  .topic-reset-content__reset-spimage {
    display: none;
  }
  .topic-reset__title {
    display: flex;
    justify-content: center;
    background-color: transparent;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 2.08vw;
    line-height: 2.34vw;
    font-weight: bold;
    letter-spacing: 0.177vw;
    color: #656565;
    width: 100%;
    height: auto;
    margin-bottom: 2.08vw;
  }
  .topic-reset__content {
    display: flex;
    flex-flow: row;
    gap: 2.55vw;
    justify-content: center;
    align-items: center;
    width: 51.72vw;
    height: auto;
    margin: auto;
    .topic-reset-content__reset-image {
      display: flex;
      justify-content: center;
      flex-basis: 48.2%;
      width: 100%;
      text-align: center;
      & img {
        width: auto;
        height: 22.66vw;
        object-fit: cover;
      }
    }
    .topic-reset-content__reset-text {
      display: flex;
      justify-content: center;
      flex-basis: 51.8%;
      font-family: "Zen Kaku Gothic New", sans-serif;
      font-size: 1.04vw;
      line-height: 2.08vw;
      text-align: left;
      color: #656565;
      width: 100%;
      margin-top: 2.24vw;
      .topic-reset-content__reset-text--spacing-minus104 {
        letter-spacing: -0.05vw;
      }
      .topic-reset-content__reset-text--spacing-minus06 {
        letter-spacing: -0.03vw;
      }
      .topic-reset-content__reset-text--spacing-plus02 {
        letter-spacing: 0.01vw;
      }
      .topic-reset-content__reset-text--spacing-plus12 {
        letter-spacing: 0.06vw;
      }
      .topic-reset-content__reset-text--marker {
        background: linear-gradient(transparent 50%, #ffe3e3 40%);
      }
    }
    .topic-reset-content__reset-sptext {
      display: none;
    }
  }
}

.topic-mineral {
  display: flex;
  flex-flow: column;
  background-color: #edfffe;
  max-width: 100%;
  height: auto;
  margin-top: 6.57vw;
  .topic-mineral__title {
    display: flex;
    justify-content: center;
    background-color: transparent;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 2.08vw;
    line-height: 2.34vw;
    font-weight: bold;
    letter-spacing: 0.177vw;
    color: #656565;
    width: 100%;
    height: auto;
    margin-top: 4.08vw;
    margin-bottom: 2.08vw;
  }
  .topic-mineral-content__mineral-spimage {
    display: none;
  }
  .topic-mineral__content {
    display: flex;
    flex-flow: row;
    gap: 2.55vw;
    justify-content: center;
    align-items: center;
    width: 51.72vw;
    height: auto;
    margin: auto;
    margin-bottom: 3.95vw;
    .topic-mineral-content__mineral-image {
      display: flex;
      justify-content: center;
      flex-basis: 48.2%;
      width: 100%;
      text-align: center;
      & img {
        width: auto;
        height: 22.66vw;
        object-fit: cover;
      }
    }
    .topic-mineral-content__mineral-text {
      display: flex;
      justify-content: center;
      flex-basis: 51.8%;
      font-family: "Zen Kaku Gothic New", sans-serif;
      font-size: 1.04vw;
      line-height: 2.08vw;
      text-align: left;
      color: #656565;
      width: 100%;
      margin-top: 2.24vw;
      .topic-mineral-content__mineral-text--spacing-minus10 {
        letter-spacing: -0.05vw;
      }
      .topic-mineral-content__mineral-text--spacing-minus06 {
        letter-spacing: -0.03vw;
      }
      .topic-mineralcontent__mineraltext_spacing--plus02 {
        letter-spacing: 0.01vw;
      }
      .topic-mineral-content__mineral-text_spacing--plus12 {
        letter-spacing: 0.06vw;
      }
      .topic-mineral-content__mineral-text--marker {
        background: linear-gradient(transparent 50%, #ffe3e3 40%);
      }
    }
    .topic-mineral-content__mineral-sptext {
      display: none;
    }
  }
}

.topic-support {
  .topic-support-main {
    position: relative;
    width: 51.67vw;
    height: auto;
    margin: auto;
    margin-top: 9.22vw;
    margin-bottom: 11.63vw;
    &::before,
    &::after {
      content: "";
      width: 3.54vw;
      height: 100%;
      position: absolute;
      border-top: solid 5px #caf8f6;
      border-bottom: solid 5px #caf8f6;
      top: 0;
    }
    &::before {
      border-left: solid 0.26vw #caf8f6;
      left: 0;
    }
    &::after {
      border-right: solid 0.26vw #caf8f6;
      right: 0;
    }
    .topic-support__content {
      display: flex;
      flex-flow: column;
      gap: 1.7vw;
      width: 44.58vw;
      height: 100%;
      margin: auto;
      .topic-support-content__title {
        font-family: "Zen Kaku Gothic New";
        font-size: 1.875vw;
        line-height: 2.34vw;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.0375vw;
        color: #656565;
        width: auto;
        margin-top: 4.65vw;
      }
      .topic-support-content__sptitle {
        display: none;
      }
      .topic-supporcontent__text {
        font-family: "Zen Kaku Gothic New";
        font-size: 1.04vw;
        line-height: 2.08vw;
        letter-spacing: 0.03vw;
        color: #656565;
        margin-bottom: 4vw;
        .topic-supporcontent__text_marker {
          background: linear-gradient(transparent 50%, #ffe3e3 40%);
        }
      }
    }
  }
  .topic-supporcontent__sptext {
    display: none;
  }
}

.fasting-point {
  .fasting-point-background {
    background-image: var(--bg-image-nakatsukashiki);
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 12.8vw;
    padding-bottom: 7.68vw;
    .fasting-point-area {
      position: relative;
      width: 52vw;
      height: auto;
      border: 0.15625vw dashed #ffa8af;
      margin: auto;
      .fasting-point-area__title {
        position: relative;
        font-family: "Zen Kaku Gothic New";
        font-size: 2.344vw;
        line-height: 3.385vw;
        font-weight: bold;
        text-align: center;
        letter-spacing: 0.2734vw;
        color: #656565;
        bottom: 1.17vw;
        background-color: #ffffff;
        width: 28.125vw;
        margin: auto;
      }
      .fasting-point-area__grid-container {
        display: grid;
        grid-template-columns: 0.2fr 1fr;
        grid-template-rows: 4.975vw 7.75vw 4.7vw 4.975vw 7.75vw 4.7vw 4.975vw 7.75vw 4.7vw;
        grid-column-gap: 0;
        margin-top: 1vw;
        margin-bottom: 1vw;
        margin-left: 2vw;
        .fasting-point-area-content {
          display: grid;
          grid-area: 1 / 1 / 3 / 3;
          grid-template-columns: subgrid;
          grid-row: span 3;
          row-gap: 0;
          .fasting-point-area-content__number {
            grid-area: 1 / 1 / 2 / 2;
            font-family: "Allura", cursive;
            font-size: 4.427vw;
            line-height: 5.52vw;
            text-align: center;
            letter-spacing: 0.089vw;
            color: #e87473;
            margin: 0;
            padding: 0;
            padding-top: 1vw;
          }
          .fasting-point-area-content__subtitle {
            display: inline-flex;
            align-items: center;
            flex-flow: wrap;
            grid-area: 1 / 2 / 2 / 3;
            font-family: "Zen Kaku Gothic New";
            font-size: 1.56vw;
            line-height: 2.29vw;
            font-weight: bold;
            text-align: left;
            letter-spacing: 0.078vw;
            color: #656565;
            word-break: auto-phrase;
            width: auto;
            margin: 0;
            padding: 0;
            .fasting-point-area-content__subtitle--marker {
              display: block;
              background: unset;
              text-decoration: underline;
              text-decoration-thickness: 1.16vw;
              text-decoration-color: #ffe3e3;
              text-underline-offset: -0.81vw;
              text-decoration-skip-ink: none;
            }
          }
          .fasting-point-area-content__text {
            grid-area: 2 / 2 / 3 / 3;
            font-family: "Zen Kaku Gothic New";
            font-size: 1.09vw;
            line-height: 1.72vw;
            text-align: left;
            color: #656565;
            word-break: auto-phrase;
            margin-bottom: 4.7vw;
            .fasting-point-area-content__text--list {
              list-style-type: disc;
              list-style-position: inside;
              padding: 0;
              margin: 0;
            }
            & ul {
              width: 35.8vw;
              margin: 0;
              padding: 0;
              & li {
                margin-left: 0;
              }
            }
          }
          .fasting-point-area-content--sp {
            display: none;
          }
        }
      }
    }
  }
}

.instructor {
  padding-top: 4.09vw;
  padding-bottom: 3.72vw;
  margin: 0 auto;
  font-family: "Zen Kaku Gothic New", sans-serif;
  .instracter-title {
    background-image: var(--bg-image-koushi-line);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    font-size: 2.34vw;
    line-height: 3.39vw;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.35vw;
    color: #ffffff;
  }
  .instracter-content {
    display: flex;
    flex-flow: column;
    justify-content: center;
    gap: 2.5vw;
    width: 45vw;
    margin: 0 auto;
    margin-top: 1.72vw;
    .instracter-profile {
      display: grid;
      grid-template-columns: 37.8% 1fr;
      grid-template-rows: 11.9% 1fr 62.4%;
      grid-column-gap: 1.67vw;
      grid-row-gap: 0px;
      .instracter-profile-img {
        grid-area: 1 / 1 / 4 / 2;
      }
      .instracter-profile-text {
        .instracter-profile-text__ruby {
          grid-area: 1 / 2 / 2 / 3;
          font-size: 1.042vw;
          line-height: 2.604vw;
          letter-spacing: 0.02vw;
          color: #656565;
        }
        .instracter-profile-text__name {
          grid-area: 2 / 2 / 3 / 3;
          font-size: 2.344vw;
          line-height: 3.385vw;
          font-weight: bold;
          letter-spacing: 0.234vw;
          color: #656565;
        }
        .instracter-profile-text__career {
          grid-area: 3 / 2 / 4 / 3;
          font-size: 0.938vw;
          line-height: 1.51vw;
          color: #656565;
          & ul {
            list-style: none;
            margin: 0;
            padding: 0;
          }
        }
      }
    }
    .instracter-content__text {
      font-size: 0.938vw;
      line-height: 1.563vw;
      .instracter-content__text--spacing-plus02 {
        letter-spacing: 0.01vw;
      }
      .instracter-content__text--spacing-plus144 {
        letter-spacing: 0.075vw;
      }
      .instracter-content__text--spacing-plus09 {
        letter-spacing: 0.0469vw;
      }
      .instracter-content__text--spacing-plus036 {
        letter-spacing: 0.0188vw;
      }
    }
    .instracter-content__sp-text {
      display: none;
    }
  }
}

.week-program {
  background-color: #fff8f7;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #656565;
  margin: 0 auto;
  padding-top: 5.48vw;
  padding-bottom: 6.45vw;
  margin: 0;
  .week-program-content-area {
    width: 51.667vw;
    margin: 0 auto;
    .week-program__title {
      font-size: 2.344vw;
      font-weight: bold;
      letter-spacing: 0.211vw;
      line-height: 3.385vw;
      text-align: center;
      border-bottom: solid 0.364vw #ffd3d3;
      margin-bottom: 0.833vw;
    }
    .week-program-grid-container {
      display: grid;
      grid-template-columns: 40.73% 1fr;
      grid-template-rows: 9.375vw 3.125vw 9.375vw 3.125vw 9.375vw 3.125vw;
      grid-column-gap: 0px;
      grid-row-gap: 0px;
      margin-top: 2.58vw;
      .week-program-grid-menu {
        display: grid;
        grid-area: 1 / 1 / 3 / 3;
        grid-template-columns: subgrid;
        grid-template-rows: subgrid;
        grid-row: span 2;
        row-gap: 0;
        .week-program-guide__title {
          display: grid;
          grid-area: 1 / 1 / 2 / 2;
          justify-content: center;
          align-content: center;
          font-size: 1.823vw;
          line-height: 1.354vw;
          font-weight: bold;
          letter-spacing: 0.182vw;
          text-align: center;
          .week-program-guide__title_subtitle {
            font-size: 1.302vw;
            line-height: 1.354vw;
            padding-bottom: 0.52vw;
          }
        }
        .week-program-guide__text {
          display: grid;
          grid-area: 1 / 2 / 2 / 3;
          justify-content: start;
          align-content: center;
          font-size: 1.042vw;
          line-height: 1.563vw;
        }
        .week-program-guide__sp-text {
          display: none;
        }
        .week-program-guide__undergrid {
          display: grid;
          grid-area: 2 / 1 / 3 / 3;
          justify-content: center;
        }
        .week-program-guide__next {
          height: 1.3vw;
          width: 2.6vw;
          clip-path: polygon(0 0, 100% 0, 50% 100%);
          background-color: #aaaaaa;
          margin: auto;
        }
        .week-program-guide__info {
          align-items: end;
          font-size: 1.093vw;
          line-height: 0.81vw;
        }
        .week-program-grid-menu--background-orange {
          background-color: #fff5e2;
        }
        .week-program-grid-menu--background-red {
          background-color: #ffe8e8;
        }
        .week-program-grid-menu--background-yellow {
          background-color: #fffddd;
        }
      }
    }
  }
}

.common-program {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 6.791vw;
  margin-bottom: 5.16svw;
  .common-program__title {
    width: 48.125vw;
    font-size: 2.344vw;
    line-height: 3.385vw;
    font-weight: bold;
    letter-spacing: 0.234vw;
    color: #656565;
    text-align: center;
    border-top: solid 0.26vw #ff9595;
    border-bottom: solid 0.26vw #ff9595;
    margin: 0 auto;
    padding: auto;
    padding-top: 0.949vw;
    padding-bottom: 0.949vw;
  }
  .common-program-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 13.125vw);
    grid-template-rows: repeat(2, 13.125vw) 2vw 16.042vw;
    grid-column-gap: 1.771vw;
    grid-row-gap: 1.551vw;
    width: 42.917vw;
    margin: auto;
    margin-top: 3.35vw;
    .common-program-box-grid {
      display: grid;
      grid-area: 1 / 1 / 2 / 2;
      grid-template-columns: subgrid;
      grid-template-rows: subgrid;
      grid-row: span 1;
      grid-column: span 1;
      text-align: center;
      .common-program-box {
        display: grid;
        grid-area: 1 / 1 / 2 / 2;
        justify-content: center;
        align-content: space-between;
        padding-top: 2.21vw;
        padding-bottom: 2.21vw;
        .common-program-box__title {
          display: flex;
          justify-content: center;
          align-content: center;
          flex-wrap: wrap;
          color: #707070;
        }
        .common-program-box__subtitle {
          display: flex;
          justify-content: center;
          align-content: end;
          font-size: 0.781vw;
          line-height: 1.198vw;
          font-weight: 900;
          letter-spacing: 0px;
          color: #707070;
        }
      }
      .common-program-box_layout1 {
        font-size: 1.354vw;
        line-height: 1.458vw;
        font-weight: 900;
        letter-spacing: 0.203vw;
        background-image: var(--bg-image-pg_shikaku_1);
        background-size: cover;
      }
      .common-program-box_layout2 {
        font-size: 1.146vw;
        line-height: 1.667vw;
        font-weight: 900;
        letter-spacing: 0.057vw;
        background-image: var(--bg-image-pg_shikaku_2);
        background-size: cover;
      }
      .common-program-box_layout3 {
        font-size: 1.302vw;
        line-height: 1.771vw;
        font-weight: 900;
        letter-spacing: 0.065vw;
        background-image: var(--bg-image-pg_shikaku_3);
        background-size: cover;
      }
      .common-program-box_layout4 {
        font-size: 1.302vw;
        line-height: 1.406vw;
        font-weight: 900;
        letter-spacing: 0.13vw;
        background-image: var(--bg-image-pg_shikaku_4);
        background-size: cover;
      }
      .common-program-box_layout5 {
        font-size: 1.302vw;
        line-height: 1.406vw;
        font-weight: 900;
        letter-spacing: 0.195vw;
        background-image: var(--bg-image-pg_shikaku_5);
        background-size: cover;
      }
      .common-program-box_layout6 {
        font-size: 1.302vw;
        line-height: 1.406vw;
        font-weight: 900;
        letter-spacing: 0.065vw;
        background-image: var(--bg-image-pg_shikaku_6);
        background-size: cover;
      }
    }
    .common-program-plus-text {
      display: grid;
      grid-area: 3 / 1 / 4 / 4;
      justify-content: center;
      align-content: center;
      font-size: 2.083vw;
      line-height: 3.021vw;
      font-weight: bold;
      color: #707070;
    }
    .common-program-present {
      display: grid;
      grid-area: 4 / 1 / 5 / 4;
      background-image: var(--bg-image-pg_shikaku_7);
      background-size: cover;
      .common-program-present__text {
        position: absolute;
        font-size: 1.406vw;
        line-height: 1.823vw;
        font-weight: bold;
        color: #ff8d8d;
        transform: rotate(351deg) translate(1.28vw, 1.584vw);
      }
      .common-program-present__list {
        display: grid;
        justify-content: center;
        align-content: center;
        font-size: 1.302vw;
        line-height: 2.083vw;
        font-weight: bold;
        letter-spacing: 0.091vw;
        color: #707070;
        text-align: center;
      }
    }
  }
}

.fee-plan {
  background-image: var(--bg-image-plan);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  .fee-plan-content-area {
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #656565;
    background-color: white;
    box-sizing: content-box;
    width: 42.92vw;
    height: 51.46vw;
    margin: auto;
    margin-top: 7.16vw;
    margin-bottom: 5.96vw;
    padding: 0 4.375vw;
    .fee-plan__title {
      font-size: 2.344vw;
      line-height: 3.385vw;
      font-weight: bold;
      letter-spacing: 0.352vw;
      text-align: center;
      border-bottom: 0.052vw solid #ff8b8b;
      margin: 0 auto;
      padding-top: 3.507vw;
      padding-bottom: 2.083vw;
    }
    .best-fee-plan {
      display: grid;
      grid-template-columns: 1fr repeat(2, 6.25vw);
      grid-template-rows: 2.29vw 3.02vw;
      grid-column-gap: 0.625vw;
      grid-row-gap: 0.833vw;
      border-bottom: 0.052vw solid #ff8b8b;
      margin-top: 2.6vw;
      padding-bottom: 3.91vw;
      .best-fee-plan__subtitle {
        display: grid;
        grid-area: 1 / 1 / 2 / 4;
        font-size: 1.563vw;
        line-height: 2.292vw;
        font-weight: 900;
        letter-spacing: 0.156vw;
        text-align: center;
        color: #ff8b8b;
      }
      .best-fee-plan__title {
        display: grid;
        grid-area: 2 / 1 / 3 / 2;
        font-size: 2.083vw;
        font-weight: 500;
        line-height: 3.021vw;
        text-align: left;
      }
      .best-fee-plan__fee {
        display: grid;
        grid-area: 2 / 2 / 3 / 3;
        font-size: 2.344vw;
        line-height: 3.385vw;
        font-weight: 500;
        text-align: center;
      }
      .best-fee-plan__unit {
        display: grid;
        grid-area: 2 / 3 / 3 / 4;
        align-items: end;
        font-size: 1.563vw;
        line-height: 2.292vw;
        font-weight: 500;
        text-align: right;
      }
    }
    .other-fee-plan {
      display: grid;
      grid-template-columns: 1fr 6.51vw 5.21vw;
      grid-template-rows: 1.51vw 2.66vw 1.51vw 2.66vw 1.51vw 2.66vw;
      grid-column-gap: 0.521vw;
      row-gap: 7vw;
      margin-top: 3.54vw;
      margin-bottom: 4.51vw;
      .other-fee-plan-container {
        display: grid;
        grid-area: 1 / 1 / 3 / 4;
        grid-template-columns: subgrid;
        grid-row: span 1;
        row-gap: 0.3125vw;
        .other-fee-plan__subtitle {
          display: grid;
          grid-area: 1 / 1 / 2 / 4;
          font-size: 1.042vw;
          line-height: 1.51vw;
          letter-spacing: 0.031vw;
          text-align: left;
        }
        .other-fee-plan__title {
          display: grid;
          grid-area: 2 / 1 / 3 / 2;
          align-items: center;
          font-size: 1.823vw;
          line-height: 2.656vw;
          font-weight: 500;
          text-align: left;
        }
        .other-fee-plan__fee {
          display: grid;
          grid-area: 2 / 2 / 3 / 3;
          align-items: center;
          font-size: 2.083vw;
          line-height: 3.021vw;
          font-weight: 500;
          text-align: right;
        }
        .other-fee-plan__unit {
          display: grid;
          grid-area: 2 / 3 / 3 / 4;
          align-items: center;
          font-size: 1.302vw;
          line-height: 1.875vw;
          font-weight: 500;
          text-align: right;
        }
      }
    }
  }
}

.review {
  background-color: #fff7f7;
  font-family: "Zen Kaku Gothic New", sans-serif;
  overflow: hidden;
  .review__title {
    font-size: 2.344vw;
    line-height: 3.385vw;
    font-weight: bold;
    letter-spacing: 0.352vw;
    color: #ffadad;
    text-align: center;
    margin: 0 auto;
    margin-top: 4.79vw;
  }
  .review-content {
    display: flex;
    flex-wrap: nowrap;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    height: 51vw;
    margin: 0 auto;
    margin-top: 2.6vw;
    margin-bottom: 9.27vw;
    .review-card {
      display: flex;
      width: 42.92vw;
      height: 14.06vw;
      background-color: white;
      .review__number {
        position: absolute;
        font-size: 5.729vw;
        line-height: 7.135vw;
        font-family: "Allura", sans-serif;
        letter-spacing: 0.115vw;
        color: #ffc58e;
        opacity: 0.5;
        transform: rotate(345deg) translate(1.3vw, -2.08vw);
      }
      .review-maincontent {
        display: flex;
        flex-wrap: nowrap;
        flex-flow: row;
        font-weight: 500;
        color: #656565;
        padding-top: 2.865vw;
        padding-bottom: 2.24vw;
        padding-left: 4.375vw;
        .review-maincontent__text {
          font-size: 0.938vw;
          line-height: 1.823vw;
          text-align: left;
          width: 26.25vw;
          margin-right: 1.56vw;
          .review-maincontent__text--marker {
            background: linear-gradient(transparent 50%, #ffe3e3 40%);
          }
          .review-maincontent__text--spacing-plus054 {
            letter-spacing: 0.028vw;
          }
          .review-maincontent__text--spacing-minus072 {
            letter-spacing: -0.0375vw;
          }
          .review-maincontent__text--spacing-minus054 {
            letter-spacing: -0.028vw;
          }
          .review-maincontent__text--align-right {
            display: flex;
            justify-content: end;
          }
        }
        .review-maincontent__img {
          display: flex;
          height: 8.333vw;
          aspect-ratio: 137 / 160;
          justify-content: left;
        }
      }
    }
  }
  .review-sp-content {
    display: none;
  }
}

/*お問い合わせ*/
.info {
  display: block;
  text-align: center;
  background-color: #ffffff;
  margin: 1.06vw;
  margin-top: 4.62vw;
  p {
    font-size: 1.45vw;
    font-family: Zen Kaku Gothic New;
    text-autospace: no-autospace;
    word-break: auto-phrase;
    letter-spacing: 0px;
    color: var(--color-text);
    .under {
      background: linear-gradient(transparent 50%, #ffe3e3 40%);
    }
    
  }
}

.contact {
  width: 60vw;
  height: auto;
  margin: auto;
  margin-top: 5vw;
  h2 {
    text-align: center;
    font-size: 2.13vw;
    letter-spacing: 0.1px;
    color: #ffffff;
    opacity: 1;
    background-color: #f7b7b5;
    width: 100%;
    padding: 1.33vw;
    margin-bottom: 1.62em;
  }
  form {
    color: var(--color-text);
    width: 95%;
    padding: 5%;
    border: 0.1vw solid var(--color-text-boxsolid);
    margin: auto;
    label {
      display: block;
    }
    label {
      font-size: 1.12vw;
      margin-bottom: 0.78125vw;
    }
    legend#inquiry {
      font-size: 1.12vw;
      margin-bottom: 1.5625vw;
    } 
    div.radiogroup {
      display: flex;
      align-items: center;
      justify-content: space-between;
      label {
        display: flex;
        align-items: center;
        font-size: 0.96vw;
      }
      input[type="radio"] {
        margin: auto;
        margin-right: 0.78125vw;
        width: auto;
      }
    }
    input, textarea {
      width: 100%;
      padding: 0.59vw;
      border: 1px solid var(--color-text-boxsolid);
      margin-bottom: 2.18vw;
      resize: none;
    }
    div.radiogroup {
      display: flex;
      align-items: center;
      justify-content: space-between;
      label {
        display: flex;
        align-items: center;
        font-size: 0.95vw;
      }
      input[type="radio"] {
        margin: auto;
        margin-right: 0.78125vw;
        width: auto;
      }
    }
    div.checkbox {
      display: flex;
      align-items: center;
      justify-content: center;
      label {
        display: flex;
        align-items: center;
        font-size: 1.17vw;
      }
      input[type="checkbox"] {
        margin: auto;
        margin-right: 0.78125vw;
        width: auto;
      }
    }
    button {
      display: block;
      margin: 0 auto;
      padding: 0.53vw 0;
      font-size: 1.56vw;
      width: 100%;
    }
  }
}

/*フッター*/
.footer {
  background-color: #f7b7b5;
  width: 100%;
  margin-top: 3vw;
  margin-bottom: 0px;
  padding-top: 0.2vw;
  .sns-btn {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 26.6vw;
    min-width: 380px;
    padding: 0;
    margin: auto;
    margin-top: 4.9vw;
    margin-bottom: 3.48vw;    
    .rogo_sp {
      display: none;
      aspect-ratio: 250 / 149;
    }
    .line{
      margin: auto;
      img {
        aspect-ratio: 1/1;
      }
    }
    .instagram {
      margin: auto;
      img {
        aspect-ratio: 1/1;
      }
    }
    .rogo {
      margin: auto;
      img {
        width: 9.31vw;
        aspect-ratio: 250 / 149;
      }
    }
  }
  p {
    text-align: center;
    font-size: 18px;
    letter-spacing: 0.11vw;
    color: #ffffff;
    padding-bottom: 1.06vw;
  }
}

@media screen and (max-width: 768px) {
  .top {
    .top__img {
      display: none;
    }
    .top__spimg {
      display: unset;
      width: auto;
      height: auto;
    }
  }
  .troubles {
    .troubles__title {
      text-align: center;
      font-size: 5.278vw;
      line-height: 7.5vw;
      letter-spacing: 0.264vw;
      & span {
        display: inline-block;
        width: auto;
        transform-origin: center;
        transform: matrix(0.94, 0.34, -0.34, 0.94, 0, 0)
          translate(1.3vw, 0.52vw);
        font-size: 6.389vw;
        line-height: 9.444vw;
      }
    }
    .troubles__container {
      width: 86.67vw;
      .troubles-circle {
        font-size: min(3.611vw,20px);
        line-height: 5.278vw;
        width: min(27.78vw,150px);
        height: min(27.78vw,150px);
      }
    }
    .troubles__bubble {
      background-size: 80% 100%;
    }
  }
  .recommend {
    height: 50vw;
    background-position: bottom;
    .recommend__foryou {
      font-size: 4.722vw;
      line-height: 6.944vw;
      margin-top: 14.57vw;
    }
    .recommend__fasting {
      font-size: 5.278vw;
      line-height: 8.333vw;
      letter-spacing: 0.422vw;
      & span {
        font-size: 6.389vw;
        line-height: 8.333vw;
        font-weight: 900;
        letter-spacing: 0.383vw;
      }
    }
  }
  .topic-title {
    height: 55.56vw;
    padding-top: 17.91vw;
    padding-bottom: 17.91vw;
    font-size: 6.667vw;
    line-height: 10vw;
    letter-spacing: 1.333vw;
  }
  .topic-reset {
    .topic-reset__title {
      font-size: 5vw;
      line-height: 4.167vw;
      font-weight: bold;
      letter-spacing: 0.097vw;
      color: #656565;
      width: 100%;
      height: auto;
      margin-bottom: 6.39vw;
    }
    .topic-reset__content {
      display: flex;
      flex-flow: column;
      gap: 4.16vw;
      justify-content: center;
      align-items: center;
      width: 83.5vw;
      height: auto;
      margin: auto;
      .topic-reset-content__reset-image {
        display: none;
      }
      .topic-reset-content__reset-text {
        display: none;
      }
      .topic-reset-content__reset-sptext {
        display: flex;
        font-size: 3.611vw;
        line-height: 5.833vw;
        font-family: "Zen Kaku Gothic New", sans-serif;
        letter-spacing: -0.144vw;
        .topic-reset-content__reset-text--marker {
          background: linear-gradient(transparent 50%, #ffe3e3 40%);
        }
        .topic-reset-content__reset-text--spacing-minus104 {
          letter-spacing: -0.289vw;
        }
        .topic-reset-content__reset-text--spacing-plus052 {
          letter-spacing: 0.144vw;
        }
      }
    }
    .topic-reset-content__reset-spimage {
      display: unset;
      margin: 0 auto;
      margin-bottom: 5.56vw;
      & img {
        width: 100%;
        height: 50vw;
        aspect-ratio: 310 / 180;
        object-fit: cover;
      }
    }
  }
  .topic-mineral {
    .topic-mineral__title {
      font-size: 5vw;
      line-height: 5.278vw;
      letter-spacing: 0.389vw;
      margin-top: 15.91vw;
      margin-bottom: 5.56vw;
    }
    .topic-mineral-content__mineral-spimage {
      display: unset;
      margin: 0 auto;
      margin-bottom: 5.56vw;
      & img {
        width: 100%;
        height: 50vw;
        aspect-ratio: 310 / 180;
        object-fit: cover;
      }
    }
    .topic-mineral__content {
      display: flex;
      flex-flow: column;
      gap: 4.17vw;
      width: 84.4vw;
      margin-bottom: 3.95vw;
      .topic-mineral-content__mineral-image {
        display: none;
      }
      .topic-mineral-content__mineral-text {
        display: none;
      }
      .topic-mineral-content__mineral-sptext {
        display: flex;
        font-size: 3.611vw;
        line-height: 5.833vw;
        font-family: "Zen Kaku Gothic New", sans-serif;
        letter-spacing: -0.144vw;
        .topic-mineral-content__mineral-text--marker {
          background: linear-gradient(transparent 50%, #ffe3e3 40%);
        }
        .topic-mineral-content__mineral-text_spacing--zero {
          letter-spacing: 0;
        }
      }
    }
  }
  .topic-support {
    .topic-support-main {
      width: 83.33vw;
      height: 34.72vw;
      &::before,
      &::after {
        content: "";
        width: 3.54vw;
        height: 100%;
        position: absolute;
        border-top: solid 0.56vw #caf8f6;
        border-bottom: solid 0.56vw #caf8f6;
        top: 0;
      }
      .topic-support__content {
        justify-content: center;
        align-items: center;
        width: 64.45vw;
        .topic-support-content__title {
          display: none;
        }
        .topic-support-content__sptitle {
          display: unset;
          font-size: 5vw;
          line-height: 6.944vw;
          font-family: "Zen Kaku Gothic New";
          font-weight: bold;
          letter-spacing: -0.097vw;
          text-align: center;
          margin-top: auto;
          color: #656565;
          margin: auto;
        }
        .topic-supporcontent__text {
          display: none;
        }
      }
    }
    .topic-supporcontent__sptext {
      display: block;
      font-size: 3.611vw;
      line-height: 5.833vw;
      font-family: "Zen Kaku Gothic New", sans-serif;
      letter-spacing: 0.144vw;
      text-align: left;
      margin: 0 8.33vw;
      .topic-supporcontent__text_marker {
        background: linear-gradient(transparent 50%, #ffe3e3 40%);
      }
      .topic-supporcontent__sptext--minus052 {
        letter-spacing: -0.144vw;
        margin-top: 4.17vw;
        margin-bottom: 1.8em;
      }
    }
  }
  .fasting-point {
    .fasting-point-background {
      background-image: var(--bg-image-nakatsukashiki-sp);
      padding: 12.8vw 0;
      .fasting-point-area {
        position: relative;
        width: auto;
        height: auto;
        margin: auto;
        border: unset;
        .fasting-point-area__title {
          position: relative;
          font-size: 6.389vw;
          line-height: 8.889vw;
          font-weight: bold;
          text-align: center;
          letter-spacing: 0.767vw;
          color: #707070;
          background-color: unset;
          border-top: 0.56vw dashed #ffa8af;
          border-bottom: 0.56vw dashed #ffa8af;
          width: 75vw;
          margin: auto;
          margin-top: 14.46vw;
          padding-top: 2.78vw;
          padding-bottom: 2.78vw;
        }
        .fasting-point-area__grid-container {
          grid-template-columns: 1fr;
          grid-template-rows: 16.2vw repeat(2, auto);
          grid-column-gap: 0px;
          grid-row-gap: 2.79vw;
          grid-column-gap: 0;
          width: 83.33vw;
          margin: auto;
          margin-top: 8.79vw;
          margin-bottom: 1vw;
          .fasting-point-area-content {
            display: grid;
            justify-content: center;
            grid-area: 1 / 1 / 4 / 2;
            grid-template-columns: subgrid;
            grid-row: span 2;
            row-gap: 0;
            .fasting-point-area-content__number {
              display: grid;
              grid-area: 1 / 1 / 2 / 2;
              font-size: 15.278vw;
              line-height: 17vw;
              text-align: center;
              letter-spacing: 0.306vw;
              transform: rotate(355deg);
            }
            .fasting-point-area-content__subtitle {
              display: grid;
              justify-content: center;
              align-items: center;
              flex-flow: wrap;
              grid-area: 2 / 1 / 3 / 2;
              font-size: 5vw;
              line-height: 6.944vw;
              font-weight: bold;
              text-align: center;
              letter-spacing: 0.244vw;
              .fasting-point-area-content__subtitle--marker {
                display: block;
                background: unset;
                text-decoration: underline;
                text-decoration-thickness: 3.61vw;
                text-decoration-color: #ffe3e3;
                text-underline-offset: -2.22vw;
                text-decoration-skip-ink: none;
              }
              .fasting-point-area-content__subtitle--text_spacing-zero {
                letter-spacing: 0;
              }
            }
            .fasting-point-area-content__text {
              display: grid;
              grid-area: 3 / 1 / 4 / 2;
              justify-content: center;
              font-size: 3.611vw;
              line-height: 5.833vw;
              text-align: left;
              color: #656565;
              margin-bottom: 4.7vw;
              & ul {
                width: auto;
                list-style: disc;
                margin-bottom: 0;
                padding-left: 2.78vw;
                padding-right: 0;
                & li {
                  margin-left: 0;
                }
              }
              .fasting-point-area-content__text--spacing-minus052 {
                display: list-item;
                letter-spacing: -0.144vw;
              }
              .fasting-point-area-content__text--spacing-minus104 {
                display: list-item;
                letter-spacing: -0.289vw;
              }
              .fasting-point-area-content__text--spacing-plus052 {
                display: list-item;
                letter-spacing: 0.144vw;
              }
            }
            .fasting-point-area-content--sp {
              display: block;
            }
          }
        }
      }
    }
  }
  .instructor {
    .instracter-title {
      background-image: var(--bg-image-koushi-line);
      background-repeat: no-repeat;
      background-position: center;
      font-size: 6.389vw;
      line-height: 9.444vw;
      letter-spacing: 0.958vw;
      margin-bottom: 7.95vw;
    }
    .instracter-content {
      display: flex;
      flex-flow: column;
      justify-content: center;
      gap: 11.56vw;
      width: 83.34vw;
      margin: 0 auto;
      margin-top: 1.72vw;
      .instracter-profile {
        display: flex;
        flex-flow: column;
        justify-content: center;
        grid-template-columns: unset;
        grid-template-rows: unset;
        grid-column-gap: unset;
        grid-row-gap: unset;
        .instracter-profile-img {
          width: 50vw;
          margin: 0 auto;
          margin-bottom: 6.28vw;
          grid-area: unset;
        }
        .instracter-profile-text {
          .instracter-profile-text__ruby {
            display: flex;
            justify-content: center;
            text-align: center;
            font-size: 3.611vw;
            line-height: 5.278vw;
            font-weight: bold;
            color: #656565;
            grid-area: unset;
          }
          .instracter-profile-text__name {
            display: flex;
            justify-content: center;
            text-align: center;
            font-size: 8.333vw;
            line-height: 12.222vw;
            letter-spacing: 0;
            color: #656565;
            border-bottom: 0.278vw solid #707070;
            padding-bottom: 4.17vw;
            margin-bottom: 8.22vw;
            grid-area: unset;
          }
          .instracter-profile-text__career {
            display: flex;
            justify-content: center;
            text-align: center;
            font-size: 3.611vw;
            line-height: 5.556vw;
            color: #656565;
            word-break: auto-phrase;
            padding: 0 7vw;
            grid-area: unset;
            & ul {
              list-style: none;
              margin: 0;
              padding: 0;
            }
          }
        }
      }
      .instracter-content__text {
        display: none;
      }
      .instracter-content__sp-text {
        display: block;
        flex-flow: column;
        align-content: space-between;
        font-size: 3.333vw;
        line-height: 5.556vw;
        word-break: auto-phrase;
        margin: 0 auto;
        margin-bottom: 18.17vw;
        .instracter-content__sp-text--spacing-plus042 {
          letter-spacing: 0.117vw;
        }
        .instracter-content__sp-text--spacing-plus018 {
          letter-spacing: 0.05vw;
        }
        .instracter-content__sp-text--spacing-plus048 {
          letter-spacing: 0.133vw;
        }
        .instracter-content__sp-text--spacing-plus042 {
          letter-spacing: 0.117vw;
        }
        .instracter-content__sp-text--spacing-minus06 {
          letter-spacing: -0.167vw;
        }
        .instracter-content__sp-text--spacing-minus024 {
          letter-spacing: -0.067vw;
        }
        .instracter-content__sp-text--spacing-minus42 {
          letter-spacing: -0.117vw;
        }
        .instracter-content__sp-text--spacing-minus09 {
          letter-spacing: -0.25vw;
        }
      }
    }
  }
  .week-program{
    .week-program-content-area {
      width: 91.11vw;
      .week-program__title {
        font-size: 6.111vw;
        line-height: 8.889vw;
        letter-spacing: 0.367vw;
        text-align: center;
        border-bottom: 1.39vw solid #ffd3d3;
        margin-bottom: 0.833vw;
      }
      .week-program-grid-container {
        display: grid;
        grid-template-columns: 40.73% 1fr;
        grid-template-rows: 38.89vw 11.11vw 38.89vw 11.11vw 38.89vw 11.11vw;
        grid-column-gap: 0px;
        grid-row-gap: 0px;
        margin-top: 2.58vw;
        .week-program-grid-menu {
          .week-program-guide__title {
            justify-content: center;
            align-content: center;
            font-size: 5.556vw;
            line-height: 3.056vw;
            font-weight: bold;
            letter-spacing: 0.182vw;
            text-align: center;
            .week-program-guide__title_subtitle {
              font-size: 3.611vw;
              line-height: 3.056vw;
              padding-bottom: 2vw;
            }
          }
          .week-program-guide__text {
            display: none;
          }
          .week-program-guide__sp-text {
            display: grid;
            grid-area: 1 / 2 / 2 / 3;
            justify-content: start;
            align-content: center;
            font-size: 3.611vw;
            line-height: 5.833vw;
            .week-program-guide__sp-text--spacing-plus052 {
              letter-spacing: 0.144vw;
            }
            .week-program-guide__sp-text--spacing-minus065 {
              letter-spacing: -0.18vw;
            }
            .week-program-guide__sp-text--spacing-minus039 {
              letter-spacing: -0.108vw;
            }
            .week-program-guide__sp-text--spacing-minus091 {
              letter-spacing: -0.253vw;
            }
            .week-program-guide__sp-text--spacing-minus13 {
              letter-spacing: -0.36vw;
            }
          }
          .week-program-guide__next {
            height: calc(6.67vw / 2);
            width: 6.67vw;
          }
          .week-program-guide__info {
            font-size: 2.78vw;
          }
        }
      }
    }
  }
  .common-program {
    .common-program__title {
      width: 91.1vw;
      font-size: 5.556vw;
      line-height: 8.889vw;
      letter-spacing: 0.667vw;
      color: #707070;
      border-top: solid 0.833vw #ff9595;
      border-bottom: solid 0.833vw #ff9595;
      padding-top: 2.58vw;
      padding-bottom: 2.58vw;
    }
    .common-program-grid-container {
      display: grid;
      grid-template-columns: repeat(3, 29.17vw);
      grid-template-rows: repeat(2, 29.17vw) 11.7vw 46.4vw;
      grid-column-gap: 2.22vw;
      grid-row-gap: 1.94vw;
      justify-content: center;
      width: auto;
      margin: auto;
      margin-top: 8.05vw;
      .common-program-box-grid {
        .common-program-box {
          padding-top: 3.25vw;
          padding-bottom: 3.25vw;
          .common-program-box__subtitle {
            font-size: 2.778vw;
            line-height: 3.333vw;
            font-weight: normal;
            color: #707070;
          }
          .common-program-box__subtitle--sp-spacing-minus036 {
            letter-spacing: -0.36vw;
          }
          .common-program-box__subtitle--sp-spacing-minus0534 {
            letter-spacing: -0.534vw;
          }
        }
        .common-program-box_layout1 {
          font-size: 3.611vw;
          line-height: 2.778vw;
          font-weight: bold;
          letter-spacing: 0.542vw;
        }
        .common-program-box_layout2 {
          font-size: 3.611vw;
          line-height: 4.722vw;
          font-weight: bold;
          letter-spacing: -0.361vw;
          word-break: auto-phrase;
        }
        .common-program-box_layout3 {
          font-size: 3.611vw;
          line-height: 4.722vw;
          font-weight: bold;
          letter-spacing: 0.181vw;
        }
        .common-program-box_layout4 {
          font-size: 3.611vw;
          line-height: 2.222vw;
          font-weight: bold;
          letter-spacing: 0.542vw;
        }
        .common-program-box_layout5 {
          font-size: 3.611vw;
          line-height: 2.222vw;
          font-weight: bold;
          letter-spacing: 0.181vw;
        }
        .common-program-box_layout6 {
          font-size: 3.611vw;
          line-height: 2.222vw;
          font-weight: bold;
          letter-spacing: 0.542vw;
        }
      }
      .common-program-plus-text {
        font-size: 5vw;
        line-height: 7.222vw;
      }
      .common-program-present {
        .common-program-present__text {
          font-size: 3.611vw;
          line-height: 3.611vw;
          transform: rotate(352deg) translate(3.7vw, 5vw);
        }
        .common-program-present__list {
          font-size: 3.611vw;
          line-height: 5.833vw;
          font-weight: bold;
          letter-spacing: 0.253vw;
        }
      }
    }
  }
  .fee-plan {
    .fee-plan-content-area {
      width: 80.55vw;
      height: 123.6vw;
      margin: 19vw auto;
      padding: 0 5.28vw;
      .fee-plan__title {
        font-size: 5.556vw;
        line-height: 8.889vw;
        letter-spacing: 0.667vw;
        border-bottom: 0.22vw solid #f48c8c;
        padding-top: 7.5vw;
        padding-bottom: 6vw;
      }
      .best-fee-plan {
        display: grid;
        grid-template-columns: 1fr repeat(2, 11.67vw);
        grid-template-rows: 5.28vw 5.83vw;
        grid-column-gap: 2.45vw;
        grid-row-gap: 0;
        border-bottom: 0.22vw solid #f48c8c;
        color: #707070;
        margin-top: 10vw;
        padding-bottom: 10vw;
        .best-fee-plan__subtitle {
          font-size: 3.611vw;
          line-height: 5.278vw;
          font-weight: bold;
          letter-spacing: unset;
          color: #f48c8c;
        }
        .best-fee-plan__title {
          font-size: 4.167vw;
          line-height: 5.833vw;
          font-weight: bold;
          letter-spacing: -0.083vw;
        }
        .best-fee-plan__fee {
          font-size: 4.444vw;
          line-height: 6.667vw;
          font-weight: bold;
          letter-spacing: -0.089vw;
        }
        .best-fee-plan__unit {
          font-size: 2.778vw;
          line-height: 4.167vw;
          font-weight: bold;
        }
      }
      .other-fee-plan {
        display: grid;
        grid-template-columns: 1fr 12.5vw 10.83vw;
        grid-template-rows: 4.17vw 5.83vw 4.17vw 5.83vw 4.17vw 5.83vw;
        grid-column-gap: 0.521vw;
        row-gap: 14.17vw;
        margin-top: 8vw;
        margin-bottom: 4.51vw;
        .other-fee-plan-container {
          row-gap: 0.79vw;
          .other-fee-plan__subtitle {
            font-size: 2.778vw;
            line-height: 4.167vw;
            font-weight: bold;
            letter-spacing: unset;
            text-align: left;
          }
          .other-fee-plan__title {
            font-size: 4.167vw;
            line-height: 5.833vw;
            font-weight: bold;
            letter-spacing: -0.125vw;
          }
          .other-fee-plan__fee {
            font-size: 4.167vw;
            line-height: 5.833vw;
            font-weight: bold;
            letter-spacing: -0.083vw;
          }
          .other-fee-plan__unit {
            font-size: 2.778vw;
            line-height: 4.167vw;
            font-weight: bold;
            letter-spacing: -0.056vw;
          }
        }
      }
    }
  }
  .review {
    .review__title {
      font-size: 6.111vw;
      line-height: 8.889vw;
      font-weight: bold;
      letter-spacing: 0.917vw;
      margin-top: 17.23vw;
    }
    .review-content {
      display: none;
    }
    @keyframes tonext {
      75% {
        left: 0;
      }
      95% {
        left: 100%;
      }
      98% {
        left: 100%;
      }
      99% {
        left: 0;
      }
    }
    @keyframes tostart {
      75% {
        left: 0;
      }
      95% {
        left: -300%;
      }
      98% {
        left: -300%;
      }
      99% {
        left: 0;
      }
    }
    @keyframes snap {
      96% {
        scroll-snap-align: center;
      }
      97% {
        scroll-snap-align: none;
      }
      99% {
        scroll-snap-align: none;
      }
      100% {
        scroll-snap-align: center;
      }
    }
    .review-sp-content {
      position: relative;
      display: block;
      width: 91.1vw;
      height: 83.3vw;
      background-color: white;
      perspective: 100px;
      margin: auto;
      margin-top: 9.72vw;
      margin-bottom: 28.9vw;
      & ol {
        list-style: none;
        margin: 0;
        padding: 0;
        & li {
          list-style: none;
          margin: 0;
          padding: 0;
        }
      }
      .content-viewport {
        position: absolute;
        top: 0px;
        right: 0px;
        bottom: 0px;
        left: 0px;
        display: flex;
        overflow-x: scroll;
        counter-reset: item;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        .content-viewport-slide {
          position: relative;
          width: 100%;
          flex: 0 0 100%;
          .content-viewport-snapper {
            display: flex;
            flex-flow: row;
            column-gap: 7.22vw;
            justify-content: center;
            align-items: center;
            padding-top: 8.97vw;
            margin-left: 6.25vw;
            margin-right: 8.47vw;
            scroll-snap-align: center;
            .review__number {
              font-size: 12.5vw;
              line-height: 15.556vw;
              font-family: "Allura", sans-serif;
              color: #ffdfbf;
            }
            .review-maincontent {
              display: flex;
              justify-content: center;
              flex-flow: column;
              row-gap: 4.325vw;
              .review-maincontent__text {
                font-size: 3.611vw;
                line-height: 5.833vw;
                font-family: "Zen Kaku Gothic New", sans-serif;
                letter-spacing: 0vw;
                color: #656565;
                .review-maincontent__text--marker {
                  display: inline;
                  background: unset;
                  text-decoration: underline;
                  text-decoration-thickness: 1.16vw;
                  text-decoration-color: #ffe3e3;
                  text-underline-offset: -0.81vw;
                  text-decoration-skip-ink: none;
                }
                .review-maincontent__text--spacing-minus065 {
                  letter-spacing: -0.18vw;
                }
                .review-maincontent__text--spacing-minus138 {
                  letter-spacing: -0.38vw;
                }
                .review-maincontent__text--spacing-minus15 {
                  letter-spacing: -0.42vw;
                }
              }
              .review-review-info {
                position: relative;
                display: flex;
                flex-flow: row;
                & p {
                  font-size: 3.056vw;
                  line-height: 4.444vw;
                  font-family: "Zen Kaku Gothic New", sans-serif;
                  letter-spacing: -0.306vw;
                  color: #656565;
                }
                & img {
                  position: absolute;
                  right: -3vw;
                  bottom: 0px;
                  width: 19.73vw;
                  aspect-ratio: 71.5 / 81;
                }
              }
            }
          }
          .slide-prev {
            position: absolute;
            top: 0;
            margin-top: 37.5%;
            width: 4rem;
            height: 4rem;
            transform: translateY(-50%);
            border-radius: 50%;
            font-size: 0;
            outline: 0;
          }
          .slide-next {
            position: absolute;
            top: 0;
            margin-top: 37.5%;
            width: 4rem;
            height: 4rem;
            transform: translateY(-50%);
            border-radius: 50%;
            font-size: 0;
            outline: 0;
          }
        }
      }
      @media (hover: hover) {
        .content-viewport-snapper {
          animation-name: tonext, snap;
          animation-timing-function: ease;
          animation-duration: 4s;
          animation-iteration-count: infinite;
        }
        .content-viewport-slide:last-child .content-viewport-snapper {
          animation-name: tostart, snap;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .content-viewport-snapper {
          animation-name: none;
        }
      }
      .slide-navigation {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        text-align: center;
        .slide-navigation-list {
          display: inline-block;
          .slide-navigation-item {
            display: inline-block;
            .slide-navigation-button {
              display: inline-block;
              width: 1.5rem;
              height: 1.5rem;
              background-color: #aaaaaa;
              background-clip: content-box;
              border: 0.25rem solid transparent;
              border-radius: 50%;
              font-size: 0;
              transition: transform 0.1s;
            }
          }
        }
      }
    }
    .review-sp-content::before,
    .review-sp-content::after,
    .slide-prev,
    .slide-next {
      position: absolute;
      top: 0;
      margin-top: 37.5%;
      width: 6vw;
      height: 6vw;
      font-size: 0;
      outline: 0;
    }
    .review-sp-content::before,
    .slide-prev {
      left: 0;
    }
  
    .review-sp-content::after,
    .slide-next {
      right: 0;
    }
    .review-sp-content::before,
    .review-sp-content::after {
      content: "";
      z-index: 1;
      background-color: #aaaaaa;
      background-size: 1.5rem 1.5rem;
      background-repeat: no-repeat;
      background-position: center center;
      color: #fff;
      font-size: 2.5rem;
      line-height: 4rem;
      text-align: center;
      pointer-events: none;
    }
    .review-sp-content:hover {
      .content-viewport-snapper {
        animation-name: none;
      }
    }
    .review-sp-content:focus-within {
      .content-viewport-snapper {
        animation-name: none;
      }
    }
    .review-sp-content::before {
      clip-path: polygon(0 50%, 100% 0, 100% 100%);
    }
    .review-sp-content::after {
      clip-path: polygon(0 0, 100% 50%, 0 100%);
    }
  }
  .info {
    margin: 7.8125vw 10%;
    p {
      font-size: 14px;
    }
  }
  .contact {
    width: 100%;
    margin: 20px auto;
    h2 {
      font-size: 22px;
    }
    form {
      label, legend#inquiry, div.radiogroup label, div.checkbox label, button {
        font-size: 14px;
      }
    }
  }
  .footer {
    .sns-btn {
      margin-top: 4.9vw;
      margin-bottom: 3.48vw;
      width: 60vw;
      li {
        list-style: none;
      }
      .line{
        img {
          aspect-ratio: 1/1;
        }
      }
      .instagram {
        img {
          aspect-ratio: 1/1;
        }
      }
      .rogo {
        img {
          width: 20vw;
          aspect-ratio: 250 / 149;
        }
      }
    }
    p {
      font-size: 1rem;
      letter-spacing: 0.1rem;
      padding-bottom: 1rem;
    }
  }
}
@media screen and (max-width: 480px) {
  .footer{
    .sns-btn{
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(2, 90px);
      grid-column-gap: 10px;
      width: 30vw;
      min-width: 184px;
      .rogo_sp {
        display: block;
        grid-area: 1 / 1 / 2 / 3;
        width: 144px;
        margin: auto;
        a {
          img{
            width: 144px;
          }
        }
      }
      .line{
        grid-area: 2 / 1 / 3 / 2;
        img {
          aspect-ratio: 1/1;
        }
      }
      .instagram {
        grid-area: 2 / 2 / 3 / 3;
        img {
          aspect-ratio: 1/1;
        }
      }
      .rogo{
        display: none;
        img{
          width: 30vw;
        }
      }
    }
  }
}