/* イベント 作り込み */
.kev-bar{position:sticky;top:56px;z-index:30;background:#FFF8EC;padding:8px 0 6px;margin:0 0 6px;border-bottom:2px dashed rgba(19,41,75,.25)}
.kev-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:0 0 6px}
.kev-dates{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.kev-dates::-webkit-scrollbar{display:none}
.kev-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;min-height:38px;padding:4px 12px;border:2.5px solid #13294B;border-radius:999px;background:#fff;font:900 13px 'Zen Maru Gothic',sans-serif;color:#13294B;cursor:pointer;box-shadow:2px 3px 0 #13294B;white-space:nowrap}
.kev-chip small{font-size:11px;font-weight:900;background:#FFF3C4;border:1.5px solid #13294B;border-radius:999px;padding:0 6px;line-height:16px}
.kev-chip small:empty{display:none}
.kev-chip.on{background:#13294B;color:#fff}
.kev-chip.on small{background:#FFC53D;color:#13294B}
.kev-chip.tog{background:#fff;font-size:12.5px}
.kev-chip.tog.on{background:#7BDB9A;color:#13294B}
.kev-chip:active{transform:translate(1px,2px);box-shadow:1px 1px 0 #13294B}
.kev-q{flex:1;min-width:160px}
.kev-q input{width:100%;min-height:38px;border:2.5px solid #13294B;border-radius:999px;padding:4px 14px;font:700 13px 'Zen Maru Gothic',sans-serif;color:#13294B;background:#fff;outline:none}
.kev-q input:focus{box-shadow:0 0 0 3px rgba(255,197,61,.6)}
.kev-cnt{margin:0;font-size:12px;font-weight:900;color:#4A5875}
.kev-cnt:empty{display:none}
/* 並び替え後の見出し */
.kev-h{display:inline-block;margin:18px 0 10px}
.kev-h small{font-size:12px;font-weight:700;opacity:.75;margin-left:6px}
.kev-off{display:none !important}
.kev-hide{display:none !important}
.kev-fold{display:none}
.kev-empty{background:#fff;border:2.5px dashed #13294B;border-radius:16px;padding:16px;font-size:14px;font-weight:700;text-align:center;margin:12px 0}
.kev-more{margin:14px 0 4px;text-align:center}
.kev-morebtn{font:900 15px 'Zen Maru Gothic',sans-serif;color:#13294B;background:#FFC53D;border:2.5px solid #13294B;border-radius:999px;padding:12px 24px;cursor:pointer;box-shadow:3px 4px 0 #13294B}
.kev-morebtn:active{transform:translate(2px,3px);box-shadow:1px 1px 0 #13294B}
/* カードの印 */
.kn-ev .tg .kev-left{background:#FF5A3C;color:#fff;border-color:#13294B}
.kn-ev .tg .kev-free{background:#7BDB9A}
.kn-ev .tg .kev-noapp{background:#FFF3C4}
.kn-ev .tg .kev-long{background:#EDE4FF}
/* 本文は3行まで */
.kn-ev .nt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* カレンダー追加はまとめて1つに */
.kn-ev .ad .kn-add{display:none}
.kn-ev .ad.open .kn-add{display:inline-flex}
.kn-ev .ad .kev-cal{display:inline-flex;align-items:center;min-height:30px;padding:2px 10px;border:2px solid #13294B;border-radius:999px;background:#fff;font-size:11.5px;font-weight:900;margin:0 6px 4px 0;cursor:pointer}
.kn-ev .ad.open .kev-cal{background:#FFF3C4}
@media(max-width:640px){.kev-bar{top:52px}}

/* ===== デザイン ===== */
main .kn-dh1{margin-bottom:6px}
.kev-hero{position:relative;background:#fff;border:3px solid #13294B;border-radius:22px;box-shadow:5px 6px 0 #13294B;padding:10px 12px 12px;margin:0 0 16px;overflow:hidden}
.kev-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(19,41,75,.08) 1.5px,transparent 1.6px);background-size:16px 16px;pointer-events:none}
.kev-hero-art{position:relative}
.kev-hero-art svg{display:block;width:100%;height:auto;max-height:120px}
.kev-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.kev-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#FFF8EC;border:2.5px solid #13294B;border-radius:16px;box-shadow:3px 4px 0 #13294B;padding:8px 4px 7px;cursor:pointer;font-family:inherit;color:#13294B}
.kev-stat b{font-size:28px;font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}
.kev-stat small{font-size:12px;font-weight:900;margin-top:2px}
.kev-stat:nth-child(1){background:#FFE4EE}.kev-stat:nth-child(2){background:#FFF3C4}.kev-stat:nth-child(3){background:#E3F8E8}
.kev-stat:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #13294B}
/* 月の見出し */
[data-kn-evmonth] > .kn-h2,.kev-h{position:relative;padding-left:14px;font-size:19px}
[data-kn-evmonth] > .kn-h2::before,.kev-h::before{content:"";position:absolute;left:0;top:4px;width:7px;height:1.1em;background:var(--mk,#FFC53D);border:2px solid #13294B;border-radius:4px}
/* カード：チケット風、傾きはやめて整列 */
.kn-ev{transform:none !important;box-shadow:4px 5px 0 #13294B;border-radius:18px;transition:transform .12s}
.kn-ev:active{transform:translate(2px,2px) !important;box-shadow:1px 1px 0 #13294B}
.kn-ev .d{flex-basis:66px;position:relative;border-right:2.5px dashed #13294B;gap:2px;padding:10px 0}
.kn-ev .d::before,.kn-ev .d::after{content:"";position:absolute;right:-9px;width:14px;height:14px;border-radius:50%;background:#FFF8EC;border:2.5px solid #13294B;z-index:1}
.kn-ev .d::before{top:-9px}.kn-ev .d::after{bottom:-9px}
.kn-ev .d small{font-size:12px;font-weight:900}
.kn-ev .d b{font-size:24px}
.kn-ev .d .kev-wd{font-style:normal;font-size:11px;font-weight:900;background:#fff;border:2px solid #13294B;border-radius:999px;padding:0 7px;line-height:16px;margin:2px 0}
.kn-ev .d .kev-wd.sat{background:#8FD3FF}.kn-ev .d .kev-wd.sun{background:#FF8FB1}
.kn-ev .t{padding:12px 14px 12px;gap:5px}
.kn-ev .t > b{font-size:16px;line-height:1.35}
.kn-ev .t > small:not(.nt){display:flex;align-items:center;gap:4px;font-weight:700}
.kn-ev .t > small:not(.nt)::before{content:"";flex:0 0 12px;width:12px;height:12px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 22s-7-6-7-12a7 7 0 0 1 14 0c0 6-7 12-7 12z' fill='%23FF5A3C' stroke='%2313294B' stroke-width='2'/><circle cx='12' cy='10' r='2.5' fill='%23fff' stroke='%2313294B' stroke-width='1.5'/></svg>") no-repeat center/contain}
.kn-ev .tg em{font-weight:900;font-size:10.5px}
.kn-ev .tg em.now{display:none}
.kn-ev .ad{margin-top:8px;align-items:center}
.kn-ev .kn-planadd{margin-top:6px}
@media(max-width:640px){.kev-stat b{font-size:24px}.kev-hero-art svg{max-height:96px}}
