@charset "UTF-8";

.mt40 {
	margin-top: 4%;
}


@media all and (min-width: 769px) {
	.buildPage .mb80 {
		margin-bottom: 80px;
	}

	.buildPage .mt80 {
		margin-top: 80px;
	}
	
	.buildPage .w95 {
		width: 95%;
	}

	#Contents .wrap {
		max-width: 1240px;
		padding: 0 40px;
		margin: 0 auto;
	}	
	
	.buildPage .wrap h3.title {
		border-left: 10px solid #4C5870;
		font-size: 24px;
		font-weight: 600;
		padding-left: 30px;
		margin-bottom: 40px;
	}	
	
	.buildPage .caution {
		margin: 0 0 40px 40px;
	}
	
	.buildPage .wrap .text {
		font-size: 16px;
		line-height: 1.7;
	}
	
	.buildPage .qualitySec01 {
		margin-bottom: 80px;
	}	
	
	.buildPage .pictAuto {
		text-align: center;
		margin: 4rem auto;
	}	
	
	.buildPage .flexBox {
		display: flex;
		flex-wrap: wrap;
	}
	
	.buildPage .qualitySec01 .flexBox {
		justify-content: space-between;
		align-items: center;
	}
	
	.buildPage .flexBox .graph {
		width: 49%;
	}
	
	.buildPage .flexBox .graph img,.flexBox .pct img {
		width: 100%;
	}	
	
	.flexBox .pct {
		width: 45%;
	}
	
	
	.buildPage .closing {
		text-align: center;
		font-size: 19px;
		line-height: 34px;
		font-weight: 600;
		padding: 30px 0;
		background-color: rgba(76, 88, 112, 0.05);
	}	

	.buildPage .caption {
		font-size: 16px;
		line-height: 30px;
		padding-top: 27px;
		text-align: center;
	}	
	
	.buildPage .caption strong {
		display: block;
	}
	
	.buildPage .economicDetail03 .wrap .block01 {
		margin-bottom: 40px;
	}	
	
	.buildPage table {
		width: 100%;
	}
	
	.buildPage table,.buildPage table td,.buildPage table th {
		border: 1px solid #595959;
		border-collapse: collapse;
		text-align: center;
		padding: 0.8rem;
	}

	.buildPage table td:first-child {
		width: 20%;
	}

	.bgColor01 {
		background: #D9E1F2;
	}

	.bgColor02 {
		background: #C6E0B4;
	}

	.bgColor03 {
		background: #FFE699;
	}
	
	.bgColor04 {
		background: #EBEDEC;
	}
	
	.buildPage table.tableStyle01 th:nth-child(7){
		border-top: 2px dotted #ce0000;
		border-left: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 th:nth-child(8){
		border-top: 2px dotted #ce0000;
		border-right: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 td.borderLeft{
		border-left: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 td.borderRight{
		border-right: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 td.borderBottom{
		border-bottom: 2px dotted #ce0000;
	}

	.right {
		text-align: right;
	}
	
	.cf {
		overflow: hidden;
	}	
	
	.floatLeft {
		float:left;
	}

	.floatRight {
		float:right;
	}
		
	.pct.auto.center img {
		margin-bottom: 0.8rem;
	}
	
	.buildPage .tableStyle02 th {
		width: 20%;
		vertical-align: middle;
		color:#fff;
	}
	
	.buildPage .tableStyle02 tr:first-child th {
		background: #ccc;
		color:#595959;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(2) th {
		background: #577DBB;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(3) th {
		background: #3EB45A;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(4) th {
		background: #EFEB55;
		color:#595959;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(5) th {
		background: #F5A146;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(6) th {
		background: #AD5F88;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(7) th {
		background: #A61854;
	}	
	
	.buildPage .tableStyle02 td,.buildPage .tableStyle03 td:first-child,.vaMiddle {
		vertical-align: middle;
	}	
	
	.buildPage .tableStyle02 td,.buildPage .tableStyle03 td:last-child {
		text-align: left;
	}	
	
	.buildPage .tableStyle03 tbody th,.buildPage .tableStyle05 tbody th,.buildPage .tableStyle06 tbody th {
		width: 20%;
		vertical-align: middle;
	}
	
	.qualitySec02 .flexBox {
		align-items: center;
	}
	
	.qualitySec02 .flexBox div.w70 {
		width: 70%;
	}
	
	.qualitySec02 .flexBox div p:first-child {
		margin-bottom: 3rem;
	}
		
	.qualitySec02 .flexBox div.zehImage {
		width: 15%;
		margin-left: 70px;
	}
	
	.qualitySec02 .flexBox div.zehImage img {
		width: 100%;
	}
	
	.qualitySec02 .flexBox div a {
		text-decoration: underline;
	}
	
	.qualitySec02 .flexBox div a:hover {
		text-decoration: none;
	}
	
	p.textDate {
		text-align: right;
		width: 770px;
	}

	.tableStyle04 {
		table-layout: fixed;
		margin-bottom: 1rem;
	}
	
	.buildPage table.tableStyle04 td:first-child {
		width: auto;
	}
	
	.buildPage .tableStyle05 tbody td {
		width: 80%;
		text-align: left;
	}

	.buildPage .tableStyle06 tbody td {
		width: 40%;
		text-align: left;
	}
	
	.buildPage .tableStyle05 td.center,.buildPage .tableStyle06 td.center {
		text-align: center;
	}

	.buildPage .tableStyle05 td.center,.buildPage .tableStyle06 td.center,.buildPage .tableStyle05 th,.buildPage .tableStyle06 th {
		background-color: #EBEDEC;
	}
		
	.sp {
		display: none;
	}
	
	.rightPc{
		text-align: right;
	}
	
	.linkBtn a {
		width: 40%;
		margin: 60px auto 60px;
	}
	
	.block01 .linkBtn a {
		width: 60%;
	}	
	
	table.tableStyle06 ul {
		list-style: disc;
		padding-left: 1.6rem;
	}
	
	.textBold {
		font-weight: bold;
	}
	
	.textSmall {
		font-size: 80%;
	}	
	
	.borderBox {
		/*margin-top: 4rem;*/
		padding: 1rem 2rem;
		border: 1px solid #4C5870;
		display: inline-block;
	}
	
	.star {
		color:#ffcc33;
		font-size: 120%;
	}
	
	.mb40 {
		margin-bottom: 40px;
	}
	
	/*ーーーーZEHーーーー*/
	
	.buildPage .wrap .text.textBig {
		font-size: 20px;
		margin-bottom: 1rem;
	}
	
	table.style01, table.style01 td, table.style01 th {
		border: 1px solid #595959;
		border-collapse: collapse;
		padding: 0.8rem;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	table.style01 th{
		width: 40%;
		background: #EBEDEC;
	}
	
	table.style01 td{
		width: 60%;
		text-align: left;
	}
	
	table.style01 td.center{
		text-align: center;
	}

	.sixstar{
		font-size: 19px!important;
	}

	/*ZEH 6つ星獲得強調*/
	.hukidasi{
		width: 95%!important;
		margin: 1.5em auto 1rem 0;
		padding: 1rem;
		position: relative;
/*		display: inline-block;*/
		background: #4C5870;
		text-align: center;
		font-size: 19px;
		color: #fff;
		display: block;
	}
	.hukidasi:before{
		content: "";
		position: absolute;
		top: -30px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-bottom: 15px solid #4C5870;
	}
	
	.buildPage .qualitySec01 h4 {
		font-size: 20px;
		margin-bottom: 2rem;
	}
	
	.buildPage .qualitySec01 h4 span{
		display: block;
		font-size: 16px;
	}
	
	.buildPage .qualitySec01 h4.house {
		margin-bottom: 4rem;
	}	
	
	.buildPage .qualitySec01 .houseList {
		justify-content: center;
		max-width: 1240px;
		flex-wrap: nowrap;
		gap: 10px;
		align-items: flex-start;
	}

	.buildPage .qualitySec01 .houseList li {
		width: 33%;
		text-align: center;
		margin: 0 auto;
	}
	
	.buildPage .qualitySec01 .houseList li img {
		margin-bottom: 20px;
		width: 100%;
	}
	
	.buildPage .qualitySec01 .houseList li .name {
		font-size: 16px;
		margin-bottom: 20px;
		min-height: 61px;
	}
	
	.buildPage .qualitySec01 .houseList li .linkBtn a {
		width: 60%;
		margin: 0 auto;
		padding: 10px 0 18px;
	}
	
	.buildPage .qualitySec01 .houseList li .zeh_linkBtn a {
		width: 60%;
		margin: 0 auto;
		padding: 10px 0;
		font-size: 16px;
	}
	
	.buildPage .economicDetail03 .wrap .block01 .detail h4{
		font-size: 20px;
		margin-bottom: 2rem;
	}
	
}




@media all and (min-width: 1024px) {
	/*ZEH 6つ星獲得強調*/
	.hukidasi{
/*		width: 100%;*/
	}
}


@media all and (max-width: 1024px) {	
	#Contents .wrap {
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	
	#Contents img {
		width: 100%;
	}
	
	.flexBox .pct {
		width: 48%;
	}
	
}
	
@media all and (max-width: 768px) {
	p {
		font-size: 12px;
	}

	.mb80 {
		margin-bottom: 8%;
	}
	
	.mb40 {
		margin-bottom: 2%;
	}
	
	
	.mt80 {
		margin-top: 8%;
	}

	#Contents .wrap {
		width: calc(100% - 40px);
		margin: 0 auto;
	}
	
	#Contents img {
		width: 100%;
	}
	
	#Contents .wrap h3.title {
		font-size: 16px;
		font-weight: 600;
		line-height: 1.4;
		padding-left: 15px;
		border-left: 5px solid #4C5870;
		margin-bottom: 23px;
	}
	
	#Contents .caution {
		margin: 0 0 6% 20px;
		font-size: 12px;
	}
	
	.buildPage .wrap .text {
		font-size: 12px;
		line-height: 23px;
	}
	
	.flexBox .pct {
		width: 100%;
		text-align: center;
	}
	
	.qualitySec01 {
		margin-bottom: 8%;
	}	
	
	.pictAuto {
		text-align: center;
		margin: 4rem auto;
	}	
	
	.flexBox {
		display: block;
	}
	
	.flexBox .graph {
		width: 94%;
	}
	
	.closing {
		text-align: center;
		font-size: 14px;
		line-height: 23px;
		font-weight: 600;
		padding: 14px 0 10px;
		background-color: rgba(76, 88, 112, 0.05);
		margin-bottom: 8%;
	}	

	.caption {
		font-size: 12px;
		line-height: 23px;
		padding-top: 15px;
	}	
	
	.caption strong {
		display: block;
	}
	
	.buildPage .economicDetail03 .wrap .block01 {
		margin-bottom: 6%;
	}
	
	.tableBox {
		width: 100%;
	}
	
	.tableWrapper {
		max-width: 960px;
		overflow-x: scroll;
	}
	
	.tableWrapper table {
		position: relative;
		margin-bottom: 0.8rem;
		width: 100%;
	}
		
	.buildPage table,.buildPage table td,.buildPage table th {
		border: 1px solid #595959;
		border-collapse: collapse;
		text-align: center;
		padding: 0.8rem;
		font-size: 12px;
		white-space: nowrap;
	}

	.buildPage table td:first-child {
		width: 200px;
	}

	.bgColor01 {
		background: #D9E1F2;
	}

	.bgColor02 {
		background: #C6E0B4;
	}

	.bgColor03 {
		background: #FFE699;
	}
	
	.bgColor04 {
		background: #EBEDEC;
	}

	.buildPage table.tableStyle01 th:nth-child(7){
		border-top: 2px dotted #ce0000;
		border-left: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 th:nth-child(8){
		border-top: 2px dotted #ce0000;
		border-right: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 td.borderLeft{
		border-left: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 td.borderRight{
		border-right: 2px dotted #ce0000;
	}

	.buildPage table.tableStyle01 td.borderBottom{
		border-bottom: 2px dotted #ce0000;
	}

	.right {
		text-align: right;
	}
	
	.cf {
		overflow: hidden;
	}	
	
	.floatLeft {
		float:left;
	}

	.floatRight {
		float:right;
	}
	
	.pct.w60 {
		width: 100%;
		margin: 0 auto 8%;
	}
	
	.pct.w60 img {
		width: 100%;
	}
	
	.buildPage .tableStyle02 th {
		width: 20%;
		vertical-align: middle;
		color:#fff;
	}
	
	.buildPage .tableStyle02 tr:first-child th {
		background: #ccc;
		color:#595959;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(2) th {
		background: #577DBB;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(3) th {
		background: #3EB45A;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(4) th {
		background: #EFEB55;
		color:#595959;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(5) th {
		background: #F5A146;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(6) th {
		background: #AD5F88;
	}	
	
	.buildPage .tableStyle02 tr:nth-child(7) th {
		background: #A61854;
	}	
	
	.buildPage .tableStyle02 td,.buildPage .tableStyle03 td:first-child {
		vertical-align: middle;
	}	
	
	.buildPage .tableStyle02 td,.buildPage .tableStyle03 td:last-child {
		text-align: left;
	}	
	
	.buildPage .tableStyle03 tbody th,.buildPage .tableStyle05 tbody th,.buildPage .tableStyle06 tbody th {
		width: 40%;
		vertical-align: middle;
	}
	
	.qualitySec02 .flexBox div.w70 {
		width: 100%;
	}
	
	.qualitySec02 .flexBox .spflexBox {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 2%;
	}
	
	.qualitySec02 .flexBox .spflexBox .zehImage {
		width: 20%;
		margin: 0 auto;
	}
	
	.qualitySec02 .flexBox .spflexBox .textBox {
		width: 76%;
		margin: 0 auto;
	}
	
	.qualitySec02 .flexBox div a {
		text-decoration: underline;
	}
	
	.qualitySec02 .flexBox div a:hover {
		text-decoration: none;
	}
	
	p.textDate {
		text-align: right;
	}
	
	.buildPage table.tableStyle04 {
		min-width: 720px;
	}
	
	.tableStyle04 td,
	.tableStyle04 th{
		width: 80px;
	}
	
	.buildPage .tableStyle05 tbody td {
		width: 80%;
		text-align: left;
	}

	.buildPage .tableStyle06 tbody td {
		width: 40%;
		text-align: left;
	}
	
	.buildPage .tableStyle05 td.center,.buildPage .tableStyle06 td.center {
		text-align: center;
	}

	.buildPage .tableStyle05 td.center,.buildPage .tableStyle06 td.center,.buildPage .tableStyle05 th,.buildPage .tableStyle06 th {
		background-color: #EBEDEC;
	}
		
	h4 {
		font-size: 14px;
	}
	
	p.right.sp.textSmall {
		font-size: 12px;
	}
	
	.buildPage .economicDetail03 {
		padding: 50px 0 30px;
	}
	
	.buildPage .economicDetail03 .text {
		font-size: 12px;
		line-height: 1.7;
	}	
	
	.linkBtn a {
		font-size: 14px;
		margin: 40px auto 40px;
	}	
	
	.pc {
		display: none;
	}
	
	table.tableStyle06 ul {
		list-style: disc;
		padding-left: 1.6rem;
	}
	
	.textBold {
		font-weight: bold;
	}
	
	.pct.auto.center img {
		margin-bottom: 0.8rem;
	}	
	
	.textSmall {
		font-size: 12px;
	}	
	
	.borderBox {
		margin-top: 2rem;
		padding: 0.6rem 0;
		border: 1px solid #4C5870;
		display:block;
		text-align: center;
	}
	
	.star {
		color:#ffcc33;
		font-size: 120%;
	}
	
	section#performance.qualitySec02 p.textSmall.mb40 {
		margin-bottom: 2rem;
	}
	
	section#performance.qualitySec02 .flexBox div p.text:first-child {
    margin-bottom: 2rem;
	}
	
	/*ーーーーZEHーーーー*/
	
	.buildPage .wrap .text.textBig {
		font-size: 16px;
		margin-bottom: 1rem;
	}
	
	table.style01 {
		margin-top: 0;
	}
	
	table.style01 {
		width: 100%;
		margin: 0 auto 4rem;
		overflow: hidden;
		white-space: inherit;
	}
	
	table.style01, table.style01 td, table.style01 th {
		border: 1px solid #595959;
		border-collapse: collapse;
		padding: 0.8rem;
		vertical-align: middle;
		box-sizing: border-box;
	}
	
	table.style01 th{
		width: 40%;
		background: #EBEDEC;
	}
	
	table.style01 td{
		width: 60%;
		text-align: left;
	}
	
	table.style01 td.center{
		text-align: center;
	}	
	
	#Contents .tableWrapper img {
		width: 800px;
		margin-bottom: 2rem;
	}
	
	.sixstar{
		font-size: 14px!important;
		letter-spacing: -0.5px;
	}
	
	/*ZEH 6つ星獲得強調*/
	.hukidasi{
		min-width: 100%;
		margin: 1.5em auto 1rem;
		padding: 1rem;
		position: relative;
		display: inline-block;
		background: #4C5870;
		text-align: center;
		font-size: 14px;
		color: #fff;
	}
	.hukidasi:before{
		content: "";
		position: absolute;
		top: -30px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-bottom: 15px solid #4C5870;
	}
	
	.buildPage .qualitySec01 h4 {
		font-size: 16px;
		margin-bottom: 2rem;
	}
	
	.buildPage .qualitySec01 h4 span{
		display: block;
		font-size: 12px;
	}
	
	.buildPage .qualitySec01 h4.house {
		margin-bottom: 2rem;
	}	
	
	.buildPage .qualitySec01 .houseList {
		justify-content: center;
	}
	
	.buildPage .qualitySec01 .houseList li {
		width: 100%;
		text-align: center;
		margin-bottom: 2rem;
	}
	
	.buildPage .qualitySec01 .houseList li img {
		margin-bottom: 10px;
	}	
	
	.buildPage .qualitySec01 .houseList li .name {
		font-size: 14px;
		margin-bottom: 10px;
	}	
	
	.buildPage .qualitySec01 .houseList li .linkBtn a {
		width: 60%;
		margin: 0 auto;
		padding: 10px 0 18px;
	}
	
	.buildPage .qualitySec01 .houseList li .zeh_linkBtn a {
		width: 60%;
		margin: 0 auto;
		padding: 10px 0;
		font-size: 14px;
	}
	
	.buildPage .economicDetail03 .wrap .block01 .detail h4{
		font-size: 16px;
		margin-bottom: 2rem;
	}
}

