@charset "utf-8";



/* Common
------------------------------------------------------------- */

#contents_box {
	width: 100% !important;
	max-width: 1260px !important;
	margin: 0 auto;
	padding: 0 20px 220px 20px;
}



/* Header
------------------------------------------------------------- */

header {
	width: 100%;
/*	max-width: 1260px;	*/
	margin: 0 auto;
/*	padding-top: 15vw;	*/
	padding-top: 40vw;
	background-image: url(../img/top/bg_top.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
}

.header_title {
	width: 100%;
	max-width: 2000px;
	margin: 0 auto;
	height: auto;
	color: #fff;
	background-color: transparent;
	background-image: none;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto;
}

.header_title h1 {
	display: block;
	margin: 0;
	width: 100%;
	height: auto;
	position: relative;
}


.header_title h1:before {
	padding-top: 20% !important; /*縦横比固定*/
}

.header_title h1 a {
	width: 80%;
	margin: 0 10%;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../img/top/title_top.png);
}

.header_date {
	padding: 0 0 40vw 0;
	font-size: 1rem;
	font-weight: 500;
	color: #000;
	background-color: transparent;
/*	text-shadow: 1px 1px 4px rgba(10,95,145,1), -1px 1px 4px rgba(10,95,145,1), 1px -1px 4px rgba(10,95,145,1), -1px -1px 4px rgba(10,95,145,1);	*/
	text-shadow: 2px 2px 2px rgb(250, 243, 214), -2px 2px 2px rgba(250, 243, 214), 2px -2px 2px rgba(250, 243, 214), -2px -2px 2px rgba(250, 243, 214),
	2px 2px 4px rgb(250, 243, 214), -2px 2px 4px rgba(250, 243, 214), 2px -2px 4px rgba(250, 243, 214), -2px -2px 4px rgba(250, 243, 214);
}

.header_sponsor {
	max-width: 1260px;
	margin: 0 auto;
}

.header_sponsor p {
	padding: 10px;
	text-align: center;
	font-size: 0.65rem;
	font-weight: 400;
	color: #fff;
	letter-spacing: 0.05em;
	background-color: transparent;
	text-shadow: 1px 1px 2px rgba(10,95,145,1), -1px 1px 2px rgba(10,95,145,1), 1px -1px 2px rgba(10,95,145,1), -1px -1px 2px rgba(10,95,145,1);
}



/* Main Event
------------------------------------------------------------- */

#mainevent_movie_box {
	max-width: 1260px;
	margin: 20px auto;
	padding: 0 30px;
	font-size: 0;
	line-height: normal;
	z-index: 10;
}

ul.mainevent_movie_list {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5rem;
}

ul.mainevent_movie_list li {
	margin: 0 0 15px 0;
	padding: 5px 0;
	min-height: 80px;
	list-style-position: outside;
	list-style-type: none;
	position: relative;
}

ul.mainevent_movie_list li h3 {
	margin: 0;
	padding: 0;
	line-height: 1.2rem;
	font-size: 0.8rem;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 500;
	background-color: #000;
}

ul.mainevent_movie_list li h3 a {
	display: block;
	width: 100%;
	padding: 5px;
	position: relative;
	background-color: transparent;
}

ul.mainevent_movie_list li h3 a::after {
	content: '\0bb';
	font-size: 1rem;
	line-height: 1;
	margin-left: 3px;
}

ul.mainevent_movie_list li h3 a, ul.mainevent_movie_list li h3 a:visited {
	color: #fff;
	text-decoration: none;
}

ul.mainevent_movie_list li h3 a:hover, ul.mainevent_movie_list li h3 a:active {
	color: #fff;
	text-decoration: none;
	background-color: #444;
}

ul.mainevent_movie_list li p {
	margin: 0;
	padding: 3px;
	font-size: 0.8rem;
	line-height: 1.2rem;
/*
	background-color: #e5e5e5;
	background: -moz-linear-gradient(top, #fff, #d5d5d5);
	background: -webkit-linear-gradient(top, #fff, #d5d5d5);
	background: linear-gradient(to bottom, #fff, #d5d5d5);
*/
}

