@charset "UTF-8";



/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 共通項目 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
*{margin:0;padding:0;text-decoration:none;box-sizing: border-box;}fieldset{border:0}body{line-height:1.8}body,dd,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,select,ul{margin:0;padding:0}img{border:0;vertical-align:top;width:100%;height:auto}a{text-decoration:none}em{font-style:normal}ul li{list-style-type:none;list-style-image:none;list-style:none}address{font-style:normal}strong{font-weight: bold}
html{font-size: 62.5%;}
body{font-size: 1.6em;}


/* float解除 */
.cbox { 
}
* html .cbox {
	zoom: 100%;
}
*:first-child+html .cbox {
	display: inline-block;
}
.cbox:after {
	content: ""; 
	clear: both; 
	height: 0; 
	display: block; 
	visibility: hidden;
}



/* sp */ 
.sp {
	display: none;
}



/* リンク */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
a {
	color: #535353;
	text-decoration: none;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
a:before {
	transition: 0.3s;
	-webkit-transition: 0.3s;
}



/* 横幅 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
body {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 400;
	color: #535353;
	padding: 0;
	margin: 0;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}
body.fixed {
	width: 100%;
	height: 100%;
	position: fixed;
	overflow-y: hidden;
}



/* フォント */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.en {
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
}




/* flex */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.flex {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-start {
	display: flex;
	display: -webkit-flex;
	justify-content: space-between;
}
.flex-end {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	 -ms-flex-direction: row-reverse;
		 flex-direction: row-reverse;
}
.flex-center {
	display: flex;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flex-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	padding: 60px 100px 0 100px;
	transition: 0.3s;
	-webkit-transition: 0.3s;
}
#header.is-animation {
	padding: 15px;
	background: #fff;
}
    #header .logo {
        width: 116px;
		transition: 0.3s;
		-webkit-transition: 0.3s;
    }
    #header.is-animation .logo {
        width: 70px;
    }
		#header .logo a:hover {
			opacity: 0.7;
		}


    #header ul.globalnav {
		margin-top: 10px;
		transition: 0.3s;
		-webkit-transition: 0.3s;
    }
    #header.is-animation ul.globalnav {
		margin-top: 0;
		margin-right: 10px;
    }
		#header ul.globalnav li {
			margin-left: 50px;
			position: relative;
			transition: 0.3s;
			-webkit-transition: 0.3s;
		}
		#header.is-animation ul.globalnav li {
			margin-left: 25px;
		}
			#header ul.globalnav li a {
				display: block;
				font-size: 1.5rem;
				font-weight: 500;
				padding-left: 30px;
			}
			#header ul.globalnav li a:hover {
				color: #007F41;
			}
			#header ul.globalnav li.profile a {
				background: url("../img/icon_profile.svg") no-repeat left center;
			}
			#header ul.globalnav li.company a {
				background: url("../img/icon_company.svg") no-repeat left center;
			}
			#header ul.globalnav li.recruit a {
				background: url("../img/icon_recruit.svg") no-repeat left center;
			}
			#header ul.globalnav li.contact a {
				background: url("../img/icon_contact.svg") no-repeat left center;
			}
			#header ul.globalnav li.profile a:hover {
				background: url("../img/icon_profile_green.svg") no-repeat left center;
			}
			#header ul.globalnav li.company a:hover {
				background: url("../img/icon_company_green.svg") no-repeat left center;
			}
			#header ul.globalnav li.recruit a:hover {
				background: url("../img/icon_recruit_green.svg") no-repeat left center;
			}
			#header ul.globalnav li.contact a:hover {
				background: url("../img/icon_contact_green.svg") no-repeat left center;
			}
				#header ul.globalnav li.has-child .sub_list {
					width: 200px;
					position: absolute;
					left: 50%;
					top: 35px;
                    padding: 0 15px;
                    margin-left: -100px;
					background: #007F41;
					visibility: hidden;
					opacity: 0;
				}
				#header ul.globalnav li.has-child:hover > .sub_list {
					visibility: visible;
					opacity: 1;
				}
                    #header ul.globalnav li.has-child .sub_list li {
                        width: 100%;
                        border-left: none;
						margin: 0;
                        border-bottom: solid 1px rgba(255,255,255,0.3);
                    }
                    #header ul.globalnav li.has-child .sub_list li:nth-last-child(1) {
                        border-bottom: none;
                    }
                        #header ul.globalnav li.has-child .sub_list li a {
                            display: block;
					        padding: 15px 0;
                            font-size: 1.3rem;
							background: none;
							line-height: 1.4em;
                            font-weight: 600;
                            color: #fff;
                        }
                        #header ul.globalnav li.has-child .sub_list li a:hover {
                            opacity: 0.8;
                        }


	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* menubtn */
