/* 共通 ------------------------------*/
HTML {
	box-sizing: border-box;
	font-size: 10px;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

@font-face {
  font-family: 'DIN';
  src: url('DINPro-Bold.woff') format('woff');
}
.font_alpha {
	font-family:'DIN';
}
.font_zen {
	font-family: 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

BODY{
	color: #000;
	background-color: #f7ffff;
	-webkit-font-smoothing: antialiased;
	font-family: 'DIN', 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.25rem;
	font-weight: bold;
}
BODY.fade{
	/*display:none;*/
}

HTML.is-fixed,
HTML.is-fixed body {
	height: 100%;
	overflow: hidden;
}
H1,H2,H3,H4,H5,h6 {
	margin: 0;
	padding: 0;
}
A{
	color: #0000FF;
	text-decoration: none;
	opacity: 1;
	transition: opacity 200ms;
}
A:hover{
	opacity: .6;
}
IMG{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
P{
	margin: 0;
}
EM{
	font-style: normal;
}

.show_pc{
	display: block;
}
.show_sp{
	display: none;
}

.text_left{
	text-align: left;
}
.text_right{
	text-align: right;
}
.text_center{
	text-align: center;
}

.fadein {
	opacity : 0;
	transition : opacity 1000ms;
}
.fadein.scrollin {
	opacity : 1;
}

.fadeout {
	opacity : 1;
	transition : opacity 500ms;
}
.fadeout.scrollin {
	opacity : 0;
}

.slidein {
	opacity : 0;
	transform : translate(0, 60px);
	transition : opacity 1000ms, transform 1500ms ease-out;
}
.slidein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}


/**/
.contact_btn{
	position: absolute;
	left: 0;
	top: 0;
	margin-top: -53px;
	/*will-change: transform;*/
	transform: translateZ(0) translateY(-100px);
	z-index: 100;
}
.contact_btn A{
	display: block;
	font-family: 'DIN', 'Zen Kaku Gothic New', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.05rem;
	border: 1px solid #333;
	border-left: none;
	color: #333;
	line-height: 1.2;
	width: 26px;
	height: 106px;
	padding: 0 6px;
	display: flex;
	align-items: center;
	text-align: center;
}
.contact_btn.white A{
	border: 1px solid #fff;
	border-left: none;
	color: #fff;
}
.contact_btn.black A{
	border: 1px solid #000;
	border-left: none;
	color: #000;
}
.contact_btn A:hover{
	opacity: 1;
}

/* header ------------------------------*/
HEADER {
	width: 100%;
	height: auto;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 35px 50px 35px 30px;
	background-color: #f7ffff;
	z-index: 9999;
}
HEADER .logo{
	width: 264px;
	height: 38px;
	text-indent: -9999px;
}
HEADER .logo A{
	background-image: url('../img/pc/common/logo_1b.png');
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
	display: block;
	width: 100%;
	height: 100%;
}
HEADER NAV{
	flex: 1 1 700px;
	max-width: 700px;
	margin-left: 30px;
}
HEADER NAV > UL{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
HEADER NAV > UL > LI{
}
HEADER NAV > UL > LI A{
	display: inline-block;
	color: #000;
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	padding: .5em 1em;
}
HEADER NAV > UL > LI A:hover{
	opacity: 1;
}
HEADER .bar{
	content: "";
	position: absolute;
	width: 100px;
	height: 2px;
	background-color: #000;
	top: 62px;
	left: 1000px;
	/*transition: all 200ms ease-out;*/
	opacity: 0;
}
/*
HEADER NAV A:hover{
	opacity: 1;
	text-underline-offset: 0.1em;
	text-decoration: underline;
}
*/

HEADER NAV .sub{
	position: absolute;
	width: 100%;
	height: 0;
	overflow: hidden;
	top: 108px;
	left: 0;
	/*display: none;*/
	opacity: 0;
	top: 80px;
	transition: all 300ms ease-out;
}
HEADER NAV .sub.open{
	top: 108px;
	height: 53px;
	opacity: 1;
}
HEADER NAV .sub UL{
	padding: 1.2rem 0;
	display: flex;
	justify-content: center;
	border-top: 1px solid rgba(127,127,127,.3);
	border-bottom: 1px solid rgba(127,127,127,.3);
	background-color: #f7ffff;
}
HEADER NAV .sub UL > LI{
	padding: 0 2em;
	position: relative;
}
HEADER NAV .sub UL > LI::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 0;
	height: 1rem;
	margin-top: -.5rem;
	border-right: 1px solid #fff;
}
HEADER NAV .sub UL > LI:last-child:after{
	content: none;
}
HEADER NAV .sub UL > LI > A{
}
HEADER NAV .sub UL > LI > A:hover{
	opacity: 1;
	text-underline-offset: 0.1em;
	text-decoration: underline;
}

HEADER .btn_hamburger {
	display: none;
}
HEADER #hamburger_check {
	display: none;
}

#top HEADER {
	background-color: rgba(255,255,255,0);
	transition: background-color linear 200ms;
}
#top HEADER .logo A{
	background-image: url('../img/pc/common/logo_1a.png');
}
#top HEADER NAV UL LI A{
	color: #fff;
}
#top HEADER NAV .sub > UL{
	background-color: rgba(255,255,255,0);
	transition: background-color linear 200ms;
}
#top HEADER .bar{
	background-color: #fff;
}
#top HEADER.float_menu {
	background-color: #f7ffff;
}
#top HEADER.float_menu .logo A{
	background-image: url('../img/pc/common/logo_1b.png');
}
#top HEADER.float_menu NAV UL LI A{
	color: #000;
}
#top HEADER.float_menu NAV .sub > UL{
	background-color: #f7ffff;
}
#top HEADER.float_menu NAV .sub > UL > LI::after{
	border-right: 1px solid #000;
}
#top HEADER.float_menu .bar{
	background-color: #000;
}

/* footer ------------------------------*/
FOOTER{
	border-top: 1px solid #e2e2e2;
	padding: 55px 60px 55px 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
FOOTER > DIV{
	flex: 1 1 700px;
	max-width: 700px;
}
FOOTER NAV{
	margin-bottom: 180px;
	display: flex;
	justify-content: space-between;
}
FOOTER NAV UL{
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	height: 140px;
}
FOOTER NAV UL LI{
	margin: 0 10em 1.5em 0;
}
FOOTER NAV UL LI A{
	color: #000;
	font-size: 1.25rem;
	letter-spacing: 0.1em;
}
FOOTER .copyright{
	font-size: 0.86rem;
	letter-spacing: 0.1em;
	line-height: 1;
}
FOOTER .logo{
	width: 253px;
	height: 38px;
	text-indent: -9999px;
}
FOOTER .logo A{
	background-image: url('../img/pc/common/logo_2.png');
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
	display: block;
	width: 100%;
	height: 100%;
}

#top FOOTER{
	border: none;
	padding: 325px 55px 55px 60px;
}
#top FOOTER > DIV{
	flex: 1 1 800px;
	max-width: 800px;
}
#top FOOTER NAV{
	margin-bottom: 10px;
	display: block;
}
#top FOOTER NAV UL{
	flex-direction: row;
	align-items: center;
	height: auto;
}
#top FOOTER NAV UL LI{
	margin: 0 4em 1em 0;
}

/*----*/
#pagetop{
	position: fixed;
	right: 40px;
	bottom: 80px;
	border-top: 1px solid #a3a6a6;
	border-bottom: 1px solid #a3a6a6;
	text-align: center;
	background-image: url('../img/pc/common/icon_arrow_3.png');
	background-size: 33px 22px;
	background-position: center 10px;
	background-repeat: no-repeat;
	background-color: rgba(246,255,255,.7);
	opacity: 0;
	transition: opacity 500ms;
	z-index: 9998;
}
#pagetop A{
	display: block;
	font-size: 1.8rem;
	letter-spacing: .1em;
	color:#000;
	padding: 38px 10px 10px;
}
#pagetop.show{
	opacity: 1;
}

/*----*/
ARTICLE SECTION{
	position: relative;
	overflow: hidden;
}

.txt_img{
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	text-indent: -9999px;
}

