@charset "shift_jis";
/*************************************************/
/* 制作を始める時にはtop.css、header.css、h_menu.cssの中身をを削除してください */
/* ナビメニューのプルダウンを使用したい場合にはh_menu.cssの記述を参考にしてみてください。 */
/* この下にあるコメントアウトを活用してください！ */
/* 「assessment」は売却査定フォームのデフォルトデザイン用cssです */
/*************************************************/
.t_container {
	letter-spacing: 2px;
	overflow: hidden;
	& a {
		text-decoration: none;
	}
	& ul {
		padding: 0;
		margin: 0;
	}
	& li {
		list-style: none;
	}
}
.is-top-page {
	margin: 0;
}
#fixed-header {
	position: fixed;
	top: -230px;
	width: 100%;
	transition: .5s;
	/* アニメーションタイミング */
}
#fixed-header.is-show {
	top: 0;
}
/* ===== FV / Header ===== */
.fv {
	background: #F2F2EA;
	padding: 50px 60px 30px;
	position: relative;
}
.fv-inner {
	/* margin: 0 auto; */
	/* display: grid; */
	/* grid-template-columns: 260px 1fr; */
	/* grid-template-rows: auto auto; */
	/* column-gap: 32px; */
}
.fv-left {
	grid-column: 1;
	grid-row: 1 / 3;
	position: absolute;
	top: 60px;
	z-index: 5;
}
.logo-block {
	margin-bottom: 28px;
}
.logo-text {
	font-weight: 600;
	font-size: 26px;
	letter-spacing: 0.06em;
	color: #1B2A4D;
}
.logo-sub {
	font-size: 11px;
	color: #6B6F76;
	margin-top: 2px;
}
.fv-nav {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.fv-nav-item {
	background: #fff;
	border-radius: 5px;
	padding: 20px 45px;
	font-size: 20px;
	font-weight: 700;
	color: #1B2A4D;
	transition: background 0.2s, box-shadow 0.2s;
	width: fit-content;
	position: relative;
	letter-spacing: 2px;
}
.fv-nav-item:hover {
	background: #1B2A4D;
	color: #fff;
}
.fv-nav-item:hover .dot {
	background: #C6A33A;
	border-color: #C6A33A;
}
.dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid #1B2A4D;
	background: transparent;
	position: absolute;
	top: 22px;
	left: 16px;
}
.fv-image {
	grid-column: 2;
	grid-row: 1;
}
.fv-image .img-placeholder {
	width: 75vw;
	height: 780px !important;
	border-radius: 5px;
	overflow: hidden;
	margin: 0 0 0 auto;
}
.img-placeholder .album {
	width: calc(77% - 100px);
	height: 88%;
}
.fv-image .img-placeholder img {
	width: 100%;
	height: 100%;
	overflow: hidden;
	object-fit: cover;
}
.fv-caption {
	grid-column: 2;
	grid-row: 2;
	position: absolute;
	top: 580px;
}
.fv-caption h2 {
	font-size: 50px;
	font-weight: 900;
	color: #1B2A4D;
	line-height: 1.4;
	letter-spacing: 0.02em;
	margin: 0;
	text-shadow: 0px 0px 10px #fff, 0 0 20px #fff;
}
.fv-caption p {
	font-size: 18px;
	color: #00175C;
	line-height: 1.6;
	margin: 20px 0 0;
	text-shadow: 0px 0px 10px #fff, 0 0 20px #fff;
}
/* 右端固定ボタン */
.fv-side-buttons {
	position: absolute;
	right: 0;
	top: 450px;
	display: flex;
	flex-direction: column;
}
.side-btn {
	width: 100px;
	height: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	border-radius: 5px 0 0 5px;
	border: 2px solid #fff;
	letter-spacing: 2px;
	transition: all .3s ease-in-out;
}
.side-btn:not(:last-of-type) {
	margin-bottom: 15px;
}
.side-btn i {
	font-size: 35px;
}
.side-btn--navy {
	background: #16294D;
}
.side-btn--gold {
	background: #C6A33A;
}
.side-btn--navy:hover {
	background: #fff;
	border: 2px solid #16294D;
	color: #16294D;
}
.side-btn--gold:hover {
	background: #fff;
	border: 2px solid #C6A33A;
	color: #C6A33A;
}
.side-btn:hover svg {
	color: #16294D;
}
/* ===== 画像プレースホルダー ===== */
/* aspect-ratio指定時は高さ自動（height:100%の上書き） */
.fv-image .img-placeholder,
.sale-banner-img .img-placeholder,
.result-card-thumb .img-placeholder,
.buy-photo .img-placeholder,
.prop-thumb .img-placeholder,
.route-map,
.rent-photo .img-placeholder,
.company-photo,
.voice-photo,
.shop-photo .img-placeholder,
.shop-gal-item .img-placeholder {
	height: auto;
}
/* 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: 37px !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;
}
/* ===== Our service ===== */
.service {
	background: url(/img/top/t_furi_bg.webp);
	padding: 64px 0 80px;
	position: relative;
	overflow: hidden;
	z-index: 5;
}
.service-inner {
	width: 90vw;
	max-width: 1520px;
	margin: 0 auto;
	position: relative;
}
.service-heading {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 36px;
}
.service-heading h3 {
	display: flex;
	align-items: baseline;
	gap: 40px;
	margin: 0;
	line-height: 1;
}
.service-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 4px;
}
.service-heading .ja {
	font-size: 20px;
	color: #fff;
	font-weight: 500;
}
.heading-line {
	width: 135px;
	height: 1px;
	background: #C7A437;
	margin-left: 30px;
}
.service-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}
.service-card {
	background: #fff;
	border-radius: 4px;
	padding: 35px 40px;
	width: 100%;
	box-sizing: border-box;
}
.card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}
.card-top h4 {
	font-size: 30px;
	font-weight: 700;
	color: #1B2A4D;
	white-space: nowrap;
	margin: 0;
	line-height: 1;
}
.card-desc {
	font-size: 14px;
	color: #1B2A4D;
	margin-bottom: 22px;
	margin: 20px 0 0;
}
.card-buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.card-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #16294D;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	padding: 13px 8px;
	border-radius: 5px;
	text-align: center;
	transition: background 0.2s;
}
.card-btn:hover {
	background: #B08F2A;
}
/* ===== Information ===== */
.info {
	background: #F2F2EA;
	padding: 64px 24px 72px;
	position: relative;
}
.info::before {
	content: url(/img/top/t_info_maru.webp);
	position: absolute;
	top: -378px;
	right: 0;
}
.info-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.info-heading {
	margin-bottom: 40px;
}
.info-heading h3 {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	line-height: 1;
}
.info-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0.03em;
}
.info-heading .ja {
	font-size: 25px;
	color: #1B2A4D;
	font-weight: bold;
}
.info-body {
	display: grid;
	grid-template-columns: 220px 1fr;
	column-gap: 48px;
}
.info-side {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.info-tabs {
	display: flex;
	flex-direction: column;
	gap: 27px;
	margin-bottom: 28px;
}
.info-tab {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	color: #b9bcc2;
	cursor: pointer;
	text-align: left;
	transition: color 0.2s;
}
.info-tab::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	border: 1.5px solid #1B2A4D;
	flex-shrink: 0;
	background: #fff;
	transition: background 0.2s, border-color 0.2s;
}
.info-tab:hover {
	color: #1B2A4D;
}
.info-tab.is-active {
	color: #1B2A4D;
	font-weight: 700;
	text-decoration: underline;
}
.info-tab.is-active::before {
	background: #1B2A4D;
	border-color: #1B2A4D;
}
.info-panels {
	min-height: 320px;
}
.info-panels iframe {
	width: 900px;
	height: 515px;
	position: relative;
}
.info-panel {
	display: none;
}
.info-panel.is-show {
	display: block;
	animation: fadeIn 0.25s ease;
}
.info-list {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}
.info-item {
	border-bottom: 1px solid #ddded6;
	animation: fadeIn 0.25s ease;
}
.info-list .info-item:first-child {
	border-top: 1px solid #ddded6;
}
.info-item-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 26px 0;
	transition: opacity 0.2s;
	text-decoration: none;
}
.info-item-link:hover {
	opacity: 0.7;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.info-item-text {
	flex: 1;
}
.info-item-text_flex {
	display: flex;
	gap: 30px;
}
.info-item-text_flex p {
	margin: 0;
}
.info-meta {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 15px;
	color: #6B6F76;
}
.info-item-text_flex .cms_topic_tag {
	font-size: 14px;
	font-weight: 700;
	color: #5469A7;
	cursor: pointer;
}
.info-title {
	font-size: 18px;
	font-weight: 700;
	color: #1B2A4D;
	line-height: 1.6;
}
.info-thumb {
	width: 200px;
	height: 112px;
	overflow: hidden;
	border-radius: 5px;
}
.info-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.info-more {
	width: 230px;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 50px;
	background: #16294D;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	border-radius: 5px;
	transition: background 0.2s;
}
.info-more:hover {
	background: #B08F2A;
}
.more-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #fff;
}
/* ===== Sale of Realestate ===== */
.sale {
	background: #0B1C38;
	padding: 72px 24px 80px;
	position: relative;
}
.sale-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.sale-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	margin-bottom: 56px;
}
.sale-heading {
	/* display: flex; */
	/* align-items: baseline; */
	/* gap: 16px; */
	/* margin-bottom: 28px; */
}
.sale-heading .en {
	font-size: 35px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 3px;
}
.sale-heading .ja {
	font-size: 20px;
	color: #fff;
	font-weight: 500;
	display: block;
	margin-top: 20px;
}
.sale-catch {
	font-size: 35px;
	color: #fff;
	line-height: 1.6;
	margin: 60px 0 50px;
	font-weight: normal;
	letter-spacing: 5px;
}
.sale-desc {
	font-size: 15px;
	color: #fff;
	line-height: 1.9;
	width: 500px;
}
.sale-photo .img-placeholder {
	width: 100%;
	height: 100%;
	min-height: 320px;
	border-radius: 4px;
}
.sale-cards {
	display: flex;
	justify-content: center;
	gap: 24px;
	margin-bottom: 48px;
}
.sale-card {
	background: #fff;
	border-radius: 6px;
	padding: 30px 26px 32px;
	display: flex;
	flex-direction: column;
}
.sale-card-title {
	text-align: center;
	font-size: 25px;
	font-weight: normal;
	color: #1B2A4D;
	letter-spacing: 0.04em;
	margin: 0 0 20px;
	line-height: 1;
}
.sale-diagram {
	width: 100%;
	border-radius: 4px;
	margin-bottom: 15px;
	font-size: 12px;
	letter-spacing: 0.05em;
	color: #8b8470;
	height: 200px;
	display: grid;
	place-content: center;
	& img {
		width: 330px;
	}
}
.sale-diagram--green {}
.sale-diagram--pink {
	background: #fbeceb;
}
.sale-card-desc {
	font-size: 15px;
	color: #000;
	line-height: 1.6;
	margin: 0 0 25px;
	height: 90px;
	letter-spacing: 0;
}
.sale-card-btn {
	width: 230px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 55px;
	background: #16294D;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	border-radius: 3px;
	margin: auto;
	transition: background 0.2s;
}
.sale-card-btn:hover {
	background: #B08F2A;
}
/* 無料査定バナー（1枚画像） */
.sale-banner-img {
	display: block;
	border-radius: 4px;
	overflow: hidden;
	transition: all .3s ease-in-out;
}
.sale-banner-img:hover {
	transform: translateY(5px);
	;
}
.sale-banner-img .img-placeholder {
	aspect-ratio: 1320 / 150;
	border-radius: 4px;
}
.sale-banner-img:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}
/* ===== Result / 売却実績 ===== */
.result {
	background: #0B1C38;
	padding: 0px 0px 90px;
	position: relative;
}
.result-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.result-heading {
	margin-bottom: 28px;
}
.result-heading h3 {
	display: flex;
	align-items: baseline;
	gap: 30px;
	margin: 0;
	line-height: 1;
}
.result-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.12em;
}
.result-heading .ja {
	font-size: 20px;
	color: #fff;
	font-weight: normal;
}
.result-panel {
	border-radius: 5px;
	padding: 36px 36px 5px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.8);
}
.result-search {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	padding-bottom: 32px;
}
.result-label {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 16px;
	color: #1B2A4D;
	margin-bottom: 16px;
	margin-top: 25px;
}
.result-label::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #1B2A4D;
	flex-shrink: 0;
}
/* ==========================================================================
       A. 売却事例マップ（10区）用のCSS定義  【クラス名: .ward-label】
       ========================================================================== */
