@charset "utf-8";
/*
Theme Name: Genova Template
File: top.css
Theme Author: Genova Design
Author URI: https://genova.co.jp/
Description: Description: This file is reserved for the top-page css
Version: 1.0
*/

/*--------------------------------------
	mainimage
--------------------------------------*/

#mainimage img {
	width: 100%;
}

.main_contents {
	background: none;
	width: 100%;
	height: auto;
	min-height: inherit;
	position: relative;
}

#mainimage {
	z-index: 1;
	position: relative;
	padding-bottom: 80px;
}
#mainimage:before{
	content: '';
	width: 404px;
	height: 404px;
	background-image: url('../img/top/key_deco3.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -2;
}
#mainimage:after{
	content: '';
	width: calc(50% + 540px);
	background: #58AF9F;
	opacity: 0.29;
	position: absolute;
	right: 0;
	bottom: 0;
	top: 88px;
	z-index: -3;
}
#mainimage .inner{
	display: flex;
	align-items: center;
}
#mainimage .inner:before{
	content: '';
	width: 85px;
	height: 284px;
	background-image: url('../img/top/key_deco2.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	right: 58px;
	top: 60px;
}
#mainimage .inner:after{
	content: '';
	width: 25px;
	height: 25px;
	background-image: url('../img/top/key_deco4.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	left: calc(50% + 207px);
	top: 144px;
}
#mainimage .key-img{
	width: 50%;
	position: relative;
}
#mainimage .key-img:before{
	content: '';
	width: 113px;
	height: 458px;
	background-image: url('../img/top/key_deco1.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	top: 40px;
	right: -65px;
	z-index: 1;
}
#mainimage .col-txt{
	width: 50%;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
}
#mainimage .col-txt h2{
	order: 3;
	font-size: 48px;
	letter-spacing: 0.2em;
	line-height: 74px;
}
#mainimage .col-txt .txt-m{
	order: 2;
	font-size: 24px;
	letter-spacing: 0.2em;
	line-height: 38px;
	margin: 57px 33px 0 0;
}
#mainimage .col-txt .txt-s{
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.2em;
	margin: 106px 21px 0 0;
}
#mainimage .key-item{
	width: 460px;
	position: absolute;
	bottom: 42px;
	right: calc(50% - 79px);
	z-index: 1;
}
#mainimage .key-tooth{
	width: 160px;
	position: absolute;
	bottom: 32px;
	left: calc(50% + 207px);
}
#mainimage .key-tooth:before{
	content: '';
	width: 25px;
	height: 25px;
	background-image: url('../img/top/key_deco5.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	right: -14px;
	top: 30px;
}
#mainimage .key-illust{
	width: 149px;
	position: absolute;
	bottom: 37px;
	left: calc(50% + 408px);
}
@media screen and (max-width: 1180px){
	#mainimage:after{
		top: 28px;
	}
	#mainimage .inner:before{
		right: 0;
	}
	#mainimage .col-txt{
		padding-bottom: 40px;
	}
}
@media screen and (max-width: 1080px){
	#mainimage .key-item{
		right: calc(50% - 45px);
	}
	#mainimage .key-tooth{
		bottom: 22px;
		left: calc(50% + 107px);
	}
	#mainimage .key-illust{
		left: calc(50% + 330px);
	}
}
@media screen and (max-width: 980px){
	#mainimage .key-img{
		width: 55%;
	}
	#mainimage .col-txt{
		width: 45%;
	}
	#mainimage .col-txt h2{
		line-height: 64px;
	}
	#mainimage .col-txt .txt-m{
		line-height: 35px;
		margin: 40px 8px 0 0;
	}
	#mainimage .col-txt .txt-s{
		margin: 80px 5px 0 0;
	}
	#mainimage .key-item{
		width: 390px;
	}
	#mainimage .key-tooth{
		width: 100px;
	}
	#mainimage .key-illust{
		width: 112px;
		left: calc(50% + 230px);
		bottom: 16px;
	}
}
@media screen and (max-width: 767px) {
	#mainimage {
		padding-bottom: 10vw;
	}
	#mainimage:before{
		width: 34.4vw;
		height: 34.4vw;
	}
	#mainimage:after{
		width: 94.87%;
		top: 16.4vw;
	}
	#mainimage .inner{
		display: block;
	}
	#mainimage .inner:before{
		width: 91.0vw;
		height: 89.0vw;
		background-image: url('../img/top/key_deco2_sp.png');
		right: 5.1vw;
		top: 106.7vw;
	}
	#mainimage .inner:after{
		display: none;
	}
	#mainimage .key-img{
		width: 92.3vw;
		margin-bottom: 12.8vw;
	}
	#mainimage .key-img:before{
		width: 12.9vw;
		height: 71.0vw;
		background-image: url('../img/top/key_deco1_sp.png');
		top: 10.3vw;
		right: -5.3vw;
	}
	#mainimage .col-txt{
		width: 100%;
		padding-left: 13vw;
	}
	#mainimage .col-txt h2{
		font-size: 9.2vw;
		line-height: 12vw;
	}
	#mainimage .col-txt .txt-m{
		font-size: 5.1vw;
		line-height: 7.7vw;
		margin: 10.3vw 5vw 0 0;
	}
	#mainimage .col-txt .txt-s{
		font-size: 3.6vw;
		line-height: 6.1vw;
		margin: 20.5vw 5vw 0 0;
	}
	#mainimage .key-item{
		width: 71.8vw;
		bottom: auto;
		top: 77.4vw;
		right: auto;
		left: 7.7vw;
	}
	#mainimage .key-tooth{
		width: 24.1vw;
		bottom: 1.7vw;
		left: auto;
		right: 24.8vw;
	}
	#mainimage .key-tooth:before{
		display: none;
	}
	#mainimage .key-illust{
		width: 18.3vw;
		bottom: 4.2vw;
		right: 3.7vw;
		left: auto;
	}
}


