:root {
  --bp-navy: #243e72;
  --bp-navy-soft: #2f508a;
  --bp-navy-border: #8fa4c7;
  --bp-navy-shadow: rgba(36, 62, 114, 0.14);
  --bp-navy-subtle: rgba(36, 62, 114, 0.12);
}

/* お引越しページ: Bootstrap の青 (#0d6efd) ではなくネイビーに統一 */
.page-move {
  --bs-primary: #243e72;
  --bs-primary-rgb: 36, 62, 114;
  --bs-link-color: #243e72;
  --bs-link-hover-color: #2f508a;
}

.hero-home {
  --bs-primary: #243e72;
  --bs-primary-rgb: 36, 62, 114;
}

.hero-home .btn-primary {
  background-color: var(--bp-navy);
  border-color: var(--bp-navy);
  color: #fff;
}

.hero-home .btn-primary:hover,
.hero-home .btn-primary:focus {
  background-color: var(--bp-navy-soft);
  border-color: var(--bp-navy-soft);
  color: #fff;
}

.page-move .text-primary,
.page-move h1 .text-primary,
.page-move h2.text-primary,
.page-move h3.text-primary,
.page-move h5.text-primary,
.page-move .fs-1.text-primary,
.page-move .fs-3.text-primary,
.page-move .small.text-primary,
.page-move .bi-check-circle.text-primary {
  color: var(--bp-navy) !important;
}

.page-move .bg-primary-subtle {
  background-color: var(--bp-navy-subtle) !important;
}

.page-move .badge.text-bg-primary {
  background-color: var(--bp-navy) !important;
  color: #fff !important;
}

.page-move .btn-primary {
  --bs-btn-bg: #243e72;
  --bs-btn-border-color: #243e72;
  --bs-btn-hover-bg: #2f508a;
  --bs-btn-hover-border-color: #2f508a;
  --bs-btn-active-bg: #2f508a;
  --bs-btn-active-border-color: #2f508a;
  background-color: var(--bp-navy) !important;
  border-color: var(--bp-navy) !important;
  color: #fff !important;
}

.page-move .btn-primary:hover,
.page-move .btn-primary:focus {
  background-color: var(--bp-navy-soft) !important;
  border-color: var(--bp-navy-soft) !important;
  color: #fff !important;
}

.page-move .btn-outline-primary {
  --bs-btn-color: #243e72;
  --bs-btn-border-color: #243e72;
  --bs-btn-hover-bg: #243e72;
  --bs-btn-hover-border-color: #243e72;
}

.page-move .border-primary {
  border-color: var(--bp-navy-border) !important;
}

.page-move .move-trial-card {
  border-color: var(--bp-navy-border);
}

.page-move .move-trial-form .url-input-wrap:focus-within {
  border-color: var(--bp-navy-border);
  box-shadow: 0 0 0 4px rgba(36, 62, 114, 0.12);
}

.page-move .payment-blue {
  background-color: rgba(36, 62, 114, 0.06);
}

.brand-mark {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #198754;
}

.pricing-recommend {
  border-color: var(--bp-navy-border);
  box-shadow: 0 8px 24px var(--bp-navy-shadow);
}

.pricing-recommend .text-primary,
.pricing-recommend .bi-check-circle {
  color: var(--bp-navy) !important;
}

.pricing-recommend .badge.text-bg-primary {
  background-color: var(--bp-navy) !important;
  color: #fff !important;
}

.pricing-recommend .btn-primary {
  background-color: var(--bp-navy);
  border-color: var(--bp-navy);
  color: #fff;
}

.pricing-recommend .btn-primary:hover,
.pricing-recommend .btn-primary:focus {
  background-color: var(--bp-navy-soft);
  border-color: var(--bp-navy-soft);
  color: #fff;
}

.paid-form .text-primary,
.move-form .text-primary,
.paid-form .bi.text-primary {
  color: var(--bp-navy) !important;
}

.paid-form .btn-primary,
.move-form .btn-primary {
  background-color: var(--bp-navy);
  border-color: var(--bp-navy);
  color: #fff;
}

.paid-form .btn-primary:hover,
.move-form .btn-primary:hover {
  background-color: var(--bp-navy-soft);
  border-color: var(--bp-navy-soft);
  color: #fff;
}

.btn-outline-primary {
  --bs-btn-color: var(--bp-navy);
  --bs-btn-border-color: var(--bp-navy);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bp-navy);
  --bs-btn-hover-border-color: var(--bp-navy);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bp-navy-soft);
  --bs-btn-active-border-color: var(--bp-navy-soft);
}

.guide-cta {
  border: 1px solid #c8ebd6;
  border-radius: 18px;
  padding: 1.5rem;
  background: linear-gradient(180deg, #f7fcf9 0%, #ffffff 100%);
}

.guide-cta .btn {
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
}

.guide-cta a.btn-success {
  color: #fff !important;
  text-decoration: none;
}

.guide-cta a.btn-primary {
  background-color: var(--bp-navy);
  border-color: var(--bp-navy);
  color: #fff !important;
  text-decoration: none;
}

.guide-cta a.btn-outline-secondary {
  color: #1f2a44 !important;
  text-decoration: none;
}

.contact-form .form-control,
.contact-form .form-select {
  border-radius: 12px;
}
