
@charset "utf-8";



@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;700&family=Open+Sans:wght@700;800&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Libre+Barcode+39&family=Roboto:wght@700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Libre+Barcode+39&display=swap');


/* HEADER */



header {

	position: fixed;

	width: 100%;

	top: 0;

	padding: 25px 0 19px;

	z-index: 100;

	background: #fff;

}


header>*{
	
	box-sizing: border-box;
}


#header_inner {

	display: flex;

	max-width: 1280px;

	padding: 0 55px;

	margin: 0 auto;

	justify-content: space-between;
	
	

}





nav>a {

	font-size: 15px;

	font-weight: 800;

	display: inline-block;

	color: #000;

	text-decoration: none;

	margin-right: 51px;

	letter-spacing: 0.8px;

	line-height: 28px;

	position: relative;

	font-family: 'Open Sans', "ヒラギノ角ゴ ProN W5", Hiragino Kaku Gothic ProN, sans-serif;

}

nav>a:nth-of-type(3){

	margin-right: 56px;

}



nav>a::after {

	background-color: #000;

	bottom: 0;

	content: '';

	display: block;

	height: 2px;

	left: 0;

	position: absolute;

	transition: .5s all;

	width: 0;

}



nav>a:hover::after {

	width: 100%;

}



.btn_entry {

	color: #ae2d29;

	position: relative;
	
	text-decoration: none;

}

.btn_entry::before {

	content: '';

	width: 7px;

	height: 9px;

	background: url(../images/icon_arrow_red.png) no-repeat center center / cover;

	position: absolute;

	top: 0;

	bottom: 0;

	left: 4em;

	margin: auto 0;

}

.btn_entry::after {

	background-color: #ae2d29;

}





#header_title {

	font-family: 'ヒラギノ角ゴ W7 JIS2004';

	font-size: 14px;

	font-weight: 900;

	line-height: 34px;

	letter-spacing: 1px;

	margin-right: -4px;

	margin-top: -4px;

}

#header_title a{
	color: #000;
	text-decoration: none;
}



#megamenu {

	display: none;

	width: 100%;

	max-width: 1280px;

	padding: 20px 55px 0;

	margin: 0 auto;

}



#megamenu>div {

	display: flex;

	width: 100%;

}



.sp_nav {

	display: none;

}



.megamenu_sub {

	display: flex;

	width: 100%;

}





#megamenu a {

	width: 22%;

	margin-right: 1%;

	display: block;

	color: #000;

	transition: .2s;
	
	text-decoration: none;

}



#megamenu a:hover {

	opacity: .5;

}



.megamenu_title {

	font-size: 15px;

	font-family: 'Roboto', 'ヒラギノ角ゴ W6 JIS2004', sans-serif;

	font-weight: bold;

	padding-left: 5px;

	margin-bottom: 10px;

	position: relative;

}



.megamenu_title::before {

	content: '';

    display: block;

    background: #000;

    border-radius: 50%;

    width: 3px;

    height: 3px;

    position: absolute;

    top: 5px;

    left: 0px;

}

.disabled .megamenu_title::before {

    background: #888;

}



.megamenu_title.ls01{

	letter-spacing: 0.7px;

}

.megamenu_title.ls02{

	letter-spacing: 0.9px;

}

.megamenu_title.ls03{

	letter-spacing: 0.8px;

}

.megamenu_title.ls04{

    letter-spacing: 0.8px;

    padding-left: 7px;

}

.megamenu_title.ls05{

	letter-spacing: 0.7px;

    padding-left: 7px;

}

.megamenu_title.ls06{

    letter-spacing: 2.5px;

    font-size: 13px;

    margin-top: 2px;

    padding-left: 6px;

}

.megamenu_title.ls07{

    letter-spacing: 1.8px;

    font-size: 13px;

    margin-top: 2px;

    padding-left: 7px;

}

.megamenu_title.ls08{

	letter-spacing: 2px;

    font-size: 13px;

    margin-top: 2px;

    padding-left: 6px;

}

