:root{--accent: #ef5f8c;--accent-strong: #d93f70;--accent-soft: #ffe9f0;--sky: #4aa8d8;--sky-soft: #e6f4fb;--bg: #fffcfd;--bg-elev: #ffffff;--bg-sunken: #f7f3f5;--border: #ece3e7;--text: #221d20;--text-muted: #6d626a;--text-faint: #9a8f96;--radius: 14px;--radius-sm: 9px;--shadow: 0 1px 2px rgb(34 29 32 / 6%), 0 6px 20px -12px rgb(34 29 32 / 18%);--shadow-lift: 0 2px 4px rgb(34 29 32 / 8%), 0 14px 34px -14px rgb(34 29 32 / 26%);--maxw: 1100px;--font: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, system-ui, -apple-system, "Segoe UI", sans-serif}@media(prefers-color-scheme:dark){:root{--accent: #ff8bad;--accent-strong: #ffa9c3;--accent-soft: #3a222c;--sky: #7cc6ea;--sky-soft: #1d2c35;--bg: #151214;--bg-elev: #1e1a1d;--bg-sunken: #241f23;--border: #332c31;--text: #f2ecef;--text-muted: #b4a8ae;--text-faint: #8b7f86;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 6px 20px -12px rgb(0 0 0 / 60%);--shadow-lift: 0 2px 4px rgb(0 0 0 / 45%), 0 14px 34px -14px rgb(0 0 0 / 70%)}.card-thumb img{filter:brightness(.82) saturate(.95)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:var(--accent-strong);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent)}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:16px}main{flex:1;padding-block:24px 56px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg-elev) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-bar{display:flex;align-items:center;gap:12px;min-height:58px}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:1.06rem;letter-spacing:.01em;color:var(--text);text-decoration:none;white-space:nowrap}.logo-img{width:34px;height:34px;flex:none;object-fit:contain}.nav-scroll{border-top:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.nav-scroll::-webkit-scrollbar{display:none}.nav{display:flex;gap:4px;padding-block:7px;list-style:none;margin:0;white-space:nowrap}.nav a{display:inline-block;padding:5px 11px;border-radius:999px;font-size:.86rem;font-weight:600;color:var(--text-muted);text-decoration:none}.nav a:hover{background:var(--bg-sunken);color:var(--text)}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:34px 0 14px}.section-head:first-child{margin-top:6px}.section-head h2{font-size:1.12rem;margin:0;display:flex;align-items:center;gap:7px}.section-head h2:before{content:"";width:4px;height:1.05em;border-radius:2px;background:var(--accent)}.section-head .more{font-size:.82rem;font-weight:600;text-decoration:none;flex:none}.card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease;display:flex;flex-direction:column}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}.card-thumb{aspect-ratio:16 / 10;background:linear-gradient(135deg,var(--accent-soft),var(--sky-soft));position:relative;overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover}.card-thumb .placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:2.2rem;opacity:.65}.card-body{padding:12px 13px 14px;display:flex;flex-direction:column;gap:7px;flex:1}.card-title{margin:0;font-size:.96rem;line-height:1.55;font-weight:700}.card-title a{color:var(--text);text-decoration:none}.card-title a:hover{color:var(--accent-strong)}.card-meta{margin-top:auto;display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-faint)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.72rem;font-weight:700;text-decoration:none;white-space:nowrap}.badge.sky{background:var(--sky-soft);color:var(--sky)}.article{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px 18px 28px;box-shadow:var(--shadow)}@media(min-width:720px){.article{padding:32px 38px 42px}}.article h1{font-size:1.5rem;line-height:1.5;margin:8px 0 12px}@media(min-width:720px){.article h1{font-size:1.85rem}}.prose h2{font-size:1.2rem;margin:2.2em 0 .7em;padding-bottom:.35em;border-bottom:2px solid var(--accent-soft)}.prose h3{font-size:1.05rem;margin:1.8em 0 .5em;padding-left:.55em;border-left:4px solid var(--accent)}.prose p{margin:1em 0}.prose ul,.prose ol{padding-left:1.4em;margin:1em 0}.prose li{margin:.35em 0}.prose img{border-radius:var(--radius-sm);margin-inline:auto}.prose blockquote{margin:1.4em 0;padding:2px 16px;border-left:4px solid var(--border);color:var(--text-muted);background:var(--bg-sunken);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose code{background:var(--bg-sunken);padding:.15em .4em;border-radius:5px;font-size:.9em}.table-scroll{overflow-x:auto;margin:1.2em 0;border:1px solid var(--border);border-radius:var(--radius-sm)}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;display:block;max-width:100%;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:8px 11px;text-align:left}.prose th{background:var(--bg-sunken);font-weight:700;white-space:nowrap}.sources{margin-top:30px;padding:14px 16px;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.86rem}.sources h2{margin:0 0 8px;font-size:.9rem;border:0;padding:0}.sources ul{margin:0;padding-left:1.2em}.sources li{margin:.3em 0;word-break:break-word}.products{margin:28px 0 8px}.products>h2{font-size:1.05rem;margin:0 0 4px;border:0;padding:0}.pr-note{font-size:.74rem;color:var(--text-faint);margin:0 0 12px}.product-list{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.product{display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;text-decoration:none;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.product:hover{border-color:var(--accent);box-shadow:var(--shadow-lift);transform:translateY(-2px);color:var(--text)}.product-img{display:block;background:#fff;padding:10px}.product-img img{width:100%;height:170px;object-fit:contain}.product:not(:has(.product-img)) .product-info{justify-content:center;min-height:150px}.product-info{display:flex;flex-direction:column;gap:6px;flex:1;padding:11px 12px 13px}.product-name{font-size:.84rem;font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:1.12rem;font-weight:800;color:var(--accent-strong)}.product-cta{margin-top:auto;text-align:center;padding:8px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:.82rem;font-weight:700}.product:hover .product-cta{background:var(--accent-strong)}.prose blockquote.twitter-tweet{margin:1.4em 0;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);background:var(--bg-elev);font-size:.88rem;line-height:1.8}.prose blockquote.twitter-tweet p{margin:0 0 8px}.prose blockquote.twitter-tweet a{word-break:break-all}.ad-slot{margin:26px 0;text-align:center;min-height:1px}.ad-slot:before{content:"スポンサーリンク";display:block;font-size:.68rem;color:var(--text-faint);letter-spacing:.08em;margin-bottom:5px}.cal-group{margin-bottom:26px}.cal-group>h2{font-size:1rem;margin:0 0 10px;padding:6px 12px;background:var(--accent-soft);color:var(--accent-strong);border-radius:999px;display:inline-block}.cal-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-elev)}.cal-list li+li{border-top:1px solid var(--border)}.cal-list a{display:flex;gap:12px;align-items:baseline;padding:11px 13px;text-decoration:none;color:var(--text);font-size:.9rem}.cal-list a:hover{background:var(--bg-sunken)}.cal-date{flex:none;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent-strong);font-size:.85rem;min-width:4.2em}.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:34px;flex-wrap:wrap}.pager a,.pager span{padding:7px 13px;border-radius:8px;border:1px solid var(--border);font-size:.86rem;text-decoration:none;color:var(--text-muted);background:var(--bg-elev)}.pager a:hover{border-color:var(--accent);color:var(--accent-strong)}.pager .current{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.crumbs{font-size:.78rem;color:var(--text-faint);margin-bottom:10px;display:flex;gap:6px;flex-wrap:wrap}.crumbs a{color:var(--text-muted);text-decoration:none}.crumbs a:hover{color:var(--accent-strong)}.site-footer{border-top:1px solid var(--border);background:var(--bg-sunken);padding-block:26px 32px;font-size:.82rem;color:var(--text-muted)}.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0 0 14px}.footer-links a{color:var(--text-muted);text-decoration:none}.footer-links a:hover{color:var(--accent-strong)}.disclaimer{font-size:.75rem;color:var(--text-faint);line-height:1.75;margin:0 0 12px;padding:11px 13px;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg-elev)}.copyright{font-size:.75rem;color:var(--text-faint);margin:0}.hero{background:linear-gradient(150deg,var(--accent-soft),var(--sky-soft));border:1px solid var(--border);border-radius:var(--radius);padding:22px 20px;margin-bottom:8px}.hero h1{margin:0 0 6px;font-size:1.22rem;line-height:1.55}.hero p{margin:0;font-size:.86rem;color:var(--text-muted)}.empty{padding:40px 16px;text-align:center;color:var(--text-faint);border:1px dashed var(--border);border-radius:var(--radius);font-size:.9rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
