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;
	background-color:#000000;
}

 img{
    width:auto;
    height: auto;
    max-width:100%;
    max-height:100%;
	vertical-align: bottom;
	/*display: block;*/
 }


	
	/*固定ヘッダー全体*/
	.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(0,0,0);
		opacity: 0.8;
	}

		.hed_all.change-color {
			transition:2s;
			opacity: 1.0;
			z-index:9999;
			background:rgba(0,0,0,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:0px 50px 0px 0px;
		color:#fff;
		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:#fff;
			text-decoration:none;
		}


			/*左から右に線が伸びる（下部）*/
			
			.hed_menu li.current a,
			.hed_menu li a:hover{
			  color:#fff;
			  text-decoration:none;
			}
			
			.hed_menu li a::after {
				content: '';
				/*絶対配置で線の位置を決める*/
				position: absolute;
				bottom: 0;
				left: 0%;
				/*線の形状*/
				width: 100%;
				height: 1px;
				background:#fff;
				/*アニメーションの指定*/
				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:300px auto 0px auto;
	padding:0px 0px 0px 0px;
	/*writing-mode: vertical-rl;
	position:absolute; top:200px; right:50%;*/
	text-shadow:1px 1px 0px #000;
	text-align:center;
}


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


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


.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;
	}





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

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

}

@media screen and (max-width: 520px) {
	header.rec {
		width: 100%;
		min-height: 100vh;
		margin:0px 0px 0px 0px;
		padding:0px 0px 0px 0px;
		background: url("../img/rec_top_sm.jpg") top / cover;
		position:relative; top:0px;
	}

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

}








.text_box{
	font-family: 'Old Standard TT', serif;
	font-size:35px;
	color:#fff;
	/*opacity: 0.3;*/
	margin:0px auto 0px auto;
	padding:340px 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 #000;
}

@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:#222;
}



/*トップ画像下*/
h2.aist_title{
	width:90%;
	font-size:30px;
	margin:90px auto 90px auto;
	padding:0px 0px 0px 0px;
	letter-spacing:0.5em;
	position:relative;
	text-align:center;
	color:#FFFFFF;
}

	h2.aist_title:before {
	  content: '';
	  position: absolute;
	  left: 50%;
	  bottom: -20px;/*線の上下位置*/
	  display: inline-block;
	  width: 100px;/*線の長さ*/
	  height: 1px;/*線の太さ*/
	  -webkit-transform: translateX(-50%);
	  transform: translateX(-50%);/*位置調整*/
	  background-color:#fff;/*線の色*/
	  border-radius: 0px;/*線の丸み*/
	}
@media screen and (min-width: 520px) {
.aist{
  margin:0px auto 70px auto;
  max-width:1200px;
}

.aist_sm{
  display:none;
}
}

@media screen and (max-width: 520px) {
.aist_sm{
  margin:0px auto 70px auto;
  width:100%;
}

.aist{
  display:none;
}
}


/*トップ画像下*/
h2.ab2_title{
	width:90%;
	font-size:30px;
	margin:20px auto 0px auto;
	padding:0px 0px 0px 0px;
	letter-spacing:0.5em;
	position:relative;
	text-align:center;
	color:#FFFFFF;
}

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

.ab2{
  margin:0px auto 0px auto;
  width:100%;
}










h2.snstitle{
	width:90%;
	font-family: 'Old Standard TT', serif;
	font-size:25px;
	text-align:center;
	padding-bottom:50px;
	color:#fff;
	padding:0px 5% 0px 5%;
}







/*トップ画像下*/
.con_list_all1{
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr 1fr;
  max-width:1200px;
  width:100%;
  padding-bottom:100px;
  margin:0px auto 0px auto;
}

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

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

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

	.con_item_img2 {
		width:500px;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
	}

	.con_item_come3 {
		width:100%;
		margin:80px auto 0px auto;
		padding:0px 0px 0px 0px;
		font-size:18px;
		color:#fff;
		/*text-indent:1em;*/
		line-height:1.8em;
		text-align:center;
	}

	.lineup {
		width:100%;
		margin:0px auto 0px auto;
		padding:0px 0px 0px 0px;
		text-align:center;
	}







.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;
}




/*SNS、メールでの注文案内*/
a.odrsnsinq{
	font-size:13px;
	color:#fff;
	line-height:1.9em;
	letter-spacing:0.2em;
	display:block;
	width:100%;
	margin-top:15px;
	text-decoration:none;
}

.i____con{
font-size:80px;
color:#DB0B6D;
display:block;
width:100%;
padding-bottom:10px;
}
.i____con2{
font-size:80px;
color:#70C512;
width:100%;
padding-bottom:10px;
}
.i____con3{
font-size:80px;
color:#999;
width:100%;
padding-bottom:10px;
}






@media screen and (min-width: 520px) {
.oder_sns_navi{
	display: flex;
	width:90%;
	margin:30px auto 0px auto;
	padding:0px 0px 0px 0px;
}

.instgbox{
	flex-grow: 1;
	text-align:center;
	width:32%;
}

.linebox{
	flex-grow: 1;
	text-align:center;
	width:32%;
}

.inqbox{
	flex-grow: 1;
	text-align:center;
	width:32%;
}


.instgbox,
.linebox{
	position: relative;
	margin-right: 2rem;
}


.instgbox::after,
.linebox::after{
	position: absolute;
	top: 0;
	left: 100%;
	margin: 0 1rem;
	content: "";
	width: 1px;
	height: 100%;
	background-color: #ccc;
}

.oder_sns_navi_sm{display:none;}
}

@media screen and (max-width: 520px) {
/*SNS、メールでの注文案内*/
.oder_sns_navi{display:none;}

.oder_sns_navi_sm{
	width:100%;
	margin:30px auto 0px auto;
	padding:0px 0px 0px 0px;
}

.instgbox_sm{
	text-align:center;
	width:100%;
	border-bottom:#333333 1px solid;
	padding:0px 0px 30px 0px;
}

.linebox_sm{
	text-align:center;
	width:100%;
	border-bottom:#333333 1px solid;
	padding:30px 0px 30px 0px;
}

.inqbox_sm{
	text-align:center;
	width:100%;
	padding:30px 0px 0px 0px;
}

.oder_sns_navi{
	display:none;
}
}




























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_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_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:50px 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 100px 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:#333 1px solid;
		border-collapse: collapse;
		font-size:13px;
		color:#FFFFFF;
	}
	
	.col:nth-child(1) {
		background-color:#000;
		width:200px;
	}












/*インスタ*/

ul.inst {
  display: flex;
  flex-wrap: wrap;
  margin-bottom:70px;
}
li.insta_item {
  list-style: none;
  width: 20%;
  padding:0px 10px 10px 0px;
  box-sizing: border-box;
  
}

li.insta_item a {
  position: relative;
  display: block;
}
li.insta_item a .like {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  color: #fff;
  opacity: 0.6;
  text-shadow: 0 0 7px #000;
}













/*フッター*/


footer {
width:100%;
margin:0px 0px 0px 0px;
padding:80px 50px 50px 50px;
/*background: url("../img/footbg.png") top / cover;*/
background-color:#111;
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(0,0,0);
	}

		.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(0,0,0);
	}


	.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);
}
/*------------------------*/




















