:root{--color-bg: #1a1815;--color-bg-soft: #2a2620;--color-accent: #d4a82c;--color-accent-soft: #e8c04a;--color-text: #f2eee5;--color-text-muted: #8a8478;--color-border: #332e26;--font-serif: "Noto Serif JP", "Yu Mincho", "游明朝", serif;--font-sans: "Noto Sans JP", "Yu Gothic", "游ゴシック", sans-serif;--space-xs: 8px;--space-sm: 13px;--space-md: 21px;--space-lg: 34px;--space-xl: 55px;--space-2xl: 89px;--container-max: 720px;--container-wide: 1144px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-serif);line-height:1.8;font-feature-settings:"palt";-webkit-font-smoothing:antialiased}a{color:var(--color-accent-soft);text-decoration:none;transition:color .2s}a:hover{color:var(--color-text)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-md)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-md)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:.04em;line-height:1.5}h1{font-size:2rem}h2{font-size:1.5rem;margin-top:var(--space-xl);margin-bottom:var(--space-md)}h3{font-size:1.2rem;margin-top:var(--space-lg);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}.site-header{border-bottom:1px solid var(--color-border);padding:var(--space-md) 0;background:var(--color-bg)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-md)}.site-logo{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;letter-spacing:.1em;color:var(--color-text)}.site-logo:hover{color:var(--color-accent-soft)}.site-nav ul{display:flex;gap:var(--space-md);list-style:none}.site-nav a{color:var(--color-text-muted);font-size:.9rem}.site-footer{border-top:1px solid var(--color-border);padding:36px 24px 32px;margin-top:64px;background:#0f0c08}.site-footer__inner{max-width:760px;margin:0 auto;text-align:center}.site-footer__copy{color:var(--color-accent);font-size:.84rem;letter-spacing:.08em;margin:0 0 12px;font-weight:700}.site-footer__note{color:var(--color-text-muted);font-size:.74rem;line-height:1.85;margin:0;max-width:620px;margin-inline:auto}.site-footer__note a{color:var(--color-accent-soft)}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg);padding:var(--space-xl) 0}.article-card{background:var(--color-bg-soft);border:1px solid var(--color-border);overflow:hidden;transition:border-color .2s,transform .2s}.article-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.article-card__thumb{aspect-ratio:16 / 9;overflow:hidden}.article-card__thumb img{width:100%;height:100%;object-fit:cover}.article-card__body{padding:var(--space-md)}.article-card__title{font-size:1.05rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card__date{font-size:.8rem;color:var(--color-text-muted)}.article-detail{padding:var(--space-xl) 0}.article-detail__title{font-size:1.8rem;margin-bottom:var(--space-md)}.article-detail__meta{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.article-detail__thumb{margin-bottom:var(--space-xl);aspect-ratio:16 / 9;overflow:hidden}.article-detail__thumb img{width:100%;height:100%;object-fit:cover}.article-detail__content{font-size:1.05rem;line-height:1.95}.article-detail__content p{margin-bottom:var(--space-md)}.article-detail__content h2,.article-detail__content h3{border-left:3px solid var(--color-accent);padding-left:var(--space-sm)}.hero{padding:var(--space-2xl) var(--space-md);text-align:center;border-bottom:1px solid var(--color-border)}.hero__title{font-size:2.4rem;letter-spacing:.15em;margin-bottom:var(--space-md)}.hero__subtitle{color:var(--color-text-muted);font-size:1rem;letter-spacing:.05em}@media(max-width:640px){h1{font-size:1.5rem}.hero__title{font-size:1.8rem}.article-detail__title{font-size:1.4rem}}
