.p-mv {
	position: relative;
}
.p-mv__bg {
	width: 100%;
	height: 100vh;
}
@media screen and (max-width: 767px) {
	.p-mv__bg {
		height: 71.4285714286vw;
	}
}
.p-mv__bg img {
	width: 100%;
	height: 100%;
	display: block;
	-o-object-fit: cover;
	   object-fit: cover;
}
@media screen and (max-width: 767px) {
	.p-mv__bg img {
		-o-object-position: 15% 100%;
		   object-position: 15% 100%;
	}
}
.p-mv__content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.p-mv__content .l-content-inner {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	padding-bottom: 1.6rem;
}
.p-mv__content .title {
	width: 57.5rem;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.p-mv__content .title {
		width: 66.6666666667vw;
	}
}

.l-main {
	background-image: url(../images/stay/bg.jpg);
	position: relative;
	background-size: 100%;
	background-repeat: repeat-y;
}

.p-intro {
	position: relative;
	overflow: hidden;
}
.p-intro .bg {
	padding-top: 5rem;
	padding-bottom: 12.5rem;
	width: 100%;
	background-image: url(../images/stay/img_intro_deco1.png), url(../images/stay/img_intro_deco2.png);
	background-position: left top, right bottom;
	background-size: 35.4rem, 28.4rem;
	background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
	.p-intro .bg {
		padding-top: 0;
		padding-bottom: 16vw;
		background-size: 40vw, 32vw;
	}
}
.p-intro__nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-top: 9.5rem;
}
@media screen and (max-width: 767px) {
	.p-intro__nav {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 8vw 5.3333333333vw;
		padding-top: 32vw;
	}
}
.p-intro__nav .item {
	width: 18.1rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item {
		width: 32vw;
	}
}
.p-intro__nav .item-inn, .p-intro__nav .item img {
	display: block;
}
.p-intro__nav .item a {
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 768px) {
	.p-intro__nav .item a:hover {
		opacity: 0.8;
	}
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item a {
		height: 32vw;
		border-radius: 50%;
	}
}
.p-intro__nav .item a .text {
	text-align: center;
	color: #796a56;
	font-size: 1.7rem;
	line-height: 1;
	font-weight: 300;
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item a .text {
		position: absolute;
		top: 100%;
		margin-top: 0.5em;
		width: 100%;
		left: 50%;
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
		font-size: 3.2vw;
	}
}
.p-intro__nav .item::before {
	content: "";
	width: 1.8rem;
	height: 30.4rem;
	background-image: url(../images/cake/img_intro_nav-line.png);
	background-repeat: no-repeat;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-position: center bottom;
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translateX(-50%) translateY(-100%);
	        transform: translateX(-50%) translateY(-100%);
}
.p-intro__nav .item:nth-of-type(1) {
	margin-right: 4.1rem;
	margin-top: 7.3rem;
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item:nth-of-type(1) {
		margin-right: 0;
		margin-top: -4vw;
		margin-left: 20vw;
	}
}
.p-intro__nav .item:nth-of-type(2) {
	margin-right: 6rem;
	margin-top: 15.5rem;
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item:nth-of-type(2) {
		margin-right: 0;
		margin-top: 0;
	}
}
.p-intro__nav .item:nth-of-type(3) {
	margin-right: 5rem;
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item:nth-of-type(3) {
		margin-right: 0;
		margin-top: -4vw;
		margin-left: -16vw;
	}
}
.p-intro__nav .item:nth-of-type(4) {
	margin-top: 12.2rem;
}
@media screen and (max-width: 767px) {
	.p-intro__nav .item:nth-of-type(4) {
		margin-top: 0;
	}
}

