/*------制作メモ------

 #CDE3F8⇒メイン部分の背景、こだわり条件ボタン枠の背景
 #0D316D⇒タイトルバーとボタンの置換
 #5E8ABF⇒【エリア名（ローマ字）】
 #009CD1⇒ウェブアイコンの色
 #AD3333⇒値下げ・新着一覧リンクボタンホバー
 #E7F0F9⇒物件ホバー背景色


/* common */
.w1200 {
	width: 92%;
	margin: auto;
}
.lpo_main_wrap a, .lpo_container a {
	text-decoration: none;
}
/* buy */
.buy_bg {
	background: #F3F2EA !important;
}
.buy_main {
	background: #F3F2EA;
	padding: 10px 0 30px;
}
.buy_main .w1200 {}
.buy_main_search {
	background: #fff;
	border-radius: 10px;
	padding: 20px 15px;
	box-sizing: border-box;
	color: #00175C;
	width: 100%;
}
.buy_main_search_top {
	display: flex;
	gap: 15px;
	align-items: center;
	margin-left: 10px;
}
.buy_main_search_tit {
	font-size: 25px;
	font-weight: bold;
}
.buy_main_search_txt {
	font-size: 12px;
	font-weight: bold;
	line-height: 1.2;
}
.buy_search_box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1vw 0;
	margin-top: 10px;
}
.buy_search_box li a {
	background: #DFE9F5;
	border-radius: 3px;
	display: grid;
	place-content: center;
	font-size: 12px;
	padding: 8px 0;
	width: 27vw;
	text-align: center;
	color: #00175C;
}
.buy_search_box li a img {
	display: block;
	margin: auto;
	width: 75px;
	height: 45px;
	object-fit: contain;
	margin-bottom: 3px;
}
.buy_main_voice {
	width: 100%;
	display: flex;
	margin-top: 25px;
}
.buy_main_voice_l {
	background: #fff;
	width: 90%;
	padding: 15px 15px 5px 15px;
	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: 10%;
	display: grid;
	place-content: center;
	font-size: 14px;
	font-weight: bold;
	writing-mode: vertical-rl;
	background: #00175C;
	color: #fff !important;
	border-radius: 0 5px 5px 0;
	letter-spacing: 4px;
}
/* ==========================================================================
       1. マップコンテナの基本設定（レスポンシブ対応）
       ========================================================================== */
