@charset "utf-8";

.content_area.business_day {
    padding-bottom: 182px;
}

/*------------ for holiday titles ------------*/

.content_area.business_day .xo-event-calendar {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    font-family: 'Noto Serif JP', serif;
}

.xo-event-calendar p.holiday-title {
    text-align: right;
    padding: 0;
    margin: 0 0 6px;
}

/*------------ calendar flex ------------*/
/* .month-prev,
.month-next {
    display: none;
} */

.calendars {
    display: flex;
    flex-wrap: wrap;
}

.calendar {
    width: calc(100% / 3 - 20px);
    margin: 0 30px 20px 0;
    padding: 12px 16px 10px;
    border: 1px solid #ccc;
    overflow: hidden;
}

.calendar:nth-child(3n) {
    margin-right: 0;
}

/*------------ calendar table ------------*/
.xo-event-calendar table.xo-month .month-header {
    margin: 0 0 -8px;
}

.xo-event-calendar table.xo-month .month-header>span {
    letter-spacing: 0.1em;
}

.xo-event-calendar table.xo-month {
    margin: 0;
    border: none;
    border-spacing: 0 10px;
}

.xo-event-calendar thead {
    position: relative;
}

.xo-event-calendar thead::before {
    position: absolute;
    content: "";
    width: calc(100% + 100px);
    height: 100%;
    height: 26px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #F0F2FF;
    z-index: -5;
}

.xo-event-calendar table.xo-month>thead th.sunday {
    color: #f74a2c;
}

/* .xo-event-calendar table tr:first-child {
    border:none;
} */

.xo-event-calendar table.xo-month th,
.xo-event-calendar table.xo-month td {
    padding: 0 9px !important;
    background-color: transparent;
    border: none;
}

.xo-event-calendar table.xo-month th {
    line-height: 26px;
}


.xo-event-calendar table.xo-month .month-dayname td div {
    line-height: 24px;
    text-align: center;

    height: auto;
    padding: 0;
    /* font-size: 1em; */
    position: relative;
}

.xo-event-calendar table.xo-month .month-dayname td div.today {
    color: #222;
    font-weight: 400;
}

/*.xo-event-calendar table.xo-month .month-dayname td div.today::before {
    position: absolute;
    content: "";
    width: 1.8em;
    height: 1.8em;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border: 1px solid orange;
    border-radius: 50%;
} */

.xo-event-calendar table.xo-month .month-dayname-space {
    height: 24px;
}

.xo-event-calendar .other-month {
    display: none;
}

/*------------ カレンダー下半分、イベント側を隠す ------------*/
.xo-event-calendar .month-event,
.xo-event-calendar .month-event-space {
    display: none;
}


@media screen and (max-width: 767px) {
    /*------------ for holiday titles ------------*/

    /* .content_area.business_day .xo-event-calendar {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        font-family: 'Noto Serif JP', serif;
    }

    .xo-event-calendar p.holiday-title {
        text-align: right;
        padding: 0;
        margin: 0 0 6px;
    } */

    /*------------ calendar flex ------------*/
    .calendar {
        width: calc(50% - 2.5px);
        margin: 0 5px 15px 0 !important;
        padding: 6px 8px 10px;
    }

    .calendar:nth-child(2n) {
        margin-right: 0 !important;
    }

    /*------------ calendar table ------------*/
    .xo-event-calendar table.xo-month .month-header {
        margin: 0;
    }

    .xo-event-calendar table.xo-month {
        margin: 0;
        border: none;
        border-spacing: 0 2px;
    }

    /* .xo-event-calendar thead {
        position: relative;
    } */

    .xo-event-calendar thead::before {
        /* position: absolute;
        content: "";
        width: calc(100% + 100px);
        height: 100%; */
        height: 26px;
        /* bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        background-color: #F0F2FF;
        z-index: -5; */
    }

    /* .xo-event-calendar table.xo-month>thead th.sunday {
        color: #f74a2c;
    } */

    .xo-event-calendar table.xo-month th,
    .xo-event-calendar table.xo-month td {
        font-size: 1.2rem;
        padding: 0 1px !important;
        /* background-color: transparent;
        border: none; */
    }

    .xo-event-calendar table.xo-month th {
        line-height: 26px;
    }


    .xo-event-calendar table.xo-month .month-dayname td div {
        line-height: 24px;
        /* text-align: center;

        height: auto;
        padding: 0;
        position: relative; */
    }

    /* .xo-event-calendar table.xo-month .month-dayname td div.today {
        color: #222;
        font-weight: 400;
    } */

    .xo-event-calendar table.xo-month .month-dayname-space {
        height: 24px;
    }

    /* .xo-event-calendar .other-month {
        display: none;
    } */

    /*------------ カレンダー下半分、イベント側を隠す ------------*/
    /* .xo-event-calendar .month-event,
    .xo-event-calendar .month-event-space {
        display: none;
    } */

}