@charset "utf8";

/* =====================================================
   リニューアル追加スタイル（FV / 追加セクション）
===================================================== */

/* ---------------------------
   ベース
--------------------------- */
html {
  color-scheme: light;
}
body {
  background-color: #fff;
}

.cta-area.active {
  z-index: 100;
}

/* ---------------------------
   FV
--------------------------- */
.rnw-fv {

  --s: min((100vw / 1440), (100vh - 8.6vw) / 740);
  --s: min((100vw / 1440), (100dvh - 8.6vw) / 740);
  position: relative;
  width: 100%;
  min-height: calc(720 * var(--s));
  padding: calc(50 * var(--s)) calc(80 * var(--s));
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(30 * var(--s));
  background-color: #feedf2;
  overflow: hidden;
}

.rnw-fv::before {
  content: '';
  position: absolute;
  left: 33.99%;
  top: -57.72%;
  width: 74.54%;
  height: 198.77%;
  background: url(../image/renewal/fv-bg.jpg) no-repeat center / cover;
}
.rnw-fv::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgb(255, 253, 254) 33.27%,
    rgba(253, 250, 251, 0.1) 57.03%
  );
}
.rnw-fv > * {
  position: relative;
  z-index: 1;
}

.rnw-fv_script {
  position: absolute;
  left: calc(720 * var(--s));
  top: calc(315 * var(--s));
  width: calc(216 * var(--s));
  height: auto;
  z-index: 2;
}

.rnw-fv_inner {
  display: flex;
  flex-direction: column;
  gap: calc(30 * var(--s));
  flex: 1;
  justify-content: flex-end;

  padding-left: calc(100 * var(--s));
}

.rnw-fv_main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(15 * var(--s));
  align-self: flex-start;
  margin: auto 0;
}
.rnw-fv_tagline {
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  font-size: calc(24 * var(--s));
  line-height: 1.3;
  color: #4b4b4b;
}
.rnw-fv_title {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: calc(56 * var(--s));
  line-height: 1.4;
  color: #4b4b4b;
  text-align: center;
  text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.85);
}
.rnw-fv_sub {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: calc(40 * var(--s));
  line-height: 1.4;
  letter-spacing: calc(1.8 * var(--s));
  color: #d88297;
  text-align: center;
}

.rnw-fv_card {
  background-color: rgba(255, 255, 255, 0.95);
  border: 1px solid #d88297;
  border-radius: 10px;
  padding: calc(20 * var(--s)) calc(30 * var(--s));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(15 * var(--s));
  box-shadow: 0px 16px 32px rgba(12, 12, 13, 0.1),
    0px 4px 4px rgba(12, 12, 13, 0.05);
}

.rnw-fv_perks {
  list-style: none;
  width: 100%;
  display: flex;
  justify-content: center;
  padding: calc(10 * var(--s)) 0;
  background-color: rgba(216, 130, 151, 0.1);
  border-radius: 40px;
}
.rnw-fv_perks li {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 calc(15 * var(--s)) 0 calc(10 * var(--s));
  border-right: 1px dashed #d88297;
}
.rnw-fv_perks li:last-child {
  border-right: none;
}
.rnw-fv_perks li img {
  width: calc(11 * var(--s));
  height: auto;
}
.rnw-fv_perks li span {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: calc(14 * var(--s));
  letter-spacing: 0.05em;
  color: #d88297;
  white-space: nowrap;
}

.rnw-fv_price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(10 * var(--s));
}
.rnw-fv_price-item {
  display: flex;
  align-items: flex-end;
  gap: calc(8 * var(--s));
  color: #d88297;
}
.rnw-fv_price-label {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 600;
  font-size: calc(22 * var(--s));
  line-height: 1.6;
  white-space: nowrap;
}
.rnw-fv_price-num {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 500;
  font-size: calc(52 * var(--s));
  line-height: 1;
  letter-spacing: calc(2.3 * var(--s));
  white-space: nowrap;
}
.rnw-fv_price-num small {
  font-size: calc(28 * var(--s));
  letter-spacing: normal;
}
.rnw-fv_price-num em {
  font-style: normal;
  font-size: calc(14.5 * var(--s));
  letter-spacing: normal;
}
.rnw-fv_plus {
  width: calc(20 * var(--s));
  height: calc(20 * var(--s));
}

