@charset "utf-8";
/* CSS Document */

/*共通*/

.l-wrapper {
	width:100%;
	padding:0 3%;
	max-width:calc( 1440px + 6% );	
	margin:0 auto 0;
	position: relative;
	box-sizing: border-box;
}

/*メディアクエリ*/

/*二段階*/

@media screen and (min-width:1025px) { /*PC*/
}
@media screen and (max-width:1024px) { /*MB*/
}

/*三段階*/

@media screen and (min-width:1201px) { /*PC-LARGE*/
}
@media screen and (max-width:1200px) { /*PC-MIDDLE*/
}
@media screen and (max-width:1024px) { /*MB*/
}

/*グランドインデックス*/

#l-Grand-Visual {
	width:100%;
	position: relative;
}

/*グランドインデックス - ニュース*/

#l-News {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#f7f7f7;
	position: relative;
}

@media screen and (min-width:729px) { /*PC*/
	#l-News {
		padding:48px 0;
	}
}
@media screen and (max-width:728px) { /*MB*/
	#l-News {
		padding:32px 0;
	}
}

/*グランドインデックス - コンテンツ*/

#l-Grand-Outline {
	width:100%;
	background:url("../img/outline_bg.jpg") left top repeat-x;
	background-size: cover;
	animation: anime_bg 60s linear infinite;
}

@keyframes anime_bg {
 0% {background-position: 0 0;}
 100% {background-position: -2100px 0;}
}

#l-Grand-Season {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#ffffff;
	position: relative;
}

#l-Grand-Twitter {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#f7f7f7;
	position: relative;
}

/*グランドインデックス - フッター*/

footer {
	background:url("../img/foot_bg.jpg") center center no-repeat;
	background-size: cover;
	padding:64px 0 0;
	box-sizing: border-box;
	position: relative;
}

.l-foot-logo {
	background-size: cover;
	max-width: 250px;
	width:100%;
	margin:0 auto;
}

.l-foot-logo a img {
	transition: all 0.3s;
}

.l-foot-logo a:hover img {
	opacity: 0.6;
}

ul.l-select-season {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap:8px;
}

ul.l-select-season li {
	display: block;
}

ul.l-select-season li a {
	display: block;
	color:#fff;
	background-color:#363636;
	border-radius: 5px;
	font-size: 1.7rem;
	padding:8px;
	box-sizing: border-box;
	transition: all 0.3s;
	text-decoration: none;
}

ul.l-select-season li a:hover {
	background-color:#fff;
	color:#363636;
	text-decoration: none;
}

/*各シングルシーズンページ*/

#l-Sub-header {
	width:100%;
	background:url("../img/foot_bg.jpg") center center no-repeat;
	background-size: cover;
	text-align: left;
	position: relative;
	z-index: 100;
}

#l-Sub-header a {
	color:#fff;
	display: inline-block;
	padding:6px 12px;
	font-size: 1.4rem;
	border-right:1px solid #fff;
	background-color:#000;
	transition: all 0.3s;
}

#l-Sub-header a:hover {
	color:#000;
	background-color:#fff;
	text-decoration: none;
}

#l-Single-Contents-wrap {
	display: block;
	position: relative;
	width:100%;
}

#l-Single-Menu {
	width:100%;
	position: sticky;
	top:0px;
	display: block;
	z-index: 500;
}

#l-Single-Visual {
	width:100%;
	position: relative;
	background-color:#2B2B2B;
}

@media screen and (min-width:1025px) { /*PC*/
	#l-Single-Topics {
		padding:64px 0;
		box-sizing: border-box;
		background-color:#f7f7f7;
		position: relative;
	}
	#l-Old-Topics {
		padding:64px 0 64px;
		box-sizing: border-box;
		background-color:#ECECEC;
		position: relative;
	}
	#l-Single-About {
		box-sizing: border-box;
		background-color:#000000;
		position: relative;
	}
}
@media screen and (max-width:1024px) { /*MB*/
	#l-Single-Topics {
		padding:128px 0 64px;
		box-sizing: border-box;
		background-color:#f7f7f7;
		position: relative;
	}
	#l-Old-Topics {
		padding:64px 0 64px;
		box-sizing: border-box;
		background-color:#ECECEC;
		position: relative;
	}
	#l-Single-About {
		padding:64px 0;
		box-sizing: border-box;
		background-color:#000000;
		position: relative;
	}
	.l-topics-on {padding:0 0!important;}
}


#l-Single-Outline {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#ffffff;
	position: relative;
}

#l-Single-Artist {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#f7f7f7;
	position: relative;
}

#l-Single-Gallery {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#242424;
	position: relative;
}

#l-Single-Access {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#ffffff;
	position: relative;
}

#l-Single-Subpage {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#ffffff;
	position: relative;
}

#l-Single-Travel {
	padding:64px 0;
	box-sizing: border-box;
	background-color:#f7f7f7;
	position: relative;
}