@charset "UTF-8";


/***************************************************

	共通コンテンツ部

***************************************************/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Oswald:wght@200..700&display=swap');

:root {
	--text: #222;
	--text2: #555;
	--color1: #e55504;
	--color2: #0262d6;
}


html, body{margin:0; padding:0}

body{
	position: relative;
	background-color: #ffffff;
	background-repeat: repeat;
	background-position: 0 0;
	background-image: url('../images/recruit/rec_bg01.png');
	font-size: 16px;
	font-weight: 500;
	color: var(--text);
	line-height: 1.625;
	font-family: "Noto Sans JP", sans-serif;
	word-wrap: break-word;
	word-break: break-all;
	overflow-y: hidden;
}

.en{
	font-family: "Oswald", sans-serif;
}

.mincho{
	font-family: "Noto Serif JP", serif;
}

a{
	color: var(--color1);
	transition: all 0.2s linear;
}

img{
	max-width: 100%;
	height: auto;
}

ul{
	list-style-type: none;
}

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



/* --------- ヘッダー ---------- */

header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
}

header .header_wrapper{
	padding-left: 45px;
	position: relative;
}

header .header_wrapper .head_logo{
	width: 310px;
}

header .header_wrapper .head_logo a:hover{
	opacity: 0.8;
}

.navi_menu{
	position: absolute;
	top: 0;
	right: 60px;
}

.navi_menu .nav_btn{
	width: 117px;
	height: 117px;
	background: var(--color1);
	position: relative;
	cursor: pointer;
}

.navi_menu .nav_btn .btn_wrapp{
	width: 56px;
	height: 38px;
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    line-height: 1;
    text-align: center;
}

.navi_menu .nav_btn .btn_wrapp span{
	display: block;
	width: 100%;
	height: 4px;
	background: #fff;
	position: absolute;
	left: 0;
	transition: all 0.2s linear;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(1){
	top: 0;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(2){
	top: 20px;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(3){
	top: 38px;
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(1){
	top: 20px;
	transform: rotate(45deg);
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(2){
	display: none;
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(3){
	top: 20px;
	transform: rotate(-45deg);
}

.navi_menu .btn_name{
	width: 113px;
	margin: 15px auto 0;
}

#Gnavigation{
	width: 300px;
	height:	calc(100vh - 200px);
	box-sizing: border-box;
	position: absolute;
	top: 200px;
	right: -360px;
	transition: all 0.2s linear;
	z-index: 10;
	overflow-y: auto;
}

#Gnavigation.active{
	right: -60px;
}

#Gnavigation > ul{
	background: var(--color1);
	padding: 24px;
}

#Gnavigation > ul > li{
	border-bottom: 1px solid #fff;
}

#Gnavigation > ul > li:last-child{
	border-bottom: none;
}

#Gnavigation ul li p.toggle,
#Gnavigation ul li a{
	display: block;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
	padding: 10px 12px;
	cursor: pointer;
}

#Gnavigation ul li.current p.toggle,
#Gnavigation ul li.current > a,
#Gnavigation ul li a:hover{
	background: #fff;
	color: var(--color1);
}

#Gnavigation > ul > li ul{
	/*display: none;*/
}

#Gnavigation > ul > li ul li a{
	padding-left: 24px;
}


/* --------- フッター ---------- */

#page-top{
    width: 70px;
    height: 60px;
    background: var(--color1);
    position: fixed;
    bottom: 0;
    right: 40px;
    border-radius: 10px 10px 0 0;
    z-index: 5;
    cursor: pointer;
}

#page-top::before{
    content: '';
    border: 12px solid transparent;
    border-bottom: 20px solid #fff;
    position: absolute;
    top: 42%;
    left: 50%;
    transform: translate(-50%, -50%);;
}

footer{
	background: #0262d6;
	text-align: center;
	line-height: 1;
	padding: 37px 0 25px;
	color: #fff;
}

footer .f_catch{
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 8px;
}

footer .f_logo{
	width: 302px;
	margin: 0 auto 10px;
}

footer .eng_title{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.15em;
	margin-bottom: 26px;
}

footer .add{
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 10px;
}

footer .phone_box{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
	margin-bottom: 40px;
}

footer .phone_box p{
	font-size: 16px;
	font-weight: 500;
	margin: 0 19px;
}

footer .copyright{
	font-size: 13px;
}




















