
.comfohome_about{
  background: #c9c4be url(../images/comfohome_about_back.jpg) no-repeat top center;
  padding-bottom: 100px;
  position: relative;
}
#comfohome_info{
  position: absolute;
  width: 100%;
  top: -70px;
  z-index: 1;
}
#comfohome_info .wrap{
  padding: 70px;
  background: #d6fff6;
  text-align:center;
}
#comfohome_info .wrap h2{
  font-size: 300%;
  color:#01e1aa;
}
#comfohome_info .wrap img{
  display: block;
  width: calc(100% - 60px);
  max-width: 500px;
  margin: 30px auto;
}
#comfohome_info .wrap h3{
  font-size: 200%;
}
#comfohome_info .wrap h3 span{
  color: #C8161D;
}
#comfohome_info .wrap p{
  margin: 30px 0 50px;
  line-height: 2.5rem;
}
#comfohome_info .bt_area a,#comfohome_info .bt_area button{
  width: 350px;
}

#comfohome_system{
  justify-content: space-between;
}
.comfohome_system_box{
  width: calc(50% - 40px);
}
#comfohome_system_text h3{
  font-size: 230%;
  letter-spacing: .5rem;
  font-style: italic;
  margin-bottom: 30px;
}
#comfohome_system_text p{
  line-height: 2.5rem;
  font-size: 110%;
}
#comfohome_system_text .bt_area button{
  margin-top: 40px;
  max-width: 360px;
  width: calc(100% - 60px);
}
/* comfohomeの配管 */
#comfohome_system_image{
  position: relative;
}
#comfohome_system_image svg{
  position: absolute;
  left:0;
}

#comfohome_svg_top,#comfohome_svg_f1{
  transition:all 1.5s ease;
}
#comfohome_svg_main,#comfohome_svg_pipes{
    opacity: 0;
}
#comfohome_svg_main.active,#comfohome_svg_pipes.active{
  animation: comfohomePointAnim 2s linear;
  animation-fill-mode:forwards
}
#comfohome_svg_pipes{
  z-index: 11;
}
#comfohome_svg_main{
  z-index: 9;
}
#comfohome_svg_top{
  top: 15%;
  z-index: 10;
}
#comfohome_svg_f1{
  bottom: 26%;
  z-index: 1;
}
#comfohome_svg_top.active{
  top: 0;
}
#comfohome_svg_f1.active{
  bottom: 0;
}
#comfohome_system_image svg [class^="ccl_"]{
  fill:none;
  stroke-miterlimit:10;
  stroke-width:4px;
  stroke-dasharray: 300px;
  stroke-dashoffset: 300px;
  fill-opacity : 0%;
}
#comfohome_system_image svg.active [class^="ccl_"]{
  animation: comfohomePipeAnim 2.5s linear;
  animation-fill-mode: forwards;
}
@keyframes comfohomePointAnim{
  50%{
    opacity: 0;
  }
  70%{
    opacity: 1;
  }
  100%{
    opacity: 1;
  }
}

@keyframes comfohomePipeAnim{
  50% {
    stroke-dashoffset: 300px;
    fill-opacity : 0%;
    stroke-width:1px;
  }
  100% {
    stroke-dashoffset: 0px;
    stroke-width:4px;
    fill-opacity : 100%;
  }

}
.feat_area{
  position: relative;
}

.feat_area .feat_number,#feat_area_flex .feat_number{
  font-size: 500%;
  text-align: center;
  position: absolute;
  bottom: 3%;
  right: 3%;
  color: #fff;
}
.feat_area .feat_number::before,#feat_area_flex .feat_number::before{
  content: "FEATURE";
  position: absolute;
  width: 100%;
  display: block;
  font-size: 20%;
  top:0;left:0;
}

.feat_area{
  width: calc(100% - 120px);
  max-width: 1200px;
  margin: 80px auto;
  padding: 70px;
}
#comfohome_feat01{
  background: url(../images/comfohome_feature_01.jpg) no-repeat center;
  background-size:cover;
}
#comfohome_feat02{
  background: url(../images/comfohome_feature_02.jpg) no-repeat center;
  position: relative;
  background-size:cover;
}
.feat_area h2{
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  font-size: 280%;
  color: #fff;
}
.feat_area h2 small{
  display: block;
  font-size: 50%;
  font-weight: normal;
}
.feat_area ul{
  width: 70%;
}
.feat_area li{
  margin: 30px 0px 0px 30px;
  width: calc(25% - 30px);
  border-radius: 50%;
  position: relative;
  opacity: 0;
  transform: rotate(45deg);
  transition:all .5s ease;
}
#comfohome_feat01 li{
  background: #fff;
}
#comfohome_feat01 li img{
  position: absolute;
  width: calc(70%);
  display: block;
  margin: auto;
}
.feat_area li.active{
  opacity: 1;
  transform: rotate(0deg);
}


