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

/*
//color
black #191919
main #e54c4c
brown #664c28
lightbrown #f0ede9
border #ccc
back #f1f1f1
*/




/* ---------------------------------------
base
--------------------------------------- */
body{
	color: #333333;
	font-size: 100%; /* 100% = 16px */
	line-height: 1.8;
	text-align: left;
	font-family: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN" ,"Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	width: 100%;
	-webkit-text-size-adjust: 100%;
	letter-spacing: 0.001em;
	max-height: 999999px;
	overflow: hidden;
}
@media screen and (max-width: 639px) {
	body { font-size: 88% }
}









/* 
---------------------------------------
#header
--------------------------------------- */
#header{width: 100%;text-align: center;position: relative;margin: 0;height: 180px;padding-top: 15px;}
#header .logo { position: absolute; left: 40px; top: 45px; width: 450px; max-width: calc(100% - 760px); z-index: 1001;}
@media screen and (max-width: 1040px) {
	#header{ height: auto; padding-top: 20px; }
	#header .logo { position: relative; left: 4%; top: 0; max-width: 260px; margin-bottom: 20px; }
}
@media screen and (max-width: 639px) {
	#header .logo { width: calc(100% - 80px); }
}
@media screen and (max-width: 479px) {
}


#header .headtxt{text-align: right;margin-right: 40px;position: relative;margin-bottom: 50px;}
#header .headtxt .txt1{ font-weight: bold; font-size: 0.93em;/*15px*/ }
#header .headtxt .txt2{ font-size: 0.87em;/*14px*/ }

#header .btnbox{position: absolute;top: 90px;right: 0;}
#header .btnbox .box1{
	display: inline-block;
	background-color: #23b7c2;
	color: #fff;
	font-weight: bold;
	font-size: 0.87em;/*14px*/
	padding: 2px 10px;
	margin-right: 15px;
	vertical-align: middle;
}
/*#header .btnbox .mailbtn{
	display: inline-block;
}*/
/*#header .btnbox .mailbtn a{
	text-decoration: none;
	background: #21b6c1;
	color: #fff;
	font-size: 0.87em;
	padding: 8px 15px 8px 40px;
	position: relative;
}*/

#header .btnbox .telbtn{
	display: inline-block;
	vertical-align: middle;
	margin-top: -11px;
	padding-top: 4px;
}
#header .btnbox .telbtn a{
	text-decoration: none;
}
#header .btnbox .telbtn img{
	width: 230px;
}

@media screen and (max-width: 1040px){
	#header .headtxt{ text-align: right; margin-right: 0; position: relative; margin-bottom: 0;}
	#header .headtxt .txt1{ background: #f8fbeb; color: #6fba2c; text-align: center; padding: 20px 10px; }
	#header .headtxt .txt2{ display: none; }
	#header .btnbox{ position: static; }
	#header .btnbox .box1{
		display: block;
		border: none;
		background: #23b7c2;
		color: #fff;
		font-size: 1em;
		padding: 10px;
		margin-right: 0;
		text-align: center;
	}
	#header .btnbox .mailbtn{
		display: none;
	}
	#header .btnbox .telbtn{
		display: none;
	}
}
@media screen and (max-width: 639px){
	#header .headtxt .txt1{ padding: 10px 10px; }
}




