<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
#copyright{padding:10px 0;text-align:center;}
#copyright img{width:auto;}
/* ----- これより上は削除しないでください ----- */

html{
	margin:0;
	padding:0;
}

body{
	margin:0 auto;
	padding:0;
}

@media screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* 電話リンクなし */
	a[href^=tel]{
		pointer-events:none;
	}
}
*,*::before,*::after{
	box-sizing:border-box;
}

header,footer,section,aside,nav,article,main{
	display:block;
}

h1, h2, h3, h4, h5, h6, figure, ul, ol, li, dl, dt, dd, p, img {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4, h5, h6,a {
	line-height: 1.5;
}

p {
	color: #000;
	line-height: 1.5;
	overflow-wrap:break-word;
}

li {
	line-height: 1.5;
}

img {
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

ul li,ol li{
	list-style:none;
}

a {
	text-decoration: none;
	transition: color 0.2s, opacity 0.2s;
}

a:hover{
	text-decoration:none;
}

/* 表示切替 */
.switch {
	visibility: hidden;
}
.sp{
	display:none;
}
@media screen and (max-width:812px){
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
}


/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* color */
	--gradationOr:linear-gradient(90deg, rgba(245,160,0,1) 0%, rgba(245,132,0,1) 70%, rgba(245,124,0,1) 100%);
	--gradationBl:linear-gradient(90deg, rgba(0,85,154,1) 0%, rgba(0,66,120,1) 100%);
	--ihiBlue:#00559a;
	--ltGray:#e2e8ed;
	--groupOr:#f5ab00;
	--groupGr:#54acb8;
	--groupLtGr:#aacc03;
	--groupBl:#03b2ff;

	/* font */
	--ffEn:"Roboto", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;

}
/* 各所タイトル */
#main .mainTit{
	font-family:var(--ffEn);
	font-weight: 700;
	font-size: 60px;
	position: relative;
}
.mainTit::after{
	content: "";
	display: block;
	width: 84px;
	height: 10px;
	background-color: var(--ihiBlue);
	position: absolute;
	left: 0;
	top:80px;
}
/* 青ボタン */
#main a.btn{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 54px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	border-radius: 8px;
	background: var(--gradationBl);
	margin: 0 auto;
	color: #fff;
	box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.4);
	transition: all 0.3s;
}
#main a.btn:hover{
	box-shadow:0 0 0 0;
	transform:translate(4px, 4px)
}
/* 白矢印 */
#main a.btn::before{
	position: absolute;
	top: 50%;
	right: 22px;
	content: "";
	width: 11px;
	height: 11px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	transform: rotate(45deg) translateY(-50%);
}
#main a.btn::after{
	content: "";
	margin: auto;
	position: absolute;
	top:50%;
	right: 20px;
	width: 17px; 
	height: 3px;
	background: #fff;
}
/* ボタングレーアウト */
#main a.btn.btnNon{
	background: #c9c9c9;
	pointer-events: none;
	box-shadow: none;
}


/*
	main
-----------------------------------------------------------------------------------------------*/
/* base.cssにあるmainの上書き */
#main {
	position: relative;
	width: 100%;
	padding:0;
	font-size:14px;
	font-weight: 500;
	font-feature-settings: "palt";
	letter-spacing: 0.1rem;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
/* main内にのみ効くように設定 */
#main *{
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
#main a{
	color: #000;
}
#main a:visited{
	text-decoration: none;
}

/*
	ctsWrapper
-----------------------------------------------------------------------------------------------*/
#ctsWrapper{
	overflow: hidden;
	}
/* ctsArea */
.ctsArea{
	width: 1200px;
	padding: 0 30px 120px 30px;
	margin: 0 auto;
}

/*
	kvWrapper
-----------------------------------------------------------------------------------------------*/
#kvWrapper{
	min-height: 750px;
	background: #ccc;
	position: relative;
	background: url(../images/bg_kv_pc.png) no-repeat center bottom / cover;
}
.kvArea{
	width: 1140px;
	height: 750px;
	margin: 0 auto;
	position: relative;
}
.kvLogo,
.kvTit,
.kvDay{
	position: absolute;
}
.kvLogo{
	right:20px;
	top:115px;
}
.kvTit{
	right:9px;
	top:210px;
}
.kvDay{
	right:16px;
	top:410px;
	background: #fff;
	padding: 10px;
}

