@charset "utf-8";

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
.r3Heading01_txt {
	margin: 0 0 15px;
}
/* スライダ―
------------------------------------------------------------------------------- */
.hVisual01 {
	position: relative;
	margin: 0 0 70px;
	overflow: hidden;
}
.hVisual01_loading {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	margin: -40px 0 0 -40px;
	background: url(/common/images/rn04/svg/loading_ico01.svg) center center no-repeat;
	background-size: contain;
}
.hVisual01_list {
	opacity: 0;
}
.hVisual01_list-show {
	opacity: 1;
}
.hVisual01_item {
	max-width: 1200px;
}
.hVisual01_page.swiper-pagination {
	position: static;
	max-width: 950px;
	line-height: 1;
	margin: 15px auto 0;
	font-size: 0;
	text-align: left;
}
.hVisual01_page .swiper-pagination-bullet {
	width: 40px;
	height: 2px;
	margin: 0 3px;
	border-radius: 0;
}
.hVisual01_page .swiper-pagination-bullet-active {
	background: #FD0E3D;
}
.hVisual01_item a {
	display: block;
	position: relative;
}
.hVisual01_item img {
	width: 100%;
	transition: all .4s ease-in-out .1s;
	opacity: .5;
}
.hVisual01_item.swiper-slide-active img {
	opacity: 1;
}
.hVisual01_front {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 13px 15px;
	background-color: #000;
	color: #fff;
	transition: all .5s ease-in-out .1s;
	opacity: 0;
}
.hVisual01_item.swiper-slide-active .hVisual01_front {
	opacity: 1;
}
.hVisual01_tit {
	line-height: 1.5;
	margin: 0 0 10px;
	font-size: 200%;
	font-weight: 500;
	transition: all .4s ease-in-out;
}
.hVisual01_txt {
	line-height: 1.5;
	font-size: 134%;
	font-weight: 400;
	transition: all .4s ease-in-out;
}
.hVisual01_detail {
	line-height: 1.5;
	margin: 5px 0 0;
	font-size: 125%;
	font-weight: 400;
	transition: all .4s ease-in-out;
}
.hVisual01_detail::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 5px;
	margin: 0 0 0 10px;
	background-color: #fff;
	vertical-align: 0.15em;
}
.hVisual01 .swiper_btn {
	position: absolute;
	top: 50%;
	width: 44px;
	height: 44px;
	margin: -28px 0 0;
	z-index: 2;
	transition: all .4s ease-in-out;
	cursor: pointer;
	opacity: 0;
}
.hVisual01 .swiper_btn-show {
	opacity: 1;
}
.hVisual01 .swiper_btn::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 28px;
	margin: -14px 0 0 -8px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.hVisual01 .swiper_btn-prev {
	left: 50%;
	margin-left: -643px;
}
.hVisual01 .swiper_btn-next {
	right: 50%;
	margin-right: -643px;
}
.hVisual01 .swiper_btn-prev::before {
	background-image: url(/common/images/rn04/svg/arw_ico13.svg);
}
.hVisual01 .swiper_btn-next::before {
	background-image: url(/common/images/rn04/svg/arw_ico14.svg);
}
@media only screen and (max-width: 1370px) {
	.hVisual01_item {
		max-width: 880px;
	}
	.hVisual01_item img {
		height: 352px;
	}
	.hVisual01_tit {
		font-size: 175%;
	}
	.hVisual01_txt {
		font-size: 117%;
	}
	.hVisual01_detail {
		font-size: 109%;
	}
	.hVisual01_page.swiper-pagination {
		max-width: 880px;
	}
	.hVisual01 .swiper_btn-prev {
		left: 50%;
		margin-left: -484px;
	}
	.hVisual01 .swiper_btn-next {
		right: 50%;
		margin-right: -484px;
	}
}
/* リード
------------------------------------------------------------------------------- */
.hLead01 {
	margin: 0 0 80px;
	overflow: hidden;
}
.hLead01_in {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	position: relative;
	max-width: 950px;
	min-height: 446px;
	margin: 0 auto;
}
.hLead01_info {
	position: relative;
	width: 60%;
	padding: 40px 0 0;
	z-index: 1;
	box-sizing: border-box;
}
.hLead01_info>div {}
.hLead01_catch {
	line-height: 1.722;
	margin: 0 0 41px;
	font-size: 300%;
	font-weight: bold;
}
.hLead01_txt {
	line-height: 2.125;
	font-size: 134%;
	font-weight: 400;
}
.hLead01_btn {
	margin: 55px 0 0;
	font-size: 150%;
	font-weight: bold;
}
.hLead01_btn a {
	display: block;
	position: relative;
	max-width: 400px;
	line-height: 60px;
	background-color: #F7F7F7;
	color: #1E1E1E;
	text-align: center;
	text-decoration: none;
}
.hLead01_btn a::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 15px;
	height: 9px;
	margin: -5px 0 0;
	background: url(/common/images/rn04/svg/arw_ico16.svg) left top no-repeat;
	background-size: contain;
}
.hLead01_img {
	position: relative;
	width: 40%;
}
.hLead01_img img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: none;
}
@media only screen and (max-width: 1060px) {
	.hLead01_info {
		width: 55%;
		padding: 15px 50px 0 0;
	}
	.hLead01_img {
		position: relative;
		width: 45%;
	}
	.hLead01_img img {
		width: 500px;
	}
}
/* 3つのポイント
------------------------------------------------------------------------------- */
.hHeading01 {
	padding: 85px 20px 68px;
	background-color: #f7f7f7;
}
.hHeading01_tit {
	line-height: 1.333;
	font-size: 300%;
	font-weight: bold;
	text-align: center;
}
.hHeading01_navs {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	max-width: 950px;
	margin: 59px auto 0;
}
.hHeading01_nav {
	width: 30.105%;
}
.hHeading01_nav a {
	display: block;
	position: relative;
	padding: 0 0 24px;
	text-align: center;
	text-decoration: none;
}
.hHeading01_nav a::after {
	content: '';
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 15px;
	height: 9px;
	margin: 0 auto;
	background: url(/common/images/rn04/svg/arw_ico16.svg) left top no-repeat;
	background-size: contain;
}
.hHeading01_en {
	line-height: 1.3125;
	font-family: 'Roboto', sans-serif;
	font-size: 134%;
	font-weight: 500;
	color: #FD0E3D;
}
.hHeading01_txt {
	line-height: 1.5;
	margin: 8px 0 0;
	padding: 0 0 20px;
	border-bottom: 1px solid #C7C7C7;
	font-size: 167%;
	font-weight: bold;
	color: #000;
}
/* リード
------------------------------------------------------------------------------- */
.hLead02 {
	line-height: 2.333;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
}
/* スライドコンテンツ
------------------------------------------------------------------------------- */
.hSlider01 {
	position: relative;
	max-width: 1002px;
	margin: 33px auto;
	padding: 0 25px;
	box-sizing: border-box;
}
.hSlider01_loading {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80px;
	height: 80px;
	margin: -40px 0 0 -40px;
	background: url(/common/images/rn04/svg/loading_ico01.svg) center center no-repeat;
	background-size: contain;
}
.hSlider01_in {
	border: 1px solid #E6E6E6;
	border-radius: 10px;
	box-shadow: 0px 0px 6px 0px #ccc;
}
.hSlider01_list {
	opacity: 0;
}
.hSlider01_list-show {
	opacity: 1;
}
.hSlider01_btn {
	position: absolute;
	top: 50%;
	width: 50px;
	height: 50px;
	margin: -25px 0 0;
	border-radius: 100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 10;
	transition: all .4s ease-in-out;
	cursor: pointer;
	opacity: 0;
}
.hSlider01_btn.swiper-button-disabled {
	display: none;
}
.hSlider01_btn.swiper_btn-show {
	opacity: 1;
}
.hSlider01 .swiper-pagination {
	bottom: 15px;
	left: 0;
	width: 100%;
	text-align: center;
}
.hSlider01 .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin: 0 5px;
	border: 2px solid #fff;
	background-color: #D3D3D4;
	opacity: 1;
	transition: all .3s;
}
.hSlider01 .swiper-pagination-bullet-active {
	border-color: #FA0046;
	background-color: #FA0046;
}
.hSlider01_btn-prev {
	left: 0;
	background-image: url(/common/images/rn04/svg/arw_ico11.svg);
}
.hSlider01_btn-next {
	right: 0;
	background-image: url(/common/images/rn04/svg/arw_ico12.svg);
}
.animeW {
	width: 900px !important;
	height: 504px !important;
	margin: 0 auto !important;
}
/* 最新情報
------------------------------------------------------------------------------- */
.hblNews01 {
	margin: 120px 0;
}
.hblNews01_in {
	max-width: 950px;
	margin: 0 auto;
}
.hblNews01_tit {
	line-height: 1.5;
	margin: 0 0 50px;
	font-size: 267%;
	font-weight: 700;
	text-align: center;
}
.hblNews01_list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 100%;
}
.hblNews01_item {
	width: 288px;
}
.hblNews01_wrap {
	display: block;
	text-decoration: none;
}
.hblNews01_img {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 192px;
}
.hblNews01_tag {
	line-height: 1.75;
	margin: 20px 0 0;
	font-size: 100%;
	font-weight: 500;
}
.hblNews01_tag span {
	display: inline-block;
	line-height: 22px;
	padding: 0 15px 2px;
	background-color: #333;
	color: #fff;
}
.hblNews01_date {
	line-height: 1.5;
	margin: 10px 0 0;
	color: #999;
	font-size: 117%;
	font-weight: 400;
	text-decoration: none;
}
.hblNews01_txt {
	position: relative;
	line-height: 1.6875;
	margin: 8px 0 0;
	padding: 0 35px 0 0;
	font-size: 134%;
	font-weight: 400;
	text-decoration: underline;
}
.hblNews01_txt::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0.6em;
	right: 0;
	width: 22px;
	height: 12px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.hblNews01_btn {
	display: block;
	position: relative;
	max-width: 400px;
	line-height: 58px;
	margin: 60px auto 0;
	padding: 0 0 2px;
	background-color: #000;
	color: #fff;
	font-size: 150%;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.hblNews01_btn::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 12px;
	margin: -6px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
/* ポイント
------------------------------------------------------------------------------- */
.hPoint01 {
	margin: 50px 0 0;
}
.hPoint01_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	max-width: 900px;
	margin: 0 auto;
}
.hPoint01_item {
	width: 32%;
}
.hPoint01_img {
	display: block;
}
.hPoint01_img img {
	image-rendering: -webkit-optimize-contrast;
}
.hPoint01_txt {
	line-height: 2;
	margin: 16px 0 0;
	font-size: 134%;
	font-weight: 500;
}
.hPoint01_btn {
	display: block;
	position: relative;
	max-width: 400px;
	line-height: 58px;
	margin: 60px auto 0;
	padding: 0 0 2px;
	background-color: #000;
	color: #fff;
	font-size: 150%;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}
