/*------制作メモ------

 #CDE3F8⇒メイン部分の背景、こだわり条件ボタン枠の背景
 #0D316D⇒タイトルバーとボタンの置換
 #5E8ABF⇒【エリア名（ローマ字）】
 #009CD1⇒ウェブアイコンの色
 #AD3333⇒値下げ・新着一覧リンクボタンホバー
 #ebf3f8⇒物件ホバー背景色

---------------------*/
/* common */
.lpo_main_wrap a, .lpo_container a {
	text-decoration: none;
}
/* /common */
.buy_bg {
	background: #F3F2EA;
}
.buy_main {
	background: #F3F2EA;
	padding: 30px 0;
}
.buy_main .w1200 {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.buy_main_search {
	background: #fff;
	border-radius: 10px;
	padding: 25px 20px;
	box-sizing: border-box;
	color: #00175C;
	width: 500px;
}
.buy_main_search_top {
	display: flex;
	gap: 30px;
	align-items: center;
	margin-left: 15px;
}
.buy_main_search_tit {
	font-size: 40px;
	font-weight: bold;
}
.buy_main_search_txt {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
}
.buy_search_box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 0;
	margin-top: 25px;
}
.buy_search_box li a {
	background: #DFE9F5;
	border-radius: 3px;
	display: grid;
	place-content: center;
	font-size: 15px;
	padding: 12px 0;
	width: 146px;
	text-align: center;
	color: #00175C;
	transition: all .3s ease-in-out;
	
}
.buy_search_box li a:hover{
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.buy_search_box li a img {
	display: block;
	margin: auto;
	width: 75px;
	height: 45px;
	object-fit: contain;
	margin-bottom: 3px;
}
.buy_main_voice {
	width: 500px;
	display: flex;
	margin-top: 25px;
}
.buy_main_voice_l {
	background: #fff;
	width: 460px;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
	border-radius: 5px 0 0 5px;
}
.buy_main_voice_l iframe {
	width: 100%;
	height: 126px;
}
.buy_main_voice_tit {
	font-size: 18px;
	font-weight: bold;
	color: #C7A437;
	position: absolute;
	top: -10px;
	left: 20px;
}
.buy_main_voice_flex {
	display: flex;
	gap: 20px;
	align-items: center;
	text-decoration: none;
}
.buy_main_voice_img {
	width: 110px;
	height: 110px;
	border-radius: 5px;
	overflow: hidden;
	flex-shrink: 0;
}
.buy_main_voice_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease-in-out;
}
.buy_main_voice_flex:hover .buy_main_voice_img img {
	transform: scale(1.1);
}
.buy_voice_txt p {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.5;
	color: #00175C;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.buy_voice_txt p:nth-child(2) {
	font-size: 13px;
	display: block;
	margin-top: 10px;
}
.buy_main_voice_link {
	width: 40px;
	display: grid;
	place-content: center;
	font-size: 15px;
	font-weight: bold;
	writing-mode: vertical-rl;
	background: #00175C;
	color: #fff;
	border-radius: 0 5px 5px 0;
	letter-spacing: 4px;
	transition: all .3s ease-in-out;
	/* border: 2px solid #00175C; */
}
.buy_main_voice_link:hover{
	background: #C7A437;
	/* color: #fff; */
}
/* ==========================================================================
       1. マップコンテナの基本設定（レスポンシブ対応）
       ========================================================================== */
.kodawari-right {
	position: relative;
	display: inline-block;
	width: 100%;
	/* coords最大幅を基準に710pxに最適化 */
	line-height: 0;
	/* 画像下部の不要な隙間を排除 */
	position: relative;
}