.megamenu_title.ls09{

    letter-spacing: 0.7px;

    padding-left: 8px;

}

.megamenu_title.ls10{

	letter-spacing: 1.7px;

    font-size: 13px;

    margin-top: 2px;

}

.megamenu_title.ls11{

    letter-spacing: 3px;

    font-size: 13px;

    padding-left: 8px;

    margin-top: 2px;

}

.megamenu_title.ls12{

	letter-spacing: 2.8px;

    font-size: 13px;

    margin-top: 2px;

    padding-left: 7px;

}


	

.megamenu_text {

	font-size: 10px;

    line-height: 1.6;

    margin-left: 6px;

    letter-spacing: 1px;

}



#megamenu .disabled {

	color: #888;

}





/* FOOTER */

footer {

	text-align: center;

	padding-bottom: 35px;

}



#footer_top>a {

	display: inline-block;

	font-size: 28px;

	font-family: 'Open Sans', "ヒラギノ角ゴ ProN W5", Hiragino Kaku Gothic ProN, sans-serif;

	font-weight: 700;

	padding: 0 0 0 28px;

	background: url(../images/top_tri.png) left center/16px no-repeat;

	/* margin-bottom: 25px; */

	margin-bottom: 20px;

	color: #000;

	letter-spacing: 2px;

	position: relative;
	
	text-decoration: none;

}



#footer_copy {

	font-family: 'Roboto', sans-serif;

	font-size: 10px;

	letter-spacing: .5px;

}






@media screen and (min-width: 769px) {

	#megamenu_interview .megamenu_sub a:first-child{

		width: 18.2%;

		margin-right: 1.7%;

	}
	
	#megamenu_interview .megamenu_sub a:first-child{

		width: 18.5%;

		margin-right: 1.7%;

	}


	#megamenu_interview .megamenu_sub a:nth-of-type(2){

		width: 18.9%;


		margin-right: 1.2%;

	}

	#megamenu_recruit .megamenu_sub a:first-child{

		width: 9.6%;

	}


	#megamenu_recruit .megamenu_sub a:nth-of-type(2){

		width: 20.1%;

	}

	#megamenu_recruit .megamenu_sub a:nth-of-type(3){

		width: 9.2%;

	}

	#megamenu_recruit .megamenu_sub a:nth-of-type(4){

		width: 10.5%;

	}

	#megamenu_recruit .megamenu_sub a:nth-of-type(5){

		width: 15%;

	}







	#megamenu_worklifebalance .megamenu_sub a:first-child{

		width: 17.8%;

	}

	#megamenu_worklifebalance .megamenu_sub a:nth-of-type(2){

		width: 12.7%;

	}

	#megamenu_worklifebalance .megamenu_sub a:nth-of-type(3){

		width: 9.5%;

	}

	#megamenu_worklifebalance .megamenu_sub a:nth-of-type(4){

		width: 12%;

	}



}





