/*
Last Updated: 2020-09-23
Author: コーナンブロー
*/

/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	/*font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',serif;*/
	font-size:62.5%;
	color: /*#353535;*/ #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}



.yugo{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yumin{
		font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',serif;
}
.meiryo{
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}


.myriad{
	font-family: MyriadPro-Regular, 'Myriad Pro Regular', MyriadPro, 'Myriad Pro', Helvetica, Arial, sans-serif;
}
.italic{
	font-style: italic;
}



p{
	color:#231815;
}

body{ font-size:1.4rem; font-size: 1.4em; }
img{vertical-align: bottom; }



a{
	color:#14184c;
	transition: all 0.3s;
}
a:hover{
	color:#252b7e;
	transition: all 0.3s;
}
.op:hover{ opacity: 0.8; }
.op img{ transition: all 0.3s; }
.op:hover img{
	opacity:0.60;
	transition: all 0.3s;
}
.max_respon{max-width:100%;}
#container{ overflow: hidden; }
li{ list-style:none; }
.center{ text-align:center; }
.bg_beige{ background: #f5f2f0; }
.bg_aqua{ background: #e1ebf0; }
.bg_gray{ background:#eee; }
.bg_gray2{ background: #f5f5f5; }


@media print, screen and (min-width:769px) and ( max-width: 1119px) {

	.copy{ font-size: 2.6rem; }

}/*END*/

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

	.copy{ font-size: 2rem; }
	p{text-align:left;}

}/*END*/

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

	.copy{ font-size: 1.8rem; }

}/*END*/


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

p{ line-height: 2; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.text_pink{ color: #fc799e; }
.text_blue{ color: #0162b3; }
.text_gold{ color: #a3782c; }
.text_emerald{ color:#00b2b2; }
.text_mizu{ color:#00a1e9; }
.text_white{ color:#fff !important; }
.text_black{ color:#000 !important;  }
.text_deepred{ color:#910000; }
.text_deepred_pink{ color:#d08f8f; }
.text_gray5{ color:#555; }
.text_kon{ color:#022873; }

.text_right{text-align:right;}
.text_left{text-align:left;}

.text_11{ font-size:1.1rem !important; }
.text_12{ font-size:1.2rem !important; }
.text_13{ font-size:1.3rem !important; }
.text_15{ font-size:1.5rem !important; }
.text_21{ font-size:2.1rem !important; }
.text_22{ font-size:2.2rem !important; }
.text_26{ font-size:2.6rem !important; }
.text_34{ font-size:3.4rem !important; }
.text_36{ font-size:3.6rem !important; }
.text_48{ font-size:4.8rem !important; }

.lh_24{ line-height: 2.4 !important; }
.lh_22{ line-height: 2.2 !important; }
.lh_20{ line-height: 2 !important; }
.lh_18{ line-height: 1.8 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_14{ line-height: 1.4 !important; }
.lh_12{ line-height: 1.2 !important; }
.lh_11{ line-height: 1.1 !important; }
.ls_1{ letter-spacing: 1px !important; }
.ls_2{ letter-spacing: 2px !important; }
.ls_3{ letter-spacing: 3px !important; }
.ls_4{ letter-spacing: 4px !important; }

@media print, screen and (min-width: 769px) {

	.text_16{ font-size:1.6rem !important; }
	.text_18{ font-size:1.8rem !important; }
	.text_20{ font-size:2.0rem !important; }
	.text_21{ font-size:2.1rem !important; }
	.text_24{ font-size:2.4rem !important; }

	.text_28{ font-size:2.8rem !important; }
	.text_30{ font-size:3.0rem !important; }
	.text_32{ font-size:3.2rem !important; }
	.text_34{ font-size:3.4rem !important; }
	.text_42{ font-size:4.2rem !important; }
	.text_40{ font-size:4rem !important; }
	.text_50{ font-size:5rem !important; }
	.text_55{ font-size:5.5rem !important; }
	.ls_4{ letter-spacing: 4px; }

}/*END*/

@media print, screen and (min-width:769px) and ( max-width: 1119px) {

	.text_16{ font-size:1.6rem !important; }
	.text_30{ font-size:2.8rem !important; }
	.text_32{ font-size: 2.6rem !important; }
	.text_34{ font-size:2.7rem !important; }
	.text_42{ font-size: 3.6rem !important; }

}/*END*/

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

	p{ line-height: 1.8; }
	.text_18{ font-size: 1.5rem; }
	.text_21{ font-size:1.8rem !important; }
	.text_24{ font-size: 2.2rem !important; }
	.text_26{ font-size: 2.4rem !important; }
	.text_28{ font-size: 1.9rem !important; }
	.text_30{ font-size: 2rem !important; }
	.text_32{ font-size: 2rem !important; }
	.text_34{ font-size:2.2rem !important; }
	.text_42{ font-size: 3rem !important; }

	.text_28{ font-size:2.2rem !important; }
	.text_30{ font-size:2.4rem !important; }
	.text_32{ font-size:2.6rem !important; }
	.text_42{ font-size:3.6rem !important; }
	.text_40{ font-size:3.6rem !important; }
	.text_50{ font-size:4rem !important; }
	.text_55{ font-size:4.3rem !important; }

	.ls_2{ letter-spacing: 1px; }
	.ls_4{ letter-spacing: 2px; }

	.text_right{
		text-align:center;
	}


}/*END*/

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

	p{ line-height: 1.6; }
	.text_18{ font-size: 1.4rem; }
	.text_24{ font-size: 1.8rem !important; }
	.text_26{ font-size: 2.0rem !important; }
	.text_28{ font-size: 2.1rem !important; }
	.text_30{ font-size: 2.2rem !important; }
	.text_32{ font-size: 1.8rem !important; }
	.text_34{ font-size: 2rem !important; }
	.text_42{ font-size: 3rem !important; }

	.text_48{ font-size: 3.2rem !important; }

	.ls_4{ letter-spacing: 1px; }

}/*END*/

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

	.text_30{ font-size: 2rem !important; }
	.text_42{ font-size: 2.8rem !important; }
	.ls_2{ letter-spacing: 0; }

}


/*----------------------------------------
	layout
----------------------------------------*/

.inner_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
}

.large_inner_frame{
		width: 100%;
		position: relative;
		box-sizing: border-box;
}

.s_inner_frame{
	max-width:780px;
	margin: 0 auto;
}





@media print, screen and (min-width: 1351px) {
	.large_inner_frame{
		width: 1350px;
		position: relative;
		box-sizing: border-box;
		padding-right: 0;
		padding-left: 0;
		margin-right: auto;
		margin-left: auto;
	}


}/*END*/

@media print, screen and (min-width: 1120px) {
	.inner_frame{
		width: 1160px;
		padding-right: 0;
		padding-left: 0;
		margin-right: auto;
		margin-left: auto;
	}


}/*END*/


@media print, screen and (min-width: 769px) {

	.inner_frame{
		padding-right: 1.88%;
		padding-left: 1.88%;
	}

	.large_inner_frame{
		
	}


}/*END*/



@media screen and (max-width: 768px){
	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}
	.large_inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}


}/*END*/

@media screen and (max-width: 599px){
	.inner_frame{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}
	.large_inner_frame{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}


}/*END*/



.box_l{
	float: left;
	width: 48.5%;
}
.box_r{
	float: right;
	width: 48.5%;
}

.box_l50{
	float: left;
	width: 50%;
	box-sizing: border-box;
}
.box_r50{
	float: right;
	width: 50%;
	box-sizing: border-box;
}


.box_r65{
	width:68%;
	max-width:780px;
	float:right;
}
.box_l65{
	width:68%;
	max-width:780px;
	float:left;
}

.box_r60{
	width:58.5%;
	float:right;
}
.box_l60{
	width:58.5%;
	float:left;
}
.box_r40{
	width:38.6%;
	float:right;
}
.box_l40{
	width:38.85%;
	float:left;
}

.box_r43{
	width:43%;
	float:right;
}
.box_l43{
	width:43%;
	float:left;
}

.box_r45{
	width:46%;
	float:right;
	box-sizing: border-box;
}
.box_l45{
	width:46%;
	float:left;
	box-sizing: border-box;
}

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

	.box_r65,.box_l65,.box_l60,.box_r60,.box_l40,.box_r40{
		float: none;
		width: 100%;
	}

}/*END*/

@media screen and (max-width: 479px){
	.box_l,
	.box_r{
		float: none;
		width: 100%;
	}

	.box_l50,.box_r50{
	width:100%;
	}
	.box_l43,.box_r43{
	width:100%;
	}

	.box_l45,.box_r45{
	width:100%;
	}

}/*END*/



.box_l2{
	float: left;
	width: 48.5%;
}
.box_r2{
	float: right;
	width: 48.5%;
}
.box_l3{
	float: left;
	width: 48.5%;
}
.box_r3{
	float: right;
	width: 48.5%;
}

@media screen and (max-width: 640px){
	.box_l2,.box_r2{
	width:100%;
	}

}/*END*/









/*----------------------------------------
	header
----------------------------------------*/

header{
	position: absolute;
	z-index: 100;
	width: 100%;
	box-sizing: border-box;
}
header a{
	display: block;
	color: inherit;
	text-decoration: none;
}
header h1{
	color: #666;
	font-weight: normal;
	font-size: 1.1rem;
}
.head_logo{ float: left; }

.head_logo img{ max-width:431px; }


.top .toplogo{
	display: block;
}
.page .pagelogo{
	display: block;
}

.top .topimg{
	display: inline-block;
}
.top .pageimg{
	display: inline-block;
}

.top .pagelogo,.top .pageimg{ display: none; }
.page .toplogo,.page .topimg{ display: none; }



.head_contact  img{ max-width:200px; }

.tb_none2{ display: none;}

.header_l{
	width:32%;
	float:left;
}
.header_r{
	width:66.5%;
	float:right;
}


.page header{
	position: static;
	background:#fff;
}

.page header{
	min-height:60px;
}



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

	header{
		width: 100%;
		z-index: 100;
	}



	.head_logo{
		width: 100%;
		margin-bottom: 8px;
		max-width:431px;
		padding-left:4%;
		padding-top:30px;
	}

	header h1{
	}


	.head_contact{
		margin-left:20px;
	}
	.head_contact p{

	}
	.head_contact a.btn{
		box-sizing: border-box;
		background: #fff;
		color: #022873;
		text-align: center;
		padding:22px 30px;
	}
	.head_contact a.btn:hover{
		    opacity: 0.6;
		/*box-shadow:rgba(0, 0, 0, 0.3) 0px 1px 2px 0;*/
	}
	.head_contact a.btn img{
		width: 32px;
		vertical-align: 0;
	}
	header li{
		float: left;
	}

	header li a{
		text-align: center;
		box-sizing: border-box;
		padding:45px 22px 15px 22px;
		color: #fff;
	}
	header li a:hover{
		color: inherit;
		transition: all 0.6s;
		color:#fff;
		text-decoration: underline;
	}



	.page header a{
		color:#060d2a;
	}
	.page header a:hover{
		color:#060d2a;
		text-decoration: underline;
	}

	.page .head_contact a.btn{
		background:#022873;
		color:#fff;
	}









	#sd{
		font-weight: bold;
		letter-spacing: 0.5px;
	}

	/*
	.nav_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(255,255,255,0.9);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}
	*/

	.head_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(19,66,149,0.8);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}

	.page header.head_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(255,255,255,0.8);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}





	#sd{
		float:right;
	}
	#sd ul{

	}
	#sd ul li a{

	}


}/*END*/

@media print, screen and (min-width: 769px) and ( max-width:1119px) {

	header li:first-child{ border-left: none; }
	header li:last-child{ border-right: none; }
	header li a{ font-size: 1.3vw; }
	header h1{ font-size: 1vw; }
	.head_contact{ padding-top: 3px; }
	.head_contact a.btn{
		font-size: 1.3vw;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.head_contact a.btn img{
		width: 26px;
	}


}/*END*/





@media print, screen and (max-width: 1100px) {
	.tb_none2{ display: block;}
	.head_contact a.btn{
		padding: 8px 5px;
		font-size: 1.3rem;
		line-height: 1.2;
	}

}/*END*/




@media print, screen and (min-width: 1200px) {
	.pc_none_2{ display: none !important; }

	.sp_block{
	display:none !important;
	}

}/*END*/

@media print, screen and (max-width: 1199px) {
	.sp_block{
	display:block !important;
	}

}/*END*/

/* max-width: 768px 早めのドロワー */
@media screen and (max-width: 1199px) {

	header{
		padding: 34px 2.5% 10px 3%;

	}
	header h1{
		position: absolute;
		left: 3%;
		top: 10px;
		font-size: 0.9rem;
		line-height: 1.2;
	}
	.head_contact{ display: none; }

	.header_l{
		width:70%;
	}

	#sd ul,
	.head_inner{
		padding:0;
	}

	#sd {
	    border-left: 6px solid #000;
	}

	.border_non a{
		border:none !important;
		padding: 0 !important;
	}

	.head_logo{
		width: 100%;
		max-width: 240px;
		margin: 5px 0 0 0;
	}

	.sd-trigger{
		float: right;
		position: fixed;
		right: 2.5%;
		top: 10px;
		width: 44px;
		height: 38px;
		cursor: pointer;
		border: 1px solid #000;
		z-index: 10;
		background: rgba(255,255,255,0.8);
	}


/*
	.nav_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(255,255,255,0.9);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}
*/

	.sd-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		width: 22px;
		background-color: #000;
	}
	.sd-trigger span:nth-of-type(1) { top: 11px; left: 11px; }
	.sd-trigger span:nth-of-type(2) { top: 19px; left: 11px; }
	.sd-trigger span:nth-of-type(3) { top: 27px; left: 11px; }
	#sd{ box-sizing: border-box; }
	#sd ul{
		margin-bottom: 0;
		/*border-top: 1px dotted #555;*/
	}
	#sd li{ position: relative; }
	#sd li a{
		display: block;
		text-decoration: none;
		padding: 15px 2% 15px 8%;
		color:#000;
		border-bottom: 1px dotted #555;
	}

}/*END*/



