body
{
	font-family: "Noto Sans JP", "Noto Sans CJK JP", "Avenir Next", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h1, h2, h3, h4
{
	font-weight: normal;
}

.hospitality
{
	text-align: center;
}

/* introduction */
.introduction
{
	/*margin-bottom: 5rem;*/
}

.introduction h1
{
	font-size: 3.2rem;
	color: #de2366;
	margin-top: 4rem;
	margin-bottom: 5rem;
	letter-spacing: 0.3rem;
	line-height: 1.3em;
}

.introduction h1 > div
{
	font-size: 1.2rem;
	margin-top: 1rem;
	letter-spacing: 0.1rem;
	line-height: 1em;
}
.introduction h2
{
	font-size: 1.4rem;
	margin-bottom: 1.5rem;
	letter-spacing: 0.1rem;
}
.introduction p
{
	font-size: 1.4rem;
	line-height: 2em;
	margin-left: 2.75rem;
	margin-right: 2.75rem
}

/* promise */
.promise
{
	margin-top: 6rem;
}
.promise._01
{
	margin-top: 5rem;
}

.promise .text
{
	text-align: left;
	padding: 0 2.75rem 0 2.75rem;
	background-color: #fff;
}
.promise .text img
{
	/*width: 14.8rem;
	height:10.6rem;*/
}
.promise .text h2
{
	font-size: 1.9rem;
	margin-bottom: 2rem;
	/*line-height: 1.5em;*/
	background-image: url('/img/hospitality/icon_comma.svg');
	background-repeat: no-repeat;
	background-size: 2.5rem, 1.9rem;
	background-position: 0 1.5rem;
	padding-top: 5rem;
	padding-left: 0.5rem;
	margin-left: -0.5rem;
}
.promise .text p
{
	font-size: 1.4rem;
	line-height: 2em
}

.promise .text .remarks
{
	display: block;
	font-size: 1.1rem;
	margin-top: 1.5rem;
}
.promise .text .remarks:before
{
	content: "※";
}

/* shop info */
.shopInfo
{
	margin-top: 7rem;
}

.shopInfo .btWrap
{
	height: 21rem;
	display: flex;
	flex-flow: column;
	justify-content: center;
}

.shopInfo .lineWrap
{
	width: 90%;
	margin: 0 auto 5rem;
	padding: 2rem 3rem;
	background: #f7f7f7;
}

.shopInfo .lineWrap > p
{
	margin-bottom: 1.5rem;
	font-size: 1.3rem;
	line-height: 1.4;
}

.shopInfo .lineWrap a
{
	display: block;
	width: 12rem;
	margin: 0 auto;
}

div.link
{
	border: #dedede solid 0.1rem;
	background-color: #fff;
	width: 20rem;
	height: 4.5rem;
	font-size: 1.3rem;
	margin-left: auto;
	margin-right: auto;
}

div.link
{
	margin: 1rem auto 1rem auto;
}
div.link a
{
	width: 100%;
	height: 100%;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	position: relative;
	font-family: "Noto Sans JP", "Noto Sans CJK JP", "Avenir Next", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.3em;
}

div.link .rightArrow
{
	right: 1rem;
}


/* PCサイト */
@media screen and (min-width: 600px)
{
	#contents
	{
		min-width: 128rem;
	}

	.hospitality .mv img
	{
		width: 100%;
		min-width: 128rem;
	}

	/* introduction */
	.introduction h1
	{
		font-size: 4rem;
	}
	.introduction h1 > div
	{
		font-size: 1.6rem;
	}
	.introduction h2
	{
		font-size: 2.4rem;
		margin-bottom: 3.5rem;
	}
	.introduction p
	{
		font-size: 1.5rem;
	}

	/* promise */
	.promise._01
	{
		margin-top: 9rem;
	}
	.promise
	{
		margin-top: 16rem;
	}
	.promise .wrap
	{
		display: flex;
		justify-content: center;
		align-items: flex-start;
	}
	.promise.even .wrap
	{
		flex-flow: row-reverse;
	}

	.promise img
	{
		width: 64rem;
		height: 47.2rem;
	}
	.promise .text
	{
		margin: 0 0 0 -4.6rem;
		padding: 0;
		z-index: 10;
		position:relative;
		top:4.6rem;
	}
	.promise.even .text
	{
		margin: 0 -4.6rem 0 0;
	}

	.promise .text .overlay
	{
		width: 36rem;
		padding:0 4.2rem 6rem 4.2rem;
		position: relative;
	}
	/*.promise .text .overlay:after
	{
		content: "";
		position: absolute;
		display: block;
		background-color: rgba(0, 255, 255, 0.2 );
		left:0;
		top:0;
		width: 100%;
		height: 100%;
	}*/
	/*.promise .text .overlay:after
	{
		background-color: rgba(0, 255, 255, 0.2 );
	}*/

	.promise .text h2
	{
		padding-top: 8.8rem;
		padding-left: 1rem;
		margin-left: -1rem;
		margin-bottom: 3rem;

		background-size: 3.155rem 2.4rem;
		background-position-y: 4.5rem;
		font-size: 2rem;
	}
	.promise .text p
	{
		font-size: 1.4rem;
		z-index: 100;
	}

	/* .shopInfo */
	.shopInfo
	{
		margin-top: 20rem;
	}
	.shopInfo .img
	{
		background-color: #f7f7f7;
		width: 100%;
	}
	.shopInfo .img img.hide-sp
	{
		width: 128rem;
	}

	.shopInfo .introduction
	{
		padding-bottom: 8rem;
	}
	.shopInfo .btWrap
	{
		flex-flow: row;
		align-items: center;
		height: 17rem;
		background-color: #f7f7f7;;
	}
	.shopInfo .lineWrap
	{
		width: 100%;
		margin: 0;
		padding: 0 0 6rem;
	}
	.shopInfo .lineWrap > p
	{
		margin-bottom: 2rem;
		font-size: 1.5rem;
	}

	.shopInfo div.link
	{
		margin: 0 2rem 0 2rem;
		width: 30rem;
		height: 6rem;
		font-size: 1.5rem;
	}

	div.link .rightArrow
	{
		right: 3rem;
	}
}