/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media(max-width:1300px){

body{
	font-size: 1.230769vw;
}


/* --------- ヘッダー ---------- */

header{

}

header .header_wrapper{
	padding-left: 3.461538vw;
}

header .header_wrapper .head_logo{
	width: 23.846154vw;
}

.navi_menu{
	right: 4.615385vw;
}

.navi_menu .nav_btn{
	width: 9vw;
	height: 9vw;
}

.navi_menu .nav_btn .btn_wrapp{
	width: 4.307692vw;
	height: 2.923077vw;
}

.navi_menu .nav_btn .btn_wrapp span{
	height: 0.307692vw;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(2){
	top: 1.538462vw;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(3){
	top: 2.923077vw;
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(1){
	top: 1.538462vw;
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(3){
	top: 1.538462vw;
}

.navi_menu .btn_name{
	width: 8.692308vw;
	margin: 1.153846vw auto 0;
}


#Gnavigation{
	width: 23.076923vw;
	height:	calc(100vh - 15.384615vw);
	top: 15.384615vw;
	right: -27.692308vw;
}

#Gnavigation.active{
	right: -4.615385vw;
}

#Gnavigation > ul{
	padding: 1.846154vw;
}

#Gnavigation ul li p.toggle,
#Gnavigation ul li a{
	font-size: 1.230769vw;
	padding: 0.769231vw 0.923077vw;
}

#Gnavigation > ul > li ul li a{
	padding-left: 1.846154vw;
}


/* --------- フッター ---------- */

#page-top{
    width: 5.384615vw;
    height: 4.615385vw;
    right: 40px;
    border-radius: 0.769231vw 0.769231vw 0 0;
}

#page-top::before{
    border: 0.923077vw solid transparent;
    border-bottom: 1.538462vw solid #fff;
}

footer{
	padding: 2.846154vw 0 1.923077vw;
}

footer .f_catch{
	font-size: 0.923077vw;
	margin-bottom: 0.615385vw;
}

footer .f_logo{
	width: 23.230769vw;
	margin: 0 auto 0.769231vw;
}

footer .eng_title{
	font-size: 1.384615vw;
	margin-bottom: 2vw;
}

footer .add{
	font-size: 1.230769vw;
	margin-bottom: 0.769231vw;
}

footer .phone_box{
	margin-bottom: 3.076923vw;
}

footer .phone_box p{
	font-size: 1.230769vw;
	margin: 0 1.461538vw;
}

footer .copyright{
	font-size: 1vw;
}












}



/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width:430px){

body{
	font-size: 3.733333vw
}

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


/* --------- ヘッダー ---------- */

header{
	height: 14.666667vw;
	background: rgba(255,255,255,.8);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

header .header_wrapper{
	padding-left: 0;
}

header .header_wrapper .head_logo{
	width: auto;
	height: 14.666667vw;
}

header .header_wrapper .head_logo img{
	width: auto;
	height: 100%;
}

.navi_menu{
	right: 0;
}

.navi_menu .nav_btn{
	width: 14.666667vw;
	height: 14.666667vw;
}

.navi_menu .nav_btn .btn_wrapp{
	width: 6.933333vw;
	height: 4.266667vw;
}

.navi_menu .nav_btn .btn_wrapp span{
	height: 0.533333vw;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(2){
	top: 2.133333vw;
}

.navi_menu .nav_btn .btn_wrapp span:nth-of-type(3){
	top: 4.266667vw;
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(1){
	top: 2.133333vw;
}

.navi_menu .nav_btn.active .btn_wrapp span:nth-of-type(3){
	top: 2.133333vw;
}

.navi_menu .btn_name{
	display: none;
}


#Gnavigation{
	width: 69.333333vw;
	padding: 3.2vw;
	position: fixed;
	top: 14.666667vw;
	right: -69.333333vw;
}

#Gnavigation.active{
	right: 0;
}

#Gnavigation ul li p.toggle,
#Gnavigation ul li a{
	font-size: 3.733333vw;
	padding: 2.666667vw 3.2vw;
}

#Gnavigation > ul > li.current > a,
#Gnavigation ul li a:hover{
	background: var(--color1);
	color: #fff;
}

#Gnavigation > ul > li ul li a{
	padding-left: 6.4vw;
}


/* --------- フッター ---------- */

#page-top{
    width: 10.666667vw;
    height: 10.666667vw;
    right: 5.333333vw;
    border-radius: 1.6vw 1.6vw 0 0;
}

#page-top::before{
    border: 2.4vw solid transparent;
    border-bottom: 4.266667vw solid #fff;
}

footer{
	padding: 8vw 0 3.2vw;
}

footer .f_catch{
	font-size: 3.2vw;
	margin-bottom: 2.133333vw;
}

footer .f_logo{
	width: 60%;
	margin: 0 auto 2.666667vw;
}

footer .eng_title{
	font-size: 3.733333vw;
	margin-bottom: 6.4vw;
}

footer .add{
	font-size: 3.733333vw;
	margin: 0 0 4.8vw;
}

footer .phone_box{
	display: block;
	margin-bottom: 6.4vw;
}

footer .phone_box p{
	font-size: 3.733333vw;
	margin: 0;
	line-height: 1.6;
}

footer .copyright{
	font-size: 2.666667vw;
}



main{
	padding-top: 14.666667vw;
}







}
