@charset "utf-8";

/* top_main
-------------------------------------------*/
.top_main{
    position: relative;
	background: #fff;
    }
#header {
	background:rgba(0,0,0,0) !important;
	position:fixed;
	transition: all .5s;
	}
#header.change-color{
	background-color:rgba(255, 255, 255, 1.0) !important;
	}
#header .logo a{
	background-image: url("../img/common/logo_long_w.svg");
	background-repeat: no-repeat;
	}
#header.change-color .logo a{
	background-image: url("../img/common/logo_long_b.svg");
	background-repeat: no-repeat;
	}
#header .nav-wrap li a {
	color: #fff;
	}
#header.change-color .nav-wrap li a {
	color: #3e3a39;
	}
#header.change-color .nav-wrap li a:hover {
	color: #3e3a39;
	}
	
/* main
--------------------------------*/
.main {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	background-size: cover;
	}
.main a{
	height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    display: block;
	}

@media (max-width: 990px) {
.main {
	background-position:top;
	margin-top: 0;
	background-size: cover;
	height: 100vh;
	}
}

.main_logo img{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    margin: -100px 0 0 -300px;
    max-width: 600px;
    opacity: 1.0;
    }


@media (max-width: 990px) {
	
.main_logo img{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    margin: -50px 0 0 -150px;
    max-width: 300px;
    opacity: 1.0;
    }
}



/* Scroll down
-------------------------------------------*/
/*スクロールダウン全体の場所*/
.scrolldown {
	/*描画位置※位置は適宜調整してください*/
	position: absolute;
	left: 50%;
	bottom: 10px;
	/*全体の高さ*/
	height: 50px;
	}

/*Scrollテキストの描写*/
.scrolldown span {
	/*描画位置*/
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	/*テキストの形状*/
	color: #3e3a39;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}
@media (max-width: 990px) {
	.scrolldown span {
		font-size: 14px;
		}
}

/* 線の描写 */
.scrolldown::after {
	content: "";
	/*描画位置*/
	position: absolute;
	top: 0;
	/*線の形状*/
	width: 2px;
	height: 50px;
	background: #3e3a39;
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
	height: 0;
	top: 0;
	opacity: 0;
	}
  30% {
	height: 30px;
	opacity: 1;
	}
  100% {
	height: 0;
	top: 50px;
	opacity: 0;
	}
}

/* about
-------------------------------------------*/
#about{
	text-align: center;
	overflow: hidden;
	background: #d9dbe0;
    padding-top: 120px;
	}	
#about .tit{
	margin-bottom: 60px;
	}
#about h2{
	min-width: 280px;
    text-align: center;
    font-size: 2.4rem;
    padding: 8px 0;
    display: inline-block;
    font-weight: normal;
    color: #3e3a39;
    border: solid 1px #3e3a39;
    background: #fff;
	}
#about p{
	font-size: 2.1rem;
	line-height: 1.8;
	text-align: center;
	padding-bottom: 40px;
	}

@media (max-width: 990px) {
	#about{
	    padding-top: 90px;
		}
	#about h2{
		min-width: 280px;
		font-size: 18px;
		}
	#about p {
		text-align: left;
	    font-size: 14px;
		padding-bottom: 30px;
		}
}

/* business
-------------------------------------------*/
#business{
	text-align: center;
	overflow: hidden;
	background: #d9dbe0;
	padding-top: 120px;
	}	
#business .tit{
	margin-bottom: 60px;
	}
#business h2{
	min-width: 280px;
    text-align: center;
    font-size: 2.4rem;
    padding: 8px 0;
    display: inline-block;
    font-weight: normal;
    color: #3e3a39;
    border: solid 1px #3e3a39;
    background: #fff;
	}
#business p span{
	font-size: 2.4rem;
	}
#business p{
	font-size: 2.1rem;
	line-height: 1.8;
	text-align: center;
	padding-bottom: 40px;
	}
#business p:last-child{
	padding-bottom: 0;
	}

@media (max-width: 990px) {
	#business{
	    padding-top: 120px;
		}
	#business h2{
		min-width: 280px;
		font-size: 18px;
		}
	#business p span{
		text-align: left;
		font-size: 16px;
		margin-bottom: 10px;
		}
	#business p {
		text-align: left;
	    font-size: 14px;
		padding-bottom: 20px;
		padding-left:1em;
	text-indent:-1em;
		}
}

/* service
-------------------------------------------*/
#service{
	text-align: center;
	overflow: hidden;
	background: #d9dbe0;
	padding-top: 120px;
	}	
#service .tit{
	margin-bottom: 60px;
	}
#service h2{
	min-width: 280px;
    text-align: center;
    font-size: 2.4rem;
    padding: 8px 0;
    display: inline-block;
    font-weight: normal;
    color: #3e3a39;
    border: solid 1px #3e3a39;
    background: #fff;
	}
#service ul{
	display: flex;
	justify-content: space-evenly;
	margin-top: 60px;
	}
#service ul.icon_upper li img{
	height: 80px;
	}
#service ul.icon_lower li img{
	height: 60px;
	}
#service ul li a{
	color: #3e3a39;
	}
#service ul li a:hover{
	opacity: 0.8;
	text-decoration: none;
	}
#service h3{
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: normal;
	margin-top: 20px;
	}
#service p{
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: center;
	margin-top: 20px;
	}

@media (max-width: 990px) {
	#service{
	   padding-top: 120px;
		}
	#service ul{
		margin-top: 60px;
		}
	#service ul.icon_upper li img{
		height: 60px;
		}
	#service ul.icon_lower li img{
		height: 30px;
		}
	#service h2{
		min-width: 280px;
		font-size: 18px;
		}
	#service h3{
		font-size: 14px;
		}
	#service p {
		text-align: center;
	    font-size: 12px;
		line-height: 1.6;
		margin-top: 10px;
		}
}

/* contact
-------------------------------------------*/
#contact{
	text-align: center;
	overflow: hidden;
	background: #d9dbe0;
	padding: 120px 0;
	}	
#contact .tit{
	margin-bottom: 60px;
	}
#contact h2{
	min-width: 280px;
    text-align: center;
    font-size: 2.4rem;
    padding: 8px 0;
    display: inline-block;
    font-weight: normal;
    color: #3e3a39;
    border: solid 1px #3e3a39;
    background: #fff;
	}
#contact p{
	font-size: 2.1rem;
	line-height: 1.8;
	text-align: center;
	padding-bottom: 40px;
	}

@media (max-width: 990px) {
	#contact{
	    padding: 120px 0 90px;
		}
	#contact h2{
		min-width: 280px;
		font-size: 18px;
		}
	#contact p {
		text-align: left;
	    font-size: 14px;
		padding-bottom: 30px;
		}
}