/* urupo.net 共通の見た目（2026-10-27・第1版）
   決まり：白地・文字5段・飾りの線は全周か面だけ・オレンジは押す所だけ・緑は差し色
   スマホは iPhone 14（390px）を基準に作る。PCは本文720px＋左に目次 */

:root{
  --bg:#ffffff;
  --soft:#f7f6f4;
  --line:#e2ddd7;
  --text:#2f2b27;
  --muted:#7a736b;
  --accent:#e4690e;
  --accent-ink:#a8490a;
  --accent-soft:#fdf0e6;
  --ok:#1f8a4c;
  --ok-soft:#eaf6ef;
  --mark:#fff2a8;
  --fs-title:28px;   /* h1 */
  --fs-head:24px;    /* h2 */
  --fs-h3:20px;      /* h3 */
  --fs-body:18px;    /* 本文 */
  --fs-small:15px;   /* 補足・札・パンくず */
  --radius:8px;
  --gutter:16px;
  --content:720px;
  --toc:260px;
}
@media (min-width:1024px){
  :root{
    --fs-title:36px;
    --fs-head:28px;
    --fs-h3:22px;
    --fs-body:19px;
    --fs-small:16px;
    --gutter:24px;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-size:var(--fs-body);
  line-height:1.85;
  overflow-x:hidden;
  font-feature-settings:"palt";
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{
  margin:0;
  line-height:1.45;
  font-weight:700;
  word-break:keep-all;          /* 文節の途中で折らない。折る位置は <wbr> で指定 */
  overflow-wrap:anywhere;        /* それでも入らない時だけ最後の手段で折る */
  text-wrap:balance;
}
p{margin:0 0 1.2em}
p,li,dd,.summary li,.card .ttl{text-wrap:pretty}   /* 最後の行に1〜2文字だけ残さない */
ul,ol{margin:0 0 1.2em;padding-left:1.4em}
li{margin:.25em 0}
table{border-collapse:collapse;width:100%}
button{font:inherit}
small,.small{font-size:var(--fs-small)}
.muted{color:var(--muted)}

/* ---------- 進み具合の帯 ---------- */
.progress{
  position:fixed;top:0;left:0;height:3px;width:0;
  background:var(--accent);z-index:100;
  transition:width .1s linear;
}

/* ---------- ヘッダー ---------- */
.site-header{
  position:sticky;top:0;z-index:90;
  background:var(--bg);
  border-bottom:1px solid var(--line);
}
.site-header .bar{
  max-width:1200px;margin:0 auto;padding:0 var(--gutter);
  height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.logo{
  font-size:24px;font-weight:900;letter-spacing:.02em;text-decoration:none;
  color:var(--text);line-height:1;display:flex;align-items:baseline;gap:8px;
}
.logo .mark{color:var(--accent)}
.logo .tag{font-size:13px;font-weight:400;color:var(--muted);letter-spacing:0}
.site-nav{
  display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  margin:0;padding:0 var(--gutter) 8px;list-style:none;
}
.site-nav::-webkit-scrollbar{display:none}
.site-nav li{flex:0 0 auto}
.site-nav a{
  display:inline-block;padding:6px 12px;border-radius:999px;
  font-size:var(--fs-small);font-weight:700;text-decoration:none;
  background:var(--soft);color:var(--text);white-space:nowrap;
}
.site-nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent-ink)}
@media (min-width:1024px){
  .site-header .bar{height:64px}
  .site-nav{justify-content:center;padding-bottom:10px}
  .site-nav a{padding:7px 14px}
}

/* ---------- 枠組み ---------- */
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
.page{max-width:1200px;margin:0 auto;padding:0 var(--gutter)}
@media (min-width:1024px){
  .page.has-toc{
    display:grid;
    grid-template-columns:var(--toc) minmax(0,var(--content));
    column-gap:48px;
    justify-content:center;
  }
  .page.has-toc > .toc-wrap{grid-column:1;grid-row:1 / span 3}
  .page.has-toc > .article-head{grid-column:2;grid-row:1}
  .page.has-toc > .article-body{grid-column:2;grid-row:2}
  .page.has-toc > .article-foot{grid-column:2;grid-row:3}
}

/* ---------- パンくず ---------- */
.crumbs{
  list-style:none;margin:12px 0 8px;padding:0;
  display:flex;flex-wrap:wrap;gap:4px 0;
  font-size:var(--fs-small);color:var(--muted);
}
.crumbs li{display:flex;align-items:center}
.crumbs li + li::before{content:"›";margin:0 8px;color:var(--line)}
.crumbs a{text-decoration:none;color:var(--muted)}
.crumbs a:hover{color:var(--text)}
.crumbs [aria-current]{color:var(--text)}

/* ---------- 記事の頭 ---------- */
.article-head{padding-top:4px}
.article-head .cat{
  display:inline-block;font-size:var(--fs-small);font-weight:700;
  color:var(--accent-ink);background:var(--accent-soft);
  padding:2px 10px;border-radius:4px;text-decoration:none;margin-bottom:10px;
}
.article-head h1{font-size:var(--fs-title);line-height:1.4;margin:0 0 12px}
.meta{
  display:flex;flex-wrap:wrap;gap:6px 18px;
  font-size:var(--fs-small);color:var(--muted);margin-bottom:18px;
}
.meta b{font-weight:700;color:var(--text)}

/* 要約の箱 */
.summary{
  background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 18px 10px;margin:0 0 22px;
}
.summary .ttl{font-size:var(--fs-small);font-weight:700;color:var(--muted);margin:0 0 8px;letter-spacing:.04em}
.summary ul{list-style:none;margin:0;padding:0}
.summary li{
  position:relative;padding-left:30px;margin:0 0 8px;font-weight:700;line-height:1.7;
}
.summary li::before{
  content:"✓";position:absolute;left:0;top:0;
  width:22px;height:22px;border-radius:50%;margin-top:4px;
  background:var(--ok);color:#fff;font-size:14px;line-height:22px;text-align:center;font-weight:900;
}

/* アイキャッチ */
.eyecatch{
  aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius);
  background:var(--soft);border:1px solid var(--line);margin:0 0 24px;
}
.eyecatch img{width:100%;height:100%;object-fit:cover}