.kodawari_search{
	width: 166px;
	border-radius: 5px;
	background: #fff;
	padding: 25px 15px;
	box-sizing: border-box;
	position: absolute;
	bottom: 10px;
	left: 65px;
}
.kodawari_search p{
	font-size: 18px;
	font-weight: bold;
	color: #00175C;
	text-align: center;
	line-height: 1;
	margin: 0 auto 10px;
}
.kodawari_btn{
	border-radius: 5px;
	width: 100%;
	height: 35px;
	color: #fff !important;
	background: #00B050;
	display: grid;
	place-content: center;
	position: relative;
	margin-bottom: 6px;
	font-size: 15px;
	line-height: 1;
	padding-left: 10px;
	box-sizing: border-box;
}
.kodawari_blue{
	background: #00B0F0;
}
.kodawari_yellow{
	background: #FFC000;
}
.kodawari_btn span {
	width: 20px;
	height: 20px;
	border-radius: 100%;
	background: #fff;
	position: absolute;
	top: 7.5px;
	left: 10px;
	border: 5px solid #fff;
	box-sizing: border-box;
	transition: all .3s ease-in-out;
}
.kodawari_btn:hover span {
	background: #16294D;
}
.kodawari_sta_link {
	font-size: 12px;
	font-weight: bold;
	position: relative;
	display: block;
	margin: 15px auto 0 12px;
	width: fit-content;
	letter-spacing: 0;
	color: #00175C;
	line-height: 1;
}

