@charset "utf-8";

/* ---------- 
calendar
----------*/
.calendar {
    margin-bottom: 80px;
}
.calendar-wrap {
    border-bottom: 1px solid var(--color-line);
}
.calendar-wrap h3 {
    padding: 15px 0;
    font-size: clamp(14px, 1vw, calc(14px * var(--ratio)));
    font-weight: bold;
    letter-spacing: 0.05em;
    background-color: var(--color-corp);
    color: var(--color-text-sub);
    text-align: center;
}
.calendar-table {
    width: 100%;
    border-right: 1px solid var(--color-line);
    border-left: 1px solid var(--color-line);
}
.calendar-table .calendar-table-row {
    display:grid;
    grid-template-columns: clamp(72px, 5.14vw, calc(72px * var(--ratio))) clamp(428px, 30.57vw, calc(428px * var(--ratio))) 1fr;
}
.calendar-table .calendar-table-row:not(:last-child) {
    border-bottom: 1px solid var(--color-line);
}
.calendar-table dt,
.calendar-table dd {
    font-size: clamp(14px, 1vw, calc(14px * var(--ratio)));
    font-weight: 500;
    letter-spacing: 0.05em;
}
.calendar-table .month {
    padding: 15px 0;
    background-color: var(--color-sub);
    text-align: center;
}
.calendar-table .date {
    padding: 15px 0 15px 40px;
}
.calendar-table .event {
    padding: 15px 0 15px 40px;
    font-weight: bold;
    border-left: 1px solid var(--color-line);
}
.en .calendar-table .calendar-table-row {
    grid-template-columns: clamp(100px, 7.14vw, calc(100px * var(--ratio))) clamp(428px, 30.57vw, calc(428px * var(--ratio))) 1fr;
}

@media screen and (min-width: 701px) and (max-width: 1100px) {
    .calendar-table .calendar-table-row {
        grid-template-columns: clamp(72px, 5.14vw, calc(72px * var(--ratio))) 42% 1fr;
    }
    .en .calendar-table .calendar-table-row {
        grid-template-columns: clamp(100px, 7.14vw, calc(100px * var(--ratio))) 42% 1fr;
    }
}
@media screen and (max-width: 700px) {
    .calendar {
        margin-bottom: 60px;
    }
    .calendar-wrap h3 {
        font-size: calc(14px / var(--fs-base) * 1rem);
    }
    .calendar-table .calendar-table-row {
        grid-template-columns: calc(38px / var(--fs-base) * 1rem) 1fr;
        row-gap: 5px;
    }
    .calendar-table dt,
    .calendar-table dd {
        font-size: calc(13px / var(--fs-base) * 1rem);
    }
    .calendar-table .month{
        grid-row: 1 / span 2;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 49px;
    }
    .calendar-table .date{
        grid-column: 2;
        padding: 15px 0 0 15px;
    }
    .calendar-table .event{
        grid-column: 2;
        padding: 0 0 15px 15px;
        border-left: none;
    }
    .en .calendar-table .calendar-table-row {
        grid-template-columns: calc(90px / var(--fs-base) * 1rem) 1fr;
    }
}



/* ---------- 
btn-wrap
----------*/
.btn-wrap {
    margin-bottom: 80px;
}
@media screen and (max-width: 700px) {
    .btn-wrap {
        margin-bottom: 60px;
    }
}