@charset "utf-8";

#container {
	position: relative;
	/*width: calc(89.72vw);*/
	padding: 0 0 70px;
}
#header .ct {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}
@media (min-width:600px) {
	#container {
		/*width: calc(100% - 100px);*/
		padding: 0 0 50px;
	}
}
@media (min-width:1000px) {
	#container {
		width: calc(100% - 200px);
		padding: 0 0 50px;
	}
}
.spmenu {
	display: none;
}
@media (max-width:767px) {
	nav {
		display: none;
	}
	.spmenu {
		display: block;
		margin: 0;
		padding: 0;
	}
	.spmenu ul {
		display: flex;
		margin: 0;
		padding: 0;
		background-color: #000;
	}
	.spmenu ul li {
		width: calc(100% / 4);
		padding: 0;
		margin: 0;
		border-left: 1px solid #222;
		border-right: 1px solid #333;
	}
	.spmenu ul li a {
		display: block;
		color: #fff;
		text-align: center;
		padding: 20px 0;
	}
	.spmenu ul li a .en {
		font-family: elevon, sans-serif;
		font-weight: 600;
		text-decoration: none;
		font-size: 3.4vw;
		color: #fff;
	}
	.spmenu ul li a .jp {
		text-decoration: none;
		display: block;
		font-size: 2vw;
		margin-top: -.4em;
		color: #fff;
	}
}








@media (min-width:768px) {
	.top #header {
		/*max-height: 100vh;*/
	}
	.top #header .ct {
		display: flex;
		align-items: center;
		height: 100%;
		/*max-height: 100vh;*/
		justify-content: center;
	}
	.top #header .ct > div:first-child {
		/*width: calc(35 / 45 * 100vh);
		max-height: 100vh;*/
		width: 50%;
		text-align: center;
	}
	.top #header .ct > div:first-child img {
		background-image: url("2023/img/mv.jpg");
		background-size: contain;
	}
	.top #header .ct > div:last-child {
		/*width: calc(35 / 45 * 100vh);*/
		width: 50%;
		text-align: center;
	}
	.top #header .ct > div * {
		text-align: center;
	}
	.top #header .ct > div img {
		/*max-height: 100vh;*/
	}
	.top #header .catch {
	}
}
@media (max-width:767px) {
	#header {
		/*margin-top: -5.34vw;
		margin-right: -5.34vw;
		margin-left: -5.34vw;*/
	}
	.top #header .ct > div:first-child {
		line-height: 0;
	}
	.top #header .ct > div:first-child img {
		background-image: url("2023/img/mv2.jpg");
		background-size: contain;
	}
	.top #header .catch,
	.top #header h1 {
		display: none;
	}
}
#main .ct {
	padding: 60px 5.34vw;
}
#footer {
	padding-left: 5.34vw;
	padding-right: 5.34vw;
}
@media (min-width:600px) {
	#main .ct {
		padding: 60px 50px;
	}
	#footer {
		padding-left: 50px;
		padding-right: 50px;
	}
}
@media (min-width:1000px) {
	#main .ct {
		padding: 60px 50px;
	}
	#footer {
		padding-left: 50px;
		padding-right: 50px;
	}
}
.top #header .ct > div:last-child {
	padding: 0 60px;
}

#schedule h1 {
	text-align: center;
}
@media (max-width:767px) {
	#schedule h1 {
		margin-top: -65px;
	}
}
#schedule > div {
	margin-top: 20px;
}
#schedule > div p:first-child {
	font-family: elevon, sans-serif;
	text-align: center;
	font-weight: 600;
	font-size: 130%;
	white-space: nowrap;
}
#schedule > div p:last-child {
	text-align: center;
	font-weight: 900;
	font-size: min(140%, 5.5vw);
	line-height: 1.1;
}
#schedule > div p span {
	display: inline-block;
}



@media screen and (min-width:768px) {
	#infobox .ct {
		display: flex;
		justify-content: space-between;
	}
	#infobox #newsbox {
		width: calc(50% - 20px);
	}
	#infobox #twbox {
		width: calc(50% - 20px);
	}
}
@media (max-width:767px) {
	#infobox #newsbox {
		margin-bottom: 50px;
	}
	#infobox #twbox {
	}
}
#infobox #newsbox .newsbox {
	padding: 1em;
	height: 400px;
	border-radius: 12px;
	border: 1px solid rgb(207, 217, 222);
	background-color: #fff;
}
#infobox #newsbox dl {
	font-size: 90%;
	line-height: 120%;
	height: calc(400px - 2em - 2px);
	overflow-y: auto;
	padding-top: .5em;
}
#infobox #newsbox dl dt {
	width: 7em;
	float: left;
	padding-left: .5em;
}
#infobox #newsbox dl dd {
	padding-left: 8em;
	padding-right: 1em;
	padding-bottom: 1.2em;
	margin-bottom: 1.2em;
	border-bottom: 4px dotted rgb(207, 217, 222);
}
#infobox #newsbox dl dd a {
}
#infobox #newsbox dl dd:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

