@charset "utf-8";

/* Base setting */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body {
	line-height: 1.4em;
	letter-spacing: -.04em;
	color: rgba(239,239,239,1.00);
	background-color: #1a1a1a;
}
a {
	text-decoration: none;
	transition: all 300ms 0s ease-in-out;
	color: #ffcc00;
}
a:hover {
	text-decoration: none;
	color: #FFcc00;
}


section {
	padding: 3em 0 1em;
	clear: both;
}
.ct {
	margin-left: auto;
	margin-right: auto;
}
h2, h3, h4, div > dl > dt {
	font-family: "Sawarabi Mincho";
	font-weight: 600;
}
h3 {
	font-size: 240%;
	line-height: 1em;
	padding: .1em 0 .1em .3em;
	margin-bottom: 1em;
	border-bottom: 3px solid rgba(255,255,255,1.00);
}



/* main */
@media(max-width:480px) {
	main section#menu {
		padding-top: 0;	
	}
}
.logo {
	text-align: center;
}
.logo h1 img {
	width: 100%;
	max-width: 906px;
}
.logo .lead2024 {
	width: 100%;
	max-width: 906px;
}
#menu h3 {
	margin-bottom: .5em;
}
@media(min-width:480px) {
	#menu .topics {
		margin-bottom: 3em;
	}
	#menu .topics > div {
		/*height: calc(200 / 1036 * (34vw - 2em) * 2);
		max-height: 140px;
		overflow-y: scroll;*/
		margin-right: 5px;
	}
}
#menu .topics dl {
	/*max-height: 300px;*/
	overflow-y: auto;
	padding: 0 .5em;
	}
#menu .topics dl dt {
}
#menu .topics dl dd {
	padding: .5em 1em .5em 1em;
	border-bottom: thin solid rgba(202,202,202,.30);
	margin-bottom: .5em
}
/*#menu .topics dl dd:last-child {
	border: none;
}*/
#menu .topics dl dd a,
#menu .topics dl dd button {
	display: inline;
	border: none;
	background: none;
	text-align: left;
}
#menu .twbox a {
	border-radius: 5px;
	transition: .3s all;
	display: block;
}
#menu .twbox a:hover {
	background-color: rgba(255,255,255,.2);
}
#menu .twbox img {
	width: 100%;
	max-width: 518px;
}




#leadbox {
	text-align: center;
}
#leadbox img {
	margin-bottom: 2em;
}
#leadbox #social li {
	display: inline-block;
}
#leadbox #social li a img {
}



/* footer */
#footer {
	font-size: 80%;
	color: #eee;
	background-color: #000;
}
#footer .ct {
	padding-top: 30px;
	padding-bottom: 30px;
}
#footer .ct p {
	text-align: center;
	margin-bottom: 1em;
}
@media(max-width:480px) {
	#footer .ct p.attention {
		text-align: left;
	}
}



/* #footer > .social */
.social {
	display: flex;
	justify-content: center;
	padding: 0 0 30px;
}
.social li {
	width: 80px;
}


/* #footer > #bnrbox */
#bnrbox {
	margin-bottom: 30px;
}
#bnrbox ul {
	display: flex;
	justify-content: center;
}
#bnrbox ul li {
	width: calc(100% / 3);
	text-align: center;
	padding: 0 10px;
}
@media (max-width:480px) {
	#bnrbox ul {
		flex-wrap: wrap;
	}
	#bnrbox ul li {
		width: calc(100% / 1);
		padding: 5px 10px;
	}
}
#bnrbox ul li a {
	color: #eee;
	display: block;
	border: 1px solid #666;
	border-radius: 3px;
	text-align: center;
	padding: 5px 0;
}



/* pagelink */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	font-size: 12px;
	z-index: 999;
}
#page-top a {
	background: #666;
	text-decoration: none;
	color: #fff;
	width: 80px;
	padding-right: 0;
	padding-left: 0;
	text-align: center;
	display: block;
	border-radius: 5px;
	-moz-opacity: 0.5;
	opacity: 0.5;
	filter: alpha(opacity=50);
	height: 80px;
	line-height: 80px;
}
#page-top a:hover {
	text-decoration: none;
	-moz-opacity: 0.9;
	opacity: 0.9;
	filter: alpha(opacity=90);
	background-color: #FC0;
}


