﻿/*==================================================================
							service
==================================================================*/

.justSP{
	display: none !important;
}

body{
	transition: .2s;
    -webkit-transition: .2s;
}



.bg_service.handling{
	background-image: url('../img/bg5.png');
	margin-top: -260px;
    padding-top: 10px;
    background-size: contain;
    background-repeat: no-repeat;
}

header.handling,header.lounge{
    background: url('../img/service_main.png')no-repeat top right -130px !important;
    background-size: 1080px;
}

.layout01Topics a {
/*     font-size:  16px; */
/*     font-weight: 100; */
/*     font-family: 'Noto Sans Japanese';  */
}

header.services nav a,header.handling nav a,header.lounge nav a,header.administration nav a,header.maintenance nav a,header.requirements nav a,header.staffvoice nav a,header.aboutus nav a,header.schedule nav a,header.careers nav a{
	background: none;
}

header.handling,header.lounge,header.administration,header.maintenance{
    background: url('../img/handling-top.png')no-repeat top right -130px !important;
    background-size: 1020px !important;
    position: relative;
    height: 800px;
}

header.lounge {
	background: url('../img/lounge_title.png')no-repeat top right -130px !important;
	background-size: 1020px !important;
}

header.administration {
	background: url('../img/administration_title.png')no-repeat top right -130px !important;
	background-size: 1020px !important;
}

header.maintenance{
	background: url('../img/maintenance_title.png')no-repeat top right -130px !important;
	background-size: 1020px !important;
}



.handling .pageTitle,.lounge .pageTitle,.administration .pageTitle,.maintenance .pageTitle{
	width: 700px;
    float: right;
    padding-top: 70px;
    padding-bottom: 90px;
    font-size: 16px;
}

/*
nav a{
	background: none !important;
}
*/

.handling ul.photo{
	clear: both;
	margin-bottom: 190px;
}

.handling ul.photo li{
	display: inline-block;
	margin-top: -100px;
}

.handling ul.photo li:first-of-type{
	margin-top: 0;
}

.handling ul.photo li:nth-of-type(2){
	margin-top: -130px;
}

.handling ul.photo li:nth-of-type(3){
	margin-top: -90px;
}

.handling ul.photo li:last-of-type{
	display: inline-block;
	margin: auto;
	margin-top: -110px;
	width: 90%;
}


.content.handling{
    display: table;
}

.handling1,.handling3,.handling5,.handling7{
	float: left;
	display: block;
	    width: 80%;
    max-width: 100%;
}


.handling2,.handling4,.handling6,.handling8{
	margin-top: -150px;
	display: block;
	float: right;
	    width: 80%;
    max-width: 100%;
}

img.handling5 {
    width: 60%;
    margin-left: -20px;
}

.handling6{
	width: 60%;
	margin-top: -90px;
}

.handling7{
	width: 65%;
    text-align: center;
    /*float: initial;*/
    display: block;
    padding-right: 35%;
}

.handling8{
	width: 55%;
    text-align: center;
    /*float: initial;*/
    display: table;
    margin-left: auto;
    padding-left: 35%;
    margin-top: -200px;
}

.otherService{
	background: #dbe5e3;
	padding: 70px 0 110px;
}

.otherService ul{
	width: 80%;
	max-width: 1500px;
	margin: 0px auto;
	display: table;
}

.otherService ul li{
	width: calc(100% / 4 - 6%);
	width: -webkit-calc(100% / 4 - 6%);
	margin-right: 5.9%;
	float: left;
	position: relative;
}

.otherService ul li img{
	width: 100%;
    margin: 0;
    height: 100%;
    padding: 0;
    display: block;
}

.otherService ul li p{
	font-family: 'Noto Sans Japanese';
	font-size:  16px;
	width: 100%;
	text-align: center;
	padding-top: 15px;
	position: absolute;
	line-height: 1.2;
}

