
#key {
	background: url(../img/recruit/bg_key2.jpg) no-repeat center/cover;
	z-index: 0;
 
}
.mainvisual {
    height: 840px;
    width: 100%;
    position: relative;
}
.mainvisual__video {
    position: absolute;
    top: 0;
    left: 0;
	width: 100%;
	height: 100vh;
    z-index: 100;
}
#header {
	width: 100%;
	position: relative;

	background: url(../img/shared/bg_header_t.jpg) repeat-x center top , url(../img/shared/bg_header_bt.jpg) repeat-x center bottom;
}
#key2,#key3 {
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height:840px;
	width: 100%;
	position: absolute;
	top: 70px;
	left: 0;
}
#key2 {
	background: url(../img/recruit/bg_key3.jpg) no-repeat center/cover;
	z-index: 0;
}
#key3 {
	background: url(../img/recruit/bg_key4.jpg) no-repeat center/cover;
	z-index: 0;
}
#key:before {
	/*background: url(../img/shared/bg_header.png) no-repeat center top;*/
	width: 632px;
	height: 365px;
	position: absolute;
	top: 247px;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	z-index: 2;
}
.key_ttl {
	padding-top: 13px;
}


.pickup1 {
	position: absolute;
	right: 0;
	bottom:0;
}
.pickup2 {
	/*background: url(../img/shared/bg_header.png) no-repeat center top;*/
	width: 632px;
	height: 365px;
	position: absolute;
	top: 438px;
	left: 60%;
	transform: translateX(-27%);
	content: '';
}
.pickup3 {
	/*background: url(../img/shared/bg_header.png) no-repeat center top;*/
	width: 453px;
	height: 453px;
	position: absolute;
	top: 30px;
	left: 50%;
	transform: translateX(-50%);
	content: '';
	z-index: 1;
	
}

.limited1 {
	position: absolute;
	left: 0;
	top:0;
}


/*.pickup1:before {
	background: url(../img/recruit/pickup1_bg.png) repeat right top;
	position: absolute;
	bottom: 0px;
	right: 0;
	width: calc(50% - 100px);
	height: 160px;
	content: '';
	z-index:5;
}*/

.bnr {
	text-align: center;
	margin-top: 60px;
	color: #fff;
}


#read{
	background:
	url(../img/shopinfo/sec1_deco.png) no-repeat top right,
	url(../img/company/bg3.jpg) repeat center top;
	padding:100px 0;
}
#read .bnr-app2 {
    position: absolute;
    right: 125px;
    top: -272px;
}
#read .etc_center{
    text-align: center;
    margin: -180px auto 0 auto;
    padding: 0 0 61px 0px;
}
#read h2{ margin-bottom:40px;}
#read p{margin-bottom:0.8em;}
#sec1 {
	position: relative;
	background: url(../img/recruit/bg_sec1_t.jpg) repeat-x center top, url(../img/recruit/bg_sec1_rp.jpg) repeat center top;
	padding-bottom: 55px;
}
#sec1 h2 {
	padding: 305px 0 28px;
}
#sec1 .wrap {
	z-index: 10;
}
#sec1 .ttl1 {
	position: absolute;
	top: 364px;
	left: -12px;
}
#sec1 .ttl2 {
	position: absolute;
	top: 167px;
	left: 131px;
}
#sec1 .ttl3 {
	position: absolute;
	top: 94px;
	left: 357px;
}
#sec1 .ttl4 {
	position: absolute;
	top: 168px;
	right: 130px;
}
#sec1 .ttl5 {
	position: absolute;
	top: 355px;
	right: 18px;
}
#sec1 dl {
	position: relative;
	width: 742px;
	margin: 0 auto 40px;
	text-align: center;
	color: #fff;
	padding: 56px 0 38px;
	background: rgba(0, 0, 0, 0.8);
}
#sec1 dl .icon {
	position: absolute;
	top: 0;
	left: 0;
}
#sec1 dl dt {
	position: absolute;
	top: -38px;
	left: 0;
	width: 100%;
}
#sec1 dl:last-child .icon {
	top: -1px;
}
#sec1:before {
	background: url(../img/recruit/bg_sec1.jpg) no-repeat center top/cover;
	width: 100%;
	height: 1377px;
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
}
#sec2 {
	position: relative;
	padding:130px 0;
	background:
	url(../img/shared/bg_ft_t.jpg) repeat-x bottom center,
	url(../img/recruit/sec2_bg.jpg) no-repeat center center;
	background-size:auto,cover;
	color:#fff;
	font-weight:500;
}
#sec2 .text_center {
    margin: 45px 0 0 0;
}
/*#sec2 .wrap:before {
	background: url(../img/recruit/sec2_deco.png) no-repeat center top;
	width: 517px;
	height: 621px;
	position: absolute;
	top: 0;
	left: -319px;
	content: '';
	z-index: -1;
}*/
#sec2 h2 {
	text-align:center;
	padding-bottom:40px;
}
#sec2 .item {
	text-align:center;
	margin:auto;
	/*background: #eed5aa;
	padding:40px 0;*/
}

