@charset "UTF-8";
/* CSS Document */



/*----------------------------------------
Reset
----------------------------------------*/

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, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 14px;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	color: #707070;
	font-family: YuGothic,'Yu Gothic',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
	font-family: 'Jost';
	font-weight: light;
	letter-spacing: 1px;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.clear{
	clear: both;
	height: 0px;
}
img{
	max-width: 100%;
}

a {
	color: #707070;
	text-decoration: none;
}









/*---------------------------------------- Top page ----------------------------------------*/
#top_header{
	width: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	clear: both;
}





#top_header .inner1200{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 0 10px 0;
	overflow: hidden;
}

#top_header .inner1200 .top_head_left_cnt{
	width: 200px;
	max-width: 30%;
	margin: 0 auto;
	padding: 0 0 0 10px;
	text-align: left;
	float: left;
}
#top_header .inner1200 .top_head_right_cnt{
	width: 70%;
	margin: 0;
	padding: 0;
	text-align: center;
	float: right;
	text-align: right;
	display: inline-block;
}

#top_header .inner1200 .top_head_right_cnt ul.head_pc_menu{
	list-style: none;
	margin: 10px auto 0 auto;
}
#top_header .inner1200 .top_head_right_cnt ul.head_pc_menu li{
	display: inline-block;
	margin: 0;
	padding: 0 20px;
	font-size: 14px;
	border-right: 1px solid #9d9d9d;
	line-height: 14px;
}
#top_header .inner1200 .top_head_right_cnt ul.head_pc_menu li:last-child{
	border:none;
}
#top_header .inner1200 .top_head_right_cnt ul.head_pc_menu li a{
	text-decoration: none;
	color: #434649;
}
#top_header .inner1200 .top_head_right_cnt ul.head_pc_menu li a:hover{
	text-decoration: none;
	color: #999999;
}


#head_sp_bt{
	display: none;
}


@media (max-width: 767px) {
		
	
	#top_header .inner1200{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 0px 0 0 0;
		overflow: hidden;
		height: 50px;
	}
	
	#top_header .inner1200 .top_head_left_cnt{
		width: 170px;
		max-width: 85%;
		margin-top: 15px;
	}
	#top_header .inner1200 .top_head_right_cnt{
		width: 15%;
	}
	#top_header .inner1200 .top_head_right_cnt ul.head_pc_menu{
		display: none;
	}
	#head_sp_bt{
		display: block;
		height: 50px;
		
		margin: 0;
		padding: 0;
		height: 100%;
		width: 50px;
		cursor: pointer;
		float: right;
	}


}









#top_header .innerFull{
	width: 100%;
	margin: 0 auto;
}



#top_header .innerFull .top_head_cnt{
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	background: #FFF;
}


#top_header .innerFull .top_head_cnt .head_main_pt_cnt{
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 0px;
}
#top_header .innerFull .top_head_cnt .no-height{
	margin: 0;
	padding: 0;
	background: #fff;
}
#top_header .innerFull .top_head_cnt .head_main_pt_cnt{
	background: #f1f1f3;
	max-height: 467px;
}
#top_header .innerFull .top_head_cnt .head_main_pt_cnt img{
	max-width: 100%;
	max-height: 467px;
}










/*---------------------------------------- TOP SLIDER ----------------------------------------*/
#main-gallery{
  margin-bottom:0;
}
 
#main-gallery .gallery-cell {
  height: auto;
  margin-right: 0;
  background: #8C8;
  counter-increment: gallery-cell;
}
/*---------------------------------------- TOP SLIDER ----------------------------------------*/











/*---------------------------------------- @media ----------------------------------------*/








/*----------------------------------------
smart phone menu 
----------------------------------------*/

#head_sp_menu{
	display: none;
	width: 100%;
	background: #FFF;
	z-index: 200;
	position: absolute;
	top: 0;
	
	font-family: 'Jost';
	font-weight: light;
	letter-spacing: 1px;
}

#head_sp_menu .head_sp_menu_title{
	padding: 30px 0 20px 0;
	text-align: center;
	background: #00a43e;
}
#head_sp_menu .head_sp_menu_title img{
	width: 50%;
}



#head_sp_menu ul.head_sp_menu_fst{
	width: 100%;
	margin: 0 auto;
	list-style: none;
}
#head_sp_menu ul.head_sp_menu_fst li{
	width: 100%;
	border-top: 1px solid #00a43e;
	padding: 0;
	min-height: 40px;
	line-height: 40px;
}
#head_sp_menu ul.head_sp_menu_fst li .sp_menu_acc{
	text-decoration: none;
	color: #00a43e;
}
#head_sp_menu ul.head_sp_menu_fst li .sp_menu_acc:before{
	content: '　';
}

#head_sp_menu .nomal{
	background-image: url("../images/sp_menu_bg_close.png");
	background-position: right center;
	background-size: contain;
	background-repeat: no-repeat;
}
#head_sp_menu .activ{
	background-image: url("../images/sp_menu_bg_open.png");
	background-position: right center;
	background-size: contain;
	background-repeat: no-repeat;
}
#head_sp_menu .link{
	background-image: url("../images/sp_menu_bg_link.png");
	background-position: right center;
	background-size: contain;
	background-repeat: no-repeat;
}


