@charset "utf-8";
/* CSS Document */

/*--------------------------------------
　Main Index
---------------------------------------*/
#contents {
width: 100%;
}

.addInner {
width: 1100px;
margin: 0 auto;
}



/*--------------------------------------
　visArea
---------------------------------------*/
#visArea_top {
position: relative;
z-index: 1;
margin: 0 auto 20px;
}

#visArea_top .mainArea {
background: url("/wp/wp-content/uploads/mv_pic_pc.jpg") center top no-repeat;
background-size: auto 550px;
height: 550px;
display: table;
width: 100%;
max-width: 1920px;
margin: 0 auto;
position: relative;
}
#visArea_top .mainArea .mainAreaInner{
display: table-cell;
vertical-align: middle;
padding: 30px 0 40px;
}
#visArea_top .mainArea .siteNameArea {
margin: 0 0 3rem 0;
}

#visArea_top .mainArea .siteName {
font-size: 4.0rem;
text-align: center;
}

#visArea_top .mainArea .siteName img {
margin: 0 auto;
}

#visArea_top .mainArea .siteNameSmall {
font-size: 1.6rem;
}

#visArea_top .mainArea .txtArea {
width: 660px;
background: rgba(255, 255, 255, 0.7);
padding: 2.5rem;
margin: 0 auto;
box-sizing: border-box;
}
#visArea_top .mainArea .mainTxtBox p {
margin: 0;
}

#visArea_top .mainArea .catchArea .catch {
font-size: 2.7rem;
font-weight: 700;
line-height: 1.45;
text-align: center;
color: #3a393b;
margin: 0 0 3rem 0;
letter-spacing: 4px;
}
#visArea_top .mainArea .catchArea .catch .txt-1 {
color: #6bc73a;
}
#visArea_top .mainArea .catchArea .catch .txt-2 {
color: #e56a00;
}

/*--------------------------------------
　float img
---------------------------------------*/
.float-wrap .fl {
width: 400px;
margin: 0 40px 10px 0;
text-align: center;
}

.float-wrap .fr {
width: 400px;
margin: 0 0 10px 40px;
}

.float-wrap .ct {
width: 600px;
}




/*--------------------------------------
オリジナル
---------------------------------------*/


/***** addParts02 *****/

.addParts02 {
width: 100%;
background: url(https://www.energy-efficienthome.com/wp/wp-content/uploads/bg_room2.jpg) no-repeat center top fixed;
margin-top: 160px;
padding: 0 0 100px;
position: relative;
}


.addParts02::before {
width: 100vw;
min-width: 1200px;
height: 80px;
left: 0;
top: 0;
background: url(img/bg_white_halfcircle.png) no-repeat center bottom;
background-size: 100% auto;
position: absolute;
content: "";
z-index: 0;
}
.addParts02::after {
content: "";
width: 670px;
height: 109px;
background: url(img/txticon_comfortablehouse.svg) no-repeat;
background-size: 100% auto;
position: absolute;
top: -7.5rem;
left: 60px;
z-index: 100;
}
.addParts02 .addInner {
width: 1100px;
margin: 0 auto;
}


/*addTopArea*/
.addParts02 .addTopArea {
padding: 0 80px;
margin: 0 auto 70px;
position: relative;
}

/*sttl*/
#index .addParts02 .sttl {
display: block;
font-size: 3.4rem;
font-weight: bold;
line-height: 1.4;
text-align: center;
padding: 0;
margin: 0 0 8rem 0;
color: #3a393b;
letter-spacing: 5px;
z-index: 1;
position: relative;
}

/*block*/
.addParts02 .block {
background-color: #fff;
padding: 40px 0;
margin: 0 0 60px;
position: relative;
border: 2px solid #92cb85;
}

.addParts02 .blockTitArea {
text-align: center;
padding: 0 150px;
margin: 0 0 40px;
}

.addParts02 .blockTitSub {
margin: 0 0 1rem 0;
font-size: 2.4rem;
font-weight: 500;
line-height: 1.5;
letter-spacing: 0.03em;
text-align: center;
color: #e56a00;
font-weight: bold;
}

.addParts02 .blockTitSub span {
font-size: 2.4rem;
color: #00786a;
}

#index .addParts02 .blockTit {
display: inline-block;
font-size: 3.2rem;
font-weight: bold;
line-height: 1.5;
letter-spacing: 0.03em;
text-align: center;
position: relative;
color: #3a393b;
letter-spacing: 5px;
}

/*slideTxtArea*/
.addParts02 .slideTxtArea {
width: calc(100% - 40px);
border-left: 1px solid #333;
padding: 45px 0 15px 35px;
margin: -30px auto 0;
position: relative;
z-index: 2;
}

.addParts02 .slideTxtArea::before {
content: "";
width: 30px;
height: 1px;
background: #333;
position: absolute;
left: 0;
bottom: 0;
}

.addParts02 .caption {
margin: 0 0 14px;
}

.addParts02 .slideTit {
font-size: 1.8rem;
font-weight: bold;
line-height: 1.5;
margin: 0 0 8px;
}

.addParts02 .slideTxt {
line-height: 1.6;
}

/*テキスト動き*/
.addParts02 .slideTxtArea {
opacity: 0;
transition: all 1.0s 0s ease;
transition-delay: 300ms;
}

.addParts02 .slick-slide.slick-current .slideTxtArea,
.addParts02 .slick-slide.is-active-next .slideTxtArea {
opacity: 1;
}

.addParts02 .slideTxtInner {
opacity: 0;
margin-left: -15px;
transition: all 0.5s 0s ease;
transition-delay: 600ms;
}

.addParts02 .slick-slide.slick-current .slideTxtInner,
.addParts02 .slick-slide.is-active-next .slideTxtInner {
opacity: 1;
margin-left: 0;
}


