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

input[type="text"],
input[type="tel"] {
    display: block;
	width: 100%;
	padding: .375rem .75rem;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgba(186,186,186,.5);
	border-radius: .25rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
}
input[type="text"][name="jschool"],
input[type="text"][name="jhschool"] {
    width:300px;
    display: inline-block;
}
select {
    /*display: block;
	width: 20%;*/
	padding: .375rem .75rem;
	color: #495057;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid rgba(186,186,186,.5);
	border-radius: .25rem;
	transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
}
input[type="checkbox"] {
  border: 1px solid #dadada;
  vertical-align: -6px;
  -webkit-appearance: none;
  position: relative;
  box-sizing: border-box;
  width: 22px;
  height: 22px;
  background: #fff;
  margin-right: 10px;
  border-radius: .25rem;
}
input[type="checkbox"]:checked {
  background: #C2B89A;
  border: 1px solid #AC9F77;
}
input[type="checkbox"]:checked:before {
  position: absolute;
  left: 1px;
  top: 14px;
  display: block;
  content: "";
  width: 8px;
  height: 3px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}
input[type="checkbox"]:checked:after {
  display: block;
  position: absolute;
  left: 8px;
  top: 14px;
  content: "";
  width: 14px;
  height: 3px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}
input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  width: 17px;
  height: 17px;
  border: 1px solid transparent;
  position: relative;
  margin: 0 10px 0 0;
}
input[type="radio"]::before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  border-radius: 50%;
}
input[type="radio"]::after {
  content: '';
  display: block;
  position: absolute;
  top: 8px;
  left: 5px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
}
input[type="radio"]:checked::after {
  content: '';
  display: block;
  position: absolute;
  top: 8px;
  left: 5px;
  width: 10px;
  height: 10px;
  background: #AC9F77;
  border-radius: 50%;
}
.FormSubGroup {
	font-weight:bold;
	font-size:1.1em;
	padding: .25em 0 .25em .5em;
	border-left: 6px solid #AC9F77;	
	margin: 2em 0 1em;
	text-align: left;
}
.FormTable {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	box-sizing: border-box;
}
.FormTableRow {
	border-bottom:1px solid rgba(186,186,186,.5);
}
.FormTableRow:last-child {
	border-bottom:none;
}
.FormKoumoku {
	padding:10px;
	vertical-align:middle;
	font-weight:bold;
	width:20%;
	text-align: left;
	display: inline-block;
    box-sizing: border-box;
}
.FormValue {
	padding:10px;
	text-align:left;
	width:80%;
	display: inline-block;
    box-sizing: border-box;
}
.FormRequired {
	color: rgba(255,0,0,.9);
	font-size:0.8em;
	font-weight:bold;
}
.form_required input,
.form_required select {
    background: none repeat scroll 0 0 #ffe5e5;
    border: 1px solid #ff4040;
	box-sizing: border-box;
	border-radius: .25rem;
}
.form_required textarea {
    background: none repeat scroll 0 0 #ffe5e5;
    border: 1px solid #ff4040;
	box-sizing: border-box;
    height:100px;
	border-radius: .25rem;
}
.form_required input[type="password"] {
	width:35%;
}
.FormValue2 .form_required div,
#userDM .FormValue label {
    display: inline-block;
    width: 48%;
}
#form_1 {
	width:51%;
}
#user_MobileTel1,
#user_Fax1 {
	width:50%;
}
#form_26,
#form_43,
#form_27,
#form_30 {
	width:25%;
    display: inline-block;
}
#user_Zip1,
#user_OfficeZip1,
#user_Income,
#user_Other1 {
	width:15%;
    display: inline-block;
}
#user_Tel1,
#user_MobileTel1,
#user_Fax1 {
	width:50%;
    display: inline-block;
}
.FormTableRow textarea {
	width: 100%;
    height:70px;
    border: #ced4da solid 1px;
    padding: .375rem .75rem;
    border-radius: .25rem;
    font-size: 1rem;
}
.FormValueContactMethod1 div,
.FormValueSex div,
.FormValue11 div,
.FormValue41 div,
.FormValue42 div {
    display: inline-block;
    margin: 5px 5px 5px 0;
}
#user_ContactMethod2 {
    margin:5px 0 0;
}
#form_5,
#form_6,
#form_7,
#form_8,
#form_9,
#form_10 {
    display: inline-block;
    width:20%;
}