/*----------------------------------------
	MV
----------------------------------------*/

.mv_top{
	position: relative;
	overflow: hidden;
}
.mv_top li{ list-style:none; }
.mv_top li img{ width: 100%; }




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


}/*END*/



/*----------------------------------------
	スライダー２
----------------------------------------*/

.mv_frame{ position: relative; }
.mv_top{
	width: 100%;
	position: relative;
	z-index: -1;
	overflow: hidden;
}
.bx-viewport{ overflow: visible!important; }
.delay{ display: none; }




.top_mv{
 position: relative;
 overflow: hidden;
 max-height:800px;
}

.top_mv ul{
	max-height:800px;
}

.top_mv img{ width:100%; }
.top_mv .slide_img{
    width: 100%;
    object-fit: cover;
	}


.mv_copy{
position:absolute;
	top:50%;
	left: 10%;
	-webkit-transform: translate(-10%,-50%);
	-moz-transform: translate(-10%,-50%);
	-ms-transform: translate(-10%,-50%);
	-o-transform: translate(-10%,-50%);
	transform: translate(-10%,-50%);
text-align: center;
}

.mv_copy img{
	max-width:540px;
}


.pc_mv_block{
	display:block;
}
.sp_mv_block{
	display: none;
}




@media print, screen and (min-width: 1370px) {
	.top_mv{
		min-height:200px;
	}

	.top_mv{
		min-height:800px;
	}


}/*END*/