.addParts02 .priceIcoArea {
width: calc(100% - 80px);
height: 100%;
overflow: hidden;
padding: 15px 0;
margin: 0 auto 50px;
position: relative;
border-top: 1px solid #00786a;
border-bottom: 1px solid #00786a;
}

.addParts02 .priceIcoArea .priceArea {
display: flex;
flex-wrap: wrap;
}

.addParts02 .priceIcoArea .priceAreaInner {
display: flex;
flex-wrap: wrap;
align-items: center;
width: 440px;
}

#contents .addParts02 .priceIcoArea .priceArea .priceTit {
font-size: 1.6rem;
font-weight: 500;
line-height: 1.5;
text-align: center;
background: #00786a;
max-width: inherit;
padding: 15px;
letter-spacing: normal;
color: #fff;
margin-right: 19px;
width: 120px;
}

.addParts02 .priceIcoArea .priceArea .price {
font-size: 3.4rem;
font-weight: bold;
line-height: 1.2;
letter-spacing: 0.03em;
text-align: center;
color: #c4940f;
margin-right: 15px;
width: 285px;
}

.addParts02 .priceIcoArea .priceArea .price.small {
font-size: 2.4rem;
}

.addParts02 .priceIcoArea .priceArea .price span {
font-size: 1.4rem;
color: #333;
padding: 0 0 0 5px;
font-weight: inherit;
border-bottom: none;
}

.addParts02 .priceIcoArea .priceArea>p {
width: calc(100% - 440px);
display: flex;
flex-wrap: wrap;
align-items: center;
font-size: 1.2rem;
}

#contents .addParts02 .priceIcoArea .priceArea ul {}

#contents .addParts02 .priceIcoArea .priceArea ul li {
line-height: 1.5;
padding: 0 0 12px 18px;
position: relative;
}

#contents .addParts02 .priceIcoArea .priceArea ul li::before {
content: "・";
position: absolute;
top: 0;
left: 0;
}

.featureArea .featureTit {
color: #e56a00;
text-align: center;
font-size: 2.4rem;
margin: 6rem 0 2.5rem 0;
letter-spacing: 5px;
}
.featureArea .featureTit .ico-1 {
background: url(/wp/wp-content/uploads/title_bg_02.png) no-repeat left center;
}
.featureArea .featureTit span {
display: inline-block;
min-height: 64px;
padding: 2rem 0 0 8rem;
}
.featureArea .featureTit .ico-2 {
background: url(img/title_bg_03.png) no-repeat left center;
}
.featureArea .featureBoxes {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 4rem;
}

.featureArea .featureBoxes .featureBox {
width: calc((100% - 5.6rem) / 2);
background: #fff;
border: 2px solid #eec792;
padding: 30px;
box-shadow: 8px 8px 0 #f8f6f2 inset, -8px -8px 0 #f8f6f2 inset;
}



.featureArea .featureBoxes .featureBox__catch {
text-align: center;
font-size: 2rem;
color: #484848;
font-weight: bold;
padding: 0 0 20px;
margin: 0 0 20px;
position: relative;
letter-spacing: 2px;
}

.featureArea .featureBoxes .featureBox__catch::after {
content: "";
position: absolute;
left: 50%;
bottom: 0;
margin-left: -24px;
width: 48px;
height: 2px;
background: #cab987;
}

.addParts02 .priceIcoArea .icoArea {
width: 640px;
float: right;
}

.addParts02 .priceIcoArea .icoArea li {
width: 192px;
margin: 0 0 0 32px;
float: left;
}

.addParts02 .priceIcoArea .icoArea li:first-child {
margin: 0 0 0 0;
}

.addParts02 .priceIcoArea .icoArea li:nth-child(3n+1) {
margin: 0 0 0 0;
}

.addParts02 .priceIcoArea .icoArea li:nth-child(n+4) {
margin-top: 40px;
}

.addParts02 .priceIcoArea .icoArea li .icoSet {
text-align: center;
margin: 0 0 25px;
}

.addParts02 .priceIcoArea .icoArea li .icoSet .ico {
width: 80px;
margin: 0 auto;
}

#contents .addParts02 .priceIcoArea .icoArea li .icoSet .icoTxt {
display: inline-block;
font-size: 1.5rem;
font-weight: bold;
line-height: 1.4;
text-align: center;
padding: 20px 0 10px;
position: relative;
letter-spacing: normal;
}

#contents .addParts02 .priceIcoArea .icoArea li .icoSet .icoTxt::after {
content: "";
width: 100%;
height: 3px;
background-color: #e6dc14;
position: absolute;
left: 0;
bottom: 0;
top: inherit;
right: inherit;
z-index: auto;
}

.addParts02 .infoArea {
clear: both;
width: 100%;
padding: 0 40px;
margin: 0 0 60px;
}
.addParts02 .infoArea > .catch {
font-size: 2rem;
}

#contents .addParts02 .infoArea .infoTit {
color: #e56a00;
text-align: center;
font-size: 2.4rem;
margin: 6rem 0 2.5rem 0;
letter-spacing: 5px;
}

.addParts02 .infoArea .infoBox .catch {
color: #484848;
font-size: 1.6rem;
}

.addParts02 .infoArea .infoBox .mapArea {
width: 380px;
float: left;
}

.addParts02 .infoArea .infoBox .mapArea .map {}

.addParts02 .infoArea .infoBox .mapArea .map iframe {}

#contents .addParts02 .infoArea .infoBox table {
margin: 0;
}

#contents .addParts02 .infoArea .infoBox table th {
width: 15%;
background: #faedda;
border: solid 1px #9d9d9d;
}






/***** addParts03 *****/

.addParts03 {
width: 100%;
margin: 10rem 0;
}

.addParts03 .addInner {
width: 1100px;
margin: 0 auto;
padding: 4rem;
background: url(img/parts03_bg_01.png) repeat;
}

