/* Figma: ナレッジ一覧（node 4726:2472） */

.knowledge-archive {
	padding-bottom: 120px;

	box-sizing: border-box;
}

/* ----- Hero ----- */
.knowledge-archive__hero {
	position: relative;

	margin-bottom: 24px;

	box-sizing: border-box;
}

.knowledge-archive__hero-visual {
	height: 451px;

	width: 100%;

	max-width: 1432px;

	margin: 0 auto;

	background-color: #e8eaed;

	background-image:
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px);

	background-size: 32px 32px;

	border-radius: 0;

	box-sizing: border-box;
}

.knowledge-archive__hero-overlay {
	position: relative;

	margin-top: -128px;

	pointer-events: none;

	box-sizing: border-box;
}

.knowledge-archive__hero-wrap {
	pointer-events: auto;
}

.knowledge-archive__hero-text {
	display: flex;

	flex-direction: column;

	align-items: flex-start;

	gap: 8px;

	max-width: 100%;

	padding: 0 32px 8px;

	box-sizing: border-box;
}

.knowledge-archive__hero-label {
	margin: 0;

	font-weight: 700;

	font-size: 20px;

	line-height: normal;

	color: #aaa;
}

.knowledge-archive__hero-title {
	margin: 0;

	font-weight: 700;

	font-size: clamp(48px, 8vw, 96px);

	line-height: 1;

	letter-spacing: 0.02em;

	color: #000;

	text-transform: uppercase;
}

/* ----- Breadcrumb ----- */
.knowledge-archive__breadcrumb {
	display: flex;

	flex-direction: row;

	align-items: center;

	flex-wrap: wrap;

	gap: 8px;

	padding: 0 40px 48px;

	font-size: 16px;

	line-height: normal;

	letter-spacing: 0.48px;

	box-sizing: border-box;
}

.knowledge-archive__breadcrumb-link {
	font-weight: 500;

	color: #3174e7;

	text-decoration: none;
}

.knowledge-archive__breadcrumb-link:hover {
	text-decoration: underline;
}

.knowledge-archive__breadcrumb-sep {
	display: inline-block;

	width: 5px;

	height: 12px;

	margin: 0 4px;

	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='12' viewBox='0 0 5 12' fill='none'%3E%3Cpath d='M1 1l3 5-3 5' stroke='%23333' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

.knowledge-archive__breadcrumb-current {
	font-weight: 500;

	color: #333;
}

/* ----- Carousel ----- */
.knowledge-archive__carousel-wrap {
	margin-block: 90px 120px;

	overflow: clip;

	box-sizing: border-box;
}

.knowledge-carousel {
	position: relative;

	display: flex;

	flex-direction: row;

	align-items: center;

	justify-content: center;

	gap: 32px;

	width: 100%;

	box-sizing: border-box;
}

.knowledge-carousel__viewport {
	flex: 1 1 auto;

	min-width: 0;

	overflow-x: auto;

	overflow-y: hidden;

	scroll-snap-type: x mandatory;

	scroll-behavior: smooth;

	-webkit-overflow-scrolling: touch;

	scrollbar-width: thin;

	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);

	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.knowledge-carousel__viewport::-webkit-scrollbar {
	height: 6px;
}

.knowledge-carousel__viewport::-webkit-scrollbar-thumb {
	background: #ccc;

	border-radius: 3px;
}

.knowledge-carousel__track {
	display: flex;

	flex-direction: row;

	align-items: center;

	gap: 32px;

	padding: 24px max(24px, calc(50% - min(46vw, 620px) / 2));

	box-sizing: border-box;
}

.knowledge-carousel__slide {
	flex: 0 0 auto;

	width: min(46vw, 620px);

	opacity: 0.5;

	transition: opacity 0.35s ease, transform 0.35s ease;

	scroll-snap-align: center;

	box-sizing: border-box;
}

.knowledge-carousel__slide.is-center {
	opacity: 1;

	transform: scale(1.06);

	z-index: 1;
}

.knowledge-carousel__card {
	display: block;

	width: 100%;

	height: clamp(220px, 32vw, 340px);

	border-radius: 12px;

	overflow: hidden;

	box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);

	box-sizing: border-box;
}

.knowledge-carousel__img {
	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;
}

.knowledge-carousel__img--empty {
	display: block;

	width: 100%;

	height: 100%;

	background-color: #ddd;
}

