@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:#000;
	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:#fff;
	z-index:0;

}

.wrap {
overflow:hidden;
  font-family: "Noto Sans JP", sans-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;
}

a{font-size:1em;}

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: #22a0e5; }
.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: #118843; }
.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;
}




.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:300px;
	padding:1em 1.5em;
	line-height:2em;
	font-size:1em;
	color:#000;
/*background: linear-gradient(135deg, rgba(204, 204, 204, 1) 0%, rgba(248, 248, 246, 1) 47%, rgba(248, 248, 246, 1) 53%, rgba(204, 204, 204, 1) 100%);
*/
background: linear-gradient(90deg, rgba(216, 185, 136, 1) 0%, rgba(248, 240, 212, 1) 23%, rgba(248, 240, 212, 1) 27%, rgba(216, 185, 136, 1) 50%, rgba(204, 204, 204, 1) 50%, rgba(248, 248, 246, 1) 73%, rgba(248, 248, 246, 1) 76%, rgba(204, 204, 204, 1) 100% );
background-size:200% 100%;
background-position:100% 100%;
	text-decoration: none;	
	line-height:150%;
letter-spacing:0.06em;
z-index:1;
font-weight:normal;
text-align:center;
cursor:pointer;
box-shadow:0px 6px 6px -5px rgba(0,0,0,0.1);
	position:relative;
	transition:all ease-out 0.5s;
}

a.btn2:after{
    position:absolute;
font-weight:600;
font-family:'Font Awesome 5 Free';
font-size:1.1em;
content:'\f054';
right:1em;
color:#000;
}

.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-position:0% 200%;
/*border:1px solid #fff;*/
outline:none;
/*box-shadow:0 2px 3px rgba(0,0,0,0.3);*/
}

button.btn2:hover, input.btn2:hover{
background:linear-gradient(135deg,rgba(100, 100, 100, 1) 0%, rgba(220, 220, 220, 1) 47%, rgba(220, 220, 220, 1) 53%, rgba(100, 100, 100, 1) 100%);
/*box-shadow:0 2px 3px rgba(0,0,0,0.3);*/
}



a.btn2_2, button.btn2_2, input.btn2_2, .btn2_2 {
	display: inline-block;
	max-width:100%;
	min-width:300px;
	padding:1em 1.5em;
	line-height:2em;
	font-size:1em;
	color:#000;
	/*border:1px solid #fca339;
	border:1px solid #10c964;*/
background:linear-gradient(90deg, rgba(204, 204, 204, 1) 0%, rgba(248, 248, 246, 1) 23%, rgba(248, 248, 246, 1) 25%, rgba(204, 204, 204, 1) 50%, rgba(216, 185, 136, 1) 50%, rgba(248, 240, 212, 1) 73%, rgba(248, 240, 212, 1) 77%, rgba(216, 185, 136, 1) 100% );
background-size:200% 100%;
background-position:100% 100%;
	text-decoration: none;	
	line-height:150%;
letter-spacing:0.06em;
z-index:1;
font-weight:normal;
text-align:center;
cursor:pointer;
box-shadow:0px 6px 6px -5px rgba(0,0,0,0.1);
	transition:all 0.5s;
	position:relative;
}

a.btn2_2:after{
    position:absolute;
font-weight:600;
font-family:'Font Awesome 5 Free';
font-size:1.1em;
content:'\f054';
right:1em;
color:#000;
}

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


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

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


a.btn2_2:hover, .btn2_2:hover{
background-position:0% 200%;
/*border:1px solid #fff;*/
outline:none;
/*box-shadow:0 2px 3px rgba(0,0,0,0.3);*/
}

button.btn2_2:hover, input.btn2_2:hover{
background-position:100% 200%;
/*box-shadow:0 2px 3px rgba(0,0,0,0.3);*/
}




.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.2em 30px 0.3em 0.2em;
	margin:1em 0;
	color:#333 !important;
text-align:left;
	text-decoration: none;	
	line-height:1.3em;
letter-spacing:0.06em;
font-weight:500;
background:url(../images/btn3_off_bg.png) no-repeat right center;
border-bottom:1px solid #666;
cursor:pointer;
transition: all 0.6s ease;
}



a.btn3:hover, .btn3:hover{
background:url(../images/btn3_on_bg.png) no-repeat right center;

}

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 {


	}

.header{
position:fixed;
top:0px;
	width:100%;
	height:90px;
	line-height:1;
	box-sizing:border-box !important;
z-index:99;
background: linear-gradient(135deg,rgba(236, 237, 234, 1) 0%, rgba(248, 248, 246, 1) 47%, rgba(240, 240, 238, 1) 53%, rgba(220, 219, 216, 1) 100%); 
padding:0 40px;
/*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);*/

  transition: transform 0.3s ease;
  transform: translateY(0);
}

@media print, screen and (max-width: 546px){
.header{
	height:70px;
}
}



.header.hide {
  transform: translateY(-100%);
}

@media print, screen and (max-width: 991px){
.header.fix {
  transform: translateY(0%);
  position:fixed !important;
  top:0;
}
}

/*@media print, screen and (max-width: 991px){
.header.hide {
  transform: translateY(0%);
}
}*/


/*.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:calc( 100% - 10px );
height:100%;
margin:0;
display:block !important;
position:relative;
box-sizing:border-box;
}


h1.logo{
position:absolute;
top:10px;
left:10px;
width:20%;
height:70px;
max-width:353px;
max-height:70px;
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:100%;
height:auto;
max-width:353px;
max-height:70px;
box-sizing:border-box;
margin:auto;
top:0;
bottom:0;
right:0;
position:absolute;
}

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

h1.logo{
position:absolute;
top:10px;
left:10px;
width:40%;
height:70px;
max-width:353px;
max-height:70px;
overflow:hidden;
box-sizing:border-box;
z-index:99;
}

}


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

h1.logo{
position:absolute;
width:40%;
height:40px;
top:15px;
left:10px;
overflow:hidden;
box-sizing:border-box;
z-index:99;
}

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


h1.logo img{
width:100%;
height:auto;
max-width:353px;
max-height:70px;
box-sizing:border-box;
position:absolute;
}

}

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

.tel_box{
position: absolute;
width:250px;
right:270px;
top:13px;
text-align:center;
background: #F4E7C1;
background: linear-gradient(135deg,rgba(244, 231, 193, 1) 0%, rgba(248, 240, 212, 1) 47%, rgba(248, 240, 212, 1) 53%, rgba(232, 220, 198, 1) 100%);
box-shadow: 0px 6px 6px -5px rgba(0,0,0,0.1);
/*z-index:99;*/
transition:all 0.3s;
}

