@charset "utf-8";

/* キャラ一覧ページ */
#archive-characters h2 {
    width: 90%;
    max-width: 750px;
    margin: 0 auto 50px;
    mix-blend-mode: screen;
}

#archive-characters #characters {
    opacity: 0;
    transition: opacity 0.8s ease;
    padding: 100px 0 0;
}

.single-characters_inner {
    opacity: 0;
    transition: opacity 0.3s ease;
}

section {
    position: unset;
}

#archive-characters .archive-characters_bg {
    background-image: url(../img/add/characters/chara_bg.webp), url(../img/add/bg3.png), linear-gradient(to bottom, #1E3956, #1E3956, #191919);
    background-repeat: no-repeat, repeat;
    background-size: 100%, 20%, 100%;
    background-position: top;
}

@media screen and (max-width: 1000px) {
    #archive-characters h2 {
        width: 95%;
        margin: 0 auto 30px;
    }
}

@media screen and (max-width: 480px) {
    #archive-characters #characters {
        padding: 80px 0 0;
    }

    #archive-characters .archive-characters_bg {
        background-size: 180%, 50%, 100% !important;
    }
}

#archive-characters .flex_cn {
    gap: 40px 2%;
    max-width: 1200px;
    margin: auto;
}

.country-logo p {
    font-size: clamp(0.688rem, 0.621rem + 0.282vw, 0.875rem);
}

#archive-characters .country-logo {
    width: 18%;
    text-align: center;
    max-width: 230px;
    transition: 0.2s ease;
    position: relative;
    z-index: 3;
}

.bottom_country {
    margin: 150px auto 0;
    padding-bottom: 150px;
    position: relative;
}

.bottom_country::after {
    content: "";
    width: 100%;
    height: auto;
    background: url(../img/add/characters/archive-characters_bottom-bg.png);
    position: absolute;
    background-size: contain;
    bottom: 0;
    left: 0;
    aspect-ratio: 1920 / 833;
    z-index: 0;
}

.bottom_country .country-logo {
    margin: auto;
}

.bottom_country h3 {
    width: fit-content;
    margin: auto;
    font-size: clamp(1.25rem, 0.590rem + 2.817vw, 3.125rem);
    font-weight: 400;
    letter-spacing: 0.05em;
    position: relative;
}

.bottom_country h3::before {
    content: "";
    background: url(../img/creators-job_dec.png);
    position: absolute;
    top: 0;
    bottom: 0;
    left: -40px;
    margin: auto;
    width: 20px;
    height: auto;
    aspect-ratio: 40 / 61;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.bottom_country h3::after {
    content: "";
    background: url(../img/creators-job_dec.png);
    position: absolute;
    top: 0;
    bottom: 0;
    right: -40px;
    margin: auto;
    width: 20px;
    height: auto;
    aspect-ratio: 40 / 61;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transform: scale(-1);
}

#archive-characters .characters_block-button {
    transition: 0.2s ease;
    cursor: pointer;
}

#archive-characters .characters_info_modal {
    position: fixed;
    opacity: 0;
    visibility: hidden;
    transition: opacity .6s ease, visibility .6s ease;
}

.modal-charara_content {
    height: 100vh;
    display: flex;
    justify-content: center;
}

#archive-characters .characters_info_modal.chara_visible {
    opacity: 1;
    visibility: visible;
    z-index: 999;
    height: 100%;
    width: 100%;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: block;
    text-align: center;
}

#archive-characters .characters_info_modal .characters_info_modal_scroll {
    overflow-y: auto;
    width: 100%;
    display: flex;
}

#archive-characters .characters_info_modal .characters_info_modal_scroll-content {
    max-width: 1000px;
    width: 80%;
    height: fit-content;
    margin: auto;
    position: relative;
}

#archive-characters .characters_info_modal .characters_info_modal-cantent {
    padding: 60px 40px;
    position: relative;
}

#archive-characters .characters_info_modal .characters_close {
    width: 70px;
    height: 70px;
    position: absolute;
    top: 10px;
    right: 0px;
    cursor: pointer;
    z-index: 99;
}

#archive-characters .characters_info_modal .characters_close::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 30px;
    background-color: #fff;
    width: 2px;
    height: 100%;
    transform: rotate(45deg);
    border-radius: 5px;
}

#archive-characters .characters_info_modal .characters_close::after {
    content: "";
    position: absolute;
    top: -5px;
    left: 30px;
    background-color: #fff;
    width: 2px;
    height: 100%;
    transform: rotate(-45deg);
    border-radius: 5px;
}

