@charset "utf-8";
/* 
	
CSS base.css */



/*
main #019a62
sub #00aa71
*/



/*//////////////////


Header


//////////////////*/

#header { width: 100%;  z-index: 100; position: fixed; top: 0;  background: #fff; background: rgba(255,255,255,0.97); right: 0; }
#header .incnt { position: relative; margin-right: 125px; width: calc(100% - 185px) }
#header.fixed {  /*animation: navfit 0.5s ease-out 0s 1 normal both;*/ }
#header .mainbox { display: flex; align-items: center; justify-content: space-between; height: 100px; }
#header .logo { line-height: 0; }
#header .logo img { width: 200px; vertical-align: middle; }
#header .logo .cap{ color: #009e3b; font-weight: bold; font-size: 0.94em; display: inline-block; vertical-align: middle; margin-left: -5px; }
/*#header.fixed .mainbox { height: 90px; }*/
/*#header.fixed .logo img { width: 160px; }*/
@media screen and (max-width: 1300px) {
	#header .logo .cap{ display: none; }
}
@media screen and (max-width: 1040px) {
	#header .incnt{ width: calc(100% - 200px); margin-right: 0; }
	#header, #header .mainbox { height: 90px; }
	#header .logo img{ width: 300px; }
}
@media screen and (max-width: 767px) {
	#header .incnt{ width: calc(100% - 140px);}
	#header, #header .mainbox { height: 50px; }
	#header .logo img { max-width: 218px; width: 100%; }
}

/* スライド画像のエフェクト */
@keyframes navfit {
  0% { transform: translate(0px, -50px); }
  100% { transform: translate(0px, 0px);  }
}


/* #sidefix */
#hcbtn { position: absolute; right: 0; top: 0; z-index: 1;  }
#hcbtn a { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; width: 100px; height: 100px; background: #00aa71; -ms-align-items: center; align-items: center; justify-content: center; position: relative; overflow: hidden; color: #fff; text-decoration: none; flex-direction: column;padding-bottom: 8px;box-sizing: border-box;}
#hcbtn a:before{ content:""; width: 0; height: 0; border-style: solid; border-width: 0 0 100px 100px; border-color: transparent transparent #019a62 transparent; position: absolute; bottom: 0; right: 0; z-index: 1; }
#hcbtn a .txt{ display: block; font-size: 0.8em; margin-bottom: 5px; text-align: center; position: relative; z-index: 1; }
#hcbtn a img{ width: 22px; height: 18px; position: relative; z-index: 2; }
#hcbtn a:hover{ opacity: 1; background: #019a62; }
#hcbtn a:hover:before{ border-color: transparent transparent #00aa71 transparent; }
/*#header.fixed #hcbtn a{ width: 90px; height: 90px; }*/
/*#header.fixed #hcbtn a:before{ border-width: 0 0 90px 90px; }*/
@media screen and (max-width: 1040px) { 
	#hcbtn{ right: 90px; }
	#hcbtn a{ width: 90px; height: 90px; padding-bottom:6px; }
	#hcbtn a .txt{ font-size: 0.7em; }
	#hcbtn a:before{ border-width: 0 0 90px 90px; }
}
@media screen and (max-width: 767px) {
	#hcbtn{ right: 50px; }
	#hcbtn a{ width: 50px; height: 50px; padding-bottom: 0; }
	#hcbtn a .txt{ display: none; }
	#hcbtn a:before{ border-width: 0 0 50px 50px; }
	#hcbtn a img{ width: 20px; height: 14px; }
}









/*//////////////////


Nav


//////////////////*/