/* ---------- 目次 ---------- */
.toc{
  border:1px solid var(--line);border-radius:var(--radius);
  background:var(--bg);margin:0 0 28px;
}
.toc summary{
  cursor:pointer;list-style:none;padding:14px 18px;
  font-weight:700;display:flex;align-items:center;justify-content:space-between;
}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"開く";font-size:var(--fs-small);color:var(--muted);font-weight:400}
.toc[open] summary::after{content:"閉じる"}
.toc ol{margin:0;padding:0 18px 14px 18px;list-style:none;counter-reset:toc}
.toc li{counter-increment:toc;margin:0;border-top:1px solid var(--line)}
.toc li a{
  display:flex;gap:10px;padding:10px 0;text-decoration:none;
  font-size:var(--fs-small);line-height:1.6;color:var(--text);
}
.toc li a::before{content:counter(toc,decimal-leading-zero);color:var(--muted);font-weight:700;flex:0 0 auto}
.toc li a.is-active{color:var(--accent-ink);font-weight:700}
@media (min-width:1024px){
  .toc-wrap{position:sticky;top:120px;align-self:start}
  .toc summary{pointer-events:none;padding:0 0 10px;font-size:var(--fs-small);color:var(--muted);letter-spacing:.04em}
  .toc summary::after,.toc[open] summary::after{content:none}
  .toc{border:0;margin:0}
  .toc ol{padding:0}
  .toc li{border-top:0;border-left:2px solid var(--line)}
  .toc li a{padding:7px 0 7px 14px}
  .toc li a::before{content:none}
  .toc li:has(a.is-active){border-left-color:var(--accent)}
  .toc-wrap .pillar-back{margin-top:22px}
}