#menubtn,
#menubox {
	display: none;
}
	



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* main */
#main {
	display: block;
}

/* inner */
.inner {
	width: 1040px;
	margin: 0 auto;
	position: relative;
}
.inner_820 {
	width: 820px;
	margin: 0 auto;
	position: relative;
}


/* txt */
.txt {
	font-size: 1.6rem;
	line-height: 2.0em;
}


/* btn */
.btn {
	width: 180px;
}
	.btn a {
		display: block;
		height: 60px;
		border-radius: 30px;
		background: #5094A1 url("../img/icon_arrow_white.svg") no-repeat right 20px center;
		font-size: 1.5rem;
		font-weight: 700;
		color: #fff;
		text-align: center;
		line-height: 58px;
	}
	.btn a:hover {
		background: #3c7d8c url("../img/icon_arrow_white.svg") no-repeat right 17px center;
	}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 下層タイトル */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */

/* pagetitle */
#pagetitle {
    width: 100%;
}

	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	width: 100%;
	background: #fff;
	padding: 80px 0;
}
	#footer .info {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		#footer .info .logo {
			width: 90px;
		}
			#footer .info .logo a:hover {
				opacity: 0.7;
			}

		#footer .info .link {
			font-size: 1.2rem;
			font-weight: 500;
			line-height: 2em;
			margin-left: 35px;
		}
			#footer .info .link a:hover {
				color: #007F41;
			}


	#footer .other {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
		#footer .other .copyright {
			font-size: 1.2rem;
			line-height: 1;
			text-align: right;
			margin-right: 30px;
		}

		#footer .other .zensho {
			width: 100px;
			margin-right: 30px;
		}
			#footer .other .zensho a:hover {
				opacity: 0.7;
			}

		#footer .other .pagetop {
			width: 70px;
		}
			#footer .other .pagetop a:hover {
				opacity: 0.7;
			}


/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* スクロールアニメーション テキスト&画像 */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
.ani-wrap {
	opacity: 0;
}
.ani-wrap.ani-animation {
	animation: ani-opacity 2s cubic-bezier(.4, 0, .2, 1);
	overflow: hidden;
	position: relative;
	opacity: 1;
}

.ani-wrap.ani-animation:before {
  animation: ani-animation 2s cubic-bezier(.4, 0, .2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}
@keyframes ani-opacity {
  0% {
    opacity: 0;
  }
}
@keyframes ani-animation {
  100% {
    transform: translateX(100%);
    opacity: 1;
  }
}





/* 1100px */
@media screen and (max-width: 1100px) {




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	padding: 30px 3% 0 3%;
}
    #header .logo {
        width: 90px;
		transition: 0.3s;
		-webkit-transition: 0.3s;
    }


    #header ul.globalnav {
		margin-top: 7px;
    }
    #header.is-animation ul.globalnav {
		margin-top: 3px;
    }
		#header ul.globalnav li {
			margin-left: 30px;
		}
		#header.is-animation ul.globalnav li {
			margin-left: 25px;
		}

	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* inner */
.inner {
	width: 100%;
	padding: 0 3%;
}
.inner_820 {
	width: 100%;
	padding: 0 7%;
}


/* txt */
.txt {
	font-size: 1.5rem;
	line-height: 1.8em;
}


