@charset "utf-8";

/* ページトップ */
#awards_page__top {
	width: 100%;
	height: 57vh;
	padding: 5.3vw 0 0;
	background-color: var(--color--bg_gray);
}
	.awards_page__top__inner {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		position: relative;
		overflow: hidden;
	}
		.awards_page__top__image {
			width: 40%;
			height: 100%;
			opacity: 1;
			transition: .8s;
		}
		.awards_page__top__image._left {
			transform: translate(-30px,0%);
			transition-delay: .24s;
			margin-right: auto;
		}
		.run .awards_page__top__image._left {
			transform: translate(0%,0%);
		}
		.awards_page__top__image._right {
			transform: translate(30px,0%);
			transition-delay: .44s;
			margin-left: auto;
		}
		.run .awards_page__top__image._right {
			transform: translate(0%,0%);
		}
		.awards_page__top__image img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		.awards_page__top__heading {
			width: auto;
			height: auto;
		opacity: 1;
		transform: translate(0%,0px);
		transition: .8s;
		transition-delay: .34s;
		text-align: center;
	}
	.awards_page__top__txt {
		font-family: "Noto Serif JP", serif;
		font-size: var(--12px);
		font-weight: 300;
		line-height: 2.2;
		letter-spacing: .08em;
		color: var(--color--black);
		margin-top: 2.4vw;
	}

