#wrapper.reform-test {
  min-width: 0;
}

.reform-test {
  --rft-orange: #f2ab47;
  --rft-orange-dark: #e98559;
  --rft-red: #dc5d41;
  --rft-orange-pale: #fff0dc;
  --rft-cream: #fffdf6;
  --rft-ink: #333;
  color: var(--rft-ink);
  background: var(--rft-cream);
  font-family: fot-tsukuardgothic-std, "Noto Sans JP", "Yu Gothic", "YuGothic", sans-serif;
  line-height: 1.8;
}

.reform-test *,
.reform-test *::before,
.reform-test *::after {
  box-sizing: border-box;
}

.reform-test .header {
  position: relative;
  z-index: 30;
  width: 0;
  height: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.reform-test .header .navBtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
}

.reform-test .header .navIcon {
  width: 132px;
  height: 132px;
  border-radius: 0 0 0 21px;
}

.reform-test .rft-main {
  overflow: hidden;
  background: var(--rft-cream);
}

.reform-test .rft-main img {
  display: block;
  max-width: 100%;
  height: auto;
}

.reform-test .rft-container {
  width: min(100% - 60px, 1560px);
  margin: 0 auto;
}

.reform-test .rft-container--cards {
  width: min(100% - 60px, 1230px);
}

.reform-test .rft-container--wide {
  width: min(100% - 60px, 1470px);
}

.reform-test .rft-hero {
  position: relative;
  min-height: 300px;
  aspect-ratio: 3.25 / 1;
  background-color: #8f745c;
  background-image: url("images/reform_fv_bg.webp");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.reform-test .rft-hero__shade {
  position: absolute;
  inset: 0;
  background: rgba(32, 23, 18, 0.42);
}

.reform-test .rft-hero__title {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  transform: translate(-50%, -50%);
  text-align: center;
  white-space: nowrap;
}

.reform-test .rft-hero__title img {
  width: 72px;
  margin-bottom: 12px;
  filter: brightness(0) invert(1);
}

.reform-test .rft-hero__title h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(31.5px, 3.34vw, 48px);
  font-weight: 700;
  letter-spacing: 0.16em;
}

.reform-test .rft-hero__title span {
  margin-top: 6px;
  font-family: Arial, sans-serif;
  font-size: 15px;
  letter-spacing: 0.24em;
}

.reform-test .rft-breadcrumb {
  width: min(100% - 60px, 1560px);
  margin: 0 auto;
  padding: 30px 0 15px;
  color: #999;
  font-size: 16.5px;
}

.reform-test .rft-breadcrumb a {
  color: var(--rft-orange);
  text-decoration: none;
}

.reform-test .rft-breadcrumb span::before {
  content: "›";
  margin: 0 15px;
  color: #aaa;
}

.reform-test .rft-trouble {
  padding: 78px 0 138px;
  background: #fff;
}

.reform-test .rft-section-head,
.reform-test .rft-reasons__head,
.reform-test .rft-bottom-contact {
  text-align: center;
}

/* 見出しの圏点（1文字ずつ上にオレンジのドット） */
.reform-test .rft-section-head h2 .rft-em {
  font-weight: inherit;
  padding-top: 33px;
  background-image: radial-gradient(circle, var(--rft-orange) 0 4.5px, transparent 5.25px);
  background-position: left top;
  background-size: 1.08em 12px;
  background-repeat: repeat-x;
}

.reform-test .rft-section-head h2,
.reform-test .rft-bottom-contact h2 {
  margin: 12px 0 18px;
  color: var(--rft-orange);
  font-size: clamp(33px, 4.5vw, 48px);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.reform-test .rft-keywords {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 21px 0 12px;
}

.reform-test .rft-keywords span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40.5px;
  padding: 6px 24px;
  border-radius: 1498.5px;
  color: #fff;
  background: var(--rft-orange-dark);
  font-size: 18px;
  font-weight: 700;
}