.tel_box img{
padding:20px 10px;
}

@media (max-width: 1399px) {
.tel_box{
width:180px;
right:200px;
z-index:999;
}

}



@media (max-width: 1199px) {
.tel_box{
right:70px;
top:15px;
display:block;
width:50px;
height:50px;
line-height:50px;
text-align:center;
transition: all 0.3s;

}

.tel_box i{
font-size:30px;
color:#000 !important;
margin-top:10px;
}

.tel_box:hover{
color:#cccccc;
}
}

@media (max-width: 992px) {

.tel_box{
right:130px;
top:25px;
}

}

@media (max-width: 546px) {

.tel_box{
right:130px;
top:10px;
}

}



/*__ mail __*/
.mail_box{
position: absolute;
width:250px;
right:10px;
top:13px;
text-align:center;
}



.mail_box a{
display:block !important;
width:100%;
height:100%;
box-sizing:border-box;
text-decoration:none;
background: linear-gradient(135deg,rgba(236, 237, 234, 1) 0%, rgba(248, 248, 246, 1) 47%, rgba(248, 248, 246, 1) 53%, rgba(220, 219, 216, 1) 100%);
box-shadow: 0px 6px 6px -5px rgba(0,0,0,0.1);
}


.mail_box a:hover{
background:#ffffff;
}

.mail_box a img{
padding:20px 10px;
margin:0 auto;
}


@media (max-width: 1399px) {
.mail_box{
width:180px;
right:10px;
}

}


@media (max-width: 1199px) {
.mail_box{
right:10px;
top:15px;
display:block;
width:50px;
height:50px;
line-height:50px;
text-align:center;
transition: all 0.3s;
z-index:999;
}

.mail_box i{
font-size:30px;
color:#000 !important;
line-height:50px;
}

}

@media (max-width: 992px) {

.mail_box{
right:70px;
top:25px;
}

}

@media (max-width: 546px) {

.mail_box{
right:70px;
top:10px;
}

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

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

	}


.navbar-nav{
position:absolute;
left:auto;
right:0px;
top:0px;
}


@media (max-width: 1399px) {
#nav {
	padding: 0;
	margin:0;
	height:30px;
	width:calc( 100% - 420px );
position:absolute;
top:0;
bottom:0;
margin:auto;
/*background:#ffffff;*/

	}


.navbar-nav{
position:absolute;
left:auto;
right:0px;
top:0px;
}

}

@media (max-width: 1199px) {

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

	}


.navbar-nav{
position:absolute;
left:auto;
right:0px;
top:0px;
}

}


.navbar-light .nav-item a.nav-link{
box-sizing:border-box;
color:#333;
font-weight:400;
font-size:0.9em;
line-height:2em;
display:inline-block;
text-align:center;
letter-spacing:0.04em;
padding:0.4em 0.5em 0;
margin:0 0.3em;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


.navbar-light .nav-item{
  position: relative;
  z-index: 1;
margin-right:0em;
}


.navbar-light .nav-item a.nav-link:after{
  content: '';
  position: absolute;
  left: 25%;
  bottom: -5px;/*テキストからの距離*/
  width: 0%;/*初期状態では下線非表示*/
  height: 3px;/*下線の高さ*/
  background: #999999;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
  border-radius:0;
}


.navbar-light .nav-item:hover a.nav-link:after, .navbar-light .active a.nav-link:after{
  width:50%;/*hover時に表示*/
  height:3px;
}


@media (max-width: 991px) {
#nav {
	padding:0;
	margin:0;
	width:calc( 100% + 40px );
	/*height: 100vh;*/
position:absolute;
top:-118px;
bottom:0;
right:-20px;
/*z-index:1;*/
z-index:10;
	}
	
	
.navbar-toggler {
  color: #ffffff;
  padding: 0px;
  width: 50px;
  height:50px;
  border:0;
border-radius:0;
background: linear-gradient(135deg,rgba(0, 0, 0, 1) 0%, rgba(200, 200, 200, 1) 47%, rgba(200, 200, 200, 1) 53%, rgba(0, 0, 0, 1) 100%); 
  box-sizing: border-box;
  position: relative;
  right:15px;
  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:11px;}
.navbar-toggler-icon:nth-of-type(2) {top:18px; left:11px;}
.navbar-toggler-icon:nth-of-type(3) {top:24px; left:11px;}

/* メニューが開いている時の　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:8px;
}

.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:8px;
font-weight:400;
}

.navbar-toggler[aria-expanded="true"]{

}


/*__ scroll __*/
.nav{
width:/*170px100vw*/ 100%;
height:calc( 100vh + 120px );
background:linear-gradient(180deg,rgba(250, 250, 250, 0.8) 0%, rgba(250, 250, 250, 0.8) 20%, rgba(0, 0, 0, 0.6) 40% );
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: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:0.5em;
}


.navbar-light .nav-item a.nav-link{
padding:0.8em 0.5em 0.8em 1.5em;
width:100%;
height:auto;
box-sizing:border-box !important;
transition: .4s;
color:;
font-weight:400;
font-size:1em;
display:inline-block;
margin-left:0em;
text-align:left;
letter-spacing:0.09em;
/*border-bottom:1px dashed #eeeeee;*/
}

.navbar-light .nav-item a.nav-link{
border-left:5px solid #ECEDEA;
color:#ffffff !important;
transition:all 0.4s;
}


.navbar-light .active a.nav-link, .navbar-light a.nav-link:hover{
border-left:5px solid #F4E7C1;
background:rgba(0,0,0,0.2);
}

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

.navbar-light .nav-item:hover a.nav-link:after, .navbar-light .active a.nav-link:after{
  width:0%;/*hover時に表示*/
  height:0px;
}

}



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

