@charset "utf-8";
body {
	background-image:url('../img/naka_haikei.jpg');
}
strong{
	font-weight:bold;
}

header{
    text-align: center;
    min-height: 130px;
    position: relative;
    text-shadow: 2px 2px 1px #808080, -2px 2px 1px #808080, 2px -2px 1px #808080, -2px -2px 1px #808080;
    background-color: #202020;
}

	header br{
		display:none;
	}

header#page_header{
	min-height:0;
	text-align:left;
}

ruby > rt {
	font-size: 50%;
}

	header > div{
		position:absolute;
		width:100%;
		top:10%;
		color:#fff;
	}
	
	header#page_header > div{
		position:relative;
		top:0;
		left:0;
	}

	header h1{
		font-size:4em;
		font-weight:bold;
		letter-spacing:0.2em;
		line-height: 1em;
	}
	
	header#page_header h1{
		font-size:1.8em;
		padding:20px;
	}
	
		header h1 > span{
			display:block;
			font-size:0.9em;
		}
		
		header h1 > a,
		header h1 > a:hover{
			color:#fff;
			text-decoration:none;
		}
		
	header p{
		font-size:1.75em;
		letter-spacing:0.2em;
		line-height:1.5em;
		margin:20px auto;
	}

main{
	text-align:center;
	padding:20px;
	font-size:1.2em;
}

	main h2{
		font-size:1.75em;
		font-weight:bold;
		letter-spacing:0.1em;
		margin:60px auto 10px auto;
	}

	main h3{
		font-size:1.25em;
		font-weight:bold;
		letter-spacing:0.1em;
		margin:0 auto 0 auto;
	}
	
	main > div{
		margin:0 auto 140px auto;
	}
	
	main div#news_list{
		max-height:350px;
		overflow:auto;
		max-width:600px;
		padding:20px;
	}
	
	main div#contact_list{
		width:100%;
		max-width:347px;
		padding:20px;
		box-sizing:border-box;
	}
	
		main div#contact_list br{
			display:none;
		}
	
	main div#open p{
		margin:20px auto;
	}

	main div#access_list p{
		margin:20px auto;
	}
	
	main div#schedule img{
		width:100%;
		max-width:800px;
	}
	
	main div#access_list img{
		width:100%;
		max-width:600px;
	}

	main dl{
		width:100%;
		margin:20px auto;
		text-align:left;
		overflow:hidden;
		border-bottom:1px #ddd solid;
	}

		main dl dt{
			float:left;
			width:140px;
			text-align:center;
			font-weight:bold;
			margin:10px 0;
			clear:left;
		}

		main dl dd{
			width:calc(100% - 140px);
			float:left;
			margin:10px 0;
		}
		
	main div.message{
		max-width:800px;
		text-align:left;
		margin:10px auto 80px auto;
		letter-spacing:0.1em;
		line-height:2em;
	}
	
	p.alert{
		color:#f44336;
		font-weight:bold;
	}
	
	main div.news_det{
		margin:10px auto;
		letter-spacing:0.1em;
		text-align:left;
		max-width:960px;
		padding:0 20px;
		box-sizing:border-box;
		min-height: calc(100vh - 664px);
	}
	
	main div.news_det + p{
		margin:120px auto 100px auto;
		text-align:center;
	}
	
	main div.news_det img{
		max-width:100%;
		height:auto;
	}
	
	main p.date{
		margin:40px auto 0 auto;
		max-width:960px;
		padding:0 20px;
		box-sizing:border-box;
		text-align:right;
	}
	
	.timg {
		max-width: 640px;
		width: 100%;
	}
	.tmoji75 {
		font-size: 40%;
	}

	.buns {
		text-align: left;
		display: flex;
		flex-wrap: wrap; /* ← 重要：2列を繰り返す */
		max-width:800px;
		margin: 40px auto 0;
	}
	.d_midashi {
		width:100px;
		margin: 10px 10px 10px 5px;
		text-align: center;
		font-weight: bold;
		letter-spacing: 1.3em;
	}
	.d_honbun {
		width:calc(100% - 160px);
		margin: 10px 10px 10px 30px;
		font-weight: 400;
	}

	.syou {
		text-align: left;
		max-width:800px;
		margin: 0 auto 60px;
	}

	.d_midashi_l {
		margin: 10px 10px 10px 10px;
		font-weight: bold;
		letter-spacing: 0.3em;
	}

	.d_honbun_l {
		margin: 10px 10px 30px 30px;
		font-weight: 400;
	}
	

footer{
		width:100%;
	height:60px;
	color:#fff;
	line-height:60px;
	background-color:#000;
	text-align:center;
}


.mflex {
	display: flex;
}

.mflex li{
	display: inline;
	margin: 0 10px 30px;
}

.mflex li a img{
    max-width:480px;
    width: 100%;
}

.mflex li a{
	position: relative;
	display: block;
}

.mflex li a:before{
	position: absolute;
	content: '';
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 60px;
	height: 60px;
	background-image: url(../../img/moviegallery/play_off.svg);
	background-size: cover;
	background-position: center;
	z-index: 10;
}
.mflex li a:hover:before{
	background-image: url(../../img/moviegallery/play_on.svg);
	transition: 0.3s;
}


.pflex {
	display: flex;
	flex-wrap: wrap;
}

.pflex li{
	display: inline;
	margin: 0 10px 30px;
	width: calc(33% - 20px);
}

.pflex li a img{
    max-width:480px;
    width: 100%;
}

.pflex li a{
	position: relative;
	display: block;
}

.pflex li p{
	text-align: left;
}

/*スマホ*/
@media screen and (max-width:900px){
	header {
		font-size:0.8em;
		min-height: 110px;
	}
	.pflex li{
		width: calc(50% - 20px);
	}
}

@media screen and (max-width:720px){
	header br{
		display:inline;
	}
}

@media screen and (max-width:500px){
	header > div{
		top:20%;
		color:#fff;
	}

	.pflex li{
		width: calc(100%);
	}
	
	header h1{
		font-size:3em;
	}
	
	main div.message{
		font-size:0.85em;
		letter-spacing:0;
		margin:20px auto 100px auto;
	}
	
	main{
		padding:10px;
	}

		main h2{
			font-size:1.5em;
		}
		
		main > div{
			margin:0 auto 100px auto;
		}
		
			main dl dt{
				float:none;
				width:100%;
				text-align:left;
				margin:10px 0;
			}

			main dl dd{
				width:100%;
				float:none;
				margin:10px 0;
			}

			main div#news_list{
				padding:0;
			}
			
			main div#open p{
				font-size:0.85em;
				margin:40px auto;
				letter-spacing:0.1em;
				text-align:left;
			}
			
			main div#access_list p{
				font-size:0.85em;
				margin:40px auto;
			}
			
				main div#contact_list{
					font-size:0.85em;
				}
			
				main div#contact_list br{
					display:inline;
				}
}

	a#form_button {
		display: block;
		padding: 20px;
		width: 100%;
		max-width: 340px;
		margin: 20px auto;
		background-color: #008000;
		box-sizing: border-box;
	}
	
	a#form_button:hover {
		text-decoration:none;
		opacity:0.5;
	}
	
		a#form_button > p {
			padding: 0.5em 1em;
			color: #fff;
			background: #008000;
			border: 1px #fff solid;
			letter-spacing:0.1em;
		}
		
			a#form_button > p > span {
				font-size:0.8em;
			}

#image {
    pointer-events: none;
}
