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


body {
    background-color: #FFFFFF;
    font-family:  'Open Sans', Arial, Helvetice Neue, sans-serif;
    font-size: 12px;
	
	font-weight: 300; 
	font-style: normal; 
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
    margin: 0px;
    padding: 0px;
}

h1{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 35px;
    color: rgba(0,0,0,1.00);
    line-height: 60px;
    margin: 0;
    white-space: nowrap;
}z

h2{
    font-family: adobe-caslon-pro,serif;
    font-weight: 600;
    font-style: normal;
    font-size: 40px;
    line-height: 60px;
    margin: 0;
    color: rgba(20,78,172,1.00);
    white-space: nowrap;
	z-index: 50;
}

h3{
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    color: rgba(20,78,172,1.00);
    margin: 0;
    white-space: nowrap;
}

p{
    margin-top: 50px;
    font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-style: normal;
    color: rgba(0,0,0,1.00);
    font-size: 16px;
    line-height: 36px;
	-webkit-font-smoothing: subpixel-antialiased;
}



.recruit_top{
	display: block;
	position: relative;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
}

.rec_fadeslide {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: -50;
}

.rec_slide1,.rec_slide2,.rec_slide3,.rec_slide4 {
	animation-duration: 28s;
	animation-iteration-count:infinite;
	position: absolute;
	left:0px;
	top:0px;
	min-width: 100%;
	width: auto;
	min-height: 100%;
	animation-fill-mode: both;
	animation-timing-function: ease;
	animation-delay: 2s;
    text-align : center;
}

.rec_slide1 img,.rec_slide2 img,.rec_slide3 img,.rec_slide4 img {
	min-width: 100%;
	width: 1400px;
	min-height: 100%;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
	top: 0px;
}

.rec_slide1 img {
    transform: translateX(-48%);
}

.rec_slide2 img {
    transform: translateX(-44%);
}

.rec_slide3 img {
    transform: translateX(-40%);
}

.rec_slide4 img {
    transform: translateX(-40%) translateY(-10%);
}

/*１枚目*/
.rec_slide1 {
	animation-name: rec_slide1;
}
/*２枚目*/
.rec_slide2 {
	animation-name: rec_slide2;
}
/*３枚目*/
.rec_slide3 {
	animation-name: rec_slide3;
}

.rec_slide4 {
	animation-name: rec_slide4;
}

/*１枚目*/
@keyframes rec_slide1 {
0% {opacity: 1;}
20% {opacity: 1;}
25% {opacity: 0;}
100% {opacity: 1;}
}
/*２枚目*/
@keyframes rec_slide2 {
0% {opacity: 0;}
20% {opacity: 0;}
25% {opacity: 1;}
45% {opacity: 1;}
50% {opacity: 0;}
100% {opacity: 0;}
}
/*3枚目*/
@keyframes rec_slide3 {
0% {opacity: 0;}
45% {opacity: 0;}
50% {opacity: 1;}
70% {opacity: 1;}
75% {opacity: 0;}
100% {opacity: 0;}
}
@keyframes rec_slide4 {
0% {opacity: 0;}
70% {opacity: 0;}
75% {opacity: 1;}
95% {opacity: 1;}
100% {opacity: 0;}
}

.recruit_fadebar{
	position: absolute;
	bottom: 0px;
	width: 100vw;
	height: 0.5vh;
	overflow: visible;
}

.recruit_fadebar_in{
	height: 100%;
	z-index: -2;
	animation: fadebar 7s normal;
	animation-timing-function: linear;
	animation-iteration-count:infinite;
	animation-fill-mode: backwards;
	background-color: rgba(0,236,255,1.00);
}

@keyframes fadebar {
0% {width: 0%;}
100% {width: 102%;}
}

.recruit_logo{
	position: absolute;
	top: 30px;
	left: 50px;
	width: 240px;
	height: auto;
}

.recruit_logo img{
	width: 100%;
	height: auto;
    opacity: 0.95;
}

.openbtn8{
  position: fixed;
  top: 0px;
	right: 0px;
  cursor: pointer;
    width: 80px;
    height: 80px;
	transition: ease 0.3s;
	overflow: hidden;
	z-index: 999;
}