.navbar-toggler {

  position: relative;
  top:120px;
  outline:0;
  margin-bottom:10px;
  z-index:999;
}


.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:5em;
	line-height: 1;	
	letter-spacing:0.03em;
	box-sizing:border-box;
}

.eng_bold{
font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; 
}

.headline01_top span{
	font-size:0.2em;
	line-height: 1.4;	
	letter-spacing:0.04em;
	box-sizing:border-box;
display:block;
margin-bottom:0em;
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; 
}

@media (max-width: 767px) {
.headline01_top{
	font-size:4em;
	}
.headline01_top span{
	font-size:0.3em;
	}

}


/*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:#e8dcc6;
  border-radius:5px;
}

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

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

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


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

.headline_uline_left2:before {
  content: '';
  position: absolute;
  bottom: -12px;
  display: inline-block;
  width: 80px;
  height: 4px;
  left: 40px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background:#fff;
  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 5px #dedede;
  position: relative;
  padding-bottom:0.1em;
}

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


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

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



@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{
background:url(../images/top_main_wrapper.jpg) no-repeat center top;
width:100%;
height:800px;
}

.top_main{
position: relative;
top:90px;
left:0px;
z-index:1;
width:100%;
height:700px;
}

.top_main h2{
position:absolute;
bottom:40px;
left:20px;
width:40%;
height:50%;
}

.top_main h2 img{
width:100%;
height:auto;
position:relative;
bottom:30px;
}


@media print, screen and (min-width: 1400px){
.top_main_wrapper{
background:url(../images/top_main_wrapper.jpg) no-repeat center top;
width:100%;
height:100vh;
max-height:1170px;
}

.top_main{
position: relative;
top:90px;
left:0px;
z-index:1;
width:100%;
height:calc( 100vh - 90px );
max-height:1170px;
}


.top_main h2{
position:absolute;
top:50%;
left:20px;
width:40%;
height:40%;
}

.top_main h2 img{
width:100%;
height:auto;
position:relative;
bottom:30px;
}


}
@media print, screen and (max-width: 1199px){
.top_main_wrapper{
background:url(../images/top_main_wrapper.jpg) no-repeat center top;
width:100%;
height:800px;
}

.top_main{
position: relative;
top:90px;
left:0px;
z-index:1;
width:100%;
height:700px;
}

.top_main h2{
position:absolute;
bottom:0px;
left:20px;
width:40%;
height:45%;
}

.top_main h2 img{
width:100%;
height:auto;
position:relative;
bottom:30pz;
}
}



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

.top_main_wrapper{
background:url(../images/top_main_wrapper.jpg) no-repeat center top;
width:100%;
height:550px;
}

.top_main{
position: relative;
top:90px;
left:0px;
  z-index:1;
  width:100%;
height:450px;
}
.top_main h2{
position:absolute;
top:120px;
width:100%;
height:200px;
text-align:center;
}

.top_main h2 img{
width:auto;
height:auto;
max-width:90%;
max-height:200px;
}


}


@media print, screen and (max-width: 767px){
.top_main_wrapper{
background:url(../images/top_main_wrapper.jpg) no-repeat center top;
width:100%;
height:500px;
}

.top_main{
position: relative;
top:90px;
left:0px;
  z-index:1;
  width:100%;
height:400px;
}

.top_main h2{
width:100%;
}

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

}


@media print, screen and (max-width: 546px){
.top_main h2{
position:absolute;
top:180px;
left:0px;
width:100%;
height:200px;
text-align:center;
}

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

}


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




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

.top_wrap1_wapper{
background: #ECEDEA;
background: linear-gradient(135deg,rgba(236, 237, 234, 1) 0%, rgba(248, 248, 246, 1) 47%, rgba(248, 248, 246, 1) 53%, rgba(220, 219, 216, 1) 100%);
}

.top_wrap1{
background-image:url(../images/top_wrap1_bg.png);
background-repeat:no-repeat;
background-position:right 20px;
background-size:90% auto;
margin-right:20px;
}

.top_wrap1_inner{
background-image:url(../images/top_wrap1_p1.jpg), url(../images/top_wrap1_p2.jpg);
background-repeat:no-repeat, no-repeat;
background-position:13% 80px, right 20px;
background-size:230px auto, 180px auto;
height:350px;
}

.top_wrap1_inner h3{
position:relative;
top:220px;
}

@media print, screen and (max-width: 1199px){
.top_wrap1_inner{
background-image:none, none;
background-repeat:no-repeat, no-repeat;
background-position:10% 80px, right 20px;
background-size:auto auto, auto auto;
height:250px;
}

.top_wrap1_inner h3{
position:relative;
top:100px;

}
}

.top_wrap1_2{
background:linear-gradient(135deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.7) 47%, rgba(0, 0, 0, 0.7) 53%, rgba(0, 0, 0, 1) 100%); 
height:950px;
positon:relative;
}

.top_wrap1_2_inner{
background-image:url(../images/top_wrap1_bg2.png);
background-repeat:no-repeat;
background-position:left 100px;
background-size:70% auto;
height:400px;
}

.top_wrap1_2_inner2{
background-image:url(../images/top_wrap1_p3.jpg), url(../images/top_wrap1_p4.jpg);
background-repeat:no-repeat, no-repeat;
background-position:5% 20px, 90% 80px;
background-size:210px auto, 260px auto;
height:420px;
position:relative;
top:-600px;
}

.top_wrap1_2 .container{
position:relative;
top:-580px;
}


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

.top_wrap1_2{
background:linear-gradient(135deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.7) 47%, rgba(0, 0, 0, 0.7) 53%, rgba(0, 0, 0, 1) 100%); 
height:750px;
positon:relative;
}

.top_wrap1_2_inner{
background-image:url(../images/top_wrap1_bg2.png);
background-repeat:no-repeat;
background-position:left 30px;
background-size:80% auto;
height:220px;
}


.top_wrap1_2_inner2{
background-image:none, none;
height:420px;
position:relative;
top:-600px;
}
}

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

.top_wrap1_2{
background:linear-gradient(135deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.7) 47%, rgba(0, 0, 0, 0.7) 53%, rgba(0, 0, 0, 1) 100%); 
height:1050px;
positon:relative;
}

}


@media print, screen and (max-width: 767px){
.top_wrap1_2{
background:linear-gradient(135deg,rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.7) 47%, rgba(0, 0, 0, 0.7) 53%, rgba(0, 0, 0, 1) 100%); 
height:900px;
positon:relative;
}
}



.top_wrap2{
background:url(../images/top_wrap2_bg.png);
background-repeat:no-repeat;
background-position:right 100px;
background-size:60% auto;
width:100%;
position:static;
padding-top:250px;
}

.top_wrap2_inner{
width:100%;
background: #ECEDEA;
background: linear-gradient(90deg,rgba(236, 237, 234, 1) 0%, rgba(248, 248, 246, 1) 47%, rgba(248, 248, 246, 1) 53%, rgba(220, 219, 216, 1) 90%, rgba(255, 255, 255, 0) 90%);
}

.top_wrap2_title{
position:relative;
top:-120px;
height:120px;
}

@media (max-width: 767px) {

.top_wrap2{
background:url(../images/top_wrap2_bg.png);
background-repeat:no-repeat;
background-position:right 20px;
background-size:80% auto;
width:100%;
position:static;
padding-top:150px;
}

.top_wrap2_title{
position:relative;
top:-100px;
height:90px;
}

}

.top_box{

}
.top_box a{
text-decoration:none;
}


.top_box a:hover .top_box_photo img{
transiton:all 0.3s;
transition-duration:0.3s;
}

.top_box a:hover .top_box_photo img{
transform: scale(1.2) ;
}

.top_box .top_box_photo{
width:100%;
height:280px;
overflow:hidden;
position:relative;
border:1px solid #dddddd;
}

.top_box .top_box_photo img{
position:absolute;
width:auto;
height:auto;
max-width:100%;
max-height:100%;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
}

.top_box h4{
line-height:1.4em;
}

.top_box h4 span{
background:#000;
color:#FFF;
display:inline-block;
font-size:0.8em;
padding:0.2em;
}

/*
.top_wrap2{
background: linear-gradient(180deg, #ffffff 0%, #ffffff 60%, #9cd3f1 60%, #ffffff 100%);
}
*/

