:root {
  --theme-color: #e4535a;
  --accent-color: #ffe100;
  --conversion-background1: #ffe100;
  --conversion-shadow1: #88141a;
  --conversion-background2: #32a748;
  --coversion-shadow2: #136e24;
  --support-background: #f2e8b5;
  --default-color: #1b1b1b;
  --swiper-theme-color: #e4535a;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

body {
  color: var(--default-color);
}
.weightMedium,
.weightMedium * {
  font-weight: 500;
}
.weightBold,
.weightBold * {
  font-weight: 700;
}
.weightBlack,
.weightBlack * {
  font-weight: 900;
}
.container1000 {
  width: 87.2%;
  max-width: 1000px;
  margin: 0 auto;
}
.relative {
  position: relative;
}
/* ========================================================
  Swiper
=========================================================*/
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  translate: 0 50%;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px;
}
/* 前へ次への矢印カスタマイズ */

.swiper-button-prev,
.swiper-button-next {
  width: 32px;
  height: 32px;
  background: #b2b2b2;
  border-radius: 50%;
  translate: 0 -50%;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  bottom: 0;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  width: 8px;
  height: 8px;
} /* 前への矢印カスタマイズ */
.swiper-button-prev {
  left: 5px;
}
.swiper-button-prev::after {
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  translate: 20% 0;
  rotate: 45deg;
}
/* 次への矢印カスタマイズ */
.swiper-button-next {
  right: 5px;
}
.swiper-button-next::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  rotate: 45deg;
  translate: -20% 0;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev {
    left: calc(25% - 20px);
    translate: -50% -50%;
  }
  .swiper-button-next {
    right: calc(25% - 20px);
    translate: 50% -50%;
  }
}
@media screen and (min-width: 1024px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: none;
  }
  .swiper-pagination {
    display: none;
  }
}
/* ========================================================
  追従バナー
=========================================================*/
.fixConversion {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 8px;
  column-gap: 8px;
  width: 100%;
  padding: 1.2em 0;
  line-height: 1.3;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
  transition: opacity 0.3s ease;
}
.fixConversion_sp {
  background-color: var(--conversion-background1);
}
.fixConversion_text {
  display: flex;
  align-items: baseline;
}
.fixConversion .weightBlack {
  font-size: clamp(18px, calc(28 / 768 * 100vw), 28px);
  color: var(--theme-color);
  letter-spacing: 1.2px;
}
.fixConversion .weightBold {
  font-size: clamp(14px, calc(20 / 768 * 100vw), 20px);
  letter-spacing: 0.8px;
}

.fixConversion_icon {
  width: 27px;
  height: 27px;
  background: var(--theme-color);
  border-radius: 50%;
  position: relative;
}
.fixConversion_icon::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.fixConversion_pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  .fixConversion_sp {
    display: none;
  }
  .fixConversion_pc {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: fixed;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    top: 50%;
    right: 0;
    translate: 0 -50%;
    z-index: 1000;
    padding: 0;
    row-gap: 32px;
  }
}

/* ========================================================
  コンバージョンコンテンツ
=========================================================*/
.conversionArea {
  background-color: var(--theme-color);
  padding-right: 0;
  padding-bottom: clamp(46px, calc(66 / 768 * 100vw), 66px);
  padding-left: 0;
}
.admissionInner {
  display: flex;
  justify-content: space-around;
  -moz-column-gap: 8px;
  column-gap: 8px;
}
.admission-fee {
  position: relative;
  color: #fff;
  padding-top: clamp(24px, calc(44 / 768 * 100vw), 44px);
}
.admission-campaign {
  flex-shrink: 0;
  transform: skew(170deg);
  font-size: clamp(40px, calc(61 / 1024 * 100vw), 61px);
}
.admission-campaign strong {
  font-size: clamp(155px, calc(241 / 1024 * 100vw), 241px);
  line-height: 0.8;
  letter-spacing: -1px;
}
.coversion_pop {
  width: 81%;
  max-width: 443px;
  position: absolute;
  top: 0;
  right: 0;
  translate: 0 -45%;
}
.feeWrapper {
  line-height: 1.8;
}
.admission-fee_title {
  font-size: clamp(36px, calc(50.5 / 1024 * 100vw), 50.5px);
  letter-spacing: 1.8px;
}
.admission-fee_title::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-color: var(--accent-color);
  transform: skew(150deg);
  translate: -5% 0;
}
.admission-fee_info {
  font-size: clamp(20px, calc(36 / 1024 * 100vw), 36px);
  letter-spacing: 0;
}
.admission-fee_price {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(22px, calc(56 / 1024 * 100vw), 56px);
  letter-spacing: 1.4px;
  position: relative;
  line-height: 1;
  left: 0.2em;
}
.admission-fee_price::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(8px, calc(16 / 1440 * 100vw), 16px);
  border-top: clamp(1px, calc(4 / 1440 * 100vw), 4px) solid #fff;
  border-bottom: clamp(1px, calc(4 / 1440 * 100vw), 4px) solid #fff;
  position: absolute;
  top: 50%;
}
.admission-fee_price strong {
  font-size: 1.3em;
}

