*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f7f9;color:#19212b;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif}header{padding:18px 5vw;border-bottom:1px solid #e1e5ed;background:#fff;font-size:14px;letter-spacing:.06em}main{max-width:1020px;margin:auto;padding:56px 5vw 80px}h1{font-size:clamp(29px,4.2vw,53px);line-height:1.35;letter-spacing:-.055em;margin:14px 0 24px}h2{font-size:25px;line-height:1.5;margin:45px 0 16px}h3{font-size:18px}p,li{font-size:15px;line-height:1.95}a{color:#2169ce}figure{margin:30px 0}figure img{width:100%;height:auto;border-radius:18px}figcaption,.note{font-size:14px;color:#6d7888;line-height:1.85}.eyebrow{font-size:14px;letter-spacing:.13em;color:#4976a7}.lead{font-size:18px;color:#626e7f}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}.card{padding:24px;background:white;border-radius:18px;border:1px solid #e5e9ef}.card h3{margin-top:0}.card p{font-size:14px;margin-bottom:0}.callout{padding:26px;border-left:4px solid #477bed;background:#edf3fc;border-radius:0 15px 15px 0;margin:28px 0}.source{margin-top:45px;padding-top:20px;border-top:1px solid #dbe1e9;font-size:14px;color:#758192;line-height:1.8}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:15px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #dce2ea;line-height:1.8}th{color:#526579}blockquote{margin:25px 0;padding:24px;border-left:3px solid #8c2842;background:#fff;border-radius:0 16px 16px 0;line-height:1.9}.reader{max-width:900px;margin:auto}.reader img{display:block;width:100%;height:auto}.reader figure{margin:0}.reader figcaption{padding:12px 15px;background:white}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.gallery-grid img{width:100%;object-fit:contain;background:#fff;border-radius:14px}button{cursor:pointer;font:inherit;border:1px solid #d9e2ed;background:white;border-radius:30px;padding:10px 16px;color:#315b86}.page-nav{position:sticky;top:0;background:#fffffff0;backdrop-filter:blur(12px);padding:12px 5vw;display:flex;gap:15px;justify-content:center;align-items:center;z-index:2}.page-nav span{font-size:14px}.deck{width:100%;border-radius:15px}.deck[hidden]{display:none}.scene{margin-bottom:36px}.scene video{width:100%;display:block;border-radius:18px;background:#16171b}.scene p{font-size:14px}.badge{display:inline-block;font-size:14px;background:#eaf1fa;color:#4475ad;border-radius:20px;padding:4px 10px}.choices{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.choices button[aria-pressed=true]{background:#2261ad;color:white}.quote{font-size:20px}.large-number{font-size:55px;letter-spacing:-.06em;color:#1e568d;margin:0}.step{padding:20px 0;border-bottom:1px solid #dfe6ee}.step strong{font-size:18px}.step p{margin-bottom:0}@media(max-width:600px){main{padding-top:30px}.cards{grid-template-columns:1fr}.gallery-grid{gap:10px}.card{padding:20px}h2{font-size:22px}p,li{font-size:14px}table{font-size:14px}th,td{padding:12px 6px}}
p,li,.card p,.scene p{font-size:16px;line-height:1.9}small,.tag,.note,figcaption,.source,footer{color:#556170}table{font-size:15px}th,td{overflow-wrap:anywhere}@media(max-width:600px){p,li,.card p,.scene p{font-size:16px}th,td{font-size:14px}}

/* v28: 見出しを語の途中で折らない・表の左の短い見出しを1文字ずつ折らない */
h1,h2,h3{word-break:keep-all;overflow-wrap:anywhere;line-break:strict;text-wrap:balance}
@supports (word-break:auto-phrase){h1,h2,h3{word-break:auto-phrase}}
th{word-break:keep-all;overflow-wrap:anywhere;min-width:4.2em}

header a.home{color:inherit;text-decoration:none;font-weight:700}header a.home:hover{text-decoration:underline}

.page-nav button,.page-nav span{white-space:nowrap}@media(max-width:360px){.page-nav{gap:8px;padding:10px 12px}.page-nav button{padding:8px 12px}}
.eyebrow{color:#3d6795;word-break:keep-all;overflow-wrap:anywhere}
th,td{overflow-wrap:break-word}
