@charset "utf-8";

/* ========================================================================================

Name: recruit.css

Description: Recruit Page Layout Settings

Update: 2020.03.13

======================================================================================== */

/* ページ表示のフェード効果
-------------------------------------------------- */

.fade {
	opacity: 0;
}

.ready .fade {
    opacity: 0;
	/*
    -webkit-transform: translateY(40px);
	-moz-transform: translateY(40px);
	-ms-transform: translateY(40px);
	
	-webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
	-moz-transition: opacity 1s ease, -moz-transform 1s ease;
	-ms-transition: opacity 1s ease, -ms-transform 1s ease;
	
	transform: translateY(20px);
    */
	transition: opacity 1.5s ease, transform 1s ease;
    
}
.ready .delay {
    transition-delay: 0.5s;
}
.ready .fade-end {
	opacity: 1;
	/*
    -webkit-transform: translateY(0px);
	-moz-transform: translateY(0px);
	-ms-transform: translateY(0px);
	transform: translateY(0px);
    */
}

.slideInLeft {
    opacity: 0;
}
.ready .slideInLeft {
    transform: translateX(-50px);
    transition: opacity 0.52s ease, transform 1s ease;
    transition-delay: opacity 0.5s, transform 1s;
}
.ready .slideInLeft-end {
    opacity: 1;
    transform: translateX(0px);
}

.slideInRight {
    opacity: 0;
}
.ready .slideInRight {
    transform: translateX(50px);
    transition: opacity 0.52s ease, transform 1s ease;
}
.ready .slideInRight-end {
    opacity: 1;
    transform: translateX(0px);
}

.slideInUp {
    opacity: 0;
}
.ready .slideInUp {
    transform: translateY(50px);
    transition: opacity 1s ease, transform 1s ease;
    transition-delay: opacity 0.5s, transform 1s;
}
.ready .slideInUp-end {
    opacity: 1;
    transform: translateY(0px);
}


/* Recruit Index Page
-------------------------------------------------- */

#page-recruit-index #page-heading {
	position:relative;
}

.recruit-bg-photo {
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:450px;
}

.recruit-bg-photo span {
	display:block;
	width:25%;
	height:100%;
	float:left;
	position:relative;
}

@media screen and (max-width: 767px){
	
	#page-recruit-index #page-heading {
		position:relative;
	}
	
	.recruit-bg-photo {
		position:absolute;
		top:0;
		left:0;
		right:0;
		height:157px;
	}
	
	.recruit-bg-photo span {
		display:block;
		width:25%;
		height:100%;
		float:left;
		position:relative;
	}
	
}


/* General Index Page
-------------------------------------------------- */

#page-recruit-general .wide-contents {
  padding-bottom: 100px;
}

#page-recruit-general .sec-base {
  margin-top: 100px;
}

#page-contents2 > .inner {
  padding-bottom: 100px;
}

#page-recruit-general .wide-contents .sec-base {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 100px;
  text-align: left;
}
#page-recruit-general .wide-contents .sec-welfare {
  margin-top: 120px;
}
#page-recruit-general .wide-contents .sec-general-charm {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding: 80px 0 80px;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  #page-recruit-general .inner.wide-contents {
    padding: 0;
  }
  #page-recruit-general .inner.wide-contents .sec-base {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 767px){

  #page-recruit-general .wide-contents {
    padding-bottom: 50px;
  }

  #page-recruit-general .sec-base {
    margin-top: 50px;
  }

  #page-contents2 > .inner {
    padding-bottom: 100px;
  }

  #page-recruit-general .wide-contents .sec-base {
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 60px;
    text-align: left;
  }
  #page-recruit-general .wide-contents .sec-welfare {
    margin-top: 60px;
  }
  #page-recruit-general .wide-contents .sec-general-charm {
    max-width: none;
    margin-left: -20px;
    margin-right: -20px;
    padding: 50px 20px 50px;
  }

}