.top_box2{
background:url(../images/top_box2_bg.jpg) no-repeat right top;
background-size:contain;
margin:0 2em;
transition:all 0.4s;
}

.top_box2:hover{
background:url(../images/top_box2_bg_hover.jpg) no-repeat right top;
background-size:contain;
}

.top_box2 a{
height:370px;
width:100% !important;
position:relative;
display:block;
overflow:hidden;
}

.top_box2 a::before, .top_box2 a::after{
content:"";
display:block;
position:absolute;
margin:auto;
transition:0.3s;
opacity:0;
}


.top_box2 a::before{
width:100%;
height:100%;
z-index:2;
}

.top_box2 a::after{
color:#000;
content:"Read More";
width:150px;
height:30px;
font-size:20px;
font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
position:absolute;
bottom:20px;
right:60px;
z-index:3;
border-bottom:1px solid #666;
text-shadow:2px 3px 3px rgba(255,255,255,0.5);
}

.top_box2 a:hover::before, .top_box2 a:hover::after{
opacity:1;
}


.top_box2 a img{
position:absolute;
left:0;
top:0;
bottom:0;
height:330px;
width:auto;
margin:auto;
z-index:0;
}

.top_box2 a .top_box2_txt{
position:absolute;
z-index:10;
font-size:1.8em;
letter-spacing:0.01em;
right:0;
top:0;
bottom:0;
margin:auto;
width:50%;
height:50px;
text-align:left;
z-index:1;
text-shadow:2px 3px 3px rgba(255,255,255,0.5);
}

.top_box2_txt span{
font-size:0.5em;
display:block;
font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; 
}

@media print, screen and (max-width: 991px){
.top_box2{
margin:0 5em;
}
}


@media print, screen and (max-width: 767px){
.top_box2{
margin:0 1em;
}
}

@media print, screen and (max-width: 630px){
.top_box2{
margin:0 4em;
}
}

@media print, screen and (max-width: 546px){
.top_box2{
margin:0 3em;
}

.top_box2 a{
height:270px;
width:100% !important;
position:relative;
display:block;
overflow:hidden;
}

.top_box2 a img{
position:absolute;
left:0;
top:0;
bottom:0;
height:230px;
width:auto;
margin:auto;
z-index:0;
}


.top_box2 a .top_box2_txt{
position:absolute;
z-index:10;
/*font-size:1em;*/
letter-spacing:0.01em;
right:0;
top:0;
bottom:0;
margin:auto;
width:50%;
height:50px;
text-align:left;
z-index:1;
text-shadow:2px 3px 3px rgba(255,255,255,0.5);
}
}


@media print, screen and (max-width: 500px){
.top_box2{
margin:0 1em;
}
}


.top_contact_wrap{
background: linear-gradient(135deg,rgba(0, 0, 0, 1) 0%, rgba(90, 90, 90, 1) 47%, rgba(90, 90, 90, 1) 53%, rgba(0, 0, 0, 1) 100%); 
font-size:1em;
}

.top_contact_wrap .inner{
background:url(../images/top_contact_bg.png) no-repeat center 40px;
background-size:80% auto;
padding:5em 0;
}

.top_contact_box{
border:1px solid #fff;
boz-sizing:border-box;
padding:1em 1em 1em 120px;
color:#ffffff !important;
}