/* 
---------------------------------------
#gnav
--------------------------------------- */
#gnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; font-size: 0.1em; }
#gnav { z-index: 10001; text-align: center; }
#gnav .incnt{ max-width: 1400px; }
#gnav .mainlist { text-align: right; display: inline-block; margin-right: -15px; vertical-align: middle; margin-bottom: 0px; }
#gnav .mainlist>li { float: left; padding: 0 0px; position: relative; }
#gnav .mainlist>li:before{
	content: "";
	display: block;
	width: 10px;
	height: 29px;
	background: url(../img/common/nav_slash.png) no-repeat center;
	position: absolute;
	top: 7px;
	left: -5px;
}
#gnav .mainlist>li:first-child:before{
	display: none;
}
#gnav .mainlist>li>a,
#gnav .mainlist>li>p { color: #333333; text-align: center; line-height: 1; display: block; font-weight: bold; text-decoration: none;  position: relative; padding: 13px 13px 15px;}
#gnav .mainlist>li>a:hover,#gnav .mainlist>li>p:hover, #gnav .mainlist>li.current>a, #gnav .mainlist>li.current>p{ color: #23b7c2; opacity: 1; }
#gnav .mainlist>li>a>span,
#gnav .mainlist>li>p>span { font-weight: bold; }
#gnav .mainlist>li:first-child>a>span { border-left: none; }
#gnav .mainlist>li>a:before { content:""; background-image: url(../img/common/arw1_red_down.png); background-size: contain; width: 12px; height: 6px; position: absolute; bottom: 3px; left: 50%; margin-left: -6px; }
#gnav .mainlist>li.hassub{ cursor: pointer; }
#gnav .mainlist>li.hassub div.sub { width: 200px; background: #23b7c2; color: #fff; border-top: none; position: absolute; left: 50%; top: 45px; margin-left: -100px; box-sizing: border-box;z-index: 1000; text-align: center; display: none; }
#gnav .mainlist>li.hassub div.sub>ul>li:not(:first-child){ border-top: 1px dashed #fff; }
#gnav .mainlist>li.hassub div.sub a{ transition: none; padding: 5px 10px!important; position: relative; font-size: 14px; display: block; text-decoration: none; }
#gnav .mainlist li.hassub.isopen p{ color: #23b7c2; opacity: 1;  }
#gnav li.nopc { display: none; }

@media screen and (max-width: 1150px) {
	#gnav .mainlist>li>p, #gnav .mainlist>li>a{ font-size: 14px; }
}
@media screen and (max-width: 1040px) {
	#fnav { display: none }
	.navlist, #gnav  .scrollcover, #gnav  .box1, #gnav .mainlist>li>a{ display: block; }
	#gnav  .incnt{ margin:0 4%!important; width:92%!important; position: static; }
	#gnav { height: auto; padding: 0; position: fixed; top: 0; right: 0; width: auto; z-index: 2000; overflow-y: auto; display: block; width: 100%; max-width: none; text-align: right; vertical-align: inherit }
	#gnav  .box1{ text-align: left; background: #E9F8F9; padding: 50px 8%; width: 96%!important; margin:2%!important; box-sizing: border-box; }
	#gnav .mainlist { display: block; background: #E9F8F9; width:96%; margin:0 auto; padding:0; vertical-align: inherit; }
	#gnav .mainlist>li { height: auto; display: block; width: 100%; text-align: center; float: none; padding: 0!important; position: relative; border-left:none; margin: 0; }
	#gnav .mainlist{ text-align: center; display: inline-block; vertical-align: middle; margin-bottom: 0 }
	#gnav .mainlist>li{ border-left: none }
	#gnav .mainlist>li.pclast{ border-right: none }
	#gnav .mainlist>li>p, #gnav .mainlist>li>a { padding: 10px 40px!important; position: relative; font-size: 16px; display: block; }
	#gnav .mainlist .lows{ position: static; padding-left:0; text-align: center; display: block; height:auto; width: 100% }
	#gnav .mainlist>li>a>span{ display: inline; margin-bottom: 0; }
	#gnav .mainlist>li>a{ margin-right: 0 }
	#gnav .mainlist>li>a span { border-left: none; }
	#gnav .mainlist>li.hassub div.sub li a:hover{ background: transparent; }
	#gnav .mainlist>li.current> p, #gnav .mainlist>li>a:hover, #gnav .mainlist>li.current>a, .navlist.index>li>a:hover { color: #23b7c2; opacity: 1; }
	#gnav .mainlist>li.current:hover>p, #gnav .mainlist>li:hover>a, #gnav .mainlist>li.current:hover>a, #gnav .mainlist>li.current>a, #gnav .mainlist ul.lows>li>a:hover, #gnav .mainlist ul.lows>li.current>a, #gnav .mainlist>li:hover>p{ color:#23b7c2; }
	#gnav .mainlist>li>p,
	#gnav .mainlist>li>a{ width: auto; border-bottom: 1px solid #23b7c2 }
	#gnav .mainlist>li:first-child>a{ border-top: 1px solid #23b7c2 }
	#gnav .mainlist>li:last-child>a{ border-bottom: none }
	#gnav .mainlist>li.nopc { display: block; }
	#gnav .mainlist .lows>li:after{ content:none; }
	#gnav .mainlist>li.hassub div.sub { width: 100%;position: static; left: 0%; top: 0; margin-left: -0;padding: 0; display: block; }
	#gnav .mainlist .splast>a{ border-bottom: 0 }
	#gnav .mainlist>li:before{ content:none; }
	html.android #gnav .mainlist>li.hassub { cursor: default; }
}
@media screen and (max-width: 639px) {
	/*#gnav .box1{ text-align: center; padding: 60px 8%; width: 84%!important; margin:0!important; }*/
}