.lead-general-sub {
  text-align: center;
  font-size: 17px;
  line-height: 2.35em;
  margin-top: 60px;
}

.list-career-step {
    display: table;
    width: 100%;
    box-sizing: border-box;
    border-collapse: collapse;
    margin: 50px -12px 0;
}
.list-career-step li {
    display: table-cell;
    background-color: #f2f3f7;
    border-width: 0 12px;
    border-color: #ffffff;
    border-style: none solid;
    box-sizing: border-box;
    padding: 17px 15px 25px;
    font-size: 14px;
}

.list-career-step li dt {
    text-align: center;
}
.list-career-step li dt span:nth-child(1) {
    display: block;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.33em;
    color: #01a1df;
}
.list-career-step li dt span:nth-child(2) {
    display: block;
}

.list-career-step li dd {
    line-height: 1.67em;
    margin-top: 5px;
}

.l-general-flex {
  display: flex;
  flex-wrap: wrap;
  margin-top: 5.56%;
}

.l-general-flex {
}

.l-general-flex__item {
  
}
.l-general-flex.job-general {
  justify-content: space-between;
}

.job-general .l-general-flex__item {
  width: 48.33%;
  flex-shrink: 0;
}
.job-general dt {
  font-size: 24px;
  line-height: 1.5em;
  font-weight: 500;
  margin-top: 20px;
}
.job-general dd {
  margin-top: 13px;
}

.l-general-flex.job-feild {
  grid-gap: 5.41%;
  margin-top: -10px;
}
.job-feild .l-general-flex__item {
  width: 29.72%;
  flex-shrink: 0;
  margin-top: 3.7%;
}
.job-feild p {
  font-size: 18px;
  line-height: 1.5em;
  font-weight: 500;
  margin-top: 20px;
}
.job-feild ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 13px;
}
.job-feild li {
  box-sizing: border-box;
  width: 48%;
  font-size: 14px;
  line-height: 1.5em;
}
.job-feild li.col1 {
  width: 100%;
}
.job-feild li span {
  color: #01A1DF;
}

.sec-general-charm {
  background-color: #F2F3F7;
  margin-left: -20px;
  margin-right: -20px;
  padding-left: 20px;
  padding-right: 20px;
}
.sec-general-charm > .inner {
  max-width: 1080px;
  margin: auto;
}
.list-general-charm {
  display: flex;
  grid-gap: 5.37%;
  margin-top: 5.56%;
}
.list-general-charm dl {
  box-sizing: border-box;
  width: 29.7533%;
  padding: 3.70% 2.78%;
  background-color: #ffffff;
}
.list-general-charm dl dt {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.44em;
  text-align: center;
}
.list-general-charm dl dd {
  margin-top: 9.38%;
  text-align: left;
}

