:root{color:#172033;background:#f7f8fc;font-family:ui-sans-serif,system-ui,-apple-system,Noto Sans JP,sans-serif;line-height:1.7}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1180px;margin:auto;padding:1.25rem 1.5rem}header{border-bottom:1px solid #e0e4ef;justify-content:space-between;align-items:center;gap:2rem;display:flex}.brand{letter-spacing:-.02em;font-size:1.15rem;font-weight:850}nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.nav-separator{background:#ccd1e6;width:1px;height:1rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}main{min-height:80vh}footer{color:#637083;border-top:1px solid #e0e4ef;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem;display:flex}.footer-links{gap:1rem;display:flex}.hero{padding:5rem 0 2.5rem}.eyebrow{color:#5561c7;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.hero h1{letter-spacing:-.055em;max-width:12ch;margin:.25rem 0 1.25rem;font-size:clamp(2.8rem,7vw,6.2rem);line-height:1.02}.lead{color:#4e596b;max-width:46rem;font-size:1.18rem}.actions{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.button{color:#fff;background:#252f89;border-radius:.5rem;justify-content:center;align-items:center;padding:.65rem 1rem;font-weight:700;display:inline-flex}.button:hover{filter:brightness(.96);text-decoration:none}.button.ghost{color:#252f89;background:#fff;border:1px solid #ccd1e6}.section{margin:5rem 0}.section-heading{border-bottom:1px solid #d8ddea;align-items:baseline;gap:.8rem;margin-bottom:1.25rem;padding-bottom:.8rem;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.6rem,3vw,2.15rem);line-height:1.2}.section-index{letter-spacing:.14em;color:#5561c7;font-size:.78rem;font-weight:850}.section-more{color:#5561c7;margin-left:auto;font-size:.92rem;font-weight:700}.grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;display:grid}.card{background:#fff;border:1px solid #e0e4ef;border-radius:.75rem;padding:1.25rem;transition:transform .16s,border-color .16s,box-shadow .16s;display:block}.card:hover{border-color:#bec6dd;text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 28px #1720330f}.card h2,.card h3{letter-spacing:-.015em;margin-top:0;line-height:1.35}.meta{color:#637083;font-size:.86rem}.tag{color:#37429f;background:#edf0ff;border-radius:999px;margin:.15rem .15rem 0 0;padding:.1rem .55rem;font-size:.8rem;display:inline-block}.book-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.25rem;display:grid}.book-card{grid-template-rows:auto 1fr;min-width:0;display:grid}.book-cover{aspect-ratio:3/4;color:#fff;background:#202852;border:1px solid #151b3c;border-radius:.75rem;flex-direction:column;justify-content:space-between;margin-bottom:.9rem;padding:1.25rem;display:flex;overflow:hidden;box-shadow:0 12px 28px #1720331f}.book-cover-label{letter-spacing:.14em;opacity:.72;font-size:.72rem;font-weight:800}.book-cover-title{letter-spacing:-.035em;font-size:clamp(1.2rem,2.2vw,1.7rem);font-weight:850;line-height:1.25}.book-cover-mark{opacity:.9;background:#fff;width:2.8rem;height:5px}.book-info h3,.book-info h2{margin:.2rem 0 .45rem;line-height:1.35}.book-info p:last-child{color:#4e596b;margin-bottom:0}.connect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.connect-card{color:#fff;background:#172033;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.3rem;display:flex}.connect-card:hover{filter:brightness(1.08);text-decoration:none}.connect-name{font-size:1.15rem;font-weight:800}.connect-handle{opacity:.72;font-size:.9rem}.article{max-width:780px;margin:auto}.article h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.2}.article img{max-width:100%;height:auto}@media (width<=720px){header{flex-direction:column;align-items:flex-start;gap:.65rem}nav{gap:.75rem}.nav-separator{display:none}.hero{padding-top:2.7rem}.section{margin:3.8rem 0}.section-heading{flex-wrap:wrap;align-items:flex-start}.section-more{width:100%;margin-left:0}.connect-grid{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start}}
