@charset "utf-8";

.header {
	opacity: 0;
	transition: opacity 0.4s 2.6s;
	pointer-events: none;
}
body:has(.kv.animated) .header {
	opacity: 1;
	pointer-events: inherit;
}


/* kv */
.kv {
	--textAnimationDuration: 3s;
	position: relative;
	background-color: #000;
}
.kv__inner {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: 100%;
	width: 100%;
	height: 100%;
	height: 100vh;
	height: 100dvh;
}
.kv-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.kv-slider__item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
	overflow: hidden;
}
.kv-slider__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.1);
	filter: blur(8px);
	transition: transform 5.2s ease, filter 3s 0.2s;
}
.kv.animated .kv-slider__item.active {
  opacity: 1;
  z-index: 6;
}
.kv.animated .kv-slider__item.active img {
	transform: scale(1);
	filter: blur(0);
}
.kv-slider__item.prev {
  opacity: 0;
}
.kv-slider__item.next {
	opacity: 0;
}
.kv-slider__indicator {
  position: absolute;
	top: 100%;
  left: 50%;
  transform: translate(-50%, calc(2 * var(--baseUnit)));
  display: flex;
  gap: calc(2.5 * var(--baseUnit));
  z-index: 10;
}
.kv-slider__indicator-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #b9bfc4;
  transition: background-color 0.3s;
}
.kv-slider__indicator-dot.active {
  background-color: #000;
}

.opening-screen {
	width: 100%;
	height: 100%;
	height: 100vh;
	height: 100dvh;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}
.kv.is-animate .opening-screen {
	opacity: 0;
	transition: opacity 0.4s 2.6s;
	pointer-events: none;
}
.kv-text {
	width: 100%;
	height: 100%;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 101;
	pointer-events: none;
	overflow: hidden;
}
.kv.animated .kv-text {
	z-index: 10;
}
.kv-text__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: calc(1.5 * var(--baseUnit));
	width: 100%;
	height: 100%;
	padding: calc(2 * var(--baseUnit));
}
.page-title {
	font-size: calc(6.8 * var(--fontBaseUnit));
	font-weight: 700;
	line-height: 1;
	overflow: hidden;
}
.page-title > span {
  display: inline-block;
	padding: 0 0.125em;
	line-height: 1.2;
}
.kv-text p {
	font-size: calc(1.6 * var(--fontBaseUnit));
	font-weight: 600;
}
.kv-text-visible .kv-text__inner {
	opacity: 0;
	filter: blur(8px);
	transform: scale(1.05);
}
.kv.is-animate .kv-text-visible .kv-text__inner {
	animation: blurFadeInClear 1.8s 0.2s ease-out forwards;
}
.kv-text-clone {
	opacity: 0;
}
.kv.animated .kv-text-clone {
	opacity: 1;
	mix-blend-mode: multiply;
}
.kv-text-clone .page-title span {
	display: inline;
	color: #80ff00;
	background-color: #80ff00;
	box-decoration-break: clone;
}
.kv-text-clone p {
	opacity: 0;
}
.kv-text-clone .page-title::before {
	width: 100%;
	height: 100%;
}
.scroll-down {
	writing-mode: vertical-lr;
	font-family: "Bellefair", serif;
	color: #fff;
	text-decoration: none;
  position: absolute;
	bottom: calc(3.5 * var(--baseUnit));
  right: 8.8%;
  transform-origin: left bottom;
	z-index: 10;
	opacity: 0;
	transition: opacity 0.4s 2.6s;
}
body:has(.kv.animated) .scroll-down {
	opacity: 1;
}
.scroll-down span {
  padding-bottom: calc(8 * var(--fontBaseUnit));
  font-size: calc(1.4 * var(--fontBaseUnit));
  position: relative;
}
.scroll-down span::before,
.scroll-down span::after {
  content: '';
  display: block;
  position: absolute;
}
.scroll-down span::before {
  height: calc(6.4 * var(--fontBaseUnit));
  width: calc(0.1 * var(--fontBaseUnit));
  background-color: #fff;
  animation: scroll-bar 3.6s infinite linear;
  bottom: 0;
	left: 50%;
  transform: translate(-50%, 0);
}
.scroll-down span::after {
  aspect-ratio: 1;
  width: calc(1 * var(--fontBaseUnit));
  border-radius: 50%;
  animation: scroll-dot 3.6s infinite linear;
  left: 50%;
  bottom: calc(5.2 * var(--fontBaseUnit));
  background-color: #fff;
  transform: translate(-50%, 0) scale(0.1);
}
@media screen and (max-width:768px) {
	.kv-text__inner {
		gap: calc(4 * var(--baseUnit));
	}
	.kv-slider__indicator {
		gap: calc(1.2 * var(--baseUnit));
	}
	.kv-slider__indicator-dot {
		width: 4px;
		height: 4px;
	}
	.page-title {
		font-size: calc(4.2 * var(--fontBaseUnit));
		text-align: center;
	}
}

