* {
	box-sizing: border-box;
}

body {
	font-family: "Prompt", "Noto Sans JP", sans-serif;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

picture {
	display: block;
	width: 100%;
	height: auto;
}

a {
	display: inline-block;
	transition-duration: 0.7s;
}

a:hover {
	opacity: 0.7;
}

.sp-only {
	display: none !important;
}

@font-face {
	font-style: normal;
	font-weight: normal;
	src: url("../fonts/%E8%8A%B1%E3%81%A8%E3%81%A1%E3%82%87%E3%81%86%E3%81%A1%E3%82%87.ttf") format("truetype");
	font-family: "Hanato Choucho";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 300;
	src: url("../fonts/FuturaCyrillicLight.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/FuturaCyrillicBook.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/FuturaCyrillicMedium.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 600;
	src: url("../fonts/FuturaCyrillicDemi.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/FuturaCyrillicBold.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 800;
	src: url("../fonts/FuturaCyrillicExtraBold.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

@font-face {
	font-style: normal;
	font-weight: 900;
	src: url("../fonts/FuturaCyrillicHeavy.ttf") format("truetype");
	font-family: "Futura PT";
	font-display: swap;
}

.archive__block {
	padding: 80px 0 60px 0;
}

.archive__list {
	display: grid;
	width: 100%;
	-moz-column-gap: 70px;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 70px;
	row-gap: 50px;
	margin-top: 80px;
}

.archive__link {
	display: block;
	width: 100%;
}

.archive__thumbnail {
	display: block;
	aspect-ratio: 27/20;
	width: 100%;
	margin-bottom: 20px;
	overflow: hidden;
}

.archive__thumbnail img,
.archive__thumbnail picture {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: center;
	object-position: center;
}

.archive__date {
	display: block;
	margin-bottom: 8px;
	color: #2d3042;
	font-weight: 600;
	font-size: 14px;
}

.archive__title {
	display: -webkit-box;
	color: #2d3042;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

@media screen and (max-width: 1200px) {

.archive__block {
	padding: 5.5555555556vw 0 4.1666666667vw 0;
}

.archive__list {
	-moz-column-gap: 4.8611111111vw;
	column-gap: 4.8611111111vw;
	row-gap: 3.4722222222vw;
	margin-top: 5.5555555556vw;
	margin-top: 20.5128205128vw;
}

.archive__thumbnail {
	margin-bottom: 1.3888888889vw;
}

.archive__date {
	margin-bottom: 0.5555555556vw;
	font-size: 0.9722222222vw;
}

.archive__title {
	font-size: 1.1111111111vw;
}

}

@media screen and (max-width: 767px) {

.pc-only {
	display: none !important;
}

.sp-only {
	display: block !important;
}

.archive__block {
	padding: 10.2564102564vw 0 5.1282051282vw 0;
}

.archive__list {
	-moz-column-gap: 0;
	grid-template-columns: repeat(1, 1fr);
	column-gap: 0;
	row-gap: 10.2564102564vw;
	margin-bottom: 10.2564102564vw;
}

.archive__thumbnail {
	aspect-ratio: 305/230;
	margin-bottom: 5.1282051282vw;
}

.archive__date {
	margin-bottom: 2.0512820513vw;
	font-size: 3.8461538462vw;
}

.archive__title {
	font-size: 4.358974359vw;
}

}

