﻿@charset "utf-8";

/* hone
-------------------------------------------------------------------*/
body.home .visual{
    position:relative;
    z-index:15;
    padding-top: 48.5417vw;
    background:url(../img/top/bg-mv.jpg) no-repeat center top / cover;
}
body.home .visual .position{
    position:absolute;
    height: 47vw;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
body.home .visual .logo_image{
    position:relative;
    z-index:5;
    width: 62.7435%;
    margin: 0 auto 2.5em;
}
body.home .visual .logo_image img{
    max-width:100%;
    height:auto;
}
body.home .visual .mv-txt p{
    font-size: min(2.8vw,3.25rem);
    font-weight:600;
    color:#631d99;
    text-shadow:0 0 13px #fff,0 0 13px #fff,0 0 13px #fff,0 0 13px #fff,0 0 13px #fff,0 0 13px #fff;
    line-height:1.65;
    font-feature-settings: 'palt';
    letter-spacing: -0.05em;
}
body.home .schedule{
    position:relative;
    z-index:25;
    background: url(../img/common/bg-kouen-top.png)#831a1e repeat-y top center / cover;
    padding-block:5.125em;
}
body.home .schedule .schedule_list{
    display:flex;
    justify-content: space-around;
    align-items:stretch;
    flex-wrap:wrap;
    gap: 2em 0.5%;
    max-width: 1000px;
    margin: 0 auto;
}
body.home .schedule .schedule_list .schedule_item{
    width: 33%;
    max-width: 306px;
}
body.home .schedule .schedule_list .schedule_item a{
    display:block;
    margin-bottom:5px;
    transition:.5s transform;
}
body.home .schedule .schedule_list img{
    width: 100%;
    height:auto;
}
body.home .schedule .schedule_list .schedule_item a:hover{
    transform:translateY(5px);
}
@media screen and (max-width:1550px) {
    body.home .schedule .schedule_list{
        padding:0 15px;
        gap: 1em 1%;
    }
}
@media screen and (max-width:1000px) {
    body.home .schedule .schedule_list .schedule_item{
        width:calc(33% - 1em);
    }
}
@media screen and (max-width:767px) {
    body.home .visual{
        padding-top:75vw;
    }
    body.home .visual .position{
        height: 57vw;
    }
    body.home .visual .logo_image{
        width:85%;
        margin-bottom: 1em;
    }
    body.home .visual .mv-txt p{
        font-size: min(4vw,1.92rem);
    }
    body.home .schedule .schedule_list .schedule_item a:hover{
        transform:translateY(0px);
    }
    body.home .schedule{
        padding-block:2em;
        background-size: cover;
    }
    body.home .schedule .schedule_list{
        display:flex;
        justify-content: center;
        align-items:stretch;
        flex-wrap:wrap;
        gap: 1em 2%;
    }
    body.home .schedule .schedule_list .schedule_item{
        width:48%;
    }
}


/* intro
-------------------------------------------------------------------*/
body.article .intro{
    position: relative;
    z-index:20;
    background: url(../img/common/bg-intro.png) no-repeat top center / cover;
    padding-block: 3em 0;
}
body.article .lecture_name{
    position:relative;
    z-index:15;
    background: var(--main_color);
    background: linear-gradient(90deg, var(--main_color) 0%, var(--main_color02) 50%, var(--main_color) 100%);
}
body.article .lecture_name:before,
body.article .lecture_name:after{
    content:"";
    width:100%;
    height:5px;
    background: rgb(170,134,44);
    background: linear-gradient(90deg, rgba(170,134,44,1) 0%, rgba(208,165,67,1) 30%, rgba(215,189,100,1) 70%, rgba(246,230,146,1) 80%, rgba(198,140,20,1) 100%);
    position:absolute;
    left:0;
    right:0;
    margin:auto
}
body.article .lecture_name:before{
    top:0;
}
body.article .lecture_name:after{
    bottom:0;
}
body.article .lecture_name .article_style{
    font-size: 2.25rem;
    font-weight:600;
    color:#fff;
    padding-block: 0.75em;
    letter-spacing: -0.075em;
}
body.article  .lecture_name .article_style em{
    font-size: 3.875rem;
    display:block;
    letter-spacing: 0.03em;
}
body.article .intro .intro_wrap{
    position:relative;
    z-index:4;
}
body.article .intro .intro_wrap .sitewrap{
    overflow:visible;
}
body.article .intro .intro_col{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    flex-wrap:wrap;
    margin-bottom: 2em;
}
body.article .intro .intro_image{
    width: 48.5%;
}
body.article .intro .intro_image img{
    max-width:100%;
    height:auto;
}
body.article .intro .intro_txt{
    width: 48%;
}
body.article .intro .intro_txt .intro_info{
    font-size: 2rem;
    font-weight:600;
}
body.article .intro .intro_txt .intro_info strong{
    font-size: 3.875rem;
    display:block;
}
body.article .intro .intro_txt .intro_info em{
    font-size: 3.5rem;
    display:block;
    white-space: nowrap;
}
body.article .intro .intro_txt .intro_info ul{
    margin-top: 0.5em;
}
body.article .intro .intro_txt .intro_info ul li{
    font-size: 1.75rem;
}
body.article .intro .intro_txt .intro_info ul li + li{
    margin-top:0.5em;
}
body.article .intro .intro_txt .intro_info{
    margin-bottom: 0.75em;
}
body.article .intro .intro_txt .ticket_btn{
    position:relative;
}
body.article .intro .intro_txt .ticket_btn a{
    position:relative;
    z-index:10;
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    max-width:574px;
    height: 3em;
    color:#fff;
    background: var(--sub_color);
    border:1px solid var(--sub_color);
    text-decoration:none;
    border-radius:50px;
    box-shadow:5px 5px 3px rgba(0,0,0,0.2);
    transition:.5s background-color,.5s color;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.1em;
}
body.article .intro .intro_sponsore{
    position:relative;
    z-index:10;
    margin-bottom: 2em;
}
body.article .intro .intro_sponsore_inner{
    margin:auto;
    z-index:5;
    position: relative;
}
body.article .intro .intro_sponsore p{
    font-size: 2.375rem;
    font-weight:600;
    letter-spacing: -0.05em;
    text-align: center;
}
@media (hover: hover){
    body.article .intro .intro_txt .ticket_btn a:hover{
        background-color:#fff;
        color:var(--sub_color);
    }
}
@media screen and (max-width:1640px) {
    body.article .intro .intro_txt .intro_info em{
        font-size:3rem;
    }
    body.article .intro .intro_txt .intro_info strong{
        font-size:3.75rem;
    }
}
@media screen and (max-width:1250px) {
    body.article .intro .intro_txt .intro_info em{
        font-size:2.5rem;
    }
}
@media screen and (max-width:1050px) {
    body.article .intro .intro_txt .intro_info em{
        font-size:2rem;
    }
    body.article .intro .intro_txt .intro_info strong{
        font-size:3.25rem;
    }
    body.article .intro .intro_txt .intro_info ul li{
        font-size:1.25rem;
    }
    body.article .intro .intro_txt .ticket_btn a{
        font-size:1.5rem;
    }
}
@media screen and (max-width:767px) {
    body.article  .lecture_name .article_style em{
        font-size:2.5rem;
    }
    body.article .intro{
    background-repeat: repeat-y;
    }
    body.article .intro .lecture_name .article_style{
        font-size:1.14rem;
    }
    body.article .intro .lecture_name .article_style em{
        font-size:2.21rem;
    }
    body.article .lecture_name:before,
    body.article .lecture_name:after{
        height:3px;
    }
    body.article .intro .intro_col{
        margin-bottom: 1.5em;
        gap: 1em;
    }
    body.article .intro .intro_image{
        width: 100%;
    }
    body.article .intro .intro_txt{
        width: 100%;
    }
    body.article .intro .intro_txt .intro_info{
        font-size: 1.14rem;
    }
    body.article .intro .intro_txt .intro_info strong{
        font-size:2.21rem;
    }
    body.article .intro .intro_txt .intro_info em{
        font-size: 1.875rem;
        white-space: break-spaces;
    }
    body.article .intro .intro_txt .intro_info ul li{
        font-size: 1rem;
    }
    body.article .intro .intro_txt .ticket_btn a{
        font-size: 1.14rem;
        box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
    }
    body.article .intro .intro_sponsore{
        padding:2px;
    }
    body.article .intro .intro_sponsore_inner{
        padding: 0;
    }
    body.article .intro .intro_sponsore p{
        font-size: 1.25rem;
    }
}

/* performers
-------------------------------------------------------------------*/
body.article .performers{
    position: relative;
    z-index: 20;
    padding-bottom: 0;
    padding-top: 0;
    margin-top: 0;
}
body.article .performers-wrap{
    position:relative;
    margin-top:8em;
    padding-bottom: 4.5em;
}
body.article .performers-wrap:before{
    content:"";
    width:100%;
    height:1038px;
    background: url(../img/common/bg-intro02.png) no-repeat bottom/ cover;
    position:absolute;
    inset:auto 0 0 0;
    margin:auto;
}
body.article .performers-wrap .performers_style{
    font-size: 4rem;
    font-weight:600;
    margin-bottom:0.5em;
    position: relative;
}
body.article .performers-wrap .performers_list{
    position:relative;
    z-index:5;
    display:flex;
    justify-content:center;
    align-items:stretch;
    flex-wrap:wrap;
    max-width: 1750px;
    margin: 0 auto;
    gap: 2em 0.75%;
    padding: 0 15px;
}
body.article .performers-wrap .performers_list:has(.performers_item:nth-child(n+10)){
    max-width:1200px;
    gap: 2em 1.5%;
}
body.article .performers-wrap .performers_list .performers_item{
    width:178px;
    background: var(--main_color);
    background: linear-gradient(142deg, var(--main_color) 0%, var(--main_color02) 100%);
    padding: 7px 7px;
}
body.article .performers-wrap .performers_list .performers_item p{
    font-size: 1.375rem;
    font-weight:600;
    color:#fff;
    margin-block: 1em 0.9em;
    line-height: 1;
}
body.article .performers-wrap .performers_list .performers_item .common_btn + .common_btn{
    margin-top:0.75em;
}
body.article .performers .performers_poster{
    background: url(../img/common/bg-kouen.png)var(--sub_color) repeat-y center / cover;
    padding: 5em 15px;
    position: relative;
    z-index: 5;
}
body.article .performers .poster_image{
    max-width:1000px;
    margin:0 auto;
}
body.article .performers .poster_image img{
    max-width:100%;
    height:auto;
}
@media screen and (max-width:1550px) {
    body.article .performers .performers_list{
        max-width: 1200px;
    }
}
@media screen and (max-width:767px) {
    body.article .performers-wrap{
        margin-top:2em;
        padding-bottom: 4em;
    }
    body.article .performers{
        background-size: 220%;
        margin-top: 0;
        background-position: bottom;
        padding-bottom: 0;
    }
    body.article .performers-wrap .performers_style{
        font-size:2.21rem;
    }
    body.article .performers-wrap .performers_list{
        margin: 0 auto;
        gap: 1em 1%;
        justify-content: space-between;
    }
    body.article .performers-wrap .performers_list .performers_item{
        width:48%;
        padding:9px 7px;
    }
    body.article .performers-wrap .performers_list .performers_item img{
        max-width: 100%;
        height: 100%;
    }
    body.article .performers-wrap .performers_list .performers_item p{
        font-size: 1rem;
    }
    body.article .performers-wrap .performers_list .performers_item .common_btn + .common_btn{
        margin-top:0.75em;
    }
    body.article .performers .performers_poster{
        background-size: cover;
        padding: 4em 15px;
    }
}

/* play_gide
-------------------------------------------------------------------*/
body.article .play_gide{
    position:relative;
    z-index:15;
    padding-block: 5em;
    background: url(../img/common/bg-poster02.png) repeat-y top center / auto;
}
body.article .play_gide:before,
body.article .play_gide:after{
    content:"";
    width:100%;
    height: 1348px;
    background: url(../img/common/bg-poster.png) repeat-y top center / auto;
    position:absolute;
    inset:0 auto auto 0;
    margin:auto;
    z-index:0;
    pointer-events: none;
}
body.article .play_gide:after{
    inset:auto 0 0 auto;
    transform:scale(-1);
}
body.article .play_gide a[href*="tel:"]{
    pointer-events:none;
}
body.article .play_gide_style{
    font-size: 3.875em;
    font-weight:600;
    margin-bottom: 0.5em;
    text-align:center;
    line-height: 1;
    position: relative;
    z-index: 5;
}
body.article .secretariat_box{
    position:relative;
    z-index:5;
    border:2px solid #b78e37;
    margin-bottom: 4em;
    background: #f9f7e9;
}
body.article .secretariat_box .secretariat_style{
    text-align:center;
    font-size: 1.5rem;
    font-weight:600;
    color:#fff;
    background: var(--sub_color02);
    padding-block: 0.28em;
}
body.article .secretariat_wrap{
    position:relative;
    z-index:5;
    padding: 35px 50px;
}
body.article .secretariat_wrap:before,
body.article .secretariat_wrap:after{
    content:"";
    width:34px;
    height:34px;
    background:url(../img/common/img-secretariat.png);
    position:absolute;
    bottom:0;
}
body.article .secretariat_wrap:before{
    left:0;
}
body.article .secretariat_wrap:after{
    right:0;
    transform:rotateX(180deg);
}
body.article .secretariat_box.box-red{
    border-color: var(--sub_color);
}
body.article .secretariat_box.box-red .secretariat_style{
    background: var(--sub_color);
}
body.article .secretariat_box.box-red .secretariat_wrap:before,
body.article .secretariat_box.box-red .secretariat_wrap:after{
    filter: brightness(0) saturate(100%) invert(9%) sepia(81%) saturate(7499%) hue-rotate(19deg) brightness(84%) contrast(120%);
}
body.article .secretariat_box.box-red .secretariat_wrap em{
    margin-bottom:0.5em;
}
body.article .secretariat_box.box-red p.txt-red{
    margin-top:0.5em;
}
body.article .secretariat_box.box-red .ann{
    background: var(--sub_color02);
}
body.article .secretariat_wrap em{
    font-size: 2rem;
    font-weight:600;
    text-align:center;
    display:block;
    letter-spacing: -0.05em;
}
body.article .secretariat_wrap p{
    font-size: 1.5rem;
    font-weight:600;
    text-align:center;
    letter-spacing: -0.05em;
}
body.article .txt-red{
    color:var(--sub_color);
}
body.article .secretariat_wrap p.txt-red{
    font-size: 2.25rem;
    font-weight:600;
    text-align:center;
    margin-bottom:0.125em;
}
body.article .secretariat_wrap p.txt-red a{
    font-size: 3.25rem;
    letter-spacing: 0.03em;
}
body.article .ann{
    color:#fff;
    background: var(--accent02);
    padding-block: 1.06em;
    margin-top: 2em;
}
body.article .ann p{
     font-size: 2rem;
     text-align: center;
     line-height: 1.875;
     font-weight: 600;
     letter-spacing:-0.05em;
}
body.article .ticket_area{
    position:relative;
    z-index:5;
}
body.article .chain_style{
    text-align:center;
    font-size: 2.625rem;
    font-weight:600;
    padding-bottom: 0.75em;
    margin-bottom: 0.75em;
    position: relative;
    z-index: 5;
    color: var(--accent01);
    letter-spacing: -0.01em;
}
body.article .chain_style:before{
    content:"";
    width:394px;
    height:26px;
    background:url(../img/common/line_chain.png) no-repeat center / contain;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
}
body.article .gide_info .info_box{
    position:relative;
    z-index:5;
    border:1px solid #061337;
}
body.article .gide_info .info_box + .info_box{
    margin-top:2em;
}
body.article .gide_info .info_box .gide_info_style{
    font-size: 1.5rem;
    font-weight:600;
    color:#fff;
    background: var(--accent01);
    padding:0.28em 1em;
}
body.article .gide_info .info_box .gide_info_txt{
    position:relative;
    z-index:5;
    padding: 20px 30px;
    background: #fff;
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col{
    display:flex;
    justify-content:flex-start;
    align-items:stretch;
    gap:1.5em;
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col + .gide_info_col{
    margin-top:1em;
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col em{
    font-size: 1.25rem;
    font-weight:600;
    color:#fff;
    background: var(--sub_color02);
    width:7.25em;
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
    border-radius:5px;
    height: 1.667em;
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col .long-title{
    width:12em;
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text{
    width: calc(100% - 7.75em);
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text p{
    font-size: 1.5rem;
    line-height: 1.6;
    font-weight:600;
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text p a{
    color: var(--accent03);
}
body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text p a:hover{
    text-underline-offset:5px;
}
@media screen and (max-width:1200px) {
    body.article .play_gide a[href*="tel:"]{
        pointer-events:all;
    }
}
@media screen and (max-width:767px) {
    body.article .play_gide{
        padding-block: 4em;
        background-size: cover;
    }
    body.article .play_gide:before,
    body.article .play_gide:after{
        width:100%;
        height: 35%;
        background-size:contain;
        min-height: 250px;
        background-repeat: no-repeat;
    }
    body.article .play_gide_style{
        font-size:2.21rem;
    }
    body.article .secretariat_box{
        border-width:1px;
        margin-bottom: 3em;
    }
    body.article .secretariat_box .secretariat_style{
        font-size:1.07rem;
    }
    body.article .secretariat_wrap{
        padding:20px 15px;
    }
    body.article .secretariat_wrap:before,
    body.article .secretariat_wrap:after{
        width:20px;
        height:20px;
        background-size: contain;
    }
    body.article .secretariat_wrap em{
        font-size:1.14rem;
    }
    body.article .secretariat_wrap p{
        font-size:1.14rem;
    }
    body.article .secretariat_wrap p.txt-red{
        font-size:1.578rem;
    }
    body.article .secretariat_wrap p.txt-red a{
        font-size:1.857rem;
    }
    body.article .ann{
        padding: 1.06em 15px;
        margin-top: 1em;
    }
    body.article .ann p{
         font-size: 1rem;
         text-align: left;
    }
    body.article .chain_style{
        font-size: 1.5rem;
    }
    body.article .chain_style:before{
        width: 188px;
        height: 13px;
    }
    body.article .gide_info .info_box + .info_box{
        margin-top: 1em;
    }
    body.article .gide_info .info_box .gide_info_txt .gide_info_col{
        gap:1em;
    }
    body.article .gide_info .info_box .gide_info_style{
        font-size: 1.07rem;
    }
    body.article .gide_info .info_box .gide_info_txt{
        padding: 15px 10px;
    }
    body.article .gide_info .info_box .gide_info_txt .gide_info_col em{
        font-size: 1rem;
        width: 6em;
    }
    body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text{
        width: calc(100% - 7em);
    }
    body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text p{
        font-size: 1rem;
    }
    body.article .gide_info .info_box .gide_info_txt .gide_info_col .gide_info_text p a{
        word-break:break-all;
    }
    body.article .gide_info .info_box .gide_info_txt .gide_info_col .long-title{
        width:13em;
    }
}

/* play_gide
-------------------------------------------------------------------*/
body.article .access{
    position:relative;
    z-index:20;
    padding-block: 8em;
    background: var(--sub_color);
    color:#fff;
}
body.article .access .lecture_name{
    margin-bottom:0;
}
body.article .access .access_style{
    font-size: 3.875rem;
    font-weight:600;
    margin-bottom:0.5em;
    line-height: 1;
}
body.article .access .access_style02{
    font-size: 2.625rem;
    font-weight:600;
    margin-bottom:0.5em;
    padding-block:0.6815em
}
body.article .access .access_style03{
   text-align:center;
   font-size: 2rem;
   font-weight:600;
   margin-bottom: 1.25em;
}
body.article .access .access_style04{
    text-align:left;
    font-size: 2rem;
    font-weight:600;
    padding-bottom:0.5em;
    margin-bottom:0.5em;
    border-bottom:1px solid #fff;
}
body.article .access .access_style05{
    font-size: 1.75rem;
    margin-bottom:0.5em;
    font-weight: bold;
}
body.article .access p + .access_style05{
    margin-top:1em;
}
body.article .access .access_wrap{
    position:relative;
    z-index:5;
}
body.article .access .map_wrap{
    margin-bottom: 4em;
}
body.article .access .access_wrap .address{
    font-size: 2rem;
    text-align:center;
    margin-bottom:1em;
}
body.article .access .chain_style{
    color:#fff; 
}
body.article .access .access_gide{
   max-width:1000px;
    margin:0 auto;
}
body.article .access .access_gide_wrap{
    position:relative;
    z-index:5;   
}
body.article .access .access_gide_wrap + .access_gide_wrap{
    margin-top: 1.5em;
}
body.article .access .access_gide_wrap p{
    font-size: 1.5rem;
    font-weight:500;
    line-height:1.5;
}
@media screen and (max-width:767px) {
    body.article .access{
        padding-block:45px;
    }
    body.article .access .access_style{
        font-size:2.21rem;
    }
    body.article .access .access_style02{
        font-size:1.5rem;
    }
    body.article .access .access_style03{
        font-size:1.14rem;
        margin-bottom: 1em;
    }
    body.article .access .access_style04{
        font-size:1.14rem;
    }
    body.article .access .access_style05{
        font-size:1.07rem;
    }
    body.article .access .map_wrap iframe{
        height:300px;
    }
    body.article .access .map_wrap{
        margin-bottom:2em;
    }
    body.article .access .access_wrap .address{
        font-size:1.14rem;
    }
    body.article .access .access_gide_wrap + .access_gide_wrap{
        margin-top:2em;
    }
    body.article .access .access_gide_wrap p{
        font-size:1rem;;
    }
}