@charset "UTF-8";

*.wait{
	cursor: wait !important;
}

#main_wrap header.index{
	margin-bottom: 50px;
}

#main_wrap header.index  .site__Inner {
    position: relative;
    padding: 0;
}

#main_wrap header.index  h1{
	position: absolute;
	margin: 0;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 426px;
	background-color: rgba(255,255,255,.9);
	padding: 45px 65px ;
}
#main_wrap header.index  h1 .en{
	display: block;
	color: #27A8A8;
	font-size: 14px;
}
#main_wrap header.index  h1 .jp{
	display: block;
	font-size: 32px;
}

#main_wrap header.index  .image{
	text-align: right;
	padding-left: 100px;
}

/* work index
================================*/
#work{
	padding: 0 0 80px 0;
}

#work h2{
	text-align: center;
}

#work h2 .en{
	display: block;
	font-size: 60px;
	line-height: 110%;
	color: #1B9D9D;
	margin-bottom: 20px;
}

#work h2 .jp{
	display: block;
	font-size: 16px;
}

#work #sortmenu ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}


#work #sortmenu ul li{
  display: inline-block;
  cursor: pointer;
  border: 1px solid #27A8A8;
  color: #27A8A8;
  padding: 6px 13px 4px;
  margin: 5px 10px;
}

#work #sortmenu ul li:hover{
  opacity: 0.8;
}

#work #sortmenu ul li.active{
  border: 1px solid #27A8A8;
  background-color: #27A8A8;
  color: #fff;
}

#work #sortmenu ul li:first-child{
  border: #000;
  background-color: #000;
  color: #fff;
}

#work .flex{
	display: flex;
	flex-wrap: wrap;
}

#work .flex .box{
	display: flex;
	width: 23%;
	margin: 2% 1%;
	color: #000;
	position: relative;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
}

#work .flex .box .image{
	margin-bottom: 15px;
	padding: 4px;
}

#work .flex .box .image img{
	width: 100%;
}

#work .flex .box .content-title{
	font-size: 20px;
	border-left: 5px solid #27A8A8;
	line-height: 30px;
	padding-left: 16px;
	margin-bottom: 15px;
}

#work .flex .box .content-text{
	padding: 0 20px 20px;
    height: 100%;
}

#work .flex .box .content-text .staff-name{
	font-size: 16px;
	margin-bottom: 1rem;
}

#work .flex .box .content-text .staff-title{
	font-size: 14px;
}

#work .flex .box .tag{
	padding: 4px;
}

#work .flex .box .tag .flex{
	display: flex;
	flex-wrap: wrap;
	background-color: #F2F2F2;
	padding: 10px;
}

#work .flex .box .tag span{
	display: inline-block;
	margin-right: 15px;
	font-size: 14px;
}


/* Tablet */
@media screen and (max-width: 959px){

#work #sortmenu ul li{
  font-size: 1.4px;
}

#work .flex .box{
	width: 31.333%;
}

}


/* Smartphone */
@media screen and (max-width: 767px){


#main_wrap header.index{
	padding: 0;
	margin-bottom: 30px;
}


#main_wrap header.index h1{
	padding: 10px 40px 6px 15px;
	width: auto;
	top: auto;
	bottom: 0;
	transform: none;
	font-size: 16px;
}

#main_wrap header.index h1 .en{
	font-size: 10px;
	line-height: 100%;
}
#main_wrap header.index h1 .jp{
}


#main_wrap header.index .image{
	padding: 0;
}

#work #open{
	position: relative;
	padding: 15px;
	background-color: #0087A6;
	color: #fff;
}

#work #open i{
	width: 18px;
	height: 18px;
	vertical-align: middle;
	position: absolute;
	right: 15px;
	top: 13px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);

}



#work .site__Inner{
	padding: 0 10px;
}

#work .flex .box{
	width: 48%;
}


}

/*----------------------
詳細
------------------------*/

#work-det #main_wrap{
	overflow: hidden;
	width: 100%;
}

#work-det .inner{
	max-width: 1280px;
	margin: 0 auto;
}

#work-det header{
	margin-bottom: 80px;
}

#work-det header #header-copy{
	position: relative;
}

#work-det header .visual{
	position: relative;
	width: 80%;
	margin-left: auto;
	text-align: right;
	line-height: 0;
}

#work-det header .visual img{
	width: 100%;
}

#work-det header h1{
	position: absolute;
	left: 40px;;
	top: 50%;
	transform: translateY(-50%);
	background-color: #27A8A8;
	color: #fff;
	line-height: 150%;
	font-size: 26px;
	padding: 40px;
}