/* top ---------------------------------*/
#top #cover{
	width: 100%;
	height: 100vh;
	min-height: 600px;
	/*
	background-image: url('../img/pc/top/cover.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	*/
	position: relative;
	overflow: hidden;
}
#top #cover .parallax{
	/*
	background-image: url('../img/pc/top/cover.jpg');
  height: 110%;
	top: -5%;
	*/
}
#top #cover .video_wrap{
	position: absolute;
	z-index: 0;
	top: -5%;
	left: 0;
  width: 100%;
  height: 110%;
  overflow: hidden;
	background-color: #000;
}
#top #cover .video_wrap VIDEO{
  width: 100%;
  height: 100%;
	object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
	opacity: 0;
	transition: opacity 800ms linear;
}
#top #cover .video_wrap VIDEO.loaded{
	opacity: 1;
}
#top #cover H1{
	background-image: url('../img/pc/top/head_txt.png');
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	width: 661px;
	height: 148px;
	text-indent: -9999px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -132px 0 0 -330px;
}
#top #cover H2{
	position: absolute;
	display: block;
	top: 50%;
	font-size: 2.4rem;
	width: 100%;
	text-align: center;
	margin-top: 90px;
	color: #fff;
}
#top #cover .txt_scroll{
	font-size: 1.1rem;
	position: absolute;
	left: 24px;
	bottom: 7em;
	transform: rotate(90deg);
	color: #fff;
}
#top #cover .txt_scroll::after{
	content:"";
	position: absolute;
	top: 0.6em;
	left: 4.5em;
	width: 56px;
	border-top: 1px solid #fff;
}
#top #cover .link_movie{
	position: absolute;
	right: 30px;
	bottom: 30px;
}
#top #cover .link_movie a{
	display: block;
	color: #fff;
	font-size: 1.1rem;
	letter-spacing: .1em;
	background-image: url('../img/pc/common/icon_play.png');
	background-size: 30px;
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 40px;
	height: 30px;
	line-height: 30px;
}

/*----*/
#top .btn_more{
	display: block;
	margin: 0 auto;
	background-image: url('../img/pc/common/btn_readmore.png');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 171px;
	height: 41px;
	text-indent: -9999px;
}
/*----*/
#top #ourvalue{
	width: 100%;
	padding: 245px 0 200px;
}
#top #ourvalue .headline{
	display: flex;
	justify-content: center;
}
#top #ourvalue .headline{
	display: flex;
	justify-content: center;
}
#top #ourvalue .headline H2{
	background-image: url('../img/pc/top/ourvalue_head.png');
	width: 465px;
	height: 127px;
	margin-right: 57px;
}
#top #ourvalue .headline P{
	font-size: 1.8rem;
	line-height: 2.3;
	padding-left: 54px;
	border-left: 1px solid #e2e2e2;
	letter-spacing: .2em;
}
#top #ourvalue .catch{
	margin: 168px auto 92px;
	background-image: url('../img/pc/top/ourvalue_catch.png');
	width: 995px;
	height: 113px;
	text-indent: -9999px;
}
#top #img_pipe .img_pipe{
	margin: 0 auto;
	background-image: url('../img/pc/top/pipe_image.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 50.5vw;
}
/*----*/
#top #products{
	width: 100%;
	padding-top: 120px;
}
#top #products .headline{
	display: flex;
	justify-content: flex-start;
	margin: 0 60px 0 160px;
}
#top #products .headline H2{
	background-image: url('../img/pc/top/products_head.png');
	background-position: left top;
	flex: 1 2 560px;
	max-width: 560px;
	min-width: 380px;
	height: 87px;
}
#top #products .headline P{
	font-size: 1.8rem;
	line-height: 2.3;
	letter-spacing: .1em;
	flex: 0 1 584px;
	max-width: 584px;
}
#top #products .readmore{
	display: block;
	border-bottom: 1px solid #5c5f5f;
	width: 124px;
	padding: 0 0 20px 0;
	margin-left: 300px;
	background-position: top right;
}

/*----*/
#top [id^="products-"] .head_wrap H3{
	background-color: #b3b3b3;
	color: #000;
	font-size: 2.6rem;
	line-height: 1;
	display: inline-block;
	letter-spacing: .1em;
	padding: 0 .2rem;
}
#top [id^="products-"] .head_wrap H3 SPAN{
	font-size: .85em;
	letter-spacing: .02em;
	margin-left: 5rem;
	display: inline-block;
	vertical-align: top;
}
#top #products-category{
	padding: 160px 0 0 0;
}
#top #products-category .head_wrap{
	margin: 0 0 55px 160px;
}
#top #products-category UL{
	background-color: #0035a1;
	background-image: url('../img/pc/common/products_bg.png');
	background-size: 7px 7px;
	padding: 0 60px 0 60px;
}
#top #products-category UL LI{
	padding: 105px 50px 64px 100px;
	padding: 0 50px 0 100px;
	border-bottom: 1px solid #002f8f;
}
#top #products-category UL LI.truck{
	padding: 140px 50px 60px 100px;
}
#top #products-category UL LI.construct{
	padding: 42px 50px 45px 100px;
}
#top #products-category UL LI.other{
	padding: 100px 50px 130px 100px;
}
#top #products-category UL LI:last-child{
	border-bottom: none;
}
#top #products-category UL LI A{
	display: block;
	max-width: 100%;
}
#top #products-category UL LI DL{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#top #products-category UL LI DL DT{
	flex: 0 0 30%;
	min-width: 150px;
	max-width: 330px;
}
#top #products-category UL LI DL DD{
	flex: 1 1 100%;
	max-width: 100%;
}
#top #products-category UL LI H4{
	display: inline-block;
	background-color: #fff;
	color: #000;
	line-height: 1.05;
	font-size: 2.6rem;
	margin-bottom: 26px;
}
#top #products-category UL LI P{
	display: block;
	color: #000;
	line-height: 1.7;
	font-size: 2.1rem;
}
#top #products-category UL LI FIGURE{
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	position: relative;
}
#top #products-category UL LI FIGURE::after{
	content: "";
	background-position: 0 0;
	background-repeat: no-repeat;
	position: absolute;
}
#top #products-category UL LI.truck FIGURE{
	background-image: url('../img/pc/top/products-truck_illust.png');
	height: 21vw;
}
#top #products-category UL LI.truck FIGURE::after{
	background-image: url('../img/pc/top/products-truck_parts.png');
	top: 14.1vw;
	left: 50%;
	background-size: 22vw 5vw;
	width: 22vw;
	height: 5vw;
	margin-left: -19vw;
}
#top #products-category UL LI.truck A:hover{
	opacity: 1;
}
#top #products-category UL LI.truck A:hover FIGURE::after{
	animation: truck_flicker 600ms ease 0s 1;
}
@keyframes truck_flicker {
  0%   {
    background-position: 0 0;
    width: 22vw;
		margin-left: -19vw;
		opacity: 1;
	}
  20%   {
    background-position: -22vw 0;
    width: 0;
		margin-left: 3vw;
	}
  21%   {
    background-position: 0 0;
    width: 0;
		margin-left: -19vw;
	}
  60%   {
    background-position: 0 0;
    width: 22vw;
		margin-left: -19vw;
		opacity: 1;
	}
  70%  {opacity: 0;}
  80%  {opacity: 1;}
  90%  {opacity: 0;}
  100% {
		opacity: 1;
		background-position: 0 0;
		width: 22vw;
		margin-left: -19vw;
	}
}
#top #products-category UL LI.construct FIGURE{
	background-image: url('../img/pc/top/products-const_illust.png');
	height: 27vw;
}
#top #products-category UL LI.construct FIGURE::after{
	background-image: url('../img/pc/top/products-const_parts.png');
	top: 13.8vw;
	left: 50%;
	background-size: 6.72vw 4.29vw;
	width: 6.72vw;
	height: 4.29vw;
	margin-left: 12.6vw;
}
#top #products-category UL LI.construct A:hover{
	opacity: 1;
}
#top #products-category UL LI.construct A:hover FIGURE::after{
	animation: construct_flicker 600ms ease 0s 1;
}
@keyframes construct_flicker {
  0%   {
    background-position: 0 0;
		width: 6.72vw;
		margin-left: 12.6vw;
		opacity: 1;
	}
  20%   {
    background-position: -6.7vw 0;
    width: 0;
		margin-left: 19.3vw;
	}
  21%   {
    background-position: 0 0;
    width: 0;
		margin-left: 12.6vw;
	}
  60%   {
    background-position: 0 0;
		width: 6.72vw;
		margin-left: 12.6vw;
		opacity: 1;
	}
  70%  {opacity: 0;}
  80%  {opacity: 1;}
  90%  {opacity: 0;}
  100% {
		opacity: 1;
		background-position: 0 0;
		width: 6.72vw;
		margin-left: 12.6vw;
	}
}
#top #products-category UL LI.other FIGURE{
	background-image: url('../img/pc/top/products-other_illust.png');
	height: 21vw;
}
/*----*/
#top #products-size{
	padding: 148px 0 0 0;
	position: relative;
}
#top #products-size::after{
	content: "";
	display: block;
	border-bottom: 1px solid #e2e2e2;
	width: calc(100% - 120px);
	position: absolute;
	bottom: 0;
	left: 60px;
}
#top #products-size .head_wrap{
	margin: 0 0 40px 160px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#top #products-size .head_wrap P{
	font-size: 1.25rem;
	display: inline-block;
	margin-left: 15rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}
#top #products-size .head_wrap P.show_sp{
	display: none;
}

#top #products-size UL{
	display: flex;
	justify-content: space-between;
	margin: 0 0 115px 160px;
}
#top #products-size UL LI{
	flex: 1 1 32.8%;
	max-width: 32.8%;
}
#top #products-size UL LI A{
	display: block;
}
#top #products-size UL LI A H4{
	height: 29.7vw;
	background-size: contain;
	background-position: top left;
}
#top #products-size UL LI:nth-child(1) A H4{
	background-image: url('../img/pc/top/products-size_1_illust.png');
}
#top #products-size UL LI:nth-child(2) A H4{
	background-image: url('../img/pc/top/products-size_2_illust.png');
}
#top #products-size UL LI:nth-child(3) A H4{
	background-image: url('../img/pc/top/products-size_3_illust.png');
}

