/* CSS Document */


/* --------------------------------------------------
ttl-page
-------------------------------------------------- */

.ttl-page{
	background: url("../img/bg-ttl-events.jpg") center no-repeat;
	background-size: cover;
}


/* --------------------------------------------------
season-list
-------------------------------------------------- */
.season-list{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 6% 0;
}
.season-list li{
	width: 25%;
	text-align: center;
}
.season-list li a{
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.2;
	padding: .4em .4em .8em .4em;
	display: block;
	position: relative;
}
.season-list li a span{
	color: #CA0011;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
}
.season-list li a::after{
	content: "";
	display: block;
	position: absolute;
	width: 12px;
	height: 12px;
	margin: auto;
	top: auto;
	bottom: 3%;
	right: 0;
	left: 0;
	z-index: 0;
	border-top: 3px solid #000;
	border-right: 3px solid #000;
	transform: rotate(135deg);
	transition: .3s;
}
.season-list li a:hover::after{
	bottom: 0;
}

@media screen and (max-width: 800px) {
	.season-list li{
		width: 50%;
	}
	.season-list li a{
		font-size: 2rem;
	}
	.season-list li a::after{
		width: 8px;
		height: 8px;
	}
	.season-list li a span{
		font-size: 1.4rem;
	}
}

/* --------------------------------------------------
events-list
-------------------------------------------------- */




.events-list{
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 10rem;
	overflow: hidden;
}
.events-list::before{
	display: block;
	position: absolute;
	width: auto;
	height: auto;
	margin: auto;
	top: 3%;
	bottom: auto;
	right: auto;
	left: -6%;
	z-index: 1;
	color: #fff;
	font-size: 25rem;
	font-weight: bold;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: right;
	opacity: .2;
}
.events-list#spring::before{
	content: "SPRING";
	right: -6%;
	left: auto;
}
.events-list#summer::before{
	content: "SUMMER";
	opacity: .52;
}
.events-list#autumn::before{
	content: "AUTUMN";
	right: -6%;
	left: auto;
	opacity: .52;
}
.events-list#summer::after,
.events-list#autumn::after{
	background: #EEE;
}
.events-list#winter::before{
	content: "WINTER";
}
.events-list::after{
	content: "";
	display: block;
	position: absolute;
	width: 36%;
	height: 100%;
	margin: auto;
	top: 0;
	bottom: 0;
	right: auto;
	left: 0;
	z-index: -1;
	background: #000;
}

.events-list .ttl-season{
	line-height: 1.4;
	position: relative;
	left: 5%;
	z-index: 3;
	margin: 12rem 24rem 12rem 0;
	justify-content: flex-start;
	align-self: stretch;
}
.events-list .ttl-season .ttl-sec{
	font-size:4vw;
	font-weight: bold;
	color: #fff;
	margin-bottom: .4em;
}
.events-list .ttl-season .start-season,
.events-list .ttl-season .end-season{
	font-size: 1.8vw;
	font-weight: normal;
	color: #fff;
	text-align: center;
}
.events-list .ttl-season .end-season{
	position: absolute;
	bottom: 0;
	right: 50%;
	transform: translateX(50%);
	width: 100%;
}
.events-list .ttl-season:after{
	content: "";
	display: block;
	width: 2px;
	height: calc( 100% - 30rem);
	position: absolute;
	margin: auto;
	top: auto;
	bottom: 4em;
	right: 50%;
	transform: translateX(50%);
	background: #fff;
}
.events-list#summer .ttl-season .ttl-sec,
.events-list#autumn .ttl-season .ttl-sec,
.events-list#summer .ttl-season .start-season,
.events-list#autumn .ttl-season .start-season,
.events-list#summer .ttl-season .end-season,
.events-list#autumn .ttl-season .end-season{
	color: #000;
}
.events-list#summer .ttl-season:after,
.events-list#autumn .ttl-season:after{
	background: #000;
}

.events-list .spot-list{
	width: 76%;
}
.events-list .spot-list .spot-ttl {
	font-size: 2.4rem;
	line-height: 1.4;
	min-height: inherit;
	padding: 0 0 2rem;
}
.events-list .spot-list .icon-area{
	margin: 0 6px 3px 3px;
}


/* reverse */
.events-list.reverse{
	flex-direction: row-reverse;
}
.events-list.reverse::after{
	left: auto;
	right: 0;
}


.events-list .spot-list li {
	width: 30%;
	margin: 1.5%;
	padding: 0;
	background: #FFF;
}



@media screen and (max-width: 1080px) {
	.events-list .ttl-season{
		margin: 12rem 6rem 12rem 0;
	}
	.events-list .ttl-season:after{
		height: calc( 100% - 20rem);
	}
}

@media screen and (max-width: 800px) {
	.events-list{
		margin-bottom: 6rem;
	}
	.events-list::after{
		width: 70%;
		height: 80%;
		bottom: auto;
	}
	.events-list::before{
		font-size: 5rem;
		top: 1%;
	}
	.events-list .ttl-sec{
		font-size: 6vw;
	}
	.events-list .ttl-season{
		align-self: flex-start;
	}
	.events-list .ttl-season .end-season{
		position: static;
		transform: none;
		margin-top: 4em;
	}
	.events-list .ttl-season:after{
		top: 60%;
		bottom: auto;
		height: 1.2em;
	}
	.events-list .spot-list li{
		width: 47%;
		margin: 1.5%;
		padding: 0;
	}
	.events-list#winter .spot-list li{
		margin-left: 48%;
	}
	
}

@media screen and (max-width: 600px) {
	.events-list {
		display: block;
	}
	.events-list .spot-list{
		width: 100%;
	}

	.events-list .ttl-season {
		margin: 2rem 0;
		left: 0;
	}
	.events-list .ttl-season .ttl-sec{
		font-size: 2.2rem;
		text-align: center;
	}
	.events-list .spot-list {
		padding: 1rem;
	}
	.events-list .spot-list .spot-detail {
		padding: 1em .4em;
	}
	.events-list .spot-list .spot-ttl{
		font-size: 1.6rem;
	}
}
