:root{--maxw:740px;--maxw-wide:1080px;--font-sans:-apple-system,"Segoe UI","Hiragino Sans","Noto Sans JP",sans-serif;--font-serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP","Times New Roman",serif;--brand:#4f46b5;--brand-soft:#f1f0fb;--cta:#c8470c;--cta-dark:#9c3708;--cta-bright:#ec5a13;--ink:#2b2b2f;--muted:#6b7280;--line:#e8e8ed;--line-hover:#d9d7ef;--bg:#ffffff;--bg-soft:#f7f7fa;--tip-bg:#eefaf4;--tip-bd:#1d9e75;--warn-bg:#fff7ed;--warn-bd:#e8901c;--warn-line:#f3d9b5;--warn-ink:#5b4324;--ink-strong:#1f1f24;--marker:#ffe9ad;--row-hover:#fdf6ee;--cta-box-from:#faf9ff;--cta-box-to:#f1f0fb;--amazon:#ff9900;--amazon-dark:#c77b00;--amazon-ink:#1a1a1a;--rakuten:#bf0000;--rakuten-dark:#8a0000;--yahoo:#e6002d;--yahoo-dark:#a8001f;--gold:#f6b73c;--gold-ink:#4a3000;--star:#f6a609;--tip-line:#bfe9d6;--tip-ink:#0f6e56;--toc-ink:#38383f;--hero-marker:#ffe0c2;--ph-1:#edefff;--ph-2:#f6eefc;--ph-3:#fdf0e6;--body-soft:#444;--tag-product-bg:#fde7d8}*{box-sizing:border-box}body,html{overflow-x:clip}html{scroll-behavior:smooth}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--cta);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover,.card:hover .thumb img,.feature:hover{transform:none}}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--font-sans);line-height:1.9;font-size:17px;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--line);padding:12px 20px}.site-header .inner{max-width:var(--maxw-wide);margin:0 auto;display:flex;align-items:baseline;gap:12px}.site-header .logo{font-family:var(--font-serif);font-weight:700;font-size:19px;color:var(--ink);letter-spacing:.02em}.site-header .logo:hover{text-decoration:none;color:var(--brand)}.site-header .tagline{color:var(--muted);font-size:12px}@media (max-width:560px){.site-header .tagline{display:none}}main{max-width:var(--maxw);margin:0 auto;padding:28px 20px 80px}main:has(.archive),main:has(.home){max-width:var(--maxw-wide)}.breadcrumb{font-size:12.5px;margin-bottom:14px}.breadcrumb,.breadcrumb a,.post-meta{color:var(--muted)}.post-meta{font-size:13px;margin:-6px 0 22px;display:flex;gap:14px;flex-wrap:wrap}h1{font-family:var(--font-serif);font-size:34px;line-height:1.4;letter-spacing:.01em;margin:6px 0 22px;font-weight:700}.card .title,.feature .title,.hero h1,.prose h2,.prose h3,h1{overflow-wrap:anywhere;min-width:0}.prose h2{font-family:var(--font-serif);font-size:26px;font-weight:700;line-height:1.45;letter-spacing:.01em;margin:56px 0 18px;padding-bottom:11px;border-bottom:1px solid var(--line);position:relative}.prose h2:after{content:"";position:absolute;left:0;bottom:-1px;width:54px;height:3px;background:var(--brand);border-radius:2px}.prose h3{font-family:var(--font-serif);font-size:20px;font-weight:700;line-height:1.5;margin:34px 0 10px;color:var(--ink)}.prose p{margin:14px 0}.prose strong{color:var(--ink-strong);font-weight:700;background:linear-gradient(transparent 70%,var(--marker) 70%);padding:0 1px}.prose ol,.prose ul{padding-left:1.4em}.prose li{margin:7px 0}.prose li::marker{color:var(--brand)}.prose img{max-width:100%;height:auto;border-radius:10px}.prose blockquote{margin:18px 0;padding:12px 16px;background:var(--warn-bg);border:1px solid var(--warn-line);border-left:4px solid var(--warn-bd);border-radius:8px;color:var(--warn-ink);font-size:14.5px}.prose blockquote p{margin:4px 0}.prose .table-wrap{overflow-x:auto;margin:20px 0;-webkit-overflow-scrolling:touch}.prose .table-wrap:focus-visible{outline:3px solid var(--cta);outline-offset:2px;border-radius:10px}.prose table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:560px}.prose td,.prose th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.prose th{background:var(--brand);color:#fff;font-weight:700;white-space:nowrap}.prose tbody tr:nth-child(2n){background:var(--bg-soft)}.prose tbody tr:hover{background:var(--row-hover)}.prose td:first-child{font-weight:700}.prose table a.tbl-btn{display:inline-block;padding:7px 12px;background:var(--cta);color:#fff;border-radius:7px;font-weight:700;font-size:12.5px;white-space:nowrap;box-shadow:0 2px 0 var(--cta-dark)}.prose table a.tbl-btn:hover{text-decoration:none;opacity:.95}.prose .cta{margin:30px 0;padding:18px 18px 20px;border:1.5px solid var(--brand);border-radius:12px;background:linear-gradient(180deg,var(--cta-box-from) 0,var(--cta-box-to) 100%);box-shadow:0 2px 10px rgba(79,70,181,.06)}.prose .cta strong{display:block;font-size:15.5px;margin-bottom:6px;background:none;color:var(--brand)}.prose .cta .cta-lead{font-size:14px;color:var(--body-soft);margin-bottom:12px}.prose .cta a.cta-link{display:inline-block;padding:13px 22px;background:var(--cta);color:#fff;border-radius:10px;font-weight:800;font-size:15px;box-shadow:0 3px 0 var(--cta-dark);transition:transform .05s ease}.prose .cta a.cta-link:hover{text-decoration:none;transform:translateY(1px);box-shadow:0 2px 0 var(--cta-dark)}.prose .shoplinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.prose .shoplinks .shop{flex:1 1;min-width:96px;text-align:center;padding:12px 8px;border-radius:9px;font-weight:800;font-size:14px;color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.18)}.prose .shoplinks .shop small{display:block;font-size:10px;font-weight:600;opacity:.85}.prose .shoplinks .shop.amazon{background:var(--amazon);color:var(--amazon-ink);box-shadow:0 3px 0 var(--amazon-dark)}.prose .shoplinks .shop.rakuten{background:var(--rakuten);box-shadow:0 3px 0 var(--rakuten-dark)}.prose .shoplinks .shop.yahoo{background:var(--yahoo);box-shadow:0 3px 0 var(--yahoo-dark)}.prose .shoplinks .shop:hover{text-decoration:none;opacity:.93}.prose table .cell-shops{display:flex;flex-direction:column;gap:4px;min-width:76px}.prose table .cell-shops a{font-size:11.5px;font-weight:800;padding:4px 6px;border-radius:5px;color:#fff;text-align:center;white-space:nowrap}.prose table .cell-shops a:hover{text-decoration:none;opacity:.92}.prose table .cell-shops a.amazon{background:var(--amazon);color:var(--amazon-ink)}.prose table .cell-shops a.rakuten{background:var(--rakuten)}.prose table .cell-shops a.yahoo{background:var(--yahoo)}.prose .rank-item{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:14px 0;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.04)}.prose .rank-item.is-top{border-color:var(--brand);box-shadow:0 4px 16px rgba(79,70,181,.1)}.prose .rank-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:17px;font-weight:800}.prose .rank-no{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:14px;flex:none}.prose .rank-item.is-top .rank-no{background:var(--gold);color:var(--gold-ink)}.prose .rank-head a{color:var(--brand)}.prose .rank-desc{font-size:14px;color:var(--body-soft);margin:8px 0 10px}.prose>p>a[rel~=sponsored]{display:inline-block;margin:8px 0;padding:13px 22px;background:var(--cta);color:#fff;border-radius:10px;font-weight:800;box-shadow:0 3px 0 var(--cta-dark)}.prose .point{margin:24px 0;padding:16px 18px;background:var(--tip-bg);border:1px solid var(--tip-line);border-left:4px solid var(--tip-bd);border-radius:8px}.prose .point strong{background:none;color:var(--tip-ink)}.prose .point .badge{color:#fff}.prose .badge{display:inline-block;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;margin:0 4px 6px 0;line-height:1.6;vertical-align:middle}.prose .badge.gold{background:var(--gold);color:var(--gold-ink)}.prose .badge.plain{background:var(--brand-soft);color:var(--brand)}.prose .stars{color:var(--star);font-weight:700;letter-spacing:1px}.toc{margin:8px 0 28px;padding:16px 20px;background:var(--bg-soft);border:1px solid var(--line);border-radius:12px}.toc-title{font-weight:700;margin:0 0 8px;font-size:15px;color:var(--ink);display:flex;align-items:center;gap:8px}.toc-title:before{content:"";width:13px;height:13px;border-radius:3px;background:var(--brand);flex:none}.toc ol{margin:0;padding-left:1.2em;counter-reset:item;list-style:none}.toc li{margin:5px 0;font-size:14.5px}.toc li.toc-sub{padding-left:1.1em;font-size:13.5px}.toc a{color:var(--toc-ink)}.toc a:hover{color:var(--brand)}.related{margin-top:52px;padding:20px 22px;background:var(--brand-soft);border-radius:12px}.related h2{font-family:var(--font-serif);margin:0 0 12px;font-size:18px;font-weight:700;color:var(--ink)}.related ul{margin:0;padding-left:18px}.related li{margin:8px 0}.home{max-width:var(--maxw-wide);margin:0 auto}.hero{padding:44px 0 40px;margin-bottom:12px;border-bottom:1px solid var(--line);position:relative}.hero .eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--brand);background:var(--brand-soft);padding:5px 12px;border-radius:999px;margin-bottom:18px}.hero h1{font-family:var(--font-serif);font-size:clamp(30px,5vw,46px);font-weight:700;line-height:1.28;margin:0 0 16px;letter-spacing:.01em;max-width:20em}.hero h1 .accent{background:linear-gradient(transparent 62%,var(--hero-marker) 62%);padding:0 2px}.hero p{color:var(--muted);margin:0;font-size:16px;max-width:44em;line-height:1.85}.cat-group{margin-top:52px}.cat-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;gap:12px}.cat-group h2{font-family:var(--font-serif);font-size:22px;font-weight:700;margin:0;padding:0;border-left:none;display:flex;align-items:center;gap:11px}.cat-group h2,.cat-group h2 a{color:var(--ink)}.cat-group h2 a:hover{color:var(--brand);text-decoration:none}.cat-group h2:before{content:"";width:5px;height:24px;background:var(--brand);border-radius:3px;flex:none}.cat-more{font-size:13px;font-weight:700;color:var(--brand);white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:22px;gap:22px}@media (max-width:900px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}@media (max-width:560px){.card-grid{grid-template-columns:minmax(0,1fr);gap:16px}}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.card:hover{box-shadow:0 12px 32px rgba(31,31,45,.1);transform:translateY(-3px);border-color:var(--line-hover);text-decoration:none}.card .thumb{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:52px;overflow:hidden;background:linear-gradient(135deg,var(--ph-1) 0,var(--ph-2) 55%,var(--ph-3) 100%)}.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-ph{font-family:var(--font-serif);font-size:19px;font-weight:700;color:var(--brand);opacity:.34;letter-spacing:.16em}.feature .thumb-ph{font-size:26px}.feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:0;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;margin-bottom:8px;transition:box-shadow .18s ease,border-color .18s ease}.feature:hover{box-shadow:0 14px 38px rgba(31,31,45,.11);border-color:var(--line-hover);text-decoration:none}.feature .thumb{position:relative;min-height:260px;display:flex;align-items:center;justify-content:center;font-size:74px;background:linear-gradient(135deg,var(--ph-1) 0,var(--ph-2) 55%,var(--ph-3) 100%);overflow:hidden}.feature .thumb img{width:100%;height:100%;object-fit:cover}.feature .body{padding:30px 32px;display:flex;flex-direction:column;justify-content:center}.feature .title{font-family:var(--font-serif);font-size:25px;font-weight:700;line-height:1.45;color:var(--ink);display:block;margin-bottom:12px}.feature:hover .title{color:var(--brand)}.feature .desc{color:var(--muted);font-size:14px;line-height:1.85}@media (max-width:720px){.feature{grid-template-columns:minmax(0,1fr)}.feature .thumb{min-height:0;aspect-ratio:16/9}.feature .body{padding:22px 20px}.feature .title{font-size:21px}}.post-hero{margin:4px 0 22px}.post-hero img{width:100%;max-height:380px;object-fit:cover;border-radius:12px;display:block}.card .body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1 1}.card .tag,.feature .tag{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;margin-bottom:9px;align-self:flex-start;letter-spacing:.02em}.card .tag.product,.feature .tag.product{background:var(--tag-product-bg);color:var(--cta-dark)}.card .tag.howto,.feature .tag.howto{background:var(--brand-soft);color:var(--brand)}.card .title{display:block;font-size:16.5px;font-weight:700;color:var(--ink);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card:hover .title{color:var(--brand)}.card .desc{color:var(--muted);font-size:13px;margin-top:9px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.page .prose h2{font-size:20px}.site-footer{border-top:1px solid var(--line);margin-top:72px;padding:28px 20px;background:var(--bg-soft)}.site-footer .inner{max-width:var(--maxw-wide);margin:0 auto}.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}.site-footer nav a{font-size:14px}.site-footer .copyright{color:var(--muted);font-size:12px;margin-top:12px}