:root{--red:#c9202b;--ink:#25282c;--muted:#62666b;--line:#d9dcdf;--soft:#f3f4f5}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Yu Gothic",YuGothic,Meiryo,sans-serif;background:#fff}
.top{height:72px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:14px}.top a{color:var(--ink);font-weight:800;letter-spacing:.08em;text-decoration:none}
main{max-width:1180px;margin:auto;padding:70px 24px 90px}.intro{border-left:5px solid var(--red);padding:10px 0 18px 34px;margin-bottom:38px}.eyebrow{color:var(--red);font-weight:800;font-size:13px;letter-spacing:.15em}.intro h1{font-size:clamp(34px,5vw,62px);line-height:1.2;margin:12px 0 18px}.intro>p:last-child{color:var(--muted);line-height:1.9;max-width:780px}
.form{background:var(--soft);padding:36px;border:1px solid var(--line)}fieldset{border:0;padding:0;margin:0 0 38px}legend{font-size:22px;font-weight:800;width:100%;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
label{display:block;font-weight:700;font-size:14px}label span{font-weight:400;color:var(--muted);margin-left:8px}label em{font-style:normal;color:#fff;background:var(--red);font-size:11px;padding:2px 6px;margin-left:8px}
input,select,textarea{display:block;width:100%;border:1px solid #b9bdc1;background:#fff;padding:14px;margin-top:8px;border-radius:0;font:inherit;color:var(--ink)}textarea{resize:vertical}.grid+label{margin-top:20px}
.upload{padding:28px;text-align:center;background:#fff;border:2px dashed #aeb3b8;cursor:pointer}.upload strong,.upload small{display:block}.upload strong{font-size:18px}.upload small{color:var(--muted);font-weight:400;line-height:1.7;margin:8px}.upload input{max-width:540px;margin:16px auto 0;padding:8px}
.file-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.file-card{position:relative;min-width:0;background:#fff;border:1px solid var(--line);padding:10px}
.file-preview{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e7e9eb}
.file-preview img{width:100%;height:100%;display:block;object-fit:contain}
.file-type{display:flex;align-items:center;justify-content:center;width:72px;height:54px;background:var(--ink);color:#fff;font-size:15px;font-weight:800;letter-spacing:.05em}
.file-info{padding:10px 0 34px;min-width:0}.file-info strong,.file-info small{display:block}.file-info strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info small{margin-top:4px;color:var(--muted);font-weight:400}
.file-remove{position:absolute;left:10px;bottom:10px;border:0;background:#fff;color:var(--red);padding:3px 0;font:inherit;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer}
.privacy{font-weight:400;line-height:1.7;margin:0 0 24px}.privacy input{display:inline;width:auto;margin:0 8px 0 0}.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;border:0;padding:17px 28px;font-weight:800;cursor:pointer}.submit{background:var(--red);font-size:16px;min-width:320px}.help{font-size:13px;color:var(--muted)}.help a{color:inherit}
.notice{padding:28px;border:1px solid var(--line);margin:25px 0}.notice.success{border-left:5px solid #23834a}.notice.error{border-left:5px solid var(--red);background:#fff1f2;color:#8d1019}.trap{position:absolute;left:-9999px;opacity:0}footer{background:var(--ink);color:#cfd1d3;text-align:center;padding:34px;font-size:12px}
@media(max-width:700px){.top{height:60px;padding:0 18px}.top span{font-size:11px}main{padding:40px 16px 60px}.intro{padding-left:20px}.intro h1{font-size:32px}.form{padding:22px 16px}.grid{grid-template-columns:1fr;gap:16px}legend{font-size:19px}.upload{padding:22px 12px}.file-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.file-card{padding:7px}.file-info{padding-bottom:32px}.file-remove{left:7px;bottom:8px}.submit{width:100%;min-width:0}}