@media screen and (max-width: 999px) {


	/* HEADER */



	header {

		padding: 0;

		position: flex;

	}



	#header_inner {

		display: flex;

		max-width: 1280px;

		padding: 0;

		margin: 0 auto;

		justify-content: space-between;

		align-items: center;

	}



	nav {

		display: none;

	}



	.btn_entry_area {
		
		display: block;

		position: absolute;

		top: 15px;

		right: 72px;
		
		line-height: 1em;

	}

	.btn_entry {

		font-size: 13px;

		font-weight: 900;

		font-family: 'Open Sans', "ヒラギノ角ゴ ProN W5", Hiragino Kaku Gothic ProN, sans-serif;
		
		letter-spacing: 1px;

	}

	.btn_entry::before {

		top: -1px;

		left: 4.5em;

	}





	#header_title {

		font-size: 13px;

		line-height: 42px;

		margin-right: 0;

		margin-left: 20px;

		font-family: 'ヒラギノ角ゴ W7 JIS2004';

		letter-spacing: 2px;

		margin-top: 0;

	}



	#megamenu {

		display: none;

		width: 100%;

		height: 100vh;

		padding: 20px 29px 50px;

		margin: 0 auto;

		overflow-y: scroll;

	}



	.sp_nav {

		font-size: 22px;

		font-family: 'Open Sans', "ヒラギノ角ゴ ProN W5", Hiragino Kaku Gothic ProN, sans-serif;

		font-weight: bold;

		letter-spacing: 1px;

		margin-bottom: 28px;

		width: 100%;

		position: relative;

	}

	.sp_nav_open::before,

	.sp_nav_open::after {

		content: '';

		position: absolute;

		right: 0;

		display: flex;

		width: 16px;

		height: 2px;

		background: #000;

		top: 0;

		bottom: 0;

		margin: auto;

		align-items: center;

		justify-content: center;

		transition: 0.4s;

	}

	.sp_nav_open::after{

		transform: rotate(90deg);

	}



	.sp_nav_open.opened::after {

		transform: rotate(180deg);

	}



	.megamenu_sub {

		display: none;

	}



	#megamenu>div {

		display: block;



	}



	#megamenu a {

		width: 100%;

		margin-right: 0;

		margin-bottom: 18px;

	}



	#megamenu a:hover {

		opacity: .5;

	}



	#megamenu a:last-child {

		margin-bottom: 35px;

	}



	.megamenu_title {

		font-size: 20px;

		font-weight: bold;

		margin-bottom: 5px;

		padding-left: 8px;

	}

	.megamenu_title:before {

		top: 7px;

	}

	.megamenu_title.ls06,

	.megamenu_title.ls07,

	.megamenu_title.ls08,

	.megamenu_title.ls10,

	.megamenu_title.ls11,

	.megamenu_title.ls12{

		font-size: 16px;

	}





	.megamenu_text {

		font-size: 10px;

		line-height: 1.6;

		padding-left: 10px;

		margin-left: 0;

	}



	#megamenu .disabled {

		color: #888;

	}



	.sp_nav {

		display: block;

	}









	/* ハンバーガー */



	.openbtn {

		position: relative;

		cursor: pointer;

		width: 32px;

		height: 47px;

		margin-right: 23px;

	}



	.openbtn span {

		display: inline-block;

		transition: all .3s;

		position: absolute;

		left: 14px;

		height: 2px;

		border-radius: 1px;

		background: #000;

		width: 65%;

	}



	.openbtn span:nth-of-type(1) {

		top: 13px;

	}



	.openbtn span:nth-of-type(2) {

		top: 22px;

	}



	.openbtn span:nth-of-type(3) {

		top: 31px;

	}



	.openbtn.active span:nth-of-type(1) {

		top: 17px;

		left: 10px;

		transform: translateY(6px) rotate(-45deg);

		width: 90%;

	}



	.openbtn.active span:nth-of-type(2) {

		opacity: 0;

	}



	.openbtn.active span:nth-of-type(3) {

		top: 29px;

		left: 10px;

		transform: translateY(-6px) rotate(45deg);

		width: 90%;

	}


	/* FOOTER */

	footer {

		text-align: center;

		padding-bottom: 35px;

	}



	#footer_top>a {

		text-align: center;

		display: block;

		font-size: 20px;

		padding: 40px 0 0 0;

		background: url(../images/top_tri.png) center center/14px no-repeat;

		margin-bottom: 16px;

		position: relative;

	}







	#footer_copy {

		font-family: 'Roboto', sans-serif;

		font-size: 10px;

		/*letter-spacing: -0.4px;*/

		padding: 0 20px 0 20px;

		text-align: left;

		line-height: 13px;

		text-align: justify;

	}






}


@media screen and (min-width:1000px) and ( max-width:1280px) {
	
	#header_title {
	  margin-top: -2px;
	}
	
	nav > a {
	  font-size: 1.3vw;
	}
	
}


@media screen and ( max-width:999px) {

	.openbtn { display: block !important; }

	.btn_entry_area { display: block !important; }


}