:root { --red: #f23a3c; }
.page-hero-bg { background-image: url('../images/hero-contact.jpg'); }

.contact-section { padding: clamp(60px, 8vw, 120px) clamp(20px, 5vw, 80px); max-width: 1000px; margin: 0 auto; }
.contact-lead { text-align: center; font-family: 'Noto Sans JP', sans-serif; font-size: 15px; font-weight: 500; color: #333; line-height: 2.2; margin-bottom: clamp(40px, 6vw, 80px); }
.contact-form { display: flex; flex-direction: column; gap: 28px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-label { display: flex; align-items: center; gap: 6px; font-family: 'Inter', sans-serif; font-weight: 800; font-size: 15px; color: var(--navy); }
.form-label .required { color: var(--red); font-size: 15px; font-weight: 700; }
.form-input, .form-textarea { width: 100%; border: 1px solid #ddd; border-radius: 4px; padding: 14px 16px; font-family: 'Noto Sans JP', sans-serif; font-size: 15px; color: var(--dark); background: #fff; outline: none; transition: border-color 0.2s; appearance: none; }
.form-input::placeholder, .form-textarea::placeholder { color: #ccc; }
.form-input:focus, .form-textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 2px rgba(15,17,106,0.1); }
.form-input { height: 50px; }
.form-textarea { height: 160px; resize: vertical; }
.privacy-row { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; }
.privacy-check { width: 16px; height: 16px; border: 1px solid #767676; border-radius: 2px; cursor: pointer; accent-color: var(--navy); }
.privacy-label { font-family: 'Noto Sans JP', sans-serif; font-size: 12px; font-weight: 500; color: #333; }
.privacy-label a { color: #333; text-decoration: underline; }
.submit-wrap { display: flex; justify-content: center; margin-top: 16px; }
.btn-submit { background: var(--navy); color: #fff; font-family: 'Inter', sans-serif; font-weight: 800; font-size: 14px; letter-spacing: 1.4px; border: none; border-radius: 4px; padding: 16px 80px; cursor: pointer; transition: opacity 0.2s; min-width: 240px; }
.btn-submit:hover { opacity: 0.85; }
.btn-submit:disabled { opacity: 0.5; cursor: not-allowed; }

@media (max-width: 640px) { .btn-submit { width: 100%; padding: 16px; } }
