@charset "utf-8";

/* product */
.product_ttl {
    display: flex;
    flex-direction: column;
    gap: 24rem;
}
.product_ttl_en {
    font-size: 48px;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-align: center;
}
.product_ttl_jp {
    line-height: 2;
    letter-spacing: 0.24em;
    text-align: center;
}
.product_list {
    display: flex;
}
.product_list_link {
    display: block;
    position: relative;
}
.product_list_sold_out {
    width: 100%;
    height: 100%;
    font-size: 18px;
    letter-spacing: 0.24em;
    text-align: center;
    color: var(--color-white);
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
}

.product_pager_list {
    display: flex;
    align-items: center;
    justify-content: center;
}
.product_pager_list a {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.24em;
    text-decoration: none;
    display: block;
    position: relative;
}
.product_pager_list .active a::after {
    content: '';
    width: 100%;
    height: max(1rem, 1px);
    background-color: var(--color-black);
    position: absolute;
    left: 0;
    bottom: 0;
}
.product_pager_list .prev a,
.product_pager_list .next a {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.08em;
}
.product_pager_list .prev a::before,
.product_pager_list .next a::before {
    content: '';
    width: 12rem;
    height: 12rem;
    margin-block: auto;
    border-left: max(1rem, 1px) solid var(--color-black);
    border-bottom: max(1rem, 1px) solid var(--color-black);
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
}
.product_pager_list .prev a::before {
    left: 0;
    rotate: 45deg;
}
.product_pager_list .next a::before {
    right: 0;
    rotate: 225deg;
}
@media (min-width: 1024.01px) {
    .product {
        padding-block: 200rem;
    }
    .product_ttl_jp {
        font-size: 18px;
    }
    .product_list {
        max-width: 1200rem;
        margin: 160rem auto 0;
        flex-wrap: wrap;
        gap: 30rem;
    }
    .product_list > li {
        width: calc(100% / 3 - 20rem);
    }

    .product_pager_list {
        margin-top: 160rem;
        gap: 32rem;
    }
    .product_pager_list .prev a,
    .product_pager_list .next a {
        padding-inline: 24rem;
    }
}
@media (max-width: 1024px) {
    .product {
        padding-block: 160rem;
    }
    .product_ttl_jp {
        font-size: 16px;
    }
    .product_list {
        margin: 100rem 24rem 0;
        flex-wrap: wrap;
        gap: 24rem;
    }
    .product_list > li {
        width: calc(100% / 2 - 12rem);
    }

    .product_pager_list {
        margin-top: 100rem;
        gap: 24rem;
    }
    .product_pager_list .prev a,
    .product_pager_list .next a {
        width: 24rem;
        color: transparent;
    }
    .product_pager_list .prev a::before {
        translate: 50% 0;
    }
    .product_pager_list .next a::before {
        translate: -50% 0;
    }
}
@media (min-width: 1024.01px) {
    @media (hover:hover) {
        .product_list_link {
            transition: opacity 0.3s;
        }
        .product_list_link:hover {
            opacity: 0.7;
        }
    }
}