@charset "utf-8";
/* CSS Document */

/* Loading背景画面設定　*/
#splash {
/*fixedで全面に固定*/
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#9af3de;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width:350px;
}

/* fadeUpをするアイコンの動き */
.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*メインビジュアル*/

@media screen and (min-width:961px) { /*PC*/
	.p-mainvisual {
		background:url("../img/kv.webp") center top no-repeat;
		width:100%;
		max-width: 1920px;
		background-size: cover;
		margin:0 auto;
		position: relative;
		aspect-ratio:1920 / 1080;
		max-height: 1100px;
		border-radius: 30px;
		overflow: hidden;
		border:3px solid #fff;
	}

	.p-mainlogo {
		background:url("../img/cafelogo.webp") center top no-repeat;
		aspect-ratio:911 / 242;
		width:40%;
		background-size: cover;
		position: absolute;
		left:0;
		right:0;
		margin:0 auto;
		bottom:30px;
		z-index: 10;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-mainvisual {
		background:url("../img/mobile_kv.webp") center top no-repeat;
		width:100%;
		background-size: cover;
		margin:0 auto;
		position: relative;
		aspect-ratio:2 / 3;
	}
}


/*全体サブ*/

.p-head {
	width:100%;
	margin:0 auto;
	max-width: 720px;
}

.p-pat-white {
	background:url("../img/bg_repeat_decogroup_white_pc.png") center top repeat;
	background-size: 1440px auto;
	padding:32px 0 60px;
}

.p-text {
	width:100%;
	margin:0 auto;
	box-sizing: border-box;
	padding:24px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	
	font-weight: 400;
	color:#350055;
	text-align: left;
	font-size: 1.8rem;
	line-height: 1.6;
	background-color:#fff;
	border-radius: 20px;
	box-shadow:0 5px 10px rgba(0,0,0,0.1);
}

.p-text p {
	transform: rotate(0.03deg);
}

.p-text strong {
	font-weight: 700;
	background: linear-gradient(transparent 60%, #9af3de 30%);
}

h3.p-topics {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 700;
	font-size: 2.5rem;
	min-height:54px;
	border-radius: 27px;
	padding:8px;
	width:100%;
	max-width: 600px;
	margin:0 auto;
	color:#fff;
	background-color:#c438c2;
	display: flex;
	justify-content: center;
	align-items: center;
}

h4.p-topics2 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 700;
	font-size: 2.2rem;
	padding:8px;
	width:100%;
	max-width: 960px;
	margin:0 auto;
	color:#c438c2;
	background-color:#fff;
	border:1px solid #c438c2;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*アウトライン*/

@media screen and (min-width:961px) { /*PC*/
	.p-outline-wrap {
		width:100%;
		position: relative;
		box-sizing: border-box;
	}
	.p-outline-image {
		width:100%;
		margin:0 auto 30px;
		box-shadow: 0 0 10px rgba(0,0,0,0.3);
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-outline-wrap {
		width:100%;
	}
	.p-outline-text {
		width:100%;
		position: relative;
		background:url("../img/mobile_outline.webp") center 30% no-repeat;
		background-size: cover;
		aspect-ratio:2 / 3;
		box-sizing: border-box;
	}
	.p-outline-text img {
		display: none;
	}
	.p-outline-link {
		display: flex;
		justify-content: space-between;
		width:100%;
		margin:-35% auto 0;
		z-index: 15;
	}
	.p-outline-link a {
		width:31%;
	}
}

/*ムービー*/

.p-movie-wrap {
	width:100%;
	position: relative;
}

.p-movie-wrap iframe {
	width:100%;
	aspect-ratio: 16 / 9!important;
}

/*メニュー*/

.p-drink-wrap {
	width:100%;
	display: flex;
	justify-content: center;
	gap:24px;
	flex-wrap: wrap;
}

.p-food-wrap {
	width:100%;
	max-width: 900px;
	margin:0 auto;
	display: flex;
	justify-content: flex-start;
	gap:24px;
	flex-wrap: wrap;
}

@media screen and (min-width:1025px) { /*PC-LARGE*/
	.p-drink-wrap .p-menu-box {
		width:calc((100% - 73px) / 4);
	}
	.p-food-wrap .p-menu-box {
		width:calc((100% - 25px) / 2);
	}
}
@media screen and (max-width:1024px) { /*PC-MIDDLE*/
	.p-drink-wrap .p-menu-box {
		width:calc((100% - 49px) / 3);
	}
	.p-food-wrap .p-menu-box {
		width:100%;
	}
}
@media screen and (max-width:728px) { /*MB*/
	.p-drink-wrap .p-menu-box {
		width:100%;
	}
	.p-food-wrap .p-menu-box {
		width:100%;
	}
}

.p-menu-box {
	background-color:#F4DDFF;
	border-radius: 10px;
	box-sizing: border-box;
	padding:10px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	display: flex;
	flex-direction: column;
	gap:8px;
}

.p-menu-title {
	background-color:#c438c2;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:8px 12px;
	color:#fff;
	font-size: 2rem;
	transform: rotate(0.03deg);
	font-weight: 700;
	text-align: justify;
}

.p-menu-img {
	border-radius: 10px; 
	overflow: hidden;
	position: relative;
	aspect-ratio:1 / 1;
}

.p-menu-tag {
	position: absolute;
	left:10px;
	bottom:10px;
	color:#fff;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:4px 12px;
	transform: rotate(0.03deg);
	font-weight: 700;
	font-size: 1.7rem;
}

.p-menu-text {
	background-color:#fff;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:8px 12px;
	color:#734b3c;
	font-size: 1.8rem;
	transform: rotate(0.03deg);
	font-weight: 400;
	text-align: justify;
	line-height: 1.6;
}

.p-menu-material {
	background-color:#F1F1F1;;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:4px 12px;
	color:#734b3c;
	font-size: 1.4rem;
	transform: rotate(0.03deg);
	font-weight: 400;
	text-align: justify;
}

.p-menu-price {
	background-color:#FFF6C3;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:8px 12px;
	color:#82492C;
	font-size: 2.7rem;
	transform: rotate(0.03deg);
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top:auto;
}
.p-menu-price span {
	font-size: 1.6rem;
	font-weight: 400;
}

/*ノベルティ*/

.p-coaster-wrap {
	width:100%;
}

.p-coaster-wrap ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:12px;
}
.p-coaster-wrap ul li {
	border-radius: 10px;
	overflow: hidden;
	box-shadow:0 0 10px rgba(152,107,58,0.5);
}

@media screen and (min-width:1201px) { /*PC-LARGE*/
	.p-coaster-wrap ul li {
		width: calc((100% - 48px ) / 5);
	}
}
@media screen and (max-width:1200px) { /*PC-MIDDLE*/
	.p-coaster-wrap ul li {
		width: calc((100% - 36px ) / 4);
	}
}
@media screen and (max-width:960px) { /*PC-MIDDLE*/
	.p-coaster-wrap ul li {
		width: calc((100% - 24px ) / 3);
	}
}
@media screen and (max-width:728px) { /*MB*/
	.p-coaster-wrap ul li {
		width: calc((100% - 12px ) / 2);
	}
}

.p-mat-wrap {
	width:100%;
}

.p-mat-wrap ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:12px;
}
.p-mat-wrap ul li {
	border-radius: 10px;
	overflow: hidden;
	box-shadow:0 0 10px rgba(152,107,58,0.5);
}

@media screen and (min-width:729px) { /*PC-LARGE*/
	.p-mat-wrap ul li {
		width: calc((100% - 12px ) / 2);
	}
}
@media screen and (max-width:728px) { /*MB*/
	.p-mat-wrap ul li {
		width: 100%;
	}
}

/*オーダー*/

.p-preorder-link {
	border:4px solid #EECAFF;
	background-color: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	position: relative;
	margin:0 auto;
	width:100%;
	max-width: 900px;
	padding:8px 8px 16px;
}

.p-preorder-link a {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 3rem;
	transform: rotate(0.03deg);
	font-weight: 700;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#fcecfc+0,fba6e1+50,fd89d7+51,ff7cd8+100;Pink+Gloss+%232 */
background: linear-gradient(to bottom,  rgba(252,236,252,1) 0%,rgba(251,166,225,1) 50%,rgba(253,137,215,1) 51%,rgba(255,124,216,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */



	width:100%;
	display: block;
	color:#FFFFFF;
	padding:16px 12px;
	border-radius: 10px;
	box-shadow:0 8px 0 rgba(147,14,98,1.00);
	transition: all 0.3s;
}

.p-preorder-link a:hover {
	text-decoration: none;
	transform: translateY(8px);
	box-shadow:0 0 0 rgba(0,0,0,0);
	opacity: 0.6
}

.p-preorder-link a:hover {
	text-decoration: none;
}

.p-order-wrap {
	width:100%;
	display: flex;
	justify-content: flex-start;
	gap:24px;
	flex-wrap: wrap;
}
@media screen and (min-width:1281px) { /*PC-LARGE*/
	.p-order-wrap .p-order-box {
		width:calc((100% - 73px) / 4);
	}
}
@media screen and (max-width:1280px) { /*PC-LARGE*/
	.p-order-wrap .p-order-box {
		width:calc((100% - 49px) / 3);
	}
}
@media screen and (max-width:1024px) { /*PC-MIDDLE*/
	.p-order-wrap .p-order-box {
		width:calc((100% - 25px) / 2);
	}
}
@media screen and (max-width:728px) { /*MB*/
	.p-order-wrap .p-order-box {
		width:100%;
	}
}

.p-order-box {
	background-color:#F4DDFF;
	border-radius: 10px;
	box-sizing: border-box;
	padding:10px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	display: flex;
	flex-direction: column;
	gap:8px;
}

.p-order-title {
	border-radius: 10px; 
	box-sizing: border-box;
	padding:8px 12px;
	color:#fff;
	font-size: 2rem;
	transform: rotate(0.03deg);
	font-weight: 700;
	text-align: justify;
}

.p-order-img {
	border-radius: 10px; 
	overflow: hidden;
	position: relative;
	aspect-ratio:1 / 1;
	background-color:#fff;
	width:100%;
}

.p-order-img a img {
	width:100%;
	transition: all 0.3s;
}

.p-order-img a:hover img {
	opacity: 0.6;
}

.p-order-zoom {
	position: absolute;
	right:10px;
	bottom:10px;
	background:url("../img/zoom_icon.webp") rgba(0,0,0,0.3) left top no-repeat;
	background-size: cover;
	width:40px;
	height:40px;
	border-radius: 20px;
	overflow: hidden;
	box-shadow:0 0 10px rgba(0,0,0,0.4);
}

.p-order-tag {
	position: absolute;
	left:10px;
	bottom:10px;
	color:#fff;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:6px 16px;
	transform: rotate(0.03deg);
	font-weight: 700;
	font-size: 1.8rem;
	border:3px solid #fff;
}

.p-order-text {
	background-color:#fff;
	border-radius: 10px; 
	box-sizing: border-box;
	padding:8px 12px;
	color:#734b3c;
	font-size: 1.8rem;
	transform: rotate(0.03deg);
	font-weight: 400;
	text-align: left;
	line-height: 1.6;
}

.p-order-limited {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#cb5042+0,a52226+100 */
background: linear-gradient(to right,  #cb5042 0%,#a52226 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-radius: 10px; 
	box-sizing: border-box;
	padding:4px 12px;
	color:#ffffff;
	font-size: 1.6rem;
	transform: rotate(0.03deg);
	font-weight: 700;
	text-align: center;
}

.p-order-date {
	width:100%;
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	gap:3px;
	background-color:#F5F5F5;
	box-sizing: border-box;
	padding:10px;
}

.p-order-date dl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	transform: rotate(0.03deg);
	font-size:1.6rem;
	margin-bottom:3px;
	line-height: 1.6;
}

.p-order-date dl dt {
	background-color:#c438c2;
	padding:8px;
	box-sizing: border-box;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.p-order-date dl dd {
	background-color:#FFFFFF;
	padding:8px;
	box-sizing: border-box;
	color:#c438c2;
}

@media screen and (min-width:961px) {
	.p-order-date dl dt {
		width:30%;
	}

	.p-order-date dl dd {
		width:70%;
	}
}
@media screen and (max-width:960px) {
	.p-order-date dl dt {
		width:100%;
	}

	.p-order-date dl dd {
		width:100%;
	}
}

.p-comingsoon {
	width:100%;
	max-width:720px;
	margin:0 auto 60px;
}

/*インフォ*/

.p-info-block {
	width:100%;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

@media screen and (min-width:1025px) {
	.p-map {
		display: block;
		width:550px;
		position: relative;
		box-sizing: border-box;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-map {
		display: block;
		width:100%;
		position: relative;
		box-sizing: border-box;
	}
} /*MB*/


iframe.map_pc {
	width:100%;
}

.p-info-wrap {
	display: block;
	height:auto;
	box-sizing: border-box;
	color:#060032;
	margin:0 auto 0;
	position: relative;
}

@media screen and (min-width:1025px) {
	.p-info-wrap {
		width:calc(100% - 550px);
		padding:0 50px;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-info-wrap {
		width:100%;
	}
} /*MB*/

.p-info-wrap p {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 400;
}

.p-info-wrap a {
	color:#00a0e9;
	text-decoration: none;
}

.p-info-wrap a:hover {
	color:#00a0e9;
	text-decoration: underline;
}

.p-info-wrap dl {
	display: flex;
	justify-content: space-between;
	width:100%;
	border-bottom:1px solid rgba(6,0,50,0.5);
	font-size:1.8rem;
	line-height: 1.6;
	flex-wrap: wrap;
}

.p-info-wrap dl:first-child {
	border-top:1px solid rgba(6,0,50,0.5);
}

.p-info-wrap dl dt {
	text-align: left;
	width:30%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.p-info-wrap dl dd {
	width:70%;
	text-align: left;
	box-sizing: border-box;
}

@media screen and (min-width:1025px) {
	.p-info-wrap dl dt {
		width:30%;
		padding:18px 0;
	}

	.p-info-wrap dl dd {
		width:70%;
		padding:18px 0;
	}
} /*PC*/
@media screen and (max-width:1024px) {
	.p-info-wrap dl dt {
		width:100%;
		padding:8px 0 0;
	}

	.p-info-wrap dl dd {
		width:100%;
		padding:8px 0;
	}
} /*MB*/

/*諸注意*/

.p-attention {
	font-size: 1.7rem;
	line-height: 1.65;
	color:#060032;
	text-align: left;
}

/*フッター*/

.p-foot-logo {
	width:100%;
	max-width: 500px;
	margin:0 auto;
}

.p-copyright {
	color:#ffffff;
	text-align: center;
	font-size: 1.6rem;
	margin:0 auto;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	font-weight: 400;
}

.p-foot-link {
	margin:0 auto;
	display: flex;
	justify-content: center;
	gap:24px;
	position: relative;
	width:100%;
}

.p-foot-link a {
	display: block;
	background-color: #fff;
	position: relative;
	border:1px solid #060032;
	box-sizing: border-box;
	aspect-ratio:3 / 1;
}

.p-foot-link a img {
	width:100%;
	transition: all 0.3s;
}

.p-foot-link a:hover img {
	opacity: 0.6;
}

@media screen and (min-width:729px) { /*PC*/
	.p-foot-link a {
		width:240px;
	}
} 
@media screen and (max-width:728px) { /*MB*/
	.p-foot-link {
		flex-direction: column;
	}
	.p-foot-link a {
		width:70%;
		margin:0 auto;
	}
}

.p-snsbt {
	display: flex;
	justify-content: center;
	gap:12px;
}

.p-campaign-img {
	width:100%;
	max-width: 600px;
	margin:0 auto;
}