@charset "utf-8";
/*-----base.css-----*/
/*かり*/
.box_content{
	height:500px;
}



@media print{
	a[href]:after {
		content: "" !important;
	}
	
	abbr[title]:after {
		content: "" !important;
	}
}

@media print, screen {
	body{
		font-family: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", sans-serif;
		font-size: 15px;
		/*↓暫定ipad対策*/
		overflow-x: auto;
		min-width: 1200px;
	}
	
	.container{
		width:100%;
		padding:0;
	}
	
	/*#####header#####*/
	#header{
		clear:both;
		width: 100%;
		height:95px;
		border-bottom:6px solid #314cb7;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		background: #fff;
	}
	
		#header_inner{
			width: 960px;
			height:95px;
			padding-left:30px;
			margin:0 auto;
			position:relative;
			top:0;
			right:0;
			left: 0;
			z-index:0;
		}

			h1#site_title{
				margin:0;
				width:214px;
				height:95px;
				padding:20px 0 0 0;
				float:left;
				position:relative;
			}
			
				h1#site_title img{
					position:relative;
				}
				
				h1#site_title:after{
					content:"";
					position:absolute;
					bottom:0;
					left:0;
					display:block;
					width:210px;
					height:6px;
					background:#0b317a;
				}

			
			
			#header_msg_global_nav {
				width:600px;
				height:95px;
				float:right;
			}
			
				p#header_msg {
					color: #666;
					text-align:right;
					height:44px;
					padding: 10px 0 0 0;
					margin: 0;
					font-size: 14px;
				}

				#global_nav{
					margin:0;
					padding: 0;
					list-style:none;
					width:600px;
					height: 51px;
					letter-spacing:-0.4em;
				}
					
					#global_nav li{
						display:inline-block;
						letter-spacing:0;
						width:120px;
						height:51px;
					}
					
					#global_nav li.gn_blank{
						position:relative;
					}
					
					#global_nav li.gn_blank:after{
						content:"";
						display:block;
						width:120px;
						height:6px;
						position:absolute;
						left:0;
						bottom:0;
						background:#9f78c9;
					}
					
					#global_nav li a{
						display:block;
						width:120px;
						height:51px;
						opacity:1;
						position:relative;
					}
					
					#global_nav li a img{
						display:block;
						position:relative;
						z-index:2;
					}
					
					#global_nav li a:before{
						content:"";
						display:block;
						height:0;
						width:120px;
						position:absolute;
						left:0;
						top:0;
						z-index:1;
						transition:all .3s ease;
					}
					
					#global_nav li a:hover:before{
						height:37px;
					}
					
					#global_nav li.here a:before{
						height:37px;
					}
					
					#global_nav li a:after{
						content:"";
						display:block;
						width:120px;
						height:6px;
						position:absolute;
						left:0;
						bottom:0;
						z-index:3;
						transition:all .3s ease;
					}
					
					#global_nav li.here a:after{
						height:14px;
					}
					
					#global_nav li a:hover:after{
						height:14px;
					}
					
					#global_nav li.gn_home a:before{
						background:rgba(217,52,108,0.08);
					}
					#global_nav li.gn_home a:after{
						background:#d8356c;
					}
					
					#global_nav li.gn_company a:before{
						background:rgba(236,126,41,0.08);
					}
					#global_nav li.gn_company a:after{
						background:#ed7d29;
					}
					
					#global_nav li.gn_works a:before{
						background:rgba(110,180,91,0.08);
					}
					#global_nav li.gn_works a:after{
						background:#6fb459;
					}
					
					#global_nav li.gn_recruit a:before{
						background:rgba(1,159,145,0.08);
					}
					#global_nav li.gn_recruit a:after{
						background:#00a090;
					}
					
					#global_nav li.gn_contact a:before{
						background:rgba(159,121,198,0.08);
					}
					#global_nav li.gn_contact a:after{
						background:#a178c7;
					}

	/*#####main#####*/
	#main{
		clear:both;
		padding-top: 95px;
	}
	
		#main_inner{
		}
		
		
	/*##content_box##*/
	.content_box{
		width: 930px;
		margin: 0 auto 50px;
	}
	
	.content_box > .box_header{
		margin-bottom: 45px;
	}
	
	.content_box > .box_header > h2{
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		color: #0a3278;
		padding: 10px 20px;
		margin-top: 0;
	}
	.content_box > .box_header > h2:before {
		content: url(../images/h2_line.png);
		margin-right: 30px;
	}
	.content_box > .box_header > h2:after {
		content: url(../images/h2_line.png);
		margin-left: 30px;
	}
	.content_box > .box_header .h2_sub {
		font-weight: bold;
		font-size: 15px;
		text-align: center;
		color: #97a9db;
		font-family: inherit;
	}
	
	.content_box > .box_inner{
	}
	.content_box > .box_inner h3{
		color: #0a3278;
		font-size: 22px;
		font-weight: bold;
		line-height: 1.8em;
	}
	#box_works .box_inner .box.works_02 h3 ,
	#box_company .box_inner .box h3 {
		text-align: center;
		border-bottom: 1px solid #ccc;
		margin-bottom: 30px;
		overflow: hidden;
	}


	.content_box > .box_footer{
		padding: 20px 0;
	}
		.contact_bnr {
			text-align: center;
		}

	/*##以下各個別ボックスの指定##*/
	#box_works{}
	
	#box_company{}
	#box_recruit{}
	
	/* お問い合わせ */
	#box_contact{}
		#box_contact .box_inner {}
			#box_contact .box_inner .goto_contact_form {
				text-align: center;
			}
				#box_contact .box_inner .goto_contact_form a {
				}
				#box_contact .box_inner .goto_contact_form a:hover {
					text-decoration: none;
				}
	
		
	/*#####footer#####*/
	#footer {
		clear: both;
	}
	
		#footer_inner {
			width: 930px;
			margin: 0 auto;
			padding: 20px 0;
			overflow: hidden;
			border-top: 1px solid #ccc;
		}
		
		#footer_msg {
			color: #0a3278;
			background: #f0f3f8;
			padding: 0 20px;
			margin-bottom: 30px;
			height: 35px;
			line-height: 35px;
			text-align: center;
		}
			#footer_msg p {
			width: 930px;
				margin: 0 auto;
			}
		
		#footer_contact{
			width: 930px;
			height: 60px;
			margin: 0 auto;
		}
			#footer_contact .f_content_txt {
				display: inline-block;
				vertical-align: top;
				margin-right: 10px;
				height: 40px;
				line-height: 40px;
			}
			#footer_contact .f_content_tel {
				display: inline-block;
				vertical-align: top;
				margin-right: 20px;
			}
			#footer_contact .f_contact_btn {
				display: inline-block;
				vertical-align: top;
			}
			#footer_contact .f_contact_btn a {
				transition: all .5s ease;
				-webkit-transition: all .5s ease;
				-moz-transition: all .5s ease;
			}
			#footer_contact .f_contact_btn a:hover {
				opacity: 0.7;
			}
		#footer_site_title_nav{}
		
			#footer_site_title {
				width: 520px;
				overflow: hidden;
				float: left;
				margin: 0 0 0 0;
			}
				#footer_site_title > p {
					margin: 10px 0 0 0;
					font-size: 13px;
					line-height: 1.8em;
				}
			
			#footer_nav {
				width: 370px;
				float: right;
				padding: 0;
				margin: 0;
			}
			
				#footer_nav li {
					width: 180px;
					background:url(../images/icon04.gif) no-repeat left 5px;
					padding-left: 12px;
					float: left;
					list-style: none;
					font-size: 13px;
					margin: 0 0 5px 0;
				}
				
				#footer_nav li a {
					font-size: 0.9em;
					color: #333;
				}
				#footer_nav li:last-child {
					width: 180px;
				}
		
		#footer_bottom {
			clear: both;
			background: #0a3278;
		}
		
			#footer_bottom:before {
				content:"";
				display:block;
				height:50px;
				border-bottom:10px solid #1e409a;
				background-image:url(../images/footer/f_bldg.gif);
				background-position:top;
				background-repeat:repeat-x;
				background-color:#fff;
			}
					
			#copyright {
				width: 930px;
				margin: 0 auto;
				clear:both;
				color:#fff;
				font-size:0.9em;
				height: 60px;
				line-height: 60px;
				text-align: center;
			}
	
	#pagetop{
		position: fixed;
		bottom: 40px;
		right: 20px;
		width: 90px;
		height: 90px;
		z-index:10001;
		transition:all .5s ease;
	}
	
		#pagetop:hover{
			transform:translate(0,-10px);
			opacity:0.8;
		}
		
		
	
	/*アンカーずれ防止 あとで*/
	.content_box {
		padding-top: 120px;
		margin-top: -100px;
		min-height: 500px;
	}
	
	/*PCではリンク付きTEL画像は非表示*/
	.tel_img > a{
		display:none;
	}

}

