@charset "utf-8";

strong{
	font-weight:bold;
}

header{
	text-align:center;
	background-image:url('../img/index.png');
	background-size:cover;
	background-position:center;
	min-height:100vh;
	position:relative;
}

	header br{
		display:none;
	}

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

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

	header h1{
		font-size:4em;
		font-weight:bold;
		letter-spacing:0.2em;
	}
	
	header#page_header h1{
		font-size:1.8em;
		padding:20px;
	}
	
		header h1 > span{
			display:block;
			font-size:0.75em;
		}
		
		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 > 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:600px;
		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{
		margin:80px auto 120px 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;
	}

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

/*スマホ*/
@media screen and (max-width:900px){
	header {
		font-size:0.8em;
	}
}

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

@media screen and (max-width:500px){
	header > div{
		top:20%;
		color:#fff;
	}
	
	header h1{
		font-size:3em;
	}
	
	main div.message{
		font-size:0.85em;
		letter-spacing:0;
		margin:60px 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;
		}
}

div.map_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1080px;
	margin: 0 auto;
}

	div.map_box > div {
		width: calc(33.3333% - 20px);
		margin: 40px 0;
	}
	
		div.map_box > div > h3 {
			font-weight: bold;
			font-size: 1.1em;
			border-bottom: 1px #000 solid;
		}
		
		div.map_box > div > iframe {
			display: block;
			width: 100%;
			height: 400px;
			margin: 10px auto 0;
		}
	

div#open > iframe {
	display: block;
	width: 100%;
	max-width: 720px;
	height: 400px;
	margin: 40px auto;
}

div#schedule > dl {
	width: 100%;
	max-width: 600px;
	margin: 40px auto 0;
}

@media screen and (max-width:900px){
div.map_box {
	max-width: 400px;
}

	div.map_box > div {
		width: 100%;
		margin: 40px 0;
	}
	
		div.map_box > div > iframe {
			height: 300px;
		}
}