@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*
font-family: "Noto Sans JP", sans-serif;
*/
/*--------------------------------------------------
reset
-----------------------------------------------------*/
body{width: 100%;letter-spacing: 0;text-align: center;}
body, p, dl, ol, ul, h1, h2, h3, h3, h4, h5, h6, form, table, td, dt, dd {margin: 0;padding: 0;}
img{border: none; vertical-align:middle;width:100%;height:auto;}
ol,ul{list-style-type: none;}
table {/*border-collapse: collapse;*/border-spacing: 0;}

.sp{display:block;}
.pc{display:none;}
.flex{display:flex; justify-content: space-between; align-items: center;}
.inner{}

span.spbr{display:block;}
span.pcbr{display:inline;}
span.bothbr{display:block;}

/* アスタリスク　注釈用 */
ul.ast {	list-style: none;font-size: 90%;margin: 0.5em 0;}
ul.ast li {	margin: 0 0 5px 0;	padding-left: 1em;	text-indent: -1em;}
ul.ast li:before {	content: "\203b";	color: #000;}
ul.ast li.red:before {	content: "\203b";	color: #f00;}

.youtube {
position: relative;
padding-bottom: 56.25%; /* アスペクト比16:9の場合 */
padding-top: 0;
height: 0;
overflow: hidden;
margin-bottom: 0; /* YouTubeの下に余白をつける */
margin-top:0;
margin-left:auto;
margin-right:auto;
background: #000;
}
.youtube iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

a{transition: 0.3s;text-decoration: none;}
a:hover{opacity:0.6;}

/*右下固定リンク　「先頭に戻る」他　*/
#jumpbtn { position:fixed; right:0; bottom:0;z-index:500;}
#jbtnbox a{display:block;padding:0.5em; background: #000;color:#fff;position:relative;text-decoration: none;}
#jbtnbox a:hover{ 
opacity:1;	
}

#content #jbtnbox a i{font-size:280%;position: relative;left:-3px;margin:0 5px 0 0;color:#eda4c2;}

#content img.protect {
pointer-events: none;
user-select:none;
-moz-user-select:none;
-ms-user-select:none;
-webkit-user-select:none;
-khtml-user-select:none;
-webkit-user-drag: none;
-khtml-user-drag: none;
-webkit-touch-callout: none; 
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
}

/*--------------------------------------------------
common
-----------------------------------------------------*/
html,body {color: #fff;  background: #000;font-family: "Noto Sans JP", sans-serif;
word-wrap:break-word;
overflow-wrap: break-word;
word-break: break-all;	
font-feature-settings:"palt";
}