.knowledge-carousel__nav {
	flex-shrink: 0;

	width: 48px;

	height: 48px;

	padding: 0;

	border: 1px solid #eee;

	border-radius: 40px;

	background-color: #f8f8f8;

	cursor: pointer;

	position: relative;

	box-sizing: border-box;

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

.knowledge-carousel__nav:hover {
	background-color: #eee;
}

.knowledge-carousel__nav::after {
	content: '';

	position: absolute;

	left: 50%;

	top: 50%;

	width: 8px;

	height: 8px;

	margin: -4px 0 0 -4px;

	border-right: 2px solid #333;

	border-bottom: 2px solid #333;
}

.knowledge-carousel__nav--prev::after {
	transform: rotate(135deg);

	margin-left: -2px;
}

.knowledge-carousel__nav--next::after {
	transform: rotate(-45deg);

	margin-left: -6px;
}

/* ----- Grid ----- */
.knowledge-archive__list {
	box-sizing: border-box;
}



.knowledge-archive__grid {
	display: grid;

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

	gap: 40px;

	width: 100%;

	max-width: 1200px;

	margin: 0 auto;

	box-sizing: border-box;
}

.knowledge-card {
	margin: 0;

	box-sizing: border-box;
}

.knowledge-card__link {
	display: flex;

	flex-direction: column;

	align-items: stretch;

	height: 100%;

	background-color: #fff;

	border: 1px solid #eee;

	border-radius: 16px;

	overflow: hidden;

	padding-bottom: 32px;

	text-decoration: none;

	color: inherit;

	box-sizing: border-box;

	transition: opacity 0.2s ease;
}

.knowledge-card__link:hover {
	opacity: 0.92;
}

.knowledge-card__thumb {
	width: 100%;

	aspect-ratio: 373 / 202;

	border-radius: 8px 8px 0 0;

	overflow: hidden;

	background-color: #ddd;

	flex-shrink: 0;
}

.knowledge-card__thumb--empty {
	background-color: #ddd;
}

.knowledge-card__img {
	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;
}

.knowledge-card__body {
	display: flex;

	flex-direction: column;

	align-items: flex-start;

	gap: 16px;

	padding: 24px 24px 0;

	box-sizing: border-box;
}

.knowledge-card__date {
	font-weight: 500;

	font-size: 14px;

	line-height: normal;

	color: #888;
}

.knowledge-card__title {
	margin: 0;

	font-weight: 700;

	font-size: 18px;

	line-height: 1.5;

	color: #333;
}

.knowledge-archive__empty {
	text-align: center;

	padding: 48px 0;

	color: #666;
}

/* ----- Pagination ----- */
.knowledge-archive__pager {
	display: flex;

	flex-direction: row;

	align-items: center;

	justify-content: center;

	gap: 32px;

	margin-top: 64px;

	padding: 16px 24px;

	border: 1px solid #eee;

	border-radius: 56px;

	max-width: max-content;

	margin-left: auto;

	margin-right: auto;

	box-sizing: border-box;
}

.knowledge-archive__pager-nums {
	display: flex;

	flex-direction: row;

	align-items: center;

	gap: 24px;
}

.knowledge-archive__pager-nums ul {
	display: flex;

	flex-direction: row;

	align-items: center;

	gap: 24px;

	list-style: none;

	margin: 0;

	padding: 0;
}

.knowledge-archive__pager-nums li {
	margin: 0;

	padding: 0;
}

.knowledge-archive__pager-nums a,
.knowledge-archive__pager-nums span {
	display: inline-block;

	font-size: 16px;

	line-height: normal;

	color: #aaa;

	text-decoration: none;

	font-weight: 500;
}

.knowledge-archive__pager-nums span.current,
.knowledge-archive__pager-nums a:hover {
	color: #333;

	font-weight: 700;
}

.knowledge-archive__pager-btn {
	/* flex-shrink: 0;

	width: 48px;

	height: 48px;

	border-radius: 48px;

	border: none;

	cursor: pointer;

	position: relative;

	box-sizing: border-box; */
}

.knowledge-archive__pager-btn--prev.knowledge-archive__pager-btn--off {
	/* background-color: #eee;

	pointer-events: none; */
}

.knowledge-archive__pager-btn--prev.knowledge-archive__pager-btn--on {
	/* background-color: #eee;

	text-decoration: none;

	display: flex;

	align-items: center;

	justify-content: center; */
}

.knowledge-archive__pager-btn--next.knowledge-archive__pager-btn--on {
	/* background-color: #333;

	text-decoration: none;

	display: flex;

	align-items: center;

	justify-content: center; */
}

.knowledge-archive__pager-btn--next.knowledge-archive__pager-btn--off {
	background-color: #ccc;

	opacity: 0.5;

	pointer-events: none;
}

/* .knowledge-archive__pager-btn--prev::after,
.knowledge-archive__pager-btn--next::after {
	content: '';

	width: 8px;

	height: 8px;

	border-right: 2px solid #333;

	border-bottom: 2px solid #333;
} */

/* .knowledge-archive__pager-btn--prev::after {
	transform: rotate(135deg);

	margin-left: -2px;
} */

/* .knowledge-archive__pager-btn--next::after {
	transform: rotate(-45deg);

	margin-left: -4px;

	border-color: #fff;
} */

/* .knowledge-archive__pager-btn--prev.knowledge-archive__pager-btn--off::after,
.knowledge-archive__pager-btn--prev.knowledge-archive__pager-btn--on::after {
	border-color: #333;
} */

@media screen and (max-width: 1200px) {
	.knowledge-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 24px;
	}

	.knowledge-carousel__slide {
		width: min(70vw, 480px);
	}
}

