@charset "utf-8";

.introduction {
    font-size: 14px;
    line-height: 2;
}

.stage-group {
    padding-top: 24px; padding-top: 6.4vw;
}
.stage-group-name {
    font-size: 16px;
    line-height: 1.25;
    letter-spacing: 0.1em;
    background-color: #e84715;
    color: #fff;
    padding: 10px 14px;
}

.stage-group-contents {
    padding-top: 10px;
}
.schedule {
    display: flex;
    padding: 0 0 0 14px;
}
.schedule+.schedule {
    border-top: dashed 1px #ccc;
    padding-top: 10px;
    margin-top: 10px;
}
.schedule-time {
    flex-basis: 26%;
    max-width: 114px;
    padding-right: 14px;
    color: #e84715;
    font-weight: bold;
	-webkit-font-feature-settings: "tnum";
	font-feature-settings: "tnum";
    white-space: nowrap;
}
.schedule-body {
    flex-basis: 74%;
}
.schedule-title {
    color: #e84715;
    font-weight: bold;
}
.schedule-time,
.schedule-title,
.schedule-description {
    font-size: 14px;
    line-height: 1.5;
}

.schedule-images {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding: 2px 0;
}
.schedule-images li img {
    height: 40px; height: 10.666vw;
    max-height: 80px;
    width: auto;
}

.schedule-empty-message {
    text-align: center;
}

@media screen and (min-width: 768px)
{
    .stage-group {
        padding-top: 48px;
    }
    .stage-group-name {
        font-size: 2.189vw;
        padding: 1.3686vw 2.189vw;
    }

    .stage-group-contents {
        padding-top: 2.4096vw;
    }
    .schedule {
        padding-left: 2.189vw;
    }
    .schedule+.schedule {
        padding-top: 2.4096vw;
        margin-top: 2.4096vw;
    }
    .schedule-time {
        flex-basis: 21%;
        max-width: 160px;
        padding-right: 2.189vw;
    }
    .schedule-body {
        flex-basis: 79%;
    }

    .schedule-images {
        gap: 10px;
        padding: 4px 0;
    }
    .schedule-images li img {
        height: 80px;
    }

    .introduction,
    .schedule-time,
    .schedule-title,
    .schedule-description {
        font-size: 1.927vw;
    }
}

@media screen and (min-width: 830px)
{
    .stage-group-contents {
        padding-top: 20px;
    }
    .schedule+.schedule {
        padding-top: 20px;
        margin-top: 20px;
    }
    .introduction,
    .schedule-time,
    .schedule-title,
    .schedule-description {
        font-size: 16px;
    }
}

@media screen and (min-width: 1096px)
{
    .stage-group-name {
        font-size: 24px;
        line-height: 30px;
        padding: 15px 24px;
    }
    .schedule {
        padding-left: 24px;
    }
    .schedule-time {
        padding-right: 24px;
    }
}