.rnw-fv_btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(21 * var(--s));
  padding: calc(14 * var(--s)) calc(40 * var(--s));
  background-color: #d88297;
  border: 1px solid #fff;
  border-radius: 60px;
  text-decoration: none;
  filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.3))
    drop-shadow(0px 1px 1.5px rgba(0, 0, 0, 0.15));
  transition: opacity 0.2s;
}
.rnw-fv_btn:hover {
  opacity: 0.85;
}
.rnw-fv_btn-cal {
  width: calc(30 * var(--s));
  height: auto;
}
.rnw-fv_btn span {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: calc(19.8 * var(--s));
  letter-spacing: 0.06em;
  color: #fcfcfc;
  white-space: nowrap;
}
.rnw-fv_btn-arrow {
  width: calc(6.5 * var(--s));
  height: auto;
}

.rnw-fv_features {
  list-style: none;
  display: flex;
  gap: calc(21.7 * var(--s));
  align-self: flex-start;
}
.rnw-fv_feature {
  height: calc(94 * var(--s));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8.7 * var(--s));
  padding: calc(14.5 * var(--s)) calc(21.7 * var(--s));
  background-color: #fff;
  border-radius: calc(7.2 * var(--s));
  filter: drop-shadow(0px 8px 16px rgba(12, 12, 13, 0.1))
    drop-shadow(0px 2px 2px rgba(12, 12, 13, 0.05));
}
.rnw-fv_feature-icon {
  width: calc(58 * var(--s));
  height: auto;
  flex-shrink: 0;
}
.rnw-fv_feature-icon--book {
  width: calc(36 * var(--s));
}
.rnw-fv_feature-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(3 * var(--s));
}
.rnw-fv_feature-title {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: calc(20.2 * var(--s));
  letter-spacing: 0.05em;
  color: #d88297;
  white-space: nowrap;
}
.rnw-fv_feature-desc {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: calc(17.4 * var(--s));
  color: #333;
  white-space: nowrap;
}