.conversionButtonWrapper {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  -moz-column-gap: 48px;
  column-gap: 48px;
  margin-top: 24px;
}
.conversion-button1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 476px;
  padding: 14px 14px 11px 29px;
  border-radius: 36px;
  background-color: var(--conversion-background1);
  box-shadow: 0px 6px 0 0 var(--conversion-shadow1);
  line-height: 1.3;
}
.conversion-button1 .weightBlack {
  font-size: clamp(24px, calc(28 / 1440 * 100vw), 28px);
  color: var(--theme-color);
  letter-spacing: 1.2px;
}
.conversion-button1 .weightBold {
  letter-spacing: 0.8px;
}

.conversion-button1_icon {
  width: 37px;
  height: 37px;
  background: var(--theme-color);
  border-radius: 50%;
  position: relative;
}
.conversion-button1_icon::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -40% -50%;
}
.conversion-button2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 476px;
  padding: 18px 14px 17px 30px;
  border-radius: 36px;
  background-color: var(--conversion-background2);
  box-shadow: 0px 6px 0 0 var(--coversion-shadow2);
  position: relative;
}
.conversion-button2 .weightBlack {
  font-size: 24px;
  color: #fff;
}
.conversion-button2_icon {
  content: "";
  width: 37px;
  height: 37px;
  background: #fff;
  border-radius: 50%;
  position: relative;
}
.conversion-button2_icon::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent var(--conversion-background2);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -40% -40%;
}
@media screen and (min-width: 768px) {
  .conversionButtonWrapper {
    flex-direction: row;
  }
  .conversion-button1,
  .conversion-button2 {
    width: 47.6%;
  }
  .conversion-button1 {
    text-align: center;
  }
  .conversion-button1_text {
    margin: 0 auto;
  }
  .conversion-button2_text {
    margin: 0 auto;
  }
}
@media screen and (min-width: 1440px) {
  .admissionInner {
    justify-content: center;
  }
  .admission-fee_title {
    display: inline-block;
  }
  .admission-fee_title::after {
    content: none;
  }
  .admission-fee_info {
    display: inline-block;
  }
}

/* ========================================================
  ヘッダー
=========================================================*/
.header {
  width: 100%;
  text-align: center;
  background-color: var(--default-color);
  padding-top: clamp(14px, calc(41 / 1440 * 100vw), 41px);
  padding-bottom: clamp(14px, calc(41 / 1440 * 100vw), 41px);
}
.header-logo {
  width: clamp(118px, calc(148 / 1440 * 100vw), 148px);
}
@media screen and (min-width: 1440px) {
  .header {
    text-align: left;
    padding-left: 41px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
  }
}

