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


/*==================================================================

		$index　＊　mainvisual

==================================================================*/
html , body{ height:100%;}

#top_mainvisual {
	position:relative;
	overflow:hidden;
	width: 100%;
	/*background: url(../images/MV.jpg) center no-repeat;
	height: 100%;
	background-size: cover;*/
}
.top_arrow {
	position: absolute;
    display: inline-block;
	bottom:40px;
	left:50%;
	margin-left:-8px;
}
.top_arrow::before,
.top_arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.top_arrow::before{
    left: 3px;
    width: 15px;
    height: 15px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.top_arrow:hover {
	bottom:30px;
}



/*==================================================================

		$index　＊　#top_concept　次世代ものづくりへの飽くなき挑戦。

==================================================================*/
#top_concept {
	position: relative;
	width: 100%;
	height: 540px;
	background: url(../images/top_img01.jpg) top right no-repeat, black;
}
#top_concept .inner {
	width: 90%;
	margin: auto;
	font-family: 'Noto Serif JP', serif;
	color: #eee;
}
#top_concept .inner dl {
	padding-top: 120px;
}
#top_concept .inner dl dt {
	margin-bottom: 30px;
	font-size: 20px;
}
#top_concept .inner dl dd {
	line-height: 2.2;
}
#top_concept .inner dl dd .btn {
	text-align: left;
}
#top_concept .inner dl dd .btn a {
	border: 1px solid #FFF;
	background: #000;
}
#top_concept .inner dl dd .btn a:hover {
	background: #FFF;
	color: #000;
}



/*==================================================================

		$index　＊　#top_business　事業内容

==================================================================*/
#top_business {
	width: 1240px;
	margin: auto;
	padding: 90px 0 130px;
}
#top_business ul {
   display: -webkit-flex; display: flex;
   -webkit-flex-wrap: wrap; flex-wrap: wrap;
	justify-content: space-between;
}
#top_business ul li {
	width: 47%;
	margin-bottom: 30px;
	text-align: center;
}
#top_business ul li p {
	position: relative;
	padding: 55px 0;
	background: #eee;
	transition: 0.3s ease-out;
}
#top_business ul li p::before {
	position: absolute;
	content: "";
	bottom: 0;
	right: 0;
	border-style: solid;
	border-width: 0 0 90px 220px;
	border-color: transparent transparent #000 transparent;
	transition: 0.3s ease-out;
}
#top_business ul li p::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	border-style: solid;
	border-width: 90px 220px 0 0;
	border-color: #000 transparent transparent transparent;
	transition: 0.3s ease-out;
}
#top_business ul li em {
	position: relative;
	display: block;
	padding: 20px 0;
	letter-spacing: 5px;
	font-weight: bold;
	font-size: 18px;
}
#top_business ul li em::before {
	position: absolute;
	content: "";
	top: 40px;
	right: 0;
	width: 70px;
	height: 1px;
	background: #222;
	transition: 0.3s ease-out;
}
#top_business ul li em::after {
	position: absolute;
	content: "";
	top: 37px;
	right: 0;
	width: 7px;
	height: 1px;
	background: #222;
	transition: 0.3s ease-out;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
}

#top_business ul li:hover p {
	background: #000;
}
#top_business ul li:hover p::before {
	border-color: transparent transparent #eee transparent;
}
#top_business ul li:hover p::after {
	border-color: #eee transparent transparent transparent;
}
#top_business ul li:hover em {
	color: #777;
}
#top_business ul li:hover em::before {
	width: 90px;
}



