@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

*{
    box-sizing: border-box;
    line-height: inherit;
    font-weight: inherit;
}
html,body,div,h1,h2,h3,h4,h5,h6,ul,ol,li,p,dl,dt,dd{
    padding: 0;
    margin: 0;
    font-weight: 400;
    font-size: inherit;
}
html{
    font-size: 10px;
    line-height: 1.5;
    font-weight: 400;
}
ol,ul{
    list-style: none;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
a{
    opacity: 1;
    transition: all .2s ease-out;
    color: inherit;
    text-decoration: none;
}
a:hover{
    opacity: .6;
}
strong {
    font-weight: 700;
}

body{
    color: #000;
    overflow-x: hidden;
    font-family: "Zen Old Mincho", serif;
}

.flex{
    display: flex;
    flex-wrap: wrap;
}
.gothic{
    font-family: "Zen Kaku Gothic New", sans-serif !important;
}
.sp{
    display: none !important;
}

.btn{
    display: inline-block;
    height: 4rem;
    line-height: 4rem;
    min-width: 12rem;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    padding: 0 4rem;
    background: #877C29;
}
.btn.gold{
    background: #877C29;
}
nav .btn{
    border-radius: 2rem;
    background: #B3B3B3;
}
a.link_btn{
    display: block;
    width: 18.5rem;
    text-align: right;
    margin-left: auto;
    padding-right: 5.1rem;
    cursor: pointer;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .1em;
    background: url(images/icon_link.svg) right top 0.85rem / 4.3rem auto no-repeat;
}
.ttl{
    font-size: 2.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    text-align: center;
    margin: 0 0 7rem;
}
.ttl p{
    display: inline-block;
    padding: 0 .5rem .7rem;
    border-bottom: 3px solid #000;
}
.ttl.white p{
    border-bottom: 3px solid #fff;
}
.ttl.light{
    margin: 0 0 4rem;
}
.ttl.light p{
    border-bottom-width: 2px;
}
.blc{
    padding: 8rem 0;
}
.bg_red{
    background: #89314D;
    color: #fff;
}
.container{
    max-width: 96rem;
    width: 90%;
    margin: 0 auto;
}
.fw_m{font-weight: 500;}
.fw_b{font-weight: 700;}
.fs_s{font-size: 1.2rem}
.fs_m{font-size: 1.8rem}
.fs_l{font-size: 2.4rem}
.fc_red{color: #89314D;}
.fc_gold{color: #877C29;}


#wrapper{
    position: relative;
}
header{
}
header .header_wrap{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 12rem;
    z-index: 9000;
    display: flex;
    gap: 0 5rem;
    align-items: center;
    padding: 2rem 3rem;
    transition: background .3s linear, top .3s ease-in;
}
.scrollBody header .header_wrap{
    top: -120px;
}
.scroll-no header .header_wrap{
    top: 0px;
}
header.fixed .header_wrap{
    position: fixed;
    background: rgba(255,255,255,0.6);
}
header .header_wrap .logo{
    position: relative;
    z-index: 10000;
}
footer h2,
header .header_wrap h1{
    text-indent: -9999px;
    width: 17.4rem;
    height: 8rem;
    transition: background .3s linear;
    background: url(images/logo_g.svg) center / contain no-repeat;
}
footer h2{
    background: url(images/logo_b.svg) center / contain no-repeat;
    margin: 0 auto 5rem;
}
header.fixed .header_wrap h1,
body.nav_open header .header_wrap h1{
    background: url(images/logo.svg) center / contain no-repeat;
}
header .header_wrap .lang{
    margin-left: auto;
    position: relative;
    z-index: 9000;
}
header .header_wrap .lang .lang_wrap{
    color: #fff;
    font-size: 1.6rem;
    flex-wrap: nowrap;
    align-items: center;
    transition: color .3s linear;
}
header.fixed .header_wrap .lang .lang_wrap{
    color: #000;
}
header .header_wrap .lang .icon{
    margin-right: .7rem;
}
header .header_wrap .lang .icon i{
    vertical-align: -.35rem;
    display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
    transition: background .3s linear;
    background: url(images/icon_lang_w.svg) center / contain no-repeat;
}
header.fixed .header_wrap .lang .icon i{
    background: url(images/icon_lang_b.svg) center / contain no-repeat;
}
header .header_wrap .lang .separator{
    margin: 0 .3rem;
}
header .header_wrap .lang span{
    font-weight: 500;
    cursor: pointer;
}
header .header_wrap .lang span.active{
    cursor: default;
    pointer-events: none;
    font-weight: 900;
    color: #877C29;
}
header .header_wrap .menu{
    width: 6.8rem;
    position: relative;
    z-index: 10000;
}
#menu_btn{
    position: relative;
    width: 6.8rem;
    height: 3.4rem;
    cursor: pointer;
}
#menu_btn > span{
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    opacity: 1;
    transition: all .3s linear;
}
#menu_btn > span:nth-of-type(1){
    top: 0.1rem;
}
#menu_btn > span:nth-of-type(2){
    top: 1.65rem;
}
#menu_btn > span:nth-of-type(3){
    top: 3.3rem;;
}
body.nav_open{
    overflow: hidden;
    height: 100vh;
}
body.nav_open .contents{
    pointer-events: none;
}
header.fixed #menu_btn > span,
body.nav_open #menu_btn > span{
    background: #000;
}
body.nav_open #menu_btn > span:nth-of-type(1){
    top: 1.6rem;
    transform: rotate(30deg);
}
body.nav_open #menu_btn > span:nth-of-type(2){
    opacity: 0;
}
body.nav_open #menu_btn > span:nth-of-type(3){
    top: 1.4rem;;
    transform: rotate(-30deg);
}
nav{
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease-out;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9500;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(222, 219, 219, 1));
}
nav:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url(images/bg.png) top left / 10rem auto repeat;
    z-index: -1;
    mix-blend-mode: multiply;
}
body.nav_open nav{
    opacity: 1;
    pointer-events: auto;
    transition: opacity .3s ease-in;
}
.footer_menu .nav_wrap,
nav .nav_wrap{
    justify-content: center;
    gap: 3rem 6rem;
}
nav .nav_wrap{
    padding-top: 14rem;
}
.footer_menu .nav_wrap > *,
nav .nav_wrap > *{
    width: 21.5rem;
}
.footer_menu .nav_wrap .nav_blc + .nav_blc,
nav .nav_blc + .nav_blc{
    margin-top: 3rem;
}
.footer_menu .nav_wrap dt,
nav .nav_wrap dt{
    font-size: 2rem;
    letter-spacing: 0.05em;
}
.footer_menu .nav_wrap dd,
nav .nav_wrap dd{
    margin-top: 1.5rem;
    font-size: 1.2rem;
}
.footer_menu .nav_wrap li,
nav .nav_wrap li{
    padding-left: 3rem;
    position: relative;
    font-size: 1.4rem;
}
.footer_menu .nav_wrap li:before,
nav .nav_wrap li:before{
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 2.5rem;
    height: 1px;
    background: #000;
}
.footer_menu .nav_wrap li + li,
nav .nav_wrap li + li{
    margin-top: 1rem;
}
nav .member{
    margin: 3rem auto 0;
    width: 75%;
    max-width: 75rem;
} 
footer{
    background: #F2F2F2;
    padding: 6rem 0 6.5rem;
}
.footer_menu .nav_box .member{
    display: none;
} 
.footer_menu{
    justify-content: center;
} 
.footer_menu .left_blc{
    padding: 0 5.5rem 0 0;
} 
.footer_menu .right_blc{
    width: 30rem;
    border-left: 1px solid #fff;
    padding: 0 0 4.25rem 4.25rem;
    font-size: 1.2rem;
    line-height: 2.2;

} 
footer .copyrights{
    text-align: center;
    margin-top: 7.7rem;
}

