@charset "utf-8";

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01. モジュール

******************************************************************************* */
/* ==

　01. モジュール

=============================================================================== */
/* ビジュアル
------------------------------------------------------------------------------- */
.idxVisual01 {
	display: -webkit-box;
	display: flex;
	align-items: center;
	height: 260px;
	padding: 0 15px;
	background: url(../images/top/visual_bg01.jpg) center center no-repeat;
	background-size: cover;
}
.idxVisual01_in {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}
.idxVisual01_tit {
	line-height: 1;
	margin: 0;
	color: #fff;
	font-size: 400%;
	font-weight: 700;
}
.idxVisual01_en {
	line-height: 1;
	margin: 21px 0 0;
	color: #FA0046;
	font-size: 117%;
	font-weight: 400;
}
/* アンカー
------------------------------------------------------------------------------- */
.idxAnchor01 {
	margin: 0 0 78px;
	padding: 32px 15px;
	background-color: #F5F5F5;
}
.idxAnchor01_list {
	display: -webkit-box;
	display: flex;
	justify-content: center;
	max-width: 1064px;
	margin: 0 auto;
	font-size: 117%;
	font-weight: 500;
}
.idxAnchor01_item {
	width: 18.796%;
	margin: 0 1.505% 0 0;
}
.idxAnchor01_item:last-child {
	margin-right: 0;
}
.idxAnchor01_item a {
	display: -webkit-box;
	display: flex;
	align-items: center;
	position: relative;
	height: 100%;
	line-height: 1.428;
	padding: 13px 45px 11px 16px;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	box-sizing: border-box;
	transition: background .3s, color .3s;
}
.d_hover .idxAnchor01_item a:hover {
	background-color: #1e1e1e;
	color: #fff;
}
.idxAnchor01_item a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 18px;
	width: 8px;
	height: 8px;
	margin: -6px 0 0;
	border-width: 0 0 1px 1px;
	border-style: solid;
	border-color: #FA0046;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transition: all .3s;
}
.d_hover .idxAnchor01_item a:hover::after {
	margin: 0;
	border-color: #fff;
}
/* 見出し
------------------------------------------------------------------------------- */
.idxHeading01 {
	position: relative;
	margin: 100px 0 47px;
	padding: 0 0 0 34px;
	line-height: 1.5;
	font-size: 300%;
	font-weight: 700;
}
.idxHeading01:first-child {
	margin-top: 0;
}
.idxHeading01::before {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	bottom: 1px;
	width: 8px;
	background-color: #FA0046;
}
.idxHeading02 {
	margin: 0 0 30px;
	line-height: 1.285;
	font-size: 234%;
	font-weight: 700;
}
.idxHeading02_fs {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 64.2%;
}
.idxHeading04 {
	margin: 0 0 22px;
	line-height: 1.416;
	font-size: 267%;
	font-weight: 700;
	text-align: center;
}
.idxHeading04_fs {
	font-size: 64.2%;
}
.idxHeading05 {
	margin: 0 0 33px;
	line-height: 1.214;
	font-size: 234%;
	font-weight: 700;
}
.idxHeading06 {
	margin: 0 0 32px;
	line-height: 1.285;
	font-size: 234%;
	font-weight: 700;
}

