@charset "utf-8";

/* index_main
====================================================================== */
.index_main {
	position: relative;
	height: 100svh;
	background-color: #0C2C34;
	clip-path: inset(0);
}
.index_main::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/bg-texture.png) 50% 0, url(../img/bg-texture.png) calc(50% - 20rem) 20rem, url(../img/bg-texture.png) calc(50% - 10rem) 10rem;
	background-size: 40rem;
	mix-blend-mode: color-burn;
	pointer-events: none;
}
.index_main .logo {
	position: absolute;
	width: 17rem;
	top: calc(7 / 101 * 100%);
	left: calc(70 / 1600 * 100%);
	z-index: 10;
}
@media screen and (max-width: 743px) {
	.index_main .logo {
		display: none;
	}
	.index_main::before {
		background: url(../img/bg-texture.png) 50% 0;
		background-size: 20rem;
		opacity: 0.8;
	}
}

.index_main .imgs {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	pointer-events: none;
	user-select: none;
	z-index: 3;
	& > div {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 127.9rem;
		height: 73.5rem;
		transform: translate(-50%, -50%);
	}
	& > div > div {
		position: absolute;
	}
	.-img {
		left: var(--left);
		top: var(--top);
		width: var(--width);
		height: var(--height);
	}
	.-txt {
		font-size: 14.6rem;
		letter-spacing: 1.7rem;
		font-weight: 500;
		line-height: 2;
		.t {
			color: transparent;
			background: radial-gradient(circle at center, #ccc, #fff, #ccc);
			background-size: 300% 300%;
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
			animation: floatGradient 3s ease-in-out infinite;
		}
	}
	.i1 {
		--width: 79.6rem;
		--height: 56.4rem;
		--left: calc(100% - 64.3rem + (100vw - 127.9rem) / 2);
		--top: calc(-26.3rem - (100vh - 73.5rem) / 2);
	}
	.i2 {
		--width: 40.4rem;
		--height: 20.0rem;
		--left: calc(14.5rem - (100vw - 127.9rem) / 2);
		--top: calc(-11.3rem - (100vh - 73.5rem) / 2);
	}
	.i3 {
		--width: 48.4rem;
		--height: 23.5rem;
		--left: calc(-8.5rem - (100vw - 127.9rem) / 2);
		--top: calc(100% - 31.2rem + (100vh - 73.5rem) / 2);
	}
	.i4 {
		--width: 52.0rem;
		--height: 43.3rem;
		--left: calc(100% - 29.9rem + (100vw - 127.9rem) / 2);
		--top: calc(1.7rem - (100vh - 73.5rem) / 2);
	}
	.i5 {
		--width: 41.0rem;
		--height: 22.6rem;
		--left: calc(-5.6rem - (100vw - 127.9rem) / 2);
		--top: calc(100% - 17.6rem + (100vh - 73.5rem) / 2);
	}
	.i6 {
		--width: 70.6rem;
		--height: 32.6rem;
		--left: calc(100% - 50.7rem + (100vw - 127.9rem) / 2);
		--top: calc(100% - 35.7rem + (100vh - 73.5rem) / 2);
	}
	.i7 {
		--width: 78.0rem;
		--height: 37.9rem;
		--left: calc(-56.3rem - (100vw - 127.9rem) / 2);
		--top: calc(-8.5rem - (100vh - 73.5rem) / 2);
	}
	.i8 {
		--width: 65.3rem;
		--height: 36.2rem;
		--left: calc(-27.9rem - (100vw - 127.9rem) / 2);
		--top: calc(100% - 38.5rem + (100vh - 73.5rem) / 2);
	}

	.t1 {
		left: 27.4rem;
		top: 0.9rem;
		.t {
			animation-delay: 0s;
		}
	}
	.t2 {
		left: 35.6rem;
		top: -2.5rem;
		.t {
			animation-delay: -1.2s;
		}
	}
	.t3 {
		left: 65.6rem;
		top: 20.4rem;
		.t {
			animation-delay: -2.1s;
		}
	}
	.t4 {
		left: 76.7rem;
		top: 18.5rem;
		.t {
			animation-delay: -0.8s;
		}
	}
	.t5 {
		left: 89.2rem;
		top: 39.5rem;
		.t {
			animation-delay: -1.7s;
		}
	}
	.t6 {
		left: 101.2rem;
		top: 40.7rem;
		.t {
			animation-delay: -0.4s;
		}
	}
}
@keyframes floatGradient {
	0% {
		background-position: 50% 50%;
	}
	25% {
		background-position: 30% 70%;
	}
	50% {
		background-position: 70% 30%;
	}
	75% {
		background-position: 40% 60%;
	}
	100% {
		background-position: 50% 50%;
	}
}
@media screen and (max-width: 743px) {
	.index_main .imgs {
		& > div {
			width: 52.2rem;
			height: 53.8rem;
			top: 45%;
		}
		.-txt {
			font-size: 9.4rem;
			letter-spacing: 1.0rem;
		}

		.i1 {
			--left: calc(100% - 25.3rem + (100vw - 52.2rem) / 2);
			--top: calc(-13.3rem - (100vh - 53.8rem) / 2);
			--width: 38.3rem;
			--height: 27.2rem;
		}
		.i2 {
			--left: calc(-3.5rem - (100vw - 52.2rem) / 2);
			--top: calc(-2.3rem - (100vh - 53.8rem) / 2);
			--width: 19.3rem;
			--height: 9.7rem;
		}
		.i3 {
			--left: calc(-9.5rem - (100vw - 52.2rem) / 2);
			--top: calc(100% - 9.2rem + (100vh - 53.8rem) / 2);
			--width: 23.3rem;
			--height: 11.3rem;
		}
		.i4 {
			--left: calc(100% - 9.9rem + (100vw - 52.2rem) / 2);
			--top: calc(-0.3rem - (100vh - 53.8rem) / 2);
			--width: 24.9rem;
			--height: 20.9rem;
		}
		.i5 {
			--left: calc(-5.6rem - (100vw - 52.2rem) / 2);
			--top: calc(100% - 17.6rem + (100vh - 53.8rem) / 2);
			--width: 19.7rem;
			--height: 10.9rem;
		}
		.i6 {
			--left: calc(100% - 14.7rem + (100vw - 52.2rem) / 2);
			--top: calc(100% - 14.7rem + (100vh - 53.8rem) / 2);
			--width: 34.0rem;
			--height: 15.6rem;
		}
		.i7 {
			--left: calc(-26.3rem - (100vw - 52.2rem) / 2);
			--top: calc(-1.5rem - (100vh - 53.8rem) / 2);
			--width: 37.5rem;
			--height: 18.1rem;
		}
		.i8 {
			--left: calc(-19.9rem - (100vw - 52.2rem) / 2);
			--top: calc(100% - 16.5rem + (100vh - 53.8rem) / 2);
			--width: 31.4rem;
			--height: 17.4rem;
		}


		.t1 {
			left: 22rem;
			top: 5.8rem;
		}
		.t2 {
			left: 27.4rem;
			top: 3.8rem;
		}
		.t3 {
			left: 14.3rem;
			top: 20.3rem;
		}
		.t4 {
			left: 21rem;
			top: 18.1rem;
		}
		.t5 {
			left: 28.1rem;
			top: 30.7rem;
		}
		.t6 {
			left: 35.9rem;
			top: 32.7rem;
		}
	}
}

.index_main .copy {
	position: absolute;
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: start;
	gap: 2rem;
	z-index: 20;
	span {
		writing-mode: vertical-rl;
		background: var(--color-base);
		color: #fff;
		padding: 1rem 0.7rem .5rem;
		font-size: 3.2rem;
		letter-spacing: .25em;
		line-height: 1;
		white-space: nowrap;
		&:last-child {
			padding-bottom: 0;
		}
	}
}
@media screen and (min-width: 744px), print {
	.index_main .copy {
		right: calc(50% + 34rem);
		bottom: 15rem;
	}
}
@media screen and (max-width: 743px) {
	.index_main .copy {
		left: 2.8rem;
		bottom: 10rem;
		gap: .8rem;
		span {
			padding: 1rem 0.7rem .5rem;
			font-size: 2.1rem;
			letter-spacing: .25em;
		}
	}
	html.-has_opening .index_main .copy {
		bottom: calc(10rem - var(--header-height));
	}
	body.-header-show .index_main .copy {
		bottom: 10rem;
		transition: bottom ease 1s;
	}
}

.index_main .contents {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	z-index: 2;
}
.index_main .contents.-fadein {
	animation: fadeIn 2s linear forwards;
}
.index_main .contents video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 743px) {
}
.index_main .eng {
	position: absolute;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 10;
}
@media screen and (min-width: 744px), print {
	.index_main .eng {
		left: calc(50% + 47rem);
		bottom: calc(50% + 7rem);
	}
}
@media screen and (max-width: 743px) {
	.index_main .eng {
		right: 5rem;
		top: 4rem;
		font-size: 1.4rem;
	}
}
.index_main small {
	position: absolute;
	right: 4rem;
	top: 50%;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 700;
	writing-mode: vertical-rl;
	transform: translateY(-50%);
	white-space: nowrap;
	z-index: 10;
}
@media screen and (max-width: 743px) {
	.index_main small {
		display: none;
	}
}
#header {
	--header-first-pos: calc(100svh - var(--header-height));
}
@media screen and (min-width: 744px), print {
}

