@charset "utf-8";
.single{
    .sec{
        padding-bottom: 0;
        overflow-x: clip;
        .sec_container{
            max-width: initial;
            width: 100%;
            border-radius: 0;
            background-color: transparent;
            > div > *{
                padding: 20px;
            }
        } 
        .sec_head{
            max-width: initial;
            padding: 0;
            margin: 0;
            padding-bottom: 0!important;
            .sec_h1{
                display: flex;
                align-items: baseline;
                flex-wrap: wrap;
                column-gap: 10px;
                margin-bottom: 0;
                .sec_h1-jp{
                    font-size: 2.2rem;
                }
            }
        }
        .character_img{
            > div{
                .character_img_slide{
                    .character_img_slide_item{
                        display: flex;
                        flex-wrap: wrap;
                        flex-direction: row;
                        justify-content: center;
                        position: relative;
                        &:has([alt="ネタバレ"])::before{
                            content: "";
                            width: 100%;
                            height: 100%;
                            position: absolute;
                            top: 0;
                            left: 0;
                            display: grid;
                            place-content: center;
                            cursor: pointer;
                            z-index: 1;
                        }
                        &.off{
                            cursor: default;
                            img[alt="ネタバレ"]{
                                filter: none;
                            }
                            &:has([alt="ネタバレ"])::before{
                                content: none;
                            }
                        }
                        &:has(.imgcap){
                            img{
                                @media screen and (min-width:1000px) {
                                    height: calc(100% - 35px);
                                }
                            }
                        }
                        img{
                            width: auto;
                            order: 1;
                            object-fit: cover;
                            transition: filter .3s ease;
                            height: 100vh;
                            @media screen and (min-width:1000px) {
                                /* height: calc(100% - 35px); */
                                height: 100%;
                                min-height: initial;
                            }
                            &[alt="ネタバレ"]{
                                filter: blur(15px);
                            }
                        }
                        .imgcap{
                            height: 35px;
                            line-height: 35px;
                            white-space: nowrap;
                            order: 0;
                            text-align: center;
                            border-bottom: var(--bordersize) solid var(--subcolor);
                            background:var(--maincolor);
                            width: 100%;
                            position: relative;
                            font-size: 1.2rem;
                        }
                    }
                }
            }
        }
        .character_caption{
            p:last-of-type{
                margin-bottom: 0;
            }
        }
        .character_status{
            border-top: var(--bordersize) solid;
            .character_status_list{
                display: flex;
                .character_status_list_item{
                    flex: 1 1 auto;
                    text-align: center;
                    dl{
                        dt{
                            font-size: 1.2rem;
                        }
                        dd{
                            font-size: 1.6rem;
                        }
                    }
                }
            }
        }
        .character_info{
            border-top: var(--bordersize) solid;
            .character_info_list{
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap:5px;
                @media screen and (min-width:1280px) {
                    grid-template-columns: 0.8fr 1.2fr 0.8fr 1.2fr;
                }
                .character_info_list_term{
                    font-weight: 700;
                }
                .character_info_list_dsc{
                    .colorcode{
                        width: 15px;
                        aspect-ratio: 1/1;
                        display: inline-block;
                        margin-left: 5px;
                    }
                }
            }
        }
        .character_scenario{
            border-top: var(--bordersize) solid;
            .character_scenario_def{
                .character_scenario_term{
                    font-weight: 700;
                    margin-bottom: 1em;
                }
                .character_scenario_dsc{
                    .character_scenario_list{
                        display: inline-flex;
                        flex-wrap: wrap;
                        gap: 0 5px;
                        .character_scenario_list_item{
                            &::after{
                                content: ",";
                            }
                            &:last-of-type::after{
                                content: none;
                            }
                        }
                    }
                }
            }
        }
        .character_notes{
            border-top: var(--bordersize) solid;
            .character_notes_def{
                padding: 0 20px;
                overflow: hidden;
                .character_notes_term{
                    font-weight: 700;
                    padding: 20px 0;
                    cursor: pointer;
                }
                .character_notes_dsc{
                    padding-bottom: 60px;
                    overflow: visible;
                    transition: all .5s ease-in-out;
                    &:has(.swiper-scrollbar-lock){
                        padding-bottom: 20px;
                    }
                }
                .sec_article{
                    padding-bottom: 0;
                    border-radius: 20px;
                    border: var(--bordersize) solid var(--subcolor);
                    height: auto;
                    @media screen and (min-width:1280px) {
                        border: var(--bordersize) solid var(--subcolor);
                        overflow: hidden;
                    }
                    .sec_article_head{
                        color: var(--subcolor);
                        border-bottom: var(--bordersize) solid;
                        &::after{
                            content: none;
                        }
                        > *{
                            padding: 0;
                        }
                        .sec_article_head_info{
                            .sec_article_cat{
                                @media screen and (min-width:1280px) {
                                    border-radius: 0;
                                }
                            }
                        }
                    }
                }
                .sec_article_container{
                    position: relative;
                    .sec_article_container_box{
                        .leer_btn{
                            cursor: pointer;
                            margin-bottom: 20px;
                            display: inline-block;
                            svg{
                                transition: all .3s ease;
                                stroke: var(--subcolor);
                                margin-right: 15px;
                            }
                        }
                    }
                    .sec_article_container_arrow{
                        text-align: right;
                        display: block;
                        svg{
                            stroke: var(--subcolor);
                            margin-left: 5px;
                        }
                    }
                }
            }                
        }
        .character_illusts{
            border-top: var(--bordersize) solid;
            .character_illusts_def{
                padding: 0 20px;
                overflow: hidden;
                .character_illusts_term{
                    font-weight: 700;
                    padding: 20px 0;
                    cursor: pointer;
                }
                .character_illusts_dsc{
                    padding-bottom: 60px;
                    overflow: visible;
                    transition: all .5s ease-in-out;
                    &:has(.swiper-scrollbar-lock){
                        padding-bottom: 20px;
                    }
                    .character_illusts_list{
                        display: flex;
                        gap: 0;
                        .character_illusts_item{
                            aspect-ratio: 1/1;
                            border-radius: 20px;
                            background: var(--accentcolor);
                            position: relative;
                            overflow: hidden;
                            img{
                                object-fit: cover;
                                object-position: center;
                                width: 100%;
                                height: 100%;
                            }
                            .character_illusts_cap{
                                position: absolute;
                                top: 0;
                                left: 0;
                                width: 100%;
                                height: 100%;
                                color: var(--maincolor);
                                z-index: 0;
                                display: grid;
                                place-items: center;
                                opacity: 0;
                                transition: all .3s ease;
                                &::after{
                                    content: "";
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                    width: 100%;
                                    height: 100%;
                                    z-index: -1;
                                    background: var(--subcolor);
                                    opacity: 0.8;
                                }
                            }
                            &:hover{
                                img{
                                    filter: blur(5px);
                                }
                                .character_illusts_cap{
                                    opacity: 1;
                                }
                            }
                            &:has([alt="ネタバレ"]){
                                img{
                                    filter: blur(5px);
                                }
                                &::after{
                                    content: "ネタバレ";
                                    position: absolute;
                                    top: 0;
                                    left: 0;
                                    width: 100%;
                                    height: 100%;
                                    color: var(--subcolor);
                                    background: var(--maincolor);
                                    z-index: 2;
                                    display: grid;
                                    place-items: center;
                                    opacity: .8;
                                    transition: all .3s ease;
                                    pointer-events: none;
                                }
                                &:hover{
                                    &::after{
                                        opacity: 0;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
.tab-switch{
    > div {
        display: flex; 
        flex-wrap: wrap;
        margin: auto;
        justify-content: center;
        > .tab-button { 
            flex: 1 1 auto; 
            order: -1; 
            position: relative; 
            padding: 0.3em 0.7em;
            background-color: var(--accentcolor); 
            color: var(--subcolor);
            text-align: center;
            cursor: pointer; 
            margin: 0 !important;
            transition: all .3s ease;
            font-size: 1.2rem;
            border-bottom: var(--bordersize) solid var(--subcolor);
            &:hover,
            &:has(:checked){
                background-color: var(--subcolor); 
                color: var(--maincolor); 
            }
            &:has(:checked){
                + .tab-content {
                    display: block;
                    animation: .5s ease 0s 1 normal forwards fadeAnimation;
                    /* padding-bottom: 20px; */
                    border-bottom: var(--bordersize) solid;
                    @media screen and (min-width:1000px) {
                        border-bottom: none;
                    }
                }
            }
        }
        input {
            display: none; 
        }
        > .tab-content {
            display: none; 
            margin:0;
            width: 100%; 
            opacity: 0;
        }
    }
}
@keyframes fadeAnimation {
    from {
    opacity: 0;
    }
    to {
    opacity: 1;
    }
}

@media screen and (min-width:1000px) {
    .single{
        .sec{
            display: grid;
            grid-template-columns: 50% 50%;
            &.character_relation{
                display: block;
            }
            .character_img{
                height: 100%;
                border-right: var(--bordersize) solid;
                > div{
                    position: sticky;
                    z-index: 1;
                    .character_img_slide {
                        height: 100%;
                        .swiper-wrapper{
                            height: 100%;
                        }
                    }
                }
            } 
        }
    }
}
.character_img_slide {
    .swiper-wrapper{
        height: auto;
    }
    .swiper-button-prev,
    .swiper-button-next{
        cursor: pointer;
        height: 40px;
        width: 30px;
        position: absolute;
        top: 50%;
        transform: translate3d(0,-50%,0);
        z-index: 10;
        display: grid;
        place-content: center;
        &::before,
        &::after{
            content: none;
        }
        svg{
            width: 100%;
            height: auto;
            stroke:var(--subcolor);
        }
    }
    .swiper-button-next{
        right: 20px;
    }
    .swiper-button-prev{
        left: 20px;
        transform: scaleX(-1) translate3d(0,-50%,0);
    }
    .swiper-pagination{
        text-align: center;
        position: relative;
        z-index: 10;
        bottom: 0;
        transform: translateY(-100%);
    }
    .swiper-pagination-bullet-active{
        background: var(--subcolor);
    }
    .swiper-scrollbar{
        background: var(--accentcolor);
        .swiper-scrollbar-drag{
            background: var(--subcolor);
        }
    }
}
.character_notes,.character_illusts{
    .swiper-scrollbar{
        bottom: 30px;
    }
}
/* swiper option */
.character_notes_list {
    .character_notes_list_item {
        width: 100%;
        @media (min-width:1000px){
            width: calc(100%/2.5);
        }
    }
}
.illust_list {
    .illust_list_item {
        width: calc(100%/2.5);
        @media (min-width:1000px){
            width: calc(100%/5.5);
        }
    }
}