@charset "UTF-8";

.pff-about-section .ds-text-lead--size-l {
    font-size: 1.6rem;
    font-weight: 800;
}

@media screen and (max-width: 767px) {

    .pff-about-section .ds-text-lead--size-l {
        font-size: .9rem;
    }

}


.pff-ticket-price {
    margin: 0 auto 6rem;
    max-width: 860px;
}

.pff-ticket-price .ticket-price-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    
}

.ticket-price-row .ticket-price-col {
    width: calc(33.33% - 1rem);
}

.ds-text--size-s {
    font-size: .87rem;
    line-height: 1.5;
}

.ticket-note {
   margin-top: 1.25rem;
}

.ticket-note .ds-text--size-s {
    font-weight: 800;
}

@media screen and (min-width: 770px) and (max-width: 1199px) {
   
}

@media screen and (max-width: 767px) {

    .pff-ticket-section.pff-section {
        margin-top: 2rem;
    }
    
    .pff-ticket-price {
        max-width: 100%;
    }

    .pff-ticket-price .ticket-price-row {
        flex-direction: column-reverse;
    }

    .ticket-price-row .ticket-price-col {
        width: 100%;
    }

    .pff-ticket-notice {
        padding: 0 .6rem;
    }

    .ticket-note {
        margin-top: 2rem;
    }

}


.pff-purchase-ticket {
    margin-top: 11rem;
}

.ticket-info.label-group {
    margin-top: 3.4rem;
    align-items: flex-start;
}

.ticket-grid {
    position: relative;
    margin-top: 2.4rem;
}

.pff-purchase-ticket .ds-grid{
    flex-wrap: wrap;
    gap: .6rem;
}

.pff-purchase-ticket .col {
    position: relative;
    width: calc(33.33% - .6rem);
}

.pff-purchase-ticket .card__img {
    position: relative;
}

.label-group {
    display: inline-flex;
    flex-direction: column;
    width: fit-content;
}

.label-text {
    padding: 0 4px 0 5px;
    background: #e0143d;
    border-radius: 0;
    box-sizing: border-box;
    box-shadow: none;
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1;
    display: flex;
    align-items: center;
}

.label-text-m {
    font-size: 1.65rem;
}

.label-text-s {
    padding: 4px 9px 2px 5px;
    font-size: .84rem;
}

.ticket-grid .label-2 {
    letter-spacing: 1px;
}

.ticket_col_1 .label-group {
    position: absolute;
    align-items: flex-start;
    top: 0;
    left: 28px;
}

.ticket_col_2 .label-group {
    position: absolute;
    align-items: flex-end;
    text-align: right;
    bottom: 2px;
    right: 12px;
}


.ticket_col_3 .label-group {
    position: absolute;
    align-items: flex-start;
    bottom: 5px;
    left: 14px;
}

.pff-purchase-ticket .card__body {
    margin-top: .8rem;
    padding-left: 1.8rem;
}

.pff-purchase-ticket .card__body .card-text{
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.5;
}

.pff-purchase-ticket .card__body .card-text + .card-text {
    margin-top: 1rem;
}

.pff-purchase-ticket .card__body .ds-text--size-s {
    font-size: .59rem;
}

.pff-purchase-ticket .card__body .card-text + .ds-text--size-s {
    margin-top: .5rem;
}

.pff-purchase-ticket .c-button-wrp {
    margin-top: 1.5rem;
    padding: 0 2.4rem;
}

.pff-purchase-ticket .c-button  {
    padding: 0;
    min-width: 282px;
}

.pff-purchase-ticket .c-button .circle-right {
    width: 29px;
    height: 29px;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    .pff-purchase-ticket .ds-grid{
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    .pff-purchase-ticket .col {
        width: auto;
    }

    .pff-purchase-ticket .col + .col {
        margin-top: 2rem;
    }

    .label-text {
        font-size: 1rem;
    }

    .label-text-m {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 767px) {

    .pff-purchase-ticket {
        margin-top: 9rem;
    }

    .ticket-info.label-group {
        margin-top: 8rem;
    }

    .ticket-info .label-text-s {
        padding: 6px 9px 2px 9px;
        font-size: 3.71vw;
    }

    .ticket-info .label-2 {
        padding: 4px 9px 6px 9px;
    }

    .pff-purchase-ticket .col {
        width: 100%;
    }

    .pff-purchase-ticket .col + .col {
        margin-top: .9rem;
    }

    .pff-purchase-ticket .card__body .card-text + .card-text {
        margin-top: 1.3rem;
    }

    .label-text {
        padding: 0 4px 1px 5px;
        font-size: .9rem;
    }

    .label-text-m {
        font-size: 1.75rem;
    }

    .ticket_col_1 .label-group {
        left: 35px;
    }

    .ticket_col_2 .label-group {
        bottom: 4px;
        right: 16px;
    }
        
    .ticket_col_3 .label-group {
        bottom: 10px;
        left: 16px;
    }

    .ticket-grid .label-2 {
        letter-spacing: 2px;
    }

    .pff-purchase-ticket .card__body {
        margin-top: .3rem;
        padding-left: 2.5rem;
    }

    .pff-purchase-ticket .card__body .card-text {
        font-size: .8rem;
    }

    .pff-purchase-ticket .card__body .ds-text--size-s {
        font-size: .65rem;
    }

    .pff-purchase-ticket .c-button-wrp {
        margin-top: 1.3rem;
        padding: 0;
    }
    .pff-purchase-ticket .c-button {
        min-width: 100%;
        min-height: 48px;
        border-radius: 15px;
        font-size: 1rem;
    }

    .pff-purchase-ticket .c-button .circle-right {
        width: 36px;
        height: 36px;
    }
}