.openbtn8:before{
	content: "";
  position: absolute;
  top: 100%;
	right: 100%;
  background:#1EF6FF;
    width: 30px;
    height: 30px;
	border-radius: 140px;
	transition: ease 0.3s;
	z-index: -10;
}

.openbtn8:after{
  position: absolute;
	content: "";
  top: 0;
	right: 0;
  background:#144EAC;
    width: 80px;
    height: 80px;
	transition: ease 0.3s;
	z-index: -15;
}

.openbtn8:hover:before{
	transform: translateX(175%) translateY(-175%) scale(400%);
}

.openbtn8:hover span{
  background:#144EAC;
}

.openbtn8 .openbtn-area{
    transition: all .6s;
  width:80px;
  height:80px;
}

.openbtn8 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 22px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
    width: 45%;
  }

.openbtn8 span:nth-of-type(1) {
  top:27px; 
}

.openbtn8 span:nth-of-type(2) {
  top:38.5px;
}

.openbtn8 span:nth-of-type(3) {
  top:51.5px;
}

.openbtn8.active .openbtn-area{
  transform: rotate(360deg);
}

.openbtn8.active span:nth-of-type(1) {
    top: 33px;
    left: 20px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
}

.openbtn8.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn8.active span:nth-of-type(3){
    top: 45px;
    left: 20px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
}

#g-nav{
	width: 100vw;
	height: 100vh;
	z-index: -100;
	background-color: rgba(20,78,172,1.00);
	opacity: 0;
	transition: 0.6s;
	position:fixed;
	top:0px;
	left: 0px;
}

#g-nav.panelactive{
	opacity: 1;
	z-index: 500;
}

.menu-list{
	width: 900px;
	height: 100vh;
	position: relative;
	margin: 0 auto;
}

#menu-list{
	width: 60%;
	height: inherit;
	position: absolute;
	top: 23%;
	display: inline-block;
	
	}

#menu-list ul{
	column-count: 2;
	padding: 0;
	margin: 0;
	
}

#menu-list ul li{
	width: 9em;
	height: auto;
	margin: 0;
	padding: 12px 0em;
	font-size: 32px;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
	-webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      display: inline-block;
}

#menu-list ul li a{
	width: auto;
	height: auto;
	text-decoration: none;
	color: rgba(255,255,255,1.00);
	transition: 0.5s ease;
}

#menu-list ul li a:hover{
	color: rgba(0,236,255,1.00);
}

.about{
	padding: 20px 0em;
	position: absolute;
	top:23%;
	right: 0px;
	width: auto;
	display: inline-block;
	font-size: 24px;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
	color: rgba(255,255,255,1.00);
	line-height: 20px;
	-webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
	white-space: nowrap;
}

.about span{
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
}

@media screen and (min-width: 910px) {
	.hidden .openbtn8, .hidden .openbtn_mail{
		display: none;
	}
}

@media screen and (max-width: 910px) {
	.menu-list{
	width: 100vw;
	}
	#menu-list{
	width: auto;
	height: auto;
	top: 10%;
	bottom: calc(16% + 120px);
	left: 50%;
	transform: translateX(-50%);
	}
	
	#menu-list ul{
		column-count: 1;
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 100%;
	}
	
	#menu-list ul li{
	font-size: 22px;
	padding: 0.8vh 0em;
		margin: auto;
}
	.about{
	padding: 0px;
	top: auto;
	bottom: 10%;
	right: 50%;
	font-size: 18px;
	line-height: 14px;
		transform: translateX(50%);		
}
.about span{
	font-size: 12px;
}

}

.openbtn_mail.panelactive:after{
	background:rgba(20,78,172,1.00);
}
.openbtn_mail.panelactive span{
	background:rgba(255,255,255,1.00);
}

.openbtn_mail{
  position: fixed;
  top: 0px;
	right: 80px;
  cursor: pointer;
    width: 80px;
    height: 80px;
	transition: ease 0.3s;
	z-index: 999;
	overflow: hidden;
}

.openbtn_mail span{
	position: absolute;
	left: 20px;
	top: 20px;
	content: "";
	width: 40px;
	height: 40px;
	background-color: rgba(20,78,172,1.00);
	-webkit-mask-image: url("../img/icon_mail.svg");
           mask-image: url("../img/icon_mail.svg");
}


