@charset "UTF-8";
/* CSS Document */

html{-webkit-text-size-adjust:100%;}
body{
	fon-size:18px;
	line-height: 1.8em;
	letter-spacing: 1.2pt;
	font-weight:300;
	font-family: 'Noto Sans Japanese', 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	margin:0;
	padding:0;
	color:#444;
	word-break: break-all;
}
body.fixed{
	position:fixed;
	width: 100%;
	height: 100%;
	z-index:1;
}	

li{list-style:none;}

#wrapper{
	width:100%;
	margin:0 auto;
	padding:0;
}

.sec{
	position:relative;
	width:100%;
	max-width:1920px;	
	margin:0 auto;
	padding:0;
	}
.sec.gray{background:#f9f9f9;}
/*----------------------------------------------------
	header
----------------------------------------------------*/

header{
	position:fixed;
	top:0;
	width:100%;
	margin:0 auto;
	padding:0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;	
	box-sizing:border-box;
	border-bottom:1px solid #efefef;
	z-index:9999;
	background:#fff;
}

#header{
	width:100%;
	margin:0 auto;
	padding:0 auto;
}

#header a#logo{
	width:auto;
	max-width:200px;
	float:left;
	margin:12px auto 8px 10px;
	padding:0;
	transition:0.2s;
}

#header a#logo img{
	display:block;
	width:100%;
	}
a#index,a#freshers,a#career{transition:0.2s;}
#header a#logo:hover,a.login:hover,
a#index:hover,a#freshers:hover,a#career:hover,
ul.language_li li a:hover{
	opacity:0.6;
	-ms-filter: "alpha(opacity=60)";
	}

a.login{
	float:right;
	font-size:14px;
	color:#fff;
	text-decoration:none;
	padding:18px 12px 18px 42px;
	width:auto;
	background:url(../img/head_icon.png) left 12px center no-repeat,#d51b16;
	box-sizing:border-box;
	transition:0.2s;
}
a.login.career.active{
	color:#d51b16;
	background:url(../img/sp_icon.png) left 12px center no-repeat,#fff;
	padding-bottom:15px;
	border-bottom:3px solid #d51b16;
}
a.login.fresh{background:url(../img/head_icon02.png) left 12px center no-repeat,#d51b16;}

span.page_n{
	display:inline-block;
	color:#fff;
	font-size:14px;
	font-feature-settings: "pkna";
	line-height:1.4em;
	border-radius:16px;
	padding:2px 16px;
	margin:20px 0 0 15px;
	background:#d51b16;
}

/*キャリア採用　ヘッダー*/
a.login.career{
	float:right;
	font-size:14px;
	color:#fff;
	text-decoration:none;
	padding:18px 12px 18px 42px;
	width:auto;
	background:url(../img/head_icon.png) left 12px center no-repeat,#d51b16;
	box-sizing:border-box;
	transition:0.2s;
}
a.login.fresh{
	background:url(../img/head_icon02.png) left 12px center no-repeat,#d51b16;
	border-right:1px solid #fff;
}

/*----------------------------------------------------
	footer
----------------------------------------------------*/
footer{
	width:100%;
	padding:0;
	margin:0 auto;
	overflow:hidden;
	}

#footer_innder{
	width:100%;
	max-width:1920px;
	margin:0 auto;
	padding:30px 0;
	background:#d51b16;
}
#footer_innder dl{
	display:table;
	width:96%;
	max-width:1280px;
	margin:0 auto;
	padding:0;
	overflow:hidden;
}
#footer_innder dl dd{
	display:table-cell;
	width:31%;
	margin:0 auto;
	padding:0;
	box-sizing:border-box;
}
#footer_innder dl dd:nth-child(2){
	width:38%;
	padding:0 2%;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;	
}
#footer_innder dl dd:first-child{padding-right:3%;}
#footer_innder dl dd:last-child{padding-left:3%;}


#footer_innder dl dd a{
	color:#fff;
	display:inline-block;
	font-size:18px;
	line-height:1.6em;
	text-decoration:none;
	margin:0 auto 15px;
	padding:0;
}

#footer_innder dl dd ul{
	float:none;
	width:100%;
	margin:0 auto 15px;
	padding:0;
}
#footer_innder dl dd ul li{
	float:left;
	width:48%;
	margin:0 4% 0 0;
	padding:0;
}
#footer_innder dl dd ul li .mb45{margin-bottom: 16px;}
#footer_innder dl dd ul li:last-child{margin-right:0;}

