/* ==========================================================================
   Tettei Review — main.css
   ========================================================================== */

/* ---------- 色・フォント ---------- */
:root{
  --bg:#FFFFFF;
  --surface:#F2F4F7;
  --ink:#1A2230;
  --muted:#5B6676;
  --line:#D5DBE3;
  --accent:#1F4FA3;
  --accent-soft:#E6ECF7;
  --mark:#FFE58F;
  --buy:#F3A41B;
  --buy-ink:#1A1A1A;
  --ex:#D9480F;
  --font:"M PLUS 1","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
:root[data-theme="dark"]{
  --bg:#13171E;--surface:#1B212B;--ink:#E5E9EF;--muted:#9AA5B4;--line:#2E3745;
  --mark:rgba(255,214,90,.28);--ex:#FF7A45;
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root[data-scheme="auto"]:not([data-theme="light"]){
    --bg:#13171E;--surface:#1B212B;--ink:#E5E9EF;--muted:#9AA5B4;--line:#2E3745;
    --mark:rgba(255,214,90,.28);--ex:#FF7A45;
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 12px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.9;
  overflow-wrap:anywhere;word-break:normal;line-break:strict;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto}
a{color:var(--accent)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button,input,textarea,select{font:inherit;color:inherit}
input[type=search],input[type=text],input[type=email],input[type=url],textarea{
  background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:0;padding:8px 10px;max-width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}
.skip-link:focus{position:fixed!important;top:8px;left:8px;width:auto;height:auto;clip:auto;clip-path:none;z-index:100;background:var(--ink);color:var(--bg);padding:8px 14px;margin:0}

/* ---------- ヘッダー ---------- */
.site-header{border-bottom:1px solid var(--line);background:var(--bg)}
.hd{max-width:1160px;margin:0 auto;padding:18px 20px 0;display:flex;align-items:flex-end;gap:20px}
.brand{min-width:0}
.brand-name{margin:0;font-size:30px;font-weight:800;letter-spacing:.08em;line-height:1.1}
.brand-name a{color:var(--ink);text-decoration:none;display:inline-flex;align-items:flex-end;flex-wrap:wrap;gap:0 .5em}
.brand-main{display:inline-block;padding-bottom:9px;
  background:
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 6px) left bottom/100% 5px no-repeat,
    repeating-linear-gradient(90deg,var(--ink) 0 1px,transparent 1px 30px) left bottom/100% 9px no-repeat}
.brand-sub{font-size:.5em;font-weight:700;letter-spacing:.04em;color:var(--accent);padding-bottom:11px;line-height:1.2}
.brand-logo{margin:0;line-height:0}
.brand-logo img{max-height:56px;width:auto}
.brand-tag{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.hd-tools{margin-left:auto;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.hd-search{display:flex}
.hd-search input{font-size:14px;width:250px;padding:7px 10px;border-right:0}
.hd-search button,.search-form button{font-size:14px;padding:7px 14px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;border-radius:0}
.icon-btn{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:0;padding:0}
.icon-btn:hover{border-color:var(--ink)}
.theme-toggle .i-sun{display:none}
:root[data-theme="dark"] .theme-toggle .i-sun{display:block}
:root[data-theme="dark"] .theme-toggle .i-moon{display:none}
.search-toggle{display:none}
.m-search{max-width:1160px;margin:0 auto;padding:12px 20px 0}
.search-form{display:flex}
.search-form input{flex:1;min-width:0;border-right:0;font-size:15px}
.gnav{max-width:1160px;margin:12px auto 0;padding:0 20px;overflow-x:auto;scrollbar-width:none}
.gnav::-webkit-scrollbar{display:none}
.gnav ul{list-style:none;margin:0;padding:0;display:flex;white-space:nowrap}
.gnav a{display:block;padding:10px 16px 11px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:3px solid transparent}
.gnav li:first-child a{padding-left:0}
.gnav a:hover,.gnav a[aria-current="page"],.gnav .current-menu-item>a,.gnav .current-post-ancestor>a,.gnav .current-menu-parent>a,.gnav .current-category-ancestor>a{border-bottom-color:var(--accent)}

/* ---------- レイアウト ---------- */
.wrap{max-width:1160px;margin:0 auto;padding:28px 20px 72px;display:grid;grid-template-columns:minmax(0,1fr);gap:56px}
@media (min-width:1024px){.wrap{grid-template-columns:minmax(0,1fr) 300px}}
.main{min-width:0}
.sidebar{min-width:0}

/* ---------- 記事ヘッダー ---------- */
.crumbs{font-size:12.5px;color:var(--muted);margin:0 0 14px}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.crumbs li+li::before{content:"＞";margin:0 .4em;color:var(--line)}
.crumbs a{color:var(--muted)}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:12px}
.cat{display:inline-block;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700;padding:2px 10px;text-decoration:none;line-height:1.7}
.pr{border:1px solid var(--muted);font-size:11.5px;padding:0 7px;color:var(--muted)}
.entry-title{font-size:clamp(23px,3.2vw,30px);font-weight:800;line-height:1.5;margin:0 0 16px;letter-spacing:.01em;font-feature-settings:"palt" 1}
.byline{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:28px}
.byline a{color:var(--muted)}
.avatar-box{flex:none;display:inline-grid;place-items:center;overflow:hidden;background:var(--accent);color:var(--bg);font-weight:800;line-height:1}
.avatar-box img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.eyecatch{margin:0 0 28px}
.eyecatch img{display:block;width:100%}
.article .entry-header+.entry{margin-top:0}

/* ---------- 本文 ---------- */
.entry{max-width:740px}
.entry>*:first-child{margin-top:0}
.entry p{margin:0 0 1.15em}
.has-indent .entry>p{text-indent:1em}
.has-indent .entry>p.pick-lead,.has-indent .entry>p.jump,.has-indent .entry>p.tbl-note{text-indent:0}
.has-indent .entry>p:has(>img:only-child),.has-indent .entry>p:has(>a:only-child>img){text-indent:0}
.has-indent .entry li p,.has-indent .entry blockquote p,.has-indent .entry figcaption{text-indent:0}
.entry strong{font-weight:700;background:linear-gradient(transparent 64%,var(--mark) 64%)}
.entry h2{font-size:clamp(20px,2.6vw,24px);font-weight:800;line-height:1.5;margin:56px 0 26px;padding:14px 0 16px;
  border-top:3px solid var(--ink);position:relative;font-feature-settings:"palt" 1}
.entry h2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;
  background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 8px)}
.entry h2 .h2-kicker{display:block;font-size:14px;font-weight:700;color:var(--accent);margin-bottom:2px;background:none}
.entry h3{font-size:clamp(17.5px,2.2vw,19.5px);font-weight:800;line-height:1.55;margin:44px 0 20px;padding:10px 14px;background:var(--surface);border-left:5px solid var(--accent)}
.entry h4{font-size:17px;font-weight:800;line-height:1.6;margin:32px 0 14px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.entry h5,.entry h6{font-size:16px;font-weight:800;margin:26px 0 10px}
.entry h2,.entry h3,.entry h4{scroll-margin-top:16px}
.entry hr,.entry .wp-block-separator{border:0;height:9px;margin:36px 0;opacity:1;background:
  repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 40px) left center/100% 9px no-repeat,
  repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 8px) left center/100% 4px no-repeat}
