﻿@charset "UTF-8";
/*
*base_style.css
*
*/

body{
	/*font-family:'Noto Sans Japanese',"YuGothic","Yu Gothic","游ゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo",sans-serif;*/
	font-family: YakuHanJP, "Noto Sans JP", sans-serif;

}
body.en{font-family: sans-serif;}
body.cn{font-family: '宋体-简';}

a{
	color: #D6000C;
}

h1{
}

@media screen and (max-width: 767.98px) {
	h1{
		font-size: 1.571em; /*22px*/
	}
}

h2{
	font-size: 1.214em; /*17px*/
}

h3{
	font-size: 1.071em; /*15px*/
}

h4{
	font-size: 1.0em; /*14px*/
}

h5{
}



/* Pagetop
------------------------------------------------------------ */
#pageTop{
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
	display: none;
	cursor: pointer;
}

#pageTop img{
	max-width: 70px;
	opacity: 0.85;
	filter: alpha(opacity=85);
	-moz-opacity: 0.85;
	right: 0;

}

@media screen and (max-width: 767.98px) {
	/* col-xs、col-sm */
	#pageTop{
		width: 50px;
		height: 50px;
		bottom: 10px;
		right: 10px;
	}
	#pageTop img{
		max-width: 50px;
	}
	/* topinfo掲載時のみ */
	#pageTop{
		bottom: 45px;
	}
}

@media print {
	#pageTop{
		width: 50px;
		height: 50px;
		bottom: 10px;
		right: 10px;
	}
}



/*	#contentIndex
----------------------------------------------------*/
header{
	background: #fff;
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1000;
	width: 100%;
}

#headerPC{
	position: relative;
	height: 85px;
	transition: all .15s ease;
}
#headerPC .headerMainMenu{
}
#headerPC .headerMainMenu .col-md-4{
	height: 90px;
	transition: all .15s ease;
}
#headerPC .headerMainMenu .col-md-4 .logo{
	height: 100%;
	margin: 0;
	display: flex;
	align-items: center;
}
#headerPC .headerMainMenu .col-md-8{
	position: absolute;
	right: 0;
	bottom: 0;
}
#headerPC .headerSubMenu{
	position: absolute;
	top: 5px;
	right: 0;
	height: 35px;
	transition: all .15s ease;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#headerPC .headerSubMenu form{
	display: inline-block;
	margin: 5px 0 7px 5px;
	border:1px #ccc solid;
	-moz-border-radius:3px;
	-webkit-border-radius: 3px;
	border-radius:3px;
}

#headerPC .headerSubMenu form input[type="text"]{
	width: 10.0em;
	font-size: 0.786em; /*11px*/
	padding: 0 0.5em;
	border: 0;
}

#headerPC .headerSubMenu form input[type="submit"]{
	width: 20px;
	height: 20px;
	border: 0px;
	background: url(../img/search.png) left top no-repeat;
}

#headerPC .headerSubMenu ul{
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	gap: 5px;
}

#headerPC .headerSubMenu ul li{
	
	list-style-type: none;
	font-size: 0.786em; /*11px*/
}

#headerPC .headerSubMenu ul li a{
	padding: 5px 10px 5px 0;
}
#headerPC .headerSubMenu ul li a:link {color: #333;}
#headerPC .headerSubMenu ul li a:visited {color: #333;}
#headerPC .headerSubMenu ul li a:active {color: #333;}
#headerPC .headerSubMenu ul li a:hover {color: #999; text-decoration:none;}

#headerPC nav div.gNaviMenu p{
	margin: 0;
}

#headerPC nav p{
	cursor: pointer;
	font-weight: bold;
	margin: 0;
	width: 100%;
	padding: 10px 0;
	font-size: 1.071em; /*15px*/
}
.headerFixed #headerPC nav p{
	height: 70px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	justify-content: center;
}
#headerPC p i{
	color: #D6000C;
}

#headerPC nav a:link {color: #333; padding: 1.0em 0;}
#headerPC nav a:visited {color: #333;}
#headerPC nav a:active {color: #333;}
#headerPC nav a:hover {color: #333; opacity: .75; text-decoration:none;}



#headerSP nav{
	background: #fff;
	margin: 0;
	border: 0;
}

#headerSP nav a.navbar-brand{
	width: 70%;
	padding: 0;
	height: 50px;
	vertical-align:middle;
}

#headerSP nav a.navbar-brand p{
	display: inline;
	vertical-align:middle;
	line-height: 50px;
	margin: 0;
}

#headerSP nav a.navbar-brand p img{
	display: inline;
	max-height: 50px;
	vertical-align:middle;
	padding: 0 0 0 14px;
}

#headerSP nav div.navbar-collapse{
	background: #D6000C;
	padding-bottom: 1.5em;
}

#headerSP nav ul{
	background: #fff;
	margin: 1.0em 0;
}

#headerSP nav ul li{
	border-bottom: 1px #D6000C solid;
}

#headerSP nav ul li a{
	padding: 10px 15px 10px 5px;
}

#headerSP nav ul li a:link {color: #333;}
#headerSP nav ul li a:visited {color: #333;}
#headerSP nav ul li a:active {color: #333;}
#headerSP nav ul li a:hover {color: #333; text-decoration:none;background: #eee;}

#headerSP nav ul li a i{
	color: #D6000C;
}

