#index h2 {
	padding: 0 0 30px 0;
	text-align: center;
}

#index h3 {
	padding: 0 0 30px 0;
	text-align: center;
}

#main {
	margin: 50px 0 0 0;
	text-align: center;
	z-index: 1;
}

#date {
	position: relative;
	padding: 12vw 5vw 10vw 5vw;
	margin: -4.5vw 0 0 0;
	background: url(../images/bg_wave_sp.png) repeat-x center top;
	background-size: contain;
	text-align: center;
	z-index: 2;
}

#slider .simply-scroll-container {
	position: relative;
}

#slider .simply-scroll-clip {
	position: relative;
	overflow: hidden;
}

#slider .simply-scroll-list {
	overflow: hidden;
	padding: 0;
	margin: 0;
	height: calc(40vw - 10px);
}

#slider .simply-scroll-list li {
	float: left;
	padding: 0 5px;
	margin: 0;
	width: 40vw;
}

#slider .simply-scroll-list li img {
	width: 100%;
}

#news {
	padding: 30px 0;
	background-color: #E2B32B;
}

#news ul {
	margin: 0 0 50px 0;
}

#news ul li {
	padding: 10px 0;
	font-size: 2rem;
	font-weight: bold;
	color: #036E9E;
	border-bottom: solid 1px #036E9E;
}

#news ul li span {
	display: inline-block;
	margin: 0 0 0 20px;
	padding: 0 0 0 40px;
	font-size: 1.6rem;
	font-weight: normal;
	color: #4D4D4D;
	background: url(../images/icon.png) no-repeat left center;
}

#opening {
	padding: 30px 0 50px 0;
	background-color: #036E9E;
}

#opening ul {
	text-align: center;
}

#opening ul li {
	padding: 0 0 15px 0;
}

#opening ul li img {
	width: 100%;
}

#sns {
	padding: 10px 0 50px 0;
	background: url(../images/bg_stripe.png) center center;
	text-align: center;
}

#sns h2 {
	padding: 20px 20vw 0 20vw;
}

#sns #instagram div, 
#sns #twitter div {
	padding: 10px;
	margin: 20px 0;
	height: calc(200vw / 3 - 20px);
	background-color: #FFFFFF;
	border-radius: 15px;
	overflow: hidden;
	overflow-y: scroll;
}

#sns #btn_facebook {
	padding: 30px 15vw 0 15vw;
}

.highlight {
	font-size: 0;
}

.item label {
	color: #42210B;
	background-color: #E2B32B;
}

.item label::before {
	background: #ffffff;
}

.item label::after {
	border-color: #E2B32B;
}

.item strong {
	font-size: 1.9rem;
	background-color: #A0282C;
}

.appeal {
	display: inline-block;
	padding: 0 16vw;
	margin: 30px 0 20px 0;
	background-repeat: no-repeat;
	background-image: url("../images/bg_left.png"),  url("../images/bg_right.png");
	background-position: center left, center right;
	background-size: contain;
	line-height: 1.4;
}

#highlight1, 
#highlight2 {
	font-size: 1.8rem;
	text-align: center;
}

#highlight1 #highlight1_1 {
	padding: 0 0 50px 0;
	background: url(../images/bg_highlight1.png) center center;
}

#highlight1 #highlight1_1 p {
	padding: 30px 0 0 0;
}

#highlight1 #highlight1_2 {
	padding: 80px 0 50px 0;
	color: #FFFFFF;
	background-color: #E2B32B;
}

#highlight1 #highlight1_2 p {
	padding: 30px 0 0 0;
}

#highlight1 #highlight1_3 {
	padding: 80px 0 50px 0;
	color: #FFFFFF;
	background-color: #D98000;
}

#highlight2 {
	padding: 0 0 80px 0;
	color: #FFFFFF;
	background: url(../images/bg_highlight2.png) center center;
}

#highlight2 .btn_buy {
	padding: 30px 15vw 60px 15vw;
}

#highlight3 {
	padding: 0 0 80px 0;
}

#stage {
	background: url(../images/bg_stripe.png) center center;
}

#stage ul {
	font-size: 0;
}

#stage ul li {
	position: relative;
	margin: 10px 0 10px 2%;
	width: 49%;
	font-size: 1.4rem;
	color: #FFFFFF;
	background-color: #D60C18;
	border-radius: 10px 10px 0 0;
}

#stage ul li:nth-of-type(odd) {
	margin-left: 0;
}

#stage ul li p {
	padding: 10px 10px 50px 10px;
}

#stage ul li p::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 40px;
	width: 85%;
}

