@charset "UTF-8";

.lower-ttl {
    display: flex;
    align-items: center;
    gap: var(--p30-spa);

}

/* .lower-ttl__sub は不要のため非表示
.lower-ttl__sub {
    font-size: clamp(16px, calc(14.49px + 0.4vw), 20px);
    font-weight: 500;
    letter-spacing: var(--lsp-100);
}
*/

.p-product-list {
    padding: var(--p60-spa) var(--p60-spa) var(--p130-spa) 17vw;
}

.p-product__info {
    gap: 0;
}

.p-product__name {
    width: 35%;
}

.p-product__specs {
    width: 65%;
}

.p-product-list__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 76.1vw;
    margin-inline: auto;
}

.p-product-list__empty {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 28vw;
    font-size: var(--fz-body);
    letter-spacing: var(--lsp-20);
}

.p-product__card {
    position: relative;
}

.p-product__card::after {
    content: "";
    position: absolute;
    top: var(--p20-spa);
    bottom: var(--p20-spa);
    right: 0;
    width: 1px;
    background-color: var(--border2);
}

.p-product__card::before {
    content: "";
    position: absolute;
    left: var(--p20-spa);
    right: var(--p20-spa);
    bottom: 0;
    height: 1px;
    background-color: var(--border2);
}

.p-product__card:nth-child(3n)::after {
    display: none;
}

.p-product__link {
    display: block;
    color: inherit;
    padding: 0 1.5vw 2vw;
    transition: opacity 0.3s ease;
}

.p-product__badge {
    top: 1vw;
}

.p-product__img {
    width: 100%;
    max-width: 100%;
    height: 18vw;
    max-height: none;
    object-fit: contain;
}

@media (hover: hover) {
    .p-product__link:hover {
        opacity: 0.7;
    }
}

@media (min-width: 769px) {
    .p-mv__category--lower {
        position: fixed;
        top: 24vw;
        left: 0;
        right: auto;
        z-index: 15;
        width: 13.9vw;
        min-width: 150px;
    }

    .p-product__card:nth-child(3n+1):nth-last-child(-n+3)::before,
    .p-product__card:nth-child(3n+1):nth-last-child(-n+3) ~ .p-product__card::before {
        display: none;
    }
}

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

    .lower-ttl {
        flex-direction: column;
        align-items: stretch;
        gap: var(--p10-spa);
        margin-top: 0;
    }

    .lower-ttl .c-bar-ttl {
        width: 100%;
        justify-content: center;
        padding: var(--p5-spa) var(--p20-spa);
    }

    /* .lower-ttl__sub は不要のため非表示
    .lower-ttl__sub {
        padding-left: var(--p30-spa);
    }
    */

    .p-product-list {
        padding: var(--p30-spa) var(--p20-spa) var(--p60-spa) var(--p20-spa);
    }

    .p-product-list__grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: none;
    }

    .p-product__card:nth-child(3n)::after {
        display: block;
    }

    .p-product__card:nth-child(2n)::after {
        display: none;
    }

    .p-product__card:nth-child(2n+1):nth-last-child(-n+2)::before,
    .p-product__card:nth-child(2n+1):nth-last-child(-n+2) ~ .p-product__card::before {
        display: none;
    }

    .p-product__card::after {
        top: var(--p15-spa);
        bottom: var(--p15-spa);
    }

    .p-product__card::before {
        left: var(--p15-spa);
        right: var(--p15-spa);
    }

    .p-product__link {
        padding: 0 var(--p15-spa) var(--p20-spa);
    }

    .p-product__info {
        gap: var(--p15-spa);
        flex-direction: column;
    }

    .p-product__name {
        width: 100%;
    }

    .p-product__specs {
        font-size: 11px;
        letter-spacing: var(--lsp-10);
        width: 100%;
    }

    .p-product__thumb {
        padding-top: 14vw;
    }

    .p-product__badge {
        top: 6vw;
    }

    .p-product__img {
        height: 40vw;
    }

    .p-product-list__empty {
        min-height: 40vw;
    }

    .p-mv__category--lower {
        top: 32vw;
    }
}