@charset "utf-8";



a, abbr, address, article, aside, audio, b, blockquote, body, button, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, input, ins, kbd, label, legend, li, main, mark, menu, nav, object, ol, p, pre, q, samp, section, select, small, span, strong, sub, summary, sup, table, tbody, td, textarea, tfoot, th, thead, time, tr, ul, var, video {
    border: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    text-decoration: none;
    /* -webkit-font-smoothing: antialiased; */
    /* -webkit-backface-visibility: hidden; */
    box-sizing: border-box;
    /* color: #000; */
    transition: .3s cubic-bezier(.4, .4, 0, 1);
    word-spacing: 1px;
}





img {
    max-width: 100%;
    display: block;
    /* image-rendering: -webkit-optimize-contrast; */
    height: auto;
}






:root {
    --font1: 'Noto Sans JP';
    --black: #161616;
    --main: #e6e6fa;
    --pink: #daa6cf;
    --gray: #878989;
    --sky: #7ddadd;
    --pinklight: #f49fee;
}



body {
    background: #f8f8ff;
    font-family: var(--font1);
    color: var(--black);
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;

    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;

}

body.modal_open {
    overflow: hidden;
}




a, a:link {
    color: var(--black);
}

a.icon_target {
    display: flex;
    gap: 10px;
    align-items: center;
}

a.icon_target img {
    width: 18px;
    height: 18px;
}

footer a.icon_target img {
    width: 16px;
    height: 16px;
}

a:hover, a:link:hover {
    opacity: 0.8;
    text-decoration: none;
}




.main_wrap {
    background-color: #f8f8ff;
}

.container {
    max-width: 480px;
    width: 100%;
    background-color: white;
    position: relative;
    min-height: 100vh;
    /* overflow: hidden; */
    contain: paint;
}







/* -------------------------------
共通
------------------------------- */


main {
    /* padding: 70px 24px 0; */
    /* padding: 70px 0 0; */
    padding-top: 10px;
}

section {
    padding: 0 24px;
}

.page main, .archive main, .single main {
    background-color: var(--main);
}



.box1 {
    background-color: white;
    border-radius: 20px;
    position: relative;
}

.box1::before {
    content: "";
    position: absolute;
    background-image: url(../images/box1.png);
    width: 40px;
    height: 20px;
    background-size: cover;
    top: -6px;
    right: 12px;
}

.box1::after {
    content: "";
    position: absolute;
    background-image: url(../images/box1.png);
    width: 40px;
    height: 20px;
    background-size: cover;
    bottom: -5px;
    left: 11px;
}



.box2 {
    display: block;
    width: 100%;
    margin-bottom: 10px;
}

.box2_head {
    background-image: url(../images/box2_1.png);
    background-size: 100% 100%;
    /* width: 100%; */
    /* aspect-ratio: 3.5/1; */
    padding: 40px 27px 3px;
    /* box-sizing: content-box; */
    position: relative;
}

.box2_head::after {}

.box2_head .date {
    margin-bottom: 18px;
}

.box2_head .date>div:first-child {
    line-height: 1;
    margin-bottom: 5px;
    font-weight: 500;
}

.box2_head .date>div:last-child {
    display: flex;
    align-items: flex-end;
    line-height: 1;
}

.box2_head .date>div:last-child>div {
    display: flex;
    align-items: flex-end;
}

.box2_head .date .large {
    font-size: 23px;
    font-weight: normal;
    margin: 0 2px;
}

.box2_head .date .wd {
    background-color: #000;
    display: flex;
    width: 20px;
    height: 20px;
    color: white;
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding-bottom: 2px;
    font-size: 14px;
    margin: 0 5px;
}

.box2_head .event_tax {
    position: absolute;
    top: 9px;
    right: 54px;
    color: white;
    font-size: 12px;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
}


.box2_body {
    background-image: url(../images/box2_2.png);
    background-size: 100% 100%;
    background-repeat: repeat-y;
    /* width: 100%; */
}

.box2_body>div {
    padding: 5px 27px;
}


.box2_bottom {
    background-image: url(../images/box2_3.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    aspect-ratio: 7/1;
    /* height: 20px; */
}

.box2_body .wp-block-heading {
    line-height: 1.3;
    margin-bottom: 10px;
}



.box3 {
    display: block;
    position: relative;
    margin-bottom: 25px;
}

.box3_head {
    background-image: url(../images/box3_1.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    width: 100%;
    /* aspect-ratio: 4.88/1; */
    padding: 28px 20px 10px;
}

.box3_head .date {
    margin-top: 18px;
    line-height: 1;
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.box3_head .date>div:first-child {
    display: flex;
    align-items: flex-end;
}

.box3_head .date .large {
    font-size: 22px;
    font-weight: normal;
}

.box3_head .date .wd {
    background-color: #000;
    display: flex;
    width: 20px;
    height: 20px;
    color: white;
    border-radius: 20px;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding-bottom: 2px;
    font-size: 14px;
    margin: 0 5px;
}

.month-group.hidden {
    display: none;
}


.box3_body {
    background-image: url(../images/box3_2.png);
    background-size: 100% 100%;
    background-repeat: repeat-y;
    width: 100%;
    padding: 7px 20px;
}

.box3_body>div {
    width: 60%;
}
.box3_body>div.name {
    font-weight: bold;
    font-size: 16px;
    padding-bottom: 5px;
}


.box3_bottom {
    background-image: url(../images/box3_3_nolink.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    aspect-ratio: 6.46/1;
}

a.box3 .box3_bottom {
    background-image: url(../images/box3_3.png);
}

.box3 .thumbnail {
    position: absolute;
    right: 30px;
    top: 0;
    height: 100%;
    display: flex;
    align-items: center;
}

.box3 .thumbnail img {
    width: 110px;
    height: 150px;
    border-radius: 66%;
    object-fit: contain;
    /* border-top-left-radius: 75%; */
    /* border-top-right-radius: 69%; */
}


.breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
}


.fadein {
    opacity: 0.3;
    transform: translate(0, 20px);
    transition: all 600ms;
}

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

.english-text {
    letter-spacing: 1px;
}



.archive .container {
    background-color: #e6e6fa;
}


.noresult {
    text-align: center;
    font-size: 16px;
    width: 100%;
}

@media screen and (max-width: 820px) {
    .container {
        max-width: 100vw;
    }

    main {
        width: 100%;
    }
}



h2.n {
    font-size: 20vw;
    font-family: "Zen Maru Gothic", serif;
    font-weight: bold;
    text-align: center;

}

h2.n span {
    display: block;
    line-height: 1;
}

h2.n>span:first-child {
    font-family: "Montserrat", sans-serif;
    font-size: 75px;
    color: rgb(230 230 250);
    font-weight: bold;
    font-style: italic;
    -webkit-text-stroke: 1px #e6e6fa;
    text-shadow: 1px 1px 0 #e6e6fa, -1px -1px 0 #e6e6fa, -1px 1px 0 #e6e6fa, 1px -1px 0 #e6e6fa, 1px 0 0 #e6e6fa, -1px 0 0 #e6e6fa, 0 1px 0 #e6e6fa, 0 -1px 0 #e6e6fa;
    paint-order: stroke;
    display: flex;
    justify-content: center;
    transition: 0.5s ease-in-out;
}

h2.n>span:first-child.scrollin {
    -webkit-text-stroke: 1px #f8f8ff;
    text-shadow: 1px 1px 0 #f8f8ff, -1px -1px 0 #f8f8ff, -1px 1px 0 #f8f8ff, 1px -1px 0 #f8f8ff, 1px 0 0 #f8f8ff, -1px 0 0 #f8f8ff, 0 1px 0 #f8f8ff, 0 -1px 0 #f8f8ff;

}



h2.n>span:last-child {
    font-family: "Zen Maru Gothic", serif;
    font-size: 28px;
    font-weight: bold;
    margin-top: -49px;
    text-align: center;
}



h2.icon {

    margin-bottom: 10px;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-style: normal;
    text-align: center;
}


.content_roop .article .image {
    background-color: white;
    overflow: hidden;
    position: relative;
}

.content_roop .article {
    position: relative;
}

.content_roop .article .talent_data {
    position: absolute;
    bottom: 0;
    /* background-color: rgba(255, 255, 255, 0.6); */
    width: 100%;
    padding: 15vw 4vw 3vw;
    z-index: 200;
    background-image: url(../images/talent_data_bg.png);
    background-size: 100% 100%;
    background-position: bottom;
    height: 100px;
    /* display: flex; */
    align-items: flex-end;
    /* padding-bottom: 17px; */
}

.content_roop .article .talent_data li {
    background-color: #AB8001;
    color: white;
    display: inline-block;
    padding: 3px 6px 4px;
    line-height: 1;
    font-size: 10px;
}





.btn {
    text-align: center;
}

.btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(to right, #e2a0cd, #7ec7d7);
    color: white;
    border-radius: 100px;
    padding: 10px 40px;
    width: 72%;
    margin: 0 auto;
    height: 76px;
    font-size: 15px;
    position: relative;
    text-decoration: none!important;
    color: white!important;
}

@media screen and (max-width: 450px) {
    .btn a {
        width: 85%;
    }
}



.btn a::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 4px;
    right: 20px;
    background-image: url(../images/btn_arrow_right.png);
    background-position: 90% center;
    background-size: 20px;
    background-repeat: no-repeat;
}







/* -------------------------------
ヘッダー
------------------------------- */

.menu-trigger {
    position: relative;
    width: 50%;
    height: 32%;
    max-width: 40px;
    max-height: 32px;
    /* background-color: #000; */
    background: none;
}

.menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    right: 0;
    width: 100%;
    height: 1px;
    background-color: #000;
    transition: all 0.5s;
}

.menu-trigger span:nth-of-type(1) {
    top: 0;
    transform: rotate(-15deg);
}

.menu_btn:hover span:nth-of-type(1) {
    width: 100%;
}


.menu-trigger span:nth-of-type(2) {
    top: 49%;
    left: auto;
    right: 0;
    transform: rotate(-15deg);
}

.menu-trigger span:nth-of-type(3) {
    top: 99%;
    transform: rotate(-15deg);
}



header.modal_open {
    /* background-color: white; */
    border-color: white;
    background-color: rgba(255, 255, 255, 1);
}

header.modal_open .img_white {
    display: none;
}

/* header.modal_open .img_black {
    display: block;
} */
header.modal_open .text {
    display: none;
}

header.modal_open .header_btn {
    /* background-color: #fff; */
    background-color: #676e77;
    border-left: none;
}

header.modal_open .menu-trigger {
    /* background-color: white; */
}

header.modal_open .menu-trigger span {
    background-color: white;
}

header.modal_open .menu-trigger span:nth-of-type(1) {
    transform: translateY(9px) rotate(-36deg);
    height: 1px;
    border-radius: 2px;
}

header.modal_open .menu-trigger span:nth-of-type(2) {
    display: none;
    ;
}

header.modal_open .menu-trigger span:nth-of-type(3) {
    transform: translateY(-7px) rotate(36deg);
    height: 1px;
    border-radius: 2px
}





/* -------------------------------
modal
------------------------------- */
.modal {
    display: flex;
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 102;
    padding-top: 0;
}

.modal.open {
    display: block;
    background-color: #fff;
    margin-top: 50px;
}


.modal_inner_body {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 100px;
    padding-top: 3vh;
    background-color: #fff;
    padding: 0 20px 80px;
    overflow-y: auto;

    .modalmenu {
        width: 100%;
        margin-bottom: 0;



        a {
            padding: 17px 30px;
            display: block;
            border-bottom: 1px solid #000;
            background-image: url(../images/menu_arrow.png);
            background-position: 95% center;
            background-repeat: no-repeat;
            background-size: 20px;
            font-weight: bold;

        }

        a.target {
            display: flex;
            align-items: center;
            gap: 10px;

            img {
                width: 17px;
                height: 17px;
            }
        }

        a:last-child {
            border-bottom: none;
        }

        .accordion {
            padding: 17px 30px;
            display: block;
            border-bottom: 1px solid #000;
            background-image: url(../images/menu_plus.png);
            background-position: 95% center;
            background-repeat: no-repeat;
            background-size: 20px;
            font-weight: bold;
        }

        .inner_accordion {
            display: none;
            margin-top: 14px;

            a {
                border-bottom: none;
                padding: 0;
                font-weight: normal;
                background: none;
                width: 270px;
            }
        }

        .accordion.open {
            background-image: url(../images/menu_minus.png);
        }

        .accordion.open .inner_accordion {
            display: block;
        }
    }

    .menu_sticky {
        position: sticky;
        bottom: 0px;
    }
}


/* 
.modal_inner_body ul {
    display: flex;
    flex-direction: column;
    gap: 8vh;
    align-items: center;
}

.modal_inner_body li {
    width: 250px;
}

.modal_inner_body>div a {
    color: #9D9D9F;
}

.modal_inner_body .menu_title {
    color: white;
}

.modal_inner_body li a, .modal_inner_body li div.menu_title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.modal_inner_body li a>span:first-child, .modal_inner_body li div.menu_title>span:first-child {
    font-size: 14px;
    margin-bottom: 3px;
    font-weight: 700;
}

.modal_inner_body li a>span:last-child, .modal_inner_body li div.menu_title>span:last-child {
    font-size: 24px;
    font-weight: 700;
}

.modal_inner_body li a.contact {
    margin-top: 30px;
    color: #9D9D9F;
    font-size: 16px;
    padding-left: 30px;
    padding-bottom: 0;
} */




















/* -------------------------------
タレントページ
------------------------------- */
.content_roop {}

.content_roop .article {
    flex: 0 0 48%;
    /* display: block; */
    position: relative;
}

.content_roop .article.rank_a {
    /* border: 5px solid #D4D4D4; */
}

.content_roop .article.rank_a::before {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../images/silver.svg);
    top: -40px;
    left: 0;
    width: 100%;
    height: 37px;
    background-repeat: no-repeat;
    background-position-x: center;
    background-size: 100%;
}