#gnav { }
#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; overflow:hidden; line-height:0; font-size: 0; }
#gnav .bg { opacity: 0; }
#gnav ul.main { text-align: right; margin-top: 50px; margin-right: 0; }
#gnav ul.main>li { display: inline-block; float: left; position: relative; padding-right: 15px;  }
#gnav ul.main>li[data-cat="index"] { display: none; }
#gnav ul.main>li:last-child { padding-right: 0; }
#gnav ul.main>li a { text-decoration: none; position: relative; vertical-align: middle; }
#gnav ul.main>li a:hover { color: #019a62; opacity: 1;}
#gnav ul.main>li.current a,
#gnav ul.main>li.current p span,
#gnav ul.main>li.hassub p span:hover { color: #019a62; }
#gnav ul.main>li.hassub{ cursor: pointer; padding-top: 2px; }
#gnav ul.main>li.hassub>ul{ background-color: #00aa71; padding: 32px 20px; color: #fff; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 650px; position: absolute; left: -240px; top: 40px; text-align: center; display: none; z-index: 50; }
#gnav ul.main>li.hassub>ul>li{ display: inline-block; margin-left: 15px; }
#gnav ul.main>li.hassub>ul>li a{ color: #fff; }
#gnav ul.main>li.hassub>ul>li:before{ content:"/"; margin-right: 15px; vertical-align: middle; }
#gnav ul.main>li.hassub>ul>li:first-child{ margin-left: 0; }
#gnav ul.main>li.hassub>ul>li:first-child:before{ content:none; }
#gnav ul.main>li.hassub>ul>li a:hover{ color: #3c2717; opacity: 1; }
#gnav ul.main>li.hassub>ul>li svg{ display: none; }
#gnav ul.main>li[data-cat="contact"] a{ display: inline-block; }
#gnav ul.main>li[data-cat="contact"] a span{ background-color: #00aa71; width: 44px; height: 44px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; justify-content: center; border-radius: 50%;transition: 0.6s; margin-top: -6px; }
#gnav ul.main>li[data-cat="contact"] a:hover span{ opacity: 0.7; }
#gnav ul.main>li[data-cat="contact"] svg{ width: 26px; height: 18px; }

#gnav .pnavbox .contactbox{ display: none; }
#gnav .pnavbox .telbox{ position: absolute; top: 15px; right: 0; }
#gnav .pnavbox .telbox{ text-decoration: none; line-height: 1; }
#gnav .pnavbox .telbox .icon{ background: #00aa71; color: #fff; line-height: 1; padding: 11px 13px; border-radius: 20px; display: inline-block; vertical-align: middle; font-size: 0.81em; font-weight: bold; }
#gnav .pnavbox .telbox .tel{ text-decoration: none; opacity: 1; color: inherit; }
#gnav .pnavbox .telbox .sp{ display: inline-block; vertical-align: middle; }
#gnav .pnavbox .telbox .sp .num{ font-weight: bold; font-size: 1.88em; margin-left: 10px; }
#gnav .pnavbox .telbox .sp .info{ display: none; }
#gnav .pnavbox .snsbox{ position: absolute; top: 15px; right: 490px; }
#gnav .pnavbox .snsbox>ul{ line-height: 1; font-size: 0; }
#gnav .pnavbox .snsbox>ul>li{ display: inline-block; vertical-align: middle; margin-right: 10px; }
#gnav .pnavbox .snsbox>ul>li a:hover{ opacity: 0.7; }
#gnav .pnavbox .snsbox>ul>li._twitter{ width: 35px; height: 35px; }
#gnav .pnavbox .snsbox>ul>li._insta{ width: 35px; height: 35px; }