.kodawari_sta_link::after {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #C7D0DE;
	border-right: 2px solid #C7D0DE;
	position: absolute;
	right: -12px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
/* マップ画像 */
.kodawari-right img {
	width: auto;
	height: auto;
	display: block;
}
/* ==========================================================================
       B. 地下鉄沿線マップ用のCSS定義  【クラス名: .station-label】
       ========================================================================== */
.kodawari-right {
	position: relative;
	display: inline-block;
}
/* 地下鉄駅専用ラベルの共通スタイル */
.station-label {
	position: absolute;
	color: #ffffff;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
	transform: translate(-50%, -50%);
	background-color: rgba(10, 34, 92, 1);
	z-index: 10;
	font-size: 12px;
	font-weight: normal;
	padding: 14px;
	border-radius: 99px;
	white-space: nowrap;
	pointer-events: auto;
	cursor: pointer;
	transition: all .3s ease-in-out;
	letter-spacing: 1px;
}
/* 【ご指定の動作】普段は沿線マップの駅名ラベルを非表示にする */
.kodawari-right .station-label {
	display: none;
}
/* 主要乗り換えターミナル駅は非表示から出た際に前面に出す設定 */
.label-sapporo,
.label-odori {
	z-index: 12;
	border: 1px solid rgba(255, 255, 255, 0.4);
}
/* 地下鉄：各駅のラベル位置の個別設定 */
/* --- 東西線 --- */
.label-miyanosawa {
	left: 10.3%;
	top: 4.7%;
}
.label-hassamuminami {
	left: 14.1%;
	top: 10.6%;
}
.label-kotoni {
	left: 18.5%;
	top: 16.5%;
}
.label-nijuyonken {
	left: 21.4%;
	top: 22.5%;
}
.label-nishi28chome {
	left: 24.4%;
	top: 29.8%;
}
.label-maruyamakoen {
	left: 24.8%;
	top: 39.2%;
}
.label-nishi18chome {
	left: 30.3%;
	top: 39.4%;
}
.label-nishi11chome {
	left: 35.4%;
	top: 39.6%;
}
.label-odori {
	left: 44.9%;
	top: 39.6%;
	width: 45px;
}
.label-buscenter {
	left: 51.0%;
	top: 40.0%;
}
.label-kikusui {
	left: 55.4%;
	top: 42.9%;
}
.label-higashisapporo {
	left: 60.0%;
	top: 47.3%;
}
.label-shiroishi-st {
	left: 64.2%;
	top: 51.5%;
}
.label-nango7chome {
	left: 68.5%;
	top: 55.4%;
}
.label-nango13chome {
	left: 72.5%;
	top: 59.4%;
}
.label-nango18chome {
	left: 76.9%;
	top: 63.5%;
}
.label-oyachi {
	left: 81.5%;
	top: 67.9%;
}
.label-hibarigaoka {
	left: 86.8%;
	top: 72.7%;
}
.label-shinsapporo {
	left: 95.5%;
	top: 73.1%;
}
/* --- 南北線 --- */
.label-asabu {
	left: 42.1%;
	top: 4.4%;
}
.label-kita34jo {
	left: 41.3%;
	top: 11.9%;
}
.label-kita24jo {
	left: 41.1%;
	top: 19.2%;
}
.label-kita12jo {
	left: 41.0%;
	top: 26.5%;
}
.label-sapporo {
	left: 44.9%;
	top: 33.3%;
}
.label-susukino {
	left: 41.3%;
	top: 45.4%;
}
.label-nakajimakoen {
	left: 41.3%;
	top: 51.7%;
}
.label-horohirabashi {
	left: 41.1%;
	top: 57.9%;
}
.label-nakanoshima {
	left: 46.3%;
	top: 63.1%;
}
.label-hiragishi {
	left: 51.1%;
	top: 69.6%;
}
.label-minamihiragishi {
	left: 49.6%;
	top: 75.8%;
}
.label-sumikawa {
	left: 47.3%;
	top: 82.1%;
}
.label-jieitaimae {
	left: 44.9%;
	top: 88.5%;
}
.label-makomanai {
	left: 43.7%;
	top: 95.6%;
}
/* --- 東豊線 --- */
.label-sakaemachi {
	left: 64.7%;
	top: 3.6%;
}
.label-shindohigashi {
	left: 65.7%;
	top: 9.6%;
}
.label-motomachi {
	left: 65.7%;
	top: 16.7%;
}
.label-kanjodorihigashi {
	left: 67.4%;
	top: 23.3%;
}
.label-higashikuyakushomae {
	left: 55.4%;
	top: 25.0%;
}
.label-kita13johigashi {
	left: 48.3%;
	top: 25.4%;
}
.label-hosuisusukino {
	left: 46.8%;
	top: 49.0%;
}
.label-gakuenmae {
	left: 56.2%;
	top: 59.4%;
}
.label-toyohirakoen {
	left: 57.6%;
	top: 66.3%;
}
.label-misono {
	left: 59.4%;
	top: 74.4%;
}
.label-tsukisamu_chuo {
	left: 60.4%;
	top: 82.1%;
}
.label-fukuzumi {
	left: 62.3%;
	top: 90.6%;
}
/* 地下鉄：双方向ホバーアクション（対象エリアが触られた時、またはラベル自身が直接ホバーされた時のみ display: block にする） */
.kodawari-right:has(area[alt="宮の沢"]:hover) .label-miyanosawa, .label-miyanosawa:hover,
.kodawari-right:has(area[alt="発寒南"]:hover) .label-hassamuminami, .label-hassamuminami:hover,
.kodawari-right:has(area[alt="琴似"]:hover) .label-kotoni, .label-kotoni:hover,
.kodawari-right:has(area[alt="二十四軒"]:hover) .label-nijuyonken, .label-nijuyonken:hover,
.kodawari-right:has(area[alt="西28丁目"]:hover) .label-nishi28chome, .label-nishi28chome:hover,
.kodawari-right:has(area[alt="円山公園"]:hover) .label-maruyamakoen, .label-maruyamakoen:hover,
.kodawari-right:has(area[alt="西18丁目"]:hover) .label-nishi18chome, .label-nishi18chome:hover,
.kodawari-right:has(area[alt="西11丁目"]:hover) .label-nishi11chome, .label-nishi11chome:hover,
.kodawari-right:has(area[alt="大通"]:hover) .label-odori, .label-odori:hover,
.kodawari-right:has(area[alt="バスセンター前"]:hover) .label-buscenter, .label-buscenter:hover,
.kodawari-right:has(area[alt="菊水"]:hover) .label-kikusui, .label-kikusui:hover,
.kodawari-right:has(area[alt="東札幌"]:hover) .label-higashisapporo, .label-higashisapporo:hover,
.kodawari-right:has(area[alt="白石"]:hover) .label-shiroishi-st, .label-shiroishi-st:hover,
.kodawari-right:has(area[alt="南郷7丁目"]:hover) .label-nango7chome, .label-nango7chome:hover,
.kodawari-right:has(area[alt="南郷13丁目"]:hover) .label-nango13chome, .label-nango13chome:hover,
.kodawari-right:has(area[alt="南郷18丁目"]:hover) .label-nango18chome, .label-nango18chome:hover,
.kodawari-right:has(area[alt="大谷地"]:hover) .label-oyachi, .label-oyachi:hover,
.kodawari-right:has(area[alt="ひばりヶ丘"]:hover) .label-hibarigaoka, .label-hibarigaoka:hover,
.kodawari-right:has(area[alt="新さっぽろ"]:hover) .label-shinsapporo, .label-shinsapporo:hover,
.kodawari-right:has(area[alt="麻生"]:hover) .label-asabu, .label-asabu:hover,
.kodawari-right:has(area[alt="北34条"]:hover) .label-kita34jo, .label-kita34jo:hover,
.kodawari-right:has(area[alt="北24条"]:hover) .label-kita24jo, .label-kita24jo:hover,
.kodawari-right:has(area[alt="北12条"]:hover) .label-kita12jo, .label-kita12jo:hover,
.kodawari-right:has(area[alt="さっぽろ"]:hover) .label-sapporo, .label-sapporo:hover,
.kodawari-right:has(area[alt="すすきの"]:hover) .label-susukino, .label-susukino:hover,
.kodawari-right:has(area[alt="中島公園"]:hover) .label-nakajimakoen, .label-nakajimakoen:hover,
.kodawari-right:has(area[alt="幌平橋"]:hover) .label-horohirabashi, .label-horohirabashi:hover,
.kodawari-right:has(area[alt="中の島"]:hover) .label-nakanoshima, .label-nakanoshima:hover,
.kodawari-right:has(area[alt="平岸"]:hover) .label-hiragishi, .label-hiragishi:hover,
.kodawari-right:has(area[alt="南平岸"]:hover) .label-minamihiragishi, .label-minamihiragishi:hover,
.kodawari-right:has(area[alt="澄川"]:hover) .label-sumikawa, .label-sumikawa:hover,
.kodawari-right:has(area[alt="自衛隊前"]:hover) .label-jieitaimae, .label-jieitaimae:hover,
.kodawari-right:has(area[alt="真駒内"]:hover) .label-makomanai, .label-makomanai:hover,
.kodawari-right:has(area[alt="栄町"]:hover) .label-sakaemachi, .label-sakaemachi:hover,
.kodawari-right:has(area[alt="新道東"]:hover) .label-shindohigashi, .label-shindohigashi:hover,
.kodawari-right:has(area[alt="元町"]:hover) .label-motomachi, .label-motomachi:hover,
.kodawari-right:has(area[alt="環状通東"]:hover) .label-kanjodorihigashi, .label-kanjodorihigashi:hover,
.kodawari-right:has(area[alt="東区役所前"]:hover) .label-higashikuyakushomae, .label-higashikuyakushomae:hover,
.kodawari-right:has(area[alt="北13条東"]:hover) .label-kita13johigashi, .label-kita13johigashi:hover,
.kodawari-right:has(area[alt="豊水すすきの"]:hover) .label-hosuisusukino, .label-hosuisusukino:hover,
.kodawari-right:has(area[alt="学園前"]:hover) .label-gakuenmae, .label-gakuenmae:hover,
.kodawari-right:has(area[alt="豊平公園"]:hover) .label-toyohirakoen, .label-toyohirakoen:hover,
.kodawari-right:has(area[alt="美園"]:hover) .label-misono, .label-misono:hover,
.kodawari-right:has(area[alt="月寒中央"]:hover) .label-tsukisamu_chuo, .label-tsukisamu_chuo:hover,
.kodawari-right:has(area[alt="福住"]:hover) .label-fukuzumi, .label-fukuzumi:hover {
	background-color: #16294D transform: translate(-50%, -50%) scale(1.12);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
	z-index: 30;
	display: block;
	/* ホバー時に表示する */
}
/* buy_count */
.buy_count {
	background: #DBE1E6;
	padding: 20px 0;
}
.buy_count .w1200 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.buy_count_txt {
	font-size: 20px;
}
.buy_count_inner {
	display: flex;
	gap: 56px;
	justify-content: center;
}
.buy_count_inner li {
	background: #fff;
	border-radius: 5px;
	padding: 20px 15px 10px;
	position: relative;
	width: 260px;
}
.buy_count_inner iframe {
	width: 100%;
	height: 38px !important;
}
.buy_count_num {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.buy_count_num_p {
	height: 40px;
	padding-bottom: 8px;
	box-sizing: border-box;
}
.buy_count_num p {
	font-size: 15px;
	font-weight: 500;
	margin: 0;
	line-height: 1;
}
.buy_count_num p span {
	font-size: 30px;
	font-weight: bold;
	color: #C7A437;
	margin-right: 5px;
	letter-spacing: 1px;
}
.buy_count_inner li:nth-of-type(1) .buy_count_num p span {
	color: #00175C;
}
.buy_count_inner li:nth-of-type(2) .buy_count_num p span {
	color: #BF3945;
}
.buy_count_inner li a {
	width: 100%;
	height: 30px;
	border-radius: 3px;
	display: grid;
	place-content: center;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	background: #00175C;
	border: 2px solid #00175C;
	margin-top: 5px;
	transition: background 0.2s, color 0.2s;
}
.buy_count_inner li:nth-of-type(2) a {
	background: #BF3945;
	border: 2px solid #BF3945;
}
.buy_count_inner li:nth-of-type(3) a {
	background: #C7A437;
	border: 2px solid #C7A437;
}

/* ホバー時に背景色とフォントカラーを反転 */
.buy_count_inner li a:hover{
	color: #00175C;
	background: #fff;
}
.buy_count_inner li:nth-of-type(2) a:hover{
	color: #BF3945;
	background: #fff;
}
.buy_count_inner li:nth-of-type(3) a:hover{
	color: #C7A437;
	background: #fff;
}
/* 横棒 */
.buy_count_inner li:not(:last-of-type)::before {
	content: "";
	position: absolute;
	right: -34px;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 3px;
	background: #000;
	border-radius: 1px;
	z-index: 1;
}
/* 縦棒 (＋ の形) */
.buy_count_inner li:not(:last-of-type)::after {
	content: "";
	position: absolute;
	right: -28px;
	top: 50%;
	transform: translateY(-50%);
	width: 3px;
	height: 14px;
	background: #000;
	border-radius: 1px;
	z-index: 2;
}
/* buy_mem */
.buy_mem {
	background: #001A43;
}
.buy_mem_inner {
	display: flex;
	justify-content: center;
	gap: 50px;
	align-items: flex-end;
}
.buy_mem_l {
	width: 690px;
	padding: 45px 0 40px;
}
.buy_mem_tit {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.buy_mem_tit p {
	font-size: 50px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 4px;
}
.buy_mem_txt01 {
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin-top: 10px;
}
.buy_mem_point {
	display: flex;
	justify-content: center;
	color: #fff;
	margin-top: 30px;
}
.buy_mem_point li {
	width: 235px;
	padding: 10px 0 15px;
}
.buy_mem_point li:not(:last-of-type) {
	border-right: 1px dashed #fff;
}
.buy_mem_point i {
	font-size: 64px;
	width: fit-content;
	display: block;
	margin: auto;
}
.buy_mem_point p {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 15px;
}
.buy_mem_btn {
	display: flex;
	justify-content: space-between;
	gap: 10px 0;
	flex-wrap: wrap;
	margin-top: 25px;
}
.buy_mem_btn li a {
	width: 220px;
	height: 55px;
	border-radius: 5px;
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
	font-weight: bold;
	color: #001A43;
	padding: 0 20px;
	box-sizing: border-box;
	transition: all .3s ease-in-out;
}
.buy_mem_btn li a:hover{
	background: #C7A437;
	color: #fff;
}
.buy_mem_btn li a::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background: #001A43;
	transition: all .3s ease-in-out;
}
.buy_mem_btn li a:hover::after{
	background: #fff;
}
.buy_mem_r {
	background: #fff;
	width: 323px;
	border-radius: 15px 15px 0 0;
	padding: 20px 0 35px;
}
.buy_mem_r_login_name {
	width: 290px;
	height: 50px;
	border-radius: 10px;
	display: grid;
	place-content: center;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	background: #C7A437;
	margin: auto;
}
.buy_mem_r form {
	margin-top: 15px;
}
.buy_login_form2 input {
	background: #eee;
	border: 1px solid #ccc;
	display: block;
	margin: 0 auto 10px;
}
.buy_login_form3 .login_btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
	width: 160px;
	height: 40px;
	border-radius: 5px;
	background: #001A43;
	border: 2px solid #001A43;
	display: grid;
	place-content: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	margin: auto;
	transition: all .3s ease-in-out;
}
.buy_login_form3 .login_btn:hover{
	background: #fff;
	color: #001A43;
}
.buy_mem_forget {
	font-size: 14px;
	font-weight: bold;
	color: #00175C;
	text-decoration: underline !important;
	text-align: center;
	display: block;
	margin-top: 10px;
}
.buy_mem_regist {
	width: 270px;
	border-radius: 5px;
	background: #E7EEF6;
	border: 1px solid #BDC5DD;
	color: #00175C;
	text-align: center;
	margin: 30px auto 0;
	padding: 15px 0 20px;
}
.buy_mem_regist_txt01 {
	font-size: 15px;
	font-weight: bold;
	position: relative;
	width: fit-content;
	margin: auto;
}
.buy_mem_regist_txt01::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #00175C;
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	margin: auto;
}
.buy_mem_regist_txt02 {
	font-size: 14px;
	font-weight: bold;
	margin-top: 20px;
}
.buy_mem_regist a {
	width: 225px;
	height: 40px;
	border-radius: 5px;
	background: #BF3945;
	border: 2px solid #BF3945;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	display: grid;
	place-content: center;
	margin: 10px auto 0;
	transition: all .3s ease-in-out;
}
.buy_mem_regist a:hover{
	color: #BF3945;
	background: #fff;
}

