﻿@charset "UTF-8";

.ticket-item-wrapper {
    width: auto;
    height: auto;
    background: var(--custom-white) 0% 0% no-repeat padding-box;
    box-shadow: 0px 0px 11px #0000001A;
    border-radius: 10px;
    opacity: 1;
    margin: 0 20px 20px 20px;
    display: grid;
    grid-template-rows: 1fr 1fr;
}

    .ticket-item-wrapper:last-of-type {
        margin-bottom: 0;
    }

    .ticket-item-wrapper.not-available-ticket {
        background-color: var(--custom-gray5);
    }

    .ticket-item-wrapper .ticket-thumnail-wrapper {
        width: auto;
        height: auto;
        background: var(--custom-light-blue) 0% 0% no-repeat padding-box;
        border-radius: 10px;
        opacity: 1;
        margin: 12px 12px 0 12px;
        display: grid;
        grid-template-rows: 1fr;
        grid-template-columns: 1fr;
    }

        .ticket-item-wrapper .ticket-thumnail-wrapper img {
            width: 100%;
            aspect-ratio: 2/1;
            object-fit: contain;
            border-radius: 10px;
            grid-row: 1/2;
            grid-column: 1/2;
        }

        .ticket-item-wrapper .ticket-thumnail-wrapper div.show-status-word {
            position: relative;
            width: auto;
            border-radius: 10px;
            display: flex;
            justify-content: center;
            align-items: center;
            grid-row: 1/2;
            grid-column: 1/2;
            background-color: rgba(255, 255, 255, 0.9);
        }

        .ticket-item-wrapper .ticket-thumnail-wrapper .lottery-row {
            display: flex;
            flex-direction: row;
            align-items: flex-start;
            justify-content: space-between;
            width: 100%;
            grid-row: 1 / 2;
            grid-column: 1 / 2;
        }

            .ticket-item-wrapper .ticket-thumnail-wrapper .lottery-row .left-badge {
                background-color: rgba(var(--custom-black-rgb), 0.9);
                color: var(--custom-white);
                font-size: 0.7em;
                font-weight: bold;
                padding: 5px;
                border-radius: 10px 0 10px 0;
            }

            .ticket-item-wrapper .ticket-thumnail-wrapper .lottery-row .right-badge {
                background-color: rgba(var(--custom-red-rgb), 0.7);
                color: var(--custom-white);
                font-size: 0.7em;
                font-weight: bold;
                border-radius: 10px;
                padding: 5px;
                margin: 5px 5px 0 0;
            }

    .ticket-item-wrapper .ticket-detail-wrapper {
        margin: 0 12px 12px 12px;
        display: grid;
        grid-template-rows: 31px 20px 36px 1fr;
        gap: 5px;
    }

        .ticket-item-wrapper .ticket-detail-wrapper .ticket-badge-wrapper {
            display: flex;
            justify-content: flex-end;
            align-items: flex-end;
        }

        .ticket-item-wrapper .ticket-detail-wrapper .ticket-sale-name {
            text-align: left;
            font-size: 14px;
            letter-spacing: 0px;
            color: var(--custom-black2);
            opacity: 1;
            font-weight: bold;
        }

        .ticket-item-wrapper .ticket-detail-wrapper .ticket-summary {
            text-align: left;
            font-size: 12px;
            letter-spacing: 0px;
            color: var(--custom-black2);
            opacity: 1;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .ticket-item-wrapper .ticket-detail-wrapper .ticket-other {
            display: grid;
            grid-template-columns: 120px 1fr;
        }

            .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-corp-name {
                grid-column: 1/2;
                color: var(--custom-gray10);
                font-size: 11px;
                letter-spacing: 0px;
                display: flex;
                align-items: flex-end;
            }

            .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-same {
                grid-column: 2/3;
                color: var(--custom-blue);
                display: flex;
                align-items: center;
                justify-content: flex-end;
            }

            .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-separate {
                grid-column: 2/3;
                color: var(--custom-blue);
                display: flex;
                align-items: center;
                justify-content: space-around;
                position: relative; /* 擬似要素の位置指定に必要 */
            }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-separate .ticket-price-box-separator::before {
                    content: "";
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    width: 1px;
                    background-color: var(--custom-blue);
                }

            .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box {
                display: flex;
                flex-direction: column;
            }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .ticket-price-type {
                    font-size: 13px;
                    line-height: 19px;
                }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .ticket-price-value,
                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .post-payment-ticket-price-value {
                    font-size: 22px;
                    line-height: 27px;
                    font-weight: bold;
                }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .group-price-value {
                    font-size: 20px;
                    line-height: 27px;
                    font-weight: bold;
                }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .ticket-price-value::after {
                    font-size: 15px;
                    line-height: 27px;
                    content: "円";
                }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .post-payment-ticket-price-value::after {
                    font-size: 15px;
                    line-height: 27px;
                    content: "円 / 回";
                }

                .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .group-price-value::after {
                    font-size: 13px;
                    line-height: 27px;
                    content: "~円";
                }

@media (max-width: 375px) {
    .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .group-price-value {
        font-size: 16px;
        line-height: 27px;
        font-weight: bold;
    }

        .ticket-item-wrapper .ticket-detail-wrapper .ticket-other .ticket-price-box .group-price-value::after {
            font-size: 9px;
            line-height: 27px;
            content: "~円";
        }
}