/* スクロールfixed */
/*#header.fixed #gnav ul.main { text-align: right; margin-top: 40px; }
#header.fixed #gnav .pnavbox .telbox{ top: 10px; }
#header.fixed #gnav .pnavbox .telbox .icon{ padding: 8px 10px; }
#header.fixed #gnav .pnavbox .telbox .sp .num{ font-size: 1.38em; }*/
@media screen and (max-width: 1280px) {
	#gnav ul.main>li.hassub>ul{ left: -120px; }
}
@media screen and (max-width: 1180px) {
	#gnav ul.main>li { padding-right: 12px; }
}
@media screen and (max-width: 1040px){
	#gnav { height: 100%; position: fixed; top: 0; right: 0; z-index: 1000; background: #00aa71; }
	#gnav .navbox{ overflow-y: auto; height: 100%; }
	#gnav ul.main { position: static; display: block; text-align: left; margin-top:0; padding: 35px 25px 35px 35px; overflow-y: auto }
	#gnav ul.main>li,
	#gnav ul.main>li.hassub>ul>li,
	#gnav ul.main>li.hassub>ul>li:first-child{ display: block!important; margin: 0; float: none; padding-right: 0; }
	#gnav ul.main>li a,
	#gnav ul.main>li p,
	#gnav ul.main>li.hassub p span:hover,
	#gnav ul.main>li.hassub>ul>li a { color: #fff; }
	#gnav ul.main>li a:hover,
	#gnav ul.main>li.hassub>ul>li a:hover{ /*text-decoration: line-through;*/ color: #fff;}
	#gnav ul.main li.current>a,
	#gnav ul.main>li.current p span { /*text-decoration: line-through;*/ color: #fff; }
	#gnav ul.main>li.hassub>ul{ background-color: transparent; padding: 0; display: block; width: auto; position: static; text-align: left; }
	#gnav ul.main>li.hassub>ul>li:before{ content:none }
	#gnav ul.main>li.hassub{ padding-top: 0; margin-top: -5px; margin-bottom: 15px; }
	#gnav ul.main>li.hassub:nth-child(3){ margin-bottom: 10px; }
	#gnav ul.main>li.hassub>ul>li{ padding: 0; padding-right: 10px; line-height: 1.8; }
	#gnav ul.main>li.hassub>ul>li svg{ width: 6px; height: 10px; margin-right: 5px; display: inline; }
	#gnav ul.main>li.hassub>ul>li svg .st0{ stroke:#fff; }
	#gnav ul.main>li{ margin-bottom: 5px; }
	#gnav ul.main>li:last-child{ margin-bottom: 0; }
	
	/* telbox */	
	#gnav .pnavbox {display: block;position: static; }
	#gnav .pnavbox ul { text-align: left; }
	#gnav .pnavbox li { display: block; float:none; margin:0; color: #fff; padding: 15px 4% 13px; }
	#gnav .pnavbox li a{ display: block; text-decoration: none; line-height: 1.6; }
	#gnav .pnavbox .snsbox{ position: relative; top: 0; right: 0; background: #a1d0c4; }
	#gnav .pnavbox .snsbox>ul{ text-align: center; margin-right: 0; margin-left: -10px; }
	#gnav .pnavbox .snsbox>ul>li{ padding: 0 !important; margin-right: 0; margin-left: 10px; }
	#gnav .pnavbox .snsbox>ul>li._twitter{ width: 40px; height: 40px; }
	#gnav .pnavbox .snsbox>ul>li._insta{ width: 40px; height: 40px; }
	#gnav .pnavbox .telbox{ position: relative; top: 0; }
	#gnav .pnavbox .telbox .sp{ display: block; }
	#gnav .pnavbox .telbox{ background: #66bf97; text-align: center; }
	#gnav .pnavbox .telbox .icon{ display: none; }
	#gnav .pnavbox .telbox .sp .num{ font-size: 1.93em; margin: 0; display: block; }
	#gnav .pnavbox .telbox .tel{ color: #fff; }
	#gnav .pnavbox .telbox .num:before{ content: ""; background: url(../img/common/tel.svg) no-repeat; -webkit-background-size: contain; background-size: contain; width: 18px; height: 28px; display: inline-block; margin-right: 10px; }
	#gnav .pnavbox .telbox .sp .info{ display: block; font-size: 0.8em; text-align: center; line-height: 1.8; }
	#gnav .pnavbox .contactbox{ background: #19b27f; text-align: center; display: block; }
	#gnav .pnavbox .contactbox .main{ font-size: 1.13em; }
	#gnav .pnavbox .contactbox .main:before{content: "";background: url(../img/common/mail.svg) no-repeat;-webkit-background-size: contain;background-size: contain;width: 22px;height: 22px;display: inline-block;margin-right: 10px;vertical-align: middle;}
	#gnav .pnavbox .contactbox .spinfo{ font-size: 0.8em; }
	#gnav .pnavbox .contactbox .main,
	#gnav .pnavbox .contactbox .spinfo{ display: block; color: #fff; }
}
@media screen and (max-width: 767px){
	#gnav ul.main>li a,
	#gnav .pnavbox li a { font-size: 16px; }
	#gnav .pnavbox li{ padding-left: 6%; padding-right: 6%; }
}









