/* MONOSASHI 新しい見た目（v2-top3）。deploy/tools/build_v2_css.py が組む。手で直さない（直すのは試作の CSS） */
/* ---- 本番の style.css から：色・寸法とヘッダー・フッター ---- */
:root { --bg:#FFFFFF;
  --bg-2:#F3F4F9;        
  --bg-3:#E8EAF3;        
  --ink:#17181F;         
  --ink-2:#3B3F4D;
  --ink-3:#6A6F80;
  --ink-4:#9CA1B3;
  --line:#E7E9F1;
  --line-2:#D6DAE8;

  --brand:#3B5BFF;       
  --brand-2:#2742D6;
  --brand-soft:#EBEFFF;

  
  --c-est:#FF5A5F;       
  --c-claude:#8B5CF6;    
  --c-ai:#06B6D4;        
  --c-dev:#16A34A;       
  --c-dx:#F59E0B;        
  --c-auto:#EC4899;      

  --ok:#16A34A;
  --indigo:#15172E;      
  --indigo-2:#1E2147;

  --gothic:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic Medium",Meiryo,sans-serif;
  --mono:"Inter","Helvetica Neue",Arial,sans-serif;

  --max:1200px;
  --r:18px;       
  --r-sm:12px;    
  --r-pill:999px; 
  --hd-h:74px;
  --sh:0 6px 24px -10px rgba(23,24,31,.14);
  --sh-2:0 18px 50px -22px rgba(23,24,31,.22); }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.head { position:sticky;top:0;z-index:50;min-height:var(--hd-h);background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line); }