@media screen and (max-width: 767px){
		
	.list-career-step {
		display: block;
		width: auto;
		box-sizing: border-box;
		border-collapse: collapse;
		margin: 20px 0 0;
	}
	.list-career-step li {
		display: block;
		background-color: #f2f3f7;
		border:none;
		box-sizing: border-box;
		padding: 10px 15px 15px;
		font-size: 12px;
		margin-top:10px;
	}
	
	.list-career-step li dt {
		text-align: center;
	}
	.list-career-step li dt span:nth-child(1) {
		display: block;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.33em;
		color: #01a1df;
	}
	.list-career-step li dt span:nth-child(2) {
		display: block;
		font-size: 12px;
		line-height: 1.33em;
	}
	
	.list-career-step li dd {
		line-height: 1.67em;
		margin-top: 5px;
	}

  .lead-general-sub {
    text-align: left;
    font-size: 13px;
    line-height: 2.0em;
    margin-top: 30px;
  }

  .l-general-flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
  }

  .l-general-flex {
  }

  .l-general-flex__item {

  }
  .l-general-flex.job-general {
    justify-content: space-between;
  }

  .job-general .l-general-flex__item {
    width: 48.33%;
    flex-shrink: 0;
  }
  .job-general dt {
    font-size: 15px;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 20px;
  }
  .job-general dd {
    margin-top: 13px;
  }

  .l-general-flex.job-feild {
    grid-gap: 5.41%;
    margin-top: 0;
  }
  .job-feild .l-general-flex__item {
    width: 100%;
    flex-shrink: 0;
    margin-top: 20px;
    display: flex;
  }
  .job-feild .l-general-flex__item figure {
    width: 29%;
    flex-shrink: 0;
  }
  .job-feild .l-general-flex__item > div {
    padding-left: 15px;
  }
  .job-feild p {
    font-size: 15px;
    line-height: 1.5em;
    font-weight: 500;
    margin-top: 0;
  }
  .job-feild ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 8px;
  }
  .job-feild li {
    box-sizing: border-box;
    width: 48%;
    font-size: 12px;
    line-height: 1.5em;
  }
  .job-feild li.col1 {
    width: 100%;
  }

  .sec-general-charm {
    background-color: #F2F3F7;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
  }
  .sec-general-charm > .inner {
    max-width: 1080px;
    margin: auto;
  }
  .list-general-charm {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0;
    margin-top: 30px;
  }
  .list-general-charm dl {
    box-sizing: border-box;
    width: 100%;
    padding: 30px 20px 25px;
    background-color: #ffffff;
    margin-top: 10px;
  }
  .list-general-charm dl dt {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.8em;
    text-align: center;
  }
  .list-general-charm dl dd {
    margin-top: 20px;
    text-align: left;
  }

}



/* Interview Page
-------------------------------------------------- */

.sec-interview-base {
	width: auto;
	margin: 90px 0 0;
	text-align:center;
	clear:both;
}

.sec-interview-base > .inner {
	width: auto;
	max-width: 1080px;
	margin: auto;
	text-align: left;
	position:relative;
	z-index:2;
	box-sizing: border-box;
}

.sec-interview-base .block-image {
	position: absolute;
	z-index:1;
}

.sec-interview-base .block-image img {
	position:relative;
	z-index:2;
}

.block-image .inner:after {
	content:"";
	display:block;
	position:absolute;
	background-color:#f2f3f7;
	z-index:1;
}

.sec-interview-base .block-text {
	position:relative;
	z-index:2;
}

.sec-interview-base h2 {
}
.sec-interview-base h2 span {
	display:table;
	color: #fff;
	background: linear-gradient( 90deg, rgba(1, 161, 223, 1), rgba(80, 209, 241, 1));
	font-size: 30px;
	font-weight: 500;
	padding:15px 18px;
	margin-top:10px;
}

/* Block1 */
.interview-block-01 {
	position:relative;
}

.sec-interview-base.interview-block-01 > .inner {
}

.sec-interview-base.interview-block-01 .block-text {
	margin-left:50%;
	padding-left:30px;
}

.interview-block-01 .block-image {
	position:absolute;
	right: 50%;
	top:0;
}

.interview-block-01 .block-image .inner {
	margin-right:80px;
}

.interview-block-01 .block-image .inner:after {
	width:2000px;
	height:490px;
	top:170px;
	right:30px;
}

@media all and (min-width: 768px) and (max-width: 1024px) {

    .sec-interview-base {
        padding: 0 20px;
    }

    .interview-block-01 .block-image {
        width: 500px;
    }
    
    .interview-block-01 .block-image img {
        width: 100%;
        height: auto;
    }
    
    .interview-block-01 .block-image .inner:after {
        height:490px;
        top:80px;
        right:30px;
    }
    
}

/* Block2 */
.sec-interview-base.interview-block-02 {
	margin-top:120px;
}

.sec-interview-base.interview-block-02 .block-text {
	margin-top:-110px;
}

.interview-block-02 .block-image {
	position: relative;
	height:530px;
}
.interview-block-02 .block-image .inner {
	position:absolute;
	left: 50%;
	top: 0;
}
.interview-block-02 .block-image .inner img {
	margin-left:-800px;
}

