/* ========================================
   COLLECTION ARCHIVE
======================================== */

.collection-page {
	width: 100%;
	padding: 48px 0 80px;
}

.collection-page__inner {
	width: calc(100% - 60px);
	max-width: 1440px;
	margin: 0 auto;
}

.collection-page__title,
.collection-list {
	width: 100%;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
}

.collection-page__title {
	margin-top: 0;
	margin-bottom: 18px;

	font-family: var(--font-en);
	font-size: 26px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
}


/* ========================================
   COLLECTION LIST
======================================== */

.collection-list {
	display: flex;
	flex-direction: column;
	gap: 36px;
}


/* ========================================
   COLLECTION CARD
======================================== */

.collection-card {
	display: grid;

	grid-template-columns:
		800px minmax(0, 1fr);

	grid-template-rows: auto;

	column-gap: 60px;

	width: 100%;

	align-items: stretch;
}


/* ========================================
   COLLECTION ARCHIVE IMAGE
======================================== */

.collection-card__image-link {
	grid-column: 1;
	grid-row: 1;

	display: block;

	width: 100%;
	min-width: 0;

	overflow: hidden;

	text-decoration: none;
}

.collection-card__image {
	display: grid;

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

	width: 100%;
	aspect-ratio: 4 / 1;

	overflow: hidden;

	background: #000000;
}

.collection-card__look {
	position: relative;

	min-width: 0;
	aspect-ratio: 4 / 3;

	overflow: hidden;

	background: #000000;
}

.collection-card__look-image {
	position: absolute;
	inset: 0;

	display: block;

	width: 100%;
	height: 100%;

	max-width: none;

	object-fit: cover;
	object-position: center 35%;

	transform: scale(1);

	transition: transform 0.45s ease;
}

.collection-card__image-link:hover .collection-card__look-image {
	transform: scale(1.025);
}


/* ========================================
   COLLECTION ARCHIVE CONTENT
======================================== */

.collection-card__content {
	grid-column: 2;
	grid-row: 1;

	display: flex;
	flex-direction: column;
	justify-content: space-between;

	min-width: 0;

	padding: 2px 0 4px;
}

.collection-card__title {
	margin: 0;

	font-family: var(--font-en);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;

	color: var(--color-main);
}

.collection-card__subtitle {
	margin: 10px 0 0;

	font-family: var(--font-jp);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.7;

	color: var(--color-text);
}

.collection-card__button {
	align-self: flex-end;

	width: 200px;

	margin-left: auto;
}


/* ========================================
   COLLECTION ARCHIVE TABLET
======================================== */

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

	.collection-card {
		grid-template-columns:
			minmax(0, 2fr) minmax(240px, 1fr);

		gap: 36px;
	}

}


/* ========================================
   COLLECTION ARCHIVE MOBILE
======================================== */

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

	.collection-page {
		padding: 36px 0 60px;
	}

	.collection-page__inner {
		width: calc(100% - 40px);
	}

	.collection-page__title {
		margin-bottom: 28px;

		font-size: 24px;
	}

	.collection-list {
		gap: 52px;
	}

	.collection-card {
		display: block;
	}

	.collection-card__image-link {
		width: 100%;
	}

	.collection-card__content {
		padding-top: 18px;
	}

	.collection-card__title {
		font-size: 18px;
	}

	.collection-card__subtitle {
		margin-top: 6px;
	}

	.collection-card__button {
		width: 100%;

		margin-top: 24px;
		margin-left: 0;
	}

}


/* ========================================
   COLLECTION SINGLE
======================================== */

.collection-single {
	width: 100%;
	padding: 48px 0 80px;
}

.collection-single__inner {
	width: calc(100% - 60px);
	max-width: 1360px;
	margin: 0 auto;
}


/* ========================================
   COLLECTION SINGLE HEADER
======================================== */

.collection-single__header {
	display: flex;
	align-items: baseline;

	gap: 34px;

	margin-bottom: 26px;
}

.collection-single__heading {
	margin: 0;

	font-family: var(--font-en);
	font-size: 26px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
}

.collection-single__name {
	margin: 0;

	font-family: var(--font-en);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}


/* ========================================
   COLLECTION LOOK GRID
======================================== */

.collection-look-grid {
	display: grid;

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

	column-gap: 38px;
	row-gap: 38px;
}

.collection-look {
	position: relative;

	display: block;

	width: 100%;
	aspect-ratio: 3 / 4;

	margin: 0;
	padding: 0;

	overflow: hidden;

	background: #eeeeee;
	border: 0;

	line-height: 0;

	appearance: none;
	-webkit-appearance: none;

	cursor: pointer;
}

.collection-look__image {
	position: absolute;
	inset: 0;

	display: block;

	width: 100% !important;
	height: 100% !important;

	max-width: none !important;

	margin: 0;
	padding: 0;

	object-fit: cover;

	transform: scale(1);

	transition: transform 0.4s ease;
}

.collection-look:hover .collection-look__image {
	transform: scale(1.015);
}


/* ========================================
   COLLECTION SINGLE NAV
======================================== */

.collection-single__nav {
	position: relative;

	display: grid;

	grid-template-columns:
		200px 1fr 200px;

	align-items: center;

	width: 100%;
	min-height: 60px;

	margin-top: 48px;
}


/* PREV */

.collection-single__nav-side {
	grid-column: 1;
	grid-row: 1;

	display: flex;
	justify-content: flex-start;
}


