:root{--bg:#f7f5f0;--fg:#1d1d1b;--mute:#7a776f;--line:#dedad0;--card:#fff;--acc:#b5532c;--w:720px}@media (prefers-color-scheme:dark){:root{--bg:#161614;--fg:#e9e6de;--mute:#9a968c;--line:#2e2d29;--card:#1f1f1c;--acc:#e08a5f}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.9 -apple-system,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI",sans-serif;letter-spacing:.02em}a{color:inherit}img{max-width:100%;height:auto}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}header.top{border-bottom:1px solid var(--line)}header.top .wrap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-top:28px;padding-bottom:18px}.logo{font-size:22px;font-weight:800;letter-spacing:.18em;text-decoration:none}nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px}nav a{text-decoration:none;color:var(--mute)}nav a:hover,nav a[aria-current]{color:var(--fg)}.lead{padding:48px 0 8px}.lead h1{font-size:15px;font-weight:600;color:var(--mute);margin:0;letter-spacing:.12em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:36px 28px;padding:28px 0 72px}.card{text-decoration:none;display:block}.card .ph{aspect-ratio:3/2;background:var(--line);overflow:hidden;border-radius:2px}.card .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.card:hover .ph img{transform:scale(1.03)}.meta{font-size:12px;color:var(--mute);margin-top:10px;letter-spacing:.06em}.card h2{font-size:15px;line-height:1.65;margin:4px 0 0;font-weight:600}article{max-width:var(--w);margin:0 auto;padding:48px 20px 40px}article h1{font-size:clamp(22px,4vw,30px);line-height:1.5;margin:8px 0 24px;letter-spacing:.03em}.pr{font-size:12px;color:var(--mute);border:1px solid var(--line);padding:6px 10px;display:inline-block;margin-bottom:24px}.hero{margin:0 0 32px}.body h2{font-size:21px;line-height:1.6;margin:56px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--line)}.body h3{font-size:18px;margin:40px 0 12px}.body h4{font-size:16px;margin:32px 0 8px}.body p{margin:0 0 1.4em}.body img{display:block;margin:28px auto;border-radius:2px}.body figure{margin:28px 0}.body figure img{margin:0 auto}.body figcaption{font-size:13px;color:var(--mute);text-align:center;margin-top:6px}.body a{color:var(--acc);text-underline-offset:3px}.body blockquote{margin:24px 0;padding:4px 0 4px 18px;border-left:3px solid var(--line);color:var(--mute)}.body ul,.body ol{padding-left:1.4em}.body table{border-collapse:collapse;width:100%;font-size:14px;margin:24px 0;display:block;overflow-x:auto}.body th,.body td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.body iframe{max-width:100%;border:0;display:block;margin:28px auto}.body iframe[src*="youtube"]{width:100%;height:auto;aspect-ratio:16/9}.body hr{border:0;border-top:1px solid var(--line);margin:40px 0}p.amz{margin:20px 0;padding:14px 16px;background:var(--card);border:1px solid var(--line);font-size:14px;line-height:1.6}p.amz a{text-decoration:none;color:var(--fg)}p.amz a::after{content:"Amazonで見る →";display:block;margin-top:6px;font-size:12px;color:var(--acc)}aside.shop{margin:24px 0;padding:16px 18px;background:var(--card);border:1px solid var(--line)}aside.shop p.t{margin:0 0 12px;font-size:14px;line-height:1.6}aside.shop p.btns{margin:0;display:flex;gap:8px;flex-wrap:wrap}aside.shop p.btns a{flex:1 1 120px;text-align:center;text-decoration:none;font-size:13px;font-weight:600;padding:9px 12px;border-radius:2px;color:#fff;letter-spacing:.04em}aside.shop a.b-amz{background:#232f3e}aside.shop a.b-rkt{background:#bf0000}aside.shop a:hover{opacity:.85}p.rel{margin:20px 0;font-size:14px}p.rel a{color:var(--fg);text-decoration:none;border-bottom:1px solid var(--line)}p.rel a::before{content:"関連 ";color:var(--mute);font-size:12px}.pn{max-width:var(--w);margin:0 auto;padding:0 20px 64px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:14px}.pn a{text-decoration:none;display:block;padding:16px 0;border-top:1px solid var(--line)}.pn small{display:block;color:var(--mute);font-size:12px}.pn .n{text-align:right}footer{border-top:1px solid var(--line);padding:32px 0 48px;font-size:12px;color:var(--mute)}footer p{margin:0 0 6px}@media (max-width:560px){.grid{grid-template-columns:1fr 1fr;gap:28px 14px}.card h2{font-size:14px}header.top .wrap{padding-top:20px}}