.block-text-left {
	width:50%;
	float:left;
	box-sizing:border-box;
	padding-right:30px;
}

.block-text-right {
	width:50%;
	float:right;
	box-sizing:border-box;
	padding-left:30px;
}


/* Block3 */
.sec-interview-base.interview-block-03 {
	margin-top:170px;
}

.sec-interview-base.interview-block-03 .block-text {
	margin-top:-80px;
}

.interview-block-03 .block-image {
	position: relative;
	height:530px;
}
.interview-block-03 .block-image .inner {
	position: absolute;
	left:-160px;
	top: 0;
}

.interview-block-03 .block-image .inner:after {
	width:2000px;
	height:490px;
	top:-80px;
	left:270px;
}


.sec-interview-base .block-text h3 {
	font-size: 18px;
	font-weight: 500;
	line-height:1.67em;
	color:#01a1df;
	margin-top:40px;
	position:relative;
	padding:0 0 0 41px;
}

.sec-interview-base .block-text h3:before {
	content:"";
	position:absolute;
	width:36px;
	height:1px;
	background-color:#88d3f0;
	left:0;
	top:15px;
}

.sec-interview-base .block-text p {
	margin-top:10px;
}


#other-interview {
	width:100%;
	background-color:#f2f3f7;
}

#other-interview > .inner {
	width:auto;
	max-width:1080px;
	margin:0 auto;
	text-align:left;
	padding:80px 0 80px;
	position:relative;
    text-align: center;
}

#other-interview > .inner > p {
  margin-top: 60px;
}

#other-interview h2 {
    text-align: center;
    /*padding: 0 0 30px;*/
}
#other-interview h2 span {
    display: block;
}
#other-interview h2 span.txt-eng {
    font-size: 40px;
    font-weight: 500;
    line-height: 1em;
    color: #01a1df;
}
#other-interview h2 span.txt-jpn {
    margin: 10px 0 0;
}

.swiper-other-interview {
	width:auto;
	margin:0 -15px 40px !important;
	position:relative;
}
.swiper-other-interview > .inner {
    overflow: hidden;
}

.swiper-other-interview li a {
	display:block;
	padding:0 15px;
}

.swiper-interview-prev,
.swiper-interview-next {
    position: absolute;
    top: 50%;
	background:none;
	width:15px;
	height:32px;
	margin-top:-16px;
	color:#01a1df;
	font-size:26px;
	text-align:center;
}
.swiper-interview-prev:hover,
.swiper-interview-next:hover {
    cursor: pointer;
}

.swiper-interview-prev {
	left:-25px;
}

.swiper-interview-next {
	right:-25px;
}

#page-recruit-interview #relation-contents .swiper-button-prev,
#page-recruit-interview #relation-contents .swiper-button-next {
    color: #fff;
}