/* ---------- 本文 ---------- */
.article-body{max-width:var(--content)}
.article-body h2{
  font-size:var(--fs-head);margin:48px 0 18px;padding:0 0 10px;
  border-bottom:1px solid var(--line);
  display:flex;gap:12px;align-items:flex-start;
}
.article-body h2 .num{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;margin-top:3px;
  background:var(--text);color:#fff;font-size:16px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
}
.article-body h3{font-size:var(--fs-h3);margin:34px 0 12px}
.article-body h4{font-size:var(--fs-body);margin:24px 0 8px}
.article-body p{margin:0 0 1.3em}
.article-body figure{margin:0 0 28px}
.article-body figure img{border-radius:var(--radius);border:1px solid var(--line);width:100%}
.article-body figcaption{font-size:var(--fs-small);color:var(--muted);margin-top:8px;text-align:center}
.article-body a:not([class]){color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.mk{
  font-weight:700;
  background:linear-gradient(transparent 55%,var(--mark) 55%);
}

/* ポイントの箱（全周の線） */
.note{
  border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;margin:0 0 24px;background:var(--soft);
}
.note .ttl{display:block;font-size:var(--fs-small);font-weight:700;color:var(--accent-ink);margin-bottom:4px;letter-spacing:.04em}
.note p:last-child{margin-bottom:0}

/* 表 */
.tbl-wrap{overflow-x:auto;margin:0 0 28px;-webkit-overflow-scrolling:touch}
.tbl{min-width:100%;font-size:var(--fs-small);line-height:1.6}
.tbl th,.tbl td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.tbl thead th{background:var(--text);color:#fff;font-weight:700;white-space:nowrap}
.tbl tbody th{background:var(--soft);font-weight:700;white-space:nowrap}
.tbl td.c{text-align:center}
.tbl .pick{background:var(--accent-soft)}

/* 手順・見極めのカード */
.steps{list-style:none;margin:0 0 28px;padding:0;counter-reset:step;display:grid;gap:12px}
.steps li{
  counter-increment:step;position:relative;
  border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px 16px 64px;
}
.steps li::before{
  content:counter(step);position:absolute;left:18px;top:16px;
  width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;
  font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;
}
.steps li b{display:block;font-size:var(--fs-body);margin-bottom:4px}
.steps li span{display:block;font-size:var(--fs-small);color:var(--muted);line-height:1.7}

/* 本文中の関連リンク */
.inlink{
  display:flex;align-items:center;gap:12px;
  border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 16px;margin:0 0 24px;text-decoration:none;
  font-size:var(--fs-small);background:var(--bg);
}
.inlink .lbl{flex:0 0 auto;font-weight:700;color:var(--muted);font-size:13px;letter-spacing:.04em}
.inlink .t{font-weight:700;line-height:1.5}
.inlink::after{content:"›";margin-left:auto;color:var(--muted);font-size:20px}

/* よくある質問 */
.faq{margin:0 0 28px}
.faq details{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--bg)}
.faq summary{
  cursor:pointer;list-style:none;padding:14px 16px 14px 56px;position:relative;
  font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{
  content:"Q";position:absolute;left:16px;top:14px;
  width:28px;height:28px;border-radius:50%;background:var(--text);color:#fff;
  font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.faq .a{padding:0 16px 16px 56px;position:relative;font-size:var(--fs-body)}
.faq .a::before{
  content:"A";position:absolute;left:16px;top:0;
  width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;
  font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
.faq .a p:last-child{margin-bottom:0}

/* ---------- ボタン ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:10px 22px;border-radius:6px;
  font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;
  border:1px solid transparent;line-height:1.3;text-align:center;
  word-break:keep-all;
}
.btn-main{background:var(--accent);color:#fff}
.btn-main:hover{background:#cf5e0c}
.btn-sub{background:var(--soft);color:var(--text);border-color:#cbc3b9;border-bottom-width:2px}
.btn-sub:hover{background:#efebe6}
.btn-block{width:100%}

/* ---------- CTAカード（店の案内・無料査定・宅配） ---------- */
.cta{
  border:1px solid var(--line);border-radius:var(--radius);
  background:var(--bg);margin:0 0 32px;overflow:hidden;position:relative;
}
.cta.is-main{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.cta .pr{
  position:absolute;top:10px;left:10px;z-index:1;
  font-size:12px;font-weight:700;letter-spacing:.08em;
  background:var(--text);color:#fff;padding:3px 8px;border-radius:4px;
}
.cta .visual{aspect-ratio:16/9;background:var(--soft);overflow:hidden}
.cta .visual img{width:100%;height:100%;object-fit:cover}
.cta .body{padding:18px 18px 20px}
.cta:not(:has(.visual)) .body{padding-top:44px}   /* 写真なしの時はPRの札と重ねない */
.cta .kicker{font-size:var(--fs-small);color:var(--accent-ink);font-weight:700;margin:0 0 4px}
.cta h3,.cta .ttl{font-size:var(--fs-h3);font-weight:700;margin:0 0 8px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.cta p{font-size:var(--fs-small);color:var(--muted);margin:0 0 14px;line-height:1.7}
.cta .chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.cta .chips li{font-size:13px;font-weight:700;background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:2px 8px}
.cta .btns{display:grid;gap:8px}
.cta .foot{font-size:13px;color:var(--muted);margin:10px 0 0}
@media (min-width:640px){
  .cta.is-row{display:grid;grid-template-columns:40% 1fr}
  .cta.is-row .visual{aspect-ratio:auto;height:100%}
  .cta .btns{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
}

/* 2つ並べるCTA（主＋副） */
.cta-pair{display:grid;gap:14px;margin:0 0 32px}
.cta-pair .cta{margin:0}
@media (min-width:768px){.cta-pair{grid-template-columns:1fr 1fr}}

/* ---------- 店舗カード ---------- */
.store{
  border:1px solid var(--line);border-radius:var(--radius);
  margin:0 0 16px;overflow:hidden;position:relative;background:var(--bg);
}
.store.is-pr{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.store .pr{
  position:absolute;top:10px;left:10px;z-index:1;
  font-size:12px;font-weight:700;letter-spacing:.08em;
  background:var(--text);color:#fff;padding:3px 8px;border-radius:4px;
}
.store .visual{aspect-ratio:16/9;background:var(--soft);overflow:hidden}
.store .visual img{width:100%;height:100%;object-fit:cover}
.store .body{padding:16px 18px 18px}
.store.is-pr:not(:has(.visual)) .body{padding-top:44px}
.store h3,.store .name{font-size:var(--fs-h3);margin:0 0 10px;word-break:keep-all;overflow-wrap:anywhere}
.store dl{
  display:grid;grid-template-columns:auto 1fr;gap:6px 14px;
  margin:0 0 14px;font-size:var(--fs-small);line-height:1.6;
}
.store dt{font-weight:700;color:var(--muted);white-space:nowrap}
.store dd{margin:0}
.store .items{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.store .items li{font-size:13px;font-weight:700;background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:2px 8px}
.store .btns{display:grid;gap:8px}
.store .src{font-size:13px;color:var(--muted);margin:10px 0 0}
@media (min-width:640px){
  .store .btns{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
}
.store-list{margin:0 0 32px}
.store-list .lead{font-size:var(--fs-small);color:var(--muted);margin:0 0 14px}

/* ---------- 記事カード（関連・一覧・人気・新着） ---------- */
.cards{display:grid;gap:14px;margin:0 0 32px;padding:0;list-style:none}
@media (min-width:640px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cards.col3{grid-template-columns:repeat(3,1fr)}}
.card{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--bg);display:flex;flex-direction:column;
}
.card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}
.card .thumb{aspect-ratio:16/9;background:var(--soft);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .cat{font-size:13px;font-weight:700;color:var(--accent-ink)}
.card .ttl{font-size:var(--fs-body);font-weight:700;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.card .desc{font-size:var(--fs-small);color:var(--muted);line-height:1.6}
.card .date{font-size:13px;color:var(--muted);margin-top:auto}
/* 横長の小さいカード（新着など） */
.cards.rows{grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.cards.rows .card{border:0;border-radius:0;border-top:1px solid var(--line)}
.cards.rows .card:first-child{border-top:0}
.cards.rows .card a{flex-direction:row;align-items:center;gap:12px;padding:10px 14px}
.cards.rows .thumb{flex:0 0 96px;aspect-ratio:4/3;border-radius:4px}
.cards.rows .body{padding:0}
.cards.rows .ttl{font-size:var(--fs-small)}

/* 区切りの見出し（トップ・一覧） */
.sec{margin:40px 0 0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px}
.sec-head h2{font-size:var(--fs-head)}
.sec-head a{font-size:var(--fs-small);color:var(--muted);text-decoration:none;white-space:nowrap}
.sec-head a:hover{color:var(--text)}

/* 柱へ戻る道 */
.pillar-back{
  display:flex;align-items:center;gap:12px;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--soft);
  padding:12px 16px;margin:0 0 28px;text-decoration:none;font-size:var(--fs-small);
}
.pillar-back .lbl{font-weight:700;color:var(--muted);font-size:13px;flex:0 0 auto}
.pillar-back .t{font-weight:700}
.pillar-back::before{content:"‹";font-size:22px;color:var(--muted)}

/* 著者の箱 */
.author{
  display:flex;gap:16px;align-items:flex-start;
  border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:0 0 32px;
}
.author .av{
  flex:0 0 56px;width:56px;height:56px;border-radius:50%;
  background:var(--text);color:#fff;font-weight:900;font-size:22px;
  display:flex;align-items:center;justify-content:center;
}
.author .av .mark{color:var(--accent)}
.author .name{font-weight:700;margin:0 0 4px}
.author p{font-size:var(--fs-small);color:var(--muted);margin:0;line-height:1.7}

/* ---------- カテゴリーの入口（トップ） ---------- */
.hero{
  padding:28px 0 8px;max-width:var(--content);
}
.hero h1{font-size:var(--fs-title);line-height:1.4;margin:0 0 10px}
.hero p{color:var(--muted);margin:0 0 20px}
.cat-grid{display:grid;gap:10px;margin:0 0 8px;padding:0;list-style:none;grid-template-columns:repeat(2,1fr)}

.cat-grid a{
  display:flex;flex-direction:column;gap:4px;
  border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px;
  text-decoration:none;background:var(--bg);min-height:84px;
}
.cat-grid a:hover{background:var(--soft)}
.cat-grid .ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:4px}
.cat-grid a:hover .ico{background:#fbe3cf}
.cat-grid .n{font-weight:700;font-size:var(--fs-small);line-height:1.4;word-break:keep-all}
.cat-grid .c{font-size:13px;color:var(--muted)}

/* カテゴリー一覧の頭 */
.cat-head{padding:8px 0 4px;max-width:var(--content)}
.cat-head h1{font-size:var(--fs-title);margin:0 0 10px}
.cat-head p{color:var(--muted);margin:0 0 16px}
.pillars{display:grid;gap:10px;margin:0 0 8px;padding:0;list-style:none}
@media (min-width:768px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillars a{
  display:block;border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;text-decoration:none;background:var(--soft);
}
.pillars a:hover{background:#efebe6}
.pillars .lbl{display:block;font-size:13px;font-weight:700;color:var(--accent-ink);margin-bottom:2px}
.pillars .t{display:block;font-weight:700;font-size:var(--fs-small);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}

/* ---------- フッター ---------- */
.site-footer{
  margin-top:64px;border-top:1px solid var(--line);background:var(--soft);
  padding:32px 0 120px;font-size:var(--fs-small);color:var(--muted);
}
.site-footer .cols{display:grid;gap:24px}
@media (min-width:768px){.site-footer .cols{grid-template-columns:1.2fr 1fr 1fr}}
.site-footer .logo{margin-bottom:8px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 6px}
.site-footer a{text-decoration:none;color:var(--muted)}
.site-footer a:hover{color:var(--text)}
.site-footer .ttl{font-weight:700;color:var(--text);margin:0 0 8px}
.site-footer .copy{margin-top:24px;font-size:13px}
@media (min-width:1024px){.site-footer{padding-bottom:48px}}

/* ---------- 固定の入口（スマホは下の帯・PCは右下） ---------- */
.float-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:95;
  background:rgba(255,255,255,.96);border-top:1px solid var(--line);
  padding:10px var(--gutter);
  padding-bottom:calc(10px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:12px;
  transform:translateY(110%);transition:transform .25s;
}
.float-cta.is-on{transform:none}
.float-cta .t{font-size:13px;line-height:1.4;color:var(--muted);flex:1;min-width:0}
.float-cta .t b{display:block;color:var(--text);font-size:var(--fs-small)}
.float-cta .pr{font-size:11px;font-weight:700;letter-spacing:.08em;background:var(--text);color:#fff;padding:1px 6px;border-radius:3px;margin-right:6px;vertical-align:1px}
.float-cta .btn{flex:0 0 auto;min-height:44px;padding:8px 18px}
@media (min-width:1024px){
  .float-cta{
    left:auto;right:24px;bottom:24px;width:320px;
    border:1px solid var(--line);border-radius:var(--radius);
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    flex-direction:column;align-items:stretch;padding:14px 16px;
  }
  .float-cta .btn{width:100%}
}

/* ---------- 画面の読みやすさの補助 ---------- */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* カテゴリーの入口：PCは絵を左・文字を右（2026-10-28） */
@media (min-width:768px){
  .cat-grid{grid-template-columns:repeat(3,1fr)}
  .cat-grid a{text-align:left;justify-items:start;display:grid;grid-template-columns:40px 1fr;column-gap:12px;row-gap:2px;align-items:center;min-height:72px}
  .cat-grid .ico{grid-row:span 2;margin-bottom:0}
}
@media (min-width:1100px){.cat-grid{grid-template-columns:repeat(4,1fr)}}
