/* ============================================
   基本設定
============================================ */

.fs-news-page,
.fs-news-page *,
.fs-news-page *::before,
.fs-news-page *::after {
	box-sizing: border-box;
}

.fs-news-page {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}


/* ============================================
   SWELL
   NEWS一覧ページ 上部余白を完全に削除
============================================ */

html body #content.l-content,
html body #content.l-content.l-container,
html body .l-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

html body #content.l-content > *:first-child,
html body #main_content.fs-news-page,
html body .fs-news-page {
	margin-top: 0 !important;
	padding-top: 0 !important;
}





/* ============================================
   パンくず
============================================ */

.fs-news-breadcrumb {
	position: relative;
	z-index: 20;

	width: 100vw;

	margin: -27px 0 0;
	margin-left: calc(50% - 50vw);

	padding: 0;
}

.fs-news-breadcrumb__inner {
	display: flex;
	align-items: center;

	width: fit-content;

	height: 54px;
	min-height: 54px;

	margin: 0;
	padding: 0 50px;

	background-color: #ff1200;

	color: #ffffff;

	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;

	white-space: nowrap;
}

.fs-news-breadcrumb__link {
	color: #ffffff;
	text-decoration: none;
}

.fs-news-breadcrumb__link:hover,
.fs-news-breadcrumb__link:focus-visible {
	color: #ffffff;
	opacity: 0.8;
	text-decoration: none;
}

.fs-news-breadcrumb__separator {
	margin: 0 8px;
	color: #ffffff;
}

.fs-news-breadcrumb__current {
	color: #ffffff;
}


/* ============================================
   記事一覧セクション
============================================ */

.fs-news {
	position: relative;

	width: 100vw;

	margin: 0 0 0 calc(50% - 50vw);

	padding:
		78px
		0
		108px;

	background-color: #ffffff;
}


/* ============================================
   インナー
============================================ */

.fs-news__inner {
	width: 100%;
	max-width: 1140px;

	margin: 0 auto;
	padding: 0 20px;
}


/* ============================================
   フィルター
============================================ */

.fs-news-filter {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	gap: 18px;

	width: 100%;

	margin: 0 0 54px;
	padding: 0;
}


/* ============================================
   フィルターボタン
============================================ */

.fs-news-filter__button {
	display: flex;
	align-items: center;
	justify-content: center;

	min-width: 100px;
	height: 34px;

	margin: 0;
	padding: 0 20px;

	border: 1px solid #ff1200;
	border-radius: 999px;

	background-color: #ffffff;

	color: #ff1200;

	font-size: 13px;
	font-weight: 700;
	line-height: 1;

	text-align: center;
	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		opacity 0.2s ease;
}

.fs-news-filter__button:hover,
.fs-news-filter__button:focus-visible {
	color: #ff1200;
	opacity: 0.75;
	text-decoration: none;
}

.fs-news-filter__button.is-active {
	background-color: #ff1200;
	color: #ffffff;
}


/* ============================================
   記事グリッド
============================================ */

.fs-news-grid {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap:
		46px
		34px;

	width: 100%;

	margin: 0;
	padding: 0;
}


/* ============================================
   記事カード
============================================ */

.fs-news-card {
	width: 100%;

	margin: 0;
	padding: 0;

	background-color: #ffffff;

	box-shadow:
		0 2px 14px rgba(0, 0, 0, 0.07);
}

.fs-news-card__link {
	display: block;

	width: 100%;
	height: 100%;

	color: inherit;
	text-decoration: none;
}

.fs-news-card__link:hover,
.fs-news-card__link:focus-visible {
	color: inherit;
	text-decoration: none;
}


/* ============================================
   サムネイル
============================================ */

.fs-news-card__image-wrap {
	position: relative;

	width: 100%;
	aspect-ratio: 16 / 9;

	margin: 0;
	padding: 0;

	overflow: hidden;

	background-color: #f5eeee;
}

.fs-news-card__image {
	display: block;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;

	object-fit: cover;

	transition: transform 0.3s ease;
}

.fs-news-card__link:hover .fs-news-card__image {
	transform: scale(1.025);
}


/* ============================================
   NO IMAGE
============================================ */

.fs-news-card__no-image {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	background-color: #fcf2f2;

	color: #ff1200;

	font-family: "Bebas Neue", sans-serif;

	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0.08em;
}


/* ============================================
   赤いタイトル帯
============================================ */




/* ============================================
   カード本文
============================================ */

.fs-news-card__body {
	padding:
		20px
		20px
		28px;
}


/* ============================================
   メタ
============================================ */

.fs-news-card__meta {
	display: flex;
	align-items: center;

	gap: 14px;

	margin: 0 0 16px;
	padding: 0;
}


/* ============================================
   カテゴリー
============================================ */

.fs-news-card__category {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 76px;
	height: 30px;

	padding: 0 13px;

	border: 1px solid #ff1200;
	border-radius: 999px;

	color: #ff1200;

	font-size: 13px;
	font-weight: 700;
	line-height: 1;

	white-space: nowrap;
}


/* ============================================
   日付
============================================ */

.fs-news-card__date {
	color: #777777;

	font-size: 13px;
	font-weight: 400;
	line-height: 1;

	letter-spacing: 0.05em;
}


