/* ==========================================================================
   Page: Real Estate
   ========================================================================== */

.realestate-page {
	width: 100%;
}

/* ==========================================================================
   Section: Real Estate Search
   ========================================================================== */

.realestate-search {
	--realestate-search-inner-width: 1200px;
	--realestate-search-side-gutter: 0px;
	--realestate-search-padding-top: min(12.5vw, 150px);
	--realestate-search-padding-bottom: min(12.5vw, 150px);
	--realestate-search-list-top: min(4.1667vw, 50px);
	--realestate-search-list-gap: min(3.3333vw, 40px);
	--realestate-search-link-height: min(10vw, 120px);
	--realestate-search-link-padding-left: min(1.6667vw, 20px);
	--realestate-search-link-padding-right: min(1vw, 12px);
	--realestate-search-link-font-size: min(1.6667vw, 20px);
	--realestate-search-icon-size: min(3.3333vw, 40px);
	--realestate-search-icon-font-size: 13px;
	--c-lower-section-heading-title-size: min(3.3333vw, 40px);
	--c-lower-section-heading-label-size: min(1.3333vw, 16px);

	padding: var(--realestate-search-padding-top) 0 var(--realestate-search-padding-bottom);
	background: #edf4fa;
}

.realestate-search__inner {
	width: min(calc(100% - (var(--realestate-search-side-gutter) * 2)), var(--realestate-search-inner-width));
	margin-inline: auto;
}

.realestate-search__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--realestate-search-list-gap);
	margin-top: var(--realestate-search-list-top);
}

.realestate-search__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-width: 0;
	min-height: var(--realestate-search-link-height);
	padding: 12px var(--realestate-search-link-padding-right) 12px var(--realestate-search-link-padding-left);
	border: 1px solid var(--color-link-blue);
	background: #fff;
	color: #1d1d1d;
	text-decoration: none;
}

.realestate-search__link-text {
	min-width: 0;
	font-size: var(--realestate-search-link-font-size);
	font-feature-settings: "palt";
	font-weight: 700;
	line-height: 1.54;
	letter-spacing: 0;
}

.realestate-search__icon {
	display: grid;
	flex: 0 0 var(--realestate-search-icon-size);
	place-items: center;
	width: var(--realestate-search-icon-size);
	height: var(--realestate-search-icon-size);
	margin-left: 10px;
	border-radius: 50%;
	background: var(--color-link-blue);
	color: #fff;
	font-family: var(--font-en);
	font-size: var(--realestate-search-icon-font-size);
	font-weight: 700;
	line-height: 1;
	transition: background-color 0.45s ease;
}

.realestate-search__link:hover .realestate-search__icon,
.realestate-search__link:focus-visible .realestate-search__icon {
	background-color: #1d1d1d;
}

/* ==========================================================================
   Section: Real Estate FAQ
   ========================================================================== */

.realestate-faq {
	--realestate-faq-padding-bottom: min(10.8333vw, 130px);
	--lower-faq-padding-bottom: var(--realestate-faq-padding-bottom);
}

@media (max-width: 1200px) {
	.realestate-search {
		--realestate-search-side-gutter: min(4.1667vw, 50px);
		--realestate-search-link-font-size: clamp(17px, 1.6667vw, 20px);
		--realestate-search-icon-size: clamp(32px, 3.3333vw, 40px);
	}
}

@media (max-width: 600px) {
	.realestate-page .c-lower-kv__image img {
		left: calc(50% - 28px);
	}

	.realestate-search {
		--realestate-search-side-gutter: 20px;
		--realestate-search-padding-top: 70px;
		--realestate-search-padding-bottom: 70px;
		--realestate-search-list-top: 24px;
		--realestate-search-list-gap: 20px 15px;
		--realestate-search-link-height: 80px;
		--realestate-search-link-padding-left: 12px;
		--realestate-search-link-padding-right: 12px;
		--realestate-search-link-font-size: 17px;
		--realestate-search-icon-size: 32px;
		--realestate-search-icon-font-size: 13px;
		--c-lower-section-heading-title-size-sp: 23px;
		--c-lower-section-heading-label-size-sp: 10px;
	}

	.realestate-search__inner {
		width: calc(100% - 40px);
		max-width: 500px;
	}

	.realestate-search__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: min(100%, 335px);
	}

	.realestate-faq {
		--realestate-faq-padding-bottom: 60px;
	}
}
