.page {
    padding: 40px 0;
}

.page .l-container {
    max-width: 100%;
}
.page img {
    width: 100%;
    height: auto;
}
.page p {
    font-size: 14px;
    line-height: 24px;
    margin: 16px 0;
}

.page dd p {
    margin: 0;
}
.page h1.p-ttl b {
    font-size: 48px;
    line-height: 48px;
    margin: 32px 0;
}

.page h2 {
    font-size: 20px;
    margin: 16px 0;
    font-weight: 900;
}

.page .p-txts__info2 dt {
    width: 100%;
    font-weight: 700;
    font-size: 15px;
}

.page .p-txts__info2 dd {
    width: 100%;
    margin-bottom: 0.5em;
    font-size: 14px;
}

.p-txts__infoTtl h3 {
    font-size: 20px;
}

.ticket_perks {
    padding: 16px 0;
}

.ticket_perks__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ticket_perks__item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}

.ticket_perks__item__img {
    width: 100%;
}
.ticket_perks__item__img img {
    width: 100%;
    height: auto;
    border-radius: 4px;
}
.ticket_perks__item__txt {
    flex: 1;
}

.ticket_perks__title {
    font-size: 20px;
    font-weight: 700;
}

.page span.attention {
    font-size: 13px;
    line-height: 26px;
}

@media screen and (min-width:768px) {
    .page {
        padding: 120px 0;
    }

    .page h1.p-ttl b {
        font-size: 80px;
        line-height: 88px;
        margin: 32px 0;
    }

    .page h2 {
        font-size: 32px;
        margin: 24px 0;
        font-weight: 900;
    }

    .page p {
        font-size: 15px;
        line-height: 28px;
        margin: 16px 0;
    }
    .page .p-txts__info2 dt {
        width: 6.5em;
        font-weight: 700;
    }

    .p-txts__infoTtl h3 {
        font-size: 24px;
    }
    .page .p-txts__info2 dd {
        width: calc(100% - 6.5em);
        margin-bottom: 0.5em;
    }
    .ticket_perks__item {
        display: flex;
        flex-direction: row;
        gap: 24px;
    }
    .ticket_perks__item__img {
        width: 320px;
    }

}