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

html {
    visibility: hidden;
    overflow-y: scroll;
	overflow-x: hidden;
	/*font-size: 62.5%;*/
	font-size:92.5%;
}

@media screen and (max-width: 1700px) {
  html {
	font-size:90%;
	}
}

@media screen and (max-width: 1400px) {
  html {
	font-size:87.5%;
	}
}

@media screen and (max-width: 1300px) {
  html {
	font-size:85%;
	}
}

@media screen and (max-width: 1200px) {
  html {
	font-size:72.5%;
	}
}


html.wf-active {
    visibility: visible;
}


body {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
	font-size: 1.08rem;
	/*-webkit-text-size-adjust: none;*/
	line-height: 1.5;
	color: #000000;
	background: #fff;
	counter-reset: number 0;
}


.bold{
    font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
}

.elido{
	font-family: elido, sans-serif;
    font-weight: 700;
    font-style: italic
}


*{
	margin: 0;
	padding: 0;
}

img {
	max-width: 100%;
	height: auto;
	border: 0;
	vertical-align: top;
	vertical-align: bottom;
}
a {
	outline: none;
	color: #000000;
	text-decoration:none;
	transition: .3s ease-in-out;
}
.pc_hide {
	display: none !important;
}

.sp_hide {
}

a {
	opacity: 1;/*-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;*/
}
a:hover {
	opacity: 0.8;
}

a.disabled{
    pointer-events: none;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}


select::-ms-expand {
    display: none;
}


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


#page #header_wrap{
	width: 100%;
	height: 5.74vw;/*85*/
	display: flex;
	justify-content: flex-end;
	background: #fff;
	overflow: hidden;
}

#page #header_wrap h1{
	width: 20.95vw;/*310*/
	margin: 1.28vw 9.1% 0.27vw 0;/*19 135 4*/
}

#page #header_wrap h1 img{
	width: 100%;
	height: auto;
}

#page #header_wrap .gnavi{
	width: 42.64vw;/*631*/
	margin-right: 19.46vw;/*288*/
}

#page #header_wrap .gnavi ul{
	height: calc(100% - 1.49vw);/*22*/
	list-style: none;
	display: flex;
	justify-content: space-between;
	margin-top: 0.74vw;/*11*/
}

#page #header_wrap .gnavi ul li{
	width: 9.05vw;/*134*/
	box-sizing: border-box;
	border-left: 1px solid #C9C9C9;
	position: relative;
}

#page #header_wrap .gnavi ul li:nth-child(3){
	width: 13.31vw;
}

#page #header_wrap .gnavi ul li:nth-child(4){
	width: 11.22vw;
}

#page #header_wrap .gnavi ul li a{
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding-top: 2.50vw;/*37*/
	position: relative;
}

#page #header_wrap .gnavi ul li a::before{
	content: 'Our Services';
	display: inline-block;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
	font-size: 1.01vw;
	color: #008FCE;
	width: 100%;
	position: absolute;
	top: 0.54vw;/*8*/
	left: 50%;
	transform: translateX(-50%);
}

#page #header_wrap .gnavi ul li:nth-child(3) a::before{
	white-space: pre;
	content: 'Technical Intern\ATraining Program';
	display: inline-block;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
	font-size: 1.01vw;
	line-height: 1.13;
	color: #008FCE;
	width: 100%;
	position: absolute;
	top: 0;/**/
	left: 50%;
	transform: translateX(-50%);
}

#page #header_wrap .gnavi ul li:nth-child(4) a::before{
	white-space: pre;
	content: 'Specified Skilled\AWorker Program';
	display: inline-block;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
	font-size: 1.01vw;
	line-height: 1.13;
	color: #008FCE;
	width: 100%;
	position: absolute;
	top: 0;/**/
	left: 50%;
	transform: translateX(-50%);
}

#page #header_wrap .gnavi ul li:last-child a::before{
	content: 'About us';
	display: inline-block;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
	font-size: 1.01vw;
	color: #008FCE;
	width: 100%;
	position: absolute;
	top: 0.54vw;/*8*/
	left: 50%;
	transform: translateX(-50%);
}