#sec2 .txt {
	padding: 169px 0 0 742px;
}
#sec3 {
	position: relative;
	background: url(../img/index/bg2.jpg) repeat center top;
}
#sec3 h2 {
	padding: 149px 0 11px;
	position: relative;
	z-index: 1;
}
#sec3 .photo {
	position: absolute;
	top: 0;
	right: -91px;
}
#sec3 .txt {
	padding: 10px 0 79px 2px;
	width: 475px;
}
#sec3 .txt p {
	padding-bottom: 30px;
}
#sec4_ct{
	position: relative;
	width: 100%;
}
#sec4_ct > div{
	height: 792px;
	cursor: pointer;
	float: left;
	width: 50%;
	transition: all .3s ease;
	position: relative;
}
#sec4_ct > div:before{
	background: rgba(16,4,4,.77);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	content: '';
	opacity: 0;
	transition: all .3s ease;
}
#sec4_ct > div:hover{
	width: calc(50% + 115px);
	z-index: 10;
}
#sec4_ct > div:hover:before{
	opacity: 1;
}
#sec4_ct h3{
	transition: all .3s ease;
}
#sec4_ct h3:before{
	background: url(../img/recruit/icon.png) no-repeat center top;
	width: 13px;
	height: 32px;
	position: absolute;
	bottom: 43px;
    left: 42px;
	transition: all .3s ease;
	content: '';
}
#sec4_ct .info2 h3:before{
	background: url(../img/recruit/icon_on.png) no-repeat center top;
}
#sec4_ct .txt{
	width: 470px;
	margin-left: -100px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	opacity: 0;
	transition: all .3s ease;
}
#sec4_ct .info2 .txt{
	margin-left: 80px;
}
#sec4_ct .info2{
	position: absolute;
	top: 0;
	right: 0;
	width: calc(50% + 1px);
}
#sec4_ct .info1{
	background: url(../img/recruit/bg_sec4_ct_01.jpg) no-repeat center /cover;
}
#sec4_ct .info2{
	background: url(../img/recruit/bg_sec4_ct_02.jpg) no-repeat center /cover;
}
#sec4_ct .info1 h3{
	position: absolute;
	top: 93px;
	right: 63px;
}
#sec4_ct .info2 h3{
	position: absolute;
	top: 93px;
	left: 63px;
}
#sec4_ct > div:hover .txt{
	opacity: 1;
}
#sec4_ct .info1:hover h3{
	right: 110px;
}
#sec4_ct .info1:hover h3:before{
	background: url(../img/recruit/icon_on.png) no-repeat center top;
}
#sec4_ct .info2:hover h3:before{
	background: url(../img/recruit/icon.png) no-repeat center top;
}
#sec4_ct .info2:hover h3{
	left: 110px;
}
#sec4 {
	position: relative;
	background: url(../img/recruit/bg6.jpg) repeat center top;
	padding-top: 55px;
}
#sec4:before {
	background: url(../img/recruit/bg_sec4_01.png) no-repeat center bottom/cover;
	width: 100%;
	height: 307px;
	position: absolute;
	top: 0;
	left: 0;
	content: '';
}
#sec4:after {
	background: url(../img/recruit/bg_sec4_03.png) no-repeat center top;
	width: 100%;
	height: 777px;
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
}
#sec4 .sec4_02 {
	position: relative;
	padding-top: 137px;
	padding-bottom: 106px;
}
#sec4 .sec4_02:before {
	background: url(../img/recruit/bg_sec4_02.png) no-repeat center top/100% 353px;
	width: 100%;
	height: 353px;
	position: absolute;
	top: -40px;
	left: 0;
	content: '';
}
#sec4 .sec4_02:after {
	background: url(../img/recruit/bg7.jpg) repeat left top;
	width: 100%;
	height: calc(100% - 303px);
	position: absolute;
	top: 303px;
	left: 0;
	content: '';
}
#sec4 .sec4_02 .wrap {
	z-index: 10;
}
#sec4 h2 {
	padding-bottom: 31px;
	margin-right: -48px;
}
#sec4 .bx-controls-direction {
	position: absolute;
	bottom: 50px;
	right: -149px;
	width: 82px;
}
#sec4 .bx-prev,  #sec4 .bx-next {
	width: 15px;
	height: 27px;
	text-indent: -100000px;
	position: absolute;
	top: 0;
	z-index: 1000;
}
#sec4 .bx-next {
	background: url(../img/recruit/iocn_next.png) no-repeat center top;
	right: 0;
}
#sec4 .bx-prev {
	background: url(../img/recruit/iocn_prev.png) no-repeat center top;
	left: 0;
}
#sec4 .sec4_sl1 {
	width: 820px;
	position: relative;
}
#sec4 .sec4_sl1 ul {
	position: absolute;
	top: 0;
	right: -182px;
}
#sec4 .sec4_sl1 ul li {
	padding-bottom: 6px;
}
#sec4 .sec4_sl1 .info_list,
#sec4 .sec4_sl2 .info_list{ padding-top:20px;}
#sec4 .sec4_sl1 .info_list ul,
#sec4 .sec4_sl2 .info_list ul {position: static;}
#sec4 .sec4_sl1 .info_list ul li,
#sec4 .sec4_sl2 .info_list ul li { line-height:20px; list-style:outside disc; margin-left:20px;}