.otherService ul li.white img{
	background: rgba(255, 255, 255, 1);
	opacity: .6;
}
/*
.otherService ul li:nth-of-type(4n){
	margin-right: 0;
}
*/
.otherService ul li .hover{
	background: rgba(55, 68, 253, 0.7);
    width: 80%;
    position: absolute;
    height: 55%;
    padding: 17.7% 10%;
    opacity: 0;
    transition: .2s;
    -webkit-transition: .2s;
    z-index: 1;
    line-height: 1;
}

.otherService ul li:hover .hover{
	opacity: 1;
}

.otherService ul li .hover span,.otherService ul li .hover h5{
	width: 100%;
	color: white;
	font-size: 20px;
	font-family: 'Noto Sans Japanese';
	display: block;
	text-align: center;
}

.otherService ul li .hover p{
	width: 10px;
	height: 4px;
	background: white;
	display: block;
	margin: 14px auto 12px;
	padding: 0;
	/*position: initial;*/
}

.otherService ul li .hover h5{
	font-size: 16px;
    margin: auto;
    text-align: center;
}

.otherService .hoverArea .showDetail span{
	font-size: 22px;
}

#service nav a{
	background: none !important;
}


@media screen and (max-width:1200px){
  .otherService ul li p {
    font-size: 16px;
  }
}

@media screen and (max-width: 768px){
  .handling .pageTitle {
    width: 100%;
    margin: auto;
  }
}

/*==================================================================
							faq
==================================================================*/


.fa-angle-down:before {
    content: "\f107";
    position: absolute;
    right: 0px;
}

.faqExplode {
    padding-bottom: 25px;
    text-align: center;
    font-family: 'Noto Sans Japanese';
    font-size: 22px;
    line-height: 1.5;
    border-bottom: 2px solid #000;
    margin-bottom: 90px;
}

.faqExplode a{
	color: #add8e6;
}

ul.faqList{
	width: 80%;
	margin: auto;
}

li.a{
	margin-bottom: 70px;
	display: flex;
	font-family: 'Noto Sans Japanese';
	font-size:  16px;
	line-height: 1.4;
}

li.q{
	margin-bottom: 35px;
	width: 80%;
	display: flex;
	font-family: 'Noto Sans Japanese';
	font-size:  16px;
	line-height: 1.4;

}

li.a span,li.q span{
	font-family: 'Open Sans';
	font-size: 45px;
	color: #333;
	margin-right: 25px;
	font-weight: 700;
	margin-top: -18px;
}

li.a span{
	color: #f57934;
}

.bg_faq .pageTitle{
	padding-top: 12px;
}

.bg_faq .content{
	position: relative;
	padding: 0 10%;
}

.faqMainArea {
    border-bottom: solid 2px #000;
    padding-bottom: 30px;
}

.faq_ver li{
	margin-bottom: 80px;
}

.otherService.faq_ver{
	background: #e4dcdc;
	padding-bottom: 40px;
}

@media screen and (max-width: 1000px){
  .faqExplode {
    text-align: left;
  }
}

/*==================================================================
							application
==================================================================*/
.contactForm ul li select{
-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
}

.contactForm ul li select:before{
	content: "\f107";
}

.contactForm ul li label{
	position: absolute;
	width: 100%;
	height: 68px;
	display: block;
}

.contactForm ul li:nth-child(1) label, .contactForm ul li:nth-child(6) label{
	width: 0;
	right: 0;
}

.application .contactForm ul li .fa,.contactForm ul li .fa{
	position: absolute;
	font-size: 35px;
	right: 20px;
	top: 18px;
	color: #333;
	z-index: 1;
}

li.posir{
	position: relative;
}

select option:first-child{
	
}

.application .flexbox label {
    width: 14%;
}

.contactTitleArea .titleLeftArea span {
    font-size: 74.8px;
    margin: 60px 80px 30px;
    padding: 0;
}

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

	.application .flexbox label {
	    line-height: normal;
	    width: 12%;
	    white-space: normal;
	    height: auto;
	}
	
}

