@charset "utf-8";
@import "reset.css";

* {
min-height:0;
min-width : 0;
}

body{
	line-height: 1.5em;
	position: relative;
}

body *{text-shadow: none;}


img{
	max-width: 100%;
	height: auto
}



#contents{}

@media  (max-width: 767px) {
	#container{padding-top: 66px}
}	


.wrap,
.wrappc{
	margin: 0 auto;
	width: 90%;
	max-width: 1200px;}


@media only screen and (max-width: 768px) {
	.wrap{width: 90%;text-align: left}
	.wrappc{width: 100%;}
}


/* ************************************************ 
*	COMMON
* ************************************************ */


.fb{
	display: flex;
	flex-wrap: wrap;
}

.title{
	font-weight: 400;
	font-size: 3em;
	margin-bottom: 1em;
	font-family: 'Oswald', sans-serif;
}


.btn_1{
	display: block;
	max-width:300px;
	margin: 3em auto;
	background: #FD4747;
	border-radius: 2em;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	color: #fff;
	font-size: 1.5em;
	padding: .3em;
	position: relative;
	top: -3px;
	transition: .2s;
	display: flex;
	justify-content: space-around;
	align-items: center;
	text-decoration: none
}

.btn_1 span{
  position: relative;
    display: block;
    width: 30px;
    height: 5px;
    border-radius: 5px;
    background-color: #fff;
    margin-left: .5em;
    margin-top: .3em;
    right: 0
}

.btn_1 span:after {
  content: "";
    position: absolute;
    bottom: 4px;
    right: -3px;
    display: block;
    width: 20px;
    height: 6px;
    border-radius: 5px;
    background-color: #fff;
    transform: rotate(40deg);
 }
 
 .btn_1:hover{
	 top: 0;
	 opacity: .9;
 }
 
@media screen and (max-width: 667px) {
	.btn_1 {margin: 1.5em auto 2em;}
}	

@media print, screen and (min-width: 668px) {
	.btn_1 {}
}	



.bg_2{position: relative;overflow: hidden}
 
.bg_2:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 100%;
	overflow: hidden;
	background: #eee;
	z-index: -5
	
}


/* ************************************************ 
*	HEADER
* ************************************************ */

#siteheader{
	margin-bottom: 3em
}



.top_bg{
	width: 100%;
	height: 30vh;
	position: absolute;
	overflow-x: hidden;
	z-index: -1;
	top: 0;
}
.top_bg:before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 30vh 600px 0 0;
	border-color: #8AE6F2 transparent transparent transparent;
}

.top_bg:after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	z-index: -1;
	border-style: solid;
	border-width: 0 600px 25vh 0;
	border-color: transparent #FD4747 transparent transparent;
}

#sitelogo{
	text-align: center;
	width: 50%;
	max-width: 300px;
	margin: 0 auto;
	padding: 2em 0;
}

header#pagetitle h1 en{
	font-weight: 400;
	font-size: 3em;
	margin-bottom: 1em;
	font-family: 'Oswald', sans-serif;
}

@media screen and (max-width: 667px) {
	#sitelogo{max-width: 200px;padding-bottom: 1em}
}	


@media print, screen and (min-width: 668px) {
	.top_bg{
	width: 100%;
	height: 50vh;
	position: absolute;
	overflow-x: hidden;
	z-index: -1;
	top: 0;
	}
	.top_bg:before{
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 50vh 1600px 0 0;
		border-color: #8AE6F2 transparent transparent transparent;
	}
	
	.top_bg:after{
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 0;
		height: 0;
		z-index: -1;
		border-style: solid;
		border-width: 0 1600px 45vh 0;
		border-color: transparent #FD4747 transparent transparent;
	}	


}	


/* ************************************************ 
*	main nav
* ************************************************ */

#gnav {
  display: flex;
  justify-content: space-between;
  z-index: 500;
  }

.nav-button {
  display: none;
}

.nav a {
  text-decoration: none;
  color: #444;
}
.nav li {}