#archive-characters .chara-link {
    position: relative;
}

#archive-characters .chara-link {
    filter: saturate(10%);
    transition: 0.8s ease;
    width: 30%;
}

#archive-characters .chara-thumb-name {
    width: 100%;
    position: absolute;
    bottom: 0;
}

#archive-characters .chara-thumb-name_text {
    position: relative;
    bottom: 0;
    left: 0;
    transition: 0.8s ease;
    background-color: #171717ee;
    padding-bottom: 0.5em;
    font-size: clamp(1rem, 0.909rem + 0.39vw, 1.25rem);
    letter-spacing: 0.05em;
}

#archive-characters .chara-thumb-name_text::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 50%;
    background: #171717ee;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    top: -49%;
    left: 0;
    transition: 0.8s ease;
}

#archive-characters .chara-link:hover .chara-thumb-name_text {
    background-color: #fff;
    color: #171717;
}

#archive-characters .chara-link:hover .chara-thumb-name_text::before {
    background: #fff;
}

#archive-characters .chara-info_modal-title {
    font-size: clamp(1.5rem, 1.148rem + 1.502vw, 2.5rem);
    margin: 0 auto 20px;
    text-shadow: 0px 0px 5px #ffffffcf;
    position: relative;
    width: fit-content;
}

#archive-characters .chara-info_modal-title::before {
    content: '';
    position: absolute;
    background-image: linear-gradient(to left, #ffffff, #ffffff00);
    background-position: right;
    width: 80px;
    height: 1.5px;
    top: 0;
    bottom: 0;
    left: -100px;
    margin: auto;
}

#archive-characters .chara-info_modal-title::after {
    content: '';
    position: absolute;
    background-image: linear-gradient(to right, #ffffff, #ffffff00);
    background-position: left;
    width: 80px;
    height: 1.5px;
    top: 0;
    bottom: 0;
    right: -100px;
    margin: auto;
}

#archive-characters .ragnallritter .chara-info_modal-title::before,
#archive-characters .santrea .chara-info_modal-title::before,
#archive-characters .archacia .chara-info_modal-title::before,
#archive-characters .brigande .chara-info_modal-title::before,
#archive-characters .elgannacht .chara-info_modal-title::before {
    background-image: linear-gradient(to left, #121212, #ffffff00);
}

#archive-characters .ragnallritter .chara-info_modal-title::after,
#archive-characters .santrea .chara-info_modal-title::after,
#archive-characters .archacia .chara-info_modal-title::after,
#archive-characters .brigande .chara-info_modal-title::after,
#archive-characters .elgannacht .chara-info_modal-title::after {
    background-image: linear-gradient(to right, #121212, #ffffff00);
}

#archive-characters .characters_info_modal .characters_logo-dec {
    width: 90px;
    height: 90px;
    position: absolute;
    top: 0;
    left: 20px;
    background-color: #171717bb;
}

#archive-characters .characters_info_modal .characters_logo-dec_inner {
    padding: 5px;
    position: relative;
}

#archive-characters .characters_info_modal .characters_logo-dec_inner::after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 45px solid #171717bb;
    border-right: 45px solid #171717bb;
    border-bottom: 15px solid transparent;
}

#archive-characters .chara-link:hover {
    filter: saturate(100%);
}

/* 背景量産 */
#archive-characters .characters_info_modal .grandragnica .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #034280, #005FBE);
}

#archive-characters .grandragnica .chara-link:hover {
    box-shadow: 0px 0px 10px #D6F9FF;
}

#archive-characters .country-logo .grandragnica.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #005FBE);
}

#archive-characters .characters_info_modal .scarlet-will .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #762529, #B8383F);
}

#archive-characters .scarlet-will .chara-link:hover {
    box-shadow: 0px 0px 10px #E60012;
}

#archive-characters .country-logo .scarlet-will.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #B8383F);
}

#archive-characters .characters_info_modal .mysteine .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #b59e06, #D5B903);
}

#archive-characters .mysteine .chara-link:hover {
    box-shadow: 0px 0px 10px #eedc67;
}

#archive-characters .country-logo .mysteine.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #D5B903);
}

#archive-characters .characters_info_modal .purifanoe .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #6a8d4d, #9ACD70);
}

#archive-characters .purifanoe .chara-link:hover {
    box-shadow: 0px 0px 10px #9ACD70;
}

#archive-characters .country-logo .purifanoe.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #9ACD70);
}

#archive-characters .characters_info_modal .samura-village .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #44254F, #643576);
}

