body .otaru-event-card .otaru-card-noimage,
body .otaru-shop-card .otaru-card-noimage,
body .otaru-recruit-card .otaru-card-noimage,
body .otaru-diary-card .otaru-card-noimage,
body .otaru-piece-card .otaru-card-noimage{
    background-color:#fff!important;
    background-image:url("/ec.jpg")!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:contain!important;
    color:transparent!important;
    font-size:0!important;
    overflow:hidden!important;
}

.otaru-card{border-radius:12px;overflow:hidden;background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,0.08);display:flex;flex-direction:column;height:100%;}
.otaru-card img{width:100%;object-fit:cover;display:block;}
.otaru-card-wrap{position:relative;background:#eee;}
.otaru-card-noimage{background:#eee;display:flex;align-items:center;justify-content:center;color:#777;font-size:13px;}
.otaru-card-body{padding:10px;display:flex;flex-direction:column;flex:1;}
.otaru-card-title{
    font-size:15px;
    font-weight:700;
    line-height:1.5;
    margin:-10px -10px 8px;
    padding:8px 10px;
    min-height:calc(1.5em * 2 + 16px);
    max-height:calc(1.5em * 2 + 16px);
    box-sizing:border-box;
    overflow:hidden;
}
.otaru-card .otaru-card-title a{
    display:-webkit-box!important;
    color:#fff!important;
    text-decoration:none!important;
    padding:0!important;
    line-height:1.5!important;
    min-height:0!important;
    max-height:calc(1.5em * 2)!important;
    box-sizing:border-box;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
}
.otaru-card .otaru-card-title.is-diary{background:#3A63C8!important;}
.otaru-card .otaru-card-title.is-piece{background:#1DA1D2!important;}
.otaru-card .otaru-card-title.is-event{background:#FF69B4!important;}
.otaru-card .otaru-card-title.is-shop{background:#00A86B!important;}
.otaru-card .otaru-card-title.is-recruit{background:#FF9B2C!important;}
.otaru-card-category{display:inline-block;font-size:12px;padding:3px 7px;background:#f2f2f2;border-radius:999px;margin-right:4px;color:#555;line-height:1.4;}
.otaru-card-date{margin:8px 0 0;color:#666;font-size:13px;line-height:1.5;font-weight:400;background:transparent;padding:0;}
.otaru-list-main{min-width:0!important;}
.otaru-list-main .otaru-list-pagination{margin:18px 0 0!important;width:auto!important;max-width:none!important;min-width:0!important;}
.otaru-list-main .otaru-list-pagination-items{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;}
.otaru-list-main .otaru-list-pagination .page-numbers{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:38px!important;max-width:none!important;min-height:38px!important;padding:6px 10px!important;border:1px solid #ddd!important;border-radius:6px!important;background:#fff!important;color:#111!important;text-decoration:none!important;box-sizing:border-box!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;line-height:1.2!important;}
.otaru-list-main .otaru-list-pagination .page-numbers.current{background:#f3f3f3!important;font-weight:700!important;}
/* otaru-common-fixed-card-size-v2 */
/* Common list cards: PC fixed 3 columns x 4 rows, fixed card width and height */
body .otaru-event-list,
body .otaru-shop-list,
body .otaru-recruit-list,
body .otaru-diary-list,
body .otaru-piece-list{
    display:grid!important;
    grid-template-columns:repeat(3, 280px)!important;
    justify-content:start!important;
    align-items:start!important;
    gap:16px!important;
}

body .otaru-event-card.otaru-card,
body .otaru-shop-card.otaru-card,
body .otaru-recruit-card.otaru-card,
body .otaru-diary-card.otaru-card,
body .otaru-piece-card.otaru-card{
    display:flex!important;
    flex-direction:column!important;
    width:280px!important;
    max-width:280px!important;
    min-width:0!important;
    height:300px!important;
    max-height:300px!important;
    align-self:start!important;
}

body .otaru-event-card .otaru-card-wrap,
body .otaru-shop-card .otaru-card-wrap,
body .otaru-recruit-card .otaru-card-wrap,
body .otaru-diary-card .otaru-card-wrap,
body .otaru-piece-card .otaru-card-wrap{
    width:100%!important;
    flex:0 0 140px!important;
}

body .otaru-event-card img,
body .otaru-shop-card img,
body .otaru-recruit-card img,
body .otaru-diary-card img,
body .otaru-piece-card img,
body .otaru-event-card .otaru-card-noimage,
body .otaru-shop-card .otaru-card-noimage,
body .otaru-recruit-card .otaru-card-noimage,
body .otaru-diary-card .otaru-card-noimage,
body .otaru-piece-card .otaru-card-noimage{
    width:100%!important;
    height:140px!important;
    object-fit:cover!important;
}

body .otaru-event-card .otaru-card-body,
body .otaru-shop-card .otaru-card-body,
body .otaru-recruit-card .otaru-card-body,
body .otaru-diary-card .otaru-card-body,
body .otaru-piece-card .otaru-card-body{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
}

/* TOP only: keep the independent five-card layout */
body .otaru-front-card-list{
    display:grid!important;
    grid-template-columns:repeat(5, minmax(0, 1fr))!important;
    justify-content:stretch!important;
    align-items:start!important;
    gap:18px!important;
}

body .otaru-front-card-list .otaru-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:300px!important;
    max-height:300px!important;
}

/* Front latest cards: fixed image / 2-line title / meta areas */
body .otaru-front-latest-tabs-block .otaru-front-card{
    height:300px!important;
    max-height:300px!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-wrap{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:140px!important;
    min-height:140px!important;
    max-height:140px!important;
    flex:0 0 140px!important;
    overflow:hidden!important;
    background:#fff!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-wrap > a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    background:#fff!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:contain!important;
    background:#fff!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-noimage{
    display:flex!important;
    width:100%!important;
    height:140px!important;
    min-height:140px!important;
    max-height:140px!important;
    background-color:#fff!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-body{
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 160px!important;
    height:160px!important;
    min-height:160px!important;
    max-height:160px!important;
    overflow:hidden!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-title{
    box-sizing:border-box!important;
    flex:0 0 calc(1.5em * 2 + 16px)!important;
    min-height:calc(1.5em * 2 + 16px)!important;
    max-height:calc(1.5em * 2 + 16px)!important;
    overflow:hidden!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-title a{
    display:-webkit-box!important;
    max-height:calc(1.5em * 2)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
}

body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-meta{
    box-sizing:border-box!important;
    flex:0 0 79px!important;
    height:79px!important;
    min-height:79px!important;
    max-height:79px!important;
    overflow:hidden!important;
}

@media(max-width:768px){
    body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-wrap{
        height:108px!important;
        min-height:108px!important;
        max-height:108px!important;
        flex:0 0 108px!important;
    }

    body .otaru-front-latest-tabs-block .otaru-front-card img{
        width:auto!important;
        height:auto!important;
        max-width:100%!important;
        max-height:100%!important;
        min-width:0!important;
        min-height:0!important;
    }

    body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-noimage{
        height:108px!important;
        min-height:108px!important;
        max-height:108px!important;
    }

    body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-body{
        flex:0 0 152px!important;
        height:152px!important;
        min-height:152px!important;
        max-height:152px!important;
    }

    body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-title{
        flex:0 0 calc(1.4em * 2 + 14px)!important;
        min-height:calc(1.4em * 2 + 14px)!important;
        max-height:calc(1.4em * 2 + 14px)!important;
    }

    body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-title a{
        max-height:calc(1.4em * 2)!important;
    }

    body .otaru-front-latest-tabs-block .otaru-front-card .otaru-card-meta{
        flex:0 0 85.6px!important;
        height:85.6px!important;
        min-height:85.6px!important;
        max-height:85.6px!important;
    }
}

@media(max-width:1100px){
    body .otaru-front-card-list{
        grid-template-columns:repeat(3, minmax(0, 1fr))!important;
    }
}

@media(max-width:768px){
    body .otaru-event-list,
    body .otaru-shop-list,
    body .otaru-recruit-list,
    body .otaru-diary-list,
    body .otaru-piece-list{
        display:grid!important;
        grid-template-columns:repeat(2, minmax(0, 1fr))!important;
        justify-content:stretch!important;
        overflow-x:visible!important;
        gap:8px!important;
        padding-right:0!important;
    }

    body .otaru-front-card-list{
        display:grid!important;
        grid-template-columns:repeat(2, minmax(0, 1fr))!important;
        justify-content:stretch!important;
        overflow-x:visible!important;
        gap:10px!important;
        padding-right:0!important;
    }

    body .otaru-event-card.otaru-card,
    body .otaru-shop-card.otaru-card,
    body .otaru-recruit-card.otaru-card,
    body .otaru-diary-card.otaru-card,
    body .otaru-piece-card.otaru-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        flex:none!important;
        height:260px!important;
        max-height:260px!important;
    }

    body .otaru-front-card-list .otaru-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        flex:none!important;
        height:260px!important;
        max-height:260px!important;
    }

    body .otaru-front-event-shortcuts .otaru-front-card.otaru-card{
        height:auto!important;
        max-height:none!important;
    }

    body .otaru-front-event-shortcuts .otaru-front-card .otaru-card-wrap{
        width:100%!important;
        flex:0 0 108px!important;
        overflow:visible!important;
    }

    body .otaru-front-event-shortcuts .otaru-front-card .otaru-card-wrap > a{
        display:block!important;
        width:100%!important;
    }

    body .otaru-front-event-shortcuts .otaru-front-card img{
        display:block!important;
        width:100%!important;
        height:108px!important;
        object-fit:contain!important;
    }

    body .otaru-event-card .otaru-card-wrap,
    body .otaru-shop-card .otaru-card-wrap,
    body .otaru-recruit-card .otaru-card-wrap,
    body .otaru-diary-card .otaru-card-wrap,
    body .otaru-piece-card .otaru-card-wrap{
        flex:0 0 108px!important;
    }

    body .otaru-event-card img,
    body .otaru-shop-card img,
    body .otaru-recruit-card img,
    body .otaru-diary-card img,
    body .otaru-piece-card img,
    body .otaru-event-card .otaru-card-noimage,
    body .otaru-shop-card .otaru-card-noimage,
    body .otaru-recruit-card .otaru-card-noimage,
    body .otaru-diary-card .otaru-card-noimage,
    body .otaru-piece-card .otaru-card-noimage{
        height:108px!important;
    }

    .otaru-list-main .otaru-list-pagination{margin:14px 0 0!important;overflow-x:auto!important;}
    .otaru-list-main .otaru-list-pagination-items{flex-wrap:nowrap!important;white-space:nowrap!important;}

    body .otaru-card-title{
        font-size:13px!important;
        line-height:1.4!important;
    }

    body .otaru-card-title{
        min-height:calc(1.4em * 2 + 14px)!important;
        max-height:calc(1.4em * 2 + 14px)!important;
        padding:7px 8px!important;
    }

    body .otaru-card .otaru-card-title a{
        min-height:0!important;
        max-height:calc(1.4em * 2)!important;
        padding:0!important;
        line-height:1.4!important;
    }

    body .otaru-card-body{
        padding:8px!important;
    }

    body .otaru-card-category,
    body .otaru-card-date{
        font-size:11px!important;
    }
}
/* Fixed shortcut cards above recruit / diary / piece lists */
body .otaru-list-shortcuts{
    display:grid!important;
    grid-template-columns:repeat(3,280px)!important;
    justify-content:start!important;
    align-items:start!important;
    gap:16px!important;
    margin:0 0 16px!important;
}
body .otaru-list-shortcuts .otaru-list-shortcut-card.otaru-card{
    width:280px!important;
    max-width:280px!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
}
body .otaru-list-shortcuts .otaru-list-shortcut-card .otaru-card-wrap{
    width:100%!important;
    flex:0 0 auto!important;
    background:transparent!important;
}
body .otaru-list-shortcuts .otaru-list-shortcut-card .otaru-card-wrap > a{
    display:block!important;
    width:100%!important;
}
body .otaru-list-shortcuts .otaru-list-shortcut-card img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2 / 1;
    object-fit:contain!important;
}

@media(max-width:768px){
    body .otaru-list-shortcuts{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        justify-content:stretch!important;
        gap:8px!important;
        margin-bottom:12px!important;
    }
    body .otaru-list-shortcuts .otaru-list-shortcut-card.otaru-card{
        width:100%!important;
        max-width:none!important;
        min-width:0!important;
        height:auto!important;
        max-height:none!important;
    }
    body .otaru-list-shortcuts .otaru-list-shortcut-card .otaru-card-wrap{
        width:100%!important;
        flex:0 0 auto!important;
        overflow:visible!important;
    }
    body .otaru-list-shortcuts .otaru-list-shortcut-card img{
        width:100%!important;
        height:auto!important;
        object-fit:contain!important;
    }
}
/* /otaru-common-fixed-card-size-v2 */