.entry ul,.entry ol{margin:0 0 1.2em;padding-left:1.6em}
.entry li{margin:.2em 0}
.entry blockquote{margin:0 0 1.4em;padding:14px 18px;border-left:4px solid var(--line);background:var(--surface);color:var(--muted)}
.entry blockquote p:last-child{margin-bottom:0}
.entry img{display:inline-block;vertical-align:bottom}
.entry figure{margin:8px 0 26px}
.entry figcaption,.entry .wp-element-caption{font-size:12.5px;color:var(--muted);margin-top:6px;text-align:left}
.entry .aligncenter{display:block;margin-left:auto;margin-right:auto}
.entry .alignleft{float:left;margin:0 20px 12px 0}
.entry .alignright{float:right;margin:0 0 12px 20px}
.entry pre{background:var(--surface);padding:14px;overflow-x:auto;font-size:14px;line-height:1.6}
.entry code{background:var(--surface);padding:1px 5px;font-size:.92em}
.entry .wp-block-button__link{border-radius:0}

/* 冒頭の【今回レビューする製品】 */
.lead-box{background:var(--surface);border-left:4px solid var(--accent);padding:16px 20px;margin:0 0 28px;font-size:15px;line-height:1.85}
.entry .lead-box p{text-indent:0;margin:0}
.lead-box p+p{margin-top:10px}
.lead-box b{display:block;color:var(--accent);font-weight:800;font-size:14px}

