@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 {
	position: relative;
	height: 100%;
	max-width: 1024px;
	margin: 0 auto;
	color: #fff;
}
.r2Heading01_front {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	height: 100%;
	text-align: center;
}
.r2Heading01_wrap {
	width: 100%;
}
.r2Heading01_tit {
	width: 100%;
	line-height: 1.25;
	font-size: 334%;
	font-weight: 400;
}
.r2Heading01_txt {
	width: 100%;
	line-height: 1.25;
	margin: 20px 0 0;
	font-size: 159%;
	font-weight: 400;
	letter-spacing: 0.15em;
}
/* 事務所
------------------------------------------------------------------------------- */
.oBlock01 {
	padding: 120px 20px 120px;
	background-color: #f1f4f6;
}
.oBlock01_in {
	max-width: 1240px;
	margin: 0 auto;
}
.oBlock01_list {
	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;
	margin: -20px -10px 0;
	font-size: 167%;
	font-weight: 400;
}
.oBlock01_list li {
	width: -webkit-calc(33.333% - 20px);
	width: calc(33.333% - 20px);
	margin: 20px 10px 0;
}
.oBlock01_list a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	height: 100%;
	padding: 64px 60px 63px 50px;
	background-color: #fff;
	color: #1e1e1e;
	box-sizing: border-box;
	text-decoration: none;
}
.oBlock01_list a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 80px;
	width: 19px;
	height: 12px;
	margin: -6px 0 0;
	background: url(/common/images/rn03/arw_ico03.png) right top no-repeat;
	transition: all 0.2s;
	background-size: 39px 12px;
}
@media only screen and (max-width: 1240px) {
	.oBlock01_list a::after {
		right: 65px;
	}
}
@media only screen and (max-width: 1040px) {
	.oBlock01_list a::after {
		right: 50px;
	}
}
.d_hover .oBlock01_list a:hover::after {
	margin-right: -20px;
	width: 39px;
}
.oHeading01 {
	padding: 86px 20px;
	text-align: center;
}
.oHeading01_tit {
	line-height: 1;
	color: #1e1e1e;
	font-size: 334%;
	font-weight: 400;
}
.oHeading01_list {
	margin: 53px 0 0;
	font-size: 134%;
	font-weight: 400;
	letter-spacing: -0.5em;
}
.oHeading01_list li {
	display: inline-block;
	margin: 0 15px;
	vertical-align: top;
	letter-spacing: normal;
}
.oHeading01_list a {
	text-decoration: none;
}
.oHeading01_list a:hover {
	text-decoration: underline;
}
.oBlock02 {
	padding: 120px 20px 125px;
	background-color: #f1f4f6;
}
.oBlock02_in {
	max-width: 1240px;
	margin: 0 auto;
}
.oBlock02_tit {
	line-height: 1.357;
	margin: 80px 0 22px;
	color: #1e1e1e;
	font-size: 234%;
	font-weight: 400;
}
.oBlock02_tit:first-child {
	margin-top: 0;
}
.oBlock02_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -10px -5px 0;
}
.oBlock02_list li {
	width: -webkit-calc(50% - 10px);
	width: calc(50% - 10px);
	margin: 10px 5px 0;
}
.oBlock02_wrap {
	display: block;
	padding: 40px 40px 33px;
	background-color: #fff;
	color: #1e1e1e;
	text-decoration: none;
}
.oBlock02_stit {
	display: inline-block;
	position: relative;
	line-height: 1.5;
	padding: 0 80px 0 0;
	font-size: 184%;
	font-weight: 400;
}
a .oBlock02_stit::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 19px;
	height: 12px;
	margin: -5px 0 0;
	background: url(/common/images/rn03/arw_ico03.png) right top no-repeat;
	transition: all 0.2s;
	background-size: 39px 12px;
}
.d_hover  a:hover .oBlock02_stit::after {
	right: 0;
	width: 39px;
}
.oBlock02_stit span {
	display: block;
}
a .oBlock02_stit span::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #1e1e1e;
	transition: width .2s;
}
.d_hover a:hover .oBlock02_stit span::before {
	width: 100%;
}
a[target=_blank] .oBlock02_stit span::after {
	content: "";
	display: inline-block;
	width: 15px;
	height: 10px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn03/svg/blank_ico01.svg) left top no-repeat;
	background-size: 15px 10px;
	vertical-align: 0.13em;
}
.oBlock02_txt {
	line-height: 2.375;
	margin: 23px 0 0;
	color: #969696;
	font-size: 134%;
}
.oBlock01_btn {
	line-height: 1.529;
	margin: 100px 0 0;
	font-size: 142%;
	font-weight: 400;
	text-align: center;
}
.oBlock01_btn a {
	display: inline-block;
	position: relative;
	padding: 0 40px 0 0;
	color: #1e1e1e;
	text-decoration: none;
}
.oBlock01_btn a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 19px;
	height: 12px;
	margin: -6px 0 0;
	background: url(/common/images/rn03/arw_ico03.png) right top no-repeat;
	transition: all 0.2s;
	background-size: 39px 12px;
}
.d_hover .oBlock01_btn a:hover::after {
	margin-right: -20px;
	width: 39px;
}