:root{--bg:#fdfcf9;--surface:#fff;--text:#333;--muted:#777;--line:#e6e2da;--accent:#04384c;--accent-soft:#eef4f6;--button:#1e73be;--max:760px;--wide:1080px;color:var(--text);-webkit-text-size-adjust:100%;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;line-height:1.9}*{box-sizing:border-box}body{background:var(--bg);margin:0}img{max-width:100%;height:auto}a{color:var(--accent)}.container{max-width:var(--wide);margin:0 auto;padding:0 16px}.site-header{background:var(--surface);border-bottom:1px solid var(--line)}.catch{background:var(--accent);color:#fff;padding:4px 0;font-size:12px}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:16px;display:flex}.logo{color:var(--text);max-width:640px;font-size:18px;font-weight:700;line-height:1.5;text-decoration:none}.gnav{gap:20px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.gnav a{color:var(--text);text-decoration:none}.gnav a:hover{color:var(--accent)}main{padding:32px 0 64px}.post-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:32px 24px;display:grid}.card{color:inherit;text-decoration:none;display:block}.card img,.card .noimg{aspect-ratio:16/9;object-fit:cover;background:var(--accent-soft);border-radius:4px;width:100%;display:block}.card .cat{color:#fff;background:var(--accent);border-radius:2px;margin-top:10px;padding:0 8px;font-size:12px;display:inline-block}.card h2{margin:6px 0;font-size:17px;line-height:1.6}.card:hover h2{color:var(--accent)}.card p{color:var(--muted);margin:0 0 4px;font-size:14px;line-height:1.7}.card time{color:var(--muted);font-size:12px}.pagination{justify-content:center;gap:8px;margin-top:48px;display:flex}.pagination a,.pagination span{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:4px;min-width:40px;padding:6px 12px;text-decoration:none}.pagination span[aria-current]{background:var(--accent);color:#fff;border-color:var(--accent)}.section-title{border-bottom:2px solid var(--accent);margin:0 0 24px;padding-bottom:6px;font-size:22px}.article{max-width:var(--max);background:var(--surface);border-radius:6px;margin:0 auto;padding:32px clamp(16px,5vw,48px) 48px}.article h1{margin:8px 0 12px;font-size:clamp(22px,4vw,28px);line-height:1.5}.article .meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.article .meta a{color:var(--muted)}.article .cover{border-radius:4px;width:100%;margin:24px 0}.prose{font-size:16px}.prose h2{background:var(--accent);color:#fff;border-radius:2px;margin:48px 0 24px;padding:10px 16px;font-size:21px;line-height:1.5}.prose h3{border-left:4px solid var(--accent);margin:36px 0 16px;padding-left:12px;font-size:18px}.prose p{margin:0 0 1.4em}.prose img{border-radius:4px;margin:24px auto;display:block}.prose blockquote{background:var(--accent-soft);border-left:4px solid var(--line);margin:24px 0;padding:12px 20px}.prose audio{width:100%;margin:16px 0}.video{aspect-ratio:16/9;margin:24px 0;position:relative}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.box{border:2px solid var(--line);border-radius:6px;margin:24px 0;padding:20px 20px 4px}.balloon{--b-bg:#eef5fb;--b-line:#9cc4e4;align-items:flex-start;gap:16px;margin:28px 0;display:flex}.balloon:before{content:"";border:1px solid var(--line);background:#fff 50%/cover no-repeat;border-radius:50%;flex:0 0 64px;height:64px}.balloon>p{background:var(--b-bg);border:1px solid var(--b-line);border-radius:8px;flex:1;margin:0;padding:12px 16px}.balloon[data-who=boy]:before{background-image:url(/balloon/boy.png)}.balloon[data-who=chick]{--b-bg:#fdf8e4;--b-line:#e9cf6a}.balloon[data-who=chick]:before{background-image:url(/balloon/chick.png)}.balloon[data-who=sage]{--b-bg:#fcefef;--b-line:#e5a3a3;flex-direction:row-reverse}.balloon[data-who=sage]:before{background-image:url(/balloon/sage.png)}.cta{text-align:center;margin:48px 0 0}.cta a{background:var(--button);color:#fff;border-radius:40px;padding:14px 32px;font-weight:700;text-decoration:none;display:inline-block;box-shadow:0 3px #00000026}.cta a:hover{opacity:.85}.related{max-width:var(--max);margin:48px auto 0}.search-box{gap:8px;margin-bottom:24px;display:flex}.search-box input{border:1px solid var(--line);border-radius:4px;flex:1;padding:10px 12px;font-size:16px}.site-footer{background:var(--accent);color:#fff;text-align:center;padding:32px 0;font-size:13px}.site-footer a{color:#fff;margin:0 8px}.site-footer p{opacity:.8;margin:12px 0 0}@media (width<=600px){.header-inner{padding:12px 16px}.logo{font-size:15px}.balloon:before{flex-basis:48px;height:48px}}
