:root{--c-text: #0d0015;--c-text-sub: #6b6a72;--c-accent: #30d5e8;--c-accent-dark: #1293a5;--c-bg: #ffffff;--c-bg-sub: #f6f8fa;--c-border: #e6e8ec;--radius: 8px;--shadow: 0 2px 8px rgba(13, 0, 21, .08)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--c-text);background:var(--c-bg);font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic Medium,BIZ UDPGothic,Meiryo,system-ui,sans-serif;line-height:1.8;font-size:16px}a{color:var(--c-accent-dark);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:1120px;margin:0 auto;padding:0 16px}.site-header{border-bottom:3px solid var(--c-accent);background:var(--c-bg)}.site-brand{margin:0;padding:20px 0 8px;text-align:center}.site-brand a{color:var(--c-text)}.site-title{display:block;font-size:1.4rem;font-weight:700}.site-tagline{display:block;font-size:.75rem;color:var(--c-text-sub);letter-spacing:.2em}.site-nav ul{display:flex;gap:4px;justify-content:flex-start;list-style:none;margin:0;padding:8px 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.site-nav a{display:block;padding:6px 12px;white-space:nowrap;color:var(--c-text);font-size:.9rem;border-radius:999px}.site-nav a:hover{background:var(--c-bg-sub);text-decoration:none;color:var(--c-accent-dark)}.layout{padding-top:24px;padding-bottom:48px}.sidebar{margin-top:40px}@media(min-width:1024px){.layout.has-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}.sidebar{margin-top:0}}.section-title{font-size:1.2rem;border-left:6px solid var(--c-accent);padding-left:10px;margin:0 0 16px}.post-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:32px}@media(min-width:640px){.post-grid{grid-template-columns:1fr 1fr}}.post-card{background:var(--c-bg);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--c-border)}.post-card-link{display:block;color:inherit}.post-card-link:hover{text-decoration:none}.post-card-thumb{position:relative;aspect-ratio:16 / 9;background:var(--c-bg-sub)}.post-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--c-text-sub);font-size:.85rem;background:repeating-linear-gradient(45deg,#f2f4f6,#f2f4f6 12px,#eceef2 12px 24px)}.post-card-cat{position:absolute;left:0;bottom:0;background:var(--c-accent);color:#04333a;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:0 var(--radius) 0 0}.post-card-title{font-size:1rem;margin:10px 14px 4px;line-height:1.5}.post-card-link:hover .post-card-title{color:var(--c-accent-dark)}.post-card-meta{margin:0 14px 12px;font-size:.8rem;color:var(--c-text-sub)}.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}.category-nav a{background:var(--c-bg-sub);border:1px solid var(--c-border);border-radius:999px;padding:6px 16px;font-size:.88rem;color:var(--c-text)}.category-nav a:hover{border-color:var(--c-accent);color:var(--c-accent-dark);text-decoration:none}.article-header h1{font-size:1.5rem;line-height:1.5;margin:8px 0}@media(min-width:640px){.article-header h1{font-size:1.8rem}}.article-meta{color:var(--c-text-sub);font-size:.85rem;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.article-eyecatch{margin:0 0 24px}.article-eyecatch img{width:100%;border-radius:var(--radius);display:block}.article-body{font-size:1.02rem}.article-body h2{font-size:1.3rem;background:var(--c-bg-sub);border-left:6px solid var(--c-accent);padding:8px 12px;margin:2.2em 0 1em;border-radius:0 var(--radius) var(--radius) 0}.article-body h3{font-size:1.12rem;border-bottom:2px solid var(--c-accent);padding-bottom:4px;margin:2em 0 .8em}.article-body img{display:block;width:100%;margin:1.6em auto;border-radius:var(--radius);box-shadow:var(--shadow)}.article-body blockquote{border-left:4px solid var(--c-border);margin:1.5em 0;padding:.5em 1em;color:var(--c-text-sub);background:var(--c-bg-sub)}.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0}.article-tags a{font-size:.8rem;background:var(--c-bg-sub);border-radius:999px;padding:3px 12px}.breadcrumb ol{display:flex;flex-wrap:wrap;list-style:none;margin:0 0 8px;padding:0;font-size:.8rem;color:var(--c-text-sub)}.breadcrumb li+li:before{content:"›";margin:0 6px}.pagination{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:32px 0}.pagination a,.pagination .page-num.is-current{display:inline-block;min-width:40px;text-align:center;padding:8px 12px;border:1px solid var(--c-border);border-radius:var(--radius)}.pagination .page-num.is-current{background:var(--c-accent);border-color:var(--c-accent);color:#04333a;font-weight:700}.widget{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px;margin-bottom:24px}.widget-title{font-size:1rem;margin:0 0 12px;padding-bottom:8px;border-bottom:3px solid var(--c-accent)}.popular-list{list-style:none;counter-reset:rank;margin:0;padding:0}.popular-list li{counter-increment:rank;margin-bottom:12px}.popular-list a{display:flex;gap:10px;align-items:flex-start;color:var(--c-text);font-size:.85rem;line-height:1.5}.popular-list a:before{content:counter(rank);flex:none;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--c-accent);color:#04333a;font-weight:700;font-size:.75rem;border-radius:50%}.popular-list img{flex:none;width:84px;height:48px;object-fit:cover;border-radius:4px}.popular-list .thumb-placeholder{flex:none;width:84px;height:48px;border-radius:4px;font-size:.7rem}.category-list{list-style:none;margin:0;padding:0;font-size:.9rem}.category-list .category-list{padding-left:16px;border-left:2px solid var(--c-border);margin-left:4px}.category-list li{margin:6px 0}.category-list a{color:var(--c-text)}.category-list a:hover{color:var(--c-accent-dark)}.contact-slot{border:2px dashed var(--c-border);border-radius:var(--radius);padding:24px;text-align:center;color:var(--c-text-sub);margin:32px 0}.site-footer{background:var(--c-text);color:#e8e6ec;margin-top:48px;padding:40px 0 24px;font-size:.88rem}.site-footer a{color:var(--c-accent)}.footer-cols{display:grid;gap:24px}@media(min-width:768px){.footer-cols{grid-template-columns:repeat(3,1fr)}}.footer-heading{font-size:.95rem;border-bottom:1px solid #3a3542;padding-bottom:6px}.footer-list{list-style:none;margin:0;padding:0}.footer-list li{margin:6px 0}.copyright{text-align:center;margin-top:32px;color:#a9a5b2;font-size:.8rem}.not-found{text-align:center;padding:48px 0}.not-found h1{font-size:2rem}