.nav-wrap.open {
  display: block;
}

.nav-wrap.close {
  display: none;
}

@media screen and (max-width: 767px) {
	#gnav{padding: 1em;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background: #f8f5ee
	}
	
	
	
  .nav-button {
    display: block;
    cursor: pointer;
  }

  /*メニューボタン*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }

  .nav-button {
    z-index: 20;
    position: absolute;
    top:15px;
    right: 15px;
    width: 36px;
    height: 30px;
  }

  .nav-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #000;
    border-radius: 4px;
  }
  .nav-button span:nth-of-type(1) {top: 0;}
  .nav-button span:nth-of-type(2) {top: 13px;}
  .nav-button span:nth-of-type(3) {bottom: 0;}

  .nav-button.active span:nth-of-type(1) {
    -webkit-transform: translateY(13px) rotate(-45deg);
    transform: translateY(13px) rotate(-45deg);
  }

  .nav-button.active span:nth-of-type(2) {
    opacity: 0;
  }

  .nav-button.active span:nth-of-type(3) {
    -webkit-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg);
  }
   
   .nav-wrap {
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    z-index: 10;
    background: rgba(255, 255, 255, 1);
    width: 100%;
    height: 100%;
  }
  .nav-wrap .nav {
    height: 100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    width: 90%;
    margin: 0 auto;
    padding: 80px 0
  }
  .nav-wrap li {
    
  }
   ul.nav > li > a {
    display: block;
    padding: 1em .5em;
    font-weight: bold
  }

  ul.nav > li > a{display: block;border-bottom: solid 1px #ccc;font-size: 1.2em}
  ul.nav > li > a:before{
  	font-family: icomoon;
  	content: "\e974";
  	padding-right: .5em;
  	color: #000
  }
  
  ul.nav > li > a span{font-size: .8em;padding-right: .5em;color: #000}
  ul.nav > li > ul.normal-sub{margin: 1em 0 1.5em}
   ul.nav > li > ul.normal-sub a{display: block;padding:.3em 1em .5em 3em;font-size: 1.1em}
}


@media (min-width: 768px) {
	
	
	#gnav {width: 100%;background: #b39f76;padding: 1.5em 0}
	.nav-wrap {
    display: block !important;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto
	}
  
	ul.nav {
    margin: 0 auto;
    width: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
	}
	
	ul.nav > li {width: 16.6%}
	
	ul.nav > li > a {
		color: #fff;
	    text-decoration: none;
	    padding: .5em 1.5em .5em;
	    border-right: solid 1px #fff;
	    text-align: center;
	    display: block;
	    font-size: 1.3em;
		-moz-transition: background-color .3s linear;
		-webkit-transition: background-color .3s linear;
		transition: background-color .3s linear;
		line-height: 1em;
		height: 100%;}
		  
    ul.nav > li:first-child > a{border-left: solid 1px #fff;}   
  	
	ul.nav > li > a:hover {opacity: .7}
	
	ul.nav > li > ul {
	    display: none;
	    width: 100%;
	    background: #fff;
	    position: absolute;
	    z-index: 99;
	    left: 0;
	}
	
	ul.nav > li > ul.normal-sub {
	    width: 300px;
	    left: auto;
	}
	
	ul.nav > li > ul.normal-sub > li {
	    width: 100%;
	    border-bottom: dotted 1px rgba(46, 105, 58, 0.3);
	}
	ul.nav > li > ul.normal-sub > li:last-child{
		border-bottom: none
	}
	ul.nav > li > ul.normal-sub > li a {
		color: #2e693a;
		display: block;
	    padding: .7em 1em;
	    background: #fff;
	}
	
	ul.nav > li > ul.normal-sub > li a:before{
		font-family: icomoon;
		content: "\e974";
	}
	
	
	ul.nav > li > ul.normal-sub > li a:hover{
		background: #035322;
		color: #fff
	}
	

	
	.top-fixed  ul.nav > li:first-child > a{border-left: none}
	.top-fixed  ul.nav > li:last-child > a{border-right: none}
}


@media only screen and (min-width: 768px) {
	.top-fixed {
	  position: fixed;
	  top: 0;
	  left: 0;
	  z-index: 1000;
	 
	}
}


/* ************************************************ 
*	header
* ************************************************ */