@media screen and (max-width: 780px){
    header .header_wrap{
        padding: 1rem 2rem;
        height: 8rem;
        gap: 0 2rem;
    }
    header .header_wrap h1{
        width: 13rem;
        height: 6rem;
    }
    header .header_wrap .menu{
        width: 3.9rem;
    }
    #menu_btn{
        width: 3.9rem;
        height: 3.4rem;
    }
    body.nav_open #menu_btn > span:nth-of-type(1) {
        top: 1.6rem;
        transform: rotate(45deg);
    }
    body.nav_open #menu_btn > span:nth-of-type(3) {
        top: 1.6rem;
        transform: rotate(-45deg);
    }
    nav .nav_box{
        height: calc(100vh - 12.5rem);
        overflow-y: auto;
        margin: 12.5rem 0 0;
        padding: 0 0 7rem;
    }
    nav .nav_wrap{
        padding: 0;
    }
    .footer_menu .nav_wrap > *,
    nav .nav_wrap > *{
        width: 75%;
    }
    .footer_menu .left_blc{
        padding: 0;
    }
    .footer_menu .right_blc{
        width: 75%;
        margin: 3rem auto 0;
        padding: 3rem 0 0;
        border-left: none;
        border-top: .1rem solid #fff;
    }
}


.contents{
    background: url(images/bg.png) top left / 10rem auto repeat;
}


