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

	css/top.css

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

/* ----------------------------------------------------------------------------------------------------
	column
---------------------------------------------------------------------------------------------------- */
.column {
	}
	.column .inner {
		}
		.column .inner ul {
			display:flex;
			flex-wrap:wrap;
			gap:30px;
			margin:30px 0 0 0;
			list-style:none;
			}
			.column .inner ul li {
				width:calc((100% - 90px) / 4);
				}
				.column .inner ul li a {
					display:block;
					height:100%;
					}
					.column .inner ul li dl {
						display:flex;
						flex-direction:column;
						height:100%;
						}
						.column .inner ul li dl dt {
							position:relative;
							aspect-ratio:4 / 3;
							background:#ffffff;
							margin:0 0 15px 0;
							overflow:hidden;
							}
							.column .inner ul li 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;
								}
							.column .inner ul li a:hover dl dt img {
								transform:scale(1.3,1.3);
								transition:all 0.5s 0s ease;
								}
						.column .inner ul li dl dd:nth-of-type(1) {
							display:flex;
							align-items:flex-start;
							justify-content:space-between;
							text-align:left;
							margin:0 0 10px 0;
							}
							.column .inner ul li dl dd:nth-of-type(1) span {
								display:inline-block;
								color:#ffffff;
								text-align:center;
								padding:5px 20px;
								}
							.column .inner ul li dl dd:nth-of-type(1) span.category01 { background:#15116f; }
							.column .inner ul li dl dd:nth-of-type(1) span.category02 { background:#106e4c; }
							.column .inner ul li dl dd:nth-of-type(1) span.category03 { background:#de5253; }
							.column .inner ul li dl dd:nth-of-type(1) time {
								display:flex;
								align-items:center;
								color:#3b3b3b;
								}
						.column .inner ul li dl dd:nth-of-type(2) {
							flex:1;
							text-align:left;
							}
		.column .inner p.button {
			margin-top:30px;
			}

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

			.column .inner ul li {
				width:calc((100% - 30px) / 2);
				}

}

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

						.column .inner ul li dl dd:nth-of-type(1) {
							flex-direction:column;
							align-items:flex-start;
							justify-content:flex-start;
							text-align:left;
							margin:0 0 10px 0;
							}
							.column .inner ul li dl dd:nth-of-type(1) span {
								width:auto;
								text-align:left;
								margin:0 0 10px 0;
								}

}

/* ----------------------------------------------------------------------------------------------------
	works
---------------------------------------------------------------------------------------------------- */
.works {
	background:transparent url('../image/contents/top/works_bg01.jpg') center bottom / 100% auto no-repeat;
	}
	.works .inner {
		}
		.works .inner ul.works_list {
			display:flex;
			flex-direction:column;
			gap:50px;
			margin:30px 0 0 0;
			list-style:none;
			}
			.works .inner ul.works_list li {
				display:block;
				max-width:1200px;
				max-height:450px;
				aspect-ratio:8 / 3;
				}
				.works .inner ul.works_list li a {
					position:relative;
					display:block;
					width:100%;
					height:100%;
					overflow:hidden;
					}
				.works .inner ul.works_list li a::before {
					content:"";
					position:absolute;
					display:block;
					width:100%;
					height:100%;
					aspect-ratio:8 / 3;
					overflow:hidden;
					transition:all 0.5s 0s ease;
					}
				.works .inner ul.works_list li:nth-of-type(1) a::before { background:#ffffff url('../image/contents/top/works_photo01.jpg') center center / contain no-repeat; }
				.works .inner ul.works_list li:nth-of-type(2) a::before { background:#ffffff url('../image/contents/top/works_photo02.jpg') center center / contain no-repeat; }
				.works .inner ul.works_list li:nth-of-type(3) a::before { background:#ffffff url('../image/contents/top/works_photo03.jpg') center center / contain no-repeat; }
				.works .inner ul.works_list li:nth-of-type(4) a::before { background:#ffffff url('../image/contents/top/works_photo04.jpg') center center / contain no-repeat; }
				.works .inner ul.works_list li:nth-of-type(1) a:hover::before,
				.works .inner ul.works_list li:nth-of-type(2) a:hover::before,
				.works .inner ul.works_list li:nth-of-type(3) a:hover::before,
				.works .inner ul.works_list li:nth-of-type(4) a:hover::before {
					transform:scale(1.2,1.2);
					transition:all 0.5s 0s ease;
					}
					.works .inner ul.works_list li a dl {
						position:absolute;
						bottom:0;
						width:475px;
						height:215px;
						text-align:left;
						background:#ffffff;
						padding:40px 0;
						}
					.works .inner ul.works_list li:nth-of-type(odd) a dl 	{ left:0; padding-right:50px !important; }
					.works .inner ul.works_list li:nth-of-type(even) a dl 	{ right:0; padding-left:50px !important; }
						.works .inner ul.works_list li a dl dt {
							color:#15116f;
							font-size:30px;
							font-weight:bold;
							border-bottom:2px solid #15116f;
							padding:0 0 20px 0;
							}
						.works .inner ul.works_list li a dl dd {
							font-size:17px;
							padding:23px 0 0 0;
							}

@media screen and (max-width:1260px) {
.works {
	background:transparent url('../image/contents/top/works_bg01.jpg') center bottom / 100% auto no-repeat;
	}
}

@media screen and (max-width:1040px) {
		.works .inner ul.works_list {
			flex-direction:row;
			flex-wrap:wrap;
			gap:20px;
			}
			.works .inner ul.works_list li {
				width:calc((100% - 20px) / 2);
				max-width:initial;
				max-height:initial;
				aspect-ratio:auto;
				}
				.works .inner ul.works_list li a::before {
					position:relative;
					width:100%;
					height:auto;
					background-size:cover !important;
					aspect-ratio:8 / 3;
					}
					.works .inner ul.works_list li a dl {
						position:relative;
						width:100%;
						height:auto;
						padding:20px 0;
						}
					.works .inner ul.works_list li:nth-of-type(odd) a dl 	{ left:auto; padding-right:0 !important; }
					.works .inner ul.works_list li:nth-of-type(even) a dl 	{ right:auto; padding-left:0 !important; }
						.works .inner ul.works_list li a dl dt {
							padding:0 0 10px 0;
							}
						.works .inner ul.works_list li a dl dd {
							padding:13px 0 0 0;
							}
}

@media screen and (max-width:900px) {
			.works .inner ul.works_list li {
				width:100%;
				}
					.works .inner ul.works_list li a dl {
						padding:20px 0;
						}
						.works .inner ul.works_list li a dl dt {
							padding:0 0 10px 0;
							}
						.works .inner ul.works_list li a dl dd {
							padding:10px 0 0 0;
							}
}

@media screen and (max-width:640px) {
						.works .inner ul.works_list li a dl dt {
							font-size:20px;
							}
						.works .inner ul.works_list li a dl dd {
							font-size:14px;
							}
}

		.works .inner article {
			background:transparent url('../image/contents/top/works_bg01.jpg') center bottom / 100% auto no-repeat;
			margin:0 calc(-50vw + 50%);
			padding:75px 0 0 0;
			transition:none;
			}
			.works .inner article h3 {
				display:block !important;
				width:100% !important;
				font-size:35px !important;
				font-weight:bold !important;
				text-align:center !important;
				line-height:1.6 !important;
				white-space:pre-wrap;
				word-break:keep-all;
				margin:0 auto !important;
				padding:0 20px;
				transition:none;
				}
			.works .inner article h3::after {
				display:none !important;
				transition:none;
				}
			.works .inner article .container {
				position:relative;
				width:100%;
				max-width:1200px;
				margin:0 auto;
				padding:0 0 95px 0;
				transition:none;
				}
			.works .inner article .container::before,
			.works .inner article .container::after {
				content:"";
				position:absolute;
				bottom:0;
				display:block;
				z-index:111;
				transition:none;
				}
			.works .inner article .container::before {
				left:10px;
				width:206px;
				height:236px;
				background:transparent url('../image/contents/top/works_illust06.png') center top / 100% 100% no-repeat;
				transition:none;
				}
			.works .inner article .container::after {
				right:10px;
				width:203px;
				height:225px;
				background:transparent url('../image/contents/top/works_illust07.png') center top / 100% 100% no-repeat;
				transition:none;
				}
				.works .inner article .container ul {
					display:flex;
					flex-direction:row;
					gap:2px;
					list-style:none;
					margin:40px 0 0 0;
					transition:none;
					}
					.works .inner article .container ul li {
						width:calc((100% - 8px) / 5);
						font-weight:bold;
						text-align:center;
						border-left:2px dotted #cecece;
						padding:10px 0 7px 0;
						transition:none;
						}
					.works .inner article .container ul li::before {
						content:"";
						display:block;
						max-width:200px;
						max-height:140px;
						margin:0 auto 10px auto;
						aspect-ratio:10 / 7;
						transition:none;
						image-rendering:-webkit-optimize-contrast;
						image-rendering:crisp-edges;
						/*
						-ms-interpolation-mode:nearest-neighbor;
						image-rendering:pixelated;
						*/
						}
					.works .inner article .container ul li:nth-of-type(1) { border:none; }
					.works .inner article .container ul li:nth-of-type(1)::before { background:transparent url('../image/contents/top/works_illust01.png') center bottom / contain no-repeat; }
					.works .inner article .container ul li:nth-of-type(2)::before { background:transparent url('../image/contents/top/works_illust02.png') center bottom / contain no-repeat; }
					.works .inner article .container ul li:nth-of-type(3)::before { background:transparent url('../image/contents/top/works_illust03.png') center bottom / contain no-repeat; }
					.works .inner article .container ul li:nth-of-type(4)::before { background:transparent url('../image/contents/top/works_illust04.png') center bottom / contain no-repeat; }
					.works .inner article .container ul li:nth-of-type(5)::before { background:transparent url('../image/contents/top/works_illust05.png') center bottom / contain no-repeat; }
				.works .inner article .container p.stand_out_text {
					position:relative;
					color:#de5253;
					font-size:clamp(40px,3.174vw,50px);
					font-weight:bold;
					line-height:1.35;
					text-align:center;
					text-shadow:4px 4px 0px #ffffff,
								-4px 4px 0px #ffffff,
								4px -4px 0px #ffffff,
								-4px -4px 0px #ffffff,
								4px 0px 0px #ffffff,
								0px 4px 0px #ffffff,
								-4px 0px 0px #ffffff,
								0px -4px 0px #ffffff;
					margin:60px auto 0 auto;
					z-index:555;
					transition:none;
					}

@media screen and (max-width:1260px) {
				.works .inner article .container ul {
					flex-wrap:wrap;
					justify-content:center;
					width:720px;
					margin:40px auto 0 auto;
					}
					.works .inner article .container ul li:nth-of-type(1),
					.works .inner article .container ul li:nth-of-type(2),
					.works .inner article .container ul li:nth-of-type(3),
					.works .inner article .container ul li:nth-of-type(4),
					.works .inner article .container ul li:nth-of-type(5) {
						width:calc((100% - 4px) / 3);
						}
					.works .inner article .container ul li:nth-of-type(4),
					.works .inner article .container ul li:nth-of-type(5) {
						margin:20px 0 0 0;
						}
					.works .inner article .container ul li:nth-of-type(4) {
						border:none;
						}
}

@media screen and (max-width:900px) {
			.works .inner article h3 {
				font-size:clamp(30px,4.166vw,35px) !important;
				}
			.works .inner article .container::before {
				width:clamp(154px,21.388vw,206px);
				height:clamp(177px,24.583vw,236px);
				}
			.works .inner article .container::after {
				width:clamp(152px,21.111vw,203px);
				height:clamp(169px,23.472vw,225px);
				}
				.works .inner article .container p.stand_out_text {
					font-size:clamp(35px,4.861vw,40px);
					text-shadow:3px 3px 0px #ffffff,
								-3px 3px 0px #ffffff,
								3px -3px 0px #ffffff,
								-3px -3px 0px #ffffff,
								3px 0px 0px #ffffff,
								0px 3px 0px #ffffff,
								-3px 0px 0px #ffffff,
								0px -3px 0px #ffffff;
					}
}

@media screen and (max-width:720px) {
		.works .inner article {
			padding:50px 0 0 0;
			}
			.works .inner article h3 {
				font-size:clamp(20px,4.166vw,30px) !important;
				}
			.works .inner article .container::before {
				left:-50px;
				width:clamp(123px,19.218vw,154px);
				height:clamp(141px,22.031vw,177px);
				}
			.works .inner article .container::after {
				right:-50px;
				width:clamp(121px,18.906vw,152px);
				height:clamp(135px,21.093vw,169px);
				}
				.works .inner article .container ul {
					flex-direction:column;
					gap:2px;
					width:100%;
					}
					.works .inner article .container ul li {
						position:relative;
						display:flex;
						/*justify-content:center;*/
						gap:20px;
						width:100% !important;
						text-align:left;
						border-left:none;
						border-bottom:2px dotted #cecece !important;
						margin:0 !important;
						padding:20px;
						}
					.works .inner article .container ul li::before {
						content:"";
						display:block;
						width:100%;
						height:100%;
						width:150px;
						height:105px;
						background-position:center center !important;
						margin:0;
						}
					.works .inner article .container ul li:nth-of-type(1) {
						border-top:2px dotted #cecece;
						border-bottom:2px dotted #cecece;
						}
						.works .inner article .container ul li p {
							width:calc(100% - 210px);
							}
				.works .inner article .container p.stand_out_text {
					font-size:clamp(20px,6.25vw,35px);
					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;
					}
}

/* ----------------------------------------------------------------------------------------------------
	contact
---------------------------------------------------------------------------------------------------- */
.contact {
	position:relative;
	width:100%;
	margin:50px auto 20px auto;
	}
.contact::before {
	content:"";
	position:absolute;
	top:calc((100% - 2px) / 2);
	display:block;
	width:100%;
	border-bottom:2px solid #15116f;
	}

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

.contact {
	margin:50px auto 0 auto;
	}
	.contact .button {
		width:calc(100% - 40px);
		}

}

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

.contact {
	margin:30px auto 0 auto;
	}

}

/* ----------------------------------------------------------------------------------------------------
	featured properties
---------------------------------------------------------------------------------------------------- */
.featured_properties {
	}
	.featured_properties .inner {
		}
		.featured_properties .inner article {
			padding:50px 0 0 0;
			}
		.featured_properties .inner article.pist_db1 {
			}
		.featured_properties .inner article.pist_db2 {
			}
			.featured_properties .inner article h3 {
				position:relative;
				display:block;
				color:#15116f;
				font-size:30px;
				font-weight:bold;
				text-align:left;
				line-height:30px;
				background:#ffffff;
				}
			.featured_properties .inner article h3::before {
				content:"";
				position:absolute;
				top:calc(100% / 2);
				right:0;
				display:block;
				width:calc(100% - 5em);
				border-bottom:1px solid #15116f;
				}
			.featured_properties .inner article ul {
				display:flex;
				flex-wrap:wrap;
				gap:30px;
				margin:30px 0 0 0;
				list-style:none;
				}
				.featured_properties .inner article ul li {
					width:calc((100% - 90px) / 4);
					margin:0 0 10px 0;
					}
					.featured_properties .inner article ul li a {
						display:block;
						height:100%;
						background:#edf2f5;
						}
						.featured_properties .inner article ul li a dl {
							display:flex;
							flex-direction:column;
							height:100%;
							}
							.featured_properties .inner article ul li a dl dt {
								position:relative;
								aspect-ratio:4 / 3;
								background:#ffffff;
								overflow:hidden;
								}
								.featured_properties .inner article ul 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;
									}
								.featured_properties .inner article ul li a:hover dl dt img {
									transform:scale(1.3,1.3);
									transition:all 0.5s 0s ease;
									}
							.featured_properties .inner article ul li a dl dd {
								position:relative;
								flex:1;
								text-align:left;
								padding:25px 20px 40px 20px;
								}
								.featured_properties .inner article ul 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;
									}
								.featured_properties .inner article.pist_db1 ul li a dl dd p.type { background:#b8b8d4; }
								.featured_properties .inner article.pist_db2 ul li a dl dd p.type { background:#8fbbae; }
								.featured_properties .inner article ul 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;
									}
									.featured_properties .inner article ul li a dl dd p.price span {
										font-size:25px;
										}
								.featured_properties .inner article ul li a dl dd p.size {
									color:#437062;
									font-size:17px;
									font-weight:bold;
									}
								.featured_properties .inner article ul li a dl dd p.address {
									font-weight:bold;
									margin:0 0 10px 0;
									}
								.featured_properties .inner article ul li a dl dd p.comment {
									display:-webkit-box;
									-webkit-line-clamp:2;
									-webkit-box-orient:vertical;
									overflow:hidden;
									}
			.featured_properties .inner article p.button {
				margin-top:30px;
				}

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

			.featured_properties .inner article ul {
				gap:20px;
				margin:20px 0 0 0;
				}
				.featured_properties .inner article ul li {
					width:calc((100% - 20px) / 2);
					}

}

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

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

}