:root {
	--ward-hover-bg: #C7A437;
	/* 10区マップのホバー色（ゴールド） */
	--station-hover-bg: #d9383a;
	/* 地下鉄駅のホバー色（朱赤） */
}
.map-container {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 600px;
	/* 画像の本来の横幅 */
	margin: 0 auto 50px auto;
	line-height: 0;
}
.map-container img {
	width: 100%;
	height: auto;
	display: block;
}
/* 10区専用ラベルの共通スタイル */
.ward-label {
	position: absolute;
	z-index: 10;
	color: #ffffff;
	font-size: 13px;
	font-weight: normal;
	padding: 15px 12px;
	border-radius: 4px;
	background-color: #0a225c;
	/* デフォルトの紺色 */
	text-align: center;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transform: translate(-50%, -50%);
	display: block;
	width: fit-content;
	white-space: nowrap;
	/* ラベル部分を透過し、下にある多角形エリア(area)にホバー判定を100%通す */
	pointer-events: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
/* 10区：各ラベルのパーセント配置 */
.label-teine {
	left: 43.5%;
	top: 17%;
}
.label-kita {
	left: 61.5%;
	top: 14%;
}
.label-higashi {
	left: 75.5%;
	top: 20.5%;
}
.label-nishi {
	left: 40%;
	top: 33%;
}
.label-chuou {
	left: 59.5%;
	top: 36%;
}
.label-shiroishi {
	left: 77%;
	top: 33.5%;
}
.label-atsubetsu {
	left: 93.5%;
	top: 37%;
}
.label-toyohira {
	left: 70%;
	top: 48.5%;
}
.label-kiyota {
	left: 86%;
	top: 60.5%;
}
.label-minami {
	left: 37%;
	top: 60.5%;
}
/* 10区：CSS :has() 連動ホバーアクション */
.map-container:has(area.bnt_teine:hover) .label-teine,
.map-container:has(area.bnt_kita:hover) .label-kita,
.map-container:has(area.bnt_higashi:hover) .label-higashi,
.map-container:has(area.bnt_nishi:hover) .label-nishi,
.map-container:has(area.bnt_chuou:hover) .label-chuou,
.map-container:has(area.bnt_siraishi:hover) .label-shiroishi,
.map-container:has(area.bnt_atubetu:hover) .label-atsubetsu,
.map-container:has(area.bnt_toyohira:hover) .label-toyohira,
.map-container:has(area.bnt_kiyota:hover) .label-kiyota,
.map-container:has(area.bnt_minami:hover) .label-minami {
	background-color: var(--ward-hover-bg);
	transform: translate(-50%, -50%) scale(1.05);
}
/* 種別タイル */
.result-types {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 26px;
}
.result-types a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	background: #fff;
	border-radius: 4px;
	padding: 20px 8px 16px;
	transition: box-shadow 0.2s;
}
.result-types a:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.type-icon {
	height: 50px;
}
.type-name {
	font-size: 16px;
	font-weight: normal;
	color: #1B2A4D;
}
/* カテゴリ */
.result-cats {
	background: #fff;
	border-radius: 4px;
	padding: 18px 22px;
	margin-bottom: 26px;
}
.result-cats ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 22px;
}
.result-cats a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: normal;
	color: #1B2A4D;
	transition: color 0.2s;
}
.result-cats a::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 4px;
	border: solid #C7D0DE;
	border-width: 0 2px 2px 0;
	padding: 0;
	transform: rotate(-45deg);
	vertical-align: middle;
}
.result-cats a:hover {
	color: #B08F2A;
}
/* フリーワード */
.result-freeword {
	display: flex;
	gap: 10px;
}
.result-freeword input {
	flex: 1;
	border: none;
	border-radius: 3px;
	padding: 14px 16px;
	font-size: 14px;
	color: #1B2A4D;
	background: #fff;
}
.result-freeword input::placeholder {
	color: #b3b6bc;
}
.result-freeword button {
	width: 56px;
	border: none;
	border-radius: 3px;
	background: #16294D;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.2s;
}
.result-freeword button:hover {
	background: #B08F2A;
}
/* 下部バー */
.result-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: #1B2A4D;
	margin: 0 auto 10px;
	padding: 10px 10px 10px 20px;
	transition: background 0.2s;
	width: 1130px;
	box-sizing: border-box;
	border-radius: 5px;
}
.result-bar-text {
	font-size: 20px;
	font-weight: normal;
	color: #fff;
}
.result-bar-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	background: #fff;
	color: #1B2A4D;
	font-size: 15px;
	font-weight: 700;
	border-radius: 5px;
	flex-shrink: 0;
	transition: background 0.2s, color 0.2s;
	width: 200px;
	height: 40px;
	box-sizing: border-box;
}
.result-bar-btn .more-dot {
	background: #1B2A4D;
}
.result-bar:hover .result-bar-btn {
	background: #C6A33A;
	color: #fff;
}
.result-bar:hover .result-bar-btn .more-dot {
	background: #fff;
}
.result-panel iframe {
	width: 100%;
	height: 380px;
}
/* 物件カード */
.result-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
.result-card {
	border-radius: 4px;
	overflow: hidden;
}
.result-card a {
	text-decoration: none;
}
.result-card a:hover .result-card-thumb .img-placeholder img {
	transform: scale(1.1);
}
.result-card-thumb {
	position: relative;
}
.result-card-thumb .img-placeholder {
	aspect-ratio: 4 / 3;
	border-radius: 0;
	overflow: hidden;
	border-radius: 5px;
}
.result-card-thumb .img-placeholder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s;
}
.result-tag {
	position: absolute;
	top: 10px;
	left: 10px;
	background: #C6A33A;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	padding: 5px;
	border-radius: 2px;
	z-index: 1;
}
.result-tag p {
	margin: 0;
}
.result-tag p label.cms_topic_tag.cms_topic_gr2 {
	border-left: dotted 1px #fff;
	padding: 0 5px;
}
.result-tag p label.cms_topic_tag.cms_topic_gr2:first-child {
	border-left: none;
}
.result-card-meta {
	padding: 10px 0 0;
}
.result-card-meta p {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
	color: #1B2A4D;
	margin-bottom: 8px;
	margin: 3px 00;
}
.meta-label {
	color: #00175C;
	font-size: 10px;
	font-weight: 700;
	flex-shrink: 0;
	border: 1px solid #00175C;
	border-radius: 5px;
	width: 50px;
	height: 20px;
	display: grid;
	place-content: center;
	letter-spacing: 0;
}
.result-card-comment {
	margin: 8px 0 0;
	padding: 6px 15px 3px;
	font-size: 12px;
	color: #000;
	line-height: 1.4;
	background: #fff;
	border-radius: 5px;
	text-overflow: ellipsis;
	-webkit-line-clamp: 3;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	box-sizing: border-box;
}
/* ===== Buy / 不動産購入 ===== */
.buy {
	background: #F2F2EA;
	padding: 72px 24px 80px;
	position: relative;
	overflow: hidden;
}
.buy-inner {
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
}
.buy-top {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 56px;
	align-items: center;
	margin-bottom: 56px;
}
.buy-heading {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin-bottom: 24px;
}
.buy-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0.06em;
}
.buy-heading .ja {
	font-size: 25px;
	color: #1B2A4D;
	font-weight: 700;
}
.buy-text {
	font-size: 12px;
	color: #000;
	line-height: 1.95;
	margin: 50px 0;
}
.buy-btn {
	width: 250px;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 75px;
	background: #16294D;
	color: #fff;
	font-size: 17px;
	font-weight: 700;
	border-radius: 5px;
	transition: background 0.2s;
}
.buy-btn:hover {
	background: #B08F2A;
}
.buy-photo .img-placeholder {
	width: 100%;
	aspect-ratio: 16 / 9.5;
	border-radius: 4px;
}
/* おすすめ物件見出し */
.buy-rec-head {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 28px;
}
.rec-title {
	font-size: 35px;
	font-weight: 700;
	color: #1B2A4D;
	letter-spacing: 0.04em;
	white-space: nowrap;
	margin: 0;
	line-height: 1;
}
.rec-line {
	height: 1px;
	background: #C6A33A;
	width: 135px;
	margin-top: 15px;
}
.rec-more {
	width: 230px;
	height: 50px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
	background: #16294D;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	border-radius: 5px;
	flex-shrink: 0;
	transition: background 0.2s;
	position: absolute;
	right: 0;
}
.rec-more:hover {
	background: #B08F2A;
}
/* 物件カード */
.prop-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
.prop-card {
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.2s;
	z-index: 5;
}
.prop-card a {
	display: block;
}
.prop-card a:hover .prop-thumb .img-placeholder img {
	transform: scale(1.1);
}
.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: 0.3s;
}
.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;
}
/* ===== こだわり条件から検索 ===== */
.kodawari {
	position: relative;
	width: 100vw;
}
.kodawari_inner {
	display: flex;
	align-items: flex-end;
	margin-top: 64px;
	width: 1200px;
}
.kodawari::before {
	content: "";
	position: absolute;
	top: -130px;
	right: 0;
	width: 300px;
	height: 450px;
	background: url(/img/top/t_info_maru.webp);
	background-size: contain;
	background-repeat: no-repeat;
}
.kodawari-head {
	display: flex;
	align-items: center;
	gap: 50px;
	margin-bottom: 24px;
}
.kodawari-title {
	font-size: 35px;
	font-weight: 700;
	color: #1B2A4D;
	letter-spacing: 0.04em;
	white-space: nowrap;
	margin: 0;
	line-height: 1;
}
.kodawari-line {
	width: 135px;
	height: 1px;
	background: #C6A33A;
	margin-top: 20px;
}
.kodawari-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 15px;
	width: 460px;
}
.kdw-tile {
	width: 147px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	background: #fff;
	border-radius: 3px;
	padding: 16px 8px 12px;
	font-size: 15px;
	font-weight: 500;
	color: #1B2A4D;
	transition: box-shadow 0.2s, border-color 0.2s;
	box-sizing: border-box;
}
.kdw-tile:hover {
	border-color: #C6A33A;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.kdw-icon {
	height: 50px;
	border-radius: 2px;
}
.kdw-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 3px;
	padding: 14px 8px;
	font-size: 15px;
	font-weight: 500;
	color: #1B2A4D;
	text-align: center;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.kdw-btn:hover {
	background: #1B2A4D;
	color: #fff;
	border-color: #1B2A4D;
}
.kodawari-cta {
	display: grid;
	grid-template-columns: 1fr 1fr;
	justify-content: space-between;
	gap: 9px;
	margin-bottom: 28px;
	width: 340px;
}
.kodawari-cta-btn {
	width: 210px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 85px;
	background: #16294D;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 15px 8px;
	border-radius: 3px;
	transition: background 0.2s;
}
.kodawari-cta-btn:hover {
	background: #B08F2A;
}
/* MEMBER'S ONRY */
.member {
	background: #fff;
	border-radius: 4px;
	padding: 26px 0px 0px;
	text-align: center;
	width: 525px;
	/* height: 175px; */
	box-sizing: border-box;
	margin-top: 50px;
	transition: all .3s ease-in-out;
	& a {
		display: block;
		width: 100%;
		padding: 0 30px 20px;
		box-sizing: border-box;
	}
}
.member:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.member-head {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 14px;
	margin-bottom: 14px;
	margin-top: -40px;
}
.member-en {
	font-size: 35px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0;
}
.member-ja {
	font-size: 20px;
	font-weight: 700;
	color: #1B2A4D;
}
.member-counts {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	margin-bottom: 18px;
}
.member-count {
	display: flex;
	align-items: flex-end;
	gap: 4px;
}
.count-label {
	font-size: 18px;
	font-weight: 500;
	color: #000;
	line-height: 1.3;
	text-align: left;
	margin-right: 20px;
}
.count-num {
	font-size: 55px;
	font-weight: 600;
	color: #1B2A4D;
	line-height: 1;
	letter-spacing: -3px;
}
.count-unit {
	font-size: 18px;
	font-weight: 700;
	color: #1B2A4D;
}
.member-note {
	font-size: 12px;
	font-weight: 500;
	color: #000;
	line-height: 1.6;
	text-align: left;
	background: #DFE9F5;
	border-radius: 3px;
	padding: 6px 20px;
	margin-bottom: 0;
}
/* ==========================================================================
       1. マップコンテナの基本設定（レスポンシブ対応）
       ========================================================================== */
