body {
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	font-family: 'Montserrat', sans-serif;
	font-family: 'Montserrat Subrayada', sans-serif;
	font-family: 'Old Standard TT', serif;
}




	
	/*固定ヘッダー全体*/
	.hed_all{
		width: 100%;
		margin:0px 0px 0px 0px;
		padding:30px 0px 10px 0px;
		position:fixed;
		display:flex;
		z-index:9999;
		top:0;
		left:0;
		transition:2s;
		background:rgba(255,255,255,0.7);
	}

		.hed_all.change-color {
			transition:2s;
			/*opacity: 0.9;*/
			z-index:9999;
			background:rgba(255,255,255,1.0);
			padding:30px 0px 10px 0px;
		}
	
	
	/*ロゴ*/
	.hed_logo{
		margin:-10px 0px 0px 0px;
		padding:0px 20px 0px 20px;
		font-family: 'Montserrat Subrayada', sans-serif;
		font-family: 'Old Standard TT', serif;
	}
	
	a.logo{text-decoration:none; color:#000;}
	
	
	/*メニュー*/
	.hed_menu{
		margin:0 0 0 auto;
		padding:10px 50px 0px 0px;
		color:#000;
		font-size:14px;
	}
	
		.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:#000;
			  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;
		}
	
	}







.myHero{
    height: 100vh;
    width: 100%;
	position:relative;
}

h1.com1{
    color: #fff;
    font-size: 18px;
    letter-spacing: 4px;
    z-index: 2;
	opacity: 0.8;
	/*margin:100px auto 0px auto;
	padding:0px 0px 0px 0px;*/
	writing-mode: vertical-rl;
	position:absolute; top:200px; right:50%;
	text-shadow:1px 1px 0px #000;
}


h1.com2{
    color: #fff;
    font-size: 18px;
    letter-spacing: 4px;
    z-index: 2;
	opacity: 0.8;
	/*margin:100px auto 0px auto;
	padding:0px 0px 0px 0px;*/
	writing-mode: vertical-rl;
	position:absolute; top:200px; right:50%;
	text-shadow:1px 1px 0px #000;
}


h1.com3{
    color: #fff;
    font-size: 18px;
    letter-spacing: 4px;
    z-index: 2;
	opacity: 0.8;
	/*margin:100px auto 0px auto;
	padding:0px 0px 0px 0px;*/
	writing-mode: vertical-rl;
	position:absolute; top:200px; right:50%;
	text-shadow:1px 1px 0px #000;
}


.slide{
    height: 100vh;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    /*clip-path: polygon(0 0, 100% 0, 100% 95%, 0% 70%);*/
}
.one{
    background-image: url(../img/com_top.jpg);
}
.two{
    background-image: url(../img/com_top2.jpg);
}
.three{
    background-image: url(../img/com_top3.jpg);
}































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

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

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

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




.text_box{
	font-family: 'Old Standard TT', serif;
	font-size:35px;
	color:#000;
	/*opacity: 0.3;*/
	margin:0px auto 0px auto;
	padding:320px 0px 0px 0px;
	line-height:1.5em;
	letter-spacing:0.3em;
	text-align: center;
	/*position:absolute; bottom:30%; left:25%;*/
	font-weight:bold; text-shadow:1px 1px 0px #fff;
}

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











/*コンテンツ*/

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

section.sec{
	width:100%;
	margin:0px auto 0px auto;
	padding:50px 5% 80px 5%;
	box-sizing: border-box;
	background-color:#efefef;
}

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







/*事業内容*/
.con_list_all1{
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr 1fr;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  margin-top:80px; margin-bottom:80px;
}
.con_list_all2{
display: grid;
grid-gap: 0px;
grid-template-columns: 1fr;
/*grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));*/
width:90%;
max-width:1220px;
grid-auto-rows:auto;
margin:50px auto 50px auto;
}








/*お客様の声*/
.con_list_all4{
  display: grid;
  gap: 0px;
  grid-template-columns: 1fr ;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
  margin-top:50px; margin-bottom:80px; background-color:#efefef;
  padding:15px;
  border-radius:10px;
  box-sizing: border-box;
}
.koe {
	width:100%;
	height:auto;
	margin:0px auto 0px auto;
	padding:0px 15px 15px 15px;
	background-color:#fff;
	border-radius:10px;
	box-sizing: border-box;
}

.p_name {
	color:#000000;
	font-weight:bold;
	font-size:25px;
	margin:20px 0px 10px 0px;
}

		.p_name_color {
			color:#555;
			 margin-right:10px;
		}