@media print, screen and (min-width: 769px) {

	.mv_top li img{ width: 100% !important; }

}/*END*/


@media screen and (max-width: 768px){
	.mv_copy{
		width:50%;
		top:55%;
		left: 8%;
		-webkit-transform: translate(-8%,-55%);
		-moz-transform: translate(-8%,-55%);
		-ms-transform: translate(-8%,-55%);
		-o-transform: translate(-8%,-55%);
		transform: translate(-8%,-55%);
	}

}/*END*/

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

	.mv_top li img{ width: 180% !important; }
	.bx-wrapper img{ max-width: inherit !important; }

	.mv_copy{
		width:70%;
		position:absolute;
		top:52%;
		left: 10;
		-webkit-transform: translate(-8%,-55%);
		-moz-transform: translate(-8%,-55%);
		-ms-transform: translate(-8%,-55%);
		-o-transform: translate(-8%,-55%);
		transform: translate(-8%,-55%);
	}

	.pc_mv_block{
		display:none;
	}
	.sp_mv_block{
		display: block;
	}


}/*END*/




.slick-dots{
	bottom:6%;
	right:4%;
	text-align: right;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before{
    opacity: 1;
    color: #022873; /* hover時の色を変更 */
}
.slick-dots li button:before{
    font-family: 'slick';
    font-size: 14px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    /* 元のcontentプロパティの値だとfont-sizeを変更した際に位置がずれてしまうので値を変更 */
    /* content: '•'; */
    content: '●';
    text-align: center;

    opacity: 1;
    color: #fff;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before{
    opacity: .75;
    color: #022873; /* active時の色を変更 */
}

.slick-dotted.slick-slider{
	margin-bottom:0;
}




/*----------------------------------------
	contents concept
----------------------------------------*/

.rela{
	position:relative;
}

.ttlimg{
	max-width:300px;
}

.product_img240{
	max-width: 240px;
}

.product_img500{
	max-width:500px;
}



.bg_gray{
	background: #f0f5f3;
}
.bg_gray_aside{
	background: #eeeeee;
}

.bg_top01{
	background:url(../images/bg_img01.gif) right bottom no-repeat;
}

.bg_top02{
	background:url(../images/bg_top_product.jpg) no-repeat;
	background-size: cover;
}

.bg_top03{
	background:url(../images/bg_top_original.jpg) no-repeat;
	background-size: cover;
}

.bg_top04{
	background:url(../images/bg_top_company.jpg) center center no-repeat;
	background-size: 100%;
}

.bg_top05{
	background:url(../images/bg_top_recruit.jpg) center center no-repeat;
	background-size: 100%;
}

.c_box{
	background:rgba(255,255,255,0.9);
	width:75%;
	max-width:406px;
	box-sizing: border-box;
	padding:10%;
	margin:5% auto;
}

.c_box_op{
	background:none;
	width:84%;
	max-width:412px;
	box-sizing: border-box;
	margin:54% auto 5% auto;
}


.c_box_op.bgwh{
	background:rgba(255,255,255,0.9);
	padding:8% 10%;
}

.in_navi{
	max-width:700px;
	margin-right:auto;
	margin-left:auto;
	display: flex;
	justify-content: space-around;
}

.in_navi a{
	display: block;
	width:calc(100% / 3);
}

.in_navi .item01,.in_navi .item02{
	border-right:1px dotted #fff;
}


@media screen and (max-width: 1199px){
	.bg_top04{
		background-size: cover;
	}

	.bg_top05{
		background-size: cover;
	}


	.c_box{
		width:85%;
	}

	.c_box_op{
		width:100%;
		background:rgb(255,255,255,0.9);
		padding:8%;
	}


}/*END*/


@media screen and (max-width:479px) {
	.c_box{
		width:100%;
	}

	.sp_center{
		text-align: center;
	}


}/*END*/






.sp_content{
		display: none;
}

.box_content_L{
	width:41.7%;
	background: #fff;
	box-sizing: border-box;
	position: absolute;
}
.box_content_R{
	width:41.7%;
	background: #fff;
	box-sizing: border-box;
	position: absolute;
	right:0;
}



.list_box_content{
	background: #f0f5f3;
	box-sizing: border-box;
	position: relative;
}

.list_box_no{
	width: 100%;
	position: absolute;
	top: -45px;
	text-align: center;
}

.list_box_inner{
	box-sizing: border-box;
	padding: 65px 35px 43px 35px;
}

#construction li{
	margin-bottom:50px;
}