#top #products-size .flow {
	display: block;
	color: #000;
	margin: 0 60px 250px 160px;
}
#top #products-size DL{
	padding-bottom: 35px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
}
#top #products-size DL DT{
	flex: 0 0 45rem;
	max-width: 45rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#top #products-size DL DT H4{
	font-size: 2rem;
	letter-spacing: 0.1em;
	text-align: center;
}
#top #products-size DL DD{
	font-size: 1.25rem;
	margin-left: 10rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

#top #products-size .flow:hover {
	opacity: 1;
}
#top #products-size DL:before{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: solid 1px #000;
	width: 100%;
}
#top #products-size .flow:hover DL:before{
	animation: border_anim 600ms linear forwards;
}
@keyframes border_anim {
	0%{
		width: 100%;
		left: 0;
	}
	50%{
		width: 0%;
		left: 100%;
	}
	51%{
		width: 0%;
		left: 0%;
	}
	100%{
		width: 100%;
		left: 0;
	}
}

.readmore{
	display: inline-block;
	font-size: 1.05rem;
	color: #000;
	letter-spacing: .1em;
	background-image: url('../img/pc/common/icon_arrow_2.png');
	background-size: 38px 12px;
	background-position: center right;
	background-repeat: no-repeat;
	width: 12rem;
	height: 1.3em;
	margin: 0 0 0 80px;
}

/*----*/
#top #products-prototype{
	padding: 130px 0 0 0;
}
#top #products-prototype .head_wrap{
	margin: 0 0 40px 160px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#top #products-prototype .head_wrap P{
	font-size: 1.2rem;
	display: inline-block;
	margin-left: 15rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}
#top #products-prototype .image{
	background-image: url('../img/pc/top/products-prototype_image.jpg');
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
	text-indent: -9999px;
	margin: 0 0 0 160px;
	width: 100%;
	height: 42.4vw;
}
/*----*/
#top #processfacility{
	width: 100%;
	padding-top: 192px;
}
#top #processfacility .headline{
	display: flex;
	justify-content: flex-start;
	margin: 0 60px 90px 160px;
}
#top #processfacility .headline H2{
	background-image: url('../img/pc/top/processfacility_head.png');
	background-position: left top;
	flex: 1 2 655px;
	max-width: 655px;
	min-width: 380px;
	height: 87px;
}
#top #processfacility .headline P{
	font-size: 1.8rem;
	line-height: 2.3;
	letter-spacing: .2em;
	flex: 0 1 584px;
	max-width: 584px;
}
#top #processfacility UL{
	padding-left: 160px;
}
#top #processfacility UL LI{
	margin-bottom: 90px;
}
#top #processfacility UL LI{
	width: 100%;
	height: calc(38.7vw);
	position: relative;
}
#top #processfacility UL LI:last-child{
	margin-bottom: 0;
}
#top #processfacility UL LI A{
	display: block;
	width: 100%;
	height: 100%;
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
}
#top #processfacility UL LI.manufacturing A{
	background-image: url('../img/pc/top/processfacility_manufacturing_image.jpg');
}
#top #processfacility UL LI.facilities A{
	background-image: url('../img/pc/top/processfacility_facilities_image.jpg');
}
#top #processfacility UL LI A > DIV{
	position: absolute;
	width: 545px;
	right: 0;
	bottom: 0;
	background: #f7ffff;
	padding: 58px 50px 28px 50px;
}
#top #processfacility UL LI H3{
	margin-bottom: 46px;
	font-size: 2.2rem;
	color: #000;
	letter-spacing: .1em;
}
#top #processfacility UL LI H3 SPAN{
	font-size: .8em;
	display: inline-block;
	margin-left: 30px;
	letter-spacing: 0;
	vertical-align: middle;
}
#top #processfacility UL LI P{
	font-size: 1.25rem;
	line-height: 1.8;
	color: #000;
	letter-spacing: .1em;
}
#top #processfacility UL LI A > DIV::after{
	content: "";
	background-image: url('../img/pc/common/icon_arrow.png');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	height: 30px;
	width: 15px;
	position: absolute;
	right: 50px;
	top: 45%;
}
/*----*/
#top #message{
	margin-top: 200px;
}
#top #message A,
#top #recruit A{
	display: block;
	width: 100%;
	height: 44.8vw;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
#top #message A{
	background-image: url('../img/pc/top/message_image.jpg');
}
#top #recruit A{
	background-image: url('../img/pc/top/recruit_image.jpg');
}
#top #message A > DIV,
#top #recruit A > DIV{
	position: absolute;
	right: 0;
	bottom: 0;
	background-color: #f7ffff;
	padding: 60px 55px 44px 78px;
	max-width: 530px;
}
#top #message A > DIV{
	padding-top: 88px;
}
#top #recruit A > DIV{
	padding-top: 67px;
	
}
#top #message H3,
#top #recruit H3{
	background-position: left top;
	margin-bottom: 46px;
}
#top #message H3{
	background-image: url('../img/pc/top/message_ttl.png');
	width: 300px;
	height: 58px;
}
#top #recruit H3{
	background-image: url('../img/pc/top/recruit_ttl.png');
	width: 330px;
	height: 75px;
}
#top #message P,
#top #recruit P{
	font-size: 1.25rem;
	line-height: 1.8;
	color: #000;
	letter-spacing: .1em;
}
/*----*/
#top #information{
	padding: 230px 0 0 0;
}
#top #information .headline{
	margin: 0 0 35px 60px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#top #information .headline H2{
	font-size: 2.4rem;
	margin-right: 160px;
	letter-spacing: .1em;
}
#top #information .headline P{
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: .2em;
	flex: 0 1 584px;
	max-width: 584px;
}
#top #information UL{
	border-top: 1px solid #e2e2e2;
}
#top #information UL LI{
	border-bottom: 1px solid #e2e2e2;
	padding: 75px 105px 75px 60px;
}
#top #information UL LI A{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#top #information UL LI IMG{
	display: block;
	width: 175px;
	height: 116px;
	flex: 0 0 175px;
	margin-right: 140px;
}
#top #information UL LI P{
	font-size: 1.25rem;
	line-height: 1.8;
	color: #000;
	letter-spacing: .1em;
	flex: 1 0 auto;
}
#top #information UL LI TIME{
	font-size: 1.25rem;
	line-height: 1.8;
	color: #000;
	flex: 0 1;
}

/* .cover ---------------------------------*/
#cover.cover{
	margin-top: 108px;
	width: 100%;
	height: calc(100vh - 108px);
	min-height: 600px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
#cover .parallax{
	/*background-image: url('../img/pc/ourvalue/cover.jpg');*/
	background-position: center;
	background-size: cover;
	width: 100%;
	height: 105%;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate3d(0,0,0);
	opacity: 0;
	transition: opacity 500ms;
}
#cover .parallax.loaded{
	opacity: 1;
}
#cover.cover H1{
	text-align: center;
	position: relative;
}
#cover.cover H1 EM{
	display: block;
	color: #fff;
	font-size: 4.5rem;
	letter-spacing: .04em;
	margin: 0 auto 50px;
}
#cover.cover H1 SPAN{
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
}

/* ourvalue ---------------------------------*/
#ourvalue #cover{
	/*background-image: url('../img/pc/ourvalue/cover.jpg');*/
}
#ourvalue #cover .parallax{
	background-image: url('../img/pc/ourvalue/cover.jpg');
}

/*--*/
#ourvalue #allfor{
	padding: 210px 0 70px 0;
}
#ourvalue #allfor .headline{
	display: flex;
	align-items: center;
	width: calc(100% - 250px);
	max-width: 1010px;
	margin: 0 auto;
	padding-left: 50px;
}
#ourvalue #allfor H2{
	flex: 0 1 46%;
	margin-right: 16.3%;
	max-width: 465px;
}
#ourvalue #allfor H2 SPAN{
	display: block;
	font-size: 2.6rem;
	margin-bottom: 60px;
}
#ourvalue #allfor H2 EM{
	display: block;
	background-image: url('../img/pc/ourvalue/txt_allforonlyone.png');
	width: 100%;
	height: 16.5vw;
	max-height: 212px;
}
#ourvalue #allfor P{
	flex: 1 0 380px;
	font-size: 1.63rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