.kodawari-right {
	position: relative;
	display: inline-block;
	width: 100%;
	/* coords最大幅を基準に710pxに最適化 */
	line-height: 0;
	/* 画像下部の不要な隙間を排除 */
	position: relative;
}
.kodawari_search {
	border-radius: 5px;
	background: #fff;
	padding: 15px 20px;
	box-sizing: border-box;
	width: 100%;
	margin: 0px 0 0;
}
.kodawari_search p {
	font-size: 14px;
	font-weight: bold;
	color: #00175C;
	text-align: center;
	line-height: 1;
	margin-bottom: 10px;
}
.kodawari_line {
	display: flex;
	justify-content: space-between;
}
.kodawari_btn {
	width: 32%;
	border-radius: 5px;
	color: #fff !important;
	background: #00B050;
	display: grid;
	place-content: center;
	position: relative;
	margin-bottom: 5px;
	font-size: 14px;
	line-height: 40px;
	padding-left: 10px;
	box-sizing: border-box;
}
.kodawari_blue {
	background: #00B0F0;
}
.kodawari_yellow {
	background: #FFC000;
}
.kodawari_btn span {
	width: 12px;
	height: 12px;
	border-radius: 100%;
	background: #fff;
	position: absolute;
	top: 35%;
	left: 8px;
}
a.kodawari_sta_link {
	font-size: 13px;
	font-weight: bold;
	position: relative;
	display: block;
	margin: 7px auto 0;
	width: fit-content;
	line-height: 1;
	text-decoration: underline;
	color: #457ee1;
}
a.kodawari_sta_link::after {
	content: '';
	display: inline-block;
	width: 5px;
	height: 5px;
	border-top: 1px solid #C7D0DE;
	border-right: 1px solid #C7D0DE;
	position: absolute;
	right: -8px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
/* マップ画像 */
.kodawari-right img {
	width: auto;
	height: auto;
	display: none;
}
/* ==========================================================================
       B. 地下鉄沿線マップ用のCSS定義  【クラス名: .station-label】
       ========================================================================== */
.kodawari-right {
	position: relative;
	display: inline-block;
	margin-top: 20px;
}
/* 地下鉄駅専用ラベルの共通スタイル */
.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: 15px 0;
	font-family: "Noto Sans JP", sans-serif;
}
.buy_count .w1200 {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.buy_count_txt {
	font-size: 20px;
}
.buy_count_inner {
	display: flex;
	justify-content: space-between;
	width: 96%;
	margin: auto !important;
}
.buy_count_inner li {
	background: #fff;
	border-radius: 5px;
	padding: 15px 10px 15px;
	width: 31vw;
	box-sizing: border-box;
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
}
.buy_count_inner iframe {
	height: 65px !important;
}
.buy_count_num_p {
	height: 69px;
}
.buy_count_num p {
	font-size: 14px;
	font-weight: 500;
	margin: 0;
	text-align: center;
	letter-spacing: 0;
}
.buy_count_num p span {
	font-size: 30px;
	font-weight: bold;
	color: #C7A437;
	margin-right: 1px;
	letter-spacing: 0;
}
.buy_count_inner li:nth-of-type(1) div p span {
	color: #00175C;
}
.buy_count_inner li:nth-of-type(2) div p span {
	color: #BF3945;
}
.buy_count_inner li a {
	width: 100%;
	height: 30px;
	border-radius: 5px;
	display: grid;
	place-content: center;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	background: #00175C;
	margin-top: 5px;
	letter-spacing: 0;
	text-align: center;
}
.buy_count_inner li:nth-of-type(2) a {
	background: #BF3945;
}
.buy_count_inner li:nth-of-type(3) a {
	background: #C7A437;
}
/* buy_mem */
.buy_mem {
	background: #001A43;
}
.buy_mem_inner {}
.buy_mem_l {
	width: 92%;
	padding: 45px 0 40px;
	margin: auto;
}
.buy_mem_tit {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.buy_mem_tit img {
	width: 170px;
}
.buy_mem_tit p {
	font-size: 25px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 3px;
}
.buy_mem_txt01 {
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin-top: 10px;
}
.buy_mem_point {
	color: #fff;
	margin-top: 30px;
	display: flex;
}
.buy_mem_point li {
	width: 100%;
	padding: 10px 0 15px;
}
.buy_mem_point li:not(:last-of-type) {
	border-right: 1px dashed #fff;
}
.buy_mem_point i {
	font-size: 40px;
	width: fit-content;
	display: block;
	margin: auto;
}
.buy_mem_point p {
	text-align: center;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.4;
	margin-top: 10px;
}
.buy_mem_btn {
	display: flex;
	justify-content: space-between;
	gap: 10px 0;
	flex-wrap: wrap;
	margin-top: 25px;
}
.buy_mem_btn li a {
	width: 45vw;
	height: 55px;
	border-radius: 5px;
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	font-weight: bold;
	color: #001A43;
	padding: 0 8px;
	box-sizing: border-box;
}
.buy_mem_btn li a::after {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background: #001A43;
}
.buy_mem_r {
	background: #fff;
	width: 330px;
	border-radius: 15px 15px 0 0;
	padding: 20px 0 35px;
	margin: auto;
}
.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 {}
.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;
	display: grid;
	place-content: center;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	margin: auto;
}
.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;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	display: grid;
	place-content: center;
	margin: 10px auto 0;
}
.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 {
	width: 100%;
}
.buy_reco .w1200::before {
	content: "";
	display: block;
	position: absolute;
	top: -30px;
	left: 0;
	z-index: 1;
	width: 70%;
	height: 300px;
	background-image: url(/img/buy/reco_bg01.webp);
	background-size: 100%;
}
.buy_common_tit01 {
	margin-bottom: 20px;
	width: 90%;
	margin: auto;
}
.buy_common_tit01 h2 {
	font-size: 25px;
	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: 70%;
	height: 50px;
	border-radius: 5px;
	background: #001A43;
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	color: #fff !important;
	font-size: 14px;
	font-weight: bold;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 15px auto 0;
}
.buy_btn::after {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 5px;
	background: #fff;
}
.buy_reco_list {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 5;
	margin-top: 10px;
}
#reco_splide {
	padding: 10px 0 0;
	position: relative;
	z-index: 2;
	& .splide__arrow {
		display: none;
		&:hover {
			background-color: var(--main_color);
			& img {
				filter: var(--w_svg);
			}
		}
		& img {
			filter: var(--g_svg);
		}
	}
	& .splide__pagination {
		bottom: 20px;
		position: absolute;
		z-index: 1;
		justify-content: center;
		gap: 10px;
	}
	.splide__arrow--prev {}
	& .splide__arrow--next {
		margin: 0 auto;
		left: 0;
		right: calc(100vw - 670px);
		& img {
			transform: rotate(180deg);
		}
	}
	& .splide__pagination__page {
		width: 35px;
		height: 5px;
		border-radius: 0;
		background-color: #CCCCCC;
		z-index: 1;
		opacity: 1;
		margin: 0;
	}
	& .splide__pagination__page.is-active {
		background-color: #C7A437;
		transform: none;
		opacity: 1;
	}
	& .splide__slide a {
		display: block;
		height: auto;
		/* 高さは中身に合わせる */
		text-decoration: none;
		& .img {
			position: absolute;
			top: 0;
			width: 100%;
			height: 320px;
			transition: all .7s;
			& img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		& .name {
			color: #fff;
			font-size: 18px;
			font-weight: bold;
			position: absolute;
			bottom: 80px;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
		}
		& .txt {
			font-size: 14px;
			color: #fff;
			font-weight: bold;
			position: absolute;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
			bottom: 35px;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			height: 37px;
			overflow: hidden;
			line-height: 1.5;
		}
	}
}
#reco_splide .splide__slide {
	transition: all 0.4s ease;
}
#reco_splide .splide__slide.is-active {
	transform: scale(1);
	z-index: 1;
}
#reco_splide .splide__track {
	padding: 20px 0 40px;
}
/* 物件 */
.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;
}
.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 3px;
	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;
	overflow: hidden;
	width: 100%;
	margin: auto;
}
/* イントロカードのみ position で重ねて配置（左端からスライドを見せるため） */
.voice-intro {
	width: 100%;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
	padding: 40px 30px;
	box-sizing: border-box;
	margin: auto;
}
.voice-heading {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	line-height: 1;
}
.voice-heading .en {
	font-size: 30px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0.02em;
}
.voice-heading .ja {
	font-size: 14px;
	color: #1B2A4D;
	font-weight: 700;
	letter-spacing: 0;
}
.voice-text {
	font-size: 13px;
	color: #1B2A4D;
	line-height: 1.5;
	margin-bottom: 26px;
	letter-spacing: 0;
	margin-top: 10px;
}
.voice-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 100px;
	background: #16294D;
	color: #fff !important;
	font-size: 14px;
	font-weight: 700;
	border-radius: 5px;
	transition: background 0.2s;
	width: 230px;
	height: 50px;
	margin: 370px auto 0;
}
.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;
	margin-top: 15px;
}
.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 {
	position: absolute;
	width: 89vw;
	height: 370px;
	overflow: hidden;
	top: 150px;
	left: 0;
	right: 0;
	margin: auto;
}
/* スライダーは画面左端から全幅で流れる */
.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;
}
.voice-name {
	font-size: 15px;
	font-weight: 700;
	color: #001A43;
	margin-bottom: 10px;
}
.voice-comment {
	font-size: 12px;
	color: #001A43;
	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;
	width: 100%;
}
.buy_bukken3 {
	margin-bottom: 40px;
}
#latest_splide {
	padding: 10px 0 0;
	position: relative;
	z-index: 2;
	& .splide__arrow {
		display: none;
		&:hover {
			background-color: var(--main_color);
			& img {
				filter: var(--w_svg);
			}
		}
		& img {
			filter: var(--g_svg);
		}
	}
	& .splide__pagination {
		bottom: 20px;
		position: absolute;
		z-index: 1;
		justify-content: center;
		gap: 10px;
	}
	.splide__arrow--prev {}
	& .splide__arrow--next {
		margin: 0 auto;
		left: 0;
		right: calc(100vw - 670px);
		& img {
			transform: rotate(180deg);
		}
	}
	& .splide__pagination__page {
		width: 35px;
		height: 5px;
		border-radius: 0;
		background-color: #CCCCCC;
		z-index: 1;
		opacity: 1;
		margin: 0;
	}
	& .splide__pagination__page.is-active {
		background-color: #C7A437;
		transform: none;
		opacity: 1;
	}
	& .splide__slide a {
		display: block;
		height: auto;
		/* 高さは中身に合わせる */
		text-decoration: none;
		& .img {
			position: absolute;
			top: 0;
			width: 100%;
			height: 320px;
			transition: all .7s;
			& img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		& .name {
			color: #fff;
			font-size: 18px;
			font-weight: bold;
			position: absolute;
			bottom: 80px;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
		}
		& .txt {
			font-size: 14px;
			color: #fff;
			font-weight: bold;
			position: absolute;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
			bottom: 35px;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			height: 37px;
			overflow: hidden;
			line-height: 1.5;
		}
	}
}
#latest_splide .splide__slide {
	transition: all 0.4s ease;
}
#latest_splide .splide__slide.is-active {
	transform: scale(1);
	z-index: 1;
}
#latest_splide .splide__track {
	padding: 20px 0 40px;
}
#price_splide {
	padding: 10px 0 0;
	position: relative;
	z-index: 2;
	& .splide__arrow {
		display: none;
		&:hover {
			background-color: var(--main_color);
			& img {
				filter: var(--w_svg);
			}
		}
		& img {
			filter: var(--g_svg);
		}
	}
	& .splide__pagination {
		bottom: 20px;
		position: absolute;
		z-index: 1;
		justify-content: center;
		gap: 10px;
	}
	.splide__arrow--prev {}
	& .splide__arrow--next {
		margin: 0 auto;
		left: 0;
		right: calc(100vw - 670px);
		& img {
			transform: rotate(180deg);
		}
	}
	& .splide__pagination__page {
		width: 35px;
		height: 5px;
		border-radius: 0;
		background-color: #CCCCCC;
		z-index: 1;
		opacity: 1;
		margin: 0;
	}
	& .splide__pagination__page.is-active {
		background-color: #C7A437;
		transform: none;
		opacity: 1;
	}
	& .splide__slide a {
		display: block;
		height: auto;
		/* 高さは中身に合わせる */
		text-decoration: none;
		& .img {
			position: absolute;
			top: 0;
			width: 100%;
			height: 320px;
			transition: all .7s;
			& img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		& .name {
			color: #fff;
			font-size: 18px;
			font-weight: bold;
			position: absolute;
			bottom: 80px;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
		}
		& .txt {
			font-size: 14px;
			color: #fff;
			font-weight: bold;
			position: absolute;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
			bottom: 35px;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			height: 37px;
			overflow: hidden;
			line-height: 1.5;
		}
	}
}
#price_splide .splide__slide {
	transition: all 0.4s ease;
}
#price_splide .splide__slide.is-active {
	transform: scale(1);
	z-index: 1;
}
#price_splide .splide__track {
	padding: 20px 0 40px;
}
#sc_splide {
	padding: 10px 0 0;
	position: relative;
	z-index: 2;
	& .splide__arrow {
		display: none;
		&:hover {
			background-color: var(--main_color);
			& img {
				filter: var(--w_svg);
			}
		}
		& img {
			filter: var(--g_svg);
		}
	}
	& .splide__pagination {
		bottom: 20px;
		position: absolute;
		z-index: 1;
		justify-content: center;
		gap: 10px;
	}
	.splide__arrow--prev {}
	& .splide__arrow--next {
		margin: 0 auto;
		left: 0;
		right: calc(100vw - 670px);
		& img {
			transform: rotate(180deg);
		}
	}
	& .splide__pagination__page {
		width: 35px;
		height: 5px;
		border-radius: 0;
		background-color: #CCCCCC;
		z-index: 1;
		opacity: 1;
		margin: 0;
	}
	& .splide__pagination__page.is-active {
		background-color: #C7A437;
		transform: none;
		opacity: 1;
	}
	& .splide__slide a {
		display: block;
		height: auto;
		/* 高さは中身に合わせる */
		text-decoration: none;
		& .img {
			position: absolute;
			top: 0;
			width: 100%;
			height: 320px;
			transition: all .7s;
			& img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		& .name {
			color: #fff;
			font-size: 18px;
			font-weight: bold;
			position: absolute;
			bottom: 80px;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
		}
		& .txt {
			font-size: 14px;
			color: #fff;
			font-weight: bold;
			position: absolute;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
			bottom: 35px;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			height: 37px;
			overflow: hidden;
			line-height: 1.5;
		}
	}
}
#sc_splide .splide__slide {
	transition: all 0.4s ease;
}
#sc_splide .splide__slide.is-active {
	transform: scale(1);
	z-index: 1;
}
#sc_splide .splide__track {
	padding: 20px 0 40px;
}
#sc2_splide {
	padding: 10px 0 0;
	position: relative;
	z-index: 2;
	& .splide__arrow {
		display: none;
		&:hover {
			background-color: var(--main_color);
			& img {
				filter: var(--w_svg);
			}
		}
		& img {
			filter: var(--g_svg);
		}
	}
	& .splide__pagination {
		bottom: 20px;
		position: absolute;
		z-index: 1;
		justify-content: center;
		gap: 10px;
	}
	.splide__arrow--prev {}
	& .splide__arrow--next {
		margin: 0 auto;
		left: 0;
		right: calc(100vw - 670px);
		& img {
			transform: rotate(180deg);
		}
	}
	& .splide__pagination__page {
		width: 35px;
		height: 5px;
		border-radius: 0;
		background-color: #CCCCCC;
		z-index: 1;
		opacity: 1;
		margin: 0;
	}
	& .splide__pagination__page.is-active {
		background-color: #C7A437;
		transform: none;
		opacity: 1;
	}
	& .splide__slide a {
		display: block;
		height: auto;
		/* 高さは中身に合わせる */
		text-decoration: none;
		& .img {
			position: absolute;
			top: 0;
			width: 100%;
			height: 320px;
			transition: all .7s;
			& img {
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		& .name {
			color: #fff;
			font-size: 18px;
			font-weight: bold;
			position: absolute;
			bottom: 80px;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
		}
		& .txt {
			font-size: 14px;
			color: #fff;
			font-weight: bold;
			position: absolute;
			width: 90%;
			margin: 0 auto;
			left: 0;
			right: 0;
			bottom: 35px;
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			height: 37px;
			overflow: hidden;
			line-height: 1.5;
		}
	}
}
#sc2_splide .splide__slide {
	transition: all 0.4s ease;
}
#sc2_splide .splide__slide.is-active {
	transform: scale(1);
	z-index: 1;
}
#sc2_splide .splide__track {
	padding: 20px 0 40px;
}
/* buy_rank */
.buy_rank {
	border-top: 1px dotted #AAAAAA;
	border-bottom: 1px dotted #AAAAAA;
	padding: 25px 0 35px;
	position: relative;
	width: 90%;
	margin: auto;
}
.buy_rank::after {
	content: "RANKING";
	display: block;
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
	font-size: 54px;
	font-weight: 500;
	opacity: 0.1;
	position: absolute;
	bottom: -10px;
	left: 0;
	letter-spacing: 5px;
	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: 30px;
	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: 100%;
	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;
}
.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 0;
	box-sizing: border-box;
	border-bottom: 1px dotted #aaa;
	width: 90%;
	margin: 0 auto 30px;
}
.buy_sup_tit {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.3;
}
.buy_sup_tit span {
	font-size: 28px;
	font-weight: bold;
	color: #C7A437;
}
.buy_sup_about {
	font-size: 12px;
	margin-top: 25px;
	line-height: 2;
}
.buy_sup_bottom {
	color: #00175C;
	margin-top: 25px;
}
.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;
	text-align: center;
}
.buy_sup_bottom a {
	width: 200px;
	height: 50px;
	border-radius: 5px;
	background: #001A43;
	display: grid;
	place-content: center;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	margin: 10px auto 0;
}
.buy_sup_r {
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
}
.buy_sup_r img {
	width: 44vw;
}
.buy_sup_r img:not(:last-of-type) {}