.contact-page{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.contact-page-header{max-width:var(--container-max);justify-content:space-between;align-items:center;width:100%;margin:0 auto;padding:24px 24px 0;display:flex}.contact-back-link{color:var(--text-secondary);border-radius:var(--r-full);transition:all var(--t-fast);align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:inline-flex}.contact-back-link:hover{color:var(--text-primary);background:var(--accent-soft)}.contact-back-link svg{width:14px;height:14px}.contact-page-logo img{width:auto;height:28px}.contact-page-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:48px 24px 64px}.contact-intro{text-align:center;margin-bottom:48px}.contact-title{color:var(--text-primary);letter-spacing:-.02em;margin:16px 0 20px;font-size:32px;font-weight:800;line-height:1.4}.contact-lead{color:var(--text-secondary);font-size:14px;line-height:2}.contact-form-wrap{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:36px 32px}@media (max-width:480px){.contact-form-wrap{border-radius:var(--r-md);padding:24px 20px}}.contact-form{flex-direction:column;gap:28px;display:flex}.contact-field{flex-direction:column;gap:10px;display:flex}.contact-label{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.contact-required{color:var(--accent);background:var(--accent-soft);border-radius:var(--r-full);letter-spacing:.04em;padding:2px 8px;font-size:10px;font-weight:600}.contact-input,.contact-select,.contact-textarea{font-family:var(--font-jp);color:var(--text-primary);background:var(--bg-offwhite);border:1px solid var(--border-light);border-radius:var(--r-sm);width:100%;transition:all var(--t-fast);appearance:none;padding:14px 16px;font-size:15px;line-height:1.6}.contact-textarea{resize:vertical;min-height:140px;line-height:1.9}.contact-input::placeholder,.contact-textarea::placeholder{color:var(--text-muted)}.contact-input:focus,.contact-select:focus,.contact-textarea:focus{border-color:var(--accent);background:var(--white);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.contact-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23706560' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:12px;padding-right:40px}.contact-radios{flex-wrap:wrap;gap:8px;display:flex}.contact-radio{cursor:pointer;align-items:center;display:inline-flex;position:relative}.contact-radio input{opacity:0;pointer-events:none;position:absolute}.contact-radio span{color:var(--text-secondary);background:var(--bg-offwhite);border:1px solid var(--border-light);border-radius:var(--r-full);transition:all var(--t-fast);align-items:center;padding:10px 18px;font-size:13px;font-weight:500;display:inline-flex}.contact-radio:hover span{border-color:var(--accent);color:var(--text-primary)}.contact-radio input:checked+span{background:var(--accent);color:var(--white);border-color:var(--accent)}.contact-radio input:focus-visible+span{box-shadow:0 0 0 3px var(--accent-glow)}.contact-honeypot{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.contact-error{color:var(--accent-hover);border-radius:var(--r-sm);background:#b8786814;border:1px solid #b878684d;padding:14px 18px;font-size:13px;line-height:1.7}.contact-submit-wrap{flex-direction:column;align-items:center;gap:14px;margin-top:8px;display:flex}.contact-submit{font-family:var(--font-jp);color:var(--white);background:var(--accent);border-radius:var(--r-full);cursor:pointer;min-width:220px;transition:all var(--t-fast);box-shadow:0 4px 16px var(--accent-glow);border:none;justify-content:center;align-items:center;padding:16px 48px;font-size:15px;font-weight:700;display:inline-flex}.contact-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-1px)}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-note{color:var(--text-light);text-align:center;font-size:12px;line-height:1.7}.contact-line-fallback{text-align:center;background:var(--bg-secondary);border-radius:var(--r-md);margin-top:40px;padding:28px 24px}.contact-line-fallback p{color:var(--text-secondary);margin-bottom:16px;font-size:13px;line-height:1.85}.contact-line-btn{background:var(--line-green);color:#fff;border-radius:var(--r-full);transition:all var(--t-fast);align-items:center;gap:8px;padding:12px 28px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #06c75533}.contact-line-btn:hover{background:var(--line-green-hover);transform:translateY(-1px);box-shadow:0 8px 24px #06c7554d}.contact-page-footer{text-align:center;border-top:1px solid var(--border-subtle);background:var(--bg-secondary);font-family:var(--font-en);color:var(--text-muted);letter-spacing:.06em;padding:32px 24px;font-size:11px}.thanks-page{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.thanks-main{flex:1;justify-content:center;align-items:center;padding:64px 24px;display:flex}.thanks-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r-lg);text-align:center;width:100%;max-width:560px;box-shadow:var(--shadow-md);padding:56px 36px}.thanks-check{border-radius:var(--r-full);background:var(--accent-soft);width:64px;height:64px;color:var(--accent);justify-content:center;align-items:center;margin:0 auto 28px;display:flex}.thanks-check svg{width:32px;height:32px}.thanks-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:20px;font-size:24px;font-weight:800;line-height:1.5}.thanks-body{color:var(--text-secondary);margin-bottom:32px;font-size:14px;line-height:2}.thanks-back{color:var(--text-primary);background:var(--bg-offwhite);border:1px solid var(--border-light);border-radius:var(--r-full);transition:all var(--t-fast);align-items:center;gap:8px;padding:12px 28px;font-size:13px;font-weight:600;display:inline-flex}.thanks-back:hover{background:var(--accent-soft);border-color:var(--accent)}
