@charset "utf-8";

html {-webkit-text-size-adjust: 100%}

body {
	font-family: serif;
	background-color: #F6F5EA;
	padding: 0px;
	margin: 0px;
	color: #666666;
}
area{
	border:none;
	outline:none;
}

.clr {
	clear: both;
	height: 0px;
}
a {
	text-decoration: none;
	color: #191919;
}
a:hover {
	text-decoration: underline;
}
a img {
	margin: 0px;
	padding: 0px;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}
h1, h2, p {
	display: block;
	margin: 0px;
	padding: 0px;
}













/* --------------------------------------------------------  SP -------------------------------------------------------- */
@media screen and (max-width:768px){

.header_pc{
	display: none;
}


.page {
	width: 320px;
	margin-right: auto;
	margin-left: auto;
	padding: 0px;
}
img {
	display: block;
	width: 100%;
	height: auto;
}






/* header */

.header_sp {
	height: 60px;
}


.input-hidden {
	display: none;
}

.logo_head {
	width: 125px;
	height: 60px;
}
.switch{
	cursor: pointer;
	position: fixed;
	top: 0;
	margin-left: 260px;
	z-index: 9989;
	width: 60px;
	height: 60px;
	background: url(image/navi_open.png) no-repeat 0px 0px/60px 60px;
}
/* メニュー展開時にハンバーガーアイコンを固定 */
#navi1:checked ~ .switch{
	position: fixed;
	background: url(image/navi_close.png) no-repeat 0px 0px/60px 60px;
}

/* メニューエリア */
.naviwrap{
	position: fixed;
	height: 100%;
	background-color: #F6F5EA;
	padding: 0;
	z-index: 9988;
	transition: .5s;
	overflow-y: scroll; /* メニュー内容が多い場合に縦スクロールする */
	top: 0;
	left: 100%;
	width: 100%;
}
/* メニューリスト */
.navilist{
	width: 320px;
	margin-right: auto;
	margin-left: auto;
	padding: 70px 0px;
	list-style: none;
}
.navilist li a{
	text-decoration: none;
	display: block;
	padding: 0;
}
/* メニューエリア･アニメーション */
#navi1:checked ~ .naviwrap{
	left: 0%;
}
	/* コンテンツカバー */
#navi1:checked ~ .cover{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 9987;
	display: block;
}








/* top */


.top {
	margin-bottom: 50px;
}
.top h1 {
	margin-bottom: 20px;
}
.top p {
	margin-bottom: 20px;
}

.slideshow {
	display: block;
	width: 90px;
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	position: relative;
	top: -250px;
	left: 85px;
}

.slideshow > li {
	opacity: 0;
	position: absolute;
	transition: opacity 2s ease-in-out; /*フェード時間・イージング*/
}
.slideshow > li.showSlide{
	opacity: 1;
}
.slideshow > li > img {
	width: 100%;
	height: auto;
}






/* menu */
.menu {
	padding-top: 20px;
	margin-bottom: 20px;
}



/* info */
.info {
	margin-bottom: 50px;
}

.map_1 {
	margin-bottom: 10px;
}
.map_1 a {
	display: block;
	width: 150px;
	height: 40px;
	margin-top: -40px;
	margin-left: 170px;
}

.map_2 {
	margin-bottom: 0px;
}

/* モーダルCSS */
.map_2 {
	position: relative;
}
.map_2 a {
	display: block;
	position: absolute;
	width: 75px;
	height: 50px;
/* 	background-color: rgba(0, 0, 0, 0.5); */
}
.map_2 #openModal_1 {
	top: 297px;
	left: 25px;
}
.map_2 #openModal_2 {
	top: 337px;
	left: 153px;
}
.map_2 #openModal_3 {
	top: 148px;
	left: 207px;
}

.modalArea {
	display: none;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modalBg {
	width: 100%;
	height: 100%;
	background-color: #F6F5EA;
}
.modalWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
	width: 280;
	padding: 0px;
}
.modalContents {
	width: 280px;
	height: 365px;
}
.modalContents img {
	display: none;
}
.modalContents #p1.showPhoto {
	display: block;
}
.modalContents #p2.showPhoto {
	display: block;
}
.modalContents #p3.showPhoto {
	display: block;
}
.closeModal {
	position: absolute;
	top: 0.5rem;
	right: 1rem;
	cursor: pointer;
}






/* reserve */

.reserve {
	margin-bottom: 50px;
}

/* footer */

.footer {
	padding-bottom: 100px;
}
.oil_bn,
.pc_pagetop_cover {
	display: none;
}


}
/* SP end */














/* --------------------------------------------------------  PC -------------------------------------------------------- */

@media (min-width: 769px){

.header_sp{
	display: none;
}



.page {
	width: 840px;
	margin-right: auto;
	margin-left: auto;
	padding: 0px;
}
img {
	display: block;
	width: 100%;
	height: auto;
}






/* header */

.header_pc {
	padding-top: 20px;
	height: 80px;
	overflow: hidden;
}

.logo_head {
	width: 130px;
	height: 50px;
	float: left;
	margin-right: 100px;
}

.navilist, .navilist li {
	display: block;
	float: left;
	margin: 0;
	padding: 0;
	list-style: none;
	height: 50px;
}
.navilist li a{
	display: block;
	padding: 0;
}
.navilist li a img {
	width: auto;
	height: 50px;
}






/* top */


.top {
	margin-bottom: 50px;
	clear: both;
}
.top h1 {
	width: 600px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}
.top p {
	margin-bottom: 0px;
}

.slideshow {
	display: block;
	width: 108px;
	margin: 0px;
	padding: 0px;
	list-style-type: none;
	position: relative;
	top: -312px;
	left: 270px;
}

.slideshow > li {
	opacity: 0;
	position: absolute;
	transition: opacity 2s ease-in-out; /*フェード時間・イージング*/
}
.slideshow > li.showSlide{
	opacity: 1;
}
.slideshow > li > img {
	width: 100%;
	height: auto;
}






/* menu */
.menu {
	padding-top: 0px;
	margin-bottom: 20px;
}
.menu h2 {
	width: 500px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}



/* info */
.info {
	margin-bottom: 50px;
}
.info h2 {
	width: 500px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}
.info_txt {
	float: right;
	width: 300px;
	padding-right: 100px;
}
.map_1 {
	float: left;
	margin-bottom: 10px;
	padding-left: 20px;
}
.map_1 a {
	display: block;
	width: 140px;
	height: 40px;
	margin-right: auto;
	margin-left: auto;
}

.map_2 {
	margin-bottom: 0px;
}

.map_2 a,
.modalArea {
	display: none;
}




/* reserve */

.reserve {
	margin-bottom: 50px;
}
.reserve h2 {
	width: 500px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}
.reserve .mail {
	display: block;
	width: 340px;
	margin-right: auto;
	margin-left: auto;
}

/* footer */

.footer {
	width: 240px;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 100px;
}
.oil_bn {
	margin-bottom: 20px;
}

.pc_pagetop {
	height: 60px;
	width: 60px;
	position: fixed;
	left: 50%;
	bottom: 10px;
	margin-left: 420px;
}
.pc_pagetop.fixed {
	opacity: 1;
}

}
/* PC end */

