/* --- ミニバナー全体のコンテナ設定 --- */
.top-banner {
    /* Flexboxを有効にし、子要素（li）を横並びにする */
    display: flex;
    /* バナーが画面幅を超えたら折り返すことを許可 */
    flex-wrap: wrap; 
    /* バナー間の隙間を10pxに統一 (最も綺麗に配置できます) */
    gap: 10px;       
    /* ブラウザのデフォルト余白をリセット */
    list-style: none;
    margin: 0;
    padding: 0;
}

/* --- 個々のバナーアイテム（PC表示：5枚1列） --- */
.top-banner li {
    /* Flexアイテムの幅を calc() で正確に計算 */
    /* 100%から隙間4つ分(4*10px=40px)を引いたものを5分割 */
    /* (100% - 40px) / 5 = 20% - 8px */
    width: calc(20% - 8px); 
    /* 余計なmarginやpaddingをリセット */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.top-banner li img {
    /* 画像を li の幅いっぱいに広げる */
    width: 100%;
    height: auto;
    display: block;
    border: solid 1px #ccc; /* 画像の枠線 */
}

/* -------------------------------------------------------------------------- */
/* --- スマートフォン表示 (2枚1列) の設定 --- */
@media screen and (max-width: 768px) {
    .top-banner li {
        /* スマホでは2枚を横並びに。gap分を考慮して calc() で正確に計算 */
        /* 100%から隙間1つ分(10px)を引いたものを2分割 = 50% - 5px */
        width: calc(50% - 5px); 
        /* PC用の width を上書きし、均等な2枚並びを実現 */
    }
}