:root{--sea-deep:#07485f;--sea:#0a7ea4;--sea-bright:#2bb4d6;--aqua:#7fd9ec;--foam:#eaf7fb;--page:#f3fafc;--ink:#102a33;--muted:#5b7a85;--line:#d6e9ef;--white:#fff;--radius:16px;--font-jp:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic","Meiryo",sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font-jp);color:var(--ink);background:var(--page);line-height:1.7;-webkit-font-smoothing:antialiased}.hero{position:relative;overflow:hidden;padding:56px 24px 88px;background:linear-gradient(180deg,#0a7ea4,#1ba0c4 45%,#2bb4d6);text-align:center;color:#fff}.hero .eyebrow{font-size:13px;letter-spacing:.32em;font-weight:600;opacity:.9;margin:0 0 12px}.hero h1{margin:0 auto;max-width:760px;font-size:clamp(24px,5vw,40px);font-weight:800;letter-spacing:.04em;text-shadow:0 2px 20px rgba(4,55,72,.35)}.waves{position:absolute;left:0;right:0;bottom:-1px;line-height:0}.waves svg{display:block;width:200%;height:82px}.wave-move{animation:drift 14s linear infinite}.wave-move.slow{animation-duration:22s;animation-direction:reverse}.wave-move.fast{animation-duration:9s}@keyframes drift{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.wrap{max-width:920px;margin:-2px auto 0;padding:0 20px 80px;position:relative;z-index:2}.progress{display:flex;gap:8px;justify-content:center;margin:26px 0 28px;flex-wrap:wrap}.chip{font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:7px 14px;border-radius:999px;white-space:nowrap}.chip.active{color:#fff;background:var(--sea);border-color:var(--sea);font-weight:700}.chip.done{color:var(--sea);border-color:var(--sea-bright)}.errbar{max-width:920px;margin:0 0 18px;background:#fff3ee;border:1px solid #f3c4b2;color:#b4441f;font-size:13px;font-weight:700;padding:13px 18px;border-radius:12px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px -28px rgba(7,72,95,.45);overflow:hidden}.section-head{display:flex;align-items:center;gap:12px;padding:20px 26px;background:var(--foam);border-bottom:1px solid var(--line)}.section-head .dot{width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(135deg,var(--sea),var(--sea-bright));display:grid;place-items:center;color:#fff}.section-head h2{margin:0;font-size:18px;letter-spacing:.04em}.section-head .sub{margin-left:auto;font-size:12px;color:var(--muted)}.sites{padding:22px 26px 6px}.site{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:20px;background:#fff}.site-head{display:flex;align-items:center;gap:10px;padding:13px 18px;background:linear-gradient(135deg,#eaf7fb,#f6fcfe);border-bottom:1px solid var(--line)}.site-head .num{font-size:13px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--sea),var(--sea-bright));padding:3px 12px;border-radius:999px;letter-spacing:.05em}.site-head .ttl{font-weight:800;font-size:15px;color:var(--sea-deep)}.site-head .rm{margin-left:auto;font-size:12px;color:#c14b2a;background:#fff;border:1px solid #f0c9bd;border-radius:8px;padding:6px 12px;cursor:pointer}.site-body{padding:8px 18px 20px}.subgroup{padding:18px 0 4px;border-top:1px dashed var(--line)}.subgroup:first-child{border-top:none}.subgroup-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:800;color:var(--sea-deep);letter-spacing:.06em;margin:0 0 14px}.subgroup-label:before{content:"";width:6px;height:16px;border-radius:3px;background:linear-gradient(var(--sea),var(--sea-bright))}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px 20px;gap:16px 20px;padding:0}.section-head+.grid{padding:26px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-size:12.5px;font-weight:700;color:var(--ink);letter-spacing:.02em}label .req{color:#e2612f;font-weight:700;vertical-align:1px}label .opt,label .req{font-size:10.5px;margin-left:6px}label .opt{color:var(--muted);font-weight:500}input{font-family:inherit;font-size:14.5px;color:var(--ink);padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;background:#fbfdfe;transition:border-color .15s,box-shadow .15s;width:100%}input::placeholder{color:#a9c2cb}input:focus{outline:none;border-color:var(--sea-bright);box-shadow:0 0 0 4px rgba(43,180,214,.18);background:#fff}.hint{font-size:11px;color:var(--muted)}.add-site{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 52px);margin:4px 26px 22px;padding:14px;font-family:inherit;font-size:14.5px;font-weight:800;color:var(--sea);background:#fff;border:2px dashed var(--sea-bright);border-radius:13px;cursor:pointer;letter-spacing:.04em}.add-site:hover,.confirm{background:var(--foam)}.confirm{margin:0 26px;padding:14px 16px;border-radius:12px;font-size:13px;color:var(--sea-deep);font-weight:700}.footer-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 26px;border-top:1px solid var(--line);background:#fbfdfe;margin-top:18px}.save-note{font-size:12px;color:var(--muted)}.save-note.center{text-align:center;display:block;margin-top:20px}.btn{font-family:inherit;font-weight:800;font-size:15px;letter-spacing:.05em;border:none;border-radius:12px;padding:13px 28px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--sea),var(--sea-bright));box-shadow:0 10px 24px -10px rgba(10,126,164,.7);transition:transform .12s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn.ghost{color:var(--sea);background:#fff;border:1.5px solid var(--line);box-shadow:none}.success{text-align:center;padding:54px 30px}.success .check{width:66px;height:66px;margin:0 auto 22px;border-radius:50%;background:linear-gradient(135deg,var(--sea),var(--sea-bright));display:grid;place-items:center}.success h2{margin:0 0 10px;font-size:22px}.success p{margin:0 auto 26px;max-width:440px;color:var(--muted);font-size:14px}@media(max-width:640px){.grid{grid-template-columns:1fr}.footer-bar{flex-direction:column;align-items:stretch}.btn{width:100%}.add-site{width:calc(100% - 40px);margin-left:20px;margin-right:20px}}@media(prefers-reduced-motion:reduce){.wave-move{animation:none!important}}.review{padding:22px 26px 4px}.rev-group{border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:16px}.rev-head{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--foam);border-bottom:1px solid var(--line);font-weight:800;font-size:14px;color:var(--sea-deep);letter-spacing:.04em}.rev-edit{margin-left:auto;font-size:12px;font-weight:700;color:var(--sea);border:1px solid var(--sea-bright);border-radius:8px;padding:5px 14px;cursor:pointer}.rev-edit,.rev-edit:hover{background:#fff}.rev-body{padding:6px 0}.rev-sub{font-size:12px;font-weight:800;color:var(--sea);letter-spacing:.06em;margin:0;padding:12px 16px 2px}.rev-row{display:flex;gap:14px;padding:8px 16px;border-top:1px solid #eef6f9;font-size:13.5px;line-height:1.5}.rev-sub+.rev-row{border-top:none}.rev-label{flex:0 0 40%;color:var(--muted);font-weight:700}.rev-val{flex:1 1;color:var(--ink);word-break:break-all}.rev-val.empty{color:#bcccd3}@media(max-width:640px){.review{padding:18px 18px 4px}.rev-row{flex-direction:column;gap:2px}.rev-label{flex:none}}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#eaf7fb,#f3fafc)}.login-card{width:100%;max-width:380px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px 28px;box-shadow:0 24px 60px -30px rgba(7,72,95,.45)}.login-card .brand{text-align:center;margin-bottom:22px}.login-card .brand .e{font-size:12px;letter-spacing:.2em;color:var(--sea);font-weight:700;margin:0}.login-card .brand h1{margin:6px 0 0;font-size:20px}.login-err{background:#fff3ee;border:1px solid #f3c4b2;color:#b4441f;font-size:13px;padding:10px 14px;border-radius:10px}.login-err,.login-field{margin-bottom:14px}.login-field label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;color:var(--ink)}.login .btn{width:100%;margin-top:6px}.admin{max-width:980px;margin:0 auto;padding:28px 20px 80px}.admin-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.admin-eyebrow{font-size:12px;letter-spacing:.18em;color:var(--sea);font-weight:700;margin:0}.admin-bar h1{margin:4px 0 2px;font-size:22px;color:var(--ink)}.admin-back{display:inline-flex;align-items:center;gap:6px;color:var(--sea);text-decoration:none;font-weight:700;font-size:13px;margin-bottom:8px}.admin-back:hover{text-decoration:underline}.btn.small{padding:9px 18px;font-size:13px;flex:none}.admin-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px -30px rgba(7,72,95,.4)}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl thead th{text-align:left;background:var(--foam);color:var(--sea-deep);font-weight:800;padding:13px 18px;border-bottom:1px solid var(--line);font-size:12.5px;letter-spacing:.04em}.tbl tbody td{border-bottom:1px solid #eef6f9;padding:0}.tbl tbody td a{display:block;padding:14px 18px;color:var(--ink);text-decoration:none}.tbl tbody tr:hover td{background:#f7fcfe}.tbl .empty{padding:30px 18px;text-align:center;color:var(--muted)}.review.plain{padding:0}.tbl th.th-ops{width:150px}.tbl td.ops{display:flex;gap:8px;padding:10px 16px}.rowbtn{font-size:12.5px;font-weight:700;border-radius:8px;padding:7px 14px;cursor:pointer;text-decoration:none;border:1px solid var(--line);background:#fff;line-height:1}.rowbtn.edit{color:var(--sea);border-color:var(--sea-bright)}.rowbtn.edit:hover{background:var(--foam)}.rowbtn.del{color:#c14b2a;border-color:#f0c9bd}.rowbtn.del:hover{background:#fff3ee}.rowbtn.del:disabled{opacity:.6;cursor:default}select{font-family:inherit;font-size:14.5px;color:var(--ink);padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;background:#fbfdfe;width:100%;cursor:pointer}select:focus{outline:none;border-color:var(--sea-bright);box-shadow:0 0 0 4px rgba(43,180,214,.18);background:#fff}.tbl th.th-id{width:90px}