/* お問い合わせフォームと LINE 枠（下層25ページ共通） */
.form { background: #fff; padding: 30px 30px 26px; color: var(--ink); max-width: 620px; margin: 0 auto; text-align: left; border-radius: 3px; }
.cta-body { display: grid; grid-template-columns: minmax(0, 620px) 260px; gap: 24px; justify-content: center; align-items: start; }
.cta-body .form { margin: 0; max-width: none; }
.cta-line { background: #fff; color: var(--ink); border-top: 3px solid #06C755; border-radius: 3px; padding: 22px 20px; text-align: center; }
.cta-line__title { font-size: var(--text-h3); font-weight: 700; margin-bottom: 8px; line-height: var(--leading-heading); }
.cta-line__text { font-size: var(--text-body); color: var(--ink-2); line-height: var(--leading-body); margin-bottom: 14px; text-align: left; }
.cta-line__qr { display: block; width: 150px; height: 150px; margin: 0 auto 6px; }
.cta-line__caption { font-size: var(--text-note); color: var(--ink-3); margin-bottom: 14px; }
.cta-line__btn { display: flex; align-items: center; justify-content: center; width: 100%; padding: 12px 16px; background: #06C755; color: #fff; font-size: var(--text-btn); font-weight: 700; border-radius: 3px; text-decoration: none; }
.cta-line__btn:hover { background: #05A847; }
@media (max-width: 900px) { .cta-body { grid-template-columns: 1fr; } .cta-line { order: -1; } .cta-line__qr, .cta-line__caption { display: none; } }
.form__row { margin-bottom: 18px; }
.form__label { display: block; font-size: var(--text-form-label); font-weight: 600; color: var(--ink-2); margin-bottom: 7px; }
.form__label .req { color: var(--sub); font-size: var(--text-note); margin-left: 6px; font-weight: 700; }
.form__label .opt { color: var(--ink-4); font-size: var(--text-note); margin-left: 6px; font-weight: 500; }
.form__hint { font-size: var(--text-note); color: var(--ink-3); margin: 4px 0 8px; line-height: 1.6; }
.form__honeypot { position: absolute !important; left: -9999px; top: -9999px; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.form input[type="text"], .form input[type="email"], .form textarea {
  width: 100%; font-family: inherit; font-size: var(--text-input); color: var(--ink);
  border: 1px solid var(--line-strong); border-radius: 3px; padding: 11px 14px;
  background: #fff;
}
.form input:focus, .form textarea:focus { border-color: var(--accent-2); outline: none; box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.12); }
.form textarea { min-height: 110px; resize: vertical; }
.form__radios { display: flex; flex-direction: column; gap: 9px; }
.form__radio { display: flex; gap: 9px; align-items: center; font-size: var(--text-form-label); color: var(--ink-2); cursor: pointer; }
.form__radio input { accent-color: var(--accent-2); width: 16px; height: 16px; }
.form__submit { width: 100%; margin-top: 4px; }
.form__micro { margin-top: 14px; font-size: var(--text-note); color: var(--ink-3); text-align: center; }
.form__status { margin-top: 14px; font-size: var(--text-body); text-align: center; font-weight: 600; padding: 14px 16px; }
.form__status--success { color: var(--accent-3); background: var(--accent-soft); border: 1px solid var(--accent-line); }
.form__status--error { color: #B91C1C; background: #FEF2F2; border: 1px solid #FECACA; }
/* ===== CTA 帯（ご相談・お問い合わせの前置き） ===== */
.cta { background: var(--accent-3); color: #fff; padding: var(--space-section) 0; text-align: center; }
.cta__title { font-size: var(--text-h2); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 14px; line-height: var(--leading-heading); }
.cta__text { font-size: var(--text-body); color: rgba(255, 255, 255, 0.88); margin-bottom: 8px; margin-left: auto; margin-right: auto; }
.cta__note { font-size: var(--text-note); color: rgba(255, 255, 255, 0.65); margin-bottom: 28px; }