.headerFixed #headerPC{
	height: 70px;
}
.headerFixed #headerPC .headerMainMenu .col-md-4{
	height: 70px;
}
.headerFixed #headerPC .headerSubMenu{
	display: none;
}
@media (max-width: 991.98px){
	header{
	}
	#headerPC,
	.headerFixed #headerPC{
		height: 100px;
	}
	#headerPC .headerMainMenu .col-md-4,
	.headerFixed #headerPC .headerMainMenu .col-md-4{
		height: 60px;
		display: inline-block;
	}
	#headerPC .headerMainMenu .col-md-8{
		width: 100%;
	}
	#headerPC .headerSubMenu{
		top: 10px;
	}
	#headerPC nav p{
		padding: 8px 0;
		height: 50px!important;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
		justify-content: center;
	}
}
@media (max-width: 767.98px) {
	header{
		height: auto;
	}
	#headerPC{
		display: none;
	}
}

/*	.megaMenu
----------------------------------------------------*/
/*.megaMenu{
	background-color: rgba(0,0,0,0.8);
	margin-bottom: 20px;
	padding: 2.0em 0;
	width: 100%;
	position: absolute;
	z-index: 9999;
	display: none;
}

#megaMenu01 div.row{
	background: #fff;
	padding-bottom: 1.5em;
}

#megaMenu02 div.row{
	background: #fff;
	padding-bottom: 1.5em;
}

#megaMenu03 div.row{
	background: #fff;
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	text-align: center;
}

.megaMenu div.menuBox div{
	background: #eee;
	margin-top: 1.5em;
	padding-bottom: 1.25em;
}

.megaMenu ul{
	margin-right: 1.5em;
}

.megaMenu div.menuBnr{
	background: #fff;
	margin-top: 1.5em;
}

.megaMenu div.menuBnr ul{
	list-style-type: none;
	margin-left: -40px;
}

.megaMenu div.menuBnr p{
	font-size: 0.857em;
}

.megaMenu h4{
	margin: 0 0 1.0em 0;
	padding: 0.75em 0;
	text-align: center;
	background: #333;
	background: -moz-linear-gradient(top, #444, #222);
	background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#222));
	background:-ms-linear-gradient(top, #444, #222);
	background: linear-gradient(top center, #444 0%, #222 100%);
	color: #fff;
	font-size: 1.071em;
}

.megaMenu h4 a:link {color: #FFF;}
.megaMenu h4 a:visited {color: #FFF;}
.megaMenu h4 a:active {color: #FFF;}
.megaMenu h4 a:hover {color: #DDD; text-decoration:none;}

.megaMenu h4 a i{
	margin: 0 0.25em 0 -0.75em;
	color: #CCC;
}*/

/*.megaMenu p.topLink{
	background: #fff;
	margin-top: 1.0em;
	color: #fff;
	font-size: 1.214em;
	font-weight: bold;
}
*/



/*	#topIntro
----------------------------------------------------*/

div.newsCommonArea div.update{background: #DFDFD0; color: #444;}	/*update*/
div.newsCommonArea div.management{background: #D6000C; color: #fff;}	/*management*/
div.newsCommonArea div.business{background: #3CC18F; color: #fff;}	/*business*/
div.newsCommonArea div.technology{background: #0085B2; color: #fff;}	/*technology*/
div.newsCommonArea div.otherinfo{background: #D9A300; color: #fff;}	/*otherinfo*/
div.newsCommonArea div.report{background :#999; color: #fff;}		/*report*/
div.newsCommonArea div.personnelaffairs{background :#C8E6F5; color: #444;}		/*personnelaffairs*/
div.newsCommonArea div.communication{background :#C8E6F5; color: #444;}	/*communication*/
div.newsCommonArea div.regionalcontribution{background :#C8E6F5; color: #444;}	/*regionalcontribution*/
div.newsCommonArea div.dormitory{background :#C8E6F5; color: #444;}	/*dormitory*/
div.newsCommonArea div.personneltraining{background :#C8E6F5; color: #444;}	/*personneltraining*/
div.newsCommonArea div.kaizen-jirei{background :#0085B2; color: #fff;}	/*kaizen-jirei*/


/*	#content
----------------------------------------------------*/
#content{
	margin-top: 95px;
}
@media (max-width: 991.98px){
	#content{
		margin-top: 110px;
	}
}
@media screen and (max-width: 767.98px) {
	#content{
		margin-top: 0;
	}
	#content ol.breadcrumb{
		margin-top: 60px;
	}
}


/*	#contentIndex
----------------------------------------------------*/

@media screen and (max-width: 767.98px) {
	#contentIndex p{
		font-size: 1.071em; /*15px*/
		padding: 0.5em;
	}
}

#contentIndexBody{
	margin-top: 2.0em;
}

#contentIndexBody h1{
	font-size: 1.214em; /*17px*/
	font-weight: bold;
	border-left: 5px #D6000C solid;
	padding: 0.25em 0.5em;
}

#contentIndexBody h2{
	margin: 0 0 1.0em 0;
	padding: 0.75em 0;
	text-align: center;
	background: #333;
	background: -moz-linear-gradient(top, #444, #222);
	background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#222));
	background:-ms-linear-gradient(top, #444, #222);
	background: linear-gradient(top center, #444 0%, #222 100%);
	color: #fff;
	font-size: 1.071em; /*15px*/
}

#contentIndexBody h2 i{
	margin: 0 0.25em 0 -0.75em;
	color: #CCC;
}

#contentIndexBody h2 a:link {color: #FFF;}
#contentIndexBody h2 a:visited {color: #FFF;}
#contentIndexBody h2 a:active {color: #FFF;}
#contentIndexBody h2 a:hover {color: #DDD; text-decoration:none;}

#contentIndexBody span.contentIndexNewsHeader{
	padding: 10px 15px;	
	background: #333;
	background: -moz-linear-gradient(top, #444, #222);
	background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#222));
	background:-ms-linear-gradient(top, #444, #222);
	background: linear-gradient(top center, #444 0%, #222 100%);
	border-color: #222;
	border-top: 1px #444 solid;
	color: #fff;
	text-shadow: #444 1px 1px;
	z-index: 2;
}

#contentIndexBody h3{
	margin: 2.0em 0 1.0em 0;
	font-weight: bold;
	font-size: 1.571em; /*22px*/
}

#contentIndexBody h3 i.fa-2x{
	font-weight: normal;
	padding-right: 1.5em;
}

#topMainNews div.col-md-4 h3.compact{
	height: 1.0em;
}

#contentIndexBody div.depBox{
	padding-bottom: 1.5em;
}

#contentIndexBody h5 a{
	text-decoration: none !important;
}

#contentIndexBody p.indexCatch{
	margin-bottom: 0.25em;
	font-weight: bold;
	line-height: 1.25em;
}

#contentIndexBody p.indexDetail{
	font-size: 0.857em; /*12px*/
	line-height: 1.25em;
	color: #666;
}

#contentIndexBody img.tab02Map{
	margin: 2.0em auto 1.0em auto;
}


