/* ==========================================================================
	 mainvisual
========================================================================== */
.mainvisual {
	width: 100%;
	height: 52vw;
	background-image: url(/assets/img/recommend/active/bg_mainvisual_sp.png);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
}
.mainvisual__container {
	padding-top: 6.6666666667vw;
	height: 52vw;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mainvisual__title {
	font-size: 5.0666666667vw;
	font-weight: 600;
	text-align: center;
	color: #fff;
	line-height: 1.6;
	letter-spacing: 0.15em;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 768px) {
	.mainvisual {
		height: 400px;
		background-image: url(/assets/img/recommend/active/bg_mainvisual.png);
	}
	.mainvisual__container {
		padding-top: 0;
		height: 400px;
	}
	.mainvisual__title {
		font-size: 3rem;
	}
}
/* ==========================================================================
	 recommend
========================================================================== */
.recommend__leadcopy {
	padding-bottom: 10.6666666667vw;
	padding-right: 8vw;
	padding-left: 8vw;
	font-size: 3.7333333333vw;
	line-height: 1.8;
}
.recommend__container {
	position: relative;
	background-image: url(/assets/common/img/bg_beige.jpg);
	background-position: center;
	background-repeat: repeat;
	background-size: 100px 100px;
	margin-top: 67px;
}
.recommend__container::before {
	content: "";
	display: block;
	position: absolute;
	top: -71px;
	left: 0;
	width: 100%;
	height: 72px;
	background-image: url(/assets/img/recommend/active/bg_recommend_sp.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.recommend__container::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -19px;
	left: 0;
	width: 100%;
	height: 20px;
	background-image: url(/assets/common/img/bg_beige_after.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.recommend__tab {
	margin-bottom: 9.3333333333vw;
	border-bottom: 1px solid #4ec6c1;
}
.recommend__tab-list {
	padding-right: 5.3333333333vw;
	padding-left: 5.3333333333vw;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.recommend__tab-item {
	width: 49%;
}
.recommend__tab-link {
	padding-top: 0.7em;
	padding-right: 0.5em;
	padding-bottom: 0.7em;
	padding-left: 0.5em;
	display: block;
	background-color: #fff;
	font-size: 3.7333333333vw;
	font-weight: 500;
	text-align: center;
	color: #b7d1dd;
	line-height: 1.6;
	transition: 0.4s;
}
.recommend__tab-link:hover {
	background-color: #4ec6c1;
	color: #fff;
}
.recommend__tab-item:first-child .recommend__tab-link {
	border-top-left-radius: 1.3333333333vw;
}
.recommend__tab-item:last-child .recommend__tab-link {
	border-top-right-radius: 1.3333333333vw;
}
.recommend__tab-item.is-active .recommend__tab-link {
	background-color: #4ec6c1;
	color: #fff;
	transition: 0.4s;
}
.recommend__tab-item.is-active .recommend__tab-link:hover {
	background-color: #4ec6c1;
	color: #fff;
}

@media screen and (min-width: 768px) {
	.recommend__leadcopy {
		margin-right: auto;
		margin-left: auto;
		padding-right: 30px;
		padding-bottom: 65px;
		padding-left: 30px;
		max-width: 1020px;
		font-size: 1.6rem;
	}
	.recommend__container {
		margin-top: 165px;
	}
	.recommend__container::before {
		top: -174px;
		height: 175px;
		background-image: url(/assets/img/recommend/active/bg_recommend.png);
	}
	.recommend__container::after {
		bottom: -67px;
		height: 68px;
	}
	.recommend__tab {
		margin-right: auto;
		margin-bottom: 80px;
		margin-left: auto;
		padding-top: 20px;
		max-width: 960px;
	}
	.recommend__tab-list {
		margin-right: auto;
		margin-left: auto;
		padding-right: 0;
		padding-left: 0;
		max-width: 640px;
	}
	.recommend__tab-link {
		font-size: 1.8rem;
	}
	.recommend__tab-item:first-child .recommend__tab-link {
		border-top-left-radius: 5px;
	}
	.recommend__tab-item:last-child .recommend__tab-link {
		border-top-right-radius: 5px;
	}
}
/* ==========================================================================
	 schedule
========================================================================== */
.schedule {
	margin-bottom: 5.3333333333vw;
	padding-right: 5.3333333333vw;
	padding-left: 5.3333333333vw;
}
.schedule__title {
	margin-bottom: 9.3333333333vw;
	font-family: "Zen Maru Gothic", serif;
	font-size: 5.0666666667vw;
	font-weight: 700;
	font-style: normal;
	text-align: center;
	letter-spacing: 0.2em;
	line-height: 1.8;
}
.schedule__list {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.schedule__item {
	position: relative;
	margin-bottom: 8vw;
	width: 46.5%;
}
.schedule__item:nth-child(1)::after, .schedule__item:nth-child(3)::after {
	position: absolute;
	content: "";
	display: block;
	left: 50%;
	top: 51%;
	transform: translateY(-50%);
	width: 100%;
	height: 100%;
	background-image: url(/assets/img/recommend/active/bg_line_01.png);
	background-position: center;
	background-repeat: repeat-x;
	background-size: 40px 40px;
}
.schedule__time {
	margin-right: auto;
	margin-bottom: 2.6666666667vw;
	margin-left: auto;
	max-width: 26.6666666667vw;
	display: block;
}
.schedule__img {
	position: relative;
	z-index: 1;
	margin-right: 1.3333333333vw;
	margin-left: 1.3333333333vw;
	margin-bottom: 1.3333333333vw;
}
.schedule__caption {
	font-size: 3.2vw;
	text-align: center;
	line-height: 1.6;
}

@media screen and (min-width: 768px) {
	.schedule {
		margin-right: auto;
		margin-bottom: 120px;
		margin-left: auto;
		padding-right: 20px;
		padding-left: 20px;
		max-width: 1020px;
	}
	.schedule__title {
		margin-bottom: 50px;
		font-size: 2.4rem;
	}
	.schedule__item {
		margin-bottom: 0;
		width: 18%;
	}
	.schedule__item:nth-child(1)::after, .schedule__item:nth-child(2)::after, .schedule__item:nth-child(3)::after, .schedule__item:nth-child(4)::after {
		position: absolute;
		content: "";
		display: block;
		left: 50%;
		top: 50%;
		transform: translateY(-50%);
		width: 100%;
		height: 100%;
		background-image: url(/assets/img/recommend/active/bg_line_01.png);
		background-position: center;
		background-repeat: repeat-x;
		background-size: 45px 45px;
	}
	.schedule__time {
		margin-bottom: 10px;
		max-width: 100px;
	}
	.schedule__img {
		margin-right: 10px;
		margin-bottom: 8px;
		margin-left: 10px;
	}
	.schedule__caption {
		font-size: 1.2rem;
	}
}
@media screen and (min-width: 1200px) {
	.schedule__caption {
		font-size: 1.3rem;
	}
}
/* ==========================================================================
	 spot
========================================================================== */
.spot {
	padding-bottom: 18.6666666667vw;
}
.spot__catch {
	margin-bottom: 10.6666666667vw;
	padding-right: 5.3333333333vw;
	padding-left: 5.3333333333vw;
	font-family: "Montserrat", sans-serif;
	font-size: 6.6666666667vw;
	font-weight: 600;
	text-align: center;
	color: #007764;
	line-height: 1.5;
	letter-spacing: 0;
}
.spot__list {
	position: relative;
}
.spot__list::after {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 100%;
	background-image: url(/assets/img/recommend/active/bg_line_02.png);
	background-position: top center;
	background-repeat: repeat-y;
	background-size: 50px 50px;
}
.spot__item {
	position: relative;
	z-index: 1;
	padding-right: 5.3333333333vw;
	padding-left: 5.3333333333vw;
}
.spot__item:nth-child(1) {
	margin-bottom: 40vw;
}
.spot__item:nth-child(1)::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 33.8666666667vw;
	background-image: url(/assets/img/recommend/active/bg_texture_right_sp.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.spot__item:nth-child(2) {
	margin-bottom: 80vw;
}
.spot__item:nth-child(2)::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 33.8666666667vw;
	background-image: url(/assets/img/recommend/active/bg_texture_left_sp.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.spot__item:nth-child(2)::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -245px;
	left: 50%;
	transform: translateX(-50%);
	width: 89.3333333333vw;
	height: 31.2vw;
	background-image: url(/assets/img/recommend/active/img_flower.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.spot__item:nth-child(3) {
	margin-bottom: 40vw;
}
.spot__item:nth-child(3)::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 33.8666666667vw;
	background-image: url(/assets/img/recommend/active/bg_texture_right_sp.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.spot__item:nth-child(4) {
	margin-bottom: 50.6666666667vw;
}
.spot__item:nth-child(4)::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 33.8666666667vw;
	background-image: url(/assets/img/recommend/active/bg_texture_left_sp.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.spot__item:nth-child(5) {
	margin-bottom: 13.3333333333vw;
}
.spot__item:nth-child(5)::before {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	height: 33.8666666667vw;
	background-image: url(/assets/img/recommend/active/bg_texture_right_sp.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.spot__text {
	padding-top: 5.3333333333vw;
	padding-right: 5.3333333333vw;
	padding-bottom: 6.6666666667vw;
	padding-left: 5.3333333333vw;
	background-color: #fff;
}
.spot__wrap {
	margin-bottom: 3.2vw;
	border-bottom: 1px solid #d2e2e9;
	padding-bottom: 2.1333333333vw;
}
.spot__time {
	margin-top: -13.3333333333vw;
	margin-bottom: 4vw;
	margin-left: -1.3333333333vw;
	max-width: 25.3333333333vw;
}
.spot__title {
	font-size: 5.6vw;
	font-weight: 600;
	color: #007764;
	line-height: 1.6;
	letter-spacing: 0.06em;
}
.spot__title span {
	display: inline-block;
	font-size: 3.7333333333vw;
	color: #a5c6d4;
}
.spot__bodycopy {
	margin-bottom: 5.3333333333vw;
	font-size: 3.7333333333vw;
	line-height: 1.8;
}
.spot__pict {
	position: absolute;
	z-index: 2;
}
.spot__item:nth-child(1) .spot__pict {
	bottom: -110px;
	right: 10px;
	width: 48vw;
	height: 33.3333333333vw;
}
.spot__item:nth-child(2) .spot__pict {
	bottom: -105px;
	left: 15px;
	width: 48vw;
	height: 33.3333333333vw;
}
.spot__item:nth-child(3) .spot__pict {
	bottom: -75px;
	left: 10px;
	width: 48vw;
	height: 25.8666666667vw;
}
.spot__item:nth-child(4) .spot__pict-01 {
	position: absolute;
	z-index: 2;
	top: -105px;
	right: 10px;
	width: 48vw;
	height: 33.3333333333vw;
}
.spot__item:nth-child(4) .spot__pict-02 {
	position: absolute;
	z-index: 2;
	bottom: -135px;
	left: 70px;
	width: 48vw;
	height: 33.3333333333vw;
}
.spot__item:nth-child(5) .spot__pict {
	bottom: -110px;
	left: 20px;
	width: 48vw;
	height: 33.3333333333vw;
}
.spot__bg {
	position: absolute;
	bottom: -90px;
	left: 15px;
	width: 45.3333333333vw;
	height: 13.8666666667vw;
}

@media screen and (min-width: 768px) {
	.spot {
		padding-bottom: 60px;
	}
	.spot__catch {
		margin-right: auto;
		margin-bottom: 50px;
		margin-left: auto;
		padding-right: 30px;
		padding-left: 40px;
		max-width: 1020px;
		font-size: 3rem;
		text-align: left;
	}
	.spot__list::after {
		background-size: 100px 100px;
	}
	.spot__item {
		margin-right: auto;
		margin-left: auto;
		padding-right: 30px;
		padding-left: 30px;
		max-width: 1020px;
	}
	.spot__item:nth-child(1) {
		margin-bottom: 200px;
	}
	.spot__item:nth-child(1)::before {
		top: -70px;
		height: 250px;
		width: 100vw;
		background-image: url(/assets/img/recommend/active/bg_texture_right.png);
	}
	.spot__item:nth-child(2) {
		margin-bottom: 350px;
	}
	.spot__item:nth-child(2)::before {
		top: -70px;
		height: 250px;
		width: 100vw;
		background-image: url(/assets/img/recommend/active/bg_texture_left.png);
	}
	.spot__item:nth-child(2)::after {
		bottom: -263px;
		width: 500px;
		height: 190px;
	}
	.spot__item:nth-child(3) {
		margin-bottom: 200px;
	}
	.spot__item:nth-child(3)::before {
		top: -70px;
		height: 250px;
		width: 100vw;
		background-image: url(/assets/img/recommend/active/bg_texture_right.png);
	}
	.spot__item:nth-child(4) {
		margin-bottom: 240px;
	}
	.spot__item:nth-child(4)::before {
		top: -70px;
		height: 250px;
		width: 100vw;
		background-image: url(/assets/img/recommend/active/bg_texture_left.png);
	}
	.spot__item:nth-child(4)::after {
		bottom: -170px;
		left: 47%;
		width: 500px;
		height: 100px;
	}
	.spot__item:nth-child(5) {
		margin-bottom: 80px;
	}
	.spot__item:nth-child(5)::before {
		top: -70px;
		height: 250px;
		width: 100vw;
		background-image: url(/assets/img/recommend/active/bg_texture_right.png);
	}
	.spot__flexbox {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.spot__item:nth-child(2) .spot__flexbox, .spot__item:nth-child(4) .spot__flexbox {
		flex-direction: row-reverse;
	}
	.spot__text {
		padding-top: 23px;
		padding-right: 60px;
		padding-bottom: 42px;
		padding-left: 50px;
		width: 56%;
	}
	.spot__item:nth-child(2) .spot__text, .spot__item:nth-child(4) .spot__text {
		padding-right: 50px;
		padding-left: 65px;
	}
	.spot__wrap {
		margin-bottom: 15px;
		padding-bottom: 20px;
		display: flex;
	}
	.spot__time {
		margin-top: -45px;
		margin-right: 30px;
		margin-bottom: 0;
		margin-left: -8px;
		max-width: 90px;
		width: 30%;
	}
	.spot__title {
		width: 70%;
		font-size: 2.1rem;
	}
	.spot__title span {
		font-size: 1.3rem;
	}
	.spot__bodycopy {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
	.spot__item:nth-child(5) .spot__bodycopy {
		margin-bottom: 50px;
	}
	.spot__link {
		margin-left: 0;
	}
	.spot__img {
		position: relative;
		z-index: 1;
		width: 42%;
	}
	.spot__img-inner {
		margin-top: -40px;
		margin-right: calc(50% - 25vw);
		margin-left: -35px;
		max-width: 540px;
	}
	.spot__item:nth-child(2) .spot__img-inner, .spot__item:nth-child(4) .spot__img-inner {
		margin-left: -100px;
	}
	.spot__item:nth-child(1) .spot__pict {
		bottom: -145px;
		left: initial;
		right: 15px;
		width: 260px;
		height: 180px;
	}
	.spot__item:nth-child(2) .spot__pict {
		bottom: -115px;
		right: initial;
		left: 15px;
		width: 260px;
		height: 180px;
	}
	.spot__item:nth-child(3) .spot__pict {
		bottom: -110px;
		left: 15px;
		width: 260px;
		height: 140px;
	}
	.spot__item:nth-child(4) .spot__pict-01 {
		top: -145px;
		right: 20px;
		width: 260px;
		height: 180px;
	}
	.spot__item:nth-child(4) .spot__pict-02 {
		bottom: -178px;
		left: 100px;
		width: 260px;
		height: 180px;
	}
	.spot__item:nth-child(4) .spot__pict {
		bottom: -110px;
		right: initial;
		left: 10px;
		width: 260px;
		height: 180px;
	}
	.spot__item:nth-child(5) .spot__pict {
		bottom: -155px;
		left: 35px;
		width: 260px;
		height: 180px;
	}
	.spot__bg {
		bottom: -125px;
		right: 15px;
		width: 240px;
		height: 67px;
	}
}
@media screen and (min-width: 1200px) {
	.spot__time {
		max-width: 100px;
		width: 21%;
	}
	.spot__title {
		width: 80%;
		font-size: 2.4rem;
	}
	.spot__title span {
		font-size: 1.5rem;
	}
	.spot__gourmet-title {
		font-size: 2.4rem;
	}
}
/* ==========================================================================
	 souvenir
========================================================================== */
.souvenir {
	margin-bottom: 34.6666666667vw;
	padding-top: 18.6666666667vw;
}
.souvenir__title {
	margin-bottom: 4vw;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-size: 4.8vw;
	text-align: center;
	letter-spacing: 0.1em;
}
.souvenir__container {
	position: relative;
	background-color: #fff;
}
.souvenir__text {
	padding-top: 8vw;
	padding-right: 8vw;
	padding-bottom: 6.6666666667vw;
	padding-left: 8vw;
}
.souvenir__subtitle {
	margin-bottom: 3.2vw;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-size: 5.3333333333vw;
	color: #007764;
	letter-spacing: 0.1em;
}
.souvenir__bodycopy {
	margin-bottom: 5.3333333333vw;
	font-size: 3.7333333333vw;
	line-height: 1.8;
}
.souvenir__pict {
	position: absolute;
	bottom: -100px;
	right: 15px;
	width: 34.6666666667vw;
	height: 45.3333333333vw;
}

@media screen and (min-width: 768px) {
	.souvenir {
		margin-bottom: 100px;
		padding-top: 150px;
	}
	.souvenir__title {
		margin-bottom: 25px;
		font-size: 2.4rem;
	}
	.souvenir__container {
		margin-right: auto;
		margin-left: auto;
		max-width: 1020px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.souvenir__text {
		padding-top: 20px;
		padding-right: 30px;
		padding-bottom: 25px;
		padding-left: 40px;
		width: 47%;
	}
	.souvenir__subtitle {
		margin-top: -5px;
		margin-bottom: 10px;
		font-size: 2.4rem;
	}
	.souvenir__bodycopy {
		margin-bottom: 30px;
		font-size: 1.6rem;
	}
	.souvenir__link {
		margin-left: 0;
	}
	.souvenir__img {
		width: 47%;
	}
	.souvenir__pict {
		bottom: -100px;
		right: -5px;
		width: 160px;
		height: 197px;
	}
}
/* ==========================================================================
	 button
========================================================================== */
.recommend__next {
	margin-top: 34.6666666667vw;
}

.recommend__next-link {
	position: relative;
	margin-right: auto;
	margin-left: auto;
	padding-top: 0.6em;
	padding-right: 0.5em;
	padding-bottom: 0.8em;
	padding-left: 0.5em;
	display: block;
	max-width: 230px;
	background-color: #fff;
	border: 1px solid #34afaa;
	border-radius: 1.3333333333vw;
	font-size: 3.7333333333vw;
	text-align: center;
	color: #34afaa;
	line-height: 1.6;
	transition: 0.4s;
}
.recommend__next-link::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 7%;
	transform: translateY(-50%);
	width: 5.3333333333vw;
	height: 5.3333333333vw;
	background-image: url(/assets/common/img/icon_arrow_right_green.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: 0.4s;
}
.recommend__next-link:hover {
	opacity: 0.8;
}
.recommend__next-link:hover::before {
	right: 5%;
}

@media screen and (min-width: 768px) {
	.recommend__next {
		margin-top: 120px;
		margin-right: auto;
		margin-left: auto;
		padding-right: 30px;
		padding-left: 30px;
		max-width: 1020px;
	}
	.recommend__next-link {
		max-width: 330px;
		border-radius: 5px;
		font-size: 1.6rem;
	}
	.recommend__next-link::before {
		width: 20px;
		height: 20px;
	}
}

/*# sourceMappingURL=style.css.map */