/* Service and trust pages: scoped to the seven reviewed production pages. */
.rx36-refresh {
  --rx36-ink: #17252c;
  --rx36-muted: #52636a;
  --rx36-line: #d5dfdf;
  --rx36-paper: #f5f8f7;
  --rx36-accent: #176761;
}
.rx36-refresh #main {
  color: var(--rx36-ink);
  font-family: var(--rx2-shell-body, "Noto Sans JP", sans-serif);
  font-size: 16px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.rx36-refresh #main :is(input, select, textarea, button) { font: inherit; }
.rx36-refresh #main :is(h1, h2, h3) { font-family: inherit; letter-spacing: .02em; }
.rx36-refresh #main a:focus-visible,
.rx36-refresh #main button:focus-visible { outline: 3px solid var(--rx36-accent); outline-offset: 4px; }
.rx36-refresh :is(.contact-hero, .tf-hero) {
  padding: 64px 24px 48px;
  background: var(--rx36-paper);
  color: var(--rx36-ink);
  text-align: left;
  border-bottom: 1px solid var(--rx36-line);
}
.rx36-refresh :is(.contact-hero, .tf-hero) .container { max-width: 960px; padding: 0; margin: auto; }
.rx36-refresh .contact-hero::before { content: none; animation: none; }
.rx36-refresh :is(.contact-hero, .tf-hero, .legal-header) h1,
.rx36-refresh .legal-content h1.section-title,
.rx36-refresh .ramex-guide h1 {
  font-size: clamp(26.4px, 3vw, 36.8px);
  font-weight: 600;
  line-height: 1.5;
  color: var(--rx36-ink);
  margin: 0 0 16px;
  border: 0;
  padding: 0;
  text-align: left;
}
.rx36-refresh :is(.contact-hero, .tf-hero, .legal-header) p {
  color: var(--rx36-muted); font-size: 16px; line-height: 1.9; opacity: 1; max-width: 760px; margin: 0;
}
.rx36-refresh .contact-container { max-width: 1008px; margin: 0 auto; padding: 48px 24px 80px; z-index: auto; }
.rx36-refresh .contact-form-card,
.rx36-refresh .contact-form-card:hover { padding: 0; border-radius: 0; box-shadow: none; transition: none; }
.rx36-refresh #contactForm { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.rx36-refresh #contactForm > * { grid-column: 1 / -1; min-width: 0; }
.rx36-refresh #contactForm > .rx36-half { grid-column: auto; }
.rx36-refresh .form-section-title {
  font-size: 19.2px; font-weight: 600; color: var(--rx36-ink); padding-bottom: 16px; margin-bottom: 28px; border-bottom: 1px solid var(--rx36-line);
}
.rx36-refresh .form-group { margin-bottom: 28px; }
.rx36-refresh .form-group label { color: var(--rx36-ink); font-size: 15.2px; font-weight: 600; margin-bottom: 10px; }
.rx36-refresh .form-group label .required { color: #a23c29; font-size: 16px; }
.rx36-refresh .form-group :is(input, textarea, select) {
  width: 100%; max-width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #7c9094; border-radius: 5px;
  background: #fff; color: var(--rx36-ink); font-size: 16px; transition: border-color .15s, box-shadow .15s;
}
.rx36-refresh .form-group :is(input, textarea, select):focus {
  border-color: var(--rx36-accent); outline: 2px solid var(--rx36-accent); outline-offset: 2px; box-shadow: none;
}
.rx36-refresh .form-group textarea { min-height: 200px; line-height: 1.8; }
.rx36-refresh .form-hint { color: var(--rx36-muted); font-size: 14px; line-height: 1.75; }
.rx36-refresh .form-footer { margin-top: 8px; padding-top: 32px; border-top: 1px solid var(--rx36-line); }
.rx36-refresh .form-footer p { color: var(--rx36-muted); font-size: 14px; line-height: 1.8; }
.rx36-refresh .submit-btn,
.rx36-refresh .submit-btn:hover { min-height: 54px; min-width: 230px; border-radius: 6px; padding: 14px 40px; background: var(--rx36-ink); box-shadow: none; transform: none; }
.rx36-refresh .submit-btn:disabled { cursor: wait; opacity: .65; }
.rx36-refresh :is(.quote-notice, .success-message) { padding: 24px; border: 1px solid var(--rx36-line); border-left: 3px solid var(--rx36-accent); border-radius: 6px; background: var(--rx36-paper); box-shadow: none; }
.rx36-refresh :is(.quote-notice-content, .success-message-content) :is(h3, p) { color: var(--rx36-ink); }
/* Company and policy content remain intact; only presentation is unified. */
.rx36-refresh #main.legal-page { padding: 64px 0 80px; min-height: auto; background: #fff; }
.rx36-refresh .legal-container { max-width: 1008px; padding: 0 24px; }
.rx36-refresh .legal-header { background: none; color: var(--rx36-ink); padding: 0 0 32px; border-radius: 0; border-bottom: 1px solid var(--rx36-line); margin-bottom: 40px; text-align: left; }
.rx36-refresh .legal-header h1 i { display: none; }
.rx36-refresh .legal-content { padding: 0; border-radius: 0; box-shadow: none; background: #fff; }
.rx36-refresh .legal-content :is(h2, .section-title) { color: var(--rx36-ink); font-size: 21.6px; font-weight: 600; margin: 48px 0 24px; padding-bottom: 16px; border-bottom: 1px solid var(--rx36-line); }
.rx36-refresh .legal-content h3 { color: var(--rx36-ink) !important; font-size: 17.6px !important; }
.rx36-refresh .legal-content :is(p, li, td) { color: #34474e; line-height: 1.95; }
.rx36-refresh .legal-content a:not(.back-link a) { color: var(--rx36-accent); text-decoration: underline; text-underline-offset: 4px; }
.rx36-refresh .info-table { width: 100%; margin: 32px 0 48px; }
.rx36-refresh .info-table :is(th, td) { border: 0; border-bottom: 1px solid var(--rx36-line); padding: 22px 20px; vertical-align: top; }
.rx36-refresh .info-table th { color: var(--rx36-ink); background: var(--rx36-paper); font-weight: 600; width: 28%; }
.rx36-refresh :is(.contact-box, .enactment-date, .notice-box) { background: var(--rx36-paper); border-color: var(--rx36-line); border-radius: 6px; padding: 24px; }
.rx36-refresh .contact-box { border-left: 3px solid var(--rx36-accent); }
.rx36-refresh .legal-content > div[style*="border-left"] { background: var(--rx36-paper) !important; border-left-color: var(--rx36-accent) !important; border-radius: 6px !important; }
.rx36-refresh .back-link { margin-top: 48px; text-align: left; }
.rx36-refresh .back-link a,
.rx36-refresh .back-link a:hover { color: var(--rx36-ink); background: #fff; border: 1px solid var(--rx36-line); border-radius: 6px; box-shadow: none; transform: none; padding: 12px 24px; }
.rx36-refresh .back-link i { display: none; }
.rx36-refresh .security-action-badge { align-items: flex-start; }
/* A single reading direction replaces the alternating transaction timeline. */
.rx36-refresh .tf-overview { background: #fff; padding: 32px 24px; border-bottom: 1px solid var(--rx36-line); }
.rx36-refresh .tf-overview-steps { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.rx36-refresh .tf-overview-item { display: block; }
.rx36-refresh .tf-overview-arrow { display: none; }
.rx36-refresh .tf-overview-card,
.rx36-refresh .tf-overview-card:hover { border: 1px solid var(--rx36-line); border-radius: 6px; box-shadow: none; transform: none; padding: 14px; background: #fff; }
.rx36-refresh .tf-overview-card { min-width: 0; min-height: 100px; height: 100%; justify-content: center; }
.rx36-refresh :is(.tf-overview-num, .tf-overview-arrow) { color: var(--rx36-accent); }
.rx36-refresh :is(.tf-overview-icon, .tf-step-icon) { display: none; }
.rx36-refresh .tf-overview-label { font-size: 14px; }
.rx36-refresh .tf-details { padding: 32px 24px 56px; }
.rx36-refresh .tf-details .container { max-width: 960px; padding: 0; }
.rx36-refresh .tf-timeline { padding: 0; }
.rx36-refresh .tf-timeline::before { content: none; }
.rx36-refresh .tf-step { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 24px; padding: 32px 0; margin: 0; border-bottom: 1px solid var(--rx36-line); }
.rx36-refresh .tf-step .tf-step-spacer { display: none; }
.rx36-refresh .tf-step .tf-step-marker { order: 0; width: 48px; height: 48px; border-radius: 6px; background: var(--rx36-paper); color: var(--rx36-accent); border: 1px solid var(--rx36-line); box-shadow: none; }
.rx36-refresh .tf-step-number { font-size: 12.8px; }
.rx36-refresh .tf-step .tf-step-content { order: 1; width: auto; padding: 0; text-align: left; }
.rx36-refresh .tf-step-content h2 { font-size: 20px; color: var(--rx36-ink); }
.rx36-refresh .tf-step-content ul li { color: #34474e; font-size: 16px; line-height: 1.85; }
.rx36-refresh .tf-step-content ul li::before { background: var(--rx36-accent); }
.rx36-refresh .tf-bulk { padding: 0 24px 56px; }
.rx36-refresh .tf-bulk-box { max-width: 960px; background: var(--rx36-paper); border: 1px solid var(--rx36-line); border-left: 3px solid var(--rx36-accent); border-radius: 6px; padding: 28px; }
.rx36-refresh .tf-bulk-box h3 i { display: none; }
.rx36-refresh .tf-bulk-box a { color: var(--rx36-accent) !important; }
.rx36-refresh :is(.tf-cta, .tf-back) { background: var(--rx36-paper); }
.rx36-refresh .tf-cta-btn,
.rx36-refresh .tf-cta-btn:hover { background: var(--rx36-ink); color: #fff; border-radius: 6px; box-shadow: none; transform: none; }
.rx36-refresh .tf-back a { color: var(--rx36-accent); }
.rx36-refresh #main.container { max-width: 1008px; padding: 64px 24px 80px; }
.rx36-refresh .ramex-guide { padding: 0; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.rx36-refresh .ramex-guide__links a,
.rx36-refresh .ramex-guide__links a:hover { border-color: var(--rx36-line); background: #fff; border-radius: 6px; transform: none; }
.rx36-refresh .ramex-guide__links a::after { color: var(--rx36-accent); }
@media (max-width: 768px) {
  .rx36-refresh :is(.contact-hero, .tf-hero) { padding: 36px 20px 32px; }
  .rx36-refresh .contact-container { padding: 32px 20px 56px; }
  .rx36-refresh #contactForm { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .rx36-refresh #contactForm > .rx36-half { grid-column: 1 / -1; }
  .rx36-refresh #main.legal-page { padding: 36px 0 56px; }
  .rx36-refresh .legal-container { padding: 0 20px; }
  .rx36-refresh .legal-header { margin-bottom: 32px; }
  .rx36-refresh .info-table :is(th, td) { display: block; width: 100%; padding: 14px 16px; }
  .rx36-refresh .info-table th { background: var(--rx36-paper); color: var(--rx36-ink); border-bottom: 0; }
  .rx36-refresh .tf-step { grid-template-columns: 40px minmax(0, 1fr); gap: 16px; }
  .rx36-refresh .tf-step .tf-step-marker { width: 38px; height: 38px; }
  .rx36-refresh .tf-overview { padding: 24px 20px; }
  .rx36-refresh .tf-overview-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .rx36-refresh .tf-overview-card { padding: 12px 8px; }
  .rx36-refresh .tf-details { padding: 8px 20px 40px; }
  .rx36-refresh #main.container { padding: 36px 20px 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .rx36-refresh #main *, .rx36-refresh #main *::before, .rx36-refresh #main *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
