/* Request/application mobile layout; keep controls readable without overflow. */
@media (max-width: 768px) {
  .drone-form-page #applicationForm .field-inline--tel input {
    flex: 1 1 0;
    width: 0;
    min-width: 0;
    max-width: 100%;
  }
  .drone-form-page #applicationForm .field-inline--tel .field-separator { flex: 0 0 auto; }
  .drone-form-page .form-fieldset .name-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .drone-form-page .name-pair > div { min-width: 0; }
  .drone-form-page .name-pair input { width: 100%; min-width: 0; }
  .drone-form-page .form-actions { gap: 8px; margin-top: 16px; }
  .drone-form-page .form-actions .small { margin: 0; }
}
/* The fixed LINE help pill covers the 780px form below ~1210px, so place it in the flow there. */
@media (max-width: 1210px) {
  .drone-form-page a.form-line-help {
    position: static;
    display: flex;
    width: fit-content;
    max-width: 100%;
    margin: 16px auto 0;
    box-shadow: none;
    visibility: visible;
  }
  body.drone-form-page:has(.form-line-help) { padding-bottom: 0; }
  body.drone-form-page:has(input:focus,textarea:focus,select:focus) .form-line-help { visibility: visible; }
}

/* Progressive form controls keep existing transport fields intact. */
.drone-form-page .ui-original { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); }
.drone-form-page .ui-choices { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.drone-form-page .ui-choices button,.drone-form-page .ui-error-links button { min-height:44px; padding:10px 14px; border:1px solid #64748b; border-radius:8px; background:#fff; color:#15364e; font:inherit; cursor:pointer; }
.drone-form-page .ui-choices button[aria-pressed="true"] { border:2px solid #0066cc; background:#e5f2ff; font-weight:700; }
.drone-form-page .ui-choices button:focus-visible,.drone-form-page .ui-error-links button:focus-visible { outline:3px solid #0066cc; outline-offset:2px; }
.drone-form-page .ui-required { display:inline-block; margin-left:6px; font-size:12px; color:#9f1239; }
.drone-form-page .ui-progress,.drone-form-page .ui-required-note { margin:8px 0; font-size:13px; }
.drone-form-page .ui-error-links { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.drone-form-page .ui-error-links[hidden] { display:none; }
.drone-form-page .ui-examples { margin-top:8px; }
.drone-form-page .ui-examples summary { padding:10px 0; min-height:44px; cursor:pointer; }
.drone-form-page .ui-phone-label { margin-top:6px; }

/* One type scale for both forms. */
.drone-form-page { --form-font: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Meiryo, sans-serif; }
.drone-form-page :is(form, input, select, textarea, button, .form-line-help) { font-family: var(--form-font); }
.drone-form-page .name-pair-title { margin:14px 0 0; font-weight:600; color:#1e293b; }
.drone-form-page .name-pair-title + .name-pair { margin-top:4px; }
@media (max-width:768px) {
  .drone-form-page form :is(label,.form-label-block,.name-pair-title) { font-size:15px; font-weight:600; line-height:1.5; }
  .drone-form-page form :is(input,select,textarea) { font-size:16px; font-weight:400; line-height:1.5; }
  .drone-form-page form legend { font-size:16px; font-weight:700; line-height:1.4; }
  .drone-form-page form :is(.note,.field-note,.testmail-note,.small,.ui-progress,.ui-required-note) { font-size:14px; font-weight:400; line-height:1.65; }
  .drone-form-page form :is(.product-card .note,.note--lead,.field-note--danger) { font-size:15px; }
  .drone-form-page form button { font-size:16px; font-weight:600; line-height:1.5; }
  .drone-form-page form .btn-submit { font-size:18px; font-weight:700; }
  .drone-form-page form .ui-required { font-size:12px; font-weight:600; line-height:1.4; white-space:nowrap; }
  .drone-form-page a.form-line-help { font-size:14px; line-height:1.5; }
  .drone-form-page form .ui-examples summary { font-size:14px; line-height:1.65; }
}

.drone-form-page #requestForm :is(#testSendBtn,#email-test-note) { font-family:var(--form-font); }
@media(max-width:768px) {
  .drone-form-page #requestForm #testSendBtn { font-size:16px; font-weight:600; line-height:1.5; }
  .drone-form-page #requestForm #email-test-note { font-size:14px; font-weight:400; line-height:1.65; }
}
/* 2026-10-04: 360px でも「はい（契約者住所と同一）」「いいえ」を1段に収める */
@media (max-width: 374px) { .drone-form-page .ui-choices button { padding-inline: 10px; } }

/* Keep free-form inquiries roomy even when auto-resize and mobile control rules run. */
.drone-form-page #requestForm #notes,
.drone-form-page #applicationForm #otherInquiry {
  min-height: 144px !important;
}
