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




/*****************************************************************************
経営理念
 *****************************************************************************/
#philosophy {
	text-align: center;
}
#philosophy .hd {
	font-size: 1.6rem;
}
#philosophy .text {
	font-size: 1.8rem;
	padding: 20px 0 50px;
}






/*****************************************************************************
代表メッセージ
 *****************************************************************************/

#message {
	display: flex;
}
#message .main {
	flex: 1;
	margin-left: 60px;
}
#message .column {
	width: 30%;
	max-width: 330px;
}
#message .column .img {
	width: 100%;
}
#message .column .img img {
	width: 100%;
}
#message .title {
	font-size: 1.8rem;
	font-weight: 700;
	color: #10104B;
}
#message .text {
	line-height: 2.6;
}
#message .signiture  {
	margin-top: 20px;
	line-height: 1;
}
#message .signiture p {
	display: inline-block;
	text-align: left;
}
#message .signiture span {
	display: block;
}
#message .column .signiture .company {
	line-height: 1.4;
}
#message .column .signiture .name  {
	font-size: 1.6rem;
	letter-spacing: 0.3em;
	margin-top: 12px;
}
#message .main .signiture .img {
	margin-top: 20px;
	text-align: right;
}
#message .main .signiture img {
	width: 160px;
	opacity: 0.7;
}


@media screen and (max-width: 1000px) {
	#message {
		display: block;
	}
	#message .column {
		margin: 0 auto;
		width: 100%;
		max-width: 330px;
	}
	#message .main {
		margin: 20px 0 0;
	}
	#message .text {
		line-height: 2.2;
	}
}




#profile {
	display: flex;
	justify-content: center;
}
#profile .hd {
	text-align: center;
	font-size: 1rem;
}
#profile .table {
	padding: 10px 0 0;
	font-size: 0.875rem;
}
#profile table {
	border-collapse: collapse;
	border-spacing: 0;
}

#profile table th,
#profile table td {
	padding: 5px 30px;
	vertical-align: top;
}
#profile table th {
	border-right: 1px solid #E8E8F2;
}
 @media screen and (max-width: 700px) {
	#profile table th,
	#profile table td {
		padding: 5px 10px;
	}
}




 /*****************************************************************************
いきいき
 *****************************************************************************/
#ikiiki {
	background: #e8e8f2;
	padding: 70px 0;
	position: relative;
	z-index: 2;
}
#ikiiki > .inner {
	padding: 0 10%;
}
#ikiiki .box {
	display: flex;
}
#ikiiki .box .img {
	width: 220px;
	text-align: center;
}
#ikiiki .box .img img {
	width: 100%;
}
#ikiiki .hd {
	font-size: 1.8rem;
	margin-bottom: 50px;
	color: #1b1c80;
}
#ikiiki .text {
	flex: 1;
	padding: 0 0 0 50px;
}
 @media screen and (max-width: 900px) {
	#ikiiki .box {
		display: block;
	}
	#ikiiki .box .img {
		margin: 0 auto 30px;
	}
}
@media screen and (max-width: 600px) {
	#ikiiki {
		padding: 50px 0;
	}
	#ikiiki > .inner {
		padding: 0;
	}
	#ikiiki .text {
		padding: 0;
	}
}

/*****************************************************************************
会社概要
 *****************************************************************************/


.overviewTbl {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.3);
}
.overviewTbl th,
.overviewTbl td {
	padding: 12px 20px;
	line-height: 1.4;
}
.overviewTbl th {
	width: 25%;
	color: #1b1c80;
	font-weight: 700;
	text-align: right;
	background-color: #F5F7F8;
	line-height: 1.2;
}
.overviewTbl td {
	border-bottom: 2px solid #F5F7F8;
	text-align: left;
	position: relative;
}

.overviewTbl th {
	background-color: #f5f7f8;
	color: #1b1c80;
	text-align: center;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
}
.overviewTbl tr:nth-child(1) th {
	border-top: 2px solid #ffffff;
}
.overviewTbl tr:nth-child(1) td {
	border-top: 2px solid #F5F7F8;
}
.overviewTbl .executives dl {
	display: flex;
}
.overviewTbl .executives dt {
	width: 10em;
	font-weight: 400;
}
@media screen and (max-width: 600px) {
	.overviewTbl th,
	.overviewTbl td {
		padding: 8px 10px;
	}
	.overviewTbl:not(.overviewTbl2) th {
		width: 20%;
	}
	.overviewTbl.overviewTbl2 th {
		width: 35%;
	}
	.overviewTbl .executives dl {
		display: block;
	}
	.overviewTbl .executives dd {
		padding-left: 0.7em;
	}
}










