/*

イベントスケジュールオレンジ
#e13018

札幌市民芸術祭グリーン
#246f57 文字線
#d9e0e2 背景

*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@200;300;400;500;600;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Inter:wght@100..900&family=Oswald:wght@200..700&display=swap');

html,body{
	font-family:YakuHanJP,'Noto Sans JP','Cormorant Garamond','Noto Serif JP',sans-serif;
	font-weight:400;
	line-height:1.8em;
	box-sizing: border-box;
	font-feature-settings:"palt";
	margin:0;
	padding:0;
	position:relative;}

body{
	background-attachment: fixed;
	background-image:url(../img/top_back.jpg);
	background-color:#afb0a8;
	background-size:cover;
	background-position:top center;
	background-repeat:no-repeat;}

*	{margin:0;padding:0;list-style:none;box-sizing:border-box;text-align:justify;}

h1,h2,h3,h4
	{font-size: 1em;margin:0;padding:0;}

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

.t_mms	{font-size: 0.5em;line-height:1.2em !important;}
.t_ms	{font-size: 0.8em;}
.t_em	{font-size: 1.0em;}
.t_s	{font-size: 1.1em;}
.t_m	{font-size: 1.2em;}
.t_l	{font-size: 1.5em;}
.t_ll	{font-size: 1.625em;}
.t_xl	{font-size: 1.875em;}
.t_xxl	{font-size: 3.0em;line-height:1.0em !important;}

.txt_l	{font-weight: 200;}
.txt_r	{font-weight: 400;}
.txt_b	{font-weight: 600;}
.txt_eb	{font-weight: 800;}

.indent	{text-indent:-1em;padding-left:1em;}
.indent2{text-indent:-2em;padding-left:2em;}
.indent3{text-indent:-3em;padding-left:3em;}

.t_left		{text-align:left;}
.t_right	{text-align:right;}
.t_center	{text-align:center;}

.t_gold		{color:#8f713c;}
.t_silver	{color:#9fa0a0;}
.t_red		{color:#e61911;}
.t_dred		{color:#c42a15;}
.t_blue		{color:#1d2088;}
.t_color	{color:#231815;}
.t_skyblue	{color:#00afec;}
.t_white	{color:#fff;}

.t_sh5		{text-shadow:0px 0px 5px #000;}
.t_sh10		{text-shadow:0px 0px 10px #000;}

/*
.bg_red		{background-color:#e23014;}
.bg_blue	{background-color:#0060b0;}
.bg_gold	{background-color:#c5b254;}
*/

a	{text-decoration:none;color:#cf2c16;-webkit-text-decoration-skip: none;}
a:hover,
a:focus	{text-decoration:underline;opacity:0.5;transition:0.5s;}

a.other	{
	background-image:url(../img/icon_otherlink.png);
	background-position:right 10px top 50%;
	background-repeat:no-repeat;}

a.other_w{
	background-image:url(../img/icon_otherlink_w.png);
	background-position:right 10px top 50%;
	background-repeat:no-repeat;}

a.other_txt	{
	padding-right:18px;
	background-image:url(../img/icon_otherlink.png);
	background-position:right 0 top 50%;
	background-repeat:no-repeat;
	word-break: break-all;}

a.no	{
	pointer-events:none;
	opacity:0.4;}

img	{vertical-align:bottom;}
img.w	{width: 100%;}

@media screen and (max-width:640px){
a	{-webkit-text-decoration-skip: none;}
}

.cf:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;}

.pc	{display:inline;}
.sp	{display:none;}
.sp45	{display:none;}
.sp5	{display:none;}
.sp8	{display:none;}
.sp11	{display:none;}

@media screen and (max-width:1100px){
.sp11	{display:inline;}
}

@media screen and (max-width:800px){
.sp8	{display:inline;}
}

@media screen and (max-width:500px){
.pc	{display:none;}
.sp5	{display:inline;}
}

@media screen and (max-width:450px){
.sp45	{display:inline;}
}



/* 汎用 */
.block{
	width:100%;
	margin:0 auto;
	padding:50px 70px;
	position:relative;
	background-color:rgba(255,255,255,0.75);
	box-sizing:border-box;}

.block.bread{
	padding:15px 70px 10px;
	border-bottom:1px solid rgba(200,200,200,1.0);
	font-size:0.75em;}

.block.bread ul{
	display:flex;}

.block.bread li:first-child{
	margin-right:1em;}

.block.bread li:first-child::after{
	content:'＞';
	padding-left:1em;}

.skip{
	position: absolute;
	margin-left:-9999px;}

.accmenu dt{
	display:block;
	cursor:pointer;}

.accmenu dd{
	display:none;}

.accmenu dt.active{
	}

