.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: 80% center;
		   object-position: 80% center;
	}
}
.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: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	padding-bottom: 10.6rem;
}
@media screen and (max-width: 767px) {
	.p-mv__content .l-content-inner {
		padding-bottom: 1.6rem;
	}
}
.p-mv__content .title {
	width: 68rem;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.p-mv__content .title {
		width: 66.6666666667vw;
	}
}

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

.p-intro {
	position: relative;
}
@media screen and (max-width: 767px) {
	.p-intro {
		overflow: hidden;
	}
}
.p-intro .bg {
	padding-top: 5rem;
	padding-bottom: 12.5rem;
	width: 100%;
	background-image: url(../images/cake/img_intro_deco1.png), url(../images/cake/img_intro_deco2.png);
	background-position: left top, right bottom;
	background-size: 50.8rem, 34.3rem;
	background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
	.p-intro .bg {
		padding-top: 0;
		padding-bottom: 16vw;
		background-size: 53.3333333333vw, 53.3333333333vw;
	}
}
.p-intro__nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-top: 19.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%;
		background-color: #00202c;
	}
}
.p-intro__nav .item a .text {
	text-align: center;
	color: #ffffff;
	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;
		bottom: auto;
		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: -5.3333333333vw;
		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-restaurants {
	padding-top: 10.5rem;
	color: #ffffff;
}
@media screen and (max-width: 767px) {
	.p-restaurants {
		padding-top: 16vw;
	}
}
.p-restaurants .l-content-inner {
	width: 144rem;
}
.p-restaurants__box .col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	padding-left: 10rem;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col {
		padding: 0;
		display: block;
	}
}
.p-restaurants__box .col .img {
	width: 95.7rem;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col .img {
		width: 100%;
		margin-bottom: 8vw;
	}
}
.p-restaurants__box .col .cnt {
	width: calc(100% - 95.7rem);
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col .cnt {
		width: 100%;
	}
}
.p-restaurants__box .col2 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0 10rem;
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col2 {
		display: block;
		padding: 0;
		margin-top: 16vw;
	}
}
.p-restaurants__box .col2-img {
	width: 61.9rem;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col2-img {
		width: 100%;
		margin-bottom: 8vw;
	}
}
.p-restaurants__box .col2-img .img-cnt {
	padding-top: 6.8rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col2-img .img-cnt {
		margin-top: 8vw;
		padding-top: 0;
	}
}
.p-restaurants__box .col2-img .text-jp {
	margin-top: 0;
}
.p-restaurants__box .col2-cnt {
	width: calc(100% - 61.9rem);
	padding-left: 5.5rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants__box .col2-cnt {
		width: 100%;
		padding: 0;
	}
}
.p-restaurants__title {
	padding-left: 10rem;
	padding-right: 10rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants__title {
		padding: 0;
	}
}
.p-restaurants__title img {
	display: block;
	max-width: 100%;
}
.p-restaurants__title .title-jp {
	font-size: 1.7rem;
	margin-top: 1.5rem;
}
.p-restaurants .plan1 {
	color: #c5b899;
	font-size: 2.2rem;
	line-height: 1.2;
}
.p-restaurants .plan2 {
	color: #c5b899;
	font-size: 1.2rem;
}
.p-restaurants .tag {
	width: 7.4rem;
}
.p-restaurants .tag img {
	display: block;
}
.p-restaurants .date {
	font-size: 1.9rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
	margin-top: 0.5em;
}
.p-restaurants .date .week {
	font-size: 1.3rem;
}
.p-restaurants .time {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.2;
	margin-top: 0.7em;
}
.p-restaurants .time .small {
	font-size: 1.2rem;
}
.p-restaurants .price {
	font-size: 1.5rem;
	margin-top: 1em;
}
.p-restaurants .price .num {
	font-size: 2.4rem;
}
.p-restaurants .kaiin-price {
	margin-top: 0.8rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}
