@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Averia+Serif+Libre:400,700|Noto+Sans+JP:300,400,500,700&subset=japanese');
/* @import url('https://fonts.googleapis.com/css?family=Roboto:700&display=swap'); */
@import url('https://fonts.googleapis.com/css?family=Montserrat:500&display=swap');


html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{
background:transparent;border:0;margin:0;padding:0;}img{vertical-align: bottom;}body{line-height:1;}h1,h2,h3,h4,h5,h6,th{font-weight:normal;}
ol,ul{list-style:none;}blockquote{quotes:none;}blockquote:before,blockquote:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}a img{border:none;}
.clear:after{content:".";display:block;clear:both;height:0;visibility:hidden;}.clear{min-height:1px;}
* html .clear{height:1px;/*\*//*/height: auto;overflow: hidden;/**/
}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
address{font-style:normal;}
hr{margin:0;}
main,picture{display: block;}/*IE11*/


html{
	font-size: 62.5%;
	position:relative;
	height:auto !important;
	height:100%;
	min-height:100%;
	/* -webkit-font-smoothing: antialiased; */
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 0.2em;

	-webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
	
	background-color: #FAFAFA;
}
html,body{
	height:100%;
	min-width: 900px;
}
body .site-main,.site-main input,.site-main textarea{
	color:#666;
	font-size: 1.6rem;
	/* font-family: 'Noto Sans JP', "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif; */
	font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo, sans-serif;
	font-weight: 400;
}


a{text-decoration:none;}
a:link,a:visited{color:inherit;}

main .section:not(.top-service) span:not(.btn-sq) a:link,
main .section:not(.top-service) span:not(.btn-sq) a:visited{
	color:#4099ea;
	text-decoration: underline;
}

main .recruit a,
main .recruit a:visited{
	color:#4099ea;
	text-decoration: underline;
}


