@charset "UTF-8";

* {
	height: 100%
}

/*--------------------------------------------
	ローディング Section
	ローディング画面設定
--------------------------------------------*/
#loading {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: var(--white);
	z-index: 999;
	display: flex;
	justify-content: center;
	align-items: center
}

.loading-image {
	width: 150px;
	height: auto;
	animation: rotate 3s linear infinite
}

@keyframes rotate {
	0% {
		transform: rotate(0deg)
	}

	100% {
		transform: rotate(360deg)
	}
}

/*--------------------------------------------
	Full View Section
	トップ画像を画面いっぱいに表示
	pc用：136:49、スマホ用：31:50
--------------------------------------------*/
#fv {
	position: relative;
	overflow: hidden
}

.loading-text {
	font-weight: bold;
	width: 100%;
	font-family: var(--font-family-sub);
	position: absolute;
	z-index: 3;
	font-size: 4em;
	opacity: 0;
	top: 90%;
	left: 50%;
	letter-spacing: 0.1em;
	text-shadow: 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color), 0px 0px 3px var(--main-color)
}

@keyframes fadeIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -35%);
	}

	100% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}

@media (max-width: 600px) {
	.loading-text {
		top: 50%
	}
}

.slide {
	position: relative;
	width: 100%;
	height: 100%
}

#fv .slide li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: cover;
	animation-duration: 1s
}

#fv .slide .img1 {
	background-image: url('../img/home/1pc.jpg');
	filter: brightness(1.2)
}

#fv .slide .img2 {
	background-image: url('../img/home/2pc.jpg')
}

#fv .slide .img3 {
	background-image: url('../img/home/3pc.jpg');
	filter: brightness(1.2)
}

#fv .slide li.active {
	z-index: 2
}

#fv .slide li.next {
	z-index: 1
}

#fv .slide li.close {
	animation-name: slide-out;
	opacity: 0
}

@keyframes slide-out {
	0% {
		opacity: 1
	}

	100% {
		opacity: 0
	}
}

@media not all and (min-width: 601px) {
	#main {
		bottom: 16%;
		left: 20px;
		max-width: inherit;
		width: inherit
	}

	#fv .slide .img1 {
		background-image: url('../img/home/1sp.jpg');
		filter: brightness(1.2)
	}

	#fv .slide .img2 {
		background-image: url('../img/home/2sp.jpg')
	}

	#fv .slide .img3 {
		background-image: url('../img/home/3sp.jpg');
		filter: brightness(1.2)
	}
}

/*--------------------------------------------
	メニュー欄
	上のfvのポジションを継承
--------------------------------------------*/
.menu-container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: flex-end;
	width: 100%;
	position: absolute;
	bottom: 0;
	padding-bottom: var(--dynamic-margin-large);
	z-index: 5
}

.menu {
	width: 140px;
	height: 60px;
	margin: 10px;
	background-color: var(--main-color);
	color: var(--text-color);
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	border-radius: 10px;
	transition: background-color 0.3s;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	opacity: 0
}

.menu span {
	height: auto;
	transition: transform 0.3s ease-in-out
}

.menu:hover span {
	transform: rotate(7deg)
}

.menu:hover {
	background-color: var(--muted-2)
}

.hover-info {
	position: absolute;
	top: 10%;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, 0.8);
	color: var(--text-color);
	padding: 15px 25px;
	border-radius: 10px;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
	height: auto;
	width: 600px;
	max-width: 95%;
	z-index: 4
}

.hover-info strong {
	font-size: 1.5em
}

.hover-info span {
	font-size: .9em;
	display: block;
	margin-top: 5px
}


@media (min-width: 768px) {
	.menu.start:nth-child(1) {
		transform: translateY(20px);
		animation: fadeInUp1 0.5s forwards;
		animation-delay: 0.1s
	}

	.menu.start:nth-child(2) {
		transform: translateY(-20px);
		animation: fadeInUp2 0.5s forwards;
		animation-delay: 0.2s
	}

	.menu.start:nth-child(3) {
		transform: translateY(20px);
		animation: fadeInUp1 0.5s forwards;
		animation-delay: 0.3s
	}

	.menu.start:nth-child(4) {
		transform: translateY(-20px);
		animation: fadeInUp2 0.5s forwards;
		animation-delay: 0.4s
	}

	.menu.start:nth-child(5) {
		transform: translateY(20px);
		animation: fadeInUp1 0.5s forwards;
		animation-delay: 0.5s
	}

	@keyframes fadeInUp1 {
		from {
			opacity: 0;
			transform: translateY(20px)
		}

		to {
			opacity: 1;
			transform: translateY(-20px)
		}
	}

	@keyframes fadeInUp2 {
		from {
			opacity: 0;
			transform: translateY(-20px)
		}

		to {
			opacity: 1;
			transform: translateY(20px)
		}
	}
}

@media not all and (min-width: 768px) {
	.menu-container {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
		padding-bottom: 0;
		bottom: 5px
	}

	.menu.start {
		width: 70%;
		max-width: 220px;
		height: 45px;
		border-radius: 20px;
		margin-bottom: 5px;
		transform: translateX(-30px);
		animation: fadeInLeft 0.5s ease-out forwards
	}

	.menu:nth-child(1) {
		animation-delay: 0.1s
	}

	.menu:nth-child(2) {
		animation-delay: 0.2s
	}

	.menu:nth-child(3) {
		animation-delay: 0.3s
	}

	.menu:nth-child(4) {
		animation-delay: 0.4s
	}

	.menu:nth-child(5) {
		animation-delay: 0.5s
	}

	@keyframes fadeInLeft {
		from {
			opacity: 0;
			transform: translateX(-30px)
		}

		to {
			opacity: 1;
			transform: translateX(0)
		}
	}
}