@charset "UTF-8";
/* ----------------------------------------------------
 共有
---------------------------------------------------- */
.bgBody {
	background: url(../img/bg_img.webp) repeat-y;
	background-size: 100%;
	color: #fff;
	padding: 100px 0;
}

h2 {
	display: flex;
	justify-content: center;
	color: #FFE9AE;
	text-align: center;
	font-family: var(--didot);
	font-size: min(7.4rem, 5.781vw);
	font-weight: 400;
	position: relative;
}

h2 .item-h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 30px;
}

h3 {
	background: url(../img/frame_ribbon01.webp) no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 454px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	margin: 30px auto 44px;
	padding: 0 30px;
	font-size: min(2.4rem, 1.875vw);
	color: #FFE9AE;
}

h3.typeB {
	background: url(../img/frame_ribbon02.webp) no-repeat;
	width: 374px;
}

.contents {
	max-width: 962px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}

.slide__item {
	border: 1.5px solid transparent;
	border-image: linear-gradient(
		90deg,
		rgba(140,96,52,1) 0%,
		rgba(168,130,78,1) 14%,
		rgba(242,215,147,1) 46%,
		rgba(255,231,159,1) 51%,
		rgba(226,192,123,1) 67%,
		rgba(166,112,51,1) 99%
	) 1;
}

.area_txt h4 {
	font-size: min(2.5rem, 1.953vw);
	font-weight: 700;
	margin-bottom: 10px;
}

.area_txt .txt {
	line-height: 30px;
}

.area_txt .fee {
	line-height: 25px;
}

.contents a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 390px;
	height: 76px;
	border: 1.5px solid #FFE9AE;
	background: rgba(166, 30, 33, 0.00);
	color: #FFE9AE;
	font-size: min(2rem, 1.563vw);
	font-weight: 400;
	margin: 44px auto 0;
	position: relative;
}
.contents a::after {
	content: '';
	background: url(../img/arrow02.svg) no-repeat;
	background-size: 100%;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);

}

.note {
	font-size: min(1.3rem, 1.016vw);
}
.note::before {
	content: '※';
}

@media screen and (max-width: 768px) {
	.bgBody {
		background: url(../img/bg_img_sp.webp) repeat-y;
		background-size: 100%;
		padding: 70px 0 90px;
	}
	h2 {
		font-size: min(3.9rem, 10.4vw);
	}
	h2 .item-h2 {
		width: 40px;
		padding: 0 6px;
	}
	h3 {
		background: url(../img/frame_ribbon01_sp.webp) no-repeat;
		background-size: 100%;
		width: 283px;
		height: 43px;
		font-size: min(1.6rem, 4.267vw);
		margin: 10px auto 20px;
	}
	h3.typeB {
		background: url(../img/frame_ribbon02_sp.webp) no-repeat;
		background-size: 100%;
		width: 251px;
	}
	.area_txt h4 {
		font-size: min(2rem, 5.333vw);
	}
	.contents a {
		width: 100%;
		height: 67px;
		font-size: min(1.6rem, 4.267vw);
	}
	.note {
		font-size: min(1.1rem, 2.933vw);
	}
}

/* ----------------------------------------------------
 area_lead
---------------------------------------------------- */
.area_lead {
	text-align: center;
}

.area_lead .lead {
	color: #FFE9AE;
	text-align: center;
	font-family: var(--mincho);
	font-size: min(3.2rem, 2.5vw);
	line-height: 48px;
}

.area_lead .txt {
	text-align: center;
	font-size: min(1.7rem, 1.328vw);
	line-height: 42px;
}

.area_lead .link {
	max-width: 780px;
	margin: 80px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.area_lead .link a {
	width: 32.3333%;
	height: 67px;
	border: 1.5px solid #FFE9AE;
	background: rgba(166, 30, 33, 0.00);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFE9AE;
	font-size: min(2rem, 1.563vw);
	position: relative;
}
.area_lead .link a::after {
	content: '';
	background: url(../img/arrow01.svg) no-repeat;
	background-size: 100%;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
	.area_lead .lead {
		font-size: min(2.1rem, 5.6vw);
		line-height: 34px;
	}
	.area_lead .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 32px;
	}
	.area_lead .link {
		max-width: 780px;
		margin: 57px auto 0;
		display: block;
	}
	.area_lead .link a {
		width: 247px;
		height: 67px;
		font-size: min(1.8rem, 4.8vw);
		margin: 0 auto 36px;
	}
}


/* ----------------------------------------------------
 restaurant
---------------------------------------------------- */
.restaurant {
	padding-top: 140px;
	position: relative;
	overflow: hidden;
}