#archive-characters .samura-village .chara-link:hover {
    box-shadow: 0px 0px 10px #a665c0;
}

#archive-characters .country-logo .samura-village.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #643576);
}

#archive-characters .characters_info_modal .pandemyuon .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #5E6263, #ACACAC);
}

#archive-characters .pandemyuon .chara-link:hover {
    box-shadow: 0px 0px 10px #cccccc;
}

#archive-characters .country-logo .pandemyuon.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #838e90);
}

#archive-characters .characters_info_modal .elgannacht .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #D0CEC9, #FFFFFF);
    color: #333333;
}

#archive-characters .elgannacht .chara-link:hover {
    box-shadow: 0px 0px 10px #ffffff;
}

#archive-characters .country-logo .elgannacht.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #D0CEC9);
}

#archive-characters .characters_info_modal .ragnallritter .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #EBD5DF, #FFE4F0);
    color: #333333;
}

#archive-characters .ragnallritter .chara-link:hover {
    box-shadow: 0px 0px 10px #ffeff6;
}

#archive-characters .country-logo .ragnallritter.characters_block-button:hover {
    filter: drop-shadow(0 0 0.5rem #ebcad9);
}

#archive-characters .characters_info_modal .rashanna .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #4A191F, #7E323B);
}

#archive-characters .rashanna .chara-link:hover {
    box-shadow: 0px 0px 10px #B14141;
}

#archive-characters .country-logo .rashanna.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #7E323B);
}

#archive-characters .characters_info_modal .thauzencane .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #535063, #716D85);
}

#archive-characters .thauzencane .chara-link:hover {
    box-shadow: 0px 0px 10px #CACDF8;
}

#archive-characters .country-logo .thauzencane.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #716D85);
}

#archive-characters .characters_info_modal .shugen-clan .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #5D6744, #79855A);
}

#archive-characters .shugen-clan .chara-link:hover {
    box-shadow: 0px 0px 10px #BDCC4C;
}

#archive-characters .country-logo .shugen-clan.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #79855A);
}

#archive-characters .characters_info_modal .great-yuen-shen .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #c78290, #f49fb0);
}

#archive-characters .great-yuen-shen .chara-link:hover {
    box-shadow: 0px 0px 10px #FF86B2;
}

#archive-characters .country-logo .great-yuen-shen.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #FF5275);
}

#archive-characters .characters_info_modal .capital-of-commerce .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #e576b2, #f9add6);
}

#archive-characters .capital-of-commerce .chara-link:hover {
    box-shadow: 0px 0px 10px #FF8BCB;
}

#archive-characters .country-logo .capital-of-commerce.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #FF6EBC);
}

#archive-characters .characters_info_modal .ebony-fang .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #3E4774, #5F6795);
}

#archive-characters .ebony-fang .chara-link:hover {
    box-shadow: 0px 0px 10px #8F9EFF;
}

#archive-characters .country-logo .ebony-fang.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #5F6795);
}

#archive-characters .characters_info_modal .exaltee .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #4D0001, #790400);
}

#archive-characters .exaltee .chara-link:hover {
    box-shadow: 0px 0px 10px #FF0004;
}

#archive-characters .country-logo .exaltee.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #a8322e);
}

#archive-characters .characters_info_modal .gnomonossos .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #263A41, #334B54);
}

#archive-characters .gnomonossos .chara-link:hover {
    box-shadow: 0px 0px 10px #5AD5B2;
}

#archive-characters .country-logo .gnomonossos.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #557c8a);
}

#archive-characters .characters_info_modal .dhirgia .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #422E47, #503D55);
}

#archive-characters .dhirgia .chara-link:hover {
    box-shadow: 0px 0px 10px #B9649D;
}

#archive-characters .country-logo .dhirgia.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #85648e);
}

#archive-characters .characters_info_modal .cermuin .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #0E7133, #189A4A);
}

#archive-characters .cermuin .chara-link:hover {
    box-shadow: 0px 0px 10px #30D936;
}

#archive-characters .country-logo .cermuin.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #189A4A);
}

#archive-characters .characters_info_modal .santrea .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #9DD9F2, #CAEDF9);
    color: #333333;
}

#archive-characters .santrea .chara-link:hover {
    box-shadow: 0px 0px 10px #FFFFFF;
}

#archive-characters .country-logo .santrea.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #9DD9F2);
}

#archive-characters .characters_info_modal .lionhearts .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #357EBE, #66ACE9);
}

