aside div.wpp ul{
    margin: 1em 0;
    padding: 0 .5em;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
}

aside div.wpp ul li{
    position: relative;
    width: 100%;
    margin: 2px 0;
}

/* ランク番号 */
aside div.wpp ul li::before{
    position: absolute;
    display: inline-block;
    background-color: rgba(50, 50, 50, 0.8);
    color: #fff;
    content: "5";
    left: calc( 0.5em + 4px );
    top: calc( 0.5em + 4px );
    width: 2em;
    height: 2em;
    min-width: 2em;
    min-height: 2em;
    text-align: center;
    line-height: 2em;
    z-index: 10;
    border-top-left-radius: 4px;
    pointer-events: none;
}

/* 1-4 位カラー */
aside div.wpp ul li:nth-child(1)::before{
    background-color: rgba(255,200,0,.9);
    content:"1";
}
aside div.wpp ul li:nth-child(2)::before{
    background-color: rgba(200,200,200,.9);
    content:"2";
}
aside div.wpp ul li:nth-child(3)::before{
    background-color: rgba(210,90,10,.9);
    content:"3";
}
aside div.wpp ul li:nth-child(4)::before{ content:"4"; }

/* 最後の項目は番号なし */
aside div.wpp ul li:last-child::before{ content: none; }

/* カード（外枠） */
aside div.wpp ul li .wpp-card{
    border: 4px var(--mid-gold) solid;
    border-radius: 4px;
    padding: .5em;
    box-sizing: border-box;
}

/* 左：画像 / 右：タイトル＋カテゴリ */
aside div.wpp ul li .wpp-row{
    display: flex;
    align-items: flex-start;
    gap: .75em;
}

/* サムネ（記事リンク） */
aside div.wpp ul li a.wpp-link{
    flex-shrink: 0;
    display: block;
    text-decoration: none;
}

/* 画像 or JS のフォールバック span */
aside div.wpp ul li a.wpp-link img{
    width: 80px;
    height: 80px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}
aside div.wpp ul li a.wpp-link > span:first-child{
    display: flex;
    border-radius: 4px;
}

/* 右側テキスト */
aside div.wpp ul li .wpp-text{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .35em;
}

/* タイトル（記事リンク） */
aside div.wpp ul li a.wpp-post-link{
    display: block;
    text-decoration: none;
    color: inherit;
}
aside div.wpp ul li .wpp-post-title{
    font-weight: 500;
    font-size: 0.9em;
    line-height: 1.35;
    display: block;
    word-break: break-word;
}
aside div.wpp ul li .wpp-post-sub{
    display: block;
    font-size: .8em;
    opacity: .9;
}

/* 親カテゴリ（カテゴリリンク：独立） */
aside div.wpp ul li a.wpp-parent-cat-link{
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
    color: inherit;
    color: var(--red);
}

aside div.wpp ul li a.wpp-parent-cat-link span{
    font-size: .9em;
    color: var(--red);
}

aside div.wpp ul li a.wpp-parent-cat-link .wpp-parent-cat::before{
    content: "\e185";
    font-family: var(--fa6);
    margin-right: 2px;
}

/* 2列配置（タブレット） */
@media (min-width: 767px){
    aside div.wpp ul li{
        width: calc(50% - 0.25em);
    }
}

/* PC は 1列に戻す */
@media (min-width: 1180px){
    aside div.wpp ul{
        padding: .5em 1em;
    }
    aside div.wpp ul li{
        width: 100%;
    }
}
