    .ring-repair-form {
      --rf-navy:#082759;
      --rf-navy-dark:#051e48;
      --rf-orange:#e9a22e;
      --rf-blue:#3f83cf;
      --rf-text:#26313e;
      --rf-muted:#607080;
      --rf-border:#dae3ed;
      --rf-soft:#f5f8fc;
      --rf-optional:#edf5ff;
      box-sizing:border-box;
      color:var(--rf-text);
      background:#fff;
      font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
      width:min(100%, 990px);
      margin:0 auto;
      padding:36px 24px 75px;
    }
    .ring-repair-form * { box-sizing:border-box; }
    .ring-repair-form .rf-progress {
      display:flex;
      justify-content:center;
      align-items:center;
      gap:14px;
      margin-bottom:43px;
      color:var(--rf-muted);
      font-size:13px;
      font-weight:700;
    }
    .ring-repair-form .rf-progress span {
      display:inline-flex;
      align-items:center;
      gap:7px;
      white-space:nowrap;
    }
    .ring-repair-form .rf-progress b {
      display:grid;
      place-items:center;
      width:23px;
      height:23px;
      border:1px solid var(--rf-border);
      border-radius:50%;
      background:#fff;
      font-size:12px;
    }
    .ring-repair-form .rf-progress .rf-active { color:var(--rf-navy); }
    .ring-repair-form .rf-progress .rf-active b {
      color:#fff;
      border-color:var(--rf-navy);
      background:var(--rf-navy);
    }
    .ring-repair-form .rf-progress i {
      width:24px;
      height:1px;
      background:var(--rf-border);
    }
    .ring-repair-form .rf-section { margin:0 0 38px; }
    .ring-repair-form .rf-section-title {
      display:flex;
      align-items:center;
      gap:11px;
      margin:0 0 17px;
      color:var(--rf-navy);
      font-size:22px;
      font-weight:700;
      line-height:1.5;
    }
    .ring-repair-form .rf-section-title:before {
      content:"";
      width:5px;
      height:27px;
      border-radius:5px;
      background:var(--rf-orange);
      flex:0 0 auto;
    }
    .ring-repair-form .rf-section-sub {
      margin:-8px 0 17px 16px;
      color:var(--rf-muted);
      font-size:13px;
      line-height:1.7;
    }
    .ring-repair-form .rf-fields {
      border:1px solid var(--rf-border);
      border-radius:10px;
      overflow:hidden;
      background:#fff;
    }
    .ring-repair-form .rf-field {
      display:grid;
      grid-template-columns:245px minmax(0,1fr);
      border-bottom:1px solid var(--rf-border);
    }
    .ring-repair-form .rf-field:last-child { border-bottom:0; }
    .ring-repair-form .rf-label {
      display:flex;
      align-items:center;
      gap:9px;
      padding:20px 18px;
      color:var(--rf-navy);
      background:var(--rf-soft);
      font-size:14px;
      font-weight:700;
      line-height:1.5;
    }
    .ring-repair-form .rf-required,
    .ring-repair-form .rf-optional-tag {
      flex:0 0 auto;
      padding:3px 7px;
      border-radius:4px;
      font-size:11px;
      font-weight:700;
      line-height:1.2;
    }
    .ring-repair-form .rf-required {
      color:#fff;
      background:var(--rf-navy);
    }
    .ring-repair-form .rf-optional-tag {
      color:var(--rf-blue);
      background:var(--rf-optional);
    }
    .ring-repair-form .rf-control {
      min-width:0;
      padding:15px 20px;
    }
    .ring-repair-form input[type="text"],
    .ring-repair-form input[type="email"],
    .ring-repair-form input[type="tel"],
    .ring-repair-form textarea {
      width:100%;
      min-height:45px;
      padding:10px 12px;
      border:1px solid #b7c5d5;
      border-radius:5px;
      color:var(--rf-text);
      background:#fff;
      font:inherit;
      font-size:16px;
    }
    .ring-repair-form textarea { min-height:135px; resize:vertical; }
    .ring-repair-form input:focus-visible,
    .ring-repair-form textarea:focus-visible,
    .ring-repair-form button:focus-visible,
    .ring-repair-form summary:focus-visible {
      outline:3px solid var(--rf-orange);
      outline-offset:2px;
    }
    .ring-repair-form .rf-hint {
      display:block;
      margin-top:7px;
      color:var(--rf-muted);
      font-size:12px;
      line-height:1.6;
    }
    .ring-repair-form .rf-stack { display:grid; gap:12px; }
    .ring-repair-form .rf-phone {
      display:flex;
      align-items:center;
      gap:8px;
      max-width:380px;
    }
    .ring-repair-form .rf-phone input { min-width:0; text-align:center; }
    .ring-repair-form .rf-choices {
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:11px 20px;
      min-height:45px;
    }
    .ring-repair-form .rf-choices label,
    .ring-repair-form .rf-agreement label {
      display:inline-flex;
      align-items:center;
      gap:9px;
      font-size:14px;
      line-height:1.5;
    }
    .ring-repair-form input[type="checkbox"],
    .ring-repair-form input[type="radio"] {
      width:18px;
      height:18px;
      accent-color:var(--rf-navy);
      flex:0 0 auto;
    }
    .ring-repair-form .rf-loan-info {
      margin:0 0 17px;
      padding:17px 20px;
      border:1px solid #c7d9ee;
      border-radius:9px;
      color:var(--rf-text);
      background:var(--rf-optional);
      font-size:14px;
      line-height:1.75;
    }
    .ring-repair-form .rf-loan-info strong {
      display:block;
      color:var(--rf-navy);
      margin-bottom:3px;
      font-size:15px;
    }
    .ring-repair-form .rf-loan-info a {
      color:var(--rf-navy);
      font-weight:700;
      text-decoration:underline;
      text-underline-offset:3px;
    }
    .ring-repair-form .rf-address {
      margin-top:14px;
      padding:17px 19px;
      border:1px solid #c7d9ee;
      border-radius:9px;
      background:var(--rf-optional);
    }
    .ring-repair-form .rf-address h3 {
      margin:0 0 12px;
      color:var(--rf-navy);
      font-size:16px;
    }
    .ring-repair-form .rf-address .rf-zip { width:180px; max-width:100%; }
    .ring-repair-form .rf-address .rf-stack { margin-top:12px; }
    .ring-repair-form .rf-policy {
      margin-bottom:16px;
      border:1px solid var(--rf-border);
      border-radius:9px;
      background:#fff;
      overflow:hidden;
    }
    .ring-repair-form .rf-policy summary {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:15px;
      min-height:60px;
      padding:15px 18px;
      color:var(--rf-navy);
      font-size:16px;
      font-weight:700;
      list-style:none;
      cursor:pointer;
    }
    .ring-repair-form .rf-policy summary::-webkit-details-marker { display:none; }
    .ring-repair-form .rf-policy summary:after {
      content:"＋";
      font-size:20px;
    }
    .ring-repair-form .rf-policy[open] summary:after { content:"−"; }
    .ring-repair-form .rf-policy-body {
      max-height:220px;
      overflow:auto;
      padding:16px 20px;
      border-top:1px solid var(--rf-border);
      background:var(--rf-soft);
      font-size:13px;
      line-height:1.8;
    }
    .ring-repair-form .rf-policy-body p { margin:0 0 10px; }
    .ring-repair-form .rf-policy-body p:last-child { margin-bottom:0; }
    .ring-repair-form .rf-policy-body b { color:var(--rf-navy); }
    .ring-repair-form .rf-policy-body ul { padding-left:1.5em; margin:4px 0 13px; }
    .ring-repair-form .rf-policy-body li { margin-bottom:3px; }
    .ring-repair-form .rf-policy-body dl { margin:10px 0 0; }
    .ring-repair-form .rf-policy-body dt { margin-top:16px; color:var(--rf-navy); font-weight:700; }
    .ring-repair-form .rf-policy-body dd { margin:5px 0 12px; }
    .ring-repair-form .rf-policy-body address { margin-bottom:12px; font-style:normal; text-align:right; }
    .ring-repair-form .rf-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .ring-repair-form .rf-agreement {
      margin:-4px 0 20px;
      padding:14px 18px;
      border-radius:7px;
      background:var(--rf-soft);
    }
    .ring-repair-form .rf-footer {
      padding-top:3px;
      text-align:center;
    }
    .ring-repair-form .rf-next {
      min-width:230px;
      min-height:52px;
      padding:11px 22px;
      border:0;
      border-radius:7px;
      color:#fff;
      background:var(--rf-navy);
      font:inherit;
      font-size:16px;
      font-weight:700;
    }
    .ring-repair-form .rf-next:hover { background:var(--rf-navy-dark); }
    .ring-repair-form .rf-footer p {
      margin:12px 0 0;
      color:var(--rf-muted);
      font-size:12px;
    }
    @media (max-width:720px) {
      .ring-repair-form .rf-progress { gap:8px; }
      .ring-repair-form .rf-progress i { width:12px; }
      .ring-repair-form .rf-section-title { font-size:20px; }
      .ring-repair-form .rf-field { display:block; }
      .ring-repair-form .rf-label { padding:12px 14px; }
      .ring-repair-form .rf-control { padding:14px; }
      .ring-repair-form .rf-phone { max-width:100%; }
      .ring-repair-form .rf-next { width:100%; }
    }
  