/* opening */
.opening_only {
	display: none;
}
@media screen {
	html.-has_opening body {
		overflow-y: scroll;
		.index_main ~ * {
			display: none;
		}
		#footer {
			display: none;
		}
		#header {
			display: none;
			top: 100lvh;
		}
		.opening_only {
			display: block;
		}
		.index_main .logo,
		.index_main small,
		.index_main .eng,
		.index_main .copy {
			opacity: 0;
		}

		.index_main .imgs {
			& > div > div {
				opacity: 0;
			}
			.-txt {
				will-change: transform, opacity;
			}
			.i1 {
				left: 48.3rem;
				top: 4.3rem;
			}
			.i2 {
				left: 44.7rem;
				top: 23.8rem;
			}
			.i3 {
				left: 13.9rem;
				top: 31.5rem;
			}
			.i4 {
				left: 66.7rem;
				top: 9.8rem;
			}
			.i5 {
				left: 38.3rem;
				top: 32.7rem;
			}
			.i6 {
				left: 40.0rem;
				top: 34.7rem;
			}
			.i7 {
				left: 9.0rem;
				top: 0.0rem;
			}
			.i8 {
				left: 0.0rem;
				top: 37.3rem;
			}
			@media screen and (max-width: 743px) {
				.i1 {
					left: 13.9rem;
					top: 9.3rem;
				}
				.i2 {
					left: 13.5rem;
					top: 20.1rem;
				}
				.i3 {
					left: 7.6rem;
					top: 27.4rem;
				}
				.i4 {
					left: 27.3rem;
					top: 8.3rem;
				}
				.i5 {
					left: 17.4rem;
					top: 26.7rem;
				}
				.i6 {
					left: 17.1rem;
					top: 28.8rem;
				}
				.i7 {
					left: -1.5rem;
					top: 0.0rem;
				}
				.i8 {
					left: 0.0rem;
					top: 36.4rem;
				}
			}
		}


		&.-opening-start {
			.index_main .logo,
			.index_main small {
				transition: opacity 1s .5s linear;
				opacity: 1;
			}
			.index_main .eng {
				transition: opacity 1s 2s linear;
				opacity: 1;
			}
		}
		&.-opening-copy {
			.index_main .copy {
				opacity: 1;
				& > span {
					opacity: 0;
					transform: translateY(1rem);
					animation: CopyIn .8s ease-in-out forwards;
					&:nth-child(2) {
						animation-delay: 0.1s;
					}
					&:nth-child(3) {
						animation-delay: 0.2s;
					}
					&:nth-child(4) {
						animation-delay: 0.3s;
					}
				}
			}
		}
		&.-opening-movie {
			.index_main .contents {
				transition: opacity 2s linear;
				opacity: 1;
			}
			.index_main .eng {
				transition: opacity 1s .5s linear;
				opacity: 0;
				pointer-events: none;
			}
		}
		&.-opening-hide {
			.index_main .imgs > div > div {
				opacity: 1;
			}
			.index_main .imgs .-img {
				left: var(--left);
				top: var(--top);
				transition: left 1.6s .5s cubic-bezier(0.65, 0, 0.35, 1.05), top 1.6s .5s cubic-bezier(0.65, 0, 0.35, 1.05);
				--delay: .08s;
				--delay-base: .1s;
				img {
					animation: zoomInOut 1.6s ease-in-out forwards;
				}
				&.i1 {
					transition-delay: calc(var(--delay) * 1 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 1 + var(--delay-base));
					}
				}
				&.i2 {
					transition-delay: calc(var(--delay) * 2 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 2 + var(--delay-base));
					}
				}
				&.i3 {
					transition-delay: calc(var(--delay) * 3 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 3 + var(--delay-base));
					}
				}
				&.i4 {
					transition-delay: calc(var(--delay) * 4 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 4 + var(--delay-base));
					}
				}
				&.i5 {
					transition-delay: calc(var(--delay) * 5 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 5 + var(--delay-base));
					}
				}
				&.i6 {
					transition-delay: calc(var(--delay) * 6 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 6 + var(--delay-base));
					}
				}
				&.i7 {
					transition-delay: calc(var(--delay) * 7 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 7 + var(--delay-base));
					}
				}
				&.i8 {
					transition-delay: calc(var(--delay) * 8 + var(--delay-base));
					img {
						animation-delay: calc(var(--delay) * 8 + var(--delay-base));
					}
				}
			}

			.index_main ~ * {
				display: block;
			}
			#footer {
				display: block;
			}
			#header {
				display: block;
			}
			&.-header-show #header {
				top: var(--header-first-pos);
				transition: top ease 1s;
			}
		}
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes gatherIn {
	from {
		transform: translate(var(--tx), var(--ty)) scale(1.05);
		opacity: 0;
	}
	to {
		transform: translate(0, 0) scale(1);
		opacity: 1;
	}
}
@keyframes txtIn {
	from {
		transform: translate(var(--tx), var(--ty)) scale(var(--tscale));
		opacity: 0;
	}
	to {
		transform: translate(0, 0) scale(1);
		opacity: 1;
	}
}
@keyframes CopyIn {
	from {
		opacity: 0;
		transform: translateY(2rem);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes txtOut {
	from {
		transform: translate(0, 0) scale(1);
		opacity: 1;
	}
	to {
		transform: translate(var(--tx), var(--ty)) scale(2);
		opacity: 0;
	}
}
@keyframes zoomInOut {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.3);
	}
}