.content_roop .article.rank_a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 5px solid #D4D4D4;
}

.content_roop .article.rank_s::before {
    content: "";
    display: block;
    position: absolute;
    background-image: url(../images/gold.svg);
    top: -40px;
    left: 0;
    width: 100%;
    height: 37px;
    background-repeat: no-repeat;
    background-position-x: center;
    background-size: 100%;
}

.content_roop .article.rank_s::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 5px solid #A37E39;
}

.content_roop .article:hover {
    opacity: 1;
}

.content_roop .article img {
    /* height: 310px; */
    width: 100%;
    object-fit: cover;
    object-position: center 0;
    /* margin-bottom: 7px; */
    overflow: hidden;
}

.content_roop .article img:hover {}

.content_roop .article .scaleup img {
    transition: 0.3s;
}


@media screen and (min-width: 821px) {
    .content_roop .article .scaleup:hover .scaleup_img {
        transform: scale(1.1);
        opacity: 1;
    }
}



.content_roop {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 30px;
    margin-top: 37px;
    position: relative;
    
    
    
    

    .article {
        flex: 0 0 51%;
        padding-top: 10px;
        padding-left: 10px;
        margin-top: -10px;
        margin-left: -10px;
        
        
        
        
        
        
        
        
        
        
        
        
        
        


        .image {
            height: 296px;
            background-color: #edf7f9;
            .ranking_img {
                height: 100%;
                img {
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                    object-fit: contain;
                }
            }

            .talent_data {
                padding: 52px 20px 10px;
                margin-bottom: 24px;
                display: flex;
                align-items: center;

                .talent_name {
                    font-size: 18px;
                    line-height: 1;
                    min-height: 26px;
                    vertical-align: middle;
                    display: flex;
                    align-items: center;
                }
            }

            .frame {
                position: absolute;
                z-index: 100;
                top: 0;
                left: 0;
                height: 296px;

                img {
                    object-fit: fill;
                    width: 100%;
                    height: 100%;
                    height: 296px;
                }
            }




        }

        .category {
            margin-top: 5px;
            display: flex;
            flex-wrap: wrap;
            row-gap: 5px;



            li {
                color: var(--sky);
                font-size: 14px;
                border: 1px solid var(--sky);
                padding: 2px 10px 3px;
            }

            li.d_talent_rank {
                background-color: var(--sky);
                color: white;
            }
            
            li.d_talent_class {
                background-color: var(--pinklight);
                border: 1px solid var(--pinklight);
                color: white;
            }
        }


    }

    .article:nth-child(even) .image {
        background-color: #fcf0f7;
    }

    .crown {
        position: absolute;
        z-index: 101;
        top: -5px;
        left: 1px;
        width: 48px;
    }

    .frame.frame1, .frame.frame2 {
        display: none;
    }

    .article:nth-child(even) .frame2 {
        display: block;
    }

    .article:nth-child(odd) .frame1 {
        display: block;

    }
}



.content_roop .category li {
    display: inline-block;
    /* background-color: #464646; */
    /* color: white; */
    margin-right: 7px;
    padding: 3px 8px 5px;
    line-height: 1;
    font-size: 10px;
    font-weight: bold;
}

.content_roop .talent_name {
    /* font-size: 14px; */
    font-weight: bold;
    /* margin-bottom: 4px; */
    line-height: 1.2;
}







/* -------------------------------
ページネーション
------------------------------- */


.page-numbers, .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    margin-bottom: 0;
    gap: 10px;
}

.page-numbers, .nav-links li {}

.page-numbers a, .nav-links a, .nav-links span, .page-numbers span {
    font-size: 15px;
    margin: 0 0px;
    background-color: #989898;
    border-radius: 100px;
    width: 30px;
    display: flex;
    justify-content: center;
    height: 30px;
    align-items: center;
    color: #fff;
    font-family: "Montserrat", sans-serif;
}

.page-numbers span.current {
    background-color: #4b4b4b;
    color: white;
    /* font-weight: bold; */
}

.page-numbers .next, .page-numbers .prev {
    display: none;
}
.page-numbers.next,.page-numbers.prev {
    display: none;
}

.last-page, .first-page {
    display: block;
    width: 30px;
}

.page-numbers_wrap nav {
    margin-right: 10px;
    margin-left: 10px;
}

.page-numbers_wrap nav .current {
    background-color: #4b4b4b;
}

.page-numbers_wrap {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}





/* 前の記事と次の記事 */
.post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 60px;

    .post-navigation-arrow {
        width: 16px;
    }

    .btn {
        a {
            width: 160px;
            height: 33px;
            font-size: 10px;
            padding: 10px;
        }

        a::after {
            width: 10px;
            background-position: 100% center;
            right: 13px;
        }
    }
}











/* -------------------------------
footer
------------------------------- */

footer {
    /* border-top: 1px solid #000; */
    padding-top: 25px;

}

footer .f_wrap {
    display: flex;
    flex-direction: column;

    .head {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 39px;
    }

    .head>div:first-child {
        font-size: 13px;
    }

    .menu {
        display: flex;
        justify-content: space-around;
        padding: 0 28px;


        .column {
            flex: 0 0 49%;

            a {
                display: block;
                margin-bottom: 13px;
            }
        }
    }

    .bottom {
        margin-top: 26px;
        padding: 0 28px;
        margin-bottom: 6px;

        a {
            display: inline-block;
            margin-bottom: 13px;
        }
    }

    a.target {
        display: flex;
        align-items: center;
        gap: 10px;

        img {
            width: 17px;
            height: 17px;
        }
    }
}

footer .footer_logo {
    width: 160px;
    margin-bottom: 0;
    margin-top: 12px;
}

footer .copywrite {
    background-color: var(--main);
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    padding: 8px 0 120px 0;
}

.sticky_btn {
    display: none;
}




@media screen and (min-width: 760px) {
    footer {
        display: none;
    }
}

@media screen and (max-width: 820px) {
    footer {
        /* display: none; */
        /* padding-bottom: 120px;*/
        background-color: white;
    }

    .page-id-15 footer , .page-id-18 footer ,
    .page-id-21 footer , .page-id-27 footer ,.page-id-24 footer {
        padding-bottom: 0;
    }




}











.container_outer_wrap {
    display: flex;
}

.container_outer_wrap .top_left {
    flex: 0 0 calc((100vw - 480px) / 2);
    display: flex;
    justify-content: center;
    position: relative;
    background-image: url(../images/bg_top_left.png);
    background-size: 32%;
    background-position: left 158px;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.container_outer_wrap .top_left.loaded {}

.container_outer_wrap .top_left>div {
    position: fixed;
    top: 5%;
    text-align: center;
    width: 100%;
}

.container_outer_wrap .top_left img {
    display: block;
    z-index: 1;
    /* width: calc(((100vw - 480px) / 2) * 0.44); */
    width: 210px;
}

.container_outer_wrap .top_left a.top_left_logo {
    /* width: calc(((100vw - 480px) / 2)* 0.44); */
    display: block;
    position: absolute;
    left: 30%;
    top: 0;
    transition: 0.7s ease-in-out;
}

.container_outer_wrap .top_left a.top_left_stick {
    /* width: calc(((100vw - 480px) / 2)* 0.44); */
    display: block;
    position: absolute;
    left: 10%;
    top: 306px;
    transition: 0.7s ease-in-out;
    width: 430px;

    img {
        width: 100%;
        max-width: 430px;
    }
}


.container_outer_wrap .top_left a>div {
    margin-top: 10px;
}

.container_outer_wrap .top_left.loaded a {
    left: 39%;
}

.container_outer_wrap .top_left.loaded a.top_left_stick {
    left: 34%;
}

.container_outer_wrap .top_left .top_left_logo {
    opacity: 0;
    transition: 2s ease-in-out;
}

.container_outer_wrap .top_left.loaded .top_left_logo {
    opacity: 1;
}

.container_outer_wrap .top_left>div.copywrite {
    top: auto;
    bottom: 24px;
    left: 40px;
    color: #000;
    font-size: 12px;
    z-index: 99999;
    text-align: left;
    font-size: 12px;
    display: inline-block;
    width: auto;
}

@media screen and (max-width: 800px) {
    .container_outer_wrap .top_left>div.copywrite {
        display: none;
    }
    .container_outer_wrap .top_left.loaded a.top_left_stick {
        display: none;
    }
}


.container_outer_wrap .top_right {
    order: 3;
    flex: 0 0 calc((100vw - 515px) / 2);
    background-image: url(../images/bg_top_right.png);
    background-size: 22%;
    background-position: right top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.container_outer_wrap .top_right>div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    top: 13%;
    padding-left: 84px;
}

.container_outer_wrap .top_right>div>div {
    margin-bottom: 7px;
}

.container_outer_wrap .top_right .inner_accordion {
    padding-left: 10px;
    margin-top: -0.5vh;
    margin-bottom: 1.1vh;

    a {
        margin-bottom: 1.5vh;
        line-height: 1;
        font-weight: 400;
    }
}



.container_outer_wrap .top_right>div a {
    color: black;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    display: block;
    margin-bottom: 2vh;
}

.container_outer_wrap .top_right>div a.target {
    display: flex;
    align-items: center;
    gap: 10px;

    img {
        width: 17px;
        height: 17px;
    }
}

.container_outer_wrap .top_right a:hover {
    text-decoration: underline;
}

.container_outer_wrap .top_right .talent {
    display: flex;
}

@media screen and (max-width: 1300px) {
    .container_outer_wrap .top_right .talent {
        display: block;
    }

    .container_outer_wrap .top_right>div {
        top: 14%;
    }
}

.container_outer_wrap .top_right .talent>a {
    flex: 0 0 200px
}

.container_outer_wrap .top_right .talent_box {
    display: flex;
    flex-wrap: wrap;
    max-height: 30vh;
    overflow-y: auto;
}

.container_outer_wrap .top_right .talent_box a {
    width: 45%;
    color: #9D9D9F;
    font-size: 14px;
}

@media screen and (max-width: 1600px) {
    .container_outer_wrap .top_right .talent_box a {
        width: 100%;
    }

}


.container_outer_wrap .top_right .talent_box::-webkit-scrollbar {
    background: #060318;
}

.container_outer_wrap .top_right .privacy {
    text-align: right;
    padding-right: 20px;
    color: #ffffff;
}

.container_outer_wrap .top_right .privacy a {
    font-size: 14px;
    color: #ffffff;
}

.container_outer_wrap .top_right .privacy a:hover {
    text-decoration: underline;
}



.container_outer_wrap .top_right .company a {
    display: flex;
    align-items: center;
    gap: 10px;
}

.container_outer_wrap .top_right .company a img {
    width: 14px;
    height: 14px;
}

.container_outer_wrap .top_right .contact {
    display: flex;
}

@media screen and (max-width: 1300px) {
    .container_outer_wrap .top_right .contact {
        display: block;
    }
}

.container_outer_wrap .top_right .contact>div {
    display: flex;
    flex-direction: column;
}

.container_outer_wrap .top_right .contact h3 {
    color: white;
    font-size: 16px;
    font-weight: normal;
    flex: 0 0 200px;
}

.container_outer_wrap .top_right .contact a {
    color: #9D9D9F;
    font-size: 14px;
}




/* -------------------------------
ヘッダー
------------------------------- */




header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 11;
    transition: 0.7s;
    background-color: rgba(255, 255, 255, 0.8);
    padding-right: 0;
    border-bottom: 1px solid #000;
    z-index: 1020;
    /* box-sizing: border-box; */
}

.body_scrolled header {
    /* background-color: rgba(0, 0, 0, 0.5); */
}

@media screen and (min-width: 1100px) {
    header {
        /* display: none; */
    }

    main {
        padding-top: 15px;
        padding-bottom: 50px;
    }
}

@media screen and (max-width: 1101px) {
    .container_outer_wrap .top_right {
        display: none;
    }

    .container_outer_wrap .top_left a {
        display: none;
    }
}


header>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 26px;
    height: 50px;
}

@media screen and (min-width: 821px) {
    header>div {
        padding-right: 26px;
    }
}


header .header_logo img {
    height: 30px;
}

header .header_btn {
    /* background-color: black; */
    height: 50px;
    width: 50px;

    display: flex;
    display: none;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border-left: 1px solid #000;
}

header .img_black {
    display: none;
}

@media screen and (max-width: 820px) {
    header .header_btn {
        display: flex;
    }
}




/* -------------------------------
個別ページ
------------------------------- */
.home main {
    /* padding-top: 60px; */
    padding-top: 0;
    /* background-color: #fff; */
    padding-bottom: 60px;
}