/*ZEH 展示場の余白相殺*/

ul.houseList li:nth-child(3n){
	margin: 0 auto!important;
}

/*＝＝＝＝＝＝＝＝＝＝
POINT　ZEHビルダー/プランナーの一覧を確認
＝＝＝＝＝＝＝＝＝＝＝*/

.pointBox {
	border: 2px solid #44B03E;
	padding: 40px 50px;
}

.pointBox h2 .point {
    background: #44B03E;
    padding: 4px 20px 8px;
    color: #fff;
    margin-right: 20px;
	font-size: 20px;
}

.pointBox h2 {
    display: inline-block;
    font-size: 24px;
    margin-bottom: 40px;
	letter-spacing: 2px;
}

.qualitySec02 .pointBox .flexBox {
	align-items: center;
	width: 85%;
	margin: 0 auto;
}

.qualitySec02 .pointBox .flexBox .zehlogo {
    width: 18%;
    margin-right: 6%;
}

.qualitySec02 .pointBox .flexBox .zehlogo img {
	width: 100%;
}

.qualitySec02 .pointBox .flexBox .textBox {
	width: 75%;
}

.qualitySec02 .pointBox .flexBox .textBox .btn a {
	background: #44B03E;
	color:#fff;
	text-decoration: none;
	padding: 8px 60px 12px 50px;
	display: inline-block;
	position: relative;
}

