@charset "UTF-8";

/* ----------------------------------------------------
	基本設定
---------------------------------------------------- */
/*
	#font
------------------------------ */
body {
	background-color: #fff;
	line-height: 1.5;
	color: #3E3A39;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-feature-settings: "pkna";
	letter-spacing: 0.05em;
}

@media(max-width:768px) {
	body {
		padding-top: 0;
		font-size: 2.86458vw;
	}
}

/*
	#reset
------------------------------ */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

p {
	margin-bottom: 1em;
	word-wrap: break-word;
}
@media(max-width:768px) {
p {
	font-size: 1.3em!important;
    line-height: 1.7;
    }
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

fieldset,
img {
	border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

ol.normal li,
ul.normal li {
	margin-left: 1em;
	text-indent: -1em;
}

caption,
th {
	text-align: left;
}

a {
	text-decoration: none;
	transition: all 0.5s ease 0s;
}

a:hover {
	opacity: 0.7;
}

area {
	border: none;
	outline: none;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

/*
	表示設定
------------------------------ */
.main {
	scroll-snap-type: y mandatory;
}

.main section {
	scroll-snap-align: start;
}

.container {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1040px;
	width: 100%;
}

@media(max-width:768px) {
	section {
		padding: 11.71875vw 0;
	}

	.container {
		padding: 0 5.46875vw;
	}
}

/*
	SP,PC表示切り替え
	（調整が必要かも？）
------------------------------ */
.pc {
	display: block;
}

.sp {
	display: none;
}

@media(max-width:768px) {
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	position: relative;
}

.header h1 {
	width: 34%;
    position: absolute;
    top: 14%;
    right: 11%;
    z-index: 50;
}

@media(max-width: 768px) {
	.header {
		margin-top: 0;
	}

	.header h1 {
		display: none;
	}
}

/* ----------------------------------------------------
	toggle nav
---------------------------------------------------- */
/*
	toggle
------------------------------ */
.toggle {
	display: none;
}

@media(max-width: 768px) {
	.toggle {
		position: fixed;
		padding: 10px;
		display: block;
		top: 15px;
		right: 15px;
		z-index: 100;
	}

	.toggle_inner {
		position: relative;
		width: 36px;
		height: 36px;
		cursor: pointer;
	}

	.toggle_inner>span {
		background: #5ac376;
		background: linear-gradient(to right, #41a5e2 0%, #5ac376 100%);
		width: 100%;
		height: 1px;
		left: 0;
		display: block;
		position: absolute;
		transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;
	}

	.toggle_inner>span:nth-child(1) {
		top: 25%;
	}

	.toggle_inner>span:nth-child(2) {
		bottom: 25%;
	}
}

/*
	nav_content
------------------------------ */
.nav_content {
	width: 100%;
	height: 10vw;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 51;
}

.nav_content .gnav_list {
	background: url(../img/bg_nav.png) center bottom no-repeat;
	background-size: cover;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.nav_content .gnav_item {
	margin: 0 1em;
}

.nav_content .gnav_item a {
	color: #fff;
	font-size: 26px;
	transition: opacity .6s ease;
}

@media(max-width: 768px) {
	.nav_content {
		background: #607272;
		width: 90%;
		height: 100%;
		text-align: center;
		right: 0;
		left: auto;
		transform: translateX(100%);
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.nav_content .gnav_list {
		background: none;
		display: block;
	}

	.nav_content .gnav_item a {
		padding: 1em 0;
		font-size: 6.2vw;
		display: block;
	}

	.nav_content .gnav_item a:hover {
		opacity: 0.6;
	}

	.is-open {
		overflow: hidden;
	}

	.is-open .toggle_inner>span {
		background: #fff;
	}

	.is-open .toggle_inner>span:nth-child(1) {
		top: 50%;
		transform: rotate(45deg) translatey(-50%);
	}

	.is-open .toggle_inner>span:nth-child(2) {
		top: 50%;
		transform: rotate(-45deg) translatey(-50%);
	}

	.is-open .nav_content {
		z-index: 60;
		transform: translateX(0);
	}

	.filter.overlay {
		background: rgba(0, 0, 0, 0.5);
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 59;
	}
}

/* ----------------------------------------------------
	stayplan
---------------------------------------------------- */
.stayplan .container .stayplan_title {
    text-align: center;
    font-size: 36px;
    margin-bottom: 80px;
    color: #575757;
}
.stayplan .container h4 {
    font-size: 28px;
    color: #4c4b4b;
    margin: 60px 0 30px;
}
@media(max-width: 768px) {
.stayplan .container .stayplan_title {
    font-size: 20px;
    margin: 60px 0 30px;
    }
.stayplan .container h4 {
    font-size: 16px;
    margin: 30px 0;
}
}
/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead .container {
	margin: 0 auto;
	padding: 100px 20px;
	max-width: 940px;
	width: 100%;
	line-height: 2;
}

.lead .container dt {
	margin-bottom: 60px;
}

.lead .container dt img {
	width: auto;
	height: 55px;
}

.lead .container dd {
	/*color: #8ed57c;
    background: linear-gradient(-45deg, #2cac03 0%, #bee600 50%, #ec7d24 100%);
    background: -webkit-linear-gradient(-45deg, #2cac03 0%, #bee600 50%, #ec7d24 100%);*/
    background: linear-gradient(-45deg, #1e7502 0%, #95b306 50%, #ec7d24 100%);
    background: -webkit-linear-gradient(-45deg, #1e7502 0%, #95b306 50%, #ec7d24 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 24px;
	letter-spacing: 0.15em;
	display: inline-block;
	    font-weight: 800;
}

.lead .text_area {
	width: 100%;
	font-size: 18px;
}

.lead .text_area p:last-of-type {
	margin-bottom: 0;
    margin-top: 30px;
}

@media (max-width: 768px) {
	.lead .container {
		padding: 9.76563vw 5.59896vw;
		display: block;
	}

	.lead .container dl {
		margin-bottom: 7.16146vw;
		width: 100%;
	}

	.lead .container dt {
		margin-bottom: 7.8125vw;
		text-align: center;
	}

	.lead .container dt img {
		width: auto;
		height: 8.07292vw;
	}

	.lead .container dd {
		width: 100%;
		font-size: 4.6vw;
        line-height: 1.7;
		text-align: center;
	}

	.lead .text_area {
		width: 100%;
		font-size: 3.38542vw;
	}
}

/* ----------------------------------------------------
	event
---------------------------------------------------- */
.event {
	background: url(../img/bg01.png) center top no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 10vw 0 112px;
}
.event_2 {
	background: url(../img/bg03.png) center top no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 10vw 0 112px;
}

.event .container {
	margin-top: -10vw;
	padding-top: 10vw;
}

.event .event_title {
	text-align: center;
    font-size: 36px;
    color: #575757;
    margin-bottom: 80px;
    
}

.event .event_title img {
	width: auto;
	height: 142px;
}

.event .event_list {
	margin-top: 25px;
}

.event .event_item {
	background: #fff;
	margin-bottom: 60px;
	padding: 80px 54px;
	position: relative;
}

.event .event_item .number {
	width: 82px;
	position: absolute;
	top: -25px;
	left: 46px;
}

.event .event_item .target {
	background: url(../img/bg_icon.svg) center center no-repeat;
	width: 133px;
	height: 131px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -17px;
	right: 35px;
}

/* flex */
.event .event_item .flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.event .event_item .flex .event_img {
	width: 50%;
}

.event .event_item .flex .text_area {
	width: 46%;
}

@media (max-width: 768px) {
	.event {
		padding: 10.67708vw 0 7.42188vw;
	}
    .event .event_title {
    font-size: 1.7em;
    margin-bottom: 40px;
    
}

	.event .event_title img {
		height: 19.53125vw;
	}

	.event .event_list {
		margin-top: 3.38542vw;
	}

	.event .event_item {
		margin-bottom: 7.16146vw;
		padding: 10vw 6.25vw 7vw;
	}

	.event .event_item .number {
		width: 11.19792vw;
		position: absolute;
		top: -3.38542vw;
		left: 4.55729vw;
	}

	.event .event_item .target {
		width: 18.35938vw;
		height: 17.96875vw;
		font-size: 2.86458vw;
		top: -2.73438vw;
		right: 3.38542vw;
	}

	/* text_only */
	.event .event_item .text_only {
		padding-left: 0;
	}

	/* flex */
	.event .event_item .flex {
		display: block;
	}

	.event .event_item .flex .event_img,
	.event .event_item .flex .text_area {
		width: 100%;
	}

	.event .event_item .flex .event_img {
		margin-bottom: 1em;
	}
}

/*
	共通
------------------------------ */
/* title */
.event .event_item .title {
	color: #f18100;
	font-size: 32px;
	position: relative;
    padding-bottom: 50px;
}

.event .event_item .title span {
	line-height: 1;
	display: flex;
	align-items: flex-end;
}

.event .event_item .title.icon4::before {
	background: url(../img/icon02.svg) center center no-repeat;
	width: 150px;
	height: 127px;
	position: absolute;
	top: -10px;
	right: 0;
	content: "";
}

@media (max-width: 768px) {
	.event .event_item .title {
		margin-bottom: 0.5em;
		font-size: 4.5vw;
        padding-bottom: 10px;
	}

	.event .event_item .title span {
		line-height: 1.7;
	}

	.event .event_item .title.icon1::before {
		background: url(../img/icon01.svg) center center no-repeat;
		width: 12.63021vw;
		height: 12.89063vw;
		top: 7.16146vw;
		right: 0;
	}

	.event .event_item .title.icon4::before {
		background: url(../img/icon02.svg) center center no-repeat;
		width: 20.70313vw;
		height: 18.09896vw;
		top: -2.47396vw;
		right: 0;
	}
}

/* date */
.event .event_item .date {
	margin: 0.5em 0;
	color: #5bc473;
	font-size: 24px;
	letter-spacing: -0.01em;
	display: flex;
	align-items: center;
}

.event .event_item .date:first-of-type {
	margin-bottom: 0;
}

.event .event_item .date:last-of-type {
	margin-top: 0;
}

.event .event_item .date dt {
	background: url(../img/bg03.svg) center center no-repeat;
	background-size: contain;
	margin-right: 0.5em;
	padding: 2px 8px;
	font-size: 14px;
	letter-spacing: 0.5em;
}

.event .event_item .date dt.reset {
	background-size: cover;
	padding: 8px 16px 8px 8px;
	letter-spacing: normal;
}

@media (max-width: 768px) {
	.event .event_item .date {
		font-size: 3.125vw;
	}

	.event .event_item .date:first-of-type {
		margin-bottom: 0.5em;
	}

	.event .event_item .date dt {
		font-size: 2.60417vw;
	}

	.event .event_item .date dt.reset {
		padding: 1.5vw 3vw 1.5vw 1.5vw;
	}
}

/* text */
.event .event_item .text {
	line-height: 1.8;
	font-size: 18px;
}

@media (max-width: 768px) {
	.event .event_item .text {
		margin-top: 1.4em;
		font-size: 4vw!important;
	}
}

/* note */
.event .event_item .note {
	font-size: 13px;
}

.event .event_item .note li {
	margin-left: 1em;
	text-indent: -1em;
}

.event .event_item .note li::before {
	content: "※";
}

@media (max-width: 768px) {
	.event .event_item .note {
		font-size: 2.60417vw;
	}
}

/* link */
.event .event_item .link a {
	background: #5ac376;
	background: linear-gradient(to right, #41a5e2 0%, #5ac376 100%);
	height: 80px;
	line-height: 80px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	display: block;
}

@media (max-width: 768px) {
	.event .event_item .link a {
		margin: 0 auto;
		width: 50%;
		height: 11.06771vw;
		line-height: 11.06771vw;
		font-size: 3.125vw;
	}
}

/*
	contents
------------------------------ */
.event .event_item .contents {
	margin: 0 auto;
	max-width: 736px;
	width: 100%;
}

.event .event_item .contents .main_img {
	margin-bottom: 45px;
	position: relative;
}

.event .event_item .contents .main_img .target {
	background: url(../img/bg_icon.svg) center center no-repeat;
	width: 133px;
	height: 131px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -19px;
	right: -88px;
}

.event .event_item .contents .title {
	background: url(../img/line01.svg) center bottom no-repeat;
	background-size: auto 8px;
	margin-bottom: 40px;
	padding-bottom: 21px;
	line-height: 1;
	color: #5bc473;
	font-size: 42px;
	text-align: center;
	position: relative;
}

.event .event_item .contents .title::after {
	background: url(../img/icon03.svg) center center no-repeat;
	width: 135px;
	height: 132px;
	position: absolute;
	top: 5px;
	right: -30px;
	content: "";
}

.event .event_item .contents .detail .detail_ttl {
	margin-bottom: 0.5em;
	color: #41a5e2;
	font-size: 26px;
	font-weight: bold;
	text-align: center;
}

.event .event_item .contents .detail dd p {
	margin-bottom: 1em;
	font-size: 18px;
	text-align: center;
}

.event .event_item .contents .detail dd .date {
	margin-bottom: 40px;
	justify-content: center;
}

.event .event_item .contents .link a {
	margin: 0 auto;
	max-width: 540px;
	width: 100%;
	height: 100px;
	line-height: 100px;
	pointer-events: none;
	position: relative;
	z-index: 1;
}

.event .event_item .contents .link a::before {
	box-sizing: border-box;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: solid 4px #fff;
	position: absolute;
	top: 4px;
	left: 4px;
	z-index: 2;
	content: "";
}

.event .event_item .contents .link a::after {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	font-size: 18px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	content: "受付は終了しました。";
}

@media (max-width: 768px) {
	.event .event_item .contents .main_img {
		margin-bottom: 4.94792vw;
	}

	.event .event_item .contents .main_img .target {
		width: 18.35938vw;
		height: 17.96875vw;
		font-size: 2.86458vw;
		top: -13.54167vw;
		right: -2.34375vw;
	}

	.event .event_item .contents .title {
		background: url(../img/line01.svg) center bottom no-repeat;
		background-size: auto 1.04167vw;
		margin-bottom: 3.90625vw;
		padding-bottom: 3.125vw;
		font-size: 5.72917vw;
	}

	.event .event_item .contents .title::after {
		background: url(../img/icon05.svg) center top 3% no-repeat;
		width: 83.46354vw;
		top: 0;
		right: -2.99479vw;
	}

	.event .event_item .contents .detail .detail_ttl {
		font-size: 4.94792vw;
	}

	.event .event_item .contents .detail dd p {
		font-size: 3.125vw;
		text-align: left;
	}

	.event .event_item .contents .detail dd .date {
		margin-bottom: 3.90625vw;
	}

	.event .event_item .contents .link a {
		height: 13.93229vw;
		line-height: 13.93229vw;
	}

	.event .event_item .contents .link a::after {
		font-size: 2.86458vw;
	}
}

/* ----------------------------------------------------
	restaurant
---------------------------------------------------- */
.restaurant {
	padding: 10vw 0 0;
}

.restaurant .container {
	max-width: 855px;
	margin-top: -10vw;
	padding: 6vw 0 0;
}

.restaurant .restaurant_title {
	text-align: center;
    font-size: 36px;
    margin-bottom: 70px;
}

.restaurant .restaurant_title img {
	width: auto;
	height: 170px;
}

.restaurant .main_img {
	margin-bottom: 42px;
}

.restaurant .title {
	margin-bottom: 30px;
	color: #f18100;
	font-size: 36px;
	text-align: center;
}

.restaurant .title small {
	font-size: 20px;
	display: block;
}

.restaurant .date {
	color: #575757;
    font-size: 24px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.restaurant .date dt {
	margin-right: 0.5em;
	padding: 2px 8px;
	font-size: 24px;
}

.restaurant .text {
	margin: 1em auto 2em;
	font-size: 18px;
	text-align: center;
}

.flex {
    display: flex;
    justify-content: space-between;
}

@media (max-width: 768px) {
	.restaurant {
		padding: 10.67708vw 0 7.42188vw;
	}
    .restaurant .container{
        padding: 6vw 5vw 0;
        margin-top: 0vw;
    }
	.restaurant .restaurant_title {
		margin-bottom: 3.125vw;
        text-align: center;
        font-size: 20px;
        margin: -40px 0 30px;
	}

	.restaurant .restaurant_title img {
		height: 19.53125vw;
	}

	.restaurant .main_img {
		margin-bottom: 7.16146vw;
	}

	.restaurant .title {
		margin-bottom: 0.5em;
		font-size: 4.94792vw;
	}

	.restaurant .title small {
		font-size: 3.6vw;
	}

	.restaurant .date {
		font-size: 3.6vw;
	}

	.restaurant .date dt {
        width: 27%;
		font-size: 3.6vw;
	}

	.restaurant .text {
		font-size: 3.125vw;
	}

	.restaurant .rest_main .text {
		padding: 0 3.125vw;
	}
}

/*
	anniversary
------------------------------ */
.restaurant .anniversary {
	background: #dff6f7;
	margin-bottom: 47px;
	padding: 12px;
}

.restaurant .anniversary .inner {
	padding: 60px 50px;
	border: solid 2px #8edfe1;
	position: relative;
}

.restaurant .anniversary .inner::before {
	background: url(../img/icon04.svg) center center no-repeat;
	width: 109px;
	height: 112px;
	position: absolute;
	top: 48px;
	right: 70px;
	content: "";
}

.restaurant .anniversary .title {
	font-size: 28px;
	text-align: center;
}

.restaurant .anniversary .limited {
	display: flex;
	justify-content: space-between;
}

.restaurant .anniversary .limited_item:first-of-type {
	width: 31%
}

.restaurant .anniversary .limited_item:last-of-type {
	width: 64%;
}

.restaurant .anniversary .limited_item dt {
	background: #60d2d6;
	margin-bottom: 8px;
	color: #fff;
	font-size: 20px;
	text-align: center;
}

.restaurant .anniversary .limited_item dd .img {
	display: flex;
	justify-content: space-between;
}

.restaurant .anniversary .limited_item dd .img li {
	width: 48.439%;
}

.restaurant .anniversary .limited_item dd p {
	margin-top: 1em;
	color: #41a5e2;
	font-weight: bold;
}

.restaurant .reserve {
	margin-bottom: 140px;
	padding: 0 20px;
    width: 100%;
}

.restaurant .reserve a {
	background: #70db6d;
	background: linear-gradient(to right, #f49324 0%, #70db6d 100%);
	margin: 0 auto;
	padding: 4px;
	max-width: 540px;
	width: 100%;
	height: 100px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	display: block;
}

.restaurant .reserve a span {
	height: 100%;
	border: solid 4px #fff;
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 20px;
}

@media (max-width: 768px) {
	.restaurant .anniversary {
		margin-bottom: 7.81250vw;
		padding: 3.125vw;
	}

	.restaurant .anniversary .inner {
		padding: 6.51042vw 4.6875vw;
	}

	.restaurant .anniversary .inner::before {
		background: url(../img/icon04.svg) center center no-repeat;
		width: 14.19271vw;
		height: 14.58333vw;
		position: absolute;
		top: 3vw;
		right: 5vw;
		content: "";
	}

	.restaurant .anniversary .title {
		font-size: 3.90625vw;
	}

	.restaurant .anniversary .limited {
		display: block;
	}

	.restaurant .anniversary .limited_item:first-of-type,
	.restaurant .anniversary .limited_item:last-of-type {
		width: 100%;
	}

	.restaurant .anniversary .limited_item dt {
		margin-bottom: 2.60417vw;
		font-size: 3.90625vw;
	}

	.restaurant .anniversary .limited_item dd .img {
		display: flex;
		justify-content: space-between;
	}

	.restaurant .anniversary .limited_item dd .img li {
		width: 48.439%;
	}

	.restaurant .anniversary .limited_item dd p {
		margin-top: 1em;
		color: #41a5e2;
		font-weight: bold;
	}
    
    .restaurant .flex{
        flex-direction: column;
    }
    .restaurant .reserve {
	    margin: 30px 0 -15px;
    }
    .restaurant .reserve a {
	}
    .restaurant .reserve a span {
        font-size: 16px;
    }
}

/*
	anniversary
------------------------------ */
.restaurant .live {
	background: #607272;
	padding: 60px 50px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.restaurant .live .live_title {
	position: absolute;
	top: -20px;
	left: -56px;
}

.restaurant .live_img {
	width: 47.15231%;
}

.restaurant .live_text {
	width: 47.15231%;
}

.restaurant .live .title,
.restaurant .live .date {
	color: #fff;
	text-align: left;
}

.restaurant .live .title {
	margin-bottom: 0.5em;
	font-size: 28px;
}

.restaurant .live .date {
	font-size: 20px;
	justify-content: flex-start;
}

.restaurant .live .date dt {
	background: url(../img/bg04.svg) center center no-repeat;
}

.restaurant .live .text {
	text-align: left;
}

@media (max-width: 768px) {
	.restaurant .live {
		padding: 7.42188vw 6.25vw;
		display: block;
	}

	.restaurant .live .live_title {
		margin-bottom: 3.125vw;
		position: static;
	}


	.restaurant .live .live_title img {
		height: 19.53125vw;
	}

	.restaurant .live_img {
		width: 100%;
	}

	.restaurant .live_text {
		margin: 0 auto;

		width: 90%;
	}

	.restaurant .live_img {
		margin-bottom: 4.94792vw;
	}

	.restaurant .live .title {
		font-size: 3.90625vw;
	}

	.restaurant .live .date {
		font-size: 3.125vw;
	}

	.restaurant .live .date:first-of-type {
		margin-bottom: 0.5em;
	}

	.restaurant .live .date dt {
		font-size: 2.60417vw;
	}
}

/* ----------------------------------------------------
	linebox
---------------------------------------------------- */
.linebox .container {
	background: url(../img/line02.svg) center top no-repeat;
	margin-top: -10vw;
	padding-top: 10vw;
	max-width: 855px;
}

.linebox .container h2 {
	margin-bottom: -24px;
	position: relative;
	z-index: 1;
}

.linebox .container .contents {
	position: relative;
	z-index: 2;
}

@media (max-width: 768px) {
	.linebox .container {
		padding-top: 10.67708vw;
	}

	.linebox .container h2 {
		margin-bottom: 3.125vw;
		position: relative;
		z-index: 1;
	}
}

/* ----------------------------------------------------
	stayplan
	spaplan
---------------------------------------------------- */
.stayplan,
.spaplan {
	padding: 8vw 0 0;
}

.stayplan .stayplan_title,
.spaplan .spaplan_title {
	text-align: center;
}

.stayplan .stayplan_title img,
.spaplan .spaplan_title img {
	width: auto;
	height: 208px;
}

@media (max-width: 768px) {

	.stayplan,
	.spaplan {
		padding: 0 0 7.42188vw;
	}

	.stayplan .stayplan_title img,
	.spaplan .spaplan_title img {
		height: 19.53125vw;
	}
}

.stayplan .stayplan_list {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.stayplan .stayplan_list .sp_item {
	width: 47.23926%;
	display: flex;
	flex-direction: column;
}

.stayplan .stayplan_list .sp_item.spa {
	width: 50%;
}

.stayplan .stayplan_list .sp_img {
	margin-bottom: 20px;
}

.stayplan .stayplan_list .title {
	margin-top: auto;
	margin-bottom: 20px;
	color: #41a5e2;
	font-size: 28px;
}

.stayplan .stayplan_item.spa-plan .title {
	margin-top: 0;
}

.stayplan .stayplan_list .date {
	margin-top: auto;
	color: #5bc473;
	font-size: 20px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.stayplan .stayplan_list .date dt {
	background: url(../img/bg03.svg) center center no-repeat;
	margin-right: 0.5em;
	padding: 2px 8px;
	font-size: 14px;
	letter-spacing: 0.5em;
}

.stayplan .stayplan_list .text {
	margin-top: 1em;
}

.stayplan .stayplan_list .link a {
	background: #5ac376;
	background: linear-gradient(to right, #41a5e2 0%, #5ac376 100%);
	height: 80px;
	line-height: 80px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	display: block;
}

.stayplan .stayplan_list .link a.comingsoon {
	pointer-events: none;
	position: relative;
	z-index: 1;
}

.stayplan .stayplan_list .link a.comingsoon::before {
	background: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	content: "Coming Soon";
}

.stayplan .sp_item.spa-plan .title,
.stayplan .sp_item.spa-plan .date {
	margin-top: 0;
}

@media (max-width: 768px) {
	.stayplan .stayplan_list {
		display: block;
	}

	.stayplan .stayplan_list .sp_item,
	.stayplan .stayplan_list .sp_item.spa {
		margin-bottom: 3vw;
		width: 100%;
	}

	.stayplan .stayplan_list .sp_img {
		margin-bottom: 3.125vw;
	}

	.stayplan .stayplan_list .title {
		margin-bottom: 3.125vw;
		font-size: 4.94792vw;
	}

	.stayplan .stayplan_list .date {
		margin-top: 3.125vw;
		font-size: 3.125vw;
	}

	.stayplan .stayplan_list .date dt {
		font-size: 2.60417vw;
	}

	.stayplan .stayplan_list .text {
		margin-top: 1em;
	}

	.stayplan .stayplan_list .link a {
		height: 11.19792vw;
		line-height: 11.19792vw;
		font-size: 3.38542vw;
	}
}

/* ----------------------------------------------------
	campaign
---------------------------------------------------- */
.campaign {
	background: url(../img/bg02.png) center top no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 10vw 0 6vw;
}
.campaign_2 {
	background: url(../img/bg04.png) center top no-repeat;
}

.campaign .container {
	margin-top: -10vw;
	padding-top: 10vw;
}

.campaign .campaign_title {
    text-align: center;
    font-size: 36px;
    color: #575757;
    margin-bottom: 80px;  
}

.campaign .campaign_title img {
	width: auto;
	height: 153px;
}
.campaign .title{
    font-size: 28px;
    color: #4c4b4b;
    margin: 60px 0 30px;
}

.campaign .camp_list {
	display: flex;
	flex-wrap: wrap;
}

.campaign .camp_item {
	background: #fff;
	margin-right: calc(100% - 47.2% * 2);
	width: 47.2%;
	font-size: 18px;
}

.campaign .contents {
    margin: 30px 0;
    font-size: 18px;
}

.campaign .camp_item .inner {
	padding: 36px 7.23404%;
	display: flex;
	flex-direction: column;
	position: relative;
}

.campaign .camp_item:nth-child(even) {
	margin-right: 0;
}

.campaign .camp_item .title {
	color: #41a5e2;
	font-size: 26px;
	font-weight: bold;
}

.campaign .camp_item .date {
	color: #5bc473;
	font-size: 24px;
	display: flex;
	align-items: center;
}

.campaign .camp_item .date dt {
	background: url(../img/bg03.svg) center center no-repeat;
	margin-right: 0.5em;
	padding: 2px 8px;
	font-size: 14px;
	letter-spacing: 0.5em;
}

.campaign .camp_item .text {
	margin-top: 1em;
	line-height: 1.8;
}

.campaign .camp_item .sns {
	margin-bottom: 1em;
}

.campaign .camp_item .sns a {
	color: #000;
	display: inline-block;
}

.campaign .camp_item .sns .inst {
	background: url(../img/icon_inst.svg) left center no-repeat;
	padding-left: 36px;
}

.campaign .camp_item .sns a span {
	text-decoration: underline;
}


.campaign .camp_item .link {
	margin-top: auto;
}

.campaign .camp_item .link a {
	background: #5ac376;
	background: linear-gradient(to right, #41a5e2 0%, #5ac376 100%);
	height: 80px;
	line-height: 80px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	display: block;
}
.campaign .bottom {
    margin-bottom: 50px;
}
.campaign .reserve {
	margin: 60px 0 100px;
	padding: 0 20px;
    width: 100%;
}

.campaign .reserve a {
	background: #70db6d;
	background: linear-gradient(to right, #f49324 0%, #70db6d 100%);
	margin: 0 auto;
	padding: 4px;
	max-width: 540px;
	width: 100%;
	height: 100px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	display: block;
}

.campaign .reserve a span {
	height: 100%;
	border: solid 4px #fff;
	display: flex;
	justify-content: center;
	align-items: center;
    font-size: 20px;
}

@media (max-width: 768px) {
	.campaign {
		padding: 10.67708vw 0;
	}
    .campaign .title {
        font-size: 16px;
        margin: 30px 0;
    }
	.campaign .campaign_title {
        text-align: center;
        font-size: 20px;
        margin: 20px 0 40px;
	}

	.campaign .campaign_title img {
		height: 19.53125vw;
	}

	.campaign .camp_list {
		display: block;
	}

	.campaign .camp_item {
		margin: 0 0 6.51042vw;
		width: 100%;
		font-size: 3.125vw;
	}

	.campaign .camp_item .inner {
		padding: 5vw;
	}

	.campaign .camp_item:nth-child(even) {
		margin-right: 0;
	}

	.campaign .camp_item .title {
		font-size: 4.94792vw;
	}

	.campaign .camp_item .date {
		margin-top: 3.125vw;
		font-size: 3.125vw;
	}

	.campaign .camp_item .date dt {
		font-size: 2.60417vw;
	}

	.campaign .camp_item .text {
		margin-top: 1em;
		line-height: 1.8;
	}

	.campaign .camp_item .sns .inst {
		background: url(../img/icon_inst.svg) left center no-repeat;
		padding-left: 6.51042vw;
	}

	.campaign .camp_item .link a {
		height: 11.19792vw;
		line-height: 11.19792vw;
		font-size: 3.38542vw;
	}
    .campaign .bottom {
    margin-bottom: 30px;
    }
    .campaign .reserve {
	margin: 40px 0 60px;
    }
    .campaign .reserve a span {
        font-size: 16px;
    }
    
}

/* ---------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background: #8ed57c;
	padding: 80px 0;
	color: #fff;
}

.footer .container {
	margin: 0 auto 100px;
	max-width: 795px;
}

@media (max-width: 768px) {
	.footer {
		padding: 9.76563vw 0;
	}

	.footer .container {
		margin-bottom: 7.16146vw;
	}
}

/*
	safety
------------------------------ */
.footer .logo{
    margin: 0 auto 40px;
    width: 30%;
}
.footer .container .safety {
	margin-bottom: 60px;
	padding: 0 3.84106% 90px;
	border-bottom: solid 2px #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.footer .container .safety dt {
	width: 26.22517%;
}

.footer .container .safety dd p {
	margin-bottom: 0.75em;
}

.footer .container .safety dd a {
	color: #fff;
	font-size: 20px;
	text-decoration: underline;
	display: block;
}

.footer .container .safety dd a::after {
	content: "＞";
}

.footer .container .safety dd a:hover {
	text-decoration: none;
}

@media (max-width: 768px) {
    .footer .logo{
        margin: 0 auto 20px;
        width: 40%;
    }
	.footer .container .safety {
		margin-bottom: 7.16146vw;
		padding: 0 0 7.16146vw;
		display: block;
	}

	.footer .container .safety dt {
		margin-bottom: 7.16146vw;
		width: 100%;
		text-align: center;
	}

	.footer .container .safety dt img {
		width: 80%;
	}

	.footer .container .safety dd {
		text-align: center;
	}

	.footer .container .safety dd a {
		font-size: 3.38542vw;
		text-decoration: underline;
		display: block;
	}
}

/*
	address
------------------------------ */
.footer address .tel {
	margin-bottom: 100px;
	padding: 0 0 60px;
	text-align: center;
	border-bottom: solid 2px #fff;
}

.footer address .tel dt {
	margin-bottom: 24px;
	font-size: 27px;
	font-weight: bold;
}

.footer address .tel dd a {
	pointer-events: none;
}

.footer address .tel dd a img {
	max-width: 486px;
}

.footer address .address {
	text-align: center;
}

.footer address .address dt {
	margin-bottom: 1em;
	font-size: 24px;
	font-weight: bold;
}

.footer address .address dd p {
	margin-bottom: 30px;
}

.footer address .address dd a {
	max-width: 420px;
	width: 100%;
	height: 80px;
	line-height: 80px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	border: solid 2px #fff;
	display: inline-block;
}

@media (max-width: 768px) {
	.footer address .tel {
		margin-bottom: 7.16146vw;
		padding: 0 0 7.16146vw;
		border-bottom: solid 2px #fff;
	}

	.footer address .tel dt,
	.footer address .address dt {
		margin-bottom: 1em;
		font-size: 3.38542vw;
	}

	.footer address .tel dd a {
		pointer-events: all;
	}

	.footer address .tel dd a img {
		width: 80%;
	}

	.footer address .address dd p {
		margin-bottom: 2.5em;
	}

	.footer address .address dd a {
		font-size: 3.38542vw;
	}
}

/*
	note
------------------------------ */
.footer .footer_note {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1000px;
	font-size: 13px;
}

.footer .footer_note li {
	margin-left: 1em;
	text-indent: -1em;
}

@media (max-width: 768px) {
	.footer .footer_note {
		padding: 0 5.59896vw;
		font-size: 2.86458vw;
	}
}

/*
	hotel_link
------------------------------ */
.hotel_link {
	margin-top: 80px;
	display: flex;
	justify-content: center;
}

.hotel_link::before {
	content: "｜";
}

.hotel_link li::after {
	content: "｜";
}

.hotel_link li a {
	padding: 0 1em;
	color: #fff;
	display: inline-block;
}

@media (max-width: 768px) {
	.hotel_link {
		margin-top: 3em;
		text-align: center;
		display: block;
	}

	.hotel_link::before {
		content: "";
	}

	.hotel_link li::after {
		content: "";
	}

	.hotel_link li a {
		padding: 1em 0;
	}
}

/* ----------------------------------------------------
	pagetop
---------------------------------------------------- */
#pageTop a {
	background: rgba(66, 166, 223, 0.8);
	width: 64px;
	height: 64px;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 10;
}

#pageTop a img {
	width: 16px;
	height: auto;
}

/* ----------------------------------------------------
	fadeIn
---------------------------------------------------- */
/*
	共通初期設定
	パターン1：透明度が変化
------------------------------ */
.fadeBlock {
	opacity: 0;
	transition: all 1s;
}

.fadeBlock.fadeIn {
	opacity: 1;
}