.reform-test .rft-keywords b {
  color: var(--rft-ink);
  font-size: 16.5px;
}

.reform-test .rft-section-head p {
  margin: 15px 0 0;
  font-size: 19.5px;
}

/* リード文中の強調はキーワードと同じピル表示に */
.reform-test .rft-section-head p .rft-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 3px;
  padding: 3px 21px;
  border-radius: 1498.5px;
  color: #fff;
  background: var(--rft-orange-dark);
  font-size: 18px;
  font-weight: 700;
  vertical-align: middle;
}

.reform-test .rft-question {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 57px auto 30px;
}

.reform-test .rft-question img {
  width: 51px;
  margin-bottom: 7.5px;
}

.reform-test .rft-question p {
  position: relative;
  /* 下の手描き波線（原寸548px）の幅に合わせる。文字は中央寄せなので見え方は変わらない */
  width: 548px;
  max-width: 100%;
  margin: 0;
  padding: 10.5px 0 57px;
  font-size: 19.5px;
  text-align: center;
}

/* 手描きの波線 */
.reform-test .rft-question p::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  aspect-ratio: 547.91 / 47.681;
  background: url("images/line_fuwafuwa.svg") center bottom / 100% auto no-repeat;
}

.reform-test .rft-trouble-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 1140px;
  margin: 45px auto 0;
  padding: 0;
  list-style: none;
}

.reform-test .rft-trouble-list li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 225px;
  padding: 33px 22.5px 40.5px;
  border-radius: 50%;
  background: #f1f1ef;
  text-align: center;
}

.reform-test .rft-trouble-list li::after {
  content: "";
  position: absolute;
  bottom: -10.5px;
  left: 46%;
  width: 30px;
  height: 27px;
  background: #f1f1ef;
  clip-path: polygon(0 0, 100% 0, 20% 100%);
}

.reform-test .rft-trouble-list span {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.65;
}

.reform-test .rft-trouble-list img {
  position: absolute;
  bottom: -37.5px;
  left: -6px;
  z-index: 2;
  width: 84px;
  max-height: 114px;
}

.reform-test .rft-reasons {
  position: relative;
  padding: 123px 0 132px;
  background: var(--rft-orange);
  /* 上辺中央を下向きに切り欠く */
  clip-path: polygon(0 0, 42% 0, 50% 66px, 58% 0, 100% 0, 100% 100%, 0 100%);
}

.reform-test .rft-reasons__head {
  margin-bottom: 78px;
}

.reform-test .rft-reasons__head img {
  width: 63px;
  margin: 0 auto 7.5px;
  filter: brightness(0) invert(1);
}

.reform-test .rft-reasons__head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(31.5px, 3.75vw, 43.5px);
  letter-spacing: 0.08em;
}

.reform-test .rft-reason-card {
  position: relative;
  margin: 0 0 93px;
  padding: 87px 93px 72px;
  border-radius: 10.5px;
  background: #fff;
  box-shadow: 0 4.5px 18px rgba(118, 75, 19, 0.08);
}

.reform-test .rft-reason-card:last-child {
  margin-bottom: 0;
}

.reform-test .rft-reason-card__number {
  position: absolute;
  top: -40.5px;
  left: 50%;
  display: grid;
  width: 82.5px;
  height: 82.5px;
  place-items: center;
  border: 4.5px solid var(--rft-orange);
  border-radius: 50%;
  color: var(--rft-orange);
  background: #fff;
  font-family: Arial, sans-serif;
  font-size: 37.5px;
  transform: translateX(-50%);
}

.reform-test .rft-reason-card h3 {
  margin: 0 0 33px;
  padding-bottom: 19.5px;
  border-bottom: 1.5px dotted #bbb;
  color: var(--rft-orange);
  font-size: clamp(31.5px, 3.75vw, 43.5px);
  line-height: 1.5;
}

.reform-test .rft-reason-card__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(195px, 0.6fr);
  align-items: center;
  gap: 48px;
  margin: 0 0 54px;
}