/*----*/
#ourvalue #movie{
	height: 110px;
}
/*----*/
.video_wrap{
	position: relative;
	width: 100%;
	height: 47.6vw;
}
.video_wrap .poster{
	width: 100%;
	height: 100%;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.video_wrap .poster .btn_play{
	background-image: url('../img/pc/common/btn_play.png');
	background-size: contain;
	background-repeat: no-repeat;
	width: 167px;
	height: 44px;
	cursor: pointer;
}
.video_wrap .poster .btn_play:hover{
	opacity: .6;
}
.video_wrap.play .poster{
	display: none;
}
.video_wrap VIDEO{
	width: 100%;
	height: 100%;
	background-color: #000;
	position: relative;
	z-index: 0;
}
.video_wrap IFRAME{
  width: 100%;
  height: 100%;
}
#ourvalue .video_wrap .poster{
	background-image: url('../img/pc/ourvalue/movie.jpg');
	background-position: center;
	background-size: cover;
}

/*----*/
#ourvalue #powers{
	padding: 200px 0 0 0;
}
#ourvalue #powers .headline{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 1160px;
	margin: 0 auto 108px;
}
#ourvalue #powers .headline H2{
	font-size: 3.0rem;
	line-height: 2.2;
	letter-spacing: 0.2em;
	margin-right: 70px;
}
#ourvalue #powers .headline FIGURE{
	background-image: url('../img/pc/ourvalue/powers_image.png');
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
	display: block;
	width: 646px;
	height: 646px;
}
#ourvalue #powers UL{
	margin: 0 0 0 160px;
}
#ourvalue #powers UL LI{
	margin-bottom: 148px;
	position: relative;
}
#ourvalue #powers UL LI:last-child{
	margin-bottom: 0;
}
#ourvalue #powers UL LI .heading{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 460px;
	display: flex;
	align-items: center;
	margin-bottom: 70px;
}
#ourvalue #powers UL LI.technical .heading{
	background-image: url('../img/pc/ourvalue/powers_tec_image.jpg');
}
#ourvalue #powers UL LI.responsiveness .heading{
	background-image: url('../img/pc/ourvalue/powers_resp_image.jpg');
}
#ourvalue #powers UL LI.prototyping .heading{
	background-image: url('../img/pc/ourvalue/powers_prot_image.jpg');
}
#ourvalue #powers UL LI.achievement .heading{
	background-image: url('../img/pc/ourvalue/powers_achi_image.jpg');
}
#ourvalue #powers UL LI H3{
	height: auto;
	margin-left: 160px;
	display: flex;
	align-items: center;
	line-height: 1;
}
#ourvalue #powers UL LI H3 EM{
	background-color: #fff;
	color: #000;
	font-size: 4rem;
	margin-right: 35px;
	letter-spacing: 0.1em;
	text-indent: .1em
}
#ourvalue #powers UL LI H3 SPAN{
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0;
}
#ourvalue #powers DL{
	display: flex;
	justify-content: flex-start;
}
#ourvalue #powers DL DT{
	font-size: 2.2rem;
	line-height: 2;
	letter-spacing: 0.2em;
	flex: 0 0 550px;
	max-width: 550px;
}
#ourvalue #powers DL DD{
	font-size: 1.34rem;
	line-height: 2;
	letter-spacing: 0.2em;
	flex: 1 0 510px;
	max-width: 510px;
}

#ourvalue .btn_products{
	position: absolute;
	left: 0;
	bottom: 0;
	border: 1px solid #8f9090;
	color: #000;
	font-size: 1.34rem;
	letter-spacing: .2em;
	display: flex;
	width: 390px;
	height: 56px;
	justify-content: center;
	align-items: center;
}
#ourvalue .btn_products::after{
	content: "";
	position: absolute;
	background-image: url('../img/pc/common/icon_arrow_2.png');
	width: 38px;
	height: 13px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	top: 40%;
	left: 63%;
}

/*----*/
SECTION#contact{
	padding: 240px 0 80px 0;
}
SECTION#contact .contact_btn_contact{
	display: block;
	border: 1px solid #a2a5a5;
	color: #000;
	font-size: 1.92rem;
	letter-spacing: .2em;
	display: flex;
	width: calc(100% - 120px);
	height: 92px;
	justify-content: center;
	align-items: center;
	margin: 0 auto 42px;
	position: relative;
}
SECTION#contact .contact_btn_contact::after{
	content: "";
	position: absolute;
	background-image: url('../img/pc/common/icon_arrow.png');
	width: 15px;
	height: 20px;
	background-size: 15px 20px;
	background-position: center;
	background-repeat: no-repeat;
	top: 40%;
	left: 50%;
	margin-left: 4.5em;
}
SECTION#contact H2{
	text-align: center;
	font-size: 1.63rem;
	line-height: 2;
	margin-bottom: 34px;
}
SECTION#contact P{
	text-align: center;
	font-size: 1.15rem;
	line-height: 1.9;
}

/* products ---------------------------------*/
#products #cover{
	/*background-image: url('../img/pc/products/cover.jpg');*/
}
#products #cover .parallax{
	background-image: url('../img/pc/products/cover.jpg');
}
#products #introduction{
	padding-top: 75px;
}
#products #introduction H2{
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
	letter-spacing: .2em;
	margin-bottom: 135px;
}
#products #introduction UL{
	display: flex;
	flex-wrap: wrap;
	margin: 0 100px;
}
#products #introduction UL LI{
	flex: 0 0 28%;
	min-width: 212px;
	margin-right: 8%;
	background-position: center 72%;
	background-size: 80%;
	background-repeat: no-repeat;
	position: relative;
	margin-bottom: 245px;
}
#products #introduction UL LI A{
	display: block;
}
#products #introduction UL LI:nth-child(1){
	background-image: url('../img/pc/products/intro_truck.jpg');
}
#products #introduction UL LI:nth-child(2){
	background-image: url('../img/pc/products/intro_const.jpg');
}
#products #introduction UL LI:nth-child(3){
	background-image: url('../img/pc/products/intro_other.jpg');
}
#products #introduction UL LI::after{
	content: "";
	position: absolute;
	width: 14%;
	height: 60%;
	border-right: 1px solid #d9e1e1;
	margin-right: 14%;
	bottom: 0;
	left: 100%;
}
#products #introduction UL LI:last-child{
	margin-right: 0;
}
#products #introduction UL LI:last-child::after{
	content: none;
}
#products #introduction UL LI H3{
	padding-bottom: 48px;
	border-bottom: 10px solid #02218d;
	margin-bottom: 15vw;
	color: #000;
}
#products #introduction UL LI H3 EM{
	background-color: #b3b3b3;
	font-size: 2rem;
	line-height: 1;
	display: inline-block;
	letter-spacing: .1em;
	margin-bottom: 20px;
}
#products #introduction UL LI H3 SPAN{
	font-size: 2rem;
	letter-spacing: .02em;
	display: block;
	line-height: 1;
}
#products #introduction P{
	color: #000;
	text-align: center;
	font-size: 1.25rem;
	line-height: 1.9;
	letter-spacing: .1em;
}
@media screen and (max-width:1010px) {
#products #introduction UL LI H3 SPAN{
	font-size: 1.7rem;
}
#products #introduction P{
	font-size: 1rem;
}
}
/*----*/
#products .detail{
	padding-bottom: 250px;
}
#products #other{
	padding-bottom: 0;
}
#products .detail .heading{
	background-size: 56% auto, 7px 7px;
	background-position: center, center;
	background-repeat: no-repeat, repeat;
	width: 100%;
	height: 38.6vw;
	display: flex;
	align-items: center;
}
#products #truck .heading{
	background-image: url('../img/pc/products/products-truck_illust.png'),
	url('../img/pc/common/products_bg.png');
}
#products #const .heading{
	background-image: url('../img/pc/products/products-const_illust.png'),
	url('../img/pc/common/products_bg.png');
	background-size: 53% auto, 7px 7px;
	background-position: 58% center, center;
}
#products #other .heading{
	background-image: url('../img/pc/products/products-other_illust.png'),
	url('../img/pc/common/products_bg.png');
}
#products .detail .heading SPAN{
	display: block;
	font-size: 5rem;
	margin-left: 160px;
}
#products #const .heading SPAN{
	font-size: 7rem;
}

#products .detail .explain{
	margin: 85px 60px 135px 160px;
	display: flex;
	flex-wrap: wrap;
}
#products .detail .explain DT{
	flex: 0 0 515px;
}
#products .detail .explain DT H3{
	margin-bottom: 65px;
}
#products .detail .explain DT H3 EM{
	background-color: #b3b3b3;
	color: #000;
	font-size: 2.8rem;
	line-height: 1;
	display: inline-block;
	letter-spacing: .1em;
	margin-bottom: 20px;
}
#products .detail .explain DT H3 SPAN{
	font-size: 1.35rem;
	letter-spacing: .02em;
	display: block;
	line-height: 1;
}
#products .detail .explain DT P{
	font-size: 2.2rem;
	letter-spacing: .02em;
	line-height: 2;
	margin-bottom: 1em;
}
#products .detail .explain DD{
	font-size: 1.35rem;
	letter-spacing: .02em;
	line-height: 2.1;
	flex: 1 1 50%;
	min-width: 400px;
	max-width: 620px;
}
/*----*/
#products .detail UL{
	margin: 0 0 0 160px;
	border-top: 1px solid #e2e2e2;
	position: relative;
}
#products .detail UL::before{
	content:"";
	width: 240px;
	height: 10px;
	background-color: #02218d;
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
}
#products .detail UL LI{
	border-bottom: 1px solid #e2e2e2;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
