/**
 * side
**/
.side {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 23.33%;
}

.side .search_parts {
    margin: 0 0 20px 0;
    text-align: left;
    background: #ffffff;
    border: 1px solid #ff7bac;
    border-radius: 90px;
    position: relative;
    overflow: hidden;
}

.side .search_parts .text {
    margin: 0 0 0 0;
    padding: 7px 15px;
    width: 80%;
    line-height: 1.6em;
    font-size: 15px;
    background: #ffffff;
    border: none;
    border-radius: 0px;
    -webkit-appearance: none;
    box-sizing: border-box;
}

.side .search_parts .btn {
    margin: -10px 0 0 0;
    padding: 0 0 0 0;
    width: 21px;
    position: absolute;
    top: 50%;
    right: 10px;
}

.side .tag_parts {
    margin: 0 0 35px 0;
    padding: 0 0 5px 0;
    width: 100%;
    background: #ffffff;
    overflow: hidden;
}

.side .tag_parts h3 {
    margin: 0 0 15px 0;
    padding: 10px 0 10px 0px;
    line-height: 1.4em;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
    background-image: url(../images/common/bg_title.svg);
    background-repeat: no-repeat;
    background-size: cover;
    border: 2px solid #ff7bac;
    position: relative;
    text-align: center;
}

.side .tag_parts h4 {
    position: relative;
    font-size: 15px;
    font-weight: bold;
    margin-left: 1.5em;
}

.side .tag_parts h4::before {
    content: "";
    position: absolute;
    top: 34%;
    left: -.7em;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid #000;
    transition: transform 0.2s ease-in-out;
}

.side .tag_parts h4.is-open::before {
    transform: translateX(-50%) rotate(180deg);
}


.side .tag_parts h3:before {
    margin: -14px 0 0 0;
    padding: 0 0 0 0;
    width: 26px;
    height: 26px;
    line-height: 26px;
    content: "";
    background: url("../images/common/icon_title_01.png") no-repeat center center;
    background-size: cover;
    display: block;
    position: absolute;
    top: 54%;
    left: 13px;
}

.side .tag_parts .tag_list {
    margin: 0 0 10px 0px;
    padding: 0 5px 0;
    line-height: 1.6em;
    font-size: 10px;
    text-align: left;
    box-sizing: border-box;
}

.side .tag_parts .tag_list .tag-button {
    display: inline-block;
    border: 1px solid #000;
    border-radius: 10px;
    padding: 3px 5px;
    margin: 0 5px 5px 0;
    position: relative;
}

.side .tag_parts .tag_list .tag-icon {
    position: absolute;
    background-image: url(../images/common/icon_tag01.png);
    width: 11px;
    height: 11px;
    top: 28%;
    left: 0.6em;
    display: inline-block;
    background-size: 100%;
}

.side .tag_parts .tag_list .tag-button {
    cursor: pointer;
}

.side .tag_parts .tag_list .tag-text {
    font-size: 10px;
    padding: 0 .75em 0 1.5em;
}

#tag-category .tag-button:hover {
    background-color: #ff7bac;
    color: #fff;
}

#tag-nijisanji .tag-button:hover {
    background-color: #00940c;
    color: #fff;
}

#tag-hololive .tag-button:hover {
    background-color: #a10ef7;
    color: #fff;
}


.side .tag_parts .tag_list .tag {
    margin: 0 21px 8px 0;
    padding: 4px 6px 4px 7px;
    text-decoration: none;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    cursor: pointer;
}

.side .tag_parts .tag_list .tag.area:before {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 11px;
    height: 11px;
    content: "";
    background-image: url("../images/common/icon_tag01.png");
    background-repeat: no-repeat;
    position: absolute;
    top: 30%;
    left: -1.5em;
}


.side .tag_parts .btn {
    margin: 0 auto 15px;
    padding: 0 0 0 0;
    width: 134px;
}

.side .tag_parts .btn a {
    margin: 0 0 0 0;
    padding: 7px 0 7px 25px;
    line-height: 1.4em;
    font-size: 15px;
    text-align: left;
    text-decoration: none;
    color: #ffffff;
    background: #ff7bac;
    border: 2px solid #ff7bac;
    border-radius: 5px;
    display: block;
    position: relative;
    transition: all 0.5s 0s;
}