/* 選び方のポイント */
.entry .criteria{list-style:none;margin:0 0 24px;padding:0;border:1px solid var(--line)}
.criteria li{margin:0;padding:12px 16px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px}
.criteria li+li{border-top:1px solid var(--line)}
.criteria .no{font-weight:800;color:var(--accent);font-size:18px;line-height:1.6;grid-row:span 2}
.criteria b{font-weight:800}
.criteria .d{grid-column:2;font-size:15px;color:var(--muted)}

/* ランキング */
.entry .rank{list-style:none;margin:0 0 26px;padding:0}
.rank li{margin:0;display:grid;grid-template-columns:4.6em 1fr;align-items:baseline;padding:9px 0;border-bottom:1px dashed var(--line)}
.rank li:first-child{border-top:1px dashed var(--line)}
.rank .pos{font-weight:800;color:var(--accent)}
.rank li:first-child .pos{font-size:19px}
.rank .v{font-weight:700}
.rank .v small{font-weight:400;color:var(--muted);font-size:13.5px;margin-left:.6em}

/* 関連記事（本文内） */
.rel{border:1px solid var(--line);padding:14px 18px 16px;margin:6px 0 26px}
.entry .rel-h{text-indent:0;margin:0 0 6px;font-size:13.5px;font-weight:700;color:var(--muted)}
.entry .rel ol{margin:0;padding-left:1.6em;font-weight:700;line-height:1.95}

/* 評価メーター */
.rating{margin:0 0 26px;border:1px solid var(--line);padding:12px 16px}
.rating.flush{border:0;border-top:1px solid var(--line);padding:14px 0 0;margin:18px 0 0}
.r-row{display:grid;grid-template-columns:8.5em minmax(0,1fr) 2.6em;align-items:center;gap:10px;padding:3px 0;font-size:14.5px;line-height:1.6}
.r-row.total{border-top:1px solid var(--line);margin-top:6px;padding-top:9px;font-weight:800}
.r-bar{display:flex;gap:3px;align-items:center}
.r-bar i{display:block;flex:1;max-width:30px;height:11px;background:var(--line)}
.r-bar i.on{background:var(--accent)}
.r-row.total .r-bar i.on{background:var(--ink)}
.r-bar i.ex{background:var(--ex);margin-left:7px}
.r-num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.r-num.is-ex{color:var(--ex)}
.entry .r-legend,.r-legend{font-size:12px;color:var(--muted);margin:8px 0 0;text-indent:0;display:flex;align-items:center;gap:6px;line-height:1.5}
.r-legend i{display:inline-block;width:14px;height:9px;background:var(--ex)}

/* 製品ボックス */
.product{border:1px solid var(--line);border-top:3px solid var(--ink);padding:18px;margin:10px 0 26px}
.p-top{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:600px){.p-top{grid-template-columns:170px minmax(0,1fr);gap:22px}.no-img .p-top{grid-template-columns:minmax(0,1fr)}}
.p-img{background:#fff;border:1px solid var(--line);aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.p-img a{display:grid;place-items:center;width:100%;height:100%}
.p-img img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain}
.entry .p-release{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 4px;text-indent:0}
.p-release .size{color:var(--ink);margin-left:.6em}
.entry .p-name{font-size:18px;font-weight:800;line-height:1.5;margin:0 0 8px;display:flex;gap:10px;align-items:baseline;text-indent:0}
.p-no{flex:none;font-size:13px;font-weight:800;background:var(--accent);color:var(--bg);min-width:1.9em;text-align:center;padding:0 5px;line-height:1.7}
.p-name a{color:var(--ink);text-decoration-color:var(--line);text-underline-offset:4px}
.p-name a:hover{color:var(--accent)}
.entry .p-var{list-style:none;margin:0 0 10px;padding:0;font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 14px}
.p-var li{margin:0}
.p-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px}
.p-price .yen{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.p-price .src{font-size:12.5px;color:var(--muted)}
.btn-amz{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--buy);color:var(--buy-ink)!important;font-weight:800;font-size:15px;
  text-decoration:none;padding:12px 22px;border-radius:2px;min-width:240px;line-height:1.5}
