@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
/* ===== 地方連携マッチング デザインシステム v2 ===== */
:root{
  --bg:#f5f3ec;--surface:#fff;--ink:#141a2b;--mute:#5b6a64;--faint:#8a968f;--line:#e3e0d4;--soft:#efece2;
  --acc:#0f6b57;--acc-d:#0a4a3d;--acc-soft:#e1efe9;--acc-ink:#fff;
  --terra:#c0532a;--terra-soft:#fbebe2;--gold:#a67a1c;--gold-soft:#f7ecd0;--blue:#2859ad;--blue-soft:#e4ecf9;--bad:#b83a25;--bad-soft:#fbe5df;
  --side:#0b2923;--side-ink:#a9c5bc;--side-on:rgba(255,255,255,.09);--dark:#0b2923;
  --r:14px;--shadow:0 1px 2px rgba(20,35,30,.05),0 8px 24px rgba(20,35,30,.06);--shadow-l:0 18px 50px rgba(11,41,35,.14);
  --serif:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Yu Gothic UI","Hiragino Sans",Meiryo,system-ui,sans-serif;--num:"Inter","Cascadia Code",Consolas,sans-serif}
@media(prefers-color-scheme:dark){:root{
  --bg:#0c1311;--surface:#131d1a;--ink:#e8efec;--mute:#9bb0a9;--faint:#6f847d;--line:#24332f;--soft:#192521;
  --acc:#4fd0ae;--acc-d:#7fe3c7;--acc-soft:#14322b;--acc-ink:#062018;
  --terra:#f0a06a;--terra-soft:#35261a;--gold:#e8bd5c;--gold-soft:#33290f;--blue:#8ab0ff;--blue-soft:#1a2a50;--bad:#ff8f78;--bad-soft:#3a1e19;
  --side:#08201b;--side-ink:#8fb0a6;--dark:#08201b;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.28);--shadow-l:0 18px 50px rgba(0,0,0,.5)}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"palt"}
a{color:var(--acc);text-underline-offset:3px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--acc) 55%,transparent);outline-offset:2px;border-radius:8px}
::selection{background:var(--acc-soft)}
.ban{background:var(--dark);color:#cfe3dc;font-size:12px;text-align:center;padding:6px 10px;letter-spacing:.02em}.ban b{color:#fff}
/* ---- shell ---- */
.shell{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:calc(100vh - 31px)}
.side{background:var(--side);color:var(--side-ink);padding:18px 14px;position:sticky;top:0;align-self:start;height:calc(100vh - 31px);overflow:auto;display:flex;flex-direction:column}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:800;font-size:17px;text-decoration:none;color:#fff;padding:2px 8px 18px;letter-spacing:.02em}
.logo i{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#43c9a8,#0f6b57);display:grid;place-items:center;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.logo i svg{width:17px;height:17px;stroke:#fff}
.logo b{color:#7fe3c7;font-weight:800}.logo small{display:block;font:500 10px/1 var(--num);letter-spacing:.18em;color:#76978d;margin-top:3px}
.side h6{margin:18px 10px 6px;font:600 10.5px/1 var(--num);letter-spacing:.18em;color:#68887e}
.side a.i{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:10px;color:var(--side-ink);text-decoration:none;font-size:14px;font-weight:500;position:relative}
.side a.i svg{width:18px;height:18px;flex:none;stroke:currentColor;opacity:.85}
.side a.i:hover{background:rgba(255,255,255,.05);color:#fff}
.side a.i.on{background:var(--side-on);color:#fff;font-weight:700}
.side a.i.on:before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#43c9a8}
.side a.i .n{margin-left:auto;background:var(--terra);color:#fff;border-radius:99px;font:700 11px/18px var(--num);padding:0 7px;min-width:20px;text-align:center}
.side .sw{display:flex;flex-wrap:wrap;gap:6px;padding:2px 8px}.side .sw a{font-size:12px;color:var(--side-ink);border:1px solid rgba(255,255,255,.14);border-radius:99px;padding:1px 10px;text-decoration:none}.side .sw a:hover{color:#fff;border-color:rgba(255,255,255,.4)}
.side .who{margin-top:auto;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.03);display:flex;gap:10px;align-items:center}
.who .ava{width:34px;height:34px;border-radius:10px;background:#43c9a8;color:#062018;font:800 14px/34px var(--sans);text-align:center;flex:none}
.who b{display:block;color:#fff;font-size:13px;line-height:1.35}.who span{font-size:11.5px;line-height:1.3;display:block}.who a{font-size:11.5px;color:#7fe3c7}
.main{padding:0 36px 90px;min-width:0;max-width:1240px;width:100%}
.top{display:flex;align-items:center;gap:14px;padding:16px 0;margin-bottom:6px;flex-wrap:wrap}
.top .crumb{font-size:12.5px;color:var(--faint);letter-spacing:.02em}.top .crumb b{color:var(--mute);font-weight:500}
.top .sp{margin-left:auto;display:flex;gap:10px;align-items:center}
.srch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:5px 14px;font-size:13px;color:var(--faint);min-width:210px}.srch svg{width:15px;height:15px;stroke:currentColor}
.ib{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;position:relative;color:var(--mute);text-decoration:none}.ib svg{width:17px;height:17px;stroke:currentColor}.ib i{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--terra);border:2px solid var(--surface)}
.btn.menu{display:none}
@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;display:none}.side.open{display:flex}.btn.menu{display:inline-flex}.main{padding:0 18px 70px}.srch{display:none}}
/* ---- type ---- */
h1{font-family:var(--serif);font-size:30px;line-height:1.35;margin:2px 0 6px;font-weight:800;letter-spacing:.01em}
.eyebrow{font:600 11px/1 var(--num);letter-spacing:.2em;color:var(--acc);text-transform:uppercase;margin:6px 0 10px;display:block}
.sub{color:var(--mute);margin:0 0 24px;max-width:780px;font-size:15px}
h2{font-family:var(--serif);font-size:19px;margin:34px 0 12px;display:flex;align-items:center;gap:10px;font-weight:700}
h2::after{content:"";flex:1;height:1px;background:var(--line)}
h3{font-size:15.5px;margin:0 0 3px;line-height:1.55}
/* ---- surfaces ---- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:14px 0;box-shadow:var(--shadow)}
.card.flat{box-shadow:none;background:var(--soft);border-color:transparent}
.card.hl{border-color:color-mix(in srgb,var(--acc) 40%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 10%,transparent),var(--shadow)}
.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.grid>.card{margin:0}
.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px}@media(max-width:1000px){.split{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;gap:6px;background:var(--acc);color:var(--acc-ink);border:1px solid var(--acc);padding:9px 20px;border-radius:999px;text-decoration:none;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;line-height:1.4;transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--acc) 30%,transparent)}
.btn.o{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn.o:hover{box-shadow:var(--shadow);border-color:var(--faint)}
.btn.s{padding:5px 14px;font-size:13px}.btn.w{background:var(--terra);border-color:var(--terra);color:#fff}.btn.d{background:none;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--line))}
.btn svg{width:15px;height:15px;stroke:currentColor}
/* ---- stat ---- */
.stat{padding:18px 20px 16px;position:relative;overflow:hidden}.stat small{color:var(--mute);font-size:12.5px;display:block;font-weight:500}
.stat b{font:700 34px/1.15 var(--num);letter-spacing:-.02em;display:block;margin:2px 0}.stat span{font-size:12px;color:var(--faint)}
.stat svg.sp{position:absolute;right:14px;top:16px;width:84px;height:30px}
.stat .ico{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:10px;background:var(--acc-soft);display:grid;place-items:center;color:var(--acc)}.stat .ico svg{width:18px;height:18px;stroke:currentColor}
/* ---- chips ---- */
.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:99px;padding:0 10px;font-size:12px;line-height:22px;color:var(--mute);margin:3px 4px 0 0;background:var(--surface);white-space:nowrap}
.chip.o{background:var(--acc-soft);color:var(--acc);border-color:transparent}.chip.s{background:var(--terra-soft);color:var(--terra);border-color:transparent}.chip.b{background:var(--blue-soft);color:var(--blue);border-color:transparent}.chip.r{background:var(--bad-soft);color:var(--bad);border-color:transparent}.chip.a{background:var(--gold-soft);color:var(--gold);border-color:transparent}
.chip.o:before,.chip.a:before,.chip.r:before,.chip.b:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
/* grade + score capsule */
.g{display:inline-block;color:#fff;background:var(--acc-d);border-radius:8px 0 0 8px;padding:0 9px;font:800 13px/24px var(--num);margin-right:0;vertical-align:middle}.g.A{background:var(--blue)}.g.B{background:var(--gold)}.g.C{background:#7d8b86}
.g+.score{display:inline-block;border:1.5px solid var(--line);border-left:0;border-radius:0 8px 8px 0;padding:0 9px;font:700 14px/22px var(--num);margin-right:6px;vertical-align:middle;background:var(--surface)}
.score{font-family:var(--num);font-weight:700}
.ring{--p:80;--c:var(--acc);width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center;flex:none;position:relative}
.ring:before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}
.ring b{position:relative;font:700 19px/1 var(--num)}.ring small{position:relative;display:block;font:700 9px/1 var(--num);letter-spacing:.1em;color:var(--faint);text-align:center;margin-top:2px}
.ring.A{--c:var(--blue)}.ring.B{--c:var(--gold)}.ring.C{--c:#8d9a95}.ring.lg{width:84px;height:84px}.ring.lg b{font-size:26px}
.pb{height:6px;background:var(--soft);border-radius:3px;margin:3px 0 8px;overflow:hidden}.pb i{display:block;height:100%;background:linear-gradient(90deg,var(--acc),color-mix(in srgb,var(--acc) 60%,#9be7d0));border-radius:3px}
.warn{color:var(--terra);font-size:13px}.ok{color:var(--acc);font-size:13px}.mute{color:var(--mute)}.sm{font-size:13px}
ul.rs{list-style:none;padding:0;margin:8px 0}ul.rs li{position:relative;padding-left:20px;font-size:13.5px;line-height:1.7;margin:3px 0;color:var(--ink)}
ul.rs li:before{content:"";position:absolute;left:0;top:8px;width:11px;height:6px;border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg) translate(1px,-3px)}
ul.rs li.w,ul.rs.w li{color:var(--terra)}ul.rs li.w:before,ul.rs.w li:before{border:0;width:12px;height:12px;top:5px;left:0;transform:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 21h20L12 3Zm-1 6h2v6h-2V9Zm0 8h2v2h-2v-2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 21h20L12 3Zm-1 6h2v6h-2V9Zm0 8h2v2h-2v-2Z'/%3E%3C/svg%3E") center/contain no-repeat}
/* ---- tables ---- */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
th,td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft);color:var(--mute);font-size:12px;font-weight:700;white-space:nowrap;letter-spacing:.04em}tr:last-child td{border-bottom:0}tbody tr:hover td,table tr:hover td{background:color-mix(in srgb,var(--acc-soft) 35%,transparent)}
.tw{overflow-x:auto;border-radius:var(--r)}
/* ---- forms ---- */
label{display:block;font-weight:700;font-size:13px;margin:16px 0 6px;letter-spacing:.01em}label small{font-weight:400;color:var(--faint)}
input,select,textarea{width:100%;font:inherit;font-size:14.5px;padding:10px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 15%,transparent)}
input[type=checkbox]{width:auto;accent-color:var(--acc)}textarea{min-height:112px;resize:vertical;line-height:1.7}
.row{display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:640px){.row{grid-template-columns:1fr}}
.opt{display:flex;flex-wrap:wrap;gap:7px}.opt span{border:1px solid var(--line);border-radius:99px;padding:4px 14px;font-size:13.5px;background:var(--surface);cursor:pointer;transition:all .12s;user-select:none}
.opt span:hover{border-color:var(--acc)}.opt span.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-weight:600}
.seg{display:inline-flex;background:var(--soft);border-radius:99px;padding:4px;gap:2px;margin:6px 0 16px;flex-wrap:wrap}
.tabs{display:inline-flex;background:var(--soft);border-radius:99px;padding:4px;gap:2px;margin:6px 0 18px;flex-wrap:wrap}.tabs button{border:0;background:none;border-radius:99px;padding:6px 18px;cursor:pointer;color:var(--mute);font:inherit;font-size:13.5px;font-weight:500}.tabs button:hover{color:var(--ink)}
.tabs button.on{background:var(--surface);color:var(--ink);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.pane{display:none}.pane.on{display:block;animation:fi .25s ease}@keyframes fi{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.note{background:var(--gold-soft);color:var(--gold);border-radius:12px;padding:11px 16px;font-size:13.5px;margin:14px 0;line-height:1.7}.note.i{background:var(--acc-soft);color:var(--acc)}
.steps{display:flex;gap:8px;margin:0 0 26px;flex-wrap:wrap;counter-reset:s}.steps div{flex:1;min-width:130px;font-size:12.5px;color:var(--faint);padding:0 0 0 0;counter-increment:s}
.steps div:before{content:counter(s);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--soft);font:700 11px/1 var(--num);margin-right:8px;color:var(--mute)}
.steps div.on{color:var(--ink);font-weight:700}.steps div.on:before{background:var(--acc);color:var(--acc-ink)}
.tl{list-style:none;margin:0;padding:0}.tl li{position:relative;padding:0 0 18px 26px;font-size:14px;line-height:1.6}.tl li:before{content:"";position:absolute;left:3px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--surface);border:3px solid var(--acc)}.tl li:after{content:"";position:absolute;left:8px;top:20px;bottom:-4px;width:1px;background:var(--line)}.tl li:last-child:after{display:none}.tl li.todo:before{border-color:var(--line)}.tl small{color:var(--mute);display:block;font-size:12.5px}
.tl li b{font-weight:700}
.ph{display:flex;align-items:center;gap:14px}.ph>div:nth-child(2){min-width:0}
.av{width:44px;height:44px;border-radius:13px;background:var(--acc-soft);color:var(--acc);display:grid;place-items:center;font:800 15px/1 var(--sans);flex:none;letter-spacing:0}
.av.m{background:var(--blue-soft);color:var(--blue)}.av.t{background:var(--terra-soft);color:var(--terra)}.av.g2{background:var(--gold-soft);color:var(--gold)}.av.x{background:var(--soft);color:var(--mute)}
.empty{border:1.5px dashed var(--line);border-radius:14px;padding:22px;color:var(--mute);text-align:center;font-size:14px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 14px;font-size:14px}.kv dt{color:var(--faint);font-size:12.5px}.kv dd{margin:0}
.auth{max-width:460px;margin:7vh auto;padding:0 18px}.auth .card{padding:30px;box-shadow:var(--shadow-l)}
.rep{max-width:860px}.rep .card{padding:34px 40px}.rep h1{font-size:28px}
.pagehead{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:6px}.pagehead>div{flex:1;min-width:260px}
@media print{.side,.top,.noprint,.ban{display:none!important}.shell{display:block}.main{padding:0;max-width:none}.card{box-shadow:none;break-inside:avoid}body{background:#fff;color:#000}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.bd{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0 4px}@media(max-width:640px){.bd{grid-template-columns:repeat(2,1fr)}}
.bd>div{background:var(--soft);border-radius:10px;padding:8px 10px}.bd small{display:block;font-size:11px;color:var(--mute);line-height:1.4}.bd b{font:700 15px/1.3 var(--num)}.bd b em{font-style:normal;font-weight:500;font-size:11px;color:var(--faint)}.bd .pb{margin:5px 0 0;height:4px;background:var(--line)}
.auth .logo,.wrap .logo{color:var(--ink)}.auth .logo b,.wrap .logo b{color:var(--acc)}.auth .logo small,.wrap .logo small{color:var(--faint)}
.auth .logo{justify-content:center;padding-bottom:22px;font-size:19px}
body:has(.auth){background:radial-gradient(900px 420px at 50% -8%,color-mix(in srgb,var(--acc) 20%,transparent),transparent),var(--bg)}
.wrap .logo{padding-left:0}

/* ================= v3: Raisetable系(白いキャンバス・ヘアライン・黒の主ボタン・1色アクセント) =================
   参考: ラウンドテーブル_開発資料/02_モック・資料/mock_site.html。ライトのみ。 */
:root{
  --bg:#fff;--surface:#fff;--ink:#0e1013;--mute:#575a61;--faint:#8c8e94;--line:#e8e6e1;--line2:#d8d5ce;--soft:#f6f5f2;
  --acc:#3a5fb0;--acc-d:#16305f;--acc-soft:#e7edf8;--acc-ink:#fff;--btn:#0e1013;
  --terra:#e4452b;--terra-soft:#fdede9;--gold:#8a6100;--gold-soft:#fff3d6;--blue:#3b4fd6;--blue-soft:#eceefd;--bad:#e5484d;--bad-soft:#fde8ea;
  --side:#fff;--side-ink:#575a61;--side-on:#f1f0ec;--dark:#0e1013;
  --r:14px;--shadow:none;--shadow-l:0 24px 60px rgba(14,16,19,.12);
  --serif:"Inter","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--sans:"Inter","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;--num:"Inter",sans-serif}
@media(prefers-color-scheme:dark){:root{
  --bg:#fff;--surface:#fff;--ink:#0e1013;--mute:#575a61;--faint:#8c8e94;--line:#e8e6e1;--soft:#f6f5f2;
  --acc:#3a5fb0;--acc-d:#16305f;--acc-soft:#e7edf8;--acc-ink:#fff;--terra:#e4452b;--terra-soft:#fdede9;--gold:#8a6100;--gold-soft:#fff3d6;--blue:#3b4fd6;--blue-soft:#eceefd;--bad:#e5484d;--bad-soft:#fde8ea;
  --side:#fff;--side-ink:#575a61;--side-on:#f1f0ec;--dark:#0e1013;--shadow:none;--shadow-l:0 24px 60px rgba(14,16,19,.12)}}
body{font-size:14.5px;letter-spacing:0}
.ban{background:var(--soft);color:var(--faint);font-size:11.5px;border-bottom:1px solid var(--line)}.ban b{color:var(--mute)}
h1,h2,h3{font-family:var(--sans);letter-spacing:-.02em}
h1{font-weight:800;font-size:28px;line-height:1.3}
h2{font-weight:700;font-size:17px}h2::after{display:none}
h2::before{content:"";width:4px;height:15px;border-radius:2px;background:var(--ink)}
.eyebrow{color:var(--acc-d);letter-spacing:.14em}
.sub{color:var(--mute)}
/* shell: 白いサイドバー */
.side{border-right:1px solid var(--line);background:var(--side)}
.logo{color:var(--ink);font-family:var(--sans);letter-spacing:-.01em;font-size:15.5px}
.logo i{background:var(--ink);box-shadow:none;border-radius:8px;width:28px;height:28px}
.logo b{color:var(--ink);font-weight:800}.logo small{color:var(--faint)}
.side h6{color:var(--faint)}
.side a.i{color:var(--side-ink);border-radius:8px;font-weight:500}.side a.i:hover{background:var(--soft);color:var(--ink)}
.side a.i.on{background:var(--side-on);color:var(--ink);font-weight:700}.side a.i.on:before{background:var(--ink);left:-14px}
.side a.i .n{background:var(--terra)}
.side .sw a{color:var(--mute);border-color:var(--line2)}.side .sw a:hover{color:var(--ink);border-color:var(--ink)}
.side .who{border-color:var(--line);background:var(--soft)}.who .ava{background:var(--ink);color:#fff;border-radius:9px}.who b{color:var(--ink)}.who a{color:var(--acc-d)}
.top{border-bottom:1px solid var(--line);margin-bottom:26px}
.srch{border-radius:8px}.ib{border-radius:8px}
/* buttons: 黒の主ボタン */
.btn{background:var(--btn);border-color:var(--btn);color:#fff;border-radius:8px;font-weight:600;padding:9px 18px;font-size:13.5px}
.btn:hover{box-shadow:none;transform:none;opacity:.88}
.btn.o{background:#fff;color:var(--ink);border-color:var(--line2)}.btn.o:hover{background:var(--soft);box-shadow:none;opacity:1;border-color:var(--line2)}
.btn.w{background:var(--terra);border-color:var(--terra)}.btn.d{color:var(--bad);background:#fff}
.btn.s{padding:5px 12px;font-size:12.5px;border-radius:7px}
/* cards: ヘアライン、影なし */
.card{border-radius:14px;box-shadow:none}.card.flat{background:var(--soft);border-color:var(--line)}
.card.hl{border-color:var(--ink);box-shadow:none}
table{box-shadow:none;border-radius:12px}th{background:var(--soft)}
tbody tr:hover td,table tr:hover td{background:var(--soft)}
.stat b{font-weight:600;letter-spacing:-.02em}.stat .ico{background:var(--soft);color:var(--ink);border-radius:9px}
input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(14,16,19,.08)}
.opt span{border-radius:8px}.opt span.on{background:var(--ink);border-color:var(--ink);color:#fff}
.tabs{background:var(--soft);border-radius:10px}.tabs button{border-radius:8px}.tabs button.on{box-shadow:0 0 0 1px var(--line)}
.chip{border-radius:6px;line-height:22px;background:#fff}
.g{background:var(--ink);border-radius:6px 0 0 6px}.g.A{background:var(--blue)}.g.B{background:#b98200}.g.C{background:#8c8e94}
.g+.score{border-radius:0 6px 6px 0}
.ring{--c:var(--acc)}.ring.A{--c:var(--blue)}.ring.B{--c:#e0a422}.ring.C{--c:#b6b8bd}
.pb i{background:var(--acc)}
.note{background:var(--gold-soft);color:var(--gold);border-radius:10px}.note.i{background:var(--acc-soft);color:var(--acc-d)}
.steps div.on:before{background:var(--ink);color:#fff}
.tl li:before{border-color:var(--ink)}.tl li.todo:before{border-color:var(--line2)}
.av{border-radius:10px;background:var(--acc-soft);color:var(--acc-d)}
.empty{border-radius:12px}
.auth .card{box-shadow:var(--shadow-l)}
body:has(.auth){background:radial-gradient(700px 360px at 12% -10%,rgba(228,69,43,.10),transparent),radial-gradient(700px 360px at 90% 0%,rgba(58,95,176,.10),transparent),#fff}
ul.rs li:before{border-color:var(--acc)}
.bd>div{background:var(--soft)}
html.emb .ban{display:none}
.totop{position:fixed;right:22px;bottom:22px;z-index:49;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(14,16,19,.28);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s,transform .2s}
.totop.on{opacity:1;transform:none;pointer-events:auto}.totop svg{width:18px;height:18px;stroke:#fff}
@media print{.totop{display:none}}
/* ---- 配色確定: ベージュ + 濃い緑(自治体・地方企業・首都圏企業向けに落ち着いた色) ---- */
:root{--acc:#1f3f7a;--acc-d:#16305f;--acc-soft:#e7edf8;--soft:#f3efe4;--line:#e6e0d1;--line2:#d9d2bf;--bg:#fbfaf6;--surface:#fff;--ink:#141a2b;--btn:#141a2b}
@media(prefers-color-scheme:dark){:root{--acc:#1f3f7a;--acc-d:#16305f;--acc-soft:#e7edf8;--soft:#f3efe4;--line:#e6e0d1;--bg:#fbfaf6;--ink:#141a2b;--btn:#141a2b}}
body{background:var(--bg)}
/* 資料ドロップ */
.dz{border:1.5px dashed var(--line2);border-radius:14px;padding:26px 18px;text-align:center;background:var(--soft);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:border-color .15s,background .15s}
.dz:hover,.dz:focus-visible{border-color:var(--ink)}
.dz.on{border-color:var(--acc);background:var(--acc-soft);border-style:solid}
.dz svg{width:30px;height:30px;stroke:var(--ink);margin-bottom:6px}.dz b{font-size:15px}.dz span{font-size:13px;color:var(--mute)}.dz small{font-size:11.5px;color:var(--faint);margin-top:6px}
.dlist{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.drow{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto 32px;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff}
.drow .dn{min-width:0}.drow .dn b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drow .dn small{color:var(--faint);font-size:11.5px}
.ft{width:40px;height:40px;border-radius:9px;display:grid;place-items:center;font:800 11px var(--num);background:var(--soft);color:var(--mute)}
.ft.pdf{background:#fde8ea;color:#c0353a}.ft.ppt{background:#fdeee0;color:#c2561a}.ft.doc{background:#e7edf8;color:#1f3f7a}.ft.xls{background:#e6f2e9;color:#2f7a4a}.ft.img{background:#f1e9fa;color:#6b3fa0}
.ds{width:auto;padding:5px 8px;font-size:12.5px;border-radius:8px}
.rm{border:0;background:none;font-size:20px;line-height:1;color:var(--faint);cursor:pointer;border-radius:8px;width:30px;height:30px}.rm:hover{background:var(--soft);color:var(--bad)}
.drow.new{animation:fi .3s ease}
@media(max-width:760px){.drow{grid-template-columns:44px minmax(0,1fr) 32px}.drow .ds{grid-column:2/4;width:100%}}
/* プロフィール(リッチ版) */
.phd{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;position:relative;overflow:hidden}
.phd:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--acc),#c9962b 60%,var(--terra))}
.phd-id{display:flex;gap:16px;align-items:center;min-width:0}
.phd-logo{width:62px;height:62px;border-radius:16px;background:var(--ink);color:#fff;display:grid;place-items:center;font:800 26px var(--sans);flex:none}
.phd-n{font-size:21px;font-weight:800;letter-spacing:-.02em;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.phd-score{display:flex;gap:14px;align-items:center;background:var(--soft);border-radius:14px;padding:12px 18px}.phd-score b{display:block;font-size:14px}
.phd-score .ring.lg{width:64px;height:64px}.phd-score .ring.lg b{font-size:17px;display:block}
.phd-todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin:14px 0 22px}
.td{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s}
.td:hover{border-color:var(--ink)}.td i{width:26px;height:26px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font:700 12px var(--num);font-style:normal;flex:none}
.td b{display:block;font-size:13.5px}.td small{color:var(--mute);font-size:12px;line-height:1.5;display:block}.td span{margin-left:auto;font-size:18px;color:var(--faint)}
.docs-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:6px}
.dstat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}.dstat small{display:block;color:var(--mute);font-size:12px}.dstat b{font:600 26px/1.2 var(--num);letter-spacing:-.02em}.dstat span{font-size:12px;color:var(--faint);margin-left:4px}.dstat .pb{margin:6px 0 0}
.dh{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 8px}
.dz{padding:34px 18px}
.drow .ds{min-width:0}
/* ロゴ: Home(太)+ table(細) */
.logo b{font-weight:500!important;color:var(--faint)!important}
.logo{font-family:var(--sans);letter-spacing:-.02em}
.logo>span{font-weight:800}.logo small{font-weight:500;letter-spacing:.04em;font-size:10.5px}