.border_box_inner{
	box-sizing: border-box;
	padding:60px;
}





@media print, screen and (min-width: 1200px) {

	.flex_list_L{
		display: flex;
		flex-wrap: wrap;/* 折り返し指定 */
		justify-content: space-between; /* 均等 */
		flex-direction: row; /* 子要素を左から右に配置 */
	}
	.flex_list_R{
		display: flex;
		flex-wrap: wrap;/* 折り返し指定 */
		justify-content: space-between; /* 均等 */
		flex-direction: row-reverse; /* 子要素を右から左に配置 */
	}

}/*END*/



.c_box_left{
width:85%;
max-width:650px;
float:left;
padding: 0 6.5%;
box-sizing: border-box;
}
.c_box_right{
width:85%;
max-width:628px;
float:right;
padding: 0 6.5%;
box-sizing: border-box;
}

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

	.c_box_right{
	width:95%;
	padding: 0 4%;
	}
	.c_box_left{
	width:95%;
	padding: 0 4%;
	}


}/*END*/

@media screen and (max-width: 768px){
	.c_box_right{
	width:100%;
	max-width:100%;
	float:none;
	padding: 0 4%;
	margin: 0 auto;
	}
	.c_box_left{
	width:100%;
	max-width:100%;
	float:none;
	padding: 0 4%;
	margin: 0 auto;
	}
}/*END*/


@media screen and (max-width:960px) {
	.box_content_L{
		width:50%;
		position: static;
		float: left;
	}
	.box_r65 {
	    width: 50%;
	    float: right;
	}

	.box_content_R{
		width:50%;
		position: static;
		float: right;
	}
	.box_l65 {
	    width: 50%;
	    float: left;
	}

	.border_box_inner{
		padding: 20px 15px;
	}

}/*END*/


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

	.box_content_L,.box_content_R{
		width:100%;
		float: none;
	}
	.box_r65,.box_l65 {
	    width: 100%;
	    float: none;
	}

	.concept_bg_gra{
		padding-top:40px;
	}

	.middle_ttl {
		margin-left:0;
		margin-top: -5%;
		float: left;
		width: 100%;
	}

}/*END*/

@media screen and (max-width:479px) {
	.border_box_inner{
		padding: 20px 15px 20px 15px;
	}

	.sp_content{
		display: block;
	}
	.event_bnr{
		padding:15px 3.5%;
		margin:0 auto;
	}

	#construction li {
	    margin-bottom: 70px;
	}


}/*END*/


