/**********************************/
/* タイトル部分 */
/**********************************/

/* 文字の部分は各ページごとにサイズが異なるので */
.ttl_bg{
	background-image: url("../images/recruitment/main_bg.jpg");
}
.ttl_mojipos{
	width:72.72%;
	margin: 0 0 0 11.61%;

}

@media only screen and (min-width: 769px) {

	.ttl_mojipos{
		width: 69.67%;
		margin: 0 0 0 12.96%;
	}

}

/**********************************/
/**********************************/

/* オーバーライド */

.contents_area{
	margin-top: 35px;
}

.disp_sp{
	display: block;
}
.disp_pc{
	display: none;
}
@media only screen and (min-width: 769px) {
	.disp_sp{
		display: none;
	}
	.disp_pc{
		display: block;
	}
}

.contents_area article{
	width: 100%;
	background-color: #fff;
	padding: 1em 1.2em 3em;
	color: #2E3B51;
}

.guide{
	border-top: 6px solid #2E3B51;
	margin: 40px 0 0;
}
.recrut{
	border-top: 6px solid #93ABAB;
	margin: 40px 0 0;
}


article p{
	color: #616161;
}

.article_topm{
	margin: 30px 0 0;
}

.con_ttl{
	font-size: 14px;
	font-weight: bold;
	line-height: 21px;
	padding: 0 50px 0 0;
}
.update{
	font-size: 12px;
}

.address_area dt{
	width: calc( 100% - 68% ) !important;
}
.address_area dd{
	width: 68% !important;
}

.icon_btn{
	line-height: 70px;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	position: relative;
	display: block;
}
.icon_btn>span.iconimg{
	position: absolute;
	top: 45%;
	left: 10%;
	transform: translateY(-50%) translateX(-50%);
/*
	-webkit- transform: translateY(-50%) translateX(-50%);
*/
}
.mail_btn{
	background-color: #2E3B51;
}
.word_btn{
	background-color: #93ABAB;
}

.nyukyoku{
	font-weight: bold;
	color: #93ABAB;
	text-decoration: underline;
}
.stand_out{
	font-weight: bold;
	color: #FFB74B;
}
.rireki{
	text-decoration: underline;
}

.guide .btn_topm{
	margin: 20px 0 0;
}
.recrut .btn_topm{
	margin: 20px 0 0;
}

.recrut .info_m{
	margin: 30px 0 0;
}
.recruitment_dl a {
	color: #2E3B51;
	text-decoration: underline;
}
@media only screen and (min-width: 769px) {
	.contents_area article{
		padding: 1.5em 1.8em 2em;
	}
	.guide{
		margin: 40px 0 0;
	}
	.recrut{
		margin: 40px 0 0;
	}

	.article_topm{
		margin: 30px 0 0;
	}

	.con_ttl{
		font-size: 18px;
		font-weight: bold;
		line-height: 25px;
		padding: 0 50px 0 0;
	}
	.update{
		font-size: 14px;
	}

	.address_area dt{
		width: calc( 100% - 76% ) !important;
	}
	.address_area dd{
		width: 76% !important;
	}


	.icon_btn{
		line-height: 70px;
		color: #fff;
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		position: relative;
		display: block;
	}
	.icon_btn>span.iconimg{
		position: absolute;
		top: 45%;
		left: 5%;
		transform: translateY(-50%) translateX(-50%);
	/*
		-webkit- transform: translateY(-50%) translateX(-50%);
	*/
	}
	.mail_btn{
		background-color: #2E3B51;
	}
	.word_btn{
		background-color: #93ABAB;
	}

	.nyukyoku{
		font-weight: bold;
		color: #93ABAB;
		text-decoration: underline;
	}
	.stand_out{
		font-weight: bold;
		color: #FFB74B;
	}
	.rireki{
		text-decoration: underline;
	}

	.guide .btn_topm{
		margin: 20px 0 0;
	}
	.recrut .btn_topm{
		margin: 20px 0 0;
	}

	.recrut .info_m{
		margin: 30px 0 0;
	}
}
.red {
	color:#FF0000;
	font-weight:bold; 
}

ol.conbox{
	padding:0 0 0 0em;
	margin: 1em 0 0;
}
 
ol.conbox li{
	list-style-type:none;
	list-style-position:inside;
	counter-increment: cnt;
	padding-left: 1em;
}
ol.conbox li:before{
	display: marker;
	content: "" counter(cnt) ". ";
	margin-left: -1em;
}


.bold{
	color: #D70027;
	margin: 1em;
}


