@charset "UTF-8";

/* ----------------------------------------------------
 header
---------------------------------------------------- */
.header {
	position: relative;
	width: 100%;
	aspect-ratio: 1366 / 670;
	overflow: hidden;
}

.header video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.video-sp {
	display: none;
}

.header-contents h1 {
	width: 69.11%;
	position: absolute;
	bottom: 30px;
	left: 7%;
	z-index: 10;
}

.header-contents-itemA {
	width: 23.43%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}

.header-contents-itemB {
	width: 31.5%;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 10;
}

@media screen and (max-width: 768px) {
	.header {
		aspect-ratio: auto;
		/* height: 60vh; */
		height: 500px;
	}
	.video-pc {
		display: none;
	}
	.video-sp {
		display: block;
	}
	.header-contents h1 {
		width: 90%;
		top: 40%;
		bottom: auto;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.header-contents-itemA {
		width: 230px;
		left: -30px;
	}
	.header-contents-itemB {
		width: 200px;
		bottom: 10px;
	}
}


/* ----------------------------------------------------
 lead
---------------------------------------------------- */
.lead {
	background: #F2F2F2;
	padding: 80px 0 85px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.lead .itemA {
	display: block;
	width: 700px;
	background-blend-mode: multiply;
	position: absolute;
	top: -150px;
	right: -270px;
	z-index: -1;
}

.lead .itemB {
	display: block;
	width: 800px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: -110px;
	left: -270px;
	z-index: -1;
}

.lead h2 {
	color: #4472A1;
	text-align: center;
	font-family: var(--cormorant);
	font-size: min(11rem, 8.053vw);
	font-weight: 400;
	line-height: 83px;
	text-transform: uppercase;
}

.lead h2 span {
	text-transform: lowercase;
}

.lead .area-txt {
	text-align: center;
	padding: 50px 0 40px;
}

.lead .area-txt p {
	color: #4472A1;
	font-family: var(--shippori);
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 30px;
	letter-spacing: 1px;
	margin-bottom: 30px;
}
.lead .area-txt p:last-child {
	margin-bottom: 0;
}


.lead .support-sponsorship {
	background: #fff;
	max-width: 505px;
	margin: 0 auto;
	padding: 20px 28px;
	position: relative;
}

.lead .support-sponsorship h3 {
	color: #4472A1;
	text-align: center;
	font-family: var(--shippori);
	font-size: min(3rem, 2.196vw);
	font-weight: 700;
	line-height: 32px;
	letter-spacing: 0.8px;
	margin-bottom: 20px;
}

.lead .support-sponsorship ul {
	display: flex;
	align-items: center;
}
.lead .support-sponsorship ul:nth-of-type(2) {
	margin-top: 10px;
}

.lead .support-sponsorship ul li:first-child {
	display: flex;
	width: 60px;
	height: 28px;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	border-radius: 0 28px 28px 0;
	background: #4472A1;
	color: #fff;
	text-align: center;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 700;
	line-height: 16px;
	letter-spacing: 0.8px;
}

.lead .support-sponsorship ul li:last-child {
	color: #231915;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
	line-height: 18px;
	letter-spacing: 0.8px;
	padding-left: 10px;
	position: relative;
}

.lead .support-sponsorship ul li a {
	color: #231915;
}

.lead .support-sponsorship ul li a .logo {
	width: 206px;
	position: absolute;
	left: 180px;
}

@media screen and (max-width: 768px) {
	.lead {
		padding: 45px 0 59px;
	}
	.lead .itemA {
		width: 390px;
		top: -20px;
		right: -150px;
	}
	.lead .itemB {
		width: 460px;
		bottom: 70px;
		left: -210px;
	}
	.lead h2 {
		font-size: min(5.5rem, 14.667vw);
		line-height: 45.2px;
	}
	.lead .area-txt {
		padding: 20px 0 35px;
	}
	.lead .area-txt p {
		font-size: min(1.6rem, 4.267vw);
		font-weight: 600;
		line-height: 28px;
		margin-bottom: 20px;
	}
	.lead .support-sponsorship {
		width: 90%;
		padding: 10px 23px 20px;
	}
	.lead .support-sponsorship h3 {
		font-size: min(2.2rem, 5.867vw);
		margin-bottom: 20px;
	}
	.lead .support-sponsorship ul li:first-child {
		font-size: min(1.6rem, 4.267vw);
	}
	.lead .support-sponsorship ul li:last-child {
		font-size: min(1.8rem, 4.8vw);
	}
	.lead .support-sponsorship ul li a {
		color: #231915;
	}
	.lead .support-sponsorship ul:nth-of-type(2) {
		align-items: baseline;
	}
	.lead .support-sponsorship ul li a .logo {
		width: 206px;
		display: block;
		margin-top: 10px;
		position: relative;
		left: 0;
	}
}

/* ----------------------------------------------------
 pickup-menu
---------------------------------------------------- */
.pickup-menu {
	background: #FADBDD;
	padding: 110px 0 76px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.pickup-menu .itemA {
	display: block;
	width: 720px;
	background-blend-mode: multiply;
	position: absolute;
	top: 40px;
	right: -40px;
	z-index: -1;
}

.pickup-menu .itemB {
	display: block;
	width: 1000px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: -110px;
	left: -300px;
	z-index: -1;
}

.pickup-menu h2 {
	display: inline-block;
	color: #C95966;
	font-family: var(--cormorant);
	font-size: min(13.4rem, 9.81vw);
	font-weight: 400;
	line-height: 95px;
	/* text-transform: uppercase; */
	margin-left: 8%;
	position: relative;
}
.pickup-menu h2::after {
	content: '';
	background: url(../img/pickup-title-itemA.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 140px;
	height: 157px;
	position: absolute;
	top: 65%;
	right: -210px;
	transform: translate(-50%, -50%);
}

.pickup-menu h3 {
	margin-left: 8%;
	color: #C95966;
	font-family: var(--shippori);
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	line-height: 36px;
	letter-spacing: -0.24px;
	margin-top: 42px;
}

.pickup-menu .slideA {
	margin-top: 36px;
	margin-left: 8%;
}

.pickup-menu .slide-contents {
	width: 426.387px;
	border-radius: 16px;
	border: 1px solid #C95966;
	background: rgba(255, 255, 255, 0.60);
	padding: 21px 22px;
}

.pickup-menu .slide-contents .img img {
	border-radius: 16px;
}

.pickup-menu .slide-contents .area-txt {
	height: 320px;
}

.pickup-menu .slide-contents h5 {
	color: #C95966;
	font-size: min(1.7rem, 1.245vw);
	font-weight: 700;
	line-height: 19.6px;
	margin-top: 12px;
}

.pickup-menu .slide-contents h4 {
	color: #4F4F4F;
	font-size: min(2.9rem, 2.123vw);
	font-weight: 700;
	line-height: 39.2px;
	letter-spacing: 0;
	margin-top: 15px;
}

.pickup-menu .slide-contents .txt {
	color: #4F4F4F;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 32px;
	margin-top: 8px;
}

.pickup-menu .slide-contents .limited {
	color: #998542;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 32px;
	margin-top: 8px;
}
.pickup-menu .slide-contents .limited::before {
	content: '●';
}

.pickup-menu .slide-contents a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 60px;
	margin: 0 auto;
	border: 1px solid #C95966;
	background: #FADBDD;
	color: #C95966;
	text-align: center;
	font-family: var(--shippori);
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 1px;
	position: relative;
}
.pickup-menu .slide-contents a::after {
	content: '';
	background: url(../img/arrow-A.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 9px;
	height: 13px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(-50%, -50%);
}

.pickup-menu .slideA .slick-list {
	overflow: hidden;
}

.pickup-menu .slideA .slick-track {
	display: flex;
}

.pickup-menu .slideA .slick-slide {
	margin-right: 30px;
}

.pickup-menu .slide-contents.slick-slide {
    opacity: 1;
}

.pickup-menu .btn-detail {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 350px;
	height: 70px;
	margin: 65px auto 0;
	border: 1.166px solid #C95966;
	background: #fff;
	color: #C95966;
	text-align: center;
	font-family: var(--cormorant);
	font-size: min(2.6rem, 1.903vw);
	font-weight: 500;
	line-height: 40.82px;
	letter-spacing: 1.316px;
	position: relative;
}
.pickup-menu .btn-detail::after {
	content: '';
	background: url(../img/arrow-A.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 9px;
	height: 13px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
	.pickup-menu {
		padding: 53px 0 60px;
	}
	.pickup-menu .itemA {
		width: 370px;
		top: 130px;
		right: -120px;
	}
	.pickup-menu .itemB {
		width: 500px;
		bottom: -80px;
		left: -170px;
	}
	.pickup-menu h2 {
		display: block;
		font-size: min(7rem, 18.667vw);
		line-height: 50px;
		margin-left: 0;
		padding: 0 20px;
	}
	.pickup-menu h2::after {
		width: 100px;
		height: 117px;
		top: 69%;
		right: -48px;
	}
	.pickup-menu h3 {
		margin-left: 0;
		font-size: min(1.8rem, 4.8vw);
		font-weight: 600;
		line-height: 30px;
		letter-spacing: 0;
		margin-top: 20px;
		padding: 0 20px;
	}
	.pickup-menu .slideA {
		margin: 36px 15px 0;
	}
	.pickup-menu .slide-contents {
		width: 100%;
		border-radius: 12px;
		padding: 17px;
	}
	.pickup-menu .slide-contents .img img {
		border-radius: 12px;
	}
	.pickup-menu .slide-contents h5 {
		font-size: min(1.5rem, 4vw);
		line-height: 15.722px;
	}
	.pickup-menu .slide-contents h4 {
		font-size: min(2.4rem, 6.4vw);
		line-height: 31.445px;
	}
	.pickup-menu .slide-contents .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 26px;
	}
	.pickup-menu .slide-contents .limited {
		font-size: min(1.5rem, 4vw);
		line-height: 26px;
	}
	.pickup-menu .slide-contents a {
		width: 240px;
		height: 48px;
		font-size: min(1.6rem, 4.267vw);
		line-height: 28.076px;
		letter-spacing: 0.8px;
	}
	.pickup-menu .slideA .slick-slide {
		margin-right: 0;
	}
	.pickup-menu .btn-detail {
		width: 342px;
		margin: 41px auto 0;
		border: 1px solid #C95966;
		font-size: min(2.4rem, 6.4vw);
		letter-spacing: 1.2px;
	}
	.pickup-menu .slide-contents .area-txt {
		height: 290px;
	}
}

/* ----------------------------------------------------
 pickup-event
---------------------------------------------------- */
.pickup-event {
	background: #D1E9F5;
	padding: 110px 0 76px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.pickup-event .itemA {
	display: block;
	width: 720px;
	background-blend-mode: multiply;
	position: absolute;
	top: -130px;
	right: -130px;
	z-index: -1;
}

.pickup-event .itemB {
	display: block;
	width: 800px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: -110px;
	left: -270px;
	z-index: -1;
}

.pickup-event h2 {
	display: inline-block;
	color: #4472A1;
	font-family: var(--cormorant);
	font-size: min(13.4rem, 9.81vw);
	font-weight: 400;
	line-height: 95px;
	/* text-transform: uppercase; */
	margin-left: 8%;
	position: relative;
}
.pickup-event h2::after {
	content: '';
	background: url(../img/pickup-title-itemB.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 230px;
	height: 187px;
	position: absolute;
	top: 62%;
	right: -310px;
	transform: translate(-50%, -50%);
}

.pickup-event h3 {
	margin-left: 8%;
	color: #4472A1;
	font-family: var(--shippori);
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	line-height: 36px;
	margin-top: 42px;
}

.pickup-event .chef-event {
	display: flex;
	max-width: 1144px;
	margin: 38px auto 0;
	padding: 35px 0 35px 29px;
	border-radius: 16px;
	border: 1px solid #4472A1;
	background: rgba(255, 255, 255, 0.60);
}

.pickup-event .chef-event .img {
	width: 500px;
}

.pickup-event .chef-event .img img {
	border-radius: 16px;
}

.pickup-event .chef-event .area-txt {
	margin-left: 37px;
}

.pickup-event .chef-event .area-txt h4 {
	color: #4F4F4F;
	font-size: min(3rem, 2.196vw);
	font-weight: 700;
	line-height: 39.2px;
}

.pickup-event .chef-event .area-txt .event-info {
	margin-top: 10px;
}

.pickup-event .chef-event .area-txt .event-info h5 {
	color: #4472A1;
	font-size: min(1.7rem, 1.245vw);
	font-weight: 700;
	line-height: 27px;
}

.pickup-event .chef-event .area-txt .event-info .event-schedule,
.pickup-event .chef-event .area-txt .event-info .event-location {
	color: #4F4F4F;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 27px;
}

.pickup-event .chef-event .area-txt .area-btn {
	margin-top: 17px;
}

.pickup-event .chef-event .area-txt .area-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 471px;
	height: 57px;
	border: 1px solid #4472A1;
	background: #D1E9F5;
	color: #4472A1;
	text-align: center;
	font-family: var(--shippori);
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 26px;
	letter-spacing: 1px;
	margin-bottom: 12px;
	position: relative;
}
.pickup-event .chef-event .area-txt .area-btn a::after {
	content: '';
	background: url(../img/arrow-B.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 9px;
	height: 13px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translate(-50%, -50%);
}
.pickup-event .chef-event .area-txt .area-btn a:last-child {
	margin-bottom: 0;
}

.pickup-event .btn-detail {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 350px;
	height: 70px;
	margin: 65px auto 0;
	border: 1.166px solid #4472A1;
	background: #fff;
	color: #4472A1;
	text-align: center;
	font-family: var(--cormorant);
	font-size: min(2.6rem, 1.903vw);
	font-weight: 500;
	line-height: 40.82px;
	letter-spacing: 1.316px;
	position: relative;
}
.pickup-event .btn-detail::after {
	content: '';
	background: url(../img/arrow-B.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 9px;
	height: 13px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(-50%, -50%);
}

@media screen and (min-width: 1367px) {
	.pickup-event h2 {
		display: block;
		max-width: 1144px;
		margin: 0 auto;
	}
	.pickup-event h2::after {
		right: 320px;
	}
	.pickup-event h3 {
		max-width: 1144px;
		margin: 0 auto;
		margin-top: 42px;
	}
}

@media screen and (max-width: 768px) {
	.pickup-event {
		padding: 53px 0 70px;
	}
	.pickup-event .itemA {
		width: 390px;
		top: -20px;
	}
	.pickup-event .itemB {
		width: 390px;
		bottom: -30px;
		left: -140px;
	}
	.pickup-event h2 {
		display: block;
		font-size: min(7rem, 18.667vw);
		line-height: 50px;
		margin: 0 auto;
		padding: 0 20px;
	}
	.pickup-event h2::after {
		width: 120px;
		height: 100px;
		top: 62%;
		right: -60px;
	}
	.pickup-event h3 {
		font-size: min(1.8rem, 4.8vw);
		font-weight: 600;
		line-height: 30px;
		margin: 42px auto;
		padding: 0 20px;
	}
	.pickup-event .chef-event {
		display: block;
		margin: 38px 20px 0;
		padding: 18px;
		border-radius: 12px;
	}
	.pickup-event .chef-event .img {
		width: 100%;
	}
	.pickup-event .chef-event .img img {
		border-radius: 9px;
	}
	.pickup-event .chef-event .area-txt {
		margin-left: 0;
	}
	.pickup-event .chef-event .area-txt h4 {
		font-size: min(2.4rem, 6.4vw);
	}
	.pickup-event .chef-event .area-txt .event-info h5 {
		font-size: min(1.7rem, 4.533vw);
	}
	.pickup-event .chef-event .area-txt .event-info .event-schedule,
	.pickup-event .chef-event .area-txt .event-info .event-location {
		font-size: min(1.5rem, 4vw);
		letter-spacing: 0;
		display: flex;
	}
	.pickup-event .chef-event .area-txt .area-btn a {
		width: 266px;
		height: 59px;
		font-size: min(1.6rem, 4.267vw);
		line-height: 21.1px;
		letter-spacing: 0;
		margin: 0 auto 12px;
	}
	.pickup-event .chef-event .area-txt .area-btn a::after {
		right: 5px;
	}
	.pickup-event .chef-event .area-txt .area-btn a:last-child {
		margin-bottom: 0;
	}
	.pickup-event .btn-detail {
		width: 342px;
		margin: 41px auto 0;
		border: 1px solid #4472A1;
		font-size: min(2.4rem, 6.4vw);
		letter-spacing: 1.2px;
	}
}


/* ----------------------------------------------------
 recommend
---------------------------------------------------- */
.recommend {
	background: #CAE9E9;
	padding: 110px 0 76px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.recommend .itemA {
	display: block;
	width: 580px;
	background-blend-mode: multiply;
	position: absolute;
	top: 60px;
	right: -100px;
	z-index: -1;
}

.recommend .itemB {
	display: block;
	width: 710px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: 480px;
	left: 0;
	z-index: -1;
}

.recommend .itemC {
	display: block;
	width: 580px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: 10px;
	right: -100px;
	z-index: -1;
}

.recommend h2 {
	display: inline-block;
	color: #4D9BA2;
	font-family: var(--cormorant);
	font-size: min(13.4rem, 9.81vw);
	font-weight: 400;
	line-height: 108px;
	margin-left: 8%;
	position: relative;
}
.recommend h2::after {
	content: '';
	background: url(../img/recommend-title-item.webp) no-repeat;
	background-size: 100%;
	display: block;
	width: 130px;
	height: 142px;
	position: absolute;
	top: 48%;
	right: -210px;
	transform: translate(-50%, -50%);
}

/* .recommend h2 span {
	font-size: min(10.2rem, 7.467vw);
} */

.recommend h3 {
	margin-left: 8%;
	color: #4D9BA2;
	font-family: var(--shippori);
	font-size: min(2.4rem, 1.757vw);
	font-weight: 500;
	line-height: 36px;
	margin-top: 42px;
}

.recommend .mauna-contents {
	max-width: 1257px;
	margin-top: 52px;
	margin-left: 8%;
	display: flex;
	overflow: hidden;
}

.recommend .mauna-contents .slideB {
	order: 2;
	position: relative;
	width: 55.7%;
	margin-left: 60px;
}

.recommend .mauna-contents .slideB img {
	width: 100%;
	display: block;
	border-radius: 16px 0 0 16px;
}

/* ドット位置 */
.recommend .mauna-contents .slideB .slick-dots {
	position: absolute;
	left: 20px;
	bottom: 10px;
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	z-index: 2;
}

/* ドットのボタン */
.recommend .mauna-contents .slideB .slick-dots li button:before {
	display: none;
}

.recommend .mauna-contents .slideB .slick-dots li {
	margin: 0;
	width: auto;
	height: auto;
}

.recommend .mauna-contents .slideB .slick-dots button {
	width: 12px;
	height: 12px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #D9D9D9;
	font-size: 0;
	cursor: pointer;
}

/* 現在地ドット */
.recommend .mauna-contents .slideB .slick-dots .slick-active button {
	background: #4D9BA2;
}

.recommend .mauna-contents .slideB .slick-slide {
    margin: 0;
}

.recommend .mauna-contents .area-txt {
	order: 1;
	margin-top: 49px;
}

.recommend .mauna-contents .area-txt h4 {
	color: #4D9BA2;
	font-family: var(--cormorant);
	font-size: min(4.7rem, 3.441vw);
	font-weight: 700;
	line-height: 29.89px;
}

.recommend .mauna-contents .area-txt h5 {
	color: #4D9BA2;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 700;
	line-height: 39.2px;
	margin-top: 8px;
}

.recommend .mauna-contents .area-txt .txt {
	color: #4D9BA2;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 500;
	line-height: 32px;
	margin-top: 15px;
}

.recommend .mauna-contents .area-txt a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 349.887px;
	height: 69.977px;
	border: 1.166px solid #4D9BA2;
	background: #fff;
	color: #4D9BA2;
	text-align: center;
	font-family: var(--shippori);
	font-size: min(2.6rem, 1.903vw);
	font-weight: 500;
	line-height: 40.82px;
	letter-spacing: 1.316px;
	margin-top: 35px;
	position: relative;
}
.recommend .mauna-contents .area-txt a::after {
	content: '';
	background: url(../img/arrow-C.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 9px;
	height: 13px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(-50%, -50%);
}

.recommend .hotnews {
	max-width: 1144px;
	margin: 76px auto 0;
	padding: 25px 23px 25px 35px;
	border: 1px solid #4D9BA2;
	background: #4D9BA2;
	color: #fff;
}

.recommend .hotnews .wrap {
	display: flex;
	justify-content: space-between;
}

.recommend .hotnews .area-txt,
.recommend .hotnews .img {
	width: 50%;
}

.recommend .hotnews .area-txt h4 {
	font-family: var(--cormorant);
	font-size: min(6.8rem, 4.978vw);
	font-weight: 500;
	line-height: 40.82px;
	letter-spacing: 3.417px;
	margin-top: 25px;
}

.recommend .hotnews .area-txt h5 {
	font-family: var(--shippori);
	font-size: min(3.6rem, 2.635vw);
	font-weight: 700;
	line-height: 39.2px;
	margin-top: 32px;
}

.recommend .hotnews .area-txt .txt {
	font-family: var(--shippori);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 32px;
	margin-top: 20px;
}

.recommend .hotnews .img img {
	border-radius: 8px;
}

.recommend .area-hotel {
	max-width: 1144px;
	margin: 72px auto 0;
	display: flex;
	justify-content: space-between;
}

.recommend .area-hotel .hotel-contents {
	width: 555px;
	border-radius: 16px;
	border: 1px solid #4D9BA2;
	background: rgba(255, 255, 255, 0.60);
	color: #4F4F4F;
	padding: 22px 23px;
}

.recommend .area-hotel .hotel-contents .img img {
	border-radius: 16px;
}

.recommend .area-hotel .hotel-contents h4 {
	font-family: var(--cormorant);
	font-size: min(3.7rem, 2.709vw);
	font-weight: 700;
	line-height: 29.89px;
	letter-spacing: 0;
	margin-top: 20px;
}

.recommend .area-hotel .hotel-contents h5 {
	font-size: min(2.2rem, 1.611vw);
	font-weight: 700;
	line-height: 39.2px;
	margin-top: 5px;
}

.recommend .area-hotel .hotel-contents .txt {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 32px;
	margin-top: 3px;
}

.recommend .area-hotel .hotel-contents a,
.recommend .hotnews a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 60px;
	margin: 29px auto 0;
	border: 1px solid #4D9BA2;
	background: #CAE9E9;
	color: #4D9BA2;
	text-align: center;
	font-family: var(--shippori);
	font-size: min(2rem, 1.464vw);
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 1px;
	position: relative;
}
.recommend .area-hotel .hotel-contents a::after,
.recommend .hotnews a::after {
	content: '';
	background: url(../img/arrow-C.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 9px;
	height: 13px;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translate(-50%, -50%);
}

@media screen and (min-width: 1367px) {
	.recommend h2 {
		display: block;
		max-width: 1257px;
		margin: 0 auto;
	}
	.recommend h2::after {
		right: 80px;
	}
	.recommend h3 {
		max-width: 1257px;
		margin: 0 auto;
		margin-top: 42px;
	}
	.recommend .mauna-contents {
		max-width: 1257px;
		margin: 0 auto;
		margin-top: 52px;
	}
}

@media screen and (max-width: 768px) {
	.recommend {
		padding: 54px 0 72px;
	}
	.recommend .itemA {
		width: 370px;
		top: 120px;
		right: -90px;
	}
	.recommend .itemB {
		width: 310px;
		bottom: 1350px;
		left: -70px;
	}
	.recommend .itemC {
		display: none;
	}
	.recommend h2 {
		display: block;
		font-size: min(5.6rem, 14.933vw);
		line-height: 50px;
		margin: 0 auto;
		padding: 0 10px;
	}
	.recommend h2::after {
		width: 95px;
		height: 105px;
		top: 74%;
		right: -18px;
	}
	.recommend h2 span {
		font-size: min(4.5rem, 12vw);
	}
	.recommend h3 {
		font-size: min(1.8rem, 4.8vw);
		font-weight: 600;
		line-height: 30px;
		margin: 42px auto 0;
		padding: 0 15px;
	}
	.recommend .mauna-contents {
		margin-top: 27px;
		margin: 27px 15px 0;
		display: block;
	}
	.recommend .mauna-contents .slideB {
		width: 100%;
		margin: 0;
	}
	.recommend .mauna-contents .slideB img {
		border-radius: 10px;
	}
	/* ドット位置 */
	.recommend .mauna-contents .slideB .slick-dots {
		width: 6%;
		left: auto;
		right: 10px;
	}
	.recommend .mauna-contents .slideB .slick-dots button {
		width: 7px;
		height: 7px;
	}
	.recommend .mauna-contents .area-txt {
		margin-top: 18px;
	}
	.recommend .mauna-contents .area-txt h4 {
		font-size: min(3.2rem, 8.533vw);
	}
	.recommend .mauna-contents .area-txt h5 {
		font-size: min(2rem, 5.333vw);
	}
	.recommend .mauna-contents .area-txt .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 32px;
		margin-top: 15px;
	}
	.recommend .mauna-contents .area-txt a {
		width: 100%;
		height: 70px;
		margin: 0 auto;
		border: 1px solid #4D9BA2;
		font-size: min(2.2rem, 5.867vw);
		letter-spacing: 1.1px;
		margin-top: 24px;
	}
	.recommend .hotnews {
		padding: 29px 15px 24px;
		width: 92%;
		margin: 52px auto 0;
	}
	.recommend .hotnews .wrap {
		display: block;
	}
	.recommend .hotnews .area-txt,
	.recommend .hotnews .img {
		width: 100%;
	}
	.recommend .hotnews .area-txt h4 {
		font-size: min(4.5rem, 12vw);
		letter-spacing: 2.25px;
		margin-top: 0;
		text-align: center;
	}
	.recommend .hotnews .area-txt h5 {
		font-size: min(2.4rem, 6.4vw);
		margin-top: 11px;
		text-align: center;
		letter-spacing: 0;
	}
	.recommend .hotnews .area-txt .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 28px;
		margin-top: 6px;
		margin-bottom: 17px;
	}
	.recommend .hotnews .img img {
		border-radius: 4px;
	}
	.recommend .area-hotel {
		margin: 54px auto 0;
		display: block;
	}
	.recommend .area-hotel .hotel-contents {
		width: 90%;
		margin: 0 auto 25px;
		border-radius: 9px;
		padding: 13px 14px 25px;
	}
	.recommend .area-hotel .hotel-contents:last-child {
		margin-bottom: 0;
	}
	.recommend .area-hotel .hotel-contents .img img {
		border-radius: 9px;
	}
	.recommend .area-hotel .hotel-contents h4 {
		font-size: min(2.2rem, 5.867vw);
		margin-top: 10px;
	}
	.recommend .area-hotel .hotel-contents h5 {
		font-size: min(1.7rem, 4.533vw);
		margin-top: 0;
	}
	.recommend .area-hotel .hotel-contents .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 28px;
		margin-top: 0;
	}
	.recommend .area-hotel .hotel-contents a,
	.recommend .hotnews a {
		width: 240px;
		height: 48px;
		margin: 23px auto 0;
		font-size: min(1.6rem, 4.267vw);
		line-height: 28px;
		letter-spacing: 0.8px;
	}
}


/* ----------------------------------------------------
 present
---------------------------------------------------- */
.present {
	background: #FADBDD;
	padding: 110px 0 111px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.present .itemA {
	display: block;
	width: 580px;
	background-blend-mode: multiply;
	position: absolute;
	top: 60px;
	right: -100px;
	z-index: -1;
}

.present .itemB {
	display: block;
	width: 930px;
	background-blend-mode: multiply;
	position: absolute;
	top: 290px;
	left: -240px;
	z-index: -1;
}

.present .itemC {
	display: block;
	width: 650px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: 530px;
	right: -100px;
	z-index: -1;
}

.present .itemD {
	display: block;
	width: 1060px;
	background-blend-mode: multiply;
	position: absolute;
	bottom: -290px;
	left: -380px;
	z-index: -1;
}

.present h2 {
	color: #C95966;
	font-family: var(--cormorant);
	font-size: min(11rem, 8.053vw);
	font-weight: 400;
	text-align: center;
	line-height: 83px;
	position: relative;
}

.present .present-contentsA {
	display: flex;
	justify-content: space-between;
	max-width: 938px;
	margin: 67px auto 0;
}

.present .present-contentsA .img {
	order: 2;
	width: 45%;
	position: relative;
}

.present .present-contentsA .img img {
	border-radius: 16px;
}

.present .present-contentsA .img.slideB .slick-dots {
	position: absolute;
	left: 20px;
	bottom: 10px;
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	z-index: 2;
}

/* ドットのボタン */
.present .present-contentsA .img.slideB .slick-dots li button:before {
	display: none;
}

.present .present-contentsA .img.slideB .slick-dots li {
	margin: 0;
	width: auto;
	height: auto;
}

.present .present-contentsA .img.slideB .slick-dots button {
	width: 12px;
	height: 12px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #D9D9D9;
	font-size: 0;
	cursor: pointer;
}

/* 現在地ドット */
.present .present-contentsA .img.slideB .slick-dots .slick-active button {
	background: #FADBDD;
}

.present .present-contentsA .img.slideB .slick-slide {
	margin: 0;
}


.present .present-contentsA .area-txt {
	order: 1;
	width: 51%;
}

.present .present-contentsA .area-txt h3 {
	color: #C95966;
	font-family: var(--shippori);
	font-size: min(3.2rem, 2.343vw);
	font-weight: 700;
	line-height: 44px;
	letter-spacing: 0;
}

.present .present-contentsA .area-txt .txt {
	color: #4F4F4F;
	font-family: var(--shippori);
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 36px;
	letter-spacing: 0;
	margin-top: 10px;
}

.present .prize {
	max-width: 937px;
	margin: 85px auto 0;
	padding: 11px;
	border-radius: 24px;
	background: #4472A1;
	color: #fff;
}

.present .prize .prize-inner {
	padding: 75px 10px;
	border-radius: 24px;
	border: 1px solid #FFF;
}

.present .prize .prize-inner h3 {
	text-align: center;
	font-family: var(--shippori);
	font-size: min(4.6rem, 3.367vw);
	font-weight: 700;
	line-height: 39.2px;
	margin-bottom: 31px;
}

.present .prize .prize-inner .prize-inner-contents {
	margin-bottom: 30px;
	margin-left: 114px;
}

.present .prize .prize-inner .prize-inner-contents:last-child {
	margin-bottom: 0;
}

.present .prize .prize-inner .prize-inner-contents ul {
	display: flex;
	align-items: center;
}

.present .prize .prize-inner .prize-inner-contents ul li {
	font-family: var(--shippori);
	font-size: min(3rem, 2.196vw);
	font-weight: 700;
	line-height: 39.2px;
	letter-spacing: 0;
}
.present .prize .prize-inner .prize-inner-contents ul li:first-child {
	width: 54.632px;
	height: 54.632px;
	border-radius: 40px;
	border: 1px solid #fff;
	text-align: center;
	font-family: var(--cormorant);
	font-size: 43px;
	font-weight: 600;
	line-height: 53px;
	margin-right: 22px;
}

.present .prize .prize-inner .prize-inner-contents .area-note {
	font-family: var(--gothic);
	margin: 9px;
	margin-left: 80px;
}

.present .application {
	max-width: 937px;
	margin: 0 auto;
}

.present .application .contents {
	margin-top: 57px;
}

.present .application .contents h3 {
	color: #C95966;
	font-family: var(--shippori);
	font-size: min(2.9rem, 2.123vw);
	font-weight: 700;
	line-height: 32px;
}

.present .application .contents .step {
	margin-top: 26px;
}

.present .application .contents .step h4 {
	color: #C95966;
	font-family: var(--cormorant);
	font-size: min(3.8rem, 2.782vw);
	font-weight: 700;
	letter-spacing: 1.494px;
}

.present .application .contents .step .txt {
	color: #4F4F4F;
	font-family: var(--shippori);
	font-size: min(2rem, 1.464vw);
	font-weight: 500;
	line-height: 36px;
}

.present .application .contents .step .txt a {
	color: #40A0FF;
	text-decoration: underline;
}

.present .application .contents .step .txt span {
	color: #C95966;
	font-size: min(2.4rem, 1.757vw);
	font-weight: 800;
	line-height: 42px;
}
.present .application .contents .step .txt span::before {
	content: '・';
}

.present .application .contents .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 369px;
	height: 70px;
	margin-top: 29px;
	background: #C95966;
	color: #fff;
	text-align: center;
	font-family: var(--shippori);
	font-size: min(2.3rem, 1.684vw);
	font-weight: 400;
	line-height: 41.096px;
	position: relative;
}
.present .application .contents .btn::after {
	content: '';
	background: url(../img/arrow-D.svg) no-repeat;
	background-size: 100%;
	display: block;
	width: 12px;
	height: 18px;
	position: absolute;
	top: 52%;
	right: 12px;
	transform: translate(-50%, -50%);
}

.present .application .contents .btn.close {
	color: transparent;
	pointer-events: none;
	cursor: default;
}

.present .application .contents .btn.close::before {
	content: 'キャンペーン開始までお待ちください。';
	color: #fff;
	font-size: min(1.7rem, 1.245vw);
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.present .application .contents .btn.close::after {
	display: none;
}



.present .application .contents .link-pdf {
	display: inline-block;
	color: #231915;
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 700;
	line-height: 28.8px;
	letter-spacing: 0.8px;
	text-decoration: underline;
	margin-top: 18px;
}

.present .application .contents .note {
	color: red;
	font-family: var(--gothic);
	font-weight: bold;
}

.present .application .contents .txtB {
	color: #231915;
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	line-height: 28.8px;
	letter-spacing: 0.8px;
	margin-top: 41px;
}

.present .application .contents .txtB a {
	color: #231915;
}

.present .application .contents .logo {
	width: 280px;
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.present {
		padding: 63px 0 80px;
	}
	.present .itemA {
		display: block;
		width: 580px;
		background-blend-mode: multiply;
		position: absolute;
		top: 60px;
		right: -100px;
		z-index: -1;
	}
	.present .itemB {
		display: block;
		width: 930px;
		background-blend-mode: multiply;
		position: absolute;
		top: 290px;
		left: -240px;
		z-index: -1;
	}
	.present .itemC {
		display: block;
		width: 650px;
		background-blend-mode: multiply;
		position: absolute;
		bottom: 530px;
		right: -100px;
		z-index: -1;
	}
	.present .itemD {
		display: block;
		width: 1060px;
		background-blend-mode: multiply;
		position: absolute;
		bottom: -290px;
		left: -380px;
		z-index: -1;
	}
	.present h2 {
		font-size: min(5.5rem, 14.667vw);
		line-height: 45.2px;
	}
	.present .present-contentsA {
		display: block;
		margin: 18px 15px 0;
	}
	.present .present-contentsA .img {
		width: 100%;
	}
	.present .present-contentsA .img img {
		border-radius: 12px;
	}
	.present .present-contentsA .area-txt {
		width: 100%;
	}
	.present .present-contentsA .area-txt h3 {
		font-size: min(2.4rem, 6.4vw);
		line-height: 33px;
		margin-top: 9px;
	}
	.present .present-contentsA .area-txt .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 28px;
		margin-top: 7px;
	}
	.present .prize {
		margin: 37px 15px 0;
		padding: 5px;
		border-radius: 12px;
	}
	.present .prize .prize-inner {
		padding: 16px 10px 28px;
		border-radius: 12px;
	}
	.present .prize .prize-inner h3 {
		font-size: min(3rem, 8vw);
		margin-bottom: 16px;
	}
	.present .prize .prize-inner .prize-inner-contents {
		margin-bottom: 22px;
		margin-left: 0;
	}
	.present .prize .prize-inner .prize-inner-contents:last-child {
		margin-bottom: 0;
	}
	.present .prize .prize-inner .prize-inner-contents ul {
		display: flex;
		align-items: center;
	}
	.present .prize .prize-inner .prize-inner-contents ul li {
		font-size: min(1.8rem, 4.8vw);
		line-height: 25px;
		width: 84%;
	}
	.present .prize .prize-inner .prize-inner-contents ul li:first-child {
		width: 39.213px;
		height: 39.213px;
		border-radius: 28.711px;
		font-size: 30px;
		line-height: 38px;
		margin-right: 9px;
	}
	.present .prize .prize-inner .prize-inner-contents .area-note {
		margin: 9px;
		margin-left: 0;
	}
	.present .application {
		margin: 55px 15px 0;
	}
	.present .application .contents {
		margin-top: 30px;
	}
	.present .application .contents h3 {
		font-size: min(2.4rem, 6.4vw);
	}
	.present .application .contents .step {
		margin-top: 12px;
	}
	.present .application .contents .step h4 {
		font-size: min(3rem, 8vw);
	}
	.present .application .contents .step .txt {
		font-size: min(1.5rem, 4vw);
		line-height: 28px;
		letter-spacing: 0;
		margin-bottom: 13px;
	}
	.present .application .contents .step .txt span {
		display: inline-block;
		font-size: min(1.8rem, 4.8vw);
		line-height: 24px;
		padding-left: 1em;
		text-indent: -1em;
		margin-top: 5px;
	}
	.present .application .contents .btn {
		width: 345px;
		height: 65px;
		margin: 16px auto 0;
		font-size: min(2rem, 5.333vw);
		line-height: 38.449px;
	}
	.present .application .contents .link-pdf {
		font-size: min(1.5rem, 4vw);
		margin-top: 19px;
	}
	.present .application .contents .txtB {
		font-size: min(1.5rem, 4vw);
		margin-top: 42px;
	}
	.present .application .contents .logo {
		width: 280px;
		margin-top: 20px;
	}
	.present .present-contentsA .img.slideB .slick-dots {
		width: 6%;
		left: auto;
		right: 25px;
	}
	.present .present-contentsA .img.slideB .slick-dots button {
		width: 7px;
		height: 7px;
	}
	.present .application .contents .btn.close::before {
		font-size: min(1.7rem, 4.533vw);
	}
}

/* ----------------------------------------------------
 area-banner
---------------------------------------------------- */
.area-banner {
	background: #fff;
	padding: 80px 0 40px;
}

.area-banner h2 {
	color: #4472A1;
    font-size: min(1.6rem, 1.171vw);
	font-weight: 600;
	text-align: center;
    margin-bottom: 30px;
}

.area-banner .banner {
	display: block;
	width: 460px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.area-banner {
		padding: 50px 0 20px;
	}
	.area-banner h2 {
		font-size: min(1.6rem, 4.267vw);
	}
	.area-banner .banner {
		width: 90%;
	}

}