.side .tag_parts .btn a:hover {
    color: #ff7bac;
    background: #ffffff;
}

.side .tag_parts .btn a:after {
    margin: -5px 0 0 0;
    padding: 0 0 0 0;
    width: 5px;
    height: 10px;
    line-height: 10px;
    content: "";
    background: url("../images/common/arrow_09.png") no-repeat center center;
    background-size: cover;
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
}

.side .tag_parts .btn a:hover:after {
    margin: -5px 0 0 0;
    padding: 0 0 0 0;
    width: 5px;
    height: 10px;
    line-height: 10px;
    content: "";
    background: url("../images/common/arrow_14.png") no-repeat center center;
    background-size: cover;
    display: block;
    position: absolute;
    top: 50%;
    right: 12px;
}

.side .tag_parts hr {
    margin: 0 10px 15px 10px;
    width: calc(100% - 20px);
    height: 0;
    line-height: 0;
    background: none;
    border: none;
    border-top: 1px solid #b2aead;
    clear: both;
}

.side .ranking_parts {
    margin: 0 0 35px 0;
    padding: 0 0 5px 0;
    width: 100%;
    background: #ffffff;
    overflow: hidden;
}

.side .ranking_parts h3 {
    margin: 0 0 15px 0;
    padding: 10px 0 10px 0px;
    line-height: 1.4em;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
    background-image: url(../images/common/bg_title.svg);
    background-repeat: no-repeat;
    background-size: cover;
    border: 2px solid #ff7bac;
    position: relative;
    text-align: center;
}

.side .ranking_parts h3:before {
    margin: -8px 0 0 0;
    padding: 0 0 0 0;
    width: 32px;
    height: 27px;
    line-height: 27px;
    content: "";
    background: url("../images/common/icon_rank.png") no-repeat center center;
    background-size: cover;
    display: block;
    position: absolute;
    top: 35%;
    left: 13px;
}

.side .ranking_parts .list {
    max-width: 264px;
    margin: 0 auto;
}

.side .ranking_parts .list .image-item {
    border: 2px solid #ccc;
    border-radius: 0 10px 10px;
    box-sizing: border-box;
    overflow: hidden;
}

.side .ranking_parts .list .image-item {
    position: relative;
}

.side .ranking_parts .list .image-item .image_wrapper {
    position: relative;
    overflow: hidden;
}

.side .ranking_parts .list .image-item .image_wrapper img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease-in-out;
}

.side .ranking_parts .list .item-overlay {
    position: absolute;
    top: 5px;
    right: 5px;
    color: white;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0 5px 0 2.5em;
    border-radius: 3px;
    font-size: 0.8em;
}

.side .ranking_parts .list .item-overlay::before {
    content: '';
    position: absolute;
    background-image: url(../images/common/item-overlay.png);
    width: 17px;
    height: 17px;
    background-size: 100%;
    top: 16%;
    left: 10%;

}



.side .tag-row {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0px;
    padding: 5px 3px;
    margin: 0px 0;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;

}

.side .tag-button {
    display: inline-block;
    border: 1px solid #000;
    border-radius: 11px;
    padding: 0px 8px;
    margin: 10px 5px 5px 2px;
    cursor: pointer;
}

.side .tag-button.plus-tag {
    background-color: #e0e0e0;
    border-color: #aaa;
    color: #555;
    font-weight: bold;
}

#tag-category .tag-button.is-selected {
    background-color: #ff7bac;
    color: #ffffff;
    font-weight: bold;
}

#tag-nijisanji .tag-button.is-selected {
    background-color: #00940c;
    color: #ffffff;
    font-weight: bold;
}

#tag-hololive .tag-button.is-selected {
    background-color: #a10ef7;
    color: #ffffff;
    font-weight: bold;
}