@media screen and (max-width:1350px) {
	.collabo_area .tex_box01{
		width: 38%;
		right: 2%;
		text-shadow: 1px 1px 2px #fff;
	}

	.collabo_area .tex_box02{
		width:43%;
		left:2.5%;
	}


	.cp_tex_box{
		left:20px;
	}


	.cp_tex_box_3 {
		top:auto;
	    bottom: 0%;
	    left: 92px;
	}



}/*END*/

@media screen and (max-width:1080px) {
	.concept_img02 {
	    top: 65%;
	    left: 0;
	    width: 22%;
	}
	.concept_img03 {
	    bottom: 0;
	    left: 15%;
	    width: 19%;
	}

	.collabo_area .tex_box02{
		width:40%;
		left:2%;
		bottom:2.5%;
	}


	.cp_tex_box_3 {
		top:auto;
	    bottom: 0%;
	    left: 3.5%;
	    padding: 15px 40px 20px 0;
	}


	.list_box_inner{
		box-sizing: border-box;
		padding: 65px 15px 25px 15px;
	}

	.border_box_inner{
		padding:30px 40px 54px 40px;
	}

}/*END*/



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

	.wide_rela_inner::before{
		padding-top:0;
	}

	.cp_tex_box{
		position: static;
		width: 100%;
		margin-bottom:30px;
		padding: 30px 3.5%;
		box-sizing: border-box;
	}

	.concept_img01{
		position: static;
		width: 90%;
		margin-bottom:30px;
		margin-right:auto;
		margin-left:auto;
	}
	.concept_img02{
		position: static;
		width: 90%;
		margin-bottom:30px;
		margin-right:auto;
		margin-left:auto;
	}
	.concept_img03{
		position: static;
		width: 90%;
		margin-bottom:30px;
		margin-right:auto;
		margin-left:auto;
	}
	.concept_img04{
		position: static;
		width: 90%;
		margin-bottom:30px;
		margin-right:auto;
		margin-left:auto;
	}




	#airdan_concept{
		max-height:100%;
	}

	.content_mv_copy_2 img{
		width:75%;
	}



	.cp_tex_box_2{
		position: static;
		width: 100%;
		margin-bottom:30px;
		padding: 30px 3.5%;
		box-sizing: border-box;
	}

	.cp_tex_box_3{
		position: static;
		width: 100%;
		margin-bottom:30px;
		padding: 30px 3.5%;
		box-sizing: border-box;
	}

	.concept_img05{
		position: static;
		width: 90%;
		margin-bottom:30px;
		margin-right:auto;
		margin-left:auto;
	}
	.concept_img06{
		position: static;
		width: 90%;
		margin-bottom:30px;
		margin-right:auto;
		margin-left:auto;
	}


	.collabo_img{
		display: none;
	}
	.sp_collabo_img{
		display: block;
	}

	.collabo_area .tex_box01{
		position: static;
		width: auto;
		padding:60px 6.5% 15px;
	}

	.collabo_area .tex_box02{
		position: static;
		width: auto;
		padding:60px 6.5% 15px;
	}


	.rela_height::before{
		padding-top:0;
	}
	.rela_height{
		padding-top:0 !important;
	}


	.large_inner_frame{
		padding-right: 0;
		padding-left: 0;
	}




	.list_box_inner{
		box-sizing: border-box;
		padding: 65px 15px 25px 15px;
	}


	.sp_ls_-1{
		letter-spacing: -1px !important;
	}


}/*END*/




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

	.list_box_inner{
		box-sizing: border-box;
		padding: 65px 10px 25px 10px;
	}


	.content_mv_copy_2 {
	    top: 50%;
	}
	.content_mv_copy_2 img{
		width:60%;
	}




}/*END*/

@media screen and (max-width:599px) {
	.ttlimg{
		max-width:200px;
	}
}/*END*/



/*----------------------------------------
	footer
----------------------------------------*/
.btn_tel{
	display: block;
	text-align: center;
	width:100%;
	box-sizing: border-box;
	margin:0 auto;
}

.btn_mail{
	display: block;
	color:#fff;
	text-align: center;
	width:100%;
	box-sizing: border-box;
	margin:0 auto;
}

img.aside_btn{
	max-width:296px;
}


.footer_bg{
	position: relative;
	background: rgb(24,49,95);
	background: linear-gradient(0deg, rgba(24,49,95,1) 0%, rgba(1,28,64,1) 100%);
}


.foot_logo{

}


.flex_foot{
	display: flex;
	padding-left:30px;

}

.foot_nav a{
	color:#fff;
}


.foot_menu{
	margin-right:35px;
}

.flex_foot .foot_menu:nth-of-type(3){
		margin-right:0;
}

.foot_menu li{
	margin-bottom:15px;
}

.foot_menu a{
	color:#fff;
	text-decoration: none;
	line-height: 1.5;
}

.foot_menu .indent{
	margin-left:15px;
}

.foot_menu a:hover{
	text-decoration: underline;
	color:#eee;
}


.copyright{
	font-size: 1.2rem;
	color:#fff;
	text-align: center;
	padding-top: 38px;
	padding-bottom: 38px;
	border-top:1px solid #fff;
}
.copyright a{
	color:#fff;
	text-decoration: none;
}

.copyright a:hover{
	text-decoration: underline;
	color:#eee;
}


.page_top{
	display: block;
	position: fixed;
	right:0;
	bottom:0;
	z-index: 5;
}