.btn-amz:hover{filter:brightness(1.07)}
.amz-wrap{margin:0 0 24px}
.p-cta{margin:0}
@media (max-width:599px){.btn-amz{display:flex;width:100%;min-width:0}}
.p-spec{display:grid;grid-template-columns:7.5em minmax(0,1fr);margin:18px 0 0;font-size:14.5px;line-height:1.7;border-top:1px solid var(--line)}
.p-spec div{display:contents}
.p-spec dt,.p-spec dd{margin:0;padding:6px 0;border-bottom:1px dotted var(--line)}
.p-spec dt{color:var(--muted);padding-right:10px}
.p-spec dd b{font-weight:700}
@media (min-width:760px){.p-spec{grid-template-columns:7em minmax(0,1fr) 7em minmax(0,1fr);column-gap:16px}}

/* 結論の「第1に、〜」 */
.entry .pick-lead{font-size:17px;font-weight:800;line-height:1.7;margin:40px 0 6px;text-indent:0}
.pick-lead .no{color:var(--accent)}

/* 表 */
.tbl-wrap,.entry .wp-block-table{overflow-x:auto;margin:0 0 12px;border:1px solid var(--line);-webkit-overflow-scrolling:touch}
.entry .wp-block-table{margin-bottom:26px}
.entry table{border-collapse:collapse;width:100%;font-size:14px;line-height:1.55;margin:0}
.entry table.cmp{min-width:640px}
.entry th,.entry td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.entry .wp-block-table td,.entry .wp-block-table th{border:0;border-bottom:1px solid var(--line)}
.entry thead th{background:var(--surface);font-weight:700;font-size:13px;color:var(--muted);white-space:nowrap}
.entry table.cmp td,.entry table.cmp th{white-space:nowrap}
.entry table.cmp tbody th{position:sticky;left:0;background:var(--bg);font-weight:700;border-right:1px solid var(--line)}
.entry table .mini{font-size:12.5px;font-weight:700;background:var(--buy);color:var(--buy-ink);text-decoration:none;padding:3px 8px}
.tbl-wrap+p,.entry .tbl-note{font-size:12.5px;color:var(--muted);text-indent:0}
.entry .tbl-note{margin:0 0 26px}

/* 目次 */
.toc{border:1px solid var(--line);margin:0 0 18px;background:var(--bg)}
.toc summary{cursor:pointer;padding:12px 16px;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"開く";font-size:12.5px;font-weight:400;color:var(--muted)}
.toc[open] summary::after{content:"閉じる"}
.entry .toc ol{list-style:none;margin:0;padding:0 16px 14px;font-size:14.5px;line-height:1.85}
.entry .toc li{margin:3px 0}
.entry .toc ol ol{padding:0 0 0 1.1em;margin:2px 0 6px;font-size:14px;border-left:1px solid var(--line)}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--accent);text-decoration:underline}
.entry .jump{text-indent:0;margin:0 0 30px;font-size:14px;font-weight:700}

/* 記事フッター */
.entry-footer{max-width:740px;margin-top:36px}
.tags{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13.5px}
.tags a{color:var(--muted)}
.share{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.share a,.share button{font-size:13.5px;font-weight:700;padding:8px 16px;border:1px solid var(--ink);background:var(--bg);color:var(--ink);text-decoration:none;cursor:pointer;border-radius:0;line-height:1.5}
.share a:hover,.share button:hover{background:var(--ink);color:var(--bg)}
.author{display:grid;grid-template-columns:64px 1fr;gap:16px;border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:20px 0;margin:0 0 44px}
.author-name{margin:0;font-weight:800;font-size:16px}
.author-name a{color:var(--ink);text-decoration:none}
.author-desc{margin:4px 0 0;font-size:14px;color:var(--muted);line-height:1.8}
.after-entry{margin-bottom:30px}
.page-links{margin:20px 0;font-weight:700}

.sec-h{font-size:18px;font-weight:800;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--ink);line-height:1.5}
.related{margin-bottom:44px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}
.card{text-decoration:none;color:var(--ink);display:block}
.card .t{display:block;font-weight:700;font-size:14.5px;line-height:1.6;margin-top:8px}
.card .d{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.card:hover .t{color:var(--accent);text-decoration:underline}
.thumb{aspect-ratio:16/10;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font-weight:800;font-size:14px;text-align:center;padding:6px;line-height:1.4;
  background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 8px);background-size:100% 6px;background-repeat:no-repeat;background-position:left bottom}
