@charset "utf-8";
/* Copyright 2020 FSFIELD All Rights Reserved. */

/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

PC

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

@keyframes scroll{
	0%{transform:scaleX(0);transform-origin: left;}
	25%{transform:scaleX(1);transform-origin: left;}
	75%{transform:scaleX(1);transform-origin: right;}
	100%{transform:scaleX(0);transform-origin: right;}
}


@media print, screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

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

	トップページ

	------------------------------------------------------------ */
	
	/* グローバルナビアクティブ
	---------------------------------------------- */
	
	/* メインビジュアル
	---------------------------------------------- */
	#main{
		background: url("../img/home/pc/bg_main01.jpg") no-repeat center 0;
		background-size: cover;
		height: calc(100vh - 100px);
		position: relative;
	}
	
	#main::before,
	#main::after{
		content: "";
		display: block;
		background:rgba(19, 149, 236, 0.9);
		position: absolute;
		transform: skewX(-30deg);
	}
	
	#main::before{
		width: 752px;
		height: calc(100vh - 100px);
		transform: skewX(-30deg);
	    transform-origin: top;
	    top: 0;
	    left: 0;
	}
	
	#main::after{
		width: 200px;
		height: 347px;
		right: 0;
		bottom: 0;
		transform-origin: bottom;
	}
	
	#main .scroll{
		position: absolute;
		right: 30px;
		bottom: 15px;
		z-index: 1;
		transform: rotate(90deg);
	    transform-origin: right;
	}
	
	#main .scroll span{
		color: #FFF;
		font-size: 1.4rem;
		font-family: "Roboto";
		position: relative;
		display: block;
		padding-right: 80px;
		line-height: 0.8;
	}
	
	#main .scroll span::before,
	#main .scroll span::after{
		content: "";
		display: block;
		background:rgba(255, 255, 255, 0.5);
		width: 70px;
		height: 1px;
		position: absolute;
		top: 5px;
		right: 0;
	}
	
	#main .scroll span::after{
		background: #FFF;
		animation: scroll 3s ease infinite forwards;
	}
	
	.txt_main{
		width: 593px;
		position: absolute;
		top: 50%;
		left: 7.8%;
		transform: translateY(-50%);
	}
	
	.txt_main01{margin-bottom: 45px;}
	
	.txt_main01 img{width: 593px;}
	
	.txt_main02{
		background: #004482;
		padding: 10px 15px;
		color: #FFF;
		font-weight: bold;
		font-size: 1.6rem;
	}
	
	.txt_main02.sp{display: none;}

	.txt_main03{
		color: #FFF;
		font-size: 2.8rem;
		font-weight: bold;
		line-height: 1.3;
		padding-top: 1em;
		filter: drop-shadow(1px 1px 0px #004482) drop-shadow(1px 1px 0px #004482) drop-shadow(1px 1px 0px #004482);
		white-space: nowrap;
	}
	.txt_main03 br{display: none;}
	
	/* お知らせ
	---------------------------------------------- */
	#news{
		max-width: 1500px;
		margin: 0 auto;
		padding: 100px 50px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	
	#news .ttl_heading01{text-align: left;}
	
	.news_inner_l{width: 25%;}
	
	.news_inner_r{width: 75%;}
	
	/* 事業内容
	---------------------------------------------- */
	#works{
		background: url("../img/home/pc/bg_works01.jpg") no-repeat center;
		background-attachment: fixed;
		padding: 100px 0;
	}
	
	#works .ttl_heading01{color: #FFF;}
	
	.works_inner{
		max-width: 1500px;
		padding: 0 50px;
		margin: 0 auto -30px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	.w_inner{
		width: 25%;
		padding: 0 10px;
		font-size: 2rem;
		line-height: 1.2;
		font-weight: bold;
		color: #112766;
		text-align: center;
		margin-bottom: 30px;
	}
		
	.w_inner img{
		width: 100%;
		margin-bottom: 10px;
	}
	
	/* 納入実績
	---------------------------------------------- */
	#result{
		display:-webkit-flex;
		display:flex;
	}
	
	.result_inner_l{
		width: 50%;
		padding: 100px 0;
		display:-webkit-flex;
		display:flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.r_inner{
		width: 500px;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
	}
	
	.item{
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: flex-end;
		align-items: flex-end;
		width: calc(50% - 25px);
		border-bottom: 1px solid #E5E5E5;
		padding: 15px 0;
		
	}
	
	.item:nth-child(1),
	.item:nth-child(2){border-top: 1px solid #E5E5E5;}
	
	.item .location,
	.item .number{line-height: 1;}
	
	.item .number span{
		color: #004B8C;
		display: inline-block;
		font-size: 4rem;
		font-weight: bold;
		font-family: 'Roboto';
		margin: 0 5px -5px 0;
	}
	
	.result_inner_r{
		background: url("../img/home/pc/bg_result01.jpg") no-repeat center top;
		background-size: cover;
		background-attachment: fixed;
		width: 50%;
	}
	
	/* 会社概要
	---------------------------------------------- */
	#company{
		display:-webkit-flex;
		display:flex;
	}
	
	.company_inner_l{
		background: url("../img/home/pc/bg_company01.jpg") no-repeat center top;
		background-size: cover;
		background-attachment: fixed;
		width: 50%;
	}
	
	.company_inner_r{
		width: 50%;
		padding: 100px 0;
		display:-webkit-flex;
		display:flex;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.company_inner_r .type01{width: 500px;}
	
	.company_inner_r .type01 th{width: 26%;}
	
	.company_inner_r .type01 td p,
	.company_inner_r .type01 td ul{
		margin-bottom: 15px;
	}
	
	.company_inner_r .type01 td p:last-child,
	.company_inner_r .type01 td ul:last-child{margin-bottom: 0;}

	.company_inner_r .list_business dl{
		margin-bottom: 1em;
	}
	.company_inner_r .list_business dl:last-child{
		margin-bottom: 0;
	}
	.company_inner_r .list_business dl dt{
		
	}
	.company_inner_r .list_business dl dd{
		font-size: 1.5rem;
		color: #888;
	}

	.company_inner_r .list_location li{
		font-size: 1.5rem;
		color: #888;
		margin-bottom: 1em;
	}
	.company_inner_r .list_location li:last-child{
		margin-bottom: 0;
	}
	.company_inner_r .list_location li address{
		font-size: 1.6rem;
	    color: #333;
	}
	.company_inner_r .list_location li address.type1{
		text-indent: -5em;
	    margin-left: 5em;
	}

	.image_company{
		font-size: 0;
	}
	.image_company img{
		width: 33.333%;
	}

	
	/*--Googlemap--*/
	.map{
		width: 100%;
		padding-top: 33.33%;
		position: relative;
		overflow: hidden;
	}
	
	.map iframe{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;		
	}
	
	/* 社員募集
	---------------------------------------------- */
	#recruit{padding: 100px 0;}
	
	.txt_recruit01{
		text-align: center;
		margin-bottom: 90px;
	}
	
	.recruit_inner{
		max-width: 1500px;
		margin: 0 auto;
		padding: 0 50px;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	
	.recruit_inner_l{width: calc(50% - 25px);}
	
	.recruit_inner_l .image{
		background: url("../img/home/pc/img_recruit01.jpg") no-repeat center;
		background-size: cover;
		height: 675px;
	}
	
	.recruit_inner_r{width: calc(50% - 25px);}
	
	.rec_inner{margin-bottom: 40px;}
	
	.rec_inner:last-of-type{margin-bottom: 0;}
	
	.rec_inner table{width: 100%;}
	
	.rec_inner table th,
	.rec_inner table td{padding: 10px 0;}
	
	.rec_inner table tr:first-child th,
	.rec_inner table tr:first-child td{padding-top: 0;}
	
	.rec_inner table th{
		width: 26%;
		font-weight: bold;
		vertical-align: top;
	}
	
	.list_contact{
		display:-webkit-flex;
		display:flex;
	}
	
	.list_contact li{margin-right: 40px;}
	
	.list_contact li span{font-weight: bold;}
	
	/* お問い合わせ
	---------------------------------------------- */
	#contact{
		background: #E7F4FD;
		padding: 100px 0 150px 
	}
	
	#contact.input .ttl_heading01{margin-bottom: 20px;}
	
	.wrap_form{
		width: 1100px;
		margin: 0 auto;
	}
	
	/*--個人情報保護方針--*/
	.wrap_privacy{margin: 60px 0 80px;}
	
	.txt_privacy{
		display: -webkit-flex;
		display: flex;
		margin-bottom: 15px;
	}
	
	.txt_privacy h3{
		margin-right: 15px;
		font-weight: bold;
	}
	
	#privacy{
		border: 1px solid #CEE2EF;
		padding: 15px 0 0 20px;
		overflow-y: scroll;
		height: 240px;
		font-size: 1.4rem;
	}
	
	#privacy h4{font-weight: bold;}
	
	#privacy p{margin-bottom: 20px;}
	

}/*--@media--*/


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

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

	トップページ

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

	/* メインビジュアル
	---------------------------------------------- */
	.main_inner{
		background: url("../img/home/pc/bg_main01.jpg") no-repeat center 0;
		background-size: cover;
		height: 100vw;
		max-height: 500px;
		position: relative;
	}
	
	.main_inner::before,
	.main_inner::after{
		content: "";
		display: block;
		background:rgba(19, 149, 236, 0.9);
		position: absolute;
		transform: skewX(-30deg);
	}
	
	.main_inner::before{
		width: 58vw;
		height: 100vw;
		max-height: 500px;
		transform: skewX(-30deg);
	    transform-origin: top;
	    top: 0;
	    left: 0;
	}
	
	.main_inner::after{
		width: 20vw;
		height: 100%;
		right: 0;
		bottom: 0;
		transform-origin: bottom;
	}
	
	.txt_main{
		width: 89.6%;
		max-width: 450px;
		position: relative;
		padding-top: 18.66vw;
	}
	
	.txt_main01 img{width: 100%;}
	
	.txt_main02{
		background: #004482;
		padding: 10px 15px;
		color: #FFF;
		font-weight: bold;
		font-size: 1.4rem;
	}
	
	.txt_main02.pc{display: none;}

	.txt_main03{
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.4;
		color: #FFF;
		padding: 18px 0 0 15px;
		filter: drop-shadow(1px 1px 0px #004482) drop-shadow(1px 1px 0px #004482);
	}

	.scroll{display: none;}

	
	/* お知らせ
	---------------------------------------------- */
	#news{
		background: #FFF;
		padding: 60px 20px;
	}
	
	#news .ttl_heading01{margin-bottom: 30px;}
	
	/* 事業内容
	---------------------------------------------- */
	#works{padding: 60px 50px;}
	
	#works .ttl_heading01{
		color: #FFF;
		margin-bottom: 30px;
	}
	
	.w_inner{
		font-size: 2rem;
		line-height: 1.2;
		font-weight: bold;
		color: #112766;
		text-align: center;
		margin-bottom: 30px;
	}
	
	.w_inner:last-of-type{margin-bottom: 0;}
	
	.w_inner img{
		width: 100%;
		margin-bottom: 10px;
	}
	
	/* 納入実績
	---------------------------------------------- */
	#result{
		background: #FFF;
		display:-webkit-flex;
		display: flex;
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	
	.result_inner_l{padding: 60px 20px;}
	
	.result_inner_l .ttl_heading01{margin-bottom: 30px;}
	
	.r_inner{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
	}
	
	.item{
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: flex-end;
		align-items: flex-end;
		width: calc(50% - 10px);
		border-bottom: 1px solid #E5E5E5;
		padding: 15px 0;
		font-size: 1.5rem;
		
	}
	
	.item:nth-child(1),
	.item:nth-child(2){border-top: 1px solid #E5E5E5;}
	
	.item .location,
	.item .number{line-height: 1;}
	
	.item .number span{
		color: #004B8C;
		display: inline-block;
		font-size: 3.3rem;
		font-weight: bold;
		font-family: 'Roboto';
		margin: 0 5px -5px 0;
	}
	
	.result_inner_r{
		background: url("../img/home/sp/bg_result01.jpg") no-repeat center;
		background-size: cover;
		width: 100%;
		padding-top: 50%;
	}
	
	/* 会社概要
	---------------------------------------------- */
	#company{background: #FFF;}
	
	.company_inner_l{
		background: url("../img/home/sp/bg_company01.jpg") no-repeat center;
		background-size: cover;
		width: 100%;
		padding-top: 50%;
	}
	
	.company_inner_r{padding: 60px 20px;}
	
	.company_inner_r .ttl_heading01{margin-bottom: 30px;}
	
	.company_inner_r .type01 td p,
	.company_inner_r .type01 td ul{margin-bottom: 15px;}
	
	.company_inner_r .type01 td p:last-child,
	.company_inner_r .type01 td ul:last-child{margin-bottom: 0;}


	.company_inner_r .list_business dl{
		margin-bottom: 1em;
	}
	.company_inner_r .list_business dl:last-child{
		margin-bottom: 0;
	}
	.company_inner_r .list_business dl dd{
		color: #888;
		font-size: 1.4rem;
	}

	.company_inner_r .list_location li{
		color: #888;
		margin-bottom: 1em;
	}
	.company_inner_r .list_location li:last-child{
		margin-bottom: 0;
	}
	.company_inner_r .list_location li address{
	    color: #333;
	}
	.company_inner_r .list_location li address.type1{
		text-indent: -5em;
	    margin-left: 5em;
	}

	.image_company{
		font-size: 0;
	}
	.image_company img{
		width: 33.333%;
	}



	/*--Googlemap--*/
	.map{
		width: 100%;
		padding-top: 100%;
		position: relative;
		overflow: hidden;
	}
	
	.map iframe{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	/* 社員募集
	---------------------------------------------- */
	#recruit{
		background: #FFF;
		padding: 60px 20px;
	}
	
	#recruit .ttl_heading01{margin-bottom: 25px;}
	
	.txt_recruit01{
		text-align: center;
		margin-bottom: 35px;
	}
	
	.recruit_inner_l{margin-bottom: 40px;}
	
	.recruit_inner_l .image{
		background: url("../img/home/sp/img_recruit01.jpg") no-repeat center;
		background-size: cover;
		padding-top: 57.6%;
	}
	
	.rec_inner{margin-bottom: 25px;}
	
	.rec_inner:last-of-type{margin-bottom: 0;}
	
	.rec_inner table{width: 100%;}
	
	.rec_inner table tr{border-bottom: 1px solid #E5E5E5;}
	
	.rec_inner table tr:last-of-type{border-bottom: none;}
	
	.rec_inner table th,
	.rec_inner table td{display: block;}
	
	.rec_inner table tr:first-of-type th{padding-top: 0;}
	
	.rec_inner table th{
		font-weight: bold;
		padding: 15px 0 3px;
	}
	
	.rec_inner table td{padding-bottom: 15px;}
	
	.list_contact li span{font-weight: bold;}
	
	/* お問い合わせ
	---------------------------------------------- */
	#contact{
		background: #E7F4FD;
		padding: 60px 20px 80px 
	}
	
	#contact .ttl_heading01{margin-bottom: 30px;}
	
	/*--個人情報保護方針--*/
	.wrap_privacy{margin: 50px 0;}
	
	.txt_privacy{margin-bottom: 5px;}
	
	.txt_privacy h3{
		margin-right: 5px;
		font-weight: bold;
	}
	
	.txt_privacy h3,
	.txt_privacy p{display: inline;}
	
	#privacy{
		border: 1px solid #CEE2EF;
		padding: 10px 15px 0 15px;
		overflow-y: scroll;
		height: 150px;
		font-size: 1.1rem;
	}
	
	#privacy h4{font-weight: bold;}
	
	#privacy p{margin-bottom: 20px;}
	

}/*--@media--*/

