.character__main{
    position: relative;
    overflow: hidden;
}
.character__main h2{
    position: absolute;
    left: 42.5%;
    bottom: min(60%, 320px);
    z-index: 14;
}
.character_items{
    position: relative;
    z-index: 12;
}
.character_item{
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease,visibility 0.5s ease;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}
.character_item.is-active{
    opacity: 1;
    visibility: visible;
    position: relative;
}
.character_item::before{
    content: '';
    width: 100%;
    height: 30%;
    background: linear-gradient(to top, #000, #000 5%, rgb(0, 0, 0, 0));
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 12;
}
.character_thumbs{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px clamp(10px,2vw,20px);
    overflow-x: auto;
    overflow-y: hidden;
    padding: clamp(40px, 5vw, 50px) clamp(20px, 5vw, 50px) 30px;
    background: #000;
    overflow: hidden;
    border-bottom: 2px solid #76642C;
    position: relative;
    z-index: 10;
}
.character_thumb.is-active {
    opacity: 1;
}
.character_thumb{
    opacity: 0.7;
    flex: 0 0 auto;
    width: clamp(90px, 15vw, 200px);
    padding: 0;
    position: relative;
    cursor: pointer;
}
.character_thumb:nth-child(odd){
    transform: translateY(-20px) rotate(1deg);
}
.character_thumb:nth-child(even){
    transform: rotate(-1deg);
}
.character_thumb:nth-child(3n){
    transform: translateY(-30px) rotate(-3deg);
}
.character_thumb::after{
    content: '';
    background: url('../img/character/dec__gaku1-min.png');
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.character_mainimg{
    width: 65%;
    margin-right: -30%;
    position: relative;
    z-index: 11;
}
.character_profile{
    width: 65%;
    max-width: 1000px;
    margin-right: auto;
    color: #cecece;
    padding: 30px;
    background: linear-gradient(to left, #000, rgb(0, 0, 0, 0.7) 85%, rgb(0, 0, 0, 0));
    position: relative;
    z-index: 13;
}
.character_profile__dec{
    border: 2px solid #8E7C40;
    position: relative;
    font-size: clamp(2rem,6vw,4.3rem);
    padding: clamp(10px,4vw,50px);
    width: 90%;
    margin-left: auto;
    background:
        url('../img/dec__kado1.png') right -3px top -3px / clamp(20px, 8vw, 90px) auto no-repeat,
        url('../img/dec__kado3.png') left -3px bottom -3px / clamp(20px, 8vw, 90px) auto no-repeat
    ;
}
.character_name{
    line-height: 1.2;
}
.character_katagaki{
    font-size: clamp(1rem,2vw,0.3em);
    line-height: 1.2;
    margin-bottom: 0.1em;
    padding-left: 0.2em;
}
.character_link{
    font-size: clamp(11px,3vw,16px);
    padding: 0.5em;
    position: absolute;
    right: 5px;
    bottom: 5px;
    background: #76642C;
}
.character_link::before{
    content: '';
    background: url('../img/dec__old.png');
    background-size: contain;
    position: absolute;
    aspect-ratio: 2 / 5;
    height: 100%;
    right: 100%;
    top: 0;
    z-index: 14;
    transform: scaleX(-1);
}
.character__bottom_dec{
    border-top: 2px solid #76642C;
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    margin-top: 4px;
}
.character__bottom_dec img{
    aspect-ratio: 200/34;
    width: clamp(50px,10vw,150px);
}
.character__bottom_dec::before,
.character__bottom_dec::after{
    content: '';
    position: absolute;
    aspect-ratio: 100/34;
    width: clamp(25px,5vw,75px);
    top: 0;
}
.character__bottom_dec::before{
    background: url('../img/dec__line.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: right;
    left: 0;
}
.character__bottom_dec::after{
    background: url('../img/dec__line.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position-x: left;
    right: 0;
}
#character{
    padding: clamp(2rem, 10vw, 11rem) 0 0;
    position: relative;
    z-index: 10;
}
#character .dec__gaku1{
    position: absolute;
    left: 30px;
    width: min(50%, 800px);
    z-index: 10;
    bottom: max(-50px, -8%);
}
#character .dec__gaku2{
    position: absolute;
    left: calc(95% - min(40%, 800px) + 30px);
    width: min(21%, 450px);
    z-index: 10;
    top: 5px;
}
#character .dec__gaku3{
    position: absolute;
    right: calc(min(30%, 175px) / -2);
    width: min(25%, 400px);
    z-index: 10;
    top: 10%;
}
#character .dec__star1{
    position: absolute;
    top: -10%;
    left: 35%;
    z-index: 12;
    width: min(40%, 300px);
}

