@charset "UTF-8";

/* Calendar Section Styles */
.front-calendar-section {
    padding: 40px 0;
    /*background-color: #f9f9f9;*/
}

.calendar-container {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.calendar-wrapper {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    flex: 1;
    min-width: 300px;
    max-width: 500px;
}

.calendar-title {
    text-align: center;
    margin-bottom: 15px;
    font-size: 1.2em;
    font-weight: bold;
}

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

.calendar-table th,
.calendar-table td {
    text-align: center;
    padding: 10px 2px;
    border: 1px solid #eee;
}

.calendar-table th {
    background-color: #f0f0f0;
    font-weight: normal;
}

.calendar-table th.sun {
    color: #e74c3c;
}

.calendar-table th.sat {
    color: #3498db;
}

/* 優先度調整用 */
.calendar-table td.sun {
    color: #e74c3c;
}

.calendar-table td.sat {
    color: #3498db;
}

.calendar-table td.today {
    background-color: #fff3cd;
    font-weight: bold;
}

/* 休日スタイル */
.calendar-table td.holiday-regular {
    background-color: #ffcdd2;
    /* 薄い赤（ピンク） */
    color: #c62828 !important;
    /* 文字色も変更して視認性確保 */
}

.calendar-table td.holiday-temporary {
    background-color: #ffe0b2;
    /* 薄いオレンジ */
    color: #ef6c00 !important;
}

/* 凡例スタイル */
.calendar-legend {
    text-align: center;
    margin-top: 20px;
}

.legend-item {
    display: inline-flex;
    align-items: center;
    margin: 0 10px;
    font-size: 0.9em;
}

.legend-marker {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 5px;
    vertical-align: middle;
    border: 1px solid #ddd;
}

.marker-regular {
    background-color: #ffcdd2;
}

.marker-temporary {
    background-color: #ffe0b2;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .calendar-container {
        flex-direction: column;
        align-items: center;
    }

    .calendar-wrapper {
        width: 100%;
        margin-bottom: 20px;
    }
}