/* btn
============================== */
/* 追従予約するボタン */
#main a.fixBtn{
	position: fixed;
	right: 0;
	bottom:98px;
	display: block;
	width: 257px;
	padding: 24px;
	text-align: center;
	font-size: 32px;
	font-weight: 700;
	background: var(--gradationOr);
	box-shadow: 8px 4px 0px 3px rgba(0,0,0,0.7);
	border-radius: 8px 0 0 8px;
	z-index: 1000;
	color: #fff;
	transition: all 0.3s;
}
#main a.fixBtn:hover{
	box-shadow:0 0 0 0;
	right: -3px;
	bottom:95px;
}
/* 白矢印 */
#main a.fixBtn::before{
	position: absolute;
	top: 50%;
	right: 27px;
	content: "";
	width: 13px;
	height: 13px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(45deg) translateY(-50%);
}
#main a.fixBtn::after{
	content: "";
	margin: auto;
	position: absolute;
	top:50%;
	right: 25px;
	width: 22px; 
	height: 4px;
	background: #fff;
}

/*
	aboutWrapper
-----------------------------------------------------------------------------------------------*/
#aboutWrapper{
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size: 16px 16px;
	background-repeat: repeat;
	background-position: center center;
}
#aboutWrapper .ctsArea{
	padding:70px 80px;
}
.aboutTxt{
	margin: 0 auto;
	font-size: 20px;
	line-height: 2.4;
}

/*
	featureWrapper
-----------------------------------------------------------------------------------------------*/
#featureWrapper{
	background: url(../images/bg_feature_pc.png) center top / cover no-repeat;
	padding: 80px 0 120px 0;
}
/* featureのみh3の下線を真ん中にする */
#featureWrapper .mainTit::after{
	left: 50%;
	transform: translateX(-50%);
}

.featureList{
	width: 964px;
	display: flex;
	gap: 0 80px;
	margin-inline: auto;
	margin-top:50px;
	font-size: 16px;
}
.featureList li{
	width: 442px;
	background: #fff;
	position: relative;
	padding: 64px 40px 50px 40px;
}
#featureWrapper .mainTit{
	color: #fff;
	text-align: center;
}
#featureWrapper .mainTit::after{
	background-color: var(--ltGray);
}
#main .featureNum{
	display:block;
	margin-inline: auto;
	width:136px;
	height:59px;
	background:#000;
	clip-path:polygon(20% 0, 100% 0, 80% 100%, 0 100%);
	position: absolute;
	top:-25px;
	left: 50%;
	transform: translateX(-50%);
	color: #fff;
	text-align: center;
	font-family:var(--ffEn);
	font-size: 42px;
	font-weight: 700;
	letter-spacing: 0.01em;
}
.featureTit{
	text-align: center;
	line-height: 1.1;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.01em;
}
.featureList li:nth-child(1) .featureTit{
	margin-top: 15px;
}
.featureTit span{
	display: inline;
	font-size: 23px;
}
.featureTxt{
	margin-top: 24px;
	text-align:justify;
}
.featureList li:nth-child(1) .featureTxt{
	margin-top: 45px;
}

/*
	scheduleWrapper
-----------------------------------------------------------------------------------------------*/
#scheduleWrapper{
	background: var(--ltGray);
	padding-top:80px;
}
.scheduTbl{
	min-width: 100%;
	background: #fff;
	border-collapse:collapse;
	border-spacing:0;
	margin-top: 60px;
}
.scheduTbl tr{
	border-bottom: 1px solid #000;
}
.scheduTbl tr:last-of-type{
	border-bottom: none;
}
.scheduTbl th{
	width: 270px;
	background: var(--ihiBlue);
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	padding: 50px 20px;
	border-bottom: 1px solid #fff;
}
.scheduTbl th.last,
.scheduTbl td.last{
	border-bottom: none;
}
.scheduTbl td:nth-of-type(2){
	padding: 0;
}
.scheduTbl th span{
	font-weight: 400;
	font-size: 24px;
}
.scheduTbl td{
	font-size: 24px;
	font-weight: 800;
	padding: 50px 0 50px 54px;
	line-height: 1.3;
}
.scheduTbl td span{
	font-size: 18px;
	color: var(--ihiBlue);
}