#snav ul{
	display: flex;
	justify-content: flex-end;
	align-items: center;}

#snav ul li{}
#snav ul li a{text-decoration: none;display: block;color: #fff;position: relative}




#snav ul.info_i li{width: 300px;position: relative;}
#snav ul.info_i li a{
	background: #f05924;
	font-weight: bold;
	padding: .6em 1.2em .6em .6em;display: flex;
	justify-content: flex-start;}
#snav ul.info_i li a:before{
	display: block;
	content: '';
	width: 40px;
	height: 40px;
	margin-right: 5px;
	vertical-align: top;
}
#snav ul.info_i li span.en{font-size: 9px;display: block}
#snav ul.info_i li#reserve a:before{background:url(../img/leftnav/ls_yoyaku.png) no-repeat center center;-moz-background-size:auto 100%;background-size:auto 100%;}
#snav ul.info_i li#faq a:before{background:url(../img/leftnav/ls_faq.png) no-repeat center center;-moz-background-size:auto 100%;background-size:auto 100%;}
#snav ul.info_i li#reserve a{border-right: solid 1px #fff}
#snav ul.info_i li#faq a{}

@media only screen and (max-width: 767px) {
	#snav ul.info_i li{width: 50%}
}	

@media (min-width: 768px) {
	#snav_wrap{
		-webkit-flex-direction: row-reverse;
	   flex-direction: row-reverse;
	}
	#snav{padding: 0 3em 0 0;margin-bottom: 1em;}

}	



#pagecontent{}

#pagecontent h2{
	text-align: center;
	padding-top: 3em;
	font-size: 2.3em;
	color: #2e693a;
	position: relative;
	padding-bottom: .8em;
	margin-bottom: 1em;
}

#pagecontent h2:after{
	height: 2px;
	width: 100px;
	content: "";
	background: #2e693a;
	position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -50px;
}
    	       

.red{color: #b50000}

/* ************************************************ 
*	common
* ************************************************ */

#main{padding-bottom: 3em}

.en{
	display: block;
	font-family: 'Oswald', sans-serif;
	font-weight: 400
}


#pagetitle{
	margin: 0 auto;
	width: 90%;
	text-align: center
}


#pagetitle h1{font-size: 1.2em}

#pagetitle h1 span{font-size: 2.5em}

h1#maintitle{
	color: #000;
	margin:2em 1em 1em;
	font-size:2em;
	text-align: center}


@media  (min-width: 768px) {
	h1#maintitle{font-size:2.3em;}
	h1#maintitle br{display: none}

}	





/* ************************************************ 
*	#workslist
************************************************ */



ul#workslist{
	display: flex;
	flex-wrap:wrap;
	margin-top: 3em
}


ul#workslist li{
	overflow: hidden;
	background: #000;
 }
 
ul#workslist li img{
  width: 100%;
  cursor: pointer;
  transition-duration: 0.3s;
}


ul#workslist li:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
}

ul#workslist li .ic{
	position: absolute;
	 display: block;
	 top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	 width: 40px;
	 height: 40px;
	 border-radius: 50%;
	 background: #000000;
	 z-index: 3;
	 -webkit-transition: all .3s;
	 transition: all .3s;
}

ul#workslist li .ic:before{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #fff;
	display: block;
	top: 50%;
	left: 53%;
	position: absolute;
	transform: translate(-50%, -50%);
 }
 

ul#workslist li:hover .ic{}


@media screen and (max-width: 667px) {
	ul#workslist li{
	width: calc( ( 100% - 20px ) / 2 );
	margin:0 20px 1.5em 0;
	position: relative
	}
	ul#workslist li:nth-child(2n) {margin-right: 0;}
}	