@media screen and (max-width: 820px) {
    .home main {
        /* padding-top: 60px; */
        padding-top: 0;
    }
}




.privacy {
    h3 {}
}



/* -------------------------------
トップページ
------------------------------- */
.mainview {
    background-image: url(../images/mainview_bg.png);
    background-repeat: no-repeat;
    background-size: 57%;
    background-position: 37% 15%;
    position: relative;

}

body.loaded .mainview {
    transition: 0.7s ease-in-out 0.7s;

}



.mainview a {
    display: block;
    position: relative;
}

.mainview a img {
    height: auto;
}

.mainview .centertext {
    text-align: center;
    position: absolute;
    top: -10px;
    z-index: 10;
    left: 42%;
    transition: 0.5s ease-in-out 0s;
    opacity: 0;
}

body.loaded .mainview .centertext {
    top: 15px;
    opacity: 1;
}

.mainview .centertext img {
    max-height: 392px;
    display: inline-block;
    z-index: 10;
}

.mainview .right_chara {
    position: absolute;
    top: 30px;
    right: -123px;
    width: 399px;
    transition: 0.4s ease-in-out 1.0s;
    opacity: 0;
}

body.loaded .mainview .right_chara {
    top: 58px;
    opacity: 1;
}


.mainview .left_chara {
    position: absolute;
    top: 54px;
    left: -90px;
    width: 423px;
    transition: 0.4s ease-in-out 0.6s;
    opacity: 0;
}

body.loaded .mainview .left_chara {
    top: 98px;
    opacity: 1;
}




@media screen and (max-width: 620px) {
    .mainview .right_chara {
        position: absolute;
        top: 6vw;
        right: -28vw;
        width: 83vw;
    }

    body.loaded .mainview .right_chara {
        top: 9vw;
    }

    .mainview .left_chara {
        position: absolute;
        top: 13vw;
        left: -17vw;
        width: 87vw;
    }

    body.loaded .mainview .left_chara {
        top: 18vw;
    }
}


/* -------------------------------
メインビジュアル改修 20250903
------------------------------- */
/* メインビジュアルのコンテナ */
.main-visual {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #e0e7ff; /* 画像が読み込まれるまでの背景色 */
}

/* 背景画像 */
.background-image {
    width: 100%;
    display: block; /* 画像の下にできる余分な隙間を防ぎます */
}

/* キャラクター画像 */
.character-image {
    position: absolute;
    /* 背景画像（親要素の.main-visual）の幅に対して25%の幅に設定します */
    width:100%;
    max-width: 700px;
    height: auto;
    
    /* キャラクターを中央下に配置するための設定 */
    left: 50%;
    bottom: 0;
    z-index: 2; /* 背景より手前に配置 */
    
    /* アニメーションの設定 */
    /* アニメーション名: zoom-fade-in
       継続時間: 1.2秒
       イージング関数: ease-out (最後に減速)
       遅延: 0.5秒
       フィルモード: forwards (アニメーション終了後、最後の状態を維持)
    */
    animation: zoom-fade-in 1.2s ease-out 0.5s forwards;

    /* 初期状態を定義します。アニメーションが始まるまで透明で、
       小さくなっている状態にします。
    */
    opacity: 0;
    transform: translateX(-50%) scale(0.5); /* 中央揃えを維持しつつ、サイズを50%に縮小 */
}
/* キャッチコピー画像 */
.catchphrase-image {
    position: absolute;
    width: 15%; /* 表示サイズを調整してください */
    max-width: 100px;
    height: auto;
    top: 10%; /* 表示位置を調整してください */
    left: 10%;
    transform: translateX(-50%);
    z-index: 3; /* キャラクターより手前に配置 */
    
    /* 初期状態は透明 */
    opacity: 0;

    /* アニメーションの設定 */
    /* アニメーション名: fade-in
       継続時間: 0.8秒
       イージング関数: ease-in
       遅延:1.0秒 (キャラクターのアニメーション1.2s + 遅延0.5s)
       フィルモード: forwards (アニメーション終了後、最後の状態を維持)
    */
    animation: fade-in 0.8s ease-in 1.0s forwards;
}

/* 後ろから拡大しながらフェードインするアニメーションの定義 */
@keyframes zoom-fade-in {
    /* アニメーション開始時 (0%) の状態 */
    0% {
        opacity: 0;
        transform: translateX(-50%) scale(0.5); /* 中央+縮小 */
    }
    /* アニメーション途中 (80%) の状態 */
    80% {
        opacity: 1;
        /* ポップな感じを出すために最終サイズより少しだけ大きくする */
        transform: translateX(-50%) scale(1.05); 
    }
    /* アニメーション終了時 (100%) の状態 */
    100% {
        opacity: 1;
        transform: translateX(-50%) scale(1); /* 中央+元のサイズ */
    }
}

/* フェードインアニメーションの定義 */
@keyframes fade-in {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/*-----------------------------------------*/






.front {


    .barline {
        text-align: center;
        display: flex;
        justify-content: center;
        margin-bottom: 26px;

        img {
            width: 3px;
        }
    }

    .sec1 {
        background-color: var(--main);
        background-image: url(../images/front_bg.png);
        background-repeat: no-repeat;
        background-size: 80%;
        background-position: center 19%;
        z-index: 100;
        position: relative;
        padding-bottom: 40px;
        padding-top: 49px;

        .text {
            text-align: center;

            span {
                font-weight: bold;
            }
        }

     h2 {
            margin-bottom: 20px;
            position: absolute;
            right: 0px;
            left: 0px;
            top: -26px;
        } 

        h2.n>span:first-child {
            line-height: 1;
        }
/*
        h2.n>span:last-child {
            font-size: 23px;
            margin-top: -30px;
            position: absolute;
            left: -89px;
            
        }
*/
        .titlebottom {
            .bkwhite {
                background-color: white;
                font-size: 15px;
                display: inline-block;
                margin: 0 auto;
                color: #cfcfcf;
                padding: 2px 6px 4px;
                line-height: 1;
            }

            text-align: center;
            margin-bottom: 25px;
            margin-top: 5px;

        }

        .text {
            font-size: 14px;
            text-align: left;
            padding: 0 6px;
            line-height: 2;

            span {
                font-size: 18px;
                font-weight: bold;
                background: linear-gradient(transparent 60%, #fff 40%);
            }
        }

        .btn {
            margin-top: 19px;


            a {
                width: 72%;
                margin: 0 auto;
                height: 60px;
                font-size: 15px;
            }
        }
        .youtube {
            background-image: url(../images/top_youtube.png);
            background-size: 100% 100%;
            background-repeat: no-repeat;
            padding: 50px 30px 20px 26px;
            margin-bottom: 20px;
        }
    }

    .sec1::before {
        /* beforeでもafterでも*/
        content: "";
        position: absolute;
        height: 70px;
        width: calc(100% + 48px);
        clip-path: polygon(70% 0%, 0% 100%, 100% 100%);
        background-color: var(--main);
        top: -68px;
        /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
        left: -24px;
    }

    .sec2 {
        /* background-color: var(--main); */
        padding: 0;
        z-index: 100;
        position: relative;
        padding-bottom: 45px;
        margin-top: -1px;



        .secbody {
            background-color: white;
            position: relative;
            display: flex;
            padding: 34px 11px;
            margin-top: -1px;

            .talentbox {
                flex: 0 0 49%;
                background-image: url(../images/waku1.png);
                background-size: contain;
                background-repeat: no-repeat;
                position: relative;
                aspect-ratio: 0.74/1;
                overflow: hidden;

                .image {}

                .title {
                    position: absolute;
                    bottom: 30px;
                    font-size: 18px;
                    font-weight: bold;
                    background-color: rgba(255, 255, 255, 0.8);
                    transform: skew(-20deg);
                    padding: 3px 5px;
                }
            }

        }

        .secbody::before {
            content: "";
            position: absolute;
            top: -35px;
            background-image: url(../images/tab.png);
            width: 141px;
            height: 45px;
            background-size: contain;
            left: 0;
        }







        h2.n {
            text-align: left;
            background-color: var(--main);
            height: 66px;
        }

        h2.n>span:last-child {
            z-index: 100;
            position: relative;
            font-size: 16px;
            padding-left: 18px;
            margin-top: -34px;
        }

        .btn {
            padding-top: 15px;
            padding-bottom: 45px;
            background-color: white;

            a {
                width: 69%;
                margin: 0 auto;
                height: 60px;
                font-size: 15px;
            }
        }
    }

    .sec3 {
        background-color: var(--main);
        padding-bottom: 32px;
        padding-top: 40px;
        z-index: 0;
        position: relative;
        margin-top: 40px;

        /*h2 {
            margin-bottom: 10px;
        }
        
        h2.n>span:last-child {
            margin-top: -56px;
        }
        */

        .sortsetting {
            text-align: center;
            margin-top: 40px;
            margin-bottom: 30px;

            .title {
                background-color: var(--pink);
                color: white;
                display: inline-block;
                font-size: 15px;
                line-height: 1;
                padding: 2px 20px 3px;
                margin-bottom: 20px;
            }

            a {
                display: flex;
                border: 1px solid var(--pink);
                border-radius: 20px;
                color: var(--pink);
                padding: 2px 18px 4px;
                font-size: 13px;
                line-height: 1;
            }

            a.active {
                background-color: var(--pink);
                color: white;
            }

            .talent_app_btn_wrap {
                display: flex;
                gap: 6px;
                flex-wrap: wrap;
                row-gap: 13px;
            }
        }

        .secbody {}

        .btn {
            margin-top: 39px;

            a {
                height: 60px;
            }
        }

    }

    .sec4 {
        background-color: var(--main);
        padding: 0px 14px;

        h2 {
            margin-bottom: 20px;
        }

        h2.n>span:first-child {
            justify-content: center;
        }
/*
        h2.n>span:last-child {
            margin-top: -35px;
        }
*/
        .secbody {
            margin-bottom: 41px;
        }

        .btn {
            a {
                height: 60px;
                width: 80%;
            }
        }
    }


    .sec5 {
        background-color: var(--main);
        padding: 60px 14px 32px;

        h2 {
            margin-bottom: 30px;
        }

        .btn {
            margin-top: 50px;

            a {
                height: 60px;
                width: 80%;
            }
        }

        .month-group_slick {
            margin-bottom: 22px;
        }

        .month-group_slick2 {
            display: none;
        }
        .noresult {
            padding-top: 20px;
        }
    }

    .sec6 {
        padding-top: 60px;
        background-color: var(--main);
        padding-bottom: 50px;


        h2 {
            margin-bottom: 20px;
        }

        h2.n>span:first-child {
            justify-content: center;
            /* font-size: 75px; */
        }
/*
        h2.n>span:last-child {
            margin-top: -33px;
        }
*/
        .txt{
            margin-top:40px
        }
        .slick_interview {
            margin-top: 30px;
            margin-right: -24px;
            margin-left: -24px;

            a {
                margin-right: 24px;
                /* height: 150px; */
                width: auto;
            }

            img {
                /* height: 150px; */
                /* width: 200px; */
            }

            .slick-list {
                overflow: visible;
                /* スライドのオーバーフローを表示 */
                padding-left: 21px !important;

                /* 左側に20pxの余白を追加 */
                .image {
                    margin-bottom: 10px;
                }
            }
        }

        .btn {
            margin-top: 40px;

            a {
                height: 60px;
            }
        }
    }

    .sec7 {
        background-color: #fff;
        padding-top: 60px;

        h2 {
            margin-bottom: 30px;
        }

        h2.n>span:first-child {
            color: white;
            -webkit-text-stroke: 1px #e5e5e5;
            text-shadow: 1px 1px 0 #e5e5e5, -1px -1px 0 #e5e5e5, -1px 1px 0 #e5e5e5, 1px -1px 0 #e5e5e5, 1px 0 0 #e5e5e5, -1px 0 0 #e5e5e5, 0 1px 0 #e5e5e5, 0 -1px 0 #e5e5e5;
        }
/*
        h2.n>span:last-child {
            margin-top: -30px;
        }
*/
        .w_max {
            margin-left: -24px;
            margin-right: -24px;
            margin-bottom: 30px;
        }

        .btn {
            margin-top: 30px;

            a {
                height: 60px;
            }
        }
    }


    /* .sec8 {
        background-color: #fff;
        padding-top: 30px;
        h2 {
            margin-bottom: 20px;
            margin-left: -20px;
        }

        h2.n>span:first-child {
            color: white;
            -webkit-text-stroke: 1px #e5e5e5;
            text-shadow: 1px 1px 0 #e5e5e5, -1px -1px 0 #e5e5e5, -1px 1px 0 #e5e5e5, 1px -1px 0 #e5e5e5, 1px 0 0 #e5e5e5, -1px 0 0 #e5e5e5, 0 1px 0 #e5e5e5, 0 -1px 0 #e5e5e5;
            justify-content: flex-start;
        }

        h2.n>span:last-child {
            margin-top: -23px;
        }

        h3 {
            max-width: 300px;
            text-align: center;
            margin: 0 auto 12px;
            font-size: 18px;
            font-family: "Zen Maru Gothic", serif;

        }

        .w_max {
            margin-left: -24px;
            margin-right: -24px;
            margin-bottom: 19px;
        }

        .btn {
            margin-top: 20px;
            margin-bottom: -11px;
            
            a {
                height: 60px;
            }
        }
    } */
    
    /*Xとraynelバナー*/
    .sec_banners {
        padding: 50px 24px 50px;
        background-color: #fff;
    }

    .sec_banners .banner_list {
        display: flex;
        flex-direction: column; /* 上下に並べる */
        align-items: center;    /* 中央揃え */
        gap: 40px;              /* バナー同士の間隔 */
    }

    .sec_banners .banner_item {
        width: 100%;
        max-width: 432px; 
        transition: transform 0.3s ease;
    }

    .sec_banners .banner_item:hover {
        transform: scale(1.02); /* ホバー時に少し大きくする演出（任意） */
        opacity: 0.9;
    }

    .sec_banners .banner_item img {
        width: 100%;
        height: auto;
    }

}

@media screen and (max-width: 820px) {
    .front {
        border-bottom: 1px solid #000;
        .sec1 {
            .youtube {
                padding: 10vw 6vw 3.5vw;
                margin-right: -18px;
                margin-left: -18px;
                iframe {
                    height: 48vw;
                }
            }
        }
        .sec_banners {
            padding-bottom: 40px;
        }
    }
    .content_roop {
        .article {
            .image {
                height: 61vw;

                .frame {
                    height: 61vw;

                    img {
                        height: 61vw;
                    }
                }

                .talent_data {
                    display: flex;
                    height: auto;
                    bottom: 0vw;
                    align-items: center;
                    padding: 15vw 4vw 4vw;
                    margin-bottom: 2vw;
                    max-width: 50vw;
                    
                    
                    
                    

                    .talent_name {
                        font-size: 18px;
                        line-height: 1;
                        display: flex;
                        min-height: 36px;
                        align-items: center;
                    }
                }
            }
        }

    }

}





/* -------------------------------
Linearについて
------------------------------- */

.about {
    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }

    h2.n>span:last-child {
    /*    margin-top: -20px; */
    }

    .sec1 {
        padding: 20px 1px 0px 1px;

        .fukidashi>div {
            margin-bottom: 20px;
        }
    }

    .sec2 {
        background-image: url(../images/about_bg.png);
        background-repeat: no-repeat;
        background-size: 100%;
        padding: 39px 16px 50px;






        .sec_body {
            .sec2_1 {
                position: relative;
                margin-bottom: 20px;

                .body {
                    background-image: url(../images/about_sec2_1_body.png);
                    background-size: 100% 100%;
                    background-repeat: no-repeat;
                    padding: 22px 34px 13px 20px;
                    line-height: 1.8;
                    /* margin-bottom: 50px; */
                }

                .block1 {
                    position: absolute;
                    right: 0;
                    top: 44px;
                    width: 20px;
                }

                .block2 {
                    position: absolute;
                    left: 8%;
                    bottom: 15px;
                    width: 40px;
                }

            }

            .sec2_2 {
                /* background-image: url(../images/about_sec2_2.png); */
                background-size: 100% 100%;
                background-repeat: no-repeat;
                /* padding: 70px 40px 80px 40px; */
                line-height: 2.3;

                .body {
                    background-image: url(../images/talent_body.png);
                    padding: 26px 19px;
                }
            }
        }
    }

}

main.about {
    margin-top: -70px;
    padding-bottom: 0;
    padding-top: 19px;
}







/* .mainview a>div:last-child {
    position: absolute;
    z-index: 99;
    bottom: 30px;
}

.mainview a>div:last-child p {
    background-color: rgba(255, 255, 255, 0.5);
    width: 90%;
    margin: 0 auto;
    padding: 5px 15px;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 700;
} */

.mainview {
    height: 528px;
    /* margin-bottom: 63px;
    margin-left: -24px;
    margin-right: -24px; */
}


/* -------------------------------
メインスライダー
------------------------------- */

.slick-slider div {
    transition: none;
}

.mainview .slick-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.2);
    cursor: pointer;
    border: none;
    outline: none;
    font-size: 0;
    position: absolute;
    bottom: 50%;
    z-index: 1;
    filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}

