
/* ページヒーロー */
.page-hero{background:linear-gradient(135deg,#0F172A 0%,#1E3A8A 45%,#1D4ED8 100%);color:#fff;padding:56px 0 48px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:380px;height:380px;background:radial-gradient(circle,rgba(14,165,233,.2) 0%,transparent 70%);border-radius:50%}
.page-hero-label{display:inline-block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-bottom:12px}
.page-hero h1{font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:900;line-height:1.3;margin-bottom:12px}
.page-hero p{font-size:.95rem;opacity:.75;max-width:500px;line-height:1.7}

/* フォームカード */
.form-wrapper{max-width:680px;margin:0 auto}
.form-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 44px;box-shadow:var(--shadow-sm)}
.form-group{margin-bottom:24px}
.form-group label{display:block;font-size:.88rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}
.form-group label .required{color:var(--danger);font-size:.75rem;margin-left:4px}
.form-input,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:.92rem;font-family:inherit;outline:none;background:var(--bg-light);transition:all var(--transition)}
.form-input:focus,.form-textarea:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.form-textarea{resize:vertical;min-height:160px;line-height:1.7}
.consent-row{display:flex;align-items:flex-start;gap:10px;padding:20px;background:var(--bg-light);border-radius:var(--radius-md);margin-bottom:28px}
.consent-row input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary);margin-top:2px;cursor:pointer;flex-shrink:0}
.consent-row label{font-size:.85rem;color:var(--text-secondary);line-height:1.6;cursor:pointer}
.consent-row a{color:var(--primary);text-decoration:underline}
.form-actions{display:flex;justify-content:center}

@media(max-width:600px){
    .form-card{padding:28px 20px}
}