@layer reset, base, common, pages;

@import "reset.css" layer(reset);
@import "base.css" layer(base);
@import "common.css" layer(common);
@import "page-layout.css" layer(pages);
@import "breadcrumb.css" layer(common);
@import "header.css" layer(common);
@import "footer.css" layer(common);



/* ===== .splide ===== */
.splide {
	&.js-thumbs {
		margin-top: 24px;
	}
}

.splide__track {
	.js-cast-slider & {
		padding: 8px 0;
	}

	.js-main & {
		overflow: visible;
		padding: 6px 0;
	}

	.slider__shop &,
	.slider__contents & {
		padding: 0;
	}
}

.splide__list {
	.js-thumbs & {
		justify-content: center;
	}
}

.splide__slide {
	.slider__shop & {
		max-width: 980px;
		width: 100%;
	}

	.slider__contents & {
		background-color: var(--color_base_white);
		border: 1px solid var(--color_border-divider);
	}

	.slider__hero & {
		transition: transform 0.18s ease, opacity 0.18s ease;
		transform-origin: center center;
		will-change: opacity, filter;
		z-index: 1;
	}

	.slider__hero &:not(.is-active) {
		opacity: 0.5;
		filter: brightness(.9);
	}

	.slider__hero &.is-active {
		opacity: 1;
		filter: brightness(1);
		box-shadow: var(--shadow-box);
		z-index: 3;
	}

	/* ヒーロースライド全体 */
	.js-main & {
		width: min(92vw, 920px);
	}

	.js-main &:not(.is-active) {
		transform: none;
	}

	/* 拡大はメイン画像だけ（サムネには適用しない） */
	.slider__hero .js-main & .aspect--slider img {
		transition: transform 0.18s ease;
		transform: scale(1);
		transform-origin: center center;
		will-change: transform;
		box-shadow: none;
	}

	.slider__hero .js-main &.is-active .aspect--slider img {
		/* transform: scale(var(--hero-active-scale, 1.06)); */
		box-shadow: var(--shadow-box);
	}

	.js-thumbs & {
		max-width: 150px;
		border: 1px solid var(--color-bg-subtle) !important;
	}

	&:last-child {
		margin-right: 0 !important;
	}
}

.slider__hero .splide__slide .hero__link:hover,
.slider__hero .splide__slide:not(.is-active):hover {
	opacity: 1;
}

.splide__slide img {
	.slider__contents & {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		transform: translate(-50%, -50%);
		object-fit: contain;
		display: block;
	}
	.slider__shop & {
		width: 100%;
	}
}


/* 矢印ボタン */
.splide__arrows {
	.slider__hero & {
		position: absolute;
		top: 50%;
		left: 50%;
		width: min(92vw, 920px);
		transform: translate(-50%, -50%);
		z-index: 1;
	}
}

.splide__arrow {
	width: 40px;
	height: 40px;
	background: var(--color_base_white);
	border: 2px solid var(--color_primary_red);
	border-radius: 50%;
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;

	padding: 0;

	&::before {
		content: '';
		background: var(--color_primary_red);
		border-radius: 6px;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		width: 7px;
		height: 14px;
	}

}

.splide__arrow svg {
	display: none;
}

/* 左 */
.splide__arrow--prev {
	left: 0;
	transform: translateX(-50%) translateY(-50%);

	&::before {
		transform: rotate(180deg) translateX(1px);
	}
}

/* 右 */
.splide__arrow--next {
	right: 0;
	transform: translateX(50%) translateY(-50%);

	&::before {
		transform: rotate(0deg) translateX(1px);
	}
}


.splide__pagination {
	position: static;
	margin-top: 12px;
	gap: 4px;
}

.splide .splide__pagination__page {
	width: 24px;
	border-radius: 0;
	background-color: rgba(0, 0, 0, 0.1);
	opacity: 1;
	margin: 4px 2px;
}

.splide .splide__pagination .splide__pagination__page.is-active {
	background-color: var(--color_primary_red);
	transform: scale(1);
}


@media (max-width: 1024px) {}

@media (max-width: 768px) {
	.splide {
    &.js-thumbs {
        margin-top: 16px;
    }
	}
	.splide__slide {
		.slider__shop & {
			max-width: 382px;
			width: 100%;
		}

		.js-main & {
			/* width: 88vw; */
			max-width: 382px;
		}
	}
	.splide__arrow {
		display: none;
	}
}

@media (max-width: 640px) {
	.splide__slide {
		width: auto;
	}
}



/* ===== .js-floating ===== */
/* 共通位置 */
.js-floating-area {
	position: relative;
}

/* 追従中 */
.is-fixed {
	position: fixed;
}

/* セクション下端で停止 */
.is-absolute {
	position: absolute;
}

/* 表示 */
.is-visible {
	opacity: 1;
}