.contact-page{--bg:#fff;--bg-soft:#f7f8fa;--ink:#1a1d21;--ink-soft:#4a5159;--line:#e4e7ec;--accent:#06b6d4;--accent-dark:#0e7490;--radius:14px;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;color:var(--ink);background:var(--bg);line-height:1.9;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";min-height:100vh}.contact-wrap{max-width:680px;margin:0 auto;padding:0 24px}.contact-header{border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.85);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.contact-header .contact-wrap{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:800px}.contact-brand{font-weight:700;font-size:18px;letter-spacing:.02em}.contact-brand span{color:var(--accent-dark)}.contact-home-link{font-size:13px;color:var(--ink-soft);text-decoration:none;border:1px solid var(--line);padding:7px 14px;border-radius:999px;transition:all .2s}.contact-home-link:hover{border-color:var(--accent);color:var(--accent-dark)}.contact-hero{padding:64px 0 40px;border-bottom:1px solid var(--line);background:radial-gradient(120% 80% at 100% 0,rgba(6,182,212,.06),transparent 60%)}.contact-hero .contact-wrap{max-width:800px}.contact-tag{display:inline-block;font-size:12px;letter-spacing:.12em;color:var(--accent-dark);font-weight:700;background:rgba(6,182,212,.1);padding:5px 12px;border-radius:999px;margin-bottom:18px}.contact-hero h1{font-size:34px;letter-spacing:.01em;margin-bottom:12px}.contact-hero p{color:var(--ink-soft);font-size:14px;margin:0}.contact-main{padding:48px 0 64px}.contact-form{display:flex;flex-direction:column;gap:28px}.contact-form__group{display:flex;flex-direction:column;gap:8px}.contact-form__group label{font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}.contact-required{font-size:11px;font-weight:700;color:#fff;background:#ef4444;padding:2px 8px;border-radius:4px;letter-spacing:.05em}.contact-form__group input,.contact-form__group select,.contact-form__group textarea{font-size:15px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--ink);transition:border-color .2s,box-shadow .2s;font-family:inherit;line-height:1.6}.contact-form__group input:focus,.contact-form__group select:focus,.contact-form__group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(6,182,212,.12)}.contact-form__group input::placeholder,.contact-form__group textarea::placeholder{color:#9ca3af}.contact-form__group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234a5159' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.contact-form__group textarea{resize:vertical;min-height:120px}.contact-form__note{font-size:13px;color:var(--ink-soft)}.contact-form__note a{color:var(--accent-dark);text-decoration:underline}.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 40px;border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;border:none;cursor:pointer;transition:all .2s}.contact-btn--primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;box-shadow:0 4px 14px rgba(6,182,212,.3)}.contact-btn--primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(6,182,212,.4)}.contact-btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.contact-success{text-align:center;padding:60px 0}.contact-success__icon{width:64px;height:64px;margin:0 auto 24px;color:var(--accent)}.contact-success__icon svg{width:100%;height:100%}.contact-success h2{font-size:22px;margin-bottom:12px}.contact-success p{font-size:15px;color:var(--ink-soft);margin-bottom:32px}.contact-footer{border-top:1px solid var(--line);background:var(--bg-soft);padding:28px 0;font-size:13px;color:var(--ink-soft)}.contact-footer .contact-wrap{max-width:800px}.contact-footer__links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}.contact-footer a{color:var(--ink-soft);text-decoration:none}.contact-footer a:hover{color:var(--accent-dark)}@media (max-width:560px){.contact-hero h1{font-size:26px}.contact-hero{padding:44px 0 32px}.contact-btn{width:100%}}