/* 
---------------------------------------
btn
--------------------------------------- */
/* #menubtn */
#menubtn { display: none; z-index: 3000; }
@media screen and (max-width: 1040px) {
	#menubtn { position: fixed; top: 17px; right: 15px;}
	#menubtn a { text-decoration: none; position: relative; display: block; width: 45px; height: 50px; background: rgba(35, 183, 183, 0.9); }
	#menubtn a:before{ content: "MENU"; color:#fff; font-weight: bold; font-size: 0.6em; position: absolute; top:3px; left:0; right:0; text-align: center; }
	/* fast */
	#menubtn .line {
		width: 20px; height: 1px; background: #fff; position: absolute; left: 0; right:0; margin:0 auto;
		-webkit-transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-moz-transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}
	#menubtn #line1 { top: 28px; }
	#menubtn #line3 { bottom: 11px; }
	#menubtn.active #line1 { 
		-webkit-transform:translateY(4px) translateX(0) rotate(224deg);
		-moz-transform:translateY(4px) translateX(0) rotate(224deg);
		transform:translateY(4px) translateX(0) rotate(224deg);
	}
	#menubtn.active #line3 { 
		-webkit-transform:translateY(-5px) translateX(0) rotate(-224deg); 
		-moz-transform:translateY(-5px) translateX(0) rotate(-224deg);
		transform:translateY(-5px) translateX(0) rotate(-224deg);
	}
}


/* #closebtn */
/*#closebtn { display: none; z-index: 2000; background: #f0ede9; padding: 25px 20px; }
@media screen and (max-width: 1040px) {
	#closebtn { position: fixed; top: 15px; right: 20px; }
	#closebtn a { position: relative; display: block; width: 30px; height: 16px; }
	#closebtn .line {
		width: 30px;  height: 1px; background: #e54c4c; position: absolute; left: 0;
		-webkit-transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		-moz-transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	}
	#closebtn #line1 { top: 0; }
	#closebtn #line3 { top: 100%; }
	#closebtn.active #line1 { 
		-webkit-transform:translateY(8px) translateX(0) rotate(225deg);
		-moz-transform:translateY(8px) translateX(0) rotate(225deg);
		transform:translateY(8px) translateX(0) rotate(225deg);
	}
	#closebtn.active #line3 { 
		-webkit-transform:translateY(-8px) translateX(0) rotate(-225deg); 
		-moz-transform:translateY(-8px) translateX(0) rotate(-225deg);
		transform:translateY(-8px) translateX(0) rotate(-225deg);
	}
}
@media screen and (max-width: 639px) {
	#closebtn { right: 15px; top: 10px; padding: 16px 8px; }
}*/





/* ---------------------------------------
#mainv
--------------------------------------- */
#mainv {width: 100%; background: #9dc815; color: #fff; text-align: center; margin-bottom: 15px; }
#mainv .pagetitle { padding: 50px 4%;  font-weight: bold; line-height: 1.4;}
#mainv .pagetitle .maintitle { font-size: 2em; font-weight: bold; }
#mainv .pagetitle .subtitle { font-size: 0.87em; letter-spacing: 0.1em;font-weight: bold; }
@media screen and (max-width: 767px) {
	#mainv .pagetitle { padding: 40px 4%;}
}
@media screen and (max-width: 639px) {
	#mainv .pagetitle .maintitle{ font-size: 1.6em }
}
@media screen and (max-width: 479px) {
	#mainv .pagetitle { padding: 30px 4%;}
}