@media print, screen and (min-width: 668px) {
	ul#workslist li{
	width: calc( ( 100% - 80px ) / 3 );
	margin:0 40px 3em 0;
	position: relative
	}
	ul#workslist li:nth-child(3n) {margin-right: 0;}
	ul#workslist li .ic{
		width: 60px;
		 height: 60px;
	}
	ul#workslist li .ic:before{border-width: 10px 0 10px 18px;}
}	


/* ************************************************ 
*	.bread_crumb
* ************************************************ */
#bread{
	padding: .8em 0;
	margin: 0 auto 2em;
	width: 90%;}


@media (max-width: 767px) {
	text-align: left
}	

@media  (min-width: 768px) {
	#bread{
	width: 90%;
	}
}	



/* #contents #bread{background: #fff} */


ul.bread_crumb{}
ul.bread_crumb li + li:before{margin: 0 .5em;}
	
ul.bread_crumb li{
	font-size:.9em;
	list-style:none;
	float: left;
}
ul.bread_crumb li a{text-decoration: none;color: #666;
	-webkit-transition: all .3s;
	transition: all .3s;
}
ul.bread_crumb li a:hover{ background: #e8e5e5;}
ul.bread_crumb li span{padding-left: .5em}
ul.bread_crumb li br{display: none}
ul.bread_crumb li.pkhome a{color: #34cb07}
ul.bread_crumb li + li:before {
	margin: 0 .5em 0 0;
	color: #999;
	font-family: icomoon;
	content: "\e977";
}

ul.bread_crumb li.backhome:before{
	font-family: icomoon;
	content: "\e918";
	padding-right: .5em
}

@media (max-width: 480px) {
	ul.bread_crumb li.pkhome a{font-size: 1.1em;}
	ul.bread_crumb li.pkhome{margin-bottom: .3em}
}	




/* ------------------------------
 contact
------------------------------ */

#contact{}

.form{
	max-width: 800px;
	margin: 0 auto
}

.form dl{}

.form dt{font-size: 1.2em;
	font-weight: bold;
	margin-bottom: .5em
}

.form dt span{
	font-size: .6em;
	color: #FD4747;
	font-weight: normal;
	margin-left: .5em
}


#tahnks{
	text-align: center;
	background: rgba(238, 238, 238, 0.8);
	padding: 2em;

}

#tahnks h4{
	font-size: 1.2em;
	margin-bottom: .8em
}





/* ************************************************ 
*	slick
* ************************************************ */


.slick-dots {
    bottom: -35px;
 }


#headline{padding: 3em 0px;
	    background: #eaeee8;
}

#headline ul{
	text-align: left
}

#headline ul li{margin-bottom: .8em}

/* ************************************************ 
*	arcive
* ************************************************ */


/* ************************************************ 
*	FOOTER
* ************************************************ */

#btn_top{right: 2em;
    position: fixed;
    bottom: 5em;
}

#sitefooter{width: 100%;
	background: #3e3a39;
	color: #fff;
	padding: 2em 0
}

#footer_inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 98%;
	max-width: 1200px;
	margin: 0 auto
}



footer{position: relative;}

footer p{
	text-align: center;
	margin-top: 8em;
	background: #FD4747;
	color: rgba(255, 255, 255, 0.7);
	font-size: .8em;
	padding: .3em;
}
	

.footer_logo li:first-child{
	width: 80px;
	height: auto;
}
.footer_logo h2 a{
	display: block;
	width: 100%;
	max-width: 300px;
}
.footer_logo h2 img{width: 100%}

.footer_logo dt{margin-bottom: .8em}
.footer_logo dd{line-height: 1.6em}

#footer_inner .cr{font-size: 12px;margin-top: 1em}


@media (max-width:1000px) {
	#footer_inner >ul{
		width: 100%;
		margin: 1em auto;
		text-align: center
	}
	.footer_logo li:first-child{margin: 1em auto}
	.footer_logo h2 a{margin: 0 auto}
}	