/* index_about
====================================================================== */
.index_about {
	position: relative;
	padding-top: 20rem;
}
.index_about h2 {
	position: absolute;
	writing-mode: vertical-rl;
	font-size: 4rem;
	letter-spacing: .25em;
	line-height: 2;
	white-space: nowrap;
}
@media screen and (min-width: 744px), print {
	.index_about {
		height: 81rem;
	}
	.index_about h2 {
		right: 5rem;
		top: -1rem;
		height: 51rem;
	}
	.index_about .txt {
		position: absolute;
		top: 0;
		right: 34rem;
		height: 51rem;
		writing-mode: vertical-rl;
		text-orientation: upright;
		letter-spacing: .2em;
	}
	.index_about .txt p + p {
		margin-right: 2em;
	}
	.index_about .txt .more {
		margin-right: 6rem;
	}
}
@media screen and (max-width: 743px) {
	.index_about {
		position: relative;
		padding-block: 5rem 10rem;
	}
	.index_about h2 {
		top: 0;
		right: 2rem;
		font-size: 2.4rem;
	}
	.index_about .txt {
		padding-top: 22rem;
	}
	.index_about .txt p + p {
		margin-top: 2em;
	}
	.index_about .txt .more {
		margin-top: 4rem;
	}
}

/* index_about_phs
====================================================================== */
.index_about_phs {
	position: relative;
	pointer-events: none;
	user-select: none;
	margin-bottom: 20rem;
}
.index_about_phs .ph img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (min-width: 744px), print {
	.index_about_phs .-ph1 {
		width: calc(50% + 32rem);
		height: 59.7rem;
		margin-left: auto;
		margin-bottom: 17.4rem;
	}
	.index_about_phs .-ph2 {
		position: relative;
		width: 40.2rem;
		height: 27.8rem;
		margin-inline: auto;
		left: calc(-50rem + (40.2rem / 2));
	}
	.index_about_phs .-ph3 {
		position: relative;
		width: 41.2rem;
		height: 28.8rem;
		margin-inline: auto;
		margin-top: -14rem;
		right: calc(-41.4rem + (41.2rem / 2));
	}
}
@media screen and (max-width: 743px) {
	.index_about_phs {
		margin-bottom: 12rem;
	}
	.index_about_phs .-ph1 {
		height: 22.5rem;
		margin-bottom: 5.4rem;
	}
	.index_about_phs .-ph2 {
		width: 22.2rem;
		height: 15rem;
		margin-left: 1.5rem;
		margin-bottom: 4.5rem;
	}
	.index_about_phs .-ph3 {
		width: 23.2rem;
		height: 16rem;
		margin-right: 1.5rem;
		margin-left: auto;
	}
}


/* index_history
====================================================================== */
.index_history {
	position: relative;
	padding-block: 9rem;
}
.index_history::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(24,24,24,.15);
	z-index: -1;
}
.index_history h2 {
	margin-bottom: 3.2rem;
	font-size: 4rem;
	line-height: calc(70 / 40);
}
.index_history .more {
	margin-top: 5rem;
}
.index_history .ph {
	position: relative;
	z-index: 2;
}
.index_history .ph .item {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	visibility: hidden;
}
.index_history .ph .item.-show {
	visibility: visible;
	opacity: 1;
}
.index_history .ph .item.-showing {
	visibility: visible;
	opacity: 1;
	transition: opacity 1.5s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 3;
}
@media screen and (min-width: 744px), print {
	.index_history {
		margin-bottom: 11rem;
	}
	.index_history .txt {
		width: 48rem;
	}
	.index_history .ph {
		position: absolute;
		right: 0;
		bottom: 6rem;
		width: 77rem;
		width: calc(50% - 3rem);
		height: 77rem;
	}
	.index_history .ph img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}
@media screen and (max-width: 743px) {
	.index_history {
		padding-block: 5rem 13rem;
	}
	.index_history::before {
		bottom: 23.5rem;
	}
	.index_history h2 {
		margin-bottom: 2.8rem;
		font-size: 2.4rem;
		line-height: calc(38 / 24);
	}
	.index_history .more {
		margin-top: 3rem;
	}
	.index_history .ph {
		margin-top: 3.5rem;
		aspect-ratio: 1;
	}
}


/* index_break_movie
====================================================================== */
.index_break_movie {
	position: relative;
	height: 66.4rem;
	clip-path: inset(0);
}
.index_break_movie video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (min-width: 744px), print {
}
@media screen and (max-width: 743px) {
	.index_break_movie {
		height: 22.5rem;
	}
}


