@charset "UTF-8";
/* =========================================================
   ちゅーぼーシミュレーター ／ 開業準備ガイド共通スタイル
   index.html のデザインシステムを踏襲しています。
   2カラム（本文＋サイドバー）＋グローバルナビ構成。
   ========================================================= */
:root{
  color-scheme: light;
  --bg:#f4f2ea;
  --paper:#fffefb;
  --ink:#191713;
  --sub:#4a463c;
  --steel:#5b6b74;
  --flame:#2f6f9e;
  --noren:#a8362a;
  --noren-dark:#7c2620;
  --line:#ded8c8;
  --ok:#3d6e4a;
  --price:#b8342a;

  /* レイアウト幅（ここだけ変えれば全体の幅が変わります） */
  --shell:1120px;   /* ヘッダー・ナビ・2カラム全体の最大幅 */
  --side:300px;     /* サイドバーの幅 */
  --gap:30px;       /* 本文とサイドバーの間隔 */
}
@media (prefers-color-scheme: dark){
  :root{
    color-scheme: light;
    --bg:#f4f2ea; --paper:#fffefb; --ink:#191713; --sub:#4a463c; --line:#ded8c8;
  }
}
*{box-sizing:border-box}
html{background:#f4f2ea;scroll-behavior:smooth}
body{
  margin:0;background:#f4f2ea;color:#191713;
  font-family:'Noto Sans JP',sans-serif;line-height:1.8;
  -webkit-text-fill-color:currentColor;forced-color-adjust:none;
}
.wrap{max-width:var(--shell);margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:'Shippori Mincho',serif;font-weight:800;letter-spacing:.02em;margin:0;color:var(--ink)}
p,li,label,span,div,small,dd,dt,th,td{color:inherit}
a{color:var(--flame)}
img{max-width:100%;height:auto}
:focus-visible{outline:3px solid var(--flame);outline-offset:2px}

/* ---- ヘッダー ---- */
header.top{border-bottom:1px solid var(--line);padding:14px 0;background:var(--paper)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-family:'Shippori Mincho',serif;font-weight:800;font-size:17px;color:var(--ink);letter-spacing:.01em;text-decoration:none}
.brand span{color:var(--noren)}
.brand small{display:block;font-family:'Noto Sans JP',sans-serif;font-weight:400;font-size:10.5px;letter-spacing:.16em;color:var(--sub);margin-top:2px}
.top-cta{font-size:12px;font-weight:700;color:var(--noren);border:1px solid var(--noren);border-radius:4px;padding:6px 14px;text-decoration:none;white-space:nowrap}
.top-cta:hover{background:var(--noren);color:#fff;-webkit-text-fill-color:#fff}

/* ---- グローバルナビ ---- */
.gnav{background:var(--noren);border-bottom:3px solid var(--noren-dark)}
.gnav-inner{max-width:var(--shell);margin:0 auto;padding:0 8px}
.gnav ul{
  list-style:none;margin:0;padding:0;display:flex;justify-content:center;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.gnav ul::-webkit-scrollbar{display:none}
.gnav li{position:relative;flex:0 0 auto}
.gnav li + li::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  height:13px;width:1px;background:rgba(255,255,255,.28);
}
.gnav a{
  display:block;padding:13px 20px;font-size:13px;font-weight:500;letter-spacing:.05em;
  color:#fff;-webkit-text-fill-color:#fff;text-decoration:none;white-space:nowrap;
}
.gnav a:hover{background:var(--noren-dark)}
.gnav a[aria-current="page"]{background:var(--noren-dark);font-weight:700}
@media(max-width:900px){
  .gnav ul{justify-content:flex-start}
  .gnav a{padding:12px 15px;font-size:12.5px}
}

/* ---- パンくずバー ---- */
.crumb-bar{background:#eeebdf;border-bottom:1px solid var(--line)}
.crumb{font-size:11.5px;color:var(--sub);padding:9px 0;line-height:1.7}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.crumb li::after{content:"›";margin-left:6px;color:#b9b1a0}
.crumb li:last-child::after{content:""}
.crumb li:first-child::before{content:"⌂";margin-right:5px;color:var(--noren)}
.crumb a{color:var(--sub);text-decoration:none}
.crumb a:hover{color:var(--noren);text-decoration:underline}

/* ---- 2カラムの骨格 ---- */
.shell{
  display:grid;grid-template-columns:minmax(0,1fr) var(--side);
  gap:var(--gap);align-items:start;padding-top:24px;padding-bottom:8px;
}
.col-main{min-width:0}
.col-side{min-width:0}
@media(max-width:900px){
  .shell{grid-template-columns:1fr;gap:20px;padding-top:18px}
}

/* ---- 記事ヘッダー（本文カードの1枚目）---- */
main{padding:0 0 10px}
.post-head .eyebrow{
  display:inline-block;font-size:11px;letter-spacing:.14em;color:var(--noren);
  border:1px solid var(--noren);border-radius:2px;padding:2px 10px;margin:0 0 12px;
}
.post-head h1{font-size:27px;line-height:1.55;padding-bottom:14px;border-bottom:2px solid var(--noren)}
.post-head h1 em{font-style:normal;background:linear-gradient(transparent 68%,rgba(168,54,42,.18) 68%)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;color:var(--sub);margin:12px 0 0}
.post-meta time::before{content:"◷";margin-right:5px;color:var(--steel)}
.post-meta .pm-cat{color:var(--sub);text-decoration:none}
.post-meta .pm-cat::before{content:"◇";margin-right:5px;color:var(--steel)}
.post-meta .pm-cat:hover{color:var(--noren)}
.post-head .lead{font-size:14px;color:var(--sub);margin:16px 0 0;line-height:1.95}
.post-head .lead b{color:var(--ink)}
.art-meta{font-size:11.5px;color:var(--sub);margin-top:16px;padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:640px){ .post-head h1{font-size:21px} }

/* ---- シェアボタン ---- */
.share{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.share a,.share button{
  flex:1 1 0;min-width:92px;display:flex;align-items:center;justify-content:center;
  font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;
  padding:9px 8px;border:1px solid var(--line);border-radius:4px;
  background:var(--paper);color:var(--sub);text-decoration:none;cursor:pointer;
}
.share a:hover,.share button:hover{border-color:var(--noren);color:var(--noren);background:#faf8f1}
.share button.copied{border-color:var(--ok);color:var(--ok)}

/* ---- 本文カード ---- */
.card{background:var(--paper);border:1px solid var(--line);padding:28px 26px}
.card + .card{margin-top:18px}
@media(max-width:640px){ .card{padding:22px 18px} }
.card h2{font-size:21px;line-height:1.55;margin-bottom:10px}
.card h2 .h2-sub{display:block;font-family:'Noto Sans JP',sans-serif;font-size:12px;font-weight:400;color:var(--sub);letter-spacing:.02em;margin-bottom:4px}
.card h3{font-size:16px;margin:26px 0 8px}
.card h4{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;margin:18px 0 4px;color:var(--ink)}
.card p{font-size:13.5px;color:var(--sub);margin:0 0 4px;line-height:1.95}
.card p b{color:var(--ink)}
@media(max-width:640px){ .card h2{font-size:18px} }

/* ---- サイドバー ---- */
.side-box{background:var(--paper);border:1px solid var(--line);padding:16px 16px 18px}
.side-box + .side-box{margin-top:16px}
.side-box h2{
  font-size:15px;line-height:1.5;padding-bottom:7px;margin-bottom:2px;
  border-bottom:2px solid var(--noren);
}
.side-box .side-note{font-size:11.5px;color:var(--sub);line-height:1.75;margin:10px 0 0}

.side-search{display:flex;gap:6px;margin-top:12px}
.side-search input{
  flex:1;min-width:0;border:1px solid var(--line);background:#fff;color:var(--ink);
  padding:8px 10px;font-size:16px;font-family:inherit;border-radius:3px;line-height:1.4;
}
.side-search input:focus{border-color:var(--noren);outline:none}
.side-search button{
  border:1px solid var(--noren);background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  font-family:inherit;font-size:12px;font-weight:700;padding:0 14px;border-radius:3px;
  cursor:pointer;white-space:nowrap;
}
.side-search button:hover{background:var(--noren-dark);border-color:var(--noren-dark)}

.side-list{list-style:none;margin:8px 0 0;padding:0}
.side-list li{border-bottom:1px solid var(--line);position:relative}
.side-list li:last-child{border-bottom:none}
.side-list a{
  display:block;padding:10px 20px 10px 0;position:relative;
  font-size:12.5px;line-height:1.65;color:var(--ink);text-decoration:none;
}
.side-list a::after{content:"›";position:absolute;right:5px;top:50%;transform:translateY(-50%);color:#c3bbaa;font-size:15px}
.side-list a:hover{color:var(--noren)}
.side-list a:hover::after{color:var(--noren)}
.side-list a .sl-sub{display:block;font-size:11px;color:var(--sub);line-height:1.6;margin-top:1px}
.side-list li.is-current > a{color:var(--noren);font-weight:700}
.side-list li.is-current::before{content:"";position:absolute;left:-16px;top:0;bottom:0;width:3px;background:var(--noren)}

.tagcloud{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tagcloud a{
  font-size:11.5px;line-height:1.6;border:1px solid var(--line);border-radius:3px;
  padding:4px 9px;color:var(--sub);text-decoration:none;background:var(--bg);
}
.tagcloud a:hover{border-color:var(--noren);color:var(--noren);background:#faf8f1}

.side-cta{
  display:block;text-decoration:none;color:var(--ink);
  border:2px solid var(--noren);background:linear-gradient(180deg,#fffefb 0%,#fbf3f1 100%);
  padding:16px 16px 15px;
}
.side-box + .side-cta{margin-top:16px}
.side-cta + .side-box{margin-top:16px}
.side-cta .sd-eyebrow{font-size:10.5px;letter-spacing:.12em;color:var(--noren);font-weight:700}
.side-cta .sd-title{font-family:'Shippori Mincho',serif;font-weight:800;font-size:16px;line-height:1.6;margin:5px 0 7px;color:var(--ink)}
.side-cta .sd-lead{font-size:11.5px;color:var(--sub);line-height:1.8;margin:0 0 12px}
.side-cta .sd-btn{
  display:flex;align-items:center;justify-content:center;gap:7px;
  background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  font-family:'Shippori Mincho',serif;font-weight:800;font-size:14px;letter-spacing:.05em;padding:11px 12px;
}
.side-cta:hover{border-color:var(--noren-dark)}
.side-cta:hover .sd-btn{background:var(--noren-dark)}
.side-cta .sd-btn i{font-style:normal;transition:transform .18s ease;display:inline-block}
.side-cta:hover .sd-btn i{transform:translateX(4px)}

/* ---- 目次 ---- */
.toc{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:760px){.toc{grid-template-columns:1fr}}
.toc li{border-bottom:1px dashed var(--line)}
.toc a{display:block;padding:9px 4px 9px 22px;position:relative;font-size:13px;color:var(--ink);text-decoration:none;line-height:1.6}
.toc a::before{content:"▸";position:absolute;left:4px;color:var(--noren)}
.toc a:hover{background:#faf8f1}

/* ---- 表 ---- */
.ref-scroll{overflow-x:auto;margin-top:14px}
.ref-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:520px}
.ref-table th,.ref-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.7}
.ref-table thead th{font-size:11px;color:var(--sub);border-bottom:1px solid var(--ink);white-space:nowrap}
.ref-table small{font-size:11px;color:var(--sub)}
.ref-table tbody tr:nth-child(odd){background:#faf8f1}
.ref-table td b{color:var(--ink)}
.ref-table .num{text-align:right;white-space:nowrap}

/* ---- リスト ---- */
.checklist{list-style:none;padding:0;margin:12px 0 0;font-size:13.5px}
.checklist li{padding:9px 0;border-bottom:1px solid var(--line);padding-left:18px;position:relative;line-height:1.9}
.checklist li::before{content:"・";position:absolute;left:0;color:var(--noren)}
.checklist li b{color:var(--ink)}
ul.plain{font-size:13.5px;color:var(--sub);margin:10px 0 0;padding-left:1.1em;line-height:1.95}
ul.plain b{color:var(--ink)}
ol.plain{font-size:13.5px;color:var(--sub);margin:10px 0 0;padding-left:1.3em;line-height:1.95}
ol.plain b{color:var(--ink)}

/* ---- 補足ボックス ---- */
.src-note{font-size:11.5px;color:var(--sub);line-height:1.85;margin-top:12px;padding:11px 13px;background:#faf8f1;border:1px solid var(--line);border-radius:6px}
.src-note b{color:var(--ink)}
.tip{border:1px solid var(--line);border-left:3px solid var(--steel);background:var(--paper);border-radius:4px;padding:13px 15px;margin:16px 0 0}
.tip .tip-h{font-size:12px;font-weight:700;color:var(--steel);margin-bottom:4px}
.tip p{font-size:13px;color:var(--ink);margin:0;line-height:1.9}
.tip.warn{border-left-color:var(--price)}
.tip.warn .tip-h{color:var(--price)}
.tip.ok{border-left-color:var(--ok)}
.tip.ok .tip-h{color:var(--ok)}

/* ---- 2カラム（本文内）---- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
@media(max-width:760px){.duo{grid-template-columns:1fr}}
.duo-col{border:1px solid var(--line);border-radius:8px;background:var(--paper);overflow:hidden}
.duo-col .duo-head{padding:8px 12px;font-size:13px;font-weight:700;color:#fff;-webkit-text-fill-color:#fff}
.duo-col.go .duo-head{background:var(--ok)}
.duo-col.stop .duo-head{background:var(--price)}
.duo-col ul{list-style:none;margin:0;padding:10px 14px;font-size:13px;line-height:1.8}
.duo-col li{padding:5px 0 5px 14px;position:relative;color:var(--ink)}
.duo-col li::before{content:"—";position:absolute;left:0;color:var(--sub)}
.duo-col li i{display:block;font-style:normal;font-size:11.5px;color:var(--sub);line-height:1.65}

/* ---- 年表 ---- */
.tl{list-style:none;padding:0;margin:16px 0 0;border-left:2px solid var(--line)}
.tl li{position:relative;padding:0 0 20px 20px}
.tl li:last-child{padding-bottom:0}
.tl li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--noren)}
.tl .tl-when{font-family:'Shippori Mincho',serif;font-weight:800;font-size:14px;color:var(--noren);letter-spacing:.02em}
.tl .tl-what{font-size:13.5px;color:var(--ink);line-height:1.9;margin-top:3px}
.tl .tl-note{font-size:12px;color:var(--sub);line-height:1.8;margin-top:5px;padding-left:10px;border-left:2px solid var(--line)}

/* ---- 用語集 ---- */
.glossary{margin:14px 0 0;font-size:13.5px}
.glossary dt{font-weight:700;color:var(--ink);margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.glossary dt:first-of-type{border-top:none;margin-top:0;padding-top:0}
.glossary dt .yomi{font-weight:400;font-size:11.5px;color:var(--sub);margin-left:6px}
.glossary dd{margin:5px 0 0;color:var(--sub);line-height:1.95}
.glossary dd b{color:var(--ink)}

/* ---- レイアウト図 ---- */
.lay-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
@media(max-width:760px){.lay-grid{grid-template-columns:repeat(2,1fr)}}
.lay-card{border:1px solid var(--line);background:var(--paper);border-radius:8px;padding:10px}
.lay-card svg{width:100%;height:auto;display:block;color:var(--steel)}
.lay-card .lay-name{font-family:'Shippori Mincho',serif;font-weight:800;font-size:13px;margin-top:6px;color:var(--ink)}
.lay-card .lay-desc{font-size:11.5px;color:var(--sub);line-height:1.7;margin-top:2px}

/* ---- Q&A ---- */
.qa{margin-top:14px}
.qa details{border-bottom:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;padding:13px 0 13px 26px;position:relative;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.7}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q";position:absolute;left:0;top:13px;font-family:'Shippori Mincho',serif;font-weight:800;color:var(--noren)}
.qa summary:hover{background:#faf8f1}
.qa .a{font-size:13px;color:var(--sub);line-height:1.95;padding:0 0 14px 26px;position:relative;margin:0}
.qa .a::before{content:"A";position:absolute;left:0;top:0;font-family:'Shippori Mincho',serif;font-weight:800;color:var(--steel)}

/* ---- 診断ツールへのCTA ---- */
.sim-cta{
  display:block;text-decoration:none;color:var(--ink);
  border:1px solid var(--noren);background:linear-gradient(180deg,#fffefb 0%,#fbf3f1 100%);
  padding:20px 20px 18px;margin:18px 0 0;
}
.sim-cta:hover{border-color:var(--noren-dark);background:#fbf3f1}
.sim-cta .sc-eyebrow{font-size:11px;letter-spacing:.12em;color:var(--noren);font-weight:700}
.sim-cta .sc-title{font-family:'Shippori Mincho',serif;font-weight:800;font-size:18px;line-height:1.6;margin:6px 0 8px;color:var(--ink)}
.sim-cta .sc-lead{font-size:12.5px;color:var(--sub);line-height:1.85;margin:0 0 14px}
.sim-cta .sc-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  font-family:'Shippori Mincho',serif;font-weight:800;font-size:15px;letter-spacing:.06em;padding:13px 16px;
}
.sim-cta:hover .sc-btn{background:var(--noren-dark)}
.sim-cta .sc-btn i{font-style:normal;transition:transform .18s ease;display:inline-block}
.sim-cta:hover .sc-btn i{transform:translateX(5px)}
.sim-cta .sc-note{display:block;font-size:11.5px;color:var(--sub);text-align:center;margin-top:8px}

/* ---- 図面依頼サイトへのCTA（index.html の .plan-cta と同デザイン）---- */
.plan-cta{
  display:block;position:relative;overflow:hidden;text-decoration:none;color:var(--ink);
  border:2px solid var(--noren);
  background:
    repeating-linear-gradient(135deg,rgba(168,54,42,.04) 0 6px,transparent 6px 14px),
    linear-gradient(180deg,#fffefb 0%,#fbf3f1 100%);
  padding:24px 22px 20px;margin:18px 0 0;
}
.plan-cta:hover{border-color:var(--noren-dark)}
.plan-cta:focus-visible{outline:3px solid var(--flame);outline-offset:2px}
.pc-flag{position:absolute;top:0;right:0;background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;font-size:11px;letter-spacing:.1em;padding:3px 10px}
.pc-title{font-family:'Shippori Mincho',serif;font-weight:800;font-size:21px;line-height:1.55;color:var(--ink);margin-bottom:10px;padding-right:86px}
.pc-title em{font-style:normal;color:var(--noren);border-bottom:2px solid var(--noren)}
.pc-brand{font-size:12px;color:var(--sub);margin:0 0 10px;letter-spacing:.02em}
.pc-brand b{color:var(--noren);font-size:13px}
.pc-brand .kari{font-size:10.5px;color:var(--sub);border:1px solid var(--line);border-radius:2px;padding:0 5px;margin-left:5px;background:var(--bg)}
.pc-lead{font-size:13px;color:var(--sub);margin:0 0 14px;line-height:1.85}
.pc-lead b{color:var(--ink)}
.pc-list{list-style:none;padding:0;margin:0 0 18px;border-top:1px solid var(--line)}
.pc-list li{font-size:13px;color:var(--sub);padding:9px 0 9px 20px;position:relative;border-bottom:1px solid var(--line);line-height:1.75}
.pc-list li::before{content:"✓";position:absolute;left:0;color:var(--noren);font-weight:700}
.pc-list li b{color:var(--ink)}
.pc-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  font-family:'Shippori Mincho',serif;font-weight:800;font-size:17px;letter-spacing:.06em;padding:16px 18px;text-align:center;
}
.plan-cta:hover .pc-btn{background:var(--noren-dark)}
.pc-btn i{font-style:normal;transition:transform .18s ease;display:inline-block}
.plan-cta:hover .pc-btn i{transform:translateX(5px)}
.pc-note{display:block;font-size:12px;color:var(--sub);text-align:center;margin-top:10px}
@media(max-width:640px){ .pc-title{font-size:18px;padding-right:0;margin-top:20px} }

/* ---- 関連ページ ---- */
.rel-grid{list-style:none;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:760px){.rel-grid{grid-template-columns:1fr}}
.rel-grid a{
  display:block;border:1px solid var(--line);background:var(--paper);border-radius:6px;
  padding:12px 14px;text-decoration:none;height:100%;
}
.rel-grid a:hover{border-color:var(--noren);background:#faf8f1}
.rel-grid .r-name{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.6}
.rel-grid .r-desc{font-size:11.5px;color:var(--sub);line-height:1.7;margin-top:3px}
.guide-links{font-size:12.5px;color:var(--sub);line-height:2.1;margin-top:8px}

/* ---- ページ末の前後リンク ---- */
.pager{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
@media(max-width:640px){.pager{grid-template-columns:1fr}}
.pager a{
  display:block;border:1px solid var(--line);background:var(--paper);
  padding:12px 14px;text-decoration:none;
}
.pager a:hover{border-color:var(--noren);background:#faf8f1}
.pager .pg-dir{display:block;font-size:10.5px;letter-spacing:.12em;color:var(--noren);font-weight:700}
.pager .pg-name{display:block;font-size:13px;font-weight:700;color:var(--ink);line-height:1.6;margin-top:3px}
.pager .next{text-align:right}

/* ---- ページトップへ ---- */
.to-top{
  position:fixed;right:16px;bottom:16px;z-index:30;
  width:44px;height:44px;display:flex;align-items:center;justify-content:center;
  background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  border:none;border-radius:3px;cursor:pointer;font-size:17px;line-height:1;
  opacity:0;visibility:hidden;transition:opacity .2s ease;
}
.to-top.show{opacity:.9;visibility:visible}
.to-top:hover{opacity:1;background:var(--noren-dark)}

/* ---- フッター ---- */
footer{border-top:1px solid var(--line);padding:28px 0 34px;text-align:center;font-size:12px;color:var(--sub);background:var(--bg);margin-top:26px}
footer .f-nav{margin-bottom:10px;line-height:2}
footer .f-nav a{color:var(--sub);margin:0 7px}
.pr-badge{display:inline-block;font-size:10px;border:1px solid var(--line);border-radius:2px;padding:0 5px;margin-left:6px;color:var(--sub);vertical-align:middle}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{transition:none !important} }

/* ---- 著者ボックス（記事末の運営者プロフィール） ---- */
.author-box{text-align:center}
.author-box h2{margin-bottom:2px}
.author-box .ab-avatar{width:130px;height:130px;display:block;margin:16px auto 0}
.author-box .ab-name{
  font-family:'Shippori Mincho',serif;font-weight:800;font-size:19px;
  color:var(--ink);letter-spacing:.03em;margin:14px 0 0;line-height:1.5;
}
.author-box .ab-role{
  font-size:12px;font-weight:700;color:var(--noren);
  letter-spacing:.04em;margin:5px 0 0;
}
.author-box .ab-tags{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px;
  margin:12px 0 0;padding:0;list-style:none;
}
.author-box .ab-tags li{
  font-size:11px;line-height:1.9;color:var(--sub);background:var(--bg);
  border:1px solid var(--line);border-radius:2px;padding:1px 9px;
}
.author-box .ab-tags li::before{content:"認定 ";font-size:9.5px;letter-spacing:.08em;color:var(--noren)}
.author-box .ab-desc{
  font-size:13.5px;color:var(--sub);line-height:2;
  margin:15px auto 0;max-width:660px;text-align:left;
}
.author-box .ab-desc b{color:var(--ink)}
.author-box .ab-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  max-width:560px;margin:20px auto 0;padding:16px 20px;
  background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  font-family:'Shippori Mincho',serif;font-weight:800;font-size:15.5px;
  letter-spacing:.04em;text-decoration:none;border-radius:3px;
  transition:background .2s ease;
}
.author-box .ab-btn:hover{background:var(--noren-dark)}
.author-box .ab-btn i{font-style:normal;transition:transform .2s ease}
.author-box .ab-btn:hover i{transform:translateX(3px)}
@media(max-width:560px){
  .author-box .ab-avatar{width:106px;height:106px}
  .author-box .ab-name{font-size:17px}
  .author-box .ab-desc{font-size:13px;line-height:1.95}
  .author-box .ab-btn{font-size:14px;padding:14px 16px}
}

/* =========================================================
   コラム記事の共通パーツ（業態別ガイド・FAQで使用）
   ========================================================= */
.g-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:14px 0 6px;min-width:460px}
.g-table th,.g-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.7}
.g-table thead th{font-size:11px;color:var(--sub);border-bottom:1px solid var(--ink);white-space:nowrap}
.g-table tbody tr:nth-child(odd){background:#faf8f1}
.g-table .num{white-space:nowrap;text-align:right}
.g-table b{color:var(--ink)}
.tbl-note{font-size:11px;color:var(--sub);margin:4px 0 0;line-height:1.8}

.branch{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 6px}
.branch.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:760px){.branch,.branch.two{grid-template-columns:1fr}}
.br-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}
.br-head{background:var(--bg);border-bottom:1px solid var(--line);font-weight:700;font-size:13px;text-align:center;padding:8px;color:var(--ink)}
.br-card.hl .br-head{background:var(--noren);color:#fff;-webkit-text-fill-color:#fff}
.br-body{padding:10px 12px;font-size:12px;color:var(--sub);line-height:1.75}
.br-body .pt{display:block;font-family:'Shippori Mincho',serif;font-weight:800;font-size:16px;color:var(--noren);text-align:center;margin-bottom:6px}

.point-box{border:1px solid var(--line);border-left:3px solid var(--noren);background:#faf8f1;border-radius:4px;padding:13px 15px;font-size:13px;color:var(--sub);margin:16px 0 0;line-height:1.9}
.point-box b{color:var(--ink)}

/* ---- まとめ ---- */
.summary-box{border:1px solid var(--line);border-top:3px solid var(--noren);background:#faf8f1;padding:20px 22px;margin-top:16px}
.summary-box ul{list-style:none;margin:0;padding:0}
.summary-box li{position:relative;padding:9px 0 9px 26px;font-size:13.5px;color:var(--sub);line-height:1.9;border-bottom:1px solid var(--line)}
.summary-box li:last-child{border-bottom:none}
.summary-box li::before{
  content:counter(sm);counter-increment:sm;position:absolute;left:0;top:11px;
  width:18px;height:18px;border-radius:50%;background:var(--noren);color:#fff;-webkit-text-fill-color:#fff;
  font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;
}
.summary-box ul{counter-reset:sm}
.summary-box li b{color:var(--ink)}
.summary-close{font-size:13.5px;color:var(--sub);line-height:2;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.summary-close b{color:var(--ink)}
@media(max-width:640px){ .summary-box{padding:17px 15px} }

/* ---- FAQ ---- */
.faq-item{border-bottom:1px solid var(--line);padding:16px 0}
.faq-item:last-child{border-bottom:none;padding-bottom:0}
.faq-q{position:relative;padding-left:30px;font-size:14px;font-weight:700;color:var(--ink);line-height:1.75}
.faq-a{position:relative;padding-left:30px;font-size:13.5px;color:var(--sub);line-height:1.95;margin:8px 0 0}
.qmark,.amark{position:absolute;left:0;top:0;font-family:'Shippori Mincho',serif;font-weight:800;font-size:16px;line-height:1.6}
.qmark{color:var(--noren)}
.amark{color:var(--steel)}
.faq-a b{color:var(--ink)}
.back-cta{margin-top:18px}
.back-note{font-size:12px;color:var(--sub);line-height:1.85;margin-top:10px}
