@charset "utf-8";
/* CSS Document */

*
{
	margin: 0;
	padding: 0;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}

body
{
	background-color: #fff;
	color: #000;
	font-size: 14px;
	line-height: 2em;
}

form *,
body
{
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.navi a,
.ffMincho,
#reiList h3,
#qaList h3,
.shopItem h3,
h2.headLine
{
	font-family: '游明朝 Medium', serif;
	letter-spacing: 2px;
}

a
{
	color: #000;
	text-decoration: none;
}

img
{
	vertical-align: middle;
	max-width: 100%;
	height: auto;
}

.center
{
	text-align: center;
}

.youtube
{
	display: block;
	position:relative;
	width:100%;
	padding-top:56.25% !important;
}
.youtube iframe
{
	position:absolute;
	top:0;
	right:0;
	width:100%;
	height:100%;
}

#copy,
#head
{
	background-color: #EEE4D4;
}

h2.headLine
{
	text-align: center;
	font-size: 1em;
}

.lineText3em
{
	line-height: 3em;
}

.bg
{
	background-color: #F9F3ED;
}
.bg2
{
	background-image: url(../img/bg_inq.jpg);
}
.bg3,
#visual
{
	background-color: #F5F5F5;
}


#reiList h3
{
	font-size:;
}

#visual,
#copy,
.shopItem h3,
#qaList h3
{
	text-align: center;
}

#shopList div
{
	background-color: #fff;
}

.shopTable
{
	border-top: 1px solid #000;
	padding-top: 30px;
	margin-top: 30px;
}
.shopTable th
{
	text-align: left;
	vertical-align: top;
	width: 30%;
}
.shopTable th,
.shopTable td
{
	padding-top: 10px;
}
.shopTable tr:first-child th,
.shopTable tr:first-child td
{
	padding-top: 0;
}

.fcWhite
{
	color: #fff;
}

#copy
{
	padding-top: 20px;
	padding-bottom: 20px;
}

.navi li
{
	list-style-type: none;
}

h2.headLine
{
	font-size: 21px;
}

.shopItem h3,
.fs18px
{
	font-size: 18px;
}

h2.headLine
{
	background: url(../img/h2-line.png) center bottom no-repeat;
	background-size: 280px;
	height: 75px;
}

#mailFormTable th
{
	text-align: left;
}

[type='text'],
[type='email'],
textarea
{
	padding: .5em;
}
[type='submit']
{
	background-color: #FFBD2C;
	border: 0;
	color: #fff;
	padding: 1em 3em;
}

form#mailformpro
{
	padding: 0 !important;
}

@media screen and (min-width: 768px) {
	
	#menu,
	.pcNo
	{
		display: none;
	}

	.pcCenter
	{
		text-align: center;
	}
	
	#shopList,
	#reiList
	{
		overflow: hidden;
	}

	.pcfcWhite
	{
		color: #fff;
	}

	.bg2
	{
		background-size: cover;
	}

	.pcw100
	{
		margin: 0 auto;
		width: 1200px;
	}

	#head
	{
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#foot .pcw100,
	#head .pcw100
	{
		position: relative;
	}
	.navi
	{
		position: absolute;
		top: 25px;
		right: 0;
	}
	.navi li
	{
		display: inline-block;
		margin-left: 30px;
	}
		
	.pcpbt60px100px
	{
		padding-top: 60px;
		padding-bottom: 100px;
	}
	
	.pcw400px
	{
		margin: 0 auto;
		width: 400px;
	}
	.pcw630px
	{
		margin: 0 auto;
		width: 630px;
	}
	
	.pcpt30px
	{
		padding-top: 30px;
	}
	.pcpt40px
	{
		padding-top: 40px;
	}
	.pcpt60px
	{
		padding-top: 60px;
	}
	#foot
	{
		padding-top: 90px;
		padding-bottom: 90px;
	}
	.pcpt100px
	{
		padding-top: 100px;
	}
	
	#reiList div
	{
		float: left;
		margin-right: 20px;
		width: 285px;
	}
	#reiList div:last-child
	{
		margin-right: 0;
	}

	#reiList h3
	{
		margin-top: 30px;
	}
	
	#qaList p
	{
		margin: 0 auto;
		padding-top: 30px;
		width: 600px;
	}
	#qaList h3
	{
		font-size: 18px;
		padding-top: 50px;
	}

	#shopImage,
	.shopItem
	{
		float: left;
		margin-right: 60px;
		width: 360px;
	}
	.shopItem
	{
		height: 582px;
	}
	.shopItemInner
	{
		padding: 40px 30px;
	}
	.shopItem:last-child
	{
		margin-right: 0;
	}
	
	#contactList a:last-child img
	{
		float: right;
	}

	#mailFormTable
	{
		padding: 30px 0;
	}

	#mailFormTable th,
	#mailFormTable td
	{
		padding: 1em;
	}

}

@media screen and (max-width: 767px) {
	
	.spNo
	{
		display: none;
	}
	
	.logo img
	{
		width: 150px;
	}
	
	#foot,
	#contactList
	{
		text-align: center;
	}
	
	#head
	{
		padding: 10px;
	}

	#menu
	{
		position: absolute;
		top: 0;
		right: 0;
		width: 30%;
		padding: 1em 0;
		z-index: 9998;
	}

	#menuBtn
	{
		float: right;
		color: #000;
		margin-right: 20px;
		margin-top: 15px;
		position: relative;
		text-align: center;
		width: 35px;
	}
	.openBtn
	{
		position: fixed !important;
		top: 10px !important;
	}
	#menuBtn span
	{
		border-bottom: 3px solid #0b2338;
		display: block;
		margin-bottom: 4px;
		transition: all 0.5s ease;
	}

	#menuBtn span.open
	{
		position: absolute;
		top: 5px;
		width: 35px;
	}
	#menuBtn span.open:nth-child(1)
	{
	  transform: rotate(45deg);
	}
	#menuBtn span.open:nth-child(2)
	{
		opacity: 0;
	}
	#menuBtn span.open:nth-child(3)
	{
	  transform: rotate(-45deg);
	}

	#navi
	{
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100%;
		z-index: 9997;
	}
	#navi-bg
	{
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100%;
		background-color: #fff;
		filter:alpha(opacity=90);
		-moz-opacity: .9;
		opacity: .9;
		z-index: -1;
	}
	#navi ul
	{
		padding-top: 2em;
		padding-bottom: 1em;
	}
	#navi ul
	{
		margin: 0 auto;
		width: 80%;
	}
	#navi li
	{
		margin-top: 20px;
	}
	#navi li a
	{
		display: block;
		text-decoration: none;
		line-height: 1em;
		padding: .3em 0;
	}
	#navi li img
	{
		height: 18px;
	}

	.sppbt30px50px
	{
		padding-top: 30px;
		padding-bottom: 50px;
	}
	
	.sppbt10px
	{
		margin-top: 10px;
		margin-bottom: 10px;
	}
	#reiList h3,
	#qaList p,
	.sppt20px
	{
		padding-top: 20px;
	}
	#reiList div,
	#qaList h3,
	.sppt30px
	{
		padding-top: 30px;
	}
	.sppt50px
	{
		padding-top: 50px;
	}
	.shopItem
	{
		margin-top: 20px;
	}
	
	.spw100
	{
		padding-left: 30px;
		padding-right: 30px;
	}
	.spw10px
	{
		padding-left: 10px;
		padding-right: 10px;
	}

	.shopItemInner
	{
		padding: 30px;
	}

	#foot .navi,
	#contactList img
	{
		margin-top: 20px;
	}
	
	#foot .navi li
	{
		display: inline-block;
		margin: 0 5px;
	}
	
	#foot
	{
		padding-top: 20px;
		padding-bottom: 30px;
	}

	#mailFormTable th,
	#mailFormTable td
	{
		display: block;
		padding-left: 1em;
		padding-right: 1em;
	}
	#mailFormTable
	{
		padding-top: 1em;
		padding-bottom: 2em;
	}
	#mailFormTable th
	{
		padding-top: 1em;
	}
	#mailFormTable td
	{
		padding-top: .5em;
	}

	[type='text'],
	[type='email'],
	textarea
	{
		width: 100%;
	}
	
	#formName
	{
		width: 80%;
	}

	.bg2
	{
		background-position: -185% top;
		background-size: cover;
	}	

}