/* index_menu
====================================================================== */
.index_menu {
	position: relative;
	margin-top: 17rem;
}
.index_menu .menu {
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	gap: 2.5rem;
}
.index_menu .menu li {
	display: flex;
	align-items: center;
	width: 7rem;
	height: 38.5rem;
	padding-top: 4rem;
	background-color: var(--bg-white);
	writing-mode: vertical-rl;
	font-size: 2.4rem;
	letter-spacing: .3em;
	line-height: 1;
}
.index_menu .more  {
	margin-top: 6rem;
}
@media screen and (min-width: 744px), print {
	.index_menu h2 {
		position: absolute;
		right: -.5rem;
		top: 1rem;
		writing-mode: vertical-rl;
		font-size: 4rem;
		letter-spacing: .25em;
		line-height: 1;
		white-space: nowrap;
	}
	.index_menu .lead {
		position: absolute;
		right: 8rem;
		top: 1rem;
		writing-mode: vertical-rl;
		font-size: 1.8rem;
		letter-spacing: .2em;
		line-height: 1.5;
		white-space: nowrap;
	}
}
@media screen and (max-width: 743px) {
	.index_menu {
		margin-top: 10rem;
	}
	.index_menu h2 {
		margin-bottom: 1rem;
		font-size: 2.4rem;
		line-height: 1.5;
		text-align: center;
	}
	.index_menu .lead {
		text-align: center;
	}
	.index_menu .menu_wrap {
		overflow-x: auto;
		padding-bottom: 2rem;
	}
	.index_menu .menu {
		margin-top: 4rem;
		flex-direction: row;
		justify-content: start;
		gap: 2rem;
	}
	.index_menu .menu::before,
	.index_menu .menu::after {
		content: "";
		flex-shrink: 0;
		width: calc(var(--sp-base-padding) - 2rem);
	}
	.index_menu .menu li {
		flex-shrink: 0;
		width: 5.5rem;
		height: 25.8rem;
		padding-top: 3rem;
		font-size: 1.8rem;
		letter-spacing: .3em;
	}
	.index_menu .more  {
		margin-top: 5rem;
	}
}


