:root{
  --orange:#EF8200; --orange-d:#D97300; --yellow:#FFC800; --yellow-l:#FFF6DE;
  --ink:#2A2522; --muted:#736B65; --line:#E8E0D6; --warm:#FBF7F1; --accent:#E5006D; --pr:#9A928C;
}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--warm);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;
  line-height:1.8;font-size:15px;-webkit-font-smoothing:antialiased}
a{color:var(--orange-d);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ---- header ---- */
header.site{background:#fff;border-bottom:1px solid var(--line)}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 20px}
.logo img{width:320px}
.head-cta{display:flex;gap:10px;align-items:center;flex-shrink:0}
.btn{display:inline-block;background:var(--orange);color:#fff;font-weight:700;font-size:14px;
  padding:11px 22px;border-radius:6px;box-shadow:0 2px 0 var(--orange-d);text-align:center}
.btn.ghost{background:#fff;color:var(--orange-d);border:2px solid var(--orange);box-shadow:none;padding:9px 20px}
nav.gnav{background:var(--yellow-l);border-bottom:1px solid var(--line)}
nav.gnav ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;max-width:1120px}
nav.gnav li{flex:1 1 auto}
nav.gnav a{display:block;padding:13px 16px;font-size:13.5px;text-align:center;color:var(--ink);
  border-right:1px solid rgba(0,0,0,.06);line-height:1.45}
nav.gnav li:first-child a{border-left:1px solid rgba(0,0,0,.06)}
nav.gnav a:hover{background:#fff}

.hero{background:var(--warm);border-bottom:1px solid var(--line);padding:40px 0 38px}
.hero-grid{display:grid;grid-template-columns:1fr 366px;gap:36px;align-items:center}
.hero h1{font-size:29px;line-height:1.55;margin:0 0 14px;letter-spacing:.005em}
.hero h1 em{font-style:normal;color:var(--orange-d);font-size:1.38em;font-weight:800;letter-spacing:-.01em;
  background:linear-gradient(transparent 58%, var(--yellow) 58%);padding:0 3px;line-height:1}
.hero p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.85}
.hero .meta{margin-top:16px;font-size:12px;color:#8C837C}
.hero-visual{position:relative}
.hero-visual .ph{border-radius:16px;overflow:hidden;height:222px;box-shadow:0 10px 26px rgba(0,0,0,.16);background:#DDD}
.hero-visual .ph img{width:100%;height:100%;object-fit:cover}
.hero-visual .badge{position:absolute;left:-16px;bottom:-16px;background:#fff;border-radius:14px;
  padding:11px 18px;box-shadow:0 6px 18px rgba(0,0,0,.14);text-align:center;border:2px solid var(--orange)}
.hero-visual .badge b{display:block;font-size:26px;font-weight:800;color:var(--orange-d);line-height:1.15}
.hero-visual .badge b span{font-size:14px;margin-left:1px}
.hero-visual .badge i{font-style:normal;font-size:11px;color:var(--muted)}
.hero-visual .rib{position:absolute;right:-10px;top:-12px;z-index:2;background:var(--yellow);color:var(--ink);
  font-size:11.5px;font-weight:800;padding:5px 14px;border-radius:99px;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.cols{display:grid;grid-template-columns:1fr 320px;gap:36px;padding:34px 20px 60px;align-items:start}
.cols>main,.cols>aside{min-width:0}
.scroller{max-width:100%}
section{margin-bottom:46px}
h2.sec{font-size:21px;margin:0 0 6px;padding-left:14px;border-left:6px solid var(--orange);line-height:1.4}
h2.sec .sub{display:block;font-size:12px;color:var(--muted);font-weight:400;letter-spacing:.06em;margin-top:2px}
.lead{color:var(--muted);font-size:14px;margin:14px 0 22px}
.prbadge{display:inline-block;background:var(--pr);color:#fff;font-size:10.5px;font-weight:700;
  padding:1px 7px;border-radius:3px;letter-spacing:.08em;vertical-align:2px}

/* ---- top3 ---- */
.top3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.co3{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.co3.lead-card{border:2px solid var(--orange);box-shadow:0 8px 22px rgba(239,130,0,.16)}
.ribbon{background:var(--warm);color:var(--muted);font-size:11.5px;font-weight:700;
  text-align:center;padding:6px 0;letter-spacing:.06em;border-bottom:1px solid var(--line)}
.co3.lead-card .ribbon{background:var(--orange);color:#fff;border-bottom:none}
.shot{position:relative;background:#EFEAE3;border-bottom:1px solid var(--line)}
.shot img{width:100%;height:auto}
.shot .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(0,0,0,.62));
  color:#fff;font-size:10px;padding:14px 9px 5px;line-height:1.4}
.co3 .head{padding:13px 16px 10px;text-align:center;border-bottom:1px dashed var(--line)}
.co3 .nm{font-size:17px;font-weight:800;margin-bottom:2px;line-height:1.35}
.co3 .nm .paren{display:block;font-size:.72em;font-weight:700;color:var(--muted);margin-top:2px;letter-spacing:.01em}
.kpi{align-items:flex-start}
.kpi .k{padding-top:3px}
.kpi .v .u{font-size:13px;font-weight:700;margin-left:1px}
.kpi .v .pre{font-style:normal;font-size:11.5px;font-weight:700;color:var(--muted);margin-right:3px;vertical-align:2px}
.kpi .v.txt{font-size:12.5px;font-weight:700;text-align:right;line-height:1.55;max-width:63%}
.kpi .v.dx{font-size:24px;line-height:1.1}
.dtparen{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:1px}
.co3 .tag{font-size:11.5px;color:var(--muted)}
.kpis{padding:12px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.kpi{display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  border-bottom:1px dotted var(--line);padding-bottom:7px}
.kpi:last-child{border-bottom:none}
.kpi .k{font-size:12px;color:var(--muted);white-space:nowrap}
.kpi .v{font-size:20px;font-weight:800}
.co3.lead-card .kpi .v{color:var(--accent)}
.kpi .v.small{font-size:13px;font-weight:600}
.kpi .v.na{font-size:12.5px;font-weight:500;color:#B4ABA3}
sup.fn{font-size:9px;color:var(--muted);font-weight:500;margin-left:2px}
.co3 .foot{padding:0 16px 16px}
.btn-w{display:block;text-align:center;background:var(--orange);color:#fff;font-weight:700;font-size:14px;
  padding:12px 6px;border-radius:7px;box-shadow:0 2px 0 var(--orange-d)}
.btn-w.sub{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none;font-weight:600}

/* ---- detail table (fixed left edge) ---- */
.tbl-note{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:26px 0 10px;flex-wrap:wrap}
.tbl-note h3{margin:0;font-size:16px}
.tbl-note span{font-size:11.5px;color:var(--muted)}
.tblbox{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.dt{width:100%;min-width:880px;border-collapse:collapse;font-size:13px}
table.dt th,table.dt td{border-left:4px solid transparent}
table.dt thead th{background:var(--ink);color:#fff;font-weight:600;font-size:12px;padding:11px 10px;
  text-align:center;white-space:nowrap;border-left:1px solid rgba(255,255,255,.12)}
table.dt thead th:first-child{text-align:left;background:var(--ink);border-left:4px solid var(--ink);padding-left:12px}
table.dt tbody th{text-align:left;font-weight:700;font-size:13.5px;padding:13px 12px;
  border-bottom:1px solid var(--line);background:var(--warm);line-height:1.45;
  min-width:132px;border-left:4px solid var(--warm)}
table.dt tbody td{text-align:center;padding:13px 10px;border-bottom:1px solid var(--line);
  border-left:1px dotted var(--line)}
table.dt tbody tr.hl th{background:var(--yellow-l);border-left:4px solid var(--orange)}
table.dt tbody tr.hl td{background:#FFFCF3}
table.dt tbody tr:last-child th,table.dt tbody tr:last-child td{border-bottom:none}
table.dt .n{font-weight:800;font-size:15px}
table.dt tr.hl .n{color:var(--accent)}
table.dt .na{color:#B4ABA3;font-size:12px}
.srclist{background:var(--warm);border-top:1px solid var(--line);padding:11px 15px;font-size:10.5px;color:var(--muted);line-height:1.9}
.srclist b{color:var(--ink)}

.points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.point{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 18px}
.point .n{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;
  align-items:center;justify-content:center;font-weight:800;font-size:14px;margin-bottom:10px}
.point h3{margin:0 0 6px;font-size:15.5px;line-height:1.5}
.point p{margin:0;font-size:13px;color:var(--muted)}

.co-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.co-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;gap:14px}
.co-card .ic{flex:0 0 44px;height:44px;border-radius:8px;background:var(--yellow-l);
  display:flex;align-items:center;justify-content:center;font-size:18px}
.co-card h3{margin:0 0 3px;font-size:15px}
.co-card p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}
.more{text-align:center;margin-top:20px}

.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.art{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  transition:box-shadow .2s}
.art:hover{box-shadow:0 6px 16px rgba(0,0,0,.08)}
.art .thumb{position:relative;overflow:hidden;aspect-ratio:16/9;background:#EFEAE3}
.art .thumb img{width:100%;height:100%;object-fit:cover}
.art .body{padding:12px 14px 14px}
.art .cat{display:inline-block;background:var(--orange);color:#fff;font-size:10.5px;padding:2px 8px;border-radius:3px;margin-bottom:7px}
.art h3{margin:0 0 6px;font-size:14px;line-height:1.55}
.art time{font-size:11px;color:var(--muted)}

/* ---- sidebar : separated mini cards ---- */
.side-h{background:var(--ink);color:#fff;font-size:13.5px;padding:11px 15px;font-weight:700;
  border-radius:10px 10px 0 0;display:flex;justify-content:space-between;align-items:center;gap:8px}
.side-h .prbadge{background:rgba(255,255,255,.22)}
.mini-wrap{background:#EFE8DE;padding:12px;border-radius:0 0 10px 10px;margin-bottom:20px;
  display:flex;flex-direction:column;gap:12px}
.mini{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  box-shadow:0 1px 4px rgba(0,0,0,.07)}
.mini.top{border:2px solid var(--orange);box-shadow:0 4px 14px rgba(239,130,0,.2)}
.mini .lab{font-size:11px;font-weight:800;letter-spacing:.05em;padding:5px 12px;color:#fff;background:var(--pr)}
.mini.top .lab{background:var(--orange)}
.mini .th{position:relative;border-bottom:1px solid var(--line)}
.mini .th img{width:100%;height:auto}
.mini .in{padding:11px 13px 13px}
.mini .nm{font-weight:800;font-size:15px;margin-bottom:5px;line-height:1.4}
.mini .kv{font-size:11.5px;color:var(--muted);line-height:1.75;margin-bottom:9px}
.mini .kv b{color:var(--accent);font-size:13.5px}
.mini .btn-w{font-size:13px;padding:9px 6px}

aside .card{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;overflow:hidden}
aside .card h3{margin:0;background:var(--ink);color:#fff;font-size:13.5px;padding:11px 15px;font-weight:700}
.list{padding:6px 0}
.list a{display:block;padding:9px 15px;font-size:13px;color:var(--ink);border-bottom:1px dashed var(--line)}
.list a:last-child{border-bottom:none}
.list a:before{content:"▶";color:var(--orange);font-size:9px;margin-right:7px;vertical-align:2px}
.list a:hover{background:var(--warm)}

/* ---- photo banner (fixed overlap) ---- */
.pbanner{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  box-shadow:0 2px 10px rgba(0,0,0,.08);background:#0F1622}
.pbanner .ph{position:relative;height:150px;overflow:hidden}
.pbanner .ph img{width:100%;height:100%;object-fit:cover}
.pbanner .ph:after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,22,34,0) 30%,rgba(15,22,34,.55) 78%,#12serial 100%)}
.pbanner .ph:after{background:linear-gradient(180deg,rgba(15,22,34,0) 30%,rgba(15,22,34,.5) 78%,rgba(16,23,35,1) 100%)}
.pbanner .tagline{position:absolute;top:11px;left:11px;z-index:2;background:rgba(255,255,255,.94);
  color:var(--ink);font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:99px;
  box-shadow:0 1px 4px rgba(0,0,0,.25)}
.pbanner .prtag{position:absolute;top:11px;right:11px;z-index:2;background:var(--pr);color:#fff;
  font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:3px;letter-spacing:.08em;
  box-shadow:0 1px 4px rgba(0,0,0,.25)}
.pbanner .txt{background:#101723;padding:2px 18px 18px;color:#fff;text-align:center;margin-top:-1px}
.pbanner .s{font-size:11.5px;letter-spacing:.04em;opacity:.85}
.pbanner .m{font-size:19px;font-weight:800;line-height:1.5;margin:4px 0 12px}
.pbanner .m em{font-style:normal;color:var(--yellow)}
.pbanner .btn-w{font-size:13.5px;padding:11px 6px}

footer.site{background:var(--ink);color:#CFC7C0;padding:34px 0 24px;font-size:13px}
footer.site .fw{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer.site img{width:230px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:12px}
footer.site a{color:#CFC7C0}
footer.site h4{color:#fff;font-size:13px;margin:0 0 10px}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:6px;font-size:12.5px}
.copy{text-align:center;font-size:11.5px;color:#8A827C;margin-top:26px;padding-top:16px;border-top:1px solid #453E39}
.copy .fine{display:block;font-size:11px;color:#7C746E;margin-bottom:5px}

/* ================= RESPONSIVE ================= */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero-visual{max-width:520px;margin:0 auto}
  .cols{grid-template-columns:1fr;gap:0;padding:26px 20px 50px}
  .top3{grid-template-columns:1fr;gap:14px}
  .points{grid-template-columns:1fr}
  .co-grid{grid-template-columns:1fr}
  .arts{grid-template-columns:1fr 1fr}
  aside{margin-top:10px}
  .mini-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  .pbanner{max-width:520px;margin:0 auto}
  footer.site .fw{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  body{font-size:14.5px}
  .wrap{padding:0 14px}
  .head-inner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 14px}
  .logo img{width:250px;margin:0 auto}
  .head-cta{justify-content:stretch}
  .head-cta .btn{flex:1;font-size:13px;padding:10px 8px}
  nav.gnav ul{flex-wrap:wrap}
  nav.gnav li{flex:1 1 50%}
  nav.gnav a{font-size:12.5px;padding:11px 8px;border-bottom:1px solid rgba(0,0,0,.06)}
  nav.gnav li:first-child a{border-left:none}
  .hero{padding:26px 0 22px}
  .hero{padding:28px 0 30px}
  .hero h1{font-size:21px;line-height:1.6}
  .hero h1 em{font-size:1.42em}
  .hero p{font-size:13.5px}
  .hero-grid{gap:26px}
  .hero-visual{max-width:none;margin:0 6px 0 0}
  .hero-visual .ph{height:170px;border-radius:13px}
  .hero-visual .badge{left:auto;right:-6px;bottom:-14px;padding:9px 15px}
  .hero-visual .badge b{font-size:22px}
  h2.sec{font-size:18px;border-left-width:5px;padding-left:11px}
  section{margin-bottom:36px}
  .lead{font-size:13.5px}
  .kpi .v{font-size:18px}
  .tbl-note{margin:20px 0 8px}
  .tbl-note h3{font-size:15px}
  .tbl-note span{color:var(--orange-d);font-weight:700}
  table.dt{min-width:820px;font-size:12.5px}
  .arts{grid-template-columns:1fr}
  .art{display:flex;align-items:stretch}
  .art .thumb{flex:0 0 122px;aspect-ratio:auto}
  .art .body{padding:11px 13px}
  .art h3{font-size:13.5px}
  .mini-wrap{grid-template-columns:1fr}
  .pbanner .ph{height:130px}
  footer.site .fw{grid-template-columns:1fr;gap:22px}
  footer.site img{width:200px}
  .co3 .foot .btn-w,.mini .btn-w{padding:13px 6px}
}


/* ============================================================
   以下、テーマ用の追加スタイル（モックには無かったページ用）
   ============================================================ */

/* --- 汎用 --- */
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:10px;top:10px;z-index:999;background:#fff;padding:10px 16px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.alignwide{max-width:none}
.entry-content img,.entry-content iframe{max-width:100%;height:auto}

/* --- パンくず --- */
.breadcrumb{background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.breadcrumb .wrap{padding:9px 20px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--orange-d)}
.breadcrumb .sep{color:#C4BBB2;font-size:10px}

/* --- 下層ページ見出し --- */
.pagehead{background:var(--warm);border-bottom:1px solid var(--line);padding:30px 0 26px}
.pagehead h1{margin:0;font-size:26px;line-height:1.5}
.pagehead p{margin:8px 0 0;color:var(--muted);font-size:13.5px}
.pagehead .meta{margin-top:12px;font-size:12px;color:#8C837C}

/* --- 記事本文 --- */
.entry{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 32px 34px}
.entry-title{font-size:25px;line-height:1.5;margin:0 0 10px}
.entry-meta{font-size:12px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;align-items:center;
  padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:22px}
.entry-meta .cat{background:var(--orange);color:#fff;padding:2px 9px;border-radius:3px;font-size:10.5px;font-weight:700}
.entry-thumb{border-radius:10px;overflow:hidden;margin-bottom:22px}
.entry-content{font-size:15.5px;line-height:1.95}
.entry-content>*:first-child{margin-top:0}
.entry-content h2{font-size:20px;margin:34px 0 14px;padding:9px 0 9px 14px;border-left:6px solid var(--orange);
  background:var(--yellow-l);border-radius:0 6px 6px 0;line-height:1.5}
.entry-content h3{font-size:17px;margin:28px 0 12px;padding-bottom:7px;border-bottom:2px dotted var(--line);line-height:1.5}
.entry-content h4{font-size:15.5px;margin:22px 0 10px;color:var(--orange-d)}
.entry-content p{margin:0 0 1.4em}
.entry-content ul,.entry-content ol{margin:0 0 1.4em;padding-left:1.5em}
.entry-content li{margin-bottom:.5em}
.entry-content blockquote{margin:0 0 1.4em;padding:14px 18px;background:var(--warm);
  border-left:4px solid var(--line);border-radius:0 8px 8px 0;color:#5C544E;font-size:14.5px}
.entry-content table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:14px}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:9px 11px}
.entry-content th{background:var(--warm)}
.entry-content a{text-decoration:underline}
.entry-content figure{margin:0 0 1.4em}
.entry-content figcaption{font-size:12px;color:var(--muted);margin-top:6px}

/* 目次 */
.toc{background:#fff;border:2px solid var(--line);border-radius:12px;padding:18px 22px;margin:0 0 26px}
.toc h2{margin:0 0 10px;font-size:15px;display:flex;align-items:center;gap:8px;
  padding:0;background:none;border:none}
.toc h2:before{content:"";width:4px;height:15px;background:var(--orange);border-radius:2px}
.toc ol{margin:0;padding-left:1.3em;font-size:13.5px;line-height:1.9}
.toc a{color:var(--ink)}
.toc a:hover{color:var(--orange-d)}

/* --- 記事一覧（アーカイブ） --- */
.arch-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}

/* --- ページネーション --- */
.pager{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:30px}
.pager .page-numbers{display:inline-flex;min-width:40px;height:40px;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--line);border-radius:7px;font-size:14px;font-weight:700;color:var(--ink);padding:0 12px}
.pager .page-numbers.current{background:var(--orange);border-color:var(--orange);color:#fff}
.pager .page-numbers:hover:not(.current){background:var(--yellow-l)}

/* --- 会社一覧ページ --- */
.co-index{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:22px}
.co-index .gh{background:var(--ink);color:#fff;font-size:14px;font-weight:700;padding:10px 16px}
.co-index .row{display:grid;grid-template-columns:1fr 148px 148px;gap:12px;align-items:center;
  padding:14px 16px;border-bottom:1px solid var(--line)}
.co-index .row:last-child{border-bottom:none}
.co-index .row:hover{background:var(--warm)}
.co-index .nm{font-weight:700;font-size:15px}
.co-index .ct{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.6}
.co-index .num{text-align:right;font-size:13px}
.co-index .num b{font-size:16px;font-weight:800;color:var(--orange-d)}
.co-index .num i{font-style:normal;display:block;font-size:10.5px;color:var(--muted)}
.co-index .num b{white-space:nowrap}
.asof{display:block;font-style:normal;font-weight:400;font-size:10.5px;color:var(--muted);
  line-height:1.5;margin-top:2px;letter-spacing:0}
.idx-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.idx-nav a{background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px 13px;
  font-size:13px;font-weight:700;color:var(--ink)}
.idx-nav a:hover{background:var(--orange);border-color:var(--orange);color:#fff}

/* --- 会社個別ページ --- */
.co-hero{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:24px}
.co-hero .ph img{width:100%;height:auto}
.co-hero .in{padding:22px 26px 24px}
.co-hero h1{margin:0 0 4px;font-size:24px;line-height:1.45}
.co-hero h1 .paren{display:block;font-size:.62em;font-weight:700;color:var(--muted);margin-top:3px}
.co-hero .ct{color:var(--muted);font-size:13.5px;margin:0 0 16px}
.co-spec{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:18px}
.co-spec th,.co-spec td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;vertical-align:top}
.co-spec th{width:172px;background:var(--warm);font-size:13px;color:var(--muted);font-weight:700;
  border-left:4px solid var(--warm);padding-left:14px}
.co-spec .n{font-weight:800;font-size:17px;color:var(--orange-d)}
.co-spec .na{color:#B4ABA3;font-size:13px}
.co-hero.is-pr .co-spec tr:first-child th{border-left-color:var(--orange)}
.co-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.co-cta .btn{flex:0 0 auto}
.co-note{font-size:11px;color:var(--muted);line-height:1.8;margin:14px 0 0;
  background:var(--warm);border-radius:8px;padding:10px 14px}
.co-body{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 30px 30px;margin-bottom:24px}

/* --- 記事下の3社カード --- */
.after-post{margin-top:34px}
.after-post .side-h{border-radius:10px 10px 0 0}
.after-post .mini-wrap{display:grid;grid-template-columns:repeat(3,1fr)}

/* --- 404 / 検索 --- */
.simple-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:34px 30px;text-align:center}
.simple-box h1{margin:0 0 10px;font-size:23px}
.simple-box p{color:var(--muted);font-size:14px;margin:0 0 20px}
.searchform{display:flex;gap:8px;max-width:460px;margin:0 auto}
.searchform input[type=search]{flex:1;border:1px solid var(--line);border-radius:7px;padding:11px 14px;font-size:14px;
  font-family:inherit;background:#fff}
.searchform button{background:var(--orange);color:#fff;border:none;border-radius:7px;padding:11px 20px;
  font-weight:700;font-size:14px;cursor:pointer;font-family:inherit;box-shadow:0 2px 0 var(--orange-d)}

/* --- レスポンシブ追記 --- */
@media(max-width:980px){
  .after-post .mini-wrap{grid-template-columns:repeat(3,1fr)}
  .arch-list{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .entry{padding:22px 18px 26px;border-radius:10px}
  .entry-title{font-size:20px}
  .entry-content{font-size:15px}
  .entry-content h2{font-size:17.5px;margin:28px 0 12px}
  .entry-content h3{font-size:16px}
  .pagehead{padding:22px 0 20px}
  .pagehead h1{font-size:20px}
  .co-hero .in{padding:18px 16px 20px}
  .co-hero h1{font-size:20px}
  .co-body{padding:20px 17px 24px}
  .co-spec th{width:118px;font-size:12px;padding-left:11px}
  .co-spec td{font-size:13.5px}
  .co-index .row{grid-template-columns:1fr;gap:6px}
  .co-index .num{text-align:left}
  .co-index .num i{display:inline;margin-left:5px}
  .co-index .num .asof{display:inline;margin-left:5px}
  .after-post .mini-wrap{grid-template-columns:1fr}
  .arch-list{grid-template-columns:1fr}
  .toc{padding:15px 17px}
}


/* --- テーマ側でリンク化した要素の調整 --- */
.txtlogo{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:.02em}
.logo .custom-logo-link img,.logo img{width:320px;height:auto}
footer.site .custom-logo-link img{width:230px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:12px}
a.co-card{color:inherit;transition:box-shadow .2s,border-color .2s}
a.co-card:hover{border-color:var(--orange);box-shadow:0 4px 14px rgba(239,130,0,.14)}
a.co-card h3{color:var(--ink)}
.co-index a.row{color:inherit;text-decoration:none}
.art .thumb{display:block}
.art h3 a{color:var(--ink)}
.art:hover h3 a{color:var(--orange-d)}
.art .thumb:empty{background:repeating-linear-gradient(45deg,#EFEAE3 0 8px,#E6DFD6 8px 16px)}
nav.gnav ul li a{white-space:normal}
.lead p:last-child{margin-bottom:0}
.side-h + .mini-wrap{margin-top:0}
@media(max-width:680px){
  .logo .custom-logo-link img,.logo img{width:250px;margin:0 auto}
  footer.site .custom-logo-link img{width:200px}
}

/* フッター用ロゴ（白抜き画像を指定した場合はフィルタをかけない） */
footer.site .footer-logo{display:inline-block;margin-bottom:12px}
footer.site .footer-logo img{width:230px;height:auto;filter:none;opacity:1;margin-bottom:0}
@media(max-width:680px){ footer.site .footer-logo img{width:200px} }

/* ============================================================
   ロゴのサイズ指定（権威ある定義・最後に置く）
   the_custom_logo() が出力する img には WordPress が height 属性を付けるため、
   height:auto を必ず併記しないと縦に引き伸ばされます。
   ============================================================ */
.logo img,
.logo .custom-logo,
.logo .custom-logo-link img{
  width:320px;
  max-width:100%;
  height:auto;
  display:block;
}
footer.site .fw img,
footer.site .custom-logo,
footer.site .custom-logo-link img,
footer.site .footer-logo img{
  width:230px;
  max-width:100%;
  height:auto;
  display:block;
  margin-bottom:12px;
}
/* ヘッダーのロゴを流用する場合のみ白反転。専用ロゴを指定した場合はそのまま */
footer.site .custom-logo,
footer.site .custom-logo-link img{
  filter:brightness(0) invert(1);
  opacity:.92;
}
footer.site .footer-logo img{
  filter:none;
  opacity:1;
}
@media(max-width:680px){
  .logo img,.logo .custom-logo,.logo .custom-logo-link img{width:250px;margin:0 auto}
  footer.site .fw img,footer.site .custom-logo,
  footer.site .custom-logo-link img,footer.site .footer-logo img{width:200px}
}

/* 記事のアイキャッチ */
.entry-thumb img{width:100%;height:auto;display:block}

/* 本文下の自動ブロック */
.after-post .after-points{margin-bottom:30px}
.after-post .after-points h2.sec{margin-bottom:16px}
.after-post .after-top3 .side-h{border-radius:10px 10px 0 0}
.after-post .after-top3 .mini-wrap{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:0}
@media(max-width:680px){
  .after-post .after-top3 .mini-wrap{grid-template-columns:1fr}
  .after-post .after-points{margin-bottom:24px}
}

/* スマホ専用の要素（PCでは非表示） */
.sp-only{display:none}
@media(max-width:680px){
  /* サイドバーを隠す（バナーは本文下の sp-only で出す） */
  body.spmc-hide-side .cols>aside{display:none}
  body.spmc-hide-side .cols{padding-bottom:44px}
  .sp-only{display:block}
  .pbanner.sp-only{margin-top:26px}
  main .pbanner.sp-only{max-width:520px;margin-left:auto;margin-right:auto}
}

/* アーカイブ上部の説明文（カテゴリーの「説明」欄） */
.arch-intro{background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:24px 28px;margin-bottom:24px;font-size:15px;line-height:1.95}
.arch-intro>*:first-child{margin-top:0}
.arch-intro>*:last-child{margin-bottom:0}
.arch-intro p{margin:0 0 1.2em}
.arch-intro h2{font-size:18px;margin:24px 0 12px;padding:8px 0 8px 12px;
  border-left:5px solid var(--orange);background:var(--yellow-l);border-radius:0 6px 6px 0;line-height:1.5}
.arch-intro h3{font-size:16px;margin:20px 0 10px;padding-bottom:6px;border-bottom:2px dotted var(--line)}
.arch-intro ul,.arch-intro ol{margin:0 0 1.2em;padding-left:1.5em}
.arch-intro li{margin-bottom:.4em}
.arch-intro a{text-decoration:underline}
.arch-intro img{border-radius:8px;margin:0 0 1.2em}
@media(max-width:680px){
  .arch-intro{padding:18px 17px;border-radius:10px;font-size:14.5px}
  .arch-intro h2{font-size:16.5px}
}

/* ============================================================
   管理会社ページ：詳細セクション
   ============================================================ */
.co-sec{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 30px 28px;margin-bottom:22px}
.co-sec>h2{margin:0 0 18px;font-size:20px;line-height:1.5;padding-left:13px;border-left:6px solid var(--orange)}
.co-sec .entry-content{font-size:15px}

/* 特徴・強み */
.feat{padding:20px 0;border-bottom:1px dashed var(--line)}
.feat:first-of-type{padding-top:0}
.feat:last-child{padding-bottom:0;border-bottom:none}
.feat h3{display:flex;align-items:flex-start;gap:11px;margin:0 0 10px;font-size:17px;line-height:1.55}
.feat h3 .no{flex:0 0 26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;
  font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
.feat-body{color:#4C4540;font-size:14.5px;line-height:1.95}
.feat-body p{margin:0 0 1em}
.feat-body p:last-child{margin-bottom:0}

/* 主な業務内容 */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.svc{background:var(--warm);border:1px solid var(--line);border-radius:10px;padding:16px 18px 18px}
.svc h3{margin:0 0 10px;font-size:14.5px;color:var(--orange-d);padding-bottom:8px;
  border-bottom:2px solid var(--yellow);display:inline-block}
.svc ul{margin:0;padding-left:1.15em;font-size:13.5px;line-height:1.85}
.svc li{margin-bottom:6px}
.svc li::marker{color:var(--orange)}

/* 口コミ */
.rv-note{font-size:12.5px;color:var(--muted);line-height:1.8;margin:0 0 16px;
  background:var(--warm);border-radius:8px;padding:11px 15px}
.rv-list{display:flex;flex-direction:column;gap:14px}
.rv{margin:0;border:1px solid var(--line);border-radius:10px;padding:15px 18px 16px;background:#fff}
.rv-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.rv .stars{color:#F5A623;font-size:15px;letter-spacing:1px}
.rv .who{font-size:12.5px;color:var(--muted);font-weight:700}
.rv .who time{font-weight:400;margin-left:8px}
.rv blockquote{margin:0;padding:0 0 0 14px;border-left:3px solid var(--yellow);
  font-size:14.5px;line-height:1.9;color:#3D3833;background:none;border-radius:0}
.rv-src{font-size:11.5px;color:var(--muted);margin:14px 0 0;text-align:right}
.rv-src a{text-decoration:underline}

/* 会社情報 */
table.co-info{width:100%;border-collapse:collapse;font-size:14.5px}
table.co-info th,table.co-info td{border-bottom:1px solid var(--line);padding:13px 12px;text-align:left;vertical-align:top}
table.co-info tr:last-child th,table.co-info tr:last-child td{border-bottom:none}
table.co-info th{width:150px;background:var(--warm);color:var(--muted);font-size:13px;font-weight:700;
  border-left:4px solid var(--warm);padding-left:14px}
table.co-info td a{text-decoration:underline}

@media(max-width:680px){
  .co-sec{padding:20px 17px 22px;border-radius:10px}
  .co-sec>h2{font-size:17.5px;border-left-width:5px;padding-left:11px;margin-bottom:14px}
  .feat h3{font-size:15.5px;gap:9px}
  .feat-body{font-size:14px}
  .svc-grid{grid-template-columns:1fr}
  .rv blockquote{font-size:14px}
  table.co-info th{width:96px;font-size:12px;padding-left:11px}
  table.co-info td{font-size:14px}
}

/* ============================================================
   3社カードから各社ページへの内部リンク
   ============================================================ */
a.shot{display:block;color:inherit}
a.shot img{transition:opacity .2s}
a.shot:hover img{opacity:.86}
.co3 .nm a{color:inherit}
.co3 .nm a:hover{color:var(--orange-d)}
.detail-link{display:block;text-align:center;margin-top:10px;font-size:12.5px;font-weight:700;
  color:var(--orange-d);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(217,115,0,.4)}
.detail-link:hover{color:var(--orange);text-decoration-color:var(--orange)}

.mini a.th{display:block}
.mini a.th img{transition:opacity .2s}
.mini a.th:hover img{opacity:.86}
.mini .nm a{color:inherit}
.mini .nm a:hover{color:var(--orange-d)}
.mini .detail-link{margin-top:8px;font-size:12px}

table.dt tbody th a{color:inherit;text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:var(--line)}
table.dt tbody th a:hover{color:var(--orange-d);text-decoration-color:var(--orange)}