.reform-test .rft-reason-card__intro h4 {
  margin: 0 0 19.5px;
  color: #444;
  font-size: 25.5px;
  line-height: 1.7;
}

.reform-test .rft-reason-card__intro p {
  margin: 0;
  font-size: 18px;
  line-height: 2;
}

.reform-test .rft-reason-card__intro > img {
  width: 100%;
  max-width: 270px;
  max-height: 270px;
  margin: 0 auto;
  object-fit: contain;
}

.reform-test .rft-recommend {
  position: relative;
  padding: 45px 37.5px 27px;
  border: 3px solid var(--rft-orange-dark);
  border-radius: 6px;
}

.reform-test .rft-recommend strong {
  position: absolute;
  top: -22.5px;
  left: 50%;
  min-width: 277.5px;
  padding: 7.5px 25.5px;
  border-radius: 1498.5px;
  color: #fff;
  background: var(--rft-orange-dark);
  font-size: 18px;
  text-align: center;
  transform: translateX(-50%);
}

.reform-test .rft-recommend ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 39px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 項目数が多い枠は3列に */
.reform-test .rft-recommend--col3 ul {
  grid-template-columns: repeat(3, 1fr);
  gap: 15px 30px;
}

/* タブレット幅では3列だと文字が折り返すため2列に */
@media (max-width: 1199px) {
  .reform-test .rft-recommend--col3 ul {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* さらに狭い画面は1列に */
@media (max-width: 991px) {
  .reform-test .rft-recommend ul,
  .reform-test .rft-recommend--col3 ul {
    grid-template-columns: 1fr;
    gap: 9px;
  }
}

.reform-test .rft-recommend li {
  position: relative;
  padding-left: 34.5px;
  font-size: 16.5px;
}

.reform-test .rft-recommend li::before {
  content: "";
  position: absolute;
  top: 1.5px;
  left: 0;
  width: 24px;
  height: 24px;
  background: url("images/i_circle-check_red.svg") center center / contain no-repeat;
}

.reform-test .rft-consultation,
.reform-test .rft-services,
.reform-test .rft-bottom-contact {
  background: var(--rft-cream);
}

.reform-test .rft-consultation {
  padding: 123px 0 108px;
}

.reform-test .rft-split-head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 82.5px;
  margin-bottom: 63px;
}

.reform-test .rft-split-head h2 {
  margin: 0;
  color: var(--rft-orange);
  font-size: clamp(37.5px, 4.8vw, 54px);
  letter-spacing: 0.08em;
}

.reform-test .rft-split-head p {
  margin: 0 0 10.5px;
  font-size: 18px;
  font-weight: 700;
}

/* 見出し横のリード文は小さめ・通常ウェイトで */
.reform-test .rft-split-head p.rft-split-head__lead {
  margin: 13.5px 0 0;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.9;
}

.reform-test .rft-flow-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 51px;
  max-width: 1170px;
  margin: 0 auto;
}

.reform-test .rft-flow-card {
  position: relative;
  padding: 72px 45px 42px;
  border-radius: 13.5px;
  background: var(--rft-orange-pale);
  text-align: center;
}

.reform-test .rft-flow-card__type {
  position: absolute;
  top: -39px;
  left: 50%;
  display: grid;
  width: 108px;
  height: 108px;
  padding: 9px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--rft-orange-dark);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  transform: translateX(-50%);
}

/* 1段目：人物イラスト（名前付き）＋カードの横並び */
.reform-test .rft-flow-card__lead {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
}

.reform-test .rft-flow-card__person {
  margin: 0;
  text-align: center;
}

.reform-test .rft-flow-card__person img {
  width: 100%;
  max-height: 114px;
  object-fit: contain;
}

.reform-test .rft-flow-card__person figcaption {
  margin-top: 3px;
  font-size: 16.5px;
  font-weight: 700;
}

