/* 無料相談の導線（サイト共通）。scripts/partials/consult-cta.html とセットで使う */
.consult-cta { padding: 64px 0; background: linear-gradient(150deg, #e9f8fc 0%, #f6fbfe 55%, #fff6ef 100%); }
.consult-cta-inner { display: grid; grid-template-columns: 1fr 240px; gap: 40px; align-items: center; width: min(1080px, calc(100% - 40px)); margin: 0 auto; padding: 40px 44px; border: 1px solid #cfe9f4; border-radius: 28px; background: #fff; box-shadow: 0 24px 60px -30px rgba(31, 143, 232, .45); }
.consult-badge { display: inline-block; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; background: #ff7a30; color: #fff; font-size: .85rem; font-weight: 900; letter-spacing: .06em; }
.consult-cta h2 { margin: 0 0 18px; color: #17202a; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 900; line-height: 1.5; letter-spacing: -.01em; }
.consult-benefits { display: grid; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; }
.consult-benefits li { position: relative; padding-left: 30px; color: #2b3640; font-weight: 700; line-height: 1.7; }
.consult-benefits li::before { content: "✓"; position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #18b4d6; color: #fff; font-size: .72rem; font-weight: 900; }
.consult-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 60px; padding: 14px 34px; border-radius: 999px; background: linear-gradient(120deg, #ff8a3d 0%, #ff6a2b 100%); color: #fff !important; font-size: 1.08rem; font-weight: 900; text-decoration: none !important; box-shadow: 0 14px 30px -12px rgba(255, 106, 43, .7); transition: transform .2s; }
.consult-btn::after { content: "→"; }
.consult-btn:hover { transform: translateY(-2px); }
.consult-note { margin: 12px 0 0; color: #596673; font-size: .85rem; }
.consult-sub { margin: 14px 0 0; color: #596673; font-size: .9rem; }
.consult-sub a { color: #1f8fe8; font-weight: 700; }
.consult-person { margin: 0; text-align: center; }
.consult-person img { display: block; width: 180px; height: 180px; margin: 0 auto 12px; border-radius: 50%; object-fit: cover; border: 6px solid #eaf7fc; }
.consult-person figcaption { color: #2b3640; font-size: .9rem; line-height: 1.6; }
.consult-person figcaption strong { display: block; font-size: 1rem; }
.consult-person figcaption span { display: block; margin-top: 6px; color: #596673; font-size: .78rem; text-align: left; }
@media (max-width: 820px) {
  .consult-cta { padding: 44px 0; }
  .consult-cta-inner { grid-template-columns: 1fr; gap: 24px; width: min(100% - 28px, 1080px); padding: 28px 22px; }
  .consult-person { display: grid; grid-template-columns: 88px 1fr; gap: 14px; align-items: center; text-align: left; order: -1; }
  .consult-person img { width: 88px; height: 88px; margin: 0; border-width: 4px; }
  .consult-person figcaption span { display: none; }
  .consult-btn { width: 100%; }
}
@media print { .consult-cta { display: none; } }
