/*!
 * JAM'S FANDOM Schedule — 予定カレンダー（ウィジェット）
 * docs/design/top-mock.html v7 のサイドバーの予定カレンダーの移植。スマホ幅では非表示。
 */
.jfw{
  --ink:#333; --ink-2:#666; --ink-3:#999; --deep:#002928; --deep-2:#005e3c; --lime-2:#e2ff91;
  --sun:#c4083a; --sat:#2f6fd1; --today-col:#f4fbdd;
  display:block;color:var(--ink);font-family:var(--jf-jp);font-size:14px;line-height:1.6;text-align:left
}
@media (max-width:719px){.jf-schedule-calendar-widget,.jfw{display:none!important}}
.jfw *,.jfw *::before,.jfw *::after{box-sizing:border-box}
.jfw :where(div,span,b,i,small){margin:0;padding:0;border:0;background:none}
.jfw button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-transform:none;letter-spacing:inherit;box-shadow:none;border-radius:0;min-height:0;width:auto;line-height:inherit;text-align:inherit}
.jfw button:focus-visible,.jfw a:focus-visible{outline:2px solid var(--deep-2);outline-offset:2px;border-radius:6px}
.jfw .dot{width:8px;height:8px;border-radius:50%;background:var(--c);display:inline-block;flex:none}
.jfw .fc{display:inline-block;font-family:var(--jf-en);font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1;padding:3px 5px;border-radius:4px;background:var(--deep);color:var(--lime-2);vertical-align:1px;margin-left:5px}
.jfw .new{display:inline-block;font-family:var(--jf-en);font-size:9px;font-weight:800;letter-spacing:.08em;line-height:1.4;padding:2px 6px;border-radius:4px;background:var(--sun);color:#fff;margin-left:6px;vertical-align:2px}
.jfw .new.start{background:#6b7280}
.jfw .jfw-all{display:flex;justify-content:flex-end;margin:-4px 0 6px}
.jfw .jfw-all a{font-size:11.5px;color:var(--deep-2);font-weight:700;text-decoration:none}
.jfw .mini{border:1px solid #e6e6e6;border-radius:6px;overflow:hidden;background:#fff}
.jfw .mh{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#fafafa;border-bottom:1px solid #eee}
.jfw .mh b{font-family:var(--jf-en);font-weight:800;font-size:14px;color:var(--deep)}
.jfw .mh button{width:32px;height:32px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:14px;display:grid;place-items:center}
.jfw .mgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.jfw .mgrid .w{font-size:11px;text-align:center;padding:5px 0;color:#666;background:#f3f3f3}
.jfw .mgrid .w.sat{color:var(--sat)} .jfw .mgrid .w.sun{color:var(--sun)}
.jfw .mc{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0 4px;min-height:44px;border-top:1px solid #f1f1f1;text-align:center}
.jfw .mc:hover{background:#f7faef}
.jfw .mc .n{font-family:var(--jf-en);font-weight:700;font-size:12.5px;width:22px;height:22px;line-height:22px;border-radius:50%;text-align:center;color:#333}
.jfw .mc.sat .n{color:var(--sat)} .jfw .mc.sun .n,.jfw .mc.hol .n{color:var(--sun)}
.jfw .mc.other .n{color:#ccc}
.jfw .mc.today{background:var(--today-col)} .jfw .mc.today .n{background:var(--deep);color:var(--lime-2)}
.jfw .mc .dots{display:flex;gap:2px;height:6px}
.jfw .mc .dots .dot{width:5px;height:5px}
.jfw .mc.sel{outline:2px solid var(--deep-2);outline-offset:-2px}
.jfw .mlegend{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:10.5px;color:#666;margin-top:8px;line-height:1.5}
.jfw .mlegend span{display:inline-flex;align-items:center;gap:4px}
.jfw .mlist{margin-top:10px;border:1px solid #eee;border-radius:6px;overflow:hidden;background:#fff}
.jfw .mlist .mlh{font-size:12px;font-weight:700;padding:6px 10px;background:#fafafa;border-bottom:1px solid #eee;font-family:var(--jf-en)}
.jfw .row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 8px;align-items:center;width:100%;min-height:48px;padding:8px 12px;border-bottom:1px solid #f0f2ea;text-align:left}
.jfw .row:last-child{border-bottom:0}
.jfw .row:hover{background:#f8fbef}
.jfw .row .tm{font-family:var(--jf-en);font-weight:800;font-size:11.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.jfw .row .tm.ad{font-size:9px;letter-spacing:.1em;color:var(--ink-3)}
.jfw .row .t{font-size:13px;font-weight:700;line-height:1.4;color:#222}
.jfw .row .t .dot{margin-right:6px;vertical-align:1px}
.jfw .row .s{grid-column:2;font-size:11px;color:var(--ink-3);line-height:1.35}
.jfw .none{padding:10px 12px;font-size:12px;color:#999}