h1.all{
	padding-top:130px;
	text-align:center;}

h1.all img{
	width:155px;}

@media screen and (max-width:1000px){
h1.all{
	padding-top:50px;}
}

@media screen and (max-width:600px){
.block{
	padding:30px;}

.block.bread{
	padding:15px 30px 10px;}
}

@media screen and (max-width:500px){
h1.all{
	padding-top:40px;}

h1.all img{
	width:100px;}
}

@media screen and (max-width:400px){
.block.bread{
	padding:15px 15px 10px;}
}


/* scroll fade */
/* 基本のフェードイン */
.fade-in,
.fade-in3{
	opacity: 0;
	transition: opacity 0.5s;}

.fade-in.active,
.fade-in3.active{
	opacity: 1;}

/* 左からフェードイン */
.fade-in-left{
	opacity: 0;
	transform: translateX(-100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-left3{
	opacity: 0;
	transform: translateX(-500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-left.active,
.fade-in-left3.active{
	opacity: 1;
	transform: translateX(0);}

/* 右からフェードイン */
.fade-in-right{
	opacity: 0;
	transform: translateX(100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-right3{
	opacity: 0;
	transform: translateX(500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-right.active,
.fade-in-right3.active{
	opacity: 1;
	transform: translateX(0);}

/* 上からフェードイン */
.fade-in-up{
	opacity: 0;
	transform: translateY(-100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-up3{
	opacity: 0;
	transform: translateY(-500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-up.active,
.fade-in-up3.active{
	opacity: 1;
	transform: translateY(0);}

/* 下からフェードイン */
.fade-in-down{
	opacity: 0;
	transform: translateY(100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-down3{
	opacity: 0;
	transform: translateY(500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-down.active,
.fade-in-down3.active{
	opacity: 1;
	transform: translateY(0);}

@media screen and (max-width:500px){
/* scroll fade */

/* 左からフェードイン */
.fade-in-left,
.fade-in-left3{
 	transition: opacity 1.0s, transform 0.5s;}

/* 右からフェードイン */
.fade-in-right,
.fade-in-right3{
 	transition: opacity 1.0s, transform 0.5s;}

/* 上からフェードイン */
.fade-in-up,
.fade-in-up3{
 	transition: opacity 1.0s, transform 0.5s;}

/* 下からフェードイン */
.fade-in-down,
.fade-in-down3{
 	transition: opacity 1.0s, transform 0.5s;}
}

/* 並びのフェードイン */
.fade-in-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.fade-in-item.active {
  opacity: 1;
  transform: translateY(0);
}



@media screen and (min-width:1001px){
nav.header {
	display:none;}
}

/* ハンバーガー */
.hamburger {
	position:fixed;
	top:0px;
	left:calc(100vw - 75px);
	display: block;
	height: 74px;
	margin-left: auto;
	z-index: 2000;
	width: 40px;
	border: none;
	background-color:rgba(0,0,0,0);
	cursor:pointer;}

.hamburger.-active .hamburger__line {
	background-color: transparent;}

.hamburger.-active .hamburger__line::before {
	top: 0;
	transform: rotate(45deg);}

.hamburger.-active .hamburger__line::after {
	top: 0;
	transform: rotate(-45deg);}

.hamburger.-active .hamburger__text::before {
	content: 'CLOSE';}

.hamburger__line {
	display: block;
	height: 2px;
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	background-color: #fff;
	transition: 0.4s;}

.hamburger__line:before,
.hamburger__line:after {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	width: 100%;
	background-color: #fff;
	transition: inherit;}

.hamburger__line:before {
	top: -6px;}

.hamburger__line:after {
	top: 6px;}

.hamburger__text {
	position: absolute;
	bottom: 3px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align:center;}

.hamburger__text::before {
	content: "MENU";
	text-align: center;
	color: #fff;
	font-size: 0.8em;
	font-weight:400;}

.header {
	width: 300px;}

.header__nav-area {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000; /* 他の要素よりも前面に表示 */
	width: 100vw; /* ビューポートの幅に合わせる */
	height: 100vh; /* ビューポートの高さに合わせる */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0s linear 0.4s, transform 0.4s ease;
	transform: translateX(50px);
	background-color: rgba(0,0,0,0.93); /* 不透明な背景色 */
	z-index: 1900;}

.header__nav-area.-active {
	opacity: 1;
	visibility: visible;
	transition-delay: 0s; /* アクティブ時は遅延なし */
	transform: translateX(0);
	overflow-y:auto;}

@media screen and (max-width:500px){
.hamburger {
	left:calc(100vw - 60px);}
}

.gloval-navigation_box{
	width:80%;
	margin:100px auto;
	box-sizing:border-box;}

.global-navigation_list{
	display:flex;
	flex-direction:column;}

.global-navigation_list li{
	width:100%;
	color:#fff;
	border-bottom:1px solid #fff;
	box-sizing:border-box;}

.global-navigation_list li a{
	font-family:'Noto Serif JP';
	display:block;
	padding:1em 0;
	color:#fff;}



/* mv */
.mv{
	position:relative;}

.uroko{
	width:100%;
	height:440px;
	position:absolute;
	bottom:0;
	background-image:url(../img/top_back_uroko.png);
	background-position:top center;
	background-repeat:repeat-x;
	z-index:5;
	pointer-events: none;}

@media screen and (max-width:1000px){
.uroko{
	bottom:80px;}
}

/* fv */
.fv{
	position:relative;}

/* header */
header{
	position:absolute;
	top:auto;
	left:auto;
	bottom:0;
	width:100%;
	background-color:rgba(0,0,0,0.8);
	box-sizing:border-box;
	z-index:1000;}

header.sticky {
	height:auto;
	position: fixed;
	top: 0;
	bottom:auto;
	left: 0;}

header ul.gmenu{
	width:1280px;
	margin:0 auto;
	display:flex;}

header ul.gmenu li{
	margin:20px 1.5em 20px 0;}

header ul.gmenu li a{
	font-feature-settings: "palt";
	font-size:0.8em;
	font-family:'Noto Serif JP';
	font-weight:200;
/*	letter-spacing:0.1em;*/
	color:#fff;}

@media screen and (max-width:1380px){
header ul.gmenu{
	width:100%;
	margin:0;
	padding:0 50px;
	box-sizing:border-box;
	display:flex;}
}

@media screen and (max-width:1000px){
header{
	display:none;}
}

.fv_belt{
	position:relative;
	background-color:#3f3b3a;
	padding:50px 0;}

.fv_belt .copyright{
	position:absolute;
	color:#fff;
	top:0px;
	right:20px;
	font-size:0.7em;}

.fv_belt .fv_block{
	position:relative;
	width:1280px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;}

.fv_belt .fv_block .date{
	width:48%;
	max-width:515px;
	z-index:10;}

.fv_belt .fv_block .date img{
	width:100%;}

.fv_belt .fv_block .info{
	width:50%;
	z-index:10;}

.fv_belt .fv_block .info ul.button{
	width:100%;
	display:flex;
	justify-content:space-between;
	margin-bottom:30px;}

.fv_belt .fv_block .info ul.button li{
	width:48%;
	border:1px solid #fff;
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);}

.fv_belt .fv_block .info ul.button li a{
	display:block;
	text-align:center;
	font-size:1.2em;
	font-family:'Noto Serif JP';
	font-weight:200;
	letter-spacing:0.2em;
	color:#fff;
	padding:40px 0;
	background-color:rgba(0,0,0,0.5);}

.fv_belt .fv_block .info ul.button li a.nls{
	letter-spacing:0em;}

.fv_belt .fv_block .info ul.logo{
	display:flex;
	justify-content:flex-end;}

.fv_belt .fv_block .info ul.logo li{
	height:40px;
	margin-right:15px;}

.fv_belt .fv_block .info ul.logo li:nth-child(2){
	padding-right:15px;
	border-right:1px solid #fff;}

.fv_belt .fv_block .info ul.logo li:last-child{
	margin-right:0;}

.fv_belt .fv_block .info ul.logo li a{
	display:block;}

.fv_belt .fv_block .info ul.logo li img{
	height:40px;}

@media screen and (max-width:1380px){
.fv_belt .fv_block{
	width:100%;
	margin:0;
	padding:0 50px;
	box-sizing:border-box;}
}

@media screen and (max-width:1000px){
.fv_belt{
	position:relative;
	background-color:#363636;
	padding:0 0 30px 0;}

.fv_belt .copyright{
	position:relative;
	width:100%;
	color:#fff;
	top:0px;
	font-size:0.7em;
	line-height:1em;
	text-align:right;
	margin-bottom:2em;}

.fv_belt .fv_block{
	width:100%;
	margin:0;
	padding:0 50px;
	display:flex;
	flex-direction:column;}

.fv_belt .fv_block .date{
	width:100%;
	max-width:515px;
	z-index:10;
	margin-bottom:50px;}

.fv_belt .fv_block .date img{
	width:100%;}

.fv_belt .fv_block .info{
	width:100%;
	z-index:10;}

.fv_belt .fv_block .info ul.logo{
	display:flex;
	justify-content:center;}
}

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

.fv_belt .fv_block .date{
	margin-bottom:30px;}

.fv_belt .fv_block .info ul.button{
	width:100%;
	display:flex;
	flex-direction:column;
	margin-bottom:10px;}

.fv_belt .fv_block .info ul.button li{
	width:100%;
	border:1px solid #fff;
	margin-bottom:20px;}

.fv_belt .fv_block .info ul.button li a{
	padding:30px 0;}

}


/* スライダー */
.slider_pc{
	width: 100%;
	min-height: 800px;
	overflow: hidden;
	position: relative;
	background-image: url('../img/top_main_back.jpg');
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;}

.slider_pc img {
	width: auto;
	height: 100%;
	min-width: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);}

.slider_sp{
	display:none;}

@media screen and (max-width:1000px){
.slider_sp {
	display:inline;
	width: 100%;
	min-height: auto;
	overflow: hidden;
	position: relative;
	background-image:none;
	background-color:#363636;
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;}

.slider_sp img {
	width: 100%;
	height: auto;
	min-width: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);}

.slider_pc{
	display:none;}

}



.main_area{
	width:1280px;
	margin:0 auto;
	padding:50px 0;
	box-sizing:border-box;}

.main_area.btm{
	text-align:center;
	padding:0 50px 50px;}

@media screen and (max-width:1380px){
.main_area{
	width:100%;
	padding:50px;}
}

@media screen and (max-width:500px){
.main_area{
	width:100%;
	padding:30px;}

.main_area.btm{
	padding:30px;}
}



.block h2{
	font-family:'Noto Serif JP';
	font-size:1.5em;
	text-align:center;
	margin-bottom:20px;}



.whatsnew{
	margin-bottom:50px;}

.whatsnew ul{
	display:flex;
	flex-direction:column;
	border-top:1px solid rgba(0,0,0,0.3);}

.whatsnew li{
	display:flex;
	justify-content:space-between;
	padding:20px 0;
	border-bottom:1px solid rgba(0,0,0,0.3);}

.whatsnew li .date{
	width:100px;}

.whatsnew li .text{
	width:calc(100% - 120px);}

@media screen and (max-width:800px){
.whatsnew{
	padding:30px;}
}

@media screen and (max-width:500px){
.whatsnew{
	margin-bottom:30px;}

.whatsnew li{
	flex-direction:column;}

.whatsnew li .date{
	width:100%;}

.whatsnew li .text{
	width:100%;}
}


.sponsor{
	padding-bottom:30px;}

.sponsor ul{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;}

.sponsor li{
	width:22%;
	margin-right:4%;
	margin-bottom:20px;
	text-align:center;}

.sponsor li a{
	display:block;
	padding:20px 0;
	background:#fff;
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.1);}

.sponsor li:nth-child(4n){
	margin-right:0;}

.sponsor li a{
	display:block;
	text-align:center;}

.sponsor li p{
	margin-top:5px;
	text-align:center;}

@media screen and (max-width:1000px){
.sponsor li{
	width:31%;
	margin-right:3.5%;}

.sponsor li:nth-child(4n){
	margin-right:3.5%;}

.sponsor li:nth-child(3n){
	margin-right:0;}
}

@media screen and (max-width:800px){
.sponsor{
	padding:30px 30px 10px;}

.sponsor li{
	width:48%;
	margin-right:4%;}

.sponsor li:nth-child(4n){
	margin-right:4%;}

.sponsor li:nth-child(3n){
	margin-right:4%;}

.sponsor li:nth-child(2n){
	margin-right:0;}
}

@media screen and (max-width:500px){
.sponsor ul{
	flex-direction:column;}

.sponsor li{
	width:100%;
	margin-right:0%;
	margin-bottom:20px;}

.sponsor li:nth-child(4n){
	margin-right:0;}

.sponsor li:nth-child(3n){
	margin-right:0;}
}



/* 公演概要 */
.about h3{
	font-family:'Noto Serif JP';
	font-size:1.4em;
	color:#00498a;
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:15px;}

.about h3 img.kitara{
	width: 75px;
	height: 25px;}

.about h3 span.front{
	font-size:0.8em;
	margin:0 10px;
	padding-left:10px;
	border-left:1px solid #00498a;}

.about h3 span.after{
	font-size:0.8em;
	margin:0 10px 0 0;
	padding-right:10px;
	border-right:3px double #00498a;}

.about h3.logo{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;}

.about h4{
	font-size:1.1em;
	margin-bottom:10px;}

.about .text{
	margin-bottom:40px;}

.about .text.btm{
	margin-bottom:0;}

.about .text p{
	font-size:1.0em;}

.about .about_block{
	margin-bottom:50px;
	display:flex;
	justify-content:space-between;}

.about .about_block .text{
	width:60%;
	margin:0;}

.about .about_block .photo{
	width:35%;}

.about .about_block .photo img{
	width:100%;}

.about .photo ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;}

.about .photo li{
	width:22%;
	margin-right:4px;}

.about .photo li:last-child{
	margin-right:0;}

.about .photo li p{
	font-family:'Noto Serif JP';
	text-align:left;}

.about .photo li .cap{
	font-size:0.8em;
	text-align:right;}

.about .photo li .sub{
	font-size:0.9em;
	line-height:1.4em;}

.about .photo li .title{
	font-size:1.2em;
	font-weight:500;
	line-height:1.7em;}

.about .photo li .date{
	font-size:0.9em;
	font-weight:500;
	color:#00498a;}

.about .photo li img{
	width:100%;}

.about .about_block .program dl{
	justify-content:flex-start;
	align-items:center;
	gap:15px;}

.about .about_block .program dl dt{
	width:auto;
	padding:5px 10px;
	margin:0;}

.about .about_block .program dl dd{
	width:auto;}

@media screen and (max-width:1000px){
.about .about_block{
	flex-direction:column-reverse;
	margin-bottom:30px;}

.about .about_block .photo{
	width:100%;
	margin-bottom:20px;}

.about .about_block .text{
	width:100%;}

.about .photo li{
	width:48%;
	margin-right:4px;
	margin-bottom:10px;}

.about .photo li:nth-child(2n){
	margin-right:0;}
}

@media screen and (max-width:700px){
.about .photo li{
	width:100%;
	margin-right:4px;
	margin-bottom:10px;}

}


/* プログラム */
.program dl{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-bottom:2em;
	font-family:'Noto Serif JP';}

.program dl.btm{
	margin-bottom:0;}

.program dt{
	width:60px;
	margin-bottom:5px;
	text-align:center;}

.program dt.title{
	color:#00498a;
	border:1px solid #00498a;
	padding:1px 0;}

.program dt.none{
	display:none;}

.program dd{
	width:calc(100% - 80px);}

.program dd.title{
	font-size:1.4em;
	color:#00498a;}

.program dd.explanation{
	width:100%;}

.program dd.title span{
	font-size:0.8em;
	margin-left:0.5em;}

.program ul{
	display:flex;
	flex-wrap:wrap;}

.program li{
	display:flex;
	flex-wrap:nowrap;}

.program ul.two li{
	width:300px;}

.program ul.three li{
	width:180px;}

.program ul.four li{
	margin-right:2em;}

.program li .role{
	margin-right:1.5em;}

.program li.break{
	flex-basis: 100%;}

.program .after1{
	padding-right:1em;}

.program .after2{
	padding-right:2em;}

.program .br5{
	display:none;}

.program .product{
	font-family:'Noto Serif JP';
	line-height:2.0em;
	display:flex;
	justify-content:flex-start;}

.program .product .left{
	width:50%;
	flex-direction:column;
	border-right:1px solid #000;
	padding-right:2em;
	margin-right:2em;
	line-height:2.0em;}

.program .product .left .role{
	width:200px;}

.program .product .left .name{
	font-size:1.3em;}

@media screen and (max-width:1100px){
.program .product{
	flex-direction:column;}

.program .product .left{
	width:100%;
	border-right:none;
	padding-right:0;
	margin-right:0}

.program .product .right .role{
	width:200px;}
}

@media screen and (max-width:1000px){
.program li.break{
	display:none;}

.program li .role{
	margin-right:0;
	width:4em;}

.program .two li .role{
	margin-right:0;
	width:10em;}

.program .adachi li .role{
	width:5em;}
}

@media screen and (max-width:800px){
.program ul{
	display:flex;
	flex-direction:column;
	flex-wrap:wrap;}

.program li{
	flex-wrap:wrap;}

.program .adachi li{
	flex-wrap:nowrap;}

.program .four.adachi li.name{
	margin-right:0;
	margin-left:5em;}

.program .product .left li,
.program .product .right li{
	flex-direction:column;}

.program .product .left li .name,
.program .product .right li .name{
	margin-left:1em;
	margin-bottom:8px;}
}

@media screen and (max-width:600px){
.program ul.two li{
	width:100%;}

.program ul.three li{
	width:100%;}

.program ul.four li{
	margin-right:0;}

.program .pommes li{
	flex-direction:column;}

.program .pommes li .name{
	margin-left:1em;}
}

@media screen and (max-width:500px){
.program .br5{
	display:inline;}

.program .t_s5{
	font-size:0.8em;}

.program dl{
	display:flex;
	flex-direction:column;
	margin-bottom:2em;}

.program dt{
	width:100%;
	margin-bottom:0;
	text-align:left;}

.program dt.title{
	margin-bottom:10px;
	text-align:center;}

.program dt.none{
	display:none;}

.program dd{
	width:100%;}

.program dd.title{
	margin-bottom:5px;}
}


/* チケット情報 */
.ticket .map_block{
	margin-bottom:50px;
	display:flex;
	justify-content:space-between;}

.ticket .map_block .figure{
	width:25%;}

.ticket .map_block .figure table{
	width:100%;
	border-collapse:collapse;}

.ticket .map_block .figure table thead{
	border:none;}

.ticket .map_block .figure table thead th{
	width:50%;
	text-align:center;
	padding:0 0 5px;}

.ticket .map_block .figure table tbody{
	width:100%;
	border-bottom:1px solid #000;}

.ticket .map_block .figure table tbody td{
	width:50%;
	text-align:center;
	font-weight:600;
	border-top:1px solid #000;
	background-color:#fff;
	padding:5px 0;}

.ticket .map_block .figure table tbody td.seat.ss{
	background-color:#e40012;}

.ticket .map_block .figure table tbody td.seat.sa{
	background-color:#c5da4e;}

.ticket .map_block .figure table tbody td.seat.sb{
	background-color:#f19500;}

.ticket .map_block .figure table tbody td.seat.a{
	background-color:#acb1f1;}

.ticket .map_block .figure table tbody td.seat.b{
	background-color:#5db5e6;}

.ticket .map_block .figure table tbody td.seat.c{
	background-color:#036eb6;}

.ticket .map_block .figure table tbody td.seat.etc{
	background-color:#172A88;}

.ticket .map_block .figure table tbody td.seat img{
	width:40px;
	vertical-align:middle;
	margin-bottom:5px;}

.ticket .map_block .figure .t_ms.fig{
	text-align:center;
	margin-top:10px;
	line-height:1.4em;
	background:#fff;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	padding:5px;}

.ticket .map_block .figure .t_ms{
	margin-top:10px;
	line-height:1.4em;}

.ticket .map_block .map{
	width:70%;}

.ticket .map_block .map p{
	font-weight:600;
	margin-bottom:5px;}

.ticket .map_block .map img{
	width:100%;}

@media screen and (max-width:800px){
.ticket .map_block{
	flex-direction:column-reverse;}

.ticket .map_block .map{
	width:100%;
	margin-bottom:20px;}

.ticket .map_block .figure{
	width:100%;}
}

.ticket h3{
	font-family:'Noto Serif JP';
	font-size:1.4em;
	color:#000;
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:15px;}

.ticket h4{
	font-size:1.1em;
	margin-bottom:10px;}

.ticket .text{
	margin-bottom:40px;}

.ticket .text.btm{
	margin-bottom:0;}

.ticket .text p{
	font-size:1.0em;}

.ticket .text p.dot{
	text-indent:-1em;
	padding-left:1em;}

.ticket .text p.dot:before{
	content:'・';
	padding:0 0.25em;}

.ticket .text p img.icon{
	vertical-align:-2px;
	margin:0 5px;}

.ticket .sold{
	width:100%;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:20px;}

.ticket .sold dl{
	/*width:20%;*/}

.ticket .sold dt{
	font-weight:600;
	font-size:1.1em;}

.ticket .sold dd ul{
	display:flex;
	flex-wrap:wrap;
	border-top:1px solid #000;}

.ticket .sold dd li{
	width:50%;
	padding:5px 10px;
	font-weight:600;
	font-size:1.1em;
	box-sizing:border-box;
	text-align:center;
	background-color:#fff;
	border-bottom:1px solid #000;}

.ticket .sold dd li.out{
	color:#ccc;
	background-color:#666;}

.ticket .sold dd li.ss{
	color:#fff;
	background-color:#e40012;}

.ticket .sold dd li.sa{
	color:#fff;
	background-color:#c5da4e;}

.ticket .sold dd li.sb{
	color:#fff;
	background-color:#f19500;}

.ticket .sold dd li.a{
	color:#fff;
	background-color:#acb1f1;}

.ticket .sold dd li.b{
	color:#fff;
	background-color:#5db5e6;}

.ticket .sold dd li.c{
	color:#fff;
	background-color:#036eb6;}

.ticket .sold dd li.etc{
	color:#fff;
	background-color:#172A88;}

.ticket #soldMenu{
width:100%;
display:flex;
justify-content:start;
flex-wrap:wrap;
gap:10px;
}
.ticket #soldMenu li{
width:40px;
}
.ticket #soldMenu li a{
display:block;
font-size:1.2em;
color:#000;
font-weight:600;
text-align:center;
padding:5px;
border:#000 1px solid;
border-radius:5px;
background:#fff;
opacity:1;
}
.ticket #soldMenu li a.active{
color:#fff;
background:#000;
opacity:1;
}
.ticket #soldBoxA,#soldBoxB,#soldBoxC,#soldBoxD,#soldBoxE,#soldBoxF,#soldBoxG,#soldBoxH,#soldBoxI,#soldBoxJ,#soldBoxK{
width:100%;
}
.ticket #soldBoxA{
}
.ticket #soldBoxB,
.ticket #soldBoxC,
.ticket #soldBoxD,
.ticket #soldBoxE,
.ticket #soldBoxF,
.ticket #soldBoxG,
.ticket #soldBoxH,
.ticket #soldBoxI,
.ticket #soldBoxJ,
.ticket #soldBoxK{
display:none;
}


@media screen and (max-width:500px){
.ticket .map_block{
	margin-bottom:30px;}
}



/* 交通アクセス */
.access .map_pc{
	margin-bottom:50px;}

.access .map_sp{
	display:none;}

.access h3{
	font-family:'Noto Serif JP';
	font-size:1.4em;
	color:#000;
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:10px;}

.access .text{
	margin-bottom:40px;}

.access .text.btm{
	margin-bottom:0;}

.access .text p{
	font-size:1.0em;
	margin-bottom:10px;}

.access .parking_selling dl{
	display:flex;
	flex-wrap:wrap;
	margin-left:1em;}

.access .parking_selling dl dt{
	width:3.5em;}

.access .parking_selling dl dd{
	width:calc(100% - 3.5em);}

@media screen and (max-width:500px){
.access .map_pc{
	display:none;}

.access .map_sp{
	display:block;}
}

.access .col_sub{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:20px;}

.access .col_sub .sub_word{
	width:350px;
	padding-right:20px;
	box-sizing:border-box;}

@media screen and (max-width:1380px){
.access .col_sub .sub_word{
	width:100%;}
}

.access .col_sub .sub_makomanai{
	width:780px;}

.access .col_sub .sub_makomanai table.hyo{
	width:100%;}

.access .col_sub .sub_makomanai table.hyo th,
.access .col_sub .sub_makomanai table.hyo td{
	width:12.5%;
	font-size:0.9em;
	line-height:1em;
	padding:8px 3px;}

.access .col_sub .sub_makomanai table.hyo td.nb{
	border:1px solid rgba(0,0,0,0);
	background-color:rgba(0,0,0,0);}

.access .col_sub .sub_makomanai table.hyo th{
	white-space:nowrap;}

@media screen and (max-width:640px){
.access .col_sub .sub_makomanai .pc{
	display:none;}

.access .col_sub .sub_makomanai .sp{
	display:block;}
}



/* 重要なお知らせ */
.important h3{
	font-family:'Noto Serif JP';
	font-size:1.4em;
	color:#e60012;
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:10px;}

.important .date{
	font-size:1.0em;
	margin-bottom:10px;}

.important .text{
	margin-bottom:40px;}

.important .text.btm{
	margin-bottom:0;}

.important .text p{
	font-size:1.0em;
	margin-bottom:10px;}



/* 注意事項 */
.caution_select{
	margin-top:30px;
	display:flex;
	justify-content:center;
	column-gap: 20px;}

.caution_select li{
	width:14em;}

@media screen and (max-width:500px){
.caution_select{
	margin:30px 30px 0 30px;
	flex-direction:column;
	row-gap:15px;}

.caution_select li{
	width:80%;
	margin:0 auto;}
}

.caution_select li a{
	font-family:'Noto Serif JP';
	font-weight:600;
	display:block;
	text-align:center;
	padding:0.5em 1em;
	background-color:rgba(255,255,255,0.9);
	border-radius:2em;}

.caution_select li a:hover{
	opacity:1;
	background-color:rgba(255,255,255,0.5);}

.caution h3{
	font-family:'Noto Serif JP';
	font-size:1.4em;
	color:#e60012;
	border-bottom:1px solid #000;
	padding-bottom:10px;
	margin-bottom:10px;}

.caution .text,
.caution .faq{
	margin-bottom:40px;}

.caution .text.btm,
.caution .faq.btm{
	margin-bottom:0;}

.caution .text p{
	font-size:1.0em;
	margin-bottom:10px;}

.caution .faq dt {
	display: block;
	width: 100%;
	border-bottom: #999 1px solid;
	padding: 0.5em 2.0em;
	cursor: pointer;
	box-sizing: border-box;
	transition: 0.5s;
	position: relative;}

.caution .faq dt:hover,
.caution .faq dt:focus {
	background-color: rgba(255, 255, 255, 0.5);}

.caution .faq dt:before {
	content: "Q :";
	position: absolute;
	font-family:'Noto Serif JP';
	font-weight:600;
	color:#e60012;
	top: center;
	left: 0.5em;}

.caution .faq dd {
	background: #fff;
	width: 100%;
	margin-bottom: 1em;
	padding: 0.5em 2.0em;
	box-sizing: border-box;
	display: none;
	position: relative;}

.caution .faq dd:before {
	content: "A :";
	position: absolute;
	font-family:'Noto Serif JP';
	font-weight:600;
	color:#00498a;
	top: center;
	left: 0.6em;}

.caution .faq dt.active {
	background: #fff;
	opacity: 1;}


/* フッター */
footer{
	padding:50px;
	background:#3F3B3A;}

.footer_area{
	width:1280px;
	margin:0 auto;
	box-sizing:border-box;
	display:flex;
	justify-content:space-between;}

footer .logo{
	width:120px;}

footer .text{
	width:calc(100% - 130px);
	font-size:0.9em;
	line-height:1.8em;
	color:#fff;}

footer .text dl{
	display:flex;}

footer .text dt{
	margin-right:5px;
	white-space:nowrap;}

footer .text dt::after{
	content:'：';
	margin-left:5px;}

.footer_area .text ul{
	display:flex;
	justify-contents:flex-start;
	flex-wrap:wrap;}

.footer_area .text ul li{
	margin-right:1.0em;}

.footer_area .text ul li.line{
	margin-right:1.0em;
	border-right:1px solid #fff;
	padding-right:1.0em;}

.footer_area.btm{
	margin-top:20px;
	padding-top:20px;
	border-top:1px solid rgba(255,255,255,0.2);}

.footer_area.btm p{
	width:100%;
	text-align:center;}

.footer_area.btm a{
	color:#fff;}

@media screen and (max-width:1380px){
.footer_area{
	width:100%;
	padding:0 50px;}
}

@media screen and (max-width:800px){
.footer_area{
	flex-direction:column;
	padding:0;}

footer .logo{
	width:100%;
	text-align:center;
	margin-bottom:30px;}

footer .text{
	width:100%;}
}



/* HOMEに戻るボタン */
.backbtn{
	display:inline-block;}

.backbtn a{
	display:block;
	line-height:1em;
	padding:1em 3em;
	background:rgba(255,255,255,0.75);
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.1);}

.backbtn a:hover{
	opacity:0.8;}

.backbtn a img{
	height:30px;}

@media screen and (max-width:500px){
.backbtn{
	display:block;}

.backbtn a{
	text-align:center;}
}


table.hyo{
	border:1px solid #000;
	border-collapse:collapse;}

table.hyo th{
	width:6em;
	padding:5px;
	text-align:center;
	border:1px solid #000;}

table.hyo td{
	padding:5px;
	text-align:center;
	border:1px solid #000;
	background-color:#fff;}





/* mv_banner */

.mv_banner{
	position:absolute;
	right:50px;
	bottom:100px;
	z-index:100;}

.mv_banner img{
	width:300px;
	transition:0.3s;}

.mv_banner a:hover{
	opacity:1;}

.mv_banner a:hover img{
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);}

.lity-container{
	width:80% !important;}

@media screen and (max-width:1000px){
.mv_banner{
	position:relative;
	width:100%;
	height:180px;
	right:0;
	bottom:0;
	z-index:4;
	width:100%;
	background:#363636;
	text-align:center;
	padding:15px;}

.mv_banner img{
	width:300px;
	transition:0.3s;}
}


/* mv_banner_w */

.mv_banner_w{
	width:300px;
	position:absolute;
	right:50px;
	bottom:100px;
	z-index:100;
	display:flex;
	flex-direction:column;
	gap:10px;}

.mv_banner_w img{
	width:300px;
	transition:0.3s;}

.mv_banner_w a:hover{
	opacity:1;}

.mv_banner_w a:hover img{
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.5);}

@media screen and (max-width:1000px){
.mv_banner_w{
	width:610px;
	position:relative;
	z-index:100;
	left:auto;
	top:auto;
	right:auto;
	bottom:auto;
	display:flex;
	flex-direction:row;
	space-between;
	gap:10px;
	margin:20px auto;}

.mv_banner_w div{
	width:50%;}

.mv_banner_w img{
	width:100%;
	transition:0.3s;}
}

@media screen and (max-width:640px){
.mv_banner_w{
	width:calc(100% - 40px);
	position:relative;
	z-index:100;
	left:auto;
	top:auto;
	right:auto;
	bottom:auto;
	display:flex;
	flex-direction:row;
	gap:10px;
	margin:20px auto;}
}

@media screen and (max-width:500px){
.mv_banner_w{
	width:calc(100% - 40px);
	flex-direction:column;
	align-items:center;
	gap:10px;
	margin:20px auto;}

.mv_banner_w div{
	width:300px;}
}