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




	
	/*固定ヘッダー全体*/
	.hed_all{
		width: 100%;
		margin:0px 0px 0px 0px;
		padding:30px 0px 15px 0px;
		position:fixed;
		display:flex;
		z-index:9999;
		top:0;
		left:0;
		transition:2s;
		opacity: 1.0;
		background-color: #fff;
		border-top:#11304C 5px solid;
		/*border-bottom:#FFFFFF solid 1px;*/
	}

		.hed_all.change-color {
			background-color: #FFF;
			transition:2s;
			border-bottom:#11304C 1px solid;
			/*opacity: 0.9;*/
		}
	
	
	/*ロゴ*/
	.hed_logo{
		margin:0px 0px 0px 0px;
		padding:0px 20px 0px 20px;
		color:#000;
	}
	
	a.logo{text-decoration:none;}
	
	
	/*メニュー*/
	.hed_menu{
		margin:0 0 0 auto;
		padding:7px 0px 0px 0px;
		color:#000;
		font-size:14px;
		font-family: 'Noto Sans JP', sans-serif;
	}
	
		.hed_menu ul {
			display:flex;
			margin:0px 0px 0px 0px;
			padding:0px 0px 0px 0px;
			list-style:none;
		}
		
		.hed_menu li {
			margin:0px 20px 0px 10px;
			position: relative;
		}
		.hed_menu li a{
			color:#000;
			text-decoration:none;
		}


			/*左から右に線が伸びる（下部）*/
			
			.hed_menu li.current a,
			.hed_menu li a:hover{
			  color:#555;
			  text-decoration:none;
			}
			
			.hed_menu li a::after {
				content: '';
				/*絶対配置で線の位置を決める*/
				position: absolute;
				bottom: 0;
				left: 0%;
				/*線の形状*/
				width: 100%;
				height: 1px;
				background:#555;
				/*アニメーションの指定*/
				transition: all .3s;
				transform: scale(0, 1);/*X方向0、Y方向1*/
				transform-origin: left top;/*左上基点*/
			}
			
			/*現在地とhoverの設定*/
			.hed_menu li.current a::after,
			.hed_menu li a:hover::after {
				transform: scale(1, 1);/*X方向にスケール拡大*/
			
			}

	@media screen and (min-width: 520px) {
	
		/*　ハンバーガーボタン　*/
		.hamburger {
		  display : none;
		}
		nav.globalMenuSp {
		  display : none;
		}
	
	}





/*ヘッダー*/
header.top {
	width: 100%;
	min-height: 110vh;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	background: url("../img/top_img.jpg") top / cover;
	position:relative; top:0px;
}

.top:before {
    height: 0;
    display: block;
    position: absolute;
    right: 0px;
    content: "";
    border-bottom: solid 170px #fff;
    border-left: solid 250vh transparent;
    bottom: 0px;
    z-index: 2;
}








	/*施工実績ヘッダー*/
	header.construction {
		width: 100%;
		min-height: 110vh;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		background: url("../img/con_top.jpg") top / cover;
		position:relative; top:0px;
	}

		.construction:before {
			height: 0;
			display: block;
			position: absolute;
			right: 0px;
			content: "";
			border-bottom: solid 170px #fff;
			border-left: solid 250vh transparent;
			bottom: 0px;
			z-index: 2;
		}

	/*会社概要ヘッダー*/
	header.company {
		width: 100%;
		min-height: 110vh;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		background: url("../img/com_top.jpg") top / cover;
		position:relative; top:0px;
	}

		.company:before {
			height: 0;
			display: block;
			position: absolute;
			right: 0px;
			content: "";
			border-bottom: solid 170px #fff;
			border-left: solid 250vh transparent;
			bottom: 0px;
			z-index: 2;
		}

	/*リクルートヘッダー*/
	header.rec {
		width: 100%;
		min-height: 110vh;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		background: url("../img/rec_top.jpg") top / cover;
		position:relative; top:0px;
	}

		.rec:before {
			height: 0;
			display: block;
			position: absolute;
			right: 0px;
			content: "";
			border-bottom: solid 170px #fff;
			border-left: solid 250vh transparent;
			bottom: 0px;
			z-index: 2;
		}


.text_box{

	font-size:19px;
	color:#fff;
	margin:0px auto 0px auto;
	padding:130px 50px 0px 50px;
	line-height:2.0em;
	letter-spacing:0.3em;
	/*position:absolute; bottom:30%; left:25%;
	text-shadow:1px 1px 0px #222;*/
	font-family: 'Noto Sans JP', sans-serif;
	writing-mode: vertical-rl;
	background:rgba(0,0,0,0.6);
	height:85vh;


}

@media screen and (min-width: 520px) {
.text_box_sm{
	display:none;
}
}

/*下矢印*/

.container {
  width: 24px;
  height: 24px;
  position:absolute; bottom:18%; /*left:50%;*/ right:5%; z-index:3;
}

