/*======================================

	林建設工業
	ヘッダーCSS

=======================================*/

/* ヘッダー共通 */
#header{
	background: #918b8a;
	font-size: 106%;
	transition: .5s;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 5001;
}

#hd_top{
	position: relative;
	min-height: 90px;
}
#hd_top .title{
	position: absolute;
	top: 30px;
	left: 30px;
}
#hd_top .title > img{
	vertical-align: -0.2em;
}
#hd_top .info{
	position: absolute;
	top: 30px;
	right: 30px;
	color: #fff;
}
#hd_top .address{
	font-size: 87.5%;
	vertical-align: middle;
	margin-right: 1em;
}
#hd_top .tel{
	font-size: 150%;
	font-weight: bold;
	vertical-align: middle;
}
#hd_top .tel > img{
	vertical-align: -0.1em;
	margin-right: 0.2em;
}

#hd_menu{
}
#hd_menu a:hover{
	/* opacity: .7; */
}
#hd_menu > li{
	background-color: #918b8a;
	float: left;
	max-width: 183.3px;
	width: 16.66%;
	text-align: center;
}
#hd_menu > li.menu_contact{
	background: #0a8d00;
}
#hd_menu > li > a{
	color: #fff;
	display: block;
	padding: 13px 0;
	text-decoration: none;
}
#hd_menu > li:hover{
	background: #d3e9cf;
}
#hd_menu > li.active{
	background: #fff !important;
	font-weight: normal !important;
}
#hd_menu > li.active > a{
	color: #0a8d00 !important;
	font-weight: normal !important;
}

.hd_menu_col{
	color: #0a8d00 !important;
}

/* スマホメニュー */
.spmenu_btn{
	display: none;
	position: absolute;
	top: 25px;
	right: 15px;
}

#sp_hdcontact{
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	display: none;
	color: #fff;
	font-weight: bold;
	text-align: center;
	transition: .5s;
	background: #231815;
}
#sp_hdcontact > .info{
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
#sp_hdcontact > .info > .txt{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5vw;
	width: 50%;
	padding: 10px;
	text-align: center;
	font-size: 3.3vw;
}
#sp_hdcontact > .info > .txt img{
	width: 4vw;
}
#sp_hdcontact > .info > .btn{
	display: block;
	width: 50%;
	padding: 10px;
	text-align: center;
	font-size: 3.3vw;
	color: white;
	background-color: #0a8d00;
	text-decoration: none;
}
#sp_hdcontact > .info > .tel img{
	vertical-align: -0.3em;
	margin-right: 5px;
}
#sp_hdcontact > .info img{
	vertical-align: middle;
}

#sp_hd_menu{
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	max-width: 255px;
	width: 100%;
	padding: 60px 0 130px 0;
	background: #0a8d00;
	z-index: 1999;
	transform: translate(255px);
	transition: all .5s;
}
#sp_hd_menu.open{
	transform: translateX(0);
}
#sp_hd_menu.close{
	transform: translateX(255px);
}
#sp_hd_menu .close_btn{
	position: absolute;
	top: 10px;
	right: 10px;
}
#sp_hd_menu > ul{
	padding: 0 10px;
}
#sp_hd_menu > ul li{
	border-bottom: 1px solid #fff;
	background: url(../img/header/mk_link.png);
	background-repeat: no-repeat;
	background-position: top 14px right 10px;
}
#sp_hd_menu > ul li:first-child{
	border-top: 1px solid #fff;
}
#sp_hd_menu > ul li a{
	max-width: 208px;
	width: 87%;
	display: block;
	color: #fff;
	text-decoration: none;
	padding: 10px 0;
}

@keyframes show{
	from{ opacity: 0; }
	to{ opacity: 1; }
}
.pc_bk{
	display:none;
	width:100%;
	height:1500px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 120;
	background: rgba(45,45,45, 0.65);
}
.pc_bk.show{
	display: block;
}
.sp_bk{
	display:none;
	width:100%;
	height:100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1010;
	background: rgba(45,45,45, 0.65);
}
.sp_bk.show{
	display: block;
	animation: show 0.5s linear 0s;
}


/* メガメニュー 共通 */
.mega_menu{
	display: none;
	color: #3e3a39;
	background: #d3e9cf;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	text-align: left;
	transform: translateY(15px);
	transition: all 500ms;
	opacity: 0;
	z-index: 800;
}