#work-det header .flex{
	display: flex;
	width: 80%;
	margin-left: auto;
	padding: 15px 0 50px;
	justify-content: space-between;
}

#work-det header .announce{
	font-size: 12px;
	padding-right: 20px;
}

#work-det #profile{
	display: flex;
	align-items: center;
	border-top: 2px solid #C7C7C7;
	border-bottom: 2px solid #C7C7C7;
	padding: 30px 0;
}

#work-det #profile .profile-left{
	width: 45%;
	display: flex;
	align-items: center;
	border-right: 1px solid #C7C7C7;
}

#work-det #profile .profile-left .photo{
	width: 50%;
	text-align: center;
	padding: 0 5%;
}

#work-det #profile .profile-left .profile-text{
	width: 50%;
}

#work-det #profile .profile-left .profile-text .name-jp{
	font-size: 20px;
}

#work-det #profile .profile-left .profile-text .name-en{
	font-size: 14px;
	color: #1B9D9D;
	padding: 4px 0 1rem;
}

#work-det #profile .profile-left .profile-text .title{
	font-size: 14px;
}

#work-det #profile .career{
	width: 55%;
	padding: 0 7%;
}

#work-det #profile .career .career-title{
	font-weight: bold;
	font-size: 20px;
}

#work-det #profile .career p{
	font-size: 14px;
}


#work-det .question .layout{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}

#work-det .question .layout.reverse{
	flex-direction: row-reverse;
}

#work-det .question .layout .image{
	position: relative;
	width: 48%;
	padding-top: 50px;
	
}

#work-det .question .layout .image .bg{
	position: absolute;
	top: -60px;
	left: -80px;
	z-index: -1;
}

#work-det .question .layout.reverse .bg{
	top: -60px;
	left: auto;
	right: -80px;
}

#work-det .question .layout .content{
	width: 48%;
}

#work-det .question .layout.center .content{
	width: 70%;
	margin: 0 auto;
}

#work-det .question .layout .content section{
	display: flex;
	margin-bottom: 80px;
}

#work-det .question .layout .content .num{
	width: 46px;
}

#work-det .question .layout .content .num span{
	display: block;
	line-height: 46px;
	width: 46px;
	background-color: #27A8A8;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

#work-det .question .layout .content .text{
	padding: 0 50px;
	border-left: 1px solid #27A8A8;
}

#work-det .question .layout .content .text h2{
	font-size: 20px;
	margin-bottom: 1.5rem;
}

#work-det .question .layout .content .text p{
	font-size: 14px;
	line-height: 180%;
}

#work-det .middle{
	position: relative;
	overflow: hidden;
	text-align: center;
	margin-bottom: 100px;
}

#work-det .middle.bottom{
	padding-top: 0;
	margin-bottom: 0;
}

#work-det .middle .copy{
	font-size: 120px;
/*
	position: absolute;
	z-index: -1;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
*/
	letter-spacing: 20px;
	line-height: 100%;
	font-weight: bold;
	white-space: nowrap;
}

#work-det .middle .image{
    position: relative;
    margin-top: -30px;
}

#work-det #bottom{
	background-color: #F5F5F5;
	position: relative;
	margin-top: -30px;
	margin-bottom: 80px;
	padding: 60px 40px;
}

#work-det #bottom .layout{
	display: flex;
	justify-content: space-between;;
}

#work-det #bottom #oneday{
	width: 46%;
}

#work-det #bottom #oneday h2{
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 18px;
}

#work-det #bottom #oneday ul li{
	font-size: 14px;
	padding: 10px 0;
	border-bottom: 1px dotted #000;
	display: flex;
}

#work-det #bottom #oneday ul li span.time{
	width: 55px;
}

#work-det #bottom #oneday ul li span.data{
	flex: 1;
}

#work-det #bottom #offtime{
	width: 46%;
}

#work-det #bottom #offtime h2{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 20px;
}

#work-det #bottom #offtime .layout{
	display: flex;
}

#work-det #bottom #offtime .layout .image{
	width: 50%;
	max-width: 231px;
}

#work-det #bottom #offtime .layout p{
	flex: 1;
	padding: 0 30px;
	font-size: 14px;
	line-height: 180%;
}


#work-det #pageback{
}

#work-det #pageback a{
	background-color: #27A8A8;
	display: block;
	text-align: center;
	color: #fff;
	padding: 20px;
	width: 400px;
	margin: 0 auto;
	transition: opacity .2s ease-in-out;
}