@media screen and (max-width:767px) {
	#infobox #newsbox .newsbox {
		padding: 1em;
	}
	#infobox #newsbox dl dt {
		width: auto;
		float: none;
		padding-left: 5px;
		background-color: rgba(255,255,255,.1);
	}
	#infobox #newsbox dl dd {
		padding: 0.5em 1em;
		margin-bottom: 0.5em;
		border-bottom: thin solid rgba(0,0,0,0.20);
	}
}
#infobox .twbox {
	height: 400px;
	overflow-y: hidden;
}


#lineups .ct {
	padding-top: 0;
}
#lineups .theaterbox {
	margin-top: 60px;
}
#lineups .theater {
	text-align: center;
	height: 4em;
	margin-bottom: 1em;
}
#lineups .theater img {
	max-height: 100%;
}
@media (min-width:768px) {
	#lineups ul li {
		margin-bottom: 15px;
		display: flex;
		justify-content: space-between;
	}
	#lineups ul li > div:first-child {
		background-color: var(--box-bg-color);
		border-radius: 4px;
		padding: 10px;
		text-align: center;
		font-family: elevon, sans-serif;
		font-weight: 600;
		width: 5em;
		display: flex;
		align-items: center;
		align-content: center;
		justify-content: center;
		flex-wrap: wrap;
	}
	#lineups ul li > div:first-child span {
		display: block;
	}
	#lineups ul li > div:last-child {
		width:  calc(100% - 5em);
		display: flex;
		justify-content: space-between;
	}
	#lineups ul li > div:last-child > div {
		margin-left: 5px;
		background-color: var(--box-bg-color);
		border-radius: 4px;
		width: 100%;
		height: 6em;
		text-align: center;
		position: relative;
	}
	#lineups ul li > div:last-child div a {
		display: block;
		height: 100%;
		text-align: center;
	}
	#lineups ul li > div:last-child div a div {
		display: inline-block;
		height: 100%;
	}
	/*#lineups ul li > div:last-child div img {
		max-height: 100%;
	}*/
}
@media (max-width:767px) {
	#lineups ul li {
		margin-bottom: 15px;
	}
	#lineups ul li > div:first-child {
		background-color: var(--box-bg-color);
		border-radius: 4px;
		padding: 0;
		text-align: center;
		font-family: elevon, sans-serif;
		font-weight: 600;
	}
	#lineups ul li > div:first-child span:first-child::after {
		content: '.';
	}
	#lineups ul li > div:last-child > div {
		background-color: var(--box-bg-color);
		border-radius: 4px;
		margin-top: 5px;
		padding: 5px 10px;
		text-align: center;
		min-height: calc((100vw - 5.34vw - 5.34vw - 12px) / 2);
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
	}
	#lineups ul li > div:last-child div a {
		display: flex;
		justify-content: center;
		height: 100%;
	}
}
#lineups ul li > div:last-child div a div {
	text-align: center;
}
#lineups ul li > div:last-child div img {
	max-width: 100%;
	max-height: 100%;
}
/*#lineups ul li > div:last-child > div.bestia::before,
#lineups ul li > div:last-child > div.ouen::before {
	display: block;
	position: absolute;
	right: -5px;
	top: -5px;
	background-color: #333;
	color: #fff;
    line-height: 1;
    padding: 5px 10px;
    font-size: 80%;
}
#lineups ul li > div:last-child > div.bestia::before {
	content: 'BESTIA';
}
#lineups ul li > div:last-child > div.ouen::before {
	content: '無発声応援上映';
}*/
#lineups ul li > div:last-child > div .icobox {
	position: absolute;
	right: -5px;
	top: -5px;
}
#lineups ul li > div:last-child > div .icobox p {
	display: inline-block;
	background-color: #333;
	color: #fff;
    line-height: 1;
    padding: 5px 10px;
    font-size: 80%;
	margin: 0 0 0 8px;
}
#lineups ul li > div:last-child > div .icobox p.bestia {
	background-color: rgba(0,96,197,1.00);
}
#lineups ul li > div:last-child > div .icobox p.ouen {
	background-color: #d31277;
}#lineups ul li > div:last-child > div .icobox p.novelty {
	background-color: #e60012;
}




#bnrbox .ct > div.box {
	background-color: #fff;
	padding: 20px 15px 15px;
	border-radius: 12px;
	border: 1px solid rgb(207, 217, 222);
}
#bnrbox .enq_title {
	margin-bottom: 20px;
}