@media screen and (max-width: 800px){
	
	.application {
	    height: 1120px;
	}

}

/*==================================================================
							careerplan
==================================================================*/

header.careerplan{
	background: url('../img/careerplan_visual.png')no-repeat top right -130px !important;
	height: 800px;
	background-size: 1020px !important;
    position: relative;
}



header.careerplan nav a{
	background: none !important;
}

.planA{
	display: -webkit-flex; display: flex;
	margin-bottom: 150px;
}
.planA h1,.planB h1{
	font-family: 'Open Sans';
	font-size: 70px;
	line-height: 1;
	font-weight: 700;
	margin-top: -120px;
}

.planA p,.planA h5,.planB p{
	font-family: 'Noto Sans Japanese';
	font-size:  16px;
	margin: 30px 0 50px;
	font-weight: 600;
}

.planA h5{
	margin: 0;
	font-weight: 300;
}

.planA img{
	width: 40%;
    height: 100%;
    margin-right: 5%;
}

.planA .planText {
	width: 55%;
}

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

  .planA {
    -webkit-flex-wrap: wrap; flex-wrap: wrap;
  }

  .planA h1 {
    text-align: right;
    font-size: 6vw;
  }
}


.planB{
	width: 80%;
	background-image: url('../img/plan_image2.png');
	padding: 90px 10%;
	background-size: cover;
	overflow: hidden;
	background-position: center;
}

.planB.second{
	background-image: url('../img/plan_image4.png');
	margin-top: 90px;
	margin-bottom: 190px;
}

.planB.second h1,.planB.second p{
	text-align: center;
}

.planB h1{
	margin-top: 0;
	color: white;
	text-shadow: 0px 5px 6px rgba(11, 2, 5, 0.15);
}

.planB p{
	color: white;
	text-shadow: 0px 5px 6px rgba(11, 2, 5, 0.15);
}

.planB ul{
	display: table;
    float: right;
    margin-top: 50px;
}

.planB li .rotate{
	transform: rotate(-45deg);
    width: 100%;
    text-align: center;
    margin: 0 0 0 -18px;
}

.planB li{
	width: 200px;
	height: 200px;
	transform: rotate(45deg);
	background: rgba(255, 255, 255, 0.7);
	float: left;
	margin-right: 110px;
}

.planB li:nth-of-type(2n){
	margin-right: 0;
}

.planB li.space{
    margin-top: -50px;
}

.planB li img{
	margin-bottom: 20px;
    z-index: 1;
    display: inline;
    text-align: center;
    margin-top: 45px;
    height: 73px;
}

.planB li h5{
	z-index: 1;
	font-size:  16px;
}

.mt170{
	margin-top: 275px;
}

.planB .left{
	margin-right: 100px;
}

.planB .step{
	display: flex;
	width: 80%;
	margin: auto;
	margin-bottom: 30px;
}

.planB table{
	width: 80%;
}

.planB table tr{
	background: rgba(255, 255, 255, 0.7);
	margin-bottom: 1px;
	padding: 20px;
	display: block;
}

.planB table th{
	width: 220px;
	font-size:  16px;
	font-weight: bold;
	font-family: 'Noto Sans Japanese';
}

@media screen and (max-width:900px){
	.planB table th{
		width: 150px;
	}
	.planB .left {
	    margin-right: 5%;
	}
	.planB .step {
	    width: 90%;
	}
}


.planB table td{
	padding-left: 20px;
	border-left: 8px solid #add8e6;
	font-size:  16px;
	font-family: 'Noto Sans Japanese';
	line-height: 1.4;
}

.planB .left p{
	margin: 0;
	font-family: 'Open Sans';
	font-size: 24px;
	margin-bottom: 30px;
	margin-top: 30px;
}

.planB .left{
	text-align: center;
}

.planB .left img{
	display: inline;
}

.bg_space{
	background: url('../img/bg6.png')no-repeat top -150px left -200px !important;
    height: 330px;
    margin-top: -320px;
    background-size: 60% !important;
    z-index: -10;
    position: absolute;
    width: 100%;
}