/*//////////////////


Menubtn


//////////////////*/

#menubtn {display: none; z-index: 1001; }
@media screen and (max-width: 1040px){
	#menubtn { position: fixed; top: 0; right: 0; display: block; background: transparent; width: 90px; height: 90px; cursor: pointer; }
	#menubtn a { text-decoration: none; position: relative; display: block; height: 100%; width: 100%; color: #fff; background: #e6eade; }
	#menubtn a .line {
		width: 30px; height: 1px; background: #019a62; position: absolute; left: 50%; margin-left: -15px;transition: all 0.6s;
	}
	#menubtn a #line1 { top: 35px; }
	#menubtn a #line2 { top: 45px; }
	#menubtn a #line3 { top: 55px; }
	#menubtn a:hover #line1 { top: 35px; }
	#menubtn a:hover #line2 { top: 45px; }
	#menubtn a:hover #line3 { top: 55px; }
	#menubtn.active a .txt { display: none; }
	#menubtn.active a span { width: 29px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(10px) translateX(0) rotate(45deg);
		transform:translateY(10px) translateX(0) rotate(45deg);
	}
	#menubtn.active a #line2 { display: none; }
	#menubtn.active a #line3 { 
		-webkit-transform:translateY(-10px) translateX(0) rotate(-45deg); 
		transform:translateY(-10px) translateX(0) rotate(-45deg);
	}
}
@media screen and (max-width: 767px){
	#menubtn { width: 50px; height: 50px; }
	#menubtn a .line { width: 19px; margin-left: -10px; }
	#menubtn.active a span { width: 19px; }
	#menubtn a #line1 { top: 18px; }
	#menubtn a #line2 { top: 25px; }
	#menubtn a #line3 { top: 33px; }
	#menubtn a:hover #line1 { top: 18px; }
	#menubtn a:hover #line2 { top: 25px; }
	#menubtn a:hover #line3 { top: 33px; }
	#menubtn.active a #line1 {
		-webkit-transform:translateY(8px) translateX(0) rotate(45deg);
		transform:translateY(8px) translateX(0) rotate(45deg);
	}
	#menubtn.active a #line3 { 
		-webkit-transform:translateY(-8px) translateX(0) rotate(-45deg); 
		transform:translateY(-8px) translateX(0) rotate(-45deg);
	}
}









/*//////////////////


Mainv_index


//////////////////*/