/*==================================================================

		$index　＊　#top_openfactory　工場見学

==================================================================*/
#top_openfactory { 
	background: #f7f7f7;
	padding: 90px 0 130px;
}
#top_openfactory .top_openfactory_banner {
	display:table;
	width: 1100px;
	height: 400px;
	margin: auto;
	padding: 0 70px;
	box-sizing: border-box;
	background: url(../images/top_img06.png) top right no-repeat, #020202;
	color: #FFF;
	transition: 0.3s ease-out;
}
#top_openfactory .top_openfactory_banner:hover {
	opacity: .9;
}
#top_openfactory .top_openfactory_banner .inner {
	display:table-cell;
	vertical-align:middle;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 2px;
}
#top_openfactory .top_openfactory_banner .inner .btn {
	position: relative;
	padding-left: 100px;
	text-align: left;
	font-weight: normal;
	letter-spacing: 1px;
}
#top_openfactory .top_openfactory_banner .inner .btn::before {
	position: absolute;
	content: "";
	top: 17px;
	left: 0;
	width: 75px;
	height: 1px;
	background: #FFF;
	transition: 0.3s ease-out;
}
#top_openfactory .top_openfactory_banner .inner .btn::after {
	position: absolute;
	content: "";
	top: 14px;
	left: 68px;
	width: 7px;
	height: 1px;
	background: #FFF;
	transition: 0.3s ease-out;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
}
#top_openfactory .top_openfactory_banner .inner:hover .btn::before {
	left: 0;
	width: 85px;
}
#top_openfactory .top_openfactory_banner .inner:hover .btn::after {
	left: 78px;
}



/*==================================================================

		$index　＊　#top_topics　お知らせ

==================================================================*/
#top_topics { 
	padding: 90px 0 100px;
}
#top_topics .inner {
	width: 1100px;
	margin: auto;
	border-top:2px solid #333333;
}
#top_topics .inner li {
	position: relative;
	padding: 25px 40px;
	border-bottom:1px solid #cccccc;
	transition: 0.3s ease-out;
}
#top_topics .inner li::after {
	position: absolute;
	content: "";
	top: 35px;
	right: 50px;
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #333;
	transition: 0.3s ease-out;
}
#top_topics .inner li:hover {
	background: #f7f7f7;
}
#top_topics .inner li:hover::after {
	right: 40px;
}

#top_topics .inner li span {
	position:absolute;
}
#top_topics .inner li div {
	position:relative;
	width:800px;
   margin-left: 140px;
	font-weight:bold;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis; -webkit-text-overflow: ellipsis; -o-text-overflow: ellipsis;
}





/*============================================================================

	▼▽▼▽▼▽▼▽▼▽ここからSP用▼▽▼▽▼▽▼▽▼▽

============================================================================*/
@media screen and (max-width:640px) {
	
	
	
	

/*==================================================================

		$index　＊　mainvisual

==================================================================*/
#top_mainvisual {
	height: auto;
    padding-top: 60px;
}
.top_arrow{display:none;}

	
	
/*==================================================================

		$index　＊　#top_concept　次世代ものづくりへの飽くなき挑戦。

==================================================================*/
#top_concept {
	height: auto;
	background: black;
}
#top_concept .inner {
	width: 90%;
}
#top_concept .inner dl {
	padding: 90px 0;
}
	


/*==================================================================

		$index　＊　#top_business　事業内容

==================================================================*/
#top_business {
	width: 90%;
	margin: auto;
	padding: 70px 0 90px;
}
#top_business ul li p {
	padding: 40px 0;
}
#top_business ul li p img {
	width: 95px;
	height: auto;
}
#top_business ul li p::before {
	border-width: 0 0 50px 120px;
}
#top_business ul li p::after {
	border-width: 50px 120px 0 0;
}
#top_business ul li em {
	letter-spacing: 2px;
	font-size: 16px;
}
#top_business ul li em::before {
	width: 40px;
}
#top_business ul li:hover em::before {
	width: 50px;
}




/*==================================================================

		$index　＊　#top_openfactory　工場見学

==================================================================*/
#top_openfactory { 
	padding: 70px 0 90px;
}
#top_openfactory .top_openfactory_banner {
	width: 90%;
	height: 350px;
	padding: 0 40px;
}
#top_openfactory .top_openfactory_banner .inner {
	font-size: 16px;
}



/*==================================================================

		$index　＊　#top_topics　お知らせ

==================================================================*/
#top_topics { 
	padding: 70px 0 90px;
}
#top_topics .inner {
	width: 90%;
}
#top_topics .inner li {
	padding: 15px 60px 15px 20px;
}
#top_topics .inner li::after {
	top:33px;
	right: 20px;
}
#top_topics .inner li span {
	position:relative;
}
#top_topics .inner li div {
	width:100%;
   margin-left: 0;
}


	


/*============================================================================

	▲△▲△▲△▲△▲△ここまでSP用▲△▲△▲△▲△▲△

============================================================================*/
}