#work-det #pageback a:hover{
	opacity: .8;
}


/* Tablet */
@media screen and (max-width: 959px){

#work-det header{
	margin-bottom: 0;
}

#work-det header h1{
	font-size: 20px;
}

#work-det #profile .profile-left,
#work-det #profile .profile-right{
	width: 50%;
}

#work-det .question .layout{
	display: block;
	margin-bottom: 0;
	padding: 020px;
}

#work-det .question .layout .image{
	width: 100%;
	text-align: center;
	padding-bottom: 30px;
}

#work-det .question .layout .image img{
	max-width: 400px;
}

#work-det .question .layout .image .bg{
	display: none;
}

#work-det .question .layout .content{
	width: 100%;
}

#work-det .question .layout.center .content{
	width: 100%;
}

#work-det #bottom #offtime .layout{
	display: block;
}

#work-det #bottom #offtime .layout .image{
	width: 100%;
}

#work-det #bottom #offtime .layout p{
	width: 100%;
	padding: 30px 0;
}


}

/* Smartphone */
@media screen and (max-width: 767px){

#work-det header{
	margin-bottom: 0;
}

#work-det header .visual{
	width: 100%;
}

#work-det header h1{
	position: static;
	transform: none;
	font-size: 18px;
	padding: 30px 30px;
}


#work-det header .flex{
	padding: 15px;
	display: block;
	width: 100%;
}

#work-det header .announce{
	font-size: 11px;
	padding-top: 15px;
}

#work-det header .tags span{
	font-size: 14px;
}

#work-det #profile{
	display: block;
}

#work-det #profile .profile-left{
	width: 100%;
	margin-bottom: 15px;
}

#work-det #profile .career{
	width: 100%;
}


#work-det .question .layout{
	display: block;
	margin-bottom: 0;
}

#work-det .question .layout .image{
	width: 100%;
}

#work-det .question .layout .image img{
	max-width: 100%;
}

#work-det .question .layout .image .bg{
	display: none;
}

#work-det .question .layout .content{
	width: 100%;
}

#work-det .question .layout .content section{
	padding: 20px 0 15px;
	margin-bottom: 0;
}

#work-det .question .layout .content .text{
	padding: 0 20px;
}

#work-det .middle{
	margin-bottom: 0;
	padding-top: 30px;
}

#work-det .middle.bottom{
	margin-bottom: 0px;
}

#work-det .question .layout.center .content{
	width: 100%;
}

#work-det #bottom{
	padding: 20px 0;
	position: relative;
}

#work-det #bottom .layout{
	display: block;
	padding: 0 15px;
}

#work-det #bottom #oneday{
	width: 100%;
	margin-bottom: 30px;
}

#work-det #bottom #oneday h2{
	margin-bottom: 0px;
}

#work-det #bottom #offtime{
	width: 100%;
}

#work-det #bottom #offtime .layout{
	padding: 0;
	display: block;
}

#work-det #bottom #offtime .layout .image{
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

#work-det #bottom #offtime .layout p{
	width: 100%;
	padding: 20px 0 0;
}

}



/*----------------------
職種紹介
------------------------*/

#category header{
	position: relative;
	background: url('../../work/img/category/header.jpg') no-repeat right center;
	background-size: cover;
	height: 280px;
}

#category header .site__Inner{
	position: relative;
}

#category header h1{
	position: absolute;
	margin: 0;
	bottom: 0;
	left: 0;
	width: 354px;
	height: 81px;
}

#category .lead{
	padding: 75px 50px;
}

#category #tabs{
	text-align: center;
	line-height: 0;
}

#category #tabs ul{
	display: inline-block;
}

#category #tabs ul li{
	float: left;
	display: inline-block;
	margin: 0 10px;
}

#category #tabs ul li a{
	position: relative;
	display: block;
	width: 300px;
	line-height: 65px;
	color: #018f91;
	background-color: #eeeeee;
	font-size: 20px;
}

#category #tabs ul li a:hover{
	text-decoration: none;
	opacity: 0.75;
}


#category #tabs ul li a::after{
	content: "";
	display: block;
	position: absolute;
	width: 12px;
	height: 12px;
	border-right: 2px solid #018f91;
	border-bottom: 2px solid #018f91;
	transform: rotate(45deg);
	right: 30px;
	top: 50%;
	margin-top: -10px;
}

#category #tabs ul li.current a{
	background-color: #018f91;
	color: #fff;
}

