@charset "utf-8";
/* ====================================================================================================

	estate.css

==================================================================================================== */

/* ----------------------------------------------------------------------------------------------------
	search
---------------------------------------------------------------------------------------------------- */
.search {
	width:100%;
	margin: 50px 0 90px;
}
.search .search_box {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	margin-bottom: 50px;
}
@media (max-width:768px) {
	.search .search_box {
		grid-template-columns: auto;
		gap: 30px;
	}
}
.search .areamap img {
	width:100%;
	max-width: 600px;
	height:auto;
}
.search .search_block .subject {
	position:relative;
	display:block;
	color:#15116f;
	font-size:20px;
	box-sizing:border-box;
	text-align:left;
	background:#ffffff;
	margin-bottom: 1em;
}
.search .search_block .subject::before {
	content:"";
	position:absolute;
	top:calc(100% / 2);
	right:0;
	display:block;
	border-bottom:1px solid #15116f;
}
.search .search_block .subject:nth-of-type(1):before { width:calc(100% - 7.5em); }
.search .search_block .subject:nth-of-type(2):before { width:calc(100% - 4.5em); }

.search .search_block ul.tile01 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	list-style: none;
	margin-bottom: 40px;
}
.search .search_block ul.tile01 li {	
	width:100%;
	text-align:left;
}
.search .search_block ul.tile01 li label {
	display:block;
	width:100%;
	text-indent:-4.55em;
	text-decoration:none;
	box-sizing:border-box;
	background:#edf2f5;
	padding:7px 10px 5px 4.55em;
	cursor: pointer;
}
.search .search_block ul.tile01 li label:hover {
	box-sizing:border-box;
	background:#d0d7db;
}
.search .search_block ul.tile01 li label input {
	margin:-2px 10px 0 12px;
}
.search .search_block ul.tile01 li label b {
	display:inline-block;
	font-size:15px;
	font-weight:bold;
	vertical-align:middle;
	margin:0 -43px 0 63px;
}
.search .search_block ul.tile01 li label b.color01 { color:#e15759; }
.search .search_block ul.tile01 li label b.color02 { color:#e15759; }
.search .search_block ul.tile01 li label b.color03 { color:#e15759; }
.search .search_block ul.tile01 li label b.color04 { color:#f28e2b; }
.search .search_block ul.tile01 li label b.color05 { color:#59a14f; }
.search .search_block ul.tile01 li label b.color06 { color:#c86593; }
.search .search_block ul.tile01 li label b.color07 { color:#4e79a7; }
.search .search_block ul.tile01 li label b.color08 { color:#c8af37; }

.search .search_block .gakkus {
	text-align:left;
}
.search .search_block .gakkuc {
	text-align:left;
	margin-top:10px;
}
@media (max-width:500px) {
	.search .search_block .gakkus select,
	.search .search_block .gakkuc select {
		width: 100%;
		max-width: 500px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
.search .search_block .gakku_button {
	text-align:left;
	margin-top:20px;
}
.search .search_block .gakku_button a {
	position:relative;
	display:inline-block;
	color:#232323;
	text-decoration:none;
	box-sizing:border-box;
	background:#efefef;
	border:solid 3px #efefef;
	padding:5px 30px 5px 20px;
}
.search .search_block .gakku_button a:hover {
	background:#ffffff;
}
.search .search_block .gakku_button a:before {
	content:"＞";
	position:absolute;
	right:10px;
	font-size:9px;
}
/*
#gakku {
	padding:30px;
}
#gakku .subject {
	position:relative;
	color:#009944;
	font-size:20px;
	box-sizing:border-box;
	border-top:solid 1px #009944;
	margin:11px 0 25px 0;
	padding:0 0 5px 0;
}
#gakku .subject:nth-of-type(2) {
	margin:50px 0 25px 0;
}
#gakku .subject strong {
	position:absolute;
	top:-16px;
	left:50%;
	display:inline-block;
	box-sizing:border-box;
	background:#ffffff;
	margin-left:calc((-3em) - 10px);
	padding:0 10px;
}
*/
.search .button button.search_clear {
	background:#6e6caf;
}
.search .button button.search_clear:hover {
	background:#565396;
}

@media (max-width:768px) {
	.search .button {
		display: block;
		text-align: center;
	}
	.search .button button[type="submit"],
	.search .button button.search_clear {
		margin: 24px auto;
	}
}

/* ----------------------------------------------------------------------------------------------------
	list
---------------------------------------------------------------------------------------------------- */
.list {
	}
	.list .inner {
		}
		.list .inner .hit {
			text-align:right;
			margin:30px 0 -20px 0;
			}
		.list .inner .not_found {
			color:#de5253;
			text-align:center;
			margin:50px 0 0 0;
			}
		.list .inner ul.list_items {
			display:flex;
			flex-wrap:wrap;
			gap:30px;
			margin:50px 0 0 0;
			list-style:none;
			}
			.list .inner ul.list_items li {
				width:calc((100% - 90px) / 4);
				margin:0 0 10px 0;
				}
				.list .inner ul.list_items li a {
					display:block;
					height:100%;
					background:#edf2f5;
					}
					.list .inner ul.list_items li a dl {
						display:flex;
						flex-direction:column;
						height:100%;
						}
						.list .inner ul.list_items li a dl dt {
							position:relative;
							aspect-ratio:4 / 3;
							background:#ffffff;
							overflow:hidden;
							}
							.list .inner ul.list_items li a dl dt img {
								position:absolute;
								top:0;
								right:0;
								bottom:0;
								left:0;
								width:100%;
								height:100%;
								/*object-fit:contain;*/
								object-fit:cover;
								margin:auto;
								transition:all 0.5s 0s ease;
								}
							.list .inner ul.list_items li a:hover dl dt img {
								transform:scale(1.3,1.3);
								transition:all 0.5s 0s ease;
								}
						.list .inner ul.list_items li a dl dd {
							position:relative;
							flex:1;
							text-align:left;
							padding:25px 20px 40px 20px;
							}
							.list .inner ul.list_items li a dl dd p.type {
								position:absolute;
								bottom:-10px;
								display:block;
								width:calc(100% - 40px);
								color:#ffffff;
								font-size:17px;
								font-weight:bold;
								text-align:center;
								line-height:34px;
								}
							#pist_db1 .list ul.list_items li a dl dd p.type { background:#b8b8d4; }
							#pist_db2 .list ul.list_items li a dl dd p.type { background:#8fbbae; }
							.list .inner ul.list_items li a dl dd p.price {
								position:absolute;
								top:-23px;
								left:20px;
								color:#ec253c;
								font-size:35px;
								font-weight:bold;
								line-height:100%;
								letter-spacing:1;
								text-shadow:2px 2px 0px #ffffff,
											-2px 2px 0px #ffffff,
											2px -2px 0px #ffffff,
											-2px -2px 0px #ffffff,
											2px 0px 0px #ffffff,
											0px  2px 0px #ffffff,
											-2px 0px 0px #ffffff,
											0px -2px 0px #ffffff;
								}
								.list .inner ul.list_items li a dl dd p.price span {
									font-size:25px;
									}
							.list .inner ul.list_items li a dl dd p.size {
								color:#437062;
								font-size:17px;
								font-weight:bold;
								}
							.list .inner ul.list_items li a dl dd p.address {
								font-weight:bold;
								margin:0 0 10px 0;
								}
							.list .inner ul.list_items li a dl dd p.comment {
								display:-webkit-box;
								-webkit-line-clamp:2;
								-webkit-box-orient:vertical;
								overflow:hidden;
								}

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

		.list .inner ul.list_items {
			gap:20px;
			}
			.list .inner ul.list_items li {
				width:calc((100% - 20px) / 2);
				}

}

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

	.list {
		padding:30px 0 0 0;
		}
		.list .inner ul.list_items {
			gap:20px;
			}
						.list .inner ul.list_items li a dl dd {
							padding:25px 20px 35px 20px;
							}
							.list .inner ul.list_items li a dl dd p.type {
								font-size:14px;
								line-height:30px;
								}
							.list .inner ul.list_items li a dl dd p.price {
								top:-13px;
								font-size:23px;
								line-height:100%;
								}
								.list .inner ul.list_items li a dl dd p.price span {
									font-size:14px;
									}

}


/* ----------------------------------------------------------------------------------------------------
	detail
---------------------------------------------------------------------------------------------------- */
.detail {
	}
	.detail .inner {
		}
		.detail .inner .detail_head {
			margin:50px 0 0 0;
			}
			.detail .inner .detail_head .type_block {
				display:flex;
				justify-content:space-between;
				}
				.detail .inner .detail_head .type_block .type01,
				.detail .inner .detail_head .type_block .type02 {
					display:inline-block;
					color:#ffffff;
					font-size:17px;
					padding:5px 30px;
					}
				.detail .inner .detail_head .type_block .type01 { background:#b8b8d4; }
				.detail .inner .detail_head .type_block .type02 { background:#8fbbae; }
				.detail .inner .detail_head .type_block .update {
					display:inline-block;
					font-size:13px;
					background:#dddddd;
					padding:10px 30px 0 30px;
					}
			.detail .inner .detail_head .comment {
				display:block;
				font-size:25px;
				text-align:left;
				border-bottom:1px solid #cccccc;
				margin:20px 0;
				padding:0 0 10px 0;
				}
			.detail .inner .detail_head .heading_block {
				display:flex;
				flex-wrap:wrap;
				gap:10px;
				}
				.detail .inner .detail_head .heading_block dl {
					display:flex;
					flex-wrap:wrap;
					margin:0 10px 0 0;
					}
					.detail .inner .detail_head .heading_block dl dt {
						display:inline-block;
						color:#ffffff;
						font-size:17px;
						text-align:center;
						line-height:1;
						background:#14116e;
						margin-right:0.5em;
						padding:8px;
						}
					.detail .inner .detail_head .heading_block dl dd {
						color:#14116e;
						font-size:20px;
						font-weight:bold;
						}
			.detail .inner .detail_head .address {
				display:block;
				font-size:20px;
				text-align:left;
				margin:10px 0 0 0;
				}

/* photoarea */
		.detail .inner ul.main_photo {
			display:flex;
			width:100%;
			justify-content:space-between;
			margin:30px auto 0 auto;
			list-style:none;
			}
			.detail .inner ul.main_photo li {
				position:relative;
				display:block;
				width:calc((100% - 30px) / 2);
				aspect-ratio:4 / 3;
				background:#ffffff;
				overflow:hidden;
				}
				.detail .inner ul.main_photo li a {
					display:block;
					width:100%;
					height:100%;
					}
					.detail .inner ul.main_photo li a img {
						position:absolute;
						top:0;
						right:0;
						bottom:0;
						left:0;
						width:100%;
						height:100%;
						/*object-fit:contain;*/
						object-fit:cover;
						margin:auto;
						transition:all 0.5s 0s ease;
						}
					.detail .inner ul.main_photo li a:hover img {
						transform:scale(1.3,1.3);
						transition:all 0.5s 0s ease;
						}

					.detail .inner .alart {
						font-size:15px;
						background-color:#dddddd;
						margin:30px 0 0 0;
						padding:15px;
						}

		.detail .inner ul.sub_photo {
			display:flex;
			flex-wrap:wrap;
			gap:20px;
			width:100%;
			background:#f4f4f4;
			margin:30px auto 0 auto;
			padding:20px;
			list-style:none;
			}
			.detail .inner ul.sub_photo li {
				position:relative;
				display:block;
				width:calc((100% - 100px) / 6);
				aspect-ratio:4 / 3;
				background:#ffffff;
				overflow:hidden;
				}
				.detail .inner ul.sub_photo li a {
					display:block;
					width:100%;
					height:100%;
					}
					.detail .inner ul.sub_photo li a img {
						position:absolute;
						top:0;
						right:0;
						bottom:0;
						left:0;
						width:100%;
						height:100%;
						/*object-fit:contain;*/
						object-fit:cover;
						margin:auto;
						transition:all 0.5s 0s ease;
						}
					.detail .inner ul.sub_photo li a:hover img {
						transform:scale(1.3,1.3);
						transition:all 0.5s 0s ease;
						}

/*
.sub-photo .more_button {
background: #fff;
border: 2px solid #1f2c5c;
border-radius: 100px;
padding: 15px 50px;
display: flex;
align-items: center;
justify-content: center;
gap: 30px;
max-width: 330px;
position: relative;
margin: 0 auto;
transition: all .3s;
color:#1f2c5c;
font-size: clamp(14px, 1.8vw, 16px);
font-weight: normal;
}
.sub-photo .more_button:hover {
background: #1f2c5c;
color: #fff;
}

.sub-photo .more-photo {
display:none;
}

/* favbuttons
.detail_button {
width:100%;
display:flex;
justify-content:space-between;
margin:30px 0;
}
*/


/* table */
		.detail .inner table {
			width:100%;
			text-align:left;
			border:1px solid #7e7cb8;
			margin:30px auto 0 auto;
			}
			.detail .inner table tbody {
				}
				.detail .inner table tbody tr {
					}
					.detail .inner table tbody tr th,
					.detail .inner table tbody tr td {
						text-align:left;
						border-bottom:1px solid #7e7cb8;
						border-right:1px solid #7e7cb8;
						padding:20px;
						}
					.detail .inner table tbody tr th {
						background:#e0e1f2;
						}
					.detail .inner table tbody tr td {
						background:#ffffff;
						}

/* youtube */
		.detail .inner .youtube {
			width:100%;
			aspect-ratio:16 / 9;
			border:none;
			margin:30px auto 0 auto;
			}
			.detail .inner .youtube iframe {
				width:100%;
				height:100%;
				}

/* theta */
		.detail .inner .theta {
			width:100%;
			aspect-ratio:73 / 25;
			margin:23px auto 0 auto;
			}

/* gmap */
		.detail .inner .gmap {
			width:100%;
			aspect-ratio:12 / 5;
			margin:30px auto 0 auto;
			}
			.detail .inner .gmap iframe {
				width:100%;
				height:100%;
				}

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

			.detail .inner ul.main_photo li {
				width:calc((100% - 20px) / 2);
				}

}

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

				.detail .inner .detail_head .type_block .update {
					font-size:13px;
					}
			.detail .inner .detail_head .comment {
				font-size:20px;
				}
			.detail .inner ul.sub_photo li {
				width:calc((100% - 40px) / 3);
				}

		.detail .inner table {
			display:block;
			border:2px solid #7e7cb8;
			}
			.detail .inner table tbody {
				display:block;
				width:100%;
				}
				.detail .inner table tbody tr {
					display:flex;
					flex-direction:column;
					width:100%;
					}
					.detail .inner table tbody tr th,
					.detail .inner table tbody tr td {
						display:block;
						width:100%;
						border:none;
						}
					.detail .inner table tbody tr th {
						padding:10px 20px;
						}
					.detail .inner table tbody tr td {
						border-top:2px solid #7e7cb8;
						border-bottom:2px solid #7e7cb8;
						}
					.detail .inner table tbody tr:nth-of-type(1) th {
						border-top:none;
						}
					.detail .inner table tbody tr:nth-last-of-type(1) td {
						border-bottom:none;
						}

}