@charset "UTF-8";
/*--------------------------------------------------
**************************************************
  投稿一覧
**************************************************
--------------------------------------------------*/
.heading_02 {
	position: relative;
}

.heading_02::after {
	content: '';
	display: block;
	width: 30px;
	height: 5px;
	margin: 25px auto 0;
}

.featured_achievements .heading_02::after,
.achievement_list .heading_02::after {
	background: var(--black-3);
}

.bg_ivory {
	padding-top: 35px;
	background-color: var(--ivory-1);
}

.archive #breadcrumbs {
	margin-top: 0;
}

.achievements {
	max-width: 1400px;
	padding-block: 70px 50px;
}

.achievements .heading_02::after {
	background: var(--black-3);
}

.achievements__list {
	display: flex;
	justify-content: center;
	margin-top: 58px;
}

.achievements__item {
	display: flex;
	flex: 1 1 25%;
	flex-direction: column;
	align-items: center;
	padding-inline: 45px;
	text-align: center;
}
/*
.achievements__item + .achievements__item {
	border-left: 1px solid #6C6848;
}
*/
.achievements__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 90px;
}

.achievements__icon {
	display: block;
	width: auto;
	object-fit: contain;
}

.achievements__icon--business {
	width: 71px;
	height: 71px;
}

.achievements__icon--media {
	width: 61px;
	height: 61px;
	border-radius: 34px;
}

.achievements__icon--social {
	width: 90px;
	height: 90px;
}

.achievements__icon--brand {
	width: 61px;
	height: 61px;
}

.achievements__title {
	margin-top: 20px;
	font-size: 2.4rem;
	line-height: 1.3;
	color: var(--black-3);
}

.achievements__subtitle {
	margin-top: 10px;
	font-size: 1.8rem;
	line-height: 1.5;
	color: var(--black-3);
}

.achievements__value {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 4px;
	margin-top: 20px;
	color: var(--black-3);
}

.achievements__number {
	font-family: "Century", serif;
	font-size: 4rem;
	line-height: 1;
}

.achievements__unit {
	font-size: 1.6rem;
	line-height: 1.4;
}

.achievements__value--text {
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.1em;
}

.achievements__text {
	margin-top: 20px;
	font-size: 1.4rem;
	line-height: 2;
	color: var(--black-3);
}

/* PCでは文量の差による数値位置のずれを防ぐ。 */
@media screen and (min-width: 768px) {
	.achievements__subtitle {
		min-height: 54px;
	}

	.achievements__value {
		min-height: 44px;
	}
}

.achievements {
	position: relative;
	padding-block: 72px 0;
}

.achievements__layout {
	position: relative;
	/* min-height: 442px; */
}

.achievements__list {
	justify-content: flex-start;
	gap: 40px;
	width: calc(100% - 400px);
	max-width: 984px;
	margin-top: 40px;
	padding-bottom: 70px;
}

.achievements__item {
	flex: 0 1 216px;
	max-width: 216px;
	padding-inline: 0;
}

.achievements__figure {
	position: absolute;
	/* right: -170px; */
	right: 0px;
	bottom: 0;
	width: min(39.8vw, 557px);
	pointer-events: none;
}

.achievements__figure-image {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 1400px) {
	.achievements__list {
		width: calc(100% - 340px);
	}

	.achievements__figure {
		right: -180px;
		width: min(37vw, 500px);
	}
}

@media screen and (max-width: 1199px) {
	.achievements__list {
		width: calc(100% - 260px);
		max-width: 840px;
		gap: 24px;
		margin-top: 80px;
	}

	.achievements__item {
		flex-basis: calc((100% - 72px) / 4);
	}

	.achievements__figure {
		right: -90px;
		width: min(31vw, 380px);
	}
}

@media screen and (max-width: 991px) {
	.achievements__layout {
		padding-right: 0;
		padding-bottom: 270px;
	}

	.achievements__list {
		max-width: 100%;
		gap: 20px;
		margin-top: 60px;
	}

	.achievements__item {
		flex-basis: calc((100% - 40px) / 4);
	}

	.achievements__figure {
		right: 0;
		width: min(42vw, 340px);
	}
}

.achievements_featured_list {
	padding-block: 100px 60px;
}

.bg_white {
	background-color: var(--white-2);
}

.featured_achievements_archive {
	margin-top: 70px;
}

.featured_achievements__slider {
	position: relative;
}

.featured_achievements__modals.activities_box {
	display: block;
}

.featured_achievements__list.activities_box {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	max-width: 1200px;
	margin-inline: auto;
}

.featured_achievements__item.activities_item {
	max-width: none;
}

.featured_achievements__item .post_card {
	height: 100%;
}

.featured_achievements__item .post_card .thumb {
	aspect-ratio: 380 / 254;
	overflow: hidden;
}

.featured_achievements__nav {
	display: none;
}

.featured_achievements__nav img {
	display: block;
	width: 100%;
	height: 100%;
}

.featured_achievements__nav.swiper-button-disabled {
	opacity: 0.45;
	cursor: default;
}

.achievement_list {
	margin-top: 110px;
}

