:root{--navy: #1a2d4d;--navy-dark: #111e33;--gold: #c8993a;--gold-light:#f0c060;--bg: #f4f5f7;--surface: #ffffff;--border: #e2e5ea;--text: #1e2530;--muted: #6b7280;--radius: 8px;--shadow: 0 2px 12px rgba(0,0,0,.08);--shadow-hover: 0 6px 24px rgba(0,0,0,.14);--font-ja: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, "メイリオ", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-ja);font-size:16px;line-height:1.8;color:var(--text);background:var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.site-header{position:sticky;top:0;z-index:100;background:var(--navy);box-shadow:0 2px 8px #0000004d}.header-inner{max-width:1200px;margin:0 auto;padding:0 20px;height:64px;display:flex;align-items:center;gap:16px}.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.logo-badge{width:36px;height:36px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.logo-text{color:#fff;font-weight:700;font-size:15px;line-height:1.3}.logo-sub{color:var(--gold-light);font-size:11px;font-weight:400}.header-spacer{flex:1}.cat-nav{background:var(--navy-dark);border-bottom:2px solid var(--gold);overflow-x:auto;scrollbar-width:none}.cat-nav::-webkit-scrollbar{display:none}.cat-nav-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;gap:4px;white-space:nowrap}.cat-link{display:inline-block;padding:8px 14px;color:#ffffffbf;font-size:13px;font-weight:500;transition:color .2s,background .2s;border-radius:0;position:relative}.cat-link:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .2s}.cat-link:hover{color:#fff;background:#ffffff0f}.cat-link:hover:after,.cat-link.active:after{transform:scaleX(1)}.cat-link.active{color:var(--gold-light);font-weight:700}.page-wrap{max-width:1200px;margin:0 auto;padding:40px 20px 80px}.hero{background:linear-gradient(135deg,var(--navy) 0%,#2a4a7f 100%);color:#fff;padding:48px 20px;text-align:center;margin-bottom:48px}.hero-badge{font-size:40px;margin-bottom:12px}.hero h1{font-size:clamp(22px,4vw,36px);font-weight:900;letter-spacing:.04em;margin-bottom:8px}.hero p{color:#ffffffbf;font-size:15px}.section-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.section-header h2{font-size:20px;font-weight:800;color:var(--navy)}.section-header .line{flex:1;height:2px;background:linear-gradient(to right,var(--gold),transparent)}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.post-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.card-thumb{aspect-ratio:16/9;overflow:hidden;background:var(--bg);position:relative}.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.post-card:hover .card-thumb img{transform:scale(1.05)}.card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,#e8edf5,#d0d8e8)}.card-body{padding:16px 20px 20px;display:flex;flex-direction:column;flex:1;gap:8px}.card-cats{display:flex;flex-wrap:wrap;gap:4px}.cat-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:#e8f0fe;color:#1a56a0;white-space:nowrap}.cat-badge:hover{background:var(--navy);color:#fff}.card-title{font-size:15px;font-weight:700;line-height:1.5;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.post-card:hover .card-title{color:var(--navy)}.card-meta{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.card-excerpt{font-size:13px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border)}.read-more{font-size:13px;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:4px}.read-more:after{content:"→";transition:transform .2s}.post-card:hover .read-more:after{transform:translate(4px)}.status-draft{background:#fef3cd;color:#856404}.status-private{background:#f8d7da;color:#842029}.article-wrap{max-width:800px;margin:0 auto;padding:40px 20px 80px}.article-header{margin-bottom:32px}.article-cats{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.article-title{font-size:clamp(20px,3.5vw,32px);font-weight:900;line-height:1.4;color:var(--navy);margin-bottom:12px}.article-meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px;align-items:center}.article-thumb{border-radius:var(--radius);overflow:hidden;margin:24px 0;box-shadow:var(--shadow)}.article-thumb img{width:100%;max-height:480px;object-fit:cover}.prose{font-size:16px;line-height:1.9;color:var(--text)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-weight:800;color:var(--navy);line-height:1.4;margin:2em 0 .75em}.prose h2{font-size:1.35em;padding:.5em .75em;border-left:4px solid var(--gold);background:#f0f4fb;border-radius:0 var(--radius) var(--radius) 0}.prose h3{font-size:1.15em;border-bottom:2px solid var(--border);padding-bottom:.3em}.prose p{margin:1em 0}.prose img{margin:1.5em auto;border-radius:var(--radius);box-shadow:var(--shadow);max-height:600px;object-fit:contain}.prose a{color:#1a56a0;text-decoration:underline}.prose a:hover{color:var(--navy)}.prose strong,.prose b{font-weight:700}.prose em,.prose i{font-style:italic}.prose ul,.prose ol{padding-left:1.5em;margin:1em 0}.prose li{margin:.4em 0}.prose blockquote{border-left:4px solid var(--gold);padding:.75em 1em;margin:1.5em 0;background:#fffbf0;border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);font-style:italic}.prose code{font-family:Fira Mono,Consolas,monospace;font-size:.9em;background:#eef2ff;padding:.1em .4em;border-radius:4px;color:#3730a3}.prose pre{background:#1e2530;color:#e2e8f0;padding:1.25em;border-radius:var(--radius);overflow-x:auto;margin:1.5em 0}.prose pre code{background:none;color:inherit;padding:0}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95em}.prose th,.prose td{border:1px solid var(--border);padding:.5em .75em;text-align:left}.prose th{background:var(--navy);color:#fff;font-weight:700}.prose tr:nth-child(2n){background:#f8f9fb}.prose hr{border:none;border-top:2px solid var(--border);margin:2em 0}.ad-unit{margin:40px 0 8px;min-height:100px}.article-tags{margin-top:32px;padding-top:20px;border-top:1px solid var(--border)}.article-tags h3{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:8px}.tags-list{display:flex;flex-wrap:wrap;gap:6px}.tag-pill{font-size:12px;padding:3px 10px;border-radius:20px;background:var(--bg);color:var(--muted);border:1px solid var(--border);transition:all .2s}.tag-pill:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:24px;transition:gap .2s}.back-link:hover{gap:10px}.cat-page-header{background:linear-gradient(135deg,var(--navy),#2a4a7f);color:#fff;padding:40px 20px 32px;margin-bottom:40px}.cat-page-header h1{font-size:clamp(20px,3vw,30px);font-weight:900;margin-bottom:4px}.cat-page-header p{color:#ffffffb3;font-size:14px}.empty-state{text-align:center;padding:80px 20px;color:var(--muted)}.empty-state .icon{font-size:60px;margin-bottom:16px}.site-footer{background:var(--navy-dark);color:#ffffff8c;text-align:center;padding:24px 20px;font-size:13px}.site-footer a{color:var(--gold-light)}@media(max-width:600px){.post-grid{grid-template-columns:1fr}.header-inner{gap:10px}.logo-text{font-size:13px}.hero{padding:32px 16px}.article-wrap{padding:24px 16px 60px}}