.p-stay {
	color: #221714;
	padding-bottom: 15rem;
}
.p-stay .l-content-inner {
	width: 144rem;
}
.p-stay__box:nth-of-type(2n) .p-stay__col {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	padding-left: 0;
	padding-right: 10rem;
}
@media screen and (max-width: 767px) {
	.p-stay__box:nth-of-type(2n) .p-stay__col {
		padding: 0;
	}
}
.p-stay__box:nth-of-type(2n) .p-stay__col .box1 .cnt {
	padding-left: 4rem;
}
@media screen and (max-width: 767px) {
	.p-stay__box:nth-of-type(2n) .p-stay__col .box1 .cnt {
		padding: 0;
	}
}
@media print, screen and (min-width: 768px) {
	.p-stay__box:nth-of-type(2n) .p-stay__col .box1 .img {
		margin-top: 3rem;
	}
}
@media print, screen and (min-width: 768px) {
	.p-stay__box:nth-of-type(2n) .p-stay__col .box1 .text-jp {
		margin-right: -2em;
	}
}
.p-stay__box:nth-of-type(2n) .p-stay__col .text-en + .price {
	margin-top: 3rem;
}
.p-stay__heading {
	padding: 0 10rem;
}
@media screen and (max-width: 767px) {
	.p-stay__heading {
		padding: 0;
	}
}
.p-stay__heading .title-en img {
	display: block;
}
.p-stay__heading .text-jp {
	margin-top: 1.2rem;
	font-size: 1.7rem;
	line-height: 1.7058823529;
}
@media screen and (max-width: 767px) {
	.p-stay__heading .text-jp {
		line-height: 1.4;
		font-size: 1.4rem;
		margin-bottom: 0.5rem;
	}
}
.p-stay__heading .text-en {
	font-size: 1.2rem;
	line-height: 1.5833333333;
}
.p-stay__col {
	margin-top: 1.6rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-left: 10rem;
}
@media screen and (max-width: 767px) {
	.p-stay__col {
		padding: 0;
		display: block;
	}
}
.p-stay__col img {
	display: block;
	width: 100%;
}
.p-stay__col .box1 {
	width: 36.5rem;
	padding-top: 2.2rem;
}
@media screen and (max-width: 767px) {
	.p-stay__col .box1 {
		width: 100%;
	}
}
.p-stay__col .box1 .img {
	margin-top: 8rem;
}
@media screen and (max-width: 767px) {
	.p-stay__col .box1 .img {
		margin: 3rem -5.3333333333vw 0;
	}
}
.p-stay__col .box2 {
	width: calc(100% - 36.5rem);
}
@media screen and (max-width: 767px) {
	.p-stay__col .box2 {
		width: 100%;
	}
}
.p-stay__col .box2 .cnt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-top: 3rem;
	padding-left: 7rem;
	gap: 4.5rem;
}
@media screen and (max-width: 767px) {
	.p-stay__col .box2 .cnt {
		display: block;
		padding: 0;
		margin-top: 3rem;
	}
	.p-stay__col .box2 .cnt div + div {
		margin-top: 2rem;
	}
}
@media screen and (max-width: 767px) {
	.p-stay__col .box2 .img {
		width: 57.1428571429vw;
		margin: 6.6666666667vw auto auto;
	}
}
.p-stay__col .text-jp {
	font-size: 1.4rem;
	line-height: 1.7142857143;
	letter-spacing: 0.05em;
}
.p-stay__col .text-en {
	font-size: 1.12rem;
	line-height: 1.5454545455;
	margin-top: 3.2rem;
	letter-spacing: 0.025em;
}
.p-stay__col .text1 {
	font-size: 1.4rem;
	line-height: 1.6428571429;
}
.p-stay__col .text2 {
	font-size: 1.2rem;
}
.p-stay__col .text3 {
	margin-top: 1.5rem;
	font-size: 1.1rem;
	line-height: 1.5454545455;
}
.p-stay__col .price {
	font-size: 1.4rem;
	line-height: 1.2;
}
.p-stay__col .price .num {
	font-size: 2.4rem;
}
.p-stay__col .kaiin {
	font-size: 1.2rem;
	line-height: 1.4;
	margin-top: 3rem;
}
.p-stay__col .kaiin + .price {
	margin-top: 0.3rem;
}
.p-stay .btn {
	margin-top: 8rem;
	margin-right: auto;
	margin-left: auto;
	width: 19.5rem;
	height: 4.4rem;
}
@media screen and (max-width: 767px) {
	.p-stay .btn {
		margin-right: auto;
		margin-left: auto;
		margin-top: 10.6666666667vw;
	}
}
.p-stay .btn-inn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: 100%;
	border: 1px solid #796a56;
	color: #796a56;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