.mainview .slick-arrow::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border: 1px solid #fff;
    border-width: 2px 2px 0 0;
    position: absolute;
    top: 14px;
    transform: rotate(45deg);
}

.mainview .slick-next {
    right: 5px;
}

.mainview .slick-prev {
    left: 5px;
}

.mainview .slick-next::before {
    left: 12px;
}

.mainview .slick-prev::before {
    border-width: 0 0 2px 2px;
    right: 12px;
}

.slick-dots {
    text-align: center;
}

.slick-dots li {
    display: inline-block;
}

.slick-dots button {
    display: block;
    width: 10px;
    height: 10px;
    margin: 6px;
    font-size: 0;
    padding: 0;
    border: 0;
    outline: none;
    cursor: pointer;
    background: #bcbcbc;
    border-radius: 50%;
}

.slick-dots .slick-active button {
    background: #0a467d;
}







/* -------------------------------

------------------------------- */
main.liver {
    padding-top: 20px;
    padding-bottom: 50px;
}

.liver .content_roop {

    margin-bottom: 58px;
}

/* -------------------------------

------------------------------- */
/* main.privacy {
    padding-top: 30px;
    padding-bottom: 60px;
}

main.privacy .main_text {

    font-size: 14px;
}

.privacy h2 {
    font-size: 22px;
    letter-spacing: 0px;
}

.privacy h3 {
    font-size: 14px;
}

.privacy .mv img {
    height: 50vw;
    max-height: 240px;
    width: 100%;
    object-fit: cover;
}

.privacy #comp {
    padding-top: 60px;
}

.privacy ul {

    margin-top: 9px;
}

.privacy ul li {
    font-size: 14px;
    margin-bottom: 9px;
} */






/* -------------------------------
所属タレント一覧
------------------------------- */
.talent {
    padding-bottom: 50px;

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }

    /* h2.n>span:last-child {
        margin-top: -37px;
    } */

    .sortsetting {
        margin-top: 10px;
        padding: 0 12px;

        .filters-wrapper{
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            gap: 20px;
        }
        .filter-group{
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        .filter-group select {
            width: 130px; 
            padding: 3px;
            border: 1px solid var(--pink);
            color: #707070;
        }
        .filter-actions {
            margin-top: 10px;
            display: flex;
            justify-content: center;
            gap: 10px;
        }

        .title {
            background-color:var(--pink);
            color: white;
            display: inline-block;
            font-size: 14px;
            line-height: 1;
            padding: 2px 23px 4px;
            margin-bottom: 8px;
        }

        .talent_app_btn_wrap {
            display: flex;
            gap: 10px;
            margin-bottom: 10px;

            a {
                display: flex;
                border: 1px solid var(--pink);
                border-radius: 20px;
                color: var(--pink);
                padding: 3px 10px;
                font-size: 13px;
                line-height: 1;
                min-width: 62px;
                justify-content: center;
            }

            a.active {
                background-color: var(--pink);
                color: white;
            }

            button {
                border: 1px solid var(--pink);
                border-radius: 20px;
                color: var(--pink);
                padding: 3px 10px;
                font-size: 13px;
                line-height: 1;
                min-width: 62px;
            }
            button.active {
                background-color: var(--pink);
                color: #fff; /* 背景色に合わせて文字色を白に変更 */
            }
        }
        .filter-actions{
             .clear-btn{
                border-radius: 20px;
                background-color:#ffffff;
                color: var(--pink);
                padding: 3px 20px;
                font-size: 13px;

            }
            .submit-btn{
                border-radius: 20px;
                background-color:var(--pink);
                color: #ffffff;
                padding: 3px 20px;
                font-size: 13px;

            }
        }

        .title2 {
            background-color: var(--sky);
            margin-top: 22px;
            padding: 2px 24px 4px;
        }
        .sortsetting2 {
            margin-bottom: 25px;
            .title2 {
                margin-bottom: 13px;
            }
        }

        .sortsetting3 {
            margin-top: 15px;
        }

        .talent_sort_btn_wrap {
            display: flex;
            gap: 10px;

            a {
                display: flex;
                align-items: center;
                border: 1px solid var(--sky);
                border-radius: 5px;
                color: var(--sky);
                padding: 0 10px;
                height: 30px;
            }

            a.asc {
                background-image: url(../images/sort.png);
                background-size: 8px;
                background-position: 93% 54%;
                background-repeat: no-repeat;
                padding-right: 20px;
            }
            a.desc {
                background-image: url(../images/sort2.png);
                background-size: 8px;
                background-position: 93% 54%;
                background-repeat: no-repeat;
                padding-right: 20px;
            }
        }

        .talent_search_btn_wrap {
            background-color: white;
            border-radius: 30px;
            display: flex;
            align-items: center;
            padding: 5px 10px;
            height: 45px;

            img {
                width: 25px;
                height: 25px;
                margin-right: 10px;
            }
        }

    }

    .d_talent_rank {
        background-color: var(--sky);
        color: white;
        font-size: 14px;
    }

    .d_talent_app {
        border: 1px solid var(--sky);
        color: var(--sky);
        font-size: 14px;
    }




    .sec1 {
        padding: 0 12px;
    }

    input[type=text], input:-internal-autofill-selected {
        padding: 12px 10px;
        background-color: white !important;
        margin-left: 20px;
        -webkit-appearance: none;
        -webkit-text-size-adjust: 100%;
        font-size: 16px!important;
    }
    input[type=text] {
        -webkit-appearance: none!important;
        -webkit-text-size-adjust: 100%!important;
        font-size: 16px!important;
        font-family: 'Noto Sans JP';
    }


    .sortsetting3 {
        form {
            display: flex;
            align-items: center;
        }
    }




    .talent_app_radio_group{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}
    .talent_app_radio{display:inline-flex;align-items:center;cursor:pointer}
    .talent_app_radio input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
    .talent_app_radio span{
        display:inline-block;
        border:1px solid var(--pink);
        border-radius:9999px;
        padding: 3px 8px;
        min-width: 63px;
        line-height:1;
        background:transparent;
        color:var(--pink);
        transition:all .15s ease;
        font-size: 13px;
        text-align: center;
        }
    .talent_app_radio:hover span{border-color:var(--pink)}
    .talent_app_radio input[type=radio]:checked + span{
        background:var(--pink);
        color:#fff;
        border-color:var(--pink);
    }
    .searchoption1head {
        display: flex;
        gap: 30px;
        color: var(--pink);
        .talent_class_select {
            padding: 5px 0;
            border: 1px solid var(--pink);
            margin-right: 5px;
            min-width: 70px;
        }
    }
    .searchoption1bottom {
        display: flex;
        justify-content: center;
        margin-top: 13px;
        gap: 15px;
        
        
        
        a {
            background-color: white;
            border-radius: 50px;
            color: var(--pink);
            min-width: 95px;
            display: flex;
            justify-content: center;
        }
        button {
            background-color: var(--pink);
            color: white;
            border-radius: 50px;
            min-width: 90px;
            display: flex;
            justify-content: center;
        }
    }
}




input,textarea {
    /* -webkit-appearance: none!important; */
    -webkit-text-size-adjust: 100%!important;
    font-size: 16px!important;
}






/* -------------------------------
所属タレント詳細
------------------------------- */


.single-talent {
    h2.n>span:last-child {
        margin-top: -39px;
    }

    .headinfo {
        margin-top: 42px;
        text-align: center;
        margin-bottom: 22px;

        .tax {
            background-color: #ea86b0;
            color: white;
            display: inline-block;
            font-weight: bold;
            font-size: 16px;
            line-height: 1;
            padding: 1px 20px 2px;
        }

        h2 {
            color: #ea86b0;
        }
    }

    .sec1 {
        padding: 0;
        margin-bottom: 16px;

        .talent_body {
            padding: 0 15px;
            margin-top: 27px;

            .body {
                background-image: url(../images/talent_body.png);
                padding: 2px 6px;

                .row {
                    padding: 12px 42px 16px;
                    border-bottom: 1px solid #fff;
                    display: flex;
                    gap: 30px;

                    div:last-child {
                        font-family: "Montserrat", sans-serif;
                    }
                }

                .row.hitokoto {
                    border-bottom: none;
                    display: block;

                    div:first-child {
                        margin-bottom: 15px;
                    }
                }

                .column {
                    display: flex;
                   /* justify-content: center; */
                    justify-content: space-around;
                    margin:20px 50px 10px 50px;
                    /*margin-top: 20px;
                    gap: 37px; 
                    margin-bottom: 10px;*/
                    

                    a {
                        text-align: center;

                        img {
                            width: 50px;
                            height: 50px;
                            margin-left: auto;
                            margin-right: auto;
                        }
                    }
                }
            }
        }
    }

    .talent_slick {
        .slick-dots .slick-active button {
            background: #4ec9cc;
        }

        .slick-dots button {
            width: 13px;
            height: 13px;
        }

        .slick-slide {
            display: flex;
            justify-content: center;
        }

        img {
            max-height: 480px;
        }
    }

    .btn {
        a {
            height: 60px;

        }

        a::after {
            background-image: url(../images/btn_arrow_left.png);
            background-position: 0px center;
            left: 20px;
            right: auto;
        }

    }

    padding-bottom: 0;



}

main.single-talent {
    padding-bottom: 50px;
}