.top_contact_box_1{
background:url(../images/top_contact_p1.png) no-repeat 35px center;
}

.top_contact_box_1 p{
line-height:1.2em;
color:#FFFF !important;
}


.top_contact_box_1 .eng_bold{
	font-size:2.5em;
	line-height: 1.2;	
	letter-spacing:0.04em;
	font-family: "Montserrat", serif;
}

.top_contact_box_1 p span{
color:#FFFF !important;
font-family: "Montserrat", serif !important;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; 
}

.top_contact_box_2{
background:url(../images/top_contact_p2.png), url(../images/top_contact_p3.png);
background-repeat:no-repeat, no-repeat;
background-position:35px center, 95% center;
padding-top:1.2em;
}

.top_contact_box_2 span{
display:inline-block;
box-sizing:border-box;
font-size:25px;
margin-top:0.5em;
}


.top_contact_wrap .inner a.phone_num{
 overflow: hidden;
  position: relative;
  z-index: 1;
  color:white;
display:block;
}

.top_contact_wrap .inner a.phone_num::after{
background:linear-gradient(90deg, rgba(216, 185, 136, 0.8) 0%, rgba(248, 240, 212, 0.6) 53%, rgba(248, 240, 212, 0.6) 57%, rgba(216, 185, 136, 0.8) 100% );
position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}


.top_contact_wrap .inner a p{
font-size:25px;
}

@media print, screen and (max-width: 1199px){
.top_contact_box_1 .eng_bold{
	font-size:1.7em;
	line-height: 1.2;	
	letter-spacing:0.04em;
}
.top_contact_box_2 span{
display:inline-block;
box-sizing:border-box;
font-size:22px;
margin-top:0.1em;
}
}

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

.top_contact_box{
border:1px solid #fff;
boz-sizing:border-box;
padding:1em 1em 1em 85px;
color:#ffffff !important;
}

.top_contact_box p{
line-height:1.2em;
}

.top_contact_box_1{
background:url(../images/top_contact_p1.png) no-repeat 15px center;
background-size:40px 40px;
}
.top_contact_box_1 .eng_bold{
	font-size:30px;
	line-height: 1.2;	
	letter-spacing:0.04em;
}


.top_contact_box_2{
background:url(../images/top_contact_p2.png), url(../images/top_contact_p3.png);
background-size:40px 40px, auto auto;
background-repeat:no-repeat, no-repeat;
background-position:15px center, 94% center;
}

.top_contact_wrap .inner a p{
font-size:22px;
}

.top_contact_box_2 span{
display:inline-block;
box-sizing:border-box;
font-size:22px;
margin-top:0.5em;
}

}

.top_contact_wrap .inner a:hover{
text-decoration:none !important;
}

.top_contact_wrap .inner a:hover::after{
transform: scale(1, 1);
}

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

.top_contact_box_2 span{
display:inline-block;
box-sizing:border-box;
font-size:22px;
margin-top:0em;
}
}


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

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







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

@media (max-width: 767px) {

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


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


.content .headline01_top{
font-size:3.8em;
}

.content .headline01_top span{
font-size:0.3em;
}

.content .headline01_top2{
font-size:4.2em;
}

.content .headline01_top2 span{
font-size:0.3em;
}


.gold_uline{
background:linear-gradient(180deg, transparent 0%, transparent 70%, rgba(209,192,165,0.8) 70%, rgba(209,192,165,0.8) 100%); 
padding:0 0.3em;
line-height:1.8em;
}



.con_h2_wrapper{
width:100%;
height:350px;
margin-bottom:0em;
position:relative;
}


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

@media (max-width: 546px) {
.con_h2_wrapper{
width:100%;
height:200px;
margin-bottom:0.5em;
}
}


.con_h2_wrapper h2{
box-sizing:border-box;
position:absolute;
z-index:1;
width:100%;
height:100%;
text-align:center;
display:block !important;
font-size:2.2em;
letter-spacing:0.1em;
line-height:1.3em;
font-weight:700;
padding:200px 0 0 50px;
margin:0 auto;
color:#ffffff;
text-align:left;
text-shadow: rgba(0,0,0,0.8) 2px 2px 6px;
background: linear-gradient(135deg,rgba(0, 0, 0, 0.9) 0%, rgba(100, 100, 100, 0.8) 47%, rgba(100, 100, 100, 0.8) 53%, rgba(0, 0, 0, 0.9) 100%); 
background-size:100% auto;
}

.con_h2_wrapper span{
z-index:3;
position:absolute;
right:0;
bottom:-20px;
display:block;
width:auto;
height:150px;
	font-size:150px;	
	letter-spacing:0em;
	line-height:0.9em;
	box-sizing:border-box;
 font-family: "Montserrat", serif;
   font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal; 
  /*background:linear-gradient(to right, #000 0%, #fff 100%);
background:-webkit-linear-gradient(to right, #22a0e4 0%, #276eb6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; */
  color:#fff;
  opacity:0.15 !important;
}

@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:160px 0 50px 0 ;
margin:0 0 0 0;
height:auto;
text-align:center;
text-shadow: rgba(0,0,0,0.8) 2px 2px 6px;
}

.con_h2_wrapper span{
	letter-spacing:0.01em;
	box-sizing:border-box;
display:block;
height:120px;
	font-size:120px;	
}


}


@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.1em;
padding:140px 0 50px 0 ;
margin:0 0 0 0em;
box-sizing:border-box;
}

.con_h2_wrapper span{
	letter-spacing:0.01em;
	box-sizing:border-box;
display:block;
height:80px;
	font-size:80px;	
}

}

.service{
background:url(../images/service_bg.jpg) no-repeat center bottom;
background-size:100% auto;
}

.recruit{
background:url(../images/recruit_bg.jpg) no-repeat center bottom;
background-size:100% auto;
}

.company{
background:url(../images/company_bg.jpg) no-repeat center bottom;
background-size:100% auto;
}

.contact{
background:url(../images/contact_bg.jpg) no-repeat center bottom;
background-size:100% auto;
}


