/* =========================================================
   CURTAIN REFORM GUIDE
   /reforme
========================================================= */

#reformGuide,
#reformGuide * {
  box-sizing: border-box;
}#reformGuide {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 60px;
  color: #333;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    Meiryo,
    sans-serif;
  font-size: 16px;
  line-height: 1.9;
}#reformGuide img {
  display: block;
  max-width: 100%;
  height: auto;
}#reformGuide a {
  color: inherit;
  text-decoration: none;
}/* =========================================================
   OLD SITE RESET
========================================================= */

#reformGuide h1:where(:not(.as-h2)),
/* =========================================================
   OLD SITE RESET
========================================================= */

#reformGuide div.h_h1,
#reformGuide h2,
#reformGuide h1.as-h2,
#reformGuide div.h_h2,
#reformGuide h3 {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}#reformGuide h1:where(:not(.as-h2))::before,
#reformGuide div.h_h1::before,
#reformGuide h1:where(:not(.as-h2))::after,
#reformGuide div.h_h1::after,
#reformGuide h2::before,
#reformGuide h1.as-h2::before,
#reformGuide div.h_h2::before,
#reformGuide h2::after,
#reformGuide h1.as-h2::after,
#reformGuide div.h_h2::after,
#reformGuide h3::before,
#reformGuide h3::after {
  display: none !important;
  content: none !important;
}/* =========================================================
   COMMON
========================================================= */

#reformGuide .rf-section {
  width: 100%;
  margin-top: 58px;
}#reformGuide .rf-title {
  margin: 0 0 10px !important;
  color: #252525 !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}#reformGuide .rf-lead {
  max-width: 680px;
  margin: 0 auto 28px;
  color: #5b5b5b;
  font-size: 15px;
  line-height: 1.95;
  text-align: center;
}#reformGuide .rf-kicker {
  display: block;
  margin-bottom: 4px;
  color: #526f80;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  text-align: center;
}/* =========================================================
   HERO
========================================================= */

#reformGuide .rf-hero {
  position: relative;
  display: block;
  width: 100%;
  min-height: 390px;
  overflow: hidden;
  border-radius: 8px;

  background-image:
    linear-gradient(
      90deg,
      rgba(246,247,248,.99) 0%,
      rgba(246,247,248,.96) 43%,
      rgba(246,247,248,.72) 61%,
      rgba(246,247,248,.12) 84%
    ),
    url("/base/rf-hero.jpeg");

  background-position: center right;
  background-size: cover;
  background-repeat: no-repeat;

  isolation: isolate;
}/* ---------------------------------------------------------
   左側だけ読みやすくする白グラデーション
--------------------------------------------------------- */

#reformGuide .rf-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  content: "";

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.94) 38%,
      rgba(255,255,255,.80) 52%,
      rgba(255,255,255,.35) 67%,
      rgba(255,255,255,.06) 82%,
      rgba(255,255,255,0) 100%
    );

  pointer-events: none;
}/* =========================================================
   HERO TEXT
========================================================= */

#reformGuide .rf-hero-body {
  position: relative;
  z-index: 1;

  /*
    ここが重要
    文章を人物側まで伸ばさない
  */
  width: 58%;
  max-width: 440px;

  padding: 38px 0 37px 32px;
}/* 英文ラベル */

#reformGuide .rf-eyebrow {
  margin-bottom: 7px;
  color: #526f80;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
}/* H1 */

#reformGuide .rf-hero h1:where(:not(.as-h2)),
/* H1 */

#reformGuide .rf-hero div.h_h1 {
  margin: 0 0 17px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;

  color: #202020 !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: left !important;
}#reformGuide .rf-hero h1:where(:not(.as-h2)) strong,
#reformGuide .rf-hero div.h_h1 strong {
  color: #506d7e;
}/* 本文 */

#reformGuide .rf-hero-body > p {
  width: 100%;
  max-width: 430px;

  margin: 0;

  color: #505050;
  font-size: 14px;
  line-height: 1.95;
}/* =========================================================
   HERO BUTTONS
========================================================= */

#reformGuide .rf-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;

  width: 100%;
  max-width: 430px;

  margin-top: 20px;
}#reformGuide .rf-button {
  display: inline-flex;
  min-height: 44px;

  align-items: center;
  justify-content: center;

  padding: 10px 15px;

  border-radius: 4px;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;

  text-align: center;
}#reformGuide .rf-button-primary {
  background: #506d7e;
  color: #fff !important;
}#reformGuide .rf-button-secondary {
  border: 1px solid #bac8ce;
  background: rgba(255,255,255,.92);
  color: #506d7e !important;
}#reformGuide .rf-button:hover {
  opacity: .88;
}/* =========================================================
   不要になった旧画像カラム
========================================================= */