.rnw-fv_medals {
  position: absolute;
  right: calc(80 * var(--s));
  bottom: calc(50 * var(--s));
  display: flex;
  gap: calc(20.5 * var(--s));
}
.rnw-fv_medal {
  width: calc(160 * var(--s));
  height: calc(160 * var(--s));
  background-color: #fff;
  border: calc(7.2 * var(--s)) solid rgba(255, 255, 255, 0.4);
  border-radius: 50%;
  background-clip: padding-box;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: calc(2 * var(--s));
  padding: calc(13 * var(--s)) calc(15.4 * var(--s)) calc(30 * var(--s));
}
.rnw-fv_medal-laurel {
  width: calc(22 * var(--s));
  height: calc(77.6 * var(--s));
}
.rnw-fv_medal-text {
  align-self: stretch;
  width: calc(91 * var(--s));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  font-family: 'Shippori Mincho', serif;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.rnw-fv_medal-s {
  font-size: calc(14.3 * var(--s));
  line-height: 1.7;
  color: #4b4b4b;
}
.rnw-fv_medal-m {
  font-size: calc(17.4 * var(--s));
  line-height: 1.3;
  color: #b29160;
}
.rnw-fv_medal-n {
  font-size: calc(37.7 * var(--s));
  line-height: 1;
  color: #b29160;
}
.rnw-fv_medal-n small {
  font-size: calc(21.5 * var(--s));
}
.rnw-fv_medal-n--studio {
  font-size: calc(34.2 * var(--s));
}
.rnw-fv_medal-n--studio small {
  font-size: calc(18.4 * var(--s));
}

@media screen and (max-width: 767px) {

  .rnw-fv {
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0 calc(20vw / 3.6) calc(24vw / 3.6);
    gap: calc(20vw / 3.6);
    background-color: #feedf2;
  }

  .rnw-fv::before {
    position: relative;
    order: -1;
    inset: auto;
    width: calc(100% + (40vw / 3.6));
    margin: 0 calc(-20vw / 3.6) calc(4vw / 3.6);
    height: 38vh;
    max-height: calc(380vw / 3.6);
    background-position: center 40%;
  }

  .rnw-fv::after {
    display: none;
  }
  .rnw-fv_script {
    display: none;
  }
  .rnw-fv_inner {
    gap: calc(20vw / 3.6);
    padding-left: 0;
  }
  .rnw-fv_main {
    align-self: center;
    gap: calc(10vw / 3.6);
  }
  .rnw-fv_tagline {
    font-size: calc(13vw / 3.6);
  }
  .rnw-fv_title {
    font-size: calc(26vw / 3.6);
  }
  .rnw-fv_sub {
    font-size: calc(19vw / 3.6);
  }
  .rnw-fv_card {
    width: 100%;
    padding: calc(15vw / 3.6);
    gap: calc(12vw / 3.6);
  }
  .rnw-fv_perks {
    padding: calc(8vw / 3.6) 0;
  }
  .rnw-fv_perks li {
    gap: 4px;
    padding: 0 calc(8vw / 3.6) 0 calc(6vw / 3.6);
  }
  .rnw-fv_perks li img {
    width: calc(9vw / 3.6);
  }
  .rnw-fv_perks li span {
    font-size: calc(11vw / 3.6);
    letter-spacing: 0.02em;
  }
  .rnw-fv_price {
    gap: calc(5vw / 3.6);
  }
  .rnw-fv_price-item {
    gap: calc(3vw / 3.6);
  }
  .rnw-fv_price-label {
    font-size: calc(13vw / 3.6);
  }
  .rnw-fv_price-num {
    font-size: calc(28vw / 3.6);
    letter-spacing: 0;
  }
  .rnw-fv_price-num small {
    font-size: calc(15vw / 3.6);
  }
  .rnw-fv_price-num em {
    font-size: calc(9vw / 3.6);
  }
  .rnw-fv_plus {
    width: calc(12vw / 3.6);
    height: calc(12vw / 3.6);
  }
  .rnw-fv_btn {
    gap: calc(12vw / 3.6);
    padding: calc(11vw / 3.6) calc(20vw / 3.6);
  }
  .rnw-fv_btn-cal {
    width: calc(22vw / 3.6);
  }
  .rnw-fv_btn span {
    font-size: calc(15vw / 3.6);
  }
  .rnw-fv_btn-arrow {
    width: calc(5vw / 3.6);
  }
  .rnw-fv_features {
    flex-direction: column;
    align-self: stretch;
    gap: calc(8vw / 3.6);
  }
  .rnw-fv_feature {
    height: calc(64vw / 3.6);
    padding: calc(10vw / 3.6) calc(15vw / 3.6);
    gap: calc(10vw / 3.6);
    border-radius: calc(6vw / 3.6);
  }
  .rnw-fv_feature-icon {
    width: calc(40vw / 3.6);
  }
  .rnw-fv_feature-icon--book {
    width: calc(25vw / 3.6);
  }
  .rnw-fv_feature-text {
    gap: calc(2vw / 3.6);
  }
  .rnw-fv_feature-title {
    font-size: calc(15vw / 3.6);
  }
  .rnw-fv_feature-desc {
    font-size: calc(12.5vw / 3.6);
  }
  .rnw-fv_medals {
    position: static;
    justify-content: center;
    gap: calc(12vw / 3.6);
  }
  .rnw-fv_medal {
    width: calc(110vw / 3.6);
    height: calc(110vw / 3.6);
    border-width: calc(5vw / 3.6);
    gap: calc(1.4vw / 3.6);
    padding: calc(9vw / 3.6) calc(10.6vw / 3.6) calc(20.6vw / 3.6);
  }
  .rnw-fv_medal-laurel {
    width: calc(15vw / 3.6);
    height: calc(54vw / 3.6);
  }
  .rnw-fv_medal-text {
    width: calc(63vw / 3.6);
  }
  .rnw-fv_medal-s {
    font-size: calc(10vw / 3.6);
  }
  .rnw-fv_medal-m {
    font-size: calc(12vw / 3.6);
  }
  .rnw-fv_medal-n {
    font-size: calc(26vw / 3.6);
  }
  .rnw-fv_medal-n small {
    font-size: calc(15vw / 3.6);
  }
  .rnw-fv_medal-n--studio {
    font-size: calc(23.5vw / 3.6);
  }
  .rnw-fv_medal-n--studio small {
    font-size: calc(13vw / 3.6);
  }
}

/* ---------------------------
   こんな変化を感じていませんか
--------------------------- */
.rnw-change {

  --cs: min((100vw / 1440), 1.15px);
  position: relative;
  width: 100%;
  padding: calc(100 * var(--cs)) calc(80 * var(--cs));
  background-color: #fff;
  overflow: hidden;
}
.rnw-change::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../image/renewal/sec-change-bg.jpg) no-repeat center center;
  background-size: cover;
}
.rnw-change::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.4);
}
.rnw-change_inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(20 * var(--cs));
}
.rnw-change_lead {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.rnw-change_ribbon {
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  font-size: calc(30 * var(--cs));
  line-height: 1.3;
  color: #d88297;
  padding: 0 calc(20 * var(--cs));
}
.rnw-change_divider {
  width: calc(580 * var(--cs));
  height: auto;
  margin-top: calc(4 * var(--cs));
  padding-bottom: calc(10 * var(--cs));
  border-radius: 0 !important;
}
.rnw-change_title {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: calc(42 * var(--cs));
  line-height: 1.4;
  color: #4b4b4b;
  text-align: center;
}
.rnw-change_title em {
  font-style: normal;
  font-size: calc(48 * var(--cs));
  color: #d88297;
}
.rnw-change_cards {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: calc(20 * var(--cs));
  padding: calc(20 * var(--cs)) 0;
}
.rnw-change_card {
  width: calc(250 * var(--cs));
  background-color: #fff;
  border-radius: calc(7.2 * var(--cs));
  padding: calc(20 * var(--cs));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(12 * var(--cs));
  filter: drop-shadow(0px 8px 16px rgba(12, 12, 13, 0.1))
    drop-shadow(0px 2px 2px rgba(12, 12, 13, 0.05));
}
.rnw-change_icon {
  width: calc(125 * var(--cs));
  height: calc(125 * var(--cs));
  border-radius: 50%;
  background-color: rgba(216, 130, 151, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.rnw-change_icon img {
  width: auto;
  height: calc(100 * var(--cs));
}
.rnw-change_cardtitle {
  width: 100%;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: calc(20.2 * var(--cs));
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #d88297;
  text-align: center;
  padding-bottom: calc(10 * var(--cs));
  border-bottom: 1px dashed #d88297;
}
.rnw-change_text {
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: calc(16 * var(--cs));
  line-height: 1.5;
  color: #333;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .rnw-change {
    padding: calc(50vw / 3.6) calc(15vw / 3.6);
  }
  .rnw-change_inner {
    gap: calc(12vw / 3.6);
  }
  .rnw-change_ribbon {
    font-size: calc(15vw / 3.6);
    padding: 0;
  }
  .rnw-change_divider {
    width: 100%;
    margin-top: calc(3vw / 3.6);
    padding-bottom: calc(6vw / 3.6);
  }
  .rnw-change_title {
    font-size: calc(20vw / 3.6);
  }
  .rnw-change_title em {
    font-size: calc(24vw / 3.6);
  }
  .rnw-change_cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(10vw / 3.6);
    padding: calc(10vw / 3.6) 0 0;
  }
  .rnw-change_card {
    width: 100%;
    padding: calc(12vw / 3.6);
    gap: calc(8vw / 3.6);
    border-radius: calc(6vw / 3.6);
  }
  .rnw-change_icon {
    width: calc(80vw / 3.6);
    height: calc(80vw / 3.6);
  }
  .rnw-change_icon img {
    height: calc(64vw / 3.6);
  }
  .rnw-change_cardtitle {
    font-size: calc(13.5vw / 3.6);
    letter-spacing: 0.02em;
    padding-bottom: calc(6vw / 3.6);
  }
  .rnw-change_text {
    font-size: calc(11.5vw / 3.6);
  }
}

/* ---------------------------
   ピラティスがやさしい理由
--------------------------- */
.rnw-reason {

  --cs: min((100vw / 1440), 1.15px);
  width: 100%;
  min-height: calc(720 * var(--cs));
  padding: 0 calc(50 * var(--cs));
  display: flex;
  align-items: stretch;
  gap: calc(20 * var(--cs));
}
.rnw-reason_head {
  flex-shrink: 0;
  background-color: #fff;
  padding: calc(40 * var(--cs));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(20 * var(--cs));
}
.rnw-reason_eyebrow {
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  font-size: calc(24 * var(--cs));
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #4b4b4b;
  text-align: center;
  padding: 0 calc(6 * var(--cs)) calc(10 * var(--cs));
  border-bottom: 2px dashed #70c9e2;
}
.rnw-reason_title {
  font-family: 'Shippori Mincho', serif;
  font-weight: 500;
  font-size: calc(45.2 * var(--cs));
  line-height: 1.4;
  letter-spacing: calc(2.2 * var(--cs));
  color: #4b4b4b;
  text-align: center;
}
.rnw-reason_title em {
  font-style: normal;
  font-size: calc(49.5 * var(--cs));
  color: #4dbae1;
}
.rnw-reason_lead {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 400;
  font-size: calc(18 * var(--cs));
  line-height: 1.5;
  color: #333;
  text-align: center;
}
.rnw-reason_body {
  position: relative;
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 * var(--cs));
  padding: calc(30 * var(--cs)) calc(60 * var(--cs));
  overflow: hidden;
}
.rnw-reason_body::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url(../image/renewal/sec-reason-bg.jpg) no-repeat center center;
  background-size: cover;
  opacity: 0.7;
}
.rnw-reason_card {
  position: relative;
  flex: 1;
  min-width: 0;
  height: calc(320 * var(--cs));
  background-color: #fff;
  border-radius: calc(7.2 * var(--cs));
  padding: calc(30 * var(--cs)) calc(20 * var(--cs));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(20 * var(--cs));
}
.rnw-reason_icon {
  width: calc(44 * var(--cs));
  height: auto;
  flex-shrink: 0;
}
.rnw-reason_cardtitle {
  font-family: 'Shippori Mincho', serif;
  font-weight: 600;
  font-size: calc(24 * var(--cs));
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #4dbae1;
  text-align: center;
}
.rnw-reason_text {
  font-family: 'Shippori Mincho B1', serif;
  font-weight: 400;
  font-size: calc(16.5 * var(--cs));
  line-height: 1.5;
  color: #333;
  text-align: center;
  margin-top: calc(-10 * var(--cs));
}