#key__recruit{
	position: relative;
	z-index: 1;
	padding: 2.3vw 0;
	background: #F5F1E6;
}
#key__recruit:before{
	content: '';
	width: 28.7vw;
	background-image: url('../img/recruit/pattern.png');
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: -2;
}
#key__recruit .img1{
	width: 28.1vw;
	margin: 0 0 8.1vw 2.3vw;
	position: relative;
}
#key__recruit .img1:before{
	content: '';
	width: 29.0vw;
	height: 5.0vw;
	background-image: url('../img/recruit/key_deco1.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	top: -1.5vw;
	right: 0;
	z-index: 1;
}
#key__recruit .img2{
	width: 25.0vw;
	position: absolute;
	right: 6.1vw;
	top: 5.3vw;
}
#key__recruit .img2:before{
	content: '';
	width: 33.8vw;
	height: 27.8vw;
	background-image: url('../img/recruit/key_deco4.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	top: -1.0vw;
	left: -1.3vw;
	z-index: 1;
}
#key__recruit .img3{
	width: 25.0vw;
	margin-left: 6.1vw;
	position: relative;
}
#key__recruit .img3:before{
	content: '';
	width: 30.7vw;
	height: 27.5vw;
	background-image: url('../img/recruit/key_deco2.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	bottom: -2.9vw;
	right: 1.6vw;
	z-index: 1;
}
#key__recruit .img4{
	width: 28.1vw;
	position: absolute;
	right: 10.5vw;
	top: 38.7vw;
}
#key__recruit .img4:before{
	content: '';
	width: 4.4vw;
	height: 4.4vw;
	background-image: url('../img/recruit/key_deco5.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	top: 4.0vw;
	left: -6.1vw;
	z-index: 1;
}
#key__recruit .catch{
	width: 55.1vw;
	position: absolute;
	top: 9.4vw;
	left: 28.0vw;
	z-index: 2;
}
#key__recruit .catch:before{
	content: '';
	width: 20.6vw;
	height: 6.4vw;
	background-image: url('../img/recruit/key_deco3.png');
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	top: -7.2vw;
	left: 10.3vw;
	z-index: 1;
}
@media screen and (min-width: 1400px){
	#key__recruit{
		padding: 32px 0;
	}
	#key__recruit:before{
		width: 392px;
	}
	#key__recruit .img1{
		width: 384px;
		margin: 0 0 110px calc(50% - 650px);
	}
	#key__recruit .img1:before{
		width: 396px;
		height: 68px;
		top: -20px;
	}
	#key__recruit .img2{
		width: 341px;
		right: calc(50% - 600px);
		top: 72px;
	}
	#key__recruit .img2:before{
		width: 462px;
		height: 380px;
		top: -13px;
		left: -18px;
	}
	#key__recruit .img3{
		width: 341px;
		margin-left: calc(50% - 600px);
	}
	#key__recruit .img3:before{
		width: 420px;
		height: 375px;
		bottom: -40px;
		right: 22px;
	}
	#key__recruit .img4{
		width: 384px;
		right: calc(50% - 600px);
		top: 528px;
	}
	#key__recruit .img4:before{
		width: 60px;
		height: 60px;
		top: 54px;
		left: -84px;
	}
	#key__recruit .catch{
		width: 753px;
		top: 129px;
		left: calc(50% - 300px);
	}
	#key__recruit .catch:before{
		width: 282px;
		height: 88px;
		top: -98px;
		left: 140px;
	}
}
@media screen and (max-width: 767px){
	#key__recruit{
		padding: 3.8vw 0 35.9vw;
	}
	#key__recruit:before{
		width: 51.5vw;
	}
	#key__recruit:after{
		content: '';
		width: 92.1vw;
		background-image: url('../img/recruit/key_deco_sp.png');
		background-repeat: no-repeat;
		background-size: 100%;
		position: absolute;
		left: 4.1vw;
		top: 3.8vw;
		bottom: 0;
		z-index: 1;
	}
	#key__recruit .img1{
		width: 47.4vw;
		margin: 0 0 66.4vw 4.1vw;
	}
	#key__recruit .img2{
		width: 35.9vw;
		right: 4.1vw;
		top: 15.9vw;
	}
	#key__recruit .img3{
		width: 35.9vw;
		margin-left: 4.1vw;
	}
	#key__recruit .img4{
		width: 47.4vw;
		right: 4.1vw;
		top: 104.9vw;
	}
	#key__recruit .catch{
		width: 84.6vw;
		top: 34.4vw;
		left: 7.7vw;
	}
	#key__recruit .catch:before,
	#key__recruit .img4:before,
	#key__recruit .img3:before,
	#key__recruit .img2:before,
	#key__recruit .img1:before{
		display: none;
	}
}