.addParts03 .addTopArea {
width: 100%;
margin: 0 0 60px;
display: -webkit-flex;
display: flex;
}

.addParts03 .addTopArea .addTopPic {
width: 427px;
margin: 50px 0 0 50px;
position: relative;
}

.addParts03 .addTopArea .addTopPic::before {
content: "";
width: 710px;
height: 200px;
background: url("img/bg_wave.png") no-repeat;
background-size: 100% auto;
position: absolute;
top: -180px;
right: -230px;
}

.addParts03 .addTopArea .addTopTxt {
width: calc((100% - 427px));
}

#contents .addParts03 .addTopArea .sttl {
display: block;
font-size: 3rem;
font-weight: bold;
line-height: 1.5;
text-align: left;
padding: 0 0 20px;
margin: 0 0 25px;
position: relative;
color: #0d7467;
}

#contents .addParts03 .addTopArea .sttl a {
color: inherit;
}

.addParts03 .addTopArea .addTxt {}

.addParts03 .personMainArea {
width: 100%;
border-top: 1px solid #333;
border-bottom: 1px solid #333;
padding: 25px 40px;
margin: 0 0 80px;
position: relative;
}

.addParts03 .personMainArea .subTxt {
display: inline-block;
font-size: 1.3rem;
font-weight: bold;
line-height: 1;
background-color: #f5f5dc;
background: url("img/parts03_sub_dot01.png") left top repeat-x,
url("img/parts03_sub_dot01.png") left bottom repeat-x,
url("img/parts03_sub_dot02.png") left top repeat-y,
url("img/parts03_sub_dot02.png") right top repeat-y #f5f5dc;
padding: 15px 20px;
position: absolute;
top: -20px;
right: 20px;
}

.addParts03 .personMainArea .personBox {
display: table;
}

.addParts03 .personMainArea .personBox .pic {
display: table-cell;
vertical-align: middle;
width: 150px;
}

.addParts03 .personMainArea .personBox .pic img {
border-radius: 100px;
}

.addParts03 .personMainArea .personBox dl {
display: table-cell;
vertical-align: middle;
width: calc(100% - 190px);
padding: 0 0 0 40px;
}

.addParts03 .personMainArea .personBox dl dt {
font-size: 2.0rem;
font-weight: bold;
line-height: 1.4;
color: #8c8200;
margin: 0 0 20px;
}

.addParts03 .personMainArea .personBox dl dt span {
font-size: 1.6rem;
color: #333;
font-weight: inherit;
border-bottom: none;
}

.addParts03 .personMainArea .personBox dl dd {}

.addParts03 .interviewTitArea {
display: table;
background-color: #f5f5dc;
position: relative;
margin: 0 0 10px;
}

.addParts03 .interviewTitArea::before {
content: "";
position: absolute;
background: #f5f5dc;
top: 0;
right: 100%;
bottom: 0;
width: 9999px;
}

.addParts03 .interviewTitArea::after {
content: "";
width: 2px;
height: 234px;
background: url("img/parts03_dotline01.png") no-repeat;
position: absolute;
top: 60px;
left: -70px;
}

#contents .addParts03 .interviewTitArea .interviewTit {
display: table-cell;
vertical-align: middle;
width: 220px;
font-size: 1.8rem;
font-weight: bold;
line-height: 1;
letter-spacing: 0.1em;
padding: 25px 15px;
position: relative;
}

#contents .addParts03 .interviewTitArea .interviewTit:after {
content: "";
width: 149px;
height: 24px;
background: url("img/parts03_eng.png") no-repeat;
background-size: 100% auto;
position: absolute;
top: -10px;
left: 10px;
z-index: inherit;
transform: none;
}

.addParts03 .interviewTitArea .interviewTxt {
display: table-cell;
vertical-align: middle;
width: 880px;
font-size: 1.8rem;
border-left: 2px solid #fff;
padding: 35px 50px;
}

.addParts03 .personArea {
margin: 0 0 80px;
}

.addParts03 .personArea .personBox {
display: table;
padding: 30px 10px;
position: relative;
}

.addParts03 .personArea .personBox::after {
content: "";
background: linear-gradient(to right, rgba(187, 187, 187, 1), rgba(187, 187, 187, 1) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
background-size: 6px 1px;
width: 100%;
height: 1px;
position: absolute;
left: 0;
bottom: 0;
}

.addParts03 .personArea .personBox .pic {
display: table-cell;
vertical-align: middle;
width: 120px;
}

.addParts03 .personArea .personBox .pic img {
border-radius: 100px;
}

.addParts03 .personArea .personBox dl {
display: table-cell;
vertical-align: middle;
width: calc(100% - 150px);
padding: 0 0 0 30px;
}

.addParts03 .personArea .personBox dl dt {
font-size: 1.6rem;
font-weight: bold;
line-height: 1.4;
color: #8c8200;
margin: 0 0 12px;
}

.addParts03 .personArea .personBox dl dd {
position: relative;
margin: 0 0 10px;
}
.addParts03-title {
margin: 0 0 3rem 0;
color: #3a393b;
font-size: 3rem;
text-align: center;
}
.addParts03 .summaryArea {
width: 100%;
background: #fff url(img/parts03_bg_02.png) no-repeat center 3rem;
padding: 12rem 5rem 5rem 5rem;
}
.addParts03 .summaryArea .float-wrap {
margin: 0 0 4rem 0;
}
.addParts03 .summaryArea .float-wrap:last-child {
margin: 0;
}
.addParts03 .summaryArea .float-wrap .fl {
width: 278px;
}
.addParts03 .summaryArea .float-wrap .fl img {
border: 1px solid #d1dadb;
}
.addParts03 .summaryArea .float-wrap .catch {
color: #e56a00;
}



.addParts03 .summaryArea .txtArea {
width: 100%;
padding: 80px 40px 40px;
background: #fff url(img/icon_light.png) no-repeat center top 20px;
background-size: 80px;
}

.addParts03 .summaryArea .txtArea .catch {
font-size: 2.8rem;
font-weight: bold;
line-height: 1.5;
text-align: center;
margin: 70px 0 25px;
color: #c49510;
letter-spacing: 2px;
}
.addParts03 .summaryArea .txtArea .add_catch {
font-size: 2.2rem;
font-weight: bold;
line-height: 1.5;
text-align: left;
margin: 35px 0 25px;
color: #333;
padding: 10px;
letter-spacing: 2px;
background: #f6f3ec;
}

.addParts03 .summaryArea .txtArea .catch:first-child {
margin-top: 0;
}

.addParts03 .summaryArea .txtArea .txt {}

.addParts03 .btnArea {
width: 1020px;
margin: 0 auto;
display: -webkit-flex;
display: flex;
-webkit-align-items: center;
align-items: center;
}

#contents .addParts03 .btnArea .btn-internal {
margin: 0 auto;
}