.swiper-other-interview .hover {
    position: absolute;
    left: 15px;
    right: 15px;
    margin: auto;
    top: 0;
    bottom: 0;
    background-color:rgba(18,40,59,0.7);
    color: #fff;
    opacity: 0;
    transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.swiper-other-interview .hover dl {
    position: absolute;
    text-align: left;
    left: 20px;
    right: 20px;
    bottom: 20px;
}
.swiper-other-interview .hover dt {
    font-size: 18px;
    font-weight: 500;
    padding-bottom: 5px;
}
.swiper-other-interview .hover dd {
    font-size: 14px;
    line-height: 1.67em;
}

.swiper-other-interview a:hover .hover {
    opacity: 1;
}

.joining-type {
    display: inline-block;
    position: absolute;
    right: 15px;
    bottom: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1em;
    padding: 6px 8px;
    background-color: #01a1df;
    color: #fff;
}

.joining-type.type-graduate {
    background-color: #01a1df;
    color: #fff;
}

.joining-type.type-career {
    background-color: #0e4588;
    color: #fff;
}


@media screen and (max-width: 767px){
	
	.sec-interview-base {
		width: auto;
		margin: 30px 0 0;
		text-align:center;
		clear:both;
	}
	
	.sec-interview-base > .inner {
		width: auto;
		max-width: 1080px;
		margin: auto;
		text-align: left;
		position:relative;
		z-index:2;
		box-sizing: border-box;
	}
	
	.sec-interview-base .block-image {
		position: absolute;
		z-index:1;
	}
	
	.sec-interview-base .block-image img {
		position:relative;
		z-index:2;
	}
	
	.block-image .inner:after {
		display:none;
	}
	
	.sec-interview-base .block-text {
		position:relative;
		z-index:2;
	}
	
	.sec-interview-base h2 {
	}
	.sec-interview-base h2 span {
		display:table;
		color: #fff;
		background: linear-gradient( 90deg, rgba(1, 161, 223, 1), rgba(80, 209, 241, 1));
		font-size: 13px;
		font-weight: 500;
		padding:3px 9px;
		margin-top:5px;
	}
	
	/* Block1 */
	.interview-block-01 {
		position:relative;
	}
	
	.sec-interview-base.interview-block-01 > .inner {
		text-align:center;
	}
	
	.sec-interview-base.interview-block-01 > .inner img {
		width:75%;
		height:auto;
		margin:auto;
	}
	
	.sec-interview-base.interview-block-01 .block-text {
		margin-top:-55px;
		margin-left:0;
		padding-left:0;
		text-align:left;
	}
	
	.interview-block-01 .block-image {
		position: relative;
		right: auto;
		top:auto;
	}
	
	.interview-block-01 .block-image .inner {
		margin-right:0;
	}
	
	.interview-block-01 .block-image .inner:after {
		width:2000px;
		height:490px;
		top:170px;
		right:30px;
	}
	
	/* Block2 */
	.sec-interview-base.interview-block-02 {
		margin-top:50px;
	}
	
	.sec-interview-base.interview-block-02 .block-text {
		margin-top:-55px;
	}
	
	.interview-block-02 .block-image {
		position: relative;
		height:210px;
	}
	.interview-block-02 .block-image .inner {
		position:absolute;
		left: 50%;
		top: 0;
	}
	.interview-block-02 .block-image .inner img {
		margin-left:-317px;
		width:auto;
		height:210px;
	}
	
	.block-text-left {
		width:auto;
		float:none;
		box-sizing:border-box;
		padding-right:0;
	}
	
	.block-text-right {
		width:auto;
		float:none;
		box-sizing:border-box;
		padding-left:0;
	}
	
	
	/* Block3 */
	.sec-interview-base.interview-block-03 {
		margin-top:50px;
	}
	
	.sec-interview-base.interview-block-03 .block-text {
		margin-top:-55px;
	}
	
	.interview-block-03 .block-image {
		position: relative;
		height:210px;
	}
	.interview-block-03 .block-image .inner {
		position:absolute;
		left: 50%;
		top: 0;
	}
	.interview-block-03 .block-image .inner img {
		margin-left:-232px;
		width:auto;
		height:210px;
	}
	
	.interview-block-03 .block-image .inner:after {
		display:none;
	}
	
	
	.sec-interview-base .block-text h3 {
		font-size: 15px;
		font-weight: 500;
		line-height:1.67em;
		color:#01a1df;
		margin-top:20px;
		position:relative;
		padding:0 0 0 23px;
	}
	
	.sec-interview-base .block-text h3:before {
		content:"";
		position:absolute;
		width:18px;
		height:1px;
		background-color:#88d3f0;
		left:0;
		top:12px;
	}
	
	.sec-interview-base .block-text p {
		margin-top:5px;
	}
	
	
	#other-interview {
		width:100%;
		background-color:#f2f3f7;
	}
	
	#other-interview > .inner {
		width:auto;
		max-width:1080px;
		margin:0 auto;
		text-align:left;
		padding:50px 0 40px;
		position:relative;
		text-align: center;
	}

  #other-interview > .inner > p {
    margin-top: 30px;
  }

	#other-interview h2 {
		text-align: center;
		padding: 0 0 20px;
	}
	#other-interview h2 span {
		display: block;
	}
	#other-interview h2 span.txt-eng {
		font-size: 26px;
		font-weight: 500;
		line-height: 1em;
		color: #01a1df;
	}
	#other-interview h2 span.txt-jpn {
		margin: 5px 0 0;
	}
	
	#other-interview .btn-base {
		margin:25px 0 10px;
	}
	
	.swiper-other-interview {
		width:auto;
		margin:0 5px 20px !important;
		position:relative;
	}
	.swiper-other-interview > .inner {
		overflow: hidden;
	}
	
	.swiper-other-interview li a {
		display:block;
		padding:0 5px;
	}
	
	.swiper-interview-prev,
	.swiper-interview-next {
		position: absolute;
		top: 50%;
		background:none;
		width:15px;
		height:32px;
		margin-top:-16px;
		color:#01a1df;
		font-size:26px;
		text-align:center;
	}
	.swiper-interview-prev:hover,
	.swiper-interview-next:hover {
		cursor: pointer;
	}
	
	.swiper-interview-prev {
		left:-25px;
	}
	
	.swiper-interview-next {
		right:-25px;
	}
	
	#page-recruit-interview #relation-contents .swiper-button-prev,
	#page-recruit-interview #relation-contents .swiper-button-next {
		color: #fff;
	}
	
	.swiper-other-interview .hover {
		position: absolute;
		left: 15px;
		right: 15px;
		margin: auto;
		top: 0;
		bottom: 0;
		background-color:rgba(18,40,59,0.7);
		color: #fff;
		opacity: 0;
		transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.swiper-other-interview .hover dl {
		display:none;
	}
	.swiper-other-interview .hover dt {
		font-size: 11px;
		font-weight: 500;
		padding-bottom: 5px;
	}
	.swiper-other-interview .hover dd {
		font-size: 14px;
		line-height: 1.67em;
	}
	
	.swiper-other-interview a:hover .hover {
		opacity: 0;
	}
	
	.joining-type {
		display: inline-block;
		position: absolute;
		right: 5px;
		bottom: 0;
		font-size: 10px;
		font-weight: 500;
		line-height: 1em;
		padding: 6px 8px;
		background-color: #01a1df;
		color: #fff;
	}
	
	.joining-type.type-graduate {
		background-color: #01a1df;
		color: #fff;
	}
	
	.joining-type.type-career {
		background-color: #0e4588;
		color: #fff;
	}
	
}