#archive-characters .lionhearts .chara-link:hover {
    box-shadow: 0px 0px 10px #76CAFF;
}

#archive-characters .country-logo .lionhearts.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #357EBE);
}

#archive-characters .characters_info_modal .graudi .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #786C54, #948870);
}

#archive-characters .graudi .chara-link:hover {
    box-shadow: 0px 0px 10px #FFE6BA;
}

#archive-characters .country-logo .graudi.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #958669);
}

#archive-characters .characters_info_modal .archacia .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #CBBCAA, #E0D2C1);
    color: #333333;
}

#archive-characters .archacia .chara-link:hover {
    box-shadow: 0px 0px 10px #FFFFFF;
}

#archive-characters .country-logo .archacia.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #E0D2C1);
}

#archive-characters .characters_info_modal .talentisse .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #305028, #38622D);
}

#archive-characters .talentisse .chara-link:hover {
    box-shadow: 0px 0px 10px #BEF5AA;
}

#archive-characters .country-logo .talentisse.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #518644);
}

#archive-characters .characters_info_modal .brigande .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #C2D8E5, #DEE7ED);
    color: #333333;
}

#archive-characters .brigande .chara-link:hover {
    box-shadow: 0px 0px 10px #fff;
}

#archive-characters .country-logo .brigande.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #C2D8E5);
}

#archive-characters .characters_info_modal .abyssloa .characters_info_modal-cantent {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #1D1D1D, #4C4B4B);
}

#archive-characters .abyssloa .chara-link:hover {
    box-shadow: 0px 0px 10px #000000;
}

#archive-characters .country-logo .abyssloa.characters_block-button:hover {
    filter: drop-shadow(0 0 0.75rem #666565);
}

#archive-characters .abyssloa .chara-link {
    width: 23%;
}

#archive-characters .archive-characters_bg {
    background-image: url(../img/add/characters/chara_bg.webp), url(../img/add/bg3.png), linear-gradient(to bottom, #1E3956, #1E3956, #191919);
    background-repeat: no-repeat, repeat;
    background-size: 100%, 20%, 100%;
    background-position: top;
}

#archive-characters .characters_info_modal .characters_info_modal-cantent {
    background-size: 20%, 100%;
}


@media screen and (max-width: 1000px) {
    #archive-characters .country-logo {
        width: 22%;
    }

    #archive-characters .flex_cn {
        gap: 20px 2%;
    }

    #archive-characters .characters_info_modal .characters_info_modal_scroll-content {
        width: 95%;
    }

    #archive-characters .chara-link {
        width: 31%;
    }

    #archive-characters .characters_info_modal .characters_info_modal-cantent {
        padding: 60px 20px 30px;
    }
}

@media screen and (max-width: 768px) {
    #archive-characters .chara-link {
        width: 48%;
    }

    #archive-characters .chara-link:hover {
        filter: saturate(10%);
    }

    #archive-characters .country-logo {
        width: 30%;
    }

    #archive-characters .flex_cn {
        gap: 10px 2%;
    }

    .bottom_country {
        margin: 80px auto 0;
        padding-bottom: 80px;
    }

    #archive-characters .characters_info_modal .characters_info_modal-cantent {
        padding: 110px 20px 60px;
        position: relative;
        background-size: 100%, 100%;
    }

    #archive-characters .abyssloa .chara-link {
        width: 48%;
    }

    #archive-characters .chara-link:hover .chara-thumb-name_text {
        background-color: #171717e6;
        color: #fff;
    }

    #archive-characters .chara-link:hover .chara-thumb-name_text::before {
        background-color: #171717e6;
    }

    #archive-characters .chara-thumb-name_text {
        background-color: #171717e6;
        line-height: 1;
    }

    #archive-characters .chara-thumb-name_text::before {
        background-color: #171717e6;
        top: -50%;
    }

    #archive-characters .characters_info_modal .characters_logo-dec {
        width: 70px;
        height: 70px;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }

    #archive-characters .characters_info_modal .characters_logo-dec_inner {
        padding: 3px;
    }

    #archive-characters .characters_info_modal .characters_logo-dec_inner::after {
        border-left: 35px solid #171717bb;
        border-right: 35px solid #171717bb;
        border-bottom: 15px solid transparent;
    }
}

