@charset "utf-8";



/* ------------------------
	template
------------------------ */

#recruit_wrapper {
	margin: 0 auto;
	width: 860px;
	padding: 0;
	float: none;
}

#recruit_main {
	clear: both;
	margin: 0 auto;
	width: 100%;
	text-align: left;
}


/* ------------------------
	title
------------------------ */

#recruit_title {
	position: relative;
	clear: both;
	margin: 0 auto 20px;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: auto;
	text-align: left;
	padding:0 10px 4px 0;
	border-bottom:1px solid #aaa;
	margin-bottom:0px;
	display:inline-block;
	-webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}

#recruit_title .head {
	clear: both;
	float: left;
}

#recruit_title .head h1 {
	padding: 0px 0px 0px 0px;
	font-size: 2.4em;
	font-weight: normal;
	line-height: 150%;
	letter-spacing: 4px;
	color: #333;
}


#recruit_title .observe {
	position: absolute;
	right: 0px;
	margin: 0px 0px 10px 0px;
	padding: 0px 0px 0px 0px;
	width: 250px;
	display: block;
	background-color: #fff;
	border: solid 1px #333;
	bottom:5px;
}

#recruit_title .observe h2 {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 2.5em;
	color: #333;
	text-align: center;
}

.catch {
	clear: both;
	margin:15px 0;
}

#recruit_title .catch h3 {
	padding: 0px 0px 0px 5px;
	font-size: 1.2em;
	font-weight: normal;
	line-height: 150%;
	color: #333;
}


/* ------------------------
	category
------------------------ */

#category {
	clear: both;
	margin: 0px 0px 20px 0px;
	width: 100%;
}

div.category a {
	color: #fff;
	text-decoration: none;
	display: block;
}

ul.category {
	margin-left: -15px;
 table-layout: fixed;
 width: 890px;
	display: table;
	table-layout: fixed;
	border-collapse: serarate;
	border-spacing: 15px 0;
}

ul.category li {
	margin: 0 5px 0 5px;
	padding: 10px 0px;
	display: table-cell;
	list-style: none;
	vertical-align: middle;
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: 0.5em;
	line-height: 2.0em;
	color: #fff;
	text-align: center;
}

ul.category li:hover {
	filter: alpha(opacity=60);
	-ms-filter: 'alpha(opacity=60)';
	opacity: 0.6;
}
ul.category li.newgrad:hover {
	filter: alpha(opacity=100);
	-ms-filter: 'alpha(opacity=100)';
	opacity: 1.0;
}

.jobcategory:hover {
	filter: alpha(opacity=60);
	-ms-filter: 'alpha(opacity=60)';
	opacity: 0.6;
}

.icon {
	margin: 0px 15px 0px 0px;
	padding: 10px 10px 10px 10px;
	font-size: 1.1em;
	font-weight: normal;
	color: #fff;
	text-align: center;
	line-height: 120%;
	float: left;
	position: relative;
	top: 26px;
	left: 8px;
}
.top_menu_area .btn img.icon {
    width: 100%;
    max-width: 160px;
	margin: 0;
	padding: 0;
	float: none;
	position: relative;
	top: auto;
	left: auto;
}
.newgrad {
	background-color: #3399CC;
}
.career {
	background-color: #003366;
}
.contract {
	background-color: #2e8b57;
}


/* ------------------------
	joblist
------------------------ */

div#joblist {
	margin: 0 auto;
	width: 100%;
	display: table;
	table-layout: fixed;
	border-collapse: serarate;
	border-spacing: 15px 0;
}

div.joblist {
	margin: 0 0 0 5px;
	padding: 6px;
	display: table-cell;
	list-style: none;
	vertical-align: top;
	color: #000;
	text-align: left;
}

div.joblist a {
	color: #333;
}

div.joblist a.button {
	clear: both;
	text-decoration: none;
}

div.joblist li {
	margin: 0 auto;
	padding: 8px 0 0 0;
	font-size: 1.1em;
	font-weight: normal;
}

div.joblist li.item {
	color: #336699;
	font-size: 1.2em;
	font-weight: bold;
}

div.joblist li.itemsmall {
	color: #336699;
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.2em;
}

div.joblist li.buttonlink {
	margin: 10px auto;
	padding: 15px 0 13px 0;
	width: 250px;
	color: #fff;
	clear: both;
	font-size: 1.2em;
	font-weight: bold;
	background: #336699;
	display: block;
	text-align: center;
	line-height: 1.3em;
}

div.joblist li.buttonlink:hover {
	filter: alpha(opacity=60);
	-ms-filter: 'alpha(opacity=60)';
	opacity: 0.6;
}

div.joblist li.button {
	margin: 10px auto;
	padding: 10px 0 8px 0;
	width: 220px;
	color: #336699;
	font-size: 1.2em;
	font-weight: bold;
	border: solid 1px #336699;
	display: block;
	text-align: center;
	line-height: 1.3em;
}

/* ------------------------
	c-joblist
------------------------ */

.c-joblist--list {
	display: flex;
	justify-content: space-between;
  align-items: stretch;
	flex-wrap: wrap;
}