.p_item {
	color:#fff;
	font-weight:bold;
	font-size:15px;
	display: inline-block;
	border-radius:10px;
	background-color:#FF8000;
	margin:0px 10px 5px 0px;
	padding:5px 10px 5px 10px;
}

.p_item_title {
	color:#000000;
	font-weight:bold;
	font-size:18px;
	margin:30px 0px 0px 0px;
}

.p_text {
	/*padding-right: 1.5em;
	padding-left: 1.5em;*/
	line-height: 3em;
	background-image: linear-gradient(transparent 0, transparent 97%, #ddd 100%);
	background-size: 100% 3em;
	margin:0px 0px 0px 0px;
}









.con_item2 {
	width:100%;
	max-width:1220px;
	height:auto;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
}

	.big_img2 {
		grid-row-end: span 2;
	}

	.big_img3 {
		grid-row-end: span 3;
	}

h3.item_title{
	width:90%;
	font-size:30px;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	letter-spacing:0.5em;
	position:relative;
	text-align:center;
}



		h3.item_title:before {
		  content: '';
		  position: absolute;
		  left: 50%;
		  bottom: -10px;/*線の上下位置*/
		  display: inline-block;
		  width: 100px;/*線の長さ*/
		  height: 1px;/*線の太さ*/
		  -webkit-transform: translateX(-50%);
		  transform: translateX(-50%);/*位置調整*/
		  background-color: black;/*線の色*/
		  border-radius: 0px;/*線の丸み*/
		}






h2.item_title{
	width:90%;
	font-size:30px;
	margin:0px auto 0px auto;
	padding:0px 0px 0px 0px;
	letter-spacing:0.5em;
	position:relative;
	text-align:center;
}



		h2.item_title:before {
		  content: '';
		  position: absolute;
		  left: 50%;
		  bottom: -10px;/*線の上下位置*/
		  display: inline-block;
		  width: 100px;/*線の長さ*/
		  height: 1px;/*線の太さ*/
		  -webkit-transform: translateX(-50%);
		  transform: translateX(-50%);/*位置調整*/
		  background-color: black;/*線の色*/
		  border-radius: 0px;/*線の丸み*/
		}




	.con_item_come3 {
		width:80%;
		margin:80px auto 0px auto;
		padding:0px 0px 0px 0px;
		font-size:14px;
		font-weight: normal;
		font-family: 'Old Standard TT', serif;
		color:#000;
		/*text-indent:1em;*/
		line-height:3.0em;
		text-align:center;
	}
	.con_item_come4 {
		width:100%;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		font-size:14px;
		font-weight: normal;
		font-family: 'Old Standard TT', serif;
		color:#000;
		/*text-indent:1em;*/
		line-height:2.0em;
	}
	.con_item_img2 {
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		background:url("../img/test.jpg") top / cover;
		height:400px;
		max-width:400px;
	}
	.con_item_img4 {
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		text-align:center;
		display:inline-block;
		/*background:url("../img/d.jpg") top / cover;*/
		height: auto;
		max-width:100%;
	}



.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:5px 5px 5px 5px;
		background-color:#FFFFFF;
	}
	.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;
	}







/*社長挨拶*/
section.fit2{
	width:100%;
	margin:0px auto -50px 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: 300px 1fr;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  margin-top:80px; margin-bottom:80px;
}
	.con_item_img3 {
		margin:0px 0px 0px 0px;
		padding:5px 5px 5px 5px;
		background-color:#FFFFFF;
		text-align:center;
	}








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


.more_box2 {
	padding:0px 0px 50px 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: #333;
  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;/*不透明に*/
}








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

/*hoverした際の変化*/
.btntextchange2:hover{
  background: #934900;
  color:#fff;
}

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

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

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

.btntextchange2: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%;
	display: block;
 }




footer {
width:100%;
margin:50px 0px 0px 0px;
padding:80px 50px 50px 50px;
/*background: url("../img/footbg.png") top / cover;*/
background-color:#333333;
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-size:30px;
	text-align:center;
	margin:0px 0px 0px 0px;
	padding:0px 0px 20px 0px;
	border-bottom:#fff solid 1px;
}




	.company_data {
	width:90%;
	clear:both;
	margin:0px auto 0px auto;
	padding:30px 30px 30px 30px;
	box-sizing: border-box;
	/*border:#FFFFFF solid 1px;
	background-color:#99763C;*/
	border-radius:10px;
	background:rgba(225,225,225,0.2);
	}

		.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:#fff; font-size:4em;}
			.li_icon{ color:#F3ECE0; 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:30px 30px 30px 30px;
	box-sizing: border-box;
	text-align:center;
	border-radius:10px;
	background:rgba(225,225,225,0.2);
	}


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






/* ヘッダー画像フワッと */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
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);
}
/*------------------------*/




