@media screen and (max-width: 480px) {
    #archive-characters .chara-link {
        width: 100%;
    }

    #archive-characters .characters_info_modal .characters_info_modal-cantent {
        padding: 90px 20px 60px;
    }

    #archive-characters .characters_info_modal .characters_info_modal_scroll-content {
        margin: 60px auto;
    }

    #archive-characters .characters_info_modal .characters_close {
        width: 50px;
        height: 50px;
        top: -50px;
        right: 0px;
    }

    #archive-characters .chara-link:hover {
        box-shadow: none;
    }

    #archive-characters .abyssloa .chara-link:hover .chara-thumb-name_text {
        background-color: #1b1b1bee;
        color: #fff;
    }

    #archive-characters .abyssloa .chara-link:hover .chara-thumb-name_text::before {
        background-color: #1b1b1bee;
    }

    #archive-characters .abyssloa .chara-thumb-name_text {
        background-color: #1b1b1bee;
    }

    #archive-characters .abyssloa .chara-thumb-name_text::before {
        background-color: #1b1b1bee;
    }

    #archive-characters .abyssloa .chara-link {
        width: 100%;
    }

    #archive-characters .characters_info_modal .characters_logo-dec {
        width: 60px;
        height: 60px;
    }

    #archive-characters .characters_info_modal .characters_logo-dec_inner::after {
        border-left: 30px solid #171717bb;
        border-right: 30px solid #171717bb;
    }

    #archive-characters .chara-thumb-name_text {
        padding-bottom: 1em;
        font-weight: bold;
    }

    #archive-characters .chara-info_modal-title::before {
        width: 50px;
        left: -60px;
        height: 1px;
    }

    #archive-characters .chara-info_modal-title::after {
        width: 50px;
        right: -60px;
        height: 1px;
    }

    #archive-characters .chara-info_modal-title {
        font-weight: bold;
    }
}

/* キャラ詳細ページ */

.single-characters_content {
    max-width: 1100px;
    margin: auto;
    padding-top: 100px;
    padding-bottom: 100px;
}

.single-characters_inner {
    padding: 0px;
    background-image: url(../img/bg/bg_symbol-pattern.png), linear-gradient(to bottom, #fff, #F7F1EC);
    background-repeat: repeat;
    background-size: 300px, 100%;
    color: #333333;
    position: relative;
}

.characters_info {
    align-items: center;
}

.characters_img {
    width: 53%;
    margin-top: -35px;
    margin-bottom: 10px;
    position: relative;
}

.characters_img .characters_img_content {
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black calc(100% - 15%), transparent);
    mask-image: linear-gradient(to right, transparent, black 10%, black calc(100% - 15%), transparent);
}

.characters_img .characters_img_content img {
    aspect-ratio: 3 / 4;
    object-fit: contain;
    object-position: center;
}

.characters_img_change {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    bottom: 0;
    transition: opacity 0.3s ease;
}

.characters_img_change.active-characters {
    opacity: 1;
    visibility: visible;
    position: relative;
}

.characters_link {
    position: absolute;
    top: 40px;
    width: 90px;
    height: 90px;
    left: 20px;
    z-index: 2;
    transition: 0.3s ease;
    cursor: pointer;
}

.characters_link:hover {
    opacity: 0.8;
}

.characters_info_text {
    width: 50%;
    margin-left: -10%;
    position: relative;
}

.characters_info_text_inner {
    padding: 20px 50px 50px 20px;
    font-weight: 500;
}

.characters_info_text h1 {
    font-size: clamp(1.75rem, 1.476rem + 1.171vw, 2.5rem);
}

.characters_full-name {
    text-align: center;
    margin: -10px auto 10px;
    font-size: clamp(0.813rem, 0.790rem + 0.098vw, 0.875rem);
    font-weight: 800;
}

.characters_info_staff {
    margin: auto;
    width: fit-content;
    text-align: center;
    font-size: clamp(0.875rem, 0.784rem + 0.39vw, 1.125rem);
    margin-bottom: 20px;
}

.characters_info_copy {
    font-size: clamp(1rem, 0.909rem + 0.39vw, 1.25rem);
    font-weight: 800;
    padding-bottom: 20px;
    border-bottom: #333333 dashed 1px;
    margin-bottom: 20px;
}

.characters_info_status {
    padding-bottom: 20px;
    display: block;
    border-bottom: #333333 dashed 1px;
    margin-bottom: 20px;
    width: 100%;
}

.characters_info_status tr {
    padding-bottom: 5px;
    display: block;
}

.characters_info_status th {
    width: 80px;
    position: relative;
}

.characters_info_status th::after {
    position: absolute;
    content: "";
    background-image: url(../img/add/dec_arrow2.png);
    background-size: contain;
    position: absolute;
    width: 15px;
    height: 15px;
    right: 10px;
    top: 5px;
    margin: auto;
    z-index: 2;
    background-repeat: no-repeat;
}