#contentIndexBodyList ul{
	background: #F8F8F8;
	border: 1px #DDD solid;
	padding: 1.5em 2.0em 1.5em 2.5em;
	font-weight: bold;
}

#contentIndexBodyList div.bizList{
	border: 1px #CCC solid;
	margin: 0 0 1.5em 0;
}

#contentIndexBodyList div.bizList a{
	display: block;
}

#contentIndexBodyList div.bizList a:hover{text-decoration: none;}

#contentIndexBodyList div.bizList img{
	margin: 0 auto;
}

#contentIndexBodyList div.bizList h4{
	border-bottom: 1px #D6000C dotted;
	margin: 1.0em 0.75em 0.5em 0.75em;
	padding: 0.5em 0.5em 0.5em 0;
	font-size: 1.071em; /*15px*/
	color: #D6000C;
	font-weight: bold;
}

#contentIndexBodyList div.bizList p{
	margin: 1.0em 1.25em 0 1.25em;
	padding: 0 0 2.0em 0;
	color: #666;
	height: 6.0em;
}

#contentIndexBodyList div.bizList p.enProduct{
	height: 10.0em;
}

#contentIndexBodyList p.listInfo img{
	float:left;
	max-width:25%;
	margin: 0 10px 0 0;
}

#contentIndexBody p.indexMore{
	margin-top: -15px;
}



/*carousel
----------------------------------------------------*/
#contentCarouselArea{
	position: static;
}

#carouselLabel{
	position: absolute;
	z-index: 999;
	margin: 0 auto;
	max-width: 20%;
}

#carouselLabel img{
	margin: 10px 0 0 0;
	width:100%;
}

#carousel-example-generic img{
	margin: 0 auto;
}

#carousel-example-generic div.carousel-caption h3{
	font-weight: bold;
	font-size: 1.571em; /*22px*/
}



/*	#contentBody
----------------------------------------------------*/
#contentBody img{
	display: block;
	margin: 0 auto;
	max-width: 100%;
	height: auto;
}

#contentBody p{
	line-height: 1.75em;
}

#contentBodyMain a:link {text-decoration:underline;}
#contentBodyMain a:visited {text-decoration:underline;}
#contentBodyMain a:active {text-decoration:underline;}

#contentBodyMain video{
	margin: 0 auto;
	max-width: 90%;
}

#contentBodyHeader{
	margin: 1.0em 0 1.75em 0;
}

#contentBodyHeader img{
	display: none;
}

#contentBodyHeader p{
	font-weight: bold;
	font-size: 1.2em;
	padding: 0.25em 1.0em;
	border-top: 1px #ddd solid;
	border-bottom: 1px #ddd solid;
}

#contentBodyMain ul li,
#contentBodyMain ol li{
	padding-bottom: 0.3em;
}

#contentBodyMain h1{
	margin: 0;
	padding: 0.75em 0;
	border-top: #D6000C 7px solid;
}

#contentBodyMain h1 span.acv{
	font-size: 0.6em;
	padding-left: 0.25em;
}

#contentBodyMain h2{
	margin: 2.0em 0 1.0em 0;
	padding: 1.0em;
	font-weight: bold;
	background: #EEE;
	border-top: #D6000C 2px solid;
	line-height: 1.2em;
	letter-spacing: 0.05em;
	scroll-margin-top: 120px;
}

#contentBodyMain h2 span{
	font-size: 0.8em;
	color: #FFF;
	background: #D6000C;
	padding: 0.1em 0.5em;
	margin: 0 0.75em 0 0;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	position: relative;
	letter-spacing: 0;
}

#contentBodyMain h2 span:after {
	border: 4px solid transparent;
	border-left-color: #D6000C;
	border-right-width: 0;
	right: -4px;
	content: "";
	display: block;
	top: 5px;
	position: absolute;
	width: 0;
}

#contentBodyMain h3{
	margin: 2.0em 0 1.0em 0;
	padding: 0.25em 0;
	font-weight: bold;
	border-bottom: 1px #CCC solid;
}

@media screen and (max-width: 767.98px) {
	/* col-xs、col-sm */
	#contentBodyMain h3{
		margin-top: -70px;
		padding-top: 70px;
	}
	#contentBody img{
		max-width: 100%!important;
	}
}