.thumb.has-img{padding:0;background-image:none;overflow:hidden}
.thumb.has-img img{width:100%;height:100%;object-fit:cover;display:block}

/* 目次ボタン（スマホ） */
.toc-float{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:6px;
  padding:10px 14px;background:var(--ink);color:var(--bg);border:0;border-radius:0;font-size:13.5px;font-weight:700;cursor:pointer}
.toc-float[hidden]{display:none}
@media (min-width:1024px){.toc-float{display:none!important}}

/* ---------- サイドバー ---------- */
.widget{margin:0 0 40px;font-size:14px}
.widget-title{font-size:15px;font-weight:800;margin:0 0 12px;padding-bottom:7px;border-bottom:2px solid var(--ink);line-height:1.5}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:6px 0;border-bottom:1px solid var(--line)}
.widget a{color:var(--ink);text-decoration:none}
.widget a:hover{color:var(--accent);text-decoration:underline}
.prof{display:grid;grid-template-columns:52px 1fr;gap:12px;font-size:13.5px;line-height:1.75;color:var(--muted)}
.prof b{color:var(--ink);font-size:15px;display:block}
.pop{list-style:none;margin:0;padding:0;counter-reset:p}
.widget .pop li{counter-increment:p;display:grid;grid-template-columns:28px 1fr;gap:8px;padding:9px 0;line-height:1.6}
.pop li::before{content:counter(p);font-weight:800;color:var(--accent);font-size:16px;line-height:1.4}
.linkset details{border-bottom:1px solid var(--line)}
.linkset summary{cursor:pointer;padding:9px 0;font-weight:700;list-style:none;display:flex;justify-content:space-between}
.linkset summary::-webkit-details-marker{display:none}
.linkset summary::after{content:"＋";color:var(--muted)}
.linkset details[open] summary::after{content:"－"}
.widget .linkset ul,.main .linkset ul{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:0 0 10px;font-size:13.5px}
.widget .linkset li,.main .linkset li{border:0;padding:3px 0}
.main .linkset{margin-bottom:30px}
.main .linkset a{color:var(--ink)}
.searchtip{margin:0;font-size:13px;line-height:1.8;color:var(--muted);border:1px solid var(--line);padding:12px 14px}
.searchtip b{color:var(--ink)}
.policy{background:var(--surface);padding:14px 16px;font-size:13.5px;line-height:1.85}
.policy ul{list-style:disc;margin:0;padding-left:1.2em}
.widget .policy li{border:0;padding:0}

/* ---------- 一覧 ---------- */
.hero{border-top:3px solid var(--ink);padding:22px 0 26px;border-bottom:1px solid var(--line);margin-bottom:34px}
.hero .meta{margin-bottom:8px}
.hero h2{font-size:clamp(21px,3vw,28px);font-weight:800;line-height:1.5;margin:0 0 12px;font-feature-settings:"palt" 1}
.hero h2 a{color:var(--ink);text-decoration:none}
.hero h2 a:hover{color:var(--accent)}
.hero p{margin:0 0 16px;color:var(--muted);font-size:15px;max-width:44em}
.hero .more{display:inline-block;font-weight:800;font-size:14.5px;padding:10px 20px;background:var(--ink);color:var(--bg);text-decoration:none}
.archive-title{font-size:clamp(21px,3vw,26px);font-weight:800;line-height:1.5;margin:0 0 14px}
.archive-head{margin-bottom:10px}
.archive-desc{font-size:14.5px;color:var(--muted);line-height:1.85;margin-bottom:14px}
.archive-desc p{margin:0 0 .8em}
.subcats{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.subcats a{display:block;border:1px solid var(--line);padding:3px 12px;font-size:13.5px;color:var(--ink);text-decoration:none}
.subcats a:hover{border-color:var(--ink)}
.search-again{margin:0 0 24px;max-width:480px}
.list{list-style:none;margin:0 0 30px;padding:0;border-top:1px solid var(--line)}
.list li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
@media (min-width:640px){.list li{grid-template-columns:200px minmax(0,1fr);gap:18px}}
.list-thumb{text-decoration:none;display:block}
.list-thumb .thumb{font-size:12.5px}
.list h3{font-size:16.5px;line-height:1.6;margin:2px 0 6px;font-weight:800}
.list h3 a{color:var(--ink);text-decoration:none}
.list h3 a:hover{color:var(--accent);text-decoration:underline}
.list p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.list .meta{margin:0 0 2px;font-size:12px;gap:4px 12px}
@media (max-width:639px){.list p{display:none}.list h3{font-size:15px}}
.hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 28px;margin-bottom:24px}
.hub>div,.hub>section{padding:10px 0 14px;border-top:1px solid var(--line)}
.hub h2,.hub h3{font-size:15px;font-weight:800;margin:0 0 6px;padding:0;border:0;background:none}
.hub h2::after{display:none}
.hub h2 a,.hub h3 a{color:var(--ink);text-decoration:none}
.hub ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.95}
.hub a{color:var(--ink);text-decoration:none}
.hub a:hover{color:var(--accent);text-decoration:underline}
.hub-full{margin-top:30px}