#contents .addParts03 .btnArea .btn-internal a {
padding: 22px 70px 22px;
}

#contents .addParts03 .btnArea .btn-internal:nth-of-type(1) a {
background: url("img/arrow_black.png") right 15px center no-repeat,
url("img/parts03_summary_num01.png") 25px center no-repeat;
background-size: 7px auto, auto 24px;
}

#contents .addParts03 .btnArea .btn-internal:nth-of-type(2) a {
background: url("img/arrow_black.png") right 15px center no-repeat,
url("img/parts03_summary_num02.png") 25px center no-repeat;
background-size: 7px auto, auto 24px;
}





.top_h2 {
margin: 0 0 4.5rem 0;
}


.addParts04 {
padding: 15rem 0 0 0;
}
.addParts04 .inner {
padding: 0 4rem;
}
.addParts04 .block .box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 5rem 0;
border-bottom: 1px solid #9f9f9f;
}
.addParts04 .block .box-fig {
width: 123px;
}
.addParts04 .block .box-txt {
width: calc(100% - 123px);
padding: 0 0 0 3rem;
}
.addParts04 .block .box-txt .ttl {
margin: 0 0 1.5rem 0;
color: #3a393b;
font-size: 2.4rem;
}
.addParts04 .block .box-txt .ttl a {
display: block;
padding: 0 2rem 0 0;
background: url(img/arrow_black.png) no-repeat right center;
background-size: 10px auto;
color: inherit;
text-decoration: none !important;
}


.addParts05 {
padding: 15rem 0 0 0;
}
.addParts05 .lead {
margin: 0 4rem 8rem 4rem;
}
.addParts05 .block {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.addParts05 .block::after {
display: block;
width: calc((100% - 5.6rem) / 3);
content:"";
}
.addParts05 .block .box {
position: relative;
width: calc((100% - 5.6rem) / 3);
margin: 0 0 3rem 0;
padding: 5rem 2.5rem 3rem 2.5rem;
background: #f6f6f6;
}
.addParts05 .block .box::before {
position: absolute;
left: 50%;
top: -1rem;
transform: translateX(-50%);
width: 190px;
height: 49px;
background: url(img/txticon_knowledge.svg) no-repeat left top;
background-size: 100% auto;
content: "";
}
.addParts05 .block .box-head {
margin: 0 0 2rem 0;
}
.addParts05 .block .box-head .ttl {
font-size: 2.4rem;
}
.addParts05 .block .box-head .ttl a {
display: block;
padding: 0 2rem 0 0;
background: url(img/arrow_black.png) no-repeat right center;
background-size: 10px auto;
color: inherit;
text-decoration: none !important;
}
.addParts05 .block .box-body .fig {
margin: 0 0 3rem 0;
text-align: center;
}
.addParts05 .block .box-body p {
margin: 0;
}



.addParts06 {
padding: 15rem 0 0 0;
}
.addParts06 .lead {
margin: 0 4rem 8rem 4rem;
}
.addParts06 .block {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.addParts06 .block::after {
display: block;
width: calc((100% - 5.6rem) / 3);
content:"";
}
.addParts06 .block .box {
position: relative;
width: calc((100% - 5.6rem) / 3);
margin: 0 0 3rem 0;
padding: 4rem 2.2rem 3rem 2.2rem;
background: #f6f6f6;
}
.addParts06 .block .box-head {
margin: 0 0 2rem 0;
padding: 0 0 2rem 0;
border-bottom: 2px solid #cacaca;
}
.addParts06 .block .box-head .ttl {
font-size: 2.1rem;
}
.addParts06 .block .box-head .ttl a {
display: block;
padding: 0 2rem 0 0;
background: url(img/arrow_black.png) no-repeat right center;
background-size: 10px auto;
color: inherit;
text-decoration: none !important;
}
.addParts06 .block .box-body p {
margin: 0;
}
.addParts06 .block .box-body table {
margin: 2rem 0 0 0;
}
.addParts06 .block .box-body table th {
padding: 0.8rem 0.5rem;
background: #faeed9;
border: 1px solid #9d9d9d;
font-size: 1.2rem;
}
.addParts06 .block .box-body table td {
padding: 0.8rem 0.5rem;
border: 1px solid #9d9d9d;
font-size: 1.2rem;
}



.addParts07 {
margin: 15rem 0 10rem 0;
padding: 5rem 0 1rem;
background: url(img/parts07_bg_01.jpg) no-repeat center top;
background-size: cover;
}
.addParts07 .block {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.addParts07 .block .box-txt {
width: calc(100% - 396px);
padding: 0 5rem 0 0;
}
.addParts07 .block .box-txt .title {
color: #3a393b;
font-size: 3rem;
}
.addParts07 .block .box-txt .title a {
display: block;
padding: 0 3rem 0 0;
background: url(img/arrow_black.png) no-repeat right center;
background-size: 14px auto;
color: inherit;
text-decoration: none !important;
}
.addParts07 .block .box-fig {
width: 396px;
text-align: center;
}

.btn-link.host a {
background: url(img/arrow_green.png) no-repeat left center;
background-size: 10px auto;
}

.accordion-item {
display: none;
}
.accordion-btn {
display: block;
position: relative;
width: 480px;
height: auto;
margin: 5rem auto;
padding: 2rem 0;
background: #f2ebd8;
color: #575757;
font-size: 1.6rem;
font-weight: 700;
line-height: 1.4;
text-align: center;
text-decoration: none;
cursor: pointer;
}
.accordion-btn::before {
position: absolute;
right: 2rem;
top: 50%;
transform: translateY(-50%);
content: "＋";
}
.accordion-btn::after {
display: block;
padding: 0 4rem;
text-align: center;
content: "もっと見る";
}
.addParts05 .accordion-btn::after {
content: "省エネ住宅の基礎知識をもっと見る";
}
.addParts06 .accordion-btn::after {
white-space: pre-wrap;
content: "省エネ住宅を建てる\Aハウスメーカー・工務店の紹介をもっと見る";
}
.accordion-btn.is-open::before {
content: "ー";
}
.accordion-btn.is-open::after {
display: block;
padding: 0 4rem;
text-align: center;
content: "閉じる";
}
.accordion-btn:hover {
opacity: 0.7;
}











@media screen and (max-width: 599px) {

/*------------
Index
------------*/

#contents {
}

#index {}



/*--------------------------------------
　visArea
---------------------------------------*/
#visArea_top {
margin: auto;
}

#visArea_top .mainArea {
background: none;
height: auto;
width: 100%;
max-width: 100%;
margin: 0 auto;
}
#visArea_top .mainArea .mainAreaInner{
padding: 0;
}
#visArea_top .mainArea .siteNameArea {padding: 1rem 2rem 10rem 2rem;background: url("/wp/wp-content/uploads/mv_pic_sp.jpg") right bottom no-repeat;background-size: contain;width: 100%;margin: 0 auto 1rem auto;}

