/* トピック個別ページ共通スタイル（index.html のトンマナに合わせる） */
:root{--paper:#f2f3f3;--white:#fff;--ink:#171f27;--gray:#5e6771;--g4:#98a1a9;--line:#cfd6db;--navy:#0c3146;--blue:#205269;--sky:#4497b7;--pale:#dfe9ef;
  --serif:"Shippori Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","Noto Serif JP",serif;
  --sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --en:"Overpass","Noto Sans JP",sans-serif;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.95;letter-spacing:.03em;font-size:15.5px;-webkit-font-smoothing:antialiased;}
a{color:var(--sky);}
header{background:var(--paper);border-bottom:1px solid var(--line);}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
header .brand img{height:34px;width:auto;display:block;}
header .back{font-size:13px;letter-spacing:.1em;color:var(--navy);text-decoration:none;font-weight:700;}
.wrap{max-width:820px;margin:0 auto;padding:0 clamp(20px,5vw,40px);}
main{padding:clamp(40px,6vw,72px) 0 clamp(60px,8vw,100px);}
.crumb{font-size:12.5px;color:var(--g4);margin-bottom:22px;}
.crumb a{color:var(--g4);text-decoration:none;}
.crumb span{margin:0 8px;}
.meta{display:flex;align-items:center;gap:12px;font-family:var(--en);font-size:12.5px;color:var(--gray);letter-spacing:.08em;}
.meta .kind{font-size:9px;font-weight:700;letter-spacing:.22em;color:#fff;background:var(--navy);padding:3px 8px 2px;border-radius:3px;}
h1{font-family:var(--serif);font-weight:700;font-size:clamp(22px,3.2vw,30px);line-height:1.6;letter-spacing:.05em;color:var(--ink);margin:12px 0 28px;}
.hero{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;box-shadow:0 12px 30px rgba(12,49,70,.10);margin-bottom:36px;background:var(--pale);}
article p{margin:0 0 1.4em;}
article h2{font-family:var(--serif);font-size:19px;letter-spacing:.06em;color:var(--navy);margin:44px 0 14px;padding-left:14px;border-left:3px solid var(--sky);line-height:1.5;}
article ul{padding-left:1.3em;margin:0 0 1.4em;}
article li{margin:.3em 0;}
.box{background:var(--white);border-radius:14px;padding:22px 26px;box-shadow:0 8px 24px rgba(12,49,70,.06);margin:28px 0;font-size:14.5px;}
.box dt{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:13.5px;letter-spacing:.1em;margin-top:10px;}
.box dt:first-child{margin-top:0;}
.box dd{margin:0;color:var(--gray);}
.src{font-size:13px;color:var(--gray);border-top:1px solid var(--line);padding-top:18px;margin-top:40px;}
.btn{display:inline-flex;align-items:center;gap:.6em;font-weight:700;font-size:13.5px;letter-spacing:.12em;padding:13px 28px;border:1.5px solid var(--navy);color:var(--navy);text-decoration:none;border-radius:2px;transition:.2s ease;}
.btn:hover{background:var(--navy);color:#fff;}
.btn-fill{background:var(--navy);color:#fff;}
.btn-fill:hover{background:var(--blue);border-color:var(--blue);}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
footer{background:var(--navy);color:#fff;padding:40px 0 26px;font-size:13px;}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;}
footer img{height:30px;width:auto;display:block;}
footer a{color:#fff;text-decoration:none;opacity:.85;}
footer .copy{font-family:var(--en);letter-spacing:.1em;opacity:.7;}
