*{box-sizing:border-box}body{margin:0;background:#f1f5f9;color:#172033;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;line-height:1.65}.card{width:min(94%,540px);margin:7vh auto;background:white;border-radius:14px;padding:clamp(20px,5vw,36px);box-shadow:0 8px 28px #0f172a14}h1{font-size:1.5rem;margin:0 0 16px}label{display:block;font-weight:600;margin:18px 0}input{display:block;width:100%;font:inherit;padding:11px;border:1px solid #94a3b8;border-radius:7px;margin-top:6px}button{font:inherit;background:#1763a6;color:white;border:0;border-radius:8px;padding:11px 22px;cursor:pointer;width:100%;margin-top:10px}.secondary{background:#475569}.error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:7px}.notice{background:#e0f2fe;padding:15px;border-radius:7px;margin:20px 0}


/* 生徒用ページ共通：左上固定のマイページボタン */
.st-home-fixed {
    position: fixed;
    top: max(10px, env(safe-area-inset-top));
    left: max(10px, env(safe-area-inset-left));
    z-index: 1000;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 13px;
    border-radius: 9px;
    background: #1763a6;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    box-shadow: 0 3px 12px #0f172a30;
}
.st-home-fixed:hover, .st-home-fixed:focus-visible { background: #124d82; color: #fff; }
body:has(.st-home-fixed) { padding-top: 56px; }