/* ========================================================
  メインビジュアル
=========================================================*/
.mainVisual {
  width: 100%;
  background-color: var(--default-color);
  position: relative;
}
.mainVisual_image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.mainVisual_title {
  font-size: clamp(40px, calc(86.5 / 1440 * 100vw), 86.5px);
  color: #fff;
  position: absolute;
  bottom: 0;
}
.mainVisual_title strong {
  margin: 10px 6px 33px 19px;
  background-image: linear-gradient(to top, rgba(149, 128, 41, 1), rgba(208, 171, 76, 1), rgba(177, 156, 59, 1), rgba(164, 143, 50, 1), rgba(186, 164, 100, 1), #c6ae67),
    linear-gradient(to bottom, #fff, #fff);
  font-size: 48px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 1.44px;
  text-align: center;
  color: #fff;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mainVisual_catch strong {
  margin: 10px 6px 33px 19px;
  background-image: linear-gradient(to top, rgba(149, 128, 41, 1), rgba(208, 171, 76, 1), rgba(177, 156, 59, 1), rgba(164, 143, 50, 1), rgba(186, 164, 100, 1), #c6ae67),
    linear-gradient(to bottom, #fff, #fff);
  font-size: 48px;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 1.44px;
  text-align: center;
  color: #fff;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .mainVisual {
    height: auto;
  }
}
/* ========================================================
  一般的なジムとの違い
=========================================================*/
.features {
  margin-top: clamp(34px, 115 / 1440 * 100vw, 115px);
}
.issues_image {
  width: 100%;
}
.features_image {
  display: block;
  width: 93.6vw;
  margin-left: auto;
}
/* ========================================================
  Before & After
=========================================================*/
.progression {
  background-color: #f2e8b5;
  padding-top: clamp(48px, calc(80 / 768 * 100vw), 80px);
  padding-bottom: 24px;
  position: relative;
  margin-top: 48px;
  /* overflow: hidden; */
}
.progressionContainer {
  max-width: 1000px;
  margin: 0 auto;
}
.progression_title {
  font-size: clamp(20px, calc(32 / 768 * 100vw), 32px);
  text-align: center;
  overflow: hidden;
}
.progression_title em {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-transform: uppercase;
  color: #8c7a45;
  font-size: clamp(36px, calc(56 / 768 * 100vw), 56px);
  letter-spacing: 2.8px;
  margin-right: auto;
  margin-left: auto;
  font-style: normal;
  transform: skew(170deg);
}
.caseWrapper {
  display: flex;
  flex-direction: column;
  -moz-column-gap: 32px;
  column-gap: 32px;
  margin-top: clamp(40px, calc(48 / 1440 * 100vw), 48px);
}
.progressionCase {
  width: 100%;
  position: relative;
}
.progressionBefore {
  position: absolute;
  top: 0;
}
.progressionAfter {
  opacity: 0;
  transition: opacity 3s;
}

.commentWrapper {
  background-color: #8c7a45;
  border-radius: 8px;
  padding-top: 35px;
  padding-right: 16px;
  padding-bottom: 18px;
  padding-left: 20px;
  position: relative;
  width: 80%;
  margin: 0 auto;
  z-index: 1;
  translate: 0 -56px;
}
.progressionBefore {
  width: 100%;
  flex-shrink: 0;
}
.before-case_image {
  width: 100%;
}
.after-case_image {
  position: relative;
  width: 100%;
}
.comment-pop {
  width: clamp(176px, calc(324 / 1024 * 100vw), 324px);
  position: absolute;
  top: 0;
  translate: -2% -40%;
}
.after-comment {
  font-size: 14px;
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.4px;
}
@media screen and (min-width: 768px) {
  .after-comment {
    font-size: clamp(14px, calc(32 / 768 * 100vw), 32px);
  }
  .progression {
    padding-bottom: 40px;
  }
  .commentWrapper {
    translate: 0 -100px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .after-comment {
    padding: 0.8em;
    font-size: 20px;
  }
  .before-case_image {
    width: 72%;
  }
  .after-case_image {
    width: 72%;
  }
  .progressionCase:nth-of-type(even) .before-case_image {
    display: block;
    margin-left: auto;
  }
  .progressionCase:nth-of-type(even) .after-case_image {
    display: block;
    margin-left: auto;
  }
  .progressionContainer {
    max-width: 720px;
  }
}
@media screen and (min-width: 1024px) {
  .after-comment {
    font-size: 14px;
  }
  .progression {
    margin-top: 0;
    padding-bottom: 56px;
  }
  .caseWrapper {
    flex-direction: row;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
  }
  .progression {
    /* padding-bottom: 80px; */
  }
  .progressionCase {
    width: 31.3%;
  }
  .comment-pop {
    width: 168px;
  }
  .commentWrapper {
    padding-top: 35px;
    padding-right: 16px;
    padding-bottom: 18px;
    padding-left: 20px;
    translate: 0 -40px;
  }

  .issues {
    background-color: var(--support-background);
  }
  .features_image {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
  }
}

/* ========================================================
  おすすめ
=========================================================*/
.recommendation {
  padding-top: clamp(48px, calc(80 / 768 * 100vw), 80px);
  padding-bottom: clamp(67px, calc(126 / 768 * 100vw), 126px);
}
.recommendation_pop {
  width: 100%;
  max-width: 492px;
  margin: 0 auto;
  color: #fff;
  padding: 0.6em 0;
  border-radius: 9999px;
  background-color: var(--theme-color);
  position: relative;
  text-align: center;
  font-size: clamp(18px, calc(26 / 768 * 100vw), 26px);
  letter-spacing: -0.9px;
}
.recommendation_pop::after {
  content: "";
  display: block;
  border-top: 8px solid var(--theme-color);
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  margin-top: -1px;
}
.recommendation_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: clamp(36px, calc(40 / 768 * 100vw), 40px);
  margin-top: clamp(20px, calc(24 / 768 * 100vw), 24px);
  transform: skew(170deg);
}
.recommendation_title strong {
  font-size: clamp(36px, calc(48 / 768 * 100vw), 48px);
  color: #8c7a45;
}
.recommendationCases {
  margin-top: 42px;
}
.case-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, auto);
  -moz-column-gap: 35px;
  column-gap: 35px;
  margin-right: -1em;
}
.case-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.case-item:nth-of-type(even) {
  margin-top: 40px;
}
.case-item_image {
  width: clamp(143px, calc(243 / 1200 * 100vw), 243px);
  aspect-ratio: 123 / 190;
  position: relative;
}
.case-item_image::before {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  content: attr(data-case-number);
  text-transform: uppercase;
  rotate: 90deg;
  transform-origin: left top;
  display: inline-block;
  position: absolute;
  line-height: 1;
  padding-top: 4px;
  font-size: clamp(11px, calc(21 / 1440 * 100vw), 21px);
  letter-spacing: calc(50 / 1000 * 1em);
}
.case-item_image::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid var(--default-color);
  position: absolute;
  top: clamp(12px, calc(24 / 1440 * 100vw), 24px);
  left: clamp(12px, calc(24 / 1440 * 100vw), 24px);
}
.case-image {
  width: 100%;
  position: relative;
  z-index: 1;
}
.case-text {
  font-size: clamp(14px, calc(27.5 / 1200 * 100vw), 27.5px);
  line-height: calc(22 / 14);
  text-align: center;
  margin-top: clamp(26px, calc(52 / 1200 * 100vw), 52px);
  letter-spacing: -1.1px;
}
.case-text .block {
  display: block;
}
.case-text strong {
  color: var(--theme-color);
}
@media screen and (min-width: 768px) {
  .recommendation_title {
    flex-direction: row;
  }
  .case-list {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
    margin-left: 1em;
  }
  .case-item:nth-of-type(even) {
    margin-top: 0;
  }
  .case-item:nth-of-type(3n - 1) {
    margin-top: 140px;
  }
}

