@charset "utf-8";


/*---------------------------------------------------------------------------------------
	section
----------------------------------------------------------------------------------------*/

/* clear */
.clear {clear: both;} .clear-l {clear: left;} .clear-r {clear: right;}
.clearfix:before, .clearfix:after{ content: ""; display: table;}
.clearfix:after{ clear: both;}

section#contents{
	clear: both;
	background: url("/recruit_common/images/bg-pc.jpg") no-repeat center top 423px #f8f8f8;
	overflow: hidden;
}
h2 {
	height: 423px;
	padding-top: 110px;
	margin-bottom: 70px;
	color: #fff;
	font-size: 26px;
	font-weight: bold;
	background-size: cover!important;
}
h2 img{
	width: 600px;
	height: auto;
	margin-bottom: 20px;
}
h2 strong{
	font-size: 34px;
}
h2.ct1{ background: url("/recruit_common/images/ct1-titlebg.jpg") no-repeat center top;}
h2.ct2{ background: url("/recruit_common/images/ct2-titlebg.jpg") no-repeat center top;}
h2.ct3{ background: url("/recruit_common/images/ct3-titlebg.jpg") no-repeat center top;}
h2.ct4{ background: url("/recruit_common/images/ct4-titlebg.jpg") no-repeat center top;}
h2.top-title{
	background: url("/recruit_common/images/titlebg.jpg") no-repeat center top;
	background-size: cover;
}
h2.top-title img{
    margin-bottom: 0;
}
section#contents article{
	overflow: visible!important;
}
section#contents article .box1{
	text-align: left;
	position: relative;
	margin-bottom: 40px;
}
section#contents article img{
	width: 100%;
	height: auto;
}
section#contents article .box1 dl{
	margin-top: -65px;
	width: 45%;
	margin-bottom: 20px;
}
section#contents article .box1 dl:nth-of-type(1){
	float: left;
	width: 45%;
}
section#contents article .box1 dl:nth-of-type(2){
	float: right;
	width: 45%;
}
section#contents article .box1 dl dt{
	padding: 0 8% 15px;
}
section#contents article .box1 dl dt img{
	box-shadow:0px 0px 10px -5px #606060;
}
section#contents article .box1 dl dd{
	padding-left: 10px;
	border-left: 2px solid #DC000C;
}
section#contents article .box1 p.cross{
	position: absolute;
	left: 50%;
	top: 40px;
	margin-left: -40px;
}
section#contents article .box1 p.kome{
	clear: both;
	font-size: 12px;
	text-align: left;
}
section#contents article .box2 {
	text-align: left;
	position: relative;
	margin-bottom: 40px;
}
section#contents article .box2 dl{
	width: 45%;
	margin-top: -65px;
	margin-bottom: 20px;
	padding: 0 5%;
	overflow: hidden;
}
section#contents article .box2 dl:nth-of-type(1){
	float: left;
	margin-bottom: 50px;
}
section#contents article .box2 dl:nth-of-type(2){
	float: right;
	margin-bottom: 50px;
}
section#contents article .box2 dl:nth-of-type(3){
	clear: left;
	float: left;
	margin-top: 0;
}
section#contents article .box2 dl:nth-of-type(4){
	clear: right;
	float: right;
	margin-top: 0;
	margin-bottom: 40px;
}
section#contents article .box2 dl dt{
	padding: 0 2% 20px;
}
section#contents article .box2 dl dt img{
	/*box-shadow:0px 0px 10px -5px #606060;*/
}
section#contents article .box2 dl dd{
	padding-left: 10px;
	border-left: 2px solid #DC000C;
}
section#contents article .box2 dl dd.busho{
	padding-left: 10px;
	border-left: 2px solid #C9C9C9;
}
section#contents article .box2 p.cross{
	position: absolute;
	left: 50%;
	top: 240px;
	margin-left: -40px;
}
section#contents article .box2 p.cross.sponly{ display: none;}
section#contents article .box2 p.kome{
	clear: both;
	font-size: 12px;
	text-align: left;
}
section#contents article h3{
	clear: both;
	font-size: 26px;
	font-weight: bold;
	text-align: left;
	line-height: 1.3;
	padding-top: 50px;
	padding-left: 35px;
	position: relative;
	margin-bottom: 30px;
}
section#contents article h3:before{
	display: inline-block;
	position: absolute;
	left: 0;
	top: 65px;
	content: "";
	width: 25px;
	height: 3px;
	background: #DC000C;
}
section#contents article h3 strong{
	display: inline-block;
	margin-right: 1.5em;
}
section#contents article div.talk{
	display: table;
	width: 100%;
	margin-bottom: 20px;
}
section#contents article div.talk figure{
	display: table-cell;
	width: 180px;
	text-align: left;
	vertical-align: top;
	padding-right: 30px;
}
section#contents article div.talk p{
	display: table-cell;
	text-align: left;
	vertical-align: middle;
	position: relative;
}
section#contents article div.talk.pink p:before{
	content: "";
	display: inline-block;
	position: absolute;
	right: 100%;
	top: 65px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11.5px 22px 11.5px 0;
	border-color: transparent #FFEBEB transparent transparent;
}
section#contents article div.talk.yellow p:before{
	content: "";
	display: inline-block;
	position: absolute;
	right: 100%;
	top: 65px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11.5px 22px 11.5px 0;
	border-color: transparent #FAFAE5 transparent transparent;
}
section#contents article div.talk.gray p:before{
	content: "";
	display: inline-block;
	position: absolute;
	left: 100%;
	top: 65px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11.5px 0 11.5px 22px;
	border-color: transparent transparent transparent #EAEAEA;
}
section#contents article div.talk.blue p:before{
	content: "";
	display: inline-block;
	position: absolute;
	left: 100%;
	top: 65px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 11.5px 0 11.5px 22px;
	border-color: transparent transparent transparent #E9F4F8;
}
section#contents article div.talk p span{
	display: inline-block;
	padding: 20px;
	text-align: left;
	background: #FFEBEB;
	border-radius: 15px;
}
section#contents article div.talk.gray figure,
section#contents article div.talk.blue figure{
	padding-right: 0;
	padding-left: 30px;
}
section#contents article div.talk.gray p,
section#contents article div.talk.blue p{
	text-align: right;
	position: relative;
}
section#contents article div.talk.gray p span{	background: #EAEAEA;}
section#contents article div.talk.yellow p span{ background: #FAFAE5;}
section#contents article div.talk.blue p span{ background: #E9F4F8;}