#head_sp_menu ul.head_sp_menu_fst li{
	text-decoration: none;
	color: #fff;
	display:block;
}
#head_sp_menu ul.head_sp_menu_fst li a{
	text-decoration: none;
	color: #00a43e;
	display:block;
}
#head_sp_menu ul.head_sp_menu_fst li a:before{
	content: '　';
}
#head_sp_menu ul.head_sp_menu_fst li .sp_menu_close_bt{
	width: 100%;
	height: 100%;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #00a43e;
}
#head_sp_menu ul.head_sp_menu_fst li span:before{
	content: '　';
}



#head_sp_menu ul.head_sp_menu_snd{
	width: 100%;
	margin: 0 auto;
	list-style: none;
	display: block;
	border-top: 1px solid #00a43e;
}
#head_sp_menu ul.head_sp_menu_snd li{
	width: 100%;
	border-top: 1px solid #00a43e;
	padding: 0;
	background: #fff;
	min-height: 36px;
	line-height: 36px;
}
#head_sp_menu ul.head_sp_menu_snd li:first-child{
	border: none;
}
#head_sp_menu ul.head_sp_menu_snd li a{
	text-decoration: none;
	color: #00a43e;
}
#head_sp_menu ul.head_sp_menu_snd li a:before{
	font-family: 'FontAwesome', sans-serif;
	content: '　　　';
	color: #00a43e;
}




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

	#head_sp_menu{
		display: none;
		width: 50%;
		background: #aacf52;
		z-index: 200;
		position: absolute;
		top: 0;
		right: 0;
	}
}


























/*---------------------------------------- top_news ----------------------------------------*/
.top_news_cnt{
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	padding-top: 0;
	padding-bottom: 0;
	border-bottom: 1px solid #D3D3D3;
	overflow: hidden;
}

.top_news_cnt .top_news_line_cnt{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	display: table;
}

.top_news_cnt .top_news_line_cnt .title{
	width: 35%;
	font-size: 20px;
	letter-spacing: 1px;
	display: table-cell;
	vertical-align: middle;
	border: none;
	font-weight: 300;
	text-align: center;
}
.top_news_cnt .top_news_line_cnt .news_line{
	width: 65%;
	font-size: 14px;
	letter-spacing: 1px;
	display: table-cell;
	padding: 30px 0 30px 30px;
	vertical-align: middle;
	border-left: 1px solid #D3D3D3;
}

.top_news_cnt .top_news_line_cnt .news_line .top_news_line{
	font-size: 14px;
	line-height: 20px;
	margin: 5px 0;
	font-weight: 100;
}
.top_news_cnt .top_news_line_cnt .news_line .top_news_line a{
	color: #707070;
	text-decoration: none;
}
.top_news_cnt .top_news_line_cnt .news_line .top_news_line a:hover{
	text-decoration: underline;
}




/*----------------------------------------
@media
----------------------------------------*/
@media (max-width: 767px) {
	.top_news_cnt{
		width: 100%;
		margin: 0 auto;
		overflow: hidden;
		padding-top: 30px;
		padding-bottom: 15px;
		border-bottom: 1px solid #D3D3D3;
		overflow: hidden;
	}
	
	.top_news_cnt .top_news_line_cnt{
		width: 100%;
		margin: 0;
		padding: 0;
		overflow: hidden;
		display: table;
	}
	
	.top_news_cnt .top_news_line_cnt .title{
		width: 100%;
		font-size: 18px;
		letter-spacing: 1px;
		display: block;
		vertical-align: middle;
		border-bottom: 1px solid #D3D3D3;
		text-align: center;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	.top_news_cnt .top_news_line_cnt .news_line{
		width: 100%;
		font-size: 14px;
		letter-spacing: 1px;
		display: block;
		margin: 0 auto;
		padding: 0;
		border-left: none;
	}
	
	.top_news_cnt .top_news_line_cnt .news_line .top_news_line{
		font-size: 12px;
		line-height: 17px;
		margin: 5px 0;
	}
	
	.top_news_cnt .list_link{
		width: 100%;
		font-size: 14px;
		letter-spacing: 1px;
		text-align: right;
		margin-top: 5px;
	}

}








/*---------------------------------------- top_service ----------------------------------------*/

#top_service_title{
	margin: 55px auto 40px auto;
	font-size: 28px;
	text-align: center;
	letter-spacing: 0.6px;
	background: url(../images/top_service_title_bg.gif) no-repeat center bottom;
	padding-bottom: 10px;
}

.top_service_cnt{
	width: 100%;
	margin: 20px 0;
	padding: 0;
	display: table;
}
.top_service_cnt_tr{
	display: table-row;
}

.top_service_cnt .top_service_pnl_cnt{
	width: 33.333%;
	margin: 0;
	padding: 0;
	display: table-cell;
	position: relative;
	overflow: hidden;
}

.top_service_cnt .top_service_bt{
	width: 100%;
	height: 300px;
	text-align: center;
	margin:0;
	padding: 85px 0 0 0;
	box-sizing: border-box;
}