/* ページ送り */
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 44px}
.page-numbers{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700;font-size:14px}
.page-numbers.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}
a.page-numbers:hover{border-color:var(--ink)}
.page-numbers.dots{border:0}

/* コメント */
.comments{margin:0 0 44px;max-width:740px}
.comment-list{list-style:none;margin:0 0 30px;padding:0}
.comment-list .children{list-style:none;padding-left:24px}
.comment-body{padding:14px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.comment-author img{border-radius:0;vertical-align:middle;margin-right:8px}
.comment-meta{font-size:12.5px;color:var(--muted)}
.comment-form p{margin:0 0 12px}
.comment-form label{display:block;font-size:13.5px;font-weight:700}
.comment-form textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%}
.comment-form .submit{padding:10px 22px;border:0;background:var(--ink);color:var(--bg);font-weight:800;cursor:pointer;border-radius:0}

/* ---------- フッター ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--surface);font-size:13px;color:var(--muted)}
.site-footer .in{max-width:1160px;margin:0 auto;padding:28px 20px 34px}
.f-nav ul{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.f-nav a{color:var(--ink);text-decoration:none}
.f-nav a:hover{text-decoration:underline}
.site-footer p{margin:0 0 6px;line-height:1.8}
.site-footer .copy{margin-top:12px}

/* ---------- スマホ ---------- */
@media (max-width:719px){
  body{font-size:15.5px}
  .hd{padding-top:14px;align-items:center}
  .brand-name{font-size:24px}
  .brand-tag{font-size:11.5px}
  .hd-tools{margin-bottom:0;align-self:flex-start}
  .hd-search{display:none}
  .search-toggle{display:inline-grid}
  .gnav{margin-top:10px}
  .gnav a{padding:9px 13px 10px;font-size:13.5px}
  .wrap{padding-top:20px;gap:44px}
  .product{padding:14px}
  .p-img{aspect-ratio:16/10}
  .r-row{grid-template-columns:7.2em minmax(0,1fr) 2.4em;font-size:13.5px;gap:8px}
  .entry h2{margin-top:48px}
  .entry .alignleft,.entry .alignright{float:none;margin:0 0 16px}
}

@media print{
  .site-header .hd-tools,.gnav,.sidebar,.share,.toc-float,.related,.comments{display:none!important}
  .wrap{display:block}
}

/* ブロックウィジェット */
.widget .wp-block-heading,.widget h2:not(.widget-title){font-size:15px;font-weight:800;margin:0 0 12px;padding-bottom:7px;border-bottom:2px solid var(--ink);line-height:1.5}
.widget .wp-block-search__label{display:block;font-weight:800;margin-bottom:6px}
.widget .wp-block-search__inside-wrapper{display:flex}
.widget .wp-block-search__input{flex:1;min-width:0;border:1px solid var(--line);border-right:0;padding:7px 10px;background:var(--bg);color:var(--ink);border-radius:0}
.widget .wp-block-search__button{margin:0;border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:7px 14px;border-radius:0;white-space:nowrap;font-size:14px}
.widget .wp-block-group{margin:0}

/* ==========================================================================
   v1.1 追加・修正
   ========================================================================== */

