/* 共通スタイル（本家 darkwebchecker.jp の配色・タイポグラフィを再現） */
:root{--brand:#86E22C;--brand-ink:#0E120F;--green-700:#2F7A12;--green-100:#EEF8E3;--green-200:#DCEFC6;--ink:#141A14;--slate:#556055;--muted:#879187;--line-l:#DCE3D8;--mist:#F3F6F1;--paper:#FFFFFF;--danger:#C7432A;--danger-100:#FDEFEA;--marker:#D9FF6E}:root{--bg:#0E120F;--panel:#161A16;--line:#262B26;--line2:#2E332E;--txt:#E9EEE5;--soft:#A8B4A4;--dim:#8B968A;--green:#86e22c;--green-hi:#9bf23e;--green-deep:#5ea617;--green-text:#A9E96B;--warn:#ff6b4a;--warn-deep:#e0502f}.btn.solid{background:var(--green-700);color:#fff;box-shadow:0 6px 22px #2f7a1240}.btn.solid:hover{filter:brightness(1.08);box-shadow:0 10px 30px #2f7a1255}*{margin:0;padding:0;box-sizing:border-box}::selection{background:#86e22c44}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;background:var(--bg);color:var(--txt);line-height:1.9;font-size:15.5px;-webkit-font-smoothing:antialiased}img{max-width:100%}a{color:var(--txt);text-decoration-color:var(--green-deep);text-underline-offset:3px}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}h1,h2,h3{text-wrap:balance}.rv{opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.rv.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}.wrap{max-width:860px;margin:0 auto;padding:0 22px}section{padding:74px 0}h2{font-size:clamp(22px,3.4vw,30px);font-weight:800;line-height:1.5;text-align:center;margin-bottom:14px;color:var(--txt)}h2 em{font-style:normal;color:var(--green-text)}.lead{text-align:center;color:var(--soft);font-size:14px;max-width:600px;margin:0 auto 46px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--green-hi),var(--green));color:#0a0a0a;font-weight:800;font-size:16px;padding:17px 46px;border-radius:999px;text-decoration:none;box-shadow:0 6px 26px #86e22c38;transition:transform .15s,box-shadow .2s,filter .2s;border:none;cursor:pointer}.btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 10px 34px #86e22c55}.btn.arrow:after{content:"→";transition:transform .15s}.btn.arrow:hover:after{transform:translate(3px)}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:#0e120fd9;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.hwrap{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px}.logo{display:inline-flex;align-items:center;gap:10px;font-size:16px;letter-spacing:.08em;font-weight:900;color:var(--green-text);text-decoration:none}.logo .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.tabs{display:inline-flex;gap:4px;background:#161a16;border:1px solid var(--line2);border-radius:999px;padding:4px}.tabs a{padding:7px 16px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--soft);text-decoration:none;transition:.2s;display:inline-flex;align-items:center;gap:6px}.tabs a:hover{color:var(--txt)}.tabs a.active{background:linear-gradient(180deg,var(--green-hi),var(--green));color:#0a0a0a}.tabs a svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.tabs a svg .c{fill:currentColor;stroke:none}.hbtn{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--green-text);border:1.5px solid #3c6b1a;font-weight:800;font-size:13px;padding:8px 20px;border-radius:999px;text-decoration:none;transition:.2s;white-space:nowrap}.hbtn:hover{background:var(--green);color:#0a0a0a;border-color:var(--green-text)}.hbtn:after{content:"→";font-weight:800}.btn.ghost{background:transparent;color:var(--green-text);border:1.5px solid #3c6b1a;box-shadow:none}.btn.ghost:hover{background:var(--green);color:#0a0a0a;border-color:var(--green-text);box-shadow:0 6px 26px #86e22c38}main{padding-top:72px}.site-footer{background:#0b0e0c;color:var(--dim);font-size:12px;padding:0;border-top:1px solid var(--line)}.f-cta{border-bottom:1px solid var(--line);padding:36px 0;text-align:center}.f-cta .t{font-size:16px;font-weight:800;color:var(--txt);margin-bottom:14px}.f-grid{max-width:960px;margin:0 auto;padding:34px 22px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;text-align:left}.f-col .h{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--soft);margin-bottom:10px}.f-col a{display:block;color:#a8b3a4;text-decoration:none;padding:3px 0;font-size:12.5px}.f-col a:hover{color:var(--txt)}.f-brand{font-weight:900;color:var(--green-text);font-size:15px;margin-bottom:8px;display:inline-flex;align-items:center;gap:9px}.f-col p{font-size:11.5px;color:var(--dim);line-height:1.9}.f-bottom{border-top:1px solid var(--line);padding:16px 22px;text-align:center;font-size:11px;color:var(--dim);line-height:1.9}@media(max-width:700px){.f-grid{grid-template-columns:1fr}}.dark-alt{background:#0c100d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tag{display:inline-block;font-size:11px;padding:3.5px 11px;border-radius:999px;background:#181d16;border:1px solid #2c352666;color:#c8d2c0;margin:1px 3px 1px 0}.tag.pw{background:#331109;border-color:#7a2e1a;color:#ffb0a0;font-weight:700}@media(max-width:760px){section{padding:54px 0}.hwrap{flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 12px}.hbtn{display:none}.tabs{display:flex;width:100%;justify-content:space-between;gap:2px;padding:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs a{flex:1 0 auto;justify-content:center;white-space:nowrap;padding:7px 9px;font-size:12px;letter-spacing:0}.tabs a svg{display:none}main{padding-top:112px}}@media(max-width:360px){.tabs a{padding:7px;font-size:11.5px}}.light{--txt:#1d2721;--soft:#4b554a;--dim:#6b756c;--green-text:#3b6d11;--line:#dfe5da;--line2:#d9e0d4;--panel:#ffffff;background:#f5f7f2;color:var(--txt)}.light .dark-alt{background:#eef2ea;border-top:1px solid #e3e8de;border-bottom:1px solid #e3e8de}.light a{color:#1d2721;text-decoration-color:#4f9412}.light .btn.ghost{color:#3b6d11;border-color:#97c459;background:transparent}.light .btn.ghost:hover{background:#86e22c;color:#0a0a0a;border-color:#86e22c}.light .legal p,.light .legal li{color:#2e3a2b}.light .legal table{background:#fff;border-color:#d9e0d4}.light .legal th{background:#eef2ea;color:#4b554a;border-color:#e3e8de}.light .legal td{border-color:#e3e8de}

.trust{display:grid;grid-template-columns:300px 1fr;gap:22px;width:100%;margin:26px auto 0;background:var(--panel);border:1px solid var(--line2);border-radius:14px;padding:18px 22px;align-items:center}.trust .who{display:flex;gap:14px;align-items:flex-start}.trust .who>img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--green);flex-shrink:0}.trust .role{font-size:10.5px;color:var(--green-text);font-weight:700;letter-spacing:.04em}.trust .name{font-size:15px;font-weight:800;line-height:1.3}.trust .name span{display:block;font-size:11px;color:var(--soft);font-weight:400;margin-top:2px}.trust .faces{display:inline-flex;align-items:center;margin-top:10px;text-decoration:none;color:var(--green-text);font-size:11.5px;font-weight:700}.trust .faces img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1.5px solid #141814;margin-right:-7px;background:#222}.trust .faces span{margin-left:14px}.trust .pts{list-style:none;margin:0;padding:0 0 0 18px;border-left:1px solid var(--line2)}.trust .pts li{position:relative;padding:4px 0 4px 20px;font-size:12px;color:var(--soft);line-height:1.65}.trust .pts li:before{content:"✓";position:absolute;left:0;top:4px;color:var(--green-text);font-weight:800}.trust .pts b{color:var(--txt);font-weight:800}@media(max-width:760px){.trust{grid-template-columns:1fr;gap:14px;padding:16px}.trust .pts{border-left:0;padding-left:0;border-top:1px solid var(--line2);padding-top:10px}}.team-inline{font-size:12.5px;color:var(--soft);margin-top:8px;line-height:1.8}.team-inline b{color:var(--txt);font-weight:700}.team{display:grid;gap:12px;width:100%}.team.compact{grid-template-columns:repeat(3,1fr);margin:26px auto 0}.team.compact .tm{display:flex;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line2);border-radius:14px;padding:14px 16px;text-decoration:none;color:inherit;transition:.2s}.team.compact .tm:hover{border-color:#3c6b1a}.team.compact img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--green);flex-shrink:0}.team .role{font-size:10.5px;color:var(--green-text);font-weight:700;letter-spacing:.04em}.team .name{font-size:14.5px;font-weight:800;line-height:1.3}.team .name span{display:block;font-size:11px;color:var(--soft);font-weight:400;margin-top:2px}.team.full{grid-template-columns:1fr;margin:24px 0 8px}.team.full .tm{display:flex;gap:24px;align-items:flex-start;background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:24px 26px}.team.full img{width:110px;height:110px;border-radius:50%;object-fit:cover;border:2px solid var(--green);box-shadow:0 0 26px #86e22c33;flex-shrink:0}.team.full .name{font-size:19px;margin:2px 0 8px}.team.full .name span{font-size:12px}.team.full p{font-size:13.5px;color:var(--soft);line-height:1.8}.team.full .more{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--green-text);text-decoration:none}@media(max-width:760px){.team.compact{grid-template-columns:1fr;gap:8px}}@media(max-width:640px){.team.full .tm{flex-direction:column;align-items:center;text-align:center}}.tline{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px;width:100%;margin:22px auto 0;padding-top:16px;border-top:1px solid #1f271f;font-size:12px;color:var(--soft);text-align:center}.tline img{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid var(--green)}.tline i{font-style:normal;color:#3f4a3c;margin:0 6px}.tline a{color:var(--green-text);text-decoration:none;font-weight:700;white-space:nowrap}.tline a:hover{text-decoration:underline}