@keyframes blurFadeInClear {
  0% {
    opacity: 0;
    filter: blur(8px);
    transform: scale(1.05);
  }
  30% {
    opacity: 1;
    filter: blur(8px);
    transform: scale(1.05);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
@keyframes scroll-bar {
  0% {
    transform: translate(-50%, 0) scale(1, 0);
    transform-origin: 0 0;
  }
  15% {
    transform: translate(-50%, 0) scale(1, 1);
    transform-origin: 0 0;
  }
  18% {
    transform: translate(-50%, 0) scale(1, 1);
    transform-origin: 0 100%;
  }
  28%, 100% {
    transform: translate(-50%, 0) scale(1, 0);
    transform-origin: 0 100%;
  }
}
@keyframes scroll-dot {
  0%, 5% {
  	bottom: calc(5.2 * var(--fontBaseUnit));
    transform: translate(-50%, 0) scale(0.1);
  }
  15% {
		bottom: 0;
    transform: translate(-50%, 0) scale(1);
  }
  28% {
  	bottom: 0;
    transform: translate(-50%, 0) scale(1.1);
  }
  60% {
    bottom: 0;
    transform: translate(-50%, 0) scale(0);
  }
	100% {
		bottom: 0;
    transform: translate(-50%, 0) scale(0);
    opacity: 0;
	}
}


/* sections */
.section-title {
	display: grid;
	line-height: 1.2;
	gap: calc(0.5 * var(--baseUnit));
	padding: 0 calc(2 * var(--baseUnit));
}
.section-title__main {
	color: #0c7475;
	font-weight: 600;
	font-size: calc(3.6 * var(--fontBaseUnit));
	letter-spacing: 0.025em;
}
.section-title__sub {
	font-size: calc(1.4 * var(--fontBaseUnit));
	font-weight: 600;
	letter-spacing: 0.025em;
}
@media screen and (max-width:768px) {
	.section-title__main {
		font-size: calc(3 * var(--fontBaseUnit));
	}
}

/* news */
.section-news {
	margin-top: calc(8 * var(--baseUnit));
	background-color: #f0f0ee;
}
.section-news .section__inner {
	padding: calc(5 * var(--baseUnit)) var(--globalContentPadding) calc(3 * var(--baseUnit));

}
.section-news .box__grid {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: calc(12 * var(--baseUnit));
}
@media screen and (max-width:768px) {
	.section-news {
		margin-top: calc(5.5 * var(--baseUnit));
	}
	.section-news .section__inner {
		padding-top: calc(4 * var(--baseUnit));
		padding-bottom: calc(4 * var(--baseUnit));
	}
	.section-news .box__grid {
		grid-template-columns: 100%;
		gap: calc(6 * var(--baseUnit));
	}
	.section-news .section-title {
		font-size: calc(3 * var(--fontBaseUnit));
		text-align: center;
	}
}


/* vision */
.section-vision .section__inner {
	padding: calc(7 * var(--baseUnit)) var(--globalContentPadding);

}
.vision-block__content {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.vision-block__thumbnail {
	position: relative;
}
.vision-block__thumbnail-text {
	display: flex;
	align-items: center;
	gap: calc(2 * var(--baseUnit));
	width: 100%;
	padding-right: calc(3 * var(--baseUnit));
	color: #fff;
	font-size: calc(7 * var(--fontBaseUnit));
	line-height: 1;
	opacity: 0.5;
	position: absolute;
	bottom: calc(2.5 * var(--baseUnit));
	left: 0;
}
.vision-block__thumbnail-text::before {
	content: '';
	display: block;
	height: 1px;
	background-color: #fff;
	flex-grow: 2;
}
.vision-block__thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.vision-block__caption {
	padding: calc(6 * var(--baseUnit)) calc(6 * var(--baseUnit)) calc(3 * var(--baseUnit));
	background-color: #7db4be;
}
.vision-block__caption .text {
	width: 89%;
}
.vision-block__caption .btn-wrapper {
	display: flex;
	justify-content: center;
	margin-top: calc(4 * var(--baseUnit));
	padding: 0 calc(3 * var(--baseUnit));
}
.vision-block__caption .view-more-btn {
	background-color: #7db4be;
}
.vision-block__caption .view-more-btn:hover {
	border-color: #fff;
}
@media screen and (max-width:768px) {
	.section-vision .section__inner {
		padding: calc(6 * var(--baseUnit)) 0 0;
	}
	.vision-block__content {
		grid-template-columns: 100%;
	}
	.vision-block__thumbnail {
		padding-top: calc(4.5 * var(--baseUnit));
		background-color: #7db4be;
	}
	.vision-block__thumbnail-text {
		display: block;
		width: auto;
		padding-right: 0;
		font-size: calc(4.2 * var(--fontBaseUnit));
		text-align: right;
		right: calc(1.25 * var(--fontBaseUnit));
		top: calc(1.25 * var(--fontBaseUnit));
		bottom: auto;
		left: auto;
	}
	.vision-block__thumbnail-text::before {
		display: none;
	}
	.vision-block__caption {
		padding: calc(2 * var(--baseUnit)) calc(3 * var(--baseUnit)) calc(5 * var(--baseUnit));
	}
	.vision-block__caption .text {
		width: 94%;
	}
	.vision-block__caption .view-more-btn {
		text-align: center;
	}
}

/* pickup */
.section-pickup {
	background-color: #f0f0ee;
}
.section-pickup .section__inner {
	padding: calc(3 * var(--baseUnit)) 0 calc(8 * var(--baseUnit));
}
.section-pickup .section-title {
	padding: 0 var(--globalContentPadding);
}
.pickup-gallery {
	margin-top: calc(4 * var(--baseUnit));
	position: relative;
}
.pickup-list__item a {
	display: grid;
	grid-template-columns: 100%;
	gap: calc(2 * var(--baseUnit));
}
.pickup-gallery .thumbnail {
	aspect-ratio: 446 / 305;
	border: 1px solid #fff;
	overflow: hidden;
}
.pickup-gallery .thumbnail img {
	width: 100%;
	object-fit: cover;
	transition: transform  0.6s cubic-bezier(.4,0,.2,1);
}
.pickup-list__item a:hover .thumbnail img {
	transform: scale(1.1);
}
.pickup-gallery .pickup-gallery__prev-btn,
.pickup-gallery .pickup-gallery__next-btn {
	aspect-ratio: 1;
	width: calc(8 * var(--baseUnit));
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	top: 8vw;
	z-index: 1;
	cursor: pointer;
	opacity: 0.8;
}
.pickup-gallery .pickup-gallery__prev-btn {
	background-image: url(../img/top/pickup_icon_prev.svg);
	left: calc(4 * var(--baseUnit));
}
.pickup-gallery .pickup-gallery__next-btn {
	background-image: url(../img/top/pickup_icon_next.svg);
	right: calc(4 * var(--baseUnit));
}
.pickup-gallery .caption {
	display: grid;
	grid-template-columns: 100%;
	gap: calc(1 * var(--baseUnit));
}
.pickup-gallery .caption__title {
	font-size: calc(2 * var(--fontBaseUnit));
	font-weight: 500;
}
.pickup-gallery .caption__text {
	font-size: calc(1.4 * var(--fontBaseUnit));
}
@media screen and (max-width:768px) {
	.section-pickup .section__inner {
		padding: calc(5 * var(--baseUnit)) var(--globalContentPadding);
	}
	.section-pickup .section-title {
		padding: 0;
		justify-items: center;
	}
	.pickup-gallery {
		margin-top: calc(5 * var(--baseUnit));
	}
	.pickup-list__item a {
		width: 97%;
		margin: 0 auto;
		gap: calc(3 * var(--baseUnit));
	}
	.pickup-gallery .thumbnail {
		aspect-ratio: 320 / 220;
		margin: 0 auto;
	}
	.pickup-gallery .pickup-gallery__prev-btn,
	.pickup-gallery .pickup-gallery__next-btn {
		width: calc(4 * var(--baseUnit));
		top: 28vw;
	}
	.pickup-gallery .pickup-gallery__prev-btn {
		left: 0;
	}
	.pickup-gallery .pickup-gallery__next-btn {
		right: 0;
	}
	.pickup-gallery .caption {
		justify-items: center;
		margin: 0 auto;
		gap: calc(2 * var(--baseUnit));
	}
	.pickup-gallery .caption__title {
		font-size: calc(1.6 * var(--fontBaseUnit));
	}
	.pickup-gallery .caption__text {
    font-size: calc(1.2 * var(--fontBaseUnit));
	}
}
