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

/* PC・SP共通 */
/*-------------------------
.contentsTitle
-------------------------*/

.contentsTitle {
  display: none;
}

/*　PC用　*/
@media screen and (min-width: 751px) {

  body {
    position: relative;
  }
  sup {
    line-height: 2;
    font-size: 10px;
  }
  #topBox {
    z-index: 100;
  }

  #sort {
    width: 973px;
    padding: 0;
    overflow: hidden;
    margin: 50px auto 0;
    position: relative;
  }
  #sort h2 {
    position: absolute;
    top: 0px;
    left: 0;
    background: url(../img/title_gallery_01.png) no-repeat left top;
    width: 290px;
    height: 92px;
    text-indent: -9999px;
    overflow: hidden;
  }
  #sort ul {
    display: flex;
    overflow: hidden;
    position: relative;
    padding: 0;
  }
  #sort ul:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    content: " ";
    display: block;
    opacity: 0.5;
    z-index: -1;
  }
  #sort li {
    margin-left: 3px;
    font-size: 11px;
  }
  #sort select {
    width: 130px;
    border: 1px solid #d6d0bc;
    padding: 4px;
  }
  #sort select option {
    /* line-height: 1.5; */
  }
  .sort04 {
    display: inline-block;
    width: 137px;
    height: 28px;
    position: relative;
  }
  .sort04:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    content: " ";
    display: block;
    z-index: 1;
    border-radius: 3px;
  }
  .sort04 {
    overflow: hidden;
    width: 165px;
    display: flex;
    border-radius: 3px;
  }
  .sort04 a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    overflow: hidden;
    position: relative;
    z-index: 2;
  }
  .sort04.new .newBtn,
  .sort04.old .oldBtn,
  .sort04.contract .contractBtn {
    background-color: #5eac3a;
  }
  .sort04 .newBtn {
    text-decoration: none;
    width: 55px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04 .oldBtn {
    text-decoration: none;
    width: 55px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04 .contractBtn {
    text-decoration: none;
    width: 55px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04 a:hover {
    opacity: 0.7;
  }

  .galleryTitle {
    font-size: 26px;
    font-weight: bold;
    display: flex;
    align-items: center;
  }
  .galleryTitle .minTxt {
    font-size: 15px;
    margin-left: 15px;
    font-weight: bold;
  }
  .propertyList {
    display: flex;
    flex-wrap: wrap;
    width: 980px;
    margin: 0 auto 50px;
  }
  .propertyItem {
    width: 310px;
    height: 462px;
    border: solid 2px #ededed;
    margin-right: 19px;
    margin-top: 50px;
    position: relative;
  }
  .propertyItem:nth-child(3n) {
    margin-right: 0;
  }
  .propertyImage {
    width: 310px;
    height: 210px;
    object-fit: cover;
  }
  .propertyImage:hover {
    opacity: 0.8;
  }
  .propertyContent {
    padding: 15px 20px;
  }
  .propertyTag {
    display: flex;
    font-size: 14px;
    align-items: center;
    line-height: 1;
    margin-bottom: 10px;
  }

  .propertyTitle {
    font-size: 18px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
  }

  .propertyTitle.new ,
  .propertyTitle.contract  {
    padding-left: 65px;
  }

  .propertyTitle::after {
    width: 33px;
    height: 20px;
    font-size: 14px;
    font-weight: bold;
    display: flex;
    align-items: center;
    top: 0px;
    left: 0;
    color: #222;
    border-radius: 3px;
    letter-spacing: 2.5px;
    text-align: center;
    margin-right: 15px;
    padding: 0 8px;
    position: absolute;
  }
  .propertyTitle.new::after {
    content: "新築";
    background-color: #ffda00;
  }
  .propertyTitle.contract::after {
    content: "請負";
    background-color: #5eac3a;
  }

  .propertyDataList {
    height: 200px;
    background-color: #fff;
  }
  .dataItem {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    height: 30px;
    font-size: 14px;
    padding-bottom: 10px;
    border-bottom: solid 2px #e8e8e8;
    line-height: 1;
  }

  .dataArea {
    width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dataProperty {
    width: 65px;
    color: #5eac39;
    font-size: 12px;
    margin-left: 20px;
    font-weight: bold;
  }
  .detailLink {
    width: 160px;
    height: 36px;
    display: flex;
    align-items: center;
    border-radius: 4px;
    margin: 0 auto;
    text-decoration: none;
    background-color: #ededed;
    margin-top: 20px;
    padding-left: 15px;
    font-size: 13px;
    position: relative;
  }
  .detailLink::after {
    content: "";
    position: absolute;
    top: 14px;
    right: 17px;
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #333;

  }
  #sort {
    display: flex;
    align-items: center;
  }

  .sorts {
    margin-left: auto;
    background: #f7f7f7
  }

  .sort04 {
    overflow: hidden;
    display: flex;
    border-radius: 3px;
    margin-left: auto;
  }
  .sort04 a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    font-size: 11px;
    overflow: hidden;
    position: relative;
    z-index: 2;
  }
  .sort04 a:hover {
    opacity: 0.8;
  }
  .sort04 .allBtn {
    text-decoration: none;
    width: 57px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04 .newBtn {
    text-decoration: none;
    width: 55px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04 .oldBtn {
    text-decoration: none;
    width: 65px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04 .contractBtn {
    text-decoration: none;
    width: 55px;
    background-position: left 0;
    background-color: #bbbbbb;
    color: #fff;
  }
  .sort04.default .allBtn,
  .sort04.new .newBtn,
  .sort04.old .oldBtn,
  .sort04.contract .contractBtn {
    background-color: #5eac3a;
  }
  /* noresult */
  .noresult {
    margin: 40px 0 0;
    font-size: 14px;
  }

  /* ページング ここから */
.pageNav {
  width: 500px;
  margin: 0 auto 60px;
}
.pageNav a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.pageNavNext {

}
.pageNavPagination {
  margin-top: 20px;
}
.pageNext {
  border-radius: 2px;
  border: 2px solid #5eac3a;
  background: #FCFCFC;
}
.pageNextBtn {
  width: 100%;
  height: 70px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #333;
  font-size: 17px;
  position: relative;
  text-decoration: none;
}
.pageNextBtn:before {
  position: absolute;
  width: 10px;
  height: 10px;
  right: 40px;
  top: 40%;
  content: "";
  transform: rotate(45deg);
  vertical-align: middle;
  border-top: 3px solid #5eac3a;
  border-right: 3px solid #5eac3a;
}
.pagination {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.paginationLink {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 56px;
  height: 45px;
  font-size: 13px;
  line-height: 1.2;
  color: #333333;
  border: 1px solid #D6D6D6;
  border-radius: 2px;
  background: #FCFCFC;
}
.paginationLinkPrev {
  text-decoration: none;
}
.paginationLinkNext {
  text-decoration: none;
}
.paginationLinkNumber {
  margin: 0 8px;
  width: 160px;
}
.paginationLinkNolink {
  background-color: transparent;
  pointer-events: none;
  opacity: 0.5;
}
.paginationNumber {
  position: relative;
}
.paginationNumberLabel {
  position: relative;
  width: 100%;
  height: 100%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #FFF;
}
.paginationNumberLabel::after {
  position: absolute;
  width: 8px;
  height: 8px;
  right: 15px;
  top: 0px;
  bottom: 0px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  transition: 0.5s;
  vertical-align: middle;
  border-top: 2px solid #C8C4BE;
  border-right: 2px solid #C8C4BE;
}
.paginationNumberSelect {
  position: absolute;
  top: 0;
  left: 0;
  -moz-appearance: button;
  -webkit-appearance: button;
  appearance: button;
  opacity: 0;
  width: 100%;
  height: 100%;
}
/* ページング ここまで */

}


/*　SP用　*/
@media screen and (max-width: 750px) {
  .galleryTitle {
    margin: 0 15px 20px;
    font-size: 26px;
    font-weight: bold;
  }
  .galleryTitle .minTxt {
    display: block;
    font-size: 15px;
    margin-top: 8px;
  }
  /* sort　絞り込み部分 */
  #wrap01 {
    padding: 30px 0 0;
  }
  #sort h2 {
    margin: 0 15px 20px;
    color: #000;
    font-size: 26px;
    font-weight: bold;
    list-style: 1.6;
  }
  #sort ul {
    margin: 0 15px 20px;
  }
  #sort li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #sort li + li {
    margin-top: 10px;
  }
  #sort li label {
    display: inline-block;
    width: 60px;
    font-size: 15px;
  }
  #sort select {
    box-sizing: border-box;
    width: calc(100% - 70px);
    height: 40px;
    background: #fff;
    border: 1px solid #d6d0bc;
    border-radius: 0;
    padding: 4px;
    color: #000;
    font-size: 15px;
  }
  #sort li.sort04 {
    margin-top: 20px;
    border-radius: 3px;
    background: #bbb;
  }
  .sort04 a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25%;
    height: 40px;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
  }
  .sort04 .allBtn,
  .sort04.new .newBtn,
  .sort04.old .oldBtn,
  .sort04.contract .contractBtn {
    background-color: #5eac3a;
    border-radius: 3px;
  }
  .sort04.new .allBtn,
  .sort04.old .allBtn,
  .sort04.contract .allBtn {
    background: none;
  }
  /* propertyList 物件一覧部分 */
  .propertyList {
    margin: 0 15px 60px;
  }
  .propertyItem {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 20px;
    border: solid 2px #ededed;
  }
  .propertyImage {
    width: 100%;
    height: 195px;
    object-fit: cover;
  }
  .propertyContent {
    padding: 15px;
  }
  .propertyTag {
    display: flex;
    align-items: center;
  }
  .propertyCategory {
    box-sizing: border-box;
    min-width: 50px;
    height: 25px;
    margin: -2px 15px 0 0;
    padding: 3px 8px;
    border-radius: 3px;
    color: #222;
    font-size: 15px;
    font-weight: bold;
    line-height: 22px;
    letter-spacing: 2.5px;
    text-align: center;
  }
  .propertyCategory.new {
    background-color: #ffda00;
  }
  .propertyCategory.contract {
    background-color: #5eac3a;
  }

  .propertyTitle {
    font-size: 18px;
    font-weight: bold;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .propertyTitle.new ,
  .propertyTitle.contract  {
    padding-left: 65px;
  }

  .propertyTitle::after {
    position: absolute;
    box-sizing: border-box;
    min-width: 50px;
    height: 25px;
    padding: 3px 8px;
    border-radius: 3px;
    color: #222;
    font-size: 15px;
    margin-top: -2px;
    font-weight: bold;
    letter-spacing: 2.5px;
    text-align: center;
    left: 35px;
  }

  .propertyTitle.new::after {
    content: "新築";
    background-color: #ffda00;
  }
  .propertyTitle.contract::after {
    content: "請負";
    background-color: #5eac3a;
  }


  .propertyDataList {
    padding-bottom: 20px;
    background-color: #fff;
  }
  .dataItem {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    height: 55px;
    font-size: 15px;
    border-bottom: solid 2px #e8e8e8;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dataItem sup {
    display: inline-block;
    margin-bottom: 5px;
    font-size: 10px;
  }
  .dataProperty {
    width: 80px;
    color: #5eac39;
    font-size: 15px;
    margin-left: 20px;
    font-weight: bold;
  }
  .detailLink {
    display: flex;
    align-items: center;
    position: relative;
    width: 172px;
    height: 35px;
    margin: 20px auto 0;
    padding-left: 15px;
    background-color: #ededed;
    border-radius: 4px;
    text-decoration: none;
    font-size: 13px;
  }
  .detailLink::after {
    content: "";
    position: absolute;
    top: 14px;
    right: 17px;
    background-repeat: no-repeat;
    border-style: solid;
    border-width: 3px 0 3px 4px;
    border-color: transparent transparent transparent #333;
}
  /* pagenavi */
  .pagenavi {
    margin: 30px 15px 40px;
  }
  /* noresult */
  .noresult {
    margin: 40px 0;
    font-size: 14px;
  }

.pageNav {
    box-sizing: border-box;
    margin: 0 20px 30px;
}
.pageNav a:hover {
    opacity: 0.7;
    text-decoration: none;
}
.pageNavNext {

}
.pageNavPagination {
    margin-top: 20px;
}
.pageNext {
    border: 2px solid #5eac3a;
    border-radius: 2px;
}
.pageNextBtn {
    text-decoration: none;
    width: 100%;
    height: 70px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #333;
    font-size: 17px;
    position: relative;
    border-radius: 2px;
}
.pageNextBtn:before {
    position: absolute;
    width: 8px;
    height: 8px;
    right: 40px;
    top: 28px;
    content: "";
    transform: rotate(45deg);
    vertical-align: middle;
    border-top: 2px solid #5eac3a;
    border-right: 2px solid #5eac3a;
}
.pagination {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.paginationLink {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 56px;
    height: 45px;
    font-size: 13px;
    line-height: 1.2;
    color: #333333;
    border: 1px solid #D6D6D6;
    text-decoration: none;
    border-radius: 2px;
}
.paginationLinkPrev {
background-color: #FFF;
text-decoration: none;
}
.paginationLinkNext {
background-color: #FFF;
text-decoration: none;
}
.paginationLinkNumber {
    margin: 0 8px;
    width: 160px;
}
.paginationLinkNolink {
    background-color: transparent;
    pointer-events: none;
    opacity: 0.5;
}
.paginationNumber {
    position: relative;
}
.paginationNumberLabel {
    position: relative;
    width: 100%;
    height: 100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #FFF;
}
.paginationNumberLabel::after {
    position: absolute;
    width: 8px;
    height: 8px;
    right: 15px;
    top: 0px;
    bottom: 0px;
    margin: auto;
    content: "";
    transform: rotate(135deg);
    transition: 0.5s;
    vertical-align: middle;
    border-top: 2px solid #C8C4BE;
    border-right: 2px solid #C8C4BE;
}
.paginationNumberSelect {
    position: absolute;
    top: 0;
    left: 0;
    -moz-appearance: button;
    -webkit-appearance: button;
    appearance: button;
    opacity: 0;
    width: 100%;
    height: 100%;
}
/* ページング ここまで */

/* 幅の狭いスマホ用 */
@media screen and (max-width:360px){
    .prevLink, 
    .nextLink {
        width: 93px;
    }
    .firstLink, 
    .lastLink {
        width: 40px;
    }
    .mailToiMae {
        font-size: 16px;
    }
    .mailToiMae:before {
        content: "";
        background: url(https://base.formatline.com/common/img/ico_last_mail.png) no-repeat 0 0;
        background-size: 30px;
        position: absolute;
        top: 28px;
        left: 15px;
    }
    .mailToiMae:after {
        position: absolute;
        content: "";
        margin-top: -5px;
        right: 20px;
        width: 7px;
        height: 7px;
    }
    .mailToiMae span:before {
        top: -4px;
        left: -43px;
    }
}

}