#form_private_policy {
	border: 1px solid rgba(186,186,186,.5);
	width: 100%;
	height: 180px;
	padding: 0.5em;
	overflow: auto;
    margin: 0 0 5px;
    padding: .375rem .75rem;
    border-radius: .25rem;
}
table.FormBukken {
    width:100%;
}
table.FormBukken th,
table.FormBukken td {
    padding: 10px 0;
}
table.FormBukken .FormBukkenEach tr {
    padding: 0 0 10px;
}
table.FormBukken td table.FormBukkenEach {
    border: none;
    width:100%;
}
table.FormBukken td table.FormBukkenEach th {
    display: none;
}
table.FormBukken td table td img {
    max-width: 100px;
    max-height: 100px;
    margin: 10px;
}
table.FormBukken td table.FormBukkenEach td .FormBukkenPrice {
    font-size: 16px;
    font-weight: bold;
    color: #AC9F77;
}
table.FormBukken td table.FormBukkenEach td .FormBukkenPrice .man {
    font-size: 14px !important;
    font-weight: normal !important;
    /*color: #333 !important;*/
}
table.FormBukken td table td:nth-child(2) {
    width:10%;
}
table.FormBukken td table td:nth-child(3) {
    width:40%;
}
table.FormBukken td table td:nth-child(4) {
    width:30%;
}
table.FormBukken td table td:nth-child(5) {
    width:20%;
}

.ShoolSearchPref {
    margin: 30px 0.3em 15px;
    padding: 1px 10px 5px;
    background: #5bcab4;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3em;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    border: 2px dashed #fff;
    -moz-box-shadow: 0 0 0 4px #5bcab4;
    -webkit-box-shadow: 0 0 0 4px #5bcab4;
    box-shadow: 0 0 0 4px #5bcab4;
}
.ShoolSearchPref:before {
    content: url(../img/title_s.png);
    margin-right: 10px;
    position: relative;
    top: 4px;
}
[id^="ShoolSearchPref"] h4 {
     position: relative;
     padding-left: 15px; 
     border-bottom: none;
}
[id^="ShoolSearchPref"] h4::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-left: solid 8px #1E8E7C;
     top: 50%;
     left: 0;
     margin-top: -5px;
}
[id^="ShoolSearchPref"] h4 label span a{
    width: 100%;
    display: inline-block;
    padding: 5px;
    box-sizing: border-box;
    text-decoration: none;
    font-size:16px;
}
[id^="ShoolSearchPref"] h4 label span a:hover {
	background: #C2B89A;
}
.PrimarySchool,
.JuniorHighSchool {
    font-weight: bold;
    clear: both;
    font-size: 16px;
    margin: 5px 0;
    color: #1E8E7C;
}
[id^="ShoolSearchPref"] li label {
    width: 100%;
    display: inline-block;
    padding: 2px 2px 2px 10px;
    box-sizing: border-box;
}
[id^="ShoolSearchPref"] li label:hover {
	background: #C2B89A;
}

.ShoolSearchPref {
    margin: 30px 0.3em 15px;
    padding: 1px 10px 5px;
    background: #5bcab4;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3em;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    border: 2px dashed #fff;
    -moz-box-shadow: 0 0 0 4px #5bcab4;
    -webkit-box-shadow: 0 0 0 4px #5bcab4;
    box-shadow: 0 0 0 4px #5bcab4;
}
.ShoolSearchPref:before {
    content: url(../img/title_s.png);
    margin-right: 10px;
    position: relative;
    top: 4px;
}
[id^="ShoolSearchPref"] h4 {
     position: relative;
     padding-left: 15px; 
     border-bottom: none;
}
[id^="ShoolSearchPref"] h4::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-left: solid 8px #1E8E7C;
     top: 50%;
     left: 0;
     margin-top: -5px;
}
[id^="ShoolSearchPref"] h4 label span a{
    width: 100%;
    display: inline-block;
    padding: 5px;
    box-sizing: border-box;
    text-decoration: none;
    font-size:16px;
}
[id^="ShoolSearchPref"] h4 label span a:hover {
	background: #C2B89A;
}
.PrimarySchool,
.JuniorHighSchool {
    font-weight: bold;
    clear: both;
    font-size: 16px;
    margin: 5px 0;
    color: #1E8E7C;
}
[id^="ShoolSearchPref"] li label {
    width: 100%;
    display: inline-block;
    padding: 2px 2px 2px 10px;
    box-sizing: border-box;
}
[id^="ShoolSearchPref"] li label:hover {
	background: #C2B89A;
}
.form_button {
    text-align: center;
}
.form_button input {
    font-size: 1.2em !important;
    padding: 5px 20px !important;
}