/* btn */
.btn a {
	height: 54px;
	border-radius: 27px;
	font-size: 1.4rem;
	line-height: 52px;
}

	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	padding: 60px 0;
}
	#footer .info .logo {
		width: 70px;
	}

	#footer .info .link {
		font-size: 1.1rem;
		line-height: 1.8em;
		margin-left: 25px;
	}


	#footer .other .copyright {
		font-size: 1.0rem;
		margin-right: 20px;
	}

	#footer .other .zensho {
		width: 80px;
		margin-right: 20px;
	}

	#footer .other .pagetop {
		width: 50px;
	}


}

	







/* max 767px */
@media screen and (max-width: 767px) {


.sp {
	display: block;
}
.pc {
	display: none;
}




/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* ヘッダー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#header {
	padding: 18px 5% 0 5%;
	height: 60px;
}
#header.is-animation {
	padding: 18px 5% 0 5%;
	height: 60px;
}
    #header .logo {
        width: 60px;
    }
    #header.is-animation .logo {
        width: 60px;
    }


    #header ul.globalnav {
		display: none;
    }



	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* メニュー */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* menubtn */
#menubtn {
	display: block;
	background: #007F41;
	width: 60px;
	height: 60px;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1101;
}
	#menubtn .menu {
		display: block;
		position: relative;
		cursor: pointer;
		width: 60px;
		height: 60px;
	}
		#menubtn .menu .openbtn-area {
			transition: all .4s;
		}
			#menubtn .menu span {
				width: 30px !important;
				display: inline-block;
				transition: all .4s;
				position: absolute;
				top: 50%;
				left: 50%;
				margin-left: -15px;
				height: 1px;
				background: #fff;
			}
			#menubtn .menu span:nth-of-type(1) {
				margin-top: -7px;
			}
			#menubtn .menu span:nth-of-type(2) {
				margin-top: -1.5px;
			}
			#menubtn .menu span:nth-of-type(3) {
				margin-top: 5px;
			}

	#menubtn .menu.active .openbtn-area {
		transform: rotateY(-360deg);
	}
		#menubtn .menu.active span:nth-of-type(1) {
			transform: translateY(7px) rotate(-155deg);
			margin-top: -7px;
		}
		#menubtn .menu.active span:nth-of-type(2) {
			opacity: 0;
		}
		#menubtn .menu.active span:nth-of-type(3) {
			transform: translateY(-7px) rotate(155deg);
			margin-top: 7px;
		}
	
	
/* menubox */
#menubox {
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: #fff;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9;
}
	#menubox .menunav {
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
		overflow-y: scroll;
	}
		#menubox .menunav ul {
			width: 100%;
			padding-top: 60px;
		}
			#menubox .menunav ul li {
				width: 100%;
				border-bottom: solid 1px #ddd;
			}
			#menubox .menunav ul li:nth-child(1) {
				border-top: solid 1px #ddd;
			}
				#menubox .menunav ul li a {
					display: block;
					font-size: 1.8rem;
					padding: 20px 30px;
				}
				#menubox .menunav ul li ul.sub_list {
					padding: 0 30px 20px 30px;
					margin-top: -10px;
				}
					#menubox .menunav ul li ul.sub_list li {
						border: none !important;
					}
						#menubox .menunav ul li ul.sub_list li a {
							padding: 0;
							font-size: 1.5rem;
						}

	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* 基本レイアウト */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
	
/* inner */
.inner {
	padding: 0 5%;
}
.inner_820 {
	padding: 0 5%;
}

/* txt */
.txt {
	font-size: 1.4rem;
}

	
	
	
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
/* フッター */
/* ++++++++++++++++++++++++++++++++++++++++++++++ */
#footer {
	padding: 30px 0;
}
	#footer .inner {
		display: block;
	}
		#footer .info {
			display: block;
		}
		#footer .info .logo {
			width: 70px;
			margin: 0 auto 20px auto;
		}

		#footer .info .link {
			font-size: 1.2rem;
			line-height: 2em;
			margin-left: 0;
			text-align: center;
		}


		#footer .other {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-top: 20px;
		}
			#footer .other .copyright {
				text-align: center;
				margin-right: 0;
			}

			#footer .other .zensho {
				width: 80px;
				margin-right: 20px;
			}

			#footer .other .pagetop {
				width: 50px;
			}



}