@charset "utf-8";

/* ---------------------------------------------------------
point styles
---------------------------------------------------------*/
.center{text-align:center;}
.clear{clear: both;}
.bold{font-weight:bold;}
.red{color:red;}
.white{color:#fff;}
.blue{color:#051c51;}
.left{float:left;}
.right{float:right;}
.bg_blue{background:#050C3E;}
.bg_gray{background:#f7f6ef;}
strong{font-weight:bold;font-size:18px;}
.small{font-size:12px;}

/* Default link styling */
a:link { color:#000; }
a:visited { color:#000; }
a:hover, a:focus { color:#000; }
a:active { color:#000; }
a{ text-decoration: none; }
a:hover{ text-decoration: underline; }

/*--img link??--*/
a img,
.opacity a {
  transition: all .1s;
}
a img:hover,
.opacity a:hover{
  opacity:0.6;
  filter:alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
}
.sp{
	display:none;
}
/* ---------------------------------------------------------
movie styles
---------------------------------------------------------*/
/*html{
	background: url("/images/common/top.jpg") no-repeat;
    height:100%;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}*/
html{
	background-color: #000;
}
body{
    border:none;
    margin:0;
    background:#000;
    position: relative;
    line-height:1.8;
    font-family:Arial, Helvetica, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, sans-serif;
		padding-bottom: 22px;
    }
.buttonBar{
	background:#fff;
}
.mb_YTVPTime,.mb_YTVPUrl,.mb_OnlyYT,.mb_YTVPMuteUnmute,.mb_YTVPPlaypause{display:none;}

.play{
	background: rgba(255,255,255,0.2) url("/images/common/start.png") no-repeat left top;
  background-position: -13px -7px;
	height:50px;
	text-indent:-9999px;
	width:40px;
	border:none;
	margin:0;
  z-index: 3;
}
.pause{
	background: rgba(255,255,255,0.2) url("/images/common/start.png") no-repeat right top;
  background-position: -66px -7px;
	height:50px;
	text-indent:-9999px;
	width:40px;
	border:none;
	margin:0;
  z-index: 3;
}
/* ---------------------------------------------------------
index styles
---------------------------------------------------------*/
.top{
	font-size:11px;
	color:#fff;
	max-width:1124px;
	margin:0 auto 0;
  padding-top: 25px;
	height:100%;
	line-height:1.5;
}
.top a{
	color:#fff;
	display: inline-block;
}
.top h1{
	width:359px;
	height:189px;
	text-indent:-9999px;
	background: url("/images/common/id.png") no-repeat right top;
}
.top h2{
	font-size: 18px;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","小塚ゴシック Pro","Kozuka Gothic Pro","游ゴシック","Yu Gothic","メイリオ","Meiryo","ＭＳ ゴシック","MS Gothic";
	font-weight: bold;
	letter-spacing: 1.1px;
	line-height: 22px;
	margin:10px 0 5px 0;
}
.top h3{
	font-weight:bold;
	padding-top:15px;
  font-size: 12px;
}
.top h3._ttl {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 5px;
  padding-top: 0;
}
.top_menu{
	position:fixed;
	right:0;
	/*top:45%;
	top:280px;*/
	top:194px;
	z-index:2;
	height:100%;
}

.gmanu h4{
	background: url("/images/common/index_menu.png") no-repeat;
	height:43px;
	width:125px;
	text-indent:-9999px;
}
.gmanu a{
	background: url("/images/common/index_menu.png") no-repeat;
	display:inline-block;
	height:27px;
	width:125px;
	text-indent:-9999px;
	margin-bottom:18px;
}
.footer{
	padding-top: 15px;
}
a.fb_icon{
	display: inline-block;
	margin-right:10px;
}
a.tw_icon{
	display: inline-block;
	margin-right: 10px;
}
a.insta_icon{
	display: inline-block;
}
.snsIcon img {
	width: 32px;
}
.top_flex_box {
  display: flex;
}
.top_flex_box ._box + ._box {
  margin-left: 35px;
}

/* ---------------------------------------------------------
top sponsor styles
---------------------------------------------------------*/
.partners_list {
  display: flex;
  flex-wrap: wrap;
	align-items: center;
  gap: 10px;
	margin-top: 10px;
}

.partners_list a {
  height: auto;
	display: block;
}

.partners_list img {
	display: block;
	height: auto;
	object-fit: contain;
}

#fb-root {
  margin-top: 30px;
}

/* 大阪開催中止のお知らせ */
.f-110 {
	font-size: 110%;
}

.disclaimer {
	border: 2px solid #fff;
	padding: 10px 10px;
	margin: 12px 0;
}

.grad-btn {
	cursor: pointer;
	margin-top: 10px;
	display: block;
}

.grad-btn::before {
	content: "続きを読む";
	display: inline-block;
	border: 2px solid #fff;
	padding: 3px 10px;
}

.grad-item {
	position: relative;
	overflow: hidden;
	height: 0px;
	/*隠した状態の高さ*/
}

.grad-trigger {
	display: none;
	/*チェックボックスは常に非表示*/
}

.grad-trigger:checked~.grad-btn::before {
	display: none;
}

.grad-trigger:checked~.grad-item {
	height: auto;
	/*チェックされていたら、高さを戻す*/
}

.grad-trigger:checked~.grad-item::before {
	display: none;
	/*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

/* ---------------------------------------------------------
sub styles
---------------------------------------------------------*/
.gmanu.sub_menu{
	/*margin-top:276px;*/
	margin-top:190px;
	margin-left:30px;
}
.gmanu.sub_menu h4{
	background: url("/images/common/index_menu_sub.png") no-repeat;
	height:43px;
	width:125px;
	text-indent:-9999px;
}
.gmanu.sub_menu a{
	background: url("/images/common/index_menu_sub.png") no-repeat;
	display:inline-block;
	height:30px;
	width:125px;
	text-indent:-9999px;
	margin-bottom:18px;
}
.gmanu a:hover{
	background: url("/images/common/index_menu_on.png") no-repeat;
}
.gmanu a.a{
	background-position: 0 -43px;
}
.gmanu a.b{
	background-position: 0 -87px;
}
.gmanu a.c{
	background-position: 0 -130px;
}
.gmanu a.d{
	background-position: 0 -175px;
}
.gmanu a.e{
	background-position: 0 -219px;
}
.gmanu a.f{
	background-position: 0 -262px;
}
.gmanu a.g{
	background-position: 0 -307px;
}
.sub{
	position: relative;
	position: fixed;
	right:-800px;
	top:0;
	height:100%;
	width:800px;
	background:#fff;
	z-index:3;
}
.sub .close{
	position: absolute;
	z-index:4;
	top:10px;
	left:10px;
	display:inline-block;
	width:63px;
	height:63px;
	background: url("/images/common/close.png") no-repeat;
	text-indent:-9999px;
}
.sub .contents{
	width:590px;
	height:100%;
	overflow:auto;
}

.sub .contents .sp_inner{
	padding-bottom: 100px;
}
.sub .contents h2,.movie_exp h2{
	font-weight:bold;
	font-size:20px;
	text-align:right;
	padding-bottom:5px;
	border-bottom:3px solid #333;
	padding-right:22px;
	padding-top:100px;
}
.sub .contents h3{
	font-size:18px;
	font-weight:bold;
	line-height: 32px;
	padding-top:30px;
}
.sub .contents p,.sub .contents dl{
	font-size:14px;
	padding-right:20px;
	line-height:1.8;
}
.sub .contents ._subtitle{
	font-weight: bold;
}
.sub .contents dl dt{
	font-weight:bold;
	padding-top:20px;
}
.ja{
	text-align:right;
	padding-right:10px;
	font-size:14px;
}
.sub .contents .program{
	z-index:3;
}
/* ---------------------------------------------------------
schedule styles
---------------------------------------------------------*/
.schedule{
	font-size:12px;
}
.schedule a{
	text-decoration: underline;
	color:#DA1915;
}
.schedule a.blue{
	text-decoration: underline;
	color:#167BC9;
}
.schedule table{
	border:1px dotted #ccc;
}
.schedule th{
  padding-bottom:10px;
  border:1px solid #ccc;
  background:#ccc;
  font-weight:bold;
  text-align:center;
}
.schedule th,.schedule td{
	padding:10px;
}
.schedule td{
	border:1px dotted #ccc;
	text-align:center;
}
.schedule td:last-child{
	max-width: 150px;
}
.schedule td span.ttl{
	background:#167BC9;
	padding:1px 5px;
	font-size:10px;
	display:inline-block;
	margin-top:10px;
	color:#fff;
}
.schedule td .warning{
	font-size: 10px;
}
.schedule .shortcut a{
	color: #000;
}
.schedule .shortcut h3{
	padding:0;
}
.schedule .shortcut dl{
	border: 0;
	width: 80%;
	font-size: 12px;
}
.schedule .shortcut dt,
.schedule .shortcut dd{
	padding:0;
	background-color: #fff;
	font-weight: normal !important;
	text-align: left;
	vertical-align:top;
	color:#000;
	float: left;
	width: 71%;
}
.schedule .shortcut dt{
	width: 23%;
	padding:0 !important;
}

/* ---------------------------------------------------------
program styles
---------------------------------------------------------*/
.program ul li,.archives ul li{
	border:1px solid #eee;
	padding:10px;
	position: relative;
	font-size:12px;
  transition: all .2s linear;
	max-width: 200px;
}
.program ul li:hover, .archives ul li {
  opacity: 0.8;
}
.program ul li a,.archives ul li a{
	display:inline-block;
	width:100%;
	height:100%;
	top:0;
	left:0;
	position: absolute;
}
.program ul li img,.archives ul li img{
	width:200px;
	aspect-ratio: 200 / 133;
	object-fit: cover;
}
.program ul,.archives ul{
	margin-top:20px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.program ul li .title,.archives ul li .title{
	font-weight:bold;
	font-size:14px;
	padding-bottom:5px;
	line-height:1.5;
}
.program ul li .title span,.archives ul li .title span{
	font-size:12px;
}
.program ul li .title,.program ul li .cap,
.archives ul li .title,.archives ul li .cap{
	width:200px;
	display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.exp-text dl{
	font-size: 14px;
}
.program nav {
	border-bottom: 2px solid #EEEEEE;
	padding-top: 50px;
	position: sticky;
	top: 0;
	background-color: #fff;
	z-index: 100;
	width: fit-content;
}
.program nav ul {
  display: flex;
  gap: 15px;
  align-items: flex-end;
	margin-top: 0;
}
.program nav ul li {
  list-style: none;
  border: none;
  max-width: none;
  position: static;
  padding: 0;
}
.program nav ul li a {
  position: relative;
  width: auto;
  height: auto;
  text-decoration: none;
  color: #000;
  font-size: 13px;
  font-weight: bold;
	line-height: 32px;
  padding: 0 5px;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  box-sizing: border-box;
}
.program nav ul li a:hover,
.program nav ul li a:active,
.program nav ul li a.is-active {
  border-bottom-color: #000000;
  z-index: 1;
}
.sub .contents .program h3[id] {
  scroll-margin-top: 50px;
}
/* ---------------------------------------------------------
access styles
---------------------------------------------------------*/
.access .price_title{
	background:#ccc;
	padding-left:10px;
	margin-top:50px;
	margin-bottom:10px;
	font-weight:bold;
}
.access h4,.access h5{
	font-weight:bold;
	padding-top:10px;
}

.access .g-map-cap span {
    color: red;
    cursor: pointer;
    text-decoration: underline;
}
.access table{
	border:1px dotted #ccc;
	font-size:13px;
	margin-top:10px;
	width:500px;
}
.access table th{
	background:#eee;
	width:70px;
}
.access table th,.access table td{
	padding:10px 20px;
	border:1px dotted #ccc;
}
.access a.inner-link{
	font-size:13px;
}
/* ---------------------------------------------------------
ticket styles
---------------------------------------------------------*/
.ticket .price_title{
	background:#ccc;
	padding-left:10px;
	margin-top:20px;
	margin-bottom:10px;
	font-weight:bold;
}
.ticket table{
	border:1px dotted #ccc;
	font-size:14px;
	margin-top:10px;
}
.ticket table th{
	background:#eee;
}
.ticket table th,.ticket table td{
	padding:10px 20px;
	border:1px dotted #ccc;
}
.ticket table#buy{
	font-size:13px;
	width:500px;
}
.ticket table#buy th,.ticket table#buy td{
	padding:10px 10px;
}
.ticket p.small{
	font-size:11px;
	padding-top:10px;
	width:500px;
	color:#666;
}
.ticket a{
	text-decoration: underline;
	color:#DA1915;
}
.ticket ._note{
	margin: 50px 0;
}
.ticket table li{
	display: flex;
}
.ticket table li span:nth-child(2){
	margin-left: 10px;
}
/* ---------------------------------------------------------
movie_exp styles
---------------------------------------------------------*/
.movie_exp{
	position: relative;
	position: fixed;
	right:0;
	top:0;
	height:100%;
	width:590px;
	background:#fff;
	z-index:5;
}
.movie_exp{
	width:590px;
	height:100%;
	overflow:auto;
}
.movie_exp h3{
	font-size:24px;
	padding-top:50px;
	font-weight:bold;
}
.movie_exp h3 span{
	font-size:14px;
}
.movie_exp h4{
	font-weight:bold;
	font-size:18px;
	padding-top:35px;
}
.movie_exp p{
	padding-right:10px;
}
.movie_exp p.warning{
	font-size: 12px;
}
.movie_exp .copyright{
	font-size:12px;
	text-align: left;
  padding-top: 10px;
	color:#999;
}
.movie_exp .movie img{
	width:520px;
}
.movie_exp a{
	text-decoration: underline;
	color:#DA1915;
}
.video{
	background-color: #000;
}
/* ---------------------------------------------------------
support styles
---------------------------------------------------------*/
.support{
	clear:both;
	padding-top:50px;
	margin-top:150px;
	border-top:1px solid #ccc;
	padding-bottom:50px;
}
.support table th{
	font-weight:bold;
	padding-top:20px;
}

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

/* ---------------------------------------------------------
program detail, archive detail styles
---------------------------------------------------------*/
.third-layer p{
	font-size: 14px;
}
.third-layer a.close{
	font-size: 14px;
	display: block;
	margin: 30px 0 ;
}
/* ---------------------------------------------------------
program detail, archive detail styles
---------------------------------------------------------*/
.dialog{
	display:none;
}



.contact a{
	text-decoration: underline;
	color:#DA1915;
}


/* ---------------------------------------------------------
about
---------------------------------------------------------*/

.about .map{
	background: url("/images/map.png");
	width:570px;
	height:477px;
	margin-top:50px;
	position: relative;
	}
	.about .map .a{
		position: absolute;
		top:138px;
		left:273px;
	}
	.about .map .b{
		position: absolute;
		top:125px;
		left:272px;
	}
	.about .map .c{
		position: absolute;
		top:135px;
		left:281px;
	}
	.about .map .d{
		position: absolute;
		top:135px;
		left:262px;
	}
	.about .map .e{
		position: absolute;
		top:138px;
		left:291px;
	}
	.about .map .g{
		position: absolute;
		top:150px;
		left:280px;
	}
	.about .map .h{
		position: absolute;
		top:162px;
		left:274px;
	}
	.about .map .i{
		position: absolute;
		top:160px;
		left:292px;
	}
	.about .map .j{
		position: absolute;
		top:138px;
		left:302px;
	}
	.about .map .k{
		position: absolute;
		top:145px;
		left:310px;
	}
	.about .map .l{
		position: absolute;
		top:147px;
		left:335px;
	}
	.map .m{
		position: absolute;
		top:145px;
		left:370px;
	}
	.about .map .n{
		position: absolute;
		top:155px;
		left:380px;
	}
	.about .map .o{
		position: absolute;
		top:150px;
		left:400px;
	}
	.about .map .p{
		position: absolute;
		top:135px;
		left:310px;
	}
	.about .map .q{
		position: absolute;
		top:185px;
		left:328px;
	}
	.about .map .r{
		position: absolute;
		top:107px;
		left:241px;
	}
	.about .map .s{
		position: absolute;
		top:200px;
		left:381px;
	}
	.about .map .u{
		position: absolute;
		top:215px;
		left:555px;
	}
	.about .map .v{
		position: absolute;
		top:255px;
		left:550px;
	}
	.about .map .u{
		position: absolute;
		top:168px;
		left:432px;
	}
	.about .map .v{
		position: absolute;
		top:205px;
		left:445px;
	}
	.about .map .w{
		position: absolute;
		top:172px;
		left:471px;
	}
	.about .map .x{
		position: absolute;
		top:195px;
		left:434px;
	}
	.about .map .y{
		position: absolute;
		top:314px;
		left:515px;
	}
	.about .map .z{
		position: absolute;
		top:292px;
		left:464px;
	}
	.about .map .aa{
		position: absolute;
		top:277px;
		left:212px;
	}
	.map .bb{
		position: absolute;
		top:271px;
		left:317px;
	}
	.about .map .cc{
		position: absolute;
		top:293px;
		left:197px;
	}
	.map .dd{
		position: absolute;
		top:327px;
		left:180px;
	}
	.about .map .ee{
		position: absolute;
		top:221px;
		left:185px;
	}
	.map .ff{
		position: absolute;
		top:215px;
		left:175px;
	}
	.map .gg{
		position: absolute;
		top:231px;
		left:168px;
	}
	.about .map .hh{
		position: absolute;
		top:170px;
		left:165px;
	}
	.about .map .ii{
		position: absolute;
		top:200px;
		left:134px;
	}
	.about .map .jj{
		position: absolute;
		top:129px;
		left:105px;
	}

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

  .content-pc {
    padding-left: 7vw;
  }
}

.about iframe {
	width: 90%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* ---------------------------------------------------------
accordion
---------------------------------------------------------*/

.accordionWrapper {
}

.accordionWrapper .accordionList {
	padding: 40px 15px;
}

.accordionWrapper .accordionList .accordionContent {
	border-bottom: 1px solid rgba(127, 127, 127, 1);
}

.accordionWrapper .accordionList .accordionContent:first-child {
	border-top: 1px solid rgba(127, 127, 127, 1);
}

.accordionWrapper .accordionList .accordionContent details summary {
	font-size: 16px;
	padding: 20px 12px 20px 16px;
	display: flex;
    justify-content: space-between;
	align-items: center;
	list-style: none;
}

.accordionWrapper .accordionList .accordionContent details summary .date {
	color: #333;
	font-size: 14px;
    margin-left: 10px;
}

.accordionWrapper .accordionList .accordionContent details summary .place {
	white-space: nowrap;
}

.accordionWrapper .accordionList .accordionContent details summary::-webkit-details-marker {
	display:none;
}


.accordionWrapper .accordionList .accordionContent details summary .polygon {
	background-color: #000;
	height: 8px;
	width: 13px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin-left: auto;
	flex-shrink: 0;
}

.accordionWrapper .accordionList .accordionContent details a {
	color: #DA1915;
}

.accordionWrapper .accordionList .accordionContent details .content {
	background-color: #fff;
	padding: 16px;
	border-top: 1px solid rgba(127, 127, 127, 1);
}

.accordionWrapper .accordionList .accordionContent details .content dt {
	background: initial;
	color: #000;
	font-size: 16px;
	padding-left: 0;
	padding-top: 0;
}

.accordionWrapper .accordionList .accordionContent details .content dd {

}

.accordionWrapper .accordionList .accordionContent details .content dd p {
	font-size: 16px;
}

.accordionWrapper .accordionList .accordionContent details .content dd p span {
	font-size: 14px;
}

.accordionWrapper .accordionList .accordionContent details .content dd .date {
	margin-bottom: 16px;
}

.accordionWrapper .accordionList .accordionContent details .content dd .program {
	margin-bottom: 33px;
}

.accordionWrapper .accordionList .accordionContent details .content dd .program:last-child {
	margin-bottom: 24px;
}

.accordionWrapper .accordionList .accordionContent details .content dd .date span {
	color: #000;
	font-size: 14px;
}

.accordionWrapper .accordionList .accordionContent details .content dd .ic_link_outside {
	margin-left: 8px;
	width: 12px;
}

/* ---------------------------------------------------------
ticket
---------------------------------------------------------*/

.ticketPlaceListWrapper {
}

.ticketPlaceList {
	padding: 40px 15px;
}

.ticketPlaceList .ticketPlaceContent {
	margin-bottom: 20px;
}

.ticketPlaceList .ticketPlaceContent .place {
	border-bottom: 1px solid #333;
	font-size: 16px;
	padding: 16px;
}

.ticketPlaceList .ticketPlaceContent .place .date {
	font-size: 10px;
    margin-left: 10px;
}

.ticketPlaceList .ticketPlaceContent .title {
	font-size: 16px;
	padding: 16px;
}

.ticketPlaceList .ticketPlaceContent a {
	margin: 0 16px;
}

.ticketPlaceList .ticketPlaceContent .passmarket_btn {
	border: 1px solid #333;
	max-width: 156px;
}
.video-bg {
  position: fixed;
  inset: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  object-fit: cover;
}