#footer_innder dl dd ul li ul li{
	float:none;
	width:auto;
	margin:0 auto 5px;
	padding:0;
}
#footer_innder dl dd ul li span,
#footer_innder dl dd ul li a{
	font-size:16px;
	color:#fff;
	display:inline-block;
	text-decoration:none;
	position:relative;
	padding:0 0 0 15px;
	margin:0 auto 15px;
}
#footer_innder dl dd ul li span:before,
#footer_innder dl dd ul li a:before{
	position:absolute;
	left:0;
	content:"・";
}

#footer_innder dl dd ul li ul li a{
	position:relative;
	margin:0 auto;
	font-size:16px;
	padding:0 0 0 35px;
}
#footer_innder dl dd ul li ul li a:before{
	content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    position: absolute;
    top:50%;
	margin-top:-4px;
    left: 20px;	
}

#footer_innder dl dd a:hover{text-decoration:underline;}

.f_info{
	width:96%;
	max-width:1280px;
	margin:15px auto;
	padding:0;
	overflow:hidden;
}
.f_info a.f_logo{
	float:left;
	display:block;
	max-width:150px;
	margin:0 15px 0 0;
	padding:0;
}
.f_info a.f_logo img{
	display:block;
	width:100%;
}
.f_info ul{
	display:table;
	float:left;
	margin:0 auto;
	padding:0;
}
.f_info ul li{
	display:table-cell;
	margin:0;
	padding:0;
}
.f_info ul li a{
	font-size:14px;
	text-decoration:none;
	color:#333;
	margin-right:15px;
	padding:0 0 0 20px;	
	background:url(../img/bk_icon.png) left center/15px no-repeat;
}
.f_info ul li a:hover{text-decoration:underline;}
#copy{
	float:right;
	font-size:12px;
	margin:0 auto;
	padding:0;
	}

a#page_top {
	position:absolute;
	right:0;
	bottom:0;
	text-indent:-9999px;
	display: block;
	width: 50px;
	height:50px;
	background:url(../img/page_top.png) center/100% no-repeat;
	z-index:3000;
}

/*----------------------------------------------------
	各ページ共通レイアウト（h1〜h5やテーブルなど）
----------------------------------------------------*/
.br:before {
	content: "\A" ;
	white-space: pre ;
}
.clearfix{overflow: visible !important;}
.clearfix:after{
    content: "";
    clear: both;
    display: block;
}
.bold{font-weight:600;}
.block{display:block;}
.over{overflow:hidden;}
.sp_only{display:none !important;}
.pc_only{display:block !important;}

.td_style{
	width:75%;
	max-width:1280px;
	margin:0 auto;
	padding:0;
	border-collapse: collapse;
}
.td_style tr th{
	width:25%;
	padding:24px 12px;
	color:#fff;
	font-weight:500;
	vertical-align: middle;
	background:#d51b16;
	border:1px solid #ccc;	
	border-bottom:1px solid #de7572;
}
.td_style tr td{
	padding:24px 12px;
	background:#fff;
	border:1px solid #ccc;
}
.td_style tr td ul{
	width:100%;
	margin:0 auto 15px;
	padding:0;
}
.td_style tr td ul:last-child{margin-bottom:0;}
.td_style tr td ul li{
	position:relative;
	padding-left:1em;
}
.td_style tr td ul li:before{
	position:absolute;
	content:"・";
	color:#d51b16;
	left:0;
}

/*----------------------------------------------------
	法人概要ページのみ（テーブル）
----------------------------------------------------*/
.td_style_gray{
	width:75%;
	max-width:1280px;
	margin:0 auto;
	padding:0;
	border-collapse: collapse;
}
.td_style_gray tr th{
	width:25%;
	padding:24px 12px;
	color:#fff;
	font-weight:500;
	vertical-align: middle;
	background:#5e5e5e;
	border:1px solid #ccc;	
	border-bottom:1px solid #ccc;
}
.td_style_gray tr td{
	padding:24px 12px;
	background:#fff;
	border:1px solid #ccc;
}

.td_style_gray tr td ul{
	width:100%;
	margin:0 auto 15px;
	padding:0;
}
.td_style_gray tr td ul:last-child{margin-bottom:0;}
.td_style_gray tr td ul li{
	position:relative;
	padding-left:1em;
}
.td_style_gray tr td ul li:before{
	position:absolute;
	content:"・";
	color:#d51b16;
	left:0;
}