.chevron {
  width: 28px;
  position: absolute;
  height: 8px;
  opacity: 0;
  transform: scale3d(0.5, 0.5, 0.5);
  animation: move 3s ease-out infinite;
}

.chevron:first-child {
  animation: move 3s ease-out 1s infinite;
}

.chevron:nth-child(2) {
  animation: move 3s ease-out 2s infinite;
}


.chevron:before,
.chevron:after {
  content: ' ';
  position: absolute;
  top: 0;
  height: 100%;
  width: 51%;
  background: #000;
}

.chevron:before {
  left: 0;
  transform: skew(0deg, 30deg);
}

.chevron:after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -30deg);
}

@keyframes move {
  25% {
    opacity: 1;

  }
  33% {
    opacity: 1;
    transform: translateY(30px);
  }
  67% {
    opacity: 1;
    transform: translateY(40px);
  }
  100% {
    opacity: 0;
    transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
  }
}

.text {
  display: block;
  margin-top: 60px;
  margin-left: -30px;
  font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
  font-size: 12px;
  color: #000;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: .25;
  animation: pulse 2s linear alternate infinite;
}

@keyframes pulse {
  to {
    opacity: 1;
  }
}









/*コンテンツ*/

section.fis{
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 5% 0px 5%;
	box-sizing: border-box;
}