@media (max-width: 991px) {
.service{
background:url(../images/service_bg.jpg) no-repeat center bottom;
background-size:auto 100%;
}

.recruit{
background:url(../images/recruit_bg.jpg) no-repeat center bottom;
background-size:auto 100%;
}

.company{
background:url(../images/company_bg.jpg) no-repeat center bottom;
background-size:auto 100%;
}

.contact{
background:url(../images/contact_bg.jpg) no-repeat center bottom;
background-size:auto 100%;
}

}


/*-----------------------------------------------------------------------------
home_info
-----------------------------------------------------------------------------*/
.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;
}





/*-----------------------------------------------------------------------------
service
-----------------------------------------------------------------------------*/
.ser_bg{
background: linear-gradient(135deg,rgba(255, 255, 255, 1) 80%, rgba(0, 0, 0, 1) 100%); 
width:100%;
height:40px; 
padding:0;
margin:2em 0 0 0;
clip-path:polygon(100% 0%, 80% 100%, 100% 100%);
}

.ser_bg2{
background: linear-gradient(135deg,rgba(255, 255, 255, 1) 0%, rgba(0, 0, 0, 1) 50%); 
width:100%;
height:40px; 
padding:0;
margin:0 0 2em 0;
clip-path:polygon(0% 0%, 0% 100%, 20% 0%);
}


.ser_bg3{
background: linear-gradient(135deg,rgba(255, 255, 255, 1) 0%, rgba(244, 231, 193, 1) 30%); 
width:100%;
height:40px; 
padding:0;
margin:2em 0 0 0;
clip-path:polygon(0 0%, 0% 100%, 30% 100%);
}

.ser_bg4{
background: linear-gradient(135deg,rgba(255, 255, 255, 1) 0%, rgba(244, 231, 193, 1) 50%); 
width:100%;
height:40px; 
padding:0;
margin:0 0 2em 0;
clip-path:polygon(80% 0%, 100% 100%, 100% 0%);
}


.ser_box{
background:#fff;
box-sizing:border-box;
}

.ser_box_photo{
width:100%;
margin:0 0 1em 0;
box-sizing:border-box;
text-align:center;
}


.recruit_flow{
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), url(../images/recruit_flow_num_bg3.png) ;
background-repeat:repeat-y, repeat-x, no-repeat ;
background-position:calc( 50% - 10px ) 0px, left 40px, calc( 50% - 10px ) bottom;
padding:0em 0 0 0;
margin:0;
width:100px;
box-sizing:border-box;
}

.flow_num2{
background:url(../images/recruit_flow_num_bg2.png) ;
background-repeat:repeat-x;
background-position:left 40px;
padding:0;
margin:0;
width:100px;
box-sizing:border-box;
}

.number_circle2{
background:linear-gradient(135deg,rgba(100, 100, 100, 1) 0%, rgba(220, 220, 220, 1) 47%, rgba(220, 220, 220, 1) 53%, rgba(100, 100, 100, 1) 100%);
width:80px;
height:80px;
display:inline-block;
border-radius:9999px;
font-size:22px;
line-height:80px;
letter-spacing:0.03em;
text-align:center;
margin:0 2em 0 0;
color:#ffffff;
text-shadow:2px 2px 0px rgba(0,0,0,0.5);
font-family: "Montserrat", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; 
}


.flow_txt{
margin:1em 1em 0 0;
padding:0 0 0em 1em;
width:calc( 100% - 120px );
box-sizing:border-box;
border:1px solid #d1c0a5;
box-shadow:5px 5px #d1c0a5;
}

.flow_txt_inner{
display:flex;
justify-content:space-between;
}


.flow_txt_photo{
width:300px;
height:auto;
text-align:center;
margin:1em;
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)  url(../images/recruit_flow_num_bg3.png) ;
background-repeat:repeat-y, repeat-x, no-repeat;
background-position:calc( 50% - 3px ) top, left 35px, calc( 50% - 3px ) bottom;
padding:0;
margin:0;
width:80px;
box-sizing:border-box;
}

.flow_num2{
background:url(../images/recruit_flow_num_bg2.png) ;
background-repeat:repeat-x;
background-position: left 35px;
padding:0;
margin:0;
width:80px;

box-sizing:border-box;
}

.number_circle2{
background:linear-gradient(135deg,rgba(100, 100, 100, 1) 0%, rgba(220, 220, 220, 1) 47%, rgba(220, 220, 220, 1) 53%, rgba(100, 100, 100, 1) 100%);
width:70px;
height:70px;
display:inline-block;
border-radius:9999px;
font-size:18px;
line-height:70px;
letter-spacing:0.03em;
text-align:center;
margin:0 2em 0 0;
color:#ffffff;
font-family: "Montserrat", 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_inner{
display:block;
}

.flow_txt_photo{
width:80%;
height:auto;
margin:1em auto;
text-align:center;
box-sizing:border-box;
}


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

}

/*-----------------------------------------------------------------------------
works
-----------------------------------------------------------------------------*/

.list_content{
display:flex;
justify-content:center;
flex-wrap:wrap;
}

.list_content li{
padding:0.5em 2em;
margin-bottom:0.3em;
/*width:250px;*/
background: linear-gradient(90deg, rgba(216, 185, 136, 1) 0%, rgba(248, 240, 212, 1) 23%, rgba(248, 240, 212, 1) 27%, rgba(216, 185, 136, 1) 50%, rgba(90, 90, 90, 1) 50%, rgba(110, 110, 110, 1) 73%, rgba(110, 110, 110, 1) 76%, rgba(90, 90, 90, 1) 100% );
background-size:200% 100%;
background-position:100% 100%;
box-sizing:border-box;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}


@media(max-width: 767px){
.list_content li{
width:100%;
}
}



.list_content li:hover{
background-position:0% 200%;
}



.list_content li+li{
border-left:1px solid #ccc;
}

.list_content a{
text-align:center;
display:block;
color:#fff;
font-size:1em;
padding-right:2em;
position:relative;
line-height:1.2;
}

