.sec-first { margin-top: 88px; }
.line-text { margin-top: 16px; }
.line-btn { margin-top: 28px; max-width: 320px; }

/* フォーム：色面の上に白い入力欄。枠は補助の文字色で、白地との差がはっきり見える濃さにする */
.form .field + .field { margin-top: 28px; }
.form label { display: block; font-weight: 700; margin-bottom: 8px; }
.req { display: inline-block; margin-left: 10px; font-size: 12px; font-weight: 700; color: #6E5A4E; letter-spacing: 0.06em; }
.form input:not([type="hidden"]), .form textarea { display: block; width: 100%; box-sizing: border-box; padding: 14px 16px; font: inherit; font-size: 16px; line-height: 1.6; color: #3E2215; background: #FFFFFF; border: 1px solid #6E5A4E; border-radius: 8px; }
.form textarea { resize: vertical; min-height: 160px; }
.form input:focus-visible, .form textarea:focus-visible { outline: 2px solid #3E2215; outline-offset: 2px; }
.hint { margin-top: 6px; font-size: 14px; color: #6E5A4E; }
.privacy { margin-top: 32px; font-size: 14px; color: #6E5A4E; }
.form .btn { margin-top: 24px; max-width: 320px; }
/* 迷惑送信よけ（人には見せない） */
.hp { position: absolute; left: -9999px; }

@media (max-width: 880px) {
  .sec-first { margin-top: 40px; }
  .sec-first h2 { margin-bottom: 16px; }
  .line-btn, .form .btn { max-width: none; }
  .form .field + .field { margin-top: 24px; }
}