/* ============================================
   記事タイトル
============================================ */

.fs-news-card__title {
	margin: 0;
	padding: 0;

	color: #222222;

	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.02em;

	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}


/* ============================================
   抜粋
============================================ */

.fs-news-card__excerpt {
	margin: 14px 0 0;
	padding: 0;

	color: #555555;

	font-size: 16px;
	font-weight: 500;
	line-height: 1.85;
	letter-spacing: 0.02em;

	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}


/* ============================================
   記事0件
============================================ */

.fs-news-empty {
	width: 100%;

	margin: 80px 0;
	padding: 40px 20px;

	border-top: 1px solid #eeeeee;
	border-bottom: 1px solid #eeeeee;

	text-align: center;
}

.fs-news-empty p {
	margin: 0;
	padding: 0;

	color: #555555;

	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}


/* ============================================
   ページネーション
============================================ */

.fs-news-pagination {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;

	margin: 72px 0 0;
	padding: 34px 0 0;

	border-top: 1px solid #dddddd;
}

.fs-news-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 34px;
	height: 34px;

	margin: 0 4px;
	padding: 0;

	border: 1px solid #ff1200;

	background-color: #ffffff;

	color: #ff1200;

	font-size: 12px;
	font-weight: 700;
	line-height: 1;

	text-decoration: none;
}

.fs-news-pagination .page-numbers.current {
	background-color: #ff1200;
	color: #ffffff;
}

.fs-news-pagination .page-numbers:hover {
	background-color: #ff1200;
	color: #ffffff;
	text-decoration: none;
}

.fs-news-pagination .page-numbers.dots {
	border-color: transparent;
	background-color: transparent;
	color: #ff1200;
}


/* ============================================
   1000px以下
============================================ */

@media (max-width: 1000px) {

	.fs-news-grid {
		gap:
			36px
			24px;
	}

}


/* ============================================
   スマートフォン
============================================ */

@media (max-width: 767px) {

	/* ========================================
	   パンくず
	======================================== */

	.fs-news-breadcrumb {
		margin-top: -25px;
	}

	.fs-news-breadcrumb__inner {
		height: 50px;
		min-height: 50px;

		padding:
			0
			32px
			0
			20px;

		font-size: 12px;
	}

	.fs-news-breadcrumb__separator {
		margin: 0 5px;
	}


	/* ========================================
	   記事セクション
	======================================== */

	.fs-news {
		padding:
			58px
			0
			76px;
	}


	/* ========================================
	   インナー
	======================================== */

	.fs-news__inner {
		max-width: none;

		padding:
			0
			14px;
	}


	/* ========================================
	   タブ
	======================================== */

	.fs-news-filter {
		justify-content: center;

		gap: 12px;

		margin-bottom: 42px;
	}

	.fs-news-filter__button {
		min-width: 0;
		width: 92px;
		height: 32px;

		padding: 0 10px;

		font-size: 11px;
	}


	/* ========================================
	   一覧
	======================================== */

	.fs-news-grid {
		display: grid;

		grid-template-columns: 1fr;

		gap: 28px;

		width: 100%;
	}


	/* ========================================
	   カード
	======================================== */

	.fs-news-card__category-bar {
		padding:
			7px
			12px;

		font-size: 14px;
	}


	/* ========================================
	   本文
	======================================== */

	.fs-news-card__body {
		padding:
			18px
			18px
			28px;
	}


	/* ========================================
	   メタ
	======================================== */

	.fs-news-card__meta {
		gap: 14px;

		margin-bottom: 16px;
	}


	/* ========================================
	   カテゴリー
	======================================== */

	.fs-news-card__category {
		min-width: 72px;
		height: 28px;

		padding: 0 12px;

		font-size: 12px;
		font-weight: 700;
	}


	/* ========================================
	   日付
	======================================== */

	.fs-news-card__date {
		font-size: 12px;
		font-weight: 400;
	}


	/* ========================================
	   タイトル
	======================================== */

	.fs-news-card__title {
		font-size: 17px;
		font-weight: 700;
		line-height: 1.6;
	}


	/* ========================================
	   抜粋
	======================================== */

	.fs-news-card__excerpt {
		margin-top: 14px;

		font-size: 15px;
		font-weight: 500;
		line-height: 1.85;

		-webkit-line-clamp: 3;
	}


	/* ========================================
	   空状態
	======================================== */

	.fs-news-empty {
		margin: 50px 0;

		padding:
			34px
			10px;
	}

	.fs-news-empty p {
		font-size: 14px;
	}


	/* ========================================
	   ページネーション
	======================================== */

	.fs-news-pagination {
		margin-top: 48px;
		padding-top: 28px;
	}

	.fs-news-pagination .page-numbers {
		width: 30px;
		height: 30px;

		margin: 0 3px;

		font-size: 11px;
	}

}


/* ============================================
   375px以下
============================================ */

@media (max-width: 375px) {

	.fs-news__inner {
		padding:
			0
			14px;
	}

	.fs-news-filter {
		gap: 9px;
	}

	.fs-news-filter__button {
		width: 88px;

		font-size: 10px;
	}

}