.list_content li:hover a{
color:#000000;
}

.list_content a::after {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "\f150";
  font-family:"Font Awesome 5 Free";
font-weight:900;
font-size:1em;
position:absolute;
top:calc( 50% - 10px );
right:20px;
  border-top: 0 solid;
  border-right: 0 solid transparent;
  border-bottom: 0;
  border-left: 0 solid transparent;
}

/*-----------------------------------------------------------------------------
recruit
-----------------------------------------------------------------------------*/
.recruit_wrap{
background: linear-gradient(135deg,rgba(244, 231, 193, 1) 0%, rgba(248, 240, 212, 1) 47%, rgba(248, 240, 212, 1) 53%, rgba(232, 220, 198, 1) 100%);
}

.recruit_bg1{
background:url(../images/recruit_bg1.jpg) no-repeat right 100px;
width:100%;
background-size:50% auto;
min-height:600px;
}

.recruit_bg1 .bg_white{
width:80%;
padding:2em;
}

@media (max-width: 992px) {

.recruit_bg1 .bg_white{
width:85%;
padding:2em;
}

}

@media (max-width: 767px) {
.recruit_bg1 .bg_white{
width:80%;
padding:2em;
}

.recruit_bg1{
background:url(../images/recruit_bg1.jpg) no-repeat right bottom;
width:100%;
background-size:50% auto;
min-height:500px;
}

}

@media (max-width: 767px) {

.recruit_bg1 .bg_white{
width:100%;
padding:2em;
}

.recruit_bg1{
background:none;
width:100%;
background-size:50% auto;
min-height:auto;
}

}

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


.recruit_table > thead > tr > th,
.recruit_table > tbody > tr > th,
.recruit_table > tfoot > tr > th,
.recruit_table > thead > tr > td,
.recruit_table > tbody > tr > td,
.recruit_table > tfoot > tr > td {
line-height: 1.62857143;
font-weight:normal;
border-top:0;
}

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

.recruit_table > thead > tr > td,
.recruit_table > tbody > tr > td,
.recruit_table > tfoot > tr > td {
padding:1em 0.5em 1em 1em;
margin-bottom:0.5em;
border-bottom:1px solid #dedede;
vertical-align:middle;
}




@media (max-width: 767px) {

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

.recruit_table > thead > tr > th,
.recruit_table > tbody > tr > th,
.recruit_table > tfoot > tr > th{
border-bottom:0px;
background: linear-gradient(135deg,rgba(244, 231, 193, 1) 0%, rgba(248, 240, 212, 1) 47%, rgba(248, 240, 212, 1) 53%, rgba(232, 220, 198, 1) 100%);
text-align:left;
}

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


.flow {
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
justify-content:center;
}

.flow li{
box-shadow:5px 5px #d1c0a5;
padding:0 1em 2em 0;
margin:0 40px 0 0;
background:#fff;
}

.flow li.next{
position:relative;
}

.flow li.next:before{
content:'';
position:absolute;
top:50%;
left:100%;
margin-top:-15px;
border:35px solid transparent;
border-left:35px solid #d1c0a5;
}

.flow li .icon{
display:block;
position:relative;
background: linear-gradient(135deg,rgba(244, 231, 193, 1) 0%, rgba(248, 240, 212, 1) 47%, rgba(248, 240, 212, 1) 53%, rgba(232, 220, 198, 1) 100%);
width:100%;
font-size:1.8em;
padding:0.5em;
}

.flow li .icon::before{
position:absolute;
content:'';
top:100%;
left:0;
border:none;
border-bottom:solid 15px transparent;
border-right:solid 20px #f0d780;
}

.flow li p{
padding:0.6em;
font-size:1.5em;
text-align:center;
}

@media (max-width: 992px) {

.flow {
  display: block;
}

.flow li{
box-shadow:5px 5px #d1c0a5;
padding:0 1em 2em 0;
margin:0 0 40px 0;
background:#fff;
}

.flow li.next{
position:relative;
}

.flow li.next:before{
content:'';
position:absolute;
top:110%;
left:0%;
margin-left:25px;
border:35px solid transparent;
border-top:35px solid #d1c0a5;
}

}



/*-----------------------------------------------------------------------------
company
-----------------------------------------------------------------------------*/
.company_wrap1{
background:white;
box-shadow:1px 3px 3px 3px rgba(0,0,0,0.2);
width:100%;
}

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

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


.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(135deg,rgba(244, 231, 193, 1) 0%, rgba(248, 240, 212, 1) 47%, rgba(248, 240, 212, 1) 53%, rgba(232, 220, 198, 1) 100%);
border-bottom:1px solid #ddd;
vertical-align:middle;
box-sizing:border-box;
padding:1em 0.5em 1em 1em;
white-space:nowrap;
vertical-align:middle;
color:#666;
}

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




@media (max-width: 767x) {

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

.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 {
border-top:0;
}
}


.comp_list li{
padding:0 0 0.3em 1.1em;
display:block;
text-decoration:none !important;
color:#000 !important;
position:relative;
}


.comp_list li:before{
content: '■';
color:#ccc;
  position: absolute;
  top:0px;
  left:0;
  display: inline-block;

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


}





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





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

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

