/* ZQ 受付（チーム登録） v0.1.0 — 白基調＋青のアクセント */
.zqj-overlay{position:fixed;inset:0;z-index:9000;background:rgba(15,23,42,.5);
  display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto;
  font-family:-apple-system,BlinkMacSystemFont,'Hiragino Sans','Noto Sans JP',sans-serif;
  -webkit-font-smoothing:antialiased;animation:zqjIn .25s ease-out}
@keyframes zqjIn{from{opacity:0}to{opacity:1}}
.zqj-overlay *{box-sizing:border-box}

.zqj-card{width:100%;max-width:660px;background:#fff;border-radius:18px;padding:30px 28px;
  color:#1b2637;box-shadow:0 24px 60px rgba(10,20,40,.35);animation:zqjUp .3s cubic-bezier(.2,.9,.3,1)}
@keyframes zqjUp{from{transform:translateY(14px) scale(.98)}to{transform:none}}

.zqj-t{font-size:23px;font-weight:900;text-align:center;letter-spacing:.01em}
.zqj-p{font-size:13.5px;color:#6b7a90;text-align:center;margin:9px 0 24px;line-height:1.85}
.zqj-p b{color:#2563eb}

.zqj-f{display:block;margin:0 0 12px}
.zqj-f span{display:block;font-size:10.5px;font-weight:900;letter-spacing:.1em;color:#2563eb;margin-bottom:5px}
.zqj-f input{width:100%;border:1.5px solid #d7e0ec;border-radius:10px;padding:12px 13px;
  font-size:16px;font-family:inherit;outline:none;background:#fff;color:#1b2637}
.zqj-f input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.zqj-code{letter-spacing:.35em;font-weight:900;text-align:center}

/* 属性（中学生・高校生・高専生・専門学校生・大学生・社会人・その他） */
.zqj-attrs{display:flex;flex-wrap:wrap;gap:7px}
.zqj-attr{border:1.5px solid #d7e0ec;background:#fff;color:#6b7a90;border-radius:999px;
  padding:8px 13px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}
.zqj-attr:hover{border-color:#cfe0fb;color:#2563eb}
.zqj-attr.on{background:#2563eb;border-color:#2563eb;color:#fff}

.zqj-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}
.zqj-half{border:1.5px solid #e4eaf3;border-radius:14px;background:#fbfdff;padding:15px 16px}
.zqj-half b{display:block;font-size:15px;font-weight:900;margin-bottom:10px}
.zqj-half small{display:block;font-size:11.5px;color:#8593a8;line-height:1.7;margin-top:9px}

.zqj-btn{width:100%;border:1.5px solid #d7e0ec;background:#fff;color:#41546f;border-radius:10px;
  padding:11px 20px;font-size:14.5px;font-weight:800;cursor:pointer;font-family:inherit}
.zqj-btn:hover{border-color:#cfe0fb;background:#f2f7ff;color:#2563eb}
.zqj-btn:disabled{opacity:.5;cursor:default}
.zqj-btn.zqj-go{border:0;color:#fff;background:#2563eb;box-shadow:0 4px 14px rgba(37,99,235,.3)}
.zqj-btn.zqj-go:hover{background:#1d4fd7;color:#fff}
.zqj-solo{margin-top:14px}

.zqj-msg{min-height:26px;margin-top:16px;text-align:center;font-size:13.5px;font-weight:800;line-height:1.9}
.zqj-msg.zqj-bad{color:#c0392b}
.zqj-msg.zqj-good{color:#0e8f5f}
.zqj-code2{display:inline-block;font-size:26px;letter-spacing:.22em;color:#2563eb;
  background:#eff5ff;border-radius:10px;padding:4px 14px;margin:4px 0}
.zqj-next{margin-top:14px;max-width:220px;margin-left:auto;margin-right:auto;display:block}

@media(max-width:640px){
  .zqj-two{grid-template-columns:1fr}
  .zqj-card{padding:24px 18px;border-radius:14px}
  .zqj-t{font-size:19px}
}
