@charset "utf-8";

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
/* 見出し
------------------------------------------------------------------------------- */
.r2Heading01 {
	position: relative;
	height: 260px;
	margin: 0;
	padding: 0 20px;
}
.r2Heading01_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 260px;
	overflow: hidden;
}
.r2Heading01_bg img {
	position: absolute;
	left: 50%;
	top: 50%;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	max-width: inherit;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.r2Heading01_in {
	display: table;
	position: relative;
	width: 100%;
	height: 100%;
	max-width: 1024px;
	margin: 0 auto;
	color: #fff;
	table-layout: fixed;
}
.r2Heading01_front {
	display: table-cell;
	padding: 6px 0 0;
	vertical-align: middle;
	text-align: center;
}
.r2Heading01_tit {
	position: relative;
	line-height: 1.25;
	font-size: 334%;
	font-weight: 400;
}
.r2Heading01_txt {
	line-height: 1.25;
	margin: 19px 0 0;
	font-size: 159%;
	font-weight: 400;
	letter-spacing: 0.15em;
}
/* ローカルナビ1
------------------------------------------------------------------------------- */
.cLocal1 {
	padding: 64px 20px 71px;
}
.cLocal1_in {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	max-width: 1240px;
	margin: 0 auto;
}
.cLocal1_head {
	width: 20.645%;
	padding: 19px 0 0;
}
.cLocal1_body {
	width: 79.354%;
	overflow: hidden;
}
.cLocal1_tit {
	line-height: 1.2;
	font-size: 209%;
	font-weight: 400;
}
.cLocal1_tit a {
	display: inline-block;
	position: relative;
	padding: 0 70px 0 0;
	color: #1e1e1e;
	text-decoration: none;
}
.cLocal1_tit a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 25px;
	height: 16px;
	margin: -8px 0 0;
	background: url(/common/images/rn03/arw_ico01.png) right top no-repeat;
	transition: all 0.2s;
	background-size: 45px 16px;
}
.d_hover .cLocal1_tit a:hover::after {
	right: 0;
	width: 45px;
}
.cLocal1_nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	line-height: 1.47;
	margin: -30px -20px 0;
	padding: 0 0 10px;
	font-size: 142%;
	font-weight: 400;
}
.cLocal1_nav li {
	width: -webkit-calc(25% - 40px);
	width: calc(25% - 40px);
	margin: 30px 20px 0;
}
@media only screen and (max-width: 1240px) {
	.cLocal1_nav li {
		width: -webkit-calc(33.333% - 40px);
		width: calc(33.333% - 40px);
	}
}
.cLocal1_nav li div::before {
	content: "";
	display: block;
	position: absolute;
	top: 70px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #d3d3d4;
}
.cLocal1_nav a {
	display: table;
	position: relative;
	width: 100%;
	height: 65px;
	color: #1e1e1e;
	text-decoration: none;
	table-layout: fixed;
}
.cLocal1_nav div::after {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	right: 20px;
	width: 19px;
	height: 12px;
	background: url(/common/images/rn03/arw_ico03.png) right top no-repeat;
	transition: all 0.2s;
	background-size: 39px 12px;
}
.d_hover .cLocal1_nav a:hover div::after {
	margin-right: -20px;
	width: 39px;
}
.cLocal1_nav div {
	display: table-cell;
	position: relative;
	padding: 2px 50px 2px 0;
	vertical-align: middle;
}
.cLocal1_nav div span::before {
	content: "";
	display: block;
	position: absolute;
	top: 70px;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #d3d3d4;
	transition: width .3s;
}
.cLocal1_nav a[target=_blank] span::after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 10px;
	margin: 0 0 0 5px;
	background: url(/common/images/rn03/svg/blank_ico01.svg) left top no-repeat;
	background-size: 15px 10px;
	vertical-align: 0.07em;
}
.d_hover .cLocal1_nav a:hover span::before {
	width: 100%;
	background-color: #fa0046;
}
/* ローカルナビ2
------------------------------------------------------------------------------- */
.cLocal2 {
	padding: 103px 0 0;
	background-color: #f1f4f6;
}
.cLocal2_head {
	padding: 0 0 63px;
}
.cLocal2_tit {
	line-height: 1.25;
	color: #1e1e1e;
	font-size: 234%;
	font-weight: 400;
	text-align: center;
}
.cLocal2_body {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	line-height: 1.5;
}
.cLocal2_nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 75%;
}
.cLocal2_item {
	position: relative;
	width: 33.333%;
	height: 175px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	font-size: 167%;
}
.cLocal2_item-bussiness {
	background-image: url(../../images/rn/local_bg01.jpg);
}
.cLocal2_item-company {
	background-image: url(../../images/rn/local_bg02.jpg);
}
.cLocal2_item-outline {
	background-image: url(../../images/rn/local_bg03.jpg);
}
.cLocal2_item-work {
	background-image: url(../../images/rn/local_bg04.jpg);
}
.cLocal2_item-history {
	background-image: url(../../images/rn/local_bg05.jpg);
}
.cLocal2_item-recruit {
	background-image: url(../../images/rn/local_bg06.jpg);
}
.cLocal2_item-lab {
	background-image: url(../../images/rn/local_bg07.jpg);
}
.cLocal2_item-bussiness {
	width: 25%;
	height: 350px;
}
.cLocal2_item a {
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	text-decoration: none;
	text-align: center;
}
.cLocal2_nav a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(30, 30, 30, 0.5);
	background: rgba(30, 30, 30, 0.5);
}
.cLocal2_item div {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	padding: 1px 15px 0;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-align: center;
	z-index: 1;
}
a[target=_blank] .cLocal2_txt::after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 10px;
	margin: 0 0 0 9px;
	background: url(/common/images/rn03/svg/blank_ico01.svg) left top no-repeat;
	background-size: 15px 10px;
	vertical-align: 0.12em;
}
.cLocal2_en {
	margin: 12px 0 0;
	color: #b4b4b4;
	font-size: 13px;
	letter-spacing: 0.1em;
}