@charset "utf-8";

/*------------------------------------------------
PC用
--------------------------------------------------*/
.is-pc .product-list {
    width: 100%;
    display: grid;
    gap: 24px;
    &.grid-col-3 {grid-template-columns: repeat(3, 1fr);}
    &.grid-col-4 {grid-template-columns: repeat(4, 1fr);}
    & .product-list--data {
        height: 100%;
        display: flex;
        flex-direction: column;
        background-color: #fff;
    }
    & .product-list-inner {
        height: 100%;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        border-radius: 8px;
        transition: all .1s ease-in;
        box-shadow: 0 1px 4px 1px rgba(0, 0, 0, .1490196078);
        text-decoration: none;
        color: inherit;
        overflow: hidden;
        &:hover {
            box-shadow: 0 0 10px rgba(0,0,0,.4509803922)
        }
    }
    & .product-img-wrap {
        font-size: 0;/*調整*/
        & .product-img {
            aspect-ratio: 352 / 225;
            overflow: hidden;
            & img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                .product-list-inner:hover & {
                    transform: scale(1.1);
                    transition: all .1s ease-in;
                }
            }
        }
        & .product-label {
            display: inline-block;
            background-color: #697180;
            font-size: 12px;
            font-weight: 700;
            line-height: 1.5;
            padding: 2px 8px;
            color: #fff;
            &:has(span:empty) {
                display: none;
            }
        }
    }
    & .product-title-wrap {
        padding: 16px 16px 8px;
        & .product-airport {
            font-size: 12px;
            font-weight: 700;
            line-height: 1.5;
            padding-bottom: 4px;
        }
        & .product-title {
            font-size: 16px;
            font-weight: 700;
            line-height: 1.5;
        }
    }
    & .product-datail-warp {
        padding: 0 16px;
        & .product-detail {
            font-size: 14px;
            line-height: 1.5;
        }
    }
    & .product-price-warp {
        margin-top: auto;
        padding: 8px 16px 16px;
        text-align: right;
        & .product-point {
            display: inline-block;
            color: #DF0D00;
            border: solid 1px #DF0D00;
            font-size: 12px;
            line-height: 1.3;
            padding: 0 4px;
            &:has(span:empty) {
                display: none;
            }
        }
        & .product-price {
            padding: 4px 0;
            font-family: "Roboto", sans-serif;
            font-size: 20px;
            font-weight: 700;
            line-height: 1.3;
            color: #DF0D00;
        }
        & .product-dep,
        & .product-note {
            font-size: 12px;
            font-weight: 400;
            color: #697180;
        }
    }
}

/*-------------------------------------
SP用
--------------------------------------*/
.is-sp .product-list {
    width: 100%;
    display: grid;
    gap: 16px;
    & .product-list--data {
        background-color: #fff;
    }
    & .product-list-inner {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-radius: 8px;
        box-shadow: 0 1px 4px 1px rgba(0, 0, 0, .1490196078);
        text-decoration: none;
        color: inherit;
        padding: 3vw;
    }
    & .product-img-wrap {
        width: 40%;
        font-size: 0;/*調整*/
        & .product-img {
            aspect-ratio: 352 / 225;
            & img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-radius: 4px;/*商材帯ない時*/
                /*border-top-left-radius: 4px;
                border-top-right-radius: 4px;*/
            }
        }
        & .product-label {
            display: block;
            background-color: #697180;
            font-size: 3.0vw;
            font-weight: 700;
            line-height: 1.5;
            color: #fff;
            text-align: center;
            border-bottom-left-radius: 4px;
            border-bottom-right-radius: 4px;
            padding: 2px 0;
            &:has(span:empty) {
                display: none;
            }
        }
    }
    & .product-title-wrap {
        width: 57%;
        & .product-airport {
            font-size: 3.0vw;
            font-weight: 700;
            line-height: 1.5;
            padding-bottom: 1vw;
        }
        & .product-title {
            font-size: 4.0vw;
            font-weight: 700;
            line-height: 1.3;
        }
    }
    & .product-datail-warp {
        width: 100%;
        padding-top: 2vw;
        & .product-detail {
            font-size: 3.4vw;
            line-height: 1.5;
        }
    }
    & .product-price-warp {
        width: 100%;
        text-align: right;
        & .product-point {
            display: inline-block;
            color: #DF0D00;
            border: solid 1px #DF0D00;
            font-size: 3.0vw;
            line-height: 1.3;
            padding: 0 1vw;
            &:has(span:empty) {
                display: none;
            }
        }
        & .product-price {
            padding: 1vw 0 0;
            font-family: "Roboto", sans-serif;
            font-size: 4.8vw;
            font-weight: 700;
            line-height: 1.3;
            color: #DF0D00;
        }
        & .product-dep,
        & .product-note {
            font-size: 3.0vw;
            line-height: 1.3;
            font-weight: 400;
            color: #697180;
        }
    }
}

/*------------------------------------------------
	商品カセット調整
--------------------------------------------------*/
.product-list {
    & .product-list-item:empty {
        display: none;
    }
    & .product-airport:empty {
        display: none;
    }
    & .product-airport::after {
        content: "発着"
    }
    & .product-dep span[id*="dep_"]::after {
        content: "出発"
    }
    & .is-en {
        font-size: 0.7em;
    }
}