.calendar_container {
    width: 100%;
}


td.fc-day {
    background-color: rgba(255, 255, 255, 0.4);
}

td.fc-day.fc-day-disabled {
    background-color: rgba(255, 255, 255, 0.4);
}

.fc-next-button {
    padding-right: 0 !important;
}

.fc-prev-button {
    padding-left: 0 !important;
}

thead::after {
    content: "";
    display: table-row;
    height: 8px;
}

#calendar {
    max-width: 1440px;
    margin: 0 auto;
    width: 100%;
    padding: 0 80px;
    box-sizing: border-box;
}

.fc a.fc-col-header-cell-cushion {
    font-family: var(--font-shippori);
    font-weight: 700;
    font-size: 24px;
}

#calendar .acms-table-responsive {
    border: none !important;
}

#calendar .acms-table-responsive .acms-table {
    border: none !important;
}

#calendar .weekLabel {
    text-align: center;
    padding: 0;
}

#calendar .day-td {
    padding: 0px;
}

#calendar .day-td .day {
    padding-right: 4px;
}

#calendar .day-td .day {
    text-align: right;
}

.fc-scrollgrid.fc-scrollgrid-liquid {
    border-top: none !important;
    border-left: none !important;
}

.fc-scrollgrid-sync-inner {
    padding-bottom: 0px;
}

.fc-day-today {
    background-color: rgba(76, 72, 58, 0.1) !important;
}

.fc-view-harness {
    background-color: transparent;
}

thead tr th {
    border: none !important;
}

#calendartable {
    /* width: 100%; */
}

.fc-daygrid-day-events {
    margin-top: 15px !important;
    margin-bottom: 0px !important;
}

#calendar .fullcalendar-item {
    border-style: solid;
    border-width: 1px;
    border-color: rgb(103, 158, 182);
    background-color: rgb(203, 222, 231);
    border-left-width: 10px !important;
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    pointer-events: none;
}

#calendar .fullcalendar-item .fc-event-main-frame .fc-event-title-container {
    line-height: 1em !important;
    padding-left: 6px;
}

#calendar .fullcalendar-item:nth-child(3) {
    border-color: rgb(211, 140, 102);
    background-color: rgb(238, 213, 200);
}

#calendar .fullcalendar-item:nth-child(4) {
    border-color: rgb(196, 177, 91);
    background-color: rgb(234, 226, 189);
}




.fullcalendar-item {
    margin-bottom: 12px;
    border-left-width: 10px;
    border-radius: 0%;
    min-height: 60px;
    line-height: 60px;
    margin-left: -1px !important;
    margin-right: -1px !important;
}

.fc-daygrid-event-harness:last-child .fullcalendar-item {
    margin-bottom: 24px;
}

.fc-today-button {
    /* display: none !important; */
}

.fc-header-toolbar {
    /* display: block !important;
    position: relative; */
}

#calendar.fc .fc-toolbar-title {
    font-size: 40px;
}


.fc-header-toolbar .fc-button-group {
    /* display: flex;
    margin-left: 0;
    justify-content: space-between;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; */
}

.fc-header-toolbar .fc-button-group .fc-button-primary {
    /* width: 40px; */
}

.fc-header-toolbar .fc-toolbar-chunk .fc-button-primary:focus {
    outline: revert !important;
    box-shadow: revert !important;
}

.fc-header-toolbar .fc-toolbar-chunk .fc-button-primary span {
    font-size: 2rem;
}

.fc-toolbar-chunk button {
    background-color: transparent !important;
    color: var(--color-text-entry) !important;
    border: none !important;

}

.fc .fc-view-harness-active>.fc-view,
.fc .fc-scroller-liquid-absolute {
    position: static !important;
}

.fc .fc-view-harness {
    height: 100% !important;
}

.fc-theme-standard td,
.fc-theme-standard th,
.fc-theme-standard .fc-scrollgrid {
    border-color: var(--color-text-entry) !important;
}

.fc-scrollgrid-sync-table {
    border-top: 1px solid var(--color-text-entry) !important;
    border-left: 1px solid var(--color-text-entry) !important;
}

.fc-event-title-container {}

.fc-event-title-container div:first-child {
    font-size: 12px;
    font-weight: 400;
    color: var(--color-text-entry);
    line-height: 1em;
    padding-top: 12px;
}

.fc-event-title-container div:last-child {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-entry);
    line-height: 1em;
    display: block;
    padding-top: 14px;
    padding-bottom: 12px;
}

@media (max-width: 1099px) {
    #calendar {
        padding: 0 22px;
    }
}

@media (max-width: 767.98px) {
    .calendar_container {
        position: relative;
        overflow-x: scroll;
        /* 横スクロール有効 */
        -webkit-overflow-scrolling: touch;
        /* iOSでスムーズスクロール */
        box-sizing: border-box;
    }

    #calendar {
        position: absolute;
        width: 788px;
        top: 0;
        left: 0;
        padding: 0 22px;
    }

    thead::after {
        height: 4px;
    }

    .fc a.fc-col-header-cell-cushion {
        font-size: 16px;
    }

    /* スクロールバー全体の高さ */
    .calendar_container::-webkit-scrollbar {
        height: 16px;
        /* 高さ */
    }

    /* 背景（トラック） */
    .calendar_container::-webkit-scrollbar-track {
        background-color: rgba(255, 255, 255, 0.4);
        /* 白色40% */
        border-radius: 0;
        /* 角をカクカクに */
    }

    /* 進み具合を示すバー（サム） */
    .calendar_container::-webkit-scrollbar-thumb {
        background-color: #005A4F;
        /* バーの色 */
        width: 100px;
        /* 横幅（実際には min-width として機能） */
        border-radius: 0;
        /* 角をカクカクに */
    }

    /* 常に表示（スクロールバーを強制表示） */
    .calendar_container {
        overflow-x: scroll;
        /* auto ではなく scroll */
    }

    .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr {
        position: relative;
        display: block;
        padding-left: 80px;
    }

    .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk button {
        padding: 0;
    }

    .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk:first-child {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
    }

    .fc-header-toolbar.fc-toolbar.fc-toolbar-ltr .fc-toolbar-chunk:last-child {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 40px;
    }

    #calendar .fullcalendar-item {
        margin-bottom: 6px;
        border-left-width: 4px !important;
        min-height: 40px;
        line-height: 40px;
    }

    .fc-daygrid-event-harness:last-child .fullcalendar-item {
        margin-bottom: 12px;
    }

    .fc-event-title-container div:first-child {
        font-size: 11px;
        padding-top: 7px;
    }

    .fc-event-title-container div:last-child {
        font-size: 11px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    #calendar .fullcalendar-item .fc-event-main-frame .fc-event-title-container {
        padding-left: 4px;
    }

    #calendar.fc .fc-toolbar-title {
        font-size: 24px;
    }
}