@media screen and (max-width: 960px) {
	footer p{ text-align: center; }

	footer .box_l ,footer .box_r{
		width:100%;
		float:none;
		text-align: center;
	}

	.flex_foot{
		padding-left:0;
		padding-top:15px;
	}

	.foot_menu{
		margin-right:18%;
		text-align:left;
	}
	.foot_menu a{
		font-size: 1.4rem;
	}

	.flex_foot .foot_menu:nth-of-type(3){
		margin-right:0;
	}


}/*END*/

@media screen and (max-width: 768px) {
	footer{ text-align: center; }

	.btn_tel{
		padding:15px 3.5%;
	}

	.btn_mail{
		padding:15px 3.5%;
	}



}/*END*/

@media screen and (max-width: 599px) {
	.copyright{ font-size: 1rem; }

	.flex_foot{
		padding-left:0;
		padding-top:15px;
	}

	.foot_menu{
		margin-right:25px;
		text-align:left;
	}
	.foot_menu a{
		font-size: 1.3rem;
	}

	.flex_foot .foot_menu:nth-of-type(3){
		margin-right:0;
	}

	.copyright{
		padding-top: 18px;
		padding-bottom: 18px;
	}

}/*END*/







/*----------------------------------------------------------
	下層ページ
-----------------------------------------------------------*/
.page_mv{
}

.p_l7{
	padding-left:7px;
}
.m_l-5{
	margin-left:-5px;
}

.over_img_l{
	display: block;
	width: 50vw;
	margin: 0 calc(100% - 50vw);
	max-width: 1000px;
}

.over_img_r{
	display: block;
	width: 50vw;
	max-width: 1000px;
}

.bg_about{
	background:url(../images/aboutus/about_style_bg.gif) center center no-repeat;
	background-size: cover;
}


.title_bar{
	background: #4d689d;
	padding:10px 0 10px 16px;
}


/* プロダクト　吹き出し　*/
  .hukidashi_block {
      padding: 0;
      margin: 0;
    }
    .texbase {
    	display: inline-block;
     	position: relative;
     	cursor: pointer;
    }
    .hukidashi {
      display: none;
      position: absolute;
      bottom: 30px;
      left: -5px;
      background: none;
      color: #000;
      width:130px;
    }
    .hukidashi--:after {
      position: absolute;
      width: 0;
      height: 0;
      left: 0;
      bottom: -19px;
      margin-left: 10px;
      border: solid transparent;
      border-color: rgba(51, 204, 153, 0);
      border-top-color: #33cc99;
      border-width: 10px;
      pointer-events: none;
      content: " ";
    }
    .texbase:hover + .hukidashi {
      display: block;
    }

.texbase:hover .hukidashi{
	display:block;
}


.gray_box{
	background: #f5f5f5;
	padding:24px 27px 24px 27px;
	box-sizing: border-box;
	height:198px;
	margin-right:auto;
	margin-left:auto;
}


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



ul.info_nav{
	border-left:2px solid #022873;
}

.info_nav li{
	width:calc(100% / 5);
	float: left;
	box-sizing: border-box;
	border-right:2px solid #022873;
}
.info_nav li a{
	display: inline-block;
	width: 100%;
	text-align: center;
	color:#022873;
	padding:10px 3px 23px 3px;
	box-sizing: border-box;
	text-decoration: none;
	position: relative;
}

.info_nav li a:before{
	content:'';
	display: block;
  width: 9px;
  height: 9px;
  border: 1px solid;
  border-color:  transparent transparent #022873 #022873;
  transform: rotate(-45deg);

	position: absolute;
	left: 50%;
	bottom: 8px;
	margin-left: -6px;
}

.info_nav li a:hover{
	text-decoration: underline;
	opacity: 0.8;
}

.sitemap .foot_menu a{
	color:#022873;
}


@media screen and (min-width: 600px) {
	.pp_t50{
		padding-top:50px;
	}
	.pp_t30{
		padding-top:30px;
	}
	.sp_m_b30{
		margin-bottom:30px;
	}
	.p_l25{
		padding-left:25px;
	}

	.pp_t160{
		padding-top:160px;
	}

	.info_nav{
		margin-bottom:80px;
	}


}/*END*/




@media screen and (max-width: 599px) {
	.over_img_r,.over_img_l{
		width: 100%;
		margin:auto;
	}


	.page_mv h2 img{
		width: 130%;
		margin-left: -10%;
	}

	.gray_box{
		padding:20px;
		height:auto;
	}

	.info_nav{
		margin-bottom:20px;
	}
	.info_nav li a{
		font-size:1.1rem;
	}
	.info_nav li{
		border-right: 1px solid #022873;
	}
	ul.info_nav{
		border-left:1px solid #022873;
	}

}/*END*/



















/*----------------------------------------
	iframe中央配置
----------------------------------------*/

/*iframe比率維持*/
.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 50% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

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

	.map{ padding: 50% 0 0; }

}/*END*/

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

	.map {
	    padding: 70% 0 0;
	    width: 92%;
	    margin: 0 auto 0 auto;
	}

}/*END*/



/*----------------------------------------
	list box
----------------------------------------*/

.list_two,
.list_three{
	margin-left:-2%;
}
.list_four{
	margin-left: -1.85%;
}
.list_two li,
.list_three li,
.list_four li{
	position: relative;
	float: left;
	margin-bottom: 20px;
	box-sizing: border-box;
	margin-left:2%;
}
.list_two li{ width: 48%; }
.list_four li{
	width: 23.14%;
	margin-left: 1.85%;
}



/* product */
.list_two_p,
.list_three_p{
	margin-left:-2%;
}
.list_two_p li,
.list_three_p li{
	position: relative;
	float: left;
	margin-bottom: 10px;
	box-sizing: border-box;
	margin-left:2%;
}

.list_two_p li{ width: 48%; }
.list_three_p li{ width: 31.3% }


