@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* Resets----------- */
section,
nav,
article,
aside,
hgroup,
header,
footer,
figure,
figcaption,
summary {
	display: block;
	margin: 0;
	padding: 0;
}

body {
	background-color: #DDD;
	margin: 0;
	padding: 0;
}


#title {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;	

	text-align: center;
	font-size: 30pt;
	letter-spacing: 0.6em;
}

#subtitle {
	position: absolute;
	top: 50px;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;	

	text-align: center;
	font-size: 20pt;
	letter-spacing: 0.4em;
	font-weight: 100;
}



h2 {
	color: #DDD;
	background-color: #777;
	padding-left: 10px;
}

p {
	line-height: 1.8em;
}

a {
	color: #1a0dab;
}

.mainvisual-h2{
	color: #000;
	background-color: none;
	padding: 0;
}

.mainvisual-h2{
	color: #000;
	background-color: transparent;
}

span{
	background: linear-gradient(transparent 0%, #DDD 0%);
	padding: 5px;
}

.mainvisual {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.mainvisual img {
	display: block;
	width: 100%;
	height: auto;
}

.venue-date {
	position: relative;
	top: 500px;
}

.venue-date h2 {
	font-size: 20pt;
	margin-top: 60px;
}

.venue-date p {
	font-size: 20pt;
}

.mainvisual-container{
	max-width: 800px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;	
}

.container {
	max-width: 800px;
	position: relative;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: 60px auto;	
}

.container img{
	max-width: 100%;
}

figcaption{
	color : #666;
}

.profile {
	display: grid;
	grid-template-columns: 1fr 2fr;
	border: 1px solid #000000;
	margin: 30px auto;
}

.artist-photo img {
	max-width: 150px;
	padding: 30px;
}

.artist-text{
	padding: 0 30px 0 0;
}

.artist-text p{
	text-align: justify;
	text-justify: auto;

}

.reservation{
	font-size: 20pt;
}

.map{
	max-width: 800px;
}

@media screen and (max-width:900px) {
	.venue-date {
		position: relative;
		top: 300px;
	}	
}

@media screen and (max-width:740px) {
	.venue-date {
		position: relative;
		top: 200px;
	}
	
	.venue-date h2 {
		font-size: 16pt;
		margin-top: 60px;
	}
	
	.venue-date p {
		font-size: 16pt;
	}
}

@media screen and (max-width:560px) {
	#title {
		font-size: 20pt;
		letter-spacing: 0.6em;
	}

	.venue-date {
		position: relative;
		top: 150px;
	}
	
	.venue-date h2 {
		font-size: 12pt;
		margin-top: 60px;
	}
	
	.venue-date p {
		font-size: 12pt;
	}
}

@media screen and (max-width:430px) {
	body{
		margin: 0;
		padding: 0;
	}

	#title {
		font-size: 20pt;
		letter-spacing: 0.5em;
	}
	
	#subtitle {
		top: 30px;
		font-size: 14pt;
		letter-spacing: 0.2em;
		font-weight: 100;
	}

	.venue-date {
		position: relative;
		top: 100px;
	}
	
	.venue-date h2 {
		font-size: 10pt;
		margin-top: 30px;
	}
	
	.venue-date p {
		font-size: 10pt;
	}

	h2 {
		font-size: 16pt;
	}

	h3 {
		font-size: 12pt;
	}

	h4 {
		font-size: 12pt;
	}


	p {
		line-height: 1.6em;
	}

	.artist-photo img {
		max-width: 100px;
		padding: 30px;
	}
	
}
