@charset "UTF-8";




.houseList{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}

.houseList li {
  width: calc(100% / 4 - 2%);
  /*flex-basis: 254px;*/
  margin:0 2% 2% 0;
  box-shadow: 0 0 8px #f4f4f4;
  background:#fff;  
}

.houseList li:nth-child(4n){
	margin:0 0 2% 0;
}

.houseList li .thumb{
	display: block;
	position: relative;
  z-index: 1;
  padding-top: 60%;
}


.houseList li .thumb img {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%,-50%);
   width: 100%;
   height: 100%;
   object-fit: cover; 
}

	
.houseList li .iconNew::before {
    content: "";
    top: 0;
    right: 0;
    border-bottom: 4em solid transparent;
    border-right: 4em solid #fff45c; /* ラベルの色はここで変更 */
    position: absolute;
    z-index: 100;
}

.houseList li .iconNew::after {
    content: "新着";
    display: block;
    top: 7px;
    transform: rotate(45deg);
    color: #253f77;
    right: 0;
    position: absolute;
    z-index: 101;
    font-weight: bold;

}

.iconCate{
  text-align: center;
  color: #fff;
  background: linear-gradient(to right, rgba(74,223,210,0.7), rgba(2,144,254,0.7));
  padding: 5px 16px;
  font-weight: bold;  
}


.houseList li .iconCate{
  position: absolute;
  left: 10px;
  bottom: -17px;
  z-index: 2;
}

.houseList li .listInner{
	margin: 40px 10px 20px;
}

.houseList li .name,
.houseList li .area,
.houseList li .price
{
	color: #253f77;
	font-weight: bold;
	font-size: 1.8rem;
}

.houseList li .address{
	margin-bottom: 20px;
}

.houseList li .price{
	color: #e60012;
}

.houseList li .area span{
	font-size: 1.4rem;
}	


/*---------------------------------
detail
---------------------------------*/

.contentsBox.housingDetail{
  padding: 100px 0;
  margin-bottom:100px; 
}  


.innerLayout.housingDetail{
  background: #fff!important;
  padding: 30px 30px 100px;
  border-top: 5px solid #253f77;

}

.housingInfo{
  display: flex;
  justify-content: space-between;
  margin-bottom: 45px;
}

.infoInner{
  width: 660px;
}

.infoInner .name{
  color: #253f77;
  font-weight: bold;
  font-size: 2.4rem;
}

.infoInner .price{
  color: #e60012;
  font-weight: bold;
}

.infoInner .price strong{
  font-size: 2.4rem;
}

.cateBox{
  display: flex;
}

.cateBox .iconCate{
  padding: 10px 16px;
}

.cateBox .cateNew{
  padding: 10px 16px;
  background: #fff45c;
  color: #253f77;
  font-weight: bold;
  margin-left:10px;
}


.housingContactInner{
  width: 350px;
}



.housingContactInner .impress {
  color: #253f77;
  position: relative;
  display: inline-block;
  margin: 0 0 26px;
  padding: 20px 0;
  width: 100%;
  font-size: 1.8rem;
  font-weight: bold;
  background: #f1f4f6;
  text-align: center;
}

.housingContactInner .impress:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #f1f4f6;
}

.btnFormContact{
  width: 100%;
  background: #1a7dcc;
  display: block;
  border-radius: 100px;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 50px;
  height: 50px;
  text-align: center;
}

.pointBox{
  width: 100%;
  margin-bottom:30px;
}

.pointBox .boxTtl,
.itemBox .boxTtl{
  color: #253f77;
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 20px;
}

.pointBox .boxInner{
  background: #f1f4f6;
  font-size: 2.4rem;
  font-weight: bold;
  padding: 30px;
}

.itemBox{
  margin-bottom:30px; 
}

.itemBox .boxTable{
  width: 100%;
  border-top: 1px solid #d2d2d2;
}

.itemBox .boxTable th,
.itemBox .boxTable td{
  border-bottom: 1px solid #d2d2d2;
  vertical-align: middle;
}

.itemBox .boxTable th{
  background: #f1f4f6;
  padding: 20px 0 20px 20px;
  width: 170px;
  text-align: left;
}

.itemBox .boxTable td{
  padding: 10px 0 10px 50px;
 } 

.optionBox{
  margin-bottom:  60px;
}

.optionBox .boxTtl{
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px solid #d2d2d2;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.housingContactInner.onBottom{
  display: block;
  margin: 0 auto 60px;
}


.btnBack{
  display: block;
  background:#f1f4f6;
  font-size: 1.6rem;
  font-weight: bold;
  width: 100%; 
  line-height: 50px;
  height: 50px;
  text-align: center;
}


/*---------------------------------
imageList
---------------------------------*/

.imageList {
  width: 820px;
  display: flex;
}
.imageList__view {
  flex: 0 0 440px;
  height: 440px;
}
.imageList__thumbs {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  height: 440px;  overflow: scroll;}
.imageList__thumbnail {
  margin-left: 10px;
  flex: 0 1 calc(50% - 10px);
}
.imageList__thumbnail:nth-child(n + 3) {
  margin-top: 10px;
}
.imageList img {
  width: 100%;
  display: block;
}



/*---------------------------------
slider
---------------------------------*/

.slider-container{
  width:100%;
  margin:0 auto 30px;
  display: flex;
  justify-content: space-between;
}




