/* Christian Japan */
.calwrap{max-width:1180px;margin:0 auto;padding:0 24px 60px}
.calhero{grid-template-columns:1.1fr .9fr!important}
.calhero .cjt{margin-left:auto}
.mjump{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
.mjump a{font:600 .7rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:4px;padding:7px 9px;background:#fff}
.mjump a:hover{border-color:var(--shu);color:var(--shu)}
.fg input[type=search]{font:400 .85rem var(--sans);border:1px solid var(--line);border-radius:30px;padding:8px 14px;min-width:220px;background:#fff}
.fg label.ck{font:500 .8rem var(--sans);display:flex;gap:6px;align-items:center;color:var(--ink)}
.calstat{font-size:.78rem;color:var(--mute);margin-left:auto}
.oc-month{display:grid;grid-template-columns:300px 1fr;gap:36px;padding:34px 0;border-top:1px solid var(--line);scroll-margin-top:200px}
.oc-month[hidden]{display:none}
.oc-mside{position:sticky;top:200px;align-self:start}
.oc-mside h2{font:400 2.4rem/1 var(--serif);margin:0 0 4px}.oc-mside h2 span{font:500 1.1rem var(--mincho,"Shippori Mincho",serif);color:var(--mute);margin-left:10px}
.oc-mside .oc-mc{font-size:.76rem;color:var(--mute);margin-bottom:14px}
.oc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.oc-grid a,.oc-grid span{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font:500 .78rem var(--sans);border-radius:4px;text-decoration:none;position:relative}
.oc-grid span{color:#c3b9a6;background:transparent;border:1px dashed var(--line)}
.oc-grid a{color:var(--ink);background:#fff;border:1px solid var(--line)}
.oc-grid a:hover{border-color:var(--ink)}
.oc-grid a.n2{background:#efe8dc}.oc-grid a.n3{background:#e4d8c3}
.oc-grid a.fd{background:var(--gold);color:#fff;border-color:var(--gold)}
.oc-grid a.today{outline:2px solid var(--shu);outline-offset:1px}
.oc-grid a i{position:absolute;bottom:3px;left:50%;transform:translateX(-50%);display:flex;gap:2px}
.oc-grid a i b{width:4px;height:4px;border-radius:50%;background:var(--c)}
.oc-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;font-size:.7rem;color:var(--mute)}
.oc-legend em{display:inline-block;width:11px;height:11px;border-radius:2px;vertical-align:-1px;margin-right:4px;font-style:normal;border:1px solid var(--line)}
.oc-days{display:grid;gap:4px}
.oc-day{display:grid;grid-template-columns:64px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);scroll-margin-top:200px}
.oc-day[hidden]{display:none}
.oc-day:target{background:linear-gradient(90deg,rgba(168,133,62,.12),transparent);border-radius:4px}
.oc-dnum{font:500 2rem/1 var(--serif);color:var(--ink)}.oc-dnum small{display:block;font:600 .6rem/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.oc-day.hasfeast .oc-dnum{color:var(--gold)}
.oc-ent{padding:6px 0 10px;border-left:3px solid var(--c);padding-left:12px;margin-bottom:6px}
.oc-ent[hidden]{display:none}
.oc-ent.feast{background:rgba(168,133,62,.09);border-left-color:var(--gold);border-radius:0 4px 4px 0;padding-top:8px}
.oc-ent .oc-yr{font:600 .95rem var(--serif);color:var(--c);margin-right:6px}
.oc-ent.feast .oc-yr{font:600 .6rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.oc-ent .oc-ev{font:400 1.12rem/1.45 var(--serif)}
.oc-ent .oc-ev a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(35,57,91,.25)}.oc-ent .oc-ev a:hover{color:var(--shu)}
.oc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.oc-chip{font:600 .58rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:20px;padding:4px 7px;color:var(--mute);background:#fff}
.oc-chip.oc-era{background:var(--c);border-color:transparent;color:#fff}.oc-chip.oc-lab{color:var(--shu);border-color:rgba(181,69,43,.45)}.oc-chip.oc-fe{background:var(--gold);color:#fff;border-color:var(--gold)}
.oc-chip.oc-pl{text-transform:none;letter-spacing:0;font-weight:500;font-size:.7rem}
.oc-also{font-size:.74rem;color:var(--mute)}.oc-also a{color:var(--ai);text-decoration:none}.oc-also a:hover{color:var(--shu)}
.oc-src{font-size:.72rem;color:var(--mute);margin-top:4px}.oc-src summary{cursor:pointer;color:var(--ai);font-weight:500}
.oc-src p{margin:6px 0 0;line-height:1.5;word-break:break-word}.oc-src .oc-cn{font-style:italic}
.oc-empty{padding:40px 0;color:var(--mute);text-align:center}
.calnote{font-size:.8rem;color:var(--mute);max-width:52em;line-height:1.55;margin:26px 0 0}
@media (max-width:900px){.calhero{grid-template-columns:1fr!important}.calhero .cjt{margin:0}.oc-month{grid-template-columns:1fr;gap:18px}.oc-mside{position:static}.oc-grid{max-width:340px}}
@media (max-width:600px){.calwrap{padding:0 16px 40px}.filters{top:56px;position:static}.fg input[type=search]{min-width:0;width:100%}.fl{width:auto;margin-right:4px}.oc-day{grid-template-columns:44px 1fr;gap:10px}.oc-dnum{font-size:1.6rem}.calstat{margin-left:0}}
.calwrap .oc-month[id]{scroll-margin-top:190px}.calwrap .oc-day[id]{scroll-margin-top:200px}
@media (max-width:600px){.calwrap .oc-month[id],.calwrap .oc-day[id]{scroll-margin-top:70px}}
.oc-src summary{display:inline-block;padding:0;margin:4px 0 0;font:500 .74rem var(--sans);color:var(--ai)}