/* #mainv_index */
#mainv_index { height: auto; position: relative; width: 100%;  }
#mainv_index:before{
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#bbd436+0,21b6c1+100 */
	background: #bbd436; /* Old browsers */
	background: -moz-linear-gradient(left, #bbd436 0%, #21b6c1 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #bbd436 0%,#21b6c1 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #bbd436 0%,#21b6c1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bbd436', endColorstr='#21b6c1',GradientType=1 ); /* IE6-9 */
}
#mainv_index .bg img{ width: 100%; object-fit: cover; aspect-ratio: 280 / 111; -webkit-aspect-ratio: 280 / 111; object-position: 0% 100%; min-height: 700px; }
#mainv_index .txtbox { position: absolute; top: 50%; width: 100%; left: 0%; margin-top: -120px; text-align: center; line-height: 1; display: flex;justify-content: center;}
#mainv_index .txtbox>.inwrap{ box-shadow: rgb(255, 255, 255,.5) 0px 0px 60px 60px; border-radius: 100px; background: rgba(255,255,255,.5); }
#mainv_index .txtbox .txt1 { margin-bottom: 35px; }
#mainv_index .txtbox .txt1 img{ max-width: 704px; width: 100%; }
#mainv_index .txtbox .txt2 { font-size: 1.15em; background-color: #21b6c1; color: #fff; width: 55%; margin: 0 auto; padding: 15px 10px;max-width: 580px;}
#mainv_index .txtbox .txt2 span{ font-weight: bold; padding: 0 15px; letter-spacing: 0.1em; }
#mainv_index .txt3{ position: absolute; top: 50%; margin-top: -40px; left: 0; right: 0; text-align: center; }
#mainv_index .txt3 img{ max-width: 830px; width: 100%; }
@media screen and (max-width: 1230px) {
	#mainv_index .txtbox .txt2 { display: none; }
}
@media screen and (max-width: 1040px) {
	#mainv_index:before{ display: none; }
	#mainv_index .mainv_index_in{ position: relative; }
	#mainv_index .txtbox { width: 100%; }
	#mainv_index .txtbox >.inwrap{ max-width: 80%; }
	#mainv_index .txtbox .txt1 { position: relative; margin: 0 auto; }
	#mainv_index .txtbox .txt1 img{ max-width: 464px; }
	#mainv_index .txt3{ position: relative; top: 0; max-width: 80%; margin: -10% auto 0; }
	#mainv_index .txt3 img{ max-width: 580px;  }
	#mainv_index .bg img{ aspect-ratio: 32 / 21; -webkit-aspect-ratio: 32 / 21; min-height: inherit;  object-position: 50% 0%; }
}
@media screen and (max-width: 767px) {
	/*#mainv_index .txtbox { margin-top: -70px; }
	#mainv_index .txtbox .txt1 { font-size: 10em; }*/
	#mainv_index .txtbox{ margin-top: -70px; }
	#mainv_index .bg img{ object-position: 50% 100%; }
	#mainv_index .txtbox .txt1 img{ max-width: 364px; }
}
@media screen and (max-width: 400px) {
	/*#mainv_index .txtbox { top: 40%; margin: 0;}
	#mainv_index .txtbox { margin-top: 0px; }
	#mainv_index .txtbox .txt1 { font-size: 7em; }
	#mainv_index .txtbox .txt2 { font-size: 4em; }*/
	/* #mainv_index .txtbox{ margin-top: -0; } */
	
	#mainv_index .txtbox .txt1 img{ max-width: 264px; }
	#mainv_index .txtbox>.inwrap{ box-shadow: rgb(255, 255, 255,.4) 0px 0px 50px 50px; border-radius: 100px; background: rgba(255,255,255,.4); }
	
}

#cnt_main { width: 100%; min-height: 300px; }
@media screen and (max-width: 1040px) {
	#cnt_main { width: 100%; }
}

@media screen and (max-width: 639px) {
	#cnt_main { min-height: 0; padding-bottom: 20px; }
}










/* ---------------------------------------
#cnt_side
--------------------------------------- */
#cnt_side { float: right; width: 300px; }
#cnt_side .cstitle { background: #664c28; padding: 10px 15px; line-height: 1; text-align: center; color: #fff; font-weight: bold; margin-bottom: 10px; }
#cnt_side #wp_cntside .cstitle { padding: 15px 4%; }
#cnt_side .stylelink { float: right; }
#cnt_side .insec { margin-bottom: 30px; }
@media screen and (max-width: 1040px) {
	#cnt_side { float: none; width: 100%; padding-top: 0px; }
}
@media screen and (max-width: 639px) {
	#cnt_side #wp_cntside .cstitle { padding: 10px 4%; }
}

