@charset "UTF-8";

.color-black .float-parent .float p {
	color: #000;
}

/* ▼▼▼ トップ
======================================================*/
#mainVisual {
	padding-top: 80px;
}

#mainVisual img {
	width: 100%;
	height: 686px;
	object-fit: cover;
}

.float-parent {
	position: absolute;
	width: 236px;
	height: 710px;
	margin: auto;
	top: 370px;
	right: 0;
	left: 0;
	z-index: 1;
}

.float {
	position: absolute;
	top: 0;
}

.float p {
	color: #fff;
	text-align: center;
}

/*下からフェードイン*/
.fade-in-bottom {
	opacity: 0;
	animation-name: fadein-bottom;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

@keyframes fadein-bottom {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.float .copy {
	font-size: 64px;
}

#main {
	margin: 0 auto;
}

#first .wrapper {
	position: relative;
}

#first .wrapper.no_img {
	width: 100%;
	height: 686px;
}

#first .wrapper.no_img p {
	color: #000;
}

#first .wrapper .text_area {
	width: 400px;
	color: #fff;
	position: absolute;
	margin: auto;
	right: 0;
	left: 0;
	bottom: 130px;
}

#first .wrapper:nth-of-type(2) .text_area {
	height: 120px;
	top: 0;
	bottom: 0;
}

#first .wrapper:nth-of-type(2) .text_area .roboto {
	margin-bottom: 20px;
	font-size: 34px;
	font-weight: bold;
	text-align: center;
}

#first .wrapper:nth-of-type(2) .text_area .btn a {
	background: none;
	color: #fff;
	border-color: #fff;
}

#first .wrapper:nth-of-type(2) .text_area .btn::before {
	background: #fff;
}

#first .wrapper .text_area .NotoSerif {
	margin-bottom: 30px;
	line-height: 2.6;
	text-align: center;
	font-size: 20px;
}

#first .wrapper .text_area .small {
	text-align: center;
	font-size: 10px;
	font-weight: bold;
}

#first .wrapper .text_area .copy {
	line-height: 1.6;
	font-size: 38px;
	font-weight: 500;
}

#first img {
	width: 100%;
	height: 686px;
	object-fit: cover;
}

#first .spimg:not(:last-child) {
	margin-bottom: 6px;
}

#news .container {
	max-width: 1168px;
	padding: 60px 0 110px;
}

#news .news {
	margin: 0 18px;
}

.content {
	margin-bottom: 190px;
	position: relative;
}

.content::before {
	content: "";
	width: calc(100% - 20vw);
	height: 85%;
	background: #EEEEEE;
	position: absolute;
	bottom: -6vh;
	z-index: -1;
}

.content:nth-of-type(even) {
	padding-right: 70px;
}

.content:nth-of-type(even)::before {
	right: 0;
}

.content:nth-of-type(odd) {
	padding-left: 70px;
}

.content:nth-of-type(odd)::before {
	left: 0;
}

.content .wrapper {
	display: flex;
}

.content:nth-of-type(odd) .wrapper {
	flex-direction: row-reverse;
}

.content:nth-of-type(even) .wrapper .img {
	margin-right: 70px;
}

.content:nth-of-type(odd) .wrapper .text_area {
	margin-right: 70px;
}

.content .img {
	flex: 2.5;
}

.content .text_area {
	flex: 1;
	max-width: 275px;
}

.content .text_area>div {
	width: 108px;
	margin: 80px auto;
}

#dining.content .text_area>div {
	width: 90px;
	margin: 40px auto;
}

.content .text_area .NotoSerif {
	margin-bottom: 30px;
	font-size: 14px;
	line-height: 2.5;
}

.content .btn a {
	color: #fff;
	background: #000;
}

/* Fixバナー */
.fix_banner {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 100;
	width: 450px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.fix_banner a {
	transition: all .4s;
}

.fix_banner a:hover {
	opacity: .85;
}

.fix_banner button {
	appearance: none;
	border: none;
	padding: 0;
	background-color: #fff;
	width: 33px;
	height: 33px;
	border-radius: 50%;
	position: absolute;
	top: -15px;
	right: -5px;
	box-shadow: 0 0 3px rgba(0, 0, 0, .42);
	cursor: pointer;
}

.fix_banner button span {
	position: absolute;
	left: 10px;
}

.fix_banner button span:before,
.fix_banner button span:after {
	content: '';
	display: inline-block;
	width: 15px;
	height: 1px;
	background-color: #000;
	position: absolute;
}

.fix_banner button span:before {
	transform: rotate(-45deg);
}

.fix_banner button span:after {
	transform: rotate(45deg);
}

.fade_in {
	animation: fadein 1s linear forwards;
}

.fade_out {
	animation: fadeout .75s linear forwards;
}

@keyframes fadein {
	0% {
		opacity: 0;
		visibility: hidden;
		transform: translateY(20px);
	}

	100% {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

@keyframes fadeout {
	0% {
		opacity: 1;
		visibility: visible;
	}

	100% {
		opacity: 0;
		visibility: hidden;
	}
}


/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 768px) {
	#mainVisual {
		padding-top: 0;
	}

	.float-parent {
		width: 100%;
		top: 440px;
	}

	.float {
		margin: auto;
		right: 0;
		left: 0;
	}

	.float .copy {
		font-size: 32px;
	}

	#main {
		margin: 60px auto 0;
	}

	#first .wrapper .text_area .copy {
		font-size: 24px;
	}

	#first .wrapper .text_area {
		width: 100%;
		bottom: 150px;
	}

	#first .wrapper:nth-of-type(2) .text_area {
		left: 0;
	}

	#first .wrapper .text_area .NotoSerif {
		font-size: 16px;
	}

	#news .news_wrap {
		padding: 0 10px;
	}

	#news .news {
		margin: 0 auto 50px;
		width: 45%;
	}

	.news_wrap .news .photo {
		height: 100px;
	}

	.news .txt_box {
		margin-bottom: 10px;
	}

	.content {
		margin-bottom: 90px;
	}

	.content::before {
		width: calc(100% - 40px);
		height: 220px;
		top: 110px;
		bottom: auto;
	}

	.content:nth-of-type(even) {
		padding-right: 0;
	}

	.content:nth-of-type(odd) {
		padding-left: 0;
	}

	.content .wrapper {
		display: block;
	}

	.content:nth-of-type(even) .wrapper .img {
		margin-right: 40px;
	}

	.content:nth-of-type(odd) .wrapper .img {
		margin-left: 40px;
	}

	.content .text_area {
		margin: 0 auto;
	}

	.content:nth-of-type(odd) .wrapper .text_area {
		margin-right: auto;
	}

	.content .text_area>div {
		margin: 50px auto;
	}

	#dining.content .text_area>div {
		width: 175px;
		margin: 50px auto;
	}


	/* Fixバナー */
	.fix_banner {
		bottom: 20px;
		right: 0;
		left: 0;
		margin: auto;
		width: calc(100% - 30px);
	}

	.fix_banner button {
		width: 24px;
		height: 24px;
		top: -10px;
	}

	.fix_banner button span {
		left: 7px;
	}

	.fix_banner button span:before,
	.fix_banner button span:after {
		width: 10px;
	}
}