.c-joblist--item {
	width: calc(50% - 10px);
}

.c-joblist--item:nth-child(n+3) {
	margin-top: 20px;
}

.c-joblist--category {
	color: #FFF;
  min-height: 230px;
	position: relative;
}

.c-joblist--category-1 {
  min-height: 120px;
	position: relative;
}

.c-joblist--category .c-joblist--link {
	color: #FFF;
	display: block;
	border: 1px solid #FFF;
	min-height: 230px;
}

.c-joblist--category .c-joblist--link-1{
	color: #FFF;
	display: block;
	border: 1px solid #FFF;
	min-height: 180px;
}

.c-joblist--category .c-joblist--link:link,
.c-joblist--category .c-joblist--link:visited{
	opacity: 1;
}

.c-joblist--category .c-joblist--link:hover {
	opacity: .6;
}
.c-joblist--category .c-joblist--link-1:hover {
	filter: alpha(opacity=100);
	-ms-filter: 'alpha(opacity=100)';
	opacity: 1.0;
}


.c-joblist--category-newgrad {
	background: #3399CC;
	border: 1px solid #3399CC;
}

.c-joblist--category-career {
	background: #003366;
	border: 1px solid #003366;
}

.c-joblist--category-comeback {
	background: #c1434a;
	border: 1px solid #c1434a;
}

.c-joblist--category-contract {
	background: #2e8b57;
	border: 1px solid #2e8b57;
}

.c-joblist--txtarea {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
}

.c-joblist--link .c-joblist--txtarea::after {
	content: "▼";
	display: inline-block;
	position: absolute;
	bottom: -40px;
	left: 50%;
	transform: translateX(-50%);
    color: #D80000;
    font-size: 30px
}

.c-joblist--title {
	font-size: 30px;
	letter-spacing: 0.2em;
	text-align: center;
}

.c-joblist--title-br {
	display: none;
}

.c-joblist--content {
	font-size: 16px;
	text-align: center;
	width: 100%;
	display: block;
}

.c-joblist--content-new {
	font-size: 12px;
	text-align: center;
	width: 100%;
	margin-top: 2px;
}

@media screen and (max-width:768px) {
	.c-joblist--list {
    flex-direction: column;
	}

	.c-joblist--item {
		width: 100%;
		margin-bottom: 28px;
	}

	.c-joblist--item:nth-child(n+3) {
		margin-top: 0;
	}

	.c-joblist--title-br {
		display: block;
	}
}

/* ------------------------
	button
------------------------ */

.entry_block {
	margin: 0px auto;
	padding: 0px 0px 30px 0px;
	width: 100%;
	display: block;
	text-align: center;
}

.entry_block a {
	color: #444;
}

.btn_inquiry {
	margin: 0px auto;
	border: solid 2px #ccc;
	font-size: 1.2em;
	padding: 15px 50px 15px 50px;
	text-decoration: none;
	display: inline-block;
	font-weight:bold;
	color: #555;
	background-color: #eee;
}

.btn_inquiry:hover{
	border: solid 2px #ccc;
	color: #fff;
	background-color: #aaa;
	text-decoration: none;
}


/* ------------------------
	table
------------------------ */

#recruit_main .tab {
	margin: 0px 0px 0px 0px;
	padding: 10px 0px 30px 0px;
	width: 860px;
}

#recruit_main .headline {
	margin: 40px auto 20px;
	padding: 10px 0px 10px 64px;
	font-size: 1.3em;
	font-weight: bold;
	line-height: 150%;
	color: #000;
}


.newgrad_hd {
	background-color: #d2ebf7;
	border: solid 1px #7cbdde;
}
.career_hd {
	background-color: #c9dbee;
	border: solid 1px #6a98c6;
}
.contract_hd {
	background-color: #d1f0d1;
	border: solid 1px #73c773;
}



#recruit_main table {
	margin-bottom: 30px;
	width: 100%;
	border-left: solid 1px #ddd;
	border-right: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
}

#recruit_main th,
#recruit_main td {
	font-size: 1.0em;
	line-height: 160%;
	padding: 8px 10px 8px 10px;
	border-top: solid 1px #ddd;
}

#recruit_main th {
	border-right: solid 1px #ddd;
	width: 20%;
	background-color: #f3f3f3;
}

#recruit_main .odd th,
#recruit_main .odd td {background-color: none;}

#recruit_main td li {
	margin-bottom: 5px;
	padding-left: 1.5em;
	text-indent: -1.5em;
}



#recruit_main .infosession table {
	margin-bottom: 30px;
	width: 100%;
	border-left: solid 1px #ddd;
	border-right: solid 1px #ddd;
	border-bottom: solid 1px #ddd;
}

#recruit_main .infosession th,
#recruit_main .infosession td {
	font-size: 1.0em;
	line-height: 160%;
	padding: 16px 10px 16px 10px;
	border-top: solid 1px #ddd;
}

#recruit_main .infosession th {
	border-right: solid 1px #ddd;
	width: 20%;
	background-color: #f3f3f3;
}

#map {
	height: 420px;
}



/* photo place */

div.photo {
	clear: both;
	padding-top: 10px;
}