/* 受賞歴リスト */
#awards {
	width: 100%;
	height: auto;
	padding: 5.625vw 0 7.8125vw;
	background-color: var(--color--bg_gray);
}
	.awards__inner {
		width: 78.125%;
		height: auto;
		margin: 0 auto;
	}
		/* 年号グループ */
		.awards__year_group {
			width: 100%;
			height: auto;
			margin-bottom: 5.625vw;
			opacity: 0;
			transform: translate(0%,30px);
			transition: .8s;
		}
		.awards__year_group.run {
			opacity: 1;
			transform: translate(0%,0%);
		}
		.awards__year_group:last-child {
			margin-bottom: 0;
		}
		.awards__year_heading {
			font-family: "Noto Serif JP", serif;
			font-size: 24px;
			font-weight: 600;
			line-height: 0.5;
			letter-spacing: .01em;
			color: var(--color--black);
			text-align: center;
			padding: 1.5625vw 0;
			margin-bottom: 3.125vw;
			border-top: 1px solid #cccccc;
			border-bottom: 1px solid #cccccc;
		}
		.awards__list {
			width: 100%;
			height: auto;
			display: flex;
			flex-direction: column;
			gap: 7.8125vw;
		}
			.awards__list__item {
				width: 100%;
				height: auto;
				opacity: 0;
				transform: translate(0%,30px);
				transition: .8s;
			}
			.run .awards__list__item {
				opacity: 1;
				transform: translate(0%,0%);
			}
			.awards__list__item:nth-of-type(1) {transition-delay: .1s;}
			.awards__list__item:nth-of-type(2) {transition-delay: .2s;}
			.awards__list__item:nth-of-type(3) {transition-delay: .3s;}
			.awards__list__item:nth-of-type(4) {transition-delay: .4s;}
			.awards__list__item:nth-of-type(5) {transition-delay: .5s;}
			.awards__list__item:nth-of-type(6) {transition-delay: .6s;}
			.awards__list__item:nth-of-type(7) {transition-delay: .7s;}
			.awards__list__item:nth-of-type(8) {transition-delay: .8s;}
			.awards__list__item:nth-of-type(9) {transition-delay: .9s;}
			.awards__list__item:nth-of-type(10) {transition-delay: 1s;}
			.awards__list__item:nth-of-type(11) {transition-delay: 1.1s;}
			.awards__list__item:nth-of-type(12) {transition-delay: 1.2s;}
				.awards__list__item__inner {
					display: flex;
					justify-content: space-between;
					align-items: flex-start;
					width: 100%;
					height: auto;
					gap: 5.46875vw;
				}
					/* スライドショーエリア */
					.awards__list__item__slideshow {
						flex: 0 0 clamp(320px, 40vw, 600px);
						height: auto;
						min-width: 0;
					}
						.awards-swiper {
							width: 100%;
							height: auto;
							aspect-ratio: 4 / 3;
							margin-bottom: 0.78125vw;
						}
						.awards-swiper .swiper-slide {
							width: 100%;
							height: 100%;
						}
						.awards-swiper .swiper-slide img {
							width: 100%;
							height: 100%;
							object-fit: cover;
						}
						.awards__list__item__no_image {
							width: 100%;
							height: auto;
							aspect-ratio: 4 / 3;
							background-color: var(--color--bg_gray);
							display: flex;
							align-items: center;
							justify-content: center;
						}
						.awards__list__item__no_image img {
							width: 50%;
							height: auto;
							opacity: 0.5;
						}
						/* サムネイルカルーセル */
						.awards__list__item__thumbs {
							width: 100%;
							height: auto;
							overflow: hidden;
						}
						.awards-thumbs-swiper {
							width: 100%;
							height: auto;
							overflow: visible;
						}
						.awards-thumbs-swiper .swiper-wrapper {
							display: -webkit-box;
							display: -webkit-flex;
							display: flex;
							-webkit-box-pack: end;
							-webkit-justify-content: flex-end;
							justify-content: flex-end;
							-webkit-transform: translate3d(0,0,0);
							transform: translate3d(0,0,0);
						}
						.awards-thumbs-swiper .swiper-slide {
							width: auto !important;
							min-width: 0;
							height: 3.90625vw;
							cursor: pointer;
							opacity: 0.5;
							transition: opacity 0.3s;
							margin-left: 5px;
							-webkit-flex-shrink: 0;
							flex-shrink: 0;
							-webkit-backface-visibility: hidden;
							backface-visibility: hidden;
						}
						.awards-thumbs-swiper .swiper-slide:first-child {
							margin-left: 0;
						}
						.awards-thumbs-swiper .swiper-slide-thumb-active {
							opacity: 1;
						}
						.awards-thumbs-swiper .swiper-slide img {
							width: auto;
							max-width: none;
							height: 100%;
							object-fit: cover;
							display: block;
						}
					/* コンテンツエリア */
					.awards__list__item__content {
						flex: 1 1 auto;
						min-width: 0;
						height: auto;
						padding-top: 1.5625vw;
					}
						.awards__list__item__title {
							font-family: "Noto Serif JP", serif;
							font-size: var(--24px);
							font-weight: 600;
							line-height: 1.6;
							letter-spacing: .08em;
							margin-bottom: 1.5625vw;
						}
					.awards__list__item__project {
						font-family: "Noto Serif JP", serif;
						font-size: var(--18px);
						font-weight: 400;
						line-height: 1.8;
						letter-spacing: .08em;
						color: var(--color--black);
						margin-bottom: 1.5625vw;
					}
					/* 投稿本文コンテンツ */
					.awards__list__item__article_content {
						font-family: "Noto Serif JP", serif;
						font-size: var(--16px);
						font-weight: 400;
						line-height: 2;
						letter-spacing: 0.06em;
						color: var(--color--black);
						margin-top: 2.34375vw;
					}
					.awards__list__item__article_content p {
						margin-bottom: 1.25vw;
					}
					.awards__list__item__article_content p:last-child {
						margin-bottom: 0;
					}
					.awards__list__item__article_content h2,
					.awards__list__item__article_content h3,
					.awards__list__item__article_content h4 {
						margin-top: 2.5vw;
						margin-bottom: 1.25vw;
						font-weight: 500;
						line-height: 1.6;
					}
					.awards__list__item__article_content h2 {
						font-size: var(--28px);
					}
					.awards__list__item__article_content h3 {
						font-size: var(--24px);
					}
					.awards__list__item__article_content h4 {
						font-size: var(--20px);
					}
					.awards__list__item__article_content ul,
					.awards__list__item__article_content ol {
						margin-left: 1.25vw;
						margin-bottom: 1.25vw;
					}
					.awards__list__item__article_content li {
						margin-bottom: 0.625vw;
					}
					.awards__list__item__article_content a {
						color: var(--color--black);
						text-decoration: underline;
						transition: 0.3s;
					}
					@media (any-hover: hover) {
						.awards__list__item__article_content a:hover {
							opacity: 0.7;
						}
					}
					.awards__list__item__article_content img {
						max-width: 100%;
						height: auto;
						margin: 1.66667vw 0;
					}
					.awards__list__item__article_content .wp-block-paragraph {
						margin-bottom: 1.25vw;
					}
					.awards__list__item__article_content .wp-block-heading {
						margin-top: 2.5vw;
						margin-bottom: 1.25vw;
						font-weight: 500;
						line-height: 1.6;
					}
					.awards__list__item__article_content .wp-block-image {
						margin: 1.66667vw 0;
					}
					.awards__list__item__article_content .wp-block-image img {
						max-width: 100%;
						height: auto;
						display: block;
					}
					.awards__list__item__article_content .wp-block-image.aligncenter {
						text-align: center;
					}
					.awards__list__item__article_content .wp-block-image.alignleft {
						float: left;
						margin-right: 1.25vw;
						margin-bottom: 1.25vw;
					}
					.awards__list__item__article_content .wp-block-image.alignright {
						float: right;
						margin-left: 1.25vw;
						margin-bottom: 1.25vw;
					}
					.awards__list__item__article_content .wp-block-image figcaption {
						font-size: var(--14px);
						color: var(--color--light_gray);
						text-align: center;
						margin-top: 0.41667vw;
					}
					.awards__list__item__article_content .wp-block-list {
						margin-left: 1.25vw;
						margin-bottom: 1.25vw;
					}
					.awards__list__item__article_content .wp-block-list li {
						margin-bottom: 0.625vw;
					}
					.awards__list__item__article_content .wp-block-quote {
						border-left: 4px solid var(--color--light_gray);
						padding-left: 1.25vw;
						margin: 1.66667vw 0;
						font-style: italic;
					}
					.awards__list__item__article_content .wp-block-quote p {
						margin-bottom: 0.625vw;
					}
					.awards__list__item__article_content .wp-block-quote cite {
						font-size: var(--14px);
						color: var(--color--light_gray);
						font-style: normal;
					}
					.awards__list__item__article_content .wp-block-code {
						background-color: #f5f5f5;
						padding: 0.83333vw;
						border-radius: 4px;
						margin: 1.25vw 0;
						overflow-x: auto;
					}
					.awards__list__item__article_content .wp-block-code code {
						font-family: 'Courier New', Courier, monospace;
						font-size: var(--14px);
					}
						.awards__list__item__btn_wrap {
							width: auto;
							height: auto;
						}
						.awards__list__item__btn {
							display: flex;
							justify-content: space-between;
							align-items: center;
							width: 13.28125vw;
							height: auto;
							padding-bottom: 0.78125vw;
							border-bottom: solid 1px var(--color--black);
							transition: .3s;
						}
						@media (any-hover: hover) {
							.awards__list__item__btn:hover {
								opacity: 0.7;
							}
						}
			.awards__list__empty {
				width: 100%;
				text-align: center;
				padding: 3.125vw 0;
				font-family: "Noto Serif JP", serif;
				font-size: var(--16px);
				color: var(--color--gray);
			}