/*
	companiesWrapper
-----------------------------------------------------------------------------------------------*/
#companiesWrapper{
	padding-top:80px;
}
.companiesList{
	display: grid;
	grid-template-columns:repeat(auto-fit, calc((100% - 66px) / 3));
	row-gap: 50px;
	column-gap: 33px;
	margin-top:70px;
}
.companiesList &gt; li{
	/*
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	row-gap: 24px;
	*/
	position: relative;
	border: 1px solid #000;
	padding:14px 28px 30px 28px;
}
/* グループ色分け
============================== */
.groupOrange::before,.groupGreen::before,.groupLtGreen::before,.groupBlue::before,.groupBlack::before{
	color: #fff;
	padding: 2px 5px;
	position: absolute;
	left: 10px;
	top:-13px;
}
/* オレンジ */
.groupOrange::before{
	content: "資源・エネルギー・環境事業領域";
	background: var(--groupOr);
}
/* 緑 */
.groupGreen::before{
	content: "産業システム・汎用機械事業領域";
	background: var(--groupGr);
}
/* 黄緑 */
.groupLtGreen::before{
	content: "社会基盤事業領域";
	background: var(--groupLtGr);
}
/* 青 */
.groupBlue::before{
	content: "航空・宇宙・防衛事業領域";
	background: var(--groupBl);
}
/* 黒 */
.groupBlack::before{
	content: "本社本部（総務）";
	background: #000;
}

.companiesTit{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 700;
	height: 92px;
	text-align: center;
	border-bottom: 4px solid #000;
}
.companiesTxt{
	text-align: justify;
	height: 80px;
	margin-top: 20px;
}
#companiesWrapper .type{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 6px 6px;
	font-size: 12px;
	margin-bottom:20px;
}
/*各タイプのアキの高さ*/
#companiesWrapper .type.typeBox01{
	margin-bottom:76px;
}
#companiesWrapper .type.typeBox02{
	margin-bottom:47px;
}
#companiesWrapper .type li{
	height: 22px;
	background: var(--ltGray);
	padding: 2px 5px;
}

/*
	footer
-----------------------------------------------------------------------------------------------*/
.copyright{
	/* 既存のコピーライトのbg上書き */
	background:var(--ihiBlue);
}
#footerArea{
	width: 100%;
	padding: 15px 0;
	margin: 0 auto;
	text-align: center;
	background: var(--ihiBlue);
}
#footerArea .ffEn{
	color: #fff;
}


/*----------------------------------------------------------------------------------------------
	レスポンシブ
-----------------------------------------------------------------------------------------------*/
@media screen and (max-width:812px){
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	/* 各所タイトル */
	#main .mainTit{
		font-size: 36px;
	}
	.mainTit::after{
		width: 42px;
		height: 5px;
		top:50px;
	}