.characters_info_status tr:last-child {
    padding-bottom: 0;
}

.voice-control {
    width: 28%;
    text-align: center;
    position: relative;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
}

.voice-control::before,
.voice-control::after {
    content: "";
    background-image: url(../img/add/characters/dec_arrow-w.png);
    background-size: contain;
    position: absolute;
    width: 15px;
    height: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 2;
}

.voice-control::before {
    left: 0;
    transform: scale(-1);
}

.voice-control::after {
    right: 0;
}

.characters_info_voice {
    gap: 10px;
    margin-bottom: 20px;
}

.voice-control .voice-btn {
    width: 100%;
    text-align: center;
    padding: 5px;
    border-radius: 3px;
}

.voice-control {
    transition: 0.3s ease;
}

.voice-control:hover {
    filter: saturate(0%);
}

.voice-control .voice-btn.mute {
    filter: saturate(0%);
}

.prev_button,
.next_button {
    position: absolute;
    width: 80px;
    height: 80px;
    top: 0;
    bottom: 0;
    margin: auto;
}

.prev_button {
    left: -40px;
}

.next_button {
    right: -40px;
    transform: scale(-1);
}

.characters_title {
    align-items: center;
}

.characters_country-logo {
    width: 100px;
    height: auto;
    aspect-ratio: 1 / 1;
    filter: brightness(0.1);
}

/* キャラ詳細ページ背景量産 */

#single-characters .gran-dragnica {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #034280, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.gran-dragnica .voice-control .voice-btn {
    color: #fff;
    background-color: #005FBE;
}

#single-characters .gran-dragnica .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_grandragnica.png);
    background-size: contain;
}

#single-characters .scarlet-will {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #762529, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.scarlet-will .voice-control .voice-btn {
    color: #fff;
    background-color: #B8383F;
}

#single-characters .scarlet-will .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Scarlet-Will.png);
    background-size: contain;
}

#single-characters .mysteine {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #b59e06, #D5B903);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.mysteine .voice-control .voice-btn {
    color: #333333;
    background-color: #F7EC30;
}

#single-characters .mysteine .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Mysteine.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .purifanoe {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #6a8d4d, #9ACD70);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.purifanoe .voice-control .voice-btn {
    color: #333333;
    background-color: #a7df79;
}

#single-characters .purifanoe .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Purifanoe.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .samura-village {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #44254F, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.samura-village .voice-control .voice-btn {
    background-color: #89427A;
    color: #fff;
}

#single-characters .samura-village .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Samura-village.png);
    background-size: contain;
}

#single-characters .pandemyuon {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #5E6263, #ACACAC);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.pandemyuon .voice-control .voice-btn {
    background-color: #ACACAC;
    color: #333333;
}

#single-characters .pandemyuon .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Pandemyuon.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .elgannacht {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #fff, #D0CEC9);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.elgannacht .voice-control .voice-btn {
    background-color: #ffffff;
    color: #333333;
}

#single-characters .elgannacht .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Elgannacht.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .ragnallritter {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #FFE4F0, #EBD5DF);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.ragnallritter .voice-control .voice-btn {
    background-color: #FFE5EE;
    color: #333333;
}

#single-characters .ragnallritter .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Ragnallritter.png);
    background-size: contain;
    filter: brightness(1);
}


#single-characters .rashanna {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #4A191F, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.rashanna .voice-control .voice-btn {
    background-color: #582329;
    color: #fff;
}

#single-characters .rashanna .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Rashanna.png);
    background-size: contain;
}

#single-characters .thauzencane {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #535063, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.thauzencane .voice-control .voice-btn {
    background-color: #716D82;
    color: #fff;
}

#single-characters .thauzencane .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Thauzencane.png);
    background-size: contain;
}

#single-characters .shugen-clan {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #5D6744, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.shugen-clan .voice-control .voice-btn {
    background-color: #79865B;
    color: #fff;
}

#single-characters .shugen-clan .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Shugen-Clan.png);
    background-size: contain;
}

#single-characters .great-yuen-shen {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #f49fb0, #98616d);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.great-yuen-shen .voice-control .voice-btn {
    background-color: #e46f87;
    color: #fff;
}

#single-characters .great-yuen-shen .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Great-Yuen-Shen.png);
    background-size: contain;
}

#single-characters .capital-of-commerce {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #f9add6, #aa7491);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.capital-of-commerce .voice-control .voice-btn {
    background-color: #f5a1ce;
    color: #333333;
}

