.news-section .news-list-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.news-section .news-list {
    border: none;
}
.news-section .news-item-link {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-grow: 1;
    text-decoration: none;
    color: inherit;
}
.news-section .tag-item {
    background-color: #EEEEEE; /* デフォルトの背景色 */
    color: #333;
    padding: 4px 12px;
    border-radius: 10px;
    font-size: 13px;
    white-space: nowrap;
    margin-left: 10px; /* news-list-item-tags の gap との兼ね合いで残すか判断 */
}
.tag-item.tag-ibento {
    background-color: #dbebff;
}
.tag-item.tag-oshirase {
    background-color: #F0FFDA;
}

@media (max-width: 480px) {
    .news-section .news-list-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .news-section .news-item-link {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        width: 100%;
    }
    .news-section .tag-item {
        margin-left: 0;
    }
}

@media (min-width: 481px) and (max-width: 768px) {
    .news-section .news-list-item {
        flex-direction: row;
        align-items: center;
        gap: 20px;
    }
    .news-section .news-item-link {
        flex-direction: row;
        gap: 20px;
    }
}

/* Top Page Products Carousel */
.products-carousel-wrapper { position: relative; max-width: 1280px; margin: 0 auto; padding: 0 40px; }
.products-carousel-track { display: flex; transition: transform 0.5s ease; gap: 20px; }
.products-carousel-track .product-card { box-sizing: border-box; }
.products-carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background: #fff; border: 1px solid #ccc; border-radius: 50%; width: 40px; height: 40px; cursor: pointer; z-index: 10; font-size: 22px; }
.products-carousel-btn.prev { left: 10px; }
.products-carousel-btn.next { right: 10px; }

@media (max-width: 1024px) { .products-carousel-track .product-card { flex-basis: 33.333%; } }
@media (max-width: 768px) { .products-carousel-track .product-card { flex-basis: 100%; } .products-carousel-wrapper { padding: 0 20px; } }
@media (max-width: 480px) { .products-carousel-track .product-card { height: auto; } }