@media only screen and (max-width: 860px) {
    .character__main h2 {
        position: relative;
        left: unset;
        bottom: unset;
        margin: auto;
    }
    .character_mainimg {
        width: 100%;
        margin-right: 0;
    }
    .character_profile {
        width: 100%;
        background: linear-gradient(to top, #000, rgb(0, 0, 0, 0.7) 85%, rgb(0, 0, 0, 0));
        margin-top: -15%;
    }    
    #character .dec__gaku1{
        width: min(80%, 800px);
        bottom: calc(60% / 10);
    }
    .character_profile__dec{
        width: 100%;
    }
    #character .dec__star1 { 
        top: 20%;
        left: calc(100% - min(40%, 300px));
    }
    .character_item::before{
        height: 50%;
        background: linear-gradient(to top, #000, #000 60%, rgb(0, 0, 0, 0))
    }
}
@media only screen and (max-width: 480px) {
    .character__main h2 {
        font-size: 5.5rem;
    }
}

/* --------------------------single-character-------------------------- */
/* --------------------------single-character-------------------------- */
#single_character main{
    background: linear-gradient(#00000000, #000000b3);
    z-index: 10;
    overflow-x: hidden;
    padding-top: clamp(10px, 3vw, 50px);
}

#single_character .single_character_info-content {
    background: #0000006b;
    border: 3px solid #8E7C40;
    position: relative;
}

#single_character .single_character_info-content-inner {
    margin: 2px;
    border: 1px solid #8E7C40;
    padding: 50px;
    color: #fff;
    position: relative;
    z-index: 1;
    font-size: clamp(0.8125rem, 0.7348rem + 0.3315vw, 1rem);
}

#single_character .character_main-content {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding: 30px;
    position: relative;
}

#single_character .dec__star1 {
    position: absolute;
    top: -7%;
    right: calc(100% - clamp(200px, 20%, 300px));
    width: clamp(200px, 20%, 300px);
}

#single_character .dec__star2 {
    position: absolute;
    bottom: 0%;
    left: calc(100% - clamp(200px, 20%, 300px));
    width: clamp(200px, 20%, 300px);
}

#single_character .character_text-content {
    width: 45%;
    margin-bottom: 200px;
}

#single_character .single_character_img-contant {
    width: 43%;
    display: flex;
    align-items: flex-start;
    justify-content: left;
}

#single_character .single_character_img-contant img {
    aspect-ratio: 5 / 7;
    object-fit: contain;
    object-position: left top;
    max-width: 750px;
    width: 100%;
}

#single_character h2 {
    font-size: clamp(3.75rem, 0.5533rem + 10.6557vw, 11.875rem);
    margin: 0 auto 40px;
}

#single_character .single_character_info-content::before {
    content: '';
    position: absolute;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: url('../img/dec__grass3.png') right -3px bottom 0 / min(40vw, 250px) auto no-repeat, url('../img/dec__grass4.png') left -3px top 0 / min(40vw, 250px) auto no-repeat;
    opacity: 0.5;
    transform: scaleX(-1);
}

#single_character .single_character_katagaki {
    font-size: 0.3em;
    letter-spacing: 0.1em;
}

#single_character .single_character_name {
    font-size: clamp(2.5rem, 1.982rem + 2.2099vw, 3.75rem);
    line-height: 1.2;
    margin-bottom: 20px;
}

#single_character .single_character_commment {
    background-color: #76642C;
    display: inline;
    color: #fff;
    padding: 0em 0.5em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 2;
    font-size: clamp(1rem, 0.6892rem + 1.326vw, 1.75rem);
}

#single_character .single_character_summary {
    margin: 20px 0;
    border-bottom: solid 1px #C39E38;
    padding-bottom: 20px;
    display: block;
}

#single_character .single_character_summary th {
    font-weight: normal;
    text-align: left;
}

#single_character .character_bg {
    position: fixed;
    right: -15%;
    bottom: 0;
    z-index: -1;
    filter: brightness(0.4);
    width: 54%;
    mask-image: linear-gradient(to right, transparent 1%, #000 10%);
    mask-composite: intersect;
    -webkit-mask-image: linear-gradient(to right, transparent 1%, #000 10%);
    -webkit-mask-composite: source-in;
}

#single_character .character_thumbs-area {
    background: linear-gradient(#00000000, #000);
    position: relative;
    margin-top: -200px;
}

#single_character .character_thumbs{
    background: none;
    border-bottom: none;
}
#single_character .character_thumb {
    opacity: 1;
}

#single_character .dec__gaku1 {
    position: fixed;
    left: calc(min(30%, 300px) / -2);
    width: 18%;
    z-index: -1;
    top: 15%;
    opacity: 0.8;
}

#single_character .dec__gaku2 {
    position: fixed;
    left: calc(95% - min(40%, 800px) + 30px);
    width: 22%;
    z-index: -1;
    top: -43%;
    opacity: 0.8;
}

#single_character .dec__gaku3 {
    position: fixed;
    right: calc(min(30%, 300px) / -2);
    width: 22%;
    z-index: -1;
    top: -10%;
    opacity: 0.8;
}