#single-characters .capital-of-commerce .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Capital-of-Commerce.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .ebony-fang {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #3E4774, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.ebony-fang .voice-control .voice-btn {
    background-color: #5F6795;
    color: #fff;
}

#single-characters .ebony-fang .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Ebony-Fang.png);
    background-size: contain;
}

#single-characters .noblesse-exaltee {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #4D0001, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.noblesse-exaltee .voice-control .voice-btn {
    background-color: #790301;
    color: #fff;
}

#single-characters .noblesse-exaltee .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Noblesse-Exaltee.png);
    background-size: contain;
}

#single-characters .gnomonossos {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #263A41, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.gnomonossos .voice-control .voice-btn {
    background-color: #374B54;
    color: #fff;
}

#single-characters .gnomonossos .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Gnomonossos.png);
    background-size: contain;
}

#single-characters .dhirgia {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #422E47, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.dhirgia .voice-control .voice-btn {
    background-color: #513E54;
    color: #fff;
}

#single-characters .dhirgia .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Dhirgia.png);
    background-size: contain;
}

#single-characters .cermuin {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #0E7133, #0e3f21);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.cermuin .voice-control .voice-btn {
    background-color: #199A4A;
    color: #fff;
}

#single-characters .cermuin .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Cermuin.png);
    background-size: contain;
}

#single-characters .santrea {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #CAEDF9, #8ba6af);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.santrea .voice-control .voice-btn {
    background-color: #CCEEF8;
    color: #333333;
}

#single-characters .santrea .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Santrea.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .lionhearts {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #66ACE9, #457baa);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.lionhearts .voice-control .voice-btn {
    background-color: #77bbf3;
}

#single-characters .lionhearts .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Lionhearts.png);
    background-size: contain;
}

#single-characters .graudi {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #786C54, #585040);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.graudi .voice-control .voice-btn {
    background-color: #7E735D;
    color: #fff;
}

#single-characters .graudi .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Graudi.png);
    background-size: contain;
}

#single-characters .archacia {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #CBBCAA, #91887d);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

#single-characters .archacia .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Archacia.png);
    background-size: contain;
    filter: brightness(1);
}

.archacia .voice-control .voice-btn {
    background-color: #7E735D;
    color: #ffffff;
}

#single-characters .talentisse {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #305028, #292929);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.talentisse .voice-control .voice-btn {
    background-color: #396230;
    color: #fff;
}

#single-characters .talentisse .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Talentisse.png);
    background-size: contain;
}

#single-characters .brigande {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #C2D8E5, #a5b3be);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.brigande .voice-control .voice-btn {
    background-color: #CAD3DA;
    color: #333333;
}

#single-characters .brigande .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Brigande.png);
    background-size: contain;
    filter: brightness(1);
}

#single-characters .abyssloa {
    background-image: url(../img/add/bg3.png), linear-gradient(to bottom, #1D1D1D, #393737);
    background-size: 20%, 100%;
    background-repeat: repeat;
    background-position: top;
}

.abyssloa .voice-control .voice-btn {
    background-color: #282828;
    color: #fff;
}

#single-characters .abyssloa .characters_country-logo {
    background-image: url(../img/add/characters/country-logo_Abyssloa.png);
    background-size: contain;
}