.reform-test .rft-flow-card h3,
.reform-test .rft-flow-card__step {
  display: grid;
  min-height: 97.5px;
  margin: 0;
  padding: 18px;
  place-items: center;
  border-radius: 9px;
  background: #fff;
  font-size: 18px;
  line-height: 1.7;
}

.reform-test .rft-flow-card__step {
  grid-template-columns: auto 1fr;
  gap: 15px;
}

.reform-test .rft-flow-card__step img {
  width: 67.5px;
  max-height: 72px;
  object-fit: contain;
}

.reform-test .rft-flow-card__down {
  display: block;
  margin: 6px 0;
  color: var(--rft-orange);
  font-size: 19.5px;
  line-height: 1;
}

.reform-test .rft-flow-card__goal {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 117px;
  padding: 16.5px;
  border-radius: 9px;
  color: #fff;
  background: var(--rft-orange);
  font-size: 18px;
  font-weight: 700;
}

/* 喜んでいるイラストはカードの上に重ねる */
.reform-test .rft-flow-card__goal img {
  position: absolute;
  top: 0;
  left: 12px;
  width: 90px;
  max-height: 82.5px;
  object-fit: contain;
  transform: translateY(-66%);
}

/* カードの外側にはみ出すイラスト */
.reform-test .rft-flow-card__step--icon {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
}

.reform-test .rft-flow-card__icon {
  position: absolute;
  top: 50%;
}

.reform-test .rft-flow-card__icon--left {
  left: 0;
  width: 67.5px;
  transform: translate(-70%, -50%);
}

.reform-test .rft-flow-card__icon--right {
  right: 0;
  width: 82.5px;
  transform: translate(58%, -46%);
}

.reform-test .rft-case-study {
  padding: 81px 0 72px;
  background: #eda52f;
}

.reform-test .rft-case-study__head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 67.5px;
  margin-bottom: 48px;
  color: #fff;
}

.reform-test .rft-case-study__head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(40.5px, 5.1vw, 60px);
  letter-spacing: 0.08em;
}

.reform-test .rft-case-study__head p {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.reform-test .rft-case-study__head p.rft-case-study__note {
  margin: 12px 0 0;
  font-size: 13.5px;
  font-weight: 700;
}

.reform-test .rft-case-slider {
  position: relative;
}

/* 矢印は白いカードの内側・左右に重ねる */
.reform-test .rft-case-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: block;
  width: 80px;
  padding: 0;
  border: 0;
  background: none;
  line-height: 0;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity 0.2s ease;
}

.reform-test .rft-case-slider__arrow--prev {
  left: 60px;
}

.reform-test .rft-case-slider__arrow--next {
  right: 60px;
}

.reform-test .rft-case-slider__arrow img {
  width: 100%;
  height: auto;
}

.reform-test .rft-case-slider__arrow:hover {
  opacity: 0.75;
}

.reform-test .rft-case-card {
  padding: 45px 82.5px 60px;
  border-radius: 12px;
  background: #fff;
}

.reform-test .rft-case-card h3 {
  margin: 0 0 36px;
  padding-bottom: 18px;
  border-bottom: 3px dotted var(--rft-orange);
  font-size: 24px;
  text-align: center;
}

.reform-test .rft-before-after {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  max-width: 760px;
  margin: 0 auto;
}

/* 写真まわりの台紙（AfterはクリームBeforeはグレー） */
.reform-test .rft-before-after figure {
  margin: 0;
  padding: 24px;
  border-radius: 12px;
  background: #fff5e8;
}

.reform-test .rft-before-after figure.rft-before-after__before {
  background: #eaeaea;
}

.reform-test .rft-before-after figcaption {
  width: 172.5px;
  margin: 0 auto -18px;
  padding: 6px 22.5px;
  border-radius: 1498.5px;
  color: #fff;
  background: var(--rft-orange-dark);
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  transform: translateY(-6px);
}