/*header*/
header {padding:2.5%;position: fixed;top:0;left:0;right:0; background: #000;text-align: center;z-index:99;}
header .inner{max-width:1024px;margin:auto;}
header .inner .logo{flex-basis:120px;}
header .inner ul.menu{flex-flow:column;margin:5em 0 0 0;}
header .inner ul.menu li{margin:0 0 2em 0;}
header .inner ul.menu li a{color:#fff;font-size:111%;font-weight:500;}

header .snsbtn{margin:0 1.5em 0 0}
header .snsbtn a{width:25px;margin:0 0 0 0.5em}

/*
nav
------------------------------------------------------------------------------------ */
nav.globalMenuSp {
position: fixed;
z-index: 100;
top: 0;
left: 0;
background: #000;
color: #fff;
text-align: center;
/*transform: translateY(-100%);*/
opacity: 0;
visibility: hidden;
transition: all 0.3s;
width: 100%;
height:100%;
overflow: scroll;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
/*transform: translateY(0%);*/
opacity:1;
visibility: visible;
top:0;
}
.navToggle {
position: absolute;    /* bodyに対しての絶対位置指定 */
right: 7px;
top:51%;
bottom:51%;
width: 36px;
height: 34px;
cursor: pointer;
z-index: 999;
text-align: center;
margin:auto;
}

.navToggle span {
display: block;
position: absolute;    /* .navToggleに対して */
width: 24px;
border-bottom: solid 1px #fff;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out;
left: 6px;
}
.navToggle.active span {border-bottom: solid 1px #fff;}
.navToggle span:nth-child(1) {
top: 7px;
}
.navToggle span:nth-child(2) {
top: 15px;
}
.navToggle span:nth-child(3) {
top: 23px;
}
.navToggle span:nth-child(4) {
border: none;
color: #eee;
font-size: 9px;
font-weight: bold;
top: 34px;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
top: 16px;
left: 6px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
border-bottom: solid 1px #fff;
}
/* 2番目と3番目のspanを45度に*/
.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
top: 16px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
border-bottom: solid 1px #fff;
}

/* ------------------------------------------------- */
.wrap{max-width:1600px;margin:46px auto 0 auto; background: #fff url("../images/bg.png");color:#000;
background-attachment: fixed;
background-size: cover;
overflow: hidden;
position: relative;}
.inner{margin:auto;padding:0 1em;}
section{margin:0 auto 5em auto;position: relative;}
/* ------------------------------------------------- */

/*kv*/
.kv{position: relative;margin:0 0 2em 0;}
.kv h1{position:relative;margin:auto;	animation: kv 2s linear forwards;transform-origin:center top;
width:140%;left:-20%;}
.kv .maincopy{position: absolute;top:63%;width:100%;left:0;right:0;font-size:100%;font-weight:700;text-shadow: 0 0 2px #347278;color:#fff;margin:0;animation: kvcopy 1s linear forwards;animation-delay: 1s;opacity: 0;letter-spacing: 3px;}

/*kvのアクション*/
@keyframes kv {
0% {
opacity: 0;
}	
100% {
opacity: 1;

}
}
/*kv下のコピー*/
@keyframes kvcopy {
0% {
opacity: 0;
}	
100% {
opacity: 1;

}
}


.eventtitle_wrap{position: relative;margin:0 auto 3em auto;width:90%;padding:2em 0;border-left:1px solid #000;border-right:1px solid #000;}  
.eventtitle_wrap:before{content:"";height:1px; background: #000;position: absolute;top:0;left:0;width:26%;}
.eventtitle_wrap:after{content:"";height:1px; background: #000;position: absolute;bottom:0;right:0;width:26%;}
.eventtitle{color:#DA3EA4;font-size:180%;font-weight:700;margin:0 0 0.2em 0;}    
.eventtitle_wrap p{font-size:120%;font-weight:700;}  


/*ボタンの設定とアニメーション*/
a.btn{width: 70%;  border-radius:3em;color:#fff;margin:auto;padding:0.5em;display:block;font-size:133%;font-weight:500;position: relative;background: linear-gradient(to right,  #f0fd9f 0%,#e3f95a 50%,#b3df58 100%);
overflow: hidden;opacity: 1;
}
a.btn span{z-index:1;position: relative;}
a.btn:before{content:""; position: absolute;top:0;left:0;width:100%;height:100%; background: #000;border-radius:3em;transition: 0.3s;}
a.btn:after{content:"▲"; transform: rotate(90deg);display:inline-block;position: absolute;top:37%;right:10%;font-size:55%;transition: 0.3s;}
a.btn:hover{color:#000;}
a.btn:hover:before{left:100%; opacity: 1;}
a.btn:hover:after{right:7%; }

/*図形*/
.fig01,
.fig02,
.fig03,
.fig04,
.fig05,
.fig06{display:none;}

/*見出し*/  
h2{font-weight:500;margin:0 0 2em 0;text-align: center;}
h2 img{height:30px!important;width:auto!important;}
h2 span{margin:0.75em 0 0 0;line-height: 1;display: block;}

/*テーマ*/
ul.theme_icon{flex-flow:row wrap;justify-content: space-between;margin:0 0 0 7% ;}
ul.theme_icon li{flex-basis:25%;font-size:70%;margin:0 2% 3em 0;}

/*スペシャルセッション*/
#specialsession .inner{padding:0;}
ul.session{flex-flow:column;margin:0 0 5em 0;background: linear-gradient(to bottom,  #eefff9 0%,#e7f5ff 100%);padding:2em 1em 0 1em;}
ul.session li{align-items: flex-start;margin:0 0 2em 0;flex-flow:row wrap;}
ul.session li:before{flex-basis:100%;content:"";height:4px;margin:0 0 1em 0;background: linear-gradient(to right,  #fff79d 0%,#79d5c7 50%,#54c2f0 100%);}
ul.session li .thumb{flex-basis:40%;}
ul.session li .detail{flex-basis:55%;text-align: left;}
ul.session li .detail .date{font-size:122%; font-weight:700;line-height: 1;margin:0 0 0.5em 0;}
ul.session li .detail .title{font-size:100%; color:#233EA2;margin:0 0 0.5em 0;line-height: 166%;}
ul.session li .detail p{font-size:90%;margin:0 0 0.75em 0;line-height: 166%;}
ul.session li .detail .name{font-size:90%;line-height: 155%;}

/*チケット購入と詳細はこちら*/
.ticket_here{background: url("../images/bg_obi.jpg") no-repeat top center; background-size: cover; height:190px; }
.ticket_here_inner{flex-basis:100%;position: relative;top:-10px;}
.ticket_here_title{font-size:122%;font-weight:500;color:#fff;margin:0 0 1em 0;}
.ticket_here_title span.sideright{display: inline-block;font-size:177%;transform: rotate(33deg);margin:0 0.5em ;position: relative;top:5px;}
.ticket_here_title span.sideleft{display: inline-block;font-size:177%;transform: rotate(-33deg);margin:0 0.5em ; position: relative;top:5px;}

/*イベントへのボタン*/
.eventarea{background: linear-gradient(to bottom,  #eefff9 0%,#e7f5ff 100%);padding:3em 0;}

.eventarea_inner{width:80%;margin:auto;background: #fff;border-radius:1em;padding:3em 5%;}
.eventarea_inner p{font-size:110%;font-weight:500;margin:0 0 1.5em 0;letter-spacing: 3px;}  
.eventarea_inner .btnbox{margin:auto;}



/* フッター */
footer{padding:1.5em;}

/*フローティングボタン*/
.floatingbox{position:fixed;bottom:3em;right:-9em;}
.floatingbox a{display:flex;width:200px;height:77px;border-radius:7em;align-items: center;background: #000;padding:0 0 0 1em;transition: 0.5s;overflow: hidden;border:1px solid #fff;}
.floatingbox a:before{content:""; position: absolute;top:0;left:0;width:100%;height:100%;border-radius:7em;background: linear-gradient(to right,  #f0fd9f 0%,#e3f95a 50%,#b3df58 100%); transition: 0.3s;}
.floatingbox a:hover:before{left:100%; opacity: 1;}
.floatingbox a span{width:44px;display:block;z-index:1;}
.floatingbox a span.hv{display:none;}
.floatingbox a:hover{ background:#000;opacity: 1;}
.floatingbox a:hover span.df{display:none;}
.floatingbox a:hover span.hv{display:block;}


/* //////////////////////////////////////////////////*/
@media screen and (min-width: 768px) {
/* //////////////////////////////////////////////////*/
.sp{display:none;}
.pc{display:block;}
span.spbr{display:inline-block;}
span.pcbr{display:block;}

/*header*/
header {padding:1.5em 2.5%;position: fixed;width:95%;top:0;left:0;right:0; background: #000;text-align: center;z-index:99;}
header .inner .logo{flex-basis:180px;}
header .inner ul.menu{justify-content: flex-end;flex-flow: row nowrap;margin:0;}
header .inner ul.menu li{margin:0 0 0 2em;}
header .inner ul.menu li a{color:#fff;font-size:111%;font-weight:500;}

header .snsbtn{margin:0 0 0 2em}
header .snsbtn a{width:25px;margin:0 0 0 0.5em}
    
    
    
    
.navToggle {display:none;}	   
nav.globalMenuSp {position: relative;z-index: 100;background: none;transform: none;display:inline-block;opacity: 1;		visibility: visible;
/*IE(Internet Explorer)・Microsoft Edgeへの対応*/
-ms-overflow-style: none;
/*Firefoxへの対応*/
scrollbar-width: none;}
/*Google Chrome、Safariへの対応*/
nav.globalMenuSp::-webkit-scrollbar{
display: none;
}

/* ------------------------------------------------- */
.wrap{margin:88px auto 0 auto; }
.inner{width:64%;margin:auto;padding:0;}
section{margin:0 auto 10em auto;}
/* ------------------------------------------------- */   
    
 /*kv*/
.kv{position: relative;margin:0 0 2em 0;}
.kv .maincopy{position: absolute;top:70%;width:100%;left:0;right:0;font-size:300%;font-weight:700;text-shadow: 0 0 5px #71b7be;color:#fff;margin:0;animation: kvcopy 1s linear forwards;animation-delay: 1s;opacity: 0;letter-spacing: 5px;}   

    
.eventtitle_wrap{position: relative;margin:0 auto 10em auto;width:64%;padding:4em 0;}  
.eventtitle{color:#DA3EA4;font-size:370%;letter-spacing: 5px;margin:0 0 0.2em 0;}    
.eventtitle_wrap p{font-size:180%;letter-spacing: 3px;}  

    
/*ボタンの設定とアニメーション*/
a.btn{max-width: 450px;padding:0.75em;}

/*見出し*/    
h2{display:flex;flex-flow: row nowrap;justify-content: flex-start;align-items: flex-end;margin:0 0 2em 0;}
h2 img{height:55px!important;width:auto!important;}
h2 span{margin:0 0 0 0.75em;line-height: 1;}
#specialsession h2 span{position: relative;top:-10px;} 

/*図形*/
.fig01{position:absolute;width:11%;left:0;top:13%;display:block;}
.fig02{position:absolute;width:11%;right:0;top:3%;display:block;}
.fig03{position:absolute;width:12%;left:-2%;top:60%;display:block;}
.fig04{position:absolute;width:10%;right:0;top:3%;display:block;}
.fig05{position:absolute;width:12%;left:-2%;top:52%;display:block;}
.fig06{position:absolute;width:13%;left:-2%;top:8%;display:block;}    


/*スペシャルセッション*/
ul.session{flex-flow:row wrap;margin:0 0 10em 0;align-items: flex-start;  padding:3em 3em 0 3em;}
ul.session li{flex-basis:47%;margin:0 0 3em 0;}
ul.session li:before{height:5px;margin:0 0 1.5em 0;}
ul.session li .thumb{flex-basis:48%;}
ul.session li .detail{flex-basis:47%;}
ul.session li .detail .date{font-size:133%; }
ul.session li .detail .title{font-size:111%;}

/*チケット購入と詳細はこちら*/
.ticket_here{ height:360px; }
.ticket_here_inner{top:-30px;}
.ticket_here_title{font-size:133%;margin:0 0 1.5em 0;}
.ticket_here_title span.sideright{font-size:199%;}
.ticket_here_title span.sideleft{font-size:199%;}

/*イベントへのボタン*/
.eventarea{padding:3em 0;}
.eventarea_inner{width:64%; background: #fff;border-radius:10em;padding:3em 0;}
.eventarea_inner p{font-size:150%;font-weight:500;margin:0 0 1.5em 0;letter-spacing: 3px;padding:0 10%;}  
.eventarea_inner .btnbox{width:40%;margin:auto;}





/*フローティングボタン*/
.floatingbox{position:fixed;bottom:10em;right:-11em;transform: rotate(-45deg);}
.floatingbox a{display:flex;width:350px;height:160px;border-radius:7em;align-items: center;background: #000;padding:0 0 0 2em;transition: 0.5s;overflow: hidden;border:1px solid #fff;}
.floatingbox a:before{content:""; position: absolute;top:0;left:0;width:100%;height:100%;border-radius:7em;background: linear-gradient(to right,  #f0fd9f 0%,#e3f95a 50%,#b3df58 100%); transition: 0.3s;}
.floatingbox a:hover:before{left:100%; opacity: 1;}
.floatingbox a span{width:100px;display:block;z-index:1;transform: rotate(45deg);}
.floatingbox a span.hv{display:none;}
.floatingbox a:hover{ background:#000;opacity: 1;}
.floatingbox a:hover span.df{display:none;}
.floatingbox a:hover span.hv{display:block;}   

/* //////////////////////////////////////////////////*/
} /* //////////////////////////////////////////////////*/
/* //////////////////////////////////////////////////*/

/*
left:50%;transform: translateX(-50%);-webkit- transform: translateX(-50%);
*/

@media print {
.fade{opacity:1;}
.fadein{opacity:1.0;}	
#content #jumpbtn {display:none; }  
}