/*-----------------------------------------------------------------------------
works
-----------------------------------------------------------------------------*/
.work_list_wrap{
background: linear-gradient(135deg, #044587 0%, #044587 80%, #cccccc 80%, #cccccc 100%);
padding:0.3em 0;
}

.info_list{
display:flex;
  flex-wrap: wrap;
width:100%;
}

.info_list li{
padding:0em 1em;
margin:0.5em;
border-radius:3px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all  0.5s ease;
    background:#55b9f0;
    border:1px solid #55b9f0;
}

.info_list li:hover{
 background:#276eb6;
 border:1px solid #ccc;
}


.info_list li a{
color:#fff !important;
}
.info_list li a:hover{
text-decoration:none;
}

.work_box{
width:100%;
padding:0;
box-shadow:0 2px 3px rgba(0,0,0,0.3);
}

.work_box a{

}

.work_box a .work_box_photo img{
transiton:all 0.3s;
transition-duration:0.3s;
}

.work_box a:hover{
text-decoration:none;
}

.work_box a:hover .work_box_photo img{
transform: scale(1.2) ;
}

.work_box .work_box_inner{
width:100%;
height:100%;
}

.work_box .work_box_photo{
width:100%;
margin:0 0 1em 0;
box-sizing:border-box;
text-align:center;
}

.work_box .work_box_photo{
width:100%;
height:280px;
overflow:hidden;
position:relative;
border:1px solid #dddddd;
}

.work_box .work_box_photo img{
position:absolute;
width:auto;
height:auto;
max-width:100%;
max-height:100%;
margin:auto;
top:0;
bottom:0;
left:0;
right:0;
}

.work_box p{
padding:0.5em;
}


/*__ pageng __*/

div.paging span.current,
div.paging span.paging-text{margin:0px 2px;color:#333;border:1px solid #ccc;display:inline;zoom:1;display:inline-block;overflow:hidden;text-decoration:none;

}

div.paging span.paging-text a{padding:3px 8px; display:block;
transition: .3s;
}

div.paging span.current{background: #000000;border:1px solid #dedede;color:#fff;display:inline;zoom:1;padding:3px 8px;text-decoration:none;display:inline-block; cursor:pointer;
}

div.paging span.paging-text a:hover{background: #000000;color: #fff;text-decoration:none;cursor:pointer;

}



/*__ 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; }


.swiper-container {
  width: 100%;
  /* height:500px; */
}

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

.swip_slide_inner {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    padding: 2em;
}

.swip_slide_inner .swip-img img{
  width: auto;
  height: auto;
}

.swip_caption {
  font-size: 120%;
}
@media (max-width: 546px){
  .swip_caption {
    font-size: 110%;
  }
}


.thumb-list {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
   justify-content:flex-start;
 }
 
 .thumb-item {
  list-style: none;
  width: 22%;
  height:80px;
  border:1px solid #ccc;
  margin:0.5em;
}
 
.thumb-link {
  display: block;
  width: 100%;
  height: 100%;
position:relative;
}

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


@media (max-width: 991px){
.thumb-list {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content:flex-start;
 }
 
 .thumb-item {
  list-style: none;
  width: 30%;
  height:80px;
  border:1px solid #ccc;
  margin:0.5em 0.5%;
}
 
.thumb-link {
  display: block;
  width: 100%;
  height: 100%;
position:relative;
}

.thumb-link 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){
.swiper-container {
  width: 100%;
  height:300px;
}

.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;
}

}*/

.work_text{
line-height:1.3em;
}


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

.contact_box{
padding:1.5em;
margin:3em auto 0.8em auto;
text-align:center;
line-height:1;
letter-spacing:0.02em;
background:linear-gradient(90deg, rgba(216, 185, 136, 1) 0%, rgba(248, 240, 212, 1) 47%, rgba(248, 240, 212, 1) 53%, rgba(216, 185, 136, 1) 100%);
box-shadow:0px 6px 6px -5px rgba(0,0,0,0.1);
}

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

}

.contact_box span.tel{
}

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

@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{
background:rgba(255,255,255,0.4);
padding:1em;
box-shadow:0px 6px 6px -5px rgba(0,0,0,0.1);
box-sizing:border-box;
}

.contact_wrap .table{
margin-bottom:0;
}

.contact_wrap table th{
width:25%;
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:0 1.5em !important;
text-align:left !important;
}

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

.contact_wrap button{
border:0;
background: linear-gradient(90deg, rgba(216, 185, 136, 1) 0%, rgba(248, 240, 212, 1) 23%, rgba(248, 240, 212, 1) 27%, rgba(216, 185, 136, 1) 50%, rgba(204, 204, 204, 1) 50%, rgba(248, 248, 246, 1) 73%, rgba(248, 248, 246, 1) 76%, rgba(204, 204, 204, 1) 100% );
background-size:200% 100%;
background-position:0% 100%;
color:#000;
font-size:0.9em;
margin-top:-7px;
padding:0.5em 1em;
cursor:pointer;
box-shadow:0px 6px 6px -5px rgba(0,0,0,0.1);
transition:all 0.4s;
}

.contact_wrap button:hover{
background-position:100% 100%;
}

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:0px;
padding:0.2em !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
-----------------------------------------------------------------------------*/

.white_uline{
background:linear-gradient(180deg, transparent 0%, transparent 70%, rgba(255,255,255,0.8) 70%, rgba(255,255,255,0.8) 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:4em 0;
	background: linear-gradient(135deg,rgba(236, 237, 234, 1) 0%, rgba(248, 248, 246, 1) 47%, rgba(248, 248, 246, 1) 53%, rgba(220, 219, 216, 1) 100%);
	color:#000;
}



#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 0 0;
/*position:relative;
width:auto;*/
height:100%;
display:block;
}

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

.footer_menu li a{
font-size:0.9em;
padding: 0em 0.7em;
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;
	padding-left:1em;
	padding-bottom:0.2em;
}


.footer_menu li a:hover{
color:#d1c0a5 !important;
}

.footer_menu li.active a{
color:#d1c0a5 !important;
}

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



@media (max-width: 991px) {


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

.footer_menu li a{
padding:0.5em 0.5em 0.5em 1em;
border-bottom:0px solid #044587;
margin:0;
}


.footer_menu li a:hover, .footer_menu li.active{
border-bottom:0px solid #ccc;
background:rgba(255,255,255,0.5);
}


.footer_menu li + li{
 border-left:0px solid #fff;
 }

.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{
width:50px;
height:50px;
    transition: all 0.3s;
}

#pagetop img:hover {
opacity:0.8;
}



@media (max-width: 767px) {

#pagetop {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 0;
    cursor: pointer;
}


#pagetop img:hover {
opacity:0.8;
}

}