#contentBodyMain h3.compact{
	color: #444;
	margin: 0;
	border: 0;
	font-weight: normal;
	font-size: 1.214em; /*17px*/
}

#contentBodyMain h4{
	margin: 2.0em 0 1.0em 0;
	font-weight: bold;
}

#contentBodyMain table th,
#contentBodyMain table td{
	vertical-align: middle;
}

#contentBodyMain p.catchcopy:first-letter{
	font-size: 2.0em;
	color: #D6000C;
	padding-right: 0.1em;
}

@media screen and (max-width: 767.98px) {
		#contentBodyMain{
			margin: 0 0 3.0em 0;
		}
}


#contentBodyContact{
	margin: 5.0em 0 2.0em 0;
	vertical-align: text-bottom;
}


#contentBodyContact p>strong{
	font-size: 1.214em;
}

#contentBodyContact button{
	margin: 0.75em 0.5em 0 0;
}



/*	contentBody for Company
----------------------------------------------------*/
#contentBodyMain ul.contentBodyPageMenu{
	list-style-type: none;
	padding: 0 0 1.5em 0;
}

#contentBodyMain ul.contentBodyPageMenu li{
	float: left;
	padding-right: 1.0em;
}

#contentBody section.panels p.panel-title{
	font-size: 14px !important;
}

#contentBodyCompanyProfile table td ul{
	padding-left: 20px;
}

#contentBodyCompanyTransaction li.other{
	list-style-type: none;
}

#contentBodyEquipment table td.machine{
}

#contentBodyEquipment table td.number{
	text-align: right;
	width: 5.0em;
}

#contentBodyEquipment .process{
	color: #d5000c;
}
#contentBodyEquipment .product{
	color: #03a9f4;
}
#contentBodyEquipment .engineering{
	color: #4caf50;
}
#contentBodyEquipment table td.process,
#contentBodyEquipment table td.product,
#contentBodyEquipment table td.engineering{
	text-align: center;
	width: calc(1em + 16px);
}

#contentBodyOffice table tr{
cursor: pointer;
}
#contentBodyOffice table th{
	width: 32%;
	font-weight: normal;
	border-right: 1px #ddd solid;
}
#contentBodyOffice table tr:hover th{
	text-decoration: underline;
}

#contentBodyOffice table td.officeMap{
	width: 11%;
	margin-bottom: 10px;
}

#contentBodyOffice table td.officeMap a{
	background: #d6000c;
	color: #fff;
	border-radius: 3px;
	padding: 2px 5px;
	text-decoration: none;
	pointer-events: none;
}

#contentBodyOffice table tr:hover td.officeMap a{
	background: #fff;
	color: #d6000c;
	border: 1px solid #d6000c;
}

#contentBodyHistory table th{
	font-weight: normal;
	padding-left: 2.0em;
	background: url(../img/company/bg_history.gif) repeat-y;
	white-space: nowrap;
}

#contentBodyHistory table th.stYear{
	font-weight: bold;
	color: #D6000C;
	font-style: italic;
	background: url(../img/company/bg_history02.gif) repeat-y;
}

#contentBodyHistory table th.stHistory{
	background: url(../img/company/bg_history01.gif) repeat-y;
}

#contentBodyHistory table.his th{
	font-weight: normal;
	padding-left: 2.0em;
	background: url(../img/company/bg_history00.gif) repeat-y;
}

#contentBodyHistory table.his th.stYear{
	font-weight: bold;
	color: #D6000C;
	font-style: italic;
	background: url(../img/company/bg_history002.gif) repeat-y;
}

#contentBodyHistory table.his th.stHistory{
	background: url(../img/company/bg_history001.gif) repeat-y;
}

#contentBodyGroup h3{
/*	margin-top: -55px;*/
	margin-top: 10px;
	padding-bottom: 1.0em;
}

#contentBodyHistory .bold {
	font-weight: bold;
}

#contentBodyHistory .historyCommonArea{
	display: inline;
}

#contentBodyHistory .historyCommonArea .contentBodyBlogCate{
	font-size: 0.7em;
	padding: 0.2em 0.5em;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	display: inline;
	margin: 0 5px;
	white-space: nowrap;
}

#contentBodyHistory .historyCommonArea .contractors{
	border: 1px solid #D6000C;
	background-color: #fff;
	color: #D6000C;
}

#contentBodyHistory .historyCommonArea .engineering{
	border: 1px solid #3CC18F;
	background-color: #fff;
	color: #3CC18F;

}

#contentBodyHistory .historyCommonArea .ownproducts{
	border: 1px solid #0085B2;
	background-color: #fff;
	color: #0085B2;
}

#contentBodyHistory .historyCommonArea .group{
	border: 1px solid #B54BB9;
	background-color: #fff;
	color: #B54BB9;
}

#contentBodyEmployment table th{
	width: 8.0em;
	text-align: center;
}

#contentBodyBrochure{
	margin-top: 40px;
}

#contentBodyBrochure a{
	display: inline-block;
}

#contentBodyBrochure a img{
	width: 190px;
}

@media screen and (max-width: 768px) {
	/* col-xs、col-sm */
	#contentBodyBrochure{
		text-align: center;
	}
}

/*2023/01/29add*/
#prActivities{
	margin-bottom: 150px;
}

#prActivities h2{
	padding: 1em 0;
	background: none;
	border-top: none;
	font-size: 1.8em;
	border-bottom: 1px #dc2731 solid;
}