.bg_service.careerplan.second{
	background: url('../img/bg7.png')no-repeat bottom 10px right 0px !important;
	position: relative;
}

.mtStep{
	margin-top: -38px !important;
}

.scheduleNav ul{
	width: 80%;
}


/*==================================================================
							service
==================================================================*/
.serviceList li:last-child{
	width: 40%;
}


/*==================================================================
							aboutus
==================================================================*/

.bg_service.pattern2.aboutusP{
	padding-bottom: 310px;
	position: relative;
	z-index: 1;
}

.aboutus{
	background: url('../img/aboutus_visual.png')no-repeat top right -130px;
}

.bg_service.pattern2{
	margin-top: 0px;
	position: relative;
/* 	z-index: -1; */
	background-size: cover;
}

.bg_service.staff{
	background: url('../img/bg9.png')no-repeat;
    background-size: contain;
    margin-top: -230px;
}

.bg_service.pattern2.aboutusP,.bg_service.pattern2.aboutusP2{
    margin-top: -190px;
    background-position-x: 0;
}

.bg_service.pattern2.aboutusP2{
	overflow: visible;
	margin-top: 170px;
	position: relative;
	z-index: 2;
}

.policyPhotoArea {
    margin-top: -390px;
    transition:.2s;
	-webkit-transition:.2s;
}


.policyPhotoArea img:nth-of-type(1) {
	margin-top: -31%;
	margin-left: 180px;
	width: 26%;
	transition:.2s;
	-webkit-transition:.2s;
}

.policyPhotoArea img:nth-of-type(2) {
	margin-top: -27%;
	margin-left: 12%;
	margin-bottom: 8%;
	width: 35%;
	transition:.2s;
	-webkit-transition:.2s;
}

.policyPhotoArea img:nth-of-type(3) {
	margin-left: 20%;
	margin-top: -3%;
	width: 39%;
	transition:.2s;
	-webkit-transition:.2s;
}

.policyPhotoArea img:nth-of-type(4) {
	padding-bottom: 9%;
	margin-left: 30px;
	margin-top: -90%;
	width: 29%;
	transition:.2s;
	-webkit-transition:.2s;
}

.policyPhotoArea img:nth-of-type(5) {
	margin-left: 51%;
	margin-top: -6%;
	margin-bottom: 190px;
	width: 35%;
	transition:.2s;
	-webkit-transition:.2s;
}

/*==================================================================
							schedule
==================================================================*/

.tableLineSp {
	display: none;
}

.tableLine {
	display: block;
}

.timeTableArea{
	text-align: center;
}

.timeTable{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	-webkit-justify-content: center;
	justify-content: center;
}

.timeTable span{
	width: 250px;
	margin: 0 20px;
}


@media screen and (max-width:800px){
	.timeTable span{
		width: 200px;
		font-size: 80px;
		margin: 0 10px;
	}
}

.timeTable img{
	width: 140px;
	height: auto;
}

.tableLine{
	display: flex;
}

.leftTable,.rightTable{
	padding-top: 10px;
	width: 50%;
	border-right: solid 2px #333;
	box-sizing: border-box;
}

.rightTable{
	padding-top: 240px;
	border: none;
	float: right;
}

.tableTime{
	width: 100%;
	position: relative;
	border-bottom: solid 2px #333;
	float: left;
}

.rightTable .tableTime{
	width: 95%;
	padding-left: 5%;
}

.tableLine{
	margin-bottom: 200px;
	margin-top: -6px;
}


.tableLine .rightTable li{
	text-align: right;
}

.tableLine li{
	margin-bottom: 200px;
	text-align: left;
	display: inline-block;
	width: 100%;
}

.tableLine .rightTable li{
	margin-bottom: 100px;
}

.tableLine li:last-of-type{
	margin-bottom: 0;
	position: relative;
}

