@charset "UTF-8";

/* =========================================================
   estate.css
   土地情報一覧・詳細 共通
========================================================= */


/* =========================================================
   現在販売中の土地 一覧ページ
========================================================= */

.estate-sale-page{
  width: 100%;
  margin: 0;
  padding: 110px 40px 130px;
  background: #faf9f5;
  box-sizing: border-box;
}

.estate-sale-inner{
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

.estate-sale-heading{
  width: 100%;
  margin: 0 auto 78px;
  text-align: center;
}

.estate-sale-label{
  margin: 0 0 24px;
  padding: 0;
  color: #b99b57;
  font-family: "Times New Roman", "Noto Serif JP", "Yu Mincho", "YuMincho", serif !important;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.36em;
}

.estate-sale-title{
  margin: 0 !important;
  padding: 0 !important;
  color: #222 !important;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 42px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.12em;
  text-align: center !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.estate-sale-title::before,
.estate-sale-title::after{
  display: none !important;
  content: none !important;
}

.estate-sale-lead{
  max-width: 760px;
  margin: 42px auto 0;
  color: #5f5a55;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 15px;
  line-height: 2.25;
  letter-spacing: 0.12em;
  text-align: center;
}

.estate-sale-lead p{
  margin: 0 0 18px;
  padding: 0;
}

.estate-sale-lead p:last-child{
  margin-bottom: 0;
}


/* =========================================================
   公開中なしカード
========================================================= */

.estate-sale-empty-box{
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 78px 70px 76px;
  background: #fff;
  border: 1px solid #e8e4dc;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.035);
  box-sizing: border-box;
  text-align: center;
}

.estate-sale-empty-title{
  margin: 0 0 38px !important;
  padding: 0 !important;
  color: #181818 !important;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
  letter-spacing: 0.14em;
  text-align: center !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.estate-sale-empty-title::before,
.estate-sale-empty-title::after{
  display: none !important;
  content: none !important;
}

.estate-sale-empty-text{
  margin: 0 auto 46px;
  color: #67615b;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 15px;
  line-height: 2.25;
  letter-spacing: 0.12em;
}

.estate-sale-empty-text p{
  margin: 0 0 26px;
  padding: 0;
}

.estate-sale-empty-text p:last-child{
  margin-bottom: 0;
}

.estate-sale-empty-buttons{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin: 0;
}

.estate-sale-button,
.estate-sale-button:visited{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 230px;
  min-height: 58px;
  padding: 0 28px;
  box-sizing: border-box;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.14em;
  text-decoration: none !important;
  transition: background 0.35s ease, color 0.35s ease, opacity 0.35s ease;
}

.estate-sale-button-light{
  background: #f5f3ef;
  color: #48423c !important;
}

.estate-sale-button-light:hover{
  background: #e9e4dc;
  color: #222 !important;
}

.estate-sale-button-dark{
  background: #17110f;
  color: #fff !important;
}

.estate-sale-button-dark:hover{
  background: #b99b57;
  color: #fff !important;
}


/* =========================================================
   公開中の土地がある場合
========================================================= */

.estate-sale-list{
  width: 100%;
  max-width: 900px;
  margin: 0 auto 70px;
}

.estate-sale-card{
  width: 100%;
  margin: 0 0 24px;
  padding: 0;
  background: #fff;
  border: 1px solid #e8e4dc;
  box-sizing: border-box;
}

.estate-sale-card-link,
.estate-sale-card-link:visited{
  display: block;
  color: inherit;
  text-decoration: none !important;
}

.estate-sale-card-body{
  padding: 32px 38px;
  box-sizing: border-box;
}

.estate-sale-card-date{
  margin: 0 0 12px;
  color: #b99b57;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.estate-sale-card-title{
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #222 !important;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.08em;
  text-align: left !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.estate-sale-card-title::before,
.estate-sale-card-title::after{
  display: none !important;
  content: none !important;
}

.estate-sale-card-more{
  margin: 0;
  color: #b99b57;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.estate-sale-pager{
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.estate-sale-pager .wp-pagenavi{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.estate-sale-pager .wp-pagenavi a,
.estate-sale-pager .wp-pagenavi span,
.estate-sale-pager .page-numbers{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  margin: 0 3px;
  padding: 0 10px;
  border: 1px solid #e8e4dc;
  color: #8b7441;
  background: #fff;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}

.estate-sale-pager .wp-pagenavi .current,
.estate-sale-pager .page-numbers.current,
.estate-sale-pager .page-numbers:hover{
  color: #fff;
  background: #17110f;
  border-color: #17110f;
}


/* =========================================================
   土地情報 詳細
   ※詳細ページ用は最低限残す
========================================================= */

.estate-single-section{
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: 80px 40px 100px;
  box-sizing: border-box;
}

.estate-single-content{
  width: 100%;
  margin: 0 auto;
}

.estate-single-main-image{
  width: 100%;
  margin: 0 auto 42px;
  background: #f4f1ec;
  overflow: hidden;
}

.estate-single-main-image img{
  display: block;
  width: 100%;
  height: auto;
}

.estate-single-head{
  margin: 0 0 34px;
  padding: 0 0 28px;
  border-bottom: 1px solid #e8e4dc;
}

.estate-single-date{
  margin: 0 0 14px;
  padding: 0;
  color: #b99b57;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

.estate-single-title{
  margin: 0 !important;
  padding: 0 !important;
  color: #222 !important;
  font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.75 !important;
  letter-spacing: 0.08em;
  text-align: left !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

.estate-single-title::before,
.estate-single-title::after{
  display: none !important;
  content: none !important;
}

.estate-single-data{
  width: 100%;
  margin: 0 auto 46px;
  padding: 0;
  border-top: 1px solid #e8e4dc;
}

.estate-single-data div{
  display: grid;
  grid-template-columns: 180px 1fr;
  border-bottom: 1px solid #e8e4dc;
}

.estate-single-data dt,
.estate-single-data dd{
  margin: 0;
  padding: 16px 18px;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.estate-single-data dt{
  color: #8b7441;
  background: #faf9f5;
  font-weight: 500;
}

.estate-single-data dd{
  color: #333;
}

.estate-single-body-content{
  width: 100%;
  margin: 0 auto 60px;
  color: #333;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
}

.estate-single-body-content > p{
  margin: 0 0 1.8em;
}

.estate-single-body-content > p:last-child{
  margin-bottom: 0;
}

.estate-single-body-content > img,
.estate-single-body-content > p img,
.estate-single-body-content > figure img{
  max-width: 100%;
  height: auto;
}

.estate-single-body-content > a,
.estate-single-body-content > p a,
.estate-single-body-content > ul a,
.estate-single-body-content > ol a{
  color: #8b7441;
  text-decoration: underline;
}

.estate-single-body-content > h2{
  margin: 52px 0 20px;
  padding: 0 0 10px;
  color: #222;
  font-size: 20px;
  line-height: 1.7;
  font-weight: 500;
  border-bottom: 1px solid #e8e4dc;
  background: none;
  box-shadow: none;
}

.estate-single-body-content > h2::before,
.estate-single-body-content > h2::after{
  display: none !important;
  content: none !important;
}

.estate-single-body-content > h3{
  margin: 40px 0 18px;
  padding: 0;
  color: #222;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 500;
  background: none;
  border: none;
  box-shadow: none;
}

.estate-single-body-content > h3::before,
.estate-single-body-content > h3::after{
  display: none !important;
  content: none !important;
}

.estate-single-body-content > ul,
.estate-single-body-content > ol{
  margin: 0 0 1.7em 1.6em;
  padding: 0;
}

.estate-single-body-content > ul > li,
.estate-single-body-content > ol > li{
  margin: 0 0 0.6em;
}

.estate-single-body-content > hr{
  margin: 42px 0;
  border: none;
  border-top: 1px solid #e8e4dc;
}

.estate-single-back{
  margin-top: 70px;
}


/* =========================================================
   Cocoon / 共通指定対策
========================================================= */

.right-layout-content .estate-sale-title,
.right-layout-content .estate-sale-empty-title,
.right-layout-content .estate-sale-card-title,
.right-layout-content .estate-single-title{
  background: none !important;
  box-shadow: none !important;
}

.right-layout-content .estate-sale-title::before,
.right-layout-content .estate-sale-title::after,
.right-layout-content .estate-sale-empty-title::before,
.right-layout-content .estate-sale-empty-title::after,
.right-layout-content .estate-sale-card-title::before,
.right-layout-content .estate-sale-card-title::after,
.right-layout-content .estate-single-title::before,
.right-layout-content .estate-single-title::after{
  display: none !important;
  content: none !important;
}


/* =========================================================
   Responsive
========================================================= */

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

  .estate-sale-page{
    padding: 90px 32px 110px;
  }

  .estate-sale-title{
    font-size: 36px !important;
  }

  .estate-sale-empty-box{
    padding: 64px 48px 62px;
  }

}

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

  .estate-sale-page{
    padding: 76px 20px 90px;
  }

  .estate-sale-heading{
    margin-bottom: 54px;
  }

  .estate-sale-label{
    margin-bottom: 18px;
    font-size: 9px;
  }

  .estate-sale-title{
    font-size: 28px !important;
    line-height: 1.55 !important;
    letter-spacing: 0.08em;
  }

  .estate-sale-lead{
    margin-top: 30px;
    font-size: 13px;
    line-height: 2.05;
    letter-spacing: 0.06em;
  }

  .estate-sale-lead br{
    display: none;
  }

  .estate-sale-empty-box{
    padding: 44px 22px 46px;
  }

  .estate-sale-empty-title{
    margin-bottom: 26px !important;
    font-size: 19px !important;
    line-height: 1.75 !important;
    letter-spacing: 0.08em;
  }

  .estate-sale-empty-text{
    margin-bottom: 34px;
    font-size: 13px;
    line-height: 2;
    letter-spacing: 0.05em;
  }

  .estate-sale-empty-text br{
    display: none;
  }

  .estate-sale-empty-buttons{
    flex-direction: column;
    gap: 12px;
  }

  .estate-sale-button,
  .estate-sale-button:visited{
    width: 100%;
    min-width: 0;
    min-height: 54px;
    font-size: 12px;
  }

  .estate-sale-card-body{
    padding: 26px 22px;
  }

  .estate-sale-card-title{
    font-size: 18px !important;
  }

  .estate-single-section{
    max-width: none;
    padding: 60px 20px 80px;
  }

  .estate-single-title{
    font-size: 21px !important;
  }

  .estate-single-data div{
    grid-template-columns: 1fr;
  }

  .estate-single-data dt,
  .estate-single-data dd{
    padding: 13px 14px;
  }

}