#mainv_index { position: relative; height: 750px; margin-top: 100px; }
#mainv_index .box { position: absolute; top: 50%; left: 0; text-align: center; width: 100%; -webkit-transform: translate(0, -50%); /* Safari用 */ transform: translate(0, -50%); display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; justify-content: center; }
#mainv_index .box .tategaki { background: #00aa71; padding: 60px 70px; position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; width: 332px; }
#mainv_index .box .tategaki:before{ content:""; width: 0; height: 0; border-style: solid; border-width: 0 0 332px 325px; border-color: transparent transparent #019a62 transparent; position: absolute; bottom: 0; right: 0; z-index: 1; }
#mainv_index .box .tategaki .copy { font-size: 2.19em; padding: 0; color: #fff; line-height: 1.8; position: relative; z-index: 2; }
#mainv_index .box .tategaki .copy span{ display: inline-block; position: relative; line-height: 1.6; }
#mainv_index .box .tategaki .copy span:after{ content:""; background: #fff; position: absolute; top: 0; left: 0; width: 1px; height: 100%; }
#mainv_index .box .linklist{ background: #f7f9f5; margin-left: 20px; width: 342px; position: relative; }
#mainv_index .box .linklist:before{ content:""; width: 0; height: 0; border-style: solid; border-width: 0 0 342px 334px; border-color: transparent transparent #edf3e9 transparent; position: absolute; bottom: 0; right: 0; z-index: 1; }
#mainv_index .box .linklist>li{ position: relative; z-index: 2; }
#mainv_index .box .linklist>li:after{ content:""; background: #00aa71; position: absolute; bottom: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; width: 260px; height: 1px; display: inline-block; }
#mainv_index .box .linklist>li:last-child:after{ content:none; }
#mainv_index .box .linklist>li>a{ display: block; padding: 60px 40px; text-decoration: none; position: relative; }
#mainv_index .box .linklist>li:first-child>a{ padding-top: 78px; }
#mainv_index .box .linklist>li:last-child>a{ padding-bottom: 78px; }
#mainv_index .box .linklist>li>a svg{ position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 15px; width: 14px; height: 26px; }
#mainv_index .box .linklist>li>a svg .st0{ stroke:#00aa71!important; }
#mainv_index .box .linklist>li>a .title{ text-align: center; font-size: 2.19em; color: #00aa71; line-height: 1.6; }
#mainv_index .box .linklist>li>a .txt{ text-align: center; font-size: 1.13em; color: #00aa71; }
#mainv_index .box .linklist>li>a:hover{ opacity: 1; background: #00aa71; }
#mainv_index .box .linklist>li>a:hover .title,
#mainv_index .box .linklist>li>a:hover .txt{ color: #fff; }
#mainv_index .box .linklist>li>a:hover svg .st0{ stroke:#fff!important; }
#mainv_index .slidebox { z-index: -1; position: relative; }
#mainv_index .slidebox:before{ content: ""; background: rgba(0,0,0,0.3); position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; z-index: 1; }
#mainv_index .slidebox { width: 100%; height: 100%; }
#mainv_index .slidebox div { width: 100%; height: 100%; }
#mainv_index .slidebox .slick-dots{ display: none!important; }
#mainv_index .slidebox div .bg { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; display: block; }
#mainv_index .slidebox div.slick-current .bg,
#mainv_index .slidebox div.slick-slide[tabindex="0"] .bg { animation: zoomout 10s linear 0s 1 normal both; }
#mainv_index .slidebox div.slick-slide[tabindex="-1"] .bg { width: 100%; height: 100%; }
@media screen and (max-width: 1040px){
	#mainv_index{ height: 500px; margin-top: 90px; }
	#mainv_index .box{ justify-content: flex-end; padding-right: 6%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
	#mainv_index .box .linklist{ display: none; }
	#mainv_index .box .tategaki { padding: 47px 37px; width: 240px; }
	#mainv_index .box .tategaki:before{ border-width: 0 0 190px 180px; }
	#mainv_index .box .tategaki .copy { font-size: 1.88em; }
	#mainv_index .slidebox .slick-dots{ display: block!important; bottom: 5px; text-align: right; right: 6%; }
	#mainv_index .slidebox .slick-dots li{ width: 36px; height: 2px; }
	#mainv_index .slidebox .slick-dots li button{ width: 36px; height: 2px; padding-top: 0; padding-bottom: 0; }
	#mainv_index .slidebox .slick-dots li button:before{ width: 36px; height: 2px; background: #fff; opacity: 1; font-size: 0; }
	#mainv_index .slidebox .slick-dots li.slick-active button:before{ background: #00aa71; }
}
@media screen and (max-width: 767px){
	#mainv_index{ height: 364px; margin-top: 50px; }
	#mainv_index .box .tategaki { padding: 43px 37px; width: 190px; }
	#mainv_index .box .tategaki:before{ border-width: 0 0 180px 190px; }
	#mainv_index .box .tategaki .copy { font-size: 1.33em; line-height: 2; }
}
@media screen and (max-width: 639px){
}