#category #tabs ul li.current a::after{
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
}

#category section{
	display: none;
	background-color: #e0eded;
	padding: 80px 0;
}

#category section.active{
	display: block;
}

#category section#flow{
	text-align: center;
}

#category section#flow p{
	max-width: 1030px;
	margin: 20px auto 0;
	text-align: right;
	line-height: 16px;
}

#category section#flow p .c1{
	display: inline-block;
	width: 20px;
	height: 16px;
	background-color: #cbaf00;
	vertical-align: middle;
}
#category section#flow p .c2{
	display: inline-block;
	width: 20px;
	height: 16px;
	background-color: #72af2d;
	vertical-align: middle;
}

#category .box{
	float: left;
	width: 31.333%;
	margin-right: 3%;
	margin-bottom: 50px;
	background-color: #fff;
}


#category .boxs .box:nth-child(3n){
	margin-right: 0;
}

#category .box .box-img{
	position: relative;
}

#category .box .box-img img{
	width: 100%;
}

#category .box .category-name{
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	line-height: 45px;
	font-size: 20px;
	padding: 0 22px;
}

#category #job1  .category-name{ background-color: #cbaf00; }
#category #job2  .category-name{ background-color: #72af2d; }

/*
#category .box.cat1  .category-name{ background-color: #cbaf00; }
#category .box.cat2  .category-name{ background-color: #e39300; }
#category .box.cat3  .category-name{ background-color: #e39300; }
#category .box.cat4  .category-name{ background-color: #e39300; }
#category .box.cat5  .category-name{ background-color: #72af2d; }
#category .box.cat6  .category-name{ background-color: #72af2d; }
#category .box.cat7  .category-name{ background-color: #0074b0; }
#category .box.cat8  .category-name{ background-color: #0074b0; }
#category .box.cat9  .category-name{ background-color: #0074b0; }
#category .box.cat10 .category-name{ background-color: #cbaf00; }
#category .box.cat11 .category-name{ background-color: #e39300; }
#category .box.cat12 .category-name{ background-color: #72af2d; }
*/
#category .box p{
	padding: 30px 25px;
}


/* Smartphone */
@media screen and (max-width: 767px){

#category header{
	position: relative;
	background: url('../../work/img/category/header-sp.jpg') no-repeat center center;
	background-size: cover;
}

#category header h1{
	margin-top: -30px;
	background-color:rgba(255,255,255,0.9);
	line-height: 0;
	padding: 18px 0;
	text-align: center;
	height: auto;
	width: 100%;
}

#category header h1 img.sp{
	display: inline !important;
	height: 15px;
}


#category .lead{
	padding: 20px 15px;
}

#tabs{
	display: none;
}

#category section{
	padding: 0;
	display: block;
	border-top: 1px solid #e0eded;
}

#category section#job2{
	border-bottom: 1px solid #e0eded;
}

#category section .site__Inner{
	padding: 20px 15px;
	display: none;
}

#category section h3{
	position: relative;
	background-color: #fff;
	color: #018f91;
	font-size: 24px;
	font-weight: normal;
	margin: 0;
	text-align: center;
	padding: 16px;
	font-size: 1.2rem;
}

#category section h3::before{
	display: block;
	content: "";
	position: absolute;
	right: 34px;
	width: 2px;
	top: 50%;
	margin-top: -10px;
	height: 20px;
	background: #018f91;
	transition: 0.3s;
}
#category section h3::after{
	display: block;
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	margin-top: -1px;
	width: 20px;
	height: 2px;
	background: #018f91;
	transition: 0.3s;
}

#category section h3.open{
	background-color: #018f91;
	color: #fff;
}

#category section h3.open::before,
#category section h3.open::after{
	transform: rotate(45deg);
	background: #fff;
	transition: 0.3s;
}

#category .box{
	float: none;
	width: 100%;
	margin-right: 0;
	margin-bottom: 20px;
	min-height: initial !important;
}

#category .box .category-name{
	font-size: 1rem;
	line-height: 35px;
	padding: 0 20px;
}

#category .box p{
	font-size: 0.8rem;
	padding: 15px;
}


}



.bg_image {
  --offset: 20vw;
  --move-initial: calc(-25% + var(--offset));
  --move-final: calc(-50% + var(--offset));
}
.slidetext {
  width: 100vw;
  overflow: hidden;
  color: #ccc;
}

