:root{--navy:#0e2846;--navy-2:#163a63;--steel:#2f5f8f;--steel-2:#5f8ab5;--steel-light:#dbe6f2;--white:#ffffff;--light-gray:#f2f5f9;--line:#d5dee8;--ink:#14243a;--muted:#5b6b7d;--accent:#c2410c;--accent-bright:#f08a24;--accent-on-dark:#ffb36b;--radius:12px;--shadow:0 1px 2px rgba(14,40,70,.06),0 6px 20px rgba(14,40,70,.08);--font:system-ui,-apple-system,"Hiragino Sans","Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}body{margin:0;background:var(--white);color:var(--ink);font:16px/1.8 var(--font);word-break:auto-phrase;overflow-wrap:anywhere;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:var(--steel);text-underline-offset:.18em}a:hover{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px}.skip:focus{left:8px;background:var(--white);padding:.5rem .8rem;z-index:20;color:var(--navy)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}
.p-wrap{max-width:1180px;margin:0 auto;padding:0 16px}@media (min-width:768px){.p-wrap{padding:0 28px}}
h1,h2,h3{line-height:1.4;letter-spacing:.02em;color:var(--navy)}h1{font-size:clamp(1.55rem,4.6vw,2.4rem);margin:.3rem 0 .6rem}h2{font-size:clamp(1.3rem,3.2vw,1.7rem);margin:0}h3{font-size:1.08rem;margin:0 0 .3rem}
.p-ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.25em}.p-ic-s{width:1.05em;height:1.05em}
/* ヘッダー */
.p-topbar{background:var(--navy);color:#dbe6f2;font-size:.8rem}.p-topbar-in{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .9rem;min-height:34px;padding-top:.2rem;padding-bottom:.2rem}.p-parent{color:var(--white);font-weight:700;background:var(--steel);padding:.05rem .6rem;border-radius:4px;text-decoration:none;min-height:28px;display:inline-flex;align-items:center}.p-parent:hover{color:var(--white);background:var(--navy-2)}.p-topbar-note{opacity:.95}
.p-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:5}.p-header-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem 1.5rem;padding-top:.55rem;padding-bottom:.35rem}
.p-logo{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--navy);min-height:48px}.p-logo-mark{width:38px;height:38px}.p-logo-text{display:flex;flex-direction:column;line-height:1.15}.p-logo-main{font-weight:800;font-size:1.32rem;letter-spacing:.06em}.p-logo-sub{font-size:.76rem;font-weight:700;color:var(--steel);letter-spacing:.12em}
.p-nav{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px}.p-nav::-webkit-scrollbar{display:none}.p-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;white-space:nowrap}
.p-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .75rem;border-radius:999px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem}.p-nav a:hover{background:var(--light-gray);color:var(--navy)}.p-nav a[aria-current]{background:var(--steel-light);color:var(--navy)}
@media (min-width:960px){.p-header-in{flex-wrap:nowrap;padding-bottom:.55rem}.p-nav{width:auto;margin:0;padding:0;overflow:visible}}
/* パンくず・ページ見出し */
.p-crumbs{font-size:.84rem;color:#dbe6f2}.p-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.1rem .35rem}.p-crumbs li+li::before{content:"›";margin-right:.35rem;opacity:.8}.p-crumbs a{color:#ffffff;display:inline-flex;align-items:center;min-height:32px}
.p-pagehead{background:linear-gradient(115deg,var(--navy) 0%,var(--navy-2) 62%,var(--steel) 100%);color:var(--white);position:relative;overflow:hidden}.p-pagehead::after{content:"";position:absolute;inset:auto -10% -60% auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(95,138,181,.35),transparent 70%);pointer-events:none}
.p-pagehead-in{display:grid;gap:1rem;padding-top:1rem;padding-bottom:1.6rem;position:relative;z-index:1}.p-pagehead h1{color:var(--white)}.p-pagehead-lede{max-width:46em;margin:0;color:#e6eef6}.p-eyebrow{margin:.6rem 0 0;font-size:.85rem;font-weight:700;color:var(--accent-on-dark);letter-spacing:.06em}.p-eyebrow a{color:var(--accent-on-dark)}.p-pagehead .p-eyebrow,.p-pagehead .p-eyebrow a{color:#ffd2a6}
.p-pagehead-art{display:none}.p-pagehead-art img{border-radius:var(--radius);box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media (min-width:860px){.p-pagehead-in{grid-template-columns:1fr 340px;align-items:center;padding-top:1.2rem;padding-bottom:2.2rem}.p-pagehead-art{display:block}}
.p-facts{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0;padding:0;list-style:none}.p-facts li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.4rem .75rem;font-size:.88rem;color:#ffffff}.p-facts b{display:block;font-size:.76rem;font-weight:600;color:#ffffff;letter-spacing:.05em}
/* ヒーロー */
.p-hero{background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 55%,#24507e 100%);color:var(--white);position:relative;overflow:hidden}
.p-hero-in{display:grid;gap:1.2rem;padding-top:1.6rem;padding-bottom:1.4rem;position:relative;z-index:1}.p-hero h1{color:var(--white);font-size:clamp(1.75rem,6.4vw,3.05rem);line-height:1.3;font-weight:800;margin:.3rem 0 .8rem}.p-hero h1 em{font-style:normal;color:var(--accent-on-dark)}
.p-hero-lede{color:#e6eef6;max-width:36em;margin:0}.p-hero-note{color:#c9d8e8;font-size:.85rem;margin:.6rem 0 0}.p-hero-art img{width:100%;max-width:560px;margin:0 auto;border-radius:16px}
@media (min-width:900px){.p-hero-in{grid-template-columns:1.05fr .95fr;align-items:center;padding-top:2.6rem;padding-bottom:2.2rem}}
@media (max-width:899px){.p-hero-art{max-width:420px;margin:0 auto;width:100%}}@media (max-width:599px){.p-hero-art{max-width:300px}.p-hero-in{gap:.6rem}}
/* 検索 */
.p-search-wrap{position:relative;z-index:2}.p-hero .p-search-wrap,.p-search-wrap.p-lift{margin-top:-.2rem}
.p-search{background:var(--white);color:var(--ink);border-radius:16px;box-shadow:0 12px 36px rgba(14,40,70,.22);padding:1rem;display:grid;gap:.8rem;grid-template-columns:1fr}
.p-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.p-field label{font-size:.86rem;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:.35rem}.p-field label .p-ic{color:var(--steel)}
.p-field select,.p-field input{font:inherit;font-size:1rem;width:100%;min-height:48px;padding:.55rem .8rem;border:1.5px solid #b9c7d6;border-radius:10px;background:var(--white);color:var(--ink)}.p-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.2rem}
.p-field input::placeholder{color:#6b7a8b}.p-field-btn{justify-content:flex-end}.p-count{grid-column:1/-1;margin:0;font-size:.9rem;color:var(--muted)}.p-count strong{color:var(--navy);font-size:1.15rem}
@media (min-width:700px){.p-search{grid-template-columns:repeat(2,minmax(0,1fr));padding:1.2rem 1.3rem}.p-field-q{grid-column:1/-1}}
@media (min-width:1000px){.p-search{grid-template-columns:1fr 1fr 1.5fr auto;align-items:end}.p-field-q{grid-column:auto}}
.p-search[data-cols="2"]{}@media (min-width:1000px){.p-search[data-cols="2"]{grid-template-columns:1fr 1.6fr auto}}
/* ボタン */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:48px;padding:.55rem 1.3rem;border-radius:10px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;border:2px solid transparent;width:100%}.p-btn-accent{background:var(--accent);color:var(--white)}.p-btn-accent:hover{background:#9a3412;color:var(--white)}.p-btn-ghost{background:transparent;color:var(--white);border-color:rgba(255,255,255,.7)}.p-btn-ghost:hover{background:rgba(255,255,255,.1);color:var(--white)}
.p-btn-line{background:var(--white);color:var(--navy);border-color:var(--line)}.p-btn-line:hover{border-color:var(--steel)}
@media (min-width:700px){.p-btn{width:auto}}
/* 数字 */
.p-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.p-stats li{display:flex;align-items:center;gap:.7rem;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem .9rem;min-width:0}.p-stat-ic{width:2rem;height:2rem;color:var(--steel)}.p-stat-body{display:flex;flex-direction:column;min-width:0}.p-stat-num{font-size:1.7rem;font-weight:800;color:var(--navy);line-height:1.15;font-variant-numeric:tabular-nums}.p-stat-num small{font-size:.85rem;margin-left:.2rem}.p-stat-label{font-size:.8rem;color:var(--muted);line-height:1.45}
.p-stats-dark li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}.p-stats-dark .p-stat-num{color:var(--white)}.p-stats-dark .p-stat-label{color:#d4e0ec}.p-stats-dark .p-stat-ic{color:var(--accent-on-dark)}
@media (min-width:900px){.p-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.p-hero .p-stats{margin-top:1rem}
/* セクション */
.p-sec{padding:2.6rem 0}.p-sec-gray{background:var(--light-gray)}.p-sec+.p-sec:not(.p-sec-gray):not(.p-data){padding-top:.6rem}
.p-sechead{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem 1rem;margin-bottom:1.1rem}.p-sechead h2{display:flex;align-items:center;gap:.5rem}.p-ic-h{color:var(--accent);width:1.4em;height:1.4em}.p-sechead-lede{margin:0;color:var(--muted);font-size:.95rem;flex:1 1 18rem}.p-more{margin-left:auto;font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:.25rem;min-height:44px;text-decoration:none}
.p-body .note,.p-note{font-size:.86rem;color:var(--muted)}.p-src{font-size:.82rem;color:var(--muted);border-top:1px dashed var(--line);margin:1rem 0 0;padding-top:.5rem}.p-src a{color:var(--steel)}
.p-prose{max-width:48em}.p-prose p{margin:.5rem 0}
/* カード */
.p-cards{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.p-gcard,.p-fcard,.p-tcard{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}
.p-gcard:hover,.p-fcard:hover,.p-tcard:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(14,40,70,.08),0 14px 30px rgba(14,40,70,.14)}
@media (prefers-reduced-motion:reduce){.p-gcard,.p-fcard,.p-tcard{transition:none}.p-gcard:hover,.p-fcard:hover,.p-tcard:hover{transform:none}}
.p-gcard h3 a::after,.p-fcard h3 a::after,.p-tcard h3 a::after{content:"";position:absolute;inset:0}.p-gcard h3 a,.p-fcard h3 a,.p-tcard h3 a{color:var(--navy);text-decoration:none}.p-gcard:focus-within,.p-fcard:focus-within,.p-tcard:focus-within{outline:3px solid var(--accent);outline-offset:2px}.p-gcard h3 a:focus-visible,.p-fcard h3 a:focus-visible,.p-tcard h3 a:focus-visible{outline:none}
.p-gcard img,.p-fcard img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--light-gray)}
.p-gcard-body,.p-fcard-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.25rem;flex:1}.p-gcard-body p,.p-fcard-body p{margin:0;font-size:.9rem;color:var(--muted)}.p-gcard-count{font-weight:700;color:var(--steel)!important}.p-gcard-trades{font-size:.82rem!important}
@media (max-width:599px){.p-gcard,.p-fcard{flex-direction:row;align-items:stretch}.p-gcard img,.p-fcard img{width:118px;aspect-ratio:auto;height:100%;min-height:118px;object-fit:cover;flex:none;border-right:1px solid var(--line)}.p-gcard-body,.p-fcard-body{padding:.75rem .85rem}.p-fcard-body{padding-right:2.2rem}}
.p-fcard-arrow{position:absolute;right:.8rem;bottom:.8rem;color:var(--accent)}.p-fcard-body{padding-right:2.4rem}
.p-tcard{flex-direction:row;align-items:stretch}.p-tcard-art{flex:none;width:76px;background:var(--light-gray);display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line)}.p-tcard-art img{width:76px;height:100%;object-fit:cover}
.p-tcard-body{padding:.75rem .9rem;display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.p-tcard-group{font-size:.76rem;font-weight:700;color:var(--steel);letter-spacing:.04em}.p-tcard h3{font-size:1.05rem;margin:0}.p-tcard-works{font-size:.8rem;color:var(--muted);margin:0}
.p-grades{display:flex;flex-wrap:wrap;gap:.25rem;margin:.15rem 0 0;padding:0;list-style:none}.p-grade{display:inline-block;font-size:.76rem;font-weight:700;line-height:1.5;padding:.05rem .5rem;border-radius:999px;background:var(--steel-light);color:var(--navy)}.p-grade-special{background:var(--navy);color:var(--white)}.p-grade-single{background:#fde7d6;color:#7c2d12}
/* 分野ごとの職種(チップ) */
.p-chipgroups{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.p-chipgroup{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem}.p-chipgroup h3{display:flex;align-items:center;gap:.4rem;font-size:1rem}.p-chipgroup h3 a{color:var(--navy);text-decoration:none}.p-chipgroup h3 a:hover{text-decoration:underline}
.p-chips{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.p-chips a{display:inline-flex;align-items:center;min-height:40px;padding:.2rem .8rem;border-radius:999px;border:1px solid #c3d1df;background:var(--light-gray);color:var(--navy);text-decoration:none;font-size:.9rem;font-weight:600}.p-chips a:hover{background:var(--steel-light);border-color:var(--steel)}
/* 解説・札 */
.p-about{display:grid;gap:1.2rem}@media (min-width:960px){.p-about{grid-template-columns:.9fr 1.1fr;align-items:start}}
.p-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.76rem;font-weight:800;letter-spacing:.04em;padding:.12rem .55rem;border-radius:6px;margin-bottom:.45rem}.p-tag-official{background:var(--steel-light);color:var(--navy);border:1px solid #a9c2db}.p-tag-site{background:#fff4ec;color:#9a3412;border:1px solid #f6c7a4}
.p-fact{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;border-left:5px solid var(--steel)}.p-fact-site{border-left-color:var(--accent-bright)}.p-fact ul{margin:.3rem 0 0;padding-left:1.2em}.p-fact li{margin:.25rem 0}.p-fact p{margin:.35rem 0}
.p-facts-grid{display:grid;gap:12px}.p-exam-art{width:100%;aspect-ratio:16/7;object-fit:cover;border-radius:12px 12px 0 0;border:1px solid var(--line);border-bottom:0}.p-exam-art+.p-fact{border-top-left-radius:0;border-top-right-radius:0}@media (min-width:860px){.p-facts-grid{grid-template-columns:1fr 1fr}}
/* ステップ */
.p-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:1fr;counter-reset:s}@media (min-width:640px){.p-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1060px){.p-steps{grid-template-columns:repeat(5,minmax(0,1fr))}}
.p-step{position:relative;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1rem 1.05rem;box-shadow:var(--shadow)}.p-step-no{position:absolute;top:-.1rem;right:.7rem;font-size:2rem;font-weight:800;color:var(--steel-light);line-height:1.4}.p-step-ic{width:2.1rem;height:2.1rem;color:var(--white);background:var(--steel);border-radius:10px;padding:.35rem;margin-bottom:.5rem}
.p-step h3{font-size:1rem}.p-step p{margin:0;font-size:.88rem;color:var(--muted)}.p-step .p-step-who{margin-top:.45rem;font-size:.76rem;font-weight:700;color:var(--steel)}
@media (min-width:1060px){.p-step:not(:last-child)::after{content:"";position:absolute;right:-10px;top:50%;width:8px;height:8px;border-top:2px solid var(--steel-2);border-right:2px solid var(--steel-2);transform:translateY(-50%) rotate(45deg)}}
/* データ */
.p-data{background:linear-gradient(120deg,var(--navy),var(--navy-2));color:var(--white)}.p-data h2,.p-data h3{color:var(--white)}.p-data .p-sechead-lede{color:#d4e0ec}.p-data a{color:var(--accent-on-dark)}
.p-bars{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.55rem}.p-bars li{display:grid;grid-template-columns:5.5rem 1fr 3.6rem;align-items:center;gap:.6rem;font-size:.9rem}.p-bars a{color:var(--white);font-weight:700}.p-bar{height:12px;border-radius:6px;background:rgba(255,255,255,.12);overflow:hidden}.p-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-bright),#ffc27a);border-radius:6px}.p-bars .num{text-align:right;font-variant-numeric:tabular-nums}
.p-data-grid{display:grid;gap:1.2rem}.p-data .p-stats{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:900px){.p-data-grid{grid-template-columns:1.1fr .9fr;align-items:start}}.p-data .p-src{color:#c9d8e8;border-color:rgba(255,255,255,.25)}
/* CTA */
.p-cta{background:linear-gradient(110deg,#123358,var(--steel));color:var(--white)}.p-cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-top:2rem;padding-bottom:2rem}.p-cta h2{color:var(--white);font-size:clamp(1.2rem,3vw,1.55rem)}.p-cta p{margin:.3rem 0 0;color:#e6eef6}.p-cta-btns{display:flex;flex-wrap:wrap;gap:.6rem;width:100%}@media (min-width:860px){.p-cta-btns{width:auto}}
/* 表 */
.p-body .scroll,.p-scroll{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.p-body .tbl{width:100%;border-collapse:collapse;font-size:.93rem;background:var(--white)}.p-body .tbl caption{padding:.6rem .8rem;text-align:left;caption-side:top;font-size:.84rem;color:var(--muted)}.p-body .tbl th,.p-body .tbl td{border-bottom:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}.p-body .tbl thead th{background:var(--navy);color:var(--white);font-weight:700;font-size:.85rem;white-space:nowrap;position:sticky;top:0}.p-body .tbl tbody th{font-weight:700;color:var(--navy)}.p-body .tbl tbody tr:nth-child(even){background:#f7f9fc}.p-body .tbl td.num{text-align:center;white-space:nowrap}.p-body .tbl a{font-weight:600}
.p-body .tbl tbody th[scope=row]{min-width:9.5em}.p-body .tbl tbody tr:target{background:#fff4ec;outline:2px solid var(--accent-bright);outline-offset:-2px}
.p-on{color:var(--steel);font-weight:800}.p-off{color:#6b7a8b}
/* 等級の段 */
.p-gradesteps{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:1fr}@media (min-width:760px){.p-gradesteps{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}}
.p-gradestep{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .9rem;border-top:6px solid var(--steel-2);box-shadow:var(--shadow)}.p-gradestep h3{font-size:1.05rem}.p-gradestep p{margin:.2rem 0 0;font-size:.86rem;color:var(--muted)}.p-gradestep .p-gs-n{font-weight:700;color:var(--steel);font-size:.86rem}
@media (min-width:760px){.p-gradestep:nth-child(1){min-height:150px}.p-gradestep:nth-child(2){min-height:175px}.p-gradestep:nth-child(3){min-height:200px}.p-gradestep:nth-child(4){min-height:225px}.p-gradestep:nth-child(5){min-height:250px}}
.p-gradestep.lv-special{border-top-color:var(--navy)}.p-gradestep.lv-g1{border-top-color:var(--steel)}.p-gradestep.lv-single{border-top-color:var(--accent-bright)}
/* 科目 */
.p-subjects{display:grid;gap:12px;align-items:start}@media (min-width:860px){.p-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}}.p-subject{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:var(--shadow)}.p-subject h3{display:flex;align-items:center;gap:.5rem}.p-subject dl{margin:.4rem 0 0}.p-subject dt{font-size:.8rem;font-weight:800;color:var(--steel);margin-top:.55rem}.p-subject dd{margin:.15rem 0 0}.p-subject .p-chips span{display:inline-block;padding:.12rem .6rem;border-radius:6px;background:var(--light-gray);border:1px solid var(--line);font-size:.86rem}
/* リンクの一覧 */
.p-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}.p-links a{display:flex;align-items:center;gap:.6rem;min-height:52px;padding:.6rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--white);text-decoration:none;color:var(--navy);font-weight:600}.p-links a:hover{border-color:var(--steel);background:var(--light-gray)}.p-links .p-ic{color:var(--steel)}.p-links small{display:block;font-weight:400;color:var(--muted);font-size:.8rem}
.p-twocol{display:grid;gap:1.4rem}.p-twocol>*,.p-facts-grid>*,.p-about>*,.p-data-grid>*{min-width:0}@media (min-width:960px){.p-twocol{grid-template-columns:minmax(0,1fr) 320px;align-items:start}.p-aside{position:sticky;top:16px}}
.p-aside .p-box{background:var(--light-gray);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.p-aside h2{font-size:1.05rem;margin-bottom:.6rem}
.p-block{margin:0 0 2.2rem}.p-block>h2{font-size:1.35rem;margin-bottom:.8rem;padding-left:.75rem;border-left:5px solid var(--accent-bright)}
.p-body .badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.05rem .45rem;border-radius:5px;margin-right:.3rem}.p-body .badge.check{background:#fff4d6;border:1px solid #a77b00;color:#5c4300}
.p-empty{padding:1rem;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}
/* フッター */
.p-footer{background:var(--navy);color:#d4e0ec;font-size:.9rem;padding:2.4rem 0 1.6rem;margin-top:0}.p-footer a{color:var(--white);text-decoration:none;display:inline-flex;align-items:center;min-height:40px}.p-footer a:hover{text-decoration:underline}
.p-footer-grid{display:grid;gap:1.4rem;grid-template-columns:1fr}@media (min-width:760px){.p-footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}}
.p-footer h2{font-size:.9rem;color:var(--white);letter-spacing:.06em;margin-bottom:.3rem}.p-footer ul{list-style:none;margin:0;padding:0}.p-footer p{margin:.3rem 0}.p-logo-footer{color:var(--white)}.p-logo-footer .p-logo-sub{color:var(--accent-on-dark)}.p-logo-footer circle:first-child{stroke:#5f8ab5}.p-logo-footer circle:nth-child(2){fill:#2f5f8f}
.p-footer-lead{font-size:.84rem}.p-footer-data{border-top:1px solid rgba(255,255,255,.18);margin-top:1.4rem!important;padding-top:1rem;font-size:.8rem;color:#c9d8e8}
@media print{.p-topbar,.p-nav,.p-search,.p-cta{display:none}}
.p-body .src:not(.p-src){font-size:.82rem;color:var(--muted)}
