@charset "utf-8";


/* ----------------------------------------------
     共通
---------------------------------------------- */

html{
     height:100%;
     font-size:10px;     /* 1rem = 10px */
	background : #fff;
}
body{
     height:100%;
     font-size:16px;
     font-size:1.6rem;
	background : #fff;
	color : #231815;
     line-height:1;
     font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Arimo", sans-serif;
}

a{
     color:#fff;
     text-decoration:none;
     transition: background-color 1s;
}


a:hover{
     opacity: 0.7;
}

/* -------------------------------------
     clearfix
---------------------------------------- */
.cf:before,.cf:after,
div:before,div:after,
dl:before,dl:after,
nav:before,nav:after,
section:before,section:after,
header:before,header:after,
footer:before,footer:after,
ul:before,ul:after{
     content:"";
     display:table;
}
.cf:after,
nav:after,section:after,
header:after,footer:after,
ul:after,dl:after,div:after {
     clear:both;
}

.cf,
section,header,footer,nav,
dl,ul,div {
     zoom:1;
}

/* -------------------------------------
     html body
---------------------------------------- */
html,
body {
	width : 100%;
}
body {

}

@media screen and (max-width: 767px) {
	img {
		max-width : 100%;
		height: auto;
	}
}


/*PC*/
@media screen and (min-width: 768px) {
	.sp_only {
		display : none;
	}
}

/*SP*/
@media screen and (max-width: 768px) {
	.pc_only {
		display : none;
	}
}

.ellipsis {
	display : inline-block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* -------------------------------------
      骨組み
---------------------------------------- */

.container {
	width : 100%;
	max-width : 1280px;
	position : relative;
	background-size : 100%;
	margin : 0 auto;
}

.content {
	width : 960px;
	margin : auto;
}



/* -------------------------------------
      コンテンツ
---------------------------------------- */


header {
	background: #11376B;
	text-align: center;
	padding : 11.0rem 0 6.0rem 0;
}
footer {
	background: #fff;
	height: 18.0rem;
	text-align: center;
	padding : 6.0rem 0;
	border-top : 1px solid #000;
}
main {
	background: transparent url("../images/bg.png") repeat scroll top center;
	padding-top : 6.0rem;
	padding-bottom : 6.0rem;
}

.overview {
	margin-bottom : 6.0rem;
}

.overview h2 {
	background : #11376B;
	width: 23.0rem;
	line-height: 3.0rem;
	border-radius: 1.5rem;
	font-size:1.4rem;
	color: #fff;
	text-align: center;
	margin:auto;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
}

.overview .-detail{
	display:flex;
	margin-top: 0.5em;
}

.overview .-text {
	width:70%;
	line-height: 2;
	padding: 1em 1em 0 0;
}
.overview .-image {
	width:30%;
	text-align : center;
}

.schedule,
.sponsor {
	background : #fff;
}

.schedule h2{
	background : #11376B;
	width: 100%;
	color: #fff;
	line-height:4.4rem;
	text-align: center;
	border-radius: 0 0 1.0rem 1.0rem;
	letter-spacing: 1em;
	text-indent: 1em;
}

.schedule .-list {
	margin : 4.0rem 6.0rem;
}

.schedule table{
	width: 100%;
	border : 1px solid #666;
}

.schedule caption {
	color: #11376b;
	font-size :2.4rem;
	font-weight: 500;
	text-align: center;
	margin-bottom : 2.0rem;
}

.schedule thead {
	background : #ccc;
	font-size : 1.4rem;
}

.schedule th ,
.schedule td{
	padding : 1.0rem;
	text-align: center;
}

.schedule tbody th,
.schedule tbody td {
	font-size : 1.2rem;
	border-bottom : 1px solid #ccc;
	vertical-align: middle;
}
.schedule tbody.-last tr:last-child th,
.schedule tbody.-last tr:last-child td {

	border-bottom : none;
} 

.movie_cont {
	margin : 0 auto 20px;
}

.movie iframe{
	margin : 0 auto;
	display: block;
	max-width: 600px;
	max-height : 348px;
	width: 100%;
	height : 500px;
}

.sponsor {
	text-align :center;
	margin-bottom: 4.0rem;
}
.sponsor .-title {
	text-align :center;
	margin : 4.0rem;
}
.sponsor .line {
	border : none;
	border-top: 1px solid #11276b;
	margin : 0 6.0rem;
}

.sponsor h2 {
	color: #11376b;
	font-size: 3.0rem;
	font-weight: 400;
	line-height: 1;
}
.sponsor h2 .-sub{
	font-size: 1.2rem;
}

.sponsor_logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.sponsor_logo .-first_logo {
	width: 100%;
	margin-bottom: 4.0rem;
}
.sponsor_logo .-logo {
	width: 30%;
	margin-bottom: 4.0rem;
}