@media  (min-width: 1001px) {
	.footer_logo{
		width: 50%;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start
	}
	.footer_logo li:first-child{margin-right: 1em}
	.footer_logo dd br,.cr br{display: none}
	
	#footer_inner ul:last-child{
		width: 50%;
		text-align: right
	}	
}	






.bg_3{
	position: absolute;
	height: 30vh;
	width: 100%;
	overflow: hidden;
	bottom: 0;
	z-index: -1;
}
.bg_3:before{
	content: '';
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	z-index: -1;
	border-style: solid;
	border-width: 30vh 0 0 1600px ;
	border-color: transparent transparent transparent #eee;
}

.bg_3:after{
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	right:  0;
	width: 0;
	height: 0;
	z-index: -1;
	border-style: solid;
	border-width: 0 0 30vh 1600px ;
	border-color: transparent transparent #FD4747 transparent;
}

@media screen and (max-width: 667px) {
	.bg_3:after{border-width: 0 0 20vh 700px ;}
}		





/* ************************************************ 
*	more
* ************************************************ */

@media (max-width: 767px) {}	

@media  (min-width: 768px) {	

	.more_sb{
		width: 33%;
		margin: 0 auto
	}

}
.more{margin: 0 auto;text-align: center}

a.morelink{
	display: block;
	margin: 0 auto;
	text-decoration: none;
	border: solid 2px #006932;
	padding: .8em 2em;
	width: 90%;
	max-width: 400px;
	position: relative;
	font-size: 1.2em;
	color: #006932;
}


a.morelink::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 0;
  border-bottom: 14px solid #006932;
  border-left: 14px solid transparent;
}


a.morelink:hover {
	color: #fff;
	background-color: #006932;
	border: solid 2px #006932;
	opacity: 1
}

/* ------------------------------
 Youtube iframe
------------------------------ */		
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    margin: 0 auto
}
.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


video {
width: 100%;
height: auto;
}



/* ************************************************ 
*	prevnext
* ************************************************ */
.pagenav{
	margin: 0 auto;
	padding: 1em 0;
	display: flex;
	justify-content: space-between;
	flex-wrap:wrap;
	width: 90%;
}

.pagenav li {
		width: 49.5%;
	}

.pagenav li a{
	display: block;
	text-decoration: none;
	padding: .5em;
	color: #000;
}
	
.pagenav li.prev{text-align: left;
}

.pagenav li.prev a:before{
	font-family: icomoon;
		content: "\e97a";
		padding-right: .5em
}
	
.pagenav li.next a{text-align: right;}

.pagenav li.next a:after{
		font-family: icomoon;
		content: "\e97b";
		padding-left: .5em
}




/* ************************************************ 
*	Pager
* ************************************************ */

#pager{overflow: hidden;
    position: relative;
    margin-bottom: 50px}
    
    
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
    position: relative;
    color: #665145;
}

.pagination span, .pagination a {
	color: #665145;
    display: block;
    width: auto;
    margin: 0 .3em;
    padding: .4em .5em;
    border: 2px solid #665145;
    background-color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 1.2em;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    position: relative;
    }

/* ページ番号 */
.pagination .pager{
    width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current  {
    color: #fff;
    border-color: #665145;
    background-color: #665145;
}

/* 前へ */
.pagination a.before {
    margin-right: 16px;
}
/* 次へ */
.pagination a.next {
    margin-left: 16px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/* Page x / y */
.pagination span.page_num {
    display: none;
}


dl.tax_att{
	border: solid 2px red;
	padding: 1em;
	margin-bottom: 1.5em;
	font-weight: bold;
}
dl.tax_att dt{font-size: 1.3em;color: red;margin-bottom: .5em}
dl.tax_att dd a{background: #fbff00}

@media (max-width: 767px) {
	dl.tax_att{margin: 0 1em 1.5em}
}	


@media  (min-width: 768px) {
	dl.tax_att{text-align: center}
}	