.list_two_p li:nth-child(2n+1){
	clear:both;
}
.list_three_p li:nth-child(3n+1){
	clear:both;
}





@media print, screen and (min-width: 769px) {

	.list_three li{ width: 31.3%; }
	.list_two li:nth-child(2n+1),
	.list_three li:nth-child(3n+1),
	.list_four li:nth-child(4n+1){ clear: both; }




}/*END*/

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

	.list_three li{
		width: 31.3%;
	 }

	.list_two li:nth-child(2n+1),
	.list_three--- li:nth-child(2n+1),
	.list_four---- li:nth-child(2n+1){
		clear: both; 
	}
	.list_four li{
		width: 48%;
		margin-bottom: 20px;
	}

	.list_three.concept_point li{ 
		width: 31.3%;
		clear:none;
	}


	/* SP3カラム 
	.list_four li:nth-child(3n+1){ clear: both !important; } 
	.list_four li{
		width: 31.4%;
		margin-bottom: 15px;
	}
	*/

	/* SP2カラム */
	.list_four li:nth-child(2n+1){ clear: both !important; } 
	.list_four li{
		width: 48%;
		margin-bottom: 15px;
				text-align:center;
	}



}/*END*/

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

	.list_two,
	.list_three{
		margin-left:0;
	}
	.list_two li,
	.list_three li{
		float: none;
		width: 100%;
		margin-left:0;
	}

	.list_three li:nth-child(2n+1){
		clear:both;
	}


}/*END*/


img{
backface-visibility: hidden;
}







/*ボタン幅*/
.btn_150{ width: 150px; }
.btn_200{ width: 200px; }
.btn_250{ width: 250px; }
.btn_300{ width: 300px; }
.btn_400{ width: 400px; }
.btn_auto{
	padding-left: 20px;
	padding-right: 20px;
}
.btn_all{ width: 100%; }

@media print, screen and (min-width: 1120px) {

	.btn_border{
		padding-left: 30px;
		padding-right: 30px;
	}

}/*END*/

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

	.btn_400,
	.btn_auto{
		width: 100%;
	}

}/*END*/

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

	.btn_200,
	.btn_250,
	.btn_300{
		width: 80%;
	}
	.btn_bray,
	.btn_red,
	.btn_green{
		display: block;
		margin-left: auto;
		margin-right: auto;
	}

}/*END*/


.btn_style01{
	background: none;
	text-decoration: none;
	padding: 24px 35px;
	color: #fff;
	line-height: 1;
	/*font-weight: bold;*/
	text-align:center;
	display: inline-block;
	box-sizing: border-box;
}
/*
.btn_style01:hover{
	color: inherit;
	text-decoration: none;
}
*/
.btn_arrow,.btn_arrow2,.btn_arrow0{
    position: relative;
    display: inline-block;
}
.btn_arrow::after{
	position: absolute;
	right: 45px;
	width: 10px;
	height:10px;
	border-top: 4px solid #f39a05;
	border-right: 4px solid #f39a05;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	vertical-align: middle;
}

.btn_color_blue{
	background: rgb(42,82,152);
	background: linear-gradient(0deg, rgba(42,82,152,1) 0%, rgba(30,60,114,1) 100%);
	font-weight: normal;
}

.btn_color_black{
	background: #3a3a3a;
}



.btn_color_blue:hover{
	/*
	background: #b0b8e8;
	color:#111;
	box-sizing: border-box;
	*/
	color:#fff;
	opacity: 0.8;
}

.btn_color_black:hover{
	background: #e1e1e1;
	color:#111;
	box-sizing: border-box;
}


.btn_arrow2::after{
	position: absolute;
	right: 45px;
	width: 10px;
	height:10px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	vertical-align: middle;
}

.btn_arrow0::after{
	position: absolute;
	right: 0;
	width: 10px;
	height:10px;
	border-top: 4px solid #f39a05;
	border-right: 4px solid #f39a05;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	vertical-align: middle;
}






/*ぱんくず*/
.pan_bg{
	background:#f0f0eb;
}
.pan_inner{
    max-width: 1350px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}
.pan_nav{
	color: #666666;
	letter-spacing: 1px;
	padding: 10px 0 50px 0;
}
.pan_nav li{
	float: left;
	white-space: nowrap;
	line-height: 1.2;
}
.pan_nav a{
	color: #666666;
	text-decoration: none;
}
.pan_nav a:hover{
	color: #4c81b4;
	text-decoration: underline;
}
.pan_nav a:after{
	content: "＞";
	color: #666666;
	font-size: 1.1rem;
	padding-left: 10px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: middle;
}
.pan_nav.gray_ver{
	background: #eee;
	color: #000;
}

@media screen and (max-width: 1350px) {
	.pan_inner{
	    padding:0 1.5%;
	}

}/*END*/

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

	.pan_nav{
		padding:5px 0 20px 0;
	}

}/*END*/




/* テーブルスタイル */
.tb_style_pro{
	width: 100%;
	margin:0 auto;
	line-height: 1.6;
	border-collapse: separate;
	border-spacing: 25px 0px;
}


.tb_style_pro th,
.tb_style_pro td{
	padding: 30px 0;
	text-align: left;
	box-sizing: border-box;
	text-align:center;
}

.tb_style_pro th{
font-size: 1.6rem;
color: #022873;
border-bottom:2px solid #022873;
}

.tb_style_pro td{
font-size: 1.4rem;
letter-spacing: 2px;
border-bottom: 1px solid #aaaaaa;
}

.tb_style_pro .line_bt{
	border-top: 1px solid #34b8ab;
}

.tb_style_pro th img.icon{
	vertical-align: -3px;
}