/* Requirement List
-------------------------------------------------- */

.list-requirement {
    margin-top: 40px;
}

.list-requirement h3 {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.67em;
    color: #01a1df;
    padding-bottom: 15px;
}

.list-requirement li a {
	display:block;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.67em;
    padding: 20px 15px;
    border: 1px #ddd;
    border-style: solid none;
}

.list-requirement li + li a {
    border-style: none none solid;
}

.no-requirement {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.67em;
    padding: 20px 15px;
    border: 1px #ddd;
    border-style: solid none;
}

@media screen and (max-width: 767px){
	
	.list-requirement {
		margin-top: 20px;
	}
	
	.list-requirement h3 {
		font-size: 15px;
		font-weight: 500;
		line-height: 1.67em;
		color: #01a1df;
		padding-bottom: 5px;
	}
	
	.list-requirement li a {
		display:block;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.67em;
		padding: 10px 0;
		border: 1px #ddd;
		border-style: solid none;
	}
	
	.no-requirement {
		font-size: 12px;
		font-weight: 500;
		line-height: 1.67em;
		padding: 10px 0;
		border: 1px #ddd;
		border-style: solid none;
	}
	
}


/* Welfare
-------------------------------------------------- */

#page-recruit-welfare #page-contents {
	width:100%;
	padding:60px 0 0;
}

.welfare-heading-main {
	position:relative;
}