#single_character .single_character_summary_title {
    width: 8em;
    position: relative;
}

#single_character .single_character_summary_title::after {
    content: '';
    position: absolute;
    display: block;
    width: 20px;
    aspect-ratio: 31 / 16;
    background: url('../img/dec__title-gold.png');
    transform: rotate(90deg);
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background-size: contain;
}
#single_character .show_1100 {
    display: none;
}


@media screen and (max-width: 1750px) {

    #single_character .dec__gaku1 {
        top: 20%;
    }

    #single_character .dec__gaku2 {
        top: -37%;
    }

    #single_character .dec__gaku3 {
        top: -5%;
    }

    #single_character .character_bg {
        width: 47%;
    }
}

@media screen and (max-width: 1600px) {
    #single_character .single_character_img-contant img {
        aspect-ratio: 2 / 3;
        object-position: left center;
    }

    #single_character .single_character_img-contant {
        align-items: center;
        justify-content: left;
    }

}

@media screen and (max-width: 1500px) {

    #single_character .dec__gaku1 {
        top: 19%;
        width: 25%;
    }

    #single_character .dec__gaku2 {
        top: -21%;
        width: 25%;
    }

    #single_character .dec__gaku3 {
        top: 8%;
        width: 27%;
    }

}

@media screen and (max-width: 1300px) {
    #single_character .single_character_img-contant {
        width: 43%;
    }

    #single_character .character_text-content {
        width: 54%;
    }

    #single_character .character_bg {
        right: -23%;
        width: 55%;
    }

    #single_character .dec__gaku2 {
        top: -21%;
    }

    #single_character .dec__gaku3 {
        top: -2%;
    }

}

@media screen and (max-width: 1100px) {
    #single_character .show_1100 {
        display: block;
    }

    #single_character .hide_1100 {
        display: none;
    }

    #single_character h2 {
        font-size: clamp(3.75rem, 17.5vw, 15rem);
        margin: 0;
    }

    #single_character .character_main-content {
        flex-direction: column-reverse;
    }

    #single_character .character_text-content {
        width: 100%;
        margin-bottom: 20px;
    }

    #single_character .single_character_img-contant {
        width: 100%;
        justify-content: center;
    }

    #single_character .single_character_img-contant img {
        margin-right: 3%;
        object-position: center;
    }

    #single_character .character_thumbs-area {
        margin-top: 0px;
    }

    #single_character .character_bg {
        width: 100%;
        right: -38%;
        top: 20%;
        bottom: 0;
        margin: auto;
        height: fit-content;
        mask-image: linear-gradient(to top, transparent 1%, #000 10%), linear-gradient(to right, transparent 1%, #000 10%);
        -webkit-mask-image: linear-gradient(to top, transparent 1%, #000 10%), linear-gradient(to right, transparent 1%, #000 10%);
    }

    #single_character .dec__gaku1 {
        top: 30%;
        left: -14%;
        width: 36%;
    }

    #single_character .dec__gaku2 {
        width: 37%;
        left: 38%;
    }

    #single_character .dec__gaku3 {
        top: 15%;
        width: 32%;
    }

    #single_character .single_character_info-content {
        margin-top: -25%;
        background: #000000c2;
    }

    #single_character .single_character_info-content-inner {
        padding: 30px;
    }
}

@media (orientation: landscape) and (max-width: 1000px) {
    #single_character h2 {
        font-size: clamp(3.75rem, 0.3833rem + 14.3646vw, 11.875rem);
        margin: 0;
    }

}

@media screen and (max-width: 768px) {
    #single_character .single_character_info-content {
        margin-top: -25%;
    }
}


@media screen and (max-width: 480px) {
    #single_character .character_bg {
        width: 120%;
        top: 10%;
        height: fit-content;
        right: -42%;
        filter: brightness(0.3);
    }

    #single_character .dec__gaku1 {
        top: 20%;
        left: -12%;
        width: 42%;
        opacity: 0.5;
    }

    #single_character .dec__gaku3 {
        top: 13%;
        width: 38%;
        right: -9%;
    }

    #single_character .dec__gaku2 {
        display: none;
    }

    #single_character .single_character_info-content-inner {
        padding: 15px;
    }

    #single_character .character_main-content {
        padding: 15px;
    }

    #single_character .single_character_info-content {
        margin-top: -35%;
        border: 2px solid #8E7C40;
    }

    #single_character h2 {
        font-size: clamp(3.75rem, 0.3833rem + 14.3646vw, 11.875rem);
        margin: 0;
    }

    #single_character .single_character_name {
        margin-bottom: 10px;
    }

    #single_character .single_character_summary {
        margin: 10px 0;
        padding-bottom: 10px;
    }

    #single_character .dec__star1 {
        top: -8%;
        right: calc(44% - clamp(200px, 20%, 300px));
    }
}