.movie-wrap {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
}
 
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}




/* Sub Event
------------------------------------------------------------- */

#subevent_box {
	max-width: 1260px;
	margin: 30px auto;
	padding: 0 30px;
	font-size: 0;
	line-height: normal;
}

ul.subevent_list {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5rem;
}

ul.subevent_list li {
	margin: 4px 4px 20px 4px;
	padding: 0;
	list-style-position: outside;
	list-style-type: none;
	opacity: 1;
	transition: opacity 0.3s;
}

ul.subevent_list li a {
	display: block;
	text-align: center;
	padding: 0;
	line-height: 1.3rem;
	font-size: 0.9rem;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 500;
	color: #fff;
	background-color: #000;
	box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #000;
	min-height: 3rem;
	position: relative;
}

ul.subevent_list li a span {
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}


ul.subevent_list li:hover a {
	background-color: #444;
	box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #444;
}

ul.subevent_list li a, ul.subevent_list li a:visited,
ul.subevent_list li a:hover, ul.subevent_list li a:active {
	color: #fff;
	text-decoration: none;
}



/* News
------------------------------------------------------------- */

#news_box {
	margin: 50px auto 70px auto;
	padding: 0 15px;
	width: calc(100% - 40px);
	max-width: 1180px;
}

.news_inner_box {
	margin: 0;
	padding: 0;
	border: #fff 2px solid;
	box-shadow: 0px 0px 0px 5px #b3ced9;
	background-color: #d1e4ed;
	background: -moz-linear-gradient(top, #c6d7de, #fff);
	background: -webkit-linear-gradient(top, #c6d7de, #fff);
	background: linear-gradient(to bottom, #c6d7de, #fff);
}

h2.news_title {
	margin: 5px 15px 5px 15px;
	padding: 3px 3px 0 3px;
	line-height: normal;
	letter-spacing: 0.05em;
	font-size: 1.8rem;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 300;
	border-bottom: 2px solid #fff;
	position: relative;
}

h2.news_title span {
	display: inline-block;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 200;
	position: absolute;
	right: 0;
	bottom: 0;
}

ul.news_index_list {
	margin: 0 15px 5px 15px;
	padding: 0;
	list-style-type: none;
	list-style-position: outside;
}

ul.news_index_list li {
	margin: 0;
	padding: 12px 0 10px 0;
	border-bottom: 1px solid #e3d8db;
	position: relative;
	overflow: hidden;
}

ul.news_index_list li:last-child {
	border-bottom: 0;
}

ul.news_index_list li .news_icon {
	display: inline-block;
	vertical-align: middle;
	height: 24px;
	margin: 5px 0 8px 5px;
	display: none;
}

ul.news_index_list li .news_icon a {
	display: block;
	width: 7.5em;
	height: 100%;
	margin: 0 0 10px 0;
	padding: 0;
	line-height: 24px;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 300;
	text-align: center;
	white-space: nowrap;
	border-radius: 6px;
	background-color: #1e58c6;
	pointer-events: none;
}

ul.news_index_list li .news_icon a:hover,
ul.news_index_list li .news_icon a:active {
	text-decoration: none;
}

ul.news_index_list li .news_date {
	display: inline-block;
	text-align: right;
	width: 7em;
	vertical-align: middle;
	font-size: 1rem;
	font-weight: 100;
	color: #666;
	position: absolute;
	right: 7px;
	top: 14px;
}

ul.news_index_list li .news_cont_box {
	padding: 0;
	cursor: pointer;
}

ul.news_index_list li .news_title {
	margin: 2px 0 4px 0;
	padding: 0 6em 0 5px;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.6;
}

ul.news_index_list li .news_lead {
	margin: 2px 0 4px 24px;
	padding: 0;
	font-size: 0.9rem;
	font-weight: 300;
	line-height: 1.6;
}

ul.news_index_list li .news_cont_box:hover .news_title a {
	text-decoration: underline;
}

ul.news_index_list li .news_cont_box img.news_img {
	display: none;
	margin: 10px 0;
	width: 100%;
	max-width: 100%;
	height: auto;
}





/* Sub Links Button
------------------------------------------------------------- */

#sublink_box {
	margin: 40px 0;
	padding: 0 10px;
	font-size: 0;
}

ul.sublink_list {
	margin: 0;
	padding: 0;
}

ul.sublink_list li {
	margin: 0 4px 19px 4px;
	padding: 0;
	line-height: normal;
	list-style-position: outside;
	list-style-type: none;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 200;
	font-size: 1rem;
}

ul.sublink_list li a {
	display: block;
	margin: 0;
	padding: 12px 5px;
	width: 100%;
	height: 100%;
	text-align: center;
	background-color: #b3ced9;
	background-image: url(../img/bg_btn_l.png), url(../img/bg_btn_r.png);
	background-position: left, right;
	background-size: contain, contain;
	background-repeat: no-repeat, no-repeat;
	box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #b3ced9;
	transition: background-color 0.3s;
}

ul.sublink_list li.ext_link a::after {
	content: '\f08e';
	font-family: FontAwesome;
	font-size: 0.9rem;
	line-height: 1;
}

ul.sublink_list li a:hover {
	background-color: #6ca5c5;
	box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #6ca5c5;
/*	text-shadow: 1px 1px 0px #d1e4ed, -1px -1px 0px #d1e4ed, 1px -1px 0px #d1e4ed, -1px 1px 0px #d1e4ed;	*/
	transition: background-color 0.3s;
}

ul.sublink_list li a, ul.sublink_list li a:visited {
	color: #000;
	text-decoration: none;
}

ul.sublink_list li a:hover, ul.sublink_list li a:active {
	color: #fff;
	text-decoration: none;
}


/*Yado Button*/

ul.sublink_list li.btn_yado {
	margin: 30px 4px 34px 4px;
	padding: 0;
	font-size: 0;
	height: 14vw;
}

ul.sublink_list li.btn_yado a {
	display: block;
	margin: 0;
	padding: 12px 5px;
	width: 100%;
	height: 100%;
	text-align: center;
	background-color: #b3ced9;
	background-image: url(../img/top/btn_yado.jpg);
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
	box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #b3ced9;
	transition: all 0.3s;
}

ul.sublink_list li.btn_yado a:hover {
	box-shadow: 0px 0px 0px 2px #fff, 0px 0px 0px 4px #6ca5c5;
	opacity: 0.8;
}





/* for SmallSize
--------------------------------------------------------------------------------- */
@media print, screen and (min-width:360px) {

	/* Header
	------------------------------------------------------------- */

	.header_sponsor p {
		padding: 30px 30px 10px 30px;
		text-align: right;
		font-size: 0.7rem;
	}

}





/* for MiddleSize(480-559)
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:480px) {


	/* Header
	------------------------------------------------------------- */

	.header_title h1:before {
		padding-top: 22%; /*縦横比固定*/
	}


	/* Main Event
	------------------------------------------------------------- */

	ul.mainevent_movie_list {
		margin-top: 20px;
		margin-bottom: -20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	ul.mainevent_movie_list li {
		width: 47%;
		margin: 0 0 30px 0;
		padding: 0;
		position: relative;
	}


}


/* for MiddleSize(560-767)
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:560px) {


	/* Sub Event
	------------------------------------------------------------- */

	#subevent_box {
		margin: -10px auto 0 auto;
	}


}


