/* Swiper CDN より後に読み込む — お知らせ・解体コラムスライダー */

.blog-preview-section--swiper {
	overflow: hidden;
}

.blog-swiper-shell {
	--swiper-theme-color: var(--color-deep-green, #2d5a3d);
	--swiper-navigation-color: var(--color-deep-green, #2d5a3d);
	--swiper-navigation-size: 0;

	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: clamp(1rem, 3vw, 1.35rem);
	width: 100%;
	max-width: var(--content-max, 1140px);
	margin: 0 auto clamp(1.25rem, 3vw, 2rem);
	padding-inline: clamp(0.75rem, 3vw, 1.25rem);
}

.blog-swiper-shell .blog-swiper {
	width: 100%;
	overflow: hidden;
}

.blog-swiper-shell .swiper-slide {
	height: auto;
}

.blog-swiper-shell .blog-preview-card,
.blog-swiper-shell .blog-marquee__card {
	width: 100%;
	max-width: none;
	opacity: 1;
	transform: none;
}

/* Swiper デフォルト矢印を無効化 */
.blog-swiper-shell .swiper-button-prev,
.blog-swiper-shell .swiper-button-next {
	position: static;
	top: auto;
	left: auto;
	right: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--color-deep-green, #2d5a3d) 28%, #ccc);
	border-radius: 999px;
	background: #fff;
	color: var(--color-deep-green, #2d5a3d);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.blog-swiper-shell .swiper-button-prev::after,
.blog-swiper-shell .swiper-button-next::after {
	display: none !important;
	content: none !important;
}

.blog-swiper-button__icon {
	display: block;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.blog-swiper-button--prev .blog-swiper-button__icon {
	transform: rotate(-135deg);
	margin-left: 0.15rem;
}

.blog-swiper-button--next .blog-swiper-button__icon {
	transform: rotate(45deg);
	margin-right: 0.15rem;
}

.blog-swiper-shell .swiper-button-prev:hover,
.blog-swiper-shell .swiper-button-prev:focus-visible,
.blog-swiper-shell .swiper-button-next:hover,
.blog-swiper-shell .swiper-button-next:focus-visible {
	background: var(--color-deep-green, #2d5a3d);
	border-color: var(--color-deep-green, #2d5a3d);
	color: #fff;
	outline: none;
}

.blog-swiper-shell .swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

.blog-swiper-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(0.85rem, 4vw, 1.5rem);
	padding-block: 0.15rem 0.35rem;
}

.blog-swiper-pagination {
	position: static !important;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.45rem;
	width: auto !important;
	margin: 0 !important;
}

.blog-swiper-pagination .swiper-pagination-bullet {
	width: 0.5rem;
	height: 0.5rem;
	margin: 0 !important;
	opacity: 1;
	background: #c5ccc8;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.blog-swiper-pagination .swiper-pagination-bullet-active {
	background: var(--color-deep-green, #2d5a3d);
	transform: scale(1.2);
}

.blog-preview-section--swiper .section-actions {
	margin-top: clamp(0.75rem, 2.5vw, 1.5rem);
}