#sec4 .sec4_sl2 {
	width: 820px;
	padding-left: 180px;
	position: relative;
}
#sec4 .sec4_sl2 ul {
	position: absolute;
	top: 0px;
	left: 0;
}
#sec4 .sec4_sl2 ul li {
	padding-bottom: 6px;
}
#sec4 .sec4_sl2 .bx-controls-direction {
	left: 45px;
}
#sec4 .sec4_sl2 .info {
	padding-bottom: 43px;
}
#sec4 .info {
	padding: 48px 0 50px 50px;
	color: #fff;
	background: rgba(0, 0, 0, 0.8);
}
#sec4 .info dl {
	width: 360px;
	margin-left: 33px;
}
#sec4 .info dl dd {
	padding-top: 31px;
}
#sec4 .listbnt {
	width: 728px;
	margin: 90px auto 0;
}
#sec5 {
	position: relative;
	background: url(../img/company/bg3.jpg) repeat center top;
	padding: 102px 0 156px;
}

#sec5 p.txt{
	text-align:center;
	margin-bottom:20px;
}

#sec5 .toggle {
	margin-bottom: 24px;
}
#sec5 .toggle + .toggle.active {
	margin-top: 74px;
	margin-bottom: 0;
}
#sec5 table {
	float: left;
	width: 499px;
	display: block;
	border: 1px solid #000;
	margin-top: 34px;
	position:relative;
	z-index:1;
}
#sec5 table:before {
	content:"";
	width: 104px;
	height:100%;
	background: #784622;
	position:absolute;
	top:0;
	left:0;
	z-index:-1;
	
}
#sec5 table.fl {
	border-right-width: 0;
}
#sec5 table.fr {
	border-left-width: 0;
}
#sec5 tr {
	display: block;
	border-bottom: 1px solid #000;
}
#sec5 tr th {
	text-align: left;
	vertical-align: top;
	width: 104px;
	color: #fff;
	padding: 14px 0 11px 14px;
}
#sec5 tr td {
	padding: 16px 0 11px 31px;
	line-height: 28px;
	width: 355px;
}
#sec5 tr td span {
	padding-left: 12px;
}
#sec5 tr td p + p {
	padding-top: 28px;
}
#sec5 tr:last-child {
	border-bottom: 0;
}
/*#sec5 .style1 td {
	padding-bottom: 67px;
}
#sec5 .style2 td {
	padding-bottom: 95px;
}*/
#sec6 {
	position: relative;
	background: url(../img/index/line1.jpg) repeat-x center top, url(../img/recruit/bg_sec6.jpg) no-repeat center/cover;
	padding: 158px 0 115px;
}
#sec6 h2 {
	position: absolute;
	top: -250px;
	left: 0;
	width: 100%;
	text-align: center;
}
.thanks_txt {
	font-size: 20px;
	font-weight: bold;
	padding: 100px 0;
	text-align: center;
}
.sec6_mail {
	background: rgba(0, 0, 0, 0.8);
	padding: 48px 0 20px;
	color: #fff;
}
.sec6_mail .fc-form {
	width: 720px;
	margin: 0 auto;
	border-top: 1px solid #787572;
}
.confirm-main {
	width: 720px;
	margin: 0 auto;
}
.sec6_mail .col {
	border-top: 1px solid #787572;
	padding-bottom: 13px;
	padding-top: 20px;
}
.sec6_mail .col .caption {
	float: left;
	width: 116px;
	font-weight: bold;
	position: relative;
}
.sec6_mail .col .form-value {
	float: left;
	width: 604px;
	position: relative;
	z-index: 100;
}
.sec6_mail label {
	width: 29%;
	display: inline-block;
}