.p-restaurants .kaiin-price__text {
	font-size: 1.2rem;
	line-height: 1.5;
}
.p-restaurants .kaiin-price .price {
	line-height: 1;
}
.p-restaurants .text-jp {
	font-size: 1.4rem;
	line-height: 1.7142857143;
	letter-spacing: 0.05em;
	margin-top: 1em;
}
.p-restaurants .text-en {
	font-size: 1.1rem;
	line-height: 1.5454545455;
	letter-spacing: 0.025em;
	margin-top: 2.2em;
}
.p-restaurants .note {
	font-size: 1.2rem;
	line-height: 1.5833333333;
	margin-top: 4.7rem;
}
.p-restaurants .bdr {
	border-top: 1px solid rgba(190, 181, 171, 0.5);
	margin-top: 0.5rem;
}
.p-restaurants .plan-box {
	margin-top: 4.8rem;
}
.p-restaurants .plan-box:first-of-type {
	margin-top: 0;
}
.p-restaurants .plan-box .time {
	margin-top: 0;
}
.p-restaurants .plan-box .time2 {
	margin-top: 1.6rem;
}
.p-restaurants .plan-box .note {
	margin-top: 0;
}
@media print, screen and (min-width: 768px) {
	.p-restaurants .plan-box .note {
		margin-right: -2em;
	}
}
.p-restaurants .plan-box .note + .note {
	margin-top: 1.5rem;
}
.p-restaurants .btn {
	margin-top: 8rem;
	margin-right: auto;
	margin-left: auto;
	width: 19.5rem;
	height: 4.4rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants .btn {
		margin-right: auto;
		margin-left: auto;
		margin-top: 10.6666666667vw;
	}
}
.p-restaurants .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 #ffffff;
	color: #ffffff;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