#prActivities h2 strong{
	font-size: 1.2em;
	color: #dc2731;
	font-weight: 900;
}

#prActivities h2 img{
	display: inline-block;
	margin: 0 10px;
}

#prActivities img{
	max-width: 100%;
}

#prActivities iframe{
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	#prActivities div.prInfo img{
		max-width: 60%;
	}
}

#prActivities div.prBox{
	width: 100%;
	margin: 10px 0 30px 0;
	padding: 30px 30px 20px 30px;
	border-radius: 7px;
	box-shadow: 0px 0px 20px -5px rgb(0 0 0 / 25%);
	background: #fff;
}

#prActivities .prInfo a img{
	display: inline;
}

#prActivities .prPhoto .effect img{
	border-radius: 7px;
}


/*	contentBody for Virtualtour
----------------------------------------------------*/
#contentBodyVirtualtour .virtual-icon {
	display: inline-block;
	margin: 0 0.5rem 0 0;
}

#contentBodyVirtualtour .tour-start:hover {
	opacity: 0.7;
}



/*	contentBody for Devindex
----------------------------------------------------*/
#contentBodyMainDevMenu{
	margin: 4.0em 0 1.0em 0;
}

#contentBodyMainDevMenu div.devBlock{
	text-align: center;
	padding-bottom: 2.0em;
	font-size: 0.857em;
}

#contentBodyMainDevMenu div.devBlock img{
	margin-bottom: 0.25em;
	border: 3px #999 solid;
}

#contentBodyMainDevMenu div a:link {color: #D6000C; text-decoration:none;}
#contentBodyMainDevMenu div a:visited {color: #D6000C; text-decoration:none;}
#contentBodyMainDevMenu div a:active {color: #333; text-decoration:none;}
#contentBodyMainDevMenu div a:hover {color: #333; text-decoration:none;}



/*	contentBody for Form
----------------------------------------------------*/
#contentBodyForm{

}

#contentBodyForm dl dt img{
	display: none;
}

#contentBodyForm dl dt a:link {color: #333; text-decoration:underline;}
#contentBodyForm dl dt a:visited {color: #333; text-decoration:underline;}
#contentBodyForm dl dt a:active {color: #333; text-decoration:underline;}
#contentBodyForm dl dt a:hover {color: #23527C; text-decoration:underline;}

#contentBodyForm img{
	display: inline;
	margin-right: 0.5em;
}

#contentBodyForm input[type="text"],
#contentBodyForm input[type="tel"],
#contentBodyForm input[type="email"],
#contentBodyForm select,
#contentBodyForm textarea{
	border: #AAA 1px solid;
	background: #FFF0F0;
}

#contentBodyFormComp{
	padding-bottom: 200px;
}



/*	contentBody for Form
----------------------------------------------------*/
#search-results h1{
	font-size: 1.571em; /*22px*/
	margin: 2.0em 0;
}

#search-results div.content-nav{
	text-align: center;
}

#search-results div.asset-body a:link {color: #333; text-decoration:underline;}
#search-results div.asset-body a:visited {color: #333; text-decoration:none;}
#search-results div.asset-body a:active {color: #333; text-decoration:none;}
#search-results div.asset-body a:hover {color: #333; text-decoration:none;}



/*	contentBody for Sitemap
----------------------------------------------------*/
#contentBodySitemap{
}

#contentBodySitemap ul{
	list-style-type: none;
	padding-left: 0;
}

#contentBodySitemap ul li.top{
	background: #F5F5F5;
	border: 1px #ccc solid;
	padding: 0.5em;
	margin-top: 1.5em;
	margin-bottom: 0.5em;
	font-weight: bold;
}

#contentBodySitemap ul li.top a:link{color: #333; text-decoration: none;}
#contentBodySitemap ul li.top a:visited {color: #333; text-decoration: none;}
#contentBodySitemap ul li.top a:active {color: #333; text-decoration: none;}
#contentBodySitemap ul li.top a:hover {color: #337ab7; text-decoration: underline;}

#contentBodySitemap ul li.parent{
	border-bottom: 1px #ccc solid;
	padding: 0.5em;
	font-weight: bold;
	margin: 0.5em 0 0.5em 1.5em;
}

#contentBodySitemap ul li.sub{
	margin-left: 2.0em;
}

#contentBodySitemap ul.folder > ul.folder > ul.folder li.sub{
	margin-left: 3.0em;
}

#contentBodySitemap ul.folder{
	margin-bottom: 1.0em;
}



/*	contentBody for Error
----------------------------------------------------*/
#contentBodyError{
	padding-bottom: 200px;
}

#contentBodyError ul{
	margin: 2.0em 0;
}



/*	contentBody for Blog
----------------------------------------------------*/
#contentBodyHeaderBlog{
	padding: 0.75em 0 0 0;
	border-top: 1px #ccc solid;
}

#contentBodyHeaderBlog p{
	margin: 0;
	color: #666;
}

#contentBodyBlog{
	margin: 0.75em 0 1.5em 0;
}

#contentBodyBlog p{
	text-align: justify;
	text-justify: inter-ideograph;
}

#contentBodyBlog div.newsCommonArea{
	display: inline;
}

section#movie {
	text-align: center;
}
section#movie iframe {
	margin: 20px auto;
	max-width: 100%;
}
div.newsCommonArea div.contentBodyBlogCate{
	font-size: 0.857em;
	padding: 0.2em 0.5em;
	-moz-border-radius:3px;
	-webkit-border-radius: 3px;
	border-radius:3px;
	display: inline;
}