.slider-container #slider_pc{
  width: 660px;
  height: 440px;
  position: relative;
  text-align: center;
}


.slider-container #slider_pc #mainImage{
  max-height: 100%;
  position: absolute;
  top:0;
  bottom: 0;
  left:0;
  right:0;
  margin: auto;
  z-index: 1;
  /*
  object-fit: cover;
  width: 660px;
  height: 440px;
  */    
}


.btnArrowWrap {
  position: absolute;
  top: 45%;
  width: 98%;
  display: flex;
  justify-content: space-between;
  left: 1%;
  z-index: 2;
}

.slider-container #thumbs_pc{
  width: 350px;
  flex: 0 0 350px;
}


.thumbnail .slick-track {
  transform: unset !important;
}

#thumbs_pc {
  display: flex;
  flex-wrap: wrap;
  align-content: baseline;
  height: 440px;
  overflow-y:auto; 
}

#thumbs_pc li{
  width: calc(100%/ 4 - 2%);
  height: 80px;
  margin: 0 2% 2% 0;
  position: relative;
  overflow: hidden;
} 

#thumbs_pc li:nth-child(4n){
  margin: 0 0 2% 0;
}  


#thumbs_pc li img{
  position: absolute;
  text-align: center;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  object-fit: cover;
  width: 80px;
  height: 80px;  
}

#thumbs_pc li.selected img{
  opacity: 0.5;
}  



/* Media Queries ================================================== */
/*896*/
@media screen and (max-width: 1100px) {
  .houseList{
    width: 96%;
    margin:0 auto 60px;
  }
}
/* Media Queries ================================================== */
/*896*/
@media screen and (max-width: 896px) {
  .houseList {
    margin-bottom: 30px;
    width: 100%;
  }

  .houseList li {
    width: calc(100% / 2 - 2%);
    flex-basis: auto;
    margin: 0 4% 4% 0;
  }

  .houseList li:nth-child(2n) {
    margin: 0 0 4% 0;
  }  

  .houseList li .iconNew::before {
    border-bottom: 3em solid transparent;
    border-right: 3em solid #fff45c;
  }

  .houseList li .iconNew::after {
    top: 6px;
    right: 3px;
    font-size: 1rem;
  }  

  .houseList li .iconCate {
    bottom: -16px;
    font-size: 1.2rem;
  }

  .houseList li .name, 
  .houseList li .area, 
  .houseList li .price,
  .houseList li .year
  {
    font-size: 1.4rem;
  }

  .houseList li .access {
    font-size: 1rem;
  }  

  .houseList li .listInner {
    margin: 20px 10px 20px;
  }

  .houseList li .address {
    margin-bottom: 10px;
  }



/*---------------------------------
detail
---------------------------------*/

  .contentsBox.housingDetail{
    padding: 50px 0;
    margin-bottom:50px; 
  }  


  .innerLayout.housingDetail{
    padding: 10px 10px 50px;
  }

  .housingInfo{
    display: block;
  }

  .infoInner{
    margin-bottom: 30px;
    max-width: 100%;
  }



  .housingContactInner{
    width: 100%;
  }

  .pointBox .boxTtl, .itemBox .boxTtl {
    font-size: 2rem;
    margin: 0 auto;
    padding-bottom: 10px;
  }


  .pointBox .boxInner{
    padding: 10px;
    font-size: 2rem;
  }


  .itemBox .boxTable th{
    background: #f1f4f6;
    padding: 10px;
    width: 32%;
  }

  .itemBox .boxTable td{
    padding-left: 10px;
   } 

  .optionBox{
    margin-bottom:  30px;
  }

  .housingContactInner.onBottom {
    margin: 0 auto 30px;
  }

  .slider-container {
    display: block;
  }

  .slider-container #slider {
    width: 100%;
    margin-bottom: 0;
  }

  .slider-container #thumbs {
    width: 100%;
  }


  #thumbs .slick-slide > div{
      opacity: 0.5;
      transition: all 0.2s;
  }


  #thumbs .slick-current > div{
      opacity: 1
  }

  /*
  .slick-slide{
    padding:5px;
  }
  */

  /*
  .slick-slide img {
    width: 100%;
    height: 280px;
    object-fit: cover;
  }
  */


.slick-img{
  height: 60vw!important;
  position: relative;
  text-align: center;
}


.slick-img img{
  max-height: 100%;
  position: absolute;
  top:0;
  bottom: 0;
  left:0;
  right:0;
  margin: auto;
  z-index: 1;  
}





  .slick-arrow:before{
    content:""!important;
    width: 100%!important;
    height: 100%!important;
    position: absolute;
    top: 0;
    left: 0;
  }

  .slick-next:before{
    content:""!important;
    background: url(../img/common/arrow_r.png)!important;
    background-size: contain!important;
  }

  .slick-prev:before{
    content:""!important;
    background: url(../img/common/arrow_l.png)!important;
    background-size: contain!important;
  }

  .slick-arrow{
    z-index:2!important;
    width:16px!important;
    height:28px!important;
  }

  .slick-next{
    right:10px!important;
  }

  .slick-prev{
    left:10px!important;
  }

  #thumbs .slick-slide > div {
    padding-right: 10px;
  }

 .thumbnail-img img{
    width: 100%;
    height: 60px;
    object-fit: cover;  
 } 


}  