/* ========================================================
  選ばれる4つの理由 
=========================================================*/
.reason {
  background-color: var(--support-background);
}
.reason_header {
  background-color: var(--default-color);
  position: relative;
}
.reason_person {
  width: clamp(121px, calc(179 / 1024 * 100vw), 179px);
  position: absolute;
  top: 0;
  right: 0;
  translate: 0 -21%;
}
.headerTop {
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  padding-left: clamp(13px, calc(64 / 1440 * 100vw), 64px);
}
.headerBottom {
  display: block;
  background-color: var(--support-background);
  padding-left: clamp(13px, calc(64 / 1440 * 100vw), 64px);
}
.reason_header span {
  display: inline-block;
  transform: skew(170deg);
}
/* シナジムが */
.headerTop > span {
  font-size: clamp(24px, calc(40 / 1024 * 100vw), 40px);
  color: #fff;
}
/* 選ばれる */
.reason_header strong span:nth-of-type(1) {
  font-size: clamp(24px, calc(38.5 / 1024 * 100vw), 38.5px);
}
/* 4 */
.reason_header strong span:nth-of-type(2) {
  font-size: clamp(38px, calc(63 / 1024 * 100vw), 63px);
  color: var(--theme-color);
}
/* つの */
.reason_header strong span:nth-of-type(3) {
  font-size: clamp(28px, calc(38.5 / 1024 * 100vw), 38.5px);
  color: var(--theme-color);
}
/* 理由 */
.reason_header strong span:nth-of-type(4) {
  font-size: clamp(32px, calc(46.5 / 1024 * 100vw), 46.5px);
  color: var(--theme-color);
}
.reason_logo {
  width: clamp(119px, calc(196 / 1024 * 100vw), 196px);
}
.pointContents {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  margin-top: clamp(57px, calc(95 / 1024 * 100vw), 95px);
  padding-bottom: clamp(64px, calc(80 / 1440 * 100vw), 80px);
}
.point {
  background-color: #fff;
  border-radius: 24px 0 0 0;
  padding-bottom: clamp(42px, calc(62 / 1440 * 100vw), 62px);
  position: relative;
}
.point + .point {
  margin-top: clamp(80px, calc(95 / 1440 * 100vw), 95px);
}
.point:nth-of-type(even) {
  border-radius: 0 24px 0 0;
}
.pointInner {
  width: 87.2%;
  margin: 0 auto;
}
.point-image {
  width: clamp(154px, calc(214 / 768 * 100vw), 214px);
  translate: 0 -60%;
}
.point_title {
  font-size: clamp(20px, calc(24 / 1440 * 100vw), 24px);
  padding-bottom: 0.2em;
  line-height: 2;
  margin-top: -1em;
  letter-spacing: -1.5px;
}
.point_title strong {
  background-color: #8c7a45;
  color: #fff;
  padding-left: 0.3em;
  padding-right: 0.3em;
  font-size: clamp(30px, calc(32 / 1440 * 100vw), 32px);
}
.point_title strong i {
  display: inline-block;
  font-style: normal;
  transform: skew(170deg);
  /* margin-left: -0.2em; */
}
.point:last-of-type .point_title strong {
  letter-spacing: 0;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: 24px;
  line-height: 1.6;
}
.pointContent {
  display: grid;
  row-gap: 24px;
}
.point-catch {
  width: 100%;
}
.point_text {
  line-height: 1.8;
  margin-top: -0.5em;
}
.point_text strong {
  color: var(--theme-color);
}
.courseContents {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  border-radius: 0 0 16px 16px;
  padding-right: 24px;
  padding-bottom: 40px;
  padding-left: 24px;
}
.course {
  width: 100%;
  padding-bottom: 40px;
  border-radius: 0 0 16px 16px;
  box-shadow: 0px 8px 10px 0 rgba(159, 159, 159, 0.22);
}
.course_title {
  font-size: 28px;
  border-radius: 16px 16px 0 0;
  background-color: var(--theme-color);
  color: #fff;
  text-align: center;
  padding: 0.5em 0;
}
.course-fee {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.course-fee_title {
  font-size: 14px;
  background-color: var(--theme-color);
  border-radius: 4px;
  color: #fff;
  display: grid;
  place-items: center;
  width: calc((100%) / 3);
}
.course-fee_price {
  font-size: 32px;
}
.courseTable {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(1fr);
  text-align: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
}
.courseTableInner {
  padding: 0 24px;
}
.courseTable_header {
  grid-column: span 3;
  font-size: 14px;
  padding: 0.5em;
  background-color: var(--theme-color);
  color: #fff;
  margin-top: 20px;
  border-radius: 4px;
}
.courseTable_sub-header {
  grid-column: span 1;
  font-size: 14px;
  padding: 0.5em;
  background-color: var(--support-background);
  margin-top: 12px;
  border-radius: 4px;
}
.courseTable_data {
  grid-column: span 1;
  margin-top: 12px;
}
.courseTable_data.price {
  font-size: 20px;
}
.courseTable_data.price small {
  font-size: 14px;
}
.courseTable_data.term {
  font-size: 16px;
}
.courseTable_data.term small {
  font-size: 14px;
}
.caution-tax {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .point:nth-of-type(3) .point_title {
    text-align: center;
  }
  .headerBottom {
    padding-top: 1em;
  }
}
@media screen and (min-width: 768px) {
  .point:last-of-type .point_title {
    display: flex;
    justify-content: center;
    align-items: baseline;
  }
  .point:last-of-type .point_title strong {
    margin-left: 8px;
    margin-right: 0;
  }
  .reason_person {
    right: 56px;
    translate: 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .courseContents {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .couseInner {
    width: 100%;
  }
  .course {
    width: 31.5%;
    margin-right: auto;
    margin-left: auto;
  }
  .courseTable {
    -moz-column-gap: 7px;
    column-gap: 7px;
  }
  .course_title {
    font-size: 24px;
  }
  .course-fee_title {
    font-size: 12px;
  }
  .course-fee_price {
    font-size: 27.5px;
  }
  .courseTable_header {
    font-size: 12px;
  }
  .courseTable_sub-header {
    font-size: 12px;
  }
  .courseTable_data.price {
    font-size: 20px;
  }
  .courseTable_data.price small {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .point:not(:last-of-type) .pointContent {
    -moz-column-gap: 36px;
    column-gap: 36px;
  }
  .point-catch {
    grid-column: 2;
    grid-row: 1/3;
  }
}
@media screen and (min-width: 1024px) {
  .pointInner {
    width: 100%;
    padding: 0 56px;
  }
  .point {
    border-radius: 24px 0 24px 0;
  }
  .point:nth-of-type(even) {
    border-radius: 24px 0 24px 0;
  }
  .courseContents {
    padding-bottom: 16px;
  }
  .courseInner {
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 24px;
    column-gap: 24px;
  }
}
@media screen and (min-width: 768px) {
  .reasonHeaderInner {
    display: flex;
    align-items: baseline;
    margin-right: auto;
    margin-left: auto;
    padding: 1em 0;
    max-width: 1000px;
    position: relative;
  }
  .headerBottom {
    background-color: var(--default-color);
    padding-left: 0;
  }
  .reason_header strong {
    background-color: var(--default-color);
  }
  /* 選ばれる */
  .reason_header strong span:nth-of-type(1) {
    color: #fff;
  }
  /* 4 */
  .reason_header strong span:nth-of-type(2) {
    color: #fff;
  }
  /* つの */
  .reason_header strong span:nth-of-type(3) {
    color: #fff;
  }
  /* 理由 */
  .reason_header strong span:nth-of-type(4) {
    color: #fff;
  }
  .pointContent {
    flex-direction: column;
  }
}
@media screen and (min-width: 1024px) {
  .courseTable_data.price {
    font-size: 17px;
    letter-spacing: -0.51px;
  }
  .courseTable_data.price small {
    font-size: 12px;
    letter-spacing: -0.36px;
  }
  .courseTable_data.term {
    font-size: 13.5px;
    letter-spacing: -0.41px;
  }
  .courseTable_data.term small {
    font-size: 12px;
    letter-spacing: -0.36px;
  }
  .point:first-of-type .point_text {
    margin-top: -4em;
  }
}
@media screen and (min-width: 1440px) {
  .reason_header {
    margin-right: auto;
    margin-left: auto;
  }
  .headerTop {
    padding-left: 0;
  }
  .point:not(:last-of-type) .pointContent {
    grid-template-columns: auto 327px;
    -moz-column-gap: 72px;
    column-gap: 72px;
  }
}
/* ========================================================
  他ジムとの比較
=========================================================*/
.comparisonHeader {
  background-color: var(--theme-color);
  position: relative;
  display: flex;
  justify-content: center;
}
.comparisonPerson {
  width: clamp(136px, calc(204 / 1440 * 100vw), 204px);
  position: relative;
}
.comparison-image {
  width: clamp(136px, calc(204 / 1440 * 100vw), 204px);
  position: absolute;
  left: 0;
  top: 0;
  /* bottom: 0; */
  translate: 0 -25%;
}
.comparison_header {
  color: #fff;
  padding-top: 1em;
  padding-bottom: 1em;
  padding-right: 32px;
  font-size: clamp(24px, calc(40 / 1440 * 100vw), 40px);
  margin-left: clamp(20px, calc(60 / 1440 * 100vw), 60px);
  overflow: hidden;
}
.comparison_header span {
  display: block;
  transform: skew(170deg);
}
.comparison_header strong {
  font-size: clamp(30px, calc(50 / 1440 * 100vw), 50px);
}
.comparisonContents {
  padding-top: clamp(40px, calc(64 / 1440 * 100vw), 64px);
  padding-bottom: clamp(80px, calc(140 / 1440 * 100vw), 140px);
  background-image: url(./images/bg@2x.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
.comparison-text {
  font-size: clamp(18px, calc(20 / 1440 * 100vw), 20px);
  color: #fff;
  max-width: 640px;
  margin: 0 auto;
  line-height: 1.6;
  text-align: center;
  letter-spacing: -0.9px;
}
.comparisonTable {
  display: grid;
  grid-template-columns: repeat(4, auto);
  grid-template-rows: repeat(6, 1fr);
  gap: 2px;
  place-items: center;
  margin-top: clamp(40px, calc(84 / 1440 * 100vw), 84px);
}
.comparisonTable_cell {
  /* display: flex; */
  /* justify-content: center; */
  /* align-items: baseline; */
  width: 100%;
  height: 100%;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
  border-radius: 4px;
  font-size: 18px;
}
.comparisonTable_cell {
  display: grid;
  place-items: center;
}
.comparisonTable_cell small {
  font-size: 14px;
}
.comparisonTable_cell.logo {
  background-color: var(--default-color);
}
.comparisonTable_cell.gray {
  background-color: #adadad;
  color: #fff;
}
.comparisonTable_cell.white {
  background-color: #fff;
}
.comparisonTable_cell.theme {
  background-color: var(--theme-color);
  color: #fff;
}

.comparison-logo {
  width: clamp(71px, calc(156 / 1024 * 100vw), 156px);
}
.comparisonTable_cell.row-title {
  font-size: 14px;
}
.comparisonTable_cell.column-title {
  font-size: 14px;
  align-items: center;
}
.comparisonTable_cell.row-title {
  padding-left: 12px;
  justify-content: flex-start;
  align-items: center;
}
.comparisonTable_cell.bottom {
  align-items: center;
}
.comparisonTable_cell.bottom {
  font-size: clamp(14px, calc(24 / 1024 * 100vw), 24px);
}
@media screen and (max-width: 767px) {
  .comparison-text .block {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .comparisonTable_cell.row-title {
    font-size: 20px;
    padding-left: 35px;
  }
  .comparisonTable_cell.column-title {
    font-size: 28px;
  }
  .comparisonTable_cell {
    font-size: 24px;
  }
  .comparisonTable_cell small {
    font-size: 16px;
  }
}
@media screen and (min-width: 1440px) {
  .comparison_header {
    text-align: center;
  }
  .comparisonContents {
    background-image: url(./images/bg.jpg);
  }
  .comparisonTable_cell.column-title {
    font-size: 32px;
  }
}

/* ========================================================
  レビュー
=========================================================*/
.reviews {
  padding-top: clamp(48px, calc(80 / 1440 * 100vw), 80px);
  padding-bottom: clamp(64px, calc(80 / 1440 * 100vw), 80px);
}
.google-map-icon {
  display: block;
  width: clamp(37px, calc(44 / 1440 * 100vw), 44px);
  margin: 0 auto;
}

.reviews_headline {
  font-size: 24px;
  transform: skew(170deg);
  text-align: center;
  line-height: 1.8;
  letter-spacing: clamp(1.33px, calc(1.92 / 1440 * 100vw), 1.92px);
  margin-top: clamp(24px, calc(30 / 1440 * 100vw), 30px);
}
.reviews_headline .block {
  display: block;
}
.reviews_headline em {
  font-style: initial;
  color: var(--theme-color);
}
.reviews_headline strong {
  font-weight: 900;
  font-size: 1.5em;
  line-height: 0.5;
}
.reviewContents {
  display: flex;
  flex-direction: column;
  -moz-column-gap: 25px;
  column-gap: 25px;
  row-gap: 32px;
  margin-top: 48px;
}
.review {
  padding-top: clamp(25px, calc(33 / 1440 * 100vw), 33px);
  padding-right: 25px;
  padding-bottom: 49px;
  padding-left: 24px;
  border-radius: 16px;
  box-shadow: 0px 8px 10px 0 rgba(159, 159, 159, 0.22);
  background-color: #fff;
  flex: 1;
}
.reviewHead {
  display: flex;
  align-items: center;
  gap: 20px;
}
.review_person {
  width: 59px;
}
.review_stars {
  width: 182px;
}
.reviewBody {
  margin-top: 22px;
}
.review-text {
  font-size: 14px;
  font-style: normal;
  line-height: 1.33;
  letter-spacing: 1.2px;
}
.review-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  color: var(--theme-color);
  text-decoration: none;
  border-bottom: 1px solid var(--theme-color);
  padding: 0.2em;
  margin-top: 24px;
}
@media screen and (min-width: 1024px) {
  .reviews_headline .block {
    display: inline;
  }
  .review-text {
    letter-spacing: normal;
  }
}
@media screen and (min-width: 1440px) {
  .reviewContents {
    flex-direction: row;
  }
}
/* ========================================================
  スタッフ紹介
=========================================================*/
.staffIntroduction {
  background-color: var(--support-background);
  padding-top: clamp(40px, calc(80 / 1440 * 100vw), 80px);
  padding-bottom: clamp(60px, calc(100 / 1440 * 100vw), 100px);
}
.staff-introduction_title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  transform: skew(170deg);
  line-height: 1.42;
}
.staff-introduction_title div:first-of-type {
  font-size: clamp(24px, calc(40 / 1440 * 100vw), 40px);
}
.staff-introduction_title div:last-of-type {
  font-size: clamp(24px, calc(36 / 1440 * 100vw), 36px);
}
.staff-introduction_title strong {
  font-size: clamp(32px, calc(48 / 1440 * 100vw), 48px);
  color: var(--theme-color);
}
.staff-introduction_title small {
  font-size: clamp(28px, calc(40 / 1440 * 100vw), 40px);
}
/* .staff-introduction_title rt {
  font-size: 24px;
  display: block;
  translate: -0.5em;
} */
ruby[data-ruby] {
  position: relative;
}
ruby[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  left: -3em;
  top: -1em;
  right: -3em;
  text-align: center;
  font-size: 0.8em;
}
.staffWrapper {
  display: flex;
  flex-direction: column;
  row-gap: 56px;
  margin-top: clamp(32px, calc(48 / 1440 * 100vw), 48px);
}
/* .staff {
  overflow: hidden;
} */
.staff_image {
  display: block;
  width: calc(107% + 1px);
  /* width: 93.6vw; */
  /* margin-left: auto; */
}
.staff_heading {
  width: 100%;
  color: #fff;
  position: relative;
  z-index: 1;
  text-align: center;
  margin-left: auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  letter-spacing: 1.8px;
  translate: 0 -3px;
  font-size: clamp(18px, calc(20 / 768 * 100vw), 20px);
}
.staff_heading::after {
  content: "";
  display: block;
  width: calc(107% + 1px);
  background-color: var(--theme-color);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: perspective(1em) rotateX(2deg);
  transform-origin: bottom right;
  z-index: -1;
}
.specialty-list {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-top: 24px;
  flex-wrap: wrap;
  row-gap: 12px;
}
.specialty-item {
  display: flex;
  align-items: center;
  -moz-column-gap: 7px;
  column-gap: 7px;
}
.specialty-item::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--theme-color);
  display: inline-block;
}
.specialty + .license {
  margin-top: 40px;
}
.license-list {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  font-size: 14px;
  margin-top: 24px;
}
.license-item {
  display: flex;
  align-items: center;
  -moz-column-gap: 7px;
  column-gap: 7px;
}
.license-item::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--theme-color);
  display: inline-block;
}
.staffMore {
  display: block;
  width: 100%;
  margin-top: 32px;
}
.staffMore_title {
  padding-top: 1em;
  padding-bottom: 1em;
  text-align: center;
  border: 2px solid var(--default-color);
  position: relative;
}
.staffMore_title::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-right: 1px solid var(--default-color);
  border-bottom: 1px solid var(--default-color);
  rotate: 45deg;
  position: absolute;
  top: 50%;
  right: 32px;
  translate: 0 -50%;
  transition: rotate 0.4s;
}
.staffMore[open] .staffMore_title::after {
  rotate: 225deg;
}
summary {
  cursor: pointer;
  list-style: none;
}
/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display: none;
}
.charm-point {
  margin-top: 48px;
}
.charm-point_title {
  padding-top: 0.8em;
  padding-bottom: 0.5em;
  text-align: center;
  border-top: 1px solid var(--default-color);
  border-bottom: 1px solid var(--default-color);
  color: var(--theme-color);
  position: relative;
  font-size: 24px;
  letter-spacing: -1.2px;
}
.charm-point_title::before {
  content: attr(data-english);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -55%;
  background-color: var(--support-background);
  text-transform: uppercase;
  color: var(--default-color);
  padding: 0 0.5em;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.charm-point_text {
  margin-top: 24px;
  line-height: calc(25.6 / 14);
  font-size: 14px;
}
.myboom {
  margin-top: 48px;
}
.myboom_title {
  padding-top: 0.8em;
  padding-bottom: 0.5em;
  text-align: center;
  border-top: 1px solid var(--default-color);
  border-bottom: 1px solid var(--default-color);
  color: var(--theme-color);
  position: relative;
  font-size: 24px;
  letter-spacing: -1.2px;
}
.myboom_title::before {
  content: attr(data-english);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -55%;
  background-color: var(--support-background);
  text-transform: uppercase;
  color: var(--default-color);
  padding: 0 0.5em;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.myboom_text {
  margin-top: 24px;
  line-height: calc(25.6 / 14);
  font-size: 14px;
}
.recommendation-point {
  margin-top: 48px;
}
.recommendation-point_title {
  padding-top: 0.8em;
  padding-bottom: 0.5em;
  text-align: center;
  border-top: 1px solid var(--default-color);
  border-bottom: 1px solid var(--default-color);
  color: var(--theme-color);
  position: relative;
  font-size: 24px;
}
.recommendation-point_title::before {
  content: attr(data-english);
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -55%;
  background-color: var(--support-background);
  text-transform: uppercase;
  color: var(--default-color);
  padding: 0 0.5em;
  font-size: 14px;
  letter-spacing: 1.4px;
}
.recommendation-point_text {
  margin-top: 24px;
  line-height: calc(25.6 / 14);
  font-size: 14px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff_heading::after {
    transform: perspective(2em) rotateX(2deg);
  }
}
@media screen and (min-width: 768px) {
  .staffWrapper {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  .staff {
    width: 47.5%;
    background-color: #fff;
    padding-top: 32px;
    padding-bottom: 52px;
  }
  .staffInner {
    width: 87.2%;
    margin: 0 auto;
  }
  .specialty-list {
    padding-left: 30px;
  }
  .license-list {
    padding-left: 30px;
  }
  .charm-point_title::before {
    background-color: #fff;
  }
  .myboom_title::before {
    background-color: #fff;
  }
  .recommendation-point_title::before {
    background-color: #fff;
  }
}
/* ========================================================
  フッター
=========================================================*/
.footer {
  width: 100%;
  background-color: var(--default-color);
  text-align: center;
  padding-top: 24px;
  padding-bottom: 24px;
}
.footerInner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 15px;
}
.footer-logo {
  width: 119px;
}
.copyright {
  font-size: 13px;
  color: #fff;
}
@media screen and (min-width: 1440px) {
  .footerInner {
    flex-direction: row;
    justify-content: space-between;
  }
  .footer-logo {
    width: 112px;
  }
}
/* 003 */
.button003 a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: #ffffff;
  border-radius: 50px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  margin-top:40px;
    max-width: 300px;
  padding: 15px 25px;
  border: 2px solid #000;
  color: #000000;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  font-size: 17px;
}
.button003 a:hover {
  background: #313131;
  color: #FFF;
}
.button003 a:after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 2px solid #000000;
  border-right: 2px solid #000000;
  transform: rotate(135deg) translateY(50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}
.button003 a:hover:after {
  border-color: #FFF;
}