.slidetext__inner{
	width: 100%;
	width: -webkit-fit-content;
	width: fit-content;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
	-webkit-transform: translate3d(var(--move-initial),0,0);
	transform: translate3d(var(--move-initial),0,0);
	animation: slidetext 50s linear infinite;
	-webkit-animation: slidetext 50s linear infinite;
}
.slidetext__inner span {
	display: block;
/*	width: 100vw; */
	margin: 0 3rem;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
}
​
@keyframes slidetext {
  0% {
    transform: translate3d(var(--move-initial), 0, 0);
  }
  100% {
    transform: translate3d(var(--move-final), 0, 0);
  }
}
@-webkit-keyframes slidetext {
  0% {
    transform: translate3d(var(--move-initial), 0, 0);
  }
  100% {
    transform: translate3d(var(--move-final), 0, 0);
  }
}



/*----------------------
キャリア紹介
------------------------*/


#career .flex{
	display: flex;
	flex-wrap: wrap;
	max-width: 1046px;
	margin: 0 auto;
}

#career .flex .box{
	display: flex;
	width: 48%;
	margin: 2% 1%;
	color: #000;
	position: relative;
	flex-direction: column;
}

#career .flex .box .image{
	margin-bottom: 15px;
	padding: 4px;
}

#career .flex .box .image img{
	width: 100%;
}

#career .flex .box .content-title{
	position: absolute;
	top: -33px;
	left: -10px;
	font-size: 26px;
}
#career .flex .box .content-title::after{
	content: "";
	position: absolute;
	display: block;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 100px;
	background-color: #000;
}

#career .flex .box .content-text{
	padding: 0 0 20px;
    height: 100%;
}

#career .flex .box .content-text .staff-name{
	font-size: 16px;
	margin-bottom: 1rem;
	border-bottom: 1px solid #707070;
	padding-bottom: 15px;
	margin-bottom: 15px;
}

#career .flex .box .content-text .staff-name .en{
	display: inline-block;
	padding-left: 20px;
	color: #27A8A8;
	font-size: 13px;
}

#career .flex .box .content-text .staff-title{
	font-size: 14px;
}

#career-det #main_wrap{
	overflow: hidden;
	width: 100%;
}

#career-det .inner{
	max-width: 1280px;
	margin: 0 auto;
}


#career-det #header-copy {
	position: relative;
	margin-bottom: 100px;
}

#career-det #header-copy h1{
	position: relative;
	z-index: 1;
}

#career-det #header-copy h1 .jp{
	font-size: 18px;
}

#career-det #header-copy h1 .en{
	font-size: 58px;
	border-bottom: 1px solid #000;
    line-height: 100%;
}

#career-det #header-copy .visual{
	padding-left: 60px;
	margin-top: -30px;
	margin-bottom: 50px;
	max-width: 940px;
}

#career-det #header-copy .visual .bg{
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: -50px;
	-ms-filter: blur(30px);
	filter: blur(30px);
	opacity: 59%;
}


#career-det #header-copy .copy{
	max-width: 60%;
	background-color: rgba(39,168,168,.84);
	color: #fff;
	padding: 40px 80px;
	position: absolute;
	left: 15px;
	bottom: -80px;;
	font-size: 32px;
}

#career-det #header-copy .profile{
	max-width: 38%;
	background-color: #fff;
	padding: 50px 80px;
	position: absolute;
	right: 15px;
	bottom: -80px;;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.16);
}

#career-det #header-copy .profile .name-jp{
	display: inline-block;
	font-size: 22px;
	padding-right: 15px;
}

#career-det #header-copy .profile .name-en{
	display: inline-block;
	color: #0D89AF;
	font-size: 14px;
}

#career-det #header-copy .profile .title{
	display: block;
	border-top: 1px solid #B2B2B2;
	padding-top: 15px;
	margin-top: 15px;
	font-size: 14px;
}


#career-det .bg-title{
	position: relative;
	z-index: -1;
	height: 100px;
    top: -90px;
}

#career-det .bg-title span{
	font-size: 280px;
	position: absolute;
	color: rgba(39,168,168,.1);
	white-space: nowrap;
	line-height: 0;
}



#career-det .layout{
	position: relative;
	display: flex;
}

#career-det .layout::before{
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 16px);
	top: 0;
	width: 31px;
	height: 31px;
	background-color: #27A8A8;
	border-radius: 50%;
}

#career-det .layout::after{
	content: "";
	display: block;
	position: absolute;
	left: calc(50% - 21px);
	top: -5px;
	width: 41px;
	height: 41px;
	border: 1px solid #27A8A8;
	border-radius: 50%;
}