section.fis2{
	width:100%;
	margin:0px auto 0px auto;
	padding:80px 5% 80px 5%;
	box-sizing: border-box;
	background: repeating-linear-gradient(170deg, #fff 0%, #fff 50%, #f0f0f0 50%, #f0f0f0 100%);
}


section.sec{
	width:100%;
	margin:0px auto 0px auto;
	padding:30px 5% 50px 5%;
	box-sizing: border-box;
	background: repeating-linear-gradient(-170deg, #0C4381 0%, #0C4381 49.8%, #062444 50%, #062444 100%);
	
}

h2.title{
	width:100%;
	font-family: 'Old Standard TT', serif;
	font-size:50px;
	text-align:center;
	padding-top:30px;
	color:#000;
}

h2.title5{
	width:100%;
	font-family: 'Old Standard TT', serif;
	font-size:50px;
	text-align:center;
	padding-top:0px;
	color:#fff;
}





/*事業内容*/
.con_list_all2{
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr 1fr;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  margin-top:0px; margin-bottom:0px;
}



.con_item2 {
	width:100%;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
h2.item_title{
	width:100%;
	font-family: 'Old Standard TT', serif;
	font-size:30px;
	margin:0px auto 20px auto;
	padding:0px 0px 0px 0px;
	/*border-bottom:#004080 1px dotted;*/
	letter-spacing:0.5em;
}
	.con_item_come3 {
		width:90%;
		margin:20px auto 0px auto;
		padding:0px 0px 0px 0px;
		font-size:16px;
		font-weight: normal;
		font-family: 'Old Standard TT', serif;
		color:#000;
		/*text-indent:1em;*/
		line-height:1.8em;
		text-align:left;
	}

	.con_item_img2 {
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		background:url("../img/test.png") top / cover;
		height: 350px;
		/*max-width:500px;*/
		width:304px;
	}


.con_item20 {
	width:100%;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}

.con_list_all{
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr 1fr 1fr;
  margin-left:auto;
  margin-right:auto;
}

	.con_item {
		text-align:center;
		width:90%;
		margin:0px auto 50px auto;
		padding:0px 0px 0px 0px;
	}
	
	.con_item_img {
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		box-sizing: border-box;
		width:100%;
	}
	.con_item_come1 {
		margin:0px 0px 0px 0px;
		padding:0px 0px 5px 0px;
		font-size:20px;
		font-weight: normal;
		font-family: 'Old Standard TT', serif;
		color:#000; background-color:#FFFFFF;
		opacity: 0.9;
	}
	.con_item_come2 {
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		font-size:14px;
	}









.slider {
  width: 100%;
  margin: 50px 0px 0px 0px;
  padding:0px 0px 0px 0px;
}
.slider .slick-list {
  padding: 0 20% 0 0!important;
}
.slider li.sl {
  margin: 0px 10px 0px 0px;
}

	@media screen and (min-width: 520px) {
		.slider2 {
		  display:none;
		}
		.slider2 .slick-list {
		  display:none;
		}
		.slider2 li.sl {
		  display:none;
		  
		}

	}

/*.slider li.sl figcaption {
  margin: 10px 0 0;
}*/


/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
  	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 5px solid #fff;/*矢印の色*/
    border-right: 5px solid #fff;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}












/*社長挨拶
section.fit2{
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 5% 50px 5%;
	box-sizing: border-box;
	background: url("../img/itembg2.jpg") top / cover;
}*/

.con_list_all3{
  display: grid;
  gap: 0px;
  grid-template-columns: 350px 1fr;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  margin-top:0px; margin-bottom:0px;
}

@media screen and (max-width: 520px) {
.con_list_all3{
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  width:100%;
  margin-top:80px; margin-bottom:0px;
}
}

.con_list_all20{
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr 1fr;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  margin-top:0px; margin-bottom:50px;
}






/*コンテンツバナー*/
.con_list_all10{
  display: grid;
  gap: 1px;
  grid-template-columns: 1fr 1fr;
  margin-top:50px; margin-bottom:50px;
}
	.con_img_box1 {
		width:100%;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		text-align:right;
	}

	.con_img_box2 {
		width:100%;
		margin:0px 0px 0px auto;
		padding:40px 0px 0px 0px;
	}

	.con_img_box3 {
		width:100%;
		margin:-40px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		text-align:right;
	}

	.con_img_box4 {
		width:100%;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
	}













/*ボタン*/
.more_box {
	padding:40px 0px 0px 0px;
	color:#000000;
	text-align:center;
}

/*表示するテキストが切り替わる*/
.btntextchange{
    /*テキストの基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  /*border: 1px solid #fff;*/
  border-radius:50px;
    min-width:210px;
  padding: 30px;
    text-align: center;
  display: inline-block;
    text-decoration: none;
    color: #000;
    outline: none;
	background-color:#fff;
	opacity: 0.9;
	font-weight:bold;
    /*アニメーションの指定*/
    transition: all .2s;
}

/*hoverした際の変化*/
.btntextchange:hover{
  background: #0C4381;
  color:#fff;
}

.btntextchange span{
    /*絶対配置でテキストの位置を決める*/
  position: absolute;
  left: 50%;
  top:50%;
    transform:translate(-50%,-50%);
    /*アニメーションの指定*/
    transition: all .5s;
  /*ブロック要素にしてテキスト折り返しなし*/  
  display: block;
  white-space: nowrap;
}

/*差し替わるテキストの設定*/
.btntextchange span:nth-child(2){
  opacity:0;/*透過0に*/
}

/*hoverするとテキストが入れ替わる設定*/
.btntextchange:hover span:nth-child(1){
  opacity:0;/*透過0に*/
}

.btntextchange:hover span:nth-child(2){
  opacity:1;/*不透明に*/
}



/*リクルート*/
.rec_list_all{
  display: table;
  border-collapse: collapse;
  width:100%;
  margin:0px auto 0px auto;
  padding:0px 0px 0px 0px;
}


	.row {
		display:table-row;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
	}
	.col {
		display:table-cell;
		margin:0px 0px 0px 0px;
		padding:10px 10px 10px 10px;
		border:#CCCCCC 1px solid;
		border-collapse: collapse;
		font-size:13px;
	}
	
	.col:nth-child(1) {
		background-color:#f7f7f7;
		width:200px;
	}








 img{
    width:auto;
    height: auto;
    max-width:100%;
    max-height:100%;
	vertical-align:bottom;
 }




footer {
width:100%;
margin:1px 0px 0px 0px;
padding:0px 50px 50px 50px;
/*background: url("../img/footbg.jpg") top / cover;*/
background-color:#062444;
color:#fff;
box-sizing: border-box;
}



.foot_list_all{
  display: grid;
  width:100%;
  gap: 150px;
  grid-template-columns: 1fr 1fr;
  margin-left:auto; margin-right:auto;
}




.foot_title{
	width:100%;
	font-family: 'Montserrat Subrayada', sans-serif;
	font-family: 'Old Standard TT', serif;
	font-size:30px;
	text-align:center;
	margin:50px 0px 30px 0px;
	padding:0px 0px 20px 0px;
	border-bottom:#fff solid 1px;
}




	.company_data {
	width:100%;
	clear:both;
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	box-sizing: border-box;
	/*border:#FFFFFF solid 1px;*/
	}

		.company_item {
		width:100%;
		margin:0px 0px 0px 0px;
		padding:10px 0px 10px 0px;
		font-size:13px;
		border-bottom:#fff dotted 1px;
		}

		.company_text {
		width:100%;
		margin:0px 0px 20px 0px;
		padding:10px 0px 0px 0px;
		font-size:13px;
		text-align:center;
		}

			.icons{ color:#555; font-size:4em;}
			.li_icon{ color:#fff; font-size:2em; margin-right:10px;}

	
	.company_map {
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	box-sizing: border-box;
	}





	.media_box {
	width:100%;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	box-sizing: border-box;
	text-align:center;
	}


	.cpr_box {
	width:100%;
	margin:50px auto 0px auto;
	padding:15px 0px 15px 0px;
	box-sizing: border-box;
	font-size:12px; color:#fff;
	background-color:#1B70C5;
	opacity:0.7; text-align:center
	}






/* ヘッダー画像フワッと */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:5s;
animation-fill-mode:forwards;
opacity:0;
width:100%;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}





/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(20px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}
/*------------------------*/