/* index_break_diamond
====================================================================== */
.index_break_diamond {
	overflow: hidden;
	position: relative;
	height: 70rem;
	margin-top: 4.5rem;
}
.index_break_diamond .diamond {
	position: absolute;
	overflow: hidden;
	aspect-ratio: 316 / 234;
	clip-path: polygon(0 50%, 50% 0, 100% 50%, 50% 100%);
}
.index_break_diamond .diamond:not(.-logo) img {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.index_break_diamond .diamond.-logo {
	width: 32.6rem;
	top: 19.2rem;
	left: calc(50% + 47.0rem - (32.6rem / 2));
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #484d51;
}
.index_break_diamond .diamond.-logo img {
	width: calc(12 / 32.6 * 100%);
}
.index_break_diamond .diamond.-d1 {
	width: 21.8rem;
	top: 10.7rem;
	left: calc(50% + -97.0rem - (21.8rem / 2));
	background-color: #655F23;
}
.index_break_diamond .diamond.-d2 {
	width: 53.2rem;
	top: 10.2rem;
	left: calc(50% + -70.7rem - (53.2rem / 2));
}
.index_break_diamond .diamond.-d3 {
	width: 36.6rem;
	top: 0.0rem;
	left: calc(50% + -42.5rem - (36.6rem / 2));
}
.index_break_diamond .diamond.-d4 {
	width: 36.6rem;
	top: 32.7rem;
	left: calc(50% + -42.6rem - (36.6rem / 2));
}
.index_break_diamond .diamond.-d5 {
	width: 53.2rem;
	top: 10.2rem;
	left: calc(50% + -14.4rem - (53.2rem / 2));
}
.index_break_diamond .diamond.-d6 {
	width: 31.6rem;
	top: 39.8rem;
	left: calc(50% + 4.3rem - (31.6rem / 2));
}
.index_break_diamond .diamond.-d7 {
	width: 22.4rem;
	top: 33.5rem;
	left: calc(50% + 21.2rem - (22.4rem / 2));
}
.index_break_diamond .diamond.-d8 {
	width: 21.8rem;
	top: 53.2rem;
	left: calc(50% + 21.2rem - (21.8rem / 2));
	background: #1C3650;
}
.index_break_diamond .diamond.-d9 {
	width: 31.6rem;
	top: 39.8rem;
	left: calc(50% + 38.0rem - (31.6rem / 2));
}
.index_break_diamond .diamond.-d10 {
	width: 22.4rem;
	top: 12.9rem;
	left: calc(50% + 64.3rem - (22.4rem / 2));
}
.index_break_diamond .diamond.-d11 {
	width: 22.4rem;
	top: 33.0rem;
	left: calc(50% + 64.2rem - (22.4rem / 2));
	background-color: #675F10;
}
.index_break_diamond .diamond.-d12 {
	width: 32.6rem;
	top: 19.3rem;
	left: calc(50% + 81.6rem - (32.6rem / 2));
}
.index_break_diamond .diamond.-d13 {
	width: 21.8rem;
	top: 12.5rem;
	left: calc(50% + 96.9rem - (21.8rem / 2));
	background-color: #1C3650;
}
.index_break_diamond .diamond.-d2 img {
	height: 110%;
}
.index_break_diamond .diamond.-d3 img {
	height: 120%;
}
.index_break_diamond .diamond.-d4 img {
	height: 120%;
}
.index_break_diamond .diamond.-d5 img {
	height: 130%;
}
.index_break_diamond .diamond.-d6 img {
	height: 120%;
}
.index_break_diamond .diamond.-d7 img {
	height: 130%;
}
.index_break_diamond .diamond.-d8 img {
	height: 110%;
}
.index_break_diamond .diamond.-d9 img {
	height: 130%;
}
.index_break_diamond .diamond.-d10 img {
	height: 130%;
}
.index_break_diamond .diamond.-d12 img {
	height: 120%;
}
@media screen and (max-width: 743px) {
	.index_break_diamond {
		height: 46rem;
		margin-top: 3rem;
	}
	.index_break_diamond .diamond.-logo {
		width: 12.8rem;
		top: 24.1rem;
		left: calc(50% + -9.5rem - (12.8rem / 2));
	}
	.index_break_diamond .diamond.-d1 {
		width: 8.8rem;
		top: 4.3rem;
		left: calc(50% + -19.4rem - (8.8rem / 2));
	}
	.index_break_diamond .diamond.-d2 {
		width: 21.0rem;
		top: 4.0rem;
		left: calc(50% + -9.1rem - (21.0rem / 2));
	}
	.index_break_diamond .diamond.-d3 {
		width: 14.4rem;
		top: 0.0rem;
		left: calc(50% + 2.1rem - (14.4rem / 2));
	}
	.index_break_diamond .diamond.-d4 {
		width: 14.6rem;
		top: 12.9rem;
		left: calc(50% + 2.1rem - (14.6rem / 2));
	}
	.index_break_diamond .diamond.-d5 {
		width: 21.0rem;
		top: 4.0rem;
		left: calc(50% + 13.2rem - (21.0rem / 2));
	}
	.index_break_diamond .diamond.-d6 {
		width: 12.6rem;
		top: 34.1rem;
		left: calc(50% + 2.4rem - (12.6rem / 2));
	}
	.index_break_diamond .diamond.-d7 {
		width: 9.0rem;
		top: 31.6rem;
		left: calc(50% + 9.1rem - (9.0rem / 2));
	}
	.index_break_diamond .diamond.-d8 {
		width: 8.6rem;
		top: 39.4rem;
		left: calc(50% + 9.0rem - (8.6rem / 2));
	}
	.index_break_diamond .diamond.-d9 {
			width: 12.6rem;
		top: 34.1rem;
		left: calc(50% + 15.7rem - (12.6rem / 2));

	}
	.index_break_diamond .diamond.-d10 {
		width: 8.8rem;
		top: 21.6rem;
		left: calc(50% + -2.6rem - (8.8rem / 2));
	}
	.index_break_diamond .diamond.-d11 {
		width: 8.8rem;
		top: 29.6rem;
		left: calc(50% + -2.6rem - (8.8rem / 2));
	}
	.index_break_diamond .diamond.-d12 {
		width: 13.0rem;
		top: 24.1rem;
		left: calc(50% + 4.3rem - (13.0rem / 2));
	}
	.index_break_diamond .diamond.-d13 {
		display: none;
	}
}


/* index_shop
====================================================================== */
.index_shop {
	position: relative;
	padding-top: 13rem;
}
.index_shop h2 {
	margin-bottom: 2.5rem;
	font-size: 4rem;
	line-height: 1.5;
	text-align: center;
}
.index_shop .lead {
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
}
.index_shop .shops {
	position: relative;
	margin-top: 5rem;
}
.index_shop .shops .info {
	margin-bottom: 1rem;
	padding: 3rem;
	background-color: var(--bg-white);
	font-size: 1.6rem;
	line-height: calc(32 / 14);
	letter-spacing: 0.1rem;
}
.index_shop .shops .info dl {
	display: flex;
}
.index_shop .shops .info dl dt {
	width: 4.2em;
	margin-right: 2em;
	flex-shrink: 0;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0;
	white-space: nowrap;
	text-align: justify;
	text-align-last: justify;
}
.index_shop .shops iframe {
	width: 100%;
	height: 100%;
}
@media screen and (min-width: 744px), print {
	.index_shop .shops {
		display: flex;
		justify-content: space-between;
	}
	.index_shop .shops .list {
		width: 57.8rem;
	}
	.index_shop .shops h3.-open {
		pointer-events: none;
	}
	.index_shop .shops .list .map {
		display: none;
	}
	.index_shop .shops .maps {
		position: sticky;
		top: 7rem;
		margin-top: 7rem;
		width: 47rem;
		height: 47rem;
		background-color: #fff;
	}
	.index_shop .shops .info dl dd .index_pc_none {
		display: none;
	}
}
@media screen and (max-width: 743px) {
	.index_shop {
		padding-top: 5rem;
	}
	.index_shop h2 {
		margin-bottom: 1rem;
		font-size: 2.4rem;
	}
	.index_shop .lead {
		font-size: 1.4rem;
		line-height: calc(24 / 14);
	}
	.index_shop .shops {
		margin-top: 3rem;
	}
	.index_shop .shops .info {
		padding: 2rem;
		font-size: 1.2rem;
		line-height: calc(22 / 12);
	}
	.index_shop .shops .info dl dt {
		margin-right: 1.5em;
	}
	.index_shop .shops .map {
		height: 30rem;
	}
}
.index_shop .more {
	margin-top: 8rem;
}
@media screen and (max-width: 743px) {
	.index_shop .more {
		margin-top: 5rem;
	}
}



/* index_news
====================================================================== */
.index_news {
	overflow: hidden;
	padding-block: 19rem 10rem;
}
.index_news .contents {
	--point-size: 7.4rem;
	position: relative;
	clip-path: polygon(0 0, 200% 0, 200% 100% , var(--point-size) 100%, 0 calc(100% - var(--point-size)));
	z-index: 1;
}
.index_news .contents::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: var(--point-size);
	height: var(--point-size);
	background-color: var(--color-base);
	opacity: 0.5;
}
.index_news h2 {
	margin-bottom: 1.5rem;
	font-size: 4rem;
	line-height: 1.5;
	text-align: center;
}
.index_news .lead {
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
}
.index_news .news_list {
	margin-top: 5rem;
}
.index_news .news_list .cat_wrap {
	display: flex;
	gap: 1.4rem;
}
.index_news .news_list .cat {
	padding: 0.5em 1em;
	background-color: #484D51;
	font-size: 1.2rem;
	line-height: 1.5;
	font-weight: var(--font-weight-medium);
	color: #fff;
}
.index_news .more {
	margin-top: 6rem;
}
@media screen and (min-width: 744px), print {
	.index_news .contents {
		padding: 6rem 0 9.5rem;
	}
	.index_news .contents::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 200%;
		background-color: var(--bg-white);
		z-index: -1;
	}
	.index_news .news_list {
		display: table;
		width: 100%;
		padding-left: 12.4rem;
	}
	.index_news .news_list > li {
		display: contents;
	}
	.index_news .news_list a {
		position: relative;
		display: table-row;
		text-decoration: none;
		font-size: 1.6rem;
		line-height: calc(28 / 16);
		font-weight: var(--font-weight-medium);
	}
	.index_news .news_list a > * {
		position: relative;
		display: table-cell;
		padding-block: 2.6rem;
		border-bottom: 1px solid;
	}
	.index_news .news_list .date {
		width: 12.5rem;
		padding-left: 1rem;
		font-size: 1.4rem;
		letter-spacing: .1rem;
	}
	.index_news .news_list .title {
		padding-right: 2rem;
	}
	.index_news .news_list .title > span {
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.index_news .news_list .category {
		width: 27.8rem;
		padding-right: 5rem;
		vertical-align: middle;
		white-space: nowrap;
	}
	.index_news .news_list .category::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		width: 2.5rem;
		border-top: 1px solid;
	}
}
@media (hover) {
	.index_news .news_list a:hover {
		background-color: rgba(84,88,92,.1);
	}
}
@media screen and (max-width: 743px) {
	.index_news {
		padding-top: 10rem;
	}
	.index_news .contents {
		--point-size: 5rem;
		margin-left: var(--sp-base-padding);
		padding-right: var(--sp-base-padding);
		padding-block: 5rem 8rem;
		background-color: var(--bg-white);
	}
	.index_news h2 {
		margin-bottom: 1rem;
		font-size: 2.4rem;
	}
	.index_news .lead {
		font-size: 1.4rem;
	}
	.index_news .news_list {
		margin-top: 2rem;
		margin-left: 2.4rem;
	}
	.index_news .news_list li + li {
		border-top: 1px solid;
	}
	.index_news .news_list a {
		display: block;
		padding: 2rem .8rem;
		text-decoration: none;
		line-height: calc(26 / 14);
	}
	.index_news .news_list .date {
		display: block;
		margin-bottom: 0.5rem;
	}
	.index_news .news_list .cat_wrap {
		flex-wrap: wrap;
		gap: .5rem 1rem;
		margin-top: 0.8rem;
	}
	.index_news .news_list .cat {
		font-size: 1rem;
	}
	.index_news .more {
		margin-top: 2rem;
	}
}



