@charset "utf-8";

/*--------------------------------------
	font
--------------------------------------*/

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/NotoSansCJKjp-Light.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Light.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Light.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Light.eot') format('embedded-opentype');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/NotoSansCJKjp-Bold.woff2') format('woff2'),
	     url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'),
	     url('../fonts/NotoSansCJKjp-Bold.ttf')  format('truetype'),
         url('../fonts/NotoSansCJKjp-Bold.eot') format('embedded-opentype');
}

/*------------------------------
	body
------------------------------*/

html {
}

body {
	color: #000;
	font: 16px/1.5 "Noto Sans Japanese" , meiryo, sans-serif;
}

/* IE11 */
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop,
	body {
		font: 17px/1.7 meiryo, sans-serif;
	}
}

.not_pc {
	display: none;
}

#shadow_layer {
	display: none;
}

/*--------------------------------------
	header
--------------------------------------*/
header {
	position: fixed;
	width: 100%;
	min-width: 1050px;
	box-sizing: border-box;
	text-align:center;
	border-top: 3px solid #a51f24;
	border-bottom: 3px solid #a51f24;
	background-color: #fff;
	z-index: 100000;
}

header a{
	color:#000;
}

header nav{
	margin: 0 auto;
	width:1050px;
}

header nav span{
	font-size:11px;
}

header nav li {
	list-style:none;
	float:left;
}

header nav li a{
	position: relative;
	display: block;
	width: 150px;
	padding: 29px 0 26px 0;
	line-height: 1.1;
	text-decoration: none;
	box-sizing: border-box;
	transition: .5s;
	border-right: solid 1px #FAFAFA;
}


header nav li:first-child a{
	border-left: solid 1px #FAFAFA;
}

header.narrow nav li a {
	padding: 11px 0 8px;
}

header nav ul li ul.secondary {
	display: none;
	position: absolute;
	z-index: 50;
	border-top: 3px solid  #a51f24;
	background: #B82327;
	box-shadow: 0px 8px 10px -3px rgba(0,0,0,0.3);
	font-size: 0;
}

header nav ul li ul.secondary li{
	float: none;
}
header nav ul li ul.secondary li+li{
	border-top: 1px solid #951E21;
}


header nav ul li ul.secondary li a{
	display: block;
	margin: 0;
	padding:10px 20px 10px 36px;
	line-height: 1.6;
	color: #fff;
	font-size: 14px;
	text-align: left;
	border: none;
	background: #B82327;
}

header nav ul li ul.secondary li a::before,
header nav ul li ul.secondary li a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	color: #fff;
	margin: auto;
	content: "";
	vertical-align: middle;
}

header nav ul li ul.secondary li a::before{
	left: 12px;
	width: 4px;
	height: 4px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

header nav li a:hover,header nav li a:focus{
	background: #f1f1f1;
}

#company header nav li.company>a,
#business header nav li.business>a,
#result header nav li.result>a,
#news header nav li.news>a,
#recruit header nav li.recruit>a,
#inquiry header nav li.inquiry>a{
	color: #a51f24;
	font-weight: bold;
}

header nav li a.onMouse {
	position:relative;
	opacity: 1;
}
header nav li a.onMouse:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -40px; 
	border-top: 10px solid transparent; 
	border-right: 40px solid transparent; 
	border-left: 40px solid transparent; 
	border-bottom: 10px solid #a51f24;
}

#company header nav ul.secondary li a,
#business header nav ul.secondary li a,
#result header nav ul.secondary li a,
#news header nav ul.secondary li a,
#recruit header nav ul.secondary li a,
#inquiry header ul.secondary li a{
	color: #fff;
	font-weight: normal;
	background: transparent;
}

header nav ul.secondary li a:hover,header nav ul.secondary li a:focus {
	opacity: 1;
	background: #951C1F!important;
}

header nav::after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	visibility: hidden;
	clear: both;
}

#company_logo a{
	padding: 4px 0 6px;
}
#company_logo a img{
	transition: .3s;
}

header.narrow nav #company_logo img{
	width: auto;
	height: 44px;
}

/*--------------------------------------
	topicpath
--------------------------------------*/
#topicpath {
	color:#fff;
	padding: 2px 0;
	font-size: 14px;
	background:#424242;
}

#topicpath:after {
	content: ".";
	display: block;
	font-size: 0;
	height: 0;
	clear: both;
	visibility: hidden;
}

#topicpath ul{
	margin:auto;
	width:1050px;
}

#topicpath li {
	display: block;
	float: left;
	margin: 0;
	list-style: none;
}

#topicpath li:after {
	content: ">";
	margin: 0 10px;
}
#topicpath li:last-child:after {
	content: none;
}
#topicpath a{
	color:#fff;
}

/*--------------------------------------
	main
--------------------------------------*/
main {
	display: block;
	padding-top: 94px;
	min-width: 1050px;
}

section {
	padding: 10px 0 10px;
	margin: auto;
}

section:first-of-type {
	margin: 0 auto;
}

.visual{
	height: 220px;
	line-height: 220px;
	background-size: cover;
}

h1 {
	margin: 10px 0 20px;
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 3px;
}

#description {
	overflow: hidden;
	max-width: 1500px;
	margin: 20px auto 0;
}

#head_title {
	display: inline-block;
	min-width: 57%;
	max-width: 90%;
	margin-top: 0;
	margin-bottom: 40px;
	padding: 20px 30px 20px 130px;
	box-sizing: border-box;
	font-size: 1.8em;
	color: #fff;
	text-align: left;
	background-color: #a51f24;
}

#description div {
	margin: auto;
	width: 1050px;
}

.page_title {
	text-align: center;
}

.page_title span {
	padding: 10px 20px 10px 25px;
	font-size: 250%;
	font-weight: 700;
	color: #fff;
	letter-spacing: 10px;
	text-shadow: 0px 0px 5px #424242,0px 0px 5px #424242,0px 0px 5px #424242,0px 0px 5px #424242;
	border-top: solid 1px #a51f24;
	border-bottom: solid 1px #a51f24;
}

table th {
	font-weight: normal !important;
}


/*--------------------------------------
	footer
--------------------------------------*/
footer{
	padding: 8px 0;
	color:#fff;
	min-width: 1050px;
	border-top:1px solid #424242;
	background:#a51f24;
}

ul.btn {
	position:fixed;
	right: 15px;
	bottom: 45px;
	z-index: 1000;
}

ul.btn li{
	list-style: none;
}

ul.btn li+li {
	margin-top: 6px;
}

ul.btn li.pagetop {
	cursor : pointer;
}

ul.btn li.pagetop:hover,ul.btn li.pagetop:focus {
	opacity: 0.8;
}

footer div{
	margin:auto;
	width:1050px;
}

footer div ul li {
	display: inline;
	padding:0 10px;
	border-right:1px solid #fff;
	list-style:none;
}

footer div ul li:last-child{
	border:none;
}

footer div ul li a {
	padding:0 10px;
	color:#fff;
}

.link_sp{
	display:none !important;
}

footer .copyright{
	margin-top: -23px;
	text-align:right;
}


@media print{
	header {
		position: static;
	}
	main {
		padding-top: 0;
	}

}