#contentBodyBlog dl.blogIndex{
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
	border-bottom: 1px #EEE solid;
	display: flex;
}

#contentBodyBlog dl.blogIndex dt{
	width: 12em;
	font-weight: normal;
}

#contentBodyBlog dl.blogIndex dd{
	width: calc(100% - 12em);
}

#contentBodyBlog dl.blogIndex dd a:link{color: #333; text-decoration: none;}
#contentBodyBlog dl.blogIndex dd a:visited {color: #333; text-decoration: none;}
#contentBodyBlog dl.blogIndex dd a:active {color: #333; text-decoration: none;}
#contentBodyBlog dl.blogIndex dd a:hover {color: #23527C; text-decoration: underline;}


@media screen and (max-width: 767.98px) {
	#contentBodyBlog dl.blogIndex dt,
	#contentBodyBlog dl.blogIndex dd{
		float: none;
	}
}

#contentBodyBlog ul{
	margin: 3.0em 0;
}

#contentBodyBlogEyecatch{
	margin: 0 auto 1.5em auto;
}

#contentBodyBlogEyecatch p{
	text-justify: auto;
	text-align: center;
	font-weight: bold;
}

#contentBodyBlogPhoto p{
	font-size: 0.857em; /*12px*/
}

#contentBodyBlogCategories{
	margin: 0 0 2.0em 0;
}

#contentBodyBlogCategories a:link{color: #fff; text-decoration: none;}
#contentBodyBlogCategories a:visited {color: #fff; text-decoration: none;}
#contentBodyBlogCategories a:active {color: #fff; text-decoration: none;}
#contentBodyBlogCategories a:hover {color: #ddd; text-decoration: none;}

#contentBodyBlogCategories span{
	display: inline-block;
}

@media screen and (max-width: 767.98px) {
	#contentBodyOffice table th{
		background: #eee;
		text-decoration: underline;
	}

	#contentBodyOffice table th,
	#contentBodyOffice table td{
		display: block;
		width: auto;
	}

	#contentBodyOffice table td.officeMap{
		width: auto;
		border: 0;
	}
}


/*	contentBody for Blog add eyeCatch
----------------------------------------------------*/

#contentBodyBlog02{
	margin: 0 0 1.5em 0;
}

#contentBodyBlog02 dl{
	margin-bottom: 0.5em;
	padding: 10px 0;
	border-bottom: 1px #EEE solid;
	display: flex;
	position: relative;
}
#contentBodyBlog02 dl:hover{
	opacity: .75;
}
#contentBodyBlog02 dl a{
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
}

#contentBodyBlog02 dl dt img{
	width: 120px;
}

#contentBodyBlog02 dl dd{
	padding: 0 15px;
	width: calc(100% - 70px);
}

#contentBodyBlog02 dl dd p{
	font-size: 1.15em;
	font-weight: bold;
}

#contentBodyBlog02 dl dd time,
#contentBodyBlog02 dl dd div{
	display: inline;
}

#contentBodyBlog02 dl dd time{
	color: #888;
	white-space: nowrap;
}

#contentBodyBlog02 div.newsCommonArea{
	padding: 0 0.5em 0 0;
}

#newsPagenate{
	margin-top: 15px;
}
#newsPagenate .current_page,
#newsPagenate .link_page,
#newsPagenate .link_next,
#newsPagenate .link_before{
	display: inline-block;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	transition: all .15s;
}
#newsPagenate .link_page,
#newsPagenate .link_next,
#newsPagenate .link_before{
	background: #eee;
	text-decoration: none!important;
	margin-bottom: 5px;
}
#newsPagenate .current_page,
#newsPagenate .link_page:hover,
#newsPagenate .link_next:hover,
#newsPagenate .link_before:hover{
	background: #d5000c;
	color: #fff;
}
#newsPagenate .link_before{
	margin-right: 3px;
}
#newsPagenate .link_next{
	margin-left: 3px;
}
@media screen and (max-width: 767.98px) {
	#contentBodyBlog02 dl dt img{
		width: 70px;
	}
	#contentBodyBlog02 dl dd p{
		font-size: 1.0em; /*14px*/
		font-weight: bold;
		line-height: 1.1em;
		padding: 0;
	}
	#contentBodyBlog02 dl dd time,
	#contentBodyBlog02 dl dd div{
		font-size: 0.786em;
	}
	
	#newsPagenate .current_page,
	#newsPagenate .link_page,
	#newsPagenate .link_next,
	#newsPagenate .link_before{
		width: 25px;
		height: 25px;
		line-height: 25px;
	}
}



/*	sideMenu
----------------------------------------------------*/
#contentSideMenu span.sideMenuHeader{
	padding: 10px 15px;	
	background: #333;
	background: -moz-linear-gradient(top, #444, #222);
	background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#222));
	background:-ms-linear-gradient(top, #444, #222);
	background: linear-gradient(top center, #444 0%, #222 100%);
	border-color: #222;
	border-top: 1px #444 solid;
	border-left: 6px #D6000C solid;
	color: #fff;
	text-shadow: #444 1px 1px;
	z-index: 2;
}

#contentSideMenu span.sideMenuHeader a:link{color: #fff;}
#contentSideMenu span.sideMenuHeader a:visited {color: #fff;}
#contentSideMenu span.sideMenuHeader a:active {color: #fff;}
#contentSideMenu span.sideMenuHeader a:hover {color: #ddd; text-decoration: none;}

#contentSideMenu .list-group > .disableMenu{
	background: #F5F5F5;
	cursor: default;
}

#contentSideMenu .list-group-item > .badge{
	background: #D6000C;
}