.restaurant .mt96 {
	margin-top: 96px;
}

.restaurant .mt144 {
	margin-top: 144px;
}

.restaurant .note {
	text-align: center;
	margin-top: 37px;
}

.restaurant h3.mv40 {
	margin: 80px auto 44px;
}

.restaurant .itemA,
.restaurant .itemB,
.restaurant .itemC {
	position: absolute;
	width: 245px;
}

.restaurant .itemA {
	top: 1100px;
	right: -30px;
}

.restaurant .itemB {
	top: 2130px;
	left: 0;
}

.restaurant .itemC {
	top: 3170px;
	right: -10px;
}

@media screen and (max-width: 768px) {
	.restaurant {
		padding-top: 93px;
		padding: 0 16px;
	}
	.restaurant .mt96 {
		margin-top: 70px;
	}
	.restaurant .mt144 {
		margin-top: 70px;
	}
	.restaurant .note {
		text-align: left;
		line-height: 22px;
		margin-top: 20px;
	}
	.restaurant span.note {
		display: block;
		margin-top: 0;
	}
	.restaurant h3.mv40 {
		margin: 45px auto 20px;
		position: relative;
		z-index: 10;
	}
	.restaurant .itemA,
	.restaurant .itemB,
	.restaurant .itemC {
		width: 136px;
	}
	.restaurant .itemA {
		top: 650px;
		right: -10px;
	}
	.restaurant .itemB {
		top: 1260px;
		left: -20px;
	}
	.restaurant .itemC {
		top: 1950px;
		right: -5px;
	}
}

/* ----------------------------------------------------
 plan
---------------------------------------------------- */
.plan {
	padding-top: 186px;
	position: relative;
	overflow: hidden;
}

.plan .contents.mt60 {
	margin-top: 60px;
}

.plan .itemD {
	position: absolute;
	width: 245px;
	top: 70px;
	left: 0;
}

@media screen and (max-width: 768px) {
	.plan {
		padding: 0 16px;
		padding-top: 93px;
	}
	.plan .contents.mt60 {
		margin-top: 20px;
	}
	.plan .itemD {
		width: 118px;
		top: 0;
		left: -30px;
	}
}

/* ----------------------------------------------------
 event
---------------------------------------------------- */
.event {
	padding-top: 186px;
	position: relative;
	overflow: hidden;
}

.event .contents.mt60 {
	margin-top: 60px;
}

.event .itemE {
	position: absolute;
	width: 245px;
	top: 70px;
	right: 0;
}

@media screen and (max-width: 768px) {
	.event {
		padding: 0 16px;
		padding-top: 93px;
	}
	.event .contents.mt60 {
		margin-top: 20px;
	}
	.event .itemE {
		width: 136px;
		top: -15px;
		right: -5px;
	}
}

/* ----------------------------------------------------
 footer
---------------------------------------------------- */
footer {
	padding: 40px 0 10px;
}

footer .area_note {
	max-width: 957px;
	margin: 0 auto;
}

footer .area_note .note {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 6px;
}

footer .logo {
	width: 277px;
	margin: 65px auto 0;
}

footer .info {
	font-size: min(2.1rem, 1.641vw);
	text-align: center;
	margin-top: 46px;
	margin-bottom: 0;
	line-height: 30px;
}

footer .info a {
	color: #000;
}

footer .sns {
	display: flex;
	justify-content: center;
	margin: 45px auto 60px;
}

footer .sns a {
	display: block;
	margin: 0 15px;
}

footer .link {
	text-align: center;
}

footer .link a {
	color: #000;
	font-size: min(1.7rem, 1.328vw);
	line-height: 22px;
}
footer .link a::before,
footer .link a::after {
	content: '｜';
	padding: 0 10px;
}
footer .link a:first-child:after {
	content: '';
	padding: 0;
}

footer .copy {
	text-align: center;
	font-size: min(1.5rem, 1.172vw);
	margin-top: 20px;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	footer {
		padding: 48px 16px 10px;
	}
	footer .logo {
		width: 219px;
	}
	footer .info {
		font-size: min(1.6rem, 4.267vw);
		margin-top: 36px;
	}
	footer .sns {
		margin: 35px auto 40px;
	}
	footer .link a {
		display: block;
		font-size: min(1.6rem, 4.267vw);
		margin-bottom: 10px;
	}
	footer .link a:first-child:after {
		content: '｜';
		padding: 0 10px;
	}
	footer .copy {
		font-size: min(1.1rem, 2.933vw);
		margin-top: 30px;
	}
}