#comfohome_feat01_foot{
  padding-bottom: 50px;
}
#comfohome_feat01_foot img{
  width: 100%;
}
#comfohome_feat01_foot div{
  line-height: 2rem;
}
#comfohome_feat01_foot .info{
  width: calc(60% - 40px);
  padding-bottom: 40px;
}
#comfohome_feat01_foot .image{
  width: calc(40% - 40px);
  position: relative;
}
#comfohome_feat01_foot .image img:nth-child(2){
  margin: 40px 0 20px;
}
#comfohome_feat01_foot h3{
  color: #e00;
  font-size: 190%;
  line-height: 3rem;
  margin-bottom: 40px;
}

.feat_section{
  margin: 40px;
  justify-content: space-between;
}
.feat_section .main_table{
  margin-top: 65px;
}
#comfohome_feat02 li .box{
  position: relative;
}
#comfohome_feat02 li .box{
  overflow: hidden;
  border: 3px solid #fff;
  text-align:center;
  left:0;
  cursor:pointer;
  width: 100%; height:100%;
  transition:all .5s ease;
  position: relative;
  border-radius: 50%;
}
#comfohome_feat02 li:hover .box,#comfohome_feat02 li.click .box{
  background:#65b72f;
  border-color: #65b72f;
}
#comfohome_feat02 li .box div{
  position: relative;
  color:#fff;
}
#comfohome_feat02 li .box span{
  display: block;
  text-align:center;
  width: 100%;
  left:0;
  position: absolute;
}
#comfohome_feat02 li .box .head{
  height: 35%;
  top:0;
  border-bottom: 3px solid #fff;
  font-weight: bold;
  font-size: 200%;
}
#comfohome_feat02 li .box .body{
  font-size: 120%;
  line-height: 140%;
  height: 40%;
  word-break: keep-all;
}

#comfohome_feat02 li .box .foot{
  font-size: 180%;
  height: 25%;
}
#comfohome_feat02 li .box .foot::before{
  content:"";
  position: absolute;
  bottom: 40%;
  left: calc(50% - 7px);
  border-top: 10px solid #fff;
  border-right: 7px solid transparent;
  border-bottom: 0px solid transparent;
  border-left: 7px solid transparent;
  transition:all .5s ease;
}
#comfohome_feat02 li:hover .box .foot::before{
  bottom: 20%;
}
#comfohome_feat02 li.click .box .foot::before{
  opacity: 0;
}
#comfohome_feat02 li .comment{
  display: none;
}
#comfohome_feat02_foot .wrap div small{
  display: block;
  color: #d00;
}
/* mode Settingsの吹き出し */
#mode_comment,#mode_comment_tri{
  display: none;
  position: absolute;
}
#mode_comment{
  background: rgba(240, 240, 240, 0.9);
  padding: 3%;
  z-index: 2002;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  font-size: 110%;
}
#mode_comment h3{
  font-size: 200%;
  text-align:center;
  margin-bottom: 10px;
}
#mode_comment small{
  display: block;
  margin-top: 10px;
  color: #d00;
}
#mode_comment_tri{
  z-index: 2003;
  border-bottom: 20px solid rgba(240, 240, 240, 0.9);
  border-right: 10px solid transparent;
  border-top: 0px solid transparent;
  border-left: 10px solid transparent;
  width: 20px;
}
#mode_comment_close{
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top:0;
  left:0;
  z-index: 2001;
}


#comfohome_feat02_foot{
  padding: 40px 0;
}
#comfohome_feat02_foot h3{
  font-size: 200%;
  text-align:center;
  margin-bottom: 30px;
  color: #e00;
}
#comfohome_feat02_foot .wrap,#comfohome_feat02_foot .wrap ul{
  justify-content: space-between;
  align-items: center;
}
#comfohome_feat02_foot .wrap div{
  width: calc(50% - 20px);
}
#comfohome_feat02_foot .wrap div p{
  margin:10px 0;
}
#comfohome_feat02_foot .wrap li{
  width: 30%;
  position: relative;
}
#comfohome_feat02_foot .wrap li img:first-child{
  width: 100%;
  margin-top: 10%;
}
#comfohome_feat02_foot .wrap li img:nth-child(2){
  position: absolute;
  top:0%;
  left:0;
  width: 30%;
}

#feat_area_flex{
  margin: 50px auto;
  justify-content: space-between;
}
.faf_box{
  width: calc(50% - 40px);
}
.faf_box .head{
  width: 100%;
  padding: 50px;
  position: relative;
  color: #fff;
}
.faf_box .head h3{
  font-size: 340%;
  margin-bottom: 20px;
}
.faf_box .head p{
  font-size: 130%;
}
.faf_box:nth-child(1) .head{
  background: url(../images/comfohome_feature_03.jpg) no-repeat bottom center;
  background-size: cover;
}
.faf_box:nth-child(2) .head{
  background: url(../images/comfohome_feature_04.jpg) no-repeat bottom center;
  background-size: cover;
}
.faf_box .body{
  font-size: 110%;
  margin-top: 20px;
}
.faf_box .body p,.faf_box .body small{
  margin: 10px 0;
}
.faf_box .body small{
  display: block;
  color: #e00;
}