.head__row { height:var(--hd-h);display:flex;align-items:center;gap:22px;max-width:var(--max);margin:0 auto;padding:0 24px; }
.head__brand { display:flex;align-items:center;gap:9px;flex-shrink:0; }
.head__logo { height:36px;width:auto;display:block; }
@media(max-width:560px) {
  .head__logo { height:30px; }
}
.head__brand-name { font-weight:900;font-size:23px;letter-spacing:-.01em;color:var(--ink); }
.head__nav { display:flex;align-items:center;gap:10px;margin-left:auto; }
.head__nav a { font-size:14.5px;font-weight:800;color:var(--ink-2);padding:10px 16px;border-radius:var(--r-pill);transition:background .15s,color .15s; }
.head__nav a:hover { background:var(--bg-2);color:var(--ink); }
.head__nav a.is-active { background:var(--ink);color:#fff; }
.head__cta { display:flex;align-items:center;gap:10px; }
.head__search { display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);border:0;background:var(--bg-2);color:var(--ink); }
.head__search:hover { background:var(--bg-3); }
.nav-tg { display:none;width:42px;height:42px;border:0;background:var(--bg-2);border-radius:var(--r-pill);align-items:center;justify-content:center; }
.nav-tg span, .nav-tg span::before, .nav-tg span::after { display:block;width:18px;height:2.4px;border-radius:2px;background:var(--ink);position:relative; }
.nav-tg span::before { content:"";position:absolute;top:-6px;left:0; }
.nav-tg span::after { content:"";position:absolute;top:6px;left:0; }
.foot { background:var(--indigo);color:rgba(255,255,255,.64);padding:56px 0 26px;margin-top:64px; }
.foot a { color:rgba(255,255,255,.64);transition:color .15s; }
.foot a:hover { color:#fff; }
.foot__eco { margin-bottom:46px; }
.foot__eco-hd { display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:16px; }
.foot__eco-ttl { font-family:var(--mono);font-size:11px;font-weight:800;letter-spacing:.16em;color:#fff; }
.foot__eco-sub { font-size:12px;color:rgba(255,255,255,.46); }
.foot__eco-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.foot__grid { display:flex;flex-wrap:wrap;justify-content:space-between;gap:38px 40px;margin-bottom:44px; }
.foot__brandcol { flex:0 1 340px; }
.foot__nav { display:flex;gap:clamp(44px,7vw,110px);flex-wrap:wrap; }
.foot__nav > div { min-width:118px; }
.foot__brand { display:flex;align-items:center;gap:9px;margin-bottom:15px; }
.foot__logo { height:30px;width:auto;display:block; }
.foot__brand .head__brand-name { color:#fff; }
.foot__desc { font-size:12.5px;line-height:1.9;max-width:300px; }
.foot a.foot__cta { display:inline-flex;align-items:center;gap:8px;margin-top:18px;height:44px;padding:0 22px;border-radius:var(--r-pill);background:#fff;color:var(--indigo);font-weight:800;font-size:13.5px;transition:background .16s,color .16s; }
.foot a.foot__cta:hover { background:var(--brand);color:#fff; }
.foot a.foot__cta .arr { transition:transform .2s; }
.foot a.foot__cta:hover .arr { transform:translateX(3px); }
.foot__title { font-family:var(--mono);font-size:11px;font-weight:800;color:#fff;letter-spacing:.14em;margin-bottom:15px; }
.foot__list { padding:0;margin:0;list-style:none; }
.foot__list li { font-size:13px;margin-bottom:11px; }
.foot__bottom { border-top:1px solid rgba(255,255,255,.14);padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11px; }
@media(max-width:1024px) {
  .foot__eco-cards { grid-template-columns:1fr 1fr; }
  .foot__brandcol { flex-basis:100%; }
}
@media(max-width:760px) {
  .foot__eco-cards { grid-template-columns:1fr; }
}
@media(max-width:1024px) {
  .head__nav { display:none;position:absolute;top:var(--hd-h);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:14px 24px 22px;gap:4px;border-bottom:1px solid var(--line);box-shadow:var(--sh); }
  .head__nav.open { display:flex; }
  .head__nav a { padding:13px 16px;font-size:16px; }
  .head__cta { margin-left:auto; }
  .nav-tg { display:inline-flex;margin-left:0; }
}
@media(max-width:760px) {
  .foot__grid { grid-template-columns:1fr 1fr;gap:32px; }
}
@media(max-width:480px) {
  .foot__grid { grid-template-columns:1fr;gap:24px; }
}
@media(max-width:760px) {
  .foot__grid { grid-template-columns:1fr 1fr; }
}
/* ヘッダー・フッターの文字は今のサイトと同じ組み。行は本体と同じ外枠（--fx）にそろえる */
.head, .foot { font-family: var(--gothic); font-size: 15.5px; line-height: 1.8; letter-spacing: .08em; font-feature-settings: "palt"; -webkit-font-smoothing: antialiased; }
.head img, .head svg, .foot img, .foot svg { display: block; max-width: 100%; }
.head a, .foot a { text-decoration: none; }
.foot p { margin: 0; }
.foot ul { margin: 0; padding: 0; list-style: none; }
/* ---- 試作：../../MONOSASHI-TOP-2026-11/proto/css/base.css ---- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; letter-spacing: inherit; color: inherit; }
[hidden] { display: none !important; }
.k { display: inline-block; }
.ttl__crumb { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ttl__h1 { margin: 0; }
.mo { display: flex; flex-wrap: wrap; align-items: center; }
.mt { white-space: nowrap; cursor: pointer; }
.body { display: grid; grid-template-columns: var(--side) minmax(0, 1fr); align-items: start; }
.side { position: sticky; top: calc(var(--gh) + 12px); max-height: calc(100vh - var(--gh) - 24px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.side__head, .side__foot { display: none; }
.side__title { margin: 0; }
.cur__t, .fs__t { display: flex; justify-content: space-between; align-items: center; margin: 0; }
.cur__l { margin: 0; padding: 0; list-style: none; }
.cur__l li { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.cur__l li button { flex: none; cursor: pointer; }
.kw { display: flex; }
.kw input { flex: 1; min-width: 0; }
.kw button { flex: none; cursor: pointer; }
.fs__t button, .fs__more { border: 0; background: none; padding: 0; cursor: pointer; }
.opt { display: grid; grid-template-columns: 15px 1fr; gap: 8px; align-items: center; width: 100%; border: 0; background: none; text-align: left; cursor: pointer; }
.opt__b { width: 15px; height: 15px; display: grid; place-items: center; }
.main { min-width: 0; }
.hit { display: flex; align-items: baseline; flex-wrap: wrap; }
.hit__n, .hit__asof { margin: 0; }
.tabs { display: flex; align-items: flex-end; }
.tabs button { cursor: pointer; }
.evt { width: 100%; border-collapse: collapse; table-layout: fixed; }
.evt th { position: sticky; top: var(--gh); z-index: 2; text-align: left; white-space: nowrap; }
.evt td { vertical-align: top; }
.c-m { width: 60px; }
.c-d { width: 112px; }
.c-v { width: 19%; }
.c-i { width: 116px; }
.c-s { width: 96px; }
.c-f { width: 80px; }
.mlab { position: sticky; top: calc(var(--gh) + 36px); display: block; }
.nm, .vn, .pf { display: block; }
.nm__s { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-s { text-align: right; }
.ev { display: grid; grid-template-columns: var(--ev-d, 96px) minmax(0, 1fr) 150px; }
.ev__r { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; gap: 10px; text-align: right; }
.ev__kv { display: grid; grid-template-columns: auto 1fr; margin: 0; }
.ev__kv dd { margin: 0; }
.ev__n, .ev__k, .ev__sz { margin: 0; }
.tp { display: grid; grid-template-columns: 190px minmax(0, 1fr); grid-template-areas: "d b" "f f"; }
.tp__d { grid-area: d; }
.tp__b { grid-area: b; min-width: 0; }
.tp__f { grid-area: f; display: flex; align-items: center; gap: 16px; }
.tp__n { margin: 0; }
.tp__w { display: flex; flex-wrap: wrap; align-items: baseline; margin: 0; }
.tp__s { margin-left: auto; }
.near { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.near:empty, .feat:empty { display: none; }
.near__b h2 { margin: 0; }
.near__l { margin: 0; padding: 0; list-style: none; columns: 3 120px; }
.near__l li { break-inside: avoid; }
.fab { display: none; }
.scrim { position: fixed; inset: 0; z-index: 45; background: rgba(21,23,46,.42); }
@media (min-width: 1024px) {
  .scrim { display: none; }
}
@media (max-width: 1023px) {
  html.is-lock { overflow: hidden; }
}
.chips { display: none; }
@media (min-width: 1024px) and (max-width: 1279px) {
  .c-i { display: none; }
  .c-v { width: 24%; }
}
@media (max-width: 1023px) {
  .mo { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .body { display: block; }
  .side { position: fixed; inset: 0; z-index: 50; max-height: none; transform: translateY(100%); transition: transform .22s ease; }
  .side.is-open { transform: none; }
  .side__head { display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 2; height: 50px; }
  .side__close { border: 0; background: none; padding: 8px 0; font-weight: 700; }
  .side__foot { display: block; position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .side__apply { width: 100%; height: 48px; border: 0; font-weight: 700; }
  .evt thead { display: none; }
  .evt, .evt tbody { display: block; }
  .evt { table-layout: auto; }
  .evt tr { display: grid; grid-template-columns: 84px minmax(0, 1fr); grid-template-areas: "m m" "d n" "d v" "d i" "d s" "d f"; }
  .evt td { display: block; width: auto !important; }
  .evt td.c-m { grid-area: m; }
  .evt td.c-d { grid-area: d; }
  .evt td.c-n { grid-area: n; }
  .evt td.c-v { grid-area: v; }
  .evt td.c-i { grid-area: i; display: block; }
  .evt td.c-s { grid-area: s; text-align: left; }
  .evt td.c-f { grid-area: f; }
  .evt td.c-s.na { display: none; }
  .mlab { position: static; display: flex; align-items: baseline; gap: 8px; }
  .ev { grid-template-columns: var(--ev-d-sp, 72px) minmax(0, 1fr); }
  .ev__r { grid-column: 2; flex-direction: row; align-items: center; justify-content: space-between; text-align: left; }
  .tp { grid-template-columns: 1fr; grid-template-areas: "d" "b" "f"; }
  .tp__s { margin-left: 0; }
  .near { grid-template-columns: 1fr; }
  .near__l { columns: 2 120px; }
  .fab { display: inline-flex; align-items: center; gap: 8px; position: fixed; left: 50%; bottom: calc(14px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 40; height: 46px; padding: 0 24px; border: 0; font-weight: 700; }
}
/* ---- 試作：../../MONOSASHI-TOP-2026-11/proto/css/site.css ---- */
:root { --ink: #17181F; --ink-2: #3B3F4D; --ink-3: #4A4E5A; --meta: #6A6F80; --pale: #A3A8B6;
  --line: #E7E9F1; --line-2: #D6DAE8; --mist: #F3F4F9;
  --brand: #3B5BFF; --brand-2: #2742D6; --brand-soft: #EEF1FF;
  --indigo: #15172E;
  --jp: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", sans-serif;
  --num: "Inter", "Noto Sans JP", sans-serif;
  
  --gh: 74px; --pad: 64px; --side: 288px; --cg: 40px; --gut: 20px; --bw: 320px; --max: 1600px;  
  --fx: max(var(--pad), calc((100% - var(--max)) / 2)); }
body { background: var(--mist); color: var(--ink); font: 400 15px/1.8 var(--jp); letter-spacing: .04em; }
.ico { display: inline-block; flex: none; vertical-align: middle; }
.band { padding: 20px var(--fx); background: var(--indigo); }
.band__f { display: grid; grid-template-columns: var(--side) var(--cg) minmax(0, 1fr) var(--gut) var(--bw); }
.band__g { display: grid; gap: 12px; min-width: 0; }
.band__g > * { min-width: 0; width: 100%; }
.band__g--kw { grid-column: 1; }
.band__g--sel { grid-column: 3; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.1fr); }
.band__g--btn { grid-column: 5; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.band__f input, .band__f select { height: 54px; padding: 0 16px; border: 0; border-radius: 10px; background: #fff; color: var(--ink); font-size: 15px; }
.band__f input { padding-left: 46px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236A6F80' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 16px 50% no-repeat; }
.band__f input::placeholder { color: var(--pale); }
.band__f input:focus, .band__f select:focus { outline: 3px solid rgba(59,91,255,.55); outline-offset: 0; }
.band__f select { appearance: none; padding-right: 34px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233B3F4D' stroke-width='1.6'/%3E%3C/svg%3E") calc(100% - 16px) 50% no-repeat; font-weight: 500; cursor: pointer; }
.band__f button { height: 54px; border: 0; border-radius: 10px; background: var(--brand); color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .08em; cursor: pointer; }
.band__f button:hover { background: var(--brand-2); }
.band__f .band__cal { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 12px; border: 1.5px solid rgba(255,255,255,.5); background: transparent; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.band__f .band__cal:hover { background: rgba(255,255,255,.08); border-color: #fff; }
.band__f .band__cal.is-open { border-color: #fff; background: rgba(255,255,255,.12); }
.band__f .band__cal.is-on { background: #fff; border-color: #fff; color: var(--ink); }
.band__ci { width: 20px; height: 20px; }
.calp { padding: 22px var(--fx) 26px; background: #fff; border-bottom: 1px solid var(--line); }
.calp__hd { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 14px; }
.calp__t { margin: 0; font-size: 16px; font-weight: 800; letter-spacing: .04em; }
.calp__sel { margin: 0; font-size: 14px; color: var(--ink-3); }
.calp__sel b { color: var(--ink); font-weight: 800; }
.calp__sel button { margin-left: 12px; padding: 0; border: 0; background: none; color: var(--brand-2); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.calp__nav { display: flex; gap: 6px; margin-left: auto; }
.calp__nav button { width: 34px; height: 34px; border: 1px solid var(--line-2); border-radius: 50%; background: #fff; color: var(--ink-2); font-size: 18px; line-height: 1; cursor: pointer; }
.calp__nav button:hover:not(:disabled) { border-color: var(--ink); color: var(--ink); }
.calp__nav button:disabled { opacity: .3; cursor: default; }
.calp__x { padding: 0; border: 0; background: none; color: var(--meta); font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.calp__x:hover { color: var(--ink); }
.calp__ms { display: grid; grid-template-columns: repeat(var(--cal-n, 3), minmax(0, 1fr)); gap: 0 48px; }
.cm__t { margin: 0 0 8px; font-size: 14.5px; font-weight: 800; letter-spacing: .04em; }
.cm__g { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 2px; text-align: center; }
.cw { padding: 2px 0 6px; font-size: 12px; font-weight: 500; color: var(--meta); }
.cw.sun { color: #C22F33; }
.cw.sat { color: var(--brand-2); }
.cd { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0 auto; padding: 0; border: 0; border-radius: 50%; background: none; font: 500 14px/1 var(--num); color: #C3C7D2; }
.cd.has { color: var(--ink); font-weight: 800; cursor: pointer; }
.cd.has:hover:not(.on) { background: var(--mist); }
.cd__dots { display: flex; gap: 2px; height: 4px; margin-top: 3px; }
.cd__dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--brand); }
.cd.on { background: var(--brand); color: #fff; }
.cd.on .cd__dots i { background: #fff; }
.cd.today { outline: 1.5px solid var(--ink); outline-offset: -1.5px; }
.cd.past { opacity: .45; }
.hit__n[data-day]::before { content: attr(data-day); }
.ttl { padding: 30px var(--fx) 6px; }
.ttl__crumb { margin-bottom: 14px; font-size: 13px; color: var(--meta); }
.ttl__crumb li + li::before { content: "›"; margin: 0 .7em; color: var(--pale); }
.ttl__crumb a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.ttl__h1 { font-size: 36px; line-height: 1.4; font-weight: 800; letter-spacing: .02em; }
.body { column-gap: var(--cg); padding: 22px var(--fx) 96px; }
.kw { display: none; }
.side { padding: 20px 20px 6px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.cur { padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.cur__t, .fs__t { margin-bottom: 10px; font-size: 14px; font-weight: 800; color: var(--ink); letter-spacing: .06em; }
.cur__l { display: flex; flex-wrap: wrap; gap: 8px; }
.cur__l li { gap: 6px; padding: 4px 5px 4px 13px; border: 1px solid var(--line-2); border-radius: 999px; font-size: 14px; font-weight: 700; }
.cur__l li button { width: 22px; height: 22px; border: 0; border-radius: 50%; background: var(--mist); color: var(--ink-3); font-size: 12px; line-height: 1; }
.cur__l li button:hover { background: var(--ink); color: #fff; }
.cur__l li.cur__none { padding: 0; border: 0; font-weight: 500; color: var(--meta); }
.cur__l li.cur__all { padding: 0; border: 0; }
.cur__l li.cur__all button { width: auto; height: auto; background: none; border-radius: 0; font-size: 13px; font-weight: 500; color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; }
.fs { padding: 20px 0 16px; border-bottom: 1px solid var(--line); }
.fs:last-child { border-bottom: 0; }
.fs__t button { font-size: 13px; font-weight: 500; color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; }
.opt { grid-template-columns: 18px 1fr; gap: 10px; padding: 5px 0; font-size: 15px; color: var(--ink-2); }
.opt__b { width: 18px; height: 18px; border: 1.5px solid #A9AEBD; border-radius: 5px; background: #fff; }
.opt--radio .opt__b { border-radius: 50%; }
.opt.is-on .opt__b { background: var(--brand); border-color: var(--brand); }
.opt.is-on .opt__b::after { content: ""; width: 9px; height: 5px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg); }
.opt--radio.is-on .opt__b { background: #fff; }
.opt--radio.is-on .opt__b::after { width: 8px; height: 8px; border: 0; border-radius: 50%; background: var(--brand); transform: none; }
.opt__l { display: flex; align-items: center; gap: 0; }
.opt__ic { width: 20px; height: 20px; margin-right: 8px; color: var(--ic); }
.opt.is-on .opt__l { font-weight: 800; color: var(--ink); }
.opt__n { margin-left: 4px; font: 500 13px var(--num); color: var(--meta); }
.opt:hover .opt__l { color: var(--ink); }
.opt.is-zero { color: var(--pale); }
.opt.is-zero .opt__ic { opacity: .4; }
.opt--sub { padding-left: 28px; }
.fs__more { margin-top: 6px; font-size: 13px; color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; }
.hit { gap: 6px 18px; margin-bottom: 26px; }
.hit__n { font-size: 15px; font-weight: 700; color: var(--ink-3); }
.hit__n::before { content: "開催予定"; margin-right: 6px; }
.hit__n b { margin-right: 2px; font: 800 30px/1 var(--num); color: var(--ink); letter-spacing: -.01em; }
.hit__n span { display: none; }
.hit__asof { font-size: 13px; color: var(--meta); }
.sortsel { display: flex; align-items: center; gap: 10px; margin-left: auto; font-size: 13px; color: var(--meta); }
.sortsel select { height: 42px; padding: 0 38px 0 14px; border: 1px solid var(--line-2); border-radius: 10px; appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%233B3F4D' stroke-width='1.6'/%3E%3C/svg%3E") calc(100% - 14px) 50% no-repeat; color: var(--ink); font-size: 14px; font-weight: 700; cursor: pointer; }
.feat { margin-bottom: 44px; padding: 24px 24px 26px; background: var(--indigo); border-radius: 20px; }
.feat__t { display: flex; align-items: baseline; gap: 14px; margin: 0 0 18px; color: #fff; font-size: 22px; font-weight: 800; letter-spacing: .03em; }
.feat__t span { font-size: 13px; font-weight: 500; color: rgba(255,255,255,.66); letter-spacing: .04em; }
.feat .gc { border-color: transparent; }
.feat .gc:hover { border-color: var(--ic); }
.feat__b { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gh2 { display: flex; align-items: baseline; gap: 12px; margin: 8px 0 14px; font-size: 21px; font-weight: 800; letter-spacing: .03em; }
.gh2 span { font: 500 14px var(--num); color: var(--meta); }
.gcs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 40px; }
.gc { display: flex; flex-direction: column; padding: 20px 22px 16px; background: #fff; border: 1px solid #E1E4EE; border-radius: 16px; transition: border-color .15s; }
.gc:hover { border-color: var(--ic); }
.gc__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 12px; font-size: 13px; color: var(--meta); }
.gc__ind { display: inline-flex; align-items: center; gap: 6px; color: var(--ic); font-size: 14px; font-weight: 800; letter-spacing: .04em; }
.gc__ic { width: 24px; height: 24px; }
.gc__ind small { margin-left: 2px; font-size: 12px; font-weight: 500; color: var(--meta); }
.gc[data-ind="cross"] .gc__ind { color: var(--ink-2); }
.st { padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.st--live { background: rgba(220,38,38,.10); color: #B91C1C; }
.st--rec { background: rgba(180,83,9,.10); color: #B45309; }
.gc__date { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 4px; margin: 0 0 6px; color: var(--ink); }
.gc__date b { font: 800 26px/1.15 var(--num); letter-spacing: -.01em; }
.gc__date b.gc__d1 { font-size: 20px; }
.gc__date span { font-size: 14px; font-weight: 700; color: var(--meta); }
.gc__date span::before { content: "("; }
.gc__date span::after { content: ")"; }
.gc__date span.sun { color: #C22F33; }
.gc__date span.sat { color: var(--brand-2); }
.gc__date i { margin: 0 4px; font-style: normal; font-size: 16px; color: var(--meta); }
.gc__n { margin: 0 0 12px; font-size: 18px; line-height: 1.55; font-weight: 800; letter-spacing: .03em; }
.gc__n a:hover { color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; }
.gc__v { display: flex; gap: 8px; margin: 0 0 14px; font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.gc__v small { display: block; font-size: 13px; color: var(--meta); }
.gc__mi { width: 18px; height: 18px; margin-top: 2px; color: var(--meta); }
.gc__f { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: auto 0 0; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; color: var(--meta); }
.gc__s { display: inline-flex; align-items: center; gap: 6px; }
.gc__s b { font: 800 18px var(--num); color: var(--ink); }
.gc__s .na { font-size: 13px; color: var(--pale); }
.gc__fee { font-size: 13.5px; font-weight: 700; color: var(--ink-3); }
.gc__fee.free { color: #15803D; }
.gc--f { padding: 24px 24px 18px; }
.gc--f .gc__date b { font-size: 30px; }
.gc--f .gc__n { font-size: 19.5px; }
.gc--f .gc__s b { font-size: 24px; }
.empty { padding: 64px 0; text-align: center; color: var(--meta); }
.near { gap: 0 56px; margin-top: 16px; padding: 4px 28px 26px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.near__b { padding-top: 26px; }
.near__b h2 { margin-bottom: 12px; font-size: 15px; font-weight: 800; letter-spacing: .03em; }
.near__l li { padding: 4px 0; font-size: 14.5px; }
.near__l a { color: var(--brand-2); }
.near__l a:hover { text-decoration: underline; text-underline-offset: 3px; }
.near__l b { color: var(--ink); }
.near__l span { font: 500 13px var(--num); color: var(--meta); }
@media (min-width: 1600px) {
  :root { --pad: 80px; --side: 304px; --cg: 48px; --gut: 24px; }
  .gcs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1560px) {
  :root { --bw: calc((100% - var(--side) - var(--cg) - 2 * var(--gut)) / 3); }
}
@media (min-width: 1024px) and (max-width: 1439px) {
  :root { --bw: calc((100% - var(--side) - var(--cg) - var(--gut)) / 2); }
  .band__g--sel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .band__g--sel select:nth-child(3) { display: none; }
  .band__f select { padding: 0 28px 0 12px; font-size: 14px; background-position: calc(100% - 12px) 50%; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  :root { --pad: 48px; --side: 264px; --cg: 32px; --gut: 16px; }
  .ttl__h1 { font-size: 30px; }
  .side { padding: 18px 16px 6px; }
  .opt { font-size: 14px; }
  .gcs { grid-template-columns: 1fr; }
  .feat__b { grid-template-columns: 1fr; }
}
@media (max-width: 1023px) {
  :root { --gh: 64px; --pad: 32px; --cg: 24px; --gut: 16px; --bw: clamp(260px, calc(100% - 820px), 440px); }
  .band { padding: 14px var(--fx); }
  .band__f { grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; }
  .band__g--kw { grid-column: 1; }
  .band__g--sel { display: none; }
  .band__g--btn { grid-column: 2; grid-template-columns: auto; }
  .band__g--btn button[type="submit"] { display: none; }
  .calp { padding: 16px var(--fx) 20px; }
  .calp__ms { gap: 0 20px; }
  .cd { width: 42px; height: 42px; font-size: 15px; }
  .band__f input, .band__f select, .band__f button { height: 48px; font-size: 14.5px; border-radius: 9px; }
  .ttl { padding: 22px var(--fx) 4px; }
  .ttl__crumb { margin-bottom: 8px; font-size: 12.5px; }
  .ttl__h1 { font-size: 26px; }
  .body { padding: 14px var(--fx) 104px; }
  .side { padding: 0 16px 104px; background: #fff; border: 0; border-radius: 0; }
  .side__head { margin: 0 -16px 12px; padding: 0 16px; background: #fff; border-bottom: 1px solid var(--line); }
  .side__close { color: var(--brand-2); }
  .side__foot { background: #fff; border-top: 1px solid var(--line); }
  .side__apply { border-radius: 999px; background: var(--brand); color: #fff; }
  .hit { margin-bottom: 18px; }
  .hit__n b { font-size: 24px; }
  .sortsel { margin-left: 0; }
  .feat { margin: 0 -2px 32px; padding: 18px 14px 18px; border-radius: 16px; }
  .feat__t { font-size: 18px; flex-wrap: wrap; gap: 4px 10px; }
  .feat__b, .gcs { grid-template-columns: 1fr; gap: 12px; }
  .gh2 { font-size: 18px; }
  .gc { padding: 16px 16px 14px; border-radius: 14px; }
  .gc__date b { font-size: 22px; }
  .gc__n { font-size: 16.5px; }
  .gc--f .gc__date b { font-size: 24px; }
  .gc--f .gc__n { font-size: 17px; }
  .gc--f .gc__s b { font-size: 20px; }
  .fab { border-radius: 999px; background: var(--brand); color: #fff; }
  .fab span:not(:empty) { font: 700 12px var(--num); background: #fff; color: var(--brand-2); min-width: 20px; height: 20px; line-height: 20px; text-align: center; border-radius: 10px; }
}
@media (max-width: 599px) {
  :root { --gh: 58px; --pad: 16px; --gut: 12px; }
  .calx { display: none; }
  .band { padding: 12px var(--fx) 14px; }
  .band__f input, .band__f select, .band__f button { height: 46px; font-size: 14px; border-radius: 8px; }
  .ttl { padding-top: 16px; }
  .ttl__crumb { font-size: 12px; }
  .ttl__h1 { font-size: 22px; }
}
@media (min-width: 600px) and (max-width: 1023px) {
  .side { inset: 0 auto 0 0; width: min(420px, 86vw); transform: translateX(-100%); border-right: 1px solid var(--line); }
  .side.is-open { transform: none; }
  .side__foot { right: auto; width: min(420px, 86vw); }
}
@media (min-width: 640px) and (max-width: 1023px) {
  .gcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ---- 試作：../../MONOSASHI-TOP-2026-11/proto/css/industry.css ---- */
[data-ind="manufacturing"] { --ic: #1D4ED8; --ic-t: #EEF2FD; }
[data-ind="construction"] { --ic: #C2410C; --ic-t: #FDF1EB; }
[data-ind="logistics"] { --ic: #15803D; --ic-t: #ECF7F0; }
[data-ind="retail"] { --ic: #BE185D; --ic-t: #FCEEF4; }
[data-ind="food"] { --ic: #DC2626; --ic-t: #FDEFEF; }
[data-ind="healthcare"] { --ic: #0E7490; --ic-t: #EBF6F9; }
[data-ind="public"] { --ic: #475569; --ic-t: #F0F2F5; }
[data-ind="finance"] { --ic: #A16207; --ic-t: #FBF5E8; }
[data-ind="education"] { --ic: #6D28D9; --ic-t: #F3EFFD; }
[data-ind="energy"] { --ic: #4D7C0F; --ic-t: #F1F6EA; }
[data-ind="hospitality"] { --ic: #0F766E; --ic-t: #EAF5F4; }
[data-ind="cross"] { --ic: #2A2C33; --ic-t: #F0F1F3; }
/* ---- 試作：../../MONOSASHI-TOP-2026-11/proto-v3/css/top3.css ---- */
.t3 { --t3-link: #2742D6;
  --t3-ink: var(--ink, #17181F);
  --t3-ink2: #3B3F4D;
  --t3-ink3: #6A6F80;
  --t3-ink4: #A3A8B8;
  --t3-line: #E7E9F1;
  --t3-line2: #D6DAE8;
  --t3-ok: #15803D;
  --t3-sat: #2742D6;
  --t3-sun: #C0393C;
  display: block; }
.t3 h1, .t3 h2, .t3 h3, .t3 p, .t3 dl, .t3 dd, .t3 ul { margin: 0; }
.t3 ul { padding: 0; list-style: none; }
.t3 a { color: var(--t3-link); }
.t3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.t3 .k { display: inline-block; }
.t3 .sat { color: var(--t3-sat); }
.t3 .sun { color: var(--t3-sun); }
.t3h { padding: 34px var(--fx) 30px; background: #fff; border-bottom: 1px solid var(--t3-line); }
.t3h__h1 { font-size: 34px; font-weight: 800; line-height: 1.35; letter-spacing: .04em; color: var(--t3-ink); }
.t3h__lead { margin-top: 10px; font-size: 15px; line-height: 1.7; color: var(--t3-ink2); }
.t3h__nums { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 32px; margin-top: 16px; }
.t3n { display: flex; align-items: baseline; gap: 10px; }
.t3n dt, .t3n dd { font-size: 13px; font-weight: 700; color: var(--t3-ink2); }
.t3n dd b { margin-right: 3px; font: 800 26px/1.2 var(--num); letter-spacing: .01em; color: var(--t3-ink); }
.t3h__asof { font-size: 12.5px; color: var(--t3-ink3); }
.t3s { display: flex; max-width: 1000px; height: 48px; margin-top: 20px; }
.t3s__k { flex: none; display: block; }
.t3s__k select { height: 100%; width: 200px; padding: 0 40px 0 18px;
  border: 1px solid var(--t3-line2); border-right: 0; border-radius: 4px 0 0 4px;
  background: #F6F7FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2317181F' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;
  -webkit-appearance: none; appearance: none;
  font-size: 15px; font-weight: 700; color: var(--t3-ink); cursor: pointer; }
.t3s input { flex: 1; min-width: 0; height: 100%; padding: 0 18px;
  border: 1px solid var(--t3-line2); border-radius: 0; background: #fff;
  font-size: 15px; color: var(--t3-ink); -webkit-appearance: none; appearance: none; }
.t3s input::placeholder { color: #8A8FA0; }
.t3s button { flex: none; width: 136px; height: 100%; border: 0; border-radius: 0 4px 4px 0;
  background: var(--brand, #3B5BFF); color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .08em; cursor: pointer; }
.t3s button:hover { background: #2742D6; }
.t3s select:focus, .t3s input:focus, .t3s select:focus-visible, .t3s input:focus-visible { outline: none; box-shadow: none; border-color: #2742D6; }
.t3s button:focus, .t3s button:focus-visible { outline: none; box-shadow: none; }
.t3s button:focus-visible { background: #2742D6; }
.t3b { display: grid; gap: 20px; padding: 24px var(--fx) 8px; }
.t3row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 1280px) {
  .t3row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.t3col { display: grid; gap: 20px; align-content: start; }
.t3p { container-type: inline-size; padding: 22px 28px 10px; background: #fff; border: 1px solid var(--t3-line); border-radius: 8px; }
.t3p__hd { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; padding-bottom: 14px; }
.t3p__t { font-size: 18px; font-weight: 800; line-height: 1.4; letter-spacing: .04em; color: var(--t3-ink); }
.t3p__s { font-size: 12.5px; color: var(--t3-ink3); }
.t3p__all { margin-left: auto; font-size: 14px; font-weight: 700; white-space: nowrap; }
.t3l > li { padding: 16px 0 17px; border-top: 1px solid var(--t3-line); }
.sr__k, .er__k { display: flex; flex-wrap: wrap; align-items: center; column-gap: 7px; font-size: 12.5px; font-weight: 700; line-height: 1.5; color: var(--t3-ink2); }
.sr__k i, .er__k i { flex: none; width: 8px; height: 8px; border-radius: 2px; }
.sr__k em, .er__k em { font-style: normal; }
.er__k i, .fl i[data-ind] { background: var(--ic); }
.er__k em { color: var(--ic); }
.sr__k span, .er__k span { margin-left: 5px; font-weight: 500; color: var(--t3-ink3); }
.sr__n, .er__n { margin-top: 5px; font-size: 16px; font-weight: 700; line-height: 1.55; letter-spacing: .03em; }
.sr__m, .er__v { margin-top: 5px; font-size: 13px; line-height: 1.6; color: var(--t3-ink2); }
.sr__m > span + span { margin-left: 16px; }
.sr__m > .sr__am + span { margin-left: 0; }
.sr__am { display: none; }
.er__v > span { margin-left: 10px; color: var(--t3-ink3); }
.sr__m .sat, .sr__m .sun { font-weight: 400; }
.sr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: start; }
.sr__a { min-width: 92px; padding-top: 1px; text-align: right; white-space: nowrap; color: var(--t3-ink); }
.sr__a small { display: block; margin-bottom: 1px; font-size: 12px; font-weight: 500; color: var(--t3-ink3); }
.sr__a b { font: 800 22px/1.2 var(--num); letter-spacing: .01em; }
.sr__a i { margin-left: 1px; font-style: normal; font-size: 13px; font-weight: 700; }
.sr__a.is-na { font-size: 13px; color: var(--t3-ink3); }
.er { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; column-gap: 18px; align-items: start; }
.er__st { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; font-size: 12px; font-weight: 700; color: var(--t3-ok); }
.er__st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #16A34A; }
.er__dt { font-size: 12px; line-height: 1.55; color: var(--t3-ink3); }
.er__dt b { font: 700 16px/1.4 var(--num); letter-spacing: .01em; color: var(--t3-ink); }
.er__r { min-width: 92px; padding-top: 1px; text-align: right; white-space: nowrap; }
.er__vis { font-size: 12px; color: var(--t3-ink3); }
.er__vis b { margin: 0 2px 0 5px; font: 700 15px/1.3 var(--num); letter-spacing: .01em; color: var(--t3-ink); }
.er__fee { margin-top: 3px; font-size: 12px; color: var(--t3-ink3); }
.er__fee.is-free { font-weight: 700; color: var(--t3-ok); }
@container (max-width: 480px) {
  .er { grid-template-columns: minmax(0, 1fr); }
  .er__d { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; margin-bottom: 4px; }
  .er__st { margin: 0; }
  .er__dt br { display: none; }
  .er__dt b { font-size: 15px; }
  .er__r { display: flex; flex-wrap: wrap; gap: 0 14px; min-width: 0; margin-top: 4px; padding: 0; text-align: left; }
  .er__fee { margin: 0; }
}
@container (max-width: 420px) {
  .sr { grid-template-columns: minmax(0, 1fr); }
  .sr__a { display: none; }
  .sr__m { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 14px; }
  .sr__m > span + span, .sr__m > .sr__am + span { margin-left: 0; }
  .sr__am { display: inline; font-weight: 700; color: var(--t3-ink); }
  .sr__am b { font: 800 16px/1.3 var(--num); letter-spacing: .01em; }
  .sr__am i { font-style: normal; font-size: 12.5px; }
  .sr__am.is-na { font-weight: 500; color: var(--t3-ink3); }
}
.t3v > li { padding: 12px 0 13px; border-top: 1px solid var(--t3-line); }
.vr__h { display: flex; align-items: baseline; gap: 8px; }
.vr__h a { font-size: 15px; font-weight: 700; line-height: 1.5; }
.vr__h span { font-size: 12px; color: var(--t3-ink3); }
.vr__h small { margin-left: auto; font: 500 13px var(--num); color: var(--t3-ink3); white-space: nowrap; }
.vr__n { display: -webkit-box; margin-top: 3px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 12.5px; line-height: 1.6; color: var(--t3-ink3); }
.vr__n a { font-weight: 500; color: var(--t3-ink2); }
.vr__n a:hover { color: var(--t3-link); }
.vr__st { display: inline-flex; align-items: center; gap: 5px; margin-right: 8px; font-weight: 700; color: var(--t3-ok); }
.vr__st::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #16A34A; }
.vr__d { margin-right: 8px; color: var(--t3-ink2); }
.vr__d span { color: var(--t3-ink3); }
.vr__d .sat { color: var(--t3-sat); }
.vr__d .sun { color: var(--t3-sun); }
.t3pf .t3p__hd { align-items: center; }
.seg { display: inline-flex; margin-left: auto; border: 1px solid var(--t3-line2); border-radius: 6px; overflow: hidden; }
.seg button { padding: 7px 16px; border: 0; background: #fff; font-size: 13.5px; font-weight: 700; color: var(--t3-ink2); cursor: pointer; }
.seg button + button { border-left: 1px solid var(--t3-line2); }
.seg button[aria-selected="true"] { background: var(--indigo, #15172E); color: #fff; }
.seg button:focus { outline: none; }
.seg button:focus-visible { outline: none; text-decoration: underline; text-underline-offset: 3px; }
.pfr { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 16px; padding: 12px 0; border-top: 1px solid var(--t3-line); }
.pfr__h { font-size: 13px; font-weight: 700; line-height: 26px; color: var(--t3-ink2); }
.pfr__l { display: flex; flex-wrap: wrap; gap: 0 24px; }
.pfr__l a, .pfr__l span { font-size: 14.5px; font-weight: 700; line-height: 26px; white-space: nowrap; }
.pfr__l small { margin-left: 5px; font: 500 12.5px var(--num); color: var(--t3-ink3); }
.pfr__l .is-zero { font-weight: 500; color: var(--t3-ink4); }
.pfr__l .is-zero small { color: var(--t3-ink4); }
@container (max-width: 560px) {
  .pfr { grid-template-columns: minmax(0, 1fr); }
  .pfr__l { gap: 0 18px; }
}
.t3blk + .t3blk { margin-top: 26px; }
.fl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
.fl li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; border-top: 1px solid var(--t3-line); }
.fl a, .fl li > span { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: 14.5px; font-weight: 700; line-height: 1.5; }
.fl i { flex: none; width: 8px; height: 8px; border-radius: 2px; }
.fl small { flex: none; font: 500 13px var(--num); color: var(--t3-ink3); white-space: nowrap; }
.fl .is-zero > span { font-weight: 500; color: var(--t3-ink4); }
.fl--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
@container (max-width: 440px) {
  .fl--long { grid-template-columns: minmax(0, 1fr); }
  .fl--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container (max-width: 340px) {
  .fl { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 1600px) {
  .t3h { padding-top: 40px; padding-bottom: 34px; }
  .t3h__h1 { font-size: 36px; }
  .t3b, .t3row, .t3col { gap: 24px; }
  .t3p { padding: 24px 32px 12px; }
}
@media (max-width: 1023px) {
  .t3h__h1 { font-size: 30px; }
}
@media (max-width: 767px) {
  .t3h { padding: 22px var(--fx) 22px; }
  .t3h__h1 { font-size: 24px; line-height: 1.4; }
  .t3h__lead { font-size: 14px; }
  .t3h__nums { gap: 2px 20px; margin-top: 12px; }
  .t3n dd b { font-size: 22px; }
  .t3h__asof { flex-basis: 100%; }
  .t3s { flex-wrap: wrap; height: auto; margin-top: 16px; }
  .t3s__k { flex-basis: 100%; }
  .t3s__k select { width: 100%; height: 44px; border-right: 1px solid var(--t3-line2); border-bottom: 0; border-radius: 4px 4px 0 0; }
  .t3s input { flex: 1; height: 44px; border-radius: 0 0 0 4px; font-size: 16px; }
  .t3s button { width: 88px; height: 44px; border-radius: 0 0 4px 0; }
  .t3b { gap: 14px; padding-top: 16px; }
  .t3row, .t3col { gap: 14px; }
  .t3p { padding: 18px 16px 6px; border-radius: 6px; }
  .t3p__t { font-size: 17px; }
  .t3l > li:nth-child(n+6), .t3v > li:nth-child(n+6) { display: none; }
  .sr__n, .er__n { font-size: 15.5px; }
  .seg { margin-left: 0; }
  .t3pf .t3p__hd { gap: 10px 12px; }
  .fl, .fl--3, .fl--long { display: flex; flex-wrap: wrap; gap: 0 20px; padding-top: 2px; border-top: 1px solid var(--t3-line); }
  .fl li { justify-content: flex-start; gap: 5px; padding: 6px 0; border-top: 0; }
  .fl a, .fl li > span { font-size: 14.5px; }
  .fl small { font-size: 12.5px; }
  .t3blk + .t3blk { margin-top: 20px; }
}
/* ---- 外枠をそろえる（試作の --fx が決まった後に当てる） ---- */
.head__row { max-width: none; padding-left: var(--fx); padding-right: var(--fx); }
.foot .wrap { max-width: none; padding-left: var(--fx); padding-right: var(--fx); }
/* ヘッダーの右の欄（記事の検索）は記事が0本の間は空のまま並び、行の間隔 22px の分だけナビの右端が本体の右端より内側に寄る。
   ナビを横に並べる幅では、空の欄を外して右端をそろえる（1024px 以下は、空の欄がメニューのボタンを右へ寄せる役なので残す。2026-11-01） */
@media (min-width: 1025px) { .head__cta:not(:has(*)) { display: none; } }
/* アイコンは文字の色で塗る。試作は <svg fill="currentColor"> で出していたが、本番はページに1回置く束を <use> で参照するので、
   ここで1か所にまとめて当てる（サーバーが出す物にも JS が出す物にも効く。2026-11-01 分類の色が抜けて黒くなっていた） */
.ico { fill: currentColor; }