#products .detail UL LI H4{
	font-size: 2.1rem;
	letter-spacing: .02em;
	line-height: 1.2;
	flex: 0 0 30%;
}
#products .detail UL LI P{
	font-size: 1.25rem;
	letter-spacing: .01em;
	line-height: 1.2;
	flex: 0 0 20%;
}
#products .detail UL LI IMG{
	height: 140px;
	width: auto;
}

/* processfacility ---------------------------------*/
#processfacility #cover{
	/*background-image: url('../img/pc/processfacility/cover.jpg');*/
}
#processfacility #cover .parallax{
	background-image: url('../img/pc/processfacility/cover.jpg');
}

/*----*/
#processfacility #introduction{
	padding-top: 75px;
}
#processfacility #introduction H2{
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
	letter-spacing: .2em;
	margin-bottom: 145px;
}
#processfacility #introduction UL{
	border-bottom: 1px solid #e2e2e2;
	display: flex;
	justify-content: center;
	margin: 0 110px;
}
#processfacility #introduction UL LI{
	border: 1px solid #e2e2e2;
	border-bottom: none;
}
#processfacility.process #introduction UL LI:nth-child(1){
	border: 1px solid #000;
	border-bottom: none;
}
#processfacility.facility #introduction UL LI:nth-child(2){
	border: 1px solid #000;
	border-bottom: none;
}
#processfacility #introduction UL LI A{
	display: block;
	text-align: center;
	color: #c4c4c4;
	font-size: 2rem;
	letter-spacing: .2em;
	padding: 0.7em 3.8em;
}
#processfacility.process #introduction UL LI:nth-child(1) A{
	color: #000;
}
#processfacility.facility #introduction UL LI:nth-child(2) A{
	color: #000;
}
/*----*/
#processfacility #process,
#processfacility #facility{
	padding: 113px 0 250px 0;
}
#processfacility #process H3,
#processfacility #facility H3{
	text-align: center;
	line-height: 1;
	margin-bottom: 70px;
}
#processfacility #process H3 EM,
#processfacility #facility H3 EM{
	display: inline-block;
	background-color: #b3b3b3;
	color: #000;
	font-size: 3.55rem;
	letter-spacing: .1em;
}
#processfacility #process H3 SPAN,
#processfacility #facility H3 SPAN{
	display: inline-block;
	font-size: 1.6em;
	letter-spacing: .02em;
	margin-left: 6rem;
	vertical-align: top;
	line-height: 1.6;
}
#processfacility #process .read,
#processfacility #facility .read{
	font-size: 1.82em;
	letter-spacing: .02em;
	text-align: center;
	line-height: 2;
	margin-bottom: 90px;
}
#processfacility #process OL{
	margin: 0 auto;
	position: relative;
	width: calc(100% - 220px);
	max-width: 1200px;
}
#processfacility #process OL::before{
	content: "";
	position: absolute;
	width: 36px;
	height: 103%;
	background-color: #02218d;
	background-image: url('../img/pc/processfacility/process_deco_1.png'), url('../img/pc/processfacility/process_deco_1.png');
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	background-size: 100% auto, 100% auto;
	border-radius: 18px 18px 18px 18px;
	top: -1%;
	left: 12%;
}
#processfacility #process OL LI{
	display: flex;
	padding-bottom: 100px;
	position: relative;
	max-width: 1200px;
	margin: 0 auto 45px;
}
#processfacility #process OL LI:first-child{
	padding-top: 45px;
}
#processfacility #process OL LI:first-child:before{
	content: "";
	border-bottom: 1px solid #e2e2e2;
	width: 140px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -70px;
}
#processfacility #process OL LI::after{
	content: "";
	border-bottom: 1px solid #e2e2e2;
	width: 140px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -70px;
}
#processfacility #process OL LI:last-child{
	margin-bottom: 0
}
#processfacility #process OL LI .image{
	flex: 0 1 49.8%;
	margin: 55px 60px 0 0;
	height: 375px;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
#processfacility #process OL LI:nth-child(1) .image{
	background-image: url('../img/pc/processfacility/process_img_1.jpg');
}
#processfacility #process OL LI:nth-child(2) .image{
	background-image: url('../img/pc/processfacility/process_img_2.jpg');
}
#processfacility #process OL LI:nth-child(3) .image{
	background-image: url('../img/pc/processfacility/process_img_3.jpg');
}
#processfacility #process OL LI:nth-child(4) .image{
	background-image: url('../img/pc/processfacility/process_img_4.jpg');
}
#processfacility #process OL LI:nth-child(5) .image{
	background-image: url('../img/pc/processfacility/process_img_5.jpg');
}
#processfacility #process OL LI:nth-child(6) .image{
	background-image: url('../img/pc/processfacility/process_img_6.jpg');
}
#processfacility #process OL LI:nth-child(7) .image{
	background-image: url('../img/pc/processfacility/process_img_7.jpg');
}
#processfacility #process OL LI .text{
	flex: 0 1 47.3%;
}
#processfacility #process .text H4{
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	margin-bottom: 30px;
}
#processfacility #process .text H4 SPAN{
	display: block;
	font-size: 1.6rem;
	letter-spacing: .05em;
	line-height: 1.4;
	border-bottom: 4px solid #000;
}
#processfacility #process .text H4 EM{
	display: block;
	font-size: 8rem;
	flex: 0 0 1.5em;
	max-width: 1.5em;
	text-align: center;
}
#processfacility #process .text H4 B{
	display: block;
	font-size: 2.2rem;
	text-align: center;
	line-height: 1.4;
	letter-spacing: .2em;
	border-bottom: 4px solid #b2b2b2;
}
#processfacility #process .text H5{
	font-size: 1.92rem;
	letter-spacing: .1em;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 20px;
}
#processfacility #process .text P{
	font-size: 1.35rem;
	letter-spacing: .1em;
	line-height: 2;
}
/*----*/
#processfacility #commit{
	padding-bottom: 105px;
}
#processfacility #commit H3{
	font-size: 3.55rem;
	line-height: 1;
	text-align: center;
	letter-spacing: .2em;
}
#processfacility #commit H3 SPAN{
	display: inline-block;
	font-size: 1.8rem;
	margin-top: 30px;
	letter-spacing: .05em;
}

#processfacility .commit_photo{
}
#processfacility .commit_photo .wrap{
	position: relative;
	padding-top: 44.9vw;
	background-size: contain;
	background-position: center top;
	background-repeat: no-repeat;
}
#processfacility .commit_photo .wrap DL{
	position: absolute;
	display: block;
	top: calc(50% - 2rem);
	left: 110px;
	background-color: #f6ffff;
	padding-right: 7rem;
}
#processfacility .commit_photo .wrap DL DD{
	font-size: 1.44rem;
	line-height: 1;
	letter-spacing: .1em;
}
#processfacility .commit_photo .wrap DL DT{
	font-size: 2.4rem;
	letter-spacing: .1em;
	line-height: 1;
	margin-top: .6em;
}
#processfacility #commit_1_photo .wrap{
	background-image: url('../img/pc/processfacility/commit_1_1.jpg');
}
#processfacility #commit_2_photo .wrap{
	background-image: url('../img/pc/processfacility/commit_2_1.jpg');
}
/**/
#processfacility .commit_detail .wrap{
	display: flex;
	margin: 90px 0 250px 160px;
}
#processfacility #commit_2_detail .wrap{
	margin-bottom: 110px;
}
#processfacility .commit_detail .wrap .text{
	flex: 1 0 55%;
	padding-right: 100px;
	min-width: 580px;
}
#processfacility .commit_detail .wrap .text H4{
	font-size: 2.8rem;
	line-height: 1;
	letter-spacing: 0;
	display: inline-block;
	margin-bottom: 20px;
}
#processfacility .commit_detail .wrap .text H4 SPAN{
	display: inline-block;
	background-color: #b3b3b3;
	margin-bottom: 1.2em;

}
#processfacility .commit_detail .wrap .text P{
	font-size: 1.35rem;
	letter-spacing: .1em;
	line-height: 2;
}
#processfacility .commit_detail .wrap .image{
	flex: 0 1 45%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
#processfacility #commit_1_detail .wrap .image{
	background-image: url('../img/pc/processfacility/commit_1_2.jpg');
}
#processfacility #commit_2_detail .wrap .image{
	background-image: url('../img/pc/processfacility/commit_2_2.jpg');
}

/*----*/
#processfacility #facility{

}