/* 施工事例 */
#comfohome_example .head{
  width: calc(100% - 120px);
  max-width: 1200px;
  height: 40vw;
  background: url(../images/comfohome_example_head.jpg) no-repeat top center;
  background-size: cover;
  margin: 70px auto 0;
  padding: 60px;
  font-size: 220%;
  font-weight: 600;
  color: #fff;
  min-height: 400px;
  line-height: 180%;
}

#comfo_example_tanaka{
  width: calc(100% - 120px);
  max-width: 1200px;
  justify-content: center;
  margin: 0 auto 50px;
}
#comfo_example_tanaka .info{
  padding: 60px 60px 0 30px;
  width: 45%;
}
#comfo_example_tanaka .info h2{
  font-size: 180%;
  margin-bottom: 20px;
}
#comfo_example_tanaka .info h2 small{
  font-size: 50%;
  display: block;
  margin-bottom: 7px;
}
#comfo_example_tanaka .info .bt_area{
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
#comfo_example_tanaka .info .bt_area a{
  width: calc(50% - 10px);
}
#comfo_example_tanaka .slide{
  position: relative;
  width: 50%;
}
#comfo_example_world,#comfo_example_slick .slick-list{
  overflow: hidden;
}
#comfo_example_slick{
  position: absolute;
  width: 100%;
  bottom: 55px;
  left:0;
  background: #eee;
}
#comfo_example_slick img,#comfo_example_world li{
  outline: none;
}
[id^="comfo_example_"] .slick-dots{
  bottom: -35px;
}
#comfo_example_slick .slick-dots li{
  margin-left: 25px;
}
#comfo_example_world .slick-dots li{
  margin-right: 25px;
}
[id^="comfo_example_"] .slick-dots li{
  width: 15px;
  height: 15px;
  margin: 0;
}
#comfo_example_slick .slick-dots{
  text-align: right;
}
#comfo_example_world .slick-dots{
  text-align: left;
}
[id^="comfo_example_"] .slick-dots li button{
  height: 30px;
}
[id^="comfo_example_"] .slick-dots li button:before{
  content: "";
  opacity: 1;
  width: 100%;
  height: 100%;
  background: #888;
  border-radius: 50%;
}
[id^="comfo_example_"] .slick-dots li.slick-active button:before{
  background: #333;
}

#comfo_example_world{
  margin: 110px auto;
}
#comfo_example_world .cew_box{
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
#comfo_example_world .cew_box .image,#comfo_example_world .cew_box .info{
  width: calc(50% - 40px);
}
#comfo_example_world .cew_box .image img{
  width: 100%;
}
#comfo_example_world .cew_box .info{
  font-size: 140%;
  font-weight: 600;
}
#comfo_example_world .cew_box .info p{
  line-height: 180%;
}
#comfo_example_world .cew_box .info div{
  display: inline-block;
  padding: 10px 40px;
  background: #eee;
  margin-top: 40px;
}


#comfohome_ph td small{
  display: none;
}


.footer__inner {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.footer__inner ul {
  padding-left: 15%;
}

.footer--top {
  margin: 0;
}

.footer-navi {
  height: 10%;
  line-height: 60px;
  width: 100%;
  background-color: black;
  float: left;
}

.footer-navi__element {
  background-color: black;
  display: inline-block;
  width: auto;
  float: left;
  position: relative;
  box-sizing: border-box;
}
.footer-navi__element a {
  color: white;
  font-size: 15px;
  box-sizing: border-box;
  padding: 0 2rem;
  display: inline;
}
.footer-navi__element a:hover {
  text-decoration: underline;
}
.footer-navi__element:first-child a {
  padding-left: 0;
}

.footer-policy__text a {
  display: inline;
}
.footer-policy__text a:hover {
  text-decoration: underline;
  opacity: 1 !important;
}

.footer-policy {
  padding: 0 15%;
  color: black;
  height: 40px;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  background-color: #fff;
  clear: both;
}

.footer-policy__inner {
  display: flex;
  -js-display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}

.footer-policy__text a {
  color: black;
  height: 100%;
  line-height: 40px;
  font-size: 12px;
}

.footer-policy__copyright {
  height: 40px;
}
.footer-policy__copyright p {
  line-height: 40px;
  font-size: 12px;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

/* .page-top {
  width: 100%;
  background-color: black;
  color: white;
}
.page-top a {
  text-align: center;
  padding: 1.25rem 0;
}
.page-top a div {
  background-image: url("images/page-top.png");
  background-repeat: no-repeat;
  background-position: 0 0;
  display: inline-block;
  text-indent: -9999px;
  overflow: hidden;
  width: 4.38rem;
  height: 2.38rem;
  background-size: cover;
} */

