@charset "UTF-8";
/*==================================================================
	Common.css

	1 - Reset          : reset / font / general / box-sizing
	2 - layout         : 940gridSystem
	2 - UI             : link / toggle / form / table / pager / header / navi / pagetop / footer / ...

===================================================================*/

/* ------------------------------------------------------------------
	Reset
-------------------------------------------------------------------*/
html {
	overflow-x:hidden;
	background:#FFF;
}
body {
	overflow-x:hidden;
	-webkit-text-size-adjust:none;
	-ms-text-size-adjust:none;
	word-wrap:break-word;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, object, iframe, pre, code, p, blockquote, form, fieldset, legend, table, th, td, caption, tbody, tfoot, thead, article, aside, figure, footer, header, hgroup, menu, nav, section, audio, video, canvas {
	margin:0;
	padding:0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, menu { display:block; }
audio:not([controls]) {
	display:none;
	height:0;
}
[hidden] { display:none; }
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset, img { border:none; }
address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}
ul, ol, menu { list-style:none; }
caption, th { text-align:left; }
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}
q:before, q:after { content:''; }
abbr, acronym {
	border:none;
	font-variant:normal;
}
sup { vertical-align:text-top; }
sub { vertical-align:text-bottom; }
input, textarea, select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
legend { color:#000; }
a img, map a { border:none; }
a:hover, a:active, a:focus { outline:0; }
embed { width:100%; }
audio, canvas, video { display:inline-block; }
audio:not([controls]) {
	display:none;
	height:0;
}
img, object, embed {
	max-width:100%;
	height:auto;
}
object, embed { height:100%; }
img {
	-ms-interpolation-mode:bicubic;
}

/*  Font
---------------------------------------------*/
body {
	font:14px/1.5 'メイリオ','Meiryo','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	color:#333;
	letter-spacing:0.05em;
}
select, input, button, textarea, button { font:99% arial, sans-serif; }
table {
	font-size:inherit;
	font:100%;
}
pre, code, kbd, samp, tt {
	font-family:monospace;
	line-height:1;
}
/* hiwrite */
p::selection,
p::-moz-selection,
a::selection,
a::-moz-selection {
background: #FFAE10;
}

/*  General
---------------------------------------------*/
table { empty-cells:show; }
input { line-height:1; }
form img, input, select { vertical-align:middle; }
textarea { resize:none; }
select { padding:1px; }
label { margin-right:5px; }
legend { display:none; }
input[type="text"], input[type="password"], textarea {
	padding:3px 4px 0 3px;
	border:1px solid #999;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
	font-size:13px;
}
/*  box-sizing
---------------------------------------------*/
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}


/*==================================================================
	Layout - 940grid
===================================================================*/

/*  base
---------------------------------------------*/
body {
	min-width:320px;
}
#wrapper {
	position: relative;
}
.container {
	width: 940px;
	margin: 0 auto;
}
.container-fluid {
	width:100%;
}
/*  contentsArea layout
---------------------------------------------*/
#contents {
}


/*  grid
---------------------------------------------*/

.grid1, .grid2, .grid3, .grid4, .grid5, .grid6, .grid7, .grid8, .grid9, .grid10, .grid11 {
  float: left;
  display: inline;
  margin-left: 20px;
}
.grid1 {width: 60px;}
.grid2 {width: 140px;}
.grid3 {width: 220px;}
.grid4 {width: 300px;}
.grid5 {width: 380px;}
.grid6 {width: 460px;}
.grid7 {width: 540px;}
.grid8 {width: 620px;}
.grid9 {width: 700px;}
.grid10 {width: 780px;}
.grid11 {width: 860px;}
.first {margin-left: 0;clear: left;}

/* clearfix */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
 /* IE6 */
* html .clearfix { zoom: 1;}
 /* IE7 */
*:first-child+html .clearfix {zoom: 1;}



/*===================================================================
	UI

	- link
	- form
	- table
	- header
	- navi
	- footer
	- pagetop
	- toggle
	- pager

===================================================================*/

/* ------------------------------------------------------------------
	Link
-------------------------------------------------------------------*/
a {
	color:#333;
	text-decoration:none;
}
a {
	-webkit-transition:all 0.4s;
	-moz-transition:all 0.4s;
	-o-transition:all 0.4s;
	-ms-transition:all 0.4s;
	transition:all 0.4s;
}
a i {
	margin-right:0.2em;
}
a:hover {
	color:#ff0000;
}
a img{
	-webkit-transition:all 0.4s;
	-moz-transition:all 0.4s;
	-o-transition:all 0.4s;
	-ms-transition:all 0.4s;
	transition:all 0.4s;
}
a:hover img{
	opacity:0.4;
}
.touchHover,
.noTapColor,
button {
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}


/* ------------------------------------------------------------------
	Form - skelton.css
-------------------------------------------------------------------*/

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #33C3F0;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }



/* ------------------------------------------------------------------
	Table
-------------------------------------------------------------------*/
table {
}


/* ------------------------------------------------------------------
	Header
-------------------------------------------------------------------*/
#header {
	width:100%;
	border-top: 5px solid #1c7c3c;
	-webkit-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.2);
	box-shadow: 0px 9px 3px -3px rgba(0,0,0,0.2);
	background-color: #fff;
	position:absolute;
}
.headerInner {
	height:110px;
	position:relative;
}

.headerInner .logoArea {
	position:absolute;
	top: 0;
	left:0;
	z-index:1;
}
.headerInner .logoArea {
	letter-spacing: 0em;
}
.headerInner .header_contactArea {
	position:absolute;
	top: 0;
	right:0;
	width: 440px;
}
.headerInner .header_contactArea .call {
	line-height:1.2em;
	margin-right: 10px;
}
.headerInner .header_contactArea .call img {
	margin-right: 5px;
}
.headerInner .header_contactArea .call span.u-f24 {
	letter-spacing: 0.02em;
	font-size: 23px;
}
.headerInner .header_contactArea .call img {
	display: inline-block;
}


/* ------------------------------------------------------------------
	Navi
-------------------------------------------------------------------*/
#navi {
	width:720px;
	margin:0 auto;
	padding-top: 70px;
}
#navi li {
	height:40px;
	float:left;
	text-align:center;
	position:relative;
	z-index: 9999;
}
#navi ul#menu > li::before {
	content: url(../img/common_header_border01.gif);
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:1px;
	height:40px;
}
#navi ul#menu > li:last-child::after {
	content: url(../img/common_header_border01.gif);
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:40px;
}
#navi li a {
	display:block;
	height: 40px;
	padding: 10px 20px;
	min-width:130px;
}
#navi li.li-border:hover > a ,
#navi li.li-border.active a {
	color: #1c7c3c;
	border-bottom:5px solid #1c7c3c;
}
#navi li.li-border:hover li a ,
#navi li.li-border.active li a {
	color: #fff;
	border-bottom:none;
}
/*child*/
#navi ul.child {
	display: none;
	position: absolute;
	padding: 0;
	z-index:999;
	top:40px;
}
#navi ul.child li {
	height:40px;
	line-height:40px;
	float:none;
	background-color:#2b4434;
	text-align:center;
	border-bottom:solid 1px #8d9a91;
}
#navi li:nth-child(2) ul.child {
	min-width:160px;
}
#navi li:nth-child(3) ul.child {
	min-width:280px;
}
#navi li:nth-child(4) ul.child {
	min-width:240px;
}
#navi ul.child li a {
	color:#fff;
	display:block;
	padding:0 40px;
}
#navi ul.child li a:hover {
	background-color:#1c7c3c;
}

/* ------------------------------------------------------------------
	Footer
-------------------------------------------------------------------*/
#footer {
	clear:both;
	width: 100%;
	background: #3c5a46;
	border-top: 5px solid #1c7c3c;
}

#footer .linkArea {
	margin: 40px auto;
	display: flex;
	flex-wrap: wrap;
}
#footer .linkArea div.grid1,
#footer .linkArea dl,
#footer .linkArea ul {
	border-left: 1px solid #8d9a91;
	padding-left: 20px;
	height: 100%;
}
#footer .linkArea div a,
#footer .linkArea dl a,
#footer .linkArea ul a {
	line-height: 30px;
	color: #fff;
	text-decoration: underline;
}
#footer .linkArea div a:hover,
#footer .linkArea dl a:hover,
#footer .linkArea ul a:hover {
	text-decoration: none;
}
#footer .linkArea dl dt {
	padding-bottom:10px;
}
#footer .linkArea dl dt a {
	text-decoration: none;
	font-weight: bold;
	font-size: 18px;
}
#footer .linkArea div.grid1 {
	position:relative;
}
#footer .linkArea div.grid1 a {
	position: absolute;
	top: 0;
	left: 20px;
	width:100px;
}


#footer .copyArea {
	color:#fff;
	background:#2b4434;
	padding:20px 0;
}
#footer .copyArea small {
	font-size:12px;
 }

/* ------------------------------------------------------------------
	Page Top
-------------------------------------------------------------------*/
#pagetop {
	position:fixed;
	bottom: 40px;
	right: 40px;
}
#pagetop a {
}


/* ------------------------------------------------------------------
	Pager
-------------------------------------------------------------------*/
.pager {
	font-size:28px;
	font-family:Montserrat;
	text-align:center;
}
.pager li {
	display:inline-block;
	color:#41210f;
}
.pager li a {
	display:block;
	padding:0.5em;
	color:#41210f;
}
.pager li span.active {
	display:block;
	padding:0.5em;
	color:#b0a8a5;
}
.pager li a:hover {
	color:#dadf00;
}


.slick-prev:before, .slick-next:before {
	color: black !important;
}