/* #cs_topic */
#cnt_side #cs_topic { }
#cnt_side #cs_topic a { display: block; text-decoration: none; background: #e54c4c; padding: 10px 20px 15px; color: #fff; font-weight: bold; line-height: 1.6; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s;}
#cnt_side #cs_topic .title { width: 240px; margin: 10px auto; }
@media screen and (max-width: 1040px) {
	#cnt_side #cs_topic { text-align: center; }
}
@media screen and (max-width: 479px) {
	#cnt_side #cs_topic { text-align: left; }
}

/* #cs_body */
#cnt_side #cs_body { background: #f1f1f1; padding: 20px 15px; }
@media screen and (max-width: 1040px) {
	#cnt_side #cs_body { background: #f1f1f1; padding: 30px 4%; }
}
@media screen and (max-width: 639px) {
	#cnt_side #cs_body { width: 100.2%; margin: 20px -4.1% 0;}
}


/* #cs_2 */
#cnt_side #cs_2 .txt1 { background: #fff; border-bottom: 1px solid #664c28; border-top: 1px solid #664c28; padding: 5px 0; text-align: center; font-weight: bold; color: #664c28; margin-bottom: 10px; }
#cnt_side #cs_2 .txt2 span { display: inline-block; }
#cnt_side #cs_2 #sidemap { width: 100%; height: 280px; margin-bottom: 10px; }

/* #cs_bnr */
#cnt_side #cs_bnr li { width: 100%; margin-bottom: 10px; }
#cnt_side #cs_bnr li a { -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
@media screen and (max-width: 1040px) {
	#cnt_side #cs_bnr ul { text-align: center; }
	#cnt_side #cs_bnr li { max-width: 320px; min-width: 260px; width: 80%; display: inline-block; margin: 0 5px 10px; }
}

/* #cs_sns */
#cnt_side #cs_sns ul { text-align: center; line-height: 0; font-size: 0; }
#cnt_side #cs_sns li { width: 40px; margin: 0 5px; display: inline-block; }
#cnt_side #cs_sns li a { -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }







/* ---------------------------------------
#pagetop
--------------------------------------- */
#pagetop {position: fixed;bottom: 10px;right: 10px;z-index: 1001;opacity: 0.9;}
#pagetop a { display: block; width: 100%; width: 56px; height: 56px; position: relative; background: #fff; -webkit-border-radius: 40px; border-radius: 40px; border: 1px solid #21b6c1; -webkit-transition: 0.5s; -moz-transition : 0.5s; transition : 0.5s; }
#pagetop a:hover { opacity: 1; background: #21b6c1; border: 1px solid #fff; }
#pagetop img { width: 16px; position: absolute; top: 50%; left: 0; right: 0; margin: -5px auto 0; }

#footer #footeritem .fscontact {position: fixed;top: 20%;right: 0;z-index: 1001;opacity: 0.9;}
#footer #footeritem .fscontact a {display: flex;width: 100%;width: 60px;height: 170px;writing-mode: vertical-rl;-webkit-writing-mode: vertical-rl;position: relative;color: #fff;-webkit-border-radius: 10px 0 0 10px;border-radius: 10px 0 0 10px; background: rgb(33,182,193); background: linear-gradient(45deg, rgba(33,182,193,1) 0%, rgba(187,212,54,1) 100%);-webkit-transition: 0.5s;-moz-transition : 0.5s;transition : 0.5s;align-items: center;justify-content: center;text-decoration: none;line-height: 1.3;letter-spacing: 0.15em;}
@media screen and (max-width: 1040px){
	#footer #footeritem .fscontact{ display: none; }
	#pagetop { opacity: 1; }
	#pagetop a:hover{ opacity: 0.6; }
}








/* ---------------------------------------
#footer
--------------------------------------- */
#footer { margin-top: 60px; }
#footer .btnlist { margin-left: -0.8333%; margin-bottom: 60px; }
#footer .btnlist li {float: left;width: 49.1%;margin-left: 0.8333%;}
#footer .btnlist a { position: relative; }
#footer .btnlist .btntxt {font-weight: bold;font-size: 1.25em;/*20px*/color: #fff;position: absolute;top: 54%;right: 0;left: 0;text-align: center;transform: translateY(-50%);}
#footer .btnlist .btntxt .txtpdf { font-weight: bold; font-size: 0.8em; border: 1px solid #fff; padding: 0 5px; margin-left: 7px; }
@media screen and (max-width: 1040px){
	#footer .btnlist .btntxt{ font-size: 1.1em; }
}
@media screen and (max-width: 767px){
	#footer .btnlist { margin-left: 0; margin-bottom: 30px; }
	#footer .btnlist li { float: none; width: 100%; margin-left: 0; margin-bottom: 20px; text-align: center; }
	#footer .btnlist .btntxt { transform: translateY(-35%);}
}
@media screen and (max-width: 639px){
	#footer { margin-top: 25px; }
	#footer .btnlist { margin-bottom: 5px; }
}