.welfare-heading-main h2 {
	position:absolute;
	box-sizing:border-box;
	width:520px;
	top:50%;
	left:0;
	right:0;
	background-color:rgba(255,255,255,0.8);
	text-align:center;
	padding:20px 20px;
	margin:-50px auto 0;
}

.welfare-heading-main h2 span.txt-eng {
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:18px;
	font-weight:500;
	line-height:1.67em;
	color:#01a1df;
}

.welfare-heading-main h2 span.txt-jpn {
	display:block;
	font-size:28px;
	font-weight:500;
	line-height:1.67em;
}

.welfare-heading-sub h2 span.txt-eng {
	font-family: 'Roboto', sans-serif;
	display:block;
	font-size:18px;
	font-weight:500;
	line-height:1.67em;
	color:#01a1df;
}

.welfare-heading-sub h2 span.txt-jpn {
	display:block;
	font-size:28px;
	font-weight:500;
	line-height:1.67em;
}

.welfare-user-voice {
	clear:both;
	position:relative;
	border:1px #ddd solid;
	background:url(../img/recruit/general/welfare/bg_voice.png);
	padding:20px 20px 20px 0;
	margin-top:40px;
}

.user-voice-few {
	padding:40px 20px 40px 0;
}

.icon-user-voice {
	position:absolute;
	width:190px;
	height:80px;
	text-align:center;
	margin:auto;
	top:0;
	bottom:0;
	color:#01a1df;
}

.welfare-user-voice ul {
	margin:0 0 0 200px;
}

.welfare-user-voice ul li {
	list-style:disc outside;
	color:#01a1df;
}

.welfare-user-voice ul li span {
	color:#333;
}

.sec-welfare-sub p {
	margin-top:10px;
}



@media screen and (max-width: 767px){
	
	#page-recruit-welfare #page-contents {
		width:100%;
		padding:30px 0 0;
	}
	
	.welfare-message {
		margin:0 20px;
	}
	
	.welfare-heading-main {
		position:relative;
	}
	
	.welfare-heading-main h2 {
		position:absolute;
		box-sizing:border-box;
		width:auto;
		top:auto;
		bottom:0;
		left:20px;
		right:20px;
		background-color:rgba(255,255,255,0.8);
		text-align:center;
		padding:10px 10px;
		margin:0 auto 0;
	}
	
	.welfare-heading-main h2 span.txt-eng {
		font-family: 'Roboto', sans-serif;
		display:block;
		font-size:12px;
		font-weight:500;
		line-height:1.67em;
		color:#01a1df;
	}
	
	.welfare-heading-main h2 span.txt-jpn {
		display:block;
		font-size:15px;
		font-weight:500;
		line-height:1.67em;
	}
	
	.welfare-heading-sub h2 span.txt-eng {
		font-family: 'Roboto', sans-serif;
		display:block;
		font-size:12px;
		font-weight:500;
		line-height:1.67em;
		color:#01a1df;
	}
	
	.welfare-heading-sub h2 span.txt-jpn {
		display:block;
		font-size:15px;
		font-weight:500;
		line-height:1.67em;
	}
	
	.welfare-user-voice {
		clear:both;
		position:relative;
		border:1px #ddd solid;
		background:url(../img/recruit/general/welfare/bg_voice.png);
		padding:10px;
		margin:20px 20px 0;
	}
	
	.user-voice-few {
		padding:10px;
	}
	
	.icon-user-voice {
		position:relative;
		width:190px;
		height:80px;
		text-align:center;
		margin:auto;
		top:auto;
		bottom:auto;
		color:#01a1df;
	}
	
	.welfare-user-voice ul {
		margin:0 0 0 20px;
	}
	
	.welfare-user-voice ul li {
		list-style:disc outside;
		color:#01a1df;
	}
	
	.welfare-user-voice ul li span {
		color:#333;
	}
	
	.welfare-contents.list-index-menu {
		margin:20px 20px 0;
	}
	
	.sec-welfare-sub p {
		margin-top:10px;
	}
	
	.welfare-other {
		margin:0 20px;
	}
	
}