/* breadcrumb */
.breadcrumb{
    margin-top: 2rem;
    font-size: 1.2rem;
}
.breadcrumb li + li:before{
    content: "＞";
    display: inline-block;
    font-size: 1rem;
    vertical-align: .1rem;
    margin: 0 1em;
}


/* pager */
.pager{
    padding-bottom: 8rem;
}
.pager ul{
    justify-content: center;
    gap: 0 1em;
    font-size: 1.8rem;
}
.pager ul .active,
.pager ul .current{
    font-weight: 700;
}


/* tab */
.tab{
   margin-bottom: 7rem;
}
.tab ul{
    justify-content: center;
    gap: 2rem;
    font-size: 1.4rem;
}
.tab ul li{
    width: calc( ( 100% - 4rem ) / 3 );
}
.tab ul li a{
    display: block;
    width: 100%;
    text-align: center;
    color: #89314D;
    background: #fff;
    border: 1px solid #89314D;
    padding: 1rem;
    transition: all .3s ease-in;
    font-size: 1.4rem;
}
.tab ul li.active a,
.tab ul li:hover a{
    background: #89314D;
    color: #fff;
}


/* side menu */
.left_menu{
    gap: 5rem;
}
.left_menu .side_menu{
    width: 24rem;
}
.left_menu .main{
    width: calc( 100% - 29rem );
}
.left_menu:not(:has(.side_menu)) .main{
    width: 100%;
}
.left_menu .side_menu ul{
    gap: 1rem 2rem;
}
.left_menu .side_menu li{
    width: 100%;
}
.left_menu .side_menu a{
    display: block;
    width: 100%;
    padding: 1.75rem;
    text-align: center;
    color: #000;
    background: #DEDEDE;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .01em;
}
.left_menu .side_menu li.active a{
    background: #877C29;
    color: #fff;
}


