html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-family: sans-serif;}  body { line-height:1; }  article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {  display:block; }  nav ul { list-style:none; }  blockquote, q { quotes:none; }  blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }  a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }  / change colours to suit your needs / ins { background-color:#ff9; color:#000; text-decoration:none; }  / change colours to suit your needs / mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }  del { text-decoration: line-through; }  abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }  table { border-collapse:collapse; border-spacing:0; }  /* change border colour to suit your needs  */ hr { display:block; height:1px; border:0;  border-top:1px solid #cccccc; margin:1em 0; padding:0; }  input, select { vertical-align:middle; } 

@charset "UTF-8";

h1,h2,h3,h4,h5,h6,p,th,td,li,dt,dd	{
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	color: #465360;
}

.pc	{
	display: block;
}

br.pc	{
	display: inline-block;
}

.sp	{
	display: none;
}

.w100p	{
	width: 100%;
}

.text-center	{
	text-align: center;
}

.mb60	{
	margin-bottom: 60px;
}

body	{
	box-sizing: border-box;
	background-color: white;
}

.key img	{
	width: 100%;
}
section.title img	{
	width: calc(100% - 10px);
	margin: 5px;
}
section.title p	{
	padding: 5px;
	text-align: center;
	line-height: 150%;
	font-size: 2.2vw;
	margin-bottom: 15px;
}
section.sp.leadsec	{
	background-image: url(images/back.png);
	background-position: center top;
	background-size: cover;
	padding: 10vw 0 15vw;
}
section.sp.leadsec p	{
	padding: 5px;
	text-align: center;
	line-height: 250%;
	text-shadow: 15px 10px 0 rgba(0,0,0,0.075);
}
.p_info	{
	display: flex;
	max-width: 1200px;
	width:  100%;
	margin: 30px auto;
}

.p_info .col1	{
	width: 22.5%;
	padding-right: 2.5%;
	line-height: 120%;
}

.p_info .col2	{
	width: 47.5%;
	padding-right: 2.5%;
}

.p_info .col2 p	{
	font-size: 120%;
	line-height: 150%;
}
.p_info .col3	{
	width: auto;
	text-align: right;
}

.p_title	{
	margin-bottom: 15px;
}

.data	{
	background-image: url(images/tt_back.png);
	background-position: center top;
	background-size: auto 100%;
	padding: 100px 0;
}

.data .inner	{
	max-width: 700px;
	width:  100%;
	margin: 0 auto;
	line-height: 170%;
}
.data .inner h1,.data .inner h2,.data .inner p	{
	margin-bottom: 50px;
}

.data .inner h1	{
	font-size: 30px;
}
.data .inner h2	{
	font-size: 24px;
	margin-bottom: 30px;
}
.data .inner p .pricing	{
	width: 50%;
}

.data .inner p strong	{
	font-size: 24px;
}

.data .inner p.sub	{
	font-size: 12px;
	margin-bottom: 20px;
}

footer	{
	background-color: #333;
	padding: 40px 0;
}
footer p	{
	color: white;
	font-size: 12px;
	letter-spacing: 1px;
}

.fadeIn {
	opacity: 0;
	transition: 1s;
}

.fadeIn.delay {
	opacity: 0;
	transition: 4s;
}

.fadeIn.is-show {
  opacity: 1;
}

.reserve_button	{
	position: fixed;
}
.reserve_button,.reserve_button_relative	{
	display: inline-block;
	top: 5px;
	right: 5px;
	background-color: black;
	color: white;
	text-decoration: none;
	display: inline-block;
	padding: 1px 1px;
	font-size: 16px;
	letter-spacing: 1px;
	box-sizing: border-box;
}
.reserve_button_relative	{
	margin-top: 30px;
}
.reserve_button .inner,.reserve_button_relative .inner	{
	display: block;
	border: 1px solid white;
	padding: 5px 25px;
	text-align: center;
	box-sizing: border-box;
}
.reserve_button:hover,.reserve_button_relative:hover	{
	text-decoration:none;
	opacity: 0.7;
}
.timetable	{
	padding: 10px 10vw;
	box-sizing: border-box;
	background-image: url(images/tt_back.png);
	background-size: 100% auto;
	background-position: center top;
}
.timetable img	{
	width: 80vw;
	margin-bottom: 5px;
}

.supporters	{
	padding: 100px 10vw;
	box-sizing: border-box;
}

.supporters img	{
	width: 80vw;
}

.overlay,.overlay2	{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(237,237,237,1);
}

.overlay video	{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.overlay2	{
	z-index: 1000;
}

#skip	{
	font-size: 16px;
	position: fixed;
	top: 15px;
	right: 15px;
	color: #231815;
	font-weight: bold;
	text-decoration: none;
	font-family: arial-black, arial, sans-selif;
	z-index: 10;
	display: none;
}

#skip span	{
	font-size: 15px;
}
@media screen and (max-width: 1208px)	{
	.p_info	{
		width: calc(100% - 15px);
	}
	
	.p_title	{
		max-width: 100%;
	}
	.p_info .col3	{
		width: 30%;
	}
	.p_info .col3 img	{
		height: 50px;
	}
}
@media screen and (max-width: 768px)	{
	.pc	{
		display: none !important;
	}
	
	.sp	{
		display: block;
	}
	
	br.sp	{
		display: inline-block;
	}
	.sp.inline	{
		display: inline;
	}
	p	{
		font-size: 3vw;
	}
	section.title p	{
		font-size: 3vw;
		margin-bottom: 0;
	}
	.p_info	{
		display: block;
	}
	.p_info .col1,.p_info .col2,.p_info .col3	{
		width: 100%;
		padding: 5px 25px 15px;
		box-sizing: border-box;
	}
	.p_info .col1 p	{
		line-height: 180%;
	}
	.p_info .col2 p	{
		font-size: 4vw;
		line-height: 180%;
	}
	
	.p_info .col3 img	{
		height: calc(20vw - 10px);
	}
	
	.h_img,.k_img,.r_img	{
		height: 70vw;
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	
	.h_img	{
		background-image: url(images/h_img.jpg);
	}
	.k_img	{
		background-image: url(images/k_img.jpg);
	}
	.r_img	{
		background-image: url(images/r_img.jpg);
	}
	.data .inner h1,.data .inner h2,.data .inner p	{
		margin-bottom: 5vw;
	}
	
	.data .inner h1	{
		font-size: 5vw;
	}
	.data .inner h2	{
		font-size: 4vw;
		margin-bottom: 2.5vw;
	}
	.data .inner p .pricing	{
		width: 70%;
	}
	
	.data .inner p strong	{
		font-size: 4vw;
	}
	.data .inner	{
		box-sizing: border-box;
		padding: 0 25px;
	}
	
	.reserve_button	{
		position: fixed;
		top: auto;
		bottom: 5px;
		right: 5px;
	}
	.reserve_button,.reserve_button_relative	{
		font-size: 12px;
	}
	#skip	{
		font-size: 14px;
	}
	
	#skip span	{
		font-size: 13px;
	}
}