/*@keyframes large_banner_cover {
    0%{
        width: 100%;
    }
    50%{
        width: 0;
        height: 100%;
        top: 0;
    }
    50.1%{
        height: 33.33%;
        top: 33.33%;
    }
    100%{
        width: 100%;
        height: 33.33%;
        top: 33.33%;
    }
}*/
.aside_large_banners{
    & ul{
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 1px;
    }
    & li{
        position: relative;
        aspect-ratio: 360/270;
        list-style: none;
        margin: 0;
        &>img{
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    & a{
        text-decoration: none;
        display: grid;
        place-content: center;
        width: 100%;
        height: 100%;
        color: #fff;
        font-size: min(1.7dvw,1.25rem);
        line-height: 1.1;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        padding: 15px;
        text-align: center;
        & .title{
            display: grid;
            position: relative;
            & br{
                display: none;
            }
        }
        & .jp{
            font-weight: bold;
            display: inline-block;
            margin-bottom: .4em;
        }
        & .en{
            font-size: .8em;
            line-height: 1.1;
        }
        & .desc{
            position: relative;
            font-size: .9rem;
            line-height: 1.6;
            margin-top: 1.5em;
            text-align: left;
            text-shadow: 2px 2px 4px #000;
            max-width: 26em;
        }
        &:before{
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #717171;
            mix-blend-mode: multiply;
            opacity: .6;
            pointer-events: none;
            transition: opacity .3s ease;
        }
        &:hover{
            &:before{
                /*animation: large_banner_cover .4s ease forwards;*/
                opacity: .8;
                transition: opacity .3s ease;
            }
        }
    }
    & .link_small_icon{
        display: block;
        text-align: center;
        margin-top: 1em;
    }
}

@container container (max-width:1000px) {
    .aside_large_banners {
        & ul {
            grid-template-columns: repeat(2, 1fr);
        }
    }
}
@media(max-width: 767px){
    .aside_large_banners{
        & ul{
            grid-template-columns: 1fr;
            gap: 2px;
        }
        & li{
            aspect-ratio: 375/200;
        }
        & a{
            & .title{
                font-size: 1.25rem;
            }
        }
    }
    &:has(.desc){
        & ul {
            grid-template-columns: repeat(2, 1fr);
            @media(max-width: 767px){
                grid-template-columns: 1fr;
            }
        }
        & li{
            @media(max-width: 767px) {
                aspect-ratio: 4/3;
            }
        }
    }
}
