@charset "Shift_JIS";

/* 事業部について
=========================================== */
.business .intro {
	background: url("../cmn_images/bg02.jpg") bottom -2px right no-repeat;
	background-size: 57% auto;
}
.business .intro .boxL,
.business .intro .boxR {
	width: 72%;
}
.business .intro .boxR {
	margin-top: 60px;
	margin-left: auto;
}
.business .txt p,
.desc .txt p {
	margin-bottom: 1em!important;
	line-height: 1.85;
}
.business .txt p:last-of-type,
.desc .txt plast-of-type {
	margin-bottom: 0!important;
}
.business .bg {
	background: #d6e2ef;
}
.business .bgW {
	background: #fff;
	padding: 70px 80px; 
	margin-bottom: 60px;
}
@media screen and (max-width: 994px) {
	.business .bgW {
		padding: 52px 50px; 
		margin-bottom: 60px;
	}
	.business .intro .boxL,
	.business .intro .boxR {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.business .intro {
		background: url("../cmn_images/bg02.jpg") bottom -2px right no-repeat;
		background-size: 85% auto;
	}
	.business .bgW {
		padding: 40px 25px; 
		margin-bottom: 40px;
	}
	.business h3 {
		margin-bottom: 25px!important;
		font-size: 26px!important;
	}
	.business .intro h3 {
		font-size: 24px!important;
	}
	.business .intro .boxR {
		margin-top: 40px;
	}
}

/* メッセージ */
.business .msg .txt {
	flex-basis: 55%;
}
.business .msg figure {
	flex-basis: min(40%, 440px);
}
.business .msg h4 {
	margin-bottom: 15px!important;
}
.business .msg .name {
	color: #245381;
	font-size: min(2.2vw, 20px);
	font-weight: 700!important;
	line-height: 1.5;
	margin-bottom: 40px!important;
}
@media screen and (max-width: 994px) {
	.business .msg .name {
		text-align: right;
	}
	.business .msg .col {
		flex-direction: column;
	}
	.business .msg .txt,
	.business .msg figure {
		flex-basis: 100%;
	}
	.business .msg figure {
		text-align: center;
	}
	.business .msg figure img {
		width: 60%!important;
		margin: 25px auto 0!important;
	}
}
@media screen and (max-width: 767px) {
	.business .msg .name {
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 20px!important;
	}
	.business .msg figure img {
		width: 100%!important;
		margin-top: 30px!important;
	}
}

/* 事業内容 */
.business .desc figure {
	width: min(90%, 974px);
	margin: 20px auto 0!important;
}
@media screen and (max-width: 767px) {
	.business .desc figure {
		width: 100%;
	}
}

/* 事業内容 */
.business .market dl {
	flex-basis: 47%;
}
.business .market dt {
	background: #f6f6f6;
	text-align: center;
}
.business .market dt img {
	max-width: 520px;
}
.business .market .ttl {
	display: table;
	margin: 25px auto 15px!important;
	padding-bottom: 12px;
	font-size: min(2.1vw, 24px);
	font-weight: 700!important;
	color: #245381;
	position: relative;
}
.business .market .ttl::before {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	height: 1px;
	background: #245381;
}
@media screen and (max-width: 767px) {
	.business .market dl:first-of-type {
		margin-bottom: 40px!important;
	}
	.business .market .ttl {
		font-size: 17px;
		margin: 17px auto 12px!important;
	}
}

/* ビジョン */
.business .vision figure {
	margin-top: 40px!important;
	max-width: 1110px;
}
@media screen and (max-width: 767px) {
	.business .vision figure {
		margin-top: 25px!important;
	}
}

/* 事業部の概要 */
.business .bgW.outline {
	padding: 0;
}

/* 表 */
.business table.table {
	border-collapse: collapse;
	width: 100%;
	border-top: 1px solid #245381;
}
.business table.table th,
.business table.table td {
	border: 1px solid #245381;
	border-left: none;
	border-right: none;
	padding: 1em 2em;
	color: #245381;
	background: #fff;
	line-height: 1.75;
	font-size: 100%;
}
.business table.table tr:last-of-type th,
.business table.table tr:last-of-type td {
	border-bottom: 1px solid #245381;
}
.business table.table th {
	text-align: left;
	width: 15%;
	white-space: nowrap;
	font-weight: 500!important;
}
.business table.table td {
	width: 85%;
}
@media screen and (max-width: 767px) {
	.business table.table th,
	.business table.table td {
		padding: 1em 1.3em;
	}
	.business table.table td {
		padding-left: 0;
	}
}

/* エントリーエリア */
.business .entryArea {
	margin-top: 110px;
}
@media screen and (max-width:1304px) {
	.business .entryArea {
		margin-top: 80px;
	}
}
@media screen and (max-width: 767px) {
	.business .entryArea {
		margin-top: 60px;
	}
}


/* 各事業部詳細ページ
=========================================== */

.desc dd ul {
	margin-left: 25px;
	padding: 0!important;
}
.desc dd ul li {
	list-style-type: disc;
	line-height: 1.75!important;
}
.desc dd ul li:not(:first-child) {
	margin-top: 0.5em;
}
.desc dd ul.noTurn li {
	margin-top: 0;
}

/* 共通
------------------------------------------------- */
/* タイトル */
#recruit.desc .intro h2 {
	margin-bottom: 60px;
}
#recruit.desc .intro h2 .honbu {
	display: table;
	font-size: min(2.5vw, 30px);
	padding-bottom: 0.3em;
	margin-bottom: 0.55em;
	position: relative;
}
#recruit.desc .intro h2 .honbu::before {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0 auto;
	width: 100%;
	height: 1px;
	background: #245381;
}
@media screen and (max-width: 767px) {
	#recruit.desc .intro h2 {
		margin-bottom: 35px;
		font-size: 30px;
	}
	#recruit.desc .intro h2 .honbu {
		font-size: 15px;
		margin-bottom: 12px;
	}
}

