@charset "utf-8";

/* simcal-calendar */
.simcal-calendar {
    max-width: 1100px;
    margin: 0 auto;
}


/*==========================
article__header
==========================*/
/* 
.article__header {
    background-image: url(../images/businessDay.webp);
} */
/*==========================
カレンダー
==========================*/
.calendar-wrap {
    margin: 20px auto 0;
    max-width: 1100px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}

@media (max-width: 767.98px) {
    .calendar-wrap {
        display: flex;
        flex-direction: column;
    }
}

.calendar {
    width: 100%;
    max-width: 100%;
    /* 追加 */
    border-collapse: collapse;
}

.calendar th,
.calendar td {
    border: 1px solid #000;
    text-align: center;
    padding: 10px;
    font-size: 14px;
    font-weight: bold;
}

.calendar th {
    padding: 6px 10px;
}

/* .calendar td {} */

@media (max-width: 767.98px) {

    .calendar th,
    .calendar td {
        padding: 6px;
        font-size: 12px;
    }

    .calendar th {
        padding: 3px 6px;
    }
}

/*  */
.calendar .today {
    background-color: #7d7d7d;
    color: #fff;
}

.calendar .off {
    background-color: #fadcdb;
    color: #e74c3c;
    /* 赤字 */
}

.calendar .sun {
    color: #e17f7e;
    /* background-color: #f8e4e2; */
}

.calendar .sat {
    color: #7ab6f3;
    /* background-color: #e7f6fd; */
}

.calendar .mute {
    color: #aaa;
}

.calendar-wrap {
    display: flex;
    /* Flexboxレイアウトを使用 */
    flex-direction: column;
    /* 子要素を垂直方向に配置 */
    align-items: center;
    /* 水平方向中央揃え */
}

.calendar-wrap h2 {
    text-align: center;
    /* 月の名前を中央揃えにする */
    width: 100%;
    /* 月の名前をカレンダーの幅いっぱいに広げる */
    margin-bottom: 10px;
    /* 月の名前とカレンダーの間隔を調整 */
}

/* カレンダーを2列で並べる */
.calendar-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    width: 100%;
}

@media (max-width: 767.98px) {
    .calendar-row {
        display: flex;
        flex-direction: column;
    }
}

.calendar-item {
    text-align: center;
}

.calendar-title {
    text-align: center;
    font-size: 1.5em;
    margin-bottom: 10px;
}

/* コントロールボタン */
.calendar-controls {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin-top: 50px;
}

.calendar-controls button {
    background-color: var(--primary-white);
    box-shadow: 2px 8px 14px 0px rgba(0, 48, 87, 0.05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    border-radius: 50px;
    /* background-color: var(--primary-white); */
    transition-duration: .5s;
    transition-timing-function: cubic-bezier(.165, .84, .44, 1);
}

.calendar-controls button:hover {
    background-color: #CDD9E3;
    box-shadow: 8px 8px 14px 0px rgba(0, 48, 87, 0.03);
}

/* 前の月、次の月 */
#prevMonth.prev-stop,
#nextMonth.next-stop {
    pointer-events: none;
    color: var(--primary-grayLow);
}

.calendar-caption {
    margin-top: 50px;
    display: flex;
    justify-content: center;
}

.calendar-caption::before {
    content: '■';
    color: #fadcdb;
    margin-right: 10px;
}

.calendar-time {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

@media (max-width: 767.98px) {
    .calendar-controls {
        margin-top: 32px;
    }
}