.p-stay #starlit {
	margin-top: -2.5rem;
}
@media screen and (max-width: 767px) {
	.p-stay #starlit {
		margin-top: 0;
	}
}
.p-stay #starlit .p-stay__heading .title-en img {
	width: 89.3rem;
}
@media screen and (max-width: 767px) {
	.p-stay #starlit .p-stay__heading .title-en img {
		height: 8.5333333333vw;
		width: auto;
	}
}
@media print, screen and (min-width: 768px) {
	.p-stay #starlit .p-stay__col .box1 {
		width: 39.2rem;
	}
}
@media print, screen and (min-width: 768px) {
	.p-stay #starlit .p-stay__col .box2 {
		width: calc(100% - 39.2rem);
	}
}
.p-stay #starlit .p-stay__col .box2 .cnt {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.p-stay #twinkle {
	padding-top: 14.8rem;
}
@media screen and (max-width: 767px) {
	.p-stay #twinkle {
		padding-top: 13.3333333333vw;
	}
}
.p-stay #twinkle .p-stay__heading .title-en img {
	width: 57.5rem;
}
@media screen and (max-width: 767px) {
	.p-stay #twinkle .p-stay__heading .title-en img {
		height: 8.5333333333vw;
		width: auto;
	}
}
@media print, screen and (min-width: 768px) {
	.p-stay #twinkle .p-stay__col .text-jp {
		margin-right: -1em;
		letter-spacing: 0.025em;
	}
}
@media screen and (max-width: 767px) {
	.p-stay #twinkle .p-stay__col .box2 .img {
		position: relative;
		padding-top: 55%;
	}
	.p-stay #twinkle .p-stay__col .box2 .img img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: block;
		-o-object-fit: cover;
		   object-fit: cover;
	}
}
.p-stay #dozenroses {
	padding-top: 14.8rem;
}
@media screen and (max-width: 767px) {
	.p-stay #dozenroses {
		padding-top: 13.3333333333vw;
	}
}
.p-stay #dozenroses .p-stay__heading .title-en img {
	width: 123.9rem;
}
.p-stay #dozenroses .p-stay__col .text-jp {
	margin-right: -1em;
	letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
	.p-stay #dozenroses .p-stay__col .text-jp {
		margin-right: 0;
	}
}
.p-stay #dozenroses .p-stay__col .price {
	margin-right: -1em;
}
@media screen and (max-width: 767px) {
	.p-stay #dozenroses .p-stay__col .price {
		margin-right: 0;
	}
}
.p-stay #dozenroses .p-stay__col .box2 .cnt {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.p-stay #romantic {
	padding-top: 14.8rem;
}
@media screen and (max-width: 767px) {
	.p-stay #romantic {
		padding-top: 13.3333333333vw;
	}
}
.p-stay #romantic .p-stay__heading .title-en img {
	width: 69.1rem;
}
@media screen and (max-width: 767px) {
	.p-stay #romantic .p-stay__heading .title-en img {
		height: 9.3333333333vw;
		width: auto;
	}
}
@media print, screen and (min-width: 768px) {
	.p-stay #romantic .p-stay__heading .title-en img {
		margin-right: 0;
		margin-left: auto;
	}
	.p-stay #romantic .p-stay__heading .text-jp,
	.p-stay #romantic .p-stay__heading .text-en {
		text-align: right;
	}
}