/*汎用*/
.ta_center{
	text-align:center;
}

.ta_right{
	text-align:right;
}

@media only screen
and (min-device-width:768px)
and (max-device-width:1024px)
and (orientation:landscape) {
	/*ipad横向き*/
	html,body{
		width:auto;
		height:auto;
		overflow:visible;
	}
}

@media screen and (max-width: 979px) {
	/* 979px以下用（タブレット用）の記述 */
	/*↓ipad対策*/
	html,body{
		width:auto;
		height:auto;
		overflow:visible;
	}
}
@media screen and (max-width: 767px) {
	/* 767px以下用（タブレット／スマートフォン用）の記述 */
}

@media screen and (max-width: 479px) {
	/* 479px以下用（スマートフォン用）の記述 */
body{
	overflow-x: auto;
	min-width: inherit;
	width: 100%;
}
/*スマホ用ドロワーメニュー*/
/*ボタン*/
#mobile_nav_button {
	text-align: center;
	position: fixed;
	top: 0;
	right: 5px;
	z-index: 10000;
}

	#mobile_nav_button .mnb_inner {
		width: 50px;
		height: 50px;
		padding-top: 8px;
		display: block;
		color: #fff;
		text-decoration: none;
		background: #4b6ed2;
		position:relative;
		box-shadow:2px 0 0 0 rgba(0,0,0,0.3);
	}
	
	#mobile_nav_button .mnb_inner .mnb_icon {
		display: block;
		width:30px;
		height:20px;
		margin:0 10px 5px 10px;
	}
	
		#mobile_nav_button .mnb_inner .mnb_icon .mnb_line{
			display:block;
			width:20px;
			height:2px;
			margin:0 auto 5px auto;
			background:#fff;
		}
		
		#mobile_nav_button .mnb_inner .mnb_icon .mnb_line.ml3{
			margin-bottom:0;
		}
	
		/*
		.mobile-nav-open #mobile_nav_button .mnb_inner .mnb_icon .mnb_line.ml1{
			transform:rotate(45deg) scale(,);
			transform-origin:left top;
		}
		*/
	
	#mobile_nav_button .mnb_inner .mnb_txt {
		display: block;
		font-size: 0.8em;
		line-height:1em;
		position:relative;
		z-index:0;
	}
	
		#mobile_nav_button .mnb_inner .mnb_txt_inner{
			display:block;
		}

	