#reformGuide .rf-hero-photo {
  display: none !important;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width:700px) {#reformGuide .rf-hero-body {
    width: 62%;
    max-width: 430px;
    padding-left: 25px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width:480px) {#reformGuide .rf-hero {
    min-height: 500px;
    border-radius: 6px;

    /*
      スマホでは人物写真を上側に見せる
    */
    background-position: center top;
  }/*
    スマホでは
    上＝写真
    下＝読みやすい白背景
  */

  #reformGuide .rf-hero::before {
    background:
      linear-gradient(
        0deg,
        rgba(255,255,255,.99) 0%,
        rgba(255,255,255,.98) 49%,
        rgba(255,255,255,.80) 62%,
        rgba(255,255,255,.18) 79%,
        rgba(255,255,255,0) 100%
      );
  }#reformGuide .rf-hero-body {
    width: 100%;
    max-width: none;

    /*
      上部に背景写真を見せる空間を確保
    */
    padding: 205px 17px 24px;
  }#reformGuide .rf-eyebrow {
    font-size: 11px;
  }#reformGuide .rf-hero h1:where(:not(.as-h2)),
#reformGuide .rf-hero div.h_h1 {
    margin-bottom: 13px !important;
    font-size: 24px !important;
    line-height: 1.55 !important;
  }#reformGuide .rf-hero-body > p {
    width: 100%;
    max-width: none;

    font-size: 14px;
    line-height: 1.9;
  }#reformGuide .rf-hero-actions {
    display: grid;
    grid-template-columns: 1fr;

    width: 100%;
    max-width: none;

    gap: 7px;
    margin-top: 17px;
  }#reformGuide .rf-button {
    width: 100%;
    min-height: 47px;
  }

}/* =========================================================
   FIRST MESSAGE
========================================================= */

#reformGuide .rf-first {
  margin-top: 38px;
  padding: 27px 24px;
  border-left: 5px solid #526f80;
  background: #f1f5f6;
}#reformGuide .rf-first small {
  display: block;
  margin-bottom: 3px;
  color: #526f80;
  font-size: 12px;
  font-weight: 700;
}#reformGuide .rf-first h2,
#reformGuide .rf-first h1.as-h2,
#reformGuide .rf-first div.h_h2 {
  margin: 0 0 9px !important;
  color: #292929 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}#reformGuide .rf-first p {
  margin: 0;
  color: #575757;
  font-size: 15px;
  line-height: 1.95;
}/* =========================================================
   PROBLEM GRID
========================================================= */

#reformGuide .rf-problem-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin-top: 26px;
}#reformGuide .rf-problem {
  position: relative;
  padding: 17px 16px 17px 45px;
  border: 1px solid #dde1e2;
  border-radius: 6px;
  background: #fff;
  color: #505050;
  font-size: 14px;
  line-height: 1.75;
}#reformGuide .rf-problem::before {
  position: absolute;
  left: 16px;
  top: 17px;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: #e6eef1;
  color: #506d7e;
  content: "✓";
  font-size: 13px;
  font-weight: 700;
  line-height: 21px;
  text-align: center;
}/* =========================================================
   SERVICES
========================================================= */

#reformGuide .rf-service-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 27px;
}#reformGuide .rf-service-card {
  padding: 19px 17px;
  border: 1px solid #dcdfe1;
  border-radius: 6px;
  background: #fff;
}#reformGuide .rf-service-no {
  display: block;
  margin-bottom: 3px;
  color: #526f80;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
}#reformGuide .rf-service-card h3 {
  margin: 0 0 5px !important;
  color: #292929 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}#reformGuide .rf-service-card p {
  margin: 0;
  color: #5d5d5d;
  font-size: 14px;
  line-height: 1.85;
}#reformGuide .rf-service-note {
  display: inline-block;
  margin-top: 8px;
  padding: 3px 7px;
  border-radius: 3px;
  background: #edf3f5;
  color: #526f80;
  font-size: 11px;
  font-weight: 700;
}/* =========================================================
   CUSTOM / IN HOUSE
========================================================= */

