@charset "utf-8";
/* CSS Document */

/* 汎用 */
h2{
	font-size: 3.2rem;
	margin: 0 0 50px 0;
}

.btn1{
	width: 340px;
	margin: 0;
	padding: 26px 40px 22px 40px;
	overflow: hidden;
	font-size: 2.7rem;
}

.btn1:hover{
	opacity: 1;
}

.btn1 span{
	display: inline-block;
	position: relative
}

.btn1::before{
	transition: transform 1.2s ease-in-out, background-color 0s 1.2s;
}

.btn1:hover:before{
	transform: scale(34);
	background-color: var(--color3);
	transition: transform 1.2s ease-in-out, background-color 0s 0s;
}


.btn2{
	width: 340px;
	margin: 0;
	padding: 26px 40px 22px 40px;
	overflow: hidden;
	font-size: 2.7rem;
}

.btn3{
	width: 340px;
	margin: 0;
	padding: 26px 40px 22px 40px;
	overflow: hidden;
	font-size: 2.7rem;
}

.btn3:hover{
	opacity: 1;
}

.btn3 span{
	display: inline-block;
	position: relative
}

.btn3::before{
	transition: transform 1.2s ease-in-out, background-color 0s 1.2s;
}

.btn3:hover:before{
	transform: scale(34);
	background-color: var(--color3);
	transition: transform 1.2s ease-in-out, background-color 0s 0s;
}



/* テンプレート */

#container {
	width:100%;
	margin:0 auto; /*よせ位置調整*/
	text-align:left;
	font-size: 1.8rem;
	padding-top: 0;
}


/* ヘッダ */

#TOP header{
	height: calc(100vw / 2);
}

header h1 img{
	width: auto;
	height: 2.1vw;
}

.headWave div img{
	width: 200vw;
	height: auto;
}

.headWave.hw1 div img:nth-of-type(1){
	animation: topWave 96s -48s linear infinite;
}

.headWave.hw1 div img:nth-of-type(2){
	animation: topWave2 96s linear infinite;
}

.headWave.hw2 div img:nth-of-type(1){
	animation: topWave 112s -56s linear infinite;
}

.headWave.hw2 div img:nth-of-type(2){
	animation: topWave2 112s linear infinite;
}


.headMoon{
	bottom: 70%;
	right: 25%;
}

.headMoon span{
	width: 150px;
	height: 150px;
	border-radius: 75px;
}

.topScroll{
	display: flex;
	align-items: flex-end;
	position: absolute;
	bottom:150px;
	right: 50px;
	border-right: solid 1px #231815;
	animation: topScrollA 2s linear infinite;
	transform-origin: bottom;
}

.topScroll a{
	display: block;
	height: 0px;
	width: 10px;
	transform-origin: bottom;
	animation: topScrollB 2s linear infinite;
	position: relative;
}

.topScroll a::after{
	content: "";
	width: 7px;
	height: 7px;
	background-color: #231815;
	border-radius: 3.5px;
	position: absolute;
	right: -3.5px;
	bottom: -3px;
	animation:topScrollC 2s linear infinite;
}

@keyframes topScrollA {
	0% {
		transform:translateY(0);
	}
	30%{
		transform:translateY(70px);
	}
	50%{
		transform:translateY(100px);
	}
	90%{
		transform:translateY(100px);
	}
	100%{
		transform:translateY(100px);
	}
}

@keyframes topScrollB {
	0% {
		height: 0px;
	}
	5% {
		height: 0px;
	}
	30% {
		height: 70px;
	}
	50% {
		height: 70px;
	}
	90%{
		height: 0px;
	}
	100%{
		height: 0px;
	}
}

@keyframes topScrollC {
	0% {
		transform: scale(0);
	}
	50% {
		transform: scale(0);
	}
	55% {
		transform: scale(1);
	}
	88% {
		transform: scale(1);
	}
	97%{
		transform: scale(1);
	}
	100%{
		transform: scale(0);
	}
}

.menu svg{
	width: auto;
	height: auto;
}

.navi{
	padding: 40px;
}

.navi .naviLogo{
	margin-bottom: 80px;
}
.navi .naviLogo svg{
	height: 2.2vw;
}

.navi .naviClose img{
	height: 30px;
}

.navi .naviClose{
	top: 40px;
	right: 40px;
}

nav{
	display: flex;
	padding-left: 80px;
}

.navi ul li{
	margin-bottom: 4vw;
	padding-bottom: 1vw;
	position: relative;
	text-align: left;
	width: 25vw;
}

.navi ul li:after{
	width: 60px;
	left: 0;
	transform: translateX(0);
}

.navi ul li a{
	font-size: 4.5vw;
	transition: all 500ms;
	box-sizing: border-box;
}

.navi ul li a:hover{
	padding-left: 2vw;
	opacity: 1;
}




/* コンテンツ領域コンテナ */


/* フッター */
footer{
	padding: 100px 20px;	
}

footer .inner{
	width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-direction: row-reverse;
}

footer dl{
	width: 320px;
}

footer dl dt img{
	width: 100%;
	margin-bottom: 20px;
}

div.footLeft{
	padding-bottom: 0;
}

div.footLeft ul{
	display: block;
	margin: 0 0 35px 0;
	padding: 0;
	font-family: var(--font-dongle);
	font-size: 2.7rem;
	list-style-type: none;
}

div.footLeft ul li{
	position: relative;
	padding: 0 0 13px 10px;
	line-height: 20px;
	margin: 0;
}

div.footLeft ul li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-13px);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent var(--color5);
}

div.footLeft ul li a{
	text-decoration: none;
}

div.footLeft .recruitBtn{
	width: 340px;
	margin: 0;
	overflow: hidden;
}

div.footLeft .recruitBtn:hover{
	opacity: 1;
}

div.footLeft .recruitBtn span{
	display: inline-block;
	position: relative
}

div.footLeft .recruitBtn::before{
	transition: transform 1s ease-in-out, background-color 0s 1s;
}

div.footLeft .recruitBtn:hover:before{
	transform: scale(34);
	background-color: var(--color3);
	transition: transform 1s ease-in-out, background-color 0s 0s;
}

.copy{
	width: 100%;
	text-align: right;
	margin-top: -2em;
}

/* 下層 */
#LOW header{
	height: 130px;
}

.lowHead{
	margin-top: 50px;
}


#LOW h2{
	font-size: 9rem;
	margin: 0 0 50px 0;
	padding: 0;
	line-height: 1;
}

#LOW main section{
	width: 800px;
	margin: 0 auto;
	padding: 0 var(--section-side) 210px;
}

#LOW main section.wide{
	padding: 0 var(--section-side) 210px;
}

#LOW main section.widePc{
	width: 100%;
	box-sizing: border-box;
}

#LOW main h3{
	font-size: 12rem;
	background-size: 100px auto;
	margin-bottom: 100px;
	padding: 0 0 30px 0;
	line-height: 40px;
}

#LOW main h4{
	margin-bottom: 50px;
	font-size: 2.4rem;
}

#LOW main h3.type2{
	font-size: 2.4rem;
}