.mincho{font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
/* .wf_a{font-family: 'Roboto', sans-serif;font-weight: 700;} */
.wf_a{font-family: 'Montserrat', sans-serif;font-weight: 500;}
.wf_b{font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";}

svg{fill:#F00;}.svg{display: none;fill-rule:evenodd;clip-rule:evenodd;}
.colord{color: #4099ea;}
.lead{
	line-height: 1.9;
	font-size: 1.4rem;
}





.wid100{
	width: 100%;
	/* min-width: 1380px; */
}
.wid1200{
	max-width: 1290px;
	margin: 0 auto;
	padding-left: 45px;
	padding-right: 45px;
}
.wid870{
	max-width: 960px;
	margin: 0 auto;
	padding-left: 45px;
	padding-right: 45px;
}




.site-main{
	position: relative;

	z-index: 0;/*z-index: 1;*/

	padding-left: 44px;
	padding-right: 44px;
}

.section+.section{margin-top: 45px;}
.ptn{background: url(../img/ptn1.gif) repeat 0 0;}
.fill{background-color: #444140;}

.type50>.box{width: 50%;}
.type50 .box_l{order: 1;}
.type50 .box_r{order: 2;}

.type50 .txt{padding: 65px;}
.type50 .imgbox{min-height: 586px;}

.type37 .box_l{order: 1;width: 37.5%;}
.type37 .box_r{order: 2;width: 62.5%;}
.type37 .box_l.txt{padding-left: calc(50% - 600px);}
.type37 .box_r.txt{padding-right: calc(50% - 600px);}
.type37 .txt{padding: 65px;}
.type37 .imgbox{min-height: 586px;}


.box-elem1{margin: -15px;}
.box-elem1 .box{
	background-color: #FFF;
	padding: 25px 35px;
	width: calc(50% - 30px);
	margin: 15px;
}
@media screen and (max-width:768px){
	.box-elem1{margin: 0;}
	.box-elem1 .box{
		width: 100%;
		margin: 0;
	}
	.box-elem1 .box+.box{margin-top: 20px;}
}



dl.dltb dt{
	clear: left;
	float: left;
	margin-top: 1em;
}
dl.dltb dd{
	float: left;
	margin-top: 1em;
}
dl.dltb:after,
dl.dltb dd:after{
	content: "";
	display: table;
	clear: both;
}


dl.dltb dt:first-of-type,
dl.dltb dd:first-of-type{margin-top: 0;}



.section .txt .lead+.lead{margin-top: 1em;}

@media screen and (max-width:768px){
	html,body{min-width: 100%;}
	body{
		font-size: 1.4rem;
		min-width: 100%;
	}
	.lead{font-size: 1.2rem;}
	.wid100{min-width: 100%;}
	.wid1200,
	.wid870{
		padding-left: 20px;
		padding-right: 20px;
	}
	.site-main{
		padding-left: 20px;
		padding-right: 20px;
	}
	.section+.section{margin-top: 20px;}
	/* .section.type50>.box{width: 100%;}
	.section.type50 .box_l.txt,
	.section.type50 .box_r.txt{padding: 30px 20px;}
	.section.type50 .txt{padding: 30px;}
	.section.type50 .imgbox{
		min-height: 50vw;
		height: 50vw;
	} */
	.type50>.box{width: 100%;}
	.type50 .box_l.txt,
	.type50 .box_r.txt{padding: 30px 20px;}
	.type50 .txt{padding: 30px;}
	.type50 .imgbox{
		min-height: 50vw;
		height: 50vw;
	}

	.type37 .box_l,
	.type37 .box_r{width:100%;}
	.type37 .box_l.txt,
	.type37 .box_r.txt{padding: 30px 20px;}
	.type37 .txt{padding: 30px;}
	.type37 .imgbox{
		min-height: 50vw;
		height: 50vw;
	}
}



/*--------------- parts ---------------*/
.h2_title{
	font-size: 1.2rem;
	margin-bottom: 25px;
	color: #8b8a8a;
}
.h2_title>span{
	font-size: 3.4rem;
	display: block;
	color: #444140;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-top: 0.4em;
	line-height: 1.2;
}
.h2_title:after{
	content: "";
	display: inline-block;
	width: 80px;
	height: 4px;
	border-radius: 2px;
	background-color: #4099ea;
	margin-top: 20px;
}
.h2_title.center{
	text-align: center;
	margin-bottom: 47px;
}

.fill .h2_title{color: #b7b7b7;}
.fill .h2_title>span{color: #FFF;}


.h3_title{
	font-size: 2rem;
	color: #8a8a8a;
	line-height: 1.6;
}
.h3_title>span{
	display: block;
	font-size: 1rem;
	color: #4099ea;
	margin-top: 10px;
}
.h4_title{font-size: 1.8rem;}
.h4_title>span{
	font-size: 2rem;
	color: #4099ea;
	font-weight: bold;
	padding-right: 0.3em;
}

.btn-sq{
	position: relative;
	display: inline-block;
	background-color: #4099ea;
	color: #FFF;
	width: 250px;
	height: 50px;
	font-size: 1.8rem;
	/* font-weight: bold; */
	border-radius: 25px;
}

.btn-sq.back{
	width: 100px;
	margin-right: 20px;
	background-color: #666;
}

.btn-sq input,
.btn-sq a{
	position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
	color: #FFF;
	font-size: inherit;
    width: 100%;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background: none;
    border: none;
}

.btn-sq a{line-height: 50px;}
@media screen and (max-width:768px){
	.h2_title>span{font-size: 2rem;}
	.h2_title:after{
		height: 2px;
		border-radius: 1px;
		margin-top: 10px;
	}
	.h2_title.center{margin-bottom: 20px;}
	
	.btn-sq.back{
		width: 30%;
		margin-right: 10px;
	}
	.btn-sq{
		width: calc(70% - 20px);
		height: 40px;
		font-size: 1.6rem;
		border-radius: 20px;
	}
	.btn-sq a{line-height: 40px;}
	
}


/*--------------- hover ---------------*/
.btn-sq{
	opacity: 1;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.btn-sq:hover{
	opacity: 0.6;
	-webkit-transition: opacity 0s;
	transition: opacity 0s;
}
/*- - - - - - - - hover - - - - - - - -*/


/* 
.btn-sq{
	background-color: #333;
	color: #FFF;
	width: 252px;
	height: 50px;
	font-size: 1.6rem;
	font-weight: bold;
	border-radius: 10px;
}
.btn-sq a{
	display: block;
height: 100%;
	line-height: 48px;
	text-align: center;

}
.btn-sq .ico-btn{
	position: relative;
	top: 2px;
	stroke: #FFF;
	width: 9px;
	height: 15px;
	margin-right: 8px;
}


#btn-top{
	position: fixed;
}
#btn-top a{
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	margin-left: auto;
	background-color: #58D664;
	text-align: center;
}
#btn-top .ico-btn{
	stroke: #FFF;
	width: 12px;
	height: 19px;
	transform: rotate(-90deg);
  transform-origin: 50% 50%;
	margin-top: calc(50% - 12px);
}




@media screen and (max-width:768px){

	
	.btn-sq{
		width: 180px;
		height: 40px;
		font-size: 1.4rem;
		border-radius: 5px;
	}
	.btn-sq a{line-height: 39px;}
	.btn-sq .ico-btn{
		top: 1px;
		width: 7px;
		height: 13px;
		margin-right: 6px;
	}
	
	#btn-top{padding-right: 20px;}
	#btn-top a{
		width: 35px;
		height: 35px;
	}
	#btn-top .ico-btn{
		width: 8px;
		height: 13px;
		margin-top: calc(50% - 7.5px);
	}
	
	
} */

 
/*- - - - - - - - parts - - - - - - - -*/

/* 

ul.notes{
	display: inline-block;
	line-height: 1.4;
	font-size: 1.2rem;
  }
  
ul.notes>li{
	position: relative;
	padding-left: 1.1em;
  }
ul.notes>li:before{
	content: "※";
	position: absolute;
	 position: relative; 
	left: 0;
}
@media screen and (max-width:768px){
	ul.notes{
		font-size: 1rem;
		text-align: left;
		margin-top: 1em;
	}
	ul.notes>li:before{
	content: "※";
	position: absolute;
	left: 0;
}
}





ul.notes{
	display: inline-block;
	line-height: 1.4;
	font-size: 1.2rem;
  }
  
ul.notes>li{
	position: relative;
	padding-left: 1.1em;
  }
ul.notes>li:before{
	content: "※";
	position: absolute;
	left: 0;
}
@media screen and (max-width:768px){
	ul.notes{font-size: 1rem;}
}
 */

ul.mklist{
	line-height: 1.6;
	font-size: 1.4rem;
  }
  
ul.mklist>li{
	position: relative;
	padding-left: 1.1em;
  }
ul.mklist>li:before{
	content: "※";
	position: absolute;
	left: 0;
}
ul.mklist.dot>li:before{content: "・";}
ul.mklist.sq>li:before{content: "□";}
@media screen and (max-width:768px){
	ul.mklist{font-size: 1.2rem;}
}








/*--------------- pagenation ---------------*/





/*- - - - - - - - pagenation - - - - - - - -*/







/*--------------- 000000 ---------------*/
/*- - - - - - - - 000000 - - - - - - - -*/



/*--------------- property ---------------*/


/*- - - - - - - - property - - - - - - - -*/





/* .pankuzu li{
	display: inline-block;
	font-size: 1.2rem;
}
.pankuzu li+li:before{
	content: "/";
	position: relative;
	top: -0.12em;
	padding-right: 0.2em;
}
 */





















/*--------------- elem ---------------*/








/*- - - - - - - - elem - - - - - - - -*/












/*--------------- slick ---------------*/



.slick-prev, .slick-next{
	display: block;
	width: 50px;
	height: 50px;
}
.slick-prev{left: 0;}
.slick-next{right: 0;}
.slick-prev:hover, .slick-next:hover{
	opacity: 0.6;
	background: inherit;
}
.slick-prev:before, .slick-next:before{
	content: "";
	display: block;
	background-color: #24b267;
	opacity: 1;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAxMzcuOCAyMzkuNiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTM3LjggMjM5LjY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDpub25lO3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDozNjtzdHJva2UtbGluZWNhcDpyb3VuZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQo8L3N0eWxlPgo8bGluZSBjbGFzcz0ic3QwIiB4MT0iMTE5LjgiIHkxPSIxMTkuOCIgeDI9IjE4IiB5Mj0iMjIxLjYiLz4KPGxpbmUgY2xhc3M9InN0MCIgeDE9IjE4IiB5MT0iMTgiIHgyPSI2Ni43IiB5Mj0iNjYuNyIvPgo8L3N2Zz4=');
	background-size: 30px 20px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.slick-prev:before{
	transform: rotate(180deg);
	transform-origin: 50% 50%;
}



.slicks .slick-dots {
	position: relative;
	bottom: auto;
	margin-top: 10px;
}
.slicks .slick-dots li.slick-active button:before{
	transition: background 0.6s;
	background-color: #24b267;
   border: 3px solid #24b267;
}
.slicks .slick-dots li.slick-active:hover button:before{
	background-color: #24b267;
	transition: background 0s;
}
.slick-dots li.slick-active button:before {
    opacity: 1;
		background-color: #24b267;
    border: 3px solid #24b267;
}
.slicks .slick-dots li button:before{
	transition: background 0.6s;
	background-color: #FFF;
  border: 3px solid #24b267;
}
.slicks .slick-dots li:hover button:before {
	background-color: #FFF;
  border: 3px solid #24b267;
	transition: background 0s;
}









.fl{float: left;}
.fr{float: right;}
.flpc{float: left;}
.frpc{float: right;}
.flsp,.frsp{float: none;}
.tbpc,.tb{display: table;}
.tbpc>.cell,.tb>.cell{display: table-cell;}



.fx,
.fxpc{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.hc{
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.vc{
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.r-vc{
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.f-just{
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
.f-center{
-webkit-box-pack:center;
-moz-box-pack:center;
-ms-flex-pack:center;
-webkit-justify-content:center;
justify-content:center;
}
/*
.f-row>*{
  width: calc(50% - 0.5%);
  font-weight: 700;
}
*/

.sp{display: none;}
@media screen and (max-width:768px){
	.pc{ display: none;}
	.sp{ display: block;}
	.pc+a.sp{ display: inline;}

	.tbpc,.tb{display: block;}
	.tbpc>.cell,.tb>.cell{display: block;}
	
	.fxpc{display: block;}
	.fxsp{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	}
	.hc{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	}
	.vc{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	}
	.f-just{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	}

	.f-center{
	-webkit-box-pack:center;
	-moz-box-pack:center;
	-ms-flex-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	}
	/*
	.f-row>*{
		width: calc(50% - 0.5%);
		font-weight: 700;
	}
	*/	
}