.openbtn_mail:before{
	content: "";
  position: absolute;
  top: 100%;
	right: 100%;
  background:#1EF6FF;
    width: 30px;
    height: 30px;
	border-radius: 140px;
	transition: ease 0.3s;
	z-index: -10;
}

.openbtn_mail:hover:before{
	transform: translateX(175%) translateY(-175%) scale(400%);
}

.openbtn_mail:after{
  position: absolute;
	content: "";
  top: 0;
	right: 0;
  background:#FFFFFF;
    width: 80px;
    height: 80px;
	transition: ease 0.3s;
	z-index: -15;
}

.close_nav{
	
}

@media screen and (min-width: 980px) {
	.recruit_slogan{
	bottom: 96px;
    width: 50vw;
}

}
@media screen and (max-width: 980px) and (min-width: 570px) {
	.recruit_slogan{
	width: 50vw;
    bottom: 120px;
}

}
@media screen and (max-width: 570px) {
	.recruit_slogan_02{
    display: none;
}
.recruit_slogan{
	width: calc(100vw - 145px);
	height: auto;
    bottom: 44px;
}
.recruit_logo{
	top: 25px;
	left: 25px;
	width: 90px;
	height: auto;
}

}
.recruit_slogan{
	position: absolute;
	left: 30px;
    height: auto;
    aspect-ratio: 5 / 2.4;
    padding: 0px 0px 0px 0px;
	-webkit-mask-image: url("../img/recruit_slogan.svg");
           mask-image: url("../img/recruit_slogan.svg");
	-webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
	z-index: 5;
}



.recruit_slogan_02{
	position: absolute;
	left: 30px;
    right: 100px;
	bottom: 24px;
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    color: rgba(255,255,255,1.00);
    line-height: 28px;
    margin: 0px 0px 30px 0px;
	font-feature-settings: "palt";
}

.recruit_slogan:before{
	content: "";
	position: absolute;
	bottom: 0px;
	left: 0px;
	background-color: rgba(255,255,255,1.00);
	width: 100%;
	height: 100%;
}

.recruit_slogan_03{
	position: absolute;
	right: -20px;
	bottom: 60px;
	text-align: right;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 36px;
    color: rgba(255,255,255,1.00);
    line-height: 32px;
    margin: 0px 0px 30px 0px;
	white-space: nowrap;
	font-feature-settings: "palt";
	transform: rotateZ(90deg);
}

.recruit_slogan_03 span{
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 16px;
	letter-spacing: 0.5em;
	margin-right: -0.5em;
}

.recruit_intro_area{
	display: block;
	position: relative;
	width: 100vw;
	height: auto;
    padding: 0px 25px 60px 25px;
	z-index: -50;
	text-align: center;
	background-color: rgba(0,33,51,1.00);
    overflow: hidden;
}

.recruit_intro_area-title{
	display: block;
	width: auto;
	height: auto;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 80px;
    color: rgba(255,255,255,1.00);
    line-height: 42px;
	text-align: left;
	padding: 150px 35px;
}

@media screen and (max-width: 570px) {
.recruit_intro_area-title{
    font-size: 75px;
    color: rgba(255,255,255,1.00);
    line-height: 42px;
	text-align: left;
	padding: 50px 0px 25px 0px;
}
}



.recruit_intro_area-title span{
	width: auto;
	height: auto;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 18px;
    color: rgba(255,255,255,1.00);
    line-height: 32px;
	letter-spacing: 0.2em;
}

.recruit_intro_about{
    display: block;
    width: calc(100% - 50px);
    height: auto;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    color: rgba(255,255,255,1.00);
    line-height: 2em;
    padding-bottom: 60px;
}

.recruit_intro_about_mobile{
    width: calc(100% - 50px);
    height: auto;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    color: rgba(255,255,255,1.00);
    line-height: 2em;
    padding-bottom: 60px;
    display: none;
    text-align: justify;
}

@media screen and (max-width: 530px) {
.recruit_intro_about{
    display: none;
}
.recruit_intro_about_mobile{
    display: block;
}
}