.kodawari-right {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 710px;
	/* coords最大幅を基準に710pxに最適化 */
	margin: 0 auto;
	line-height: 0;
	/* 画像下部の不要な隙間を排除 */
	position: relative;
}
/* マップ画像 */
.kodawari-right img {
	width: auto;
	height: auto;
	display: block;
}
/* ==========================================================================
       B. 地下鉄沿線マップ用のCSS定義  【クラス名: .station-label】
       ========================================================================== */
.kodawari-right {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 710px;
	margin: 0 auto;
	line-height: 0;
}
/* 地下鉄駅専用ラベルの共通スタイル */
.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: 92.7%;
	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;
	/* ホバー時に表示する */
}
.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;
}
/* hover時にspanの背景色を親の背景色と同じにする */
.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);
}
/* ===== Rent / 借りたい ===== */
.rent {
	background: #F2F2EA;
	padding: 95px 0 165px;
}
.rent-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: 56px;
	align-items: center;
	position: relative;
}
.rent-heading {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin-bottom: 24px;
}
.rent-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0.06em;
}
.rent-heading .ja {
	font-size: 25px;
	color: #1B2A4D;
	font-weight: 700;
}
.rent-desc {
	font-size: 20px;
	color: #1B2A4D;
	line-height: 1.6;
	width: 570px;
	margin: 35px 0 30px;
}
.rent-btn {
	width: 300px;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 90px;
	background: #16294D;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	border-radius: 3px;
	transition: background 0.2s;
}
.rent-btn:hover {
	background: #B08F2A;
}
.rent-photo .img-placeholder {
	width: 950px;
	position: absolute;
	right: -340px;
	top: -70px;
}
/* ===== Company / 明宝について ===== */
.company {
	padding: 64px 24px 80px;
	position: relative;
	background: url(/img/top/t_furi_bg.webp) no-repeat center center / cover;
}
.company-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.company-heading {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 24px;
}
.company-heading h3 {
	display: flex;
	align-items: baseline;
	gap: 30px;
}
.company-heading .en {
	font-size: 41px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.08em;
}
.company-heading .ja {
	font-size: 20px;
	color: #fff;
	font-weight: 500;
}
.company-heading .heading-line {
	flex: 0 0 120px;
	height: 1px;
	background: #C6A33A;
	margin-top: 15px;
}
.company-text {
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	line-height: 1.9;
	margin-bottom: 40px;
}
.company-sub {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 22px;
}
.company-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.company-photo {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 2px;
	margin-bottom: 18px;
}
.company-card h5 {
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 14px;
	margin: 10px 0px;
}
.company-card p {
	font-size: 14px;
	color: #fff;
	line-height: 1.6;
}
/* ===== voice / お客様の声 ===== */
.voice {
	background: #F2F2EA;
	padding: 64px 0 80px;
	overflow: hidden;
}
.voice-inner {
	position: relative;
}
/* イントロカードのみ position で重ねて配置（左端からスライドを見せるため） */
.voice-intro {
	position: absolute;
	top: -2px;
	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: 0;
}
.voice-intro>a>img {
	width: 70px;
}
.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;
}
.voice-card {
	/* background: #fff; */
	border-radius: 4px;
	padding: 0 0;
	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: #000;
	margin-bottom: 10px;
}
.voice-comment {
	font-size: 12px;
	color: #000;
	line-height: 1.6;
	text-overflow: ellipsis;
	-webkit-line-clamp: 4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
/* ===== Shop / 店舗紹介 ===== */
.shop {
	background: #F2F2EA;
	padding: 24px 24px 80px;
}
.shop-inner {
	max-width: 1200px;
	margin: 0 auto;
}
.shop-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 56px;
	align-items: start;
	margin-bottom: 56px;
}
.shop-photo .img-placeholder {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 4px;
}
.shop-heading {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 24px;
	margin-top: 20px;
}
.shop-heading h3 {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	line-height: 1;
}
.shop-heading .en {
	font-size: 40px;
	font-weight: 600;
	color: #1B2A4D;
	letter-spacing: 0.06em;
}
.shop-heading .ja {
	font-size: 25px;
	color: #1B2A4D;
	font-weight: 700;
}
.shop-heading .heading-line {
	width: 135px;
	height: 1px;
	background: #C6A33A;
}
.shop-list {
	display: flex;
	flex-direction: column;
}
.shop-row {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 10px;
	padding: 25px 0;
	border-bottom: 1px solid #ddded6;
	font-size: 14px;
	color: #00175C;
}
.shop-row:first-child {}
.shop-row dt {}
.shop-row dd {
	margin: 0;
}
.shop-map {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #16294D;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 2px;
	margin-left: 8px;
	border: 2px solid #16294D;
	box-sizing: border-box;
	transition: all .3s ease-in-out;
}
.shop-map:hover {
	background: #fff;
	color: #16294D;
}
.shop-gallery {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.shop-gal-item {
	margin: 0;
}
.shop-gal-item .img-placeholder {
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 2px;
	margin-bottom: 16px;
}
.shop-gal-item figcaption {
	font-size: 20px;
	font-weight: 700;
	color: #00175C;
	margin: 15px 0 0;
}
.shop-gal-item p {
	font-size: 14px;
	color: #00175C;
	line-height: 1.6;
	margin: 15px 0 0;
}