@charset "UTF-8";
:root{--sumi:#15191b;--ink:#252b2e;--washi:#f8f7f2;--paper:#fff;--verm:#c83b2c;--cyan:#00a8b8;--moss:#58745c;--amber:#d79612;--red:#b92732;--green:#167a54;--muted:#687176;--line:#d8dbd7;--shadow:0 18px 50px rgba(21,25,27,.1);--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--washi);color:var(--ink)}
body{margin:0;font-family:"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,system-ui,sans-serif;line-height:1.75;background:linear-gradient(90deg,rgba(0,168,184,.035) 1px,transparent 1px),linear-gradient(rgba(200,59,44,.025) 1px,transparent 1px),var(--washi);background-size:32px 32px;overflow-wrap:anywhere}
a{color:#006b78;text-decoration-thickness:.09em;text-underline-offset:.18em}
a:hover{text-decoration-thickness:.16em}
img,video,iframe,svg{display:block;max-width:100%;height:auto}
.skip{position:fixed;left:12px;top:-80px;z-index:99;background:var(--sumi);color:#fff;padding:.7rem 1rem;border-radius:10px}.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.topline{height:7px;background:linear-gradient(90deg,var(--verm) 0 38%,var(--cyan) 38% 67%,var(--moss) 67%)}
header{position:relative;background:rgba(248,247,242,.96);border-bottom:1px solid var(--line)}
.header-inner{max-width:1240px;margin:auto;padding:1rem 22px;display:grid;grid-template-columns:auto 1fr auto;gap:1rem 2rem;align-items:center}
.brand{display:flex;gap:.8rem;align-items:center;color:var(--sumi);font-weight:900;text-decoration:none;letter-spacing:.03em;white-space:nowrap}.brand-seal{width:43px;height:43px;border-radius:50% 44% 52% 42%;background:var(--verm);display:grid;place-items:center;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px var(--verm)}.brand-seal:before{content:"";width:15px;height:15px;border:4px solid #fff;border-radius:50%;border-right-color:transparent;transform:rotate(-28deg)}
nav{display:flex;flex-wrap:wrap;gap:.35rem .85rem;justify-content:center}nav a{color:var(--ink);font-weight:700;text-decoration:none;padding:.35rem .15rem;border-bottom:2px solid transparent}nav a:hover{border-color:var(--verm)}
.top-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem 1rem;border-radius:999px;background:var(--sumi);color:#fff;text-decoration:none;font-weight:850;box-shadow:4px 4px 0 var(--cyan);border:2px solid var(--sumi)}.button.alt{background:var(--verm);box-shadow:4px 4px 0 var(--amber)}
main{max-width:1240px;margin:auto;padding:2.2rem 22px 5rem}.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:2rem;align-items:end;padding:3.8rem 0 2.4rem}.eyebrow{font-size:.78rem;font-weight:900;letter-spacing:.16em;color:var(--verm);text-transform:uppercase}.hero h1,.page-head h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.25rem,6vw,5.5rem);line-height:1.04;letter-spacing:-.035em;margin:.35rem 0 1rem;color:var(--sumi);max-width:15ch}.hero h1 em{font-style:normal;color:var(--verm)}.lead{font-size:clamp(1.05rem,2vw,1.32rem);max-width:52rem}.date-strip{border-left:6px solid var(--cyan);padding:.8rem 1rem;background:#fff;box-shadow:var(--shadow)}
.lab-panel{background:var(--sumi);color:#fff;border-radius:42px 42px 8px 42px;padding:1.5rem;box-shadow:10px 10px 0 rgba(0,168,184,.24)}.lab-panel strong{font-size:3.7rem;line-height:1}.lab-panel small{color:#c9d5d7}
.section{padding:3rem 0}.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.4rem}.section h2,.page h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(1.55rem,3vw,2.5rem);line-height:1.25;margin:.2rem 0;color:var(--sumi)}
.ai-note{position:relative;background:#e9f8f8;border:1px solid #a3d9dc;border-radius:8px 36px 8px 36px;padding:1.6rem 1.8rem;margin:1.5rem 0}.ai-note:before{content:"AI補助";position:absolute;right:1.1rem;top:-.8rem;background:var(--cyan);color:#001b1f;font-weight:900;padding:.15rem .7rem;border-radius:999px}
.legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.legend-item{background:#fff;border:1px solid var(--line);padding:1rem;border-radius:18px}.dot{display:inline-block;width:15px;height:15px;border-radius:50%;margin-right:.45rem;box-shadow:0 0 0 4px currentColor;transform:scale(.55)}.green{color:var(--green)}.amber{color:var(--amber)}.red{color:var(--red)}
.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.brand-card{position:relative;min-height:250px;background:var(--paper);border:1px solid var(--line);border-radius:8px 28px 8px 28px;box-shadow:0 9px 24px rgba(21,25,27,.07);overflow:hidden}.brand-card a{height:100%;display:flex;flex-direction:column;color:inherit;text-decoration:none;padding:1.2rem}.brand-card a:hover{background:#f1fbfb}.brand-card img{width:64px;height:64px;object-fit:contain;border-radius:15px;background:#eef0ed;margin-bottom:1rem}.brand-card h3{margin:0;font-size:1.18rem}.brand-card p{color:var(--muted);font-size:.92rem}.rank-strip{margin-top:auto;padding-top:.7rem;border-top:1px dashed var(--line);display:flex;justify-content:space-between;gap:.5rem;font-size:.82rem}.stamp{display:inline-flex;align-items:center;border:3px double currentColor;border-radius:50%;padding:.45rem .55rem;font-weight:900;transform:rotate(-4deg);line-height:1}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.path-card{padding:1.5rem;background:#fff;border-top:7px solid var(--cyan);border-radius:6px 6px 24px 6px}.path-card:nth-child(2){border-color:var(--verm)}.path-card:nth-child(3){border-color:var(--moss)}
.page-head{padding:3rem 0 1.5rem;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(2.2rem,5vw,4.7rem)}.crumbs{font-size:.85rem;color:var(--muted)}.crumbs a{color:inherit}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2rem;align-items:start}.prose,.sidebox,.evidence-card,.policy-shell{background:#fff;border:1px solid var(--line);border-radius:8px 28px 8px 28px;padding:1.5rem}.sidebox{position:sticky;top:1rem}.checklist{padding-left:1.35rem}.checklist li{margin:.55rem 0}.callout{border-left:6px solid var(--verm);background:#fff1ee;padding:1rem 1.2rem;margin:1.5rem 0}.safe-callout{border-color:var(--moss);background:#eef5ef}
.dossier-top{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:1.3rem;align-items:center}.dossier-logo{width:120px;height:120px;object-fit:contain;border-radius:26px;background:#fff;border:1px solid var(--line);padding:.7rem}.identity-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:1.6rem 0}.identity-strip div{background:#fff;padding:1rem}.identity-strip dt{font-size:.72rem;color:var(--muted);font-weight:800}.identity-strip dd{margin:0;font-weight:800;overflow-wrap:anywhere}
.journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2rem 0}.journey>div{padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:18px}.journey b{display:block;color:var(--verm);font-size:.8rem;letter-spacing:.1em}
.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.evidence-card{margin:0}.evidence-card img{width:100%;aspect-ratio:6/5;object-fit:cover;object-position:top;border:1px solid var(--line);background:#edf0ef}.evidence-card figcaption{font-size:.86rem;color:var(--muted);padding-top:.7rem}.source-url{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.72rem;word-break:break-all}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--sumi);color:#fff;padding:1.4rem 1.6rem;border-radius:28px 8px 28px 8px;margin:2rem 0}.cta-band .button{background:var(--verm);box-shadow:4px 4px 0 var(--cyan)}
.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:0}th,td{text-align:left;vertical-align:top;padding:.8rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere}th{background:#eef6f5;font-size:.84rem}
form{display:grid;gap:1rem}label{font-weight:800}input,select,textarea{width:100%;font:inherit;border:2px solid #acb3b2;border-radius:10px;padding:.75rem;background:#fff}textarea{min-height:180px}.honeypot{position:absolute!important;left:-9999px!important}
.urgent{background:#fff0ed;border:2px solid var(--verm);padding:1.5rem;border-radius:22px}.policy-shell{max-width:850px}.policy-status{display:inline-flex;background:#e8eced;color:#465055;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:800}
footer{background:var(--sumi);color:#d8e0e1}.footer-inner{max-width:1240px;margin:auto;padding:3rem 22px;display:grid;grid-template-columns:1.2fr 2fr;gap:2rem}.footer-links{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem}.footer-links a{color:#fff}.footer-note{color:#aebabc;font-size:.84rem}
@media(max-width:980px){.header-inner{grid-template-columns:1fr auto}.header-inner nav{grid-column:1/-1;justify-content:flex-start}.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.sidebox{position:static}}
@media(max-width:720px){.header-inner{display:flex;flex-wrap:wrap}.header-inner nav{order:3;width:100%;justify-content:flex-start}.top-cta{margin-left:auto}.hero{grid-template-columns:1fr;padding-top:2.2rem}.legend,.brand-grid,.path-grid,.journey,.identity-strip,.evidence-grid{grid-template-columns:1fr}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-top{grid-template-columns:85px 1fr}.dossier-top .stamp{grid-column:1/-1}.dossier-logo{width:80px;height:80px}.cta-band,.section-head{align-items:flex-start;flex-direction:column}.footer-inner{grid-template-columns:1fr}table{font-size:.85rem}}
@media(max-width:430px){main{padding-left:14px;padding-right:14px}.header-inner{padding-left:14px;padding-right:14px}.brand{white-space:normal}.brand-grid{grid-template-columns:1fr}.top-cta{width:100%;margin:0}.hero h1{font-size:2.55rem}}


/* Generated dossier table containment */
.dossier{min-width:0}.dossier table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