.recruit_intro_about b, .recruit_intro_about_mobile b {
    font-weight: 400;
    color: rgba(0,35,51,1.00);
    background: #FFFFFF;
    margin: 0px 5px;
    padding: 2px;
}

.recruit_intro_flow{
    width: calc(100vw - 120px);
	padding: 0px 35px;
	margin: 0px 0px 120px 0px;
    height: auto;
    display: flex;
    text-align: center;
    justify-content: space-around;
}

.recruit_intro_flow-box{
    width: 60px;
    height: 180px;
    color: rgba(255,255,255,1.00);
    font-size: 22px;
    white-space: nowrap;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 180px;
    position: relative;
}

.recruit_intro_flow-allow{
    width: 30%;
    height: 5px;
    margin-top: 27px;
    outline: solid 0.5px rgba(255,255,255,1.00);
    overflow: hidden;
    position: relative;
}

.recruit_intro_flow-allow:before{
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 2.5px;
    top: 0px;
    left: -10px;
    background-color: rgba(255,255,255,1.00);
    animation-name: flow_allow;
    animation-duration: 5s;
	animation-iteration-count:infinite;
	animation-fill-mode: both;
	animation-timing-function: linear; 
    z-index: -10;
}

@keyframes flow_allow {
0% {transform: translateX(0%)}
100% {transform: translateX(2080%)}
}

.recruit_intro_flow-box span{
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    display: block;
    font-family: din-2014,sans-serif;
    font-weight: 500;
    background-color: rgba(255,255,255,1.00);
    color: rgba(0,35,51,1.00);
    width: 60px;
    height: 60px;
    line-height: 60px;
    border-radius: 50%;
}

@media screen and (max-width: 530px) {
    .recruit_intro_flow{
    width: calc(100vw - 50px);
	padding: 0px;
}
}

.recruit_intro_area02{
	display: block;
	position: relative;
	width: 100vw;
	height: auto;
    padding: 0px;
	z-index: -50;
	text-align: center;
	background-color: rgba(0,33,51,1.00);
    overflow: hidden;
}

.recruit_intro_box-left{
    position: relative;
	display: block;
	margin-left: 0px;
	margin-right: 0px;
    margin-bottom: 160px;
	width: auto;
	height: auto;
    background-image:
    radial-gradient(rgba(255,255,255,0.5) 5%, transparent 8%),
    radial-gradient(rgba(255,255,255,0.5) 5%, transparent 8%);
    background-size: 14px 14px;
    background-position: 0 0, 7px 7px;
}

.recruit_intro_box-left img{
	display: inline-block;
	width: 50%;
	float: right;
	height: auto;
}

.recruit_intro_img02, .recruit_intro_img01{
    display: block;
    margin-top: 30px;
    width: 300px;
    height: 300px;
    background-color: aliceblue;
    z-index: 10;
    background-size: cover;
}

.recruit_intro_img01{
    background-image: url("../img/recruit_01.jpg");
    margin-left: 60px;
}

.recruit_intro_img02{
    background-image: url("../img/recruit_02.jpg");
    margin-left: 60px;
}

.recruit_intro_box-text{
    position: relative;
	display: inline-block;
	font-feature-setting40s: "palt";
	width: 40%;
	height: 100%;
	white-space: nowrap;
	text-align: justify;
    padding-left: 60px;
}

.recruit_intro_box-text span{
    position: absolute;
    left: 0px;
	font-family: din-2014,sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    color: rgba(0,35,51,1.00);
    background-color: rgba(255,255,255,1.00);
    white-space: nowrap;
    margin: 0px;
    padding: 2px 0px 2px 12px;
    width: 100vw;
	text-align: left;
}

.recruit_intro_box-text h2{
	font-family: "Noto Sans JP", sans-serif,sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 50px;
    color: rgba(255,255,255,1.00);
    line-height: 60px;
    margin-top: 60px;
    margin-bottom: 30px;
    white-space: nowrap;
    letter-spacing: 0.1em;
    width: 100%;    
}

.recruit_intro_box-text p{
	text-align: justify;
	font-family: "Noto Sans JP", sans-serif,sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    color: rgba(255,255,255,1.00);
    line-height: 2em;
    margin: 0;
    white-space: nowrap;
	word-wrap: break-word;
    font-feature-settings: "palt"; 
    width: 100%; 
}