.buy_mem_r_login_box{
	width: 267px;
	margin: 15px auto 0;
}
.buy_mem_r_loginnow{
	width: 100%;
	height: 40px;
	display: grid;
	place-content: center;
	border: 1px solid #ccc;
	background: #eee;
	font-size: 15px;
	font-weight: bold;
	color: #aaa;
}
.buy_mem_r_login_box ul{
	margin-top: 15px;
}
.buy_mem_r_login_box ul li a {
	padding: 15px 10px;
    font-size: 15px;
    font-weight: bold;
    color: #00175C;
    border-bottom: 1px solid #ccc;
    position: relative;
    display: block;
	transition: all .3s ease-in-out;
}
.buy_mem_r_login_box ul li a:hover{
	background-color: #F3F2EA;
}
.buy_mem_r_login_box ul li a::after {
	content: '';
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
	height: 7px;
	border-top: 2px solid #00175C;
	border-right: 2px solid #00175C;
	border-radius: 1px;
	transition: right 0.3s;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
}
.buy_mem_r_favorite{
	width: 100%;
	height: 50px;
	background: #DFE9F5;
	border: 1px solid #ADB9DD;
	font-size: 14px;
	font-weight: bold;
	color: #00175C;
	border-radius: 5px;
	margin-top: 30px;
	display: flex;
	align-items: center;
	justify-content: left;
	position: relative;
	padding-left: 15px;
	box-sizing: border-box;
	transition: all .3s ease-in-out;
}
.buy_mem_r_favorite:hover{
	background: #ADB9DD;
}
.buy_mem_r_favorite::after{
	content: '';
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 7px;
	height: 7px;
	border-top: 2px solid #00175C;
	border-right: 2px solid #00175C;
	border-radius: 1px;
	transition: right 0.3s;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
}
.buy_mem_r_favorite span{
	color: #F32854;
}
/* buy_reco */
.buy_reco {
	background: #F3F2EA;
	position: relative;
	padding: 35px 0;
	overflow: hidden;
}
.buy_reco .w1200 {}
.buy_reco .w1200::before {
	content: url(/img/buy/reco_bg01.webp);
	display: block;
	position: absolute;
	bottom: -40px;
	left: 0;
	z-index: 1;
}
.buy_reco .w1200::after {
	content: url(/img/buy/reco_bg02.webp);
	display: block;
	position: absolute;
	bottom: -200px;
	right: 0;
	z-index: 1;
}
.buy_reco .w1200 .splide {
	visibility: unset;
	z-index: 2;
}
.buy_common_tit01 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.buy_common_tit01 h2 {
	font-size: 35px;
	font-weight: bold;
	color: #00175C;
	position: relative;
	width: fit-content;
}
.buy_common_tit01 h2::after {
	content: "";
	display: block;
	width: 130px;
	height: 1px;
	background: #C7A437;
	top: 50%;
	right: -165px;
	position: absolute;
}
.buy_btn {
	width: 230px;
	height: 50px;
	border-radius: 5px;
	background: #001A43;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	padding: 0 20px;
	box-sizing: border-box;
	transition: all .3s ease-in-out;
}
.buy_btn:hover{
	background: #C7A437;
}
.buy_btn::after {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background: #fff;
}
.buy_reco_list {
	display: flex;
    justify-content: left;
    position: relative;
    z-index: 5;
    margin-top: 10px;
    gap: 22px;
}
/* 物件 */
.prop-card {
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.2s;
	width: 280px;
}
.prop-card a {
	display: block;
}
.prop-thumb {
	position: relative;
}
.prop-thumb .img-placeholder {
	aspect-ratio: 4 / 3;
	border-radius: 0;
	overflow: hidden;
	border-radius: 5px;
}
.prop-thumb .img-placeholder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease-in-out;
}
.prop-card a:hover .prop-thumb .img-placeholder img{
	transform: scale(1.1);
}
.prop-tag {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #1B2A4D;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	padding: 5px 15px;
	border-radius: 5px;
	z-index: 1;
}
.prop-body {
	padding: 16px 0 20px;
}
.prop-name {
	font-size: 15px;
	font-weight: normal;
	color: #1B2A4D;
	margin: 0;
}
.prop-price {
	font-size: 12px;
	color: #001A43;
	font-weight: 500;
	margin: 10px 0 0;
}
.prop-price strong {
	font-size: 18px;
	font-weight: 600;
	margin-right: 2px;
	color: #C7A437;
}
.prop-info {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-bottom: 14px;
	margin-top: 10px !important;
}
.prop-info li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12px;
	color: #1B2A4D;
	line-height: 1.5;
}
.prop-ico {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	margin-top: 2px;
	color: #1B2A4D;
}
.prop-info li span {
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.prop-spec {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding-bottom: 14px;
	margin-bottom: 14px;
	margin-top: 10px;
}
.spec-label {
	border: 1px solid #00175C;
	color: #00175C;
	font-size: 10px;
	font-weight: 700;
	padding: 5px 7px;
	border-radius: 3px;
	line-height: 1;
}
.spec-val {
	font-size: 13px;
	font-weight: normal;
	color: #1B2A4D;
}
.prop-comment {
	font-size: 12px;
	color: #00175C;
	line-height: 1.7;
	background: #fff;
	border-radius: 5px;
	padding: 5px 15px;
	box-sizing: border-box;
	text-overflow: ellipsis;
	-webkit-line-clamp: 4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* ===== voice / お客様の声 ===== */
.voice {
	background: url(/img/buy/voice_bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 64px 0 80px;
	overflow: hidden;
}
.voice-inner {
	position: relative;
}
/* イントロカードのみ position で重ねて配置（左端からスライドを見せるため） */
.voice-intro {
	position: absolute;
	top: -15px;
	bottom: 0;
	left: max(24px, calc((100% - 1200px) / 2));
	width: 400px;
	height: 380px;
	background: #fff;
	border-radius: 4px;
	z-index: 2;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
	display: flex;
	flex-direction: column;
	padding: 60px;
	box-sizing: border-box;
	margin-top: -;
}
.voice-heading {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	line-height: 1;
}
.voice-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0.02em;
}
.voice-heading .ja {
	font-size: 25px;
	color: #1B2A4D;
	font-weight: 700;
	letter-spacing: 0;
}
.voice-text {
	font-size: 15px;
	color: #1B2A4D;
	line-height: 1.8;
	margin-bottom: 26px;
	letter-spacing: 0;
}
.voice-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 100px;
	background: #16294D;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	border-radius: 5px;
	margin-bottom: 16px;
	transition: background 0.2s;
	width: 300px;
	height: 60px;
}
.voice-btn:hover {
	background: #B08F2A;
}
.voice-google {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 12px;
	color: #00175C;
	letter-spacing: 0;
}
.g-logo {
	font-weight: 700;
	font-size: 18px;
	background: linear-gradient(90deg, #4285F4 0 25%, #EA4335 25% 50%, #FBBC05 50% 75%, #34A853 75% 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.voice-inner iframe {
	width: 100vw;
	height: 370px;
	overflow: hidden;
}
/* スライダーは画面左端から全幅で流れる */
.voice-slider {
	width: 100%;
	min-width: 0;
	padding: 0;
}
.voice-card {
	/* background: #fff; */
	border-radius: 4px;
	padding: 0 0 18px;
	overflow: hidden;
	height: auto;
}
.voice-card a {
	text-decoration: none;
}
.voice-photo {
	width: 280px;
	height: 212px;
	border-radius: 0;
	margin-bottom: 14px;
	overflow: hidden;
}
.voice-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease-in-out;
}
.voice-card a:hover .voice-photo img{
	transform: scale(1.1);
}
.voice-name {
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 10px;
}
.voice-comment {
	font-size: 12px;
	color: #fff;
	line-height: 1.6;
	text-overflow: ellipsis;
	-webkit-line-clamp: 4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.buy_sidebar {
	margin-top: 30px;
}
.buy_sidebar_r {
	width: 870px;
	float: left;
}
.buy_bukken3{
	margin-bottom: 10px;
}
.buy_bukken3 ul {
	display: flex;
	justify-content: left;
	gap: 15px;
	margin-top: 5px;
}
/* buy_rank */
.buy_rank {
	border-top: 1px dotted #AAAAAA;
	border-bottom: 1px dotted #AAAAAA;
	padding: 25px 0 35px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}
.buy_rank::after {
	content: "RANKING";
	display: block;
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
	font-size: 100px;
	font-weight: 500;
	opacity: 0.1;
	position: absolute;
	bottom: 55px;
	left: 35px;
	letter-spacing: 16px;
	z-index: 1;
}
.buy_rank_l {
	width: 350px;
	margin-top: 15px;
}
.buy_rank_l img {
	display: block;
	margin: auto;
}
.buy_rank_tit {
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
	font-size: 35px;
	font-weight: bold;
	color: #00175C;
	line-height: 1.1;
	text-align: center;
	margin-top: 15px;
}
.buy_rank_about {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.8;
	width: 280px;
	margin: 15px auto 0;
	letter-spacing: 2px;
}
.buy_rank_bukken {
	width: 450px;
	position: relative;
	z-index: 5;
}
.buy_rank_bukken li:not(:last-of-type) {
	border-bottom: 1px solid #AAAAAA;
}
.buy_rank_bukken li a {
	padding: 15px 20px 15px 0;
	display: flex;
	justify-content: left;
	align-items: center;
	gap: 15px;
	color: #00175C;
}
.buy_rank_img {
	width: 120px;
	height: 90px;
	border-radius: 5px;
	overflow: hidden;
	flex-shrink: 0;
}
.buy_rank_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s ease-in-out;
}
.buy_rank_bukken li a:hover .buy_rank_img img{
	transform: scale(1.1);
}
.buy_rank_name {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.5;
}
.buy_rank_adress {
	font-size: 12px;
	margin-top: 5px;
}
.buy_rank_adress i {
	margin-right: 15px;
}
/* buy_sup */
.buy_sup {
	padding: 35px 30px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px dotted #aaa;
	gap: 75px;
	margin-bottom: 30px;
}
.buy_sup_tit {
	font-size: 35px;
	font-weight: bold;
	line-height: 1.3;
}
.buy_sup_tit span {
	font-size: 40px;
	color: #C7A437;
}
.buy_sup_about {
	font-size: 12px;
	margin-top: 30px;
	line-height: 2;
}
.buy_sup_bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #00175C;
	margin-top: 40px;
}
.buy_sup_tel {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}
.buy_sup_tel i {
	margin-right: 8px;
}
.buy_sup_time {
	font-size: 12px;
	margin-top: 5px;
}
.buy_sup_bottom a {
	width: 195px;
	height: 50px;
	border-radius: 5px;
	background: #001A43;
	display: grid;
	place-content: center;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	transition: all .3s ease-in-out;
}
.buy_sup_bottom a:hover{
	background: #C7A437;
}
.buy_sup_r img:not(:last-of-type) {
	margin-bottom: 10px;
}