:root{
  --gl-bg:#F7F8FA; --gl-surface:#FFFFFF; --gl-text:#1A2332;
  --gl-navy:#1E3A5F; --gl-border:#E2E6EC; --gl-muted:#5B6779;
}
*{box-sizing:border-box}
body{margin:0;background:var(--gl-bg);color:var(--gl-text);
  font:400 16px/1.9 "Noto Sans JP",sans-serif}
a{color:var(--gl-navy)}
h1,h2{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif}

.gl-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;
  justify-content:space-between;gap:24px;height:70px;padding:0 24px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gl-border)}
.gl-home{font-weight:700;text-decoration:none;color:var(--gl-navy)}
.gl-nav{display:flex;gap:24px;font-size:14px}
.gl-nav a{text-decoration:none}

.gl-main{max-width:760px;margin:0 auto;padding:32px 24px 72px}
.gl-breadcrumb{font-size:13px;color:var(--gl-muted);margin-bottom:20px}
.gl-breadcrumb a{color:var(--gl-muted)}

h1{font-size:30px;line-height:1.45;margin:0 0 6px}
.gl-reading{font-size:.6em;font-weight:400;color:var(--gl-muted);margin-left:.3em}
.gl-aliases{margin:0 0 18px;font-size:13px;color:var(--gl-muted)}
.gl-lead{margin:0 0 34px;padding-bottom:22px;font-size:17px;
  border-bottom:1px solid var(--gl-border)}

.gl-sec{margin:0 0 34px}
.gl-sec h2{font-size:19px;margin:0 0 12px;padding-left:12px;
  border-left:4px solid var(--gl-navy)}
.gl-sec-client h2{border-left-color:#2E6FA8}
.gl-sec-creator h2{border-left-color:#C8683F}
.gl-sec p{margin:0 0 14px}

.gl-related ul{margin:0;padding-left:1.2em}
.gl-related li{margin-bottom:8px}

.gl-cta{margin-top:48px;padding:22px 24px;background:var(--gl-surface);
  border:1px solid var(--gl-border);border-radius:8px}
.gl-cta p{margin:0 0 12px;font-size:15px}
.gl-cta-link{display:inline-block;padding:10px 22px;border-radius:6px;
  background:var(--gl-navy);color:#fff;text-decoration:none;font-size:14px}

.gl-filter{margin:0 0 32px}
.gl-search input{width:100%;padding:12px 14px;font-size:15px;
  border:1px solid var(--gl-border);border-radius:6px;background:var(--gl-surface)}
.gl-count{margin:8px 0 0;font-size:13px;color:var(--gl-muted)}
.gl-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.gl-cat{margin:0 0 40px}
.gl-cat h2{font-size:18px;margin:0 0 14px;padding-bottom:8px;
  border-bottom:2px solid var(--gl-navy)}
.gl-cat-count{margin-left:10px;font-size:12px;font-weight:400;color:var(--gl-muted)}
.gl-list{margin:0}
.gl-item{padding:12px 0;border-bottom:1px solid var(--gl-border)}
.gl-item dt{font-weight:700}
.gl-item dd{margin:4px 0 0;font-size:14px;color:var(--gl-muted)}
.gl-more{margin-left:6px;font-size:13px;white-space:nowrap}
[hidden]{display:none !important}

.gl-footer{padding:28px 24px;border-top:1px solid var(--gl-border);
  font-size:13px;color:var(--gl-muted);text-align:center}
.gl-footer p{margin:0 0 6px}

@media (max-width:600px){
  .gl-header{height:auto;padding:12px 16px;flex-direction:column;align-items:flex-start;gap:8px}
  .gl-main{padding:24px 16px 56px}
  h1{font-size:25px}
}

/* --- 資材種別 早見表 --- */
.gl-chart-item{margin:0 0 40px;padding:22px 24px;background:var(--gl-surface);
  border:1px solid var(--gl-border);border-radius:8px}
.gl-chart-item h2{font-size:19px;margin:0 0 10px;padding:0;border:0}
.gl-chart-answer{margin:0 0 18px;padding:10px 14px;font-weight:700;
  background:color-mix(in srgb,var(--gl-navy) 7%,transparent);border-radius:6px}
.gl-chart-cols{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 18px}
.gl-chart-cols>div{flex:1 1 220px;padding:12px 16px;border-radius:6px}
.gl-chart-ok{background:color-mix(in srgb,#2E6FA8 8%,transparent)}
.gl-chart-ng{background:color-mix(in srgb,#C8683F 8%,transparent)}
.gl-chart-cols h3{margin:0 0 6px;font-size:13px;letter-spacing:.04em}
.gl-chart-ok h3{color:#1F4F78}
.gl-chart-ng h3{color:#9C4A28}
.gl-chart-cols ul{margin:0;padding-left:1.2em;font-size:14px}
.gl-chart-cols li{margin-bottom:4px}
.gl-chart-detail p{margin:0 0 14px}
.gl-chart-terms{margin:16px 0 0;padding-top:14px;font-size:13px;
  border-top:1px solid var(--gl-border)}
.gl-chart-back{margin-top:32px;font-size:14px;text-align:center}
@media (max-width:600px){
  /* 縦並びでは flex-basis が高さとして効くため、内容にあわせて縮める */
  .gl-chart-cols{flex-direction:column;gap:10px}
  .gl-chart-cols>div{flex:0 0 auto}
}

.gl-chart-link{margin:0 0 28px;padding:14px 18px;border-radius:8px;font-size:15px;
  background:color-mix(in srgb,var(--gl-navy) 6%,transparent);
  border:1px solid color-mix(in srgb,var(--gl-navy) 18%,transparent)}
.gl-chart-link a{text-decoration:none;font-weight:700}