.top_service_cnt a{
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	z-index: 1000;
	
	background: #fff;
    filter: alpha(opacity=0);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=0)";  /* ie 8 */
    -moz-opacity:0;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0;              /* Safari 1.x */
    opacity:0;
    display: block;
}
.top_service_cnt a:hover{
	background: #fff;
    cursor:pointer;
    filter: alpha(opacity=30);        /* ie lt 8 */
    -ms-filter: "alpha(opacity=30)";  /* ie 8 */
    -moz-opacity:0.3;                 /* FF lt 1.5, Netscape */
    -khtml-opacity: 0.3;              /* Safari 1.x */
    opacity:0.3;
    zoom:1;
}

.top_service_cnt .top_service_bt .icon{
	height: 70px;
}
.top_service_cnt .top_service_bt .icon img{ 
	height: 70px;
}
.top_service_cnt .top_service_bt .alp{
	font-size: 20px;
	color: #fff;
	margin-top: 11px;
}
.top_service_cnt .top_service_bt .jpn{
	font-size: 11px;
	color: #fff;
}

.top_service_cnt .graphic{background: #00a33b;}
.top_service_cnt .product{background: #aadd52;}
.top_service_cnt .tech{background: #00a33b;}
.top_service_cnt .company{background: #aadd52;}
.top_service_cnt .contact{background: #00a33b;}
.top_service_cnt .recruit{background: #aadd52;}

.top_service_cnt .top_service_pt{
	width: 100%;
	height: 300px;
}
.top_service_cnt .top_service_pt img{
	width: 100%;
	height: 300px;
  object-fit: cover;
}


@media (max-width: 767px) {
		
	#top_service_title{
		margin: 55px auto 40px auto;
		font-size: 24px;
		text-align: center;
		letter-spacing: 0.6px;
		background: url(../images/top_service_title_bg.gif) no-repeat center bottom;
		padding-bottom: 10px;
	}
	
	.top_service_cnt{
		width: 100%;
		margin: 20px 0;
		padding: 0;
		display: block;
	}
	.top_service_cnt_tr{
		display: block;
	}
	.top_service_cnt .top_service_pnl_cnt{
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
		position: relative;
		overflow: hidden;
	}
	
	.top_service_cnt .top_service_bt{
		width: 100%;
		height: 200px;
		text-align: center;
		margin:0;
		padding: 30px 0;
	}
	
	
	.top_service_cnt .top_service_bt .icon{
		margin-top: 5px;
	}
	.top_service_cnt .top_service_bt .alp{
		font-size: 22px;
	}
	.top_service_cnt .top_service_bt .jpn{
		font-size: 11px;
	}
	
	.top_service_cnt .manuals{background: #ffa496;}
	.top_service_cnt .planning{background: #7dc0c8; position: static; top: 0;}
	.top_service_cnt .cad3d{background: #95cbf9;}
	.top_service_cnt .illustration{background: #8daaa9;}
	.top_service_cnt .translation{background: #b9a0e8; position: static; top: 0;}
	.top_service_cnt .contents{background: #c8b887;}
	
	.top_service_cnt .top_service_pt{
		width:100%;
		height: 200px;
	}
	.top_service_cnt .top_service_pt img{
		width:100%;
		height: 100%;
		object-fit: cover;
	}

}









/*---------------------------------------- footer ----------------------------------------*/
.footer{
	width: 100%;
	height: auto;
	background: url(../images/foot_bg_pc.jpg) no-repeat center center;
	background-size: cover;
	margin: 50px 0 0 0;
	padding:50px 0 0 0;
	text-align: center;
}



.footer .office_box_cnt{
	max-width: 1200px;
	margin: 0 auto 0 auto;
	border-bottm: none;
	overflow: hidden;
}

.footer .office_box{
	width: 100%;
	margin: 0;
	border-right: 1px solid #9d9d9d;
	border-top: none;
		padding-top: 60px;
		padding-bottom: 50px;
}
.footer .office_box .logo{
	width: 280px;
	margin: 10px auto;
}
.footer .office_box .jpn{
	font-size: 20px;
	font-weight: 400;
}
.footer .office_box .add{
	font-size: 15px;
	margin: 10px auto;
	padding: 0;
	line-height: 26px;
	text-align: center;
}


@media (max-width: 767px) {

.footer .office_box .logo{
	width: 200px;
	margin: 30px auto;
}
	.footer .title_cnt .title_jpn{
		font-size: 21px;
		font-weight: 600;
	}
	.footer .office_box_cnt{
		width: 90%;
		margin: 60px auto 0 auto;
		border-left: none;
		overflow: auto;
	}
	.footer .office_box{
		width: 90%;
		float: none;
		margin: 0 auto;
		border-right: none;
		padding-top: 25px;
		padding-bottom: 25px;
		
	}
	.footer .office_box .jpn{
		font-size: 15px;
		text-align: center;
	}
	.footer .office_box .alp{
		font-size: 10px;
		color: #aacf52;
		letter-spacing: 1px;
		text-align: center;
	}
	.footer .office_box .add{
		width: 100%;
		font-size: 12px;
		margin: 10px auto;
		padding: 0 ;
		line-height: 20px;
		text-align: center;
	}
	
}
@media (min-width:768px) and (max-width: 991px) {

	.footer .office_box{
		width: 620px;
		float: none;
		margin: 0 auto;
		border-top: 1px solid #9d9d9d;
		border-right: none;
		padding-top: 25px;
		padding-bottom: 25px;
		
	}
	.footer .office_box .add{
		width: 100%;
		font-size: 12px;
		margin: 10px auto;
		padding: 0;
		line-height: 20px;
		text-align: center;
	}
}



.footer .copyright{
	width: 100%;
	margin: 0 a;
	padding: 10px 0;
	font-size: 10px;
	letter-spacing: 1px;
	text-align: center;
	color: #fff;
	background: #00811E;
}




/*---------------------------------------- title bar ----------------------------------------*/

.title_cnt_inner{
	width: 94%;
	height: 90px;
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}
.title_cnt_title{
	width: 40%;
	float: left;
	overflow: hidden;
}

.title_cnt_title .page_title{
	width: 100%;
	padding: 24px 0 0 0;
	overflow: hidden;
}
.title_cnt_title .icon{
	height: 46px;
	float: left;
	margin-right: 5px;
}
.title_cnt_title .icon img{
	width: auto;
	height: 46px;
}
.title_cnt_title .alp{
	color: #fff;
	text-align: left;
	font-size: 20px;
	margin-top: 5px;
	line-height: 20px;
}
.title_cnt_title .jpn{
	color: #fff;
	text-align: left;
	font-size: 10px;
	line-height: 10px;
	margin-top: 7px;
}

.title_cnt_title .page_title_flex{
	width: 100%;
	height: 90px;
	box-sizing: border-box;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
}
.title_cnt_title .page_title_flex .icon_cnt{
	height: 46px;
	margin-right: 5px;
}
.title_cnt_title .page_title_flex .icon_cnt img{
	width: auto;
	height: 46px;
}
.title_cnt_title .page_title_flex .page_title_cnt{
	margin-right: 5px;
}


.title_cnt_pt{
	width: 50%;
	height: 90px;
	float: right;
	overflow: hidden;
}
.title_cnt_pt img{
	width: 600px;
	height: 90px;
	object-fit: cover;
}


@media (max-width: 767px) {
	
.title_cnt_inner{
	height: 70px;
}

.title_cnt_title .page_title{
	padding: 14px 0 0 0;
}

.title_cnt_title{
	width: 100%;
	float: left;
	overflow: hidden;
}
.title_cnt_title .alp{
	font-size: 18px;
	margin-top: 8px;
	line-height: 18px;
}
.title_cnt_title .jpn{
	margin-top: 3px;
}
	.title_cnt_pt{
		display: none;
	}
	
	.title_cnt_title .page_title_flex{
		width: 100%;
		height: 70px;
		box-sizing: border-box;
		margin: 0 auto;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		align-items: center;
	}
	.title_cnt_title .page_title_flex .icon_cnt{
		height: 46px;
		margin-right: 5px;
	}
	.title_cnt_title .page_title_flex .icon_cnt img{
		width: auto;
		height: 46px;
	}
	.title_cnt_title .page_title_flex .page_title_cnt{
		margin-right: 5px;
	}
	.title_cnt_title .page_title_flex .page_title_cnt .alp{
		font-size: 18px;
		margin-top: 0px;
		line-height: 18px;
	}
	
}



/*---------------------------------------- sub_title_cnt ----------------------------------------*/

.sub_title_cnt{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 30px auto;
	overflow: hidden;
	color: #000;
}
.sub_title_cnt .jpn{
	font-size: 27px;
	line-height: 36px;
	font-weight: 500;
}
.sub_title_cnt .alp{
	font-size: 15px;
}

@media (max-width: 767px) {
	
	
}





/*---------------------------------------- main_content_wrap ----------------------------------------*/

.main_content_wrap{
	width: 100%;
	min-height: 500px;
	background: url(../images/bg.jpg) repeat-x center top;
	padding: 80px 0;
}
.main_content{
	width: 96%;
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}

@media (max-width: 767px) {
	
	.main_content_wrap{
		width: 100%;
		min-height: 500px;
		background: url(../images/bg.jpg) repeat-x center top;
		background-size: auto 50%;
		padding: 40px 0 0 0;
	}
}

/*---------------------------------------- company ----------------------------------------*/



/*-- company_title_cnt --*/

.company_title_cnt{
	width: 100%;
	overflow: hidden;
	margin: 0 0 0 0;
	text-align: center;
	font-size: 28px;
	line-height: 28px;
	background: #11A834;
}

/*-- company_title_cnt --*/

.company_left_cnt{
	width: 45%;
	float: left;
}
.company_right_cnt{
	width: 50%;
	float: right;
}



.company_left_cnt img{
	width: 100%;
	border: 1px solid #D3D3D3;
}

.company_left_cnt img.logo{
	width: 80%;
	max-width: 330px;
	border: none;
	margin-top: 30px;
}

.company_data{
	color: #000;
}
.company_name{
	font-size: 18px;
	border-top: 1px solid #000;
	padding: 16px 0;
}
.company_table{
	border-top: 1px solid #000;
	width: 100%;
}
.company_table .t_row{
	display: block;
	border-bottom: 1px solid #000;
	width: 100%;
}
.company_table .t_row .name{
	display: table-cell;
	font-size :14px;
	font-weight: bold;
	width: 100px;
	padding: 16px 0;
}
.company_table .t_row .data{
	display: table-cell;
	font-size :14px;
	font-weight: 200;
	width: 400px;
	padding: 16px 0;
}



@media (max-width: 767px) {
/*for SP*/
	
	.company_left_cnt{
		width: 100%;
		float: none;
		margin-bottom: 30px;
	}
	.company_right_cnt{
		width: 100%;
		float: none;
	}
		
	.company_left_cnt img.logo{
		display: none;
	}
}








/*---------------------------------------- recruit ----------------------------------------*/



/*-- recruit_title_cnt --*/

.recruit_title_cnt{
	width: 100%;
	overflow: hidden;
	margin: 0 0 0 0;
	text-align: center;
	font-size: 28px;
	line-height: 28px;
	background: #383838;
}

/*-- recruit_title_cnt --*/

.recruit_left_cnt{
	width: 35%;
	float: left;
}
.recruit_right_cnt{
	width: 60%;
	float: right;
}



.recruit_left_cnt img{
	width: 100%;
	border: 1px solid #D3D3D3;
}
.recruit_left_cnt img.logo{
	width: 80%;
	max-width: 330px;
	border: none;
	margin-top: 30px;
}

.recruit_data{
	color: #000;
}
.recruit_name{
	font-size: 18px;
	border-top: 1px solid #000;
	padding: 16px 0;
}
.recruit_table{
	border-top: 1px solid #000;
	width: 100%;
}

.recruit_table .t_row{
	display: block;
	border-bottom: 1px solid #000;
	width: 100%;
	padding: 15px 0;
	overflow: hidden;
}
.recruit_table .t_row .pt{
	display: block;
	font-size :14px;
	font-weight: bold;
	width: 45%;
	float: left;
	vertical-align: top;
}
.recruit_table .t_row .pt img{
	width: 100%;
	border: 1px solid #D3D3D3;
}
.recruit_table .t_row .data{
	display: block;
	font-size :14px;
	font-weight: 200;
	width: 50%;
	padding: 16px 0;
	vertical-align: top;
	float: right;
}
.recruit_table .t_row .data .type{
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 15px;
	border-left: 6px solid #000;
	padding-left: 10px;
}



@media (max-width: 767px) {
/*for SP*/
	
	.recruit_left_cnt{
		width: 100%;
		float: none;
		margin-bottom: 30px;
	}
	.recruit_right_cnt{
		width: 100%;
		float: none;
	}
		
	.recruit_left_cnt img.logo{
		display: none;
	}
		
	.recruit_table .t_row .pt{
		width: 100%;
		float: none;
	}
	.recruit_table .t_row .data{
		font-weight: 200;
		width: 100%;
	}
			
	.recruit_table .t_row .data .type{
		font-size: 22px;
	}

}











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





/*-- service_title_cnt --*/

.graphic_title_cnt{
	width: 100%;
	overflow: hidden;
	margin: 0 0 0 0;
	text-align: center;
	font-size: 28px;
	line-height: 28px;
	background: #2CBC97;
	background: #00a33b;
}


.product_title_cnt{
	width: 100%;
	overflow: hidden;
	margin: 0 0 0 0;
	text-align: center;
	font-size: 28px;
	line-height: 28px;
	background: #F48D00;
	background: #aadd52;
}


.tech_title_cnt{
	width: 100%;
	overflow: hidden;
	margin: 0 0 0 0;
	text-align: center;
	font-size: 28px;
	line-height: 28px;
	background: #F05652;
	background: #00a33b;
}

/*-- service_title_cnt --*/

.service_left_cnt{
	width: 45%;
	float: left;
}
.service_right_cnt{
	width: 50%;
	float: right;
}



.service_left_cnt .service_pt_cnt{
	width: 100%;
	height: 240px;
}
.service_left_cnt .service_pt_cnt img{
	width: 100%;
	height: 240px;
	border: 1px solid #D3D3D3;
	object-fit: cover;
}

.service_cnt{
	width: 100%;
	margin-bottom: 20px;
	overflow: hidden;
}

.service_name{
	color: #000;
	margin: 20px 0;
}
.service_name .jpn {
	font-size: 27px;
	font-weight: 500;
}
.service_name .alp {
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 20px;
}
.service_copy {
	font-size: 14px;
	font-weight: 300;
}

.service_title_cnt{
	width: 100%;
	overflow: hidden
}

.service_service_pnl_cnt .service_service_pnl_cnt{
	width: 33.333%;
	margin: 0;
	padding: 0;
	display: table-cell;
	position: relative;
	overflow: hidden;
}

.service_service_pnl_cnt .top_service_bt{
	width: 100%;
	height: 300px;
	text-align: center;
	margin:0;
	padding: 85px 0 0 0;
	box-sizing: border-box;
}


@media (max-width: 767px) {
	
.service_title_cnt{
	display: none;
}
/*for SP*/
	
	.service_left_cnt{
		width: 100%;
		float: none;
		margin-bottom:10px;
	}
	.service_right_cnt{
		width: 100%;
		float: none;
	}
	
	
.service_left_cnt .service_pt_cnt{
	height: 200px;
	margin-top: 20px;
}
.service_left_cnt .service_pt_cnt img{
	height: 200px;
}

	.service_name{
		color: #000;
		margin: 0px 0 20px 0;
	}
	
	.service_name .jpn {
		font-size: 22px;
		line-height: 28px;
		font-weight: 500;
		margin-bottom: 8px;
	}
	.service_cnt{
		width: 100%;
		margin-bottom: 40px;
		overflow: hidden;
	}
}










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



/*-- works_title_cnt --*/
.works_title_cnt{
	width: 100%;
	overflow: hidden;
	margin: 70px 0;
	text-align: center;
	font-size: 24px;
	letter-spacing: 1px;
}


.works_main_cnt{
	width: 100%;
	padding: 50px 0;
	background: #eef5dc;
}
.works_main_cnt .copy{
	width: 100%;
	font-size: 17px;
	line-height: 43px;
	font-weight: bold;
	text-align: center;
	color: #434649;
	margin: 20px 0;
}

.works_main_cnt .pic{
	width: 500px;
	margin: 0 auto;
}
.works_main_cnt .bt_cnt{
	width: 100%;
	margin: 0 auto;
}
.works_main_cnt .bt{
	width: 310px;
	height: 55px;
	margin: 20px auto;
	background: #aacf52;
	font-size: 14px;
	line-height: 55px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}
.works_main_cnt .bt:hover{
	background: #cce197;
}
.works_main_cnt .bt a{
	text-decoration: none;
	color: #fff;
	display: block;
}




@media (max-width: 767px) {
/*for SP*/

.works_main_cnt{
	width: 100%;
	padding: 50px 0;
	background: #eef5dc;
	margin: 0 0 60px 0;
}
.works_main_cnt .copy{
	width: 100%;
	font-size: 17px;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	color: #434649;
	margin: 20px 0;
}
.works_main_cnt .pic{
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.works_main_cnt .pic img{
	width: 100%;
}
.works_main_cnt .bt_cnt{
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
}
.works_main_cnt .bt{
	width: 100%;
	height: 55px;
	margin: 20px auto;
	background: #aacf52;
	font-size: 14px;
	line-height: 55px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}


}





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




.contact_wrap{
	width: 100%;
	margin: 0px auto 0px auto;
}
.contact_title{
	margin: 0px auto 0px auto;
	text-align: center;
	line-height: 0;
	
}
.contact_title img{
	vertical-align: bottom;
}
.contact_cnt{
	background: rgba(255,255,255,0.5);
	padding: 30px 0 0 0;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


.contact_article_cnt{
	width: 770px;
	margin: 0px auto 0px auto;
}





.contact_article_cnt .hissu{
	font-weight: normal;
	color: #d7431e;
}

.contact_table_cnt{
	margin: 0px;
	padding: 0;
	border-top: 1px solid #D3D3D3;
}
.contact_table_cnt .contact_table_line{
	width: 100%;
	display: table;
	background: url(../images/hr_dot_line_gray.png) repeat-x left bottom;
}
.contact_table_cnt .contact_table_line .title{
	width: 175px;
	display: table-cell;
	background: rgba(220,220,220,0.1) url(../images/hr_dot_line_gray.png) repeat-x left bottom;
	padding: 30px 5px 30px 15px;
	font-weight: bold;
}


.contact_table_cnt .contact_table_line .data{
	display: table-cell;
	padding: 20px 20px;
}

.contact_table_cnt .contact_table_line .data .sub_cnt{
	display: table;
}
.contact_table_cnt .contact_table_line .data .sub_cnt .sub_t{
	display: table-cell;
	width: 130px;
	padding: 10px 0;
}
.contact_table_cnt .contact_table_line .data .sub_cnt .sub_d{
	display: table-cell;
}
.contact_table_cnt .contact_table_line .data .sub_cnt .sub_d .sub_txt{
	width: 330px;
	font-size: 12px;
	text-align: right;
}




.contact_table_cnt .contact_table_line .data input[type="tel"].width_w,
.contact_table_cnt .contact_table_line .data input[type="text"].width_w{
	height: 30px;
	width: 530px;
	border: 1px solid #9d9d9d;
	padding: 0 10px;
}
.contact_table_cnt .contact_table_line .data input[type="tel"].width_m,
.contact_table_cnt .contact_table_line .data input[type="text"].width_m{
	height: 30px;
	width: 330px;
	border: 1px solid #9d9d9d;
	padding: 0 10px;
}
.contact_table_cnt .contact_table_line .data input[type="tel"].width_n,
.contact_table_cnt .contact_table_line .data input[type="text"].width_n{
	height: 30px;
	width: 100px;
	border: 1px solid #9d9d9d;
	padding: 0 10px;
}



.contact_table_cnt .contact_table_line .data select{
	height: 30px;
	width: 330px;
	margin: 0 0 10px 0;
	padding: 0 10px;
	font-size: 13px;
	border: 1px solid #9d9d9d;
	color: #444;
	background: #FFF url(../images/form_select_bg.png) no-repeat right center;
	border-radius: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.contact_table_cnt .contact_table_line .data textarea{
	height: 90px;
	width: 530px;
	margin: 0 0 10px 0;
	padding: 10px;
	font-size: 13px;
	border: 1px solid #9d9d9d;
	color: #444;
	border-radius: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}



.send_bt_cnt{
	width: 660px;
	height: 55px;
	margin: 20px auto 20px auto;
	padding-bottom: 140px;
	color:white;
	text-align: center;
	overflow: hidden;
}
	.send_bt_cnt .flt_left{
		width: 48%;
		float: left;
	}
	.send_bt_cnt .flt_right{
		width: 48%;
		float: right;
	}
#submit_bt{
	width: 310px;
	height: 55px;
	margin: 20px auto;
	background: #00A43E;
	font-size: 14px;
	line-height: 55px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	border: none;
	color:#FFF;
}
#submit_bt:hover{
	background: #cce197;
	color:white;
}

.contact_article_cnt .contact_message_title{
	width: 100%;
	margin: 0px auto 30px auto;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
	color: #aacd5b;
}
.contact_article_cnt .contact_message_title.err{
	color: #d7431e;
	width: 100%;
	margin: 0px auto 30px auto;
}

.contact_article_cnt .contact_message_mes{
	width: 100%;
	margin: 0px auto;
	text-align: center;
}
	.contact_article_cnt .contact_message_mes.left{
	text-align: center;
	}

.contact_article_cnt .contact_message_err_cnt{
	margin: 30px auto 30px auto;
	text-align: center;
	padding: 0 20px;
	
}

.contact_article_cnt .contact_message_err_cnt .contact_message_err{
	display: inline-block;
	margin: 0px auto 20px auto ;
	text-align: left;
	font-weight: bold;
	line-height: 30px;
}

.back_bt{
	width: 310px;
	height: 55px;
	margin: 20px auto;
	background: #434649;
	font-size: 14px;
	line-height: 55px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	border: none;
	color:white;
}
.back_bt a{
	color: #fff;
	text-decoration: none;
	display: block;
}
.back_bt:hover{
	background: #888;
	color:white;
}

.top_bt{
	width: 310px;
	height: 55px;
	margin: 20px auto;
	background: #aacf52;
	font-size: 14px;
	line-height: 55px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
	border: none;
	color:white;
}
.top_bt a{
	color: #fff;
	text-decoration: none;
	display: block;
}
.top_bt:hover{
	background: #cce197;
	color:white;
}



@media (max-width: 767px) {
/*for SP*/




    
	.contact_article_cnt{
		width: 100%;
		margin: 30px auto 80px auto;
		
	}
	.contact_article_cnt .copy{
		padding: 7px 20px;		
	}
	
	
	.contact_table_cnt .contact_table_line{
		width: 100%;
		display: block;
		background-image: none;
	}
	.contact_table_cnt .contact_table_line .title{
		width: 100%;
		display: block;
		background: rgba(255,255,255,0.8);
		background-image: none;
		padding: 10px 20px 0 20px;
		font-weight: bold;
	}
	.contact_table_cnt .contact_table_line .data{
		display: block;
		padding: 5px 20px 20px 20px;
	}
	
	.contact_table_cnt .contact_table_line .data .sub_cnt{
		display: block;
	}
	.contact_table_cnt .contact_table_line .data .sub_cnt .sub_t{
		display: block;
		width: 100%;
		padding: 10px 0 0 0 ;
	}
	.contact_table_cnt .contact_table_line .data .sub_cnt .sub_d{
		display: block;
	}
	.contact_table_cnt .contact_table_line .data .sub_cnt .sub_d .sub_txt{
		width: 100%;
	}
	
	
	.contact_table_cnt .contact_table_line .data input[type="tel"].width_w,
	.contact_table_cnt .contact_table_line .data input[type="text"].width_w,
	.contact_table_cnt .contact_table_line .data input[type="tel"].width_m,
	.contact_table_cnt .contact_table_line .data input[type="text"].width_m{
		width: 100%;
		
	    border-radius: 0px;
	    -moz-border-image: border-radius: 0px;
	    -webkit-border-image: border-radius: 0px;
	    -webkit-appearance:none;
	    
	}
	.contact_table_cnt .contact_table_line .data input[type="tel"].width_n,
	.contact_table_cnt .contact_table_line .data input[type="text"].width_n{
		width: 60px;
	    border-radius: 0px;
	    -moz-border-image: border-radius: 0px;
	    -webkit-border-image: border-radius: 0px;
	    -webkit-appearance:none;
	}
	
	.contact_table_cnt .contact_table_line .data select{
		width: 100%;
	}
	.contact_table_cnt .contact_table_line .data textarea{
		width: 100%;
	}

	
	.send_bt_cnt{
		width: 100%;
		margin: 20px auto 20px auto;
		padding-bottom: 140px;
		padding-left: 20px;
		padding-right: 20px;
		color:white;
		text-align: center;
		overflow: hidden;
	}
	.send_bt_cnt .flt_left{
		width: 48%;
		float: left;
	}
	.send_bt_cnt .flt_right{
		width: 48%;
		float: right;
	}
	
	
	
	#submit_bt{
		width: 100%;
		height: 55px;
		margin: 20px auto;
		background: #11A834;
		font-size: 14px;
		line-height: 55px;
		font-weight: bold;
		text-align: center;
		cursor: pointer;
		border: none;
		color:white;
	}
	#submit_bt:hover{
		background: #cce197;
		color:white;
	}
	
	.contact_article_cnt .contact_message_title{
		width: 100%;
		margin: 0;
		padding: 20px 0;
		color: #aacd5b;
		
	}
	.contact_article_cnt .contact_message_title.err{
		width: 100%;
	}
	
	.contact_article_cnt .contact_message_mes{
		width: 100%;
		padding: 0 20px;
		text-align: center;
	}
	.contact_article_cnt .contact_message_mes.left{
		text-align: left;
	}
	
	.contact_article_cnt .contact_message_err_cnt{
		width: 100%;
		padding: 7px 20px;
	}
	
	.contact_article_cnt .contact_message_err_cnt .contact_message_err{
		display: inline-block;
		margin: 0px auto 20px auto ;
		text-align: left;
		font-weight: bold;
		line-height: 30px;
	}
	
	.back_bt{
		width: 100%;
		height: 55px;
		margin: 20px auto;
		background: #434649;
		font-size: 14px;
		line-height: 55px;
		font-weight: bold;
		text-align: center;
		cursor: pointer;
		border: none;
		color:white;
	}
	.back_bt a{
		color: #fff;
		text-decoration: none;
		display: block;
	}
	.back_bt:hover{
		background: #888;
		color:white;
	}
	
	.top_bt{
		width: 100%;
		height: 55px;
		margin: 20px auto;
		background: #aacf52;
		font-size: 14px;
		line-height: 55px;
		font-weight: bold;
		text-align: center;
		cursor: pointer;
		border: none;
		color:white;
	}
	.top_bt a{
		color: #fff;
		text-decoration: none;
		display: block;
	}
	.top_bt:hover{
		background: #cce197;
		color:white;
	}
	




}


#pagetop_bt{
	width: 60px;
	height: 60px;
	padding: 5px;
	background: url(../images/pagetop_bt.png) center center no-repeat;
	background-size: contain;
    position: fixed;
    bottom: 10px;
    right: 0px;
    cursor: pointer;
    z-index: 2000;
}

@media (max-width: 767px) {
/*for SP*/
	
	#pagetop_bt{
		width: 40px;
		height: 40px;
		padding: 0;
		background: url(../images/pagetop_bt_sp.png) center center no-repeat;
		background-size: contain;
	    position: fixed;
	    bottom: 0px;
	    right: 0px;
	    cursor: pointer;
	    z-index: 2000;
	}
}

/*---------------------------------------- text color ----------------------------------------*/

.tc_green{
	color: #aacf52;
}


/*---------------------------------------- text size ----------------------------------------*/

.ts_10px{
	font-size: 10px;
	line-height: 16px;
}
.ts_12px{
	font-size: 12px;
	line-height: 20px;
}
.ts_15px{
	font-size: 15px;
	line-height: 24px;
}
.ts_23px{
	font-size: 23px;
	line-height: 33px;
}












/*---------------------------------------- title type ----------------------------------------*/




.title_center{
	margin: 15px 0 50px 0;
	text-align: center;
}
.title_center .jpn{
	font-size: 30px;
	line-height: 40px;
	font-family: "游明朝", "YuMincho", serif;
	color: #000;
}
.title_center .alp{
	text-align: center;
	font-size: 12px;
	font-family: "游明朝", "YuMincho", serif;
	font-weight: 100;
	letter-spacing: 1px;
}

.mgn_20{margin: 20px 0;}
.mgn_40{margin: 40px 0;}
.mgn_60{margin: 60px 0;}
.mgn_80{margin: 80px 0;}
.mgn_100{margin: 100px 0;}


.box_line_blu{
	border: 1px solid #0ca4c8;
	background: #fff;
}

/*-----------  -------------*/

.txt_right{
	text-align: right;
}

.txt_12px{	font-size: 12px;}
.txt_18px{	font-size: 18px;}
.txt_20px{	font-size: 20px;}
.txt_22px{	font-size: 22px;}
.txt_26px{	font-size: 26px;}


.txt_mincho{
	font-family: "游明朝", "YuMincho", serif;
}

/*----------- txt visible for pc/tb/sp -------------*/

.txt_visible_pc{	display: inline-block;}
.txt_visible_tb{	display: none;}
.txt_visible_sp{	display: none;}

@media (max-width: 767px) {
	.txt_visible_pc{	display: none;}
	.txt_visible_tb{	display: none;}
	.txt_visible_sp{	display: inline-block;}
}

@media (min-width:768px) and (max-width: 991px) {
	.txt_visible_pc{	display: none;}
	.txt_visible_tb{	display: inline-block;}
	.txt_visible_sp{	display: none;}
}



.txt_hidden_pc{	display: none;}
.txt_hidden_tb{	display: inline-block;}
.txt_hidden_sp{	display: inline-block;}

@media (max-width: 767px) {
	.txt_hidden_pc{	display: inline-block;}
	.txt_hidden_tb{	display: inline-block;}
	.txt_hidden_sp{	display: none;}
}

@media (min-width:768px) and (max-width: 991px) {
	.txt_hidden_pc{	display: inline-block;}
	.txt_hidden_tb{	display: none;}
	.txt_hidden_sp{	display: inline-block;}
}