/* bg-mountain
====================================================================== */
.bg-mountain {
	position: absolute;
	right: 0;
	left: 0;
	height: 100rem;
	overflow: hidden;
	pointer-events: none;
	user-select: none;
	z-index: -1;
}
.bg-mountain > * {
	position: absolute;
}

.bg-mountain.-img1  {
	top: 63.5rem;
	& > div {
		right: calc(50% - 14.2rem);
		width: 67.9rem;
		height: 56.3rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-mountain.-img1  {
		top: auto;
		bottom: -30rem;
		& > div {
			bottom: 0;
			right: calc(50% - 28.2rem);
			transform: scale(.7);
			transform-origin: 100% 100%;
		}
	}
}
.bg-mountain.-img2  {
	top: 58.6rem;
	& > div {
		right: 0;
		left: 0;
		height: 49.9rem;
	}
	& > div img {
		position: relative;
		left: 50%;
		max-width: none;
		width: max(160rem, 100%);
		height: 100%;
		transform: translateX(-50%);
	}
}
@media screen and (max-width: 743px) {
	.bg-mountain.-img2  {
		top: auto;
		bottom: -22rem;
		& > div {
			bottom: 0;
			height: 20rem;
		}
		& > div img {
			position: relative;
			left: 50%;
			max-width: none;
			width: calc(160rem * (20 / 49.9));
		}
	}
}
.bg-mountain.-img3  {
	top: 38rem;
	& > div {
		right: calc(50% + 5.6rem);
		width: 74.4rem;
		height: 60.1rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-mountain.-img3  {
		top: 42rem;
		& > div {
			right: calc(50% - 30rem);
			transform: scale(.6);
			transform-origin: 100% 0;
		}
	}
}
.bg-mountain.-img4  {
	bottom: -8rem;
	& > div {
		right: 0;
		left: 0;
		height: 37.8rem;
		bottom: 0;
	}
	& > div img {
		position: relative;
		left: 50%;
		max-width: none;
		width: max(160rem, 100%);
		height: 100%;
		transform: translateX(-50%);
	}
}
@media screen and (max-width: 743px) {
	.bg-mountain.-img4  {
		bottom: -5rem;
		& > div {
			bottom: 0;
			height: 20rem;
		}
		& > div img {
			position: relative;
			left: 50%;
			max-width: none;
			width: calc(160rem * (20 / 37.8));
		}
	}
}


/* bg-imgs
====================================================================== */
.bg-imgs.-imgs1 {
	top: -16rem;
	& > div {
		left: calc(50% + 19.7rem);
		width: 90.4rem;
		height: 76.2rem;
	}
	.i1 {
		width: 63.9rem;
		height: 35.2rem;
		left: 0rem;
		top: 18.4rem;
	}
	.i2 {
		width: 66rem;
		height: 47rem;
		left: 8.3rem;
		top: 38rem;
		transform: rotate(-35deg);
		transform-origin: top left;
	}
	.i3 {
		width: 82rem;
		height: 39.7rem;
		left: 8.4rem;
		top: 8.5rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs1 {
		top: -6rem;
		& > div {
			left: calc(50%);
			transform-origin: 0 0;
			transform: scale(calc(407 / 904)) scaleX(-1);
		}
	}
}
.bg-imgs.-imgs2 {
	bottom: -26rem;
	& > div {
		width: 97.5rem;
		height: 65.8rem;
		right: calc(50% - 3.2rem);
		bottom: 0;
	}
	.i1 {
		width: 51.4rem;
		height: 36.4rem;
		left: 4.3rem;
		top: 30.3rem;
		transform: rotate(-13deg);
		transform-origin: top left;
	}
	.i2 {
		width: 56.7rem;
		height: 26.2rem;
		left: 0.7rem;
		top: 0rem;
	}
	.i3 {
		width: 48.2rem;
		height: 29.7rem;
		left: 13.9rem;
		top: 0.1rem;
	}
	.i4 {
		width: 43.1rem;
		height: 23.8rem;
		left: 25.8rem;
		top: 14.9rem;
	}
	.i5 {
		width: 50.1rem;
		height: 41.7rem;
		left: 0rem;
		top: 9.8rem;
	}
	.i6 {
		width: 52.7rem;
		height: 25.6rem;
		left: 17.3rem;
		top: 30.9rem;
	}
	.i7 {
		width: 70.5rem;
		height: 34.2rem;
		left: 27rem;
		top: 26.8rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs2 {
		bottom: 4rem;
		& > div {
			left: calc(50%);
			right: auto;
			transform-origin: 0 100%;
			transform: scale(calc(326 / 975));
		}
	}
}
.bg-imgs.-imgs3 {
	top: 50rem;
	& > div {
		width: 62.9rem;
		height: 41.4rem;
		right: calc(50% - 16rem);
	}
	.i1 {
		width: 23.7rem;
		height: 19.7rem;
		left: 19.2rem;
		top: 3.5rem;
	}
	.i2 {
		width: 31.3rem;
		height: 22.2rem;
		left: 0rem;
		top: 23.3rem;
		transform: rotate(-35deg);
		transform-origin: top left;
	}
	.i3 {
		width: 31.3rem;
		height: 22.2rem;
		left: 62.9rem;
		top: 19.8rem;
		transform: rotate(153deg);
		transform-origin: top left;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs3 {
		top: 16rem;
		z-index: 2;
		& > div {
			right: calc(50% - 5rem);
			transform-origin: 100% 0;
			transform: scale(calc(356 / 629));
		}
	}
}
.bg-imgs.-imgs4 {
	bottom: -7rem;
	z-index: 2;
	& > div {
		width: 38.8rem;
		height: 17.8rem;
		left: calc(50% - -18.0rem);
		bottom: 0;
	}
	.i1 {
		width: 32.6rem;
		height: 15rem;
		left: 5.1rem;
		top: 2.8rem;
		transform: rotate(-5deg);
		transform-origin: top left;
	}
	.i2 {
		width: 28.7rem;
		height: 13.9rem;
		left: 0rem;
		top: 2.5rem;
		transform: rotate(-5deg);
		transform-origin: top left;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs4 {
		bottom: -10rem;
		& > div {
			left: auto;
			right: calc(50% - 2rem);
			transform-origin: 100% 0;
			transform: scale(calc(254 / 388));
		}
	}
}
.bg-imgs.-imgs5 {
	top: -18rem;
	& > div {
		width: 89.7rem;
		height: 64.1rem;
		right: calc(50% + 18.0rem);
		transform: rotate(-20.41deg);
	}
	.i1 {
		width: 66.5rem;
		height: 46rem;
		left: 0.4rem;
		top: 0.6rem;
	}
	.i2 {
		width: 82.8rem;
		height: 45.7rem;
		left: 0rem;
		top: 1.8rem;
	}
	.i3 {
		width: 57rem;
		height: 40.3rem;
		left: 20.1rem;
		top: 29.6rem;
		transform: rotate(-31deg);
		transform-origin: top left;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs5 {
		top: -13rem;
		& > div {
			left: calc(50% - 28rem);
			right: auto;
			transform: rotate(-20.41deg) scale(calc(405 / 897));
		}
	}
}
.bg-imgs.-imgs6 {
	bottom: -16rem;
	z-index: 2;
	& > div {
		width: 52.5rem;
		height: 27.3rem;
		left: calc(50% - 3.7rem);
		bottom: 0;
	}
	.i1 {
		width: 28.9rem;
		height: 20rem;
		left: 16.6rem;
		top: 7.3rem;
	}
	.i2 {
		width: 37.2rem;
		height: 18rem;
		left: 15.4rem;
		top: 1.3rem;
	}
	.i3 {
		width: 37.6rem;
		height: 20.8rem;
		left: 12rem;
		top: 4rem;
	}
	.i4 {
		width: 45rem;
		height: 21.8rem;
		left: 0rem;
		top: 0rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs6 {
		bottom: -7rem;
		& > div {
			left: calc(50% - 22rem);
			transform: scale(calc(400 / 525));
		}
	}
}
.bg-imgs.-imgs7 {
	top: -40rem;
	& > div {
		width: 75.4rem;
		height: 53.7rem;
		left: calc(50% + 15.7rem)
	}
	.i1 {
		width: 55.7rem;
		height: 38.5rem;
		left: 74.8rem;
		top: 53.1rem;
		transform: rotate(-180deg);
		transform-origin: top left;
	}
	.i2 {
		width: 58rem;
		height: 28.1rem;
		left: 75.4rem;
		top: 39.2rem;
		transform: rotate(-180deg);
		transform-origin: top left;
	}
	.i3 {
		width: 69.3rem;
		height: 38.2rem;
		left: 75.1rem;
		top: 52.2rem;
		transform: rotate(-180deg);
		transform-origin: top left;
	}
	.i4 {
		width: 47.7rem;
		height: 33.8rem;
		left: 58.3rem;
		top: 28.9rem;
		transform: rotate(-211deg);
		transform-origin: top left;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs7 {
		top: -30rem;
		& > div {
			left: auto;
			right: calc(50% - 27rem);
			transform: rotate(5deg) scale(calc(292 / 754));
		}
	}
}
.bg-imgs.-imgs8 {
	top: 10rem;
	z-index: 2;
	& > div {
		width: 51.5rem;
		height: 29.1rem;
		right: calc(50% + 24.2rem);
	}
	.i1 {
		width: 50.9rem;
		height: 24.6rem;
		left: 0.6rem;
		top: 0rem;
	}
	.i2 {
		width: 40.3rem;
		height: 27.9rem;
		left: 0rem;
		top: 1.2rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs8 {
		top: auto;
		bottom: -2rem;
		z-index: -1;
		& > div {
			bottom: 0;
			right: calc(50% - 13rem);
			transform-origin: 50% 100%;
			transform: scale(calc(304 / 515)) scaleX(-1);
		}
	}
}
.bg-imgs.-imgs9 {
	top: 12rem;
	& > div {
		width: 49.3rem;
		height: 32.3rem;
		left: calc(50% - 5.9rem);
	}
	.i1 {
		width: 35.8rem;
		height: 19.8rem;
		left: 0rem;
		top: 0rem;
	}
	.i2 {
		width: 40.7rem;
		height: 25rem;
		left: 8.6rem;
		top: 7.3rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs9 {
		top: 19rem;
		& > div {
			left: calc(50% + 7rem);
			transform-origin: 0 0;
			transform: scale(calc(163 / 493));
		}
	}
}
.bg-imgs.-imgs10 {
	top: 11rem;
	& > div {
		width: 70.1rem;
		height: 40.4rem;
		right: calc(50% + 20.1rem);
	}
	.i1 {
		width: 46.1rem;
		height: 31.9rem;
		left: 0rem;
		top: 4.7rem;
	}
	.i2 {
		width: 42.6rem;
		height: 20.7rem;
		left: 18.2rem;
		top: 1rem;
	}
	.i3 {
		width: 48.7rem;
		height: 27rem;
		left: 14rem;
		top: 1.7rem;
	}
	.i4 {
		width: 57.2rem;
		height: 25.4rem;
		left: 12.9rem;
		top: 0rem;
	}
	.i5 {
		width: 31.2rem;
		height: 15rem;
		left: 12.9rem;
		top: 25.4rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs10 {
		top: -6rem;
		& > div {
			right: calc(50% - 9rem);
			transform-origin: 100% 0;
			transform: scale(calc(380 / 701));
		}
	}
}
.bg-imgs.-imgs11 {
	top: 30rem;
	& > div {
		width: 43.3rem;
		height: 39rem;
		left: calc(50% + 51.4rem);
		transform: rotate(1.62deg);
	}
	.i1 {
		width: 29.4rem;
		height: 16.2rem;
		left: 0rem;
		top: 17.6rem;
	}
	.i2 {
		width: 33.4rem;
		height: 26.7rem;
		left: 1.4rem;
		top: 15.2rem;
		transform: rotate(-27deg);
		transform-origin: top left;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs11 {
		top: 20rem;
		& > div {
			left: calc(50% + 6.4rem);
			transform-origin: 0 0;
			transform: scale(calc(241 / 433));
		}
	}
}
.bg-imgs.-imgs12 {
	bottom: -4rem;
	& > div {
		width: 30.1rem;
		height: 21.7rem;
		right: calc(50% + 44.1rem);
		bottom: 0;
	}
	.i1 {
		width: 21.8rem;
		height: 15.1rem;
		left: 0.6rem;
		top: 7.3rem;
		transform: rotate(-17deg);
		transform-origin: top left;
	}
	.i2 {
		width: 25.4rem;
		height: 14.1rem;
		left: 3.9rem;
		top: 2.6rem;
	}
	.i3 {
		width: 19.5rem;
		height: 16.3rem;
		left: 23.1rem;
		top: 15.7rem;
		transform: rotate(165deg);
		transform-origin: top left;
	}
	.i4 {
		width: 19.6rem;
		height: 16.3rem;
		left: 10.5rem;
		top: 1.5rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs12 {
		bottom: 15rem;
		& > div {
			right: auto;
			left: calc(50% + 6rem);
			transform-origin: 0 100%;
			transform: scale(calc(204 / 301));
		}
	}
}
.bg-imgs.-imgs13 {
	top: 4rem;
	z-index: 2;
	& > div {
		width: 81rem;
		height: 37rem;
		left: calc(50% + 17.3rem);
	}
	.i1 {
		width: 74.1rem;
		height: 34.2rem;
		left: 0rem;
		top: 0.6rem;
	}
	.i2 {
		width: 26.5rem;
		height: 14.6rem;
		left: 53.7rem;
		top: 16.6rem;
		transform: rotate(175deg);
		transform-origin: top left;
	}
	.i3 {
		width: 29.7rem;
		height: 14.6rem;
		left: 44.3rem;
		top: 15.2rem;
		transform: rotate(146deg);
		transform-origin: top left;
	}
	.i4 {
		width: 31.7rem;
		height: 17.5rem;
		left: 39.9rem;
		top: 17.6rem;
	}
	.i5 {
		width: 32.7rem;
		height: 23.2rem;
		left: 41.2rem;
		top: 16.6rem;
		transform: rotate(-28deg);
		transform-origin: top left;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs13 {
		top: 1rem;
		& > div {
			left: calc(50% - 3rem);
			transform-origin: 0 0;
			transform: scale(calc(339 / 810));
		}
	}
}
.bg-imgs.-imgs14 {
	bottom: 20rem;
	& > div {
		width: 39.2rem;
		height: 22.1rem;
		right: calc(50% + 49.3rem);
		bottom: 0;
	}
	.i1 {
		width: 30.8rem;
		height: 14.2rem;
		left: 8.4rem;
		top: 7.6rem;
	}
	.i2 {
		width: 33.1rem;
		height: 18.3rem;
		left: 6.1rem;
		top: 0rem;
	}
	.i3 {
		width: 20.6rem;
		height: 17.1rem;
		left: 4.2rem;
		top: 0.5rem;
		transform: rotate(14deg);
		transform-origin: top left;
	}
	.i4 {
		width: 34.1rem;
		height: 16.5rem;
		left: 4.6rem;
		top: 0.5rem;
	}
}
@media screen and (max-width: 743px) {
	.bg-imgs.-imgs14 {
		bottom: 2rem;
		& > div {
		right: calc(50% - 7rem);
			transform-origin: 100% 100%;
			transform: scale(calc(312 / 392));
		}
	}
}




/* mov show
====================================================================== */
@media screen {
	._mov_fadein {
		opacity: 0;
	}
	._mov_fadein._mov_showed {
		transition: opacity 1s linear;
		opacity: 1;
	}

	._mov_fadeup {
		opacity: 0;
		transform: translateY(3rem);
	}
	._mov_fadeup._mov_showed {
		transition: transform .6s cubic-bezier(0.5, 1, 0.89, 1), opacity .6s linear;
		opacity: 1;
		transform: translateY(0);
	}

	._mov_fadeup_b {
		opacity: 0;
		transform: translateY(5rem);
	}
	._mov_fadeup_b._mov_showed {
		transition: transform .7s cubic-bezier(0.34, 1.56, 0.64, 1), opacity .7s linear;
		opacity: 1;
		transform: translateY(0);
	}

	._mov_fadeleft {
		opacity: 0;
		transform: translateX(-3rem);
	}
	._mov_fadeleft._mov_showed {
		transition: transform .6s cubic-bezier(0.5, 1, 0.89, 1), opacity .6s linear;
		opacity: 1;
		transform: translateX(0);
	}

	._mov_faderight {
		opacity: 0;
		transform: translateX(3rem);
	}
	._mov_faderight._mov_showed {
		transition: transform .6s cubic-bezier(0.5, 1, 0.89, 1), opacity .6s linear;
		opacity: 1;
		transform: translateX(0);
	}

	._mov_zoomin {
		opacity: 0;
		transform: scale(.2);
	}
	._mov_zoomin.-zomms {
		transform: scale(.6);
	}
	._mov_zoomin._mov_showed {
		transition: transform .6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity .6s linear;
		opacity: 1;
		transform: scale(1);
	}

	._mov_zoomout {
		opacity: 0;
		transform: scale(3);
		display: inline-block;
	}
	._mov_zoomout._mov_showed {
		transition: transform .6s cubic-bezier(0.5, 1, 0.89, 1), opacity .6s linear;
		opacity: 1;
		transform: scale(1);
	}

	._mov_delay1 {
		transition-delay: .2s !important;
	}
	._mov_delay2 {
		transition-delay: .4s !important;
	}
	._mov_delay3 {
		transition-delay: .6s !important;
	}
	._mov_delay4 {
		transition-delay: .8s !important;
	}
	._mov_delay5 {
		transition-delay: 1s !important;
	}
	._mov_delay6 {
		transition-delay: .2s !important;
	}
	._mov_delay1s {
		transition-delay: .1s !important;
	}
	._mov_delay2s {
		transition-delay: .2s !important;
	}
	._mov_delay3s {
		transition-delay: .3s !important;
	}
	._mov_delay4s {
		transition-delay: .4s !important;
	}
	._mov_delay5s {
		transition-delay: .5s !important;
	}
	._mov_delay6s {
		transition-delay: .6s !important;
	}
	@media screen and (min-width: 768px), print {
		._mov_pc_delay1 {
			transition-delay: .2s !important;
		}
		._mov_fadeup.-sp-mov_show {
			opacity: 1;
			transform: translateY(0);
		}
	}
	._mov_showed + ._mov_fadeup._mov_before {
		transition: transform .6s cubic-bezier(0.5, 1, 0.89, 1), opacity .6s linear;
		transition-delay: .4s !important;
		opacity: 1;
		transform: translateY(0);
	}

	.bg-imgs.-title {
		opacity: 0;
	}
	.bg-imgs.-title.-right {
		transform: translateX(12rem);
	}
	.bg-imgs.-title.-left {
		transform: translateX(-12rem);
	}
	@media screen and (max-width: 743px) {
		.bg-imgs.-title.-sp-right {
			transform: translateX(12rem);
		}
		.bg-imgs.-title.-sp-left {
			transform: translateX(-12rem);
		}
	}
	.bg-imgs.-title._mov_showed {
		transition: transform .8s cubic-bezier(0.5, 1, 0.89, 1), opacity .8s linear;
		opacity: 1;
		transform: translateX(0);
	}

#container {
	overflow: hidden;
}
}