.single-talent .eyecatch {
    background-position: 66% 4%;
    position: relative;
    background-size: 248%;
    /* max-height: 608px; */
}

.single-talent .eyecatch::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(230, 230, 250, 0.7);
    /* 半透明の黒色オーバーレイ */
    z-index: 1;
}

.single-talent .eyecatch {

    .eye_catch {
        z-index: 2;
        max-width: 240px;
        position: relative;
        margin: 0 0 0 auto;
        opacity: 0;
        max-height: 106vw;
        width: auto;
    }
}

.slide-in {
    animation: slideIn 1.5s forwards;
    opacity: 1 !important;
}

@keyframes slideIn {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);

    }
}



@media screen and (max-width: 820px) {
    .single-talent {
        & .talent_slick {
            img {
                max-height: 110vw;
            }
        }
    }
}

/* -------------------------------
メモリー
------------------------------- */

.memory {
    padding-bottom: 50px;

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }
    /* h2.n>span:last-child {
        margin-top: -63px;
    } */

    .sec1 {
        margin-top: 50px;

        select {
            border: 1px solid var(--sky);
            border-radius: 10px;
            padding: 6px;
            background-color: var(--main);
            color: var(--sky);
        }
        .select {
            display: flex;
            /* margin-top: 48px; */
            justify-content: space-between;


            img {
                width: 84px;
            }
        }
    }

    .sec2 {
        padding: 0 10px;

        .memory_box_wrap {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;

            .memory_box {
                flex: 0 0 48%;
                display: flex;
                justify-content: center;
                background-color: white;

                img {
                    max-height: 130px;
                    max-width: 100%;
                    height: auto;
                    width: auto;
                }
            }
        }
    }

    .btn {
        a {
            height: 60px;
        }
    }
}

.memorymodal_wrap {
    position: relative;

    .slide-arrow {
        position: absolute;
        top: 50vh;
        width: 30px;
        height: 30px;
        background-size: contain;
    }

    .prev-arrow {
        background-image: url(../images/memory_slick_arrow_prev.png);
        left: 0;
        z-index: 100;
    }

    .next-arrow {
        background-image: url(../images/memory_slick_arrow_next.png);
        right: 0;
    }

    .slick-track {
        display: flex;
        align-items: center;
    }
    .slick-list {
        top: 34vh;
    }
}

.memorymodal_wrap.slick-slider {
    /* display: none; */
    visibility: hidden;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
    transition: opacity 0.3s ease;
}

.memorymodal {
    display: flex;
    align-items: center;
}

/* モーダルコンテンツのスタイル */
.modal-content {
    background-color: #fff;
    margin: 10% auto;
    /* 上から10%の位置に中央寄せ */
    /* padding: 20px; */
    border: 1px solid #888;
    width: 98%;
    /* 幅を80%に設定 */
    max-width: 600px;
    /* 最大幅を600pxに設定 */
    border-radius: 8px;
    position: relative;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

/* 閉じるボタンのスタイル */
.close {
    color: #aaa;
    position: absolute;
    top: -5px;
    right: 6px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: #000;
    text-decoration: none;
}

/* モーダルを開いたときのスクロール防止 */
body.modal-open {
    overflow: hidden;
}











/* -------------------------------
インタビュー
------------------------------- */

.interview {
    padding-bottom: 50px;

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }

    h2.n>span:first-child {
        justify-content: center;

    }

/*    h2.n>span:last-child {
        margin-top: -45px;
        font-size: 24px;
    } */

    h2+.tac {
        text-align: center;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    section {
        padding: 0 12px;
    }

    .sec_body {
        

        .interviewbox {
            position: relative;
            /* margin-bottom: 47px; */
            display: block;
            margin-bottom: 5px;

            .image {
                position: relative;
                display: flex;
                justify-content: center;
                aspect-ratio: 16/9;


                img {
                    object-fit: cover;
                }

                .waku {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                }
            }

            .title {
                background-image: url(../images/interviewtitle.png);
                height: 50px;
                width: 270px;
                background-size: 100% 100%;
                background-repeat: no-repeat;
                margin: 0 auto;
                margin-top: 15px;
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 14px;
                font-weight: 500;
                padding: 15px 15px 19px;
                height: auto;
            }
        }
        .interview-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr); /* 2列 */
            gap: 10px; /* グリッド間の隙間 */
        }
        .interview-grid .title {
                background-image: url(../images/interviewtitle.png);
                height: 50px;
                width: 170px;
                background-size: 100% 100%;
                background-repeat: no-repeat;
                margin: 0 auto;
                margin-top: 5px;
                display: flex;
                justify-content: center;
                align-items: center;
                font-size: 12px;
                font-weight: 500;
                padding: 10px 10px 16px;
                height: auto;
                line-height: 16px;
        }
    }

    .content {
        article {
            .text {
                padding: 0 12px;
            }

            .title {
                background-image: url(../images/interviewtitle.png);
                width: 270px;
                background-size: 100% 100%;
                background-repeat: no-repeat;
                margin: 0 auto 20px;
                margin-top: 15px;
                display: flex;
                justify-content: center;
                align-items: center;
                background-position: 0 2px;
                height: auto;
                padding: 17px 15px;
                line-height: 1.3;
                min-height: 60px;
                font-weight: 500;
            }

            .title+p {
                font-size: 16px;
                font-weight: bold;
                font-family: "Zen Maru Gothic", serif;
            }

            .wp-block-group {
                padding: 20px 20px 30px;
            }

            .wp-block-group:has(h2) {
                background-image: url(../images/interview_bg1_body.png);
                position: relative;
                margin-top: 50px;
                margin-bottom: 90px;

                h2 {
                    font-size: 16px;
                    color: var(--pinklight);
                    background-image: url(../images/interview_h2_bg.png);
                    background-size: 100% 100%;
                    padding: 20px;
                    margin-bottom: 20px;
                }

            }

            .wp-block-group:has(h2)::before {
                content: "";
                position: absolute;
                height: 40px;
                left: 0px;
                top: -40px;
                background-image: url(../images/interview_bg1_head.png);
                width: 100%;
                background-size: 100% 100%;
            }

            .wp-block-group:has(h2)::after {
                content: "";
                position: absolute;
                height: 40px;
                bottom: -37px;
                background-image: url(../images/interview_bg1_bottom.png);
                width: 100%;
                background-size: 100% 100%;
                left: 0;
            }




            .wp-block-group:has(h3) {
                background-image: url(../images/interview_bg1_body.png);
                position: relative;
                margin-top: 60px;
                margin-bottom: 60px;

                h3 {
                    font-size: 15px;
                    color: var(--sky);
                    margin-bottom: 15px;
                }

            }

            .wp-block-group:has(h3)::before {
                content: "";
                position: absolute;
                height: 40px;
                left: 0px;
                top: -40px;
                background-image: url(../images/interview_bg2_head.png);
                width: 100%;
                background-size: 100% 100%;
            }

            .wp-block-group:has(h3)::after {
                content: "";
                position: absolute;
                height: 40px;
                bottom: -40px;
                background-image: url(../images/interview_bg2_bottom.png);
                width: 100%;
                background-size: 100% 100%;
                left: 0;
            }

        }
    }
}

.single-interview {
    /* padding-bottom: 40px; */




    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }

    .eyecatch {
        padding: 0 10px;
    }

    .post-navigation {
        padding: 0 15px;

        .btn {
            a {
                width: 180px;
                height: 50px;
                font-size: 15px;
            }
        }

        .post-navigation-arrow {
            /* width: auto; */
            width: 100px;
            display: flex;
            gap: 10px;

            img {
                width: 30px;
                height: 30px;
            }
        }

        .btn+.post-navigation-arrow {
            justify-content: flex-end;
        }
    }
}

/* インタビュー内目次 */
#toc_container {
    background: #f7f7fa;
    border: 1px solid #f49fee;
    padding: 20px;
    margin-bottom: 5em;
    width: auto;
    display: table;
    font-size: 95%
}
#toc_container p.toc_title {
    color: #f49fee;
    text-align: center;
    font-weight: 700;
    margin: 0;
    padding: 0;
    margin-bottom: 1em;
}
#toc_container p.toc_title a {
    font-weight: normal;
}
#toc_container .toc_list li {
    margin-bottom: 0.3em;
    border-bottom: 1px solid #f49fee;


}
#toc_container .toc_list .toc_number{
    margin-right: 10px;
    color: #878989;
}

/* -------------------------------
イベントカレンダー
------------------------------- */
.event-calendar {
    padding-top: 10px;
    padding-bottom: 50px;

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }
 /*   h2.n>span:last-child {
        margin-top: -37px;
        font-size: 25px;
    } */

    .sortsetting {
        .title {
            background-color: var(--sky);
            color: white;
            display: inline-block;
            font-size: 15px;
            line-height: 1;
            padding: 2px 20px 3px;
            margin-bottom: 20px;
        }

        .talent_app_btn_wrap {
            display: flex;
            gap: 6px;

            a {
                display: flex;
                border: 1px solid var(--sky);
                border-radius: 20px;
                color: var(--sky);
                padding: 3px 10px 3px;
                font-size: 13px;
                min-width: 62px;
                line-height: 1;
                justify-content: center;
            }

            a.active {
                background-color: var(--sky);
                color: white;
            }
        }
    }

    .sec1 {
        padding: 0 12px;
    }

    .noresult {
        text-align: center;
        width: 100%;
        font-size: 16px;
    }

    .linktopast .btn {
        padding-bottom: 10px;
        a {
            height: 33px;
            max-width: 191px;
            width: 88%;
            font-size: 11px;
            margin: 0 0 0 auto;
            padding: 9px 10px 11px;
        }
        a::after {
            width: 15px;
            right: 10px;
            /* background-position: 90% 57%; */
            top: 15px;
        }
    }
}









/* -------------------------------
デビューカレンダー
------------------------------- */

.debut-calendar {
    padding-bottom: 20px;

    h2.n {
        margin-top: 20px;
        margin-bottom: 35px;
    }

 /*   h2.n>span:last-child {
        font-size: 24px;
    } */

    .sec1 {
        padding: 0 12px;
    }
}



.month-group_slick, .month-group_slick2 {
    margin-bottom: 40px;

    .month-group_box {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        color: #ababab;
        justify-content: center;

        .year {
            font-size: 13px;
            line-height: 1;
        }

        .month {
            font-size: 21px;
            font-weight: bold;
            line-height: 1;

            span {
                font-size: 30px;
            }
        }
    }

    .month-group_box.slick-current {
        color: #000;
        display: flex;
        justify-content: center;

        .year {
            font-size: 13px;
            line-height: 1;
        }

        .month {
            font-size: 21px;
            font-weight: bold;
            line-height: 1;

            span {
                font-size: 48px;
            }
        }
    }

    .slick-list {
        padding: 0 !important;
    }

    .slick-track {
        display: flex;
        align-items: flex-end;
        min-height: 61px;
    }

    .slide-arrow {
        width: 17px;
        height: 32px;
        background-size: cover;
        background-repeat: no-repeat;
        position: absolute;
        z-index: 200;
    }

    .prev-arrow {
        background-image: url(../images/arrow_left.png);
        bottom: 10px;
        left: 0;
    }

    .next-arrow {
        background-image: url(../images/arrow_right.png);
        right: 0;
        bottom: 10px;
    }
}

.month-group_slick2 {
    margin-top: 35px;
}