span.attention {
	display: inline-block;
}
span.attention,
ul.attention li,
ul.dot li {
	margin-left: 1.2em;
	margin-top: .5em;
}
span.attention::before,
ul.attention li::before {
	content: '※';
	display: inline-block;
	width: 1.2em;
	text-align: left;
	margin-left: -1.2em;
}
ul.attention li span,
ul.ast li span {
	display: inline-block;
}
ul.dot li::before {
	content: '・';
	display: inline-block;
	width: 1.2em;
	text-align: left;
	margin-left: -1.2em;
}
ul.attention li.dot::before {
	content: '・';
}
ul.dot li.ast::before {
	content: '※';
}


@media screen and (max-width:480px){
	html,
	body {
		font-size: 13px;
	}
	.ct {
		width: 95%;
	}
	h3 {
		font-size: 180%;
	}
	#menu > div {
		width: 100%;
	}
	#menu {
	}
	#menu .logo {
		padding: 1em 1em 3em;		
	}
	#menu .infobox {
		width: 95%;
		margin: 0 auto 2em;
	}
	.infobox > div:last-child > div {
		display: flex;
	}
	.big {
		font-size: 170%;
	}
}
@media screen and (min-width:481px) {
	.logo h1 {
		text-align: center;
	}
	.infobox {
		display: flex;
	}
	.infobox > div {
		padding: 1em;
	}
	.infobox > div:first-child {
		width: 66%;
	}
	.infobox > div:last-child {
		width: 34%;
	}
	.big {
		font-size: 210%;
	}
}
@media screen and (min-width:481px) and (max-width:1199px){
	html,
	body {
		font-size: 13px;
	}
	.ct {
		width: 95%;
	}
	#menu {
	}
	#menu > div {
		width: 100%;
	}
	#menu .topics dl {
		/*max-height: 300px;*/
	}
}
@media screen and (min-width:1200px){
	html,
	body {
		font-size: 16px;
	}
	.ct {
		width: 1100px;
	}
}


article {
	padding-bottom: 3em;
}
@media screen and (min-width:481px) {
	article > .ct {
		padding: 1em;
	}
}
article > .ct > div {
	padding-bottom: 3em;
}
article > .ct > div:last-child {
	padding-bottom: 0;
}
article h4 {
	background-color: #333;
	padding: 5px 30px;
	margin-bottom: 30px;
}
.spec td,
.spec th {
	vertical-align: top;
	text-align: left;
}
th {
	white-space: nowrap;
}
td span {
	display: inline-block;
}
table.inner th {
	font-weight: normal;
}
table.inner td span {
	display: inline-block;
	width: 8em;
	text-align: left;
}

@media(max-width:480px) {
	table.inner2,
	table.inner2 tbody,
	table.inner2 tr,
	table.inner2 td,
	table.inner2 th {
		display: block;
	}
	table.inner2 td.list {
		padding-left: 10px;
	}
}
.spec table:not(.inner),
.price table {
	border-collapse: separate;
	border-spacing: 20px;
	margin: auto;
	font-size: 140%;
}
@media (max-width:480px) {
	.price table {
		border-spacing: 10px;
	}
}
.price .attention {
	font-size: 72%;
}
.price td {
	vertical-align: bottom;
	text-align: left;
}
.price tr > td.nowrap {
	white-space: nowrap;
} 
.price tr > td:nth-child(2) {
	text-align: right;
}
@media (max-width:480px) {
	.price td span:not(.big) {
		display: block;
	}
}
.price td.ticketgoods {
	background-color: #fff;
	text-align: center;
	border-radius: 5px;
}
.price td.ticketgoods img {
	width: 580px;
	max-width: 100%;
	border-radius: 5px;
}



