:root{--maxw: 760px;--maxw-wide: 1040px;--ink: #18212f;--muted: #64748b;--line: #e7eaef;--bg: #ffffff;--bg-soft: #f6f8fb;--brand: #0d9488;--brand-d: #0f766e;--brand-soft: #e6f5f2;--female: #db2777;--female-soft: #fdf0f6;--male: #2563eb;--male-soft: #eef3fe;--common: #0d9488;--common-soft: #e6f5f2;--radius: 16px;--radius-sm: 11px;--shadow-sm: 0 1px 2px rgba(16,24,40,.06);--shadow: 0 10px 30px -14px rgba(16,24,40,.25)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,system-ui,sans-serif;line-height:1.85;font-size:16px;letter-spacing:.01em}img{max-width:100%;height:auto}a{color:var(--brand-d)}.site-header{position:sticky;top:0;z-index:50;background:#ffffffdb;backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.hd-inner{max-width:var(--maxw-wide);margin:0 auto;padding:.7rem 1.1rem;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:.45rem;font-weight:800;text-decoration:none;color:var(--ink);font-size:1.08rem;letter-spacing:.02em}.brand-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#34d399);box-shadow:0 0 0 4px var(--brand-soft)}.site-header nav{display:flex;align-items:center;gap:1rem}.nav-link{text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:600}.nav-link:hover{color:var(--ink)}.container{max-width:var(--maxw);margin:0 auto;padding:1.6rem 1.1rem 3.5rem}.container.wide{max-width:var(--maxw-wide)}h1{font-size:1.75rem;line-height:1.35;letter-spacing:.01em;margin:.2rem 0 1rem}h2{font-size:1.25rem;margin:2.2rem 0 .8rem;padding-left:.7rem;border-left:5px solid var(--brand);line-height:1.45}h3{font-size:1.05rem;margin:1.4rem 0 .5rem}p{margin:.8rem 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;padding:.85rem 1.4rem;border-radius:999px;box-shadow:var(--shadow-sm);transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.btn:hover{background:var(--brand-d);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-sm{padding:.5rem .95rem;font-size:.85rem}.btn-block{display:flex;width:100%}.btn-ghost{background:#fff;color:var(--brand-d);border:1.5px solid var(--brand);box-shadow:none}.btn-ghost:hover{background:var(--brand-soft)}.btn-accent{background:#f97316}.btn-accent:hover{background:#ea580c}.aff-tag{font-size:.68rem;background:#ffffff40;padding:.08rem .35rem;border-radius:5px}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;font-weight:800;padding:.2rem .6rem;border-radius:999px;line-height:1.6;white-space:nowrap}.badge.f{color:var(--female);background:var(--female-soft)}.badge.m{color:var(--male);background:var(--male-soft)}.badge.c{color:var(--common);background:var(--common-soft)}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 1.2rem}.tab{cursor:pointer;border:1.5px solid var(--line);background:#fff;color:var(--muted);font-weight:700;font-size:.85rem;padding:.45rem 1rem;border-radius:999px;transition:.12s}.tab:hover{border-color:var(--brand);color:var(--brand-d)}.tab.active{background:var(--brand);border-color:var(--brand);color:#fff}.home-hero{position:relative;border-radius:var(--radius);overflow:hidden;margin-bottom:1.4rem;box-shadow:var(--shadow)}.home-hero img{width:100%;aspect-ratio:1200/627;object-fit:cover;object-position:center;display:block}.home-hero .overlay{position:absolute;inset:0;padding:1.4rem;background:linear-gradient(180deg,#0c1e1c1a,#0c1e1cb8);display:flex;flex-direction:column;justify-content:flex-end;color:#fff}.home-hero h1{color:#fff;margin:0 0 .35rem;font-size:1.55rem;text-shadow:0 1px 12px rgba(0,0,0,.3)}.home-hero p{margin:0;font-size:.95rem;opacity:.95}.post-hero{width:100%;aspect-ratio:1200/627;object-fit:cover;border-radius:var(--radius);margin:.2rem 0 1.4rem;box-shadow:var(--shadow)}.cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .14s ease,box-shadow .14s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card>a{text-decoration:none;color:inherit;display:block}.card .thumb{position:relative}.card .thumb img{width:100%;aspect-ratio:1200/627;object-fit:cover;display:block}.card .thumb .badge{position:absolute;top:.6rem;left:.6rem;box-shadow:var(--shadow-sm)}.card .body{padding:.85rem .95rem 1rem}.card .body h3{font-size:1rem;margin:0 0 .35rem;line-height:1.45}.card .body p{font-size:.83rem;color:var(--muted);margin:0;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem;margin:1.2rem 0 .6rem}.scard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.1rem 1.2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.scard.lead{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand),var(--shadow)}.scard .lead-tag{align-self:flex-start;font-size:.7rem;font-weight:800;color:#fff;background:var(--brand);padding:.15rem .55rem;border-radius:999px;margin-bottom:.5rem}.scard h3{margin:0 0 .5rem;font-size:1.12rem}.scard .meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.scard .price{font-size:.9rem;color:var(--ink);margin:.1rem 0 .5rem}.scard .price b{font-size:1.05rem}.scard .feat{font-size:.86rem;color:#374151;line-height:1.7;margin:0 0 .9rem;flex:1}.scard .cta{margin-top:auto}.cmp-note{font-size:.8rem;color:var(--muted);margin:.2rem 0 1.6rem}.post>.badge{display:inline-flex;margin-bottom:.5rem}.post-meta{display:flex;gap:.8rem;align-items:center;color:var(--muted);font-size:.82rem;margin:0 0 1rem}.pm-author{font-weight:700;color:var(--ink)}.pm-author:before{content:"✍ "}.toc{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin:0 0 1.6rem}.toc-h{font-weight:800;margin-bottom:.5rem;color:var(--brand-d)}.toc ol{margin:0;padding-left:1.3rem}.toc li{margin:.25rem 0}.toc li.toc-sub{list-style:circle;margin-left:1rem;font-size:.92rem}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{color:var(--brand-d);text-decoration:underline}.prose{font-size:1rem;line-height:1.95}.prose h2{font-size:1.3rem;margin:2.2rem 0 .9rem;padding:.55rem .85rem;line-height:1.5;border-left:5px solid var(--brand);border-bottom:1px solid var(--line);background:var(--brand-soft);border-radius:0 8px 8px 0}.prose h3{font-size:1.08rem;margin:1.6rem 0 .5rem;padding-left:.6rem;border-left:3px solid #94d3c8}.prose p{margin:1rem 0}.prose strong{font-weight:800;background:linear-gradient(transparent 62%,#ffe7a3 62%);padding:0 .08em}.prose a{color:var(--brand-d);font-weight:700}.prose ul{list-style:none;padding-left:0;margin:1rem 0}.prose ul li{position:relative;padding-left:1.5rem;margin:.45rem 0}.prose ul li:before{content:"";position:absolute;left:.25rem;top:.72em;width:.5rem;height:.5rem;border-radius:50%;background:var(--brand)}.prose ol{padding-left:1.4rem;margin:1rem 0}.prose ol li{margin:.45rem 0}.prose blockquote{border-left:4px solid var(--line);margin:1.2rem 0;padding:.4rem 1rem;color:var(--muted);background:var(--bg-soft);border-radius:0 8px 8px 0}.prose hr{border:0;border-top:1px solid var(--line);margin:2rem 0}.prose table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:1.2rem 0;font-size:.92rem}.prose th,.prose td{border:1px solid var(--line);padding:.5rem .75rem;text-align:left;white-space:nowrap}.prose thead th{background:var(--bg-soft);font-weight:700}.art-cta{background:linear-gradient(135deg,var(--brand-soft),#fff);border:1px solid #cfeae4;border-radius:var(--radius);padding:1.2rem;margin:1.8rem 0;box-shadow:var(--shadow-sm)}.art-cta-h{font-weight:800;font-size:1.05rem;color:var(--brand-d);margin-bottom:.3rem}.art-cta p{margin:.3rem 0 .8rem;font-size:.92rem}.art-cta-btns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.art-cta-btns .btn{width:100%}.related{margin-top:2.2rem}.card-date{display:block;font-size:.74rem;color:var(--muted);margin:0 0 .2rem;letter-spacing:.03em}.cat-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem}.cat-chips .chip{text-decoration:none;font-weight:700;font-size:.85rem;padding:.45rem 1.05rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--muted)}.cat-chips .chip:hover{border-color:var(--brand);color:var(--brand-d)}.cat-chips .chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2.2rem 0 .5rem}.pager a{color:var(--brand-d);font-weight:700;font-size:.9rem;text-decoration:none;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.55rem 1.2rem;transition:.14s}.pager a:hover{border-color:var(--brand)}.pager .cur{color:var(--muted);font-size:.88rem}.pager .disabled{color:#c7d0cd;font-weight:700;font-size:.9rem;border:1.5px solid var(--line);background:var(--bg-soft);border-radius:999px;padding:.55rem 1.2rem}.list-note{color:var(--muted);font-size:.92rem;margin:-.2rem 0 1.2rem}.site-footer{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:2.5rem}.ft-inner{max-width:var(--maxw-wide);margin:0 auto;padding:1.8rem 1.1rem;color:var(--muted);font-size:.82rem}.ft-note{margin:0 0 .6rem}.foot-cats{display:flex;flex-wrap:wrap;gap:1rem;margin:.2rem 0 .7rem}.foot-cats a{color:var(--brand-d);text-decoration:none;font-weight:700}.foot-cats a:hover{text-decoration:underline}.foot-links{display:flex;flex-wrap:wrap;gap:1rem;margin:.5rem 0}.foot-links a{color:var(--muted);text-decoration:none}.foot-links a:hover{color:var(--ink);text-decoration:underline}.ft-copy{margin:.6rem 0 0;opacity:.8}@media (max-width: 600px){.cards,.scards{grid-template-columns:1fr}h1{font-size:1.5rem}.hd-inner{padding:.6rem .8rem}.brand{font-size:.98rem}.brand-dot{width:10px;height:10px}.site-header nav{gap:.4rem}.btn-sm{padding:.45rem .65rem;font-size:.76rem}.art-cta-btns{grid-template-columns:1fr}}