.mega_menu.open{
	transform: translateY(0);
	opacity: 1;
}


.mega_menu_title{
	padding-top: 20px;
	padding-bottom: 25px;
}
.mega_menu_title .title{
	font-size: 105%;
	font-weight: bold;
	margin-bottom: 7px;
	line-height: 1.4;
}
.mega_menu_title .title a,
.mega_menu_title .sub_title a{
	color: #3e3a39;
	text-decoration: none;
}
.mega_menu_title .title a:hover,
.mega_menu_title .sub_title a:hover{
	color: blue;
}
.mega_menu_title .title,
.mega_menu_title .sub_title{
	position: relative;
	padding-left: 11px;
}
.mega_menu_title .title a::before,
.mega_menu_title .sub_title a::before{
	content: url(../img/header/arrow_1.png);
	position: absolute;
	left: 0;
}
.mega_menu_title .title::before{
	padding-top: 2px;
}
.mega_menu_title .sub_title::before{
	padding-top: 1px;
}
.mega_menu_title > li{
	float: left;
	width: 50%;
}

.mega_menu_title .sub_title{
	display: inline-block;
	font-size: 95%;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 14px;
}
.mega_menu_wrap .mega_menu_list .item{
	padding-left: 18px;
}
.mega_menu_wrap .mega_menu_list .item.kaiyou{
	padding-left: 11px;
	margin-top: 15px;
	font-weight: bold;
}
.mega_menu_wrap .mega_menu_list .item.kaiyou a{
}

.mega_menu_list li{
	position: relative;
	font-size: 87%;
	margin-bottom: 4px;
	padding-left: 10px;
}
.mega_menu_list li:not(.kaiyou)::before{
	content: url(../img/header/arrow_2.png);
	position: absolute;
	left: 8px;
}
.mega_menu_list a{
	text-decoration: none;
}


/* メガメニュー 事業紹介 */
#business_mega .mega_menu_wrap > li:nth-child(1){
	float: left;
	max-width: 366px;
	width: 66.5%;
}
#business_mega .mega_menu_wrap > li:nth-child(2){
	float: left;
	max-width: 180px;
	width: 33.5%;
}
#business_mega .mega_menu_wrap > li:nth-child(1) > .mega_menu_list > ul:nth-child(1),
#business_mega .mega_menu_wrap > li:nth-child(1) > .mega_menu_list > ul:nth-child(2){
	max-width: 180px;
	width: 50%;
	float: left;
}
#business_mega .mega_menu_wrap > li:nth-child(2) > .mega_menu_list > ul{
	max-width: 180px;
	width: 100%;
}

/* メガメニュー 会社情報 */
#about_mega .mega_menu_title > ul{
	float: left;
	max-width: 275px;
	width: 25%;
}

/* sp_hdcontact */
#fixed_hdcontact {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 2000;
	transition: .5s;
}


@media screen and (max-width:960px) {
	#hd_top .title{
		left: 20px;
	}
	#hd_top .info{
		right: 20px;
	}
	#hd_top .info{
		font-size: 85%;
		top: 20px;
	}
	#hd_top .address, #hd_top .tel{
		display: block;
		margin-right: 0;
		text-align: right;
	}
}

@media screen and (max-width:800px) {
	.menu_title{
		font-size: 90%;
	}
	.mega_menu{
		font-size: 90%;
	}
}

@media screen and (max-width:650px) {
	#hd_top .title{
		max-width: 299px;
		width: 46%;
		left: 15px;
	}
	#hd_top .info{
		right: 15px;
	}
}

@media screen and (max-width:600px) {
	#header {
		height: auto;
	}

	#hd_top{
		min-height: auto;
		min-height: initial;
	}
	#hd_top .title{
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		padding: 15px 0 15px 0;
		line-height: 1;
	}
	h1.title a {
		line-height: 1;
		display: inline-block;
	}
	h1.title a img {
		vertical-align: middle;
		line-height: 1;
	}
	#hd_top .info,
	#hd_menu{
		display: none;
	}
	.spmenu_btn,
	#sp_hdcontact{
		display: block;
	}
}

@media screen and (max-width:400px) {
	#hd_top .title{
		max-width: 299px;
		width: 83%;
		height: auto;
	}
	/* #sp_hdcontact > .info > .txt {
		display: block;
		margin-right: 0;
		margin-bottom: 0.5em;
	} */
}