/* top */
.contents.top{
    min-height: 200rem;
}
.contents .main_visual img{
    width: 100%;
    height: 42rem;
    object-fit: cover;
}
.contents.top .main_visual img{
    height: 63rem;
}
.top .news{
}
.top .news .newest{
    margin: 0 auto 6.5rem;
    gap: 3rem 6rem;
}
.top .news .newest_list{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem;
}
.top .news .newest_list > *{
    width: calc( (100% - 8rem) / 3);
}
.top .news .newest a,
.top .news .newest .img{
    display:  block;
}
.top .news .newest .img img{
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    object-position: center;
}
.top .news .newest .txt{
    width: 100%;
    margin-top: 2rem;
    position: relative;
    padding-bottom: 3rem;
}
.top .news .newest .category{
    margin-bottom: 2rem;
}
.top .news .newest .category span{
    display: block;
    padding: 0.7rem 2rem;
    min-width: 24rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .1em;
    color: #fff;
    background: #877C29;
}
.top .news .newest h4{
    margin-bottom: 2rem;
}
.top .news .newest h4 p{
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .05em;
    /*
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    */
}
.top .news .newest .ex{
    font-size: 1.8rem;
    line-height: 1.5;
    padding-bottom: 4rem;
    height: 4.5em;
    overflow: hidden;
    position: relative;
    margin-bottom: 3rem;
    mask-image: linear-gradient(rgba(0, 0, 0, 1), transparent);
}
.top .news .newest .link{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}
.top .news .newsList .slick-slide{
    margin: 0 1.5rem;
    background: #877C29;
}
.top .news .newsList .news_box{
    display: block;
    padding: 3rem;
}
.top .news .newsList .news_box .img{
    margin: 0 0 2rem;
}
.top .news .newsList .news_box .img img{
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    object-position: top;
    background: #fff;
}
.top .news .newsList .news_box .category{
    background: #fff;
    color: #000;
    padding: .7rem 1rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 2rem;
}
.top .news .newsList .news_box .txt p{
    color: #fff;
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 6rem;
}
.top .news .newsList .slick-dots{
    bottom: -5.5rem;
}
.top .news .newsList .slick-dots li button:before{
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background: #fff;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2) inset;
    opacity: 1;
}
.top .news .newsList .slick-dots li.slick-active button:before{
    background: #877C29;
    opacity: 1;
    box-shadow: none;
}
.top .news .more{
    width: 90%;
    max-width: 96rem;
    margin: 7.5rem auto 0;
}
.top .history_list{
    position: relative;
}
.history_wrap{
    position: relative;
    height: 33.5rem;
    overflow: hidden;
    transition: all .3s ease-out;
}
.history_wrap.open{
    padding-bottom: 5rem;
}
.history_wrap:after{
    content: "";
    display: block;
    position: absolute;
    z-index: 500;
    left: 0;
    right: 0;
    bottom: 0;
    height: 15rem;
    background: linear-gradient(180deg, rgba(137,49,77,0) 0%, rgba(137,49,77,1) 80%);
    opacity:1;
    transition: opacity .3s ease-out;
}
.history_wrap.open:after{
    opacity: 0;
}
.history_wrap .more{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1000;
}
.history_wrap .more span{
   font-size: 1.8rem;
   padding-right: 2.1rem;
   background: url(images/icon_more_down.svg) right center / 1.1rem auto no-repeat;
   cursor: pointer;
}
.history_wrap.open .more span{
   background: url(images/icon_more_up.svg) right center / 1.1rem auto no-repeat;
}
.history_wrap .historyList li + li{
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: .1rem solid #fff;
}
.history_wrap .historyList .date{
    font-size: 1.4rem;
    margin-bottom: 1rem;
}
.history_wrap .historyList .ex{
    font-size: 2rem;
}
.top .infomationList{
    gap: 3rem;
}
.top .infomationList > *{
    width:calc(50% - 3rem);
    text-align: center;
}
.top .infomation .instagram .img{
    max-width: 16.4rem;
    margin: 0 auto 3rem;
}
.top .infomation .hires .img{
    max-width: 24rem;
    margin: 0 auto 3rem;
}
.top .infomation p{
    font-size: 1.6rem;
}
.top .infomation .more{
    margin-top: 3rem;
}