.sec6_mail label input {
	margin-right: 10px;
}
.sec6_mail input[type="text"] {
	width: 504px;
	height: 37px;
	line-height: 37px;
	border: 1px solid #a6a6a6;
	padding-left: 5px;
}
.sec6_mail textarea {
	width: 504px;
	padding: 5px;
	height: 242px;
}

.submit {
	width: 722px !important;
	margin: 28px auto !important;
	border: none !important;
}
.submit button {
	border: none;
	box-shadow: 0 0 0 0;
	background: none;
	cursor: pointer;
}
.submit button:hover img {
	opacity: 0.8;
}
.fc-form [class^='error'] {
	left: 116px;
	bottom: -11px;
	position: relative;
}
.submit-confirm button {
	background: url(../img/recruit/bg_btn.jpg) no-repeat center top;
	width: 316px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
.error1{
	left: 0 !important;
}

.partjob{
	font-weight: bold;
	border-bottom: 1px solid;
	padding-left: 0px!important;
}


/*===============================================
					.policy
===============================================*/

.policy{
	font-size:0.95em;
	line-height:1.35em;
	padding:20px 50px;
	margin:50px auto 0;
	width: 800px;
	background: url(../img/company/bg3.jpg) repeat center top;
	height:450px;
	overflow: auto
}
.policy h3 , .policy ol{
	list-style: decimal-leading-zero;
	width: 670px;
	margin:20px auto;
}
.policy h3 {
	color: #784622;
	border-left: 13px #784622 solid;
	border-bottom:solid 1px #784622;
	font-weight: bold;
	margin-left: 0px;
	padding-left:15px;
	font-size: 1.8em;
}
.policy ol > li{
	margin-top:20px;
}

.policy ol ul{
	list-style-type: disc;
	margin-left:30px;
}

/*===============================================
					追加コンテンツ
===============================================*/

#sec02 {
  height: 946px;
  width: 100%;
  display: table;
}

#sec02 .box {
  width: 33.33%;
  overflow: hidden;
  position: relative;
  height: 946px;
  display: table-cell;
  transition: all .3s ease;
  cursor: pointer;
}

#sec02 .block {
    text-align: center;
    position: absolute;
    top: 413px;
    left: 0;
    right: 0;
    z-index: 2;
    transition: .5s;
	width: 90%;
	padding: 5%;
}
#sec02 .block a{
	text-decoration: none;
}

#sec02 .inner {
    width: 80%;
    background: url(../img/recruit/sec02_txt_bg.png) repeat top center;
    padding: 35px;
    box-sizing: border-box;
    margin: 0 auto;
    opacity: 0;
    margin-top: 20px;
    transition: .5s;
    text-align: left;
    text-align: center;
    font-weight: bold;
    color: #FFFFFF;
}

#sec02 .inner .bnr {
  text-align: center;
  padding-top: 20px;
}


#sec02:hover .box {
  width: 25%;
  transition: .3s;
}

#sec02 .box:hover .block {
  top: 340px;
}
#sec02 .box:hover .inner {
  opacity: 1;
}

#sec02:hover .box .ttl {
  opacity: 0;
}


#sec02 .box:hover {
  width: 50%;
}
#sec02 .box:hover .ttl {
  opacity: 1;
}

#sec02 .photo1 {
  background: url(../img/recruit/sec02_bg_01_off.jpg) no-repeat center / cover;
  height: 100%;
  position: relative;
}

#sec02 .photo2 {
  background: url(../img/recruit/sec02_bg_02_off.jpg) no-repeat center / cover;
  height: 100%;
  position: relative;
}

#sec02 .photo3 {
  background: url(../img/recruit/sec02_bg_03_off.jpg) no-repeat center / cover;
  height: 100%;
  position: relative;
}

#sec02 .photo:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
}

#sec02 .photo1:before {
  background: url(../img/recruit/sec02_bg_01_on.jpg) no-repeat center / cover;
}

#sec02 .photo2:before {
  background: url(../img/recruit/sec02_bg_02_on.jpg) no-repeat center / cover;
}

#sec02 .photo3:before {
  background: url(../img/recruit/sec02_bg_03_on.jpg) no-repeat center / cover;
}

#sec02:hover .photo:before{
  opacity: 1;
}


#sec02 .box:hover .photo:before{
  opacity: 0;
}
#sec02 .ttl img{
	max-width: 100%;
	height: auto;
}