/*.SearchMoreButton */
input[type="submit"],
input[type="button"],
.SearchMoreButton a {
padding: 2px 5px;
background: #AC9F77;
border-radius: 4px;
font-weight: bold;
text-align: center;
text-decoration: none;
display: inline-block;
color: #fff;
margin: 0 auto;
border:1px #AC9F77 solid;
-webkit-appearance: none;
}
.list_pre_button input[type="button"],
.list_next_button input[type="button"] {
padding: 3px 5px;
font-size: 90%;
border:1px #AC9F77 solid;
}
/*.search_button input[type="button"]:hover,
.SearchMoreButton */
input[type="submit"]:hover,
input[type="button"]:hover,
.SearchMoreButton a:hover {
background:#C2B89A;
border:1px #C2B89A solid;
}
#otoiawase1,
#otoiawase2,
#otoiawase3 {
    display: inline-block;
    margin: 0 10px 0 0;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767px) {
	.FormTableRow,
	.FormKoumoku,
	.FormValue {
	width:100% ;
	display: block !important;
	}
	.form_required {
	display: block !important;	
	}
	.form_required input[type="password"] {
	width:60%;
	}
    
    #form1 {
		width: 100%;
		margin: 0 auto;
	}
    #form1 .FormSubGroup {
		display: block;
		font-size: 15px;
		padding-left: 10px;
		border-bottom:1px solid rgba(186,186,186,.5) !important;
	}
    #form1 table.FormBukken {
        border-top:1px solid rgba(186,186,186,.5) !important;
    }
     #form1 table.FormBukken tr {
        border-bottom: none !important;
}
    #form1 .FormKoumoku {
        border-right: none;
    }
    #form1 .FormKoumoku,
    #form1 .FormBukken th {
		display: block !important;
		width: 100%;
		padding: 10px;
		font-size: 14px !important;
        border-bottom:1px solid rgba(186,186,186,.5) !important;
	}
    #form1 .FormBukken th.FormBukkenCount {
        display: none !important;
    }
    #form1 .FormValue {
		display: block !important;
        width: 100%;
    	/*background: #fff;*/
    	border: none;
    	font-size: 13px !important;
    	text-align: left;
		border-bottom:none;
	}
        #form1 .FormBukken td {
		display: block !important;
        width: 100%;
    	/*background: #fff;*/
    	border: none;
    	font-size: 13px !important;
    	text-align: left;
		border-bottom:1px solid rgba(186,186,186,.5) !important;
        padding: 5px !important;
	}
     #form1 table.FormBukken td table.FormBukkenEach {
        border: none;
        margin-bottom: 0em;
    }
     #form1 .FormBukken td .FormBukkenEach td {
		border-bottom:none !important;
	}
}

.FormTable {
    display:table;
}
.FormTableRow {
    display:table-row;
}
.FormKoumoku {
    display:table-cell;
}
.FormValue {
    display:table-cell;
}
.entry-content table td {
    border-top: 1px solid rgba(186,186,186,.5);
    padding-top: .75rem;
   padding-bottom: .75rem;
}

/* ===============================
   販売物件 強制4列整列（HTML無改造）
================================ */

/* すべての estate-wrap を横並び化 */
.estate-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 24px !important;
}

/* ネストされた estate-wrap の影響を無効化 */
.estate-wrap .estate-wrap {
  display: contents !important;
}

/* estate-box を 強制4列幅に固定 */
.estate-box {
  width: calc(25% - 24px) !important; /* ✅ 常に4列 */
  max-width: 280px;
  min-width: 240px;
  box-sizing: border-box;
}

/* 画像の高さズレ防止 */
.estate-box .img img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}

/* ===============================
   レスポンシブ対応
================================ */

/* タブレット：2列 */
@media (max-width: 1100px) {
  .estate-box {
    width: calc(50% - 24px) !important;
  }
}

/* スマホ：1列 */
@media (max-width: 600px) {
  .estate-box {
    width: 100% !important;
  }
}
/* ===============================
   スマホ時：写真を95%幅に調整
================================ */
@media (max-width: 600px) {
  .estate-box .img {
    text-align: center;
  }

  .estate-box .img img {
    width: 95% !important;
    height: auto;
    margin: 0 auto;
    border-radius: 10px;
  }
}

/* ===============================
   物件と物件の区切り：点線
================================ */
@media (max-width: 600px) {
  .estate-box {
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px dotted #ccc;
  }

  /* 最後の物件だけ線を消す */
  .estate-box:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
}

/* ===============================
   スマホ時：写真を強制的に95%幅にする【最終確定版】
================================ */
@media (max-width: 600px) {

  /* 写真の親を95%に制限 */
  .estate-box .img {
    width: 95% !important;
    margin: 0 auto !important;
    text-align: center;
  }

  /* 画像本体も100%フィット */
  .estate-box .img img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
    border-radius: 12px;
  }

}
/* ===============================
   スマホ時：画像サイズを完全統一（横95%＋高さ固定）
================================ */
@media (max-width: 600px) {

  /* 写真の親を95%に固定 */
  .estate-box .img {
    width: 95% !important;
    margin: 0 auto 12px !important;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
  }

  /* 画像を強制トリミングして高さ統一 */
  .estate-box .img img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
    display: block !important;
  }
}
/* 販売物件一覧ボタン：親(.btn)をブロックにして中央寄せ（ボタン中身は触らない） */
body.top #estate .btn:has(> a[href="/contents/buy/"]) {
  flex: 0 0 100% !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  margin-top: 24px !important;
  float: none !important;
padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ボタン本体は自然幅のまま中央に */
body.top #estate .btn:has(> a[href="/contents/buy/"]) > a {
  display: inline-flex !important;
}