.p-restaurants #stellar {
	margin-top: -33.6rem;
	padding-top: 20rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #stellar {
		margin-top: 0;
		padding-top: 0;
	}
}
.p-restaurants #stellar .p-restaurants__title .title-en img {
	width: 59.2rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #stellar .p-restaurants__title .title-en img {
		width: auto;
		height: 16vw;
	}
}
.p-restaurants #brise {
	padding-top: 14.7rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #brise {
		padding-top: 16vw;
	}
}
.p-restaurants #brise .p-restaurants__title .title-en img {
	width: 89.5rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #brise .p-restaurants__title .title-en img {
		width: auto;
		height: 9.3333333333vw;
	}
}
.p-restaurants #brise .p-restaurants__title .title-jp {
	margin-top: 0;
}
.p-restaurants #brise .p-restaurants__title-text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	padding-right: 15rem;
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.p-restaurants #brise .p-restaurants__title-text {
		padding: 0;
		margin-top: 5.3333333333vw;
	}
}
.p-restaurants #brise .p-restaurants__title-text .text-jp {
	margin-top: 0;
}
.p-restaurants #brise .col {
	margin-top: 4.5rem;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	padding-right: 10rem;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
	.p-restaurants #brise .col {
		padding: 0;
		margin-top: 8vw;
	}
}
.p-restaurants #brise .col .img {
	width: 92.4rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #brise .col .img {
		width: 100%;
	}
}
.p-restaurants #brise .col .cnt {
	width: calc(100% - 92.4rem);
	padding-left: 4.5rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #brise .col .cnt {
		padding: 0;
		width: 100%;
	}
}
.p-restaurants #brise .plan-box {
	margin-top: 2.3rem;
}
.p-restaurants #brise .plan-box:first-of-type {
	margin-top: 0;
}
.p-restaurants #brise .plan-tag {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.p-restaurants #brise .plan-tag .tag {
	margin-top: 0.9rem;
}
.p-restaurants #brise .bdr {
	margin-top: 0;
}
.p-restaurants #brise .price {
	margin-top: 0;
}
.p-restaurants #brise .price-note {
	font-size: 1.15rem;
	margin-top: 1.2rem;
}
.p-restaurants #brise .price-note + .price {
	line-height: 1;
}
.p-restaurants #brise .time2 {
	font-size: 1.3rem;
}
.p-restaurants #brise .note {
	margin-top: 1.7rem;
}
.p-restaurants #katsura {
	padding-top: 13.7rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #katsura {
		padding-top: 16vw;
	}
}
.p-restaurants #katsura .p-restaurants__title {
	padding: 0;
}
.p-restaurants #katsura .p-restaurants__title img {
	width: 87.9rem;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.p-restaurants #katsura .p-restaurants__title img {
		width: auto;
		height: 6.9333333333vw;
	}
}
.p-restaurants #katsura .col {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}
.p-restaurants #katsura .col .img {
	width: 98.3rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #katsura .col .img {
		width: 100%;
	}
}
.p-restaurants #katsura .col .cnt {
	width: calc(100% - 98.3rem);
	padding-right: 4.5rem;
	padding-top: 9.3rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #katsura .col .cnt {
		padding: 0;
		width: 100%;
	}
}
.p-restaurants #katsura .img-img {
	margin-top: 7rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #katsura .img-img {
		margin-top: 8vw;
	}
}
.p-restaurants #katsura .plan-box + .plan-box {
	margin-top: 2.7rem;
}
.p-restaurants #katsura .plan-box + .plan-box .tag {
	margin-top: 5rem;
}
.p-restaurants #katsura .tag {
	margin-bottom: 1.7rem;
}
.p-restaurants #katsura .bdr {
	margin-top: 1.1rem;
}
.p-restaurants #katsura .plan img {
	display: block;
}
.p-restaurants #katsura .plan.-katsura img {
	width: 26.9rem;
}
.p-restaurants #katsura .plan.-rei img {
	width: 24.5rem;
}
.p-restaurants #katsura .plan.-ao img {
	width: 26.5rem;
}
.p-restaurants #katsura .plan.-sei img {
	width: 26.5rem;
}
.p-restaurants #katsura .price {
	margin-top: 1.2rem;
	line-height: 1;
}
.p-restaurants #lobby {
	padding-top: 14rem;
	padding-bottom: 10.2rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby {
		padding-top: 16vw;
		padding-bottom: 26.6666666667vw;
	}
}
.p-restaurants #lobby .p-restaurants__title .title-en img {
	width: 50.1rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby .p-restaurants__title .title-en img {
		width: auto;
		height: 9.3333333333vw;
	}
}
.p-restaurants #lobby .p-restaurants__title .title-jp {
	margin-top: 0;
}
.p-restaurants #lobby .p-restaurants__title-text {
	padding-right: 10rem;
	padding-left: 10rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby .p-restaurants__title-text {
		padding: 0;
	}
}
.p-restaurants #lobby .col {
	margin-top: 4.5rem;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	padding-right: 10rem;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby .col {
		padding: 0;
		margin-top: 8vw;
	}
}
.p-restaurants #lobby .col .img {
	width: 94.2rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby .col .img {
		width: 100%;
		margin-top: 8vw;
	}
}
.p-restaurants #lobby .col .cnt {
	width: calc(100% - 94.2rem);
	padding-left: 4.5rem;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby .col .cnt {
		width: 100%;
		padding: 0;
	}
}
.p-restaurants #lobby .plan1 {
	font-size: 2.7rem;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
	.p-restaurants #lobby .plan1 {
		font-size: 6.6666666667vw;
	}
}
.p-restaurants #lobby .bdr {
	margin-top: 0.8rem;
}
.p-restaurants #lobby .price {
	line-height: 1;
	margin-top: 2.2rem;
}
.p-restaurants #lobby .kaiin-price {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}
.p-restaurants #lobby .kaiin-price .price {
	margin-left: 1.5em;
	margin-top: 0;
}
.p-restaurants #lobby .note {
	margin-top: 2.4rem;
}
.p-restaurants #lobby .btn {
	margin-top: 6rem;
}