.availability-calendar {
    margin: 20px 0;
}

.availability-table {
    width: 100%;
    border-collapse: collapse;
}

.availability-table th,
.availability-table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
}

.availability-table th {
    background-color: #f4f4f4;
}

.availability-table .day-column,
.availability-table .weekday-column {
    width: 60px;
}

.availability-table .facility-column {
    min-width: 100px;
}

.availability-table .sat {
    background-color: #e6f3ff;
}

.availability-table .sun {
    background-color: #ffe6e6;
}

.availability-table .today {
    background-color: #fff3cd;
}

.availability-table .status-0 {
    color: green; /* 営業（○） */
}

.availability-table .status-1 {
    color: red; /* 休業（-） */
}

.availability-table .status-undecided {
    color: gray;
}