.calendar {
    min-width: 800px;
    border: none;
    font-family: var(--document_general_font_code);
    font-size: calc(var(--original_container_font_size) * 0.75);
}

.calendar > caption > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.calendar > caption > div > button {
    width: calc(var(--document_general_size_font) * 4);
    border-bottom: none;
}

.calendar tbody > tr td {
    position: relative;
    height: 92px;
}
.calendar tr td:first-child,
.calendar tr td.isHoliday,
.calendar tr td.onlyHoliday {
    color: #f00;
}
.calendar tr td:last-child {
    color: #00f;
}
.calendar tr td.today:after {
    content: '';
    pointer-events: none;
    user-select: none;
    position: absolute;
    top: -3px;
    left: -3px;
    width: 100%;
    height: 100%;
    border: solid 3px var(--original_sidebar_calendar_today_color);
}
.calendar tr td.event {
    background-color: #0004;
}
.calendar tr td:first-child.event,
.calendar tr td.isHoliday.event {
    background-color: #f004;
}
.calendar tr td:last-child.event {
    background-color: #00f4;
}
.calendar tr td.onlyHoliday.event {
    background-color: transparent;
}

.calendar tr td > .event {
    overflow: hidden;
    text-align: left;
    border: solid 1px var(--document_general_color_use);
    color: var(--document_general_color_use);
    background-color: var(--document_general_color_base);
}

.calendar tr td > .event > a {
    display: block;
    border-bottom: none;
    transition: 0;
}
.calendar tr td > .event > a:hover {
    display: block;
    border-bottom: none;
    transition: 0;
}

.calendar tr td > .event > * > .time {
    font-size: calc(var(--original_container_font_size) * 0.6);
}
.calendar tr td > .event > * > .title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
