@charset "utf-8";
/*-----------------------------------------------------------------------------
basic
-----------------------------------------------------------------------------*/
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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	list-style: none;
}

html {
	overflow-y: scroll;

}


body {
	color:#333333;
	font-size: 1em;
    line-height: 2em;
	font-family:"Font Awesome 5 Free", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background:#faf6f0;
	z-index:0;
}


.wrap {
	overflow: hidden;
  font-family: "Zen Kaku Gothic New", serif;
  font-weight: 400;
  font-style: normal; 
}

.serif {
	font-family: Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}


strong {
	  font-weight: 700;
}

.xx-small { font-size: 0.5em; line-height: 1.3; }
.x-small { font-size: 0.7em; line-height: 1.6; }
.small { font-size: 0.8em; line-height: 1.6;}
.middle { font-size: 1em; }
.large { font-size: 1.2em; }
.x-large { font-size: 1.4em; }
.xx-large { font-size: 1.6em; }
.x3-large { font-size: 1.8em; }
.x4-large { font-size: 2em; }
.x5-large { font-size: 2.1em; }
.italic {
	font-style: italic;
}
img {
	vertical-align: bottom;
	border: none;
}
img.frame {
	padding: 8px;
	background-color: #fff;
	border: 1px solid #eee;
	-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15);
}
.white { color: #ffffff; }
.red { color: #f12626; }
.l-blue { color: #04b1ee; }
.l-blueg { color: #00909e; }

.blue { color: #27496d; }
.d-blue { color: #00447e; }
.pink{color:#ffa4a4;}

.blue_green { color: #00787e; }


.orange { color: #fca339; }
.l-green { color: #8cc63f; }
.green { color: #3ba832; }
.yellow{color:#ffff00;}
.black{color:#000; !important}
.brown { color: #59493f; }
.gray { color: #a6a6a6; }


.bg_gray{
background:#eee;
box-sizing:border-box;
}
.bg_lb{
background:#68c2f2;
box-sizing:border-box;
}

.bg_b{
background:#0062dc;
box-sizing:border-box;
vertical-align:middle !important;
}

.bg_lg{
background:#f6f8f4;
box-sizing:border-box;
}

.bg_lgtgrn{
background-color:rgba(222,240,221,0.4);
padding:1em;
border-radius:10px;
box-sizing:border-box;
}


.bg_green{
background:#399442;
box-sizing:border-box;
}

.bg_bg{
background:#17675a;
box-sizing:border-box;
}

.bg_orange{
background:#e2a500;
box-sizing:border-box;
}

.bg_lorng{
background-color:rgba(255,206,166,0.4);
padding:1em;
border-radius:10px;
box-sizing:border-box;
}

.bg_beage{
background-color:rgba(232,207,152,0.4);
padding:1em;

box-sizing:border-box;
}

.headline_bgclr{
padding:0.1em 1em;
border-radius:15px;
}

.radius_5{
border-radius:15px;
}


.f-right {
	float: right;
	margin-left: 15px !important;
}
.f-left {
	float: left;
	margin-right: 15px !important;
}

.f-bold{
font-weight:500;
}


.img-responsive-center{
    margin: 0px auto;
	text-align:center;
}

.pointer {
	cursor: pointer;
}
.clear {
	clear: both;
}

.w20 { width: 20%; }
.w25 { width: 25%; }
.w33 { width: 33.33333333%; }
.w50 { width: 50%; }
.w60 { width: 60%; }
.w70 { width: 70%; }
.w80 { width: 80%; }

a.uline{
color:#37b6d6 !important;
text-decoration: underline;
}

a:link {
	color: #333;
	/*text-decoration: underline;*/
}
a:visited {
	color: #666;
	text-decoration: none;
}
a:hover {
	color:#666;
	text-decoration:underline;
}
a:active {
	color: #dedede;
	text-decoration:none;
}
.pc a.opacity {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.pc a.opacity:hover {
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	opacity: 0.6;
}
a.opacity img {
	box-shadow: #000 0 0 0;
}
.indent {
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.indent-icon {
	position: relative;
	padding-left: 1.2em;
}
.indent-icon::after {
	position: absolute;
	font-family: FontAwesome;
	top: 0;
	left: 0;
	color: #bb2525;
}
.indent-icon.dot::after {
	content: "\f192";
}
.indent-icon.check::after {
	content: "\f046";
}
.indent-icon.color-2::after {
	color: #c00;
}
.bb {
	padding-bottom: 10px;
	border-bottom: 2px solid #ddd;
}

a.btn2 img{
margin:0.5em 0;
}

a.btn2, button.btn2, input.btn2, .btn2 {
	display: inline-block;
	max-width:100%;
	min-width:px;
	padding:0.9em 3.5em 0.9em 1.5em;
	line-height:2em;
	color:#ffffff;
	/*border:1px solid #fca339;
	border:1px solid #10c964;*/
	border-radius:15px;
	background:/*linear-gradient(#6dc5f3,#37a3db)*/;
	background:#4d9f47 url(../images/btn2_bg.png) no-repeat 90% center;
	text-decoration: none;	
	line-height:150%;
letter-spacing:0.06em;
z-index:1;
font-weight:500;
text-align:center;
cursor:pointer;
/*box-shadow: 2px 3px 0 #bbbbbb;*/

	transition: all 0.3s;
	position:relative;
}

.btn2 span{
padding:0.7em 1em 0.7em 1em;
width:100%;
display:inline-block;
box-sizing:border-box;
}


button.btn2,input.btn2{
box-shadow:0;
outline:none;
/*border:1px solid #ccc;*/
}

.btn2 i{
margin:0 0.1em 0 0.5em;
font-size:1em;
}


a.btn2:hover, .btn2:hover{
background:#88d15c url(../images/btn2_bg.png) no-repeat 95% center;
color:#ffffff;
/*border:1px solid #fff;*/
outline:none;
/*box-shadow:0 2px 3px rgba(0,0,0,0.3);*/
}

button.btn2:hover, input.btn2:hover{
/*background:#4baf49linear-gradient(#b4e5fe,#6ec6f4)*/;
color:#ffffff;
/*box-shadow:0 2px 3px rgba(0,0,0,0.3);*/
}


a.btn2_o{
	display: inline-block;
	max-width:100%;
	min-width:200px;
	height:auto;
	padding:0.9em 3.5em 0.9em 1.5em;
	margin:1em 0;
	line-height: 1;
	color:#ffffff !important;
	border-radius:15px;
	background:#ffb341 url(../images/btn2_bg.png) no-repeat 90% center;
	text-decoration: none;	
	line-height:1em;
letter-spacing:0.06em;
z-index:1;
font-weight:500;
text-align:center;
cursor:pointer;
/*box-shadow:2px 2px 11px 0 rgba(0,0,0,0.2);*/
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

a.btn2_o:hover{
background:#e08703 url(../images/btn2_bg.png) no-repeat 90% center;
color:#ffffff;
}


button.btn2_o, input.btn2_o{
display: inline-block;
	max-width:100%;
	min-width:200px;
	height:auto;
	padding:0.9em 1em 0.9em 1em;
	margin:1em 0;
	line-height: 1;
	color:#ffffff !important;
	border-radius:15px;
	background:#ffb341 url(../images/btn2_bg.png) no-repeat 90% center;
	text-decoration: none;	
	line-height:1em;
letter-spacing:0.06em;
z-index:1;
font-weight:500;
text-align:center;
cursor:pointer;
/*box-shadow:2px 2px 11px 0 rgba(0,0,0,0.2);*/
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}




button.btn2_o:hover,input.btn2_o:hover{
background:#e08703;
}



.btn_arrow_r{
background:url(../images/btn_arrow_r.png) no-repeat calc(100% - 20px) center;
/*min-width:250px !important;*/
display:inline-block;
width:100%;
padding:1em 80px 1em 2em;
box-sizing:border-box;
color:#ffffff !important;
text-decoration:none !important;
}






a.btn2_w,
button.btn2_w,input.btn2_w,
.btn2_w {
	display: inline-block;
	max-width:100%;
	min-width:180px;
	height:auto;
	padding:1em 1.3em;
	margin:7px 0;
	line-height: 1;
	color:#000000 !important;
	background:#fff;
	border: 2px solid #000000;
    box-shadow: 5px 5px #000000;
    transition: 0.3s ease-in-out; 
	border-radius:8px;
	text-decoration: none;	
	line-height:130%;
letter-spacing:0.06em;
z-index:999;
font-weight:400;
font-size:0.9em;
text-align:center;
cursor:pointer;

}



a.btn2_w:hover, .btn2_w:hover{
color:#4baf49 !important;
	border: 2px solid #4baf49;
    box-shadow: 5px 5px #4baf49;
}

button.btn2_w:hover,input.btn2_w:hover{
color:#4baf49 !important;
	border: 2px solid #4baf49;
    box-shadow: 5px 5px #4baf49;
}



.btn2_w i{
margin:0 5px;
}



a.btn2_h,
button.btn2_h,input.btn2_h,
.btn2_h {
	display: inline-block;
	max-width:100%;
	min-width:180px;
	height:auto;
	padding:1.6em 0.5em;
	margin:1em 0;
	line-height: 1;
	color:#000000 !important;
	border:3px solid #10c964;
	border-radius:10px;
	text-decoration: none;	
	line-height:130%;
letter-spacing:0.06em;
z-index:999;
font-weight:400;
text-align:center;
cursor:pointer;
box-shadow: 2px 3px 0 #bbbbbb;
transition: all 0.5s;
}



a.btn2_h:hover, .btn2_h:hover{
color:#fff !important;
background:#10c964;
}

button.btn2_h:hover, input.btn2_h:hover{
background:#10c964;
color:#fff;
}


a.btn3,
button.btn3,input.btn3,
.btn3 {
	display: inline-block;
	max-width:100%;
	min-width:180px;
	height:auto;
	padding:0.8em 1.2em 0.8em 1.2em;
	margin:1em 0;
	color:#ffffff !important;
	/**/
	background:#27496d;
	border-radius:25px;
	text-decoration: none;	
	line-height:1.3em;
letter-spacing:0.06em;
z-index:999;
font-weight:500;
cursor:pointer;
transition: all 0.3s ease;
}



a.btn3:hover, .btn3:hover{
color:#fff !important;
background:linear-gradient(90deg, #035986 0%, #0c71a9 100%);

}

button.btn3:hover,input.btn3:hover{
color:#fff !important;
opacity:0.8;
}



.w250 { width: 250px !important; }

.pc a.btn:hover {
	-webkit-opacity: 0.7;
	-moz-opacity: 0.7;
	opacity: 0.7;
}


.btn_w{
background:white;
color:#0a80bd !important;
border-radius:12px;
line-height:1.4em;
padding:0.8em 2em;
display:inline-block;
transition: all 0.3s ease;
}

.btn_w i{
margin-right:0.5em;
}

.btn_w:hover{
background:white;
color:#0a80bd;
text-decoration:none;
opacity:0.8;
}



@media (max-width: 1140px) {
	img.frame {
		padding: 4px;
	}
	.indent {
		padding-left: 1em;
		text-indent: -1em;
	}
	.text-center.left-md {
		text-align: left;
	}
}

@media (max-width: 767px) {
	body {
		font-size: 14px;
		line-height: 1.6;
	}
	/*.x-small { font-size: 10px; }
	.small { font-size: 12px; }
	.middle { font-size: 14px; }
	.large { font-size: 16px; }
	.x-large { font-size: 18px; }
	.xx-large { font-size: 20px; }
	.xxx-large { font-size: 22px; }
	.xxxx-large { font-size: 24px; }*/
	.text-center.left-xs {
		text-align: left;
	}
	.btn {
		padding: 5px;
	}
	.indent {
		padding-left: 1em;
		text-indent: -1em;
	}
	a.btn,
button.btn,input.btn,
.btn {
		max-width: 100%;
		font-size: 14px;
		
	}
	.text-center.left-xs {
		text-align: left;
	}
}


/*-----------------------------------------------------------------------------
header
-----------------------------------------------------------------------------*/
#header {
position:fixed;
top:20px;
left:3%;
right:3%;
	width:94%;
	height:100px;
	line-height:1;
	box-sizing:border-box !important;
z-index:99;
border-radius:10px;
background:#ffffff;
padding:0 20px;
box-sizing:border-box !important;
box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);
	}


@media (max-width: 991px) {

#header {
	height:80px;
	line-height:1;
top:20px;
left:3%;
right:3%;
	width:100%
z-index:999;
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/
	}

}


@media (max-width: 546px) {

#header {
	height:60px;
	line-height:1;
top:10px;
margin:auto;
	width:98%
z-index:99;
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/
	}

}




.header{
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	/*background:rgba(255,255,255,0.5);
	background:#ffffff;*/
	
}


/*.header.change-color{
background:rgba(255,255,255,0.9);
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/
}

.content .header.change-color{
background:rgba(255,255,255,0.9);
}*/


.header_inner{
width:100%;
height:100%;
display:block !important;
position:relative;
box-sizing:border-box;
background:#ffffff;
}


h1.logo{
position:absolute;
top:0;
bottom:0;
margin:auto;
/*width:28%;
height:100%;*/
width:215px;
height:46px;
overflow:hidden;
box-sizing:border-box;
z-index:99;
}

h1.logo a{
width:100%;
height:100%;
display:block;
z-index:30;
}


h1.logo img{
width:215px;
height:46px;
box-sizing:border-box;
margin:auto;
top:0;
bottom:0;
right:0;
position:absolute;
}


@media (max-width: 991px) {
h1.logo{
width:215px;
height:46px;
overflow:hidden;
box-sizing:border-box;
}


h1.logo img{
width:99%;
height:auto;
max-width:215px;
max-height:46px;
box-sizing:border-box;
margin:auto;

}


}


@media print, screen and (max-width: 546px){
h1.logo{
width:150px;
height:100%;
overflow:hidden;
box-sizing:border-box;
}


h1.logo img{
width:100%;
height:auto;
box-sizing:border-box;
margin:auto;
left:0;
right:auto;
}

}

@media print, screen and (max-width: 370px){
h1.logo{
width:120px;
height:100%;
overflow:hidden;
box-sizing:border-box;
}


h1.logo img{
width:100%;
height:auto;
box-sizing:border-box;
margin:auto;
left:0;
right:auto;
}

}

/*-----------------------------------------------------------------------------
header_tel,mail
-----------------------------------------------------------------------------*/

.mail_box{
position: absolute;
width:360px;
right:0px;
top:25px;
z-index:10;
}

.header_tel{
background:#3ba832;
border-radius:10px;
padding:20px 15px;
display:inline-block;
transition: .2s;
}


.header_mail{
background:#ffb341;
border-radius:10px;
padding:20px 15px;
display:inline-block;
transition: .2s;
}



.header_mail:hover{
text-decoration:none;
background:#ff7e00;
}


@media (max-width: 1199px) {

.mail_box{
position: absolute;
width:120px;
right:0px;
top:25px;
}


.header_tel{
background:#3ba832;
border-radius:10px;
padding:10px 0 0 0;
text-align:center;
display:inline-block;
width:50px;
height:50px;
line-height:50px;
color:#ffffff;
font-size:30px;
}
.header_tel:hover{
background:#1b7513;
text-decoration:none;
}

.header_mail{
background:#ffb341;
border-radius:10px;
padding:10px 0 0 0;
text-align:center;
display:inline-block;
width:50px;
height:50px;
line-height:50px;
color:#ffffff !important;
font-size:30px;
}

.header_mail:hover{
text-decoration:none;
}

}

@media (max-width: 991px) {

.mail_box{
position: absolute;
width:120px;
right:55px;
top:15px;
}

}

@media (max-width: 546px) {

.mail_box{
position: absolute;
width:98px;
right:48px;
top:8px;
overflow:hidden;
}

.header_tel{
background:#3ba832;
border-radius:10px;
padding:10px 0 0 0;
text-align:center;
display:inline-block;
width:44px;
height:44px;
line-height:44px;
color:#ffffff;
font-size:26px;
}
.header_tel:hover{
background:#1b7513;
text-decoration:none;
}

.header_mail{
background:#ffb341;
border-radius:10px;
padding:10px 0 0 0;
text-align:center;
display:inline-block;
width:44px;
height:44px;
line-height:44px;
color:#ffffff !important;
font-size:26px;
}

.header_mail:hover{
text-decoration:none;
}



}


/*-----------------------------------------------------------------------------
nav
-----------------------------------------------------------------------------*/

#nav {
	padding: 0;
	margin:0;
	height:30px;
	width:100%;
position:absolute;
top:0;
bottom:0;
margin:auto;
/*background:#ffffff;*/

	}


.navbar-nav{
position:absolute;
right:390px;
}

@media (max-width: 1199px) {
.navbar-nav{
position:absolute;
right:140px;
}

}


/*li.nav-item + li.nav-item{
background:url(../images/menu_bg.png) no-repeat left center;
}*/


.navbar-light .nav-item a.nav-link{
box-sizing:border-box;
transition: .2s;
color:#422d20;
font-weight:bold;
font-size:0.95em;
line-height:2em;
display:inline-block;
text-align:center;
letter-spacing:0.04em;
padding:0.1em 0.5em 0.5em 0.5em;
margin:0 0.3em;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background:url(../images/menu_on_bg0.png) no-repeat center bottom;
}


.navbar-light .active a.nav-link, .navbar-light a.nav-link:hover{
color:#3ba832 !important;
}


@media (max-width: 991px) {
#nav {
	padding:0;
	margin:0;
	width:100vw;
	/*height: 100vh;*/
position:absolute;
top:-120px;
right:-30px !important;
bottom:0;
z-index:1;
	}
	
	
.navbar-toggler {
  color: #ffffff;
  padding: 0px;
  width: 50px;
  height:50px;
  border-radius:10px;
  border:0;
  background:#593601;
  box-sizing: border-box;
  position: relative;
  right:45px;
  left:;
  top:135px;
  outline:0;
  margin-bottom:10px;
  z-index:999;
}

.navbar-toggler:focus{
  outline: 0;
}

.navbar-light .navbar-toggler-icon {
  background-image:none; /* この行で背景画像を無効化 */
  background-color: #ffffff;
  width: 28px;
  height: 2px;
  display: block;
  position: absolute;
  transition: ease .5s;

}

/* 3本のバーそれぞれの座標を設定 */
.navbar-toggler-icon:nth-of-type(1) {top:12px; left:12px;}
.navbar-toggler-icon:nth-of-type(2) {top:18px; left:12px;}
.navbar-toggler-icon:nth-of-type(3) {top:24px; left:12px;}

/* メニューが開いている時の　3本のバーそれぞれの座標および角度を設定 */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
top:18px;
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
top:18px;
transform: rotate(-45deg);
}

.navbar-toggler .open{
display:block;
font-size:9px;
color: #ffffff !important;
position: absolute;
bottom:8px;
left:12px;
}

.navbar-toggler[aria-expanded="true"] .open{
display:none;
}

.navbar-toggler .close_menu{
display:none;
}

.navbar-toggler[aria-expanded="true"] .close_menu{
display:block;
font-size:9px;
color: #ffffff !important;
position: absolute;
bottom:8px;
left:12px;
font-weight:400;
}	

/*__ scroll __*/
.nav{
width:/*170px*/100vw;
height:calc( 100vh + 150px );
background:rgba(255, 255, 255, 0.95);
position:relative;
top:-80px !important;
right:0 !important;
left: /*calc( 100% - 170px )*/ 0;
bottom:0;
overflow-y: auto !important;
overflow-x:hidden;
-webkit-overflow-scrolling:touch;
background-attachment: local, local, scroll, scroll;
z-index:99;
}

.nav_bg{
background:url(../images/top_wrap1_bg2.png) no-repeat right 180px, url(../images/top_wrap1_bg1.png) no-repeat left 70%;
background-size:30% auto, 30% auto;
width:100%;
height:100%;
}

.navbar-nav{
height:calc ( 100% - 140px );
width:80%;
padding:1em;
display:flex;
flex-wrap:wrap;
top:200px;
right:0px;
left:10%;
/*flex-direction:row;*/
}

li.nav-item + li.nav-item{
border-left:0px solid #4baf49;
}


.nav-item{
  /*position: relative;
  z-index: 1;
  width: calc( 50% - 2em );*/
  width:100%;
height:1em;
  margin:1em;
}


.navbar-light .nav-item a.nav-link{
padding:0.8em 0.5em 0.8em 1.5em;
width:100%;
height:auto;
box-sizing:border-box;
transition: .4s;
color:;
font-weight:400;
font-size:0.9em;
display:inline-block;
margin-left:0em;
text-align:left;
letter-spacing:0.09em;
border-bottom:1px dashed #eeeeee;
border-radius:5px;
background:url(../images/menu_on_bg0.png) no-repeat 5px center;
}

.navbar-light .active a.nav-link, .navbar-light a.nav-link:hover{
color:#3ba832 !important;
background:url(../images/menu_on_bg.png) no-repeat 5px center;
}

li.nav-item + li.nav-item{
background:none;
}

}

@media print, screen and (max-width: 546px){
#nav {
	padding:0;
	margin:0;
	width:100vw;
	/*height: 100vh;*/
position:absolute;
top:-80px;
right:-15px !important;
bottom:0;
z-index:1;
	}


.navbar-toggler {
  color: #ffffff;
  padding: 0px;
  width: 44px;
  height:44px;
  border-radius:10px;
  border:0;
  background:#593601;
  box-sizing: border-box;
  position: relative;
  right:20px;
  left:;
  top:88px;
  outline:0;
  margin-bottom:10px;
  z-index:999;
}

.navbar-toggler:focus{
  outline: 0;
}

.navbar-light .navbar-toggler-icon {
  background-image:none; /* この行で背景画像を無効化 */
  background-color: #ffffff;
  width: 23px;
  height: 2px;
  display: block;
  position: absolute;
  transition: ease .5s;

}

/* 3本のバーそれぞれの座標を設定 */
.navbar-toggler-icon:nth-of-type(1) {top:10px; left:10px;}
.navbar-toggler-icon:nth-of-type(2) {top:16px; left:10px;}
.navbar-toggler-icon:nth-of-type(3) {top:22px; left:10px;}

/* メニューが開いている時の　3本のバーそれぞれの座標および角度を設定 */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(1) {
top:18px;
transform: rotate(45deg);
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(2) {
opacity: 0;
}
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:nth-of-type(3) {
top:18px;
transform: rotate(-45deg);
}

.navbar-toggler .open{
display:block;
font-size:8px;
color: #ffffff !important;
position: absolute;
bottom:7px;
left:10px;
}

.navbar-toggler[aria-expanded="true"] .open{
display:none;
}

.navbar-toggler .close_menu{
display:none;
}

.navbar-toggler[aria-expanded="true"] .close_menu{
display:block;
font-size:9px;
color: #ffffff !important;
position: absolute;
bottom:7px;
left:8px;
font-weight:400;
}


.navbar-nav{
height:calc ( 100% - 140px );
width:80%;
padding:1em;
display:flex;
flex-wrap:wrap;
top:180px;
right:0px;
left:5%;
/*flex-direction:row;*/
}

}

/*-----------------------------------------------------------------------------
common
-----------------------------------------------------------------------------*/
.headline01 {
	font-size:2.5em;
	line-height: 1.2;	
	letter-spacing:0.04em;
	box-sizing:border-box;
}


@media (max-width: 767px) {
.headline01 {
	font-size:2.2em;
	}
}

.headline02{
	font-size:2em;
	line-height: 1.5;	
	letter-spacing:0.04em;
box-sizing:border-box;

}


.headline03{
	font-size:1.7em;
	line-height: 1.5;	
	letter-spacing:0.04em;
box-sizing:border-box;

}

.headline04{
	font-size:1.4em;
	line-height: 1.5;
	letter-spacing:0.04em;

}

.headline05{
	font-size:1.2em;
	line-height: 1.5;
	letter-spacing:0.04em;

}


.headline01_top{
	font-size:2em;
	line-height: 1.3;	
	letter-spacing:0.06em;
	box-sizing:border-box;
	  font-weight: 700;
}

.headline01_top span{
	font-size:0.7em;
	line-height: 1.4;	
	letter-spacing:0.04em;
	box-sizing:border-box;
display:block;
margin-bottom:0.7em;
  font-family: "Quicksand", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal; 
}

/*span.uline_orange{
display:inline-block;
border-bottom:5px solid #e2a500;
border-radius:5px;
}*/

/*
.headline_uline{
  position: relative;
  display:block;
 margin-bottom: 0.6em;
text-align:center ;
line-height:1.2em;
}

.headline_uline:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 80px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background:#ffcc99;
  border-radius:5px;
}
*/

.subt{
display:block;
font-size:1em;
text-align:center;
}

.headline_uline{
padding-bottom:1em;
background:url(../images/headline_uline_bg.png) no-repeat center bottom;
background-size:200px auto;
text-align:center ;
}


.headline_uline_left{
  position: relative;
  display:block;
  /*margin-bottom: 1em;*/
text-align:left;
line-height:1.2em;
width:100%;
}

.headline_uline_left:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 80px;
  height: 2px;
  left: 40px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background:#ccc;
  border-radius: 0px;
}





.headline_a_uline{
border-bottom:2px solid #99cc99;
padding:0 0px 5px 7px;
box-sizing:border-box;
}



.head-border {
position:relative;
    display: inline-block;
    padding:0 55px;
}

.head-border:before,
.head-border:after {
    content:'';
    position:absolute;
    top:50%;
    display: inline-block;
    height: 3px;
width:30px;
border-radius:8px;
    background-color: #4baf49;

}

.head-border:before {
 left:0;
}

.head-border:after {
right:0;
} 


.head-border2 {
position:relative;
    display: inline-block;
    padding:0 55px;
}

.head-border2:before,
.head-border2:after {
    content:'';
    position:absolute;
    top:50%;
    display: inline-block;
    height: 3px;
width:30px;
border-radius:8px;
    background-color: #fca339;

}

.head-border2:before {
 left:0;
}

.head-border2:after {
right:0;
} 


.line-left_r {
	padding-left: 0.5em;
	border-left: 0.5em solid #e31e23;
}

.line-left_b {
	padding-left: 0.5em;
	border-left: 0.3em solid #68c2f2;
}

.line-left_p {
	padding-left: 0.4em;
	border-left: 0.3em solid #ffa1a1;
}

.line-bottom {
	padding-bottom:5px;
	border-bottom:1px solid #ccc;
}

.line-bottom_d {
	padding-bottom:5px;
	border-bottom:1px dashed #ccc;
}


.line-top {
	border-top:1px solid #dcdcdc;
}

.line-top i{
margin-right:5px;
}


.line_btm_cc{
  border-bottom: solid 3px #efefef;
  position: relative;
  padding-bottom:0.1em;
}

.line_btm_cc:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #4baf49;
  bottom: -3px;
  width: 15%;
}


.line_btm_cc2{
  border-bottom: solid 3px #efefef;
  position: relative;
  padding-bottom:0.1em;
}

.line_btm_cc2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #ffb341;
  bottom: -3px;
  width: 15%;
}
	

.headline_waku{
background: linear-gradient(135deg,rgba(106, 188, 100, 1) 0%, rgba(106, 188, 100, 1) 4%, rgba(255, 255, 255, 0.6) 4%, rgba(255, 255, 255, 0.6) 96%, rgba(106, 188, 100, 1) 96%, rgba(106, 188, 100, 1) 100%); 
padding:0.5em 1em;
}

.headline_waku2{
background: linear-gradient(135deg,rgba(255, 212, 156, 1) 0%, rgba(255, 212, 156, 1) 4%, rgba(255, 255, 255, 1) 4%, rgba(255, 255, 255, 1) 96%, rgba(255, 212, 156, 1) 96%, rgba(255, 212, 156, 1) 100%); 
padding:0.5em 1em;
}


@media (max-width: 767px) {
.headline01 {
	font-size:2em;
	line-height: 1.2;

	/*text-align:center;*/
}
.headline02{
	font-size:1.8em;
	line-height: 1.2;

}

.headline03{
	font-size:1.5em;
	line-height: 1.2;

}

.headline04{
	font-size:1.2em;
	line-height: 1.2;

}

.headline05{
	font-size:1.1em;
	line-height: 1.2;

}
	
}



/*-----------------------------------------------------------------------------
top
-----------------------------------------------------------------------------*/


.mt-8{
margin-top: 4rem !important;
}
.mt-10{
margin-top: 6rem !important;
}
.mt-15{
margin-top: 9rem !important;
}

.mb-10{
margin-bottom: 6rem !important;
}

.pb-10{
padding-bottom: 6rem !important;
}



.top_main_wrapper{
width:100%;
height:800px;
background-image:url(../images/top_wrapper_bg1.png);
background-position:left center;
background-repeat:no-repeat;
background-size:10% auto;
}

.top_main_wrap{
position:relative;
width:100%;
height:100%;
}

.top_main{
position:absolute;
top:0px;
left:10%;
z-index:1;
width:90%;
height:100%;
background-position:center bottom;
background-size:cover;
clip-path: ellipse(61% 62% at 62% 36%); 
}

.top_main_wrap .inner{
position:absolute;
left:5%;
bottom:50px;
z-index:10;
}

h2{
width:70%;
}




@media print, screen and (max-width: 991px){

.top_main_wrapper{
width:100%;
height:550px;
background-size:30% auto;
}

h2{
width:80%;
}

}


@media print, screen and (max-width: 767px){
.top_main_wrapper{
width:100%;
height:450px;
}

h2{
width:80%;
}

.center-xs{
text-align:center;
}

}


@media print, screen and (max-width: 546px){

.top_main_wrapper{
width:100%;
height:380px;
}

}


/*.home main{
position:relative;
z-index:0;
}
*/



.bg_white{
background:rgba(255,255,255,0.6);
}

.top_wrap1{
background-image:url(../images/top_wrap1_bg1.png),url(../images/top_wrap1_bg2.png);
background-repeat:no-repeat, no-repeat;
background-position:left top, right bottom;
background-size:15% auto, 20% auto;
}


@media print, screen and (max-width: 991px){

.top_wrap1{
background-image:url(../images/top_wrap1_bg1.png),url(../images/top_wrap1_bg2.png);
background-repeat:no-repeat, no-repeat;
background-position:left top, right bottom;
background-size:30% auto, 30% auto;
}

}


.bg_white_100{
background:white;
}

.bg_white_100 .p-5{
box-sizing:border-box;
}

.hgt270{
height:270px;
overflow:auto;
padding:1em;
box-sizing:border-box;
}

.news_table{
width:100%;
}

.news_table th{
border-bottom:1px solid #ddd;
padding:0.4em 1em 0.4em 0.1em
}

.news_table td{
border-bottom:1px solid #ddd;
padding:0.4em 1em 0.4em 0.1em
box-sizing:border-box;
}


.cate1{
background:#175caa;
border:1px solid #175caa;
border-radius:9999px;
padding:0.3em 0.8em;
box-sizing:border-box;
display:inline-block;
text-align:center;
font-size:0.9em;
line-height:1.1em;
width:110px;
color:#fff;
transition: all 0.3s;
}

a .cate1:hover, a .cate2:hover{
transform:scale(1.05, 1.05);
}

.cate1_off{
background:#FFFFFF;
border:1px solid #175caa;
border-radius:9999px;
padding:0.3em 0.8em;
box-sizing:border-box;
display:inline-block;
text-align:center;
font-size:0.9em;
line-height:1.1em;
width:110px;
color:#175caa;
}

.cate2{
background:#3ba832;
border:1px solid #3ba832;
border-radius:9999px;
padding:0.3em 0.8em;
box-sizing:border-box;
display:inline-block;
text-align:center;
font-size:0.9em;
line-height:1.1em;
width:110px;
color:#fff;
transition: all 0.3s;
}

.cate2_off{
background:#ffffff;
border:1px solid #3ba832;
border-radius:9999px;
padding:0.3em 0.8em;
box-sizing:border-box;
display:inline-block;
text-align:center;
font-size:0.9em;
line-height:1.1em;
width:110px;
color:#3ba832;
}

.news_table td.txt{
padding:0.4em 1em 0.4em 1em;
box-sizing:border-box;
border-bottom:1px solid #ddd;
}

.news_table td.txt a{
display:block;
box-sizing:border-box;
padding:0.4em 30px 0.4em 0em;
width:100%;
height:100%;
background:url(../images/news_table_off_bg.png) no-repeat 99% center;
transition:all 0.2s;
line-height:1.3em;
}

.news_table td.txt a:hover{
display:block;
width:100%;
height:100%;
background:url(../images/news_table_on_bg.png) no-repeat 99% center;
text-decoration:none;
color:#3ba832;
}


@media print, screen and (max-width: 991px){

.news_table th{
border-bottom:0px solid #ddd;
}

.news_table td{
border-bottom:0px solid #ddd;
}





}





/*__ swiper ____________*/
.swiper-container{
   width: 100%;
   height: auto;
   padding:0.1em 0;
   margin:0 0 2em 0;
   background:rgba(0,0,0,0.05);
   box-shadow:0px 2px 6px 6px rgba(0,0,0,0.02);
}

.swiper-slide{
margin:0 !impoortant;
width:auto
height: auto;
padding:0 0.5em;
overflow:hidden;

}

.swiper-slide img{
border-radius:10px;

}

.swiper-container-free-mode > .swiper-wrapper{-webkit-transition-timing-function:linear!important; -o-transition-timing-function:linear!important; transition-timing-function:linear!important; }



.top_wrap2{
background-image:url(../images/top_wrap2_bg1.png);
background-repeat:no-repeat;
background-position:left 10%;
background-size:35% auto;
width:100%;
height:100%;
}


@media print, screen and (max-width: 991px){

.top_wrap2{
background-image:url(../images/top_wrap2_bg1.png);
background-repeat:no-repeat;
background-position:left 0%;
background-size:40% auto;
width:100%;
height:100%;
}


}

.top_wrap2_inner{
width:100%;
background-image:url(../images/top_wrap2_bg2.png);
background-repeat:no-repeat;
background-position:center center;
background-size:100% 80%;
}


.top_box .inner{
box-sizing:border-box;
padding:1em;
}

.top_box{
background:#fff;
border-radius:15px;
padding:0;
overflow:hidden;
}

.box_inner{
position:relative;
width:100%;
height:70px;
}

.box_inner .number{
position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
display:block;
height:40px;
width:40px;
color:#f5c173;
font-size:40px;
 font-family: "Quicksand", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; 
}

.bdr_right_gray{
border-right:1px solid #dedede;
padding-right:1em !important;
}

@media print, screen and (max-width: 767px){

.box_inner .number{
left:0;
right:auto;
}


.bdr_right_gray{
border-right:0px solid #dedede;
padding-right:0em !important;
}
}

.top_box .main_txt{
color:#000;
font-size:25px;
font-weight: 700;
line-height:25px;
height:40px;
position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
}

.top_box .sub_txt{
color:#ddd;
display:block;
font-size:10px;
 font-family: "Quicksand", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal; 
}



.top_wrap2_inner2{
position:relative;
width:100%;
height:auto;
}

.top_wrap2_inner2_inner{
position:absolute;
background:#ffffff;
height:100vh;
width:80%;
margin-left:20%;
border-top-left-radius:9999px;
border-bottom-left-radius:9999px;
box-shadow:0 5px 5px rgba(200,200,200,0.1);
}

.top_wrap2_inner2_inner2{
position:absolute;
width:100%;
height:100vh;
background:url(../images/top_wrap2_inner2_bg.png) no-repeat 97% 80%;
background-size:20% auto;
}

.top_wrap2_inner2 .container{
/*position:absolute;*/
padding:100px 1em;
width:100%;
height:100%;
}


.uline_y{
background: linear-gradient(transparent 60%, #ffffff 60%);
}


.top_wrap3{
background-image:url(../images/top_wrap3_bg1.png), url(../images/top_wrap3_bg2.png);
background-repeat:no-repeat, no-repeat;
background-position:5% top, 95% bottom;
background-size:20% auto, 20% auto;
padding:3em 0;
}


.top_wrap3_inner{
border:#ffb341 3px solid;
border-radius:15px;
padding:3em 5em;
margin:2em 5em;
background:#ffedd1;
}

@media print, screen and (max-width: 991px){


.top_wrap3{
background-size:30% auto, 30% auto;
}

.top_wrap3_inner{
border:#ffb341 3px solid;
border-radius:15px;
padding:2em 2em;
margin:2em 0em;
background:#ffedd1;
}

.top_wrap3_inner .mb-4{
margin-bottom:0em !important;
}
}



.top_contact_wrap{
background:#6abc64;
border-top-right-radius:9999px;
margin:100px 0 0 0;
padding:2em 2em;
width:100%;
box-sizing:border-box;
z-index:0;
}

.top_contact_wrap_inner{
width:100%;
padding:2em 5em;
background:url(../images/top_contact_wrap_bg.png) no-repeat 0% center;
background-size:20% auto;
box-sizing:border-box;
}

@media (max-width: 767px) {

.top_contact_wrap{
border-top-right-radius:0px;
padding:2em 0 0em 0;
}

.top_contact_wrap_inner{
padding:2em 0em !important;
}


}


.top_contact_wrap_inner{
width:100%;
padding:2em 5em;
background:url(../images/top_contact_wrap_bg.png) no-repeat 0% center;
background-size:20% auto;
box-sizing:border-box;
}


.top_contact_box{
display:block;
text-align:center;
width:80%;
border-radius:9999px;
box-sizing:border-box;
margin:0 auto;
vertical-align:middle;
padding:1.3em 50px 1.5em 50px;
background:#ffffff;
box-shadow:0px 2px 6px 6px rgba(0,0,0,0.05);
}




@media (max-width: 991px) {

.top_contact_box{
display:block;
text-align:center;
width:90% !important;
box-sizing:border-box;
margin:0 auto;
vertical-align:middle;
padding:1.3em 1em 1.5em 1em;
background:#ffffff;
box-shadow:0px 2px 6px 6px rgba(0,0,0,0.05);
}


}




.table_float th {display: block;}
.table_float td {display: block;}

@media (min-width: 991px) {
  .table_float th {display: table-cell;}
  .table_float td {display: table-cell;}
}







/*-----------------------------------------------------------------------------
contents_header,
-----------------------------------------------------------------------------*/
/*__Breadcrumb__*/
.breadcrumb {
justify-content:flex-end;
}

@media (max-width: 767px) {

.content main {
	font-size:0.95em !important;
	}
}


.content #main01{
margin: 0 !important;
}


.con_h2_wrapper{
width:100%;
height:300px;
background-color:#6abc64;
box-sizing:border-box;
border-top-right-radius:9999px;
border-bottom-right-radius:9999px;
background-image:url(../images/top_contact_wrap_bg.png), url(../images/top_wrap1_bg1.png);
background-repeat:no-repeat, no-repeat;
background-size:20% auto, 10% auto;
background-position:left top, right bottom;
}


@media (max-width: 991px) {
.con_h2_wrapper{
width:100%;
height:250px;
}
}


@media (max-width: 546px) {
.con_h2_wrapper{
width:100%;
height:200px;
background-size:30% auto;
}
}



.con_h2_wrapper h2{
box-sizing:border-box;
display:block !important;
font-size:2.5em;
letter-spacing:0.3em;
line-height:1.3em;
font-weight:700;
padding:170px 0 0 0;
margin:0 0 0 1em;
height:auto;
color:#ffffff;
text-shadow: #017221 2px 2px 0px;
}

.con_h2_wrapper h2 span{
	font-size:0.4em;
	line-height: 1.4;	
	letter-spacing:0.04em;
	box-sizing:border-box;
display:block;
margin-bottom:0.7em;
 font-family: "Quicksand", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

@media (max-width: 991px) {

.con_h2_wrapper h2{
box-sizing:border-box;
/*position:absolute;*/
display:block !important;
font-size:2.5em;
letter-spacing:0.3em;
line-height:1.3em;
font-weight:700;
padding:130px 0 0 0;
margin:0 auto;
height:auto;
color:#ffffff;
text-shadow: #017221 2px 2px 0px;
}


}

@media (max-width: 546px) {

.con_h2_wrapper h2{
box-sizing:border-box;
/*position:absolute;*/
display:block !important;
font-size:2em;
letter-spacing:0.1em;
line-height:1.3em;
font-weight:700;
padding:100px 0 0 0;
margin:0 auto;
height:auto;
color:#ffffff;
text-shadow: #017221 2px 2px 0px;
}

.con_h2_wrapper h2 span{
	font-size:0.8em;}

}


/*-----------------------------------------------------------------------------
service
-----------------------------------------------------------------------------*/

.ser_main_wrap{
background:url(../images/ser_main_bg.png) no-repeat ,url(../images/ser_main_bg2.png) no-repeat;
background-size:15% auto, 15% auto;
background-position:left center, right center;
}


.service_main{
position:relative;
width:100%;
height:100vh;

}

.service_main .circle1{
position:absolute;
bottom:0;
left:0;
width:25%;
height:auto;
}
.service_main .circle2{
position:absolute;
bottom:38%;
left:13%;
width:25%;
height:auto;
}
.service_main .circle3{
position:absolute;
top:10%;
left:0;
right:0;
margin:auto;
width:25%;
height:auto;
}
.service_main .circle4{
position:absolute;
bottom:38%;
right:13%;
width:25%;
height:auto;
}
.service_main .circle5{
position:absolute;
bottom:0%;
right:0%;
width:25%;
height:auto;
}

.service_main_inner{
position:absolute;
top:60vh;
width:100%;
height:40vh;
background:url(../images/ser_main_in_bg.png) no-repeat;
background-size:auto 100%;
background-position:center bottom;
}

@media (max-width: 991px) {
.service_main{
position:static;
width:100%;
height:auto !important;
}

.service_main_inner{
position:static;
width:100%;
background:url(../images/ser_main_in_bg.png) no-repeat;
background-size:auto 100%;
background-position:center bottom;
}

}


@media (max-width: 767px) {
.ser_main_wrap{
background:none;
}
}

.ser_main_bottom{
background:url(../images/ser_main_bottom_bg.png) no-repeat;
background-size:100% auto;
background-position:center bottom;
min-height:300px;
}

@media (max-width: 767px) {
.ser_main_bottom{
background:url(../images/ser_main_bottom_bg.png) no-repeat;
background-size:auto 100%;
background-position:center top;
min-height:300px;
}
}

.ser_main_bottom_txt{
color:#fff;
font-size:2.5em;
line-height:1.2em;
text-align:center;
width:90%;
height:auto;
margin:0 auto;
padding:50px 0 100px 0;
box-sizing:border-box;
text-shadow: #017221 2px 2px 0px;
}

.service_list{
padding: 5em 0 30px 0;
margin-bottom:-30px;
box-sizing:border-box;
position:static;
width:100%;
display:flex;
flex-wrap:wrap;
justify-content:center;
overflow:hidden;
}

.service_list li{
display:inline-block;
margin:0.5em;
}

.service_list li a{
display:block;
width:100%;
height:100%;
	padding:0.9em 1.5em;
	line-height:2em;
	color:#ffffff;
	font-size:1.1em;
	/*border:1px solid #fca339;
	border:1px solid #10c964;*/
	border-radius:15px;
	background:/*linear-gradient(#6dc5f3,#37a3db)*/;
	background:#4d9f47;
	text-decoration: none;	
	line-height:150%;
letter-spacing:0.1em;
z-index:1;
font-weight:500;
text-align:center;
cursor:pointer;
/*box-shadow: 2px 3px 0 #bbbbbb;*/

	transition: all 0.3s;
	position:relative;
}
.service_list li a:hover{
background:#88d15c;
color:#ffffff;
/*border:1px solid #fff;*/
outline:none;
}

.ser_wrap{
/*min-height:100%;
height:1500px;
position:relative;
background-attachment:fixed !important;
background:url(../images/top_wrap3_bg.jpg) no-repeat center top;
background-size:auto 100%;
*/
margin:100px 0 0 0;
padding:100px 0;
}

.ser_box{
background:#fff;
padding:1em;
box-sizing:border-box;
border-radius:10px;
box-shadow:0px 2px 6px 6px rgba(0,0,0,0.05);
}

.ser_box h4{
font-size:1.2em;
border-radius:9999px;
background-color:#118843;
color:#ffffff;
line-height:2em;
text-align:center;
}

.ser_box .icon{
width:70%;
height:auto;
text-align:center;
margin:1em auto;
}

.ser_box .icon2{
width:90%;
height:auto;
text-align:center;
margin:1em auto;
}


.ser_box p{
width:90%;
height:auto;
margin:1em auto;
padding:0.5em;
border-radius:10px;
background:#f6f8f4;
}


.ser_dl{
background:rgba(251,236,219,0.8);
border-radius:15px;
padding:2em;
margin-top:3em;
box-shadow:0px 2px 6px 6px rgba(251,236,219,0.8);
}

.ser_dl dt{
font-size:1.2em;
background:url(../images/menu_on_bg.png) no-repeat 0px 10px;
padding-left:1em;
margin-bottom:1.5em;
color:#663300;
}

.ser_dl dd{
padding-left:1em;
}

.orange_tit{
font-size:1.2em;
border-radius:9999px;
background-color:#f17f3a;
color:#ffffff;
line-height:2em;
text-align:center;
}

.orange_tit2{
font-size:1.2em;
border-radius:9999px;
background:rgba(241,127,58,0.8);
color:#ffffff;
line-height:1.5em;
text-align:center;
box-shadow:0px 2px 6px 6px rgba(241,127,58,0.8);
}

.green_tit{
font-size:1.2em;
border-radius:9999px;
background-color:#009b41;
color:#ffffff;
line-height:2em;
text-align:center;
}

.green_tit2{
font-size:1.2em;
border-radius:9999px;
background-color:rgba(0,155,65,0.8);
color:#ffffff;
line-height:2em;
text-align:center;
box-shadow:0px 2px 6px 6px rgba(0,155,65,0.8);
}


.ser_sche_table{
width:100%;
}

.ser_sche_table th{
font-weight:400;
padding:0.5em 1em 0.5em 0.5em;
border-bottom:3px solid #f17f3a;
vertical-align:top;
}

.ser_sche_table td{
border-bottom:1px dashed #ccc;
padding:0.5em 1em 0.5em 0.5em;
}

.ser_sche_table th.gr{
font-weight:400;
padding:0.5em 1em 0.5em 0.5em;
border-bottom:3px solid #009b41;
vertical-align:top;
}

.headline_circle1{
position: relative;
padding:1em 0 0 2.2em;

}
.headline_circle1:before{
display: inline-block;
content: '\f0c8';
  position: absolute;
  left:0;
  top:0;
  font-family:"Font Awesome 5 Free";
font-weight:900;
font-size:2.2em;
color:#fca339;
}


.bdr_lg{
border-left:3px solid #fca339;
padding-left:3em;
}



.list_table{
margin:1em auto ;
width:100%;
}


.list_table > thead > tr > th,
.list_table > tbody > tr > th,
.list_table > tfoot > tr > th,
.list_table > thead > tr > td,
.list_table > tbody > tr > td,
.list_table > tfoot > tr > td {

line-height: 1.62857143;
font-weight:normal;
border-top:0;

}

.list_table > thead > tr > th,
.list_table > tbody > tr > th,
.list_table > tfoot > tr > th {
/*background:linear-gradient(180deg, #6dc6f4, #36a2db);*/
border-bottom:1px solid #dedede;
vertical-align:middle;
box-sizing:border-box;
padding:0.5em 0.5em 0.3em 0.6em;
text-align:center;
}

.list_table > thead > tr > td,
.list_table > tbody > tr > td,
.list_table > tfoot > tr > td {
padding:0.5em 0.5em 0.3em 0.6em;
border-bottom:1px solid #dedede;
vertical-align:middle;
white-space:nowrap;
text-align:right;
}




@media (max-width: 991px) {

.list_table{
margin:1em auto ;
width:100%;
}

.list_table > thead > tr > th,
.list_table > tbody > tr > th,
.list_table > tfoot > tr > th{
text-align:left;
vertical-align:top;
}

.list_table > thead > tr > td,
.list_table > tbody > tr > td,
.list_table > tfoot > tr > td {
border-bottom:1px solid #dedede;
}


}




/*-----------------------------------------------------------------------------
home_info
-----------------------------------------------------------------------------*/


.bg_white_100{
background:white;
}



.hinfo_list{

}

.hinfo_list li{
position:relative;
padding-left:1.5em;
text-align:left;
}

.hinfo_list li::before{
content:"\0203B";
position:absolute;
left:0;
display: inline-block;
}



/*-----------------------------------------------------------------------------
faq
-----------------------------------------------------------------------------*/

.qa-list dl {
    position: relative;
    margin:3em 0 0 0;
    padding: 1em 80px 1em 30px;
    cursor: pointer;
border-radius:10px;
background:rgba(255,204,153,0.2);
border:1px solid #efefef;
}

.qa-list dl:first-child {
/*    border-top: 1px solid #000;*/
}


.qa-list dl:before, .qa-list dl:after{
background:#f17f3a;
    position: absolute;
    top: 30px;
    right: 35px;
    display: block;
    width: 30px;
    height: 3px;
    margin: auto;
    content: '';
    transition:0.5s;
/*   transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
  */  
}
.qa-list .open::before {
    transform: rotate(-90deg);
}

.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 1.3em;
}

.qa-list dl dt::before{
    font-size: 26px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q .';
    color: #4baf49;
font-weight:700;
font-family: "Quicksand", serif;
}
.qa-list dl dd::before {
    font-size: 26px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A .';
    font-weight: bold;
    color: #fca339;
font-weight:700;
font-family: "Quicksand", serif;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
    
}

.qa-list dl.open dt{
border-bottom:1px solid #dedede;
padding-bottom:1em;
}

.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}

.qa-list dl:before, .qa-list dl:after{
background:#333;
    position: absolute;
    top: 25px;
    right: 18px;
    display: block;
    width: 25px;
    height: 1px;
    margin: auto;
    content: '';
    transition:0.5s;
/*   transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
  */  
}

.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}

.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q .';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
} 


/*-----------------------------------------------------------------------------
news
-----------------------------------------------------------------------------*/

.swiper-container{
  background:none;
}

.sw_con_main.swiper-container {
  width: 100%;
  height:350px;
  background:#efefef !important;
}


 .sw_con_main.swiper-container .swiper-wrapper{
  width: 100%;
  height:350px;
  box-sizing:border-box;
  padding:0;
}


.sw_con_main.swiper-container .swiper-wrapper .swiper-slide{
width:100%;
height:100%;
position:relative;

}

.sw_con_main.swiper-container .swiper-wrapper .swiper-slide img{
  width:auto;
  height:auto;
  max-width: 100%;
  max-height: 100%;
position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
border-radius:0;
}


.sw_con_thumb.swiper-container{
  width: 100%;
  height:auto;
  background:none !important;
  box-shadow:none !important;
}

.sw_con_thumb.swiper-container .swiper-wrapper{
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
 }
 
.sw_con_thumb.swiper-container .swiper-wrapper .swiper-slide{
  list-style: none;
  display:inline-block;
  width:80px !important;
  height:80px;
  border:1px solid #ccc;
  margin:0.5em;
  padding:0;
cursor:pointer !important;
}
 
.sw_con_thumb.swiper-container .swiper-wrapper .swiper-slide p{
  display: block;
  width:100%;
  height:100%;
position:relative;
}

.sw_con_thumb.swiper-container .swiper-wrapper .swiper-slide p img{
  width:auto;
  height:auto;
  max-width: 79px;
  max-height: 79px;
  position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
}




@media (max-width: 546px){

.thumb-item {
  list-style: none;
  width: 60px;
  height:60px;
  border:1px solid #ccc;
  margin:0.2em auto;
}
 
.thumb-link {
  display: block;
  width: 100%;
  height: 100%;
position:relative;
}

.thumb-link img{
  width:auto;
  height:auto;
  max-width: 59px;
  max-height: 59px;
  position:absolute;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
}

}


/*-----------------------------------------------------------------------------
company
-----------------------------------------------------------------------------*/
.company_wrap1{
background:url(../images/company_wrap1_bg.jpg) no-repeat center center;
width:100%;
}



.comp_table{
margin:1em auto ;
width:90%;
}


.comp_table > thead > tr > th,
.comp_table > tbody > tr > th,
.comp_table > tfoot > tr > th,
.comp_table > thead > tr > td,
.comp_table > tbody > tr > td,
.comp_table > tfoot > tr > td {

line-height: 1.62857143;
font-weight:normal;
border-top:0;
background:rgba(255,255,255,0.6);

}

.comp_table > thead > tr > th,
.comp_table > tbody > tr > th,
.comp_table > tfoot > tr > th {
/*background:linear-gradient(180deg, #6dc6f4, #36a2db);*/
border-bottom:3px solid #f1a272;
vertical-align:middle;
box-sizing:border-box;
padding:1.8em 0.5em 1em 1em;
white-space:nowrap;
vertical-align:top;
}

.comp_table > thead > tr > td,
.comp_table > tbody > tr > td,
.comp_table > tfoot > tr > td {
padding:1.8em 0.5em 1em 1.8em;
border-bottom:1px solid #dedede;
text-align:left;
}




@media (max-width: 991px) {

.comp_table{
margin:1em auto ;
width:100%;
border-top:0px solid #ccc;
}

.comp_table > thead > tr > th,
.comp_table > tbody > tr > th,
.comp_table > tfoot > tr > th{
border-bottom:0px dashed #ffffff;
padding:1em 0 0 1em;
color:#ff9933;
font-weight:bold;
}

.comp_table > thead > tr > td,
.comp_table > tbody > tr > td,
.comp_table > tfoot > tr > td {
border-top:0;
padding:0.5em 0 1em 1em;
}

}






.comp_list{
/*display:flex;
flex-wrap:wrap;
justify-content:start;*/
}

.comp_list li{
list-style:outside disc;
margin-left:1.5em;
}

@media print, screen and (max-width: 991px){
.comp_list li{
width:100%;
}


}





.googlemap{
height:400px;
width:100%;
position:relative;
border-radius:10px;
box-shadow: 4px 4px 0 #efefef;
}


.anchor{
padding-top: 140px !important;
margin-top: -140px !important;
}

@media (max-width: 991px) {
.anchor{
padding-top:100px !important;
margin-top: -100px !important;
}
}



/*-----------------------------------------------------------------------------
recruit
-----------------------------------------------------------------------------*/
.rec_dl{
border:2px dashed #660000;
border-radius:10px;
padding:1.5em 1.5em 0 1.5em;
}

.rec_dl table th{
margin-bottom:0.5em;
padding:0.5em 1em 0.5em 0.5em;
}

.rec_dl table th span{
display:inline-block;
width:80px;
margin-right:0.6em;
text-align:center;
}

.rec_dl table td{
margin-left:0.5em;
padding-bottom:0.5em;
}	

.recruit_flow{
background:rgba(246,237,184,0.6);
border-radius:10px;
padding:1em;
display:flex;
flex-wrap: wrap;
justify-content:flex-start;

}

.flow_num{
background:url(../images/recruit_flow_num_bg.png), url(../images/recruit_flow_num_bg2.png) ;
background-repeat:repeat-y, repeat-x;
background-position:calc( 50% - 10px ) 0px, left 40px;
padding:0;
margin:0;
width:100px;
box-sizing:border-box;
}

.number_circle2{
background:#009b41;
width:80px;
height:80px;
display:inline-block;
border-radius:9999px;
font-size:25px;
line-height:80px;
letter-spacing:0.03em;
text-align:center;
margin:0 2em 0 0;
color:#ffffff;
font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; 
}

.flow_txt{
margin:0 1em 0em 0;
padding:0 0 1.5em 1em;
width:calc( 100% - 120px );
box-sizing:border-box;
}


.flow_txt span.large{
display:block;
margin:1.2em 0;
}

@media (max-width: 767px) {
.flow_num{
background:url(../images/recruit_flow_num_bg.png), url(../images/recruit_flow_num_bg2.png) ;
background-repeat:repeat-y, repeat-x;
background-position:calc( 50% - 10px ) top, left 35px;
padding:0;
margin:0;
width:80px;
height:100%;
box-sizing:border-box;
}

.number_circle2{
background:#009b41;
width:70px;
height:70px;
display:inline-block;
border-radius:9999px;
font-size:22px;
line-height:70px;
letter-spacing:0.03em;
text-align:center;
margin:0 2em 0 0;
color:#ffffff;
font-family: "Outfit", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; 
}

.flow_txt{
margin:0 1em 1em 0;
padding:0 0 0 1em;
width:calc( 100% - 100px );
box-sizing:border-box;
}


.flow_txt span.large{
display:block;
margin:1.2em 0;
}

}

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


.contact_box{
padding:1.5em 1.5em 1.5em 1.5em;
margin:3em auto 0.8em auto;
text-align:center;
line-height:1;
letter-spacing:0.3em;
border:1px solid #ccc;
border-radius:5px;
background:rgba(255,255,255,0.5);
}

.contact_box span.tel{
/*background:#fff;*/
font-size:1.5em;
padding:0 0.5em;
}
.contact_box i{
color:#4baf49;
}


.contact_box span.num{
font-size:2.5em;
font-weight:700;
font-family: "Quicksand", serif;

}

.v_mdl{
vertical-align:middle;
}

@media (max-width: 767px) {

.contact_box{
padding:1.5em 0.5em;
margin:3em auto 0.8em auto;
text-align:center;
line-height:1;
}

.contact_box span.num{
font-size:2em;
font-weight:500;

}

}

.bdr_rb{
box-shadow: 5px 5px #10c964;
border:1px solid #efefef;
}

.require{
display:inline-block;
padding:0em 1em;
margin:0 0 0 0.3em;
line-height:1.5;
color:#fff;
background:#d32828;
font-size:0.8em;
border-radius:3px;
}

.option{
display:inline-block;
padding:0.1em 0.5em;
margin:0 0 0 0.3em;
line-height:1.2;
color:#fff;
background:#68c2f2;
font-size:0.8em;
border-radius:3px;
}




.contact_wrap table th{
width:20%;
white-space:nowrap;
box-sizing:border-box !important;
font-weight:normal;
border-top:0;
border-right:3px solid #ccc;
border-bottom:1px solid #dedede;
}

.contact_wrap table td{
width:80% !important;
box-sizing:border-box !important;
border-top:0;
border-bottom:1px solid #dedede;
}

@media (max-width: 767px) {

.contact_wrap table th{
width:100% !important;
white-space:nowrap;
box-sizing:border-box !important;
font-weight:bold;
border-right:0px solid #68c2f2;
border-left:3px solid #ccc;
border-bottom:0px solid #dedede;
padding:0.5em 0 0.3em 0.5em !important;
margin-top:2em;
}

.contact_wrap table td{
width:100% !important;
box-sizing:border-box !important;
text-align:left;
padding-top:2em;
}

}

.contact_wrap input, .contact_wrap label{
font-weight:normal;
margin-bottom:10px;
padding:1.5em !important;
text-align:left !important;
}

.contact_wrap select{
border:1px solid #dedede;
border-radius:5px;
height:50px !important;
}

#zip-btn{
margin-left:1em;
padding:0.5em !important;
}

#zip-btn:hover{
background:#4baf49;
}

.contact_wrap button, .contact_wrap input.form-control-file{
border:0;
border-radius:5px;
background:#fca339;
color:#ffffff;
margin-top:-5px;
cursor:pointer;
}


input[type="radio"], input[type="checkbox"]{
display: inline-block;
  margin: 0 5px 0 15px;
  padding: 0;
  vertical-align: middle;
  position: relative;
  top: -1px;
  cursor: pointer;
}

.form-control, .form-control-md, .form-control-sm{
padding:2em !important;
box-sizing:border-box !important;
border:1px solid #ccc !important;
}


.form-control-md:focus, .form-control-sm:focus{
  color: #495057;
  background-color: #fff;
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

@media (max-width: 991px) {

.contact #main01 .row{
margin-top:10px;
}



.contact_wrap input, .contact_wrap label{
font-weight:normal;
margin-bottom:10px;
padding:1em !important;
text-align:left;
box-sizing:border-box !important;
width:98% !important;
}

.form-control, .form-control-md, .form-control-sm{
box-sizing:border-box !important;
width:98% !important;
}

.control-label{
font-size:16px;
font-weight:normal;
text-align:left;
margin-bottom:0;
}



span.checkbox_cont{
/*padding:10px;*/
font-size:16px;
margin-right:10px;
display: inline-block;
top:-3px;
}

input[type="radio"], input[type="checkbox"]{
display: inline-block;
  margin: 0 2px;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
  width:15px !important;
  height:15px !important;

}


.contact_wrap{
margin:30px 0 50px 0;
}

.contact_wrap td .w250{
width:150px !important;
}

}

  
.hgt250{
height:250px;
overflow:auto;
border:1px solid #dedede;
padding:1em;
font-size:0.9;
}


.contact_ol,
.contact_b{
	/*border-top:1px dotted #666;*/
	padding-top:10px;
	padding-left:0px;
	margin-bottom:2em;
}
.contact_ol li{ margin-left:1.5em; list-style:decimal}
	
ul.privacy_list{

}
ul.privacy_list li{
padding-left:1em;
position:relative;
}

ul.privacy_list li::before {
  content: "■";
  color: #e31e23;
  position:absolute;
  left:0;
    display: inline-block;
}

.hgt250 ul{

}

.hgt250 ul li{
list-style:circle outside;
margin-left:1em;
margin-bottom:0.8em;
}

/*-----------------------------------------------------------------------------
privacy policy
-----------------------------------------------------------------------------*/
/*.number_circle{
background:#10c964;
width:60px;
height:60px;
display:inline-block;
border-radius:50%;
font-size:30px;
line-height:60px;
text-align:center;
margin-right:0.3em;
color:#ffffff;
}*/

.green_uline{
background:linear-gradient(180deg, transparent 0%, transparent 70%, rgba(36,147,110,0.4) 70%, rgba(36,147,110,0.4) 100%); 
padding:0 0.3em;
}

ol.privacy  {
  position: relative;
  margin: 0;
  padding: 0
}
ol.privacy li  {
  list-style: none;
  list-style-position: outside;
  margin: 0 0 0.5em 0;
  line-height:1.3em;
  padding-left: 1.25em
}
ol.privacy li span {
  position: absolute;
  left: 0;
  margin: 0
}



/*-----------------------------------------------------------------------------
footer 
-----------------------------------------------------------------------------*/

#footer {
	width:100%;
	margin:0 0 0 0;
	padding:2em 0;
	background:#ffffff;
}



#footer h3 {

}


#footer p{
line-height:1.3em;

}



.footer_menu {
display:flex;
flex-wrap: wrap;
justify-content:flex-end;
margin:1em 0;
width:100%;
}


.footer_menu li{
letter-spacing: 0.02em;
line-height:1em;
text-align:left !important;
box-sizing:border-box;
margin:0 0.5em 0 0;
/*position:relative;
width:auto;*/
height:100%;
display:block;
}

.footer_menu li + li{
 /*border-left:1px solid #000;*/
 }

.footer_menu li a{
font-size:0.9em;
padding:0.7em 0.5em;
display:block;
width:100%;
height:100%;
text-decoration:none !important;
}



.footer_menu li a, .footer_menu li a:visited{
box-sizing:border-box;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
/*border-bottom:1px solid #00909e;*/
	padding-left:1em;
}

.footer_menu li a:hover{
/*border-bottom:1px solid #dedede;*/
color:#6abc64 !important;
}


.right_xs_center{
text-align:right;
}


.copyright{
text-align:right;
font-size:0.9em;
padding:1em 0 2em 0;
}



@media (max-width: 991px) {

.footer_menu{
display:block;
margin-top:2em;
}
.footer_menu li{
width:100%;
margin:0.5em 0em;
border:1px dashed #dedede;
padding-left:0.5em;
}

.footer_menu li a{
padding-left:1.2em;
}


.footer_menu h4{
margin:0.5em 0.3em 0.5em 0.5em;

}

.right_xs_center{
text-align:center;
}

.copyright{
text-align:center;
margin:0;
padding:1.5em;
}
}



#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
    z-index: 999;
    cursor: pointer;

}
#pagetop img{
    transition: all 0.3s;
}

#pagetop img:hover {
opacity:0.8;
}



@media (max-width: 991px) {

#pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 60;
    cursor: pointer;
}
#pagetop img{
height:55px;
width:55px;
}

#pagetop img:hover {
opacity:0.8;
}

}