/*沿革
----------------------------------------------------*/
.historyTbl {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
.historyTbl th,
.historyTbl td {
	padding: 20px 20px;
	line-height: 1.4;
	vertical-align: top;
}
.historyTbl th {
	line-height: 1.2;
}
.historyTbl td {
	line-height: 1.3;
}
.historyTbl thead {
	text-align: center;
}
.historyTbl thead th {
	padding: 20px 0;
}
.historyTbl thead img {
	height: 32px;
	transition: all .3s;
}
.historyTbl thead a img:hover {
	opacity: 0.7;
}
.historyTbl tbody th {
	width: 12%;
	color: #1b1c80;
	font-weight: 700;
	text-align: center;
	background-color: #f5f7f8;
}
.historyTbl tbody td {
	width: 44%;
	position: relative;
}
.historyTbl tbody td p {
	position: relative;
	margin-top: 10px;
}
.historyTbl tbody td p:nth-child(1) {
	margin-top: 0;
}
.historyTbl tbody td.awm {
	text-align: right;
	padding-right: 50px;
}
.historyTbl tbody td.aw {
	text-align: left;
	padding-left: 50px;
}
.historyTbl tbody td p:nth-child(1)::before {
	content: "";
	width: 50px;
	height: 1px;
	background: #1A1B7F;
	position: absolute;
	top: 0.65em;
}
.historyTbl tbody td.awm p:nth-child(1)::before {
	right: -60px;
}
.historyTbl tbody td.aw p:nth-child(1)::before {
	left: -60px;
}
@media screen and (max-width: 770px) {
	.historyTbl thead img {
		height: 25px;
	}
	.historyTbl th,
	.historyTbl td {
		padding: 10px 10px;
	}
	.historyTbl thead th,
	.historyTbl thead td{
		padding: 10px 0;
	}
	.historyTbl tbody td.awm {
		padding-right: 20px;
		padding-left: 0;
	}
	.historyTbl tbody td.aw {
		padding-left: 20px;
		padding-right: 0;
	}
	.historyTbl tbody td p:nth-child(1)::before {
		width: 17px;
	}
	.historyTbl tbody td.awm p:nth-child(1)::before {
		right: -24px;
	}
	.historyTbl tbody td.aw p:nth-child(1)::before {
		left: -24px;
	}
}
@media screen and (max-width: 770px) {
	.historyTbl thead img {
		max-height: 18px;
		max-width: 100%;
	}

}



/*****************************************************************************
事務所・生産拠点
 *****************************************************************************/

.mapBox {
	line-height: 1
}
.mapBox.domestic {
	display: flex;
}
.mapBox.domestic:not(:nth-of-type(1)) {
	margin-top: 70px;
}
.mapBox.domestic > div {
	width: 50%;
}
.mapBox.domestic > .info {
	padding-right: 40px;
}

.mapBox .infoNote {
	margin: -5px 0 20px;
	font-size: 0.875rem;
}

.mapBox .cat {
	margin-bottom: 17px;
	font-weight: 700;
	color: #1b1c80;
}
.mapBox .cat span{
	display: block;
	margin-bottom: 10px;
}
.mapBox .hdType21 {
	font-size: 1.9rem;
}
.mapBox .address {
	line-height: 1.4;
	font-size: 1.125rem;
}
.mapBox .tel,
.mapBox .fax {
	margin-top: 20px;
}
.mapBox .tel span.l,
.mapBox .fax span.l {
	margin-right: 0.5em;
	border: 1px solid #E8E8F2;
	background: #FAFAFA;
	line-height: 20px;
	padding: 0 10px;
	vertical-align: baseline;
	font-size: 0.875rem;
	transform: translateY(-3px);
	display: inline-block;
}
.mapBox .tel span.n,
.mapBox .fax span.n {
	font-size: 1.4em;
}
.mapBox > .map .inner {
	padding: 67% 0 0;
	position: relative;
	overflow: hidden;
	background: #F5F7F8;
}
.mapBox > .map .google-map {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mapBox > .map .google-map:not( .is-loaded ) {
	background-color: #ddd;
	-webkit-animation: fade-in-out 1s linear infinite;
	animation: fade-in-out 1s linear infinite;
}
.chinaLocations {
	display: flex;
	margin-top: 70px;
}
.chinaLocations .mapBox {
	width: calc((100% - 120px)/3);
	margin-left: 60px;
}
.chinaLocations.chinaLocations2 .mapBox {
	width: calc((100% - 60px)/2);
}
.chinaLocations .mapBox:nth-child(1) {
	margin-left: 0;
}



@media screen and (max-width: 800px) {
	.mapBox.domestic {
		display: block;
	}
	.mapBox.domestic > div {
		width: auto;
	}
	.mapBox.domestic > .info {
		padding-right: 0;
		padding-bottom: 20px;
	}
	.chinaLocations {
		display: block;
	}
	.chinaLocations .mapBox,
	.chinaLocations.chinaLocations2 .mapBox,
	.chinaLocations .mapBox:nth-child(1) {
		width: auto;
		margin-left: 0;
	}
	.chinaLocations .mapBox:not(:nth-child(1) ) {
		margin-top: 70px;
	}
}


.outline_link {
	text-decoration: none;
	position: relative;
	padding-right: 22px;
}
.outline_link:hover {
	text-decoration: underline;
}
.outline_link .fa-external-link:before {
	font-size: 14px;
	position: absolute;
	top: 9px;
	right: 0;
}
@media screen and (max-width: 340px) {
	.outline_link .fa-external-link:before {
		font-size: 12px;
		top: 8px;
		left: 268px;
	}
}



/*****************************************************************************
bodyBg
 *****************************************************************************/

body > .bodyBg.outline {
	background-image:url(../images/fixedBgOutline2.jpg);
}
body > .bodyBg.location  {
	background-image:url(../images/fixedBgOutline.jpg);
}






/*****************************************************************************
keyframes
 *****************************************************************************/


@-webkit-keyframes fade-in-out {
	from	{ opacity: 1; }
	50%		{ opacity: 0; }
	to		{ opacity: 1; }
}
@keyframes fade-in-out {
	from	{ opacity: 1; }
	50%		{ opacity: 0; }
	to		{ opacity: 1; }
}

/*****************************************************************************
採用情報　男女の賃金の差異
 *****************************************************************************/

.wage-difference {
	display: flex;  
	flex-wrap: wrap;  
}
.wage-difference dt,
.wage-difference dd {
	padding: 6px;
}
.wage-difference dt {
	width: 11em;
}
.wage-difference dd {
	margin-left: 0;
	width: calc(100% - 11em);
}
@media screen and (max-width: 900px) {
	.wage-difference {
	width:100%; 
}

	.wage-difference dt,
	.wage-difference dd {
	width:100%; 
	padding: 0 0 6px;

}
}