#reformGuide .rf-strength {
  margin-top: 58px;
  padding: 29px 25px;
  border-radius: 8px;
  background: #eef3f5;
}#reformGuide .rf-strength h2,
#reformGuide .rf-strength h1.as-h2,
#reformGuide .rf-strength div.h_h2 {
  margin: 0 0 10px !important;
  color: #292929 !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}#reformGuide .rf-strength > p {
  max-width: 660px;
  margin: 0 auto;
  color: #555;
  font-size: 15px;
  line-height: 1.95;
  text-align: center;
}#reformGuide .rf-strength-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 23px;
}#reformGuide .rf-strength-card {
  padding: 18px 15px;
  border-radius: 5px;
  background: #fff;
}#reformGuide .rf-strength-card span {
  display: block;
  margin-bottom: 3px;
  color: #526f80;
  font-size: 11px;
  font-weight: 700;
}#reformGuide .rf-strength-card strong {
  display: block;
  margin-bottom: 4px;
  color: #333;
  font-size: 15px;
  line-height: 1.6;
}#reformGuide .rf-strength-card p {
  margin: 0;
  color: #606060;
  font-size: 13px;
  line-height: 1.8;
}/* =========================================================
   SHAPE MEMORY IMPORTANT
========================================================= */

#reformGuide .rf-important {
  margin-top: 58px;
  overflow: hidden;
  border: 1px solid #dfc9b8;
  border-radius: 7px;
  background: #fffaf6;
}#reformGuide .rf-important-head {
  padding: 15px 19px;
  background: #f4e7dc;
}#reformGuide .rf-important-head small {
  display: block;
  color: #9b593e;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
}#reformGuide .rf-important-head h2,
#reformGuide .rf-important-head h1.as-h2,
#reformGuide .rf-important-head div.h_h2 {
  margin: 2px 0 0 !important;
  color: #593b30 !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}#reformGuide .rf-important-body {
  padding: 21px 20px;
}#reformGuide .rf-important-body p {
  margin: 0 0 11px;
  color: #574e49;
  font-size: 14px;
  line-height: 1.95;
}#reformGuide .rf-important-body p:last-child {
  margin-bottom: 0;
}#reformGuide .rf-important-answer {
  margin: 15px 0;
  padding: 14px 16px;
  border-left: 5px solid #ad6041;
  background: #fff;
}#reformGuide .rf-important-answer strong {
  display: block;
  color: #873f27;
  font-size: 16px;
  line-height: 1.7;
}#reformGuide .rf-important-list {
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}#reformGuide .rf-important-list li {
  position: relative;
  padding: 5px 0 5px 25px;
  color: #555;
  font-size: 14px;
  line-height: 1.75;
}#reformGuide .rf-important-list li::before {
  position: absolute;
  left: 2px;
  top: 5px;
  color: #ad6041;
  content: "×";
  font-weight: 700;
}/* =========================================================
   WIDTH CAUTION
========================================================= */

#reformGuide .rf-detail {
  display: grid;
  grid-template-columns: 42% minmax(0,1fr);
  gap: 22px;
  align-items: center;
  margin-top: 26px;
  padding: 21px;
  border: 1px solid #dcdfe1;
  border-radius: 7px;
  background: #fff;
}#reformGuide .rf-detail-image {
  overflow: hidden;
  border-radius: 5px;
}#reformGuide .rf-detail-image img {
  width: 100%;
}#reformGuide .rf-detail h3 {
  margin: 0 0 7px !important;
  color: #292929 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}#reformGuide .rf-detail p {
  margin: 0 0 8px;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.9;
}#reformGuide .rf-detail p:last-child {
  margin-bottom: 0;
}/* =========================================================
   CAN / CANNOT
========================================================= */

#reformGuide .rf-judge-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  margin-top: 26px;
}#reformGuide .rf-judge-card {
  padding: 19px 17px;
  border-radius: 6px;
}#reformGuide .rf-judge-card.ok {
  border: 1px solid #cad9d5;
  background: #f5f9f8;
}#reformGuide .rf-judge-card.ng {
  border: 1px solid #dfcec2;
  background: #fff9f5;
}#reformGuide .rf-judge-card > strong {
  display: block;
  margin-bottom: 7px;
  color: #333;
  font-size: 16px;
}#reformGuide .rf-judge-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}#reformGuide .rf-judge-card li {
  position: relative;
  padding: 4px 0 4px 23px;
  color: #555;
  font-size: 14px;
  line-height: 1.75;
}#reformGuide .rf-judge-card.ok li::before {
  position: absolute;
  left: 2px;
  color: #527867;
  content: "○";
}#reformGuide .rf-judge-card.ng li::before {
  position: absolute;
  left: 2px;
  color: #a75d44;
  content: "×";
}/* =========================================================
   PRICE
========================================================= */