.sales dl,
.attentions dl {
	margin: 0 10px;
}
@media (max-width:480px) {
	.sales dl,
	.attentions dl {
		margin: 0;
	}
}
.sales dt {
	border: 1px solid #fff;
	border-left: 14px solid #fff;
	padding: 5px 10px;
	font-size: 120%;
}
.attentions dt {
	background-color: #333;
	padding: 5px 15px;
}
.sales dd {
	padding: 15px 10px;
}
.attentions dd {
	padding: 15px 10px 30px;
}
@media (max-width:480px) {
	.sales dd {
		padding: 15px 0;
	}
	.attentions dd {
		padding: 15px 0 30px;
	}
}
.sales dd table {
	border-collapse: separate;
	border-spacing: 20px;
	margin: auto;
	font-size: 140%;
}
@media (max-width:480px) {
	.sales dd table {
		border-spacing: 10px;
		margin: auto;
	}
}

.sales dd table th {
	border-right: 8px solid #666;
	padding-right: 20px;
}

.attentions a {
	display: inline-block;
}

.sales div.out dd {
	position: relative;
}
.sales div.out dd::after {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	content: '受付は終了しました';
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.9);
	color: #eee;
	font-family: "Sawarabi Mincho";
	font-weight: 600;
	font-size: 240%;
	top: 0;
	left: 0;
	border-radius: 5px;
}





/* バナーボタン */
.followbtn {
	display: block;
	color: #000;
	background-color: #fff;
	text-decoration: none;
	width: 100%;
	text-align: left;
	line-height: 1;
	padding: 1em 2em;
	border-radius: .3em;
	position: relative;
	transition: all .6s;
	font-size: 120%;
}
.followbtn:link,
.followbtn:visited,
.followbtn:hover,
.followbtn:active {
	color: #000;
}
.followbtn::after {
	position: absolute;
	content: '〉';
	display: block;
	right: .3em;
	transition: all .6s;
	color: #000;
	top: 50%;
	transform: translateY(-50%);
}
.followbtn::before {
	position: absolute;
	content: '〉';
	display: block;
	right: .6em;
	top: 50%;
	transform: translateY(-50%);
	transition: all .6s;
	color: #000;
	opacity: 0;
}
.followbtn:hover::before {
	opacity: 1;
}
.sales .followbtn {
	margin: 15px 0;
}

/* バナーボタン　枠線 */
.followbtn2 {
	display: block;
	color: #fff;
	background-color: #111;
	text-decoration: none;
	width: 100%;
	text-align: left;
	line-height: 1;
	padding: 1em 2em 1em 1em;
	border-radius: .3em;
	position: relative;
	transition: all .6s;
	font-size: 100%;
	border: 1px solid transparent;
}
.followbtn2:link,
.followbtn2:visited,
.followbtn2:hover,
.followbtn2:active {
	color: #fff;
}
.followbtn2::after {
	position: absolute;
	content: '〉';
	display: block;
	right: 1em;
	transition: all .6s;
	color: #fff;
	top: 50%;
	transform: translateY(-50%);
}
.followbtn2::before {
	position: absolute;
	content: '〉';
	display: block;
	right: 1.5em;
	top: 50%;
	transform: translateY(-50%);
	transition: all .6s;
	color: #fff;
	opacity: 0;
}
.followbtn2:hover {
	border-color: #666;
}
.followbtn2:hover::before {
	opacity: 1;
}

@media (max-width:480px) {
	.spec table:not(.inner),
	.spec table:not(.inner) > tbody,
	.spec table:not(.inner) > tbody > tr,
	.spec table:not(.inner) > tbody > tr > th,
	.spec table:not(.inner) > tbody > tr > td {
		display: block;
	}
	.spec table:not(.inner) > tbody > tr > td {
		padding: .5em 1em 1em;
	}
	.spec table.inner {
		margin-top: .5em;
	}
}