/* news */
.contents.news{
}
.contents.news .newsList ul{
    width: 100%;
}
.contents.news .newsList li{
    width: 100%;
}
.contents.news .newsList li + li{
    border-top: 1px solid  #CCCCCC;
}
.contents.news .newsList a{
    padding: 1.5rem 0;
    font-size: 1.6rem;
    letter-spacing: .1em;
    gap: 1.75rem 3rem;
    align-items: center;
}
.contents.news .category span{
    display: block;
    text-align: center;
    padding: 0.9rem;
    min-width: 11.5rem;
    color: #fff;
    background: #877C29;
    font-size: 1.2rem;
    letter-spacing: .1em;
}
.contents.news.news_detail .category span{
    padding: .7rem 1rem;
    font-size: 1.4rem;
    font-weight: 500;
}
.contents.news .title{
    width: calc(100% - 30.4rem);
}
.contents.news .title p{
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.contents.news.news_detail .titleBlc{
    gap: 1.5rem 2rem;
    width: 100%;
    align-items: flex-start;
    margin-bottom: 3rem;
}
.contents.news.news_detail .title{
    width: calc(100% - 13.5rem);
}
.contents.news.news_detail .title p{
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    white-space: wrap;
}
.contents.news.news_detail .articleBlc{
    flex-direction: row-reverse;
    gap: 3rem;
}
.contents.news.news_detail .articleBlc .img{
    width: 28rem;
}
.contents.news.news_detail .articleBlc .img > div{
    width: 28rem;
    margin: 0 auto;
}
.contents.news.news_detail .articleBlc .img > div + div{
    margin-top: 3rem;
}
.contents.news.news_detail .articleBlc .img img{
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
}
.contents.news.news_detail .articleBlc .txt{
    width: calc( 100% - 31rem );
    font-size: 1.8rem;
    line-height: 1.5;
}
.contents.news.news_detail .articleBlc .txt > * + *{
    margin-top: 1em;
}

.main{
    font-size: 1.6rem;
}
.main article + article{
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: .1rem solid #ccc;
}
.main h3{
    font-size: 2.4rem;
    font-weight: 500;
    margin-bottom: 1rem;
}
.main .title h3 p{
    background: linear-gradient(transparent 70%, rgba(135,124,41,0.3) 0%);
    display: inline;
    font-size: inherit;
}
.contents.performance .performance_wrap .title h4{
    margin-top: 0.7rem;
    color: #ccc;
    font-weight: 500;
    color: #ccc;
}
.contents.performance.detail .performance_wrap .img,
.contents.performance.detail .performance_wrap .head,
.contents.performance.detail .performance_wrap .title{
    text-align: center;
}
.contents.performance.detail .performance_wrap .title{
    margin-bottom: 5rem;
}
.contents.performance .performance_wrap .sub_text{
    text-align: left;
    margin: 3rem 10rem 5rem;
}
.main .title h3{
    font-size: 3.2rem;
}
.main .content .date{
    margin: 2rem 0;
}
.main .content .date p{
    font-size: 2rem;
    font-weight: 700;
}
.main .content hr{
    margin: 1rem 0;
    border-color: #ccc;
    border-style: solid;
}
.contents.ticket .main .content > div + div{
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #ccc;
}
.contents.ticket .main .content > .img,
.contents.ticket .main .content > .date + div{
    border: none;
}
.contents.ticket .main .content > div:last-child{
    margin-bottom: 3rem;
}
.contents.ticket .main .content .note{
    font-size: 1.2rem;
}
.contents.performance.detail .performance_wrap .head{
    font-size: 1.8rem;
    line-height: 2;
    margin: 2rem 0;
}
.contents.performance .performance_wrap .img{
    margin-top: 2rem;
}
.contents.performance.detail .performance_wrap .img{
    margin: 2rem 0;
}
.contents.performance .performance_wrap .img img{
    max-width: 32rem;
    max-height: 24rem;
    margin: .5rem;
    object-fit: unset;
    width: auto;
    height: auto;
    border-radius: .5rem;
}
.contents.performance .no_menu.detail h5{
    font-size: 3.2rem;
    margin: 0;
    text-align: center;
    font-weight: 500;
}
.contents.performance .no_menu.detail h6{
    font-size: 1.4rem;
    text-align: center;
    font-weight: 500;
    color: #ccc;
}
.contents.performance .no_menu.detail h5 + p,
.contents.performance .no_menu.detail h6 + p{
    margin-top: 3.5rem;
}

@media screen and (max-width: 780px){
    .tab ul li{
        width: 100%;
    }
    .tab ul li a{
        padding: 1.3rem;
        font-size: 1.6rem;
    }

    .top .news .newest .img,
    .top .news .newest .txt{
        width: 100%;
    }
    .top .news .newest_list > *,
    .top .infomationList > *{
        width: 100%;
    }
    .contents.news.news_detail .title,
    .contents.news .title{
        width: 100%;
    }
    .contents.news.news_detail .articleBlc .img,
    .contents.news.news_detail .articleBlc .txt{
        width: 100%;
    }
    .contents.news.news_detail .articleBlc .txt{
        font-size: 1.6rem;
    }
}

.profile .main a,
.performance .main a,
.concert_plan .main a,
.ticket .main a,
.articleBlc .txt a{
    display: inline-block;
    margin-bottom: .2rem;
    text-decoration: underline;
    text-underline-offset: .2rem;
    color: #877C29;
}
.concert_plan .main p,
.ticket .main p,
.articleBlc .txt p{
    line-height: 1.75;
}
.wp-block-separator{
    border-top: .15rem solid !important;
    margin: 2em 0;
}
.ticket .main p + p,
.articleBlc .txt p + p{
    margin-top: .5em;
}
.ticket .main h2 + p,
.articleBlc .txt h2 + p{
    margin-top: 1em;
}
.wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright, .wp-block-image.aligncenter, .wp-block-image.alignleft, .wp-block-image.alignright {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    margin: 1em 0;
}


.member .left_menu{
    align-items: flex-start;
}
.member .main{
    display: flex;
    gap: 3rem 2rem;
    flex-wrap: wrap;
}
.member .main > *{
    width: calc( ( 100% - 4rem ) / 3 );
}
.member .main h3{
    width: 100%;
    text-align: center;
    letter-spacing: .1rem;
}
.member .main h4{
    width: 100%;
    text-align: center;
    letter-spacing: .1rem;
}
.member .main article + article {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}
.member .main article > a{
    display: block;
}
.member .main img{
    width: 100%;
    aspect-ratio: 0.75;
    object-fit: cover;
    object-position: top;
    background: transparent;
}
.member .main .instrument{
    font-size: 1.3rem;
    margin-bottom: 1rem;
    letter-spacing: 0.1rem;
}
.member .main .name h3{
    margin-top: 1rem;
    font-size: 1.5rem;
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.1rem;
    color: #877C29;
    text-decoration: underline;
    text-underline-offset: .2rem;
}
.member.member_detail .titleBlc{
    font-size: 250%;
    gap : 0 1em;
    font-weight: 500;
    margin-bottom: 1em;
}
.member.member_detail .articleBlc{
    font-size: 150%;
    gap: 0 3rem;
    align-items: flex-start;
}
.member.member_detail .articleBlc .txt{
    width: calc( 100% - 33rem);
}
.member.member_detail .articleBlc .img{
    width: 30rem;
}
.member.member_detail .articleBlc .img img{
    width: 100%;
    aspect-ratio: 1;
    object-position: top;
    object-fit: contain;
    background: transparent;
}
.conductor.member_detail .main h1{
    margin-bottom: 1em;
}
.conductor.member_detail :where(.is-layout-flex){
    gap: 2rem;
}
.conductor.member_detail .wp-block-columns > .wp-block-column{
    width: calc( 100% - 32rem );
    flex-basis: unset !important;
}
.conductor.member_detail .wp-block-columns > .wp-block-column:has(.wp-block-image) {
    width: 30rem;
    flex-basis: unset !important;
}
.profile .main h2 + div,
.history .main h2 + p,
.history .main h3 + p {
    margin-top: 2rem;
}
.wp-container-core-group-is-layout-2 + p{
    margin-top: 2em;
}
.profile p,
.member p,
.member_detail p{
    line-height: 1.75;
}

.contents.performance.detail .performance_wrap .has-medium-font-size{
    margin-bottom: 2rem;
}
.wp-block-media-text{
    line-height: 1.75;
}

@media screen and (max-width: 780px ){
    .left_menu{
        flex-wrap: wrap;
    }
    .left_menu .main,
    .left_menu .side_menu{
        width: 100%;
    }
    .left_menu .side_menu .flex{
        gap: 1rem 0.75rem;
    }
    .left_menu .side_menu .flex > li{
        width: calc( (100% - 1.5rem ) / 3);
    }
    .left_menu .side_menu a{
        font-size: 1.25rem;
        padding: 1.25rem 1rem;
    }
    .member .main > *{
        width: calc( ( 100% - 2rem ) / 2 );
    }
    .member.member_detail .articleBlc > *{
        width: 100% !important;
    }
    .conductor.profile .main h1,
    .conductor.profile .main h2,
    .conductor.member_detail .main h1{
        font-size: 2.5rem !important;
    }
    .conductor.member_detail .wp-block-columns > .wp-block-column,
    .conductor.member_detail .wp-block-columns > .wp-block-column:has(.wp-block-image){
        width: 100%;
    }
    .wp-container-core-group-is-layout-2{
        flex-wrap: wrap !important;
    }
    .wp-block-spacer{
        display: none;
    }
    .wp-container-core-group-is-layout-2 > *{
        width: 100% !important;
    }
}


/* modal */
.profile .main img:not([src*="noimg.jpg"]),
.member_detail .main img:not([src*="noimg.jpg"]),
.performance .main img:not([src*="noimg.jpg"]),
.concert_plan .main img:not([src*="noimg.jpg"]),
.ticket .main img:not([src*="noimg.jpg"]),
.modal_img img:not([src*="noimg.jpg"]),
.articleBlc .txt img{
    cursor: pointer;
}
.modal{
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .2s ease-in;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
}
body.modal_open .modal{
    opacity: 1;
    pointer-events: auto;
}
body.modal_open .modal_overlay{
    position: fixed;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: rgba(0,0,0,0.6)
}
.modal .modal_contents{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: .8rem;
    overflow: hidden;
    z-index: 1001;
}
.modal .modal_contents img{
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    cursor: pointer;
}
