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

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

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

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

/* 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;
		overflow: hidden;
		border-radius: 15px;
	}
}
@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: 640px;
}


.p-text {
	width: 100%;
	max-width: 1100px;
	margin:0 auto;
	box-sizing: border-box;
	padding:24px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	color:#5a2b0e;
	border-radius: 20px;
	font-size: 1.8rem;
	line-height: 2;
	background-color:rgba(255,255,255,0.85);
}

@media screen and (min-width:961px) { /*PC*/
	.p-text {
		text-align: center;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-text {
		text-align: left;
	}
}

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

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

.p-text-left {
	max-width: 100%!important;
	text-align: left;
}

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;
	padding:8px;
	width:100%;
	max-width: 720px;
	margin:0 auto;
	color:#3d6b4d;
	background-color:#CBE4D3;
	display: flex;
	justify-content: center;
	align-items: center;
	box-shadow: 0px 0px 0px 5px #CBE4D3;
  border: dashed 2px white;
}

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%;
		max-width:1920px;
		margin:0 auto;
		position: relative;
		box-sizing: border-box;
		background: url("../img/outline_body.webp") center center no-repeat;
		aspect-ratio:16 / 9 ;
		background-size:cover;
	}
}
@media screen and (max-width:960px) { /*MB*/
	.p-outline-wrap {
		width:100%;
		position: relative;
	}
	.p-outline-body {
		position: relative;
		width: 100%;
		background-size: contain;
	}
	.p-outline-body:before{
		content: "";
		display: block;
		width: 100%;
		aspect-ratio: 2 / 3;
		background: url("../img/outline_body_mobile.webp") center top no-repeat;
		background-size: cover;
	}
	.p-outline-body ul {
		width: 100%;
		display: flex;
		justify-content: center;
		gap:10px;
		position: relative;
	}
	.p-outline-body ul li a img {
		transition: all 0.3s;
	}
	.p-outline-body ul li a:hover img {
		transform: translateY(8px);
	}
}

/*ムービー*/

.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: 1000px;
	margin:0 auto;
	display: flex;
	justify-content: center;
	gap:24px;
	flex-wrap: wrap;
}

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

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

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

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

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

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

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

.p-menu-material {
	background-color:#F1F1F1;
	box-sizing: border-box;
	padding:4px 12px;
	color:#585858;
	font-size: 1.4rem;
	transform: rotate(0.03deg);
	font-weight: 400;
	text-align: justify;
	margin-top:auto;
	line-height: 1.5;
	border-radius: 8px;
}

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

.p-margin-top {
	margin-top:auto;
}

/*ノベルティ*/

.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(134,194,220,0.5);
}


@media screen and (min-width:961px) { /*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(134,194,220,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 #f6faf0;
	background-color: #ffffff;
	border-radius: 15px;
	box-sizing: border-box;
	position: relative;
	margin:0 auto;
	width:100%;
	max-width: 1200px;
	padding:8px 8px 16px;
}

.p-preorder-link a, .p-preorder-link span {
	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/#b4df5b+0,3d6b4d+100 */
background: linear-gradient(to bottom,  rgba(180,223,91,1) 0%,rgba(61,107,77,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

	width:100%;
	display: block;
	color:#ffffff;
	padding:16px 12px;
	border-radius: 10px;
	box-shadow:0 5px 0 #1B4128;
	transition: all 0.15s;
}

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

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

/*インフォ*/

.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;
		margin-bottom: 24px;
	}
} /*MB*/


iframe.map_pc {
	width:100%;
}

.p-info-wrap {
	display: flex;
	flex-direction: column;
	gap:16px;
	height:auto;
	box-sizing: border-box;
	color:#ffffff;
	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:#601986;
	text-decoration: none;
	transition: all 0.3s;
}

.p-info-wrap a:hover {
	text-decoration: underline;
}

.p-info-wrap dl {
	display: flex;
	flex-direction: column;
	gap:12px;
	justify-content: space-between;
	width:100%;
	font-size:1.8rem;
	line-height: 1.6;
	flex-wrap: wrap;
}


.p-info-wrap dl dt {
	text-align: left;
	width:100%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background-color:#3d6b4d;
	padding:4px;
	color:#ffffff;
}

.p-info-wrap dl dd {
	width:100%;
	text-align: left;
	box-sizing: border-box;
	color:#5a2b0e;
}
.p-info-wrap dl dd a {
	color: deepskyblue;
}

/*諸注意*/

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

/*フッター*/

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

.p-copyright {
	color:#2D2D2D;
	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;
}

.p-list-item {
	color:#fff;
}

.p-list-item ul {
	display: flex;
	flex-direction: column;
	gap:12px;
}

.p-list-item ul li {
	font-size: 2rem;
	display: flex;
	border-bottom:1px solid #fff;
	box-sizing: border-box;
	padding:8px;
	justify-content: space-between;
}

.p-list-item ul li strong {
	color:yellow;
}