@media screen and (max-width: 767px) {
	.knowledge-archive {
		padding-bottom: 80px;
	}

	.knowledge-archive__hero-visual {
		height: 280px;
	}

	.knowledge-archive__hero-overlay {
		margin-top: -80px;
	}

	.knowledge-archive__hero-title {
		font-size: clamp(36px, 12vw, 64px);
	}

	.knowledge-archive__breadcrumb {
		padding: 0 24px 32px;
	}

	.knowledge-archive__carousel-wrap {
		margin-bottom: 64px;
	}

	.knowledge-carousel {
		flex-direction: column;

		gap: 16px;
	}

	.knowledge-carousel__nav {
		display: none;
	}

	.knowledge-carousel__viewport {
		mask-image: none;

		-webkit-mask-image: none;

		overflow-x: auto;

		-webkit-overflow-scrolling: touch;

		scroll-snap-type: x mandatory;
	}

	.knowledge-carousel__track {
		gap: 16px;

		padding: 16px 24px;
	}

	.knowledge-carousel__slide {
		width: 85vw;

		opacity: 1;

		transform: none;

		scroll-snap-align: center;
	}

	.knowledge-carousel__card {
		height: 200px;
	}

	.knowledge-archive__grid {
		grid-template-columns: 1fr;
	}

	.knowledge-archive__pager {
		flex-wrap: wrap;

		gap: 16px;

		padding: 12px 16px;
	}

	.knowledge-archive__pager-nums ul {
		flex-wrap: wrap;

		justify-content: center;

		gap: 12px;
	}
}

.knowledge-archive__pager-btn{
	position: relative;
	display: block !important;
	width: 48px;
	height: 48px;
	border-radius: 48px;
}

.knowledge-archive__pager-btn--off{
	background-color: #eee;
}

.knowledge-archive__pager-btn--on{
	background-color: #333;
}

.knowledge-archive__pager-btn::after{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 7px;
	height: 13px;
	background-size: contain;
	background-repeat: no-repeat;
}

.knowledge-archive__pager-btn.knowledge-archive__pager-btn--on::after{
	background-image: url('../img/icon/arrow-white.svg');
}

.knowledge-archive__pager-btn.knowledge-archive__pager-btn--off::after{
	background-image: url('../img/icon/arrow-gray.svg');
}

.knowledge-archive__pager-btn--next::after{
	margin-left: -6px;
	transform: scaleX(-1) translate(-50%,-50%);
}

.c-slider{
	position: relative;
	width: 100%;
	overflow: hidden;
	margin-top: min(9vw,90px);
	margin-bottom: min(10vw,120px);
}

.c-slider_img{
	position: relative;
	display: block;
	padding-top: 54%;
	width: 100%;
	overflow: hidden;
}

.c-slider_img:hover{
	opacity: 0.8;
}

.c-slider_img img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
}

.splide__slide img {
  opacity: .3;
  transform: scale(.90);
  transition: .3s;
}

.splide__slide.is-active img {
  opacity: 1; /* 中央のスライドは薄くしない */
  transform: scale(1); /* 中央のスライドは小さくしない */
  z-index: 1; /* 中央のスライドを一番上にする */
}

.splide__arrow{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 100;
	transform: translate(-50%,-50%);
	width: 48px;
	height: 48px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/icon/icon-nav.svg');
	border: 0;
	background-color: transparent;
}
.splide__arrow svg{
	display: none;
}

.splide__arrow--prev{
	margin-left: -27vw;
	transform: translate(-50%,-50%) rotate(180deg);
}

.splide__arrow--next{
	margin-left: 27vw;
}

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

	.splide__arrow--prev{
		margin-left: -35vw;
	}
	.splide__arrow--next{
		margin-left: 35vw;
	}
}

@media screen and (max-width: 767px) {
	.splide__track{
		overflow: visible;
		margin-left: 10%;
		width: 80%;
	}

	.splide__arrow{
		width: 32px;
		height: 32px;
	}

	.splide__arrow--prev{
		margin-left: -37vw;
	}
	.splide__arrow--next{
		margin-left: 37vw;
	}
}


.knowledge-archive__list.category {
	margin-top: 56px;
}