.tableLine li:last-of-type h3,.tableLine li:last-of-type h4{
	position: absolute;
	bottom: -60px;
}

.tableLine li:last-of-type h4{
	bottom: -100px;
}

.tableLine li img{
	width: 95%;
	display: inline;
	margin-bottom: -20px;
}

.tableLine li p{
	font-family: 'Open Sans';
    font-size: 72px;
    margin-right: 15px;
    float: left;
    margin-bottom: -10px;
    display: flex;
    font-weight: 700;
}

.tableLine li a{
	font-family: 'Open Sans';
    font-size: 60px;
    float: left;
    margin-top: 13px;
    margin-bottom: -5px;
    margin-left: 15px;
}

.tableLine li span{
	position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    right: -8px;
    bottom: -7.5px;
    background: #333;
}

.tableLine .rightTable li span{
	right: auto;
	left: -7.5px;
}

.tableLine li h3{
	font-family: 'Noto Sans Japanese'; 
	font-size: 24px;
	margin: 10px 0;
	float: left;
	text-align: left;
}

.tableLine .rightTable li h3{
	padding-left: 5%;
}

.tableLine li h4{
	font-size:  16px;
	text-align: left;
	float: left;
	width: 95%;
	padding-right: 5%;
}

.tableLine .rightTable li h4{
	padding-left: 5%;
	padding-right: 0;
}

.imgListarea{
	min-height: 350px;
}

@media screen and (max-width:860px){
  .tableLine li p {
    font-size: 48px;
    padding-top: 15px;
  }
  .tableLine li a {
    font-size: 40px;
  }
  .tableLine li h3 {
    font-size: 20px;
  }
  .tableLine li h4 {
    font-size: 15px;
    
  }
}

/*==================================================================
						header画像のレスポンシブ
==================================================================*/

@media screen and (min-width:1750px){
	
header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements,header.careerplan,.staffvoice,.aboutus,.schedule{
    background-size: 80% !important;
    height: 800px;
    transition: .2s;
    -webkit-transition: .2s;
}	
/*.faq{
	margin-bottom: 100px;
	height: 
}*/

.bg_service.handling,.bg_service.requirements,.bg_service.careerplan{
	margin-top: -90px;
    padding-top: 60px;
}

header.requirements{
	height: 730px;
}

.bg_service.requirements{
	background: url('../img/bg6.png')no-repeat top left -280px !important;
	height: auto;
	background-size: 100% !important;
	padding-bottom: 200px;
	margin-bottom: 20px;
}

.bg_service.careerplan{
	background: url('../img/bg8.png')no-repeat top left !important;
    height: auto;
    background-size: cover !important;
    z-index: -1;
    padding-top: 290px;
}
	
}


@media screen and (max-width:1750px){
	
header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements,.staffvoice,.aboutus,.schedule,.careers{
    background-size: 1020px !important;
    height: 670px;
}	

.faq{
	margin-bottom: 100px;
}

.bg_service.handling,.bg_service.requirements,.bg_service.careerplan{
	margin-top: -190px;
    padding-top: 30px;
}

.careers + .bg_service{
	margin-top: -180px;
}

.bg_service.requirements{
	background: url('../img/bg6.png')no-repeat top left -200px !important;
	height: auto;
	background-size: 100% !important;
/* 	z-index: -1; */
}

.bg_service.careerplan{
	background: url('../img/bg8.png')no-repeat top left !important;
    height: auto;
    background-size: cover !important;
    z-index: -1;
    margin-top: -340px;
    padding-top: 260px;
}
	
}

@media screen and (max-width:1600px){
	
.schedule{
	background-size: 1165px !important;
	height: 632px;
}	
	
.scheduleNav ul{
		width: 90%;
}	
	
	
}


@media screen and (max-width:1550px){
	
header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements,.staffvoice,.aboutus,.careers{
    background-size: 1020px !important;
    height: 690px;
}	

.faq{
	height: 560px;
}

.bg_service.handling,.bg_service.requirements{
	margin-top: -190px;
    padding-top: 30px;
}

.policyPhotoArea {
    margin-top: -470px;
}
	
	
}