#page #header_wrap .contact_btn{
	position: absolute;
	top: 0;
	right: 0;
	width: 19.46vw;/*288*/
	/*min-width: 19.46vw;/*288*/
	background: url("image/common/head_bg.png")no-repeat #ED1C24 right 0.95vw top 0.88vw;/*14 13*/
	background-size: 3.92vw auto;/*58*/
}

#page #header_wrap .contact_btn a{
	display: block;
	width: 100%;
	height: 5.74vw;/*85*/
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

#page #header_wrap .contact_btn a:hover{
	opacity: 1;
}

/*キラッと光る*/
#page #header_wrap .contact_btn a::before {
  content: '';
    /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
    /*キラッと光る形状*/
    width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
#page #header_wrap .contact_btn a:hover::before {
  animation: shine 0.7s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

#page #header_wrap .contact_btn a dl{
	padding: 1.22vw 0 0 0;/*18*/
	text-align: center;
	position: relative;	
	color: #fff;
	padding-left: 1.4vw;
}

#page #header_wrap .contact_btn a dl::before{
	content: '';
	display: inline-block;
	background: url("image/common/head_ico.png")no-repeat;
	background-size: contain;
	width: 2.30vw;/*34*/
	height: 1.76vw;/*26*/
	position: absolute;
	top: 2.03vw;/*30*/
	left: 1.49vw;/*22*/
}

#page #header_wrap .contact_btn a dl dt{
	font-size: 1.15vw;/*15*/
}

#page #header_wrap .contact_btn a dl dd{
	font-size: 1.22vw;/*18*/
}

/*-----------------------------------------------------------*/


.down-to-top02 {
  opacity: 0;
  transform: translateY(60px);
  transition: all 1s;
}
.down-to-top02.scrollin {
  opacity: 1;
  transform: translateY(0);
}

.anim-box{
	opacity: 0;
}

.anim-box.fadeup.is-animated {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@keyframes fadeup {
  0% {
    transform: translateY(80px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/*-----------------------------------------------------------*/

.page_title{
	width: 100%;
	background: url("image/common/title_bg.jpg")no-repeat;
	background-size: cover;
	overflow: hidden;
}

.page_title h2{
	text-align: center;
	font-size: 1.96rem;/*29*/
	line-height: 1;
	letter-spacing: 0.2em;
	color: #fff;
	padding: 5.74rem 0 3.24rem;/*85 48*/
}


.page_title h2 span{
	display: block;
	font-size: 3.45rem;/*51*/
	letter-spacing: 0.05em;
	padding-bottom: 2.03rem;/*30*/
	margin-bottom: 1.69rem;/*25*/
	position: relative;
}

.page_title h2 span::before{
	content: '';
	display: inline-block;
	background: #fff;
	width: 5.81rem;/*86*/
	height: 0.14rem;/*2*/
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.page_title .bread_crumb{
	width: 81.08rem;/*1200*/
	margin: 0 auto 0.68rem;/*10*/
	overflow: hidden;
}

.page_title .bread_crumb p{
	margin-left: 0.34rem;/*5*/
	color: #fff;
}

.page_title .bread_crumb p a{
	color: #fff;
}

.page_title .bread_crumb p span{
	margin: 0 0.34rem;/*5*/
}

/**/

.page_nav{
	margin-top: 2.97rem;/*44*/
}

.page_nav ul{
	list-style: none;
	display: flex;
	justify-content: center;
}

.page_nav ul li{
	width: 12.97rem;/*192*/
	margin: 0 0.68rem;/*10*/
}

.page_nav ul li a{
	display: block;
	width: 100%;
	line-height: 2.50rem;/*37*/
	border: 1px solid #0071BC;
	font-size: 1.01rem;/*15*/
	font-weight: 700;
	color: #0071BC;
	letter-spacing: 0.1em;
	text-align: center;
}

/**/

.midashi{
	font-size: 2.03rem;/*30*/
	text-align: center;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #333333;
	padding-bottom: 1.22rem;/*18*/
	border-bottom: 0.20rem solid #008FCE;
}

.midashi span{
	display: block;
	font-size: 2.36rem;/*35*/
	color: #4D4D4D;
	padding-bottom: 1.69rem;/*25*/
}

.midashi span:first-letter{
	color: #008FCE;
}

/**/




/*-----------------------------------------------------------*/


.totop{
	display: none;
	width: 5.14rem;/*76*/
	position: fixed;
	bottom: 5.14rem;/*76*/
	right: 4.39rem;/*65*/
	z-index: 10;
}

.totop img{
	width: 100%;
	height: auto;
}
/*-----------------------------------------------------------*/

#footer_wrap{
	background: #008FCE;
	overflow: hidden;
}

#footer_wrap .footer_top{
	width: 67.57rem;/*1000*/
	margin: 3.51rem auto 0;/*52*/
	padding: 0 1.35rem 1.82rem 0.81rem;/*20 27 12*/
	box-sizing: border-box;
	border-bottom: 1px solid #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
}

#footer_wrap .footer_top .foot_logo{
	width: 23.58rem;/*349*/
}

#footer_wrap .footer_top .foot_logo img{
	width: 100%;
	height: auto;
}

#footer_wrap .footer_top p{
	font-size: 1.22rem;/*18*/
	line-height: 1.39;
	color: #fff;
}