#footer .f_midddle { background: #E9F8F9; padding: 50px 0; }
#footer .f_midddle .cnt_left{ float: left; width: 60%; margin-right: 5%; }
#footer .f_midddle .cnt_left .sche{ margin-bottom: 20px; }
#footer .f_midddle .cnt_left .txt1{ font-weight: bold; }
#footer .f_midddle .cnt_left .txt2{ text-indent: -1em; margin-left: 1em; }
#footer .f_midddle .cnt_left .txt2 span{font-weight: bold;color: #ec755f;}
#footer .f_midddle .cnt_right{ float: right; width: 35%; background: #21b6c1; color: #fff; padding: 10px 2% 20px; box-sizing: border-box;}
#footer .f_midddle .cnt_right .txt1{ font-weight: bold; font-size: 1.62em;/*26px*/ text-align: center; margin-bottom: 10px; }
#footer .f_midddle .cnt_right .txt1:before{ content: ""; display: inline-block; width: 26px; height: 42px; background: url(../img/common/icon_tel.png) no-repeat center; background-size: 100%; position: relative; top: 8px; margin-right: 8px; }
#footer .f_midddle .cnt_right .txt2{ font-weight: bold; font-size: 1.12em;/*18px*/ text-align: center; line-height: 1.6; padding: 8px 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff; margin-bottom: 15px; }
#footer .f_midddle .cnt_right .txt3{ font-size: 0.93em;/*15px*/ margin-bottom: 15px; }
#footer .f_midddle .cnt_right .txt4{ background: #fff; color: #21b6c1; font-weight: bold; font-size: 0.93em;/*15px*/ padding: 0.7em 0.8em 0.7em 1.5em; text-indent: -1em; margin-bottom: 15px; }
@media screen and (max-width: 1040px){
	#footer .f_midddle .cnt_right .txt1{ font-size: 1.58em; }
	#footer .f_midddle .cnt_right .txt2{ font-size: 1em; }
}
@media screen and (max-width: 767px){
	#footer .f_midddle { padding: 30px 0; }
	#footer .f_midddle .cnt_left{ float: none; width: 100%; margin-right: 0; margin-bottom: 20px; }
	#footer .f_midddle .cnt_right{ float: none; width: 100%; padding: 10px 20px 20px;}
}
@media screen and (max-width: 639px){
	#footer .f_midddle { padding: 25px 0; }
}

#footer .mapwrap{ margin-bottom: 30px; }
#footer #map{ width: 100%; height: 500px; }
#footer .mapwrap .txtbox{ display: none; }
#footer .maptxt{ text-align: center; margin-top: -20px; position: relative; z-index: 10; }
#footer .maptxt a{ text-decoration: none; display: inline-block; background: #EC755F; color: #fff; padding: 10px 15px; }
#footer .maptxt a:before{ content: ""; display: inline-block; width: 14px; height: 20px; background: url(../img/common/ico_mapmarker.png) no-repeat center; background-size: 100%; position: relative; top: 3px; margin-right: 10px; }
@media screen and (max-width: 1040px){
	#footer .mapwrap{ background: #E9F8F9; padding-bottom: 30px; }
	#footer .mapwrapin{ width: 92%; margin: 0 auto; }
	#footer #map{ margin-bottom: 20px; }
	#footer .mapwrap .txtbox{ display: block; margin-bottom: 20px; }
	#footer .mapwrap .txtbox .txt2{ font-weight: bold; }
	#footer .maptxt{ margin-top: 0; }
	#footer .maptxt a{ display: block; }
}
@media screen and (max-width: 767px){
	#footer #map{ width: 100%; height: 250px; }
}


#footer #map2 {
position: relative;
padding-bottom: 500px;
height: 0;
overflow: hidden;
}
#footer #map2 iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
@media screen and (max-width: 767px){
	#footer #map2{ width: 100%; height: 250px; padding-bottom: 0; }
}