@media screen and (max-width:1300px){
	
header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements,header.careerplan,.staffvoice,.aboutus,.schedule,.careers{
    background-size: 80% !important;
    height: 720px;
}	

.schedule{
	height: 670px;
    background-size: 1234px !important;
    background-position-x: 310px;
}



.bg_service.handling{
	margin-top: -160px;
    padding-top: 0px;
}

.bg_service.careerplan{
	    margin-top: -210px;
    padding-top: 235px;
}

.policyArea{
	margin-left: 10%;
}

}

@media screen and (max-width:1300px){
	
header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements{
    background-size: 80% !important;
    height: 470px;
}	

.bg_service.handling{
	margin-top: -20px;
    padding-top: 0px;
}

header.requirements{
	height: 530px;
}

.bg_service.requirements{
	margin-top: -70px;
    padding-top: 60px;
}

.bg_space{
	height: 230px;
	margin-top: -220px;
	background-size: 77% !important;
}

.mtStep{
	margin-top: -2px !important;
}

.bg_faq{
	margin-top: 150px;
}

.scheduleNav ul li span{
	height: 85px;
}

.scheduleNav ul li a{
	height: 45px;
}

.scheduleNav{
	height: 90px;
}

.bg_service.pattern2{
    margin-top: -90px;
    position: relative;
    background-position-x: -190px;
    z-index: -1;
    padding-top: 0;
}

.policyPhotoArea {
    margin-top: -300px;
}
	
}


@media screen and (max-width:1200px){
	.profilePhoto{
		width: 70%;
		left: 30%;
	}
	
	.content{
		min-width: auto;
	}
	
	.scheduleProfileArea{
		height: auto;
	}

	
	
}

@media screen and (max-width:1000px){
	
  .serviceTitleArea,.strengthsTitleArea{
  	top: 30px;
  }		
  	
  header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements,.schedule{
      background-size: 80% !important;
      height: 430px;
  }	
  
  .bg_service.handling,.bg_service.requirements{
  	margin-top: -20px;
      padding-top: 0px;
  }
  
  header.careerplan{
  	height: 620px;
  }
  
  .policyPhotoArea img:nth-child(1) {
  	margin-left: 10%;
  }
  
  .profileText{
  	width: 45%;
  	padding: 30px 40px;
  }
  
  .schedule{
  	height: 520px;
  }
  
  
}


@media screen and (max-width:900px){
  header.careerplan {
    height: 450px;
  }
  .bg_service.careerplan.second .mt170{
    margin-top: 100px;
  }
  .bg_service.careerplan .planA .planText {
    margin-top: -50px;
  }
  .bg_service.careerplan.second .planA .planText {
    padding-top: 100px;
  }
}
@media screen and (max-width:640px){
	.bg_service.careerplan .planA .planText {
		margin-top: 0;
		width: 100%;
	}
	.bg_service.careerplan.second .planA .planText {
		padding-top: 50px;
	}
}

@media screen and (max-width:840px){
	.scheduleNav {
	    height: 180px;
	}
	.scheduleNav ul li {
	    float: left;
	    width: 48%;
	    margin-right: 25px;
	}
	.scheduleNav ul li:first-child {
	    width: auto;
	}
	.scheduleNav ul li span {
	    height: 190px;
	}
}


@media screen and (max-width:770px){
	
	.serviceTitleArea,.strengthsTitleArea{
		top: 30px;
	}		
		
	header.handling,header.lounge,header.administration,header.maintenance,.faq,header.requirements,.services,.careers{
	    background-size: 80% !important;
	    height: 360px;
	}	
	
	.bg_service.handling,.bg_service.requirements{
		margin-top: -20px;
	    padding-top: 0px;
	}
	
	.careers{
		height: 400px;
	}
	
	.careers + .bg_service{
		margin-top: -120px;
	}
	
}