/* MONOSASHI 新しい見た目（v2-ev）。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-EVENTS-2026-10/proto/v/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; }
@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-EVENTS-2026-10/proto/common/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-EVENTS-2026-10/proto/v/p5.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; --side: 288px; --pad: 40px; }
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(--pad); background: var(--indigo); }
.band__f { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) auto 176px; gap: 12px; }
.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: 36px; 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 18px; 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(--pad) 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(--pad) 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 { gap: 48px; padding: 22px var(--pad) 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: 1680px) {
  :root { --side: 304px; --pad: 56px; }
  .gcs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  :root { --side: 248px; --pad: 28px; }
  .band__f { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)) auto 120px; }
  .band__f .band__cal { padding: 0 12px; }
  .gcs { grid-template-columns: 1fr; }
  .feat__b { grid-template-columns: 1fr; }
}
@media (max-width: 1023px) {
  :root { --gh: 58px; --pad: 14px; }
  .band { padding: 12px 14px 14px; }
  .band__f { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }
  .band__f > * { min-width: 0; width: 100%; }
  .band__f button[type="submit"] { grid-column: 1 / -1; }
  .calp { padding: 16px 14px 20px; }
  .calp__ms { gap: 0 20px; }
  .cd { width: 42px; height: 42px; font-size: 15px; }
  .band__f input { grid-column: 1 / -1; }
  .band__f input, .band__f select, .band__f button { height: 46px; font-size: 14px; border-radius: 8px; }
  .ttl { padding: 16px 16px 4px; }
  .ttl__crumb { margin-bottom: 8px; font-size: 12px; }
  .ttl__h1 { font-size: 22px; }
  .body { padding: 12px 14px 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 (min-width: 640px) and (max-width: 1023px) {
  .gcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .main { min-height: calc(100vh - var(--gh) - 32px); }
}
/* ---- 試作：../../MONOSASHI-EVENTS-2026-10/proto/v/d.css ---- */
.dband .band__cal { height: 54px; border-radius: 10px; text-decoration: none; }
.dband__tg { display: none; }
.dwrap { padding: 22px var(--pad) 88px; }
.dcrumb { display: flex; flex-wrap: wrap; gap: 0 .55em; margin-bottom: 18px; font-size: 13px; color: var(--meta); }
.dcrumb a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.dcrumb span[aria-hidden] { color: var(--pale); }
.dcrumb [aria-current] { color: var(--ink-2); }
.dgrid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 36px; align-items: start; }
.dmain { min-width: 0; }
.dhero { margin-bottom: 18px; }
.dhero__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 10px; font-size: 13.5px; color: var(--meta); }
.dhero__top .gc__ind { font-size: 14.5px; }
.dhero__cat { font-weight: 700; color: var(--ink-3); }
.dhero__h1 { margin: 0; font-size: 36px; line-height: 1.38; font-weight: 800; letter-spacing: .02em; }
.dhero__date { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 4px; margin: 10px 0 0; color: var(--ink); }
.dhero__date b { font: 800 34px/1.15 var(--num); letter-spacing: -.01em; }
.dhero__date span { font-size: 15px; font-weight: 700; color: var(--meta); }
.dhero__date span::before { content: "("; }
.dhero__date span::after { content: ")"; }
.dhero__date i { margin: 0 6px; font-style: normal; font-size: 18px; color: var(--meta); }
.dhero__date em { margin-left: 12px; font-style: normal; font: 600 15px var(--num); color: var(--meta); }
.dhero__date.is-ended b, .dhero__date.is-ended i { color: var(--meta); }
.dended { margin: 10px 0 0; font-size: 14.5px; line-height: 1.8; color: var(--ink-3); }
.dended b { margin-right: .25em; font-weight: 800; color: var(--ink); }
.dsum { margin: 0 0 24px; }
.dsum__t, .dsum__more { display: none; }
.evdet__gist { margin: 0; font-size: 16.5px; line-height: 1.95; color: var(--ink); }
.evdet__lead { margin: 12px 0 0; font-size: 15px; line-height: 1.95; color: var(--ink-3); }
.ogp { display: block; margin: 0 0 14px; color: var(--ink); }
.ogp__img { display: block; aspect-ratio: 1200 / 630; overflow: hidden; border: 1px solid var(--line-2); border-radius: 10px; background: var(--mist); }
.ogp__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ogp__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 9px; font-size: 13.5px; font-weight: 700; line-height: 1.6; }
.ogp__d { display: block; margin-top: 2px; font: 500 12px var(--num); color: var(--meta); }
.ogp:hover .ogp__t { text-decoration: underline; text-underline-offset: 3px; }
.dact { display: none; }
.evdet__key { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.evdet__keyc { padding: 16px 20px 18px; border-left: 1px solid var(--line); }
.evdet__keyc:first-child { border-left: 0; }
.evdet__key dt { margin-bottom: 4px; font-size: 13px; font-weight: 700; color: var(--meta); letter-spacing: .06em; }
.evdet__key dd { margin: 0; font-size: 16px; font-weight: 800; line-height: 1.6; color: var(--ink); }
.evdet__key dd small { display: block; margin-top: 4px; font-size: 13px; font-weight: 500; line-height: 1.7; color: var(--ink-3); }
.evsec, .evrel { margin: 0 0 16px; padding: 26px 30px 24px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.evsec h2, .evrel h2 { margin: 0 0 14px; font-size: 21px; font-weight: 800; letter-spacing: .03em; line-height: 1.45; }
.evsec p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.95; color: var(--ink-2); }
.evsec p:last-child { margin-bottom: 0; }
.evsec ul { margin: 0; padding: 0 0 0 1.2em; }
.evsec li { margin: 0 0 8px; font-size: 15.5px; line-height: 1.85; color: var(--ink-2); }
.evsec li::marker { color: var(--pale); }
.evsec a { color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(39,66,214,.35); }
.evsec a:hover { text-decoration-color: currentColor; }
.evtable, .evprog__t { width: 100%; border-collapse: collapse; font-size: 15px; }
.evtable th, .evtable td, .evprog__t th, .evprog__t td { padding: 11px 14px; border: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.75; }
.evtable th { width: 132px; background: var(--mist); font-weight: 700; color: var(--ink-2); white-space: nowrap; }
.evtable td { color: var(--ink-2); }
.evprog__tabs { display: flex; gap: 6px; margin: 0 0 12px; }
.evprog__tabs [role="tab"] { height: 38px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: 14px; font-weight: 700; color: var(--ink-3); cursor: pointer; }
.evprog__tabs [role="tab"][aria-selected="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.evprog.is-tabbed .evprog__dh { display: none; }
.evprog__dh { margin: 18px 0 8px; font-size: 16px; font-weight: 800; }
.evprog__t th { background: var(--mist); font-size: 13px; font-weight: 700; color: var(--ink-3); }
.evprog__time { width: 104px; font: 700 14px/1.5 var(--num); color: var(--ink); white-space: nowrap; }
.evprog__to { display: block; font-weight: 500; color: var(--meta); }
.evprog__ttl { font-weight: 700; color: var(--ink); }
.evprog__who { width: 34%; font-size: 13.5px; color: var(--ink-3); }
.evprog__who-sp { display: none; }
.evprog__note { margin-top: 10px; font-size: 13px; color: var(--meta); }
.evsrc { margin: 10px 0 0; font-size: 13px; color: var(--meta); word-break: break-all; }
.evsrc a { color: var(--brand-2); }
.evrow__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.evsec .evtag { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; color: var(--ink-2); font-size: 14px; font-weight: 700; text-decoration: none; }
.evsec .evtag:hover { border-color: var(--brand); color: var(--brand-2); }
.evfaq dl { margin: 0; }
.evfaq dt { padding: 14px 0 6px; border-top: 1px solid var(--line); font-size: 16px; font-weight: 800; line-height: 1.7; color: var(--ink); }
.evfaq dt:first-child { border-top: 0; padding-top: 0; }
.evfaq dd { margin: 0 0 14px; font-size: 15px; line-height: 1.9; color: var(--ink-2); }
.evrel__g + .evrel__g { margin-top: 22px; }
.evrel h3 { margin: 0 0 8px; font-size: 15.5px; font-weight: 800; }
.evrel ul { margin: 0; padding: 0; list-style: none; }
.evrel li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 16px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.evrel li a { color: var(--ink); font-weight: 700; }
.evrel li a:hover { color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; }
.evrel li span { font: 500 13.5px var(--num); color: var(--meta); }
.evrel__more { margin: 10px 0 0; font-size: 14px; }
.evrel__more a { color: var(--brand-2); font-weight: 700; }
.dside { position: sticky; top: calc(var(--gh) + 16px); display: grid; gap: 14px; }
.dside__cta { padding: 22px 22px 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.dside__cta .b, .dact .b { display: flex; align-items: center; justify-content: center; height: 52px; border-radius: 10px; font-size: 15.5px; font-weight: 800; letter-spacing: .04em; }
.dside__cta .b--brand, .dact .b--brand { background: var(--brand); color: #fff; }
.dside__cta .b--brand:hover, .dact .b--brand:hover { background: var(--brand-2); }
.dside__cta .b--outline, .dact .b--outline { border: 1.5px solid var(--ink); color: var(--ink); background: #fff; }
.dside__cta .b--outline:hover, .dact .b--outline:hover { background: var(--ink); color: #fff; }
.evside__note { margin: 14px 0 0; font-size: 12.5px; line-height: 1.8; color: var(--meta); }
.dside__cta .evsrc a { word-break: break-all; }
.evpromo { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.evpromo__a { display: block; }
.evpromo__label { display: block; margin-bottom: 8px; font-size: 12.5px; font-weight: 700; color: var(--meta); }
.evpromo__img img { display: block; width: 100%; height: auto; border: 1px solid var(--line-2); border-radius: 8px; }
.evpromo__txt { display: block; margin-top: 10px; font-size: 13.5px; color: var(--ink-2); }
.evpromo__when, .evpromo__meta { display: block; }
.evpromo__when { font-weight: 800; color: var(--ink); }
.evpromo__nw { white-space: nowrap; }
.evpromo__btn { display: flex; align-items: center; justify-content: center; height: 42px; margin-top: 10px; border: 1.5px solid var(--ink); border-radius: 10px; font-size: 14px; font-weight: 800; color: var(--ink); }
.evpromo--body { display: none; margin: 0 0 16px; padding: 18px 22px 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
@media (max-width: 900px), (max-height: 859px) {
  .evpromo--side { display: none; }
  .evpromo--body { display: block; }
  .dside__cta .evpromo { display: none; }
}
@media (min-width: 600px) {
  .evpromo--body .evpromo__a { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 0 24px; align-items: center; }
  .evpromo--body .evpromo__label { grid-column: 1 / -1; }
  .evpromo--body .evpromo__txt { margin-top: 0; }
  .evpromo--body .evpromo__btn { width: auto; }
}
.dfind { padding: 20px 22px 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.dfind h2 { margin: 0 0 8px; font-size: 15px; font-weight: 800; letter-spacing: .04em; }
.dfind ul { margin: 0; padding: 0; list-style: none; }
.dfind li { padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.dfind li:last-child { border-bottom: 0; }
.dfind a { color: var(--brand-2); font-weight: 700; }
.dfind a:hover { text-decoration: underline; text-underline-offset: 3px; }
.dfind span { margin-left: 2px; font: 500 12.5px var(--num); color: var(--meta); }
.dfeat { margin-top: 36px; }
@media (min-width: 600px) and (max-width: 1023px) {
  .dact:not(.dact--btn) { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: 1fr auto auto 1fr; column-gap: 22px; }
  .dact:not(.dact--btn) .ogp { grid-column: 1; grid-row: 1 / -1; margin: 0; }
  .dact:not(.dact--btn) .b { grid-column: 2; }
  .dact:not(.dact--btn) .b--brand { grid-row: 2; }
  .dact:not(.dact--btn) .b--outline { grid-row: 3; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .dgrid { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
  .evdet__key { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evdet__keyc:nth-child(3) { border-left: 0; }
  .evdet__keyc:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 1023px) {
  .dband { padding: 10px 14px; }
  .dband__tg { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 44px; border: 1.5px solid rgba(255,255,255,.5); border-radius: 8px; background: transparent; color: #fff; font-size: 14.5px; font-weight: 700; cursor: pointer; }
  .dband .band__f { display: none; margin-top: 10px; }
  .dband.is-open .band__f { display: grid; }
  .dband .band__cal { height: 46px; border-radius: 8px; }
  .dwrap { padding: 14px 14px 72px; }
  .dcrumb { font-size: 12px; margin-bottom: 12px; }
  .dgrid { display: block; }
  .dhero { margin-bottom: 16px; }
  .dhero__h1 { font-size: 24px; }
  .dhero__date b { font-size: 26px; }
  .dact { display: block; margin: 0 0 14px; padding: 14px 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
  .dact--btn { padding: 0; background: none; border: 0; }
  .dact .ogp__t { -webkit-line-clamp: 1; font-size: 14px; }
  .dside__cta > .ogp, .dside__cta > .b { display: none; }
  .evdet__key { grid-template-columns: 1fr 1fr; margin-bottom: 18px; border-radius: 14px; }
  .evdet__keyc { padding: 13px 14px 14px; border-left: 0; border-top: 1px solid var(--line); }
  .evdet__key dt { margin-bottom: 2px; font-size: 12.5px; }
  .evdet__key dd { font-size: 14.5px; }
  .evdet__keyc--fee { order: 1; border-top: 0; }
  .evdet__keyc--scale { order: 2; border-top: 0; border-left: 1px solid var(--line); }
  .evdet__keyc--venue { order: 3; grid-column: 1 / -1; }
  .evdet__keyc--date { order: 4; grid-column: 1 / -1; }
  .evdet__keyc--fee dd, .evdet__keyc--venue dd { font-size: 17px; }
  .evdet__key .kv { font: 800 26px/1.2 var(--num); letter-spacing: -.01em; }
  .evdet__keyc--fee .kv { display: block; font: 800 24px/1.3 var(--jp, inherit); }
  .evdet__key .kn { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 500; line-height: 1.6; color: var(--ink-3); }
  .evdet__key .kl { display: block; font-size: 12.5px; font-weight: 700; color: var(--ink-3); }
  .evdet__key .ku { font-size: 13px; font-weight: 700; color: var(--ink-2); }
  .evdet__key dd small { font-size: 12.5px; }
  .dsum { display: flex; flex-direction: column; margin: 0 0 18px; }
  .dsum__t { display: block; margin: 0 0 6px; font-size: 15px; font-weight: 800; color: var(--ink); }
  .dsum .evdet__lead { order: 1; margin: 0; font-size: 15px; line-height: 1.9; color: var(--ink-2); }
  .dsum .evdet__gist { order: 2; margin: 12px 0 0; font-size: 15px; line-height: 1.9; }
  .dsum:not(.is-open) .evdet__lead { max-height: 5.7em; overflow: hidden; }
  .dsum:not(.is-open) .evdet__gist { display: none; }
  .dsum__more { display: block; order: 3; align-self: flex-start; margin: 6px 0 0; padding: 6px 0; border: 0; background: none; font-size: 14.5px; font-weight: 800; color: var(--brand-2); cursor: pointer; }
  .evsec, .evrel { padding: 20px 16px 18px; border-radius: 14px; }
  .evsec h2, .evrel h2 { font-size: 18.5px; }
  .evsec p, .evsec li { font-size: 15px; }
  .evtable th { width: 88px; white-space: normal; }
  .evtable th, .evtable td { padding: 9px 10px; font-size: 14px; }
  .evprog__who { display: none; }
  .evprog__who-sp { display: block; margin-top: 4px; font-size: 13px; font-weight: 500; color: var(--ink-3); }
  .evprog__time { width: 76px; }
  .dside { position: static; margin-top: 18px; }
  .dfeat { margin-top: 24px; }
}
/* ---- 試作：tools/v2_ev_extra.css ---- */
:root { --fx: var(--pad); --gh: var(--hd-h, 74px); }
@media (max-width: 1023px) {
  :root { --gh: var(--hd-h, 74px); }
  .ttl { padding-left: var(--pad); padding-right: var(--pad); }
}
.v2-ev .head__nav a.is-active { background: none; color: var(--ink-2); }
.v2-ev .head__nav a.is-active:hover { background: var(--bg-2); color: var(--ink); }
.v2-ev .head__nav a[href$="/events/"] { background: var(--ink); color: #fff; }
.opt--group .opt__l { font-weight: 700; color: var(--ink); }
/* ---- 外枠をそろえる（試作の --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; }