/* for MiddleSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:768px) {

	/* Common
	------------------------------------------------------------- */

	#contents_box {
		padding-bottom: 160px;
	}

	/* Header
	------------------------------------------------------------- */

	header {
		padding-bottom: 30px;
		margin-bottom: -20px;
	}

	header::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 60px;
		background: -webkit-linear-gradient(rgba(255,255,255,0), #fff);
		background: -o-linear-gradient(rgba(255,255,255,0), #fff);
		background: linear-gradient(rgba(255,255,255,0), #fff);
	}

	.header_title h1 a {
		width: 76%;
		margin: 0 12%;
	}

	.header_date {
		padding: 0 0 30vw 0;
		font-size: 1.5rem;
		margin-bottom: 100px;
	}

	.header_sponsor p {
		font-size: 0.75rem;
	}


	/* Main Event
	------------------------------------------------------------- */

	#mainevent_movie_box {
		padding-bottom: 30px;
	}

	ul.mainevent_movie_list li {
		width: 23%;
		margin: 0 0 20px 0;
	}



	/* Sub Event
	------------------------------------------------------------- */

	#subevent_box {
		margin: 0 auto 20px auto;
	}

	ul.subevent_list {
		margin: 0;
		border: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	ul.subevent_list li {
		margin: 0;
		padding: 4px;
		width: 23%;
	}

	ul.subevent_list li a {
		min-height: 4rem;
		line-height: 1.5;
	}


	/* News
	------------------------------------------------------------- */

	#news_box {
		margin-bottom: 35px;
	}


	/* Sub Links Button
	------------------------------------------------------------- */

	#sublink_box {