@media only screen and (max-width: 850px) {
    .side {
        margin: 0 auto 0;
        padding: 0 0 50px 0;
        width: 90.27%;
    }

    .side.sp_disp {
        padding: 0 0 0 0;
    }

    .side .search_parts {
        margin: 0 0 20px 0;
        text-align: left;
        background: #ffffff;
        border: 1px solid #ff7bac;
        border-radius: 90px;
        position: relative;
        overflow: hidden;
    }

    .side .search_parts .text {
        margin: 0 0 0 0;
        padding: 7px 15px;
        width: 80%;
        line-height: 1.6em;
        font-size: 15px;
        background: #ffffff;
        border: none;
        border-radius: 0px;
        -webkit-appearance: none;
        box-sizing: border-box;
    }

    .side .search_parts .btn {
        margin: -10px 0 0 0;
        padding: 0 0 0 0;
        width: 21px;
        position: absolute;
        top: 50%;
        right: 10px;
    }



    .side .tag_parts {
        margin: 0 0 35px 0;
        padding: 0 0 5px 0;
        width: 100%;
        background: #ffffff;
        overflow: hidden;
    }

    .side .tag_parts h3 {
        border: none;
    }


    .side .tag_parts h3:before {
        margin: -14px 0 0 0;
        padding: 0 0 0 0;
        width: 23px;
        height: 29px;
        line-height: 29px;
        content: "";
        background: url("../images/common/icon_title_01.svg") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 50%;
        left: 13px;
    }

    .side .tag_parts .tag_list {
        margin: 0 15px 10px 28px;
        padding: 0 0 0 0;
        width: calc(100% - 43px);
        line-height: 1.6em;
        font-size: 10px;
        text-align: left;
        box-sizing: border-box;
    }

    .side .tag_parts .tag_list .tag {
        margin: 0 21px 8px 0;
        padding: 4px 6px 4px 7px;
        text-decoration: none;
        box-sizing: border-box;
        display: inline-block;
        vertical-align: middle;
        position: relative;
    }

    .side .tag_parts .tag_list .tag.area {
        background: url("../images/common/tag_back_01.png") no-repeat right center;
        background-size: auto 100%;
    }

    .side .tag_parts .tag_list .tag.area:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 13px;
        height: 100%;
        content: "";
        background: url("../images/common/icon_tag_01.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 0;
        left: -13px;
    }

    .side .tag_parts .tag_list .tag.genre {
        background: url("../images/common/tag_back_02.png") no-repeat right center;
        background-size: auto 100%;
    }

    .side .tag_parts .tag_list .tag.genre:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 13px;
        height: 100%;
        content: "";
        background: url("../images/common/icon_tag_02.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 0;
        left: -13px;
    }

    .side .tag_parts .tag_list .tag.kodawari {
        background: url("../images/common/tag_back_04.png") no-repeat right center;
        background-size: auto 100%;
    }

    .side .tag_parts .tag_list .tag.kodawari:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 13px;
        height: 100%;
        content: "";
        background: url("../images/common/icon_tag_04.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 0;
        left: -13px;
    }

    .side .tag_parts hr {
        margin: 0 10px 15px 10px;
        width: calc(100% - 20px);
        height: 0;
        line-height: 0;
        background: none;
        border: none;
        border-top: 1px solid #b2aead;
        clear: both;
    }

    .side .ranking_parts {
        margin: 0 0 35px 0;
        padding: 0 0 5px 0;
        width: 100%;
        background: #ffffff;
        overflow: hidden;
    }

    .side .ranking_parts h3 {
        margin: 0 0 15px 0;
        padding: 10px 0 10px 48px;
        text-align: left;
        line-height: 1.4em;
        font-size: 18px;
        font-weight: bold;
        color: #ffffff;
        background: #6ec0ec url("../images/common/title_back_02.png") repeat-x 0 0;
        background-size: auto 100%;
        position: relative;
    }

    .side .ranking_parts h3:before {
        margin: -8px 0 0 0;
        padding: 0 0 0 0;
        width: 26px;
        height: 17px;
        line-height: 17px;
        content: "";
        background: url("../images/common/icon_title_02.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 50%;
        left: 13px;
    }

    .side .ranking_parts .list {}

    .side .ranking_parts .list .item {
        margin: 0 auto 24px auto;
        padding: 0 8px 13px 8px;
        width: 85.84%;
        max-width: 85.84%;
        border-bottom: 1px solid #b2aead;
        box-sizing: border-box;
    }

    .side .ranking_parts .list .item:nth-of-type(3) {
        margin: 0 auto 28px auto;
        padding: 0 0 0 0;
        border-bottom: none;
    }

    .side .ranking_parts .list .item a.link {
        padding: 0 0 0 0;
        text-decoration: none;
        text-align: left;
        display: block;
        color: #231815;
        background: #ffffff;
        position: relative;
    }

    .side .ranking_parts .list .item:nth-of-type(1) a.link:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 33px;
        height: 33px;
        content: "";
        background: url("../images/common/icon_rank_01.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: -4px;
        left: -4px;
    }

    .side .ranking_parts .list .item:nth-of-type(2) a.link:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 33px;
        height: 33px;
        content: "";
        background: url("../images/common/icon_rank_02.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: -4px;
        left: -4px;
    }

    .side .ranking_parts .list .item:nth-of-type(3) a.link:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 33px;
        height: 33px;
        content: "";
        background: url("../images/common/icon_rank_03.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: -4px;
        left: -4px;
    }



    .side .ranking_parts .list .item img {
        width: 100%;
        display: block;
    }

    .side .ranking_parts .list .item .image {
        margin: 0 0 12px 0;
    }

    .side .ranking_parts .list .item .box {
        margin: 0 0 8px 0;
        width: 100%;
        display: flex;
    }

    .side .ranking_parts .list .item .update {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 50%;
        box-sizing: border-box;
        line-height: 1.3em;
        font-size: 13px;
    }

    .side .ranking_parts .list .item .tag_list {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 50%;
        line-height: 1.6em;
        font-size: 10px;
        text-align: right;
        box-sizing: border-box;
    }

    .side .ranking_parts .list .item .tag_list .tag {
        margin: 0 0 0 15px;
        padding: 4px 6px 4px 7px;
        box-sizing: border-box;
        display: inline-block;
        vertical-align: middle;
        position: relative;
    }

    .side .ranking_parts .list .item .tag_list .tag.area {
        background: url("../images/common/tag_back_01.png") no-repeat right center;
        background-size: auto 100%;
    }

    .side .ranking_parts .list .item .tag_list .tag.area:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 13px;
        height: 100%;
        content: "";
        background: url("../images/common/icon_tag_01.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 0;
        left: -13px;
    }

    .side .ranking_parts .list .item .tag_list .tag.genre {
        background: url("../images/common/tag_back_02.png") no-repeat right center;
        background-size: auto 100%;
    }

    .side .ranking_parts .list .item .tag_list .tag.genre:before {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        width: 13px;
        height: 100%;
        content: "";
        background: url("../images/common/icon_tag_02.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 0;
        left: -13px;
    }

    .side .ranking_parts .list .item .title {
        margin: 0 0 0 0;
        line-height: 1.3em;
        font-size: 15px;
        font-weight: bold;
        color: #231815;
        clear: both;
    }


    .view_more {
        width: 100%;
        height: 150px;
        position: relative;
        overflow: hidden;
    }

    .view_more.active {
        height: auto;
    }

    .view_more:after {
        width: 100%;
        height: 170px;
        content: "";
        background: url("../images/common/view_more_back_01.png") no-repeat center bottom;
        background-size: 100% 85px;
        display: block;
        z-index: 1;
        position: absolute;
        bottom: 0;
        left: 0;
        overflow: hidden;
    }

    .view_more.active:after {
        display: none;
    }

    .view_more .more {
        margin: 0 0 0 -64px;
        width: 128px;
        position: absolute;
        bottom: 10px;
        left: 50%;
        z-index: 2;
    }

    .view_more .more a {
        margin: 0 0 0 0;
        padding: 8px 0px 8px 15px;
        line-height: 1.2em;
        font-size: 15px;
        text-decoration: none;
        color: #ffffff;
        background: #ff7bac;
        border: 2px solid #ff7bac;
        border-radius: 5px;
        -webkit-appearance: none;
        box-sizing: border-box;
        display: block;
        cursor: pointer;
        transition: all 0.5s 0s;
        text-align: left;
        position: relative;
    }

    .view_more .more a:before {
        margin: -2px 0 0 0;
        padding: 0 0 0 0;
        width: 10px;
        height: 5px;
        line-height: 5px;
        content: "";
        background: url("../images/common/arrow_07.png") no-repeat center center;
        background-size: cover;
        display: block;
        position: absolute;
        top: 50%;
        right: 11px;
    }



}