/* -------------------------------
オーディション
------------------------------- */
.audition {
    .breadcrumb {
        margin-bottom: 20px;
    }

    h2.h {
        margin-top: 20px;
        margin-bottom: 35px;
    }

 /*   h2.n>span:last-child {
        margin-top: -32px;
        font-size: 24px;
    } */

    h2+.tac {
        text-align: center;
        margin-bottom: 36px;
    }

    .sec1 {
        .text {
            padding: 0 17px;
            line-height: 1.8;
        }

        .btn {
            margin-top: 33px;
            margin-bottom: 20px;

            a {
                height: 60px;
            }
        }

        .f_wrap {
            display: flex;
            align-items: center;
            font-size: 18px;
            font-weight: bold;
            justify-content: space-around;
            margin-right: 25px;

            img {
                width: 83px;
            }
        }
        @media screen and (max-width: 450px) {
            .f_wrap {
                font-size: 16px;
                margin-right: 0px;
            }
        }
    }

    .sec2 {
        padding: 0;
        padding-top: 23px;


        .secbody {
            background-color: white;
            position: relative;
            padding: 31px 11px 5px;
            margin-top: -1px;

            .head {
                text-align: center;
                margin-bottom: 54px;

                h3 {
                    font-family: "Zen Maru Gothic", serif;
                    font-size: 24px;
                    font-weight: bold;
                    margin-bottom: 17px;
                }

                h3+div {
                    background-color: var(--pinklight);
                    color: white;
                    font-size: 15px;
                    display: inline-block;
                    line-height: 1;
                    padding: 2px 6px 4px;
                }
            }

            .flow>div {
                position: relative;
                background-color: #edf7f9;
                padding: 42px 25px 42px;
                line-height: 2;
                margin-bottom: 61px;

                .num {
                    position: absolute;
                    top: -11px;
                    left: 23px;
                    width: 21px;
                }

                .arrow {
                    position: absolute;
                    bottom: -50px;
                    left: 43%;
                    width: 49px;
                }
            }

            .flow>div:nth-child(2) {
                background-color: #fcf0f7;

                .num {
                    width: 27px;
                }
            }

            .flow>div:nth-child(3) {
                .num {
                    width: 27px;
                }
            }
        }

        .secbody::before {
            content: "";
            position: absolute;
            top: -38px;
            background-image: url(../images/tab.png);
            width: 143px;
            height: 41px;
            background-size: contain;
            left: 0;
        }

        h2.n {
            text-align: left;
            background-color: var(--main);
            height: 64px;
        }

        h2.n>span:last-child {
            z-index: 100;
            position: relative;
            font-size: 16px;
            padding-left: 30px;
            margin-top: -34px;
        }
    }

    .sec3 {
        padding-top: 45px;
        padding-bottom: 50px;

        h2 {
            margin-bottom: 10px;
        }
    }

    .sec4 {
        h2 {
            margin-bottom: 20px;
        }
    }

    .btn_green {
        margin-top: 50px;

        a {
            background: linear-gradient(to right, #d0e55e, #5ac984);
        }

        a::after {
            display: none;
        }
    }

    .btn_black {
        margin-top: 30px;

        a {
            background: #3b3b3b;
        }

        a::after {
            display: none;
        }
    }

    .box1 {
        padding: 40px 20px 30px;
        a {
            color: blue;
            text-decoration: underline;
        }
    }


}








/* -------------------------------
ニュース
------------------------------- */

.news {

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }
   /*  h2.n>span:last-child {
       font-size: 24px;
        margin-top: -20px; 
    }*/

    .sortsetting {
        text-align: center;
        margin-top: 34px;
        margin-bottom: 30px;

        .title {
            background-color: var(--pink);
            color: white;
            display: inline-block;
            font-size: 15px;
            line-height: 1;
            padding: 2px 29px 3px;
            margin-bottom: 20px;
        }

        a {
            display: flex;
            border: 1px solid var(--pink);
            border-radius: 20px;
            color: var(--pink);
            padding: 2px 10px 3px;
            font-size: 13px;
            min-width: 65px;
            line-height: 1;
            justify-content: center;
        }

        a.active {
            background-color: var(--pink);
            color: white;
        }

        .talent_app_btn_wrap {
            display: flex;
            gap: 13px;
            flex-wrap: wrap;
            row-gap: 14px;
        }
    }
}



.newsbox_wrap {
    margin-left: -24px;
    margin-right: -24px;

    .newsbox {
        display: flex;
        min-height: 120px;
        background-color: white;

        .image {
            flex: 0 0 48%;
        }

        .post-info {
            padding: 16px 10px;


            .f_wrap {
                margin-bottom: 13px;
                display: flex;
                align-items: center;

                .taxonomy-item {
                    background-color: var(--pink);
                    color: white;
                    border-radius: 30px;
                    padding: 4px 12px;
                    font-size: 12px;
                    line-height: 1;
                }

                .date {
                    color: var(--gray);
                    font-size: 13px;
                    margin-left: 10px;
                }
            }

            .title {
                font-size: 14px;
            }
        }
    }
}





/* -------------------------------
ニュース詳細
------------------------------- */
.single-news {
    h2 {
        font-size: 20px;
        font-weight: normal;
        margin-bottom: 34px;
    }

    .post-meta {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 9px;

        .entry-cat {
            display: flex;
            gap: 5px;
            flex-wrap: wrap;
            row-gap: 5px;
            a {
                background-color: var(--pink);
                border-radius: 30px;
                color: white;
                padding: 2px 20px 4px;
                font-size: 13px;
                line-height: 1;
            }

        }

        .date {
            font-size: 13px;
            color: var(--gray);
            /* font-family: "Montserrat", sans-serif; */
            font-weight: 500;
        }
    }

    .post-thumbnail {
        margin-bottom: 30px;
    }

    section {
        padding: 0 20px;
    }

    .content {
        h2 {
            background-color: var(--pink);
            color: white;
            font-size: 18px;
            font-weight: bold;
            padding: 3px 10px;
            margin-bottom: 12px;
            margin-top: 18px;
        }

        h3 {
            border-bottom: 2px solid var(--pink);
            font-size: 16px;
            font-weight: bold;
            margin-bottom: 5px;
            margin-top: 18px;
        }
    }
}












/* -------------------------------
お問い合わせ
------------------------------- */


.contact {
    .sec1 {
        .box1 {
            padding: 30px 20px;
        }
    }
    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }
/*    h2.n>span:last-child {
        margin-top: -30px;
    } */
    h2+.tac {
        text-align: center;
        font-size: 16px;
        margin: 40px 0 35px;
    }

    h2+.tac39 {
        text-align: center;
        font-size: 18px;
        margin: 60px 0 35px;
        font-weight: bold;
    }



    .btn {
        margin-top: 60px;

    }
    .sec1 a {
        color: #00f;
        text-decoration: underline;
    }
}


.page-id-18 .container {
    background-color: #e6e6fa;
}


main.contact {
    padding-bottom: 50px;
}



.box1 {

    input[type=text], input[type=email], input[type=tel] {
        background-color: #ededed;
        padding: 13px;
        border-radius: 10px;
        width: 100%;
        font-family: 'Noto Sans JP';
    }
    input[type=text]::placeholder, input[type=email]::placeholder, input[type=tel]::placeholder {
        color: #a3a3a3;
    }

    textarea {
        background-color: #ededed;
        min-height: 200px;
        padding: 13px;
        width: 100%;
        border-radius: 10px;
    }
    textarea::placeholder {
        color: #a3a3a3;
    }

    .form_wrap {
        margin-bottom: 18px;
    }

    .form_label {
        margin-bottom: 10px;
        font-weight: bold;
    }

    .form_label p {
        display: flex;
        align-items: center;
    }

    .form_label span {
        background-color: #fa6f97;
        color: white;
        padding: 3px 10px;
        font-size: 10px;
        line-height: 1;
        margin-left: 15px;
        display: inline-block;
        border-radius: 3px;
    }

    .wpcf7-list-item {
        display: flex;
        margin: 0;
    }

    .wpcf7-list-item label {
        display: flex;
        flex: 0 0 100%;
        height: 20px;
        justify-content: flex-start;
        align-items: center;
        gap: 10px;
    }

    .wpcf7-form-control-wrap>span>span {
        margin-bottom: 6px;
    }

    .wpcf7-submit {
        background-color: #4ec9cc;
        color: white;
        border-radius: 60px;
        height: 60px;
        margin: 0 auto;
        display: flex;
        font-size: 15px;
        width: 70%;
        margin-top: 40px;
        display: flex;
        justify-content: center;
        text-align: center;
        -webkit-appearance: none;
        appearance: none;
        font-weight: normal;
        font-family: 'Noto Sans JP';
    }
    @media screen and (max-width: 450px) {
        .wpcf7-submit {
            width: 85%;
        }
    }

    .wpcf7-submit:hover {
        background-color: #fff;
        color: #000;
        border: 1px solid #4ec9cc;
    }
}


.contact-thanks a {
    height: 60px;
}
/* -------------------------------
よくある質問
------------------------------- */
.faq {
    padding-bottom: 50px;

    h2+.tac {
        text-align: center;
        font-size: 16px;
        line-height: 2;
        margin-bottom: 30px;
    }

/*    h2.n>span:last-child {
        margin-top: -21px;
        font-size: 24px;
    } */

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }

}

.faqbox {
    padding: 30px 18px!important;
    margin-bottom: 55px;

    .q {
        color: var(--sky);
        padding-bottom: 20px;
        border-bottom: 1px solid #ddd;
        margin-bottom: 5px;
        font-weight: bold;
        letter-spacing: 1px;
    }

    .a {
        line-height: 1.8;
    }
    a {
        text-decoration: underline;
    }
}

.faqbox::before {
    right: 5px;
}

.faqbox::after {
    left: 0px;
}

.faqbox:last-child {
    margin-bottom: 0;
}







/* -------------------------------
応援ガイドライン
------------------------------- */

.support {
    padding-bottom: 50px;

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }

/*    h2.n>span:last-child {
        margin-top: -34px;
    } */

    .sec1 {
        margin-top: 43px;
    }

    .sec1>div>div {
        margin-bottom: 28px;
    }

    .sec2 {

        padding: 39px 17px 10px;

        .support_mess {
            .body {
                background-image: url(../images/talent_body.png);
                padding: 21px 6px;
                font-size: 30px;
                font-family: "Zen Maru Gothic", serif;
                text-align: center;
                font-weight: bold;
                letter-spacing: 3px;
            }
        }

        .support_mess2 {
            padding: 0 27px;
            margin-top: 31px;

            h3 {
                font-family: "Zen Maru Gothic", serif;
                font-weight: bold;
                font-size: 20px;
                margin-bottom: 11px;
            }

            h3+div {
                font-size: 16px;
                line-height: 1.9;
                margin-bottom: 42px;
            }
        }

    }

}


/* -------------------------------
二次創作ガイドライン
------------------------------- */

.guidelines, .privacy {
    padding-bottom: 50px;

    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }
/*
    h2.n>span:last-child {
        margin-top: -33px;
    }
*/
    h3 {
        font-size: 14px;
        margin-bottom: 1px;
    }

    .sub {
        text-align: center;
        font-size: 17px;
        margin-bottom: 16px;
        margin-top: 20px;
    }

    section {
        padding: 0 41px;
        font-size: 14px;

        p {
            line-height: 1.8;
            margin-bottom: 10px;
        }
    }

    .sec1>div>div {
        margin-bottom: 20px;
    }
}


/* -------------------------------
プライバシーポリシー
------------------------------- */

.privacy {
    h2 {
        margin-top: 20px;
        margin-bottom: 35px;
    }
    ul {
        margin-bottom: 10px;
    }
}






/* -------------------------------
パートナー
------------------------------- */