/* 文章
------------------------------------------------------------------------------- */
.idxTxt01 {
	line-height: 1.8125;
	margin: 0;
	font-size: 134%;
	font-weight: 500;
}
/* ボタン
------------------------------------------------------------------------------- */
.idxBtn01 {
	margin: 45px 0 0;
	line-height: 1.4375;
	font-size: 134%;
	font-weight: 700;
}
.idxBtn01-w1 {
	max-width: 320px;
}
.idxBtn01-w2 {
	max-width: 440px;
}
.idxBtn01 li {
	margin: 20px 0 0;
}
.idxBtn01 li:first-child {
	margin-top: 0;
}
.idxBtn01 a {
	display: block;
	position: relative;
	padding: 18px 40px 19px 20px;
	text-decoration: none;
}
.idxBtn01-bg1 a {
	background-color: #f5f5f5;
}
.idxBtn01-bg2 a {
	background-color: #fff;
}
.idxBtn01 a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 18px;
	height: 10px;
	margin: -5px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) center center no-repeat;
	background-size: contain;
}
.idxBtn02 {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	line-height: 1.4375;
	margin: 45px 0 0;
	font-size: 134%;
	font-weight: 700;
}
.idxBtn02 li {
	width: 48.611%;
}
.idxBtn02 a {
	display: block;
	position: relative;
	padding: 18px 40px 19px 20px;
	background-color: #f5f5f5;
	text-decoration: none;
}
.idxBtn02-bg1 a {
	background-color: #f5f5f5;
}
.idxBtn02-bg2 a {
	background-color: #fff;
}
.idxBtn02 a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 18px;
	height: 10px;
	margin: -5px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) center center no-repeat;
	background-size: contain;
}
.idxBtn03 {
	margin: 40px 0 0;
	line-height: 1.4375;
	font-size: 134%;
	font-weight: 700;
}
.idxBtn03-mt1 {
	margin-top: 30px;
}
.idxBtn03-center {
	margin-right: auto;
	margin-left: auto;
}
.idxBtn03-right {
	margin-left: auto;
}
.idxBtn03-w1 {
	max-width: 240px;
}
.idxBtn03 a {
	display: block;
	position: relative;
	padding: 20px 40px 20px 20px;
	color: #333;
	text-decoration: none;
}
.idxBtn03-bg1 a {
	background-color: #f5f5f5;
}
.idxBtn03-bg2 a {
	background-color: #fff;
}
.idxBtn03 a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 18px;
	height: 10px;
	margin: -5px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) center center no-repeat;
	background-size: contain;
}
/* レイアウト1
------------------------------------------------------------------------------- */
.idxBlock01 {
	padding: 0 15px;
}
.idxBlock01_in {
	max-width: 1240px;
	margin: 0 auto;
}
.idxBlock01_wrap {
	display: -webkit-box;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.idxBlock01_info {
	width: 38.709%;
}
.idxBlock01_img {
	width: 57.259%;
	max-width: 710px;
}
.idxBlock01_img img {
	box-shadow: 0 8px 48px rgba(0, 0, 0, .08);
}
@media screen and (max-width:1240px) {
	.idxBlock01_info {
		width: 45%;
	}
	.idxBlock01_img {
		width: 50%;
	}
}
/* レイアウト2
------------------------------------------------------------------------------- */
.idxBlock02 {
	position: relative;
	margin: 80px 0 100px;
	padding: 0 15px 55px;
	overflow: hidden;
}
.idxBlock02::before {
	content: "";
	display: block;
	position: absolute;
	top: 55px;
	left: -webkit-calc(50% - 514px);
	left: calc(50% - 514px);
	bottom: 0;
	right: 0;
	background-color: #EDE9E4;
}
.idxBlock02_in {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	z-index: 1;
}
.idxBlock02_info {
	width: 45.483%;
	padding: 17px 0 0;
}
.idxBlock02_img {
	position: relative;
	width: 48.71%;
	max-width: 604px;
	min-height: 470px;
}
.idxBlock02_img img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 704px;
	max-width: none;
	height: 469px;
}
@media screen and (max-width:1240px) {
	.idxBlock02_in {
		align-items: flex-start;
	}
	.idxBlock02_img {
		width: 42%;
		max-width: 560px;
		min-height: 373px;
	}
	.idxBlock02_img img {
		width: 560px;
		height: 373px;
	}
	.idxBlock02_info {
		width: 54%;
		padding: 100px 0 0;
	}
}
/* レイアウト3
------------------------------------------------------------------------------- */
.idxBlock03 {
	margin: 100px 0;
	padding: 0 15px;
	background: #242122 urL(../images/top/block3_bg01.jpg) right center no-repeat;
	background-size: 640px auto;
	color: #fff;
}
.idxBlock03_in {
	max-width: 1240px;
	margin: 0 auto;
}
.idxBlock03_info {
	display: -webkit-box;
	display: flex;
	align-items: center;
	height: 430px;
	width: 46.774%;
}
.idxBlock03_info div {
	width: 100%;
}
@media screen and (max-width:1240px) {
	.idxBlock03 {
		background-size: 500px auto;
	}
	.idxBlock03_info {
		width: 58%;
		height: 333px;
	}
	.idxBlock03 .idxBtn02 {
		margin-top: 30px;
	}
}
/* 大和ハウスグループを知る
------------------------------------------------------------------------------- */
.idxAbout01 {
	padding: 100px 15px;
	background-color: #F5F5F5;
}
.idxAbout01_in {
	max-width: 1240px;
	margin: 0 auto;
}
.idxAbout02 {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	background-color: #fff;
}
.idxAbout02_img {
	width: 40.162%;
	max-width: 498px;
}
.idxAbout02_btns {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 59.838%;
	line-height: 1.444;
	font-size: 150%;
	font-weight: 700;
}
.idxAbout02_btn {
	width: 33.333%;
	position: relative;
}
.idxAbout02_btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 8px;
	background-color: #F5F5F5;
}
.idxAbout02_btn:last-child::after {
	content: none;
}
.idxAbout02_btn a {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	height: 100%;
	padding: 20px 0;
	color: #333;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}
.idxAbout02_btn div > span {
	display: block;
}
.idxAbout02_btn div > span:nth-child(1) {
	width: 96px;
	height: 96px;
	margin: 0 auto 22px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.idxAbout02_btn:nth-child(1) div > span:nth-child(1) {
	background-image: url(../images/top/about_bg01.svg);
}
.idxAbout02_btn:nth-child(2) div > span:nth-child(1) {
	background-image: url(../images/top/about_bg02.svg);
}
.idxAbout02_btn:nth-child(3) div > span:nth-child(1) {
	background-image: url(../images/top/about_bg03.svg);
}
.idxAbout02_btn div > span:nth-child(3) {
	width: 80px;
	height: 32px;
	margin: 23px auto 0;
	background: #F5F5F5 url(/common/images/rn04/svg/arw_ico02.svg) center center no-repeat;
	background-size: 18px 10px;
}
.idxAbout03 {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 50px 0 0;
}
.idxAbout03_item {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	margin: 47px 0 0;
	background-color: #fff;
}
.idxAbout03_item:first-child {
	margin-top: 0;
}
.idxAbout03_head {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
}
.idxAbout03_img {
	width: 40.162%;
	max-width: 498px;
}
.idxAbout03_info {
	width: 59.838%;
	padding: 30px 40px;
	box-sizing: border-box;
}
.idxAbout03_wrap {
	max-width: 600px;
	margin: 0 auto;
}
.idxAbout03 .idxBtn03 {
	margin-top: 40px;
}
@media screen and (max-width:1240px) {
	.idxAbout02_btns {
		font-size: 134%;
	}
	.idxAbout02_btn div > span:nth-child(1) {
		width: 70px;
		height: 70px;
		margin: 0 auto 16px;
	}
	.idxAbout02_btn div > span:nth-child(3) {
		margin: 12px auto 0;
	}
	.idxAbout03_img {
		width: 45%;
	}
	.idxAbout03_info {
		width: 55%;
		padding: 15px 30px;
	}
	.idxAbout03 .idxHeading02_fs {
		font-size: 50%;
	}
	.idxAbout03 .idxHeading02 {
		margin-bottom: 18px;
	}
	.idxAbout03 .idxBtn03 {
		margin-top: 25px;
	}
}
/* 技術・DX、コミュニケーション活動、基本情報
------------------------------------------------------------------------------- */
.idxGuide01 {
	padding: 100px 15px;
}
.idxGuide01_in {
	max-width: 1240px;
	margin: 0 auto;
}
.idxGuide02 {
	display: -webkit-box;
	display: flex;
}
.idxGuide02_item {
	width: 48.39%;
	max-width: 600px;
	margin: 0 3.23% 0 0;
	background-color: #f5f5f5;
}
.idxGuide02_item:nth-child(2n) {
	margin-right: 0;
}
.idxGuide02_info {
	padding: 41px 32px 40px;
}
.idxGuide02_initiative {
	background-color: #F5F5F5;
	margin-top: 60px;
	padding: 60px 20px;
}
.idxGuide02_initiative .idxHeading02 {
	margin-bottom: 50px;
	text-align: center;
}
.idxGuide02_initiative .idxGuide02 {
	max-width: 1096px;
	margin: 0 auto;
}
.idxGuide02_initiative .idxGuide02_item {
	width: 47.81%;
	max-width: 524px;
	margin: 0 4.38% 0 0;
	background-color: #ffffff;
}
.idxGuide02_initiative .idxGuide02_item:nth-child(2n) {
	margin-right: 0;
}
.idxGuide02_initiative .idxBtn03-bg2 a {
	background-color: #F5F5F5;
}
.idxGuide03_item {
	display: -webkit-box;
	display: flex;
	margin: 30px 0 0;
}
.idxGuide03_item:first-child {
	margin-top: 0;
}
.idxGuide03_img {
	width: 40.162%;
	max-width: 498px;
}
.idxGuide03_info {
	width: 59.838%;
	padding: 0 40px;
	box-sizing: border-box;
}
.idxGuide03_wrap {
	max-width: 600px;
	margin: 0 auto;
}
.idxGuide04 {
	display: -webkit-box;
	display: flex;
	font-size: 100%;
}
.idxGuide04_item {
	width: 23.065%;
	max-width: 286px;
	margin: 0 2.58% 0 0;
}
.idxGuide04_item:nth-child(4n) {
	margin-right: 0;
}
.idxGuide04_wrap {
	display: block;
	color: #000;
	text-decoration: none;
}
.idxGuide04_img {
	display: block;
}
.idxGuide04_caption {
	line-height: 1.4375;
	position: relative;
	margin: 16px 0 0;
	font-size: 134%;
	font-weight: 700;
}
.idxGuide04_caption::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 18px;
	height: 10px;
	margin: -5px 0 0;
	background: url(/common/images/rn04/svg/arw_ico02.svg) center center no-repeat;
	background-size: contain;
}
@media screen and (max-width:1240px) {
	.idxGuide02_info {
		padding: 36px 30px 35px;
	}
	.idxGuide02 .idxHeading04 {
		font-size: 184%;
		letter-spacing: -0.02em;
	}
	.idxGuide03_img {
		width: 40%;
	}
	.idxGuide03_info {
		width: 60%;
		padding: 0 0 0 29px;
	}
	.idxGuide03 .idxHeading06 {
		margin-bottom: 24px;
	}
	.idxGuide03 .idxBtn03 {
		margin-top: 25px;
	}
}
/* 事業領域
------------------------------------------------------------------------------- */
.idxBusiness01 {
	padding: 0 15px 100px;
}
.idxBusiness01_in {
	max-width: 1240px;
	margin: 0 auto;
	padding: 64px 0 0;
	border-top: 1px solid #ff0046;
}
.idxBusiness01_tit {
	line-height: 1.428;
	margin: 0 0 64px;
	font-size: 234%;
	font-weight: 700;
}
.idxBusiness01_tit span {
	display: inline-block;
	margin: 0 0 0 20px;
	color: #6E6E6E;
	font-size: 64.1%;
	font-weight: 400;
	vertical-align: 0.2em;
}
.idxBusiness01_list {
	position: relative;
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 59px 0 0;
}
.idxBusiness01_item {
	width: 24.039%;
}
.idxBusiness01_wrap {
	display: block;
	color: #000;
	text-decoration: none;
}
.idxBusiness01_img {
	display: block;
}
.idxBusiness01_txt {
	line-height: 1.333;
	margin: 0 0 17px;
	font-family: 'Lato', sans-serif;
	font-size: 250%;
	font-weight: 700;
}
.idxBusiness01_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;
}
.idxBusiness01_txt span {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 46.8%;
	font-weight: 500;
	vertical-align: 0.25em;
}
.idxBusiness01_caption {
	position: relative;
	line-height: 1.75;
	margin: 20px 0 0;
	padding: 0 40px 0 0;
	font-size: 134%;
	font-weight: 700;
}
.idxBusiness01_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;
}
.idxBusiness01_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;
}
.idxBusiness01_group {
	display: block;
	max-width: 900px;
	margin: 40px auto 0;
}
.idxBusiness02 {
	position: relative;
	min-height: 320px;
	background: url(../images/top/business_bg01.jpg) center center no-repeat;
	background-size: cover;
}
.idxBusiness02_front {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 51px 45px 40px;
	color: #fff;
}