.bnr_form {
	display: block;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.bnr_form img {
	background-color: transparent;
	transition: .3s all;
}
.bnr_form:hover img {
	background-color: #fc0;
}


@media (min-width:700px) {
#nav {
	border-bottom: 2px solid #fff;
	text-align: center;
	position: relative;
	height: 120px;
	margin-bottom: 60px;
	margin-top: -60px;
	padding-top: 60px;
}
#nav ul {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	height: 60px;
}
#nav ul li {
	font-family: "Sawarabi Mincho";
	font-weight: 600;
	font-size: min(120%, 3vw);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	background-color: #1a1a1a;
	border-radius: 5px 5px 0 0;
	margin: 0 10px 0;
	padding-top: min(20px,4vw);
	padding-bottom: min(15px,3.5vw);
	padding-left: min(120px, 8vw);
	padding-right: min(120px, 8vw);
}
#nav ul li.active {
	border-bottom: 2px solid #1a1a1a;
	font-size: min(160%, 4vw);
	padding-top: min(30px,6.5vw);
	padding-bottom: min(20px, 4vw);
}
#nav ul li.active a {
	color: #fff;
}
}
@media (max-width:699px) {
#nav {
	border-bottom: 2px solid #fff;
	text-align: center;
	position: relative;
	margin-bottom: 60px;
	margin-top: -60px;
	padding: 60px 10px 0;
}
#nav ul {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	flex-wrap: wrap;
}
#nav ul li {
	font-family: "Sawarabi Mincho";
	font-weight: 600;
	font-size: min(120%, 3vw);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	background-color: #1a1a1a;
	border-radius: 5px 5px 0 0;
	margin: 0 5px -2px;
	padding-top: min(20px,4vw);
	padding-bottom: min(15px,3.5vw);
	padding-left: min(120px, 0);
	padding-right: min(120px, 0);
	width: calc(50% - 10px);
}
#nav ul li.active {
	border-bottom: 2px solid #1a1a1a;
	font-size: min(160%, 4vw);
	padding-top: min(30px,6.5vw);
	padding-bottom: min(20px, 4vw);
	order: 3;
	width: calc(100% - 10px);
	margin: 0 5px -2px;
}
#nav ul li.active a {
	color: #fff;
}
}


#theater .accordion {
	padding: 30px 0;
}
#theater .listbox h3 {
	font-size: 140%;
	margin-top: 40px;
	position: relative;
	cursor: pointer;
	margin: 40px 0 0;
	border-width: 1px;
}
#theater h4 {
	background-color: #333;
	margin: 10px 0;
	padding: 0 5px;
	font-weight: 400;
	font-size: 120%;
}
#theater table {
	width: 95%;
	margin: 15px auto 30px;
	border: 4px double #111;
	border-collapse: collapse;
	margin-bottom: 1em;
	background-color: #222;
}
#theater table tr th {
	background-color: #111;
	color: rgba(255,255,255,.60);
	font-size: 100%;
	padding: 0.3em 0.5em;
	text-align: left;
	font-weight: lighter;
}
#theater table tr:hover {
	background-color: rgba(137,13,63,.10);
}

#theater table tr td {
	padding: .5em 1em .5em 1em;
	border-bottom: 2px solid #1a1a1a;
	font-size: 140%;
}
#theater table tr.new td {
	background-color: rgba(255,253,0,0.10);
}
#theater .theatername {
	width: 18em;
}
#theater .day,
#theater .night {
	text-align: center;
	width: 4em;
}
#theater .phone {
	width: 12em;
}
#theater td.day {
	background-color: rgba(238,238,238,.05);
}
#theater td.night {
	background-color: rgba(0,0,0,.2);
}
#theater .new td.day {
	background-color: rgba(232,230,190,0.51);
}
#theater .new td.night {
	background-color: rgba(253,255,220,0.51);
}
#theater .new .theatername::after {
	content: 'NEW!';
	color: #f00;
	display: inline-block;
	margin-left: 10px;
	font-weight: 900;
	font-size: 70%;
}


@media screen and (max-width:640px){
	#theater table {
		width: 100%;
	}
	#theater table tr td {
		padding: .8em 0 .8em;
	}
	#theater  table tr td.theatername {
		padding: .8em 1em;
	}
	#theater .day,
	#theater .night {
		text-align: center;
		width: 1em;
	}
	#theater .phone {
		width: 2em;
		padding-left: .5em;
		padding-right: .5em;
	}
}
@media screen and (max-width:480px){
	.pconly_lv {display: none}
	.sponly_lv {}
}
@media screen and (min-width:481px){
	.pconly_lv {}
	.sponly_lv {display: none}
}
#theater .listbox h3::before{/* 閉じている時 */
	content: "＋";
	position: absolute;
	right: 10px;
	color: #666;
}
#theater .listbox h3.active::before{/* 開いている時 */
	content: "－";
}

#theater .listbox .accordion {
	display: none;
}