#career-det .layout.reverse{
	flex-direction: row-reverse;
}

#career-det .layout .image{
	position: relative;
	width: 50%;
	padding: 0 70px 50px;
	border-right: 1px solid #27A8A8;
	text-align: center;
}

#career-det .layout.reverse .image{
	border-right: none;
	border-left: 1px solid #27A8A8;
}

#career-det .layout .image .bg{
	position: absolute;
	z-index: -1;
	left: -30px;
	top: 30px;
	-ms-filter: blur(6px);
	filter: blur(6px);
	opacity: 13%;
	padding: 0 70px 0px;
}

#career-det .layout.reverse .image .bg{
	left: auto;
	right: 0;
}

#career-det .layout .content{
	width: 50%;
	padding: 0 70px  50px;
}

#career-det .layout .content .label{
	display: inline-block;
	font-size: 14px;
	line-height: 100%;
	padding: 3px 6px;
	color: #fff;
	background-color: #000;
}

#career-det .layout .content .text h2{
	font-size: 32px;
	line-height: 150%;
	margin-bottom: 30px;
}

#career-det .layout .content .text p{
	font-size: 14px;
	line-height: 180%;
}

#career-det #bottom{
	padding: 0 20px;
	max-width: 1000px;
	margin: 0 auto 80px;
}

#career-det #bottom .inner{
	background-color: #27A8A8;
	color: #fff;
	padding: 80px 40px;
}

#career-det #bottom h3{
	font-size: 26px;
	text-align: center;
	margin-bottom: 20px;
}

#career-det #bottom p{
	font-size: 14px;
	line-height: 180%;
	max-width: 600px;
	margin: 0 auto;
}



#career-det #pageback{
}

#career-det #pageback a{
	background-color: #27A8A8;
	display: block;
	text-align: center;
	color: #fff;
	padding: 20px;
	width: 400px;
	margin: 0 auto;
	transition: opacity .2s ease-in-out;
}

#career-det #pageback a:hover{
	opacity: .8;
}


/* Smartphone */
@media screen and (max-width: 959px){

#career-det #header-copy .profile{
	padding: 20px 30px;
}

#career-det #header-copy .copy{
	font-size: 24px;
	padding: 40px;
}

#career-det .layout .content .text h2{
	font-size: 26px;
}

#career-det .layout .content .text h2 br{
	display: none;
}

}


/* Smartphone */
@media screen and (max-width: 767px){


#career .flex .box{
	width: 100%;
	margin-bottom: 30px;
}

#career-det #header-copy {
	margin-bottom: 30px;
}

#career-det #header-copy h1{
	line-height: 90%;
	padding-left: 15px;
}

#career-det #header-copy h1 .jp{
	font-size: 13px;
	line-height: 100%;
}

#career-det #header-copy h1 .en{
	font-size: 26px;
}

#career-det #header-copy .visual{
	padding-left: 0;
	margin-top: 0;
	margin-bottom: 0;
}

#career-det #header-copy .visual .bg{
	display: none;
}

#career-det #header-copy .copy{
	max-width: none;
	position: relative;
	left: auto;
	bottom: auto;
	font-size: 20px;
	width: 95%;
	margin: -20px auto 0;
	padding: 20px 30px;
}

#career-det #header-copy .profile{
	max-width: none;
	position: static;
	width: 100%;
	padding: 20px 30px;
	width: 95%;
	margin: 0 auto 0;
}

#career-det #header-copy .profile .name-jp{
	font-size: 18px;
}

#career-det #header-copy .profile .name-en{
	font-size: 11px;
}

#career-det #header-copy .profile .title{
	font-size: 13px;
}

#career-det .bg-title{
	top: -50px;
	height: 0;
}

#career-det .layout{
	display: block;
}

#career-det .layout .image{
	width: 100%;
	padding: 20px;
	border: none !important;
}

#career-det .layout .image .bg{
	display: none;
}

#career-det .layout .content{
	width: 100%;
	padding: 20px;
}

#career-det .layout .content .text h2{
	font-size: 20px;
	margin-bottom: 20px;
}

#career-det .layout::before,
#career-det .layout::after{
	content: none;
}

#career-det #bottom .inner{
	padding: 40px 20px;
}

#career-det #bottom h3{
	font-size: 18px;
}

}



/*----------------------
職種紹介
------------------------*/

#job header{
	position: relative;
	text-align: right;
	margin-bottom:50px;
}

#job header .site__Inner{
	position: relative;
	padding: 0;
}