.reform-test .rft-before-after__before figcaption {
  background: #aaa;
}

.reform-test .rft-before-after figure > img {
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 7;
  border-radius: 6px;
  object-fit: cover;
}

.reform-test .rft-before-after__before figure,
.reform-test .rft-before-after__before > img {
  filter: grayscale(1) brightness(.82);
}

.reform-test .rft-before-after__arrow {
  width: 37.5px;
}

.reform-test .rft-services {
  padding: 111px 0 45px;
}

/* 6分割にして 3列 → 2列 → 全幅 の並びをつくる */
.reform-test .rft-service-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 27px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reform-test .rft-service-grid li {
  grid-column: span 2;
  overflow: hidden;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.reform-test .rft-service-grid h3 {
  margin: 0 0 18px;
  padding: 15px;
  border-radius: 6px;
  color: #fff;
  background: var(--rft-orange);
  font-size: 22.5px;
  line-height: 1.4;
}

.reform-test .rft-service-grid p {
  margin: 0;
  padding: 0 15px 18px;
  font-size: 13.5px;
}

.reform-test .rft-service-grid li.rft-service-grid__half {
  grid-column: span 3;
}

.reform-test .rft-service-grid li.rft-service-grid__wide {
  grid-column: 1 / -1;
}

.reform-test .rft-bottom-contact {
  padding: 108px 0 132px;
}

.reform-test .rft-bottom-contact h2 {
  margin-bottom: 0;
}

.reform-test .rft-bottom-contact__lead {
  margin: 0;
  font-size: 22.5px;
  font-weight: 700;
}

.reform-test .rft-bottom-contact__bubbles {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 52.5px 0 42px;
  padding: 0;
  list-style: none;
}

.reform-test .rft-bottom-contact__bubbles li {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 264px;
  height: 204px;
  padding: 45px 24px 22.5px;
  border-radius: 50%;
  color: #fff;
  background: var(--rft-red);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.65;
}

.reform-test .rft-bottom-contact__icon {
  position: absolute;
  top: 27px;
  left: 50%;
  width: 36px;
  height: 36px;
  object-fit: contain;
  transform: translateX(-50%);
}

.reform-test .rft-bottom-contact__person {
  position: absolute;
  bottom: -12px;
  left: -15px;
  width: 75px;
  max-height: 112.5px;
  object-fit: contain;
  object-position: left bottom;
}

.reform-test .rft-bottom-contact__copy {
  margin: 0 0 12px;
  font-size: 18px;
}

.reform-test .rft-tel {
  display: block;
  margin: 6px auto 0;
  color: var(--rft-orange);
  font-family: Arial, sans-serif;
  font-size: clamp(45px, 6.75vw, 72px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.reform-test .rft-tel::before {
  content: "☎";
  margin-right: 6px;
  font-size: .55em;
  vertical-align: .2em;
}

.reform-test .rft-bottom-contact small {
  display: block;
  margin: 6px 0 22.5px;
  font-size: 15px;
}

.reform-test .rft-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 360px;
  min-height: 66px;
  padding: 13.5px 36px;
  border-radius: 1498.5px;
  color: #fff;
  background: var(--rft-red);
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .2s ease, transform .2s ease;
}

.reform-test .rft-button::after {
  content: "›";
  margin-left: 27px;
  font-size: 27px;
  line-height: 1;
}

.reform-test .rft-button:hover {
  opacity: .82;
  transform: translateY(-1.5px);
}

.reform-test .footer {
  padding-top: 30px;
  background: var(--rft-cream);
}

.reform-test .footer .fix_to_top_btn {
  display: none;
}

.reform-test .footer .foot_address_wrap {
  padding-top: 37.5px;
}

.reform-test .footer .copy {
  display: block;
  padding: 15px 22.5px;
  color: #fff;
  background: #43aed0;
  text-align: center;
}

@media (max-width: 767px) {
  .reform-test .header .navIcon {
    width: 87px;
    height: 87px;
    border-radius: 0 0 0 15px;
  }

  .reform-test .header .navtxt {
    font-size: 15px;
  }

  .reform-test .rft-container,
  .reform-test .rft-container--cards,
  .reform-test .rft-container--wide,
  .reform-test .rft-breadcrumb {
    width: min(100% - 45px, 840px);
  }

  .reform-test .rft-hero {
    min-height: 217.5px;
    aspect-ratio: auto;
  }

  .reform-test .rft-hero__title img {
    width: 42px;
    margin-bottom: 4.5px;
  }

  .reform-test .rft-hero__title h1 {
    font-size: 25.5px;
  }

  .reform-test .rft-hero__title span {
    font-size: 10.5px;
  }

  .reform-test .rft-breadcrumb {
    padding: 18px 0 6px;
    font-size: 13.5px;
  }

  .reform-test .rft-trouble {
    padding: 52.5px 0 96px;
  }

  .reform-test .rft-section-head h2,
  .reform-test .rft-bottom-contact h2 {
    font-size: 30px;
  }

  .reform-test .rft-keywords {
    flex-wrap: wrap;
    gap: 7.5px;
  }

  .reform-test .rft-keywords span {
    min-height: 36px;
    padding: 4.5px 13.5px;
    font-size: 13.5px;
  }

  .reform-test .rft-section-head p {
    font-size: 15px;
  }

  .reform-test .rft-question {
    margin-top: 40.5px;
  }

  .reform-test .rft-question p {
    width: min(100%, 435px);
    padding-bottom: 45px;
    font-size: 16.5px;
  }

  .reform-test .rft-trouble-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 55.5px 22.5px;
    max-width: 555px;
  }

  .reform-test .rft-trouble-list li {
    min-height: 202.5px;
    padding: 30px 15px;
  }

  .reform-test .rft-trouble-list span {
    font-size: 15px;
  }

  .reform-test .rft-trouble-list img {
    bottom: -31.5px;
    width: 72px;
  }

  .reform-test .rft-reasons {
    padding: 108px 0 87px;
    clip-path: polygon(0 0, 40% 0, 50% 45px, 60% 0, 100% 0, 100% 100%, 0 100%);
  }

  .reform-test .rft-reasons__head {
    margin-bottom: 67.5px;
  }

  .reform-test .rft-reasons__head h2 {
    font-size: 28.5px;
  }

  .reform-test .rft-reason-card {
    margin-bottom: 78px;
    padding: 69px 30px 48px;
  }

  .reform-test .rft-reason-card h3 {
    font-size: 28.5px;
    text-align: center;
  }

  .reform-test .rft-reason-card__intro {
    grid-template-columns: minmax(0, 1fr) 157.5px;
    gap: 21px;
    margin-bottom: 45px;
  }

  .reform-test .rft-reason-card__intro h4 {
    font-size: 21px;
  }

  .reform-test .rft-reason-card__intro p {
    font-size: 13.5px;
    line-height: 1.8;
  }

  .reform-test .rft-recommend {
    padding: 40.5px 21px 22.5px;
  }

  .reform-test .rft-recommend ul {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .reform-test .rft-consultation {
    padding: 87px 0 78px;
  }

  .reform-test .rft-split-head {
    grid-template-columns: auto 1fr;
    gap: 30px;
    margin-bottom: 52.5px;
  }

  .reform-test .rft-split-head h2 {
    font-size: 33px;
  }

  .reform-test .rft-split-head p {
    font-size: 13.5px;
  }

  .reform-test .rft-flow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .reform-test .rft-flow-card {
    padding: 99px 15px 22.5px;
  }

  .reform-test .rft-flow-card__type {
    width: 82.5px;
    height: 82.5px;
    font-size: 13.5px;
  }

  /* SPは横幅が足りないため人物を上に積み、イラストのはみ出しをやめる */
  .reform-test .rft-flow-card__lead {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .reform-test .rft-flow-card__person img {
    max-height: 75px;
  }

  .reform-test .rft-flow-card__person figcaption {
    font-size: 12px;
  }

  .reform-test .rft-flow-card__icon,
  .reform-test .rft-flow-card__icon--left,
  .reform-test .rft-flow-card__icon--right {
    position: static;
    width: 48px;
    margin: 0 auto;
    transform: none;
  }

  .reform-test .rft-flow-card__step--icon {
    gap: 4.5px;
  }

  .reform-test .rft-flow-card__goal img {
    position: static;
    width: 67.5px;
    transform: none;
  }

  .reform-test .rft-flow-card h3,
  .reform-test .rft-flow-card__step {
    min-height: 93px;
    padding: 12px 7.5px;
    font-size: 12px;
  }

  .reform-test .rft-flow-card__step {
    grid-template-columns: 1fr;
    gap: 4.5px;
  }

  .reform-test .rft-flow-card__step img {
    width: 46.5px;
    margin: 0 auto;
  }

  .reform-test .rft-flow-card__goal {
    flex-direction: column;
    gap: 3px;
    min-height: 114px;
    font-size: 12px;
  }

  .reform-test .rft-flow-card__goal img {
    width: 63px;
    height: 57px;
  }

  .reform-test .rft-case-study {
    padding: 52.5px 0;
  }

  .reform-test .rft-case-study__head {
    gap: 24px;
    margin-bottom: 33px;
  }

  .reform-test .rft-case-study__head h2 {
    font-size: 33px;
  }

  .reform-test .rft-case-study__head p {
    font-size: 12px;
  }

  .reform-test .rft-case-slider {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    gap: 6px;
  }

  .reform-test .rft-case-slider__arrow {
    width: 36px;
    height: 36px;
    font-size: 27px;
  }

  .reform-test .rft-case-card {
    padding: 28.5px 18px 33px;
  }

  .reform-test .rft-case-card h3 {
    margin-bottom: 24px;
    font-size: 18px;
  }

  .reform-test .rft-before-after {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    gap: 7.5px;
  }

  .reform-test .rft-before-after figcaption {
    width: 105px;
    padding: 3px 12px;
    font-size: 12px;
  }

  .reform-test .rft-before-after figure > img {
    height: 192px;
    border-width: 9px;
  }

  .reform-test .rft-before-after__arrow {
    width: 22.5px;
  }

  .reform-test .rft-services {
    padding: 78px 0 30px;
  }

  .reform-test .rft-service-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 19.5px 15px;
  }

  .reform-test .rft-service-grid h3 {
    padding: 12px 6px;
    font-size: 15px;
  }

  .reform-test .rft-service-grid p {
    font-size: 12px;
  }

  .reform-test .rft-bottom-contact {
    padding: 82.5px 0 97.5px;
  }

  .reform-test .rft-bottom-contact__lead {
    font-size: 18px;
  }

  .reform-test .rft-bottom-contact__bubbles {
    gap: 10.5px;
    margin: 40.5px 0 33px;
  }

  .reform-test .rft-bottom-contact__bubbles li {
    width: 138px;
    height: 138px;
    padding: 18px 10.5px;
    font-size: 13.5px;
  }

  .reform-test .rft-bottom-contact__copy {
    font-size: 15px;
  }

  .reform-test .rft-tel {
    font-size: 40.5px;
  }

  .reform-test .rft-bottom-contact small {
    font-size: 12px;
  }

  .reform-test .rft-button {
    min-width: 285px;
    min-height: 57px;
    padding: 10.5px 22.5px;
    font-size: 13.5px;
  }

  .reform-test .footer .foot_address_wrap {
    padding-top: 15px;
  }
}

@media (max-width: 390px) {
  .reform-test .rft-reason-card__intro {
    grid-template-columns: 1fr;
  }

  .reform-test .rft-reason-card__intro > img {
    width: 165px;
  }
}