/* Requirement
-------------------------------------------------- */

#requirement-heading {
	margin-top:60px;
}

.requirement-title {
	box-sizing:border-box;
	border:1px #dddddd;
	border-style: solid none;
	background-color:#f2f3f7;
	padding:30px 40px;
	text-align:center;
}

.requirement-title h2 {
	font-size:28px;
	font-weight:500;
	line-height:1.67em;
}

.requirement-title p {
	font-size:18px;
	line-height:1.67em;
	margin:10px 0 0;
}

.requirement-outline {
	margin-top:60px;
}

.requirement-outline .photo {
	width:50%;
	float:right;
	box-sizing:border-box;
	padding-left:30px;
}

.requirement-outline .block-text {
	width:50%;
	box-sizing:border-box;
	padding-right:30px;
}

.requirement-outline .block-text.no-photo {
	width: auto;
	padding-right:0;
}

.requirement-outline .block-text h3 {
	font-size:22px;
	font-weight:500;
	line-height:1.67em;
}

.requirement-outline .block-text p {
	margin:20px 0 0;
}

.requirement-info table td h4 {
	font-weight:500;
	margin-top:15px;
}

.requirement-info table td p {
	margin-top:15px;
}

.requirement-info table td p:first-child,
.requirement-info table td h4:first-child,
.requirement-info table td h4 + p {
	margin-top:0;
}

.requirement-info p + ul {
    margin-top: 15px;
}

.requirement-info ul {
	padding-left:20px;
}

.requirement-info ul li {
	list-style-type:disc;
}

.requirement-info .txt-note {
	text-indent:-1em;
	padding-left:1em;
}

.requirement-entry {
	text-align:center;
	padding:40px 0 0;
}

.requirement-entry p {
	margin-top:40px;
}

.requirement-entry div {
	margin-top:10px;
}



@media screen and (max-width: 767px){
	
	#requirement-heading {
		margin-top:20px;
	}
	
	.requirement-title {
		box-sizing:border-box;
		border:1px #dddddd;
		border-style: solid none;
		background-color:#f2f3f7;
		padding:10px 10px;
		text-align:center;
	}
	
	.requirement-title h2 {
		font-size:16px;
		font-weight:500;
		line-height:1.67em;
	}
	
	.requirement-title p {
		font-size:13px;
		line-height:1.67em;
		margin:10px 0 0;
	}
	
	.requirement-outline {
		margin-top:10px;
	}
	
	.requirement-outline .photo {
		width:auto;
		float:none;
		box-sizing:border-box;
		padding-left:0;
	}
	
	.requirement-outline .block-text {
		width:auto;
		box-sizing:border-box;
		padding-right:0;
		margin-top:20px;
	}
	
	.requirement-outline .block-text h3 {
		font-size:16px;
		font-weight:500;
		line-height:1.67em;
	}
	
	.requirement-outline .block-text p {
		margin:10px 0 0;
	}
	
	.requirement-info table td h4 {
		font-weight:500;
		margin-top:15px;
	}
	
	.requirement-info table td p {
		margin-top:15px;
	}
	
	.requirement-info table td h4:first-child,
	.requirement-info table td h4 + p {
		margin-top:0;
	}
	
	.requirement-entry {
		text-align:center;
		padding:20px 0 0;
	}
	
	.requirement-entry p {
		margin-top:40px;
	}
	
	.requirement-entry div {
		margin-top:10px;
	}

    .requirement-info p + ul {
        margin-top: 10px;
    }

}



/* Entry
-------------------------------------------------- */

.sec-entry-input table td br {
	display:block !important;
}

.sec-entry-input table + h2.title-sec-01 {
	margin-top:60px;
}

.sec-entry-input .txt-note {
	display:block;
	font-size:12px;
	line-height:1.33em;
	color:#01a1df;
}


@media screen and (max-width: 767px){

}