/*メニュー*/
#mobile_nav{
	padding-top:60px;
}

	#mobile_nav_inner > ul{
		list-style: none;
		padding-left: 0;
	}
	
	ul.spg_nav {
		clear: both;
		border-top: 1px solid #eee;
	}
	
	ul.spg_nav > li {
		border-bottom: 1px solid #eee;
	}
	ul.spg_nav > li > .ttl {
		color: #222;
		display: block;
		padding: 8px;
		font-weight: bold;
	}
	ul.spg_nav > li > a {
		color: #222;
		display: block;
		padding: 10px;
		text-decoration: none;
	}
	ul.spg_nav > li.home > a:before {
		font-family: 'Glyphicons Halflings';
		content: "\e021";
	}
	
	ul.spg_nav > li > a:before ,
	ul.spg_nav > li > .ttl:before {
		content:"●";
		margin-right: 8px;
		color: #4b6ed2;
	}
	
		ul.spg_nav > li > ul {
			margin: 0 10px 10px 20px;
		}
		ul.spg_nav > li > ul > li::before {
			font-size: 2px;
			content: "●";
			color:  #999;
			margin-right: 5px;
		}
		ul.spg_nav > li ul#spg_nav_group1 ,
		ul.spg_nav > li ul#spg_nav_group2 {
			margin: 5px 0 5px 15px;
		}
		ul.spg_nav > li ul#spg_nav_group1 li ,
		ul.spg_nav > li ul#spg_nav_group2 li {
			line-height: 1.5em;
			padding-bottom: 5px;
			margin-bottom: 5px;
		}
		ul.spg_nav > li ul#spg_nav_group1 li a ,
		ul.spg_nav > li ul#spg_nav_group2 li a {
			border-bottom: 2px solid #543a9b;
			padding-left: 10px;
			color: #543a9b;
			font-weight: bold;
			display: block;
		}
		ul.spg_nav > li ul#spg_nav_group2 li a {
			border-bottom: 2px solid #1964af;
			color: #1964af;
		}
		ul.spg_nav > li ul#spg_nav_group1 li::before ,
		ul.spg_nav > li ul#spg_nav_group2 li::before {
			content: none;
		}
		ul.spg_nav > li ul#spg_nav_group1 li ul ,
		ul.spg_nav > li ul#spg_nav_group2 li ul {
			margin-top: 5px;
		}
		ul.spg_nav > li ul#spg_nav_group1 li ul li ,
		ul.spg_nav > li ul#spg_nav_group2 li ul li {
			border-bottom: 1px dotted #ccc;
		}
			ul.spg_nav > li ul#spg_nav_group1 li ul li a ,
			ul.spg_nav > li ul#spg_nav_group2 li ul li a {
				border-bottom: none;
				font-weight: normal;
				color: #222;
			}
		
	/*slidebars.cssの調整*/
	[off-canvas]{
		background:#fff;
		box-shadow:10px 0 10px -10px rgba(0,0,0,0.3) inset;
	}
	
	