#reformGuide .rf-price-box {
  margin-top: 27px;
  overflow: hidden;
  border: 1px solid #d8dfe2;
  border-radius: 7px;
  background: #fff;
}#reformGuide .rf-price-row {
  display: grid;
  grid-template-columns: 175px minmax(0,1fr);
  border-bottom: 1px solid #e1e1e1;
}#reformGuide .rf-price-row:last-child {
  border-bottom: 0;
}#reformGuide .rf-price-label {
  padding: 15px 16px;
  background: #f1f4f5;
  color: #444;
  font-size: 14px;
  font-weight: 700;
}#reformGuide .rf-price-value {
  padding: 15px 17px;
  color: #555;
  font-size: 14px;
  line-height: 1.8;
}#reformGuide .rf-price-value strong {
  color: #a34f34;
  font-size: 19px;
}#reformGuide .rf-price-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-left: 5px solid #526f80;
  background: #f1f5f6;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.85;
}/* =========================================================
   PRICE CTA
========================================================= */

#reformGuide .rf-price-cta {
  margin-top: 20px;
  padding: 21px 18px;
  border: 1px solid #d4dfe3;
  border-radius: 7px;
  background: #f2f6f7;
  text-align: center;
}#reformGuide .rf-price-cta p {
  margin: 0;
  color: #575757;
  font-size: 14px;
  line-height: 1.85;
}#reformGuide .rf-price-cta-button {
  display: inline-flex;
  min-height: 48px;
  margin-top: 13px;
  padding: 11px 25px;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: #506d7e;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
}#reformGuide .rf-price-cta-button:hover {
  opacity: .87;
}

@media screen and (max-width:480px) {#reformGuide .rf-price-cta {
    padding: 18px 14px;
    text-align: left;
  }#reformGuide .rf-price-cta-button {
    display: flex;
    width: 100%;
    min-height: 50px;
    text-align: center;
  }

}/* =========================================================
   FLOW
========================================================= */

#reformGuide .rf-flow {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-top: 27px;
}#reformGuide .rf-flow-step {
  position: relative;
  min-height: 155px;
  padding: 17px 14px;
  border: 1px solid #dce1e3;
  border-radius: 6px;
  background: #fff;
}#reformGuide .rf-flow-step span {
  display: block;
  margin-bottom: 3px;
  color: #526f80;
  font-size: 11px;
  font-weight: 700;
}#reformGuide .rf-flow-step strong {
  display: block;
  margin-bottom: 5px;
  color: #333;
  font-size: 15px;
  line-height: 1.6;
}#reformGuide .rf-flow-step p {
  margin: 0;
  color: #606060;
  font-size: 13px;
  line-height: 1.8;
}/* =========================================================
   SHIPPING / WASH
========================================================= */

#reformGuide .rf-send-box {
  margin-top: 22px;
  padding: 22px 20px;
  border-radius: 7px;
  background: #f4f6f6;
}#reformGuide .rf-send-box h3 {
  margin: 0 0 7px !important;
  color: #292929 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}#reformGuide .rf-send-box p {
  margin: 0 0 7px;
  color: #565656;
  font-size: 14px;
  line-height: 1.85;
}#reformGuide .rf-address {
  margin-top: 12px;
  padding: 13px 15px;
  border: 1px solid #d9dede;
  border-radius: 4px;
  background: #fff;
  color: #454545;
  font-size: 14px;
  line-height: 1.8;
}/* =========================================================
   CUSTOMER VOICE
========================================================= */

#reformGuide .rf-voice {
  margin-top: 27px;
  overflow: hidden;
  border: 1px solid #d9dfe1;
  border-radius: 8px;
  background: #fff;
}#reformGuide .rf-voice-head {
  padding: 13px 17px;
  background: #eef3f5;
}#reformGuide .rf-voice-head small {
  display: block;
  color: #526f80;
  font-size: 11px;
  font-weight: 700;
}#reformGuide .rf-voice-head strong {
  color: #333;
  font-size: 15px;
}#reformGuide .rf-voice-main {
  display: grid;
  grid-template-columns: 43% minmax(0,1fr);
}#reformGuide .rf-voice-image {
  padding: 17px;
  border-right: 1px solid #e1e1e1;
  background: #f7f7f6;
}#reformGuide .rf-voice-image a {
  display: block;
  cursor: zoom-in;
}#reformGuide .rf-voice-image img {
  width: 100%;
  border: 1px solid #ddd;
  background: #fff;
}#reformGuide .rf-voice-image small {
  display: block;
  margin-top: 6px;
  color: #777;
  font-size: 11px;
  text-align: center;
}#reformGuide .rf-voice-story {
  padding: 21px 20px;
}#reformGuide .rf-voice-story h3 {
  margin: 0 0 9px !important;
  color: #292929 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}#reformGuide .rf-voice-story p {
  margin: 0 0 9px;
  color: #565656;
  font-size: 14px;
  line-height: 1.95;
}#reformGuide .rf-voice-highlight {
  margin-top: 13px;
  padding: 12px 14px;
  border-left: 4px solid #526f80;
  background: #f2f5f6;
  color: #3f515a;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}/* =========================================================
   CONSULT / ESTIMATE