/* 画面サイズが1024px以下の場合に適用 */
@media screen and (max-width:1024px) {
#header{height:56px;}
#header a#logo{
	position:relative;
	width:25%;
	max-width:auto;
	min-width:180px;
	margin:6px 0 6px 8px;
	padding:0;
	z-index:9999;
}

span.page_n{
	font-size:12px;
	padding:2px 8px;
	margin:18px 0 0 4px;
}		
a.login{display:none;}


/*キャリア採用　ヘッダー*/
a.login.career{
	display:block;
	padding:13px 12px 13px 42px;
	}
a.login.career.active{padding-bottom:10px;}
	
#copy{
	display:table;
	width:96%;
	float:none;
	text-align:center;
	}	
	
.sp_only{display:block !important;}
.pc_only{display:none !important;}	

.td_style{width:94%;}	
	
}

/* 画面サイズが768px以下の場合に適用 */
@media screen and (max-width:768px) {
#header a#logo{
	width:auto;
	min-width:160px;
	max-width:160px;
	margin:10px 0 6px 8px;
	padding:0;
}

#footer_innder dl dd{
	position:relative;
	display:block;
	width:100%;
	margin:0 auto 10px;
	padding:0;
	box-sizing:border-box;
}
#footer_innder dl dd:nth-child(2){
	width:100%;
	padding:0;
	border-left:none;
	border-right:none;	
}
#footer_innder dl dd:first-child{
	padding-right:0;
	border-bottom:1px solid #fff;
	}	
#footer_innder dl dd:last-child{
	padding:15px 0 0;
	border-top:1px solid #fff;
	margin-bottom:0;
	}
	
#footer_innder dl dd .sp_yazi{
	display:block;
	width:100%;
	position:relative;
	}	
#footer_innder dl dd .sp_yazi:after,	
#footer_innder dl dd:first-child:after,
#footer_innder dl dd:last-child:after{
	content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top:50%;
	margin-top:-10px;
    right: 2%;
	}	

#footer_innder dl dd ul li{
	float:none;
	width:100%;
	margin:0 auto 15px;
	padding:0;
}
#footer_innder dl dd ul li:last-child{margin:0 auto 15px;}

.f_info a.f_logo{
	float:none;
	max-width:180px;
	margin:0 auto 15px;
}
	
.f_info ul,.f_info ul li{
	display:block;
	float:none;
	}	
.f_info ul li{
	padding-bottom:4px;
	margin-bottom:4px;
	border-bottom:1px dotted #ccc;		
	}	
.f_info ul li a{	
	font-size:14px;
	margin:0 auto;
	padding:0 0 0 20px;	
	background:url(../img/bk_icon.png) left center/15px no-repeat;
}
#copy{
	margin-top:15px;
	font-size:12px;
	line-height:1.2em;
	padding-bottom:4px;
	}
.sp_br:before {
	content: "\A";
	white-space: pre;
}	
	
/*新卒・キャリア採用ボタン　ヘッダー*/
a.login.career{
	display:block;
	text-indent:-9999px;
	height:56px;
	width:56px;
	padding:0;
	background:url(../img/head_icon_sp.png) center center/56px no-repeat,#d51b16;		
}
a.login.career.active{display:none;}	
a.login.career.fresh{
	display:block;
	text-indent:-9999px;
	height:56px;
	width:56px;
	padding:0;
	background:url(../img/head_icon02_sp.png) center center/56px no-repeat,#d51b16;	
	}
	
.td_style{width:100%;}
.td_style tr th{
	display:block;
	width:92%;
	padding:8px 4%;
}
.td_style tr td{
	display:block;
	width:92%;
	padding:8px 4%;
	background:#fff;
}	

.td_style_gray{width:100%;}
.td_style_gray tr th{
	display:block;
	width:92%;
	padding:8px 4%;
}
.td_style_gray tr td{
	display:block;
	width:92%;
	padding:8px 4%;
	background:#fff;
}	

#footer_innder dl dd ul li .mb45{margin-bottom: 15px;}	
a.sp_mb0{margin-bottom:0 !important;}	

}


/* 画面サイズが420px以下の場合に適用 */
@media screen and (max-width:420px) {
#header a#logo{
	width:auto;
	min-width:auto;
	max-width:120px;
	margin:15px 0 6px 8px;
	padding:0;
}

span.page_n{
	font-size:11px;
	margin-top:18px;
	}
span.page_n.index{display:none;}
	
}