/*
	ctsWrapper
-----------------------------------------------------------------------------------------------*/
	/* ctsArea */
	.ctsArea{
		width: 100%;
		max-width: 550px;
		padding: 0 20px 80px 20px;
	}

	/* box
	============================== */
	/* ctsWrapper */
	#ctsWrapper{
		padding-bottom: 60px;
		overflow:hidden;
	}
	/* ctsArea */
	.ctsArea{
		width: 100%;
		padding: 0 20px;
	}
	/*
		kvWrapper
	-----------------------------------------------------------------------------------------------*/
	#kvWrapper{
		min-height: 600px;
		background: url(../images/bg_kv_sp.png) no-repeat center center / cover;
	}
	.kvArea{
		width: 100%;
		height: 600px;
	}
	.kvLogo img{
		width: 259px;
	}
	.kvLogo,.kvTit,.kvDay{
		left:50%;
		right: auto;
		transform: translateX(-50%);
		top:120px;
	}
	.kvTit{
		top:190px;
	}
	.kvTit img{
		width: 266px;
	}
	.kvDay{
		top:333px;
	}
	.kvDay img{
		width: 252px;
	}

	/* btn
	============================== */
	/* 追従予約するボタン */
	#main a.fixBtn{
		bottom:60px;
		width: 60px;
		height: 120px;
		padding: 20px 7px 10px 13px;
		font-size: 18px;
		line-height: 1.4;
	}
	#main a.fixBtn:hover{
		right: 0;
		bottom:60px;
		box-shadow: 8px 4px 0px 3px rgba(0,0,0,0.7);
	}
	/* 白矢印 */
	#main a.fixBtn::before{
		top:90px;
		right: 22px;
	}
	#main a.fixBtn::after{
		top:90px;
		right: 20px;
	}

	/*
		aboutWrapper
	-----------------------------------------------------------------------------------------------*/
	#aboutWrapper .ctsArea{
		padding:40px 20px;
	}
	.aboutTxt{
		font-size: 16px;
		line-height: 1.9;
	}

	/*
		featureWrapper
	-----------------------------------------------------------------------------------------------*/
	#featureWrapper{
		background: url(../images/bg_feature_sp.png) center top / cover no-repeat;
		padding: 40px 20px 70px 20px;
	}
	.featureList{
		width: 100%;
		max-width: 550px;
		flex-direction:column;
		gap: 50px 0px;
		margin-top:70px;
		font-size: 15px;
	}
	.featureList li{
		width: 100%;
		max-width: 550px;
		margin: 0 auto;
		padding: 54px 20px 30px 20px;
	}
	#main .featureNum{
		width:129px;
		height:52px;
		font-size: 32px;
	}
	.featureTit{
		line-height: 1.1;
		font-size: 28px;
	}
	.featureList li:nth-child(1) .featureTit{
		margin-top: 0px;
	}
	.featureTit span{
		font-size: 19px;
	}
	.featureTxt{
		margin-top: 20px;
	}
	.featureList li:nth-child(1) .featureTxt{
		margin-top: 20px;
	}

	/*
		scheduleWrapper
	-----------------------------------------------------------------------------------------------*/
	#scheduleWrapper{
		background: var(--ltGray);
		padding:40px 0 50px 0;
	}
	.scheduTbl{
		margin-top: 40px;
		min-width: 100%;
		text-align: center;
	}
	.scheduTbl th{
		display: block;
		width: 100%;
		font-size: 20px;
		padding: 10px 20px;
		border: none;
	}
	.scheduTbl th span{
		font-size: 14px;
	}
	.scheduTbl td{
		display: block;
		font-size: 18px;
		padding:20px;
		border: none;
	}
	.scheduTbl td:nth-of-type(2){
		padding: 0 0 30px 0;
	}	
	.scheduTbl td span{
		font-size: 14px;
	}
	.scheduTbl th.last{
		border: none;
	}
	
	/*
		companiesWrapper
	-----------------------------------------------------------------------------------------------*/
	#companiesWrapper{
		padding-top:40px;
	}
	.companiesList{
		grid-template-columns:repeat(auto-fit, 100%);
		row-gap: 40px;
		column-gap: 0px;
		margin-top:40px;
	}
	.companiesList &gt; li{
		display: grid;
		grid-row: span 4;
		grid-template-rows: subgrid;
		row-gap: 20px;
		padding:14px 10px 30px 10px;
	}
	.companiesTxt{
		height: auto;
		margin: 0;
	}
	/*各タイプのアキの高さ*/
	#companiesWrapper .type.typeBox01{
		margin-bottom:20px;
	}
	#companiesWrapper .type.typeBox02{
		margin-bottom:20px;
	}




	/* グループ色分け
	============================== */
	.groupOrange::before,.groupGreen::before,.groupLtGreen::before,.groupBlue::before,.groupBlack::before{
		font-size: 12px;
	}
	.companiesTit{
		font-size: 18px;
		height: 72px;
	}
	#companiesWrapper .type{
		font-size: 10px;
	}
	#companiesWrapper .type li{
		height: 20px;
	}
	#companiesWrapper a.btn:hover{
		box-shadow: 4px 4px 0px 0px rgba(0,0,0,0.4);
		transform:translate(0px, 0px)
	}

	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footerArea{
		font-size: 12px;
	}
}

/* ipad用 */
@media screen and (min-width:600px) and (max-width:811px){
}

/* iPhone SE用 */
@media screen and (max-width:375px){
}</pre></body></html>