@charset "UTF-8";
/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
/*================================================
 *  共通
 ================================================*/
body {
	min-width: 960px;
	font-size: 13px;
}

.sp {
	display: none;
}
.text-center {
	text-align: center;
}
.box-shadow {
	box-shadow: 0px 3px 10px rgba(0,0,0,.8)
}
.drop-shadow {
	-webkit-filter: drop-shadow(0px 3px 10px rgba(0,0,0,.8));
	filter: drop-shadow(0px 0px 10px rgba(0,0,0,.8));
}
pre {
  overflow: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-family: sans-serif,'Arial',YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'ＭＳ ゴシック';
  color: #666;
}
/*================================================
 *  header
 ================================================*/
#header {
	position: fixed;
	z-index: 100;
	width: 100%;
	background: rgba(255,255,255,0.8);
	height: auto;
}
#header > h1 > a > img{
	width: 270px;
	height: 103px;
}
#header > nav {
	background: rgba(88,97,100,0.9);
	height: 39px;
}
#header > nav > ul {
	width: 960px;
	margin: 0 auto;
}
#header > nav > ul > li {
	text-align: center;
	float: left;
	width: 20%;
}
#header > nav > ul > li > a {
	text-decoration: none;
	color: #fff;
	display: block;
	padding: 1em;
}
#layerMenu {
	display: none;
}
#closeMenu,
#openMenu {
	position: absolute;
	top: 0;
	left: 0;
}
#layerMenu > ul {
	position: absolute;
	top: 54px;
	left: 0;
	z-index: 120;
}
#layerMenu > ul > li {
	width: 150px;
	text-align: center;
	background: #fff;
	border: solid 1px #586164;
}
#layerMenu > ul > li+li {
	border-top: none;
}
#layerMenu > ul > li > a {
	display: block;
	text-decoration: none;
	color: #586164;
	padding: 1em;
}
#layerMenu > ul > li > a:hover {
	background: #586164;
	color: #fff;
}
.tel {
	position: absolute;
	right: 0;
	top: 0;
}
.reserve {
	position: absolute;
	right: 0px;
	top: 53px;
}
.reserve img,
.tel img,
#openMenu img,
#closeMenu img {
	width: 52px;
}
/*================================================
 *  slider
 ================================================*/
#main {
	padding-top: 144px;
}
.slideshow {
	background: #BDC58F;
}
.gallery {
	width: 85%;
	margin: 0 auto;
	padding: 2em 0;
}
.gallery img {
	width: 100%;
}
.gallery img:hover {
	cursor: pointer;
}
/*================================================
 *  about
 ================================================*/
#about > h2 {
	font-size: 40px;
	font-weight: bold;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #586164;
}
#about {
	width: 95%;
	margin: 40px auto;
	position: relative;
}
#about > .txt {
	line-height: 2em;
	font-size: 18px;
	color: #666;
	margin: 2em 0;
	z-index: 200;
	background: rgba(255,255,255,0.8);
}
/*================================================
 *  access
 ================================================*/
#access {
	background: url("../images/background.jpg");
	padding: 3em 0;
}
.paper {
	background: url("../images/paper.jpg");
	width: 80%;
	margin: 0 auto;
	padding-bottom: 3em;
}
.paper > h3 > img {
	width: 200px;
}
.paper > .txt {
	font-size: 1.5em;
	text-align: center;
	line-height: 1.5em;
}
.ggmap {
	text-align: center;
	margin-top: 1em;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
	width: 90%;
	height: 400px;
}
/*================================================
 *  pickup
 ================================================*/
.pickup > h2 {
	width: 300px;
	margin: 0 auto;
}
.pickup > h2 > img {
	width: 300px;
	margin: 1em;
}
.pick .slick-slide:not(.slick-center) {
  -webkit-filter: opacity(60%);
  -moz-filter: opacity(60%);
  -o-filter: opacity(60%);
  -ms-filter: opacity(60%);
  filter: opacity(60%);
  transition: 0.2s linear;
}
.pick {
	text-align: center;
}
.pick .slick-track {
	margin: 0 auto;
}
.pick div {
	padding: 1em;
}
.pick p {
	text-align: center;
}
.pick img {
	width: 200px;
	margin: 1em auto;
}
.pick span {
	color: #666;
	text-align: left;
	width: 200px;
}
.pickup > h3 {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	margin-top: 1em;
}
.slick-prev
{
	left: 0;
	z-index: 100;
}
.slick-next
{
    right: 0;
}
.slick-next.slick-arrow,
.slick-prev.slick-arrow {
	height: 100%;
	width: 200px;
}
.slick-prev:before,
.slick-next:before
{
	color: gray;
	font-size: 24px;
}
.gallery{
display: none;
}
.gallery.slick-initialized{
display: block;
}
.pick p.caption {
	text-align: left;
	width: 190px;
	margin: 0 auto;
}
/*================================================
 *  news
 ================================================*/
.news > h2  {
	text-align: center;
}
.news > h2 > img {
	width: 300px;
}
.news {
	background: #eee;
	padding: 1em 0;
}
.news ul {
	width: 80%;
	margin: 0 auto;
	border-top:  1px dotted #999;
}
.news li {
	border-bottom: 1px dotted #999;
	padding: 1em 0;
}
.news li p {
	font-size: 1.2em;
	margin-bottom: 0.5em;
}
.news li span {
	margin-left: 1em;
}
.news_file {
	padding-top: 0.5em;
}
.news_file a {
	font-size: 0.9em;
}
/*================================================
 *  footer
 ================================================*/