#job header h1{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255,255,255,.9);
	padding: 30px 50px;
	line-height: 130%;
	font-size: 32px;
	text-align: left;
	min-width: 300px;
}
#job header h1 span{
	display: block;
	font-size: 14px;
	color: #27A8A8;
}

#job header .image{
	padding-left: 10%;
}

#job #contents .zu{
  text-align: center;
  margin: 100px 0;
}

#job #contents #zu{
  margin: 0 auto 100px;
  max-width: 1100px;
}

#job #contents #zu .job{
  display: inline-block;
  color: #fff;
  padding: 22px 5px;
  width: 68%;
  line-height: 1;
  text-align: center;
  margin-bottom: 10px;
      font-size: 1.6vw;
}

#job #contents #zu .arrow{
  width: 
}

#job #contents #zu .hanrei .job{
  padding: 15px 20px;
  width: 210px;
  margin-bottom: 40px;
}

#job #contents #zu .job.jim{
  background-color: #CBAF00;
}
#job #contents #zu .job.tec{
  background-color: #72AF2D;
}
#job #contents #zu .job.cross{
  background: url('../../work/img/job/cross.png') no-repeat center center;
}

#job #contents #zu .feedback{
  line-height: 0;
  width: 72%;
  text-align: center;
  margin: 0 auto;
}

#job #contents #zu .layout{
  display: flex;
  justify-content: space-between;
  padding: 0 0 20px;
}

#job #contents #zu .col{
  position: relative;
  background-color: #f7f8f8;
  text-align: center;
  width: 30%;
}

#job #contents #zu h3{
  display: inline-block;
  padding-bottom: 10px;
  background: url('../../work/img/job/line.png') repeat-x center bottom;
  font-weight: bold;
  margin: 20px 0 20px;
}

#job #contents #zu .col .jobs{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 350px;
}

#job #contents #zu .col .arrow{
  position: absolute;
  right: -30%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 42%;
}

#job #contents #zu .row{
  background-color: #f7f8f8;
  display: flex;
  align-items: center;
  padding: 20px;
}

#job #contents #zu .row .title{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.333%;
}

#job #contents #zu .row .title h3{
  margin: 0;
}

#job #contents #zu .row .jobs{
  flex: 1;
}

#job #contents #zu .row .jobs .job{
  margin: 0 1% 0 0;
  width: 31.333%;
}

@media screen and (min-width: 1100px){
#job #contents #zu .job{
  font-size: 1.6rem;
  width: 75%;
  max-width: 210px;
}
}

@media screen and (max-width: 767px){
  
#job #contents #zu .layout{
    display: block;
}

#job #contents #zu .col{
  width: 100%;
  padding: 20px;
  margin-bottom: 20px;
}
#job #contents #zu .col:last-child{
  margin-bottom: 0;
}

#job #contents #zu h3{
  margin: 10px 0 ;
}

#job #contents #zu .sp-layout{
  display: flex;
  margin-bottom: 40px;
}

#job #contents #zu .layout{
  flex: 1;
  padding-bottom: 0;
  margin: 0;
}

#job #contents #zu .sp-feedback{
  width: 25px;
  margin-left: 10px;
}

#job #contents #zu .sp-feedback .in{
  height: 100%;
  display: flex;
  align-items: center;
}
#job #contents #zu .sp-feedback span{
  position: relative;
  display: flex;
  align-items: center;
  background-color: #00a8a9;
  padding: 4px;
  height: 69%;
}
#job #contents #zu .sp-feedback span::before{
  content: "";
  display: block;
  background: url('../../work/img/job/feedback-top.png') no-repeat center top;
  background-size: cover;
  width: 43px;
  height: 50px;
  z-index: 1;
  position: absolute;
  top: -43px;
  left: -18px;
}
#job #contents #zu .sp-feedback span::after{
  content: "";
  display: block;
  background: url('../../work/img/job/feedback-bottom.png') no-repeat center top;
  background-size: cover;
  width: 43px;
  height: 24px;
  z-index: 1;
  position: absolute;
  bottom: -23px;
  left: -18px;
}

#job #contents #zu .col .jobs{
  height: auto;
  display: block;
}

#job #contents #zu .job{
  width: 100%;
  font-size: 1.5rem;
}

#job #contents #zu .row{
  display: block;
}

#job #contents #zu .row .title{
  width: 100%;
}

#job #contents #zu .row .title h3{
  margin-bottom: 10px;
}

#job #contents #zu .row .jobs .job{
  width: 100%;
  margin-bottom: 10px;
}