.post_works_box {
	display: flex;
	justify-content: flex-start;
	margin-top: 70px;
}

.post_works_box .activities_box {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 80px 17px;
	width: 100%;
}

@media screen and (max-width: 1199px) {
	.post_works_box .activities_box {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 64px 20px;
	}
}

@media screen and (max-width: 991px) {
	.post_works_box .activities_box {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 48px 24px;
	}
}

.achievement_list .activities_box .post_card .post_title {
	font-size: 1.5rem;
}

/* SP */
@media screen and (max-width: 767px) {
	.achievements {
		padding-block: 0 70px;
	}

	.achievements__list {
		width: 100%;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
		margin-top: 50px;
		padding-bottom: 0;
	}

	.achievements__layout {
		min-height: 0;
		padding-right: 0;
		padding-bottom: 0;
	}

	.achievements__item {
		flex: 0 1 50%;
		max-width: none;
		/* padding: 32px 24px; */
		padding: 20px 10px;
	}

	.achievements__item + .achievements__item {
		border-left: none;
	}

	.achievements__item:nth-child(even) {
		border-left: 1px solid #6C6848;
	}

	.achievements__item:nth-child(n + 3) {
		border-top: 1px solid #6C6848;
	}

	/* 3件などの奇数件時は、最後の項目を全幅で表示する。 */
	.achievements__item:last-child:nth-child(odd) {
		flex-basis: 100%;
	}

	.achievements__title {
		font-size: 2rem;
	}

	.achievements__subtitle {
		min-height: 5rem;
		font-size: 1.6rem;
	}

	.achievements__value {
		min-height: 3.4rem;
	}

	.achievements__number {
		font-size: 3.4rem;
	}
	
	.achievements__unit {
		font-size: 1.0rem;
		line-height: 1.4;
	}

	.achievements__value--text {
		font-size: 3rem;
	}

	.achievements__text {
		line-height: 1.8;
	}

	.achievements__subtitle--sp-auto,
	.achievements__value--sp-auto,
	.achievements__text--sp-auto {
		min-height: auto;
	}

	.achievements__figure {
		position: relative;
		right: auto;
		bottom: auto;
		width: min(84vw, 360px);
		margin: 50px auto 0;
	}
	
	.achievements_featured_list {
		padding-block: 80px;
	}
	
	.achievements_featured_list .heading_02 .main,
	.achievement_list .heading_02 .main {
		font-size: 3.0rem;
	}
	
	.post_works_box {
		flex-direction: column;
		justify-content: flex-start;
		gap: 60px;
		margin-top: 40px;
	}

	.featured_achievements_archive {
		margin-top: 40px;
	}

	.featured_achievements__slider {
		overflow: hidden;
	}

	.featured_achievements__list.activities_box.swiper-wrapper {
		display: flex;
		gap: 0;
		align-items: stretch;
		max-width: none;
		margin-inline: 0;
	}

	.featured_achievements__item.activities_item {
		flex-shrink: 0;
		width: 100%;
	}

	.featured_achievements__item .post_card {
		max-width: calc(100% - 108px);
		margin-inline: auto;
	}

	.featured_achievements__nav {
		position: absolute;
		top: clamp(72px, 24vw, 110px);
		display: block;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		background: transparent;
		transform: translateY(-50%);
		z-index: 2;
		cursor: pointer;
	}

	.featured_achievements__nav--prev {
		left: 0;
	}

	.featured_achievements__nav--next {
		right: 0;
	}

	.featured_achievements__nav img {
		width: 38px;
		height: 38px;
		margin: auto;
	}
	
	.achievement_list {
		margin-top: 80px;
	}
	
	.post_works_box .activities_box {
		grid-template-columns: 1fr;
		width: 100%;
		gap: 30px;
	}
}


/*--------------------------------------------------
**************************************************
  サイドバー
**************************************************
--------------------------------------------------*/
aside {
	max-width: 303px;
	width: 100%;
}

aside [class*="side_"] + [class*="side_"] {
	margin-top: 40px;
}

aside [class*="side_"] h2 {
	font-size: 2.8rem;
	font-weight: 400;
	letter-spacing: 2.8px;
}

aside [class*="side_"] ul {
	margin-top: 20px;
}

aside .side_category li {
	position: relative;
	padding-left: 30px;
}

aside .side_category li:not(:first-child) {
	margin-top: 5px;
}

aside .side_category li::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: block;
	width: 20px;
	height: 1px;
	background: var(--black-4);
}

/* SP */
@media screen and (max-width: 767px) {
	aside [class*="side_"] h2 {
		font-size: 2.4rem;
	}
	
	aside .side_category ul {
		display: flex;
		flex-wrap: wrap;
		gap: 10px 30px;
	}
	
	aside .side_category li:not(:first-child) {
		margin-top: 0;
	}
}


/*--------------------------------------------------
**************************************************
  フッター
**************************************************
--------------------------------------------------*/
.sub_page .archive footer {
	margin-top: 0;
}

/* SP */
@media screen and (max-width: 767px) {
	.sub_page .archive footer {
		margin-top: 0;
	}
}