#contentSideMenu .subcate{
	padding-left: 2.0em;
}

#contentSideMenu .nocount{
	color: #ccc;
}

#contentSideBnr ul{
	padding: 0;
	list-style-type: none;
}

#contentSideBnr li{
	margin: 1.0em 0;
}

#contentSideBnr p{
	margin: 0.25em 0 0 0;
	font-size: 0.857em; /*12px*/
	line-height: 1.1em;
	text-align: center;
}

#contentSideBnr li img:hover{
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}
@media (max-width: 991.98px) {
	#contentSideBnr li img{
		max-width: 350px!important;
	}
}


/*	footer
----------------------------------------------------*/
footer{
	margin: 4.0em 0 2.0em 0;
}

#footerDir{
	background: #222;
	color: #F8F8F8;
	font-size: 0.857em; /*12px*/
}

#footerDir a:link {color: #F8F8F8;}
#footerDir a:visited {color: #F8F8F8;}
#footerDir a:active {color: #F8F8F8;}
#footerDir a:hover {color: #F8F8F8;}

#footerDir .footerDirTitle{
	font-size: 1.0em;
	margin-top: 2.0em;
	margin-bottom: 1em;
	padding: 0.5em 0.25em 0.75em;
	border-bottom: #999 1px solid;
}

#footerDir ul{
	padding: 0;
	list-style: none;
	margin-bottom: 0;
}
#footerDir ul.folder li{
	position: relative;
	padding-left: 11px;
	margin-bottom: 8px;
	display: block;
}
#footerDir ul.folder li:before{
	content: "";
	background: #777;
	width: 6px;
	height: 1px;
	position: absolute;
	top: 7px;
	left: 0;
}
#footerDir ul.folder ul{
	margin-top: 7px;
}
#footerDir ul.folder ul li:before{
	width: 5px;
	height: 5px;
	border-radius: 50%;
	top: 5px;
	background: #777;
}

#footerDir ul.footerDirSub{
	display: flex;
	justify-content: flex-end;
	align-content: center;
	list-style-type: none;
	padding: 2.0em 0;
}

#footerDir ul.footerDirSub li{
	align-self: center;
	display: inline;
}

#footerDir ul.footerDirSub li:before{
	content: " ｜ ";
}

#footerDir ul.footerDirSub li:first-child:before,
#footerDir ul.footerDirSub li.footer-instagram:before{
	content: none;
}

#footerDir ul.footerDirSub li.footer-instagram {
	margin-left: 1.5rem;
}

#footerLogo{
	padding: 2.0em 0;
}

@media screen and (max-width: 767.98px) {
	#footerLogo img{
		width: 50%;
	}
}

#footerCopyright{
	border-top: #D6000C 10px solid;
	padding: 1.0em 0 0 0;
}




/*	Career
----------------------------------------------------*/
#contentBodyCareer{
	margin-top: 40px;
}

#contentSideMenuCareer{
	margin-bottom: 20px;
	border-top: 7px #D6000C solid;
	padding: 1.0em;
	background: #FAF8F4;
}

#contentSideMenuCareer p{
	text-align: center;
	font-weight: bold;
}

#contentSideMenuCareer ul{
	list-style-type: none;
	padding-left: 0;
}

#contentSideMenuCareer ul li{
	padding: 1.0em 0;
	border-bottom: 1px #ddd solid;
}

.size20px{
	font-size: 1.429em
}

.size24px{
	font-size: 1.714em;
}

#contentBodyCareerIndex{
	padding: 0 0 2.0em 0;
}

.row-eq-height {
	display: flex;
	flex-wrap: wrap;
}

#contentBodyCareerIndex div.careerEntry{
	background: #f8f8f8 none repeat scroll 0 0;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin: 0 auto 20px;
	max-width: 400px;
	padding: 0.75em;
}

#contentBodyCareerIndex div.col-md-4 a{display:block;}
#contentBodyCareerIndex div.col-md-4 a:link {text-decoration:none;}
#contentBodyCareerIndex div.col-md-4 a:visited {text-decoration:none;}
#contentBodyCareerIndex div.col-md-4 a:active {color: #0085B2; text-decoration:none;}
#contentBodyCareerIndex div.col-md-4 a:hover {color: #23527C; text-decoration:none;}


#contentBodyCareerIndex h3{
	font-weight: bold;
	height: 2.0em;
	margin-top: 0.75em;
	padding: 0 0 0.5em 0;
	border: 0;
	text-decoration: underline;
}

@media screen and (max-width: 767.98px) {
	#contentBodyCareerIndex h3{
	}
}

#contentBodyCareerIndex div.col-md-4 p{
	color: #000;
	font-size: 0.857em;
	border: 0;
	line-height: 1.42857;
}

#contentBodyCareerIndex div.col-md-4 p.cate{
	border: 1px #ccc solid;
	border-radius: 2px;
	background: #fff;
	display: inline-block;
	padding: 0 0.3em;
}

#contentBodyCareerHeader{
	padding: 0 0 2.0em 0;
}

#contentBodyCareerHeader p{
	text-align: center !important;
}

#contentBodyCareerHeader p.jobNo{
	text-align: right !important;
}

#contentBodyCareerHeader p.jobNo strong{
	font-size: 1.571em;
}

#contentBodyCareerHeader p.jobBtn{
	margin: 4.0em 0;
	font-weight: bold;
}

