:root{--ink:#111318;--ink-2:#3a3f4a;--ink-3:#6b7280;--line:#e5e7eb;--bg:#f6f6f3;--paper:#ffffff;--accent:#1e3a8a;--accent-soft:#e8edfb;--danger:#b42318;--ok:#067647;--warn:#b54708;--font:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic","Meiryo",system-ui,sans-serif}.brand-founders{--accent:#ff4d1c;--accent-soft:#fff0eb}.brand-academy{--accent:#0f766e;--accent-soft:#e6f4f2}.brand-admin{--accent:#1e3a8a;--accent-soft:#e8edfb}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3{line-height:1.35;margin:0}p{margin:0}img{max-width:100%}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{border-color:var(--ink-3)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(.95);border-color:var(--accent)}.btn-sm{padding:5px 10px;font-size:13px}.btn-ghost{background:transparent}.btn-danger{border-color:#f1c7c3;color:var(--danger)}.btn-danger:hover{background:#fdeeed;border-color:var(--danger)}.btn[disabled]{opacity:.5;cursor:default}label.f{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}label.f>span.hint{font-weight:400;color:var(--ink-3);margin-left:6px}input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=text],input[type=url],select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:6px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.formgrid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid .wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:center;margin-top:20px;flex-wrap:wrap}.check{display:inline-flex;gap:8px;align-items:center;font-size:14px}.notice{padding:12px 16px;border-radius:6px;font-size:14px;background:var(--accent-soft);color:var(--ink);border:1px solid transparent}.notice.err{background:#fdeeed;color:var(--danger)}.notice.ok{background:#ecfdf3;color:var(--ok)}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;background:#eef0f3;color:var(--ink-2);white-space:nowrap}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.ok{background:#ecfdf3;color:var(--ok)}.badge.warn{background:#fffaeb;color:var(--warn)}.badge.danger{background:#fdeeed;color:var(--danger)}.muted{color:var(--ink-3)}.small{font-size:13px}.pre{white-space:pre-wrap;word-break:break-word}.shell{display:flex;min-height:100vh}.side{width:236px;flex:none;background:var(--ink);color:#e6e7ea;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.side-brand{padding:22px 20px 18px;border-bottom:1px solid #262a33}.side-brand .wordmark{font-weight:800;letter-spacing:.14em;font-size:15px;color:#fff}.side-brand .wordmark b{color:var(--accent);font-weight:800}.side-brand .who{font-size:12px;color:#9aa0ab;margin-top:4px}.side-nav{padding:12px 10px;display:flex;flex-direction:column;gap:2px;flex:1 1;overflow-y:auto}.side-nav a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:6px;text-decoration:none;color:#c9ccd3;font-size:14px}.side-nav a:hover{background:#1d2028;color:#fff}.side-nav a.on{background:var(--accent);color:#fff;font-weight:700}.side-nav .count{font-size:11px;background:rgba(255,255,255,.18);padding:1px 8px;border-radius:9px}.side-foot{padding:12px 10px 16px;border-top:1px solid #262a33;display:flex;flex-direction:column;gap:2px}.side-foot a,.side-foot button{display:block;text-align:left;padding:6px 12px;border-radius:6px;color:#9aa0ab;text-decoration:none;background:none;border:0;font:inherit;font-size:13px;cursor:pointer;width:100%}.side-foot a:hover,.side-foot button:hover{color:#fff;background:#1d2028}.side-foot a.on{color:#fff}.main{flex:1 1;min-width:0;width:100%;padding:28px 32px 80px}.head{display:flex;align-items:flex-end;gap:14px;margin-bottom:22px;flex-wrap:wrap}.head h1{font-size:24px;font-weight:800;letter-spacing:.02em}.head .sub{color:var(--ink-3);font-size:13px;margin-top:4px}.head .actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.crumb{font-size:13px;margin-bottom:6px}.crumb,.crumb a{color:var(--ink-3)}.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;overflow:hidden}.panel-head{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.panel-head h2{font-size:15px;font-weight:700}.panel-head .right{margin-left:auto;display:flex;gap:8px;align-items:center}.panel-body{padding:18px}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;font-weight:600;font-size:12px;color:var(--ink-3);background:#fafafa;padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:12px 16px;border-bottom:1px solid #f0f1f3;vertical-align:top}table.t tr:last-child td{border-bottom:0}table.t tbody tr:hover{background:#fcfcfb}.tlink{font-weight:700;text-decoration:none}.tlink:hover{text-decoration:underline}.rowact{justify-content:flex-end}.filters,.rowact{display:flex;gap:6px}.filters{flex-wrap:wrap;align-items:center}.chip{display:inline-block;padding:5px 12px;border-radius:99px;border:1px solid var(--line);background:#fff;font-size:13px;text-decoration:none;color:var(--ink-2)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.stats{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:22px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px 18px}.stat .k{font-size:12px;color:var(--ink-3)}.stat .v{font-size:30px;font-weight:800;line-height:1.2;margin-top:2px}.stat .v small{font-size:14px;color:var(--ink-3);font-weight:600}.statusbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:14px 18px;background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.statusbar .item{font-size:13px;color:var(--ink-3)}.statusbar .item b{color:var(--ink);font-size:14px;margin-left:6px}.statusbar .act{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.cols2{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:20px;gap:20px;align-items:start}.empty{padding:44px 18px;text-align:center;color:var(--ink-3);font-size:14px}.empty .btn{margin-top:14px}.danger-zone{border:1px solid #f1c7c3;background:#fdf6f5;border-radius:8px;padding:16px 18px}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:14px 0 14px 22px;border-left:2px solid var(--line);position:relative}.timeline li:before{content:"";position:absolute;left:-6px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--accent)}.timeline .when{font-size:12px;color:var(--ink-3);font-weight:600}.solo{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.solo-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 28px}.solo-card .wordmark{font-weight:800;letter-spacing:.16em;font-size:14px;margin-bottom:18px}.solo-card .wordmark b{color:var(--accent)}.solo-card h1{font-size:20px;margin-bottom:8px}.solo-card p{font-size:14px;color:var(--ink-2)}.solo-card form{margin-top:20px;display:grid;grid-gap:14px;gap:14px}.pub{background:#fff;min-height:100vh}.pub-top{display:flex;align-items:center;gap:16px;padding:16px 40px;border-bottom:1px solid #eee;position:-webkit-sticky;position:sticky;top:0;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10}.pub-top .wordmark{font-weight:800;letter-spacing:.18em;text-decoration:none;font-size:15px}.pub-top .wordmark b{color:var(--accent)}.pub-top nav{margin-left:auto;display:flex;gap:22px;font-size:14px}.pub-top nav a{text-decoration:none;color:var(--ink-2)}.pub-top nav a:hover{color:var(--ink)}.hero{background:var(--ink);color:#fff;padding:72px 40px 64px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-120px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,28,.35),rgba(255,77,28,0) 65%)}.hero .eyebrow{font-size:13px;letter-spacing:.24em;color:var(--accent);font-weight:700}.hero h1{font-size:clamp(34px,5.4vw,64px);font-weight:800;letter-spacing:.01em;margin-top:14px;max-width:16em}.hero .lead,.hero h1{position:relative;z-index:1}.hero .lead{margin-top:18px;color:#c9ccd3;font-size:16px;max-width:40em}.counter{display:flex;gap:48px;margin-top:44px;flex-wrap:wrap;position:relative;z-index:1}.counter .k{font-size:12px;letter-spacing:.14em;color:#9aa0ab;font-weight:600}.counter .v{font-size:clamp(48px,7vw,88px);font-weight:800;line-height:1;margin-top:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.counter .v .of{font-size:.42em;color:#6b7280;margin-left:6px}.counter .v.accent{color:var(--accent)}.progress{margin-top:26px;height:6px;background:#262a33;border-radius:99px;overflow:hidden;max-width:720px;position:relative;z-index:1}.progress>i{display:block;height:100%;background:var(--accent)}.sec{padding:56px 40px}.sec-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.sec-head h2{font-size:26px;font-weight:800}.sec-head .eyebrow{font-size:12px;letter-spacing:.2em;color:var(--accent);font-weight:700}.vgrid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.vcard{display:flex;flex-direction:column;gap:10px;border:1px solid #e8e8e8;border-radius:10px;padding:20px;text-decoration:none;background:#fff;transition:border-color .15s,transform .15s}.vcard:hover{border-color:var(--ink);transform:translateY(-2px)}.vcard .no{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.1em}.vcard h3{font-size:19px;font-weight:800}.vcard .tag{font-size:14px;color:var(--ink-2);flex:1 1}.vcard .meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--ink-3);border-top:1px solid #f0f0f0;padding-top:10px}.vdetail h1{font-size:clamp(28px,4vw,44px);font-weight:800}.vdetail .tag{font-size:18px;color:var(--ink-2);margin-top:10px}.vdetail .block{margin-top:36px}.vdetail .block h2{font-size:13px;letter-spacing:.18em;color:var(--accent);font-weight:700;margin-bottom:10px}.vdetail .block .body{font-size:16px}.vdetail-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);grid-gap:48px;gap:48px;align-items:start}.pub-foot{padding:36px 40px;border-top:1px solid #eee;font-size:13px;display:flex;gap:20px;flex-wrap:wrap}.pub-foot,.pub-foot a{color:var(--ink-3)}@media (max-width:900px){.cols2,.vdetail-grid{grid-template-columns:1fr}}@media (max-width:880px){.shell{display:block}.side{width:auto;height:auto;position:static}.side-foot,.side-nav{flex-direction:row;flex-wrap:wrap}.side-foot a,.side-foot button{width:auto}.main{padding:20px 16px 60px}.formgrid{grid-template-columns:1fr}.pub-top{padding:14px 16px}.pub-top nav{gap:14px}.hero{padding:48px 16px}.sec{padding:40px 16px}.pub-foot{padding:28px 16px}.counter{gap:28px}}.shell{background:linear-gradient(to right,var(--ink) 236px,var(--bg) 236px)}.brand-admin .side-brand .wordmark b{color:#9db7ff}.pub-top .wordmark,.pub-top nav a{white-space:nowrap}@media (max-width:880px){.shell{background:var(--bg)}.pub-top nav{font-size:13px;gap:12px}}.side-nav .sep{font-size:11px;font-weight:700;letter-spacing:.18em;color:#6e7480;padding:16px 12px 6px}.side-nav .sep:first-child{padding-top:4px}.brand-admin .side-nav .sep{color:#7f8bad}@media (max-width:880px){.side-nav .sep{width:100%;padding:8px 12px 2px}}.side-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;margin:12px 10px 0;padding:4px;background:#1b1e25;border-radius:8px}.side-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border:0;border-radius:6px;background:transparent;color:#9aa0ab;font:inherit;font-size:12px;font-weight:700;letter-spacing:.12em;cursor:pointer}.side-tabs button:hover{color:#fff}.side-tabs button.on{background:#fff;color:var(--ink)}.side-tabs .count{font-size:10px;letter-spacing:0;color:#fff;padding:0 6px;border-radius:9px}.side-tabs .count,.side-tabs button.on .count{background:var(--accent)}@media (max-width:880px){.side-tabs{margin:10px 10px 0}}.top-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1000;pointer-events:none}.top-progress i{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 8px var(--accent);opacity:0}.top-progress.run i{opacity:1;animation:tp-run 8s cubic-bezier(.1,.7,.2,1) forwards}.top-progress.done i{opacity:0;width:100%;transition:width .15s ease-out,opacity .3s ease .1s}@keyframes tp-run{0%{width:0}10%{width:35%}40%{width:65%}to{width:90%}}.brand-admin .top-progress i,.top-progress i{background:#3b82f6;box-shadow:0 0 8px rgba(59,130,246,.6)}.loading .sk{background:linear-gradient(90deg,#ebebe7,#f6f6f3 50%,#ebebe7);background-size:200% 100%;animation:sk 1.2s ease-in-out infinite;border-radius:6px}.loading .sk-title{width:220px;height:28px;margin-bottom:10px}.loading .sk-sub{width:420px;max-width:100%;height:14px;margin-bottom:26px}.loading .sk-row{display:grid;grid-template-columns:2fr 3fr 1fr;grid-gap:16px;gap:16px;padding:16px 18px;border-bottom:1px solid #f0f1f3}.loading .sk-row .sk{height:14px}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.loading .sk,.top-progress.run i{animation:none}.top-progress.run i{width:70%}}