.hPoint01_btn::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 22px;
	height: 12px;
	margin: -6px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.hPoint02 {
	max-width: 950px;
	margin: 60px auto 0;
}
.hPoint02_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}
.hPoint02_item {
	width: 24%;
}
.hPoint02_img {
	display: block;
	max-width: 200px;
	margin: 0 auto;
}
.hPoint02_caption {
	line-height: 1.5;
	margin: 9px 0 0;
	font-size: 150%;
	font-weight: 700;
	text-align: center;
}
.hPoint02_num {
	line-height: 1.4;
	margin: 5px 0 0;
	color: #FD0E3D;
	font-family: 'Roboto', sans-serif;
	font-size: 250%;
	font-weight: 700;
	text-align: center;
}
.hPoint02_num span {
	font-size: 53.5%;
}
.hPoint02_notes {
	line-height: 1.666;
	margin: 20px 0 0;
	color: #555;
	font-size: 100%;
	font-weight: 500;
}
.hPoint02_notes li {
	margin: 0 0 0 1.5em;
	text-indent: -1.5em;
}
.hPoint02_notes li:first-child {
	margin-top: 0;
}
.hPoint03 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	max-width: 950px;
	margin: 60px auto 0;
}
.hPoint03_info {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	width: 47.368%;
}
.hPoint03_imgs {
	width: 47.368%;
}
.hPoint03_txt {
	line-height: 2;
	font-size: 134%;
	font-weight: 500;
}
.hPoint03_link {
	margin: 20px 0 0;
	text-align: right;
}
.hPoint03_link a[target=_blank]::after {
	content: '';
	display: inline-block;
	width: 11px;
	height: 8px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn04/svg/blank_ico01.svg) left top no-repeat;
	background-size: contain;
	vertical-align: 0.1em;
}
.hPoint03_list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}
.hPoint03_item {
	width: 48%;
}
.hPoint03_img {
	display: block;
	max-width: 200px;
	margin: 0 auto;
}
.hPoint03_caption {
	line-height: 1.5;
	color: #1e1e1e;
	font-size: 150%;
	font-weight: 700;
	text-align: center;
}
.hPoint03_num {
	line-height: 1.4;
	margin: 2px 0 0;
	color: #FD0E3D;
	font-family: 'Roboto', sans-serif;
	font-size: 250%;
	font-weight: 700;
	text-align: center;
}
.hPoint03_num span {
	font-size: 53.5%;
}
.hPoint03_notes {
	line-height: 1.5;
	margin: 8px 0 0;
	color: #555;
	font-size: 100%;
	font-weight: 500;
}
.hPoint03_notes li {
	margin: 2px 0 0 1.5em;
	text-indent: -1.5em;
}
.hPoint03_notes li:first-child {
	margin-top: 0;
}
.hPoint04 {
	margin: 60px 0 0;
	overflow: hidden;
}
.hPoint04_in {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	max-width: 950px;
	min-height: 305px;
	margin: 0 auto;
}
.hPoint04_info {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	width: 47.368%;
}
.hPoint04_txt {
	line-height: 2;
	font-size: 134%;
	font-weight: 500;
}
.hPoint04_img {
	display: block;
	position: relative;
	width: 47.368%;
}
.hPoint04_img img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: none;
}
/* 見出し
------------------------------------------------------------------------------- */
.hHeading02 {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	justify-content: center;
	height: 256px;
	margin: 75px 0 54px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	letter-spacing: 0.02em;
}
.hHeading02-t1 {
	background-image: url(../images/housing_bg01.jpg);
}
.hHeading02-t2 {
	background-image: url(../images/housing_bg02.jpg);
}
.hHeading02-t3 {
	background-image: url(../images/housing_bg03.jpg);
}
.hHeading02_en {
	line-height: 1;
	color: #FD0E3D;
	font-family: 'Roboto', sans-serif;
	font-size: 150%;
	font-weight: 500;
	text-align: center;
}
.hHeading02_tit {
	line-height: 1;
	margin: 27px 0 0;
	color: #fff;
	font-size: 334%;
	font-weight: bold;
}
/* 見出し
------------------------------------------------------------------------------- */
.iHeading01 {
	line-height: 1.428;
	margin: 70px 0 42px;
	font-size: 234%;
	font-weight: 700;
	text-align: center;
}
/* 事業紹介
------------------------------------------------------------------------------- */
.iTop02 {
	margin: 0 0 60px;
}
.iTop02_head {
	margin: 40px 0 0;
}
.iTop02_graph {
	display: block;
	max-width: 900px;
	margin: 0 auto;
}
.iTop02_list {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	margin: 50px 0 0;
}
.iTop02_item {
	width: 24.039%;
	max-width: 250px;
}
.iTop02_wrap {
	color: #000;
	text-decoration: none;
}
.iTop02_img {
	display: block;
}
.iTop02_img img {
	image-rendering: -webkit-optimize-contrast;
}
.iTop02_txt {
	line-height: 1.333;
	margin: 0 0 17px;
	font-family: 'Lato', sans-serif;
	font-size: 250%;
	font-weight: 700;
}
.iTop02_txt-blank span::after {
	content: '';
	display: inline-block;
	width: 11px;
	height: 8px;
	margin: 0 0 0 10px;
	background: url(/common/images/rn04/svg/blank_ico01.svg) left top no-repeat;
	background-size: contain;
	vertical-align: 0.15em;
}
.iTop02_txt span {
	display: inline-block;
	margin: 0 0 0 10px;
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, Helvetica, sans-serif;
	font-size: 46.8%;
	font-weight: 500;
	vertical-align: 0.25em;
}
.iTop02_caption {
	position: relative;
	line-height: 1.75;
	margin: 20px 0 0;
	padding: 0 40px 0 0;
	font-size: 134%;
	font-weight: 700;
}
.iTop02_caption::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 10px;
	right: 0;
	width: 22px;
	height: 12px;
	background: url(/common/images/rn04/svg/arw_ico02.svg) left top no-repeat;
	background-size: contain;
}
.iTop02_caption-blank::after {
	top: 12px;
	width: 11px;
	height: 8px;
	background: url(/common/images/rn04/svg/blank_ico01.svg) left top no-repeat;
	background-size: contain;
}