/* パンくず：スマホでは現在ページ（＝記事タイトル）を省略 */
@media (max-width:719px){.crumbs li[aria-current]{display:none}.crumbs:has(li:first-child:nth-last-child(2)){display:none}}

/* リンク集：子カテゴリは2列、記事タイトルは1列で2行まで */
.widget .linkset ul,.main .linkset ul{display:block;margin:0 0 10px;font-size:13.5px}
.widget .linkset li,.main .linkset li{border:0;padding:0}
.linkset ul.hub-cats{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.linkset ul.hub-cats a{display:block;padding:4px 0}
.linkset ul.hub-posts li+li,.hub ul.hub-posts li+li{border-top:1px dashed var(--line)}
.linkset ul.hub-posts a,.hub ul.hub-posts a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:7px 0;line-height:1.6}
.hub ul.hub-posts{line-height:1.6}
.hub-more{display:inline-block;margin:2px 0 12px;font-size:12.5px;font-weight:700;color:var(--accent)!important}
.hub-more::after{content:" ＞"}
.hub ul.hub-cats{display:flex;flex-wrap:wrap;gap:0 16px}

/* 人気記事：サムネイル付き */
.widget .pop li{grid-template-columns:22px 1fr}
.pop a{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.pop .pop-img{width:72px;height:48px;object-fit:cover;display:block;border:1px solid var(--line)}
.pop a span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.55}

/* トップの最新記事（画像つき） */
.hero.has-img{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media (min-width:760px){.hero.has-img{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px;align-items:center}}
.hero-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--surface)}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.hero.has-img h2{font-size:clamp(20px,2.4vw,25px)}
.hero.has-img p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* シェア */
.share{display:block;margin:0 0 34px}
.share-h{margin:0 0 8px;font-size:13.5px;font-weight:800}
.share-btns{display:flex;flex-wrap:wrap;gap:8px}
.share-btns a,.share-btns button{font-size:13.5px;font-weight:700;padding:8px 14px;border:1px solid var(--ink);background:var(--bg);color:var(--ink);text-decoration:none;cursor:pointer;border-radius:0;line-height:1.5}
.share-btns a:hover,.share-btns button:hover{background:var(--ink);color:var(--bg)}
.share-btns [hidden]{display:none}
.share.is-compact{margin:-14px 0 24px}
.share.is-compact .share-btns{gap:6px}
.share.is-compact .share-btns a,.share.is-compact .share-btns button{font-size:12px;padding:4px 10px;border-color:var(--line)}
@media (max-width:719px){.share.is-compact .s-threads,.share.is-compact .s-copy{display:none}}

/* サイドバーの追従目次（PCのみ） */
.side-toc{display:none}
@media (min-width:1024px){
  .sidebar{display:flex;flex-direction:column}
  .side-toc:not([hidden]){display:block;position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px);max-height:calc(100vh - 32px);overflow:auto;margin-top:8px;padding-bottom:8px}
  .side-toc ol{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:1.6}
  .side-toc ol ol{padding-left:1em;font-size:13px}
  .side-toc a{display:block;padding:5px 0 5px 10px;border-left:2px solid var(--line);color:var(--muted);text-decoration:none}
  .side-toc a:hover{color:var(--ink)}
  .side-toc a[aria-current]{border-left-color:var(--accent);color:var(--ink);font-weight:700}
}

/* HTMLサイトマップ */
.html-sitemap{max-width:740px}
.sm-cat{margin:0 0 24px}
.sm-cat h2{font-size:18px;font-weight:800;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--ink)}
.sm-cat h3{font-size:15.5px;font-weight:800;margin:14px 0 6px;padding-left:10px;border-left:4px solid var(--accent)}
.sm-cat ul{margin:0 0 6px;padding-left:1.3em;font-size:14.5px;line-height:1.8}
.sm-cat a{color:var(--ink)}
.sm-cat a:hover{color:var(--accent)}
.sm-depth-1{margin-left:4px}

/* 自動広告などがレイアウトからはみ出さないように */
.google-auto-placed{max-width:1160px;margin-left:auto!important;margin-right:auto!important}
.entry ins.adsbygoogle{margin:20px auto}

/* 本文中の画像リンク（中央寄せの商品画像など） */
.entry p>a:only-child>img:only-child{display:block;margin:0 auto}
.has-indent .entry>p:has(>a:only-child>img){text-align:center}