@media screen and (max-width: 767px) {
  .rnw-reason {
    min-height: 0;
    flex-direction: column;
    padding: 0;
    gap: 0;
  }
  .rnw-reason_head {
    padding: calc(30vw / 3.6) calc(20vw / 3.6);
    gap: calc(12vw / 3.6);
  }
  .rnw-reason_eyebrow {
    font-size: calc(14vw / 3.6);
    padding-bottom: calc(6vw / 3.6);
  }
  .rnw-reason_title {
    font-size: calc(24vw / 3.6);
  }
  .rnw-reason_title em {
    font-size: calc(27vw / 3.6);
  }
  .rnw-reason_lead {
    font-size: calc(12.5vw / 3.6);
  }
  .rnw-reason_body {
    flex-direction: column;
    padding: calc(20vw / 3.6) calc(15vw / 3.6);
    gap: calc(10vw / 3.6);
  }
  .rnw-reason_card {
    width: 100%;
    height: auto;
    padding: calc(20vw / 3.6) calc(15vw / 3.6);
    gap: calc(10vw / 3.6);
    border-radius: calc(6vw / 3.6);
  }
  .rnw-reason_icon {
    width: calc(32vw / 3.6);
  }
  .rnw-reason_cardtitle {
    font-size: calc(16vw / 3.6);
  }
  .rnw-reason_text {
    font-size: calc(12vw / 3.6);
    margin-top: 0;
  }
}