#processfacility #facility H4{
	font-size: 2.55rem;
	margin-bottom: 16px;
	letter-spacing: .1em;
	text-align: center;
}
#processfacility #facility .list{
	margin: 0 110px;
	padding-bottom: 153px;
}
#processfacility #facility .list TABLE{
	border-top: 7px solid #b2b2b2;
	font-size: 1.35rem;
	width: 100%;
	border-collapse: collapse;
}
#processfacility #facility .list TABLE THEAD TR{
	background-color: #e8f0f0;
}
#processfacility #facility .list TABLE TH{
	text-align: center;
	padding: 1em 0;
	width: 33.333%;
	border-bottom: 1px solid #e2e2e2;
}
#processfacility #facility .list TABLE TD{
	border-bottom: 1px solid #e2e2e2;
	text-align: center;
	padding: .7em 0;
	border-left: 10px solid #f7ffff;	
	line-height: 2.2;
	vertical-align: middle;
}
#processfacility #facility .list TABLE TD:nth-child(1){
	border-left: none;	
}
#processfacility #facility .machine{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 110px;
}
#processfacility #facility .machine DL{
	display: flex;
	align-items: center;
	padding: 60px 0;
	border-bottom: 1px solid #e2e2e2;
	flex: 1 1 48%;
	max-width: 48%;
}
#processfacility #facility .machine DL:nth-child(-n + 2){
	border-top: 1px solid #e2e2e2;
}
#processfacility #facility .machine DL:nth-child(2n+1){
	margin-right: 4%;
}
#processfacility #facility .machine DL DT{
	font-size: 1.72rem;
	letter-spacing: .1em;
	flex: 1 1 40%;
}
#processfacility #facility .machine DL DD{
	flex: 1 1 60%;
	height: 16vw;
	max-height: 294px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left top;
}
#processfacility #facility .machine DL:nth-child(1) DD{
	background-image: url('../img/pc/processfacility/facility_img_01.jpg');
}
#processfacility #facility .machine DL:nth-child(2) DD{
	background-image: url('../img/pc/processfacility/facility_img_02.jpg');
}
#processfacility #facility .machine DL:nth-child(3) DD{
	background-image: url('../img/pc/processfacility/facility_img_03.jpg');
}
#processfacility #facility .machine DL:nth-child(4) DD{
	background-image: url('../img/pc/processfacility/facility_img_04.jpg');
}
#processfacility #facility .machine DL:nth-child(5) DD{
	background-image: url('../img/pc/processfacility/facility_img_05.jpg');
}
#processfacility #facility .machine DL:nth-child(6) DD{
	background-image: url('../img/pc/processfacility/facility_img_06.jpg');
}
#processfacility #facility .machine DL:nth-child(7) DD{
	background-image: url('../img/pc/processfacility/facility_img_07.jpg');
}
#processfacility #facility .machine DL:nth-child(8) DD{
	background-image: url('../img/pc/processfacility/facility_img_08.jpg');
}
#processfacility #facility .machine DL:nth-child(9) DD{
	background-image: url('../img/pc/processfacility/facility_img_09.jpg');
}
#processfacility #facility .machine DL:nth-child(10) DD{
	background-image: url('../img/pc/processfacility/facility_img_10.jpg');
}
#processfacility #facility .machine DL:nth-child(11) DD{
	background-image: url('../img/pc/processfacility/facility_img_11.jpg');
}
#processfacility #facility .machine DL:nth-child(12) DD{
	background-image: url('../img/pc/processfacility/facility_img_12.jpg');
}
#processfacility #facility .machine DL:nth-child(13) DD{
	background-image: url('../img/pc/processfacility/facility_img_13.jpg');
}
#processfacility #facility .machine DL:nth-child(14) DD{
	background-image: url('../img/pc/processfacility/facility_img_14.jpg');
}
#processfacility #facility .machine DL:nth-child(15) DD{
	background-image: url('../img/pc/processfacility/facility_img_15.jpg');
}
#processfacility #facility .machine DL:nth-child(16) DD{
	background-image: url('../img/pc/processfacility/facility_img_16.jpg');
}
#processfacility #facility .machine DL:nth-child(17) DD{
	background-image: url('../img/pc/processfacility/facility_img_17.jpg');
}
#processfacility #facility .machine DL:nth-child(18) DD{
	background-image: url('../img/pc/processfacility/facility_img_18.jpg');
}
#processfacility #facility .machine DL:nth-child(19) DD{
	background-image: url('../img/pc/processfacility/facility_img_19.jpg');
}
#processfacility #facility .machine DL:nth-child(20) DD{
	background-image: url('../img/pc/processfacility/facility_img_20.jpg');
}
#processfacility #facility .machine DL:nth-child(21) DD{
	background-image: url('../img/pc/processfacility/facility_img_21.jpg');
}


/* quality ---------------------------------*/
#quality #cover{
	/*background-image: url('../img/pc/quality/cover.jpg');*/
}
#quality #cover .parallax{
	background-image: url('../img/pc/quality/cover.jpg');
}

#quality SECTION.envqua {
	display: flex;
	padding: 50px 110px 140px 110px;
	width: 100%;
	position: relative;
}
#quality SECTION.envqua::before{
	content: "";
	border-bottom: 1px solid #e2e2e2;
	width: calc(100% - 220px);
	position: absolute;
	top: 0;
	left: 110px;
}
#quality SECTION.envqua H2{
	font-size: 2.4rem;
	flex: 0 0 286px;
	max-width: 286px;
}
#quality SECTION.envqua > DIV{
	flex: 1 0;
}
#quality SECTION.envqua > DIV P{
	font-size: 1.8rem;
	line-height: 1.8;
	margin-bottom: 2em;
	letter-spacing: .1em;
}
#quality SECTION.envqua > DIV OL{
	margin-bottom: 5rem;
}
#quality SECTION.envqua > DIV OL LI{
	font-size: 1.5rem;
	letter-spacing: .1em;
	display: flex;
	align-items: center;
	line-height: 1.9;
	margin-bottom: 2em;
}
#quality SECTION.envqua > DIV OL LI::before{
	content: "1";
	font-size: 3rem;
	margin-right: 0.7em;
}
#quality SECTION.envqua > DIV OL LI:nth-child(2):before{
	content: "2";
}
#quality SECTION.envqua > DIV OL LI:nth-child(3)::before{
	content: "3";
}

#quality SECTION.envqua > DIV .signature{
	font-size: 1.35rem;
	line-height: 2;
	margin-bottom: 0;
}
#quality SECTION.envqua > DIV A.arrow{
	color: #000;
	display: inline-block;
	background-image: url('../img/pc/common/icon_arrow_2.png');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 38px 12px;
	padding: 0 50px 0 0;
	letter-spacing: .1em;
}
#quality SECTION.envqua > IMG {
	flex: 0 0;
	margin-left: 135px;
}
#quality #env_policy{
	padding-top: 200px;
}
#quality #env_policy::before{
	top: 150px;
}
#quality #env_cert > IMG{
	width: 148px;
	height: auto;
	flex: 0 0;
}
#quality #env_report > IMG{
	width: 138px;
	height: auto;
	flex: 0 0;
}
#quality #quality_cert > DIV > IMG{
	width: 242px;
	height: auto;
}

#quality SECTION.envqua .sdgs_intro{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 780px;
	margin: 6em 0 3em;
}
#quality SECTION.envqua .sdgs_intro P{
	flex: 1 1;
	font-size: 1.8rem;
	line-height: 1.8;
	margin: 0;
}
#quality SECTION.envqua .sdgs_intro FIGURE{
	flex: 0 0 195px;
	max-width: 195px;
	height: 25px;
	background-image: url('../img/pc/quality/sdgs_logo.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	text-indent: -9999px;
}

#quality SECTION.envqua .sdgs_list{
	margin-bottom: 0;
	width: 100%;
}
#quality SECTION.envqua .sdgs_list > LI{
	align-items: flex-start;
	flex-wrap: wrap;
	border-bottom: 1px solid #e2e2e2;
	padding: 0 0 60px;
}
#quality SECTION.envqua .sdgs_list > LI::before {
	margin-right: 0.3em;
}
#quality SECTION.envqua .sdgs_list > LI H3{
	font-size: 1.8rem;
	line-height: 3.4;
	flex: 1 1 80%;
}
#quality SECTION.envqua .sdgs_list > LI > UL {
	width: 100%;
	max-width: 780px;
}
#quality SECTION.envqua .sdgs_list > LI > UL > LI {
	display: flex;
	padding: 0 0 0 2em;
	justify-content: space-between;
	align-items: flex-start;
}
#quality SECTION.envqua .sdgs_list > LI > UL > LI::before {
	content: none;
}
#quality SECTION.envqua .sdgs_list > LI > UL > LI > H4{
	flex: 0 0 40%;
}
#quality SECTION.envqua .sdgs_list > LI > UL > LI > H5{
	flex: 0 0 40%;
}
#quality SECTION.envqua .sdgs_list > LI > UL > LI > FIGURE{
	flex: 0 0 48px;
	max-width: 48px;
	margin-right: 68px;
}

#quality #kihara_csr{
	padding-bottom: 0;
}

/* orderflow ---------------------------------*/
#orderflow #cover{
}
#orderflow #cover .parallax{
	background-image: url('../img/pc/orderflow/cover.jpg');
}