#visArea_top .mainArea .siteName {
text-align: left;
}

#visArea_top .mainArea .mainTxtBox {
width: 92%;
background: rgba(255, 255, 255, 1);
padding: 0;
margin: 0 auto;
}

#visArea_top .mainArea .catchArea .catch {
font-size: 1.8rem;
text-align: left;
margin: 0 0 1rem 0;
letter-spacing: 0.3rem;
line-height: 1.6;
}

#visArea_top .mainArea .txtArea {
width: 100%;
background: none;
padding: 0;
margin: 0 auto;
box-sizing: border-box;
}





/*--------------------------------------
オリジナル
---------------------------------------*/

/***** addParts02 *****/

.addParts02 {
width: 108%;
background: url(https://www.energy-efficienthome.com/wp/wp-content/uploads/bg_room2.jpg) no-repeat center top;
background-size: 100% auto;
padding: 4rem 0 6.0rem;
position: relative;
margin-top: 8rem;
margin: 8rem -4% 0;
}
.addParts02::before {
width: 100%;
min-width: 0;
background-size: cover;
height: 100px;
}
.addParts02::after {
content: "";
width: 80vw;
height: 20vw;
background: url(img/txticon_comfortablehouse.svg) no-repeat;
background-size: 100% auto;
position: absolute;
top: -20px;
left: 0;
right: 0;
z-index: 100;
margin: auto;
}
.addParts02 .addInner {
width: 92%;
margin: 0 auto;
}



/*addTopArea*/
.addParts02 .addTopArea {
padding: 0 0;
margin: 0 auto 3.0rem;
}

/*sttl*/
#index .addParts02 .sttl {
display: block;
font-size: 2.4rem;
font-weight: bold;
line-height: 1.5;
text-align: center;
padding: 0 3.5rem;
margin: 0 auto 2.0rem;
position: relative;
}

/*block*/
.addParts02 .block {
background-color: #fff;
padding: 3.0rem 0 2.0rem;
margin: 0 0 3.0rem;
position: relative;
}
.addParts02 .block .btn-web a,
.addParts02 .block .btn-tel a {
width: 82%;
}

.addParts02 .block:last-child {
margin: 0;
}

.addParts02 .blockTitArea {
text-align: center;
padding: 0 3.0rem;
margin: 0 0 2.5rem;
}

.addParts02 .blockTitSub {
font-size: 1.8rem;
font-weight: bold;
line-height: 1.5;
letter-spacing: 0.03em;
text-align: center;
margin: 0 0 0.5rem;
}

.addParts02 .blockTitSub span {
font-size: 2.0rem;
}

#index .addParts02 .blockTit {
display: inline-block;
font-size: 2.2rem;
font-weight: bold;
line-height: 1.5;
letter-spacing: 0.03em;
text-align: center;
position: relative;
}

/*slideTxtArea*/
.addParts02 .slideTxtArea {
width: calc(100% - 30px);
border-left: 1px solid #333;
padding: 2.5rem 0 1.5rem 1.5rem;
margin: -1.5rem auto 0;
position: relative;
z-index: 2;
}

.addParts02 .slideTxtArea::before {
content: "";
width: 15px;
height: 1px;
background: #333;
position: absolute;
left: 0;
bottom: 0;
}

.addParts02 .caption {
margin: 0 0 1.2rem;
}

.addParts02 .slideTit {
font-size: 1.5rem;
font-weight: bold;
line-height: 1.5;
margin: 0 0 8px;
}

.addParts02 .slideTxt {
line-height: 1.6;
}

/*テキスト動き*/
.addParts02 .slideTxtArea {
opacity: 0;
transition: all 1.0s 0s ease;
transition-delay: 300ms;
}

.addParts02 .slick-slide.slick-current .slideTxtArea,
.addParts02 .slick-slide.is-active-next .slideTxtArea {
opacity: 1;
}