/* ---- 追加（自サイト分） ---- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fic svg,.ec-motif,.op svg,.ico svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tline .op svg{width:13px;height:13px}
.fic{display:block}
.ec{position:relative;width:100%;aspect-ratio:1200/630;border-radius:12px;overflow:hidden;border:1px solid var(--line2);background:radial-gradient(420px 220px at 82% 18%,#1c2f0d 0%,transparent 60%),linear-gradient(#86e22c07 1px,transparent 1px) 0 0/100% 25%,linear-gradient(90deg,#86e22c07 1px,transparent 1px) 0 0/12.5% 100%,linear-gradient(160deg,#101510,#0a0d09);display:flex;align-items:center;justify-content:center}
.ec-motif{width:26%;max-width:96px;height:auto;stroke:var(--green);filter:drop-shadow(0 0 18px #86e22c33)}
.ec-cat{position:absolute;top:12px;left:14px;font-size:11px;font-weight:800;color:var(--green-text);background:#0d130bcc;border:1px solid #2e3b1c;border-radius:999px;padding:3px 12px}
.ec-brand{position:absolute;bottom:10px;right:14px;font-size:10px;font-weight:700;letter-spacing:.1em;color:#5c6a58}
.ec.compact{border-radius:10px}
.ec.compact .ec-cat,.ec.compact .ec-brand{display:none}
.card .thumb .ec{border-radius:0;border:0;border-bottom:1px solid var(--line2)}
.card{display:flex;flex-direction:column;background:#161a16;border:1px solid var(--line2);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--txt);transition:transform .15s,border-color .2s}
.card:hover{transform:translateY(-3px);border-color:#3c6b1a}
.card .txt{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.card .cat{font-size:11px;color:var(--green-text);font-weight:700;margin-bottom:6px}
.card .ttl{font-size:15px;font-weight:800;line-height:1.55}
.card .desc{font-size:12.5px;color:var(--soft);margin-top:8px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .date{font-size:11.5px;color:var(--dim);margin-top:auto;padding-top:10px}
.notice{max-width:860px;margin:0 auto 20px;background:#1a2812;border:1px solid #3c6b1a;border-radius:12px;padding:12px 16px;font-size:13px;color:var(--green-text)}
.notice.warn{background:#2a120a;border-color:#7a2e1a;color:#ffcabd}
