.cal-section{padding:8px 0 var(--section-y)}.cal-honorific{font-size:var(--font-size-14,.875rem);color:var(--text-sub);text-align:right;margin:0 0 8px}.cal{--c-morning:#b45309;--c-evening:var(--brand-night);--c-off:#80868b;--c-real:var(--brand);--c-party:#c2185b;--c-tour:#188038;--c-talk:#7b3fb0;--c-seminar:#00796b}.cal__bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal__pick{flex:1;justify-content:center;gap:6px;min-width:0;display:flex}.cal__select{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--white) 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 1l5 5 5-5' fill='none' stroke='%2300428c' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 10px center;-webkit-appearance:none;appearance:none;min-height:44px;font:inherit;color:var(--text);cursor:pointer;padding:0 28px 0 10px;font-size:clamp(1.1rem,3vw,1.4rem);font-weight:700}.cal__select:hover{background-color:var(--brand-soft)}.cal__select:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.cal__nav,.cal__today{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--white);min-height:44px;color:var(--brand-strong);font:inherit;cursor:pointer;padding:0 14px;font-weight:700}.cal__nav{align-items:center;gap:4px;font-size:1.1rem;display:inline-flex}.cal__nav-text{font-size:.95rem}.cal__nav:hover,.cal__today:hover{background:var(--brand-soft)}.cal__nav:focus-visible,.cal__today:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.cal__legend{color:var(--text-sub);flex-wrap:wrap;gap:6px 16px;margin:0 0 12px;padding:0;font-size:.9rem;list-style:none;display:flex}.cal__legend li{align-items:center;gap:6px;display:inline-flex}.cal__dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.cal__dot--morning{background:var(--c-morning)}.cal__dot--evening{background:var(--c-evening)}.cal__dot--off{background:var(--c-off)}.cal__dot--real{background:var(--c-real)}.cal__dot--party{background:var(--c-party)}.cal__dot--tour{background:var(--c-tour)}.cal__dot--talk{background:var(--c-talk)}.cal__dot--seminar{background:var(--c-seminar)}.cal__status{color:var(--text-sub)}.cal__grid{table-layout:fixed;border-collapse:collapse;background:var(--white);width:100%}.cal__grid th{color:var(--text-sub);border-bottom:1px solid var(--line);padding:6px 0;font-size:.85rem;font-weight:500}.cal__grid th.is-sat{color:var(--brand)}.cal__grid th.is-sun{color:#b3261e}.cal__grid td{border:1px solid var(--line);vertical-align:top;height:104px;padding:0}.cal__day{text-align:left;width:100%;height:100%;min-height:44px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:3px;padding:4px;display:flex}.cal__day:hover{background:var(--brand-soft)}.cal__day:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}.cal__day.is-other{color:#9aa0a6;background:#fafafa}.cal__day.is-selected{background:var(--sun-soft);box-shadow:inset 0 0 0 2px var(--sun)}.cal__num{font-size:.85rem;font-weight:700;line-height:1.2}.cal__num.is-today{text-align:center;background:var(--brand);min-width:1.6em;color:var(--white);border-radius:999px;align-self:flex-start;padding:0 4px;display:inline-block}.cal__item{white-space:nowrap;text-overflow:ellipsis;background:#f6f7f9;border-left:3px solid;border-radius:2px;padding:1px 4px;font-size:.72rem;line-height:1.3;display:block;overflow:hidden}.cal__item b,.cal__item span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cal__item span{color:var(--text)}.cal__item--morning{color:var(--c-morning)}.cal__item--evening{color:var(--c-evening)}.cal__item--off{color:var(--c-off)}.cal__item--real{color:var(--c-real)}.cal__item--party{color:var(--c-party)}.cal__item--tour{color:var(--c-tour)}.cal__item--talk{color:var(--c-talk)}.cal__item--seminar{color:var(--c-seminar)}.cal__item--other{color:var(--text-sub)}.cal__item--off span{color:var(--c-off)}.cal__dots{flex-wrap:wrap;gap:3px;display:none}.cal__detail{border-radius:var(--radius-m);background:var(--white);width:min(520px,100vw - 32px);max-height:min(80vh,640px);color:var(--text);border:0;padding:0;box-shadow:0 12px 40px #1f2a4a40}.cal__detail::backdrop{background:#001e3c73}.cal__detail-head{background:var(--white);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 16px 12px 20px;display:flex;position:sticky;top:0}.cal__detail-head h3{flex:1;margin:0;font-size:1.1rem}.cal__close{border:1px solid var(--line);background:var(--white);width:44px;height:44px;color:var(--text-sub);cursor:pointer;border-radius:50%;flex:none;font-size:1.4rem;line-height:1}.cal__close:hover{background:var(--brand-soft)}.cal__close:focus-visible{outline:3px solid var(--sun);outline-offset:2px}[data-detail]{padding:16px 20px 20px}[data-detail]>p{margin:0}.cal__detail ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cal__detail li{border-left:4px solid var(--line);padding-left:12px}.cal__detail .k{font-size:.8rem;font-weight:700}.cal__detail .t{font-weight:700}.cal__detail .m{color:var(--text-sub);font-size:.9rem}.cal__note{color:var(--text-sub);margin-top:20px;font-size:.9rem}@media (width<=640px){.cal__detail{border-radius:var(--radius-m) var(--radius-m) 0 0;width:100vw;max-width:100vw;max-height:75vh;margin:auto 0 0}.cal__nav-text{display:none}.cal__grid td{height:60px}.cal__day{align-items:center;padding:3px 2px}.cal__num{font-size:.8rem}.cal__item{display:none}.cal__dots{justify-content:center;display:flex}}