@media screen and (max-width: 1060px) {
    .recruit_intro_box-left img{
	display: block;
	width: 100vw;
    margin-left: 0px;
	float: none;
}
.recruit_intro_box-text{
	width: 100%;
	height: 300px;
}
.recruit_intro_img01{
    position: absolute;
    top: 30px;
    right: 120px;
    width: 320px;
}
.recruit_intro_img02{
    position: absolute;
    top: 30px;
    right: 120px;
    width: 320px;
}
}
@media screen and (max-width: 830px) {
.recruit_intro_box-text{
	width: 100%;
	height: 300px;
    padding-left: 25px;
}
.recruit_intro_img01{
    display: none;
}
.recruit_intro_img02{
    display: none;
}
}


.recruit_info_area{
	display: block;
	width: 100vw;
	height: auto;
	z-index: -50;
    margin: 0 auto;
}

.recruit_text_area{
	width: calc(100vw - 120px);
	padding: 60px 0px;
    margin: 0px 60px;
    text-align: center;
}

.recruit_text_area table {
    border-collapse: collapse; 
    width: 100%;        
	margin: auto;
}

.recruit_text_area table tr {
    border-bottom: solid 1px rgba(0,0,0,1.00);  
	border-top: solid 1px rgba(0,0,0,1.00);
    
}


.recruit_text_area table th {
    font-size: 16px;
    line-height: 36px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: rgba(0,0,0,1.00);
    padding: 16px 16px;
    background-color: rgba(236,236,236,1.00);
}

.recruit_text_area table td {
	font-size: 16px;
    line-height: 24px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: rgba(0,0,0,1.00);
    white-space: normal;
    text-align: left;
    padding-left: 16px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}

.recruit_text_area02{
	width: auto;
	padding: 60px 0px;
	margin: 0px 60px;
}

@media screen and (max-width: 570px) {
.recruit_text_area{
	width: calc(100vw - 50px);
	margin: 0px 25px;
}
.recruit_text_area table {
    width: 100%;        
}
.recruit_text_area02{
	width: auto;
	margin: 0px 25px;
}
}



.recruit_text_area h2, .recruit_text_area02 h2{
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 32px;
    color: rgba(0,0,0,1.00);
    line-height: 60px;
    margin: 0px 0px 30px 0px;
    white-space: nowrap;
}

.recruit_text_area02 p{
	text-align: left;
	font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 17px;
    color: rgba(0,0,0,1.00);
    line-height: 31px;
    margin: 0;
    white-space: nowrap;
}

ul {
  padding: 0;
}
li {
  list-style-type: none;
}

dt{
    white-space: nowrap;
    width: 100%;
}

dd {
  margin-left: 0;
  font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 17px;
    color: rgba(0,0,0,1.00);
    line-height: 2em;
    font-feature-settings: "palt";
    text-align: left;
    word-wrap: break-word;
}

.flow {
  border: 3px solid rgba(230,230,230,1.00);
}
.flow > li {
  padding: 30px;
}
.flow > li:not(:last-child) {
  border-bottom: 3px solid rgba(230,230,230,1.00);
  position: relative;
}
.flow > li:not(:last-child)::before,
.flow > li:not(:last-child)::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 13%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.flow > li:not(:last-child)::before {
  border-width: 22px;
  border-top-color: rgba(230,230,230,1.00);
}
.flow > li:not(:last-child)::after {
  border-width: 18px;
  border-top-color: #fff;
}
.flow > li dl {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flow > li dl dt {
  font-size: 26px;
  font-weight: 600;
  color: rgba(20,78,172,1.00);
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 30px;
  text-align: center;
  width: auto;
}
.flow > li dl dt .icon {
  font-size: 12px;
  color: #fff;
  background: rgb(107,144,219);
  background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
  background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  width: auto;
}

.recruit_contact{
	width: auto;
	padding: 60px 0px;
	margin: 0 auto;
	text-align: center;
}

.recruit_footer_area{
	display: block;
	position: relative;
	width: calc(100% - 25px);
	height: auto;
	z-index: -50;
	margin-top: 20px;
	padding: 0px 25px;
}