.addParts02 .slideTxtInner {
opacity: 0;
margin-left: -15px;
transition: all 0.5s 0s ease;
transition-delay: 600ms;
}

.addParts02 .slick-slide.slick-current .slideTxtInner,
.addParts02 .slick-slide.is-active-next .slideTxtInner {
opacity: 1;
margin-left: 0;
}

.addParts02 .priceIcoArea {
width: 92%;
height: 100%;
overflow: hidden;
padding: 2rem 0;
margin: 0 auto 3.0rem;
position: relative;
}

.addParts02 .priceIcoArea .priceArea {
width: 100%;
margin: auto;
float: none;
}

.addParts02 .priceIcoArea .priceAreaInner {
width: 100%;
margin: 0 0 1.5rem;
display: block;
text-align: center;
}

.addParts02 .priceIcoArea .priceArea>p {
width: 100%;
padding: 0;
font-size: 1rem;
}

#contents .addParts02 .priceIcoArea .priceArea .priceTit {
vertical-align: middle;
width: auto;
font-size: 1.4rem;
line-height: 1.2;
text-align: center;
word-wrap: break-word;
color: #fff;
padding: 0.7rem 1.0rem 0.8rem;
margin: auto;
display: inline-block;
}

.addParts02 .priceIcoArea .priceArea .price {
vertical-align: middle;
width: 100%;
font-size: 3rem;
font-weight: bold;
line-height: 1.2;
letter-spacing: 0.03em;
text-align: center;
color: #8c8200;
background-color: #fff;
padding: 0.7rem 1.0rem 0.8rem;
margin: auto;
display: flex;
align-items: baseline;
justify-content: center;
}
.addParts02 .priceIcoArea .priceArea .price.small{
font-size: 2rem;
}
.addParts02 .priceIcoArea .priceArea .price span {
font-size: 1.6rem;
color: #333;
padding: 0 5px;
}

#contents .addParts02 .priceIcoArea .priceArea ul {}

#contents .addParts02 .priceIcoArea .priceArea ul li {
line-height: 1.5;
padding: 0 0 12px 18px;
position: relative;
}

#contents .addParts02 .priceIcoArea .priceArea ul li::before {
content: "・";
position: absolute;
top: 0;
left: 0;
}

#contents .addParts02 .featureArea {
width: 92%;
margin: auto;
}

#contents .addParts02 .featureArea .featureTit {
font-size: 2.4rem;
letter-spacing: 3px;
}
.featureArea .featureTit span {
min-height: 32px;
padding: 0 0 0 4rem;
}
.featureArea .featureTit .ico-1 {
background-size: 32px 32px;
}
.featureArea .featureTit .ico-2 {
background-size: 32px 32px;
}
#contents .addParts02 .featureArea .featureBoxes{
margin: 0 auto 4rem;
}
#contents .addParts02 .featureArea .featureBoxes .featureBox {
width: 100%;
margin: 0 0 3rem 0;
padding: 2rem;
}

#contents .addParts02 .featureArea .featureBoxes .featureBox:nth-child(3n),
#contents .addParts02 .featureArea .featureBoxes .featureBox:last-child {
border: 2px solid #eec792;
}

#contents .addParts02 .featureArea .featureBoxes .featureBox__catch {
font-size: 2rem;
margin: 0px 0 1.2rem;
padding: 0 0 1.2rem;
}

.addParts02 .priceIcoArea .icoArea {
width: 100%;
float: none;
}

.addParts02 .priceIcoArea .icoArea li {
width: 100%;
margin: 0 0 3.0rem;
float: none;
}

.addParts02 .priceIcoArea .icoArea li:first-child {
margin: 0 0 3.0rem;
}

.addParts02 .priceIcoArea .icoArea li:nth-child(3n+1) {
margin: 0 0 3.0rem;
}

.addParts02 .priceIcoArea .icoArea li:nth-child(n+4) {
margin: 0 0 3.0rem;
}

.addParts02 .priceIcoArea .icoArea li:last-child {
margin: 0 0 0;
}

.addParts02 .priceIcoArea .icoArea li .icoSet {
display: table-cell;
vertical-align: middle;
width: 85px;
text-align: center;
margin: 0 0 0;
}

.addParts02 .priceIcoArea .icoArea li .icoSet .ico {
width: 45px;
margin: 0 auto;
}

#contents .addParts02 .priceIcoArea .icoArea li .icoSet .icoTxt {
display: inline-block;
font-size: 1.5rem;
font-weight: bold;
line-height: 1.4;
text-align: center;
padding: 1.0rem 0 0.6rem;
position: relative;
}

#contents .addParts02 .priceIcoArea .icoArea li .icoSet .icoTxt::after {
content: "";
width: 100%;
height: 2px;
background-color: #e6dc14;
position: absolute;
left: 0;
bottom: 0;
}

.addParts02 .priceIcoArea .icoArea li>.icoTxt {
display: table-cell;
vertical-align: middle;
width: calc(100% - 95px);
}

.addParts02 .infoArea {
clear: both;
width: 92%;
padding: 0 0;
margin: 0 auto 3.0rem;
}
.addParts02 .infoArea .catch {
margin: 0 0 1rem 0;
font-size: 2rem;
}
#contents .addParts02 .infoArea .infoTit {
width: 100%;
font-size: 2.4rem;
font-weight: bold;
line-height: 1.5;
text-align: center;
margin: 0 auto 2.5rem;
letter-spacing: 3px;
}

.addParts02 .infoArea .infoBox {}

.addParts02 .infoArea .infoBox .mapArea {
width: 100%;
overflow: hidden;
margin: 0 0 2.5rem;
float: none;
}

.addParts02 .infoArea .infoBox .mapArea .map iframe {
display: block;
width: 100.2% !important;
}

