*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2c7a3f;--color-primary-light: #e8f5e9;--color-text: #333;--color-text-light: #666;--color-bg: #f9f9f9;--color-white: #fff;--color-border: #e0e0e0;--font-main: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;--max-width: 780px}body{font-family:var(--font-main);background:var(--color-bg);color:var(--color-text);line-height:1.8;font-size:16px}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.site-header{background:var(--color-primary);color:var(--color-white);padding:0;box-shadow:0 2px 4px #0000001a}.site-header-inner{max-width:var(--max-width);margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between}.site-title{font-size:1.3rem;font-weight:700;color:var(--color-white);text-decoration:none}.site-title:hover{text-decoration:none;opacity:.9}.site-description{font-size:.8rem;color:#ffffffd9;margin-top:4px}.site-nav{background:#245f31;padding:0}.site-nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 20px;display:flex;gap:0}.site-nav a{color:#ffffffe6;padding:10px 16px;font-size:.9rem;display:block;transition:background .2s}.site-nav a:hover{background:#ffffff26;text-decoration:none}.site-main{max-width:var(--max-width);margin:30px auto;padding:0 20px}.site-footer{background:#333;color:#ccc;text-align:center;padding:24px 20px;font-size:.85rem;margin-top:60px}.post-list{list-style:none;display:flex;flex-direction:column;gap:20px}.post-card{background:var(--color-white);border-radius:8px;border:1px solid var(--color-border);padding:24px;transition:box-shadow .2s}.post-card:hover{box-shadow:0 4px 12px #00000014}.post-card-meta{font-size:.8rem;color:var(--color-text-light);margin-bottom:8px;display:flex;align-items:center;gap:12px}.post-card-category{background:var(--color-primary-light);color:var(--color-primary);padding:2px 8px;border-radius:3px;font-size:.75rem;font-weight:700}.post-card-title{font-size:1.15rem;font-weight:700;line-height:1.5;margin-bottom:0}.post-card-title a{color:var(--color-text)}.post-card-title a:hover{color:var(--color-primary);text-decoration:none}.post-header{background:var(--color-white);border-radius:8px;border:1px solid var(--color-border);padding:32px;margin-bottom:24px}.post-title{font-size:1.6rem;line-height:1.5;color:var(--color-text);margin-bottom:16px}.post-meta{font-size:.85rem;color:var(--color-text-light);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.post-tag{background:var(--color-primary-light);color:var(--color-primary);padding:2px 10px;border-radius:12px;font-size:.78rem}.post-content{background:var(--color-white);border-radius:8px;border:1px solid var(--color-border);padding:32px}.post-content h2{font-size:1.3rem;border-left:4px solid var(--color-primary);padding-left:12px;margin:32px 0 16px;color:var(--color-text)}.post-content h3{font-size:1.1rem;margin:24px 0 12px;padding-bottom:4px;border-bottom:2px solid var(--color-primary-light)}.post-content p{margin-bottom:16px}.post-content ul,.post-content ol{margin:12px 0 16px 24px}.post-content li{margin-bottom:6px}.post-content strong{color:var(--color-primary)}.post-content blockquote{border-left:4px solid var(--color-primary);background:var(--color-primary-light);padding:16px 20px;margin:20px 0;border-radius:0 6px 6px 0;font-style:normal}.post-content table{width:100%;border-collapse:collapse;margin:16px 0}.post-content th,.post-content td{border:1px solid var(--color-border);padding:10px 14px;text-align:left}.post-content th{background:var(--color-primary-light);font-weight:700}.draft-badge{display:inline-block;background:#ff9800;color:#fff;font-size:.75rem;padding:2px 8px;border-radius:3px;font-weight:700}.breadcrumb{font-size:.85rem;color:var(--color-text-light);margin-bottom:20px}.breadcrumb a{color:var(--color-text-light)}.post-hero-image{margin:-32px -32px 24px;border-radius:8px 8px 0 0;overflow:hidden}.post-hero-image img{width:100%;height:auto;display:block}.post-card-image-link{display:block;margin:-24px -24px 16px;border-radius:8px 8px 0 0;overflow:hidden}.post-card-image{width:100%;height:200px;object-fit:cover;display:block;transition:transform .2s}.post-card:hover .post-card-image{transform:scale(1.02)}@media(max-width:600px){.post-title{font-size:1.3rem}.post-header,.post-content,.post-card{padding:20px}}
