:root{--red:#c41e2b;--red-deep:#9a1220;--navy:#1d2a44;--ink:#22262e;--paper:#fbf8f2;--line:#e6e0d4;--mute:#6b7280;--ok:#1c8a5a}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,Hiragino Sans,sans-serif}.app-frame{flex-direction:column;min-height:100dvh;display:flex}.bar{background:var(--red);color:#fff;z-index:10;flex-shrink:0;align-items:center;gap:10px;height:48px;padding:0 14px;display:flex;position:sticky;top:0}.bar .back{cursor:pointer;color:inherit;background:0 0;border:0;padding:4px;font-size:22px;line-height:1}.bar .ttl{font-size:15px;font-weight:700}.scroll{flex:1;padding:18px 18px 40px}h2{color:var(--navy);margin-bottom:6px;font-size:20px;font-weight:900;line-height:1.35}.lead{color:var(--mute);margin-bottom:18px;font-size:13px;line-height:1.6}fieldset{border:0;margin-bottom:18px}legend,label.l{color:var(--navy);margin-bottom:7px;font-size:13px;font-weight:700;display:block}legend em,label.l em{color:var(--red);margin-left:6px;font-size:11px;font-style:normal}input[type=text],input[type=tel],input[type=date],select,textarea{width:100%;font:inherit;border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:12px;font-size:15px}input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:#0000}textarea{resize:none;min-height:76px}.row{gap:8px;display:flex}.row>*{flex:1}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{position:relative}.chip input{opacity:0;position:absolute;inset:0}.chip span{border:1.5px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:999px;padding:9px 13px;font-size:13px;display:block}.chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.chip input:focus-visible+span{outline:2px solid var(--red)}.btn{width:100%;font:inherit;cursor:pointer;background:var(--red);color:#fff;border:0;border-radius:12px;padding:15px;font-size:16px;font-weight:700;display:block}.btn.ghost{color:var(--navy);border:1.5px solid var(--navy);background:#fff}.btn+.btn{margin-top:10px}.btn:disabled{opacity:.6;cursor:default}.note{color:var(--mute);margin-top:12px;font-size:12px;line-height:1.6}.field-error{color:var(--red);margin-top:6px;font-size:12px}fieldset.invalid input[type=text],fieldset.invalid input[type=tel],fieldset.invalid input[type=date],fieldset.invalid textarea{border-color:var(--red)}.submit-error{border:1.5px solid var(--red);color:var(--red-deep);background:#fdecee;border-radius:12px;margin-bottom:12px;padding:12px 14px;font-size:13px;line-height:1.6}.spinner{vertical-align:-4px;border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;margin-right:8px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.done{text-align:center;padding:48px 24px}.done .mark{background:var(--ok);color:#fff;border-radius:50%;width:72px;height:72px;margin:0 auto 20px;font-size:36px;line-height:72px}.done h2{margin-bottom:10px}.done .no{color:var(--mute);margin-bottom:24px;font-size:13px;line-height:1.7}.done .no b{color:var(--ink);letter-spacing:.04em;font-size:20px;display:block}.filters{gap:8px;margin-bottom:14px;padding-bottom:2px;display:flex;overflow-x:auto}.filters button{white-space:nowrap;border:1.5px solid var(--line);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:7px 12px;font-size:12.5px}.filters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.job{border:1.5px solid var(--line);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:14px;margin-bottom:12px;padding:14px;display:block}.job:active{border-color:var(--red)}.tag{color:var(--red);background:#fdecee;border-radius:5px;margin-bottom:8px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.tag.b{color:#245;background:#e7eef9}.job h3{color:var(--navy);margin-bottom:6px;font-size:15px;font-weight:700;line-height:1.4}.job .meta{color:var(--mute);font-size:12.5px;line-height:1.7}.job .pay{color:var(--ink);margin-top:6px;font-size:17px;font-weight:900}.job .pay small{color:var(--mute);font-size:12px;font-weight:500}.detail dl{border:1.5px solid var(--line);background:#fff;border-radius:14px;margin:14px 0 18px;padding:4px 14px}.detail dl div{border-bottom:1px solid var(--line);gap:12px;padding:11px 0;font-size:13.5px;display:flex}.detail dl div:last-child{border-bottom:0}.detail dt{width:82px;color:var(--mute);flex-shrink:0}.detail dd{font-weight:500;line-height:1.5}.fullmsg{text-align:center;min-height:100dvh;color:var(--mute);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;font-size:14px;line-height:1.7;display:flex}.fullmsg .spinner{border-color:var(--line);border-top-color:var(--red);width:28px;height:28px;margin:0}
