:root{--navy:#12315C;--navy-deep:#0B2140;--blue:#1C6FB0;--blue-dark:#14558a;--blue-pale:#EAF3FB;--blue-line:#C9DFF0;--bg:#F3F5F7;--white:#fff;--line:#DCE2E8;--text:#22282F;--soft:#5C6672;--orange:#DE6A2E;--orange-dark:#B5501C;--green:#2E8B57;--gold-pale:#FFF3D6;--gold-line:#F0D48A;--radius:4px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;line-height:1.8;font-size:15px;overflow-wrap:anywhere}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 14px;z-index:300}.skip:focus{left:8px;top:8px}
.utilbar{background:var(--navy-deep);color:#d6e4f2;font-size:.74rem}
.utilbar .wrap{display:flex;justify-content:space-between;gap:6px 18px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.utilbar a{color:#d6e4f2}.utilbar a:hover{color:#fff}
header.site{background:var(--white);border-bottom:3px solid var(--navy)}
header.site .inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;max-width:1120px;margin:0 auto;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:inherit}.brand:hover{text-decoration:none}
.emblem{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;flex:none}
.brand .tt{font-size:1.1rem;font-weight:900;color:var(--navy);line-height:1.4}
.brand .tt small{display:block;font-size:.66rem;font-weight:500;color:var(--soft)}
.hbtn{background:var(--orange-dark);color:#fff;font-weight:700;font-size:.82rem;padding:10px 18px;border-radius:var(--radius)}.hbtn:hover{background:#9a4416;text-decoration:none}
nav.mainnav{background:var(--navy);position:sticky;top:0;z-index:40}
nav.mainnav ul{list-style:none;display:flex;margin:0 auto;padding:0 16px;max-width:1120px;flex-wrap:wrap}
nav.mainnav li{border-right:1px solid rgba(255,255,255,.12)}
nav.mainnav a{display:block;padding:12px 18px;color:#fff;font-size:.85rem;font-weight:700;border-bottom:3px solid transparent}
nav.mainnav a:hover,nav.mainnav a[aria-current=page]{background:var(--blue);text-decoration:none;border-bottom-color:var(--orange)}
.pagehero{background:var(--blue-pale);border-bottom:1px solid var(--blue-line);padding:34px 0 28px}
.eyebrow{font-size:.74rem;color:var(--blue-dark);font-weight:700;letter-spacing:.06em;margin-bottom:8px}
.pagehero h1{font-size:1.55rem;margin:0 0 8px;color:var(--navy);font-weight:900;line-height:1.5}
.pagehero p{margin:0;color:var(--soft);font-size:.9rem;max-width:74ch}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.stat{background:#fff;border:1px solid var(--blue-line);border-radius:var(--radius);padding:8px 16px;min-width:110px}
.stat b{display:block;font-size:1.35rem;color:var(--navy);line-height:1.3}.stat span{font-size:.72rem;color:var(--soft)}
.headline2{font-size:1.1rem;color:var(--navy);font-weight:900;margin:0 0 16px;padding-left:12px;border-left:6px solid var(--orange)}
.noticebox{background:var(--gold-pale);border:1px solid var(--gold-line);border-radius:var(--radius);padding:18px 22px;margin:22px 0;font-size:.85rem;color:#5c4a12;line-height:1.85}
.noticebox b{color:#3a2e0a}.noticebox h2{margin:0 0 6px;font-size:.95rem;color:#3a2e0a}
.noticebox ul{margin:6px 0 0;padding-left:1.2em}
.badge{display:inline-block;font-size:.66rem;font-weight:900;padding:1px 9px;border-radius:20px;border:1px solid;line-height:1.7;white-space:nowrap}
.badge.sample{color:#7a5a00;background:var(--gold-pale);border-color:var(--gold-line)}
.badge.ready{color:#1d6b40;background:#e6f4ec;border-color:#a8ddb8}
.badge.wait{color:#8a3c17;background:#fff1e8;border-color:#f2c4a6}
.btn{display:inline-block;border:1px solid var(--navy);background:var(--navy);color:#fff;padding:10px 20px;border-radius:var(--radius);font-weight:700;font-size:.85rem;text-align:center;line-height:1.5}
.btn:hover{background:var(--blue);border-color:var(--blue);text-decoration:none}
.btn.ghost{background:#fff;color:var(--navy)}.btn.ghost:hover{background:var(--blue-pale);color:var(--navy)}
.btn.orange{background:var(--orange-dark);border-color:var(--orange-dark)}.btn.orange:hover{background:#9a4416;border-color:#9a4416}
.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.groupbar{background:#fff;border-top:1px solid var(--line);padding:26px 0;margin-top:30px}
.groupbar .gs-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:12px;text-align:center;font-weight:700}
.groupbar .row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.groupbar a{font-size:.82rem;color:var(--navy);border:1px solid var(--line);padding:8px 18px;border-radius:20px;background:var(--bg)}
.groupbar a:hover{border-color:var(--blue);color:var(--blue-dark);text-decoration:none}
.groupbar a.current{background:var(--navy);color:#fff;border-color:var(--navy)}
footer.site{padding:34px 0 28px;border-top:1px solid var(--line);background:#fff}
footer.site .flinks{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:.8rem;margin-bottom:14px}
footer.site .legalbox{font-size:.72rem;color:var(--soft);line-height:1.9}
@media (max-width:640px){body{font-size:14px}.pagehero h1{font-size:1.3rem}nav.mainnav a{padding:11px 12px;font-size:.8rem}.hbtn{width:100%;text-align:center}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
