.p-mv {
	position: relative;
}
.p-mv__bg {
	width: 100%;
	height: 100vh;
}
@media screen and (max-width: 767px) {
	.p-mv__bg {
		height: 75vh;
	}
}
.p-mv__bg img {
	width: 100%;
	height: 100%;
	display: block;
	-o-object-fit: cover;
	   object-fit: cover;
}
.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: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}
.p-mv__content .title {
	width: 59.8rem;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.p-mv__content .title {
		width: 66.6666666667vw;
	}
}

.p-intro {
	position: relative;
	background: -webkit-gradient(linear, left top, left bottom, from(#003547), to(#00202c));
	background: linear-gradient(to bottom, #003547 0%, #00202c 100%);
}
.p-intro .bg {
	padding-top: 5rem;
	padding-bottom: 7.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: 16vw;
		padding-bottom: 16vw;
		background-size: 53.3333333333vw, 53.3333333333vw;
	}
}
.p-intro__content1 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	padding-right: 10rem;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.p-intro__content1 {
		padding-right: 0;
		display: block;
	}
}
.p-intro__title {
	color: #ffffff;
	font-size: 3.6rem;
	font-weight: 300;
	letter-spacing: 0.05em;
	line-height: 1.4722222222;
}
@media screen and (max-width: 767px) {
	.p-intro__title {
		font-size: 5.3333333333vw;
	}
}
.p-intro__text {
	color: #ffffff;
	font-size: 2.1rem;
	letter-spacing: 0.05em;
	line-height: 1.9047619048;
	margin-top: 1.8rem;
}
@media screen and (max-width: 767px) {
	.p-intro__text {
		font-size: 4vw;
	}
}
.p-intro .en {
	margin-top: 3.6rem;
}
@media screen and (max-width: 767px) {
	.p-intro .en {
		margin-top: 8vw;
	}
}
.p-intro .en .p-intro__title {
	font-size: 2.2rem;
	line-height: 1.4545454545;
}
@media screen and (max-width: 767px) {
	.p-intro .en .p-intro__title {
		font-size: 5.3333333333vw;
	}
}
.p-intro .en .p-intro__text {
	font-size: 1.5rem;
	line-height: 1.5333333333;
}
.p-intro__nav {
	margin-top: 15rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
@media screen and (max-width: 767px) {
	.p-intro__nav {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		gap: 8vw 5.3333333333vw;
		margin-top: 16vw;
	}
}
.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:nth-of-type(1) {
		margin-left: 20vw;
	}
	.p-intro__nav .item:nth-of-type(2) {
		margin-top: -4vw;
	}
	.p-intro__nav .item:nth-of-type(3) {
		margin-left: -17vw;
		margin-top: 4vw;
	}
	.p-intro__nav .item:nth-of-type(5) {
		margin-top: -1.3333333333vw;
		margin-left: 17vw;
	}
	.p-intro__nav .item:nth-of-type(6) {
		margin-top: 2.6666666667vw;
	}
}
.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.4rem;
	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%);
}
@media print, screen and (min-width: 768px) {
	.p-intro__nav .item:nth-of-type(2) {
		margin-top: 11.6rem;
		margin-left: -0.3rem;
	}
	.p-intro__nav .item:nth-of-type(3) {
		margin-top: 4.2rem;
		margin-left: 1.8rem;
	}
	.p-intro__nav .item:nth-of-type(4) {
		margin-top: -5rem;
		margin-left: 2.3rem;
	}
	.p-intro__nav .item:nth-of-type(5) {
		margin-top: 6rem;
		margin-left: 1.2rem;
	}
	.p-intro__nav .item:nth-of-type(6) {
		margin-top: 1.3rem;
		margin-left: 2.1rem;
	}
}
.p-intro__content2 {
	margin-top: 5rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
@media screen and (max-width: 767px) {
	.p-intro__content2 {
		margin-top: 8vw;
	}
}
.p-intro__note {
	color: #ffffff;
	font-size: 1.8rem;
	line-height: 2;
}
@media screen and (max-width: 767px) {
	.p-intro__note {
		font-size: 4.2666666667vw;
	}
}

.p-cake {
	background-color: #f5f5f2;
	padding-top: 10.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake {
		padding-top: 16vw;
	}
}
.p-cake .l-content-inner {
	width: 144rem;
}
.p-cake__box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-left: 14rem;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
	.p-cake__box {
		display: block;
		padding: 8vw 0;
		overflow-x: hidden;
	}
}
.p-cake__box .img {
	width: 71.9rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.p-cake__box .img {
		width: 100%;
		margin-bottom: 8vw;
	}
}
.p-cake__box .img img {
	position: relative;
	z-index: 1;
}
.p-cake__box .img::after {
	display: block;
	position: absolute;
}
@media screen and (max-width: 767px) {
	.p-cake__box .img::after {
		content: none !important;
	}
}
.p-cake__box .cnt {
	width: calc(100% - 71.9rem);
}
@media screen and (max-width: 767px) {
	.p-cake__box .cnt {
		width: 100%;
	}
}
.p-cake__box:nth-of-type(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	padding-left: 0;
}
.p-cake__box:nth-of-type(even) .cnt {
	padding-left: 3.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake__box:nth-of-type(even) .cnt {
		padding: 0;
	}
}
.p-cake .title-en {
	max-width: 100%;
}
.p-cake .title-en img {
	display: block;
	max-width: 100%;
}
.p-cake .title-jp {
	font-size: 1.8rem;
	line-height: 1;
	margin-top: 1.2rem;
}
.p-cake .limited {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.8rem;
	margin-top: 2.4rem;
}
.p-cake .limited li {
	display: inline-block;
	font-size: 1.4rem;
	color: #ffffff;
	background-color: #002b38;
	padding: 0.4em 1em;
	line-height: 1;
}
.p-cake .text {
	font-size: 1.4rem;
	line-height: 1.7142857143;
	margin-top: 3.5rem;
}
.p-cake .text-en {
	font-size: 1.2rem;
	line-height: 1.5454545455;
	margin-top: 2.2rem;
}
.p-cake .box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake .box {
		display: block;
	}
}
.p-cake .box-cnt {
	max-width: calc(100% - 34.4rem);
	padding-right: 4rem;
}
@media screen and (max-width: 767px) {
	.p-cake .box-cnt {
		max-width: 100%;
		padding: 0;
	}
}
.p-cake .box-img {
	width: 34.4rem;
}
@media screen and (max-width: 767px) {
	.p-cake .box-img {
		width: 100%;
		margin-top: 4vw;
	}
}
.p-cake .box.-block {
	display: block;
}
.p-cake .box.-block .box-img {
	margin-top: 2rem;
}
@media screen and (max-width: 767px) {
	.p-cake .box.-block .box-img {
		margin-top: 4vw;
	}
}
.p-cake .box.-block + .btn {
	margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake .box.-block + .btn {
		margin-top: 8vw;
	}
}
.p-cake .size {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
.p-cake .price {
	font-size: 2.4rem;
	line-height: 1;
}
.p-cake .note {
	font-size: 1.2rem;
	line-height: 1.6666666667;
	letter-spacing: 0.025em;
	margin-top: 1rem;
}
.p-cake .btn {
	margin-top: 2rem;
	width: 19.5rem;
	height: 4.4rem;
}
@media screen and (max-width: 767px) {
	.p-cake .btn {
		margin-right: auto;
		margin-left: auto;
	}
}
.p-cake .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 #002b38;
	color: #002b38;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
.p-cake .size-price {
	color: #002b38;
	font-size: 1.2rem;
}
.p-cake .size-price span {
	font-size: 2.4rem;
}
.p-cake .size-price span span {
	font-size: 1.6rem;
}
.p-cake #ensemble .p-cake__title .title-en {
	width: 39.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake #ensemble .p-cake__title .title-en {
		width: 42.6666666667vw;
	}
}
.p-cake #harmonie .p-cake__title .title-en {
	width: 54.3rem;
}
@media screen and (max-width: 767px) {
	.p-cake #harmonie .p-cake__title .title-en {
		width: 66.6666666667vw;
	}
}
.p-cake #harmonie .img::after {
	content: url(../images/cake/img_cake_deco02.svg);
	width: 17.9rem;
	left: 28.9rem;
	bottom: -3.5rem;
}
@media print, screen and (min-width: 768px) {
	.p-cake #snow {
		padding-bottom: 11rem;
	}
}
.p-cake #snow .p-cake__title .title-en {
	width: 53.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake #snow .p-cake__title .title-en {
		width: 62.6666666667vw;
	}
}
.p-cake #snow .p-cake__title .title-jp {
	margin-top: -0.6rem;
}
@media screen and (max-width: 767px) {
	.p-cake #snow .p-cake__title .title-jp {
		margin-top: 0.5rem;
	}
}
.p-cake #snow .img::after {
	content: url(../images/cake/img_cake_deco03.svg);
	width: 13.9rem;
	right: 11.5rem;
	bottom: -14.9rem;
}
.p-cake #foyer .p-cake__title .title-en {
	width: 22.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake #foyer .p-cake__title .title-en {
		width: 26.6666666667vw;
	}
}
.p-cake #foyer .p-cake__title .title-jp {
	margin-top: -0.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake #foyer .p-cake__title .title-jp {
		margin-top: 0.5rem;
	}
}
.p-cake #foyer .img::after {
	content: url(../images/cake/img_cake_deco04.svg);
	width: 17.9rem;
	right: 7.4rem;
	bottom: 9rem;
}
@media print, screen and (min-width: 768px) {
	.p-cake #foyer .box-img {
		margin-top: -0.3em;
	}
}
.p-cake #foyer .box-img .detail + .detail {
	margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake #foyer .box-img .detail + .detail {
		margin-top: 4vw;
	}
}
.p-cake #foyer .note {
	margin-top: 3rem;
}
.p-cake #chocolate {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.p-cake #chocolate .p-cake__title {
	width: 100%;
	margin-bottom: 4.5rem;
}
@media screen and (max-width: 767px) {
	.p-cake #chocolate .p-cake__title {
		margin-bottom: 4vw;
	}
}
.p-cake #chocolate .p-cake__title .title-en {
	width: 91.7rem;
}
@media screen and (max-width: 767px) {
	.p-cake #chocolate .p-cake__title .title-en {
		width: 100%;
	}
}
.p-cake #chocolate .img::after {
	content: url(../images/cake/img_cake_deco05.svg);
	width: 26.6rem;
	right: 4.5rem;
	bottom: -2.3rem;
}
.p-cake #chocolate .subbox + .subbox {
	margin-top: 3.3rem;
}
.p-cake #chocolate .subttl {
	max-width: 100%;
}
.p-cake #chocolate .subttl.-sub1 {
	width: 40.5rem;
	margin-bottom: -0.8rem;
}
@media screen and (max-width: 767px) {
	.p-cake #chocolate .subttl.-sub1 {
		margin-bottom: 0;
		width: 66.6666666667vw;
	}
}
.p-cake #chocolate .subttl.-sub2 {
	width: 40.7rem;
}
@media screen and (max-width: 767px) {
	.p-cake #chocolate .subttl.-sub2 {
		width: 66.6666666667vw;
	}
}
.p-cake #chocolate .subttl.-sub3 {
	width: 32.1rem;
}
@media screen and (max-width: 767px) {
	.p-cake #chocolate .subttl.-sub3 {
		width: 53.3333333333vw;
	}
}
.p-cake #chocolate .subttl-jp {
	font-size: 1.8rem;
	line-height: 1;
	margin-top: 1.2rem;
}
.p-cake #chocolate .text {
	margin-top: 2rem;
}
.p-cake #chocolate .text-en {
	margin-top: 0.5rem;
}
.p-cake #chocolate .size-price {
	margin-top: -0.8rem;
}
@media screen and (max-width: 767px) {
	.p-cake #chocolate .size-price.adj {
		margin-top: 1rem;
		line-height: 1.5;
	}
}
.p-cake #chocolate .size-price span span {
	display: inline-block;
	margin-right: 0.3em;
}
.p-cake #chocolate .btn {
	margin-top: 5rem;
}
.p-cake #stollen {
	padding-bottom: 14rem;
}
.p-cake #stollen .p-cake__title .title-en {
	width: 28.1rem;
}
@media screen and (max-width: 767px) {
	.p-cake #stollen .p-cake__title .title-en {
		width: 40vw;
	}
}
@media print, screen and (min-width: 768px) {
	.p-cake #stollen .text {
		margin-top: 6.5rem;
	}
	.p-cake #stollen .size-price {
		margin-top: 0.7rem;
	}
	.p-cake #stollen .btn {
		margin-top: 3.5rem;
	}
}