archive {
	background: linear-gradient(to bottom, #D6D6D6 60px, #FFFFFF 96px);
}

#archive #contents h1 {
	line-height: 1.4;
}

#archive #contents h1 span {
	font-size: 1.7em;
}

#archive .archive {
	display: flex;
	flex-wrap: wrap;
}

#archive .archive li {
	padding: 20px 0;
	font-size: 1.7rem;
}

#archive .archive li img {
	margin-bottom: 10px;
}

#archive .archive li:not(.poster) img {
	border: solid 5px #FFFFFF;
}

#swipebox-overlay img:not(.poster) {
	border: solid 1vh #FFFFFF;
}


@media only screen and (max-width: 767px) {
	#archive {
		background: linear-gradient(to bottom, #D6D6D6 60px, #FFFFFF 78px);
	}

	#archive #contents h1 {
		margin: 30px 0;
		font-size: 2.1rem;
	}

	#archive #contents h2 {
		padding: 40px 0 20px 0;
		font-size: 2rem;
	}
	
	#archive .archive li {
		width: calc(50% - 10px);
	}

	#archive .archive li:nth-of-type(even) {
		margin-left: 20px;
	}
}

@media only screen and (min-width: 768px) {
	#archive {
		background: linear-gradient(to bottom, #D6D6D6 60px, #FFFFFF 96px);
	}

	#archive #contents h1 {
		margin: 50px 0;
		font-size: 3.9rem;
	}

	#archive #contents h2 {
		padding: 120px 0 60px 0;
		font-size: 3.5rem;
	}

	#archive .archive li {
		width: calc((100% - 100px) / 3);
	}

	#archive .archive li:nth-of-type(3n-1) {
		margin: 0 50px;
	}
}