/* 建設システムの総額ナビ。色は総額ナビ（car/portal）に合わせる。濃い地には白文字（コントラスト4.5以上） */
/* 建設の配色：鉄骨のスチール色（文字・ボタン・フッター）、コンクリートの帯、安全の橙（差し色はごく少量）、工事現場の黄色（飾りの線だけ。文字には使わない） */
:root{--ink:#1f2d35;--accent:#1f2d35;--accent-d:#141e24;--orange:#c2410c;--hazard:#f5b700;--text:#1f2d35;--muted:#56646c;--bg:#f3f1eb;--line:#e4e2dd;--pl:#f3f1eb;--green:#2f6b4c;--gl:#edf3ec;--amber:#8a4b0f;--al:#fbf1e2}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI',YuGothic,Meiryo,sans-serif;background:#fff;color:var(--text);line-height:1.8;font-size:16px;overflow-wrap:anywhere}
a{color:var(--ink)}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.hd{background:#fff;border-top:4px solid var(--hazard);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hd-in{max-width:1120px;margin:0 auto;padding:0 16px;height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{font-weight:900;font-size:18px;color:var(--text);text-decoration:none;white-space:nowrap}
.hnav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.hnav::-webkit-scrollbar{display:none}
.hnav a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.hnav .nn{font-size:12px;font-weight:400;color:var(--muted)}
.hnav a:hover{text-decoration:underline;text-underline-offset:6px}
.wrap{max-width:1080px;margin:0 auto;padding:16px 16px 48px}
.wrap.narrow{max-width:820px}
.crumbs{font-size:12px;color:var(--muted);margin:4px 0 16px}.crumbs a{color:var(--muted)}.crumbs .sep{margin:0 4px}
h1{font-size:28px;line-height:1.45;font-weight:900;margin:8px 0 12px}
h2{font-size:22px;line-height:1.5;font-weight:800;margin:0 0 14px;padding-left:12px;border-left:5px solid var(--orange)}
h3{font-size:17px;font-weight:800;margin:0 0 6px}
p{margin:0 0 12px}
.lead{font-size:16px;margin-bottom:12px}
.count,.note,.vendor,.meta{color:var(--muted);font-size:13px}
.upd{white-space:nowrap}
.sec{margin:36px 0}
.hero{background:var(--pl);border-bottom:1px solid var(--line);padding:48px 16px 40px}
.hero-in{max-width:1080px;margin:0 auto}
.hero h1{font-size:32px}.hero .hl{color:var(--accent-d)}
.hero p{max-width:720px}
.hero-cta{margin-top:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--ink);color:#fff;font-weight:800;text-decoration:none;border-radius:0;font-size:14px}
.btn:hover{background:var(--accent-d)}
.btn-lg{min-height:52px;padding:0 26px;font-size:16px}
.go{margin:18px 0}
.grp{margin:32px 0}.grp-en{font-size:11px;letter-spacing:.15em;color:var(--muted);font-weight:700;margin:0}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cat,.rcat{display:block;border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--text);background:#fff}
.cat:hover,.rcat:hover{border-color:var(--ink)}
.cat b,.rcat b{display:block;font-size:16px;color:var(--ink)}
.cat span,.rcat span{font-size:13px;color:var(--muted)}
.rcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:12px 0}
.pcard{border:1px solid var(--line);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:6px;background:#fff}
.pcard h3 a{color:var(--text);text-decoration:none}.pcard h3 a:hover{color:var(--accent)}
.pcard-copy{font-size:14px;margin:0}
.pcard-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:13px;margin:4px 0 8px}.pcard-dl dt{color:var(--muted)}
.pcard .btn{margin-top:auto;align-self:flex-start}
.bds{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 6px}
.bd{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:1px 8px;color:var(--muted);background:#fff}
.bd-free{background:var(--gl);border-color:#cfe1d2;color:var(--green);font-weight:700}
.tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 10px}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
thead th{background:var(--bg);white-space:nowrap}
table.total{min-width:640px}table.seats{min-width:520px}table.seats td{text-align:right;white-space:nowrap}table.total th[scope=row]{white-space:nowrap}
table.kv th{width:9em;background:var(--bg);white-space:nowrap}
.points{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.point{background:var(--bg);border-radius:8px;padding:14px 16px}.point p{font-size:14px;margin:0}
.pn{font-size:12px;font-weight:800;color:var(--accent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.box{border:1px solid var(--line);border-radius:8px;padding:14px 16px}.box p{margin:0;font-size:15px}
.box-good{background:var(--gl);border-color:#cfe1d2}.box-warn{background:var(--al);border-color:#eadcb3}
.feat{padding-left:1.3em}.feat li{margin:4px 0}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.stat{background:var(--pl);border-radius:8px;padding:12px 16px;min-width:200px}.stat b{display:block;font-size:24px;color:var(--accent-d)}.stat span{font-size:13px;color:var(--muted)}
.ccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.ccard{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;text-decoration:none;color:var(--text)}
.ccard:hover{border-color:var(--accent)}.ccard time{font-size:12px;color:var(--muted)}
.ctag{font-size:12px;color:var(--accent-d);font-weight:700}
.col h2{margin-top:36px}.col h3{margin-top:22px}.col ul,.col ol{padding-left:1.4em;margin:0 0 12px}.col li{margin:4px 0}
.toc{background:var(--bg);border-radius:8px;padding:14px 18px;margin:18px 0}.toc p{font-weight:800;margin-bottom:4px}.toc ol{padding-left:1.4em}
.calc{background:var(--pl);border-radius:10px;padding:14px 16px;margin:10px 0 14px}
.calc-h{font-weight:800;margin-bottom:2px}
.calc-disc{font-size:11px;color:var(--muted);margin:0 0 8px;line-height:1.5}
.sls{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 18px}
.sl{display:block}.sl-h{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:700}
.sl-h output{color:var(--accent-d);white-space:nowrap}
.sl input[type=range]{width:100%;min-height:32px;accent-color:var(--accent)}
.opts{border:1px solid var(--line);border-radius:8px;padding:8px 12px;margin:10px 0;background:#fff}.opts legend{font-size:13px;font-weight:700;padding:0 4px}
.chk{display:flex;gap:6px;align-items:flex-start;font-size:14px;margin:6px 0;min-height:32px}.chk input{margin-top:5px}
.sort-row{margin:4px 0}.btn-sub{min-height:40px;padding:0 14px;border:1px solid var(--accent);background:#fff;color:var(--accent-d);font-weight:700;border-radius:6px;font-size:14px;cursor:pointer}
.ask{color:var(--amber);font-weight:700}
.faq details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0}.faq summary{font-weight:700;cursor:pointer}.faq details div{margin-top:8px}
pre{overflow-x:auto;max-width:100%}
.ft{background:var(--ink);color:#c9d1d3;margin-top:56px;padding:36px 16px 24px;font-size:13px}
.ft-in{max-width:1080px;margin:0 auto}
.ft-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.ft h2{font-size:14px;border:0;padding:0;color:#fff;margin-bottom:6px}
.ft ul{list-style:none}.ft li{margin:4px 0}.ft a{color:#e2e7e8}
.ft-note{margin-top:22px;color:#c9d1d3}.copy{color:#c9d1d3;margin-top:8px}
@media (max-width:640px){
  h1{font-size:23px}.hero h1{font-size:25px}h2{font-size:19px}
  .two{grid-template-columns:1fr}
  /* 総額の比較表は、スマホでは製品ごとのカードにする（横長の表を押し込むと1行が縦に伸びて読めない） */
  .tbl:has(table.total){overflow:visible}
  table.total{min-width:0}table.total thead{display:none}
  table.total,table.total tbody,table.total tr,table.total th,table.total td{display:block;width:100%}
  table.total tr{border:1px solid var(--line);border-radius:8px;margin:0 0 10px;padding:8px 12px}
  table.total th,table.total td{border:0;padding:3px 0}
  table.total th[scope=row]{white-space:normal;font-size:16px}
  table.total td::before{content:attr(data-l);display:inline-block;min-width:6.5em;color:var(--muted);font-size:12px}
  .logo{font-size:15px}
  .hero{padding:32px 16px 28px}
}

/* ===== トップ（ITトレンド for 製造業 の構成・配置に寄せた形） ===== */
.eb{font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--orange);margin:0 0 6px}
.hm-in{max-width:1120px;margin:0 auto;padding:0 16px}
.hm-hero{background:var(--bg);border-bottom:1px solid var(--line)}
.hm-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.hm-pre{font-size:22px;font-weight:700;margin:0 0 6px}
.hm-h1{font-size:44px;line-height:1.35;font-weight:800;margin:0 0 18px;padding:0;border:0}
.hm-h1 .ac{color:var(--orange)}
.hm-lead{color:var(--muted);font-size:15px;max-width:520px}
.hm-cta{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:22px}
.hm-btn{display:inline-flex;align-items:center;gap:22px;min-height:52px;padding:0 22px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none}
.hm-btn:hover{background:var(--accent-d)}
.hm-link{display:inline-flex;align-items:center;gap:22px;min-height:52px;color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--ink)}
.hm-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--hazard);padding:18px 20px}
.hm-card-h{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 8px}
.hm-card-row{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.hm-card-row span{font-weight:700}.hm-card-row b{font-size:20px;text-align:right}.hm-card-row small{grid-column:1/-1;color:var(--muted);font-size:12px}
.hm-card-note{font-size:11px;color:var(--muted);margin:8px 0 0}
.hm-find{background:var(--bg);border-bottom:1px solid var(--line)}
.hm-find-in{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center;padding-top:26px;padding-bottom:26px}
.hm-find-h{font-size:22px;font-weight:800;margin:0}
.hm-find-links{display:flex;flex-wrap:wrap;gap:8px 26px}
.hm-find-links a{display:inline-flex;min-height:36px;align-items:center;font-size:14px;color:var(--ink);text-decoration:none;border-bottom:1px solid #c9ccc6}
.hm-find-links a:hover{border-color:var(--ink)}
.hm-sec{padding:56px 0 8px}
.hm-sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding-bottom:18px;border-bottom:2px solid var(--ink)}
.hm-sec-h h2{font-size:32px;border:0;padding:0;margin:0}
.hm-sec-h h2 small{font-size:14px;font-weight:400;color:var(--muted);margin-left:12px}
.hm-more{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink);text-decoration:none;white-space:nowrap}
.hm-dir{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}
.hm-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 22px 18px}
.hm-no{font-size:12px;color:var(--muted);margin:0 0 10px}
.hm-cell h3{font-size:20px;margin:0}
.hm-en{font-size:12px;letter-spacing:.08em;color:var(--muted);margin:2px 0 16px}
.hm-cell ul{list-style:none}
.hm-cell li a{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;min-height:40px;color:var(--ink);text-decoration:none;font-size:15px}
.hm-cell li a small{color:var(--muted);font-size:12px}.hm-cell li a i{display:inline-flex;color:var(--muted)}
.hm-cell li a:hover span{text-decoration:underline}
.hm-rank{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.hm-rank li{display:grid;grid-template-columns:24px 72px 1fr;gap:14px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}
.hm-rk{font-size:15px;color:var(--muted)}
.hm-logo{width:72px;height:72px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--bg)}
.hm-pn{font-size:18px;font-weight:800;color:var(--ink);text-decoration:none}.hm-pn:hover{text-decoration:underline}
.hm-rank p{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hm-tag{font-size:12px;border:1px solid var(--line);padding:1px 8px;color:var(--muted)}
.hm-yen{font-size:18px;font-weight:800;color:var(--ink)}
.hm-vd{font-size:12px;color:var(--muted)}
.hm-jn{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:22px}
.hm-jc{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--ink)}
.hm-jimg{aspect-ratio:16/9;background:var(--bg);border:1px solid var(--line);border-bottom:4px solid var(--hazard);display:flex;align-items:center;justify-content:center}
.hm-jimg{color:var(--muted)}
.hm-jtag{font-size:12px;color:var(--orange);font-weight:700}
.hm-jc b{font-size:16px;line-height:1.6}.hm-jc:hover b{text-decoration:underline}
.hm-jc time{font-size:12px;color:var(--muted)}
@media (max-width:820px){
  .hm-hero-in{grid-template-columns:1fr;gap:26px;padding-top:36px;padding-bottom:36px}
  .hm-h1{font-size:32px}.hm-pre{font-size:18px}
  .hm-find-in{grid-template-columns:1fr;gap:10px}
  .hm-dir,.hm-rank{grid-template-columns:1fr}
  .hm-jn{grid-template-columns:1fr}
  .hm-sec-h h2{font-size:24px}
  .hnav .nn{display:none}
}