/*
		display: flex;
		justify-content: space-between;
		align-content: flex-start;
		align-items: stretch;
*/
		margin-bottom: 60px;
	}

	ul.sublink_list li {
		font-size: 1.1rem;
	}

	ul.sublink_l, ul.sublink_m {
		width: 48.5%;
	}


/*おすすめの宿 off仕様 ここから*/
	ul.sublink_m {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}

	ul.sublink_m li {
		width: 49%;
		margin: 0 2% 20px 0;
	}

	ul.sublink_m li:nth-child(even) {
		margin-right: 0;
	}
/*おすすめの宿 off仕様 ここまで*/


	ul.sublink_s li {
		display: inline-block;
		width: 31.28%;
		margin-right: 2%;
	}

	ul.sublink_s li:nth-child(3n) {
		margin-right: 0;
	}

	/*Yado Button*/

	#sublink_box ul.sublink_l {
		display: flex;
	}

	ul.sublink_list li.btn_yado {
		display: flex;
		margin: 0 4px 0 4px;
		padding: 0 0 20px 0;
		font-size: 0;
		width: 100%;
		height: auto;
	}

	ul.sublink_list li.btn_yado a {
		display: flex;
		margin: 0;
		height: auto;
		background-image: url(../img/top/btn_yado_l.jpg);
		background-position: right bottom;
		background-size: cover;
	}


}



/* for LargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:960px) {

	/* Header
	------------------------------------------------------------- */

	header {
/*		padding-top: 15vw;	*/
	}

	.header_title h1:before {
		padding-top: 14% !important; /*縦横比固定*/
	}

	.header_title h1 a {
		width: 64%;
		margin: 0 18%;
	}

	.header_date {
		padding: 20px 0 40vw 0;
	}

	.header_date {
		font-size: 1.7rem;
	}

}





/* for ExtraLargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:1260px) {

	/* Common
	------------------------------------------------------------- */

	#contents_box {
		padding: 0 40px 160px 40px;
	}

	/* Header
	------------------------------------------------------------- */

	.header_date {
		padding: 20px 0 45vw 0;
	}

	.header_sponsor p {
		padding: 30px 50px 10px 50px;
		font-size: 0.8rem;
	}


	/* Main Event
	------------------------------------------------------------- */

	#mainevent_movie_box {
		padding: 0 50px 20px 50px;
	}

	/* Sub Event
	------------------------------------------------------------- */

	#subevent_box {
		margin: 0 auto 20px auto;
		padding: 0 50px;
	}

}



/* for ExtraLargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:1600px) {

	/* Header
	------------------------------------------------------------- */

	header::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
/*
		background-color: #9ad4f3;
		background: -moz-linear-gradient(top, #9ad4f3, #fff);
		background: -webkit-linear-gradient(top, #9ad4f3, #fff);
		background: linear-gradient(to bottom, #9ad4f3, #fff);
*/
		z-index: -1;
	}

	.header_date {
		font-size: 2.2rem;
		padding: 20px 0 50vw 0;
	}

}



/* for ExtraLargeSize
-------------------------------------------------------------------------------- */
@media print, screen and (min-width:1600px) {

	/* Header
	------------------------------------------------------------- */
	.header_date {
		padding: 20px 0 45vw 0;
	}

}