section#contents aside#crosstalk-other{
	clear: both;
	max-width: 960px;
	margin: 0 auto 70px;
	display: flex;
	justify-content: center;
}
section#contents aside#crosstalk-other a{
	display: block;
	float: left;
	width: 31.33333%;
	margin-right: 3%;
	color: #000;
	background: #fff;
	box-shadow:0px 0px 13px -5px #606060;
}
section#contents aside#crosstalk-other a:last-of-type{
	margin-right: 0;
}
section#contents aside#crosstalk-other a:hover{
	opacity: .6;
}
section#contents aside#crosstalk-other a span{
	display: block;
	font-size: 20px;
	line-height: 90px;
	padding-left: 1em;
}
section#contents aside#crosstalk-other a span:after{
	display: inline-block;
	content: "";
	width: 23px;
	height: 6px;
	background: url("/recruit_common/images/icon-right.svg");
	vertical-align: middle;
	margin-bottom: 5px;
	margin-left: 1em;
}


@media screen and (max-width:767px){
	section#contents{
		padding: 0;
	}
	h2 {
		height: auto;
		padding: 8% 3%!important;
		margin-bottom: 40px;
		font-size: 18px;
		background-size: auto 100%!important;
	}
	h2 img{
		width: 100%;
		margin-bottom: 15px;
	}
	h2 strong{
		font-size: 22px;
	}
	section#contents article .box1{
		margin-bottom: 40px;
	}
	section#contents article .box1 dl{
		float: none!important;
		width: auto!important;
		margin-bottom: 20px;
	}
	section#contents article .box1 dl:nth-of-type(1){
		margin-top: -40px;
	}
	section#contents article .box1 dl:nth-of-type(2){
		margin-top: 0!important;
	}
	section#contents article .box1 dl dt{
		padding: 0 20% 15px;
		text-align: center;
	}
	section#contents article .box1 dl dt img{
		max-width: 300px;
	}
	section#contents article .box1 dl dd{
		padding-left: 10px;
		border-left: 2px solid #DC000C;
	}
	section#contents article .box1 p.cross{
		position: static;
		margin-left: 0;
		margin-bottom: 30px;
		text-align: center;
	}
	section#contents article .box1 p.cross img{
		width: 50px;
		height: auto;
	}
	section#contents article .box1 p.kome{
		clear: both;
		font-size: 12px;
		text-align: left;
	}
	section#contents article .box2 {
		margin-bottom: 40px;
	}
	section#contents article .box2 dl{
		float: none!important;
		width: auto!important;
		margin-bottom: 20px!important;
	}
	section#contents article .box2 dl:nth-of-type(2){
		margin-top: 0!important;
	}
	section#contents article .box2 dl dt{
		padding: 0 20% 15px;
		text-align: center;
	}
	section#contents article .box2 p.cross{
		position: static;
		margin-left: 0;
		margin-bottom: 30px;
		text-align: center;
	}
	section#contents article .box2 p.cross img{
		width: 50px;
		height: auto;
	}
	section#contents article .box2 p.cross.sponly{ display: block;}