.totop {
	position: fixed;
	right: 1em;
	bottom: 1em;
	z-index: 100;
}
#footer {
	background: #373C3F;
	text-align: center;
	color: #ccc;
}
.sns img {
	width: 64px;
}
.sns a {
	padding: 0 1em;
}
.address {
	padding: 1em 0;
}
.address a {
	text-decoration: none;
	color: #ccc;
}
.address .tel,
.address .fax {
	font-size: 16px;
}
.copy {
	font-size: 10px;
	padding: 1em 0;
}
.footer_logo img{
	width: 200px;
}
/*================================================
 *  contact
 ================================================*/
.contact > h2 {
	text-align: center;
	padding: 1em 0;
}
.contact > h2 > img {
	width: 200px;
}
.contact p {
	padding: 2em 0;
}
.contact {
	width: 80%;
	margin: 0 auto;
}
/*================================================
 *  rental
 ================================================*/
.rental > h2 {
	text-align: center;
	padding: 1em 0;
}
.rental > h2 > img {
	width: 200px;
}
.rental {
	width: 100%;
	margin: 0 auto;
	padding-bottom: 2em;
}
.rental > .container > .row > .col > .card {
	margin-bottom: 1em;
}
.card-body {
	height: auto;
}
.card-text:last-child {
	padding: 5px 0;
}
.card-img-top {
	width: 100%;
  	/* height: 400px; */
	/* object-fit: cover; */
}
.rental h3 {
	font-size: 1.5em;
	margin: 1em 0 .5em;
	border-bottom: 1px solid #aaa;
}
/*================================================
 *  guide
 ================================================*/
#guide > h2 > img {
	width: 200px;
}
#guide .area-map {
	width: 70vw;
	height: 60vh;
	margin: 0 auto;
	overflow: auto;
	margin-bottom: 5em;
}
#guide .area-map img {
	width: 100%;
}
/*================================================
 *  price
 ================================================*/
.price > h2 {
	text-align: center;
	padding: 1em 0;
}
.price > h2 > img {
	width: 200px;
}
.price {
	width: 95%;
	margin: 0 auto;
	padding-bottom: 2em;
}
.price > .container > .row > .price_table {
	margin: 0 auto;
	border: solid 1px #999;
}
.price_table th,
.price_table td {
	border: solid 1px #999;
	line-height: 2em;
	font-size: 1.2em;
	text-align: center;
}
.price_table th {
	width: 150px;
	font-weight: bold;
	vertical-align: middle;
}
.price_table td {
	width: 300px;
}
.price_title th,.price_title td {
	font-weight: bold;
	color: white;
	background-color: cadetblue;
}
.price .pre_open {
	display: block;
	text-align: left;
	margin: .5em auto 2em;
	line-height: 1.5;	
	width: 900px;
}
.price .reservation {
	text-align: center;
}
.camp_area {
	width: 80%;
	margin: 0 auto;
	padding-bottom: 2em;
	display: flex;
}
.price > .container > h3 {
	width: 80%;
	font-size: 1.5em;
	font-weight: bold;
	padding: 1em;
	margin: 0 auto;
}
.price .area_price h4 {
	font-weight: bold;
	font-size: 1.2em;
}
.area_img {
	width: 30%;
}
.area_img img{
	width: 100%;
	margin-bottom: 1em;
}
.area_price {
	display: flex;
	flex-direction: column;
	margin-left: 2em;
	line-height: 1.5;
	font-size: 1.2em;
	width: 65%;
}
.lodge {
	display:flex;
	margin: 0.5em 0 1.8em 1em;
	flex-wrap: wrap;
	line-height: 1.5;
}
.lodge dt {
	width: 20%;
	padding-left: 0.5em;
	border-bottom: 2px solid #586164;
}
.lodge dd {
	width: 80%;
	padding-left: 0.5em;
	border-bottom: 1px solid #666;
}
.day_camp {
	display:flex;
	margin: 0.5em 0 0 1em;
	flex-wrap: wrap;
	line-height: 1.5;
}
.day_camp dt {
	width: 20%;
	padding-left: 0.5em;
	border-bottom: 2px solid #586164;
}
.day_camp dd {
	width: 80%;
	padding-left: 0.5em;
	border-bottom: 1px solid #666;
}
/**************************************************
 menu 
 **************************************************/
/*ヘッダーまわりはサイトに合わせて調整してください*/
header {
	position: fixed;
	padding:5px 10px;
	z-index: 1000;
}

#nav-drawer {
	display: flex;
	position: relative;
	z-index: 999;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display:none;
}

/*アイコンのスペース*/
#nav-open {
	padding-top: 10px;
	display: inline-block;
	width: 30px;
	height: 30px;
	vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
	position: absolute;
	height: 4px;/*線の太さ*/
	width: 30px;/*長さ*/
	border-radius: 3px;
	background: #373C3F;
	display: block;
	content: '';
	cursor: pointer;
}
#nav-open span:before {
	bottom: -12px;
}
#nav-open span:after {
	bottom: -24px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
	display: none;/*はじめは隠しておく*/
	position: fixed;
	z-index: 99;
	top: 0;/*全体に広がるように*/
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	opacity: 0;
	transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;/*最前面に*/
	width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 20%;/*最大幅（調整してください）*/
	height: 100%;
	padding-top: 20px;
	background: rgba(255,255,255,.75);/*背景色*/
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
	display: block;/*カバーを表示*/
	opacity: .5;
}

#nav-input:checked ~ #nav-content {
-webkit-transform: translateX(0%);
transform: translateX(0%);/*中身を表示（右へスライド）*/
box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

#nav-content>ul>li {
font-size: 1.8em;
margin-bottom: 0.8em;
list-style: none;
text-decoration: underline;
}
#nav-content .sub-menu>li {
margin-top: 0.3em;
list-style: none;
}
.main-menu {
margin-left: 4em;
}
.main-menu a {
color: #373C3F;
}