/* キーテクノロジーとポイント */
.desc .intro dl {
	flex-basis: 47.5%;
	background: rgba(255,255,255,0.9);
	padding: 45px 3% 35px;
	position: relative;
}
.desc .intro dl::before {
	display: block;
	content: "";
	position: absolute;
	bottom: 35px;
	right: 6%;
	margin: 0;
	height: 80%;
}
.desc .intro dl.key::before {
	width: min(30%, 200px);
	background: url("../business/images/pic_key_technologies.png") bottom right no-repeat;
	background-size: 100%;
}
.desc .intro dl.point::before {
	width: min(30%, 200px);
	background: url("../business/images/pic_point.png") bottom right no-repeat;
	background-size: 100%;
}
.desc .intro dt {
	color: #245381;
	font-size: min(3.5vw, 30px);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 25px;
}
.desc .intro dt span {
	display: block;
	font-size: 60%;
	font-weight: 600!important;
	padding-bottom: 0.5em!important;
}
.desc .intro dd {
	line-height: 1.85;
}
.desc .intro dd ul,
.desc .intro dd p {
	width: 60%;
}
.desc .intro .txt {
	width: 80%;
	margin: 60px auto 30px!important
}
.desc .intro figure {
	width: min(75%, 882px);
	margin: 0 auto!important
}
@media screen and (max-width: 994px) {
	.desc .intro .col {
		flex-direction: column;
	}
	.desc .intro dl {	
		padding: 45px 50px 40px;
	}
	.desc .intro dl:first-of-type {
		margin-bottom: 30px!important;
	}
	.desc .intro dl::before {
		bottom: 40px;
		right: 50px;
	}
	.desc .intro dd ul,
	.desc .intro dd p {
		width: calc(100% - 230px);
	}
	.desc .intro .txt {
		width: 100%;
		margin: 40px auto 30px!important
	}
	.desc .intro figure {
		width: 85%;
		margin: 0 auto!important
	}
}
@media screen and (max-width: 767px) {
	.desc .intro dl {
		padding: 35px 25px;
	}
	.desc .intro dl:first-of-type {
		margin-bottom: 20px!important;
	}
	.desc .intro dl::before {
		bottom: auto;
		right: 20px;
	}
	.desc .intro dl.key::before {
		top: 15px;
		width: min(27.5vw,115px);
		background: url("../business/images/pic_key_technologies.png") top right no-repeat;
		background-size: 100%;
	}
	.desc .intro dl.point::before {
		top: 0;
		width: 110px;
		background: url("../business/images/pic_point.png") top right no-repeat;
		background-size: 100%;
	}
	.desc .intro dt {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.desc .intro dd ul {
		width: calc(100% - 1.2em);
	}
	.desc .intro .txt {
		margin: 40px auto 15px!important
	}
	.desc .intro figure {
		width: 100%;
	}
	.desc .intro dd p {
		width: 100%;
	}
}

/* 紺bg */
.desc .bgNavy {
	background: #245381;
	color: #fff;
}
.desc .bgNavy .boxL,
.desc .bgNavy .boxR {
	flex-basis: 45.5%;
}
.desc .bgNavy dl:not(:last-of-type) {
	margin-bottom: 80px!important;
}
.desc .bgNavy dt {
	font-size: min(2.85vw, 36px);
	border-bottom: 1px solid #fff;
	padding-bottom: 0.5em;
	margin-bottom: 35px;
}
.desc .bgNavy dd {
	line-height: 1.75;
}
.desc .bgNavy figure {
	margin-top: 40px!important;
}
@media screen and (max-width: 767px) {
	.desc .bgNavy dt {
		font-size: 22px;
		padding-bottom: 0.5em;
		margin-bottom: 30px;
	}
	.desc .bgNavy .boxL,
	.desc .bgNavy dl:not(:last-of-type) {
		margin-bottom: 40px!important;
	}
	.desc .bgNavy figure {
		margin-top: 25px!important;
	}
}

/* スキルとキャリアパス */
.desc .skill {
	background: #fff;
}
.desc .skill dl {
	flex-basis: 29.75%;
}
.desc .skill dt {
	background: #b0dad0;
	font-size: min(2.1vw, 26px);
	color: #245381;
	font-weight: 700;
	margin-bottom: 25px;
	text-align: center;
	position: relative;
	line-height: 1.7;
	padding: 0.5em 0 0.5em min(6.5vw, 88px);
}
.desc .skill dl dt::before {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	margin: 0;
	height: 90px;
}
.desc .skill dl.skill01 dt {
	padding-left: min(6.5vw, 88px);
}
.desc .skill dl.skill01 dt::before {
	left: 1vw;
	width: min(6.5vw, 88px);
	background: url("../business/images/pic_skill01.png") bottom 7px center no-repeat;
	background-size: 100% auto;
}
.desc .skill dl.skill02 dt {
	padding-left: min(5.5vw, 65px);
}
.desc .skill dl.skill02 dt::before {
	left: 1.8vw;
	width: min(5.5vw, 65px);
	background: url("../business/images/pic_skill02.png") bottom 7px center no-repeat;
	background-size: 100% auto;
}
.desc .skill dl.careerpath dt {
	padding-left: min(6vw, 129px);
}
.desc .skill dl.careerpath dt::before {
	left: -0.5vw;
	width: min(9vw, 129px);
	background: url("../business/images/pic_career_path.png") bottom 4px left no-repeat;
	background-size: 100% auto;
}
.desc .skill dd p {
	line-height: 1.75!important;
}
.desc .skill dd .box {
	margin-top: 20px!important;
	background: #f6f6f6;
	padding: 12px 20px;
	border-radius: 15px;
	font-size: 85%;
	line-height: 1.75;
}
@media screen and (max-width: 767px) {
	.desc .skill dl:not(:last-of-type) {
		margin-bottom: 50px!important;
	}
	.desc .skill dt {
		font-size: 20px;
		margin-bottom: 25px;
		padding: 0.3em 0 0.4em 75px!important;
		text-align: left;
	}
	.desc .skill dl.skill01 dt::before {
		width: 88px;
		height: 72px;
		background: url("../business/images/pic_skill01.png") bottom 7px left 2px no-repeat;
		background-size: 65% auto;
	}
	.desc .skill dl.skill02 dt::before {
		width: 65px;
		height: 72px;
		background: url("../business/images/pic_skill02.png") bottom 4px left 5px no-repeat;
		background-size: 72% auto;
	}
	.desc .skill dl.careerpath dt::before {
		left: -5px;
		width: 129px;
		height: 83px;
		background: url("../business/images/pic_career_path.png") bottom 2px left 0 no-repeat;
		background-size: 65% auto;
	}
}

/* 水色bg内の見出し */
.desc .bgBlue h3:not(:first-of-type) {
	margin-top: 90px!important;
}
@media screen and (max-width: 767px) {
	.desc .bgBlue h3:not(:first-of-type) {
		margin-top: 60px!important;
	}
}

/* 先輩社員の声 */
.desc .bgBlue .voice dl {
	flex-basis: 30%;
	background: #fff;
	margin-top: 80px!important;
}
.desc .bgBlue .col2.voice {
	flex-wrap: wrap;
}
.desc .bgBlue .col2.voice dl {
	flex-basis: 47.5%;
}
.desc .bgBlue .col2.voice dl:nth-of-type(-n+2) {
	margin-bottom: 30px!important;
}
.desc .bgBlue .voice dt {
	text-align: center;
	margin-top: -80px!important;
}
.desc .bgBlue .voice dt img {
	width: min(52%,196px)!important;
}
.desc .bgBlue .voice dd {
	padding: 0 10% 40px;
}
.desc .bgBlue .voice .name {
	padding: 18px 0 1em;
	text-align: center;
	color: #245381;
	font-weight: 700!important;
	font-size: min(2.8vw, 30px);
	line-height: 1.6;
}
.desc .bgBlue .voice .name span {
	display: block;
	font-size: 67%;
}
@media screen and (max-width: 767px) {
	.desc .bgBlue .voice dl {
		margin-top: 60px!important;
	}
	.desc .bgBlue .col2.voice dl:nth-of-type(-n+2),
	.desc .bgBlue .voice dl:not(:last-of-type) {
		margin-bottom: 20px!important;
	}
	.desc .bgBlue .voice dt {
		margin-top: -60px!important;
	}
	.desc .bgBlue .voice dt img {
		width: min(38%,196px)!important;
	}
	.desc .bgBlue .voice dd {
		padding: 0 25px 35px;
	}
	.desc .bgBlue .voice .name {
		padding: 10px 0 15px;
		font-size: 24px;
	}
}

/* 部長メッセージ */
@media screen and (max-width: 994px) {
	.desc .bgBlue .msg .txt {
		order: -1;
	} 
}

/* 05 電機・機械システム設計部
------------------------------------------------- */
.desc.desc05 .intro figure {
	max-width: 700px;
}

/* 06 指揮管制システム設計部
------------------------------------------------- */
.desc.desc06 .intro figure {
	max-width: 618px;
}

/* 07 航空・通信システム設計部
------------------------------------------------- */
.desc.desc07 .intro figure {
	max-width: 700px;
}