.mysteine .single-characters_inner,
.purifanoe .single-characters_inner,
.pandemyuon .single-characters_inner,
.elgannacht .single-characters_inner,
.capital-of-commerce .single-characters_inner,
.ragnallritter .single-characters_inner,
.santrea .single-characters_inner,
.archacia .single-characters_inner,
.brigande .single-characters_inner {
    background-image: url(../img/bg/bg_symbol-pattern_trance2.png), linear-gradient(to bottom, #333333, #383838);
    background-repeat: repeat;
    background-size: 300px, 100%;
    color: #ffffff;
}

.mysteine .characters_info_copy,
.purifanoe .characters_info_copy,
.pandemyuon .characters_info_copy,
.elgannacht .characters_info_copy,
.capital-of-commerce .characters_info_copy,
.ragnallritter .characters_info_copy,
.santrea .characters_info_copy,
.archacia .characters_info_copy,
.brigande .characters_info_copy {
    border-bottom: #ffffff dashed 1px;
}

.mysteine .characters_info_status,
.purifanoe .characters_info_status,
.pandemyuon .characters_info_status,
.elgannacht .characters_info_status,
.capital-of-commerce .characters_info_status,
.ragnallritter .characters_info_status,
.santrea .characters_info_status,
.archacia .characters_info_status,
.brigande .characters_info_status {
    border-bottom: #ffffff dashed 1px;
}

.mysteine .voice-control::before,
.mysteine .voice-control::after,
.purifanoe .voice-control::before,
.purifanoe .voice-control::after,
.pandemyuon .voice-control::before,
.pandemyuon .voice-control::after,
.elgannacht .voice-control::before,
.elgannacht .voice-control::after,
.capital-of-commerce .voice-control::before,
.capital-of-commerce .voice-control::after,
.ragnallritter .voice-control::before,
.ragnallritter .voice-control::after,
.santrea .voice-control::before,
.santrea .voice-control::after,
.lionhearts .voice-control::before,
.lionhearts .voice-control::after,
.brigande .voice-control::before,
.brigande .voice-control::after {
    background-image: url(../img/add/characters/dec_arrow-b.png);
    background-size: contain;
}

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

    .voice-control {
        width: 40%;
    }
}

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

    .characters_img .characters_img_content {
        -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black calc(100% - 15%), transparent);
        mask-image: linear-gradient(to right, transparent, black 10%, black calc(100% - 15%), transparent);
    }

    .characters_img {
        width: 100%;
        margin: -35px auto 0px;
    }

    .characters_img .characters_img_content {
        max-width: 500px;
        margin: auto;
    }

    .characters_info_text {
        width: 100%;
        margin-left: 0%;
    }

    .single-characters_content {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .next_button {
        right: -5px;
        bottom: auto;
        top: 25vh;
        width: 60px;
        height: 60px;
    }

    .prev_button {
        left: -5px;
        bottom: auto;
        top: 25vh;
        width: 60px;
        height: 60px;
    }

    .characters_info_text_inner {
        padding: 0 25px 45px 25px;
        max-width: 660px;
        margin: auto;
    }

    .voice-control {
        width: 45%;
        max-width: 150px;
    }

    .characters_country-logo {
        width: 80px;
    }

    #single-characters .gran-dragnica,
    #single-characters .scarlet-will,
    #single-characters .mysteine,
    #single-characters .purifanoe,
    #single-characters .samura-village,
    #single-characters .pandemyuon,
    #single-characters .elgannacht,
    #single-characters .ragnallritter,
    #single-characters .rashanna,
    #single-characters .thauzencane,
    #single-characters .shugen-clan,
    #single-characters .great-yuen-shen,
    #single-characters .capital-of-commerce,
    #single-characters .ebony-fang,
    #single-characters .exaltee,
    #single-characters .gnomonossos,
    #single-characters .dhirgia,
    #single-characters .cermuin,
    #single-characters .santrea,
    #single-characters .lionhearts,
    #single-characters .graudi,
    #single-characters .archacia,
    #single-characters .talentisse,
    #single-characters .brigande,
    #single-characters .abyssloa {
        background-size: 40%, 100%;
    }

    .characters_link {
        top: 40px;
        left: 15px;
    }

    .single-characters_inner {
        background-size: 200px, 100%;
    }

    .characters_info_copy {
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .characters_info_status {
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

}

@media screen and (max-width: 480px) {
    .prev_button {
        left: -5px;
        top: 30vh;
        width: 40px;
        height: 40px;
    }

    .next_button {
        right: -5px;
        bottom: auto;
        top: 30vh;
        width: 40px;
        height: 40px;
    }

    .characters_link {
        width: 65px;
        height: 65px;
    }

    .characters_info_text_inner {
        padding: 0 25px 25px 25px;
    }

    #single-characters .gran-dragnica,
    #single-characters .scarlet-will,
    #single-characters .mysteine,
    #single-characters .purifanoe,
    #single-characters .samura-village,
    #single-characters .pandemyuon,
    #single-characters .elgannacht,
    #single-characters .ragnallritter,
    #single-characters .rashanna,
    #single-characters .thauzencane,
    #single-characters .shugen-clan,
    #single-characters .great-yuen-shen,
    #single-characters .capital-of-commerce,
    #single-characters .ebony-fang,
    #single-characters .exaltee,
    #single-characters .gnomonossos,
    #single-characters .dhirgia,
    #single-characters .cermuin,
    #single-characters .santrea,
    #single-characters .lionhearts,
    #single-characters .graudi,
    #single-characters .archacia,
    #single-characters .talentisse,
    #single-characters .brigande,
    #single-characters .abyssloa {
        background-size: 70%, 100%;
    }
}