section#contents article .box2 p.kome{
	clear: both;
	font-size: 12px;
	text-align: left;
}
	section#contents article h3{
		font-size: 20px;
		padding-left: 25px;
		margin-bottom: 20px;
	}
	section#contents article h3:before{
		width: 20px;
	}
	section#contents article div.talk{
		display: table;
		width: 100%;
		margin-bottom: 10px;
	}
	section#contents article div.talk figure{
		width: 100px;
		padding-right: 20px;
	}
	section#contents article div.talk.pink p:before,
	section#contents article div.talk.yellow p:before{
		top: 30px;
		border-width: 6px 11px 6px 0;
	}
	section#contents article div.talk.gray p:before,
	section#contents article div.talk.blue p:before{
		top: 30px;
		border-width: 6px 0 6px 11px;
	}
	section#contents article div.talk p span{
		padding: 10px 15px;
	}
	section#contents article div.talk.gray figure{
		padding-right: 0;
		padding-left: 30px;
	}
	section#contents article div.talk.gray p{
		text-align: right;
		position: relative;
	}
	section#contents article div.talk.gray p span{
		background: #EAEAEA;
	}
	
	section#contents aside#crosstalk-other{
		padding: 0 5%;
		margin: 0 auto 60px;
	}
	section#contents aside#crosstalk-other a{
		float: none;
		width: auto;
		max-width: 500px;
		margin: 0 auto 20px;
	}
	section#contents aside#crosstalk-other a:last-of-type{
	margin: 0 auto 20px;
	}

	section#contents aside#crosstalk-other a:hover{
		opacity: 1;
	}
	section#contents aside#crosstalk-other a span{
		font-size: 16px;
		line-height: 60px;
	}
}


section#contents article.top{
    padding: 0;
    margin-bottom: 30px;
}
section#contents article.top a{
    display: table;
    width: 100%;
}
section#contents article.top dl,
section#contents article.top figure{
    display: table-cell;
    width: 50%;
    vertical-align: middle;
}
section#contents article.top dl{
    font-size: 22px;
    font-weight: bold;
    text-align: left;
    padding-right: 5px;
}
section#contents article.top dl dt{
    color: #DC000C;
}
section#contents article.top dl dt:before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 46px;
    height: 5px;
    background: #DC000C;
    margin-right: 24px;
}
section#contents article.top dl dd{
    color: #000;
    margin-left: 70px;
}
section#contents article.top figure{
    text-align: right;
}
@media screen and (max-width:767px){
    section#contents article.top{
        margin-bottom: 20px;
        margin-right: 15px;
        margin-left: 15px;
    }
    section#contents article.top:last-of-type{
        margin-bottom: 50px;
    }
    section#contents article.top dl{
        font-size: 16px;
        padding: 5px 5px 5px 0;
    }
    section#contents article.top dl dt:before{
        width: 20px;
        height: 3px;
        margin-right: 15px;
    }
    section#contents article.top dl dd{
        margin-left: 35px;
    }
}
