/****************************************/
/* ページプルダウン機能CSSなので長い */
/****************************************/
.rectg li {
	position: relative;
	display: block;
	animation: flipdown 0.5s ease both;
}
.rectg {
	list-style: none;
	perspective: 900;
}
.rectg li i {
	position: absolute;
	transform: translate(-28px, 0);
	margin-top: -4px;
	right: 0;
}
.rectg li i:before, .rectg li i:after {
	content: "";
	position: absolute;
	background-color: #2E3B51;
	width: 2px;
	height: 10px;
	transition: all 0.25s ease-in-out;
}
.rectg li i:before {
	transform: translate(-3.5px, 9px) rotate(45deg);
}
.rectg li i:after {
	transform: translate(2.5px, 9px) rotate(-45deg);
}
.rectg li input[type=checkbox] {
	position: absolute;
	left: 0;
	top: 0;
	cursor: pointer;
	width: 100%;
	height: 98%;/* 100%にするとedgeでバグるのでギリギリライン */
	z-index: 1;
	opacity: 0;
}
.rectg li div.slide {
	margin: 0px 0 0;
/*
	max-height: 3500px;
*/
	font-size: 15px;
	line-height: 20px;
	overflow: hidden;
	position: relative;
	opacity: 1;
	transform: translate(0, 0);
	z-index: 2;
	transition: all .5s ease-in-out;
	border-bottom: solid #2E3B51 1px;
	display: flex;
	flex-flow: column;
}
.rectg li div.slide {
	border-bottom: none;
}
.rectg li input[type=checkbox]:checked ~ div.slide {
	margin: 0;
	max-height: 0;
	opacity: 0;
	transform: translate(0, 50%);
}
.rectg li input[type=checkbox]:checked ~ i:before {
	transform: translate(2.5px, 9px) rotate(45deg);
}
.rectg li input[type=checkbox]:checked ~ i:after {
	transform: translate(-3.5px, 9px) rotate(-45deg);
}
@keyframes flipdown {
	0% {
		opacity: 0;
		transform-origin: top center;
		transform: rotateX(-90deg);
	}
	5% {
		opacity: 1;
	}
	80% {
		transform: rotateX(8deg);
	}
	83% {
		transform: rotateX(6deg);
	}
	92% {
		transform: rotateX(-3deg);
	}
	100% {
		transform-origin: top center;
		transform: rotateX(0deg);
	}
}
@media only screen and (min-width: 769px) {
	.rectg li div.slide {
	}
	.rectg li i:before, .rectg li i:after {
		width: 3px;
		height: 13px;
	}
	.rectg li i:before {
		transform: translate(-4.5px, 9px) rotate(45deg);
	}
	.rectg li i:after {
		transform: translate(3.5px, 9px) rotate(-45deg);
	}
	.rectg li input[type=checkbox]:checked ~ i:before {
		transform: translate(3.5px, 9px) rotate(45deg);
	}
	.rectg li input[type=checkbox]:checked ~ i:after {
		transform: translate(-4.5px, 9px) rotate(-45deg);
	}
}


.page_sub_ttl{
	font-size: 20px;
	color: #2E3B51;
	line-height: 2em;
}
h3.page_sub_ttl {
  padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
  color: #494949;/*文字色*/
  background: #f4f4f4;/*背景色*/
  border-left: solid 5px #7db4e6;/*左線*/
	margin-bottom: 1em;
}

h3.web.page_sub_ttl {
  border-left: solid 5px #2E3B51;/*左線*/
	margin-top:50px;
}

h3.real.page_sub_ttl {
  border-left: solid 5px #93ABAB;/*左線*/
	margin-top:50px;
}

.testinfo_wrap{
	padding: 0 0 0 1em;
}

a.testselbt{
	display: block;
	width: 100%;
	margin: 20px 0 0;
	padding: 0.5em 7% ;
	border-radius: 0.2em;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: url(../images/page_nav_arrow.svg) no-repeat 93% center;
}

.testselbox{
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	margin: 1em 0;
}

a.isweb{
	border: solid #2E3B51 1px;
	background-color: #2E3B51;
}

a.isreal{
	border: solid #93ABAB 1px;
	background-color: #93ABAB;
}

dl.ovm{
	margin: 50px 0 0;
}


@media only screen and (min-width: 769px) {
	.testselbox{
		display: flex;
		flex-flow: row;
		justify-content: space-between;
		margin: 1em 0;
	}
	a.testselbt{
		width: 48%;
		margin: 0;
	}
	dl.ovm{
		margin: 50px 0 0;
	}	
}
.txtud{
	text-decoration: underline;
}

.font_wn{
	font-weight: normal;
}

.pad{
	padding: 0 0 0 1em;
}

.nolist{
  position: relative;
  margin: 0;
  padding: 0;
}

.nolist li{
	list-style: none;
	list-style-position: outside;
	margin: 0;
	padding-left: 1.25em;
	line-height: 25px;
	margin: 0 0 0.2em;
}

.nolist li span.maruno {
  position: absolute;
  left: 0;
  margin: 0;
}

.red2{
	color: #D70027;
}


.rectg.sub li i.tgicon{
	margin-top: 14px;
}