#contents .addParts02 .infoArea .infoBox table,
#contents .addParts02 .infoArea .infoBox table thead,
#contents .addParts02 .infoArea .infoBox table tbody,
#contents .addParts02 .infoArea .infoBox table tr,
#contents .addParts02 .infoArea .infoBox table th,
#contents .addParts02 .infoArea .infoBox table td {
display: block;
width: 100%;
}
#contents .addParts02 .infoArea .infoBox table th,
#contents .addParts02 .infoArea .infoBox table td {
text-align: left;
padding: 1rem;
}
#contents .addParts02 .infoArea .infoBox table td {
padding: 1.5rem 1rem;
}



#contents .addParts02 .infoArea .infoBox table th {
width: 100%;
border: none;
border-bottom: solid 1px #9d9d9d;
}
#contents .addParts02 .infoArea .infoBox table td {
width: 100%;
border: none;
border-bottom: solid 1px #9d9d9d;
}


/***** addParts03 *****/

.addParts03 {
width: 100%;
margin: 6rem auto;
}

.addParts03 .addInner {
width: 100%;
margin: 0 auto;
padding: 1.5rem;
}


.addParts03-title {
font-size: 2rem;
}

.addParts03 p {
margin: 0;
}

.addParts03 .addTopArea {
width: 100%;
margin: 0 0 3.0rem;
display: block;
}

.addParts03 .addTopArea .addTopPic {
width: 100%;
margin: 0 0 2.0rem;
position: relative;
}

.addParts03 .addTopArea .addTopPic::before {
opacity: 0;
}

.addParts03 .addTopArea .addTopTxt {
width: 100%;
}

#contents .addParts03 .addTopArea .sttl {
display: block;
font-size: 2rem;
font-weight: bold;
line-height: 1.5;
text-align: center;
padding: 0 0 4rem;
margin: 0 auto 1.5rem;
position: relative;
}

#contents .addParts03 .addTopArea .sttl::after {
content: "";
background: url(img/bg_wave.png) no-repeat right bottom;
background-size: 100% auto;
position: absolute;
width: 80%;
height: 120px;
right: -50px;
bottom: -10px;
}

.addParts03 .addTopArea .addTxt {
width: 100%;
margin: 0 auto 2rem;
}

.addParts03 .addTopArea .addTxt span {
}

.addParts03 .personMainArea {
width: 100%;
border-top: 1px solid #333;
border-bottom: 1px solid #333;
padding: 2.5rem 0;
margin: 0 0 4.0rem;
position: relative;
}

.addParts03 .personMainArea .subTxt {
display: inline-block;
font-size: 1.2rem;
font-weight: bold;
line-height: 1;
background-color: #f5f5dc;
background: url("img/parts03_sub_dot01.png") left top repeat-x,
url("img/parts03_sub_dot01.png") left bottom repeat-x,
url("img/parts03_sub_dot02.png") left top repeat-y,
url("img/parts03_sub_dot02.png") right top repeat-y #f5f5dc;
padding: 10px 18px;
position: absolute;
top: -15px;
right: 8px;
}

.addParts03 .personMainArea .personBox {
display: block;
}

.addParts03 .personMainArea .personBox .pic {
display: block;
width: 100px;
position: absolute;
top: 25px;
left: 8px;
}

.addParts03 .personMainArea .personBox .pic img {
border-radius: 100px;
}

.addParts03 .personMainArea .personBox dl {
display: block;
width: 100%;
padding: 0 0 0 0;
}

.addParts03 .personMainArea .personBox dl dt {
display: table-cell;
vertical-align: middle;
width: calc(100% - 15px);
height: 100px;
font-size: 1.7rem;
font-weight: bold;
line-height: 1.6;
color: #8c8200;
padding: 0 0 0 12.5rem;
margin: 0 0 1.5rem;
}

.addParts03 .personMainArea .personBox dl dt span {
display: block;
font-size: 1.3rem;
color: #333
}

.addParts03 .personMainArea .personBox dl dd {
display: block;
width: 100%;
margin: 1.5rem 0 0;
}

.addParts03 .interviewTitArea {
display: block;
background-color: #f5f5dc;
position: relative;
padding: 0 4% 2.5rem 0;
margin: 0 0 1.0rem;
}

.addParts03 .interviewTitArea::before {
content: "";
position: absolute;
background: #f5f5dc;
top: 0;
right: 100%;
bottom: 0;
width: 9999px;
}

.addParts03 .interviewTitArea::after {
content: none;
}

#contents .addParts03 .interviewTitArea .interviewTit {
display: block;
width: 100%;
font-size: 1.7rem;
font-weight: bold;
line-height: 1;
letter-spacing: 0.1em;
text-align: center;
padding: 3.0rem 0 1.5rem;
position: relative;
max-width: inherit;
}

#contents .addParts03 .interviewTitArea .interviewTit:after {
content: "";
width: 116px;
height: 18px;
background: url("img/parts03_eng.png") no-repeat;
background-size: 100% auto;
position: absolute;
top: -10px;
left: calc(50% - 58px);
}

.addParts03 .interviewTitArea .interviewTxt {
display: block;
vertical-align: middle;
width: 100%;
font-size: 1.4rem;
border-left: none;
padding: 0;
}

.addParts03 .personArea {
margin: 0 0 4.0rem;
}

.addParts03 .personArea .personBox {
display: table;
padding: 2.0rem 0 1.5rem;
position: relative;
}

.addParts03 .personArea .personBox::after {
content: "";
background: linear-gradient(to right, rgba(187, 187, 187, 1), rgba(187, 187, 187, 1) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%) 0% 0%;
background-size: 6px 1px;
width: 100%;
height: 1px;
position: absolute;
left: 0;
bottom: 0;
}

.addParts03 .personArea .personBox .pic {
display: block;
width: 80px;
float: left;
margin: 0 1.5rem 1.0rem 0.8rem;
}