#job #contents #zu .col .arrow{
  right: 50%;
  transform: translateX(50%);
  top: auto;
  bottom: -36px;
  width: 70px;
}

#job #contents #zu .hanrei .job{
  width: 48%;
}

}


#job #contents .job-type{
  margin-bottom: 100px;
  max-width: 1080px;
  margin: 0 auto;
}


#job #contents .job-type h2{
  text-align: center;
  margin-bottom: 60px;
}

#job #contents .job-type h2 span{
  position: relative;
  display: inline-block;
  font-size: 32px;
}


#job #contents .job-type h2 span::after{
  content: "";
  display: block;
  position: absolute;
  height: 8px;
  width: 100%;
  bottom: -10px;
  left: 0;
  background: url('../../work/img/job/line.png') repeat-x center center;
}

#job #contents .job-type .job-box{
  position: relative;
  background-color: #F7F8F8;
  padding: 80px 50px 30px;
  margin-bottom: 50px;
}

#job #contents .job-type .job-box h3{
  position: absolute;
  left: 0;
  top: 0;
  font-size: 20px;
  color: #fff;
  line-height: 100%;
  padding: 15px;
  width:210px;
  text-align: center;
}

#job #contents .job-type .job-box h3.c1{
  background-color: #72AF2D;
}

#job #contents .job-type .job-box h3.c2{
  background-color: #CBAF00;
}

#job #contents .job-type .job-box h3.c3{
  background: url('../../work/img/job/mix.png') no-repeat center center;
  background-size: cover;
}

#job #contents .lead{
  margin-bottom: 2rem;
  font-size: 20px;
}

#job #contents .relation{
  background-color: #fff;
}

#job #contents .relation h4{
  position: relative;
  padding: 20px 40px 20px;
  cursor: pointer;
  transition: all .2s linear;
}

#job #contents .relation h4 span{
  position: absolute;
  width: 16px;
  height: 16px;
    right: 24px;
    top: 25px;
    
}

#job #contents .relation h4 span::before{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 7px;
  width: 100%;
  height: 2px;
  background-color: #27A8A8;
}
#job #contents .relation h4 span::after{
  content: "";
  display: block;
  position: absolute;
  left: 7px;
  top: 0;
  height: 100%;
  width: 2px;
  background-color: #27A8A8;
}
#job #contents .relation h4.open span::after{
  opacity: 0;
}

#job #contents .relation h4:hover{
  background-color: #27A8A8;
  color: #fff;
}
#job #contents .relation h4:hover span::before,
#job #contents .relation h4:hover span::after{
  background-color: #fff;
}


#job #contents .box-wrap{
  display: none;
}
#job #contents .layout{
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  padding: 10px 22px 0;
}

#job #contents .layout .box {
  display: flex;
  width: 21%;
  margin: 0 2% 2%;
  color: #000;
  position: relative;
  flex-direction: column;
  justify-content: space-between;
}

#job #contents .layout .box .image {
    margin-bottom: 5px;
}

#job #contents .layout .box .content-text {
}

#job #contents .layout .box .content-text .staff-name {
    font-size: 16px;
}

#job #contents .layout .box .content-text .staff-title {
    font-size: 14px;
    color: #1CA8A9;
}


/* Smartphone */
@media screen and (max-width: 767px){

#job header{
	margin-bottom: 40px;
}

#job header .image{
	padding: 0;
}

#job header h1{
	position: absolute;
	font-size: 22px;
	padding: 15px;
	transform: none;
	top: auto;
	bottom: -20px;
	left: 2.5%;
	min-width: 200px;
}

#job #contents .zu{
  margin-bottom: 50px;
}

#job #contents .job-type{
  margin-bottom: 50px;
}

#job #contents .job-type h2{
  margin-bottom: 30px;
}

#job #contents .job-type h2 span{
  font-size: 26px;
}

#job #contents .job-type .job-box{
  padding: 60px 20px 30px;
  margin-bottom: 30px;
}

#job #contents .job-type .job-box h3{
  font-size: 16px;
  width: 140px;
  padding: 10px ;
}

#job #contents .lead{
  font-size: 1.6rem;
}

#job #contents .lead br{
  display: none;
}


#job #contents .relation{
  padding: 0;
}

#job #contents .layout{
  flex-wrap: wrap;
}

#job #contents .layout .box{
  width: 49%;
  margin: 2% 0.5%;
}

#job #contents .layout .box .content-text .staff-title{
  font-size: 11px;
}



}