main.partner {
    .top_title {
        margin-top: 36px;
        margin-bottom: 80px;
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        h2.n {
            .title {
                margin-top: -33px;
            }

            .title>span:first-child {
                margin-bottom: 10px;
                letter-spacing: 2px;
            }
            .title>span:last-child {
                /* margin-bottom: 14px; */
                letter-spacing: 0px;
                font-size: 39px;
            }
        }
    }

    h2.n {
    /*   .en {
            justify-content: flex-start;
        }*/

        .title>span:first-child {
            font-size: 24px;
        }

        .title>span:last-child {
            font-size: 38px;
            letter-spacing: 0px;
        }
    }

    .sec1 {
        padding-bottom: 15px;
        
        
        
        
        
        

        .head {
            margin-bottom: 11px;
            
            h3 {
                max-width: 320px;
                margin: 0 auto;
                text-align: center;
                font-size: 18px;
                letter-spacing: 1px;
            }
        }
        .btn {
            margin-top: 30px;
        }
        .btn a {
            height: 60px;
            width: 70%;
        }

        .text {
            letter-spacing: 1px;
            padding: 0 9px;
        }

        .text2 {
            text-align: center;
            font-family: "Zen Maru Gothic", serif;
            font-weight: 500;
            
            
            
            
            
            .header {
                background-color: #4DD0C8;
                color: white;
                padding: 5px 16px;
                border-radius: 6px;
                position: relative;
                display: inline-block;
                margin-bottom: 10px;
                font-size: 25px;
                font-weight: 500;
                width: 90%;
                letter-spacing: 2px;
            }

            .header:after {
                content: "";
                position: absolute;
                bottom: -15px;
                left: 50%;
                transform: translateX(-50%);
                border-width: 15px 15px 0;
                border-style: solid;
                border-color: #4DD0C8 transparent transparent;
            }

            .subtitle {
                font-size: 30px;
                font-weight: bold;
                margin: 9px 0 25px;
                display: flex;
                align-items: flex-end;
                justify-content: center;
                gap: 5px;
                line-height: 1;
                letter-spacing: 0;
            }

            .subtitle .large-digit {
                font-size: 160%;
                line-height: 1;
                margin-bottom: -3px;
            }

            .card {
                background-color: white;
                border-radius: 4px;
                padding: 20px;
                margin: 20px 0;
                /* box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); */
            }

            .section-title {
                color: #4DD0C8;
                font-size: 22px;
                font-weight: bold;
                margin-bottom: 6px;
                border-bottom: 2px dotted #4DD0C8;
                display: inline-block;
                padding-bottom: 8px;
                line-height: 1;
                padding-right: 10px;
                padding-left: 10px;
            }

            .checklist {
                text-align: left;
                max-width: 100%;
                margin: 0 auto;
            }

            .checklist-item {
                margin: 7px 0 0px;
                font-size: 20px;
                font-weight: 700;
                display: flex;
                align-items: flex-start;
                font-family: "Zen Kaku Gothic New", sans-serif;
            }

            .check-icon {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 16px;
                height: 16px;
                /* background-color: #4DD0C8; */
                /* border-radius: 50%; */
                margin-right: 10px;
                flex-shrink: 0;
                background-image: url(../images/icon_check.png);
                background-size: 16px;
                margin-top: 10px;
            }

            .conclusion {
                font-size: 27px;
                font-weight: bold;
                margin: 30px 0 10px;
            }

            .benefit {
                margin: 9px 0 30px;
                font-size: 18px;
                font-weight: 700;
            }

            .highlight {
                font-weight: bold;
                font-size: 21px;
            }

            .highlight-full {
                color: #FF8C42;
                font-weight: bold;
            }

            .highlight .large-text {
                font-size: 120%;
            }
        }



        .partner_img1 {
            margin-top: 80px;
            margin-bottom: 68px;
        }

        .partner_img2 {
            margin-top: 30px;
            padding: 0 13px;
            margin-bottom: 0px;
        }

        .partner_img3 {
            margin-top: 20px;
            margin-bottom: 44px;
        }

    }

    .sec4 {
        padding: 0 20px;

        h2.n {
            .title {
                margin-top: -31px;
            }

            .title>span:first-child {
                margin-bottom: 9px;
                letter-spacing: 0px;
            }

            .title>div:last-child {
                margin-bottom: 9px;
                letter-spacing: 0px;
                font-size: 29px;
                display: flex;
                justify-content: center;
                align-items: flex-end;
                line-height: 1;
                
                
                
                
                

                span {
                    font-size: 38px;
                }
            }
        }

        .meritlist {

            background-color: white;

            border-radius: 15px;

            position: relative;

            margin-top: 50px;

            padding: 30px 20px;

            position: relative;

            .charactor {
                position: absolute;
                top: -80px;
                right: 0;
                width: 100px;
            }

            .meritbox {

                position: relative;
                
                .merit_head {
                    border-bottom: 2px dotted #4EC9CC;

                    .num {
                        color: #F49FEE;
                        font-size: 22px;
                        font-family: "Zen Maru Gothic", serif;
                        font-weight: bold;
                    }

                    h3 {
                        font-size: 24px;
                        font-weight: normal;
                        line-height: 1.4;
                        margin-bottom: 5px;
                        font-family: "Zen Maru Gothic", serif;
                    }
                }

                .merit_body {
                    padding-top: 10px;
                    line-height: 1.6;
                    .merit_body_bold {
                        font-weight: bold;
                        margin-bottom: 5px;
                    }
                }
            }
            .meritbox:not(:last-child) {
                margin-bottom: 30px;
                padding-bottom: 50px;
            }

            .meritbox:not(:last-child)::after {
                content: "";
                position: absolute;
                background-image: url(../images/box1.png);
                width: 35px;
                height: 17px;
                background-size: cover;
                bottom: -6px;
                left: 45%;
            }
        }

        .meritlist::before {
            content: "";
            position: absolute;
            background-image: url(../images/box1.png);
            width: 37px;
            height: 19px;
            background-size: cover;
            top: -6px;
            left: 12px;
        }

        .meritlist::after {
            content: "";
            position: absolute;
            background-image: url(../images/box1.png);
            width: 40px;
            height: 20px;
            background-size: cover;
            bottom: -5px;
            right: 11px;
        }


    }

    .sec2 {
        padding: 0;
        padding-top: 35px;
        
        h3 {
            text-align: center;
            font-size: 24px;
            font-family: "Zen Maru Gothic", serif;
            margin-bottom: 50px;
            margin-top: 10px;
        }

        h2.n {
            margin-bottom: 32px;
            
            
            
            
            
            

            .title {
                margin-top: -31px;
            }
        }

        .flow {
            position: relative;

            .partner_img5 {
                position: absolute;
                bottom: -50px;
                right: -20px;
                z-index: 99;
                width: 135px;
            }
        }

        .flow>div {
            position: relative;
            background-color: #edf7f9;
            padding: 42px 25px 42px;
            line-height: 2;
            margin-bottom: 61px;

            .num {
                position: absolute;
                top: -22px;
                left: 23px;
                width: 21px;
            }

            .arrow {
                position: absolute;
                bottom: -50px;
                left: 43%;
                width: 49px;
            }
        }

        .flow>div:nth-child(3) {
            background-color: #fcf0f7;

            .num {
                width: 27px;
            }
        }

        .flow>div:nth-child(3) {
            .num {
                width: 27px;
            }
        }

        .secbody {
            background-color: white;
            position: relative;
            padding: 31px 11px 5px;
            margin-top: -1px;
        }

        .secbody::before {
            content: "";
            position: absolute;
            top: -38px;
            background-image: url(../images/tab.png);
            width: 143px;
            height: 41px;
            background-size: contain;
            left: 0;
        }
    }

    .sec3 {
        padding-top: 50px;
        
        h2.n {
            margin-bottom: 34px;
        }

/*        h2.n>span:first-child {
            justify-content: flex-start;
        }*/
        h2.n>span:last-child {
            margin-top: -36px;
        }
        h3 {
            font-size: 20px;
            font-family: "Zen Maru Gothic", serif;
            margin-bottom: 10px;
        }
        .btn_green {
            a {
                background: linear-gradient(to right, #d0e55e, #5ac984);
                width: 93%;
            }
        }

        .btn_black {
            margin-top: 30px;

            a {
                background: #3b3b3b;
                width: 93%;
            }
        }


        .faqbox {
            padding: 20px 15px 34px!important;
            margin-bottom: 31px;
            line-height: 1.6;
            
        
            .q {
                color: var(--sky);
                padding-bottom: 7px;
                border-bottom: 1px solid #ddd;
                margin-bottom: 8px;
                font-weight: bold;
                letter-spacing: 1px;
            }
        
            .a {
                line-height: 1.8;
            }
            a {
                text-decoration: underline;
            }
        }
    }

    .sec6 {
        padding-top: 60px;

        h2.n {
            margin-bottom: 30px;
        }

        h2.n>span:last-child {
            font-size: 24px;
            margin-top: -35px;
        }

        .box1 {
            padding: 40px 20px 30px;

            a {
                color: blue;
                text-decoration: underline;
            }
        }
    }

    .sec5 {
        padding: 60px 0 20px;




        h2.n {
            margin-bottom: 30px;

            .title {
                margin-top: -31px;
            }

            .title>span:last-child {
                font-size: 26px;
            }
        }

/*        h2.n>span:first-child {
            justify-content: flex-start;
        }
*/
        .sec5_body {
            padding: 0 30px;
            line-height: 1.7;

            .sec5_body_top {
                text-align: center;
                font-size: 16px;
                margin-bottom: 15px;

                span {
                    display: inline-block;
                    font-weight: bold;
                    background-image: linear-gradient(to top, #E2A0CD 30%, transparent 30%);
                }
            }

            .sec5_body_bottom {
                line-height: 1.6;
            }

            p {
                margin-bottom: 10px;
            }
        }

    }
}

@media screen and (min-width: 620px) {
    main.partner {
        padding-top: 0;
    }
}







/* -------------------------------
管理画面
------------------------------- */

.wp-admin .wp-block-group {
    border: 1px solid #000;
}




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

    /* -------------------------------
pc
------------------------------- */
    .mb {
        display: none;
    }

}



@media screen and (min-width: 620px) {
    .liver-list .content1 a img {
        height: 230px !important;
    }

    .top_liver-list a img {
        height: 424px !important;
    }
}

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

    /* -------------------------------
tb
------------------------------- */
    .mb {
        display: flex;
    }

    .pc {
        display: none;
    }

    .mainview {

        margin-bottom: 53px;
        height: 100vw;
    }

    .mainview .centertext img {
        max-height: 87vw;
    }

    .liver-list .content1 a img {
        width: 100%;
        object-fit: cover;
        height: 46vw;
    }

    .top_liver-list a img {
        height: 85vw;
    }

    /* main.liver {
        padding-top: 89px;
        padding-bottom: 59px;
    }

    main.privacy {
        padding-top: 10px;
        padding-bottom: 60px;
    } */


    .container_outer_wrap {
        flex-direction: column;
    }

    .content_roop .article.rank_a::before, .content_roop .article.rank_s::before {
        top: -33px;
    }


    .body_scrolled .sticky_btn {
        opacity: 1;
        transition: 0.6s;
        right: 0;
    }
    .sticky_btn {
        opacity: 0;
        position: fixed;
        bottom: 20px;
        display: flex;
        justify-content: flex-end;
        width: 100%;
        transition: 1s;
        right: -300px;
        a {
            display: block;
            width: 80%;
            max-width: 300px;
        }
    }

    .page-id-15 .sticky_btn , .page-id-18 .sticky_btn ,
    .page-id-21 .sticky_btn , .page-id-27 .sticky_btn ,.page-id-24 .sticky_btn {
        display: none;
    }


    main.single-news, main.audition, main.partner {
        padding-bottom: 50px;
    }

    main.partner {
        padding-top: 0;
    }

    main.news {
        padding-bottom: 50px;
    }



    

}

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

    /* -------------------------------
sp
------------------------------- */
    .mb {
        display: flex;
    }

    .pc {
        display: none;
    }


}


.bubbles_wrap {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    overflow: hidden;
    pointer-events: none
}

@-webkit-keyframes animateBubble {
    0% {
        margin-top: 20%
    }


    to {
        margin-top: -30%
    }

}

@-moz-keyframes animateBubble {
    0% {
        margin-top: 20%
    }

    to {
        margin-top: -30%
    }
}

@keyframes animateBubble {
    0% {
        margin-top: 20%
    }

    to {
        margin-top: -30%
    }
}

@-webkit-keyframes sideWays {
    0% {
        margin-left: 0
    }

    to {
        margin-left: 25px
    }
}

@-moz-keyframes sideWays {
    0% {
        margin-left: 0
    }

    to {
        margin-left: 25px
    }
}

@keyframes sideWays {
    0% {
        margin-left: 0
    }

    to {
        margin-left: 25px
    }
}

.x1 {
    -webkit-animation: animateBubble 15s linear infinite, sideWays 2s ease-in-out infinite alternate;
    animation: animateBubble 15s linear infinite, sideWays 2s ease-in-out infinite alternate;
    left: 6%;
    top: 45%;
    background: #ffb739
}

.x2 {
    -webkit-animation: animateBubble 10s linear infinite, sideWays 4s ease-in-out infinite alternate;
    animation: animateBubble 10s linear infinite, sideWays 4s ease-in-out infinite alternate;
    left: 5%;
    top: 80%;
    background: #fc4fdd
}

.x3 {
    -webkit-animation: animateBubble 18s linear infinite, sideWays 2s ease-in-out infinite alternate;
    animation: animateBubble 18s linear infinite, sideWays 2s ease-in-out infinite alternate;
    left: 10%;
    top: 40%;
    background: #5ed5cb
}

.x4 {
    -webkit-animation: animateBubble 12s linear infinite, sideWays 3s ease-in-out infinite alternate;
    animation: animateBubble 12s linear infinite, sideWays 3s ease-in-out infinite alternate;
    left: 20%;
    top: 0;
    background: #3de4a3
}

.x5 {
    -webkit-animation: animateBubble 19s linear infinite, sideWays 4s ease-in-out infinite alternate;
    animation: animateBubble 19s linear infinite, sideWays 4s ease-in-out infinite alternate;
    left: 30%;
    top: 50%;
    background: #fc4fb1
}

.x6 {
    -webkit-animation: animateBubble 11s linear infinite, sideWays 2s ease-in-out infinite alternate;
    animation: animateBubble 11s linear infinite, sideWays 2s ease-in-out infinite alternate;
    left: 50%;
    top: 0;
    background: #2c4aff
}

.x7 {
    -webkit-animation: animateBubble 10s linear infinite, sideWays 2s ease-in-out infinite alternate;
    animation: animateBubble 10s linear infinite, sideWays 2s ease-in-out infinite alternate;
    left: 65%;
    top: 70%;
    background: #ffb739
}

.x8 {
    -webkit-animation: animateBubble 12s linear infinite, sideWays 3s ease-in-out infinite alternate;
    animation: animateBubble 12s linear infinite, sideWays 3s ease-in-out infinite alternate;
    left: 80%;
    top: 10%;
    background: #8f3de4
}

.x9 {
    -webkit-animation: animateBubble 19s linear infinite, sideWays 4s ease-in-out infinite alternate;
    animation: animateBubble 19s linear infinite, sideWays 4s ease-in-out infinite alternate;
    left: 90%;
    top: 50%;
    background: #fff339
}

.x10 {
    -webkit-animation: animateBubble 16s linear infinite, sideWays 2s ease-in-out infinite alternate;
    animation: animateBubble 16s linear infinite, sideWays 2s ease-in-out infinite alternate;
    left: 80%;
    top: 80%;
    background: #fc4f4f
}