#contentBodyCareerHeader p.jobTelInfo{
	margin: 0;
}

#contentBodyCareerHeader p.jobTelNum{
	font-weight: bold;
	font-size: 2.0em;
	display: block;
}


img.floL{
	float: left;
}

h2.scheh2{
	color: #000;
	font-size: 1.4em;
}

.schedetail{
	background-color: #F6F6F6;
	padding: 20px;
}

.schedetail h3{
	margin: 0em 0em 1.7em 0em !important;
	padding: 0.3em 1em !important;
	font-weight: normal !important;
	color: #D6000C;
	font-size: 18px;
	border-radius: 17px; 
	-webkit-border-radius: 17px;
	-moz-border-radius: 17px;
	border: 1px solid #D6000C !important;
	display: inline-block;
}

.schedule ul{
	list-style: none;
	padding-left: 0px;
}

.schedule ul.childul{
	padding: 0px;
	list-style: disc;
	padding-left: 20px;
}

.schedule ul li.prt{
	font-size: 14px;
	background: url(../img/employment/img_highschool_sche01.png) no-repeat left top;
	padding-left: 30px;
	padding-bottom: 50px !important;
}

.schedule li.last{
	background: url(../img/employment/img_highschool_sche02.png) no-repeat left top;
	min-height: inherit;
	padding-left: 30px;
}

.schedule p.time{
	color: #D6000C;
	font-size: 16px;
	margin-bottom: 5px;
	line-height: 1.2em !important;
}

.schedule p.timetit{
	font-size: 16px;
	margin-bottom: 0px;
}

.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe, .ggmap object, .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* toppage info
------------------------------------------------------------ */
.top_information{
	position: fixed;
	bottom: 0;
	z-index: 999;
	background: #111111b3;
	color: #fff;
	text-align: left;
	right: 0;
}
.top_information:before {
	font-weight: 900;
	content: "i";
	position: absolute;
	top: 50%;
	left: 20px;
	font-size: 1.3em;
	color: #fff;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 2px solid #fff;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 1.3em;
}
.top_information:hover{
	transition: .3s;
	background: #111;
}
.top_information_inner{
	display: flex;
	margin-bottom: 5px;
}
.top_information a{
	display: block;
	color: #fff;
	padding: 15px 60px 15px 80px;
}
.top_information a:hover{
	text-decoration: none;

}
.top_information .date{
	font-size: 0.7em;
	line-height: 1;
	color: #fff;
	padding: 2px 0;
}
.top_information .cat{
	background: #fff;
	color: #222;
	padding: 2px 5px;
	font-size: 0.7em;
	line-height: 1;
	margin-right: 7px;
}
.top_information .title{
	font-size: 1em;
	line-height: 1;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.05em;
	transform-origin: left top;
	overflow: hidden;
}
@media screen and (max-width: 736px){
	.top_information{
		width: 100%;
	}
	.top_information:before {
		left: 30px;
		font-size: 0.75em;
		width: 17px;
		height: 17px;
		top: 52%;
	}
	.top_information a{
		padding: 11px 10px 12px 40px;
		text-align: center;
	}
	.top_information_inner{
		display: none;
	}
	.top_information .title{
		font-size: 12px;
	}
}
.panel-heading{
	position: relative;
}
.business-tag{
	position: absolute;
	right: 0;
	top: 0;
	margin-top: 14px;
}
.business-tag span{
	border: 1px solid #222;
	border-radius: 5px;
	padding: 0 2px;
	font-size: 0.9rem;
	color: #222;
	margin-right: 5px; 
}
.business-tag span.ownproducts{
	border-color: #0085B2;
	color: #0085B2;
}
.business-tag span.contractors{
	border-color: #D6000C;
	color: #D6000C;
}
.business-tag span.engineering{
	border-color: #3CC18F;
	color: #3CC18F;
}


@media screen and (min-width: 1200px){
	br.br{
	display: none;
	}
}

.movie-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.bnrQualities{
	text-align: center;
	margin: 30px 0;
	padding-top: 45px;
	padding-bottom: 30px;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}
.bnrQualities a:hover{
	opacity: .75;
}
.bnrQualities img{
	width: 100%;
	max-width: 600px!important;
}
.bnrQualities.two div{
	display: flex;
	flex-wrap: wrap;
	max-width: 80%;
	margin: 0 auto 5px;
	gap: 15px;
}
.bnrQualities.two div a{
	width: calc(50% - 8px);
	display: block;
}
@media screen and (max-width: 767.98px){
	.bnrQualities p{
		font-size: 0.9em!important;
		text-align: left!important;
	}
	.bnrQualities.two div{
		display: block;
	}
	.bnrQualities.two div a{
		width: 100%;
	}
	.bnrQualities.two div a:first-of-type{
		margin-bottom: 5px;
	}
}



/* bnr_recruit_pc
------------------------------------------------------------ */
/*.bnr_recruit_pc_contents {
	position: fixed;
	bottom: 20px;
	left: 20px;
	z-index: 999;
	width: 10vw;
	max-width: 270px;
	min-width: 180px;
	opacity: 1;
	color: #fff;
	transition: .5s all;
}

.bnr_recruit_pc_contents:hover {
	transform: translateY(-10px);
}

.bnr_recruit_pc_contents a {
	display: block;
}

.bnr_recruit_pc_contents a img {
	width: 100%;
}

@media screen and (max-width: 736px){
	.bnr_recruit_pc_contents {
		display: none;
	}
}*/