.addParts03 .personArea .personBox .pic img {
border-radius: 100px;
}

.addParts03 .personArea .personBox dl {
display: block;
width: 100%;
padding: 1.0rem 0 0;
}

.addParts03 .personArea .personBox dl dt {
font-size: 1.5rem;
font-weight: bold;
line-height: 1.4;
color: #8c8200;
margin: 0 0 1.0rem;
}

.addParts03 .personArea .personBox dl dd {
position: relative;
margin: 0 0 1.0rem;
}

.addParts03 .summaryArea {
width: 100%;
padding: 8rem 1.5rem 1.5rem 1.5rem;
background-size: 59px 30px;
}

#contents .addParts03 .summaryArea .summaryTit {
font-size: 2.2rem;
font-weight: bold;
line-height: 1.5;
text-align: center;
margin: 1rem 0 2rem;
position: relative;
}

#contents .addParts03 .summaryArea .summaryTit span {
font-size: 1.8rem;
padding: 0 0.5rem;
}

.addParts03 .summaryArea .txtArea {
width: 100%;
background: #fff url(img/icon_light.png) no-repeat center top 16px;
background-size: 50px;
padding: 5.5rem 1.5rem 2.0rem;
}

.addParts03 .summaryArea .txtArea .catch {
font-size: 2rem;
font-weight: bold;
line-height: 1.5;
text-align: center;
margin: 4rem 0 1rem;
}
.addParts03 .summaryArea .txtArea .add_catch {
font-size: 1.8rem;
line-height: 1.5;
text-align: left;
margin: 1.5rem 0;
}

.addParts03 .summaryArea .txtArea .txt {}

.addParts03 .summaryArea .float-wrap .catch {;
text-align: center;
}
.addParts03 .summaryArea .float-wrap .fig {
width: 280px;
margin: 0 auto 1.5rem auto;
text-align: center;
}
.addParts03 .summaryArea .float-wrap .fig img {
border: 1px solid #d1dadb;
}
.addParts03 .btnArea {
width: 100%;
margin: 0 auto;
display: block;
}

#contents .addParts03 .btnArea .btn-internal {
margin: 0 auto 2.0rem;
}

#contents .addParts03 .btnArea .btn-internal:last-child {
margin: 0 auto;
}

#contents .addParts03 .btnArea .btn-internal a {
padding: 1.8rem 5.0rem 1.8rem;
}

#contents .addParts03 .btnArea .btn-internal:nth-of-type(1) a {
background: url("img/arrow_black.png") right 15px center no-repeat,
url("img/parts03_summary_num01.png") 20px center no-repeat;
background-size: 6px auto, auto 15px;
}

#contents .addParts03 .btnArea .btn-internal:nth-of-type(2) a {
background: url("img/arrow_black.png") right 15px center no-repeat,
url("img/parts03_summary_num02.png") 20px center no-repeat;
background-size: 6px auto, auto 15px;
}



.top_h2 {
margin: 0 0 4rem 0;
}
.addInner {
width: 100%;
}

.addParts04 {
padding: 6rem 0 0 0;
}
.addParts04 .inner {
padding: 0;
}
.addParts04 .block .box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 3rem 0;
}
.addParts04 .block .box-fig {
width: 64px;
}
.addParts04 .block .box-txt {
width: calc(100% - 64px);
padding: 0 0 0 1rem;
}
.addParts04 .block .box-txt .ttl {
margin: 0 0 1.5rem 0;
color: #3a393b;
font-size: 2.1rem;
}
.addParts04 .block .box-txt .ttl a {
display: block;
padding: 0 2rem 0 0;
background: url(img/arrow_black.png) no-repeat right center;
background-size: 10px auto;
color: inherit;
text-decoration: none !important;
}
.addParts04 .block .box-txt p {
margin: 0;
}


.addParts05 {
padding: 6rem 0 0 0;
}
.addParts05 .lead {
margin: 0 0 3rem 0;
}
.addParts05 .block {
display: block;
}
.addParts05 .block::after {
display: none;
}
.addParts05 .block .box {
width: 100%;
margin: 0 0 3rem 0;
padding: 5rem 1.5rem 3rem 1.5rem;
}
.addParts05 .block .box-head .ttl {
font-size: 2.1rem;
text-align: center;
}
.addParts05 .block .box-body .fig {
margin: 0 0 2rem 0;
text-align: center;
}
.addParts05 .block .box-body .fig img {
width: 240px;
}


.addParts06 {
padding: 6rem 0 0 0;
}
.addParts06 .lead {
margin: 0 0 3rem 0;
}
.addParts06 .block {
display: block;
}
.addParts06 .block::after {
display: none;
}
.addParts06 .block .box {
width: 100%;
margin: 0 0 3rem 0;
padding: 3rem 2rem;
}
#contents .addParts06 .block .box table {
display: table;
}
#contents .addParts06 .block .box table th {
display: table-cell;
width: 25%;
padding: 0.3rem 0.5rem;
}
#contents .addParts06 .block .box table td {
display: table-cell;
width: 75%;
padding: 0.3rem 0.5rem;
}



.addParts07 {
margin: 6rem 0;
padding: 3rem;
}
.addParts07 .block {
display: block;
}
.addParts07 .block .box-txt {
width: 100%;
padding: 0;
}
.addParts07 .block .box-txt .title {
margin: 0 0 1.5rem 0;
font-size: 2rem;
}
.addParts07 .block .box-txt .title a {
padding: 0 2rem 0 0;
background: url(img/arrow_black.png) no-repeat right center;
background-size: 10px auto;
}
.addParts07 .block .box-fig {
width: 100%;
}

.btn-link.host a {background: url(img/arrow_black.png) no-repeat right 15px center / 10px;}

.accordion-item {
display: none;
}
.accordion-btn {
width: 90%;
margin: 4rem auto;
}
.accordion-btn:hover {
opacity: 1;
}



}