#stage ul li a {
	position: absolute;
	bottom: 15px;
	color: #FFFFFF;
}

#stage ul li .name {
	display: block;
	padding: 3px 0;
	font-size: 1.4rem;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #D60C18;
	text-align: center;
	border-radius: 10px 10px 0 0;
}

#stage #volunteer {
	padding: 50px 0 0 0;
	text-align: center;
}

#outline {
	padding: 30px 0 50px 0;
	background-color: #E2B32B;
}

#outline dt, 
#outline dd {
	font-size: 2rem;
	font-weight: bold;
}

#outline dt {
	padding: 30px 0 0 0;
	border-top: solid 1px #036E9E;
}

#outline dd {
	padding: 0 0 30px 0;
}

#outline dd a {
	color: #FFFFFF;
}

#access {
	padding: 30px 0 0 0;
}

#access p {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}

#access #map {
	margin: 50px 0 0 0;
	height: 400px;
	font-size: 0;
}

#qa {
	padding: 30px 0;
	color: #FFFFFF;
	background-color: #609FAB;
}

#qa ul {
	padding: 30px 0 30px 1.2em;
	text-indent: -1em;
	border-top: solid 1px #FFFFFF;
	border-bottom: solid 1px #FFFFFF;
}

#qa ul li::before {
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	left: -1px;
	width: 1em;
	height: 1em;
	background-color: #FFFFFF;
	border-radius: 100%;
}

#contact {
	padding: 30px 0 50px 0;
}


@media only screen and (min-width: 620px) {
	#index h1 {
		padding: 202px 0 20px 0;
	}

	#index h2 {
		padding: 0 0 60px 0;
	}

	#main {
		padding: 0;
		margin: 0;
		height: 905px;
		background: url(../images/bg_main.jpg) no-repeat center top;
		background-size: cover;
	}

	#date {
		padding: 60px 0 0 0;
		margin: -36px 0 0 0;
		height: 254px;
		background-image: url(../images/bg_wave.png);
	}

	#slider .simply-scroll-list {
		height: 200px;
	}

	#slider .simply-scroll-list li {
		width: 200px;
	}

	#news {
		padding: 60px 0 80px 0;
	}

	#news ul li {
		font-size: 3.6rem;
	}

	#news ul li span {
		margin: 0 0 0 40px;
		padding: 0 0 0 40px;
		font-size: 2.8rem;
	}

	#opening {
		padding: 60px 0 80px 0;
	}

	#opening ul {
		font-size: 0;
	}

	#opening ul li {
		display: inline-block;
		width: 330px;
	}

	#opening ul li:first-of-type:last-of-type {
		width: auto;
	}

	#opening ul li:nth-of-type(3n-1) {
		margin: 0 15px;
	}

	#sns {
		padding: 60px 0 40px 0;
		font-size: 0;
	}

	#sns h2 {
		padding: 0;
	}

	#sns #instagram, 
	#sns #twitter {
		display: inline-block;
		width: 500px;
		vertical-align: top;
	}

	#sns #instagram {
		margin-right: 20px;
	}

	#sns #instagram div, 
	#sns #twitter div {
		margin: 30px 0;
		height: 340px;
	}

	#sns #btn_facebook {
		padding: 30px 0 0 0;
	}

	.appeal {
		padding: 0 100px;
	}

	#highlight1, 
	#highlight2 {
		font-size: 3.5rem;
	}

	#highlight2 #btn_buy {
		padding: 30px 0 60px 0;
	}

	#stage ul li {
		margin: 10px 0 10px 15px;
		width: 330px;
		font-size: 2.4rem;
	}

	#stage ul li:nth-of-type(odd) {
		margin-left: 15px;
	}

	#stage ul li:nth-of-type(3n+1) {
		margin-left: 0;
	}

	#stage ul li p {
		padding: 10px 10px 110px 10px;
	}
	
	#stage ul li p::after {
		bottom: 80px;
	}
	
	#stage ul li a {
		bottom: 30px;
	}

	#stage ul li .name {
		font-size: 2.1rem;
	}

	#stage #volunteer {
		padding: 100px 0 0 0;
	}

	#outline {
		padding: 60px 0 80px 0;
	}

	#outline dt, 
	#outline dd {
		font-size: 3.6rem;
	}

	#access {
		padding: 80px 0 0 0;
	}

	#access p {
		font-size: 3.6rem;
	}

	#access #map {
		margin: 60px 0 0 0;
	}

	#qa {
		padding: 100px 0;
	}

	#qa ul {
		padding: 80px 0 80px 1.2em;
		font-size: 2.2rem;
	}

	#contact {
		padding: 60px 0 80px 0;
	}
}