/* スライド画像のエフェクト */
/*
@keyframes zoomout {
	0% { transform: scale(1); filter: blur(8px);}
	20% { transform: scale(1.03); filter: blur(0);}
	100% { transform: scale(1.15); filter: blur(0); }
}
*/
@keyframes zoomout {
	0% { transform: scale(1);}
	100% { transform: scale(1.2); }
}








/*//////////////////


Mainv


//////////////////*/

#mainv { height: 300px; position: relative; margin-top: 100px; }
#mainv .bg{ width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; /*IE対策*/ z-index: 1; }
#mainv:before{ content: ""; position: absolute; width: 100%; height: 100%; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); display: block; z-index: 2; }
#mainv .pagetitle{ position: absolute; top: 0; bottom: 0; right: 0; left: 0; max-width: 584px; width: 88%; margin: auto; background: #00aa71; color: #fff; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -ms-align-items: center; align-items: center; justify-content: center; text-align: center; -webkit-flex-direction: column; -moz-flex-direction: column; -ms-flex-direction: column; -o-flex-direction: column; flex-direction: column; height: 186px; z-index: 3; }
#mainv .pagetitle:before{ content:""; width: 0; height: 0; border-style: solid; border-width: 0 0 186px 423px; border-color: transparent transparent #019a62 transparent; position: absolute; bottom: 0; right: 0; z-index: 4; }
#mainv .pagetitle .maintitle{ font-size: 2.25em; line-height: 1.6; position: relative; z-index: 5; }
#mainv .pagetitle .subtitle{ font-size: 1.13em; font-weight: bold; position: relative; z-index: 5; }
@media screen and (max-width: 1040px){
	#mainv{  margin-top: 90px; }
	#mainv .pagetitle .maintitle{ font-size: 2em; }
	#mainv .pagetitle .subtitle{ font-size: 1em; }
	#mainv .pagetitle{ height: 180px; }
	#mainv .pagetitle:before{ border-width: 0 0 180px 400px; }
}
@media screen and (max-width: 767px){
	#mainv { height: 200px; margin-top: 50px;}
	#mainv .pagetitle{ height: 150px; }
	#mainv .pagetitle:before{ border-width: 0 0 150px 300px; }
}
@media screen and (max-width: 639px) { 
/*
	#mainv .pagetitle{ height: calc(100% - 20px); width: calc(100% - 20px); background: rgba(0,170,113,0.5); }
	#mainv .pagetitle:before{ content:none; }
*/
	#mainv .pagetitle .maintitle{ font-size: 1.75em; }
}
@media screen and (max-width: 400px) { 
	#mainv .pagetitle .maintitle{ font-size: 1.5em; }
	#mainv .pagetitle:before{ border-width: 0 0 150px 280px; }
}











/*//////////////////


Pankuzu


//////////////////*/

#pankuzu { line-height: 1.4; padding:10px 0 13px; }
#pankuzu ol { margin: 0 60px; font-size: 0; }
#pankuzu ol li { display:inline; font-size: 16px; }
#pankuzu ol li:before { content:"/"; display: inline-block; margin: 0 5px }
#pankuzu ol li:first-child:before { display: none; }
#pankuzu ol li a:hover { opacity: 0.7; transition: 0.3s; }
@media screen and (max-width: 1040px) { 
	#pankuzu { display: none; }
}






/*//////////////////


Content


//////////////////*/

