/* ページ外枠のみ。入力欄・添付・同意・送信ボタンは form.evort.jp/embed.css が管理する。 */
:root { --brand: #06ae95; --surface: #f5f5f5; }
#sp_btn:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }
.evort-page { padding-top: var(--site-header-height, 144px); }
.form-main { min-height: 60vh; padding: 40px 20px 80px; }
.form-page-container { max-width: 800px; margin: 0 auto; }
.form-page-title { font-size: 28px; font-weight: 700; text-align: center; margin: 0 0 16px; line-height: 1.4; }
.contact-intro { display: grid; grid-template-columns: 242px minmax(0, 1fr); align-items: center; gap: 16px; max-width: 822px; margin: 28px auto 32px; }
.contact-intro__photo { position: relative; width: 100%; min-width: 0; margin: 0; }
.contact-intro__image { display: block; width: 100%; aspect-ratio: 23 / 14; height: auto; object-fit: cover; object-position: center; border-radius: 10px; }
.contact-intro__caption { position: absolute; top: 100%; left: 0; width: 100%; margin-top: 2px; font-size: 14px; font-weight: 700; line-height: 1.6; text-align: center; }
.form-page-lead { font-size: 15px; line-height: 1.9; text-align: left; }
.form-page-lead p + p { margin-top: 12px; }
.form-main .contact-section { background: var(--surface); width: 100%; max-width: 740px; gap: 16px 40px; margin: 32px auto; padding: 24px 20px; box-sizing: border-box; }
.form-main .contact-text { color: inherit; }
.form-followup { margin-top: 28px; text-align: center; }
.thanks { text-align: center; padding: 64px 0; max-width: 720px; margin: 0 auto; }
.thanks .evf-thanks-title, .thanks .evf-thanks p { text-align: center; }
.thanks__back { display: inline-flex; align-items: center; justify-content: center; margin-top: 40px; padding: 13px 40px; border: 2px solid var(--brand); border-radius: 100px; color: var(--brand); font-size: 14px; font-weight: 700; }
@media (max-width: 768px) {
  .contact-intro__pc-break { display: none; }
  .form-main { padding: 36px 16px 56px; }
  .form-page-title { font-size: 22px; }
  .contact-intro { grid-template-columns: 192px minmax(0, 1fr); gap: 8px; }
  .form-main .contact-section { padding: 20px 16px; }
  .form-main .contact-text { font-size: 18px; }
}
@media (max-width: 480px) {
  .contact-intro { grid-template-columns: 1fr; gap: 20px; }
  .contact-intro__photo { max-width: 242px; margin: 0 auto; }
  .contact-intro__caption { position: static; }
  .form-main .contact-section { gap: 12px; }
}
