:root{--bg:#060a10;--bg-raise:#0c121a;--line:rgba(148,180,212,.14);--line-strong:rgba(148,180,212,.28);--accent:#6cb8f5;--grad-a:#5b8cff;--grad-b:#8a63f4;--wave:#3ad9a2;--text:#e9eef5;--muted:#93a3b5;--danger:#ff7a7a;--font-jp-head:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;--font-body:"Noto Sans JP",sans-serif;--font-disp:"Space Grotesk","Noto Sans JP",sans-serif;--font-mono:"IBM Plex Mono",monospace;--radius:14px}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.8;margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:#9dd0fa}.container{margin:0 auto;max-width:760px;padding:0 24px}.mv-header{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(6,10,16,.82);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:50}.mv-header .container{max-width:1120px}.header-inner{height:68px;justify-content:space-between}.brand,.header-inner{align-items:center;display:flex}.brand{font-family:var(--font-disp);font-size:1.25rem;font-weight:700;gap:10px}.brand,.brand:hover{color:var(--text)}.brand sup{color:var(--muted);font-size:.55em;font-weight:500}.brand-glyph{background:linear-gradient(135deg,var(--grad-a),var(--grad-b));border-radius:8px;display:grid;flex:none;height:30px;place-items:center;width:30px}.brand-glyph svg{height:16px;width:16px}.brand .brand-ver{border:1px solid rgba(108,184,245,.45);border-radius:4px;color:var(--accent);font-family:var(--font-mono);font-size:.62em;margin-left:2px;padding:1px 7px}.top-nav{display:flex;gap:26px}.top-nav a{color:var(--muted);font-size:.88rem;font-weight:500}.top-nav a:hover{color:var(--text)}@media(max-width:680px){.top-nav{display:none}}.contact-block{padding:4.5rem 0 5.5rem}.contact-head{margin-bottom:2.6rem;text-align:center}.contact-head .kicker{color:var(--accent);display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.22em;margin-bottom:.8rem}.contact-head h1{font-family:var(--font-jp-head);font-size:2rem;font-weight:700;margin:0 0 1rem}.contact-head p{color:var(--muted);font-size:.98rem;margin:0 auto;max-width:620px}.contact-card{background:var(--bg-raise);border:1px solid var(--line);border-radius:var(--radius);padding:2.4rem}@media(max-width:600px){.contact-card{padding:1.5rem}}.form-group{margin-bottom:1.4rem;text-align:left}.form-label,.sfb-label,label{color:var(--text);display:inline-block;font-weight:500;margin-bottom:.4rem}.form-control,input[type=email],input[type=tel],input[type=text],textarea{background-color:#0a0f16;border:1px solid var(--line-strong);border-radius:10px;color:var(--text);font-family:inherit;font-size:1rem;padding:.7rem .9rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.form-control::-moz-placeholder,input::-moz-placeholder,textarea::-moz-placeholder{color:#5d6c7d}.form-control:-ms-input-placeholder,input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#5d6c7d}.form-control::placeholder,input::placeholder,textarea::placeholder{color:#5d6c7d}.form-control:focus,input:focus,textarea:focus{background-color:#0a0f16;border-color:var(--accent);box-shadow:0 0 0 3px rgba(108,184,245,.18);color:var(--text);outline:none}textarea{resize:vertical}.badge{border-radius:100px;font-size:.7rem;font-weight:500;margin-left:.5rem;padding:.15rem .5rem;vertical-align:middle}.badge.bg-primary{background-color:var(--grad-a)!important;color:#fff}.badge.bg-secondary{background-color:#3a4a5c!important;color:#cdd9e5}.n-select{background-color:#0a0f16;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2393a3b5'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border:1px solid var(--line-strong);border-radius:10px;color:#5d6c7d;padding:.7rem 2.5rem .7rem .9rem;text-align:left;width:100%}.n-select.selected{color:var(--text)}.n-select:focus,.n-select:hover{background-color:#0a0f16;border-color:var(--accent);color:var(--text)}.n-select-hidden{display:none}.dropdown-menu{background:#10161f;border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 10px 32px rgba(0,0,0,.6);padding:.4rem 0}.dropdown-item{color:var(--text);padding:.6rem 1.1rem;text-align:left}.dropdown-item:hover{background-color:rgba(108,184,245,.12);color:var(--accent)}.checkbox-inline{margin:1rem 0;text-align:left}.checkbox-inline input[type=checkbox]{cursor:pointer;margin-right:.5rem}.invalid-feedback,.validation-message{color:var(--danger);font-size:.82rem;margin-top:.3rem}.btn-primary:not(.n-select),button[type=submit]{background:linear-gradient(100deg,var(--grad-a),var(--grad-b));border:none;border-radius:100px;box-shadow:0 6px 24px rgba(91,140,255,.28);color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.6rem;padding:.85rem 2.4rem;transition:transform .15s ease,box-shadow .15s ease}.btn-primary:not(.n-select):hover,button[type=submit]:hover{background:linear-gradient(100deg,var(--grad-a),var(--grad-b));box-shadow:0 10px 32px rgba(91,140,255,.42);transform:translateY(-2px)}.sent-message{padding:1.5rem 0;text-align:center}.sent-message .sent-ico{background:var(--wave);border-radius:50%;color:#0a121c;display:grid;font-size:2rem;font-weight:700;height:64px;margin:0 auto 1rem;place-items:center;width:64px}.sent-message h3{font-family:var(--font-jp-head);font-size:1.25rem;font-weight:700;margin:0 0 .7rem}.sent-message p{color:var(--muted);margin:0 0 1.6rem}.btn-back{background:linear-gradient(100deg,var(--grad-a),var(--grad-b));border-radius:100px;color:#fff!important;display:inline-block;font-weight:700;padding:.7rem 1.8rem}.btn-back:hover{transform:translateY(-2px)}.mv-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;padding:2.2rem 0}.mv-footer .container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;max-width:1120px}.mv-footer a{color:var(--muted);margin-left:1.2rem}.mv-footer a:first-child{margin-left:0}.mv-footer a:hover{color:var(--text)}main{min-height:60vh}