@charset "utf-8";

/* =====================================================
--------------------------------------------------------
パンくず
--------------------------------------------------------
===================================================== */

.breadcrumb {
	margin-top: 48px;
}

@media screen and (min-width:1024px) {
	.breadcrumb {
		margin-top: 64px;
	}
}










/* =====================================================
--------------------------------------------------------
文字
--------------------------------------------------------
===================================================== */

/* 余白 */
p + p,
p + ul,
p + ol,
ul + p,
ul + ul,
ul + ol,
ol + p,
ol + ul,
ol + ol {
	margin-top: 1em;
}



/* 見出し */
.c--head02 {
	padding-left: 16px;
	border-left: 8px solid var(--color-housecom-blue);
}

.c--head03::before {
	display: inline-block;
	margin: 0 8px -2px 0;
	width: 6px;
	height: 16px;
	border: 2px solid var(--color-housecom-blue);
	border-top: none;
	border-bottom: none;
	content: '';
}

@media screen and (min-width:1024px) {
	.c--head03::before {
		height: 18px;
	}
}



/* ハウスコムフランチャイズ加盟店、及びクラスモフランチャイズ加盟店について */
.lp--fc-caution {
	position: relative;
	margin: 16px 0;
	font-size: 12px;
}









/* =====================================================
--------------------------------------------------------
ul/olリスト
--------------------------------------------------------
===================================================== */

.lp--ul-disc {
	list-style-type: disc;
}

.lp--ul-decimal {
	padding-left: 23px;
	list-style-type: decimal;
}








/* =====================================================
--------------------------------------------------------
もくじページ用
--------------------------------------------------------
===================================================== */

.lp--index hgroup {
	margin-bottom: 32px;
}

.lp--index hgroup h1 {
	margin-bottom: 16px;
}

@media screen and (min-width:1024px) {
	.lp--index hgroup {
		margin-bottom: 48px;
	}
}


/* リスト */
.lp--index ul {
	border-radius: 8px;
	border: 1px solid var(--color-grey-origin);
}

.lp--index ul:has(+ .lp--search) {
	margin-bottom: 32px;
}

.lp--index ul li:not(:last-of-type) {
	border-bottom: 1px solid var(--color-grey-origin);
}

.lp--index ul a {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 16px 32px;
	padding: 16px;
	overflow: hidden;
}

.lp--index ul div,
.lp--index ul dl {
	width: 100%;
}

.lp--index ul div img {
	width: 100%;
	max-width: 200px;
}

.lp--index ul dl dt {
	margin-bottom: 4px;
	color: var(--color-link-text);
	font-weight: bold;
	text-decoration: underline;
}

.lp--index_lead {
	display: block;
	margin-bottom: 4px;
	font-weight: bold;
}

@media (any-hover: hover) {
	.lp--index ul a:hover {
		opacity: 0.5;
	}
}

@media screen and (min-width:1024px) {
	.lp--index hgroup {
		margin-bottom: 48px;
	}
	.lp--index ul div {
		width: 200px;
	}
	.lp--index ul a {
		padding: 24px;
	}
	.lp--index ul div:has(img) + dl {
		width: calc(100% - 32px - 200px);
	}
}



/* 物件検索 */
.lp--index .lp--search h2 span {
	display: block;
}

.lp--index .lp--search .c--flex-1-3 a {
	width: calc((100% - 12px) / 2);
	padding: 60px 8px 16px 8px;
}

.lp--index .lp--search .c--flex-1-3 a:is(.u--icon-map) {
	display: none;
}

.lp--index .lp--search .c--flex-1-3 a::before,
.lp--index .lp--search .c--flex-1-3 a::after {
	top: 12px;
	left: 50%;
	translate: -50% 0;
	font-size: 32px;
	pointer-events: none;
}

@media screen and (min-width:1024px) {
	.lp--index .lp--search h2 span {
		display: inline-block;
		font-size: unset;
	}
	.lp--index .lp--search .c--flex-1-3 a {
		width: calc((100% - 12px * 2) / 3);
	}
	.lp--index .lp--search .c--flex-1-3 a:is(.u--icon-map) {
		display: flex;
	}
}









/* =====================================================
--------------------------------------------------------
物件検索
--------------------------------------------------------
===================================================== */

.lp--search {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lp--search > div {
	padding-top: 16px;
}

.lp--search h2 {
	margin-bottom: 24px;
	color: var(--color-link-text);
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}

.lp--search h3 {
	position: relative;
	margin-bottom: 20px;
	padding-left: 12px;
	font-size: 16px;
	font-weight: bold;
}

.lp--search h3::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background: var(--color-housecom-blue);
	content: '';
}

.lp--search .c--flex-1-3 {
	gap: 12px;
}

.lp--search .c--link-sub {
	flex-direction: column;
	padding: 0 0 4px;
	font-weight: bold;
}

.lp--search .c--flex-1-2 .c--link-sub {
	flex-direction: row;
	gap: 8px;
	padding: 8px 0;
}

.lp--search .c--link-sub > span:has(.path2) {
	font-size: 48px;
}

.lp--search .c--flex-1-2 .c--link-sub > span:has(.path2) {
	font-size: 28px
}

.lp--search .c--link-sub > span:not(:has(.path2)) {
	font-size: 14px;
}

.lp--search .c--link-sub > span:not(:has(.path2)) > span {
	display: inline-block;
	font-size: 12px;
	margin-left: 2px;
}

.lp--search .c--link-sub > span:not(:has(.path2)) > span span {
	display: none;
}

.lp--search .c--flex-1-3 .c--link-sub {
	width: calc((100% - 12px * 2) / 3);
}

.lp--search .c--flex-1-2 .c--link-sub {
	width: 100%;
}

.lp--search .c--flex-1-2 p {
	margin-bottom: 16px;
}

@media screen and (min-width:1024px) {
	.lp--search {
		gap: 50px;
	}
	.lp--search > div {
		padding: 32px 16px;
		border-radius: 8px;
		border: 2px solid var(--color-grey-pale);
	}
	.lp--search h2 {
		font-size: 24px;
	}
	.lp--search div:has(.c--flex-1-2) h2 {
		margin-bottom: 24px;
		padding-bottom: 24px;
		border-bottom: 1px solid var(--color-grey-pale);
	}
	.lp--search h2 span {
		font-size: 32px;
	}
	.lp--search h3 {
		padding: 0;
		text-align: center;
	}
	.lp--search h3::before {
		display: none;
	}
	.lp--search .c--link-sub.search-sp {
		display: none;
	}
	.lp--search .c--link-sub {
		padding: 16px;
	}
	.lp--search .c--link-sub > span:not(:has(.path2)) {
		font-size: 22px;
	}
	.lp--search .c--link-sub > span:not(:has(.path2)) > span {
		display: block;
		margin-left: 0;
		font-size: 16px;
	}
	.lp--search .c--link-sub > span:not(:has(.path2)) > span span {
		display: inline;
	}
	.lp--search .c--link-sub > span:has(.path2) {
		font-size: 32px;
	}
	.lp--search .c--flex-1-2 {
		position: relative;
	}
	.lp--search .c--flex-1-2 > li {
		padding: 16px;
	}
	.lp--search .c--flex-1-2 .c--link-sub {
		display: flex;
		flex-flow: row wrap;
		gap: 8px;
		width: 100%;
		max-width: 312px;
		margin: auto;
	}
	.lp--search .c--flex-1-2::after {
		position: absolute;
		left: 50%;
		bottom: 0;
		width: 1px;
		height: 100%;
		background: var(--color-grey-pale);
		content: '';
	}
}