/* ページネーション */
.pagination__wrap {
	width: 100%;
	height: auto;
	margin: 7.8125vw 0 0;
}
	.pagination__wrap .navigation {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: auto;
	}
		.pagination__wrap .nav-links {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 1.5625vw;
		}
			.pagination__wrap .page-numbers {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 2.34375vw;
				height: 2.34375vw;
				font-family: "Noto Serif JP", serif;
				font-size: var(--14px);
				color: var(--color--black);
				transition: .3s;
			}
			.pagination__wrap .page-numbers.current {
				background-color: var(--color--black);
				color: var(--color--white);
				border-radius: 50%;
			}
			@media (any-hover: hover) {
				.pagination__wrap a.page-numbers:hover {
					opacity: 0.7;
				}
			}
			.pagination__wrap .prev,
			.pagination__wrap .next {
				width: 1.5625vw;
				height: 1.5625vw;
			}
			.pagination__wrap .prev svg,
			.pagination__wrap .next svg {
				width: 100%;
				height: 100%;
			}
			.pagination__wrap .prev {
				transform: rotate(180deg);
			}

/* スマホ対応 */
@media all and (max-width: 768px) {
	#awards_page__top {
		height: 36vh;
		/* iOS Safari/Chrome対応: ヘッダー分 + セーフエリアを考慮 */
		padding-top: 56px;
		padding-top: calc(56px + env(safe-area-inset-top, 0px));
		padding-top: calc(56px + constant(safe-area-inset-top, 0px)); /* iOS 11.0-11.2 */
		box-sizing: border-box;
	}
	.awards_page__top__inner {
		width: 100%;
		height: 100%;
	}
		.awards_page__top__image {
			width: 20%;
			height: 100%;
			overflow: hidden;
		}
		.awards_page__top__image._left {
			margin-right: 0;
			transform: none;
		}
		.awards_page__top__image._left img {
			width: auto;
			height: 100%;
			max-width: none;
			object-fit: cover;
			object-position: right center;
		}
		.awards_page__top__image._right {
			margin-left: 0;
			transform: none;
		}
		.awards_page__top__image._right img {
			width: auto;
			height: 100%;
			max-width: none;
			object-fit: cover;
			object-position: left center;
		}
		.awards_page__top__heading {
			width: 60%;
			text-align: center;
		}
		.awards_page__top__txt {
			text-align: center;
		}

	#awards {
		padding: 13.333333vw 0 16vw;
	}
		.awards__inner {
			width: 80%;
		}
			/* 年号グループ - スマホ */
			.awards__year_group {
				margin-bottom: 10.666667vw;
			}
			.awards__year_heading {
				font-size: 18px;
				line-height: 0.5;
				padding: 3.2vw 0;
				margin-bottom: 6.4vw;
				border-top: 1px solid #cccccc;
				border-bottom: 1px solid #cccccc;
			}
			.awards__list {
				gap: 13.333333vw;
			}
				.awards__list__item__inner {
					display: block;
					gap: 0;
				}
					.awards__list__item__slideshow {
						width: 100%;
						margin-bottom: 6.4vw;
					}
						.awards-swiper {
							aspect-ratio: 4 / 3;
							margin-bottom: 2.666667vw;
						}
						.awards__list__item__no_image {
							aspect-ratio: 4 / 3;
						}
						.awards-thumbs-swiper .swiper-slide {
							height: 8vw;
							width: auto !important;
							min-width: 0;
							-webkit-flex-shrink: 0;
							flex-shrink: 0;
						}
					.awards__list__item__content {
						width: 100%;
						padding-top: 0;
					}
						.awards__list__item__title {
							font-size: var(--20px);
							margin-bottom: 2.666667vw;
						}
						.awards__list__item__project {
							font-size: var(--16px);
							margin-bottom: 2.666667vw;
						}
						/* 投稿本文コンテンツ - スマホ */
						.awards__list__item__article_content {
							font-size: var(--12px);
							margin-top: 4vw;
						}
						.awards__list__item__article_content p {
							margin-bottom: 3.2vw;
						}
						.awards__list__item__article_content h2,
						.awards__list__item__article_content h3,
						.awards__list__item__article_content h4 {
							margin-top: 6.4vw;
							margin-bottom: 3.2vw;
						}
						.awards__list__item__article_content h2 {
							font-size: var(--22px);
						}
						.awards__list__item__article_content h3 {
							font-size: var(--20px);
						}
						.awards__list__item__article_content h4 {
							font-size: var(--18px);
						}
						.awards__list__item__article_content ul,
						.awards__list__item__article_content ol {
							margin-left: 3.2vw;
							margin-bottom: 3.2vw;
						}
						.awards__list__item__article_content li {
							margin-bottom: 1.6vw;
						}
						.awards__list__item__article_content img {
							margin: 4.266667vw 0;
						}
						.awards__list__item__article_content .wp-block-image.alignleft {
							margin-right: 3.2vw;
							margin-bottom: 3.2vw;
						}
						.awards__list__item__article_content .wp-block-image.alignright {
							margin-left: 3.2vw;
							margin-bottom: 3.2vw;
						}
						.awards__list__item__btn {
							width: 32.933333vw;
							margin: 0 auto;
							padding-bottom: 1.6vw;
						}

	.pagination__wrap {
		margin: 13.333333vw 0 0;
	}
		.pagination__wrap .nav-links {
			gap: 2.666667vw;
		}
			.pagination__wrap .page-numbers {
				width: 5.333333vw;
				height: 5.333333vw;
				font-size: var(--13px);
			}
			.pagination__wrap .prev,
			.pagination__wrap .next {
				width: 3.2vw;
				height: 3.2vw;
			}
}