#footer_wrap .footer_top p a{
	color: #fff;
	pointer-events: none;
}


/**/

#footer_wrap .footer_bottom{
	width: 67.57rem;/*1000*/
	margin: 1.76rem auto 0;/*26*/
	padding: 0 0.68rem 0 0.95rem;/*10 14*/
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	overflow: hidden;
}

#footer_wrap .footer_bottom .foot_link{
	width: 45.00rem;/*666*/
	display: flex;
	justify-content: flex-start;
	list-style: none;
}

#footer_wrap .footer_bottom .foot_link li{
	width: 10.47rem;/*155*/
}

#footer_wrap .footer_bottom .foot_link li:nth-child(2){
	width: 18.24rem;/*270*/
}

#footer_wrap .footer_bottom .foot_link li:nth-child(3){
	width: 16.22rem;/*240*/
}

#footer_wrap .footer_bottom .foot_link li p{
	margin-bottom: 1.08rem;/*16*/
}

#footer_wrap .footer_bottom .foot_link li p a{
	line-height: 2.18;
	color: #fff;
	padding-left: 1.22rem;/*18*/
	position: relative;
}

#footer_wrap .footer_bottom .foot_link li p a::before{
	content: '';
	display: inline-block;
	background: url("image/common/foot_ico01.png")no-repeat;
	background-size: contain;
	width: 0.95rem;/*14*/
	height: 1.08rem;/*16*/
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

#footer_wrap .footer_bottom .link_area{
	width: 20.95rem;/*310*/
}

#footer_wrap .footer_bottom .link_area .c_btn{
	width: 100%;
}

#footer_wrap .footer_bottom .link_area .c_btn a{
	display: block;
	width: 100%;
	line-height: 3.07rem;/*45.5*/
	box-sizing: border-box;
	border: 1px solid #fff;
	padding-left: 5.61rem;/*83*/
	font-size: 1.15rem;/*17*/
	color: #fff;
	background: url("image/common/foot_mail.png")no-repeat left 1.89rem center;/*28*/
	background-size: 1.89rem auto;/*28*/
	position: relative;
}

#footer_wrap .footer_bottom .link_area .c_btn a::before{
	content: '>';
	display: inline-block;
	font-size: 1.15rem;
	font-weight: 700;
	position: absolute;
	top: 50%;
	right: 1.69rem;/*25*/
	transform: translateY(-50%);
}

#footer_wrap .footer_bottom .link_area .sns_link{
	margin-top: 1.89rem;/*28*/
	display: flex;
	justify-content: flex-end;
	align-items: center;
	list-style: none;
}

#footer_wrap .footer_bottom .link_area .sns_link li{
	width: 2.09rem;/*31*/
}

#footer_wrap .footer_bottom .link_area .sns_link li img{
	width: 100%;
	height: auto;
}

#footer_wrap .footer_bottom .link_area .sns_link li:last-child{
	margin-left: 2.16rem;/*32*/
}

#footer_wrap #copy{
	text-align: center;
	padding: 2.70rem 0;/*40*/
}

#footer_wrap #copy p{
	letter-spacing: 0.1em;
	color: #fff;
}


/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/