#main { margin-top: 0px; padding-bottom: 120px; margin-bottom: 120px; }
#index #main { padding-bottom: 0px; margin-bottom: 120px; background: #fff; }
body:not(#index) #main{ padding-top: 60px; }
@media screen and (max-width: 767px) { 
	#main { margin-top: 0px; margin-bottom: 60px; padding-bottom: 60px; }
	#index #main { margin-bottom: 60px; }
	body:not(#index) #main{ padding-top: 30px; }
}










/*//////////////////


Cntside


//////////////////*/

#side {  }













/*//////////////////


Footer


//////////////////*/

#footer {  }
#footer .incnt{ max-width: 1125px; }

/* contactbox */
#footer .contactbox { background: #e5f6f1; padding: 65px 0px 75px; }
#footer .contactbox .incnt{ max-width: 1180px; }
#footer .contactbox .title{ text-align: center; font-size: 2.25em; line-height: 1.6; padding-bottom: 15px; margin-bottom: 30px; position: relative; }
#footer .contactbox .title:before{ content:""; background: #66cc99; width: 120px; height: 2px; display: inline-block; position: absolute; bottom: 0; left: 0; right: 0; margin-left: auto; margin-right: auto; }
#footer .contactbox .title:after{ content: ""; background: #00aa71; width: 60px; height: 2px; display: inline-block; position: absolute; bottom: 0; left: -60px; right: 0; margin-left: auto; margin-right: auto; }
#footer .contactbox .txt{ margin-bottom: 25px; text-align: center; }
@media screen and (max-width: 1040px) {
	#footer .contactbox { padding: 50px 0px 60px; }
	#footer .contactbox .txt{ text-align: left; }
	#footer .contactbox .title{ font-size: 2em; padding-bottom: 20px; margin-bottom: 25px; }

}
@media screen and (max-width: 767px) {
	#footer .contactbox { padding: 40px 0px 50px; }
	#footer .contactbox .title{ font-size: 1.47em; }
}


/* fnav */
#footer #fnav { padding: 45px 0; }
#footer #fnav .main{  margin-left: -35px; margin-bottom: -35px; }
#footer #fnav .main>li{ display: inline-block; vertical-align: top; margin-left: 35px; margin-bottom: 35px; }
#footer #fnav .main>li a{ text-decoration: none; }
#footer #fnav .main>li .sub{  }
#footer #fnav .main>li .sub>li{  }
#footer #fnav .main>li .sub>li svg{ width: 6px; height: 10px; margin-right: 5px; }
@media screen and (max-width: 1040px) {
	#footer #fnav{ display: none; }
}


/* footerinfo */
#footer .footerinfo{ background: #f5f7f2; padding: 45px 0; }
#footer .list{ display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; -webkit-flex-direction: row; -moz-flex-direction: row; -ms-flex-direction: row; -o-flex-direction: row; flex-direction: row; }
#footer .list>li{ position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding-right: 70px; margin-right: 70px; }
#footer .list>li:before{ content:""; background: #00aa71; width: 1px; height: 213px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; }
#footer .list>li:last-child{ padding-right: 0; margin-right: 0; }
#footer .list>li:last-child:before{ content:none; }
#footer .list>li .subtitle{ font-size: 1.25em; color: #00aa71; }
#footer .list>li .officename{ font-size: 1.25em; }
#footer .list>li .telfax{ margin-left: -15px; }
#footer .list>li .telfax>li{ margin-left: 15px; }
#footer .list>li .link{ margin-top: 20px; }
@media screen and (max-width: 1040px) {
	#footer .footerinfo{ background-color: transparent; }
	#footer .list{ display: block; }
	#footer .list>li{ padding-right: 0; margin-right: 0; padding-bottom: 40px; margin-bottom: 40px; text-align: center; }
	#footer .list>li:last-child{ padding-bottom: 0; margin-bottom: 0; }
	#footer .list>li:before{ width: 88%; height: 1px; top: auto; left: 0; margin-left: auto; margin-right: auto; }
	#footer .list>li .telfax{  }
	#footer .list>li .telfax>li{ display: inline-block; }
}
@media screen and (max-width: 767px) {
	#footer .list>li{ text-align: left; }
}



/* cr */
#footer .cr{ background: #00aa71; font-size: 0.88em; color: #fff; text-align: center; padding: 11px 0; }
