@charset "utf-8";

.first-view {
	position: relative;
	width: 100%;
	height: calc(100vh - 110px);
	overflow: hidden;
	display: flex;
	align-items: center;
}

.img-01, .img-02, .img-03 , .img-04 {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: calc(100vh - 110px);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.first-view-text {
	position: absolute;
	width: 100%;
	max-width: 1200px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 80px;
	color: #ffffff;
	font-weight: bold;
	text-shadow: 1px 1px 10px #4b2c14;
	z-index: 5;

}

.img-01 {
	background-image: url("../images/index/bg-main.jpg");
	animation: slide-animation-01 30s linear infinite;
}

.img-02 {
	background-image: url("../images/concept/bg-main.jpg");
	animation: slide-animation-02 30s linear infinite;
}

.img-03 {
	background-image: url("../images/menu/bg-main.jpg");
	animation: slide-animation-03 30s linear infinite;
}

.img-04 {
	background-image: url("../images/access/bg-main.jpg");
	animation: slide-animation-04 30s linear infinite;
}

@keyframes slide-animation-01 {
	0% {opacity: 1; }
	12.5% {opacity: 1;}
	25% {opacity: 0;}
	87.5% {opacity: 0;}
	100% {opacity: 1;}
}

@keyframes slide-animation-02 {
	0% {opacity: 0;}
	12.5% {opacity: 0;}
	25% {opacity: 1;}
	37.5% {opacity: 1;}
	50% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes slide-animation-03 {
	0% {opacity: 0;}
	37.5% {opacity: 0;}
	50% {opacity: 1;}
	62.5% {opacity: 1;}
	75% {opacity: 0;}
	100% {opacity: 0;}
}

@keyframes slide-animation-04 {
	0% {opacity: 0;}
	65% {opacity: 0;}
	75% {opacity: 1;}
	87.5% {opacity: 1;}
	100% {opacity: 0;}
}

.first-view-text h1 {
	font-family: 'Montserrat', sans-serif;
	font-size: 56px;
	line-height: 72px;
}

.first-view-text p {
	font-size: 18px;
	margin-top: 20px;
}

.lead {
	max-width: 1200px;
	margin: 60px auto;
}

.lead p {
	line-height: 2;
	text-align: center;
}

.link-button-area {
	text-align: center;
	margin-top: 40px;
}

.link-button {
	background-color: #f4dd64;
	display: inline-block;
	min-width: 180px;
	line-height: 48px;
	border-radius: 24px;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
}

.link-button:hover {
	background-color: #d8b500;
}

.recommended {
	background-color: #f8f8f8;
	padding-top: 45px;
	padding-bottom: 55px;
}

.recommended h2 {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.recommended h2::after {
	content: '';
	display: block;
	width: 36px;
	height: 3px;
	background-color: #000000;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
}

.item-list {
	display: flex;
	padding-top: 40px;
	padding-bottom: 10px;
	padding-left: 60px;
	padding-right: 60px;
	overflow-x: scroll;
}

.item-list li {
	flex-shrink: 0;
	width: 260px;
	margin-left: 75px;
}

.item-list li:first-child {
	margin-left: 0;
}

.item-list dl {
	margin-top: 20px;
}

.item-list dt {
	font-weight: bold;
}

.item-list dd {
	font-size: 13px;
	line-height: 20px;
	margin-top: 10px;
	margin-left: 0px; /* ddの左マージンを無くす*/
}

.item-list .price {
	font-weight: bold;
	margin-top: 15px;
}

@media (max-width: 800px) {

	.first-view {
		height: calc( 100vh - 50px );
	}

	.first-view-text {
		top: 60px;
		left: 20px;
		transform: none;
		padding-left: 0;
		padding-right: 0;
	}

	.slider-item  {
		height: calc( 100vh - 50px );
	}

	.img-01, .img-02, .img-03 , .img-04 {
		height: calc( 100vh - 50px );
	}

	.img-01 {
		background-image: url("../images/index/bg-main-sp.jpg");
	}

	.img-02 {
		background-image: url("../images/menu/bg-main-sp.jpg");
	}

	.img-03 {
		background-image: url("../images/concept/bg-main-sp.jpg");
	}

	.img-04 {
		background-image: url("../images/access/bg-main-sp.jpg");
	}

	.first-view-text h1 {
		font-size: 36px;
		line-height: 48px;
	}

	.first-view-text p {
		font-size: 14px;
		margin-top: 15px;
	}

	.lead {
		padding-left: 20px;
		padding-right: 20px;
	}

	.lead p {
		text-align: left;
	}

	.item-list {
		padding-left: 20px;
		padding-right: 20px;
	}

	.item-list li {
		width: 220px;
		margin-left: 30px;
	}
}