.bubble {
    /* border-radius: 50%; */
    box-shadow: none;
    height: 2px;
    position: absolute;
    width: 25px;
}


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



    .x1 {
        -webkit-animation: animateBubble 4s linear infinite, sideWays 2s ease-in-out infinite alternate;
        animation: animateBubble 4s linear infinite, sideWays 2s ease-in-out infinite alternate;
    }

    .x2 {
        -webkit-animation: animateBubble 5s linear infinite, sideWays 4s ease-in-out infinite alternate;
        animation: animateBubble 5s linear infinite, sideWays 4s ease-in-out infinite alternate;
    }

    .x3 {
        -webkit-animation: animateBubble 5s linear infinite, sideWays 2s ease-in-out infinite alternate;
        animation: animateBubble 5s linear infinite, sideWays 2s ease-in-out infinite alternate;
    }

    .x4 {
        -webkit-animation: animateBubble 4s linear infinite, sideWays 3s ease-in-out infinite alternate;
        animation: animateBubble 4s linear infinite, sideWays 3s ease-in-out infinite alternate;
    }

    .x5 {
        -webkit-animation: animateBubble 4s linear infinite, sideWays 4s ease-in-out infinite alternate;
        animation: animateBubble 4s linear infinite, sideWays 4s ease-in-out infinite alternate;
    }

    .x6 {
        -webkit-animation: animateBubble 4s linear infinite, sideWays 2s ease-in-out infinite alternate;
        animation: animateBubble 4s linear infinite, sideWays 2s ease-in-out infinite alternate;
    }

    .x7 {
        -webkit-animation: animateBubble 5s linear infinite, sideWays 2s ease-in-out infinite alternate;
        animation: animateBubble 5s linear infinite, sideWays 2s ease-in-out infinite alternate;
    }

    .x8 {
        -webkit-animation: animateBubble 4s linear infinite, sideWays 3s ease-in-out infinite alternate;
        animation: animateBubble 4s linear infinite, sideWays 3s ease-in-out infinite alternate;
    }

    .x9 {
        -webkit-animation: animateBubble 4s linear infinite, sideWays 4s ease-in-out infinite alternate;
        animation: animateBubble 4s linear infinite, sideWays 4s ease-in-out infinite alternate;
    }

    .x10 {
        -webkit-animation: animateBubble 5s linear infinite, sideWays 2s ease-in-out infinite alternate;
        animation: animateBubble 5s linear infinite, sideWays 2s ease-in-out infinite alternate;
    }


}



/* -------------------------------
20250605
------------------------------- */


.front {
    .sec8 {
        z-index: 99;
        background-color: #E6E6FA;
        position: relative;
        padding: 0;
       /* padding-top: 60px; */
        h2.n>span:last-child {
            font-size: 30px;
        }
        .platformtitle {
            display: flex;
            justify-content: center;
            margin-top: 40px;
            margin-bottom: 10px;
            span {
                background-color: white;
                color: #A5A5A5;
                font-family: "Zen Maru Gothic", serif;
                font-weight: bold;
                font-size: 24px;
                line-height: 1;
                padding: 2px 25px 5px;
            }
            
        }
        .secbody {
            margin-top: 30px;
            
            
            
            
            
            .content_roop {
                .article {
                    position: relative;
                }
                .article::after {
                    content: "";
                    position: absolute;
                    width: 60px;
                    height: 44px;
                    top: -5px;
                    left: 0px;
                    background-size: contain;
                    z-index: 999;  
                    background-repeat: no-repeat;
                }
                .article.cnt1::after {
                    background-image: url(../images/rank1.png);
                }
                .article.cnt2::after {
                    width: 50px;
                    height: 37px;
                    background-image: url(../images/rank2.png);
                }
                .article.cnt3::after {
                    width: 50px;
                    height: 37px;
                    background-image: url(../images/rank3.png);
                }
                .article.cnt4::after {
                    top: 15px;
                    left: 15px;
                    width: 50px;
                    height: 37px;
                    background-image: url(../images/rank4.png);
                }
                .article.cnt5::after {
                    top: 15px;
                    left: 15px;
                    width: 50px;
                    height: 37px;
                    background-image: url(../images/rank5.png);
                }

            }
        }

        .ranking_tab_wrap {
            display: flex;
            gap: 5px;
            .ranking_tab_btn {
                background-color: #D0D0E9;
                height: 35px;
                min-width: 162px;
                display: flex;
                justify-content: center;
                align-items: center;
                border-top-left-radius: 10px;
                border-top-right-radius: 10px;
                font-family: "Zen Maru Gothic", serif;
                font-weight: bold;
                font-size: 16px;
                
            }
            .ranking_tab_btn {
                cursor: pointer;
            }
            .ranking_tab_btn.active {
                background-color: white;
            }
            .ranking_tab_btn[data-tab="veteran"] span {
                color: #77CDFA;
                margin-right: 3px;
            }
            .ranking_tab_btn[data-tab="newcomer"] span {
                color: #F49FEE;
                margin-right: 3px;
            }
        }
        .ranking_tab_content {
            display: none;
            background-color: white;
            margin-top: 0;
            padding-top: 30px;
            padding-right: 14px;
            padding-left: 14px;
            padding-bottom: 30px;
            
            
            
            
            
            
            
            .cnt1 {
                position: relative;
                /* width: calc(100% + 20px); */
                /* margin-right: -10px; */
                /* width: 120%; */
                flex-basis: calc(100% + 10px);
            }
            .cnt1::after {
                position: absolute;
                content: "";
                width: 30px;
                height: 20px;
                background-image: url(../images/tab.png);;
            }
            .cnt2 .image,.cnt4 .image {
                background-color: #edf7f9;
            }
            .cnt3 .image,.cnt5 .image {
                background-color: #fcf0f7;
            }
        }
        .ranking_tab_content.active {
            display: flex;
        } 

        .btn {
            margin-top: 45px;
            padding-bottom: 20px;
            a {
                height: 60px;
            }
        }

        .fes_rank_wrap {
            margin-bottom: 20px;
            .fesarticle {
                /* background:linear-gradient(to bottom, rgba(255,255,255,0), #F5F5FFff); */
                position: relative;
                /* background-color: #F5F5FF; */
                /* padding: 10px; */
                padding-top: 10px;
                margin: 5px;
                .frame {
                    position: absolute;
                    top: 0;
                    display: block;
                    box-sizing: border-box;
                    right: 10px;
                    left: 10px;
                    img {
                        
                    }
                }
                .ranking_img {
                    padding: 13px 6px 10px 6px;
                    margin-bottom: 10px;
                    /* margin-bottom: 0; */
                    max-height: 210px;
                    overflow: hidden;
                }
                .talent_data {
                    font-size: 14px;
                    font-weight: bold;
                    margin-top: -5px;
                    .talent_name {
                        font-size: 15px;
                        margin-bottom: 3px;
                    }
                }
                .category {
                    display: flex;
                    align-items: center;
                    li {
                        display: inline-block;
                        /* background-color: #464646; */
                        /* color: white; */
                        margin-right: 7px;
                        padding: 3px 8px 5px;
                        line-height: 1;
                        font-size: 10px;
                        font-weight: bold;
                    }
                    .d_talent_app {
                        color: var(--sky);
                        font-size: 14px;
                        border: 1px solid var(--sky);
                        padding: 2px 10px 3px;
                        font-weight: normal;
                        background-color: white;
                    }
                    li.d_talent_class {
                        background-color: var(--pinklight);
                        border: 1px solid var(--pinklight);
                        color: white;
                        font-size: 14px;
                        padding: 2px 10px 3px;
                        font-weight: normal;
                    }
                }
            }
            .fesarticle_inner {
                background-color: #F5F5FF;
                /* top: 20px; */
                padding: 10px;
            }
        }

        .rankingtype_title {
            width: 77%;
            margin: 40px auto 0px;
        }

        .slick-dots .slick-active button {
            background: var(--sky);
        }

    }
}

.benefits{
    h2.n.h {
        margin-top: 20px;
        margin-bottom: 35px;
        span:last-child {
            display: block;
            margin-top: -25px;
        }
    }
    .sec1_text {
        font-size: 16px;
        line-height: 1.9;
        span {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 10px;
            display: block;
            letter-spacing: 1px;
        }
    }
    .sec1 {
        padding-bottom: 50px;
        .benefit-section {

        }
    }
    .benefits_wrap {
        margin-top: 40px;
        .benefit-section {
            position: relative;
            background-color: white;
            border-radius: 20px;
            padding-bottom: 35px;
            margin-bottom: 30px;
            
            
            
            
            
            
            .benefit-header {
                display: flex;
                justify-content: flex-start;
                align-items: center;
                position: relative;
                padding: 10px 10px 7px 10px;
                gap: 10px;
                .benefit-badge {
                    img {
                        max-width: 60px;
                    }
                }
                .benefit-title {
                    font-size: 16px;
                    color: #7DDADD;
                    font-weight: bold;
                }
                .benefit-character {
                    position: absolute;
                    right: 10px;
                    top: -10px;
                    img {
                        max-width: 80px;
                        max-height: 90px;
                    }
                }
            }
            .benefit-description {
                padding: 0px 20px;
                line-height: 1.8;
                letter-spacing: 1px;
            }
            .benefit-description > div {
                border-top: 1px solid #aaa;
                padding: 5px 2px;
                .fss {
                    font-size: 12px;
                    margin-top: 5px;
                }
            }
        }
        .benefit-section::after {
            content: "";
            position: absolute;
            background-image: url(../images/box1.png);
            width: 40px;
            height: 20px;
            background-size: cover;
            bottom: -5px;
            left: 0px;
        }
    }

    .btn {
        margin-top: 60px;
        margin-bottom: 80px;
        a {
            height: 60px;
        }
    }
    
}


.fanart {
    padding-bottom: 50px;
    .headertext {
        margin-top: 10px;
        margin-bottom: 30px;
    }
    h2.n {
        margin-bottom: 20px;
        span:last-child {
            margin-top: -25px;
        }
    }
    .sec1 {
        text-align: center;
        margin-bottom: 35px;
        img {
            width: 92%;
            margin-left: 15px;
        }
        .text {
            font-size: 18px;
            font-weight: bold;
            margin-top: 20px;
            margin-bottom: 20px;
        }
        .btn {
            margin-bottom: 10px;
            a {
                height: 60px;
            }
        }
    }
    .sec2 {
        padding: 0 15px;
        .fanart-gallery {
            display: flex;
            padding: 0;
            margin: 0 auto;
            justify-content: space-between;
            flex-wrap: wrap;
            row-gap: 20px;
        }
        .fanart-item {
            flex: 0 0 47%;
            background: #fff;
            border-radius: 2px;
            /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); */
            overflow: hidden;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            padding: 10px 10px 7px;
            
            
            
            
            
            
            
            
            
            
            
            
            .fanart-image {
                position: relative;
                width: 100%;
                /* aspect-ratio: 1; */
                height: 250px;
                overflow: hidden;
                img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                    display: block;
                }
            }
            .fanart-nickname {
                padding: 5px 0;
                border-bottom: 1px solid #F49FEE;
                font-weight: bold;
                span {
                    color: #161616;
                    font-size: 14px;
                    font-weight: 700;
                    text-align: center;
                    display: block;
                    line-height: 1.3;
                }
            }
            .fanart-text {
                font-size: 12px;
                text-align: center;
                margin-top: 5px;
                line-height: 1.5;
            }
        }
        .fanart-item:hover {
            /* transform: translateY(-2px); */
            /* box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); */
        }
    }

    
}



    .fanart-modal {
        display: none;
        position: fixed;
        z-index: 1000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        animation: fadeIn 0.3s ease;
        padding: 50px 10px 10px;
    }

    .fanart-modal.show {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .fanart-modal-content {
        position: relative;
        background: white;
        /* border-radius: 12px; */
        width: 100%;
        max-width: 480px;
        /* max-height: 90vh; */
        overflow: hidden;
        animation: slideIn 0.3s ease;
        /* padding: 20px 10px 10px; */
        /* background-color: rgba(0, 0, 0, 0.5); */
        /* padding: 50px 10px 10px; */
    }

    .fanart-modal-image {
        width: 100%;
        height: auto;
        display: block;
        background-color: white;
        max-height: 88vh;
        object-fit: contain;
    }

    .fanart-modal-info {
        padding: 20px;
        background: #f8f9fa;
        border-top: 1px solid #e9ecef;
        display: none;
    }

    .fanart-modal-nickname {
        font-size: 16px;
        font-weight: 500;
        color: #666;
        margin: 0;
    }

    .fanart-modal-close {
        position: absolute;
        top: 5px;
        right: 5px;
        /* background: rgba(0, 0, 0, 0.7); */
        color: black;
        border: none;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        font-size: 28px;
        font-weight: bold;
        cursor: pointer;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;

    }





    .post-type-archive-talent {
        .sec1 {
            .article {
                .raynel_icon {
                    position: absolute;
                    top: 5px;
                    left: 5px;
                    width: 50px;
                    border-radius: 5px;
                    background-color: rgb(255 255 255 / 60%);
                   /* padding-right: 6px; 9*/
                    padding-bottom: 6px;
                    z-index: 999;
                    box-shadow: 0 0 5px #aaa;
                }
            }
        }
    }



@media screen and (min-width: 768px) and (max-width: 821px) {
    .front {
        .main_inner {
        .sec8 {
            .fes_rank_wrap {
                .fesarticle {
                    .ranking_img {
                        max-height: 44vw;
                        margin-top: 5vw;
                    }
                }
            }
        }
    }
    }
}
@media screen and (max-width: 768px) {
    
    .front {
        .sec8 {
            .fes_rank_wrap {
                .fesarticle {
                    .ranking_img {
                        max-height: 42vw;
                    }
                }
            }
        }
    }
    .fanart {
        .sec2 {
            .fanart-item {
                .fanart-image {
                    height: 200px;
                }
            }
        }

    }


    .fanart-modal-content {
        width: 100vw;
        /* max-height: 95vh; */
    }
    
    .fanart-modal-info {
        padding: 15px;
    }
    
    .fanart-modal-close {
        top: 1vh;
        right: 5px;
        width: 40px;
        height: 40px;
        font-size: 28px;
    }
}