========================================================= */

#reformGuide .rf-consult {
  margin-top: 58px;
  padding: 29px 23px;
  border-radius: 8px;
  background: #eaf0f2;
}#reformGuide .rf-consult-head {
  text-align: center;
}#reformGuide .rf-consult-head small {
  display: block;
  color: #526f80;
  font-size: 12px;
  font-weight: 700;
}#reformGuide .rf-consult-head h2,
#reformGuide .rf-consult-head h1.as-h2,
#reformGuide .rf-consult-head div.h_h2 {
  margin: 3px 0 8px !important;
  color: #292929 !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}#reformGuide .rf-consult-head p {
  max-width: 640px;
  margin: 0 auto;
  color: #555;
  font-size: 14px;
  line-height: 1.9;
}#reformGuide .rf-consult-actions {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 18px;
}#reformGuide .rf-form-shell {
  margin-top: 22px;
  padding: 18px;
  border-radius: 6px;
  background: #fff;
}#reformGuide .rf-form-shell form {
  width: 100%;
}/* =========================================================
   FAQ
========================================================= */

#reformGuide .rf-faq {
  margin-top: 25px;
  border-top: 1px solid #ddd;
}#reformGuide .rf-faq-item {
  padding: 19px 5px;
  border-bottom: 1px solid #ddd;
}#reformGuide .rf-faq-q {
  position: relative;
  margin-bottom: 7px;
  padding-left: 34px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.75;
}#reformGuide .rf-faq-q::before {
  position: absolute;
  left: 0;
  color: #526f80;
  content: "Q";
  font-size: 19px;
  font-weight: 700;
}#reformGuide .rf-faq-a {
  position: relative;
  margin: 0;
  padding-left: 34px;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.9;
}#reformGuide .rf-faq-a::before {
  position: absolute;
  left: 1px;
  color: #8a725d;
  content: "A";
  font-size: 18px;
  font-weight: 700;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width:700px) {#reformGuide .rf-hero,
#reformGuide .rf-detail,
#reformGuide .rf-voice-main {
    grid-template-columns: 1fr;
  }#reformGuide .rf-hero-photo {
    order: -1;
    min-height: 260px;
    max-height: 350px;
  }#reformGuide .rf-strength-grid,
#reformGuide .rf-flow {
    grid-template-columns: 1fr;
  }#reformGuide .rf-voice-image {
    border-right: 0;
    border-bottom: 1px solid #e1e1e1;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width:480px) {#reformGuide .rf-section {
    margin-top: 48px;
  }#reformGuide .rf-title {
    font-size: 22px !important;
    text-align: left !important;
  }#reformGuide .rf-kicker,
#reformGuide .rf-lead {
    text-align: left;
  }#reformGuide .rf-hero-body {
    padding: 26px 17px 28px;
  }#reformGuide .rf-hero h1:where(:not(.as-h2)),
#reformGuide .rf-hero div.h_h1 {
    font-size: 24px !important;
  }#reformGuide .rf-hero-body > p {
    font-size: 14px;
  }#reformGuide .rf-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }#reformGuide .rf-first {
    padding: 21px 15px;
  }#reformGuide .rf-first h2,
#reformGuide .rf-first h1.as-h2,
#reformGuide .rf-first div.h_h2 {
    font-size: 20px !important;
  }#reformGuide .rf-problem-grid,
#reformGuide .rf-service-grid,
#reformGuide .rf-judge-grid {
    grid-template-columns: 1fr;
  }#reformGuide .rf-strength {
    padding: 23px 14px;
  }#reformGuide .rf-strength h2,