.qualitySec02 .pointBox .flexBox .textBox .btn a:before {
	content:"";
	position: absolute;
	top: 45%;
    right: 30px;
    width: 10px;
    height: 10px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	transform: translateY(-25%) rotate(135deg);
}

@media all and (max-width: 768px) {

	.pointBox {
		padding: 15px;
		border: 1px solid #44B03E;
	}

	.pointBox h2 {
		font-size: 16px;
		margin-bottom: 10px;
		line-height: 1.6;
		letter-spacing: 1px;
		display: flex;
		align-items: center;
		text-align: left;
	}	
	
	.pointBox h2 span {
		padding: 0 0;
		margin-right: 0;
		font-size: 14px;
		letter-spacing: 0;
	}
	
	.pointBox h2 .point {
		padding: 0 5px;
		margin-right: 10px;;
		line-height: 3.7;
        font-size: 10px;
        letter-spacing: 0;
        margin-top: 3px;
	}
		
	.qualitySec02 .pointBox .flexBox {
		width: 100%;
	}	
	
	.qualitySec02 .pointBox .flexBox .zehlogo {
		width: 30%;
		margin: 0 auto 10px;
	}	
	
	.qualitySec02 .pointBox .flexBox .textBox {
		width: 100%;
	}	
	
	.qualitySec02 .pointBox .flexBox .textBox .text {
		margin-bottom: 10px;
		letter-spacing: -0.5px;
	}	
	
	.qualitySec02 .pointBox .flexBox .textBox .btn a {
		padding: 8px 5px 10px 5px;
		width: 100%;
		font-size: 12px;
		letter-spacing: -0.5px;
		text-align: center;
	}	
	
	.qualitySec02 .pointBox .flexBox .textBox .btn a:before {
		width: 8px;
		height: 8px;
		right: 15px;
		top: 43%;
	}	
	

}

@media all and (max-width: 320px) {
	
	.qualitySec02 .pointBox .flexBox .textBox .btn a {
		padding: 8px 40px 12px 20px;
	}	
	
	.qualitySec02 .pointBox .flexBox .textBox .btn a .sp {
		display: none!important;
	}
}

@media all and (min-width: 769px) and (max-width: 1024px) {
	
	.pointBox {
		padding: 40px 35px;
	}
	
	.pointBox h2 {
		font-size: 2.2vw;
		letter-spacing: 1px;
	}	
	
	.qualitySec02 .pointBox .flexBox {
		width: 100%;
	}	
	
	.qualitySec02 .pointBox .flexBox .zehlogo {
		width: 20%;
		margin-right: 4%;
	}
	
	.qualitySec02 .pointBox .flexBox .textBox {
		width: 76%;
	}
	
	.qualitySec02 .pointBox .flexBox .textBox .text {
		font-size: 1.6vw;
	}	
	
	
}