/*スムーススクロールページトップ*/
#pagetop {
	width: 60px;
	height: 60px;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9999;
}

	#pagetop a {
		display: block;
		width: 60px;
		height: 60px;
		text-align: center;
		line-height: 60px;
		text-decoration: none;
	}
	#pagetop a img {
		display: block;
		max-width: 100%;
		height: auto;
	}
/*#########header###########*/

#header {
	padding: 10px;
	height: 70px;
	overflow: hidden;
	border-bottom: 5px solid #333;
}
	#header_inner {
		width: auto;
		height: auto;
		padding:0;
		margin:0;
	}

h1#site_title {
	width: 50%;
	height:auto;
	margin: 0;
	padding:0;
}

	h1#site_title:after{
		display:none;
	}

.content_box {
	width: 100%;
	padding: 0.5em;
}
	#main_inner {
	}
	#footer_msg p ,
	#footer_site_title ,
	#footer_contact ,
	#footer_inner ,
	#footer_nav ,
	#copyright {
		width: auto;
		float: none;
	}
#footer_msg {
	overflow: hidden;
	height: auto;
	padding: 10px;
	line-height: 1.5em;
	margin-bottom: 0;
}
#footer_contact {
	padding: 10px;
	height:auto;
}
	#footer_contact dl {
		display: block;
		margin: 0 auto 1em;
	}
		#footer_contact dl dt ,
		#footer_contact dl dd {
			text-align: center;
		}
		#footer_contact .f_content_tel {
			width: 80%;
			display: block;
			margin: 0 auto 1em;
		}
			#footer_contact .f_content_tel img {
				display: block;
				max-width: 100%;
				height: auto;
			}
		#footer_contact .f_contact_btn {
			text-align: center;
			display: block;
		}
		#footer_contact .f_content_txt {
			text-align: center;
			display: block;
			margin: 0 0 1em 0;
			height:auto;
			line-height:normal;
		}
		
#footer_inner {
	padding: 20px 0 10px 0;
}
	#footer_site_title img {
		display: block;
		width:75%;
		/*max-width: 100%;*/
		height: auto;
		margin:0 auto;
	}
	
	#footer_site_title p{
		padding:0 10px;
		line-height:1.4em;
	}
#copyright {
	font-size: 0.85em;
	padding: 10px;
	height: inherit;
	line-height: inherit;
}

/*スマホではリンク付きTEL画像は表示し、リンクなしTEL画像は非表示*/
.tel_img > a{
	display:inline;
}

.tel_img > img{
	display:none !important;
}

}

@media print {
	body{
		height:auto;
	}
	
	#header{
		position:relative;
	}
	
	#main{
		padding-top:0 !important;
		overflow:visible;
	}
	
	*{
		background-color:transparent !important;
	}
	
	#mobile_nav_button.visible-xs-block.hidden-sm.hidden-md.hidden-lg{
		display:none !important;
	}
	
	#header_msg_global_nav.hidden-xs.visible-sm-block.visible-md-block.visible-lg-block{
		display:block !important;
	}
}