#orderflow #merit{
	padding: 199px 0 40px 0;
	text-align: center;
	position: relative;
}
#orderflow #merit::before{
	content: "";
	border-bottom: 1px solid #e2e2e2;
	width: calc(100% - 220px);
	position: absolute;
	bottom: 0;
	left: 110px;
}
#orderflow #merit H2{
	display: inline-block;
	width: auto;
	font-size: 2.92rem;
	line-height: 1.6;
	background-image: url('../img/pc/orderflow/border_1.png');
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: left bottom;
	padding: 0 20px 90px 100px;
	margin: 0 0 65px 0;
}
#orderflow #merit P{
	font-size: 1.72em;
	line-height: 2;
	letter-spacing: .1em;
	margin: 0 0 220px 0;
}
#orderflow #merit OL{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 955px;
	margin: 0 auto;
}
#orderflow #merit OL LI{
	width: 420px;
	margin-bottom: 120px;
	padding-bottom: 272px;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center bottom;
}
#orderflow #merit OL LI:nth-child(1){
	background-image: url('../img/pc/orderflow/merit_img_1.jpg');
}
#orderflow #merit OL LI:nth-child(2){
	background-image: url('../img/pc/orderflow/merit_img_2.jpg');
}
#orderflow #merit OL LI:nth-child(3){
	background-image: url('../img/pc/orderflow/merit_img_3.jpg');
}
#orderflow #merit OL LI:nth-child(4){
	background-image: url('../img/pc/orderflow/merit_img_4.jpg');
}
#orderflow #merit OL LI DL{
	display: flex;
}
#orderflow #merit OL LI DL DT{
	flex: 0 0 95px;
	border-right: 10px solid #02218d;
	font-size: 1.2rem;
	line-height: 1;
}
#orderflow #merit OL LI DL DT EM{
	display: block;
	font-size: 4.8rem;
}
#orderflow #merit OL LI DL DD{
	text-align: left;
	padding-left: 40px;
	font-size: 1.72rem;
}
#orderflow #merit OL LI DL DD EM{
	display: block;
	margin-top: 10px;
	font-size: 2.68rem;
}

#orderflow #flow{
	padding: 135px 0 325px 0;
	text-align: center;
}
#orderflow #flow H2{
	display: inline-block;
	width: auto;
	font-size: 3.55rem;
	line-height: 1;
	letter-spacing: .1em;
	background-image: url('../img/pc/orderflow/border_2_1.png'), url('../img/pc/orderflow/border_2_2.png');
	background-repeat: no-repeat, no-repeat;
	background-size: 45% auto, 45% auto;
	background-position: right top, left bottom;
	padding: 60px 190px 60px 190px;
	margin: 0 0 140px 0;
}
#orderflow #flow H2 SMALL{
	display: block;
	font-size: 1.15rem;
	margin-top: 20px;
	letter-spacing: 0;
}
#orderflow #flow OL{
	width: 1060px;
	margin: 0 auto 140px;
}
#orderflow #flow OL LI{
	display: flex;
	padding: 80px 0 0 0;
}
#orderflow #flow OL LI I{
	flex: 1 1 224px;
	max-width: 224px;
	background-repeat: no-repeat;
	background-position: center top;
	text-indent: -9999px;
	min-height: 120px;
}
#orderflow #flow OL LI:nth-child(1) I{
	background-image: url('../img/pc/orderflow/step_1_icon.png');
	background-size: 90px auto;
}
#orderflow #flow OL LI:nth-child(2) I{
	background-image: url('../img/pc/orderflow/step_2_icon.png');
	background-size: 90px auto;
}
#orderflow #flow OL LI:nth-child(3) I{
	background-image: url('../img/pc/orderflow/step_3_icon.png');
	background-size: 64px auto;
}
#orderflow #flow OL LI:nth-child(4) I{
	background-image: url('../img/pc/orderflow/step_4_icon.png');
	background-size: 108px auto;
}
#orderflow #flow OL LI:nth-child(5) I{
	background-image: url('../img/pc/orderflow/step_5_icon.png');
	background-size: 118px auto;
}
#orderflow #flow OL LI DL{
	flex: 1 1 836px;
	max-width: 836px;
	display: flex;
	align-items: center;
	padding: 0 0 30px 0;
	border-bottom: 1px solid #e2e2e2;
}
#orderflow #flow OL LI DL DT{
	flex: 1 1 410px;
	max-width: 410px;
	display: flex;
	align-items: center;
	border-right: 10px solid #02218d;
}
#orderflow #flow OL LI DL DT P{
	text-align: center;
	font-size: 5.2rem;
	line-height: 1;
	flex: 1 1 145px;
	max-width: 145px;
}
#orderflow #flow OL LI DL DT P SMALL{
	display: block;
	font-size: 1.2rem;
	margin-top: 5px;
}
#orderflow #flow OL LI DL DT H3{
	line-height: 1;
	font-size: 2.68rem;
	letter-spacing: .1em;
	line-height: 1;
}
#orderflow #flow OL LI DL DD{
	text-align: left;
	font-size: 1.34rem;
	letter-spacing: .1em;
	line-height: 2;
	padding-left: 58px;
}
#orderflow #flow .intro{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #0a0a0a;
	width: 884px;
	margin: 0 auto;
	padding-bottom: 30px;
}
#orderflow #flow .intro H3{
	font-size: 2.11rem;
	letter-spacing: .1em;
	flex: 0 0 315px;
}
#orderflow #flow .intro A{
	display: block;
	flex: 1 1 45rem;
	max-width: 45rem;
	font-size: 1.25rem;
	line-height: 1.9;
	color: #000;
	text-align: left;
	background-image: url('../img/pc/common/icon_arrow.png');
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 10px auto;
	letter-spacing: .1em;
	margin: 0 0 0 50px;
}

#orderflow #prototype{
	padding-bottom: 200px;
}
#orderflow #prototype .proto{
	background-image: url('../img/pc/orderflow/border_3_1.png'), url('../img/pc/orderflow/border_3_2.png'), url('../img/pc/orderflow/border_3_3.png'), url('../img/pc/orderflow/border_3_4.png');
	background-position: left top, right top, right bottom, left bottom;
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-size: 25% auto, 25% auto, 25% auto, 25% auto;
	width: 934px;
	margin: 0 auto;
	text-align: center;
	padding: 95px 112px 102px 112px;
}
#orderflow #prototype .proto H2{
	font-size: 1.74rem;
	letter-spacing: .1em;
	margin-bottom: 60px;
}
#orderflow #prototype .proto H3{
	font-size: 3.55rem;
	letter-spacing: .1em;
	margin-bottom: 30px;
}
#orderflow #prototype .proto P{
	font-size: 1.35rem;
	letter-spacing: .1em;
	text-align: left;
	margin-bottom: 30px;
	line-height: 2;
}
#orderflow #prototype .proto DL{
	display: flex;
	justify-content: center;
	text-align: left;
	align-items: center;
}
#orderflow #prototype .proto DT{
	font-size: 2.62rem;
	letter-spacing: .3em;
	vertical-align: middle;
	margin-right: 55px;
	padding-top: 30px;
}
#orderflow #prototype .proto DT SMALL{
	display: inline-block;
	font-size: 1.15rem;
	margin-left: 20px;
	padding-left: 22px;
	border-left: 2px solid #000;
	letter-spacing: 0;
}
#orderflow #prototype .proto DD{
	flex: 0 0 413px;
	max-width: 413px;
	height: 125px;
	text-indent: -9999px;
	background-image: url('../img/pc/orderflow/proto_img.jpg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 413px auto;
}

/* company ---------------------------------*/
#company #cover{
	/*background-image: url('../img/pc/company/cover.jpg');*/
}
#company #cover .parallax{
	background-image: url('../img/pc/company/cover.jpg');
}


#company #catch {
	padding: 220px 0 215px 0;
}
#company #catch H2{
	font-size: 2.8rem;
	line-height: 2;
	text-align: center;
	letter-spacing: .1em;
}
#company #message {
	padding: 180px 0 0 0;
}
#company #philosophy {
	padding: 0 0 160px 0;
}
#company [class^="img"]{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	text-indent: -9999px;
}
#company #img_syacho .img_syacho{
	background-image: url('../img/pc/company/img_syacho.jpg');
	height: 48.8vw;
}
#company #img_office .img_office{
	background-image: url('../img/pc/company/img_office.jpg');
	height: 39.6vw;
}
#company #detail .img_buillding{
	background-image: url('../img/pc/company/img_buillding.jpg');
	height: 36.4vw;
	margin: 0 0 70px;
}
#company #layout .img_layout{
	background-image: url('../img/pc/company/img_layout.png');
	height: 43.2vw;
	margin: 0 0 70px;
}