@media screen and (max-width: 960px){
	.tb_style_pro{
		border-spacing: 8px 0px;
	}
	.tb_style_pro th,
	.tb_style_pro td{
		padding: 15px 0;
	}
	.tb_style_pro th{
		font-size: 1.3rem;
	}
	.tb_style_pro td{
		font-size: 1.2rem;
		letter-spacing: 0;
	}


}/*END*/


@media screen and (max-width: 599px){
	.tb_style_pro{
		border-spacing: 4px 0px;
		width:108%;
		margin-left:-4%;
	}
	.tb_style_pro th,
	.tb_style_pro td{
		padding: 12px 0;
	}
	.tb_style_pro th{
		font-size: 1.2rem;
	}
	.tb_style_pro td{
		font-size: 1.1rem;
		letter-spacing: 0;
	}


}/*END*/



.tb_style_pro.outline td{
	text-align: left;
	padding-left: 30px;
}

.tb_style_pro.recruit th{
	width:20%;
}

.tb_style_pro.recruit td{
	text-align:left;
	padding-left: 30px;
}

@media screen and (max-width: 599px){
	.tb_style_pro.outline{
		width:100%;
		margin-left:0;
	}
	.tb_style_pro.kakosetubi{
		width:100%;
		margin-left:0;
	}

	.tb_style_pro.recruit th{
		width:auto;
	}

	.tb_style_pro.recruit{
		width:100%;
		margin-left:0;
	}

}/*END*/





/*----------------------------------------
	フォームテーブル
----------------------------------------*/

.TbStyle_c {
    border-top: 1px solid #d7d7d7;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
.TbStyle_c th, .TbStyle_c td {
    border-bottom: 1px solid #d7d7d7;
    padding: 15px 8px;
    text-align: left;
    font-size: 1.4rem;
}
.TbStyle_c th {
    width: 20%;
    max-width:250px;
    font-weight: bold;
}
.TbStyle_c td {
    font-weight: normal;
}

@media screen and (max-width: 768px){
	.TbStyle_c th {
	    width: 35%;
	    max-width:250px;
	}


}/*END*/

@media screen and (max-width: 599px){
	.TbStyle_c th, .TbStyle_c td {
	    padding: 10px;
	}
	.TbStyle_c th {
	    width: 100%;
	    max-width:1160px;
	}
	.TbStyle_c td{
	font-size: 1.4rem;
	}

	.pd_l27{
	padding-left: 10px;
	}


	.TbStyle_c th,
	.TbStyle_c td{
		display: block;
	}
	.TbStyle_c th{
		padding: 8px 2% 0 2%;
		margin-bottom: 5px;
		border-bottom: none;
		font-weight: bold;
	}
	.TbStyle_c td{ padding: 0 2% 15px 2%; }



}/*END*/





/*----------------------------------------
	contact
----------------------------------------*/
.hissu, .nini {
    display: inline-block;
    line-height: 1 !important;
    border-radius: 3px;
    padding: 3px 8px;
    font-size: 1.5rem !important;
    margin-left: 8px;
    vertical-align: 0;
}

.hissu {
    background: #a90d0d;
    color: #fff;
}
.nini {
    background: #fff;
    border:1px solid #000;
    color: #000;
}

.error{
color:red;
font-weight:bold;
}
.error label span{
color:#000;
}

.pory_link{
text-decoration: underline;
}


input, select {
    vertical-align: middle;
}
checkbox, select, textarea, input[type="text"], input[type="tel"] {
    /*border:2px solid #cdcdcd;*/
    border:none;
    border-radius: 3px;
    background:#ebebeb;
    font-size: 1.4rem;
    padding: 12px 12px;
    box-sizing: border-box;
    -webkit-appearance: none;
}

#contact .TbStyle_c td{
font-size: 1.6rem;
}



/*----------------------------------------
	ラジオボタン・チェックボックス
----------------------------------------*/
.check input[type="checkbox"]{
	display: none;
}
.radio label,
.check label{
	display: block;
	position: relative;
	cursor: pointer;
	margin-left: 10px;
	padding: 11px 0 11px 30px;
	line-height: 1.2;
}
.radio label:before,
.check label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 26px;
	height: 26px;
	margin-top: -14px;
	background: #fff;
	border:2px solid #ccc;
}
.check label:before{ border-radius: 0; }
.radio label,
.check label{
	margin-left: 0\9;
	padding: 11px\9;
}
.radio label:not(:target),
.check label:not(:target){
	margin-left: 10px\9;
	padding: 11px 0 11px 25px\9;
}
.radio label:before,
.check label:before{
	display: none\9;
}
.radio label:not(:target):before,
.check label:not(:target):before{
	display: inline-block\9;
}
.radio input[type="radio"]:checked + label:after{
	position: absolute;
	content: "";
	top: 50%;
	left: -5px;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	background: #53b753;
}
.check input[type="checkbox"]:checked + label::after {
	content: "";
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	display: block;
}
.check input[type="checkbox"]:checked + label::after {
	left: -5px;
	width: 26px;
	height: 14px;
	margin-top: -11px;
	border-left: 5px solid #1b1b1b;
	border-bottom: 5px solid #1b1b1b;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


/*
input[type=checkbox] {
  -ms-transform: scale(1.5, 1.5);
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}
*/

.form1 {
    width: 80px;
}
.form2 {
    width: 180px;
}
.form3 {
    width: 300px;
}
.form4 {
    width: 400px;
}
.form_all{
    width: 100%;
}


.check label{
	display: inline-block;
}

.form_s {
    width: 120px;
}
.pref_select select{
	width:160px;
}

.text_hissu_red{
	color:#a90d0d;
}