/* MW WP Form's existing form wrapper remains the only form element. */
.ring-repair-form .rf-lead { text-align:center; }
.ring-repair-form .rf-response { text-align:center; }
.ring-repair-form .rf-lead { margin:0 0 8px; font-size:16px; line-height:1.8; }
.ring-repair-form .rf-response { margin:0 0 34px; color:var(--rf-muted); font-size:13px; line-height:1.7; }
.mw_wp_form_confirm .ring-repair-form .rf-lead,
.mw_wp_form_confirm .ring-repair-form .rf-response { display:none; }
.ring-repair-form .rf-progress .rf-input-step { color:var(--rf-navy); }
.ring-repair-form .rf-progress .rf-input-step b { color:#fff; border-color:var(--rf-navy); background:var(--rf-navy); }
.mw_wp_form_confirm .ring-repair-form .rf-progress .rf-input-step { color:var(--rf-muted); }
.mw_wp_form_confirm .ring-repair-form .rf-progress .rf-input-step b { color:var(--rf-muted); border-color:var(--rf-border); background:#fff; }
.mw_wp_form_confirm .ring-repair-form .rf-progress .rf-confirm-step { color:var(--rf-navy); }
.mw_wp_form_confirm .ring-repair-form .rf-progress .rf-confirm-step b { color:#fff; border-color:var(--rf-navy); background:var(--rf-navy); }
.ring-repair-form .rf-control { line-height:1.8; }
.ring-repair-form .rf-control > input[type=text],
.ring-repair-form .rf-control > input[type=email],
.ring-repair-form .rf-control > textarea { display:block; max-width:100%; }
.ring-repair-form .rf-control .rf-hint { margin-bottom:5px; }
.ring-repair-form .rf-field--tel input[type=tel] { width:clamp(68px, 20%, 110px); min-width:0; text-align:center; }
.ring-repair-form .rf-field--tel .rf-control > .rf-hint { margin-top:8px; }
.ring-repair-form .rf-choices label,
.ring-repair-form .rf-agreement label { margin-right:15px; cursor:pointer; }
.ring-repair-form .rf-choices .mwform-checkbox-field,
.ring-repair-form .rf-choices .mwform-radio-field { display:inline-flex; margin:5px 0; }
.ring-repair-form .rf-address .rf-stack { gap:10px; }
.ring-repair-form .rf-address .rf-zip { max-width:100%; }
.ring-repair-form .rf-agreement { line-height:1.9; }
.ring-repair-form .rf-agreement input[type=checkbox] { vertical-align:middle; }
.ring-repair-form .rf-footer .sendbutton,
.ring-repair-form .rf-footer .back-btn {
  display:inline-block; width:auto; min-width:210px; min-height:52px;
  padding:11px 24px; border-radius:7px; font-size:16px; font-weight:700;
  cursor:pointer; vertical-align:middle;
}
.ring-repair-form .rf-footer .sendbutton { border:1px solid var(--rf-navy); background:var(--rf-navy); color:#fff; }
.ring-repair-form .rf-footer .sendbutton:hover { background:var(--rf-navy-dark); }
.ring-repair-form .rf-footer .back-btn { margin-right:14px; border:1px solid var(--rf-border); background:#fff; color:var(--rf-navy); }
.ring-repair-form .rf-footer .back-btn:hover { background:var(--rf-soft); }
.ring-repair-form .error { display:block; margin-top:5px; color:#b8292f; font-size:13px; }
.mw_wp_form_confirm .ring-repair-form .rf-footer p { display:none; }
.ring-repair-page .second-content-innner { max-width:1020px; margin:0 auto; }
.ring-repair-page .rf-page-title {
  margin:55px auto 30px; color:#082759; font-size:clamp(27px,3.4vw,36px);
  font-weight:700; line-height:1.5; text-align:center; border:0;
}
.ring-repair-page .rf-page-title::after {
  content:""; display:block; width:56px; height:3px; margin:14px auto 0;
  border-radius:4px; background:#e9a22e;
}
.ring-repair-page .rf-page-message {
  max-width:940px; margin:0 auto 5px; padding:14px 18px; border-radius:8px;
  border:1px solid #c7d9ee; background:#edf5ff; color:#082759;
  font-size:15px; line-height:1.8;
}
.ring-repair-page .rf-page-message--error { border-color:#e8b9bc; background:#fff3f3; color:#9b252d; }
.ring-repair-page .rf-complete {
  max-width:650px; margin:45px auto 110px; padding:46px 32px;
  border:1px solid #dae3ed; border-radius:12px; text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  color:#26313e; box-shadow:0 5px 24px rgba(8,39,89,.05);
}
.ring-repair-page .rf-complete-mark {
  display:grid; place-items:center; width:60px; height:60px; margin:0 auto 20px;
  border-radius:50%; background:#082759; color:#fff; font-size:30px;
}
.ring-repair-page .rf-complete h2 { margin:0 0 14px; color:#082759; font-size:24px; }
.ring-repair-page .rf-complete p { margin:6px 0; font-size:15px; line-height:1.8; }
.ring-repair-page .rf-complete a {
  display:inline-block; min-width:220px; margin-top:28px; padding:13px 20px;
  border-radius:7px; background:#082759; color:#fff; text-decoration:none; font-weight:700;
}
.ring-repair-page .rf-complete a:hover { background:#051e48; }
@media(max-width:720px) {
  .ring-repair-page .rf-page-title { margin:38px auto 18px; padding:0 15px; }
  .ring-repair-page .rf-page-message { margin:0 15px 8px; }
  .ring-repair-page .rf-complete { margin:32px 15px 75px; padding:35px 20px; }
  .ring-repair-form { padding:25px 15px 55px; }
  .ring-repair-form .rf-lead, .ring-repair-form .rf-response { text-align:left; }
  .ring-repair-form .rf-footer .sendbutton, .ring-repair-form .rf-footer .back-btn { display:block; width:100%; margin:0 0 10px; }
}
