@charset "UTF-8";

/* ========================================
Estate Hero — ラベル行
======================================== */
.estate-hero__label-row {
	display: flex;
	align-items: center;
	gap: 40px;
}

.estate-hero__operator {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	font-size: 20px;
	line-height: 1.6;
	color: #000;
}

/* ========================================
Estate About
======================================== */
.estate-about .sns-about__heading-ja {
	font-size: 56px;
}

.estate-about__watermark {
	right: 0;
	top: 52px;
	bottom: auto;
	width: 420px;
	height: 420px;
}

.estate-about__logo {
	margin-top: 64px;
}

.estate-about__logo img {
	width: 775px;
	height: 153px;
	object-fit: contain;
}

.estate-about__desc {
	margin-top: 64px;
	font-size: 20px;
	line-height: 2.2;
	color: #000;
}

.estate-about__desc p {
	margin-bottom: 44px;
}

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

.estate-about__photo {
	margin-top: 64px;
}

.estate-about__photo img {
	width: 100%;
	height: 405px;
	object-fit: cover;
}

/* ========================================
Estate Services（賃貸・売買）
======================================== */
.estate-services {
	position: relative;
	padding: 136px 0;
}

.estate-services__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.estate-services__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.estate-services__bg-overlay {
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 0.7);
}

.estate-services__container {
	position: relative;
	z-index: 1;
}

.estate-services__list {
	margin-top: 64px;
}

.estate-services__item {
	margin-bottom: 64px;
}

.estate-services__item:last-child {
	margin-bottom: 0;
}

.estate-services__item-logo {
	text-align: center;
	margin-bottom: 16px;
}

.estate-services__item-logo img {
	width: 440px;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
}

.estate-services__card {
	display: flex;
	align-items: stretch;
	background: #fff;
	position: relative;
}

.estate-services__card-photo {
	width: 330px;
	flex-shrink: 0;
	box-shadow: 6px 0 16px rgba(0, 0, 0, 0.12);
}

.estate-services__card-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.estate-services__card-body {
	flex: 1;
	padding: 40px 64px;
	min-width: 0;
}

.estate-services__card-num {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-style: italic;
	font-size: 64px;
	line-height: 1.2;
	letter-spacing: 5.12px;
	color: #e6e6e6;
}

.estate-services__card-title {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
	font-size: 36px;
	line-height: 1.2;
	letter-spacing: 2.88px;
	color: #000;
	margin-top: -32px;
	position: relative;
}

.estate-services__card-feature {
	font-size: 24px;
	line-height: 1.6;
	color: #000;
	margin-top: 24px;
}

.estate-services__card-list {
	margin-top: 8px;
	font-size: 16px;
	line-height: 1.8;
	color: #000;
}

.estate-services__card-links {
	display: flex;
	gap: 40px;
	justify-content: flex-end;
	margin-top: 24px;
}

.estate-services__external-link {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	line-height: 1.6;
	color: #000;
	text-decoration: underline;
}

.estate-services__external-link img {
	width: 33px;
	height: 33px;
}

.estate-services__card-arrow {
	position: absolute;
	right: -10px;
	top: 273px;
	width: 62px;
	height: 62px;
}

.estate-services__card-arrow img {
	width: 100%;
	height: 100%;
}

.estate-services__note {
	margin-top: 64px;
	font-size: 16px;
	line-height: 1.6;
	color: #000;
}

/* ========================================
Responsive — Tablet (1200px以下)
======================================== */
@media (max-width: 1200px) {
	.estate-about .sns-about__heading-ja {
		font-size: 36px;
	}

	.estate-about__logo img {
		width: 100%;
		height: auto;
	}

	.estate-services__card-photo {
		width: 260px;
	}

	.estate-services__card-body {
		padding: 32px 40px;
	}

	.estate-services__card-num {
		font-size: 48px;
	}

	.estate-services__card-title {
		font-size: 28px;
		margin-top: -24px;
	}
}

/* ========================================
Responsive — SP (767px以下)
======================================== */
@media (max-width: 767px) {
	.estate-about .sns-about__heading-ja {
		font-size: 22px;
	}

	.estate-hero__label-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.estate-hero__operator {
		font-size: 14px;
	}

	.estate-about__watermark {
		width: 200px;
		height: 200px;
		top: 20px;
	}

	.estate-about__logo {
		margin-top: 32px;
	}

	.estate-about__logo img {
		width: 100%;
		height: auto;
	}

	.estate-about__desc {
		margin-top: 32px;
		font-size: 15px;
		line-height: 2;
	}

	.estate-about__desc p {
		margin-bottom: 20px;
	}

	.estate-about__photo {
		margin-top: 32px;
	}

	.estate-about__photo img {
		height: 240px;
	}

	/* --- Services SP --- */
	.estate-services {
		padding: 64px 0;
	}

	.estate-services__list {
		margin-top: 32px;
	}

	.estate-services__item {
		margin-bottom: 64px;
	}

	.estate-services__item-logo img {
		width: 280px;
	}

	.estate-services__card {
		flex-direction: column;
	}

	.estate-services__card-photo {
		width: 100%;
		height: 200px;
		box-shadow: none;
	}

	.estate-services__card-body {
		padding: 24px 20px;
	}

	.estate-services__card-num {
		font-size: 36px;
	}

	.estate-services__card-title {
		font-size: 24px;
		margin-top: -20px;
	}

	.estate-services__card-feature {
		font-size: 18px;
		margin-top: 16px;
	}

	.estate-services__card-list {
		font-size: 14px;
	}

	.estate-services__card-links {
		flex-direction: column;
		gap: 12px;
		margin-top: 16px;
	}

	.estate-services__external-link img {
		width: 24px;
		height: 24px;
	}

	.estate-services__card-arrow {
		top: auto;
		bottom: -38px;
	}

	.estate-services__note {
		margin-top: 32px;
		font-size: 13px;
	}
}