#reformGuide .rf-strength h1.as-h2,
#reformGuide .rf-strength div.h_h2 {
    font-size: 21px !important;
    text-align: left !important;
  }#reformGuide .rf-strength > p {
    font-size: 14px;
    text-align: left;
  }#reformGuide .rf-important-head,
#reformGuide .rf-important-body {
    padding-left: 14px;
    padding-right: 14px;
  }#reformGuide .rf-important-head h2,
#reformGuide .rf-important-head h1.as-h2,
#reformGuide .rf-important-head div.h_h2 {
    font-size: 19px !important;
  }#reformGuide .rf-detail {
    padding: 14px;
  }#reformGuide .rf-price-row {
    grid-template-columns: 1fr;
  }#reformGuide .rf-price-label {
    padding: 9px 13px;
  }#reformGuide .rf-price-value {
    padding: 12px 13px;
  }#reformGuide .rf-voice-story {
    padding: 17px 14px;
  }#reformGuide .rf-consult {
    padding: 24px 14px;
  }#reformGuide .rf-consult-head {
    text-align: left;
  }#reformGuide .rf-consult-head h2,
#reformGuide .rf-consult-head h1.as-h2,
#reformGuide .rf-consult-head div.h_h2 {
    font-size: 21px !important;
    text-align: left !important;
  }#reformGuide .rf-consult-head p {
    text-align: left;
  }#reformGuide .rf-consult-actions {
    display: grid;
    grid-template-columns: 1fr;
  }#reformGuide .rf-form-shell {
    padding: 12px;
  }

}/* =========================================================
   VIDEO GUIDE
========================================================= */

#reformGuide .rf-video-section {
  width: 100%;
}#reformGuide .rf-video-card {
  width: 100%;
  margin-top: 25px;
  overflow: hidden;
  border: 1px solid #d9dfe1;
  border-radius: 8px;
  background: #fff;
}/* 16:9 YOUTUBE */

#reformGuide .rf-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  overflow: hidden;
  background: #000;
}#reformGuide .rf-youtube iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}/* CAPTION */

#reformGuide .rf-video-caption {
  padding: 17px 19px 19px;
  border-top: 1px solid #e1e1e1;
}#reformGuide .rf-video-caption strong {
  display: block;
  margin-bottom: 4px;
  color: #303030;
  font-size: 16px;
  line-height: 1.65;
}#reformGuide .rf-video-caption p {
  margin: 0;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.85;
}


/* MOBILE */

@media screen and (max-width:480px) {#reformGuide .rf-video-card {
    margin-top: 20px;
    border-radius: 6px;
  }#reformGuide .rf-video-caption {
    padding: 14px;
  }#reformGuide .rf-video-caption strong {
    font-size: 15px;
  }

}/* =========================================================
   REFORM CONSULT LINK
========================================================= */

#reformGuide .rf-consult-link {
  max-width: 650px;
  margin: 24px auto 0;
}#reformGuide .rf-consult-link-inner {
  padding: 25px 23px 27px;
  border: 1px solid #d6dfe2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(50,65,72,.06);
  text-align: center;
}#reformGuide .rf-consult-link small {
  display: block;
  margin-bottom: 3px;
  color: #526f80;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
}#reformGuide .rf-consult-link h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #292929 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}#reformGuide .rf-consult-link p {
  max-width: 570px;
  margin: 0 auto;
  color: #595959;
  font-size: 14px;
  line-height: 1.85;
}#reformGuide .rf-consult-link-note {
  margin-top: 7px !important;
  color: #6c6c6c !important;
  font-size: 13px !important;
}#reformGuide .rf-consult-link-button {
  display: inline-flex;
  min-height: 52px;
  margin-top: 17px;
  padding: 12px 27px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #506d7e;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none !important;
  transition:
    opacity .2s ease,
    transform .15s ease;
}#reformGuide .rf-consult-link-button:hover {
  opacity: .87;
}#reformGuide .rf-consult-link-button:active {
  transform: translateY(1px);
}


/* MOBILE */

@media screen and (max-width:480px) {#reformGuide .rf-consult-link {
    margin-top: 20px;
  }#reformGuide .rf-consult-link-inner {
    padding: 20px 14px 22px;
    text-align: left;
  }#reformGuide .rf-consult-link h3 {
    font-size: 18px !important;
  }#reformGuide .rf-consult-link p {
    font-size: 14px;
  }#reformGuide .rf-consult-link-button {
    display: flex;
    width: 100%;
    min-height: 52px;
    padding: 12px 14px;
    font-size: 15px;
    text-align: center;
  }

}