/* NEXT */

.collection-single__nav-side--right {
	grid-column: 3;
	grid-row: 1;

	justify-content: flex-end;
}


/* PREV / NEXT BUTTON */

.collection-single__nav-button {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 200px;
	height: 42px;

	padding: 0 20px;

	font-family: var(--font-en);
	font-size: 14px;
	font-weight: 500;

	color: var(--color-main);

	border: 1px solid var(--color-border);

	text-decoration: none;
}


/* ========================================
   BACK TO COLLECTION
======================================== */

.collection-single__back {
	position: absolute;

	left: 50%;
	top: 50%;

	transform: translate(-50%, -50%);

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: auto;

	gap: 10px;

	margin: 0;

	font-size: 13px;
	font-weight: 500;

	text-align: center;
	white-space: nowrap;

	color: var(--color-main);

	text-decoration: none;
}


/* 4マスアイコン */


.collection-single__back-icon {
	display: block;

	width: 18px;
	height: 18px;

	flex: 0 0 auto;

	color: var(--color-main);
}

.collection-single__back-icon rect {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.2;
}

.collection-single__back-text {
	display: block;

	margin: 0;

	line-height: 1.4;
	white-space: nowrap;
}



/* ========================================
   COLLECTION SINGLE TABLET
======================================== */

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

	.collection-look-grid {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));

		gap: 28px;
	}

}


/* ========================================
   COLLECTION SINGLE MOBILE
======================================== */

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

	.collection-single {
		padding: 36px 0 60px;
	}

	.collection-single__inner {
		width: calc(100% - 40px);
	}

	.collection-single__header {
		display: block;

		margin-bottom: 24px;
	}

	.collection-single__heading {
		font-size: 24px;
	}

	.collection-single__name {
		margin-top: 10px;
	}


	/* LOOK */

	.collection-look-grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));

		gap: 16px;
	}


	/* NAV */

	.collection-single__nav {
		position: relative;

		display: grid;

		grid-template-columns:
			1fr 1fr;

		row-gap: 32px;

		min-height: auto;

		margin-top: 40px;
	}

	.collection-single__nav-side {
		grid-column: 1;
		grid-row: 1;
	}

	.collection-single__nav-side--right {
		grid-column: 2;
		grid-row: 1;
	}

	.collection-single__nav-button {
		width: 100%;
	}

	.collection-single__back {
		position: absolute;

		left: 50%;
		top: 50%;

		transform: translate(-50%, -50%);

		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;

		gap: 10px;

		width: auto;
		margin: 0;

		font-size: 13px;
		font-weight: 500;
		line-height: 1.4;

		text-align: center;

		color: var(--color-main);
		text-decoration: none;
	}

}

/* ========================================
   COLLECTION LIGHTBOX
======================================== */

body.is-lightbox-open {
	overflow: hidden;
}

.collection-lightbox {
	position: fixed;
	inset: 0;

	z-index: 99999;

	display: flex;
	align-items: center;
	justify-content: center;

	visibility: hidden;
	opacity: 0;

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

.collection-lightbox.is-open {
	visibility: visible;
	opacity: 1;
}


/* ========================================
   BACKDROP
======================================== */

.collection-lightbox__backdrop {
	position: absolute;
	inset: 0;

	background: rgba(0, 0, 0, 0.82);
}


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

.collection-lightbox__image-wrap {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: calc(100vw - 220px);
	height: calc(100vh - 100px);

	pointer-events: none;
}

.collection-lightbox__image {
	display: block;

	max-width: 100%;
	max-height: 100%;

	width: auto;
	height: auto;

	object-fit: contain;

	box-shadow: none;
}


/* ========================================
   CLOSE
======================================== */

.collection-lightbox__close {
	position: fixed;

	top: 28px;
	left: 32px;

	z-index: 4;

	display: flex;
	align-items: center;

	gap: 8px;

	margin: 0;
	padding: 0;

	background: transparent;
	border: 0;

	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 500;

	color: #ffffff;

	cursor: pointer;
}

.collection-lightbox__close-mark {
	font-size: 24px;
	font-weight: 300;
	line-height: 1;
}


/* ========================================
   ARROWS
======================================== */

.collection-lightbox__arrow {
	position: fixed;
	top: 50%;

	z-index: 4;

	transform: translateY(-50%);

	display: flex;
	align-items: center;
	justify-content: center;

	width: 60px;
	height: 80px;

	margin: 0;
	padding: 0;

	background: transparent;
	border: 0;

	font-family: var(--font-en);
	font-size: 46px;
	font-weight: 200;
	line-height: 1;

	color: #ffffff;

	cursor: pointer;

	opacity: 0.8;

	transition: opacity 0.2s ease;
}

.collection-lightbox__arrow:hover {
	opacity: 1;
}

.collection-lightbox__arrow--prev {
	left: 24px;
}

.collection-lightbox__arrow--next {
	right: 24px;
}


/* ========================================
   LIGHTBOX MOBILE
======================================== */

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

	.collection-lightbox__image-wrap {
		width: calc(100vw - 80px);
		height: calc(100vh - 120px);
	}

	.collection-lightbox__close {
		top: 20px;
		left: 20px;
	}

	.collection-lightbox__arrow {
		width: 40px;
		height: 60px;

		font-size: 38px;
	}

	.collection-lightbox__arrow--prev {
		left: 4px;
	}

	.collection-lightbox__arrow--next {
		right: 4px;
	}

}