#footer .fnav{ margin-bottom: 40px; }
#footer .fnav:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; font-size:0em; overflow:hidden; line-height:0; font-size: 0.1em; }
#footer .fnav { z-index: 10001; text-align: center; }
#footer .fnav ul {text-align: right;display: inline-block;margin-right: -15px;vertical-align: middle;margin-bottom: 0px;}
#footer .fnav li { float: left; padding: 0 5px; position: relative; }
#footer .fnav li:before{
	content: "";
	display: block;
	width: 10px;
	height: 29px;
	background: url(../img/common/nav_slash.png) no-repeat center;
	position: absolute;
	top: 7px;
	left: -5px;
}
#footer .fnav li:first-child:before{
	display: none;
}
#footer .fnav li a,
#footer .fnav li p { color: #333333; text-align: center; line-height: 1; display: block; font-weight: bold; text-decoration: none;  position: relative; padding: 15px 10px;}
#footer .fnav li a:hover { color: #23b7c2; opacity: 1; }
#footer .fnav li.hassub{ cursor: pointer; }
#footer .fnav li.hassub div.sub { width: 200px; background: #23b7c2; color: #fff; border-top: none; position: absolute; left: 50%; top: 45px; margin-left: -100px; box-sizing: border-box;z-index: 1000; text-align: center; display: none; }
#footer .fnav li.hassub div.sub>ul{ margin-right: 0; }
#footer .fnav li.hassub div.sub>ul>li { width: 100%; }
#footer .fnav li.hassub div.sub>ul>li:not(:first-child){ border-top: 1px dashed #fff; }
#footer .fnav li.hassub div.sub>ul>li:before{ display: none; }
#footer .fnav li.hassub div.sub a{ transition: none; padding: 8px 10px!important; position: relative; font-size: 14px; display: block; text-decoration: none; color: #fff; font-weight: normal; }
@media screen and (max-width: 1040px){
	#footer .fnav{ display: none; margin-bottom: 40px; }
}

#footer .f_bottom{ width: 1030px; max-width: 92%; margin: 0 auto 20px; }
#footer .f_bottom .cnt_left{ width: 52%; border-right: 1px solid #afafaf; box-sizing: border-box; }
#footer .f_bottom .cnt_right{ width: 48%; box-sizing: border-box; }
#footer .f_bottom .cnt_left .flogo{ float: left;  width: 36%; }
#footer .f_bottom .cnt_left .flogo img{ width: 200px; max-width: 100%; }
#footer .f_bottom .cnt_left .txtbox{ float: left; width: 59%; padding: 20px 20px 0 0; box-sizing: border-box; margin-left: 5%; }
#footer .f_bottom .cnt_left .txtbox .txt1{ display: inline-block; font-weight: bold; font-size: 0.87em;/*14px*/ background: #21b6c1; color: #fff; padding: 3px 15px; margin-bottom: 15px; }
#footer .f_bottom .cnt_left .txtbox .txt2{ font-size: 0.92em;}
#footer .f_bottom .cnt_right .txtbox{ padding: 8px 0 35px 20px; }
#footer .f_bottom .cnt_right .txtbox .txt1{ margin-bottom: 10px; }
#footer .f_bottom .cnt_right .txtbox .txt2{ font-weight: bold; font-size: 0.93em; margin-bottom: 5px; }
#footer .f_bottom .cnt_right .txtbox .txt3 a{ text-decoration: none; }
#footer .f_bottom .cnt_right .txtbox .txt3 a .txt{ position: relative; margin-right: 30px; }
#footer .f_bottom .cnt_right .txtbox .txt3 a .txt:after{ content: ""; display: block; width: 21px; height: 16px; background: url(../img/common/icon_mail_green.png) no-repeat center; background-size: 100%; position: absolute; top: 2px; right: -25px; }
#footer .f_bottom .cnt_right .txtbox .txt3 a .address{ position: relative; top: -2px; }
#footer .copy{
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#21b6c1+0,bbd436+100 */
	background: #21b6c1; /* Old browsers */
	background: -moz-linear-gradient(left, #21b6c1 0%, #bbd436 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #21b6c1 0%,#bbd436 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #21b6c1 0%,#bbd436 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#21b6c1', endColorstr='#bbd436',GradientType=1 ); /* IE6-9 */
	color: #fff;
	font-size: 0.87em;/*14px*/
	text-align: center;
	padding: 10px;
}
#footer .f_bottom .cnt_right .txtbox .txt3 { vertical-align: bottom; }
#footer .f_bottom .cnt_right .txtbox .txt3 img{ height: 24px; vertical-align: bottom; }