p.pic_txt {
	float: left;
}

p.pic_right {
	float: right;
}

p.pic_left {
	float: left;
}

div.posir {
	position: relative;
}
div.pdb50 {
	padding-bottom: 60px;
}
div.pdb80 {
	padding-bottom: 90px;
}
div.photo_in1 {
	position: absolute;
	top: 90px;
	right: 0px;
}
div.photo_in2 {
	position: absolute;
	top: 130px;
	right: 0px;
}




/*#interior_div td p {
	display: table-cell;
	vertical-align: top;
	padding-left: 10px;
	line-height: 160%;
}

#interior_div p:first-child {
	padding-left: 0;
}
*/


#staffphoto {
	margin: 30px auto 10px;
}

#staffphoto .box {
	float: left;
	width: 210px;
}

#staffphoto .txt {
	float: right;
	width: 436px;
	line-height: 160%;
	padding: 0 5px 0 0;
}

.cleared {
	clear: both;
}

#staffphoto .picture {
	padding-top: 10px;
	width: 660px;
	overflow: hidden;
}

#staffphoto .picture .box {
	width: 212px;
	margin-left: 10px;
}

#staffphoto .picture .box:first-child {
	margin-left: 0;
}



/* ------------------------
	pagetop
------------------------ */

.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 55px;
}

.pagetop a {
	display: block;
	width: 71px;
	height: 71px;
}


/* ------------------------
	effect
------------------------ */

.bxshadow_rec {
	-moz-box-shadow:0px 9px 10px -4px #CCCCCC;
	-webkit-box-shadow:0px 9px 10px -4px #CCCCCC;
	box-shadow:0px 9px 10px -4px #CCCCCC;
}

/*-----------------------------sp------------------------------*/
@media screen and (max-width: 768px) {
#recruit_wrapper {
	margin: 0 auto;
	width: 100%;
	padding: 0;
	float: none;
}
.jobtit1{
margin: 0 5px 0 5px;
padding: 10px 0px;
list-style: none;
vertical-align: middle;
font-size: 1.4em;
font-weight: bold;
letter-spacing: 0.5em;
line-height: 2.0em;
color: #fff;
text-align: center;
background-color: #3399CC;
}
.jobtit2{
margin: 0 5px 0 5px;
padding: 10px 0px;
list-style: none;
vertical-align: middle;
font-size: 1.4em;
font-weight: bold;
letter-spacing: 0.5em;
line-height: 2.0em;
color: #fff;
text-align: center;
background-color: #003366;
}
.jobtit3{
margin: 0 5px 0 5px;
padding: 10px 0px;
list-style: none;
vertical-align: middle;
font-size: 1.4em;
font-weight: bold;
letter-spacing: 0.5em;
line-height: 2.0em;
color: #fff;
text-align: center;
background-color: #2e8b57;
}
.jobtit1 a,
.jobtit2 a,
.jobtit3 a{

    color: #fff!important;
    text-decoration: none;
    display: block;

}
div.joblist {
    margin: 0 0 0 5px;
    padding: 6px;
    display: block;
    list-style: none;
    vertical-align: top;
    color: #000;
    text-align: left;
}
#recruit_main .tab {
    margin: 0px 0px 0px 0px;
    padding: 10px 0px 30px 0px;
    width: 100%;
}

#mov1 img,#mov2 img{
width: 100%;
}
#recruit_main th {
    width: 100%;
	display: block;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	border-right: 0px solid #ddd;


}
#recruit_main td {

    width: 100%;
	display: block;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
	border: 0px solid #ddd;


}
#recruit_title .head {

    clear: both;
    float: none;
	text-align: center;

}
#recruit_title .head h1 {

    padding: 0px 0px 0px 0px;
    font-size: 2.4em;
    font-weight: normal;
    line-height: 150%;
    letter-spacing: 4px;
    color: #333;
	text-align: center;

}
#recruit_title .observe {
    position: relative;
    right: 0px;
    margin: 0px 0px 10px 0px;
    padding: 0px 0px 0px 0px;
    width: 100%;
    display: block;
    background-color: #fff;
    border: solid 1px #333;
    bottom: 5px;
    display: inline-block;
}
#staffphoto .box {

    float: none;
    width: auto;
	text-align: center;
	padding-bottom: 10px;

}
#staffphoto .txt {

    float: none;
    width: auto;
    line-height: 160%;
    padding: 0 5px 0 0;

}
p.pic_right {
    float: none;
    width: auto;
	text-align: center;
	padding-bottom: 10px;
}
#recruit_main table {

    margin-bottom: 30px;
    width: 100%;
    border-left: solid 1px #ddd;
    border-right: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
	margin: 5% 0;
	border: 0px;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
border-top: 0;

}
div.photo_in2,div.photo_in1 {
    position: relative;
    top: auto;
    right: auto;
	width: auto;
	text-align: center;
	padding-bottom: 10px;
}
div.photo_in2 img,div.photo_in1 img {
	padding-top: 10px;
}
div.pdb50 {
	padding-bottom: 20px;
}
div.pdb80 {
	padding-bottom: 20px;
}


}/**/