#company SECTION > DL{
	width: auto;
	margin: 0 90px 62px 90px;
	display: flex;
}
#company SECTION > DL.border_bottom{
	padding-bottom: 60px;
	border-bottom: 1px solid #e2e2e2;
}
#company SECTION > DL > DT{
	flex: 0 0 300px;
	max-width: 300px;
}
#company SECTION > DL > DD{
	flex: 1 1 auto;
}
#company SECTION > DL H3,
#company SECTION > DL H4{
	font-size: 2.5rem;
	display: inline-block;
	letter-spacing: .1em;
	line-height: 1.6;
}
#company SECTION > DL H3{
	padding-bottom: 2px;
	border-bottom: 2px solid #000;
}
#company SECTION > DL H5{
	font-size: 1.8rem;
	display: inline-block;
	letter-spacing: .1em;
	line-height: 2;
	margin-bottom: 70px;
}
#company SECTION > DL P{
	font-size: 1.8rem;
	letter-spacing: .1em;
	line-height: 2;
	margin-bottom: 1em;
}
#company SECTION > DL P SMALL{
	display: block;
	font-size: 1.4rem;
	margin-bottom: 5em;
}

#company SECTION > DL > DD > DL{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
	margin-top: -7px;
}
#company SECTION > DL > DD > DL > DT{
	flex: 0 0 192px;
	max-width: 192px;
}
#company SECTION > DL > DD > DL > DD{
	flex: 1 1 calc(100% - 192px);
	max-width: calc(100% - 192px);
	width: 100%;
}
#company SECTION > DL > DD > DL > DT,
#company SECTION > DL > DD > DL > DD{
	font-size: 1.4rem;
	letter-spacing: .1em;
	line-height: 2.4;
}

#company SECTION > DL > DD > DL > DD > DL {
	display: flex;
	flex-wrap: wrap;
}
#company SECTION > DL > DD > DL > DD > DL > DT {
	flex: 0 0 5em;
	max-width: 5em;
}
#company SECTION > DL > DD > DL > DD > DL > DD {
	flex: 0 0 calc(100% - 5em);
	max-width: calc(100% - 5em);
}

#company #detail {
	padding: 150px 0 0 0;
}
#company #access .gmap {
	margin-bottom: 50px;
}
#company #access .gmap iframe{
	top: 0;
	left: 0;
	width: 100%;
	height: 410px;
}

/* sizelist ---------------------------------*/
#sizelist #cover{
}
#sizelist #cover .parallax{
	background-image: url('../img/pc/sizelist/cover.jpg');
}
#sizelist #u1 {
	padding: 75px 0 0 0;
}
#sizelist #u1 H2{
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
	letter-spacing: .2em;
	margin-bottom: 115px;
}
#sizelist DL.heading {
	display: flex;
	align-items: center;
	margin: 0 60px 0 160px;
	border-top: 1px solid #e2e2e2;
	padding-top: 30px;
}
#sizelist DL.heading DT{
	flex: 1 0 50%;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	height: 261px;
	font-size: 2.2rem;
	letter-spacing: .1em;
	padding: 120px 0 120px 330px;
}
#sizelist #u1 DL.heading DT{
	background-image: url('../img/pc/sizelist/illust_pipe_1.png');
}
#sizelist #h1u2 DL.heading DT{
	background-image: url('../img/pc/sizelist/illust_pipe_2.png');
}
#sizelist #h2 DL.heading DT{
	background-image: url('../img/pc/sizelist/illust_pipe_3.png');
}
#sizelist DL.heading DD{
	flex: 1 1 50%;
	text-align: center;
}
#sizelist DL.heading DD H3 EM{
	background-color: #b3b3b3;
	color: #000;
	font-size: 2.8rem;
	line-height: 1;
	display: inline-block;
	letter-spacing: .1em;
	margin-bottom: 33px;
}
#sizelist DL.heading DD H3 SPAN{
	font-size: 1.8rem;
	letter-spacing: .02em;
	display: block;
	line-height: 1;
}

#sizelist .lists{
	margin: 30px 60px 0 160px;
	border-top: 1px solid #e2e2e2;
	padding-top: 22px;
	text-align: center;
}
#sizelist .lists H4{
	background-color: #b3b3b3;
	color: #000;
	font-size: 1.6rem;
	line-height: 1;
	display: inline-block;
	letter-spacing: .1em;
	margin-bottom: 20px;
}
#sizelist .lists P{
	color: #000;
	font-size: 1.06rem;
	margin-bottom: 28px;
}
#sizelist .lists OL{
	color: #000;
	font-size: 1.06rem;
	line-height: 1.7;
	margin-bottom: 28px;
}
#sizelist .table_wrap{
	display: flex;
	justify-content: space-between;
}
#sizelist .table_wrap > DIV{
	border-top: 7px solid #b2b2b2;
	flex: 1 1 48%;
	max-width: 48%;
	margin: 0 0 100px 0;
}
#sizelist .table_wrap TABLE{
	font-size: 1.35rem;
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
#sizelist .table_wrap TABLE THEAD TR{
	background-color: #e8f0f0;
}
#sizelist .table_wrap TABLE TH{
	text-align: center;
	padding: 1em 0;
	border-right: 15px solid #f7ffff;
	border-bottom: 1px solid #b5bcbc;
}
#sizelist .table_wrap TABLE TH:last-child{
	border-right: none;
}
#sizelist .table_wrap TABLE TD{
	border-bottom: 1px solid #b5bcbc;
	text-align: center;
	padding: .7em 0;
	border-right: 15px solid #f7ffff;
	line-height: 2.2;
	vertical-align: middle;
}
#sizelist .table_wrap TABLE TD:last-child{
	border-right: none;
}


/* recruit ---------------------------------*/
#recruit #cover .parallax{
	background-image: url('../img/pc/recruit/cover.jpg');
}

#recruit #introduction{
	padding: 75px 0 100px 0;
}
#recruit #introduction::after{
	content: "";
	display: block;
	border-bottom: 1px solid #e2e2e2;
	width: calc(100% - 220px);
	position: absolute;
	bottom: 0;
	left: 110px;
}
#recruit #introduction H2{
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
	letter-spacing: .2em;
	margin-bottom: 75px;
}
#recruit #introduction P{
	font-size: 1.83rem;
	text-align: center;
	line-height: 2;
	letter-spacing: .2em;
}

#recruit #recruiting{
	padding: 140px 0 90px;
}
#recruit #recruiting P{
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
	letter-spacing: .2em;
}


/* contact ---------------------------------*/
#contact #mailform{
	padding-top: 235px;
}
#contact #mailform H1{
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.5;
	letter-spacing: .2em;
	margin-bottom: 150px;
}
#contact #mailform H1 SPAN{
	display: inline-block;
	border-bottom: 2px solid #000;
}
#contact #mailform > P{
	width: 100%;
	max-width: 880px;
	margin: 0 auto;
	padding-left: 164px;
	font-size: 1.35rem;
	line-height: 1.8;
	letter-spacing: .1em;
	margin-bottom: 10px;
}
#contact #mailform > P.read{
	margin-bottom: 100px;
}
#contact #mailform > P STRONG{ 
	color: #ff0000;
}
#contact #mailform form > DIV{
	max-width: 880px;
	margin: 0 auto 80px;
	font-size: 1.35rem;
	line-height: 1.6;
}
#contact #mailform FIELDSET{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
#contact #mailform FIELDSET LABEL{
	max-width: 164px;
	flex: 0 0 164px;
	padding-top: .8em;
}
#contact #mailform FIELDSET INPUT{
}
#contact #mailform FIELDSET TEXTAREA{
	height: 14em;
}
#contact INPUT, #contact TEXTAREA{
	background-color: #e2eaea;
	width: calc(100% - 164px);
	border-radius: 6px;
	padding: .8em 1em;
}
#contact .select_wrap{
  position: relative;
	width: calc(100% - 164px);
}
#contact .select_wrap::after {
  pointer-events: none;
  position: absolute;
  color: #000;
  top: 50%;
  right: 2em;
  transform: translateY(-50%);
  content: "▼";
}
#contact #mailform FIELDSET SELECT{
	width: 100%;
	border: 1px solid #e2eaea;
	border-radius: 6px;
	padding: .8em 1em;
}
#contact #mailform FIELDSET > P{
	padding-top: .8em;
}
#contact #mailform INPUT[type=submit]{
	height: 3em;
	text-align: center;

	background-color: #878c8c;
	color: #fff;
	margin-top: 80px;
}
#contact #mailform FIELDSET.error INPUT, 
#contact #mailform FIELDSET.error TEXTAREA, 
#contact #mailform FIELDSET.error SELECT{
	border: 1px solid #e20000;
}
#contact #mailform FIELDSET.error P.error{
	padding-left: 164px;
	color: #ff0000;
}
#contact #mailform FIELDSET P.conf{
	background-color: #e2eaea;
	width: calc(100% - 164px);
	border-radius: 6px;
	padding: .8em 1em;
}
#contact #mailform FIELDSET P.conf.line8{
	min-height: 16em;
}
#contact #mailform FIELDSET P.btns{
	width: calc(100% - 164px);
	display: flex;
	justify-content: space-between;
}
#contact #mailform FIELDSET P.btns INPUT{
	flex: 0 0 49%;
}
#contact #mailform H2{
	text-align: center;
	font-size: 2.5rem;
	line-height: 1.5;
	letter-spacing: .2em;
	margin-bottom: 150px;
}

/*----*/
/*----*/