#footeritem .telnum .tel-text { font-size: 20px; }
#footeritem .telnum .tel-text {font-size: 18px;margin-right: 3px;}
#footeritem .telnum .tel-number {font-size: 20px;}
#footeritem .telnum ._koko {font-size: 9px;left: 99px;top: -7px;letter-spacing: 0.55em;}
@media screen and (max-width: 1040px){
	#footer .f_bottom{ width: 100%; max-width: 100%; margin: 0 auto 20px; }
	#footer .f_bottom .cnt_left{ float: none; width: 100%; border-right: none;  }
	#footer .f_bottom .cnt_right{ float: none; width: 100%; }
	#footer .f_bottom .cnt_left .flogo{ float: none;  width: 85%; text-align: center; margin: 0 auto 20px; }
	#footer .f_bottom .cnt_left .flogo img{ width: 100%; max-width: 450px; }
	#footer .f_bottom .cnt_left .txtbox{ float: none; width: 100%; padding: 0; margin-left: 0; }
	#footer .f_bottom .cnt_left .txtbox .txt1{ display: block; font-size: 1em; text-align: center; padding: 5px 15px; margin-bottom: 0; }
	#footer .f_bottom .cnt_left .txtbox .txt2{ font-size: 1em; background: #F8FBEB; text-align: center; padding: 20px; margin-bottom: 20px; }
	#footer .f_bottom .cnt_right .txtbox{ padding: 0 20px; }
	#footer .f_bottom .cnt_right .txtbox .txt1{ margin-bottom: 0; }
	#footer .f_bottom .cnt_right .txtbox .txt2{ display: none; }
	#footer .copy{ background: #E9F8F9; color: #21b6c1; margin-bottom: 45px; }
	#footeritem{ position: fixed; left:0; right:0; width: 100%; bottom:0; z-index: 10 }
	#footeritem .telnum{color: #fff;align-items: center;justify-content: center;box-sizing: border-box;width: 100%;padding: 0;padding-top: 10px;}
	#footeritem>ul{ display: table; width: 100% }
	#footeritem>ul>li{ display: table-cell; position: static; vertical-align: middle; }
	#footeritem>ul>li.contact{ width: 85%; display: table-cell; }
	#footeritem>ul>li#pagetop{ position: static; }
	#footeritem>ul>li>a{ display: table; width: 100%; height: auto; }
	#footeritem>ul>li#pagetop>a{ display: block; background: #a7e2e7; border-radius: 0; border:none; height: 45px; width: 100%; }
	#footer .f_bottom .cnt_right .txtbox .txt3 a{
		display: flex;
		height: 45px;
		padding: 8px 0 10px;
		box-sizing: border-box;
		color: #fff;
		background: #bbd436; /* Old browsers */
		background: -moz-linear-gradient(left, #bbd436 0%, #21b6c1 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left, #bbd436 0%,#21b6c1 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right, #bbd436 0%,#21b6c1 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		text-align: center;
	}
	#footer .f_bottom .cnt_right .txtbox .txt3 a .txt{ display: inline-block; margin-right: 0; margin-left: 30px; }
	#footer .f_bottom .cnt_right .txtbox .txt3 a .txt:after{ background: url(../img/common/icon_mail_white.png) no-repeat center; background-size: 100%; right: auto; top: 5px; left: -30px; }
	#footer .f_bottom .cnt_right .txtbox .txt3 a .address{ display: none; }
	#footer .f_bottom .cnt_right .txtbox .txt3 img.fax{ display: none; }
}
@media screen and (max-width: 639px){
	#footer .f_bottom{ margin: 0 auto 10px; }
	#footer .f_bottom .cnt_left .txtbox .txt2{ padding: 12px; margin-bottom: 10px; }
}

/*#footer .logo { width: 130px; display: inline-block; vertical-align: middle; }*/

/* #cr */
/*#cr { float: right; line-height: 1.6; padding-top: 15px; }
#cr span { display: inline-block; }*/












