/*
 * エムズ住宅流通 追加CSS
 * 色・文字・余白の基本は theme.json。ここには theme.json で書けないものだけを書く。
 * 1023px以下を「スマホ・タブレット表示」（ハンバーガー＋画面下の固定バー）とする。
 */

/* PC（1024px以上）は文字をひと回り大きく（16px → 18px）。rem で決めている文字・余白がそろって大きくなる（2026-10-09 悠一さん） */
@media (min-width: 1024px) {
	html {
		font-size: 112.5%;
	}
}

/*
 * 文章の折り返し（2026-10-16 悠一さん。サイト全体のルール）
 * ・改行は言葉の切れ目で（auto-phrase。html の lang が ja のときだけ効く）
 * ・強調（太字・マーカー・文字の拡大・色を変えた語句）は行の途中で切れないよう、ひとかたまりにする。
 *   行に入りきらないときは、かたまりごと次の行へ送る（＝手前で改行したのと同じ）。1行より長いときだけ中で折り返す。
 *   :where() で強さを 0 にしているので、部品ごとに display を決めているところ（見出しの b を block にする等）はそちらが優先される。
 *   文章の中で文字を大きくしたり色を変えたりして強調するときは、strong・b・em・mark か class="msreal-em" で囲む。
 *   強調は短く（スマホで1行に収まる長さ、目安15文字前後）。長い文を丸ごと強調しない。
 */
body {
	word-break: auto-phrase;
	overflow-wrap: break-word;
}

:where(body) :where(strong, b, em, mark, .msreal-em) {
	display: inline-block;
	max-width: 100%;
}

/* マーカー（下線の帯）は行ごとに引く。強調が2行になったときも、各行の下に帯が出る（lh＝1行の高さ） */
:where(body) :where(mark, .msreal-mark) {
	background: repeating-linear-gradient(transparent 0 calc(1lh * 0.62), #f3e3c2 calc(1lh * 0.62) 1lh);
	color: inherit;
}

/* ---------- ヘッダー ---------- */

.msreal-header {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--kinari);
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
}

.msreal-header__inner {
	box-sizing: border-box;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: 12px 16px;
	gap: 24px;
}

.msreal-header a {
	color: inherit;
	text-decoration: none;
}

.msreal-header a:hover,
.msreal-header a:focus-visible {
	color: var(--wp--preset--color--shinchu);
}

/* ロゴ：logo/ms_logo_v5/ms_logo_horizontal_white.svg（横640×縦130） */
/* 選択中の枠：マウスで押したあとは出さず、キーボード操作のときだけ真鍮色で出す */
.msreal-header a:focus:not(:focus-visible),
.msreal-footer a:focus:not(:focus-visible),
.msreal-mobile-cta a:focus:not(:focus-visible) {
	outline: none;
}

.msreal-header a:focus-visible,
.msreal-footer a:focus-visible,
.msreal-mobile-cta a:focus-visible {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: 3px;
}

.msreal-logo {
	flex-shrink: 0;
	margin: 0;
	line-height: 0;
}

.msreal-logo a {
	display: inline-block;
}

.msreal-logo img {
	display: block;
	width: auto;
	height: 46px;
}

.msreal-header__right {
	gap: 28px;
}

.msreal-nav {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.875rem;
	letter-spacing: 0.06em;
}

/* メニューの項目の中で折り返さない（1024〜1150px で「売却をお考えの方」が2行になり、メニューが2段になっていた） */
.msreal-nav .wp-block-navigation-item__content {
	white-space: nowrap;
}

.msreal-nav .wp-block-navigation__container {
	gap: 1.6em;
}

/* ハンバーガーメニューの中だけに出す項目 */
.msreal-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .msreal-nav__mobile-only {
	display: none;
}

/* PCだけに出す項目（「物件を探す」。ハンバーガーの中では「物件」「賃貸物件」を別々に出す） */
.msreal-nav .is-menu-open .msreal-nav__pc-only {
	display: none !important;
}

/* 「物件を探す」の下に開くメニュー（売買物件・賃貸物件） */
.msreal-nav .wp-block-navigation__submenu-container {
	min-width: 180px !important;
	padding: 8px 0;
	background: var(--wp--preset--color--ai) !important;
	border: 1px solid var(--wp--preset--color--shinchu) !important;
	color: var(--wp--preset--color--kinari) !important;
}

.msreal-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 20px !important;
}

.msreal-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--shinchu);
}

.msreal-header__cta {
	gap: 20px;
}

.msreal-header__satei .wp-block-button__link {
	padding: 0.6em 1.4em;
	font-size: 0.875rem;
}

.msreal-header .msreal-header__tel p {
	margin: 0;
}

.msreal-header__tel-number {
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.06em;
}

.msreal-header__hours {
	font-size: 0.6875rem;
	line-height: 1.4;
	opacity: 0.8;
}

/* ハンバーガーメニュー（開いたとき） */
.msreal-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px 24px 96px;
}

/* PCでは右寄せのメニューを、開いたときは左寄せにする */
.msreal-nav .wp-block-navigation__responsive-container.is-menu-open,
.msreal-nav .is-menu-open .wp-block-navigation__container {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
}

.msreal-nav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	gap: 0;
	width: 100%;
	font-size: 1.0625rem;
}

.msreal-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	padding: 14px 0;
	border-bottom: 1px solid rgba(184, 147, 90, 0.4);
}

@media (min-width: 782px) {
	.msreal-header__inner {
		padding-inline: 32px;
	}

	.msreal-logo img {
		height: 56px;
	}
}

.msreal-header__satei .wp-block-button__link {
	white-space: nowrap;
}

/* PCの狭い幅（1024〜1199px）は、ヘッダーの中身を少し詰めて1段に収める（文字を18pxにしたあと、「無料査定」が縦に折れ、電話番号がはみ出していた） */
@media (min-width: 1024px) and (max-width: 1199px) {
	.msreal-header__inner {
		gap: 16px;
	}

	.msreal-logo img {
		height: 44px;
	}

	.msreal-header__right {
		gap: 18px;
	}

	.msreal-nav {
		font-size: 14px;
		letter-spacing: 0.03em;
	}

	.msreal-nav .wp-block-navigation__container {
		gap: 1.1em;
	}

	.msreal-header__cta {
		gap: 14px;
	}

	.msreal-header__satei .wp-block-button__link {
		padding: 0.6em 1em;
		font-size: 14px;
	}

	.msreal-header__tel-number {
		font-size: 18px;
		letter-spacing: 0.02em;
	}

	.msreal-header__hours {
		font-size: 11px;
	}
}

@media (max-width: 1023px) {
	.msreal-header__cta {
		display: none !important;
	}

	/* 標準では600px以上でメニューが横並びになるので、1023pxまではハンバーガーにする */
	.msreal-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.msreal-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

/* ---------- フッター ---------- */

.msreal-footer {
	box-sizing: border-box;
	padding: 56px 16px 24px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--kinari);
	border-top: 1px solid var(--wp--preset--color--shinchu);
	font-size: 0.8125rem;
	line-height: 1.9;
}

.msreal-footer a {
	color: inherit;
	text-decoration: none;
}

.msreal-footer a:hover,
.msreal-footer a:focus-visible {
	color: var(--wp--preset--color--shinchu);
	text-decoration: underline;
}

.msreal-footer p {
	margin: 0;
}

.msreal-footer__inner {
	display: grid;
	gap: 32px;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.msreal-footer .msreal-footer__inner > * {
	margin-block-start: 0;
}

.msreal-footer .msreal-footer__name {
	margin-bottom: 8px;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

/* 親テーマのメニュー用の文字サイズ・書体が効かないように */
.msreal-footer .msreal-footer__nav {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}

.msreal-footer__nav .wp-block-navigation__container {
	gap: 4px;
}

/* 加盟団体のバナー（団体の決まりで、ほかの文字やマークと離し、白い地の上に置く） */
body .msreal-banners {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

/* 会社概要の表の中：白い背景の上なので、全日の白い地に薄い枠をつけて区切る */
body .msreal-company-table__banners {
	margin-top: 12px;
}

.msreal-company-table__banners .is-zennichi a {
	border: 1px solid #e3ddd0;
}

.msreal-banners li {
	display: flex;
	align-items: center;
}

.msreal-banners a {
	display: block;
	transition: opacity 0.2s;
}

.msreal-banners a:hover {
	opacity: 0.85;
}

.msreal-banners img {
	display: block;
}

/* 全日：白い地の上に置き、縮小して使う（全日の決まりで拡大縮小は可） */
.msreal-banners .is-zennichi a {
	padding: 6px 10px;
	background: var(--wp--preset--color--white);
	border-radius: 3px;
}

.msreal-banners .is-zennichi img {
	width: 160px;
	height: auto;
}

/* アットホーム：大きさ・色を変えてはいけないので、配られた150×100のまま */
.msreal-banners .is-athome img {
	width: 150px;
	max-width: none;
	height: 100px;
}

/* UR：白地と枠つきの画像なので、そのまま縮小して置く */
.msreal-banners .is-ur img {
	width: 240px;
	height: auto;
}

.msreal-footer .msreal-footer__copy {
	max-width: var(--wp--style--global--wide-size);
	margin: 40px auto 0;
	padding-top: 16px;
	border-top: 1px solid rgba(184, 147, 90, 0.35);
	font-size: 0.75rem;
	text-align: center;
	opacity: 0.75;
}

@media (min-width: 782px) {
	.msreal-footer {
		padding-inline: 32px;
	}

	.msreal-footer__inner {
		grid-template-columns: 1.3fr 1.3fr 1fr;
	}
}

@media (max-width: 1023px) {
	/* 画面下の固定バーにコピーライトが隠れないように */
	.msreal-footer {
		padding-bottom: calc(24px + 68px + env(safe-area-inset-bottom));
	}
}

/* ---------- スマホ用の固定バー（無料査定・電話） ---------- */

.msreal-mobile-cta {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	margin: 0 !important;
	padding: 8px 16px calc(8px + env(safe-area-inset-bottom));
	background: rgba(20, 35, 58, 0.96);
	border-top: 1px solid var(--wp--preset--color--shinchu);
}

.msreal-mobile-cta .wp-block-button {
	flex: 1 1 0;
	margin: 0;
}

.msreal-mobile-cta .wp-block-button__link {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 12px 8px;
	text-align: center;
}

.msreal-mobile-cta .msreal-mobile-cta__tel .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--kinari);
}

/* WordPress の body .is-layout-flex { display: flex } より強くするため、body から指定する */
@media (min-width: 1024px) {
	body .msreal-mobile-cta.is-layout-flex,
	body .msreal-mobile-cta {
		display: none;
	}
}

/* ---------- 共通の部品 ---------- */

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
	word-wrap: normal !important;
}

/* セクション（幅はコンテンツ幅、背景は生成り／白） */
.msreal-section {
	box-sizing: border-box;
	padding: clamp(64px, 9vw, 112px) 16px;
}

.msreal-section > * {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
}

.msreal-section--white {
	background: var(--wp--preset--color--white);
}

.msreal-section .msreal-eyebrow {
	margin-bottom: 0;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.msreal-section .msreal-section__title {
	margin-top: 8px;
	font-size: clamp(1.375rem, 3vw, 2.125rem);
}

/* 電話番号は途中で折り返さない */
.msreal-tel {
	white-space: nowrap;
}

.msreal-section__title::after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	margin-top: 20px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-section .msreal-section__lead {
	margin-top: 24px;
}

.msreal-section .msreal-section__more {
	margin-top: 32px;
	text-align: center;
}

.msreal-section__more a {
	padding-bottom: 4px;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
}

.msreal-section__more a::after {
	content: "→";
	margin-left: 8px;
	color: var(--wp--preset--color--shinchu);
}

/* 開閉式のカード（お悩み・よくある質問） */
.msreal-worry,
.msreal-faq__item {
	box-sizing: border-box;
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(184, 147, 90, 0.45);
	border-radius: 4px;
}

.msreal-faq__item {
	background: var(--wp--preset--color--kinari);
}

.msreal-worry summary,
.msreal-faq__item summary {
	position: relative;
	padding: 20px 52px 20px 20px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.6;
	list-style: none;
	cursor: pointer;
}

.msreal-worry summary::-webkit-details-marker,
.msreal-faq__item summary::-webkit-details-marker {
	display: none;
}

.msreal-worry summary::after,
.msreal-faq__item summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 9px;
	height: 9px;
	border-right: 1px solid var(--wp--preset--color--shinchu);
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	transform: translateY(-70%) rotate(45deg);
	transition: transform 0.2s;
}

.msreal-worry[open] summary::after,
.msreal-faq__item[open] summary::after {
	transform: translateY(-30%) rotate(-135deg);
}

.msreal-worry summary:focus-visible,
.msreal-faq__item summary:focus-visible {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: 2px;
}

.msreal-faq__item summary::before {
	content: "Q.";
	margin-right: 10px;
	color: var(--wp--preset--color--shinchu);
}

.msreal-worry > p,
.msreal-faq__item > p {
	margin: 0;
	padding: 0 20px 16px;
	font-size: 0.9375rem;
}

.msreal-worry > p:last-child,
.msreal-faq__item > p:last-child {
	padding-bottom: 20px;
}

.msreal-worry .msreal-worry__link {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.msreal-worry__link a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-worry__link .msreal-worry__satei {
	font-weight: 400;
}

/* 次のページへのボタン（枠つき、横に並べる） */
.msreal-section .msreal-nexts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 32px;
}

.msreal-next {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-width: 220px;
	justify-content: center;
	padding: 14px 24px;
	border: 1px solid var(--wp--preset--color--ai);
	border-radius: 3px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
}

.msreal-next::after {
	content: "→";
	color: var(--wp--preset--color--shinchu);
}

.msreal-next:hover,
.msreal-next:focus-visible {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

/* 次はこちら（ページの最後、査定の案内の前） */
.msreal-section.msreal-next-step {
	padding-top: clamp(48px, 6vw, 72px);
	padding-bottom: clamp(48px, 6vw, 72px);
	border-top: 1px solid rgba(184, 147, 90, 0.45);
}

.msreal-next-step .msreal-next-step__heading {
	margin: 8px auto 20px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
	font-weight: 700;
}

.msreal-next-step .msreal-next-step__card {
	position: relative;
	display: grid;
	gap: 6px;
	box-sizing: border-box;
	padding: 24px 64px 24px 28px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--ai);
	border-radius: 4px;
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
	transition: background-color 0.2s;
}

.msreal-next-step__card::after {
	content: "→";
	position: absolute;
	top: 50%;
	right: 24px;
	color: var(--wp--preset--color--shinchu);
	font-size: 1.5rem;
	transform: translateY(-50%);
}

.msreal-next-step__card:hover,
.msreal-next-step__card:focus-visible {
	background: var(--wp--preset--color--kinari);
}

.msreal-next-step__title {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.25rem, 2.4vw, 1.5rem);
	font-weight: 700;
}

.msreal-next-step__desc {
	font-size: 0.9375rem;
}

/* 次はこちら（案C：読む順の地図＋次のページのカード。2026-10-15） */
.msreal-nx .msreal-next-step__heading {
	margin: 0 auto 6px;
	font-size: clamp(1.35rem, 2.6vw, 1.6rem);
	font-weight: 800;
	line-height: 1.4;
}

.msreal-nx .msreal-nx__lead {
	margin: 0 auto 24px;
	color: #555;
	font-size: 0.9375rem;
}

.msreal-nx .msreal-next-step__heading + .msreal-nx__box {
	margin-top: 20px;
}

.msreal-nx__box {
	box-sizing: border-box;
	padding: 30px 34px 34px;
	border-radius: 8px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 16px 34px -26px rgba(20, 35, 58, 0.45);
}

.msreal-nx .msreal-nx__rail {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

/* 点線の道（とまりの丸の中心どうしを結ぶ） */
.msreal-nx__rail::before {
	content: "";
	position: absolute;
	top: 15px;
	right: 10%;
	left: 10%;
	height: 2px;
	background: linear-gradient(90deg, #cdbf9f 50%, transparent 0) repeat-x center / 10px 2px;
}

.msreal-nx__stop {
	position: relative;
	margin: 0;
	text-align: center;
}

/* 読んだところまでは真鍮の線 */
.msreal-nx__stop.is-done::after {
	content: "";
	position: absolute;
	top: 15px;
	right: -50%;
	left: 50%;
	height: 2px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-nx__stop > a,
.msreal-nx__stop[aria-current] {
	display: block;
	color: #888;
	font-size: 0.78rem;
	line-height: 1.4;
	text-decoration: none;
}

.msreal-nx__dot {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: 0 auto 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 2px #cdbf9f;
	color: var(--wp--preset--color--white);
	font-size: 13px;
	line-height: 1;
}

.msreal-nx__stop.is-done .msreal-nx__dot {
	background: var(--wp--preset--color--shinchu);
	box-shadow: none;
}

.msreal-nx__stop.is-done > a,
.msreal-nx__stop.is-done[aria-current] {
	color: #8a7650;
	font-weight: 700;
}

.msreal-nx__stop.is-next .msreal-nx__dot {
	background: var(--wp--preset--color--ai);
	box-shadow: 0 0 0 6px rgba(20, 35, 58, 0.12);
}

.msreal-nx__stop.is-next > a {
	color: var(--wp--preset--color--ai);
	font-size: 0.85rem;
	font-weight: 700;
}

.msreal-nx__stop > a:hover .msreal-nx__name,
.msreal-nx__stop > a:focus-visible .msreal-nx__name {
	text-decoration: underline;
}

.msreal-nx__name {
	display: block;
	word-break: auto-phrase;
}

/* 次のページのカード */
.msreal-nx .msreal-nx__card {
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 26px 30px;
	border-radius: 10px;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
	transition: background-color 0.2s;
}

.msreal-nx .msreal-nx__card:hover,
.msreal-nx .msreal-nx__card:focus-visible {
	background: #ebe3d4;
}

.msreal-nx__icon {
	flex: none;
	width: 76px;
	height: 76px;
}

.msreal-nx__txt {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.msreal-nx__title {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.3rem, 2.4vw, 1.6rem);
	font-weight: 800;
	line-height: 1.35;
}

.msreal-nx__desc {
	font-size: 0.92rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

.msreal-nx__btn {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 12px;
	margin-left: auto;
	padding: 12px 14px 12px 22px;
	border-radius: 999px;
	background: var(--wp--preset--color--ai);
	box-shadow: 0 4px 0 #0a1424;
	color: var(--wp--preset--color--white);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1;
	transition: transform 0.15s, box-shadow 0.15s;
}

.msreal-nx__btn b {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
}

.msreal-nx__card:active .msreal-nx__btn {
	box-shadow: 0 1px 0 #0a1424;
	transform: translateY(3px);
}

/* 地図のないページの「ほかに」 */
.msreal-nx .msreal-nx__subs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 20px auto 0;
	font-size: 0.85rem;
	color: #666;
}

.msreal-nx__sub {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 1px #d8cdb6;
	color: var(--wp--preset--color--ai);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-nx__sub::after {
	content: "→";
	color: var(--wp--preset--color--shinchu);
}

@media (max-width: 767px) {
	.msreal-nx__box {
		padding: 22px 16px 20px;
	}

	.msreal-nx__stop > a,
	.msreal-nx__stop[aria-current] {
		font-size: 0.6875rem;
	}

	.msreal-nx__stop.is-next > a {
		font-size: 0.72rem;
	}

	.msreal-nx .msreal-nx__card {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 22px 20px;
	}

	.msreal-nx__icon {
		width: 56px;
		height: 56px;
	}

	.msreal-nx__btn {
		margin-left: 0;
	}
}

/* 「ページが見つかりません」の入口カード（PCは2〜3列、スマホは1列） */
.msreal-404__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 16px;
}

.msreal-section.msreal-404 {
	border-top: 0;
	padding-top: clamp(32px, 4vw, 48px);
}

/* 物件をお探しの方へ（ファーストビューの下の細い帯） */
.msreal-property-band {
	box-sizing: border-box;
	padding: 14px 16px;
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid rgba(184, 147, 90, 0.45);
}

body .msreal-property-band .msreal-property-band__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 28px;
	margin: 0 auto;
	max-width: var(--wp--style--global--content-size);
	font-size: 0.9375rem;
}

.msreal-property-band__label {
	color: var(--wp--preset--color--sumi);
	font-size: 0.875rem;
}

/* スマホは「物件をお探しの方」を1行目、リンク2つを2行目に */
@media (max-width: 599px) {
	.msreal-property-band__label {
		flex-basis: 100%;
		text-align: center;
	}
}

.msreal-property-band a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
}

.msreal-property-band a::after {
	content: "→";
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
}

.msreal-worry__link a::after {
	content: "→";
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
}

/* ---------- トップページ ---------- */

body .wp-site-blocks > .msreal-top,
body .wp-site-blocks > .msreal-top + * {
	margin-block-start: 0;
}

body .msreal-top > * {
	margin-block: 0;
}

/*
 * ご状況から探す（藍のパネル）／ 売却の不安 → エムズの答え
 * 2026-10-13 悠一さんの参考（色パネル・吹き出し・V字の区切り）をもとに作り直し
 */
body .msreal-top > .msreal-finder {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: min(1080px, calc(100% - 32px));
	margin: -72px auto 0;
	padding: 44px 48px 32px;
	border-radius: 20px;
	background: linear-gradient(135deg, #14233a 0%, #1d3354 55%, #2b4a78 100%);
	color: var(--wp--preset--color--white);
	box-shadow: 0 20px 50px rgba(20, 35, 58, 0.25);
}

.msreal-finder ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-finder a {
	text-decoration: none;
}

.msreal-finder__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 28px;
}

.msreal-finder .msreal-finder__title {
	margin: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(1.375rem, 2.6vw, 1.625rem);
	font-weight: 800;
	letter-spacing: 0.06em;
}

.msreal-finder__title span {
	display: inline-block;
}

.msreal-finder .msreal-finder__sub {
	margin: 8px 0 0;
	color: #cfd6e2;
	font-size: 0.8125rem;
}

.msreal-pill {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 10px;
	padding: 14px 26px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s;
}

.msreal-pill__arrow {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--shinchu);
	font-size: 0.875rem;
	line-height: 1;
}

.msreal-finder__cols {
	display: grid;
	gap: 28px 32px;
}

.msreal-finder .msreal-finder__label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	color: #e7d3b1;
	font-size: 0.8125rem;
	font-weight: 700;
}

.msreal-finder__label::before {
	content: "";
	width: 14px;
	height: 3px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-finder__types {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.msreal-finder__type,
.msreal-finder__worry {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	transition: transform 0.2s, box-shadow 0.2s;
}

.msreal-finder__type:hover,
.msreal-finder__worry:hover,
.msreal-finder__type:focus-visible,
.msreal-finder__worry:focus-visible {
	color: var(--wp--preset--color--ai);
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}

.msreal-finder__type {
	gap: 14px;
	height: 100%;
	box-sizing: border-box;
	padding: 18px 40px 18px 16px;
	border-radius: 12px;
	font-size: 1rem;
}

.msreal-finder__type svg {
	flex: none;
	width: 44px;
	height: 44px;
}

.msreal-finder__type small {
	display: block;
	margin-top: 2px;
	color: #6b7280;
	font-size: 0.6875rem;
	font-weight: 400;
}

.msreal-finder__dot {
	display: grid;
	flex: none;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	line-height: 1;
}

.msreal-finder__type .msreal-finder__dot {
	position: absolute;
	right: 12px;
	bottom: 12px;
}

.msreal-finder__worries {
	display: grid;
	gap: 8px;
}

.msreal-finder__worry {
	justify-content: space-between;
	gap: 12px;
	padding: 13px 16px;
	border-radius: 10px;
	font-size: 0.875rem;
}

.msreal-finder__tag {
	margin-left: 8px;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.6875rem;
	white-space: nowrap;
}

.msreal-finder .msreal-finder__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 12px;
	margin: 26px 0 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: #cfd6e2;
	font-size: 0.8125rem;
}

.msreal-finder__foot a {
	padding: 6px 16px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	font-weight: 700;
	font-size: 0.8125rem;
	transition: background-color 0.2s;
}

.msreal-finder__foot a:hover,
.msreal-finder__foot a:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	color: var(--wp--preset--color--white);
}

@media (min-width: 900px) {
	.msreal-finder__cols {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 899px) {
	body .msreal-top > .msreal-finder {
		margin-top: 24px;
		padding: 28px 20px 24px;
		border-radius: 16px;
	}

	.msreal-finder__head {
		flex-direction: column;
		align-items: flex-start;
	}

	/* スマホ・タブレットは画面下に査定ボタンが常に出ているので、パネルの中では出さない */
	.msreal-finder__head .msreal-pill {
		display: none;
	}
}

@media (max-width: 479px) {
	.msreal-finder .msreal-finder__title {
		font-size: 1.25rem;
	}

	.msreal-finder__type {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
		padding: 12px 12px 14px;
		font-size: 0.9375rem;
	}

	.msreal-finder__type svg {
		width: 30px;
		height: 30px;
	}

	.msreal-finder__type .msreal-finder__dot {
		top: 12px;
		bottom: auto;
	}
}

/* 売却の不安 → エムズの答え */
.msreal-story {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 9vw, 110px) 16px 0;
	background: var(--wp--preset--color--kinari);
	text-align: center;
}

.msreal-story ul,
.msreal-story ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-story .msreal-story__watermark {
	position: absolute;
	top: clamp(48px, 6vw, 64px);
	left: 50%;
	margin: 0;
	color: rgba(20, 35, 58, 0.05);
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(3.5rem, 10vw, 7.5rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	white-space: nowrap;
	transform: translateX(-50%);
	pointer-events: none;
	user-select: none;
}

.msreal-story .msreal-story__title {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0 clamp(36px, 6vw, 70px);
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.375rem, 2.8vw, 1.875rem);
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

/* 見出しの左右の「＼ ／」 */
.msreal-story__title::before,
.msreal-story__title::after {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 6px;
	width: 2px;
	background: var(--wp--preset--color--ai);
}

.msreal-story__title::before {
	left: clamp(10px, 2vw, 20px);
	transform: rotate(-24deg);
}

.msreal-story__title::after {
	right: clamp(10px, 2vw, 20px);
	transform: rotate(24deg);
}

.msreal-story__title > span {
	display: inline-block;
}

/* 「不安」の上に傍点 */
.msreal-story__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

/* 丸い札（下に小さな三角） */
.msreal-story .msreal-story__label {
	position: relative;
	display: table;
	margin: 26px auto 0;
	padding: 8px 32px;
	border-radius: 999px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.msreal-story__label::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -9px;
	width: 14px;
	height: 12px;
	background: var(--wp--preset--color--ai);
	clip-path: polygon(0 0, 100% 0, 30% 100%);
}

/* 不安の3つ：白い不定形の形＋番号＋人物 */
.msreal-story .msreal-story__worries {
	display: grid;
	justify-content: center;
	gap: 40px 20px;
	max-width: 1040px;
	margin: 48px auto 0;
}

.msreal-story__worry {
	position: relative;
	width: min(330px, calc(100vw - 72px));
	aspect-ratio: 1;
	margin: 0 auto;
}

.msreal-story__shape {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	fill: var(--wp--preset--color--white);
	filter: drop-shadow(0 10px 18px rgba(20, 35, 58, 0.1));
}

.msreal-story__in {
	position: absolute;
	inset: 17% 17% 12% 19%;
	text-align: left;
}

.msreal-story__no {
	display: block;
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.75rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.04em;
}

.msreal-story__in strong {
	display: block;
	margin: 12px 0 10px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-story__in strong span {
	display: inline-block;
}

.msreal-story__body {
	display: block;
	color: #444;
	font-size: 0.8125rem;
	line-height: 1.9;
}

.msreal-story__person {
	position: absolute;
	right: -30px;
	bottom: -34px;
	z-index: 1;
	width: 34%;
	height: auto;
}

/* 3つ横に並ぶのは 1080px 以上（真ん中だけ少し下げる）。それより狭いと縦に並ぶ */
@media (min-width: 1080px) {
	.msreal-story .msreal-story__worries {
		grid-template-columns: repeat(3, 330px);
	}

	.msreal-story__worry:nth-child(2) {
		margin-top: 60px;
	}
}

@media (max-width: 1079px) {
	.msreal-story__worry {
		width: min(300px, calc(100vw - 80px));
	}

	.msreal-story__person {
		right: -22px;
		bottom: -44px;
		width: 28%;
	}
}

@media (max-width: 479px) {
	.msreal-story .msreal-story__title {
		padding: 0 30px;
		font-size: 1.125rem;
		letter-spacing: 0.02em;
	}

	.msreal-story__in {
		inset: 16% 15% 16% 17%;
	}

	.msreal-story__in strong {
		font-size: 1rem;
	}

	.msreal-story__body {
		font-size: 0.75rem;
		line-height: 1.8;
	}
}

.msreal-story__chev {
	display: block;
	width: 40px;
	margin: 32px auto 12px;
}

.msreal-story .msreal-story__pre {
	margin: 0;
	color: #555;
	font-size: 0.875rem;
}

.msreal-story .msreal-story__answer {
	margin: 8px 0 0;
	color: var(--wp--preset--color--ai);
	font-size: clamp(1.25rem, 2.6vw, 1.625rem);
	font-weight: 800;
	line-height: 1.6;
}

.msreal-story__answer em {
	border-bottom: 3px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
}

/* 査定でお渡しするもの：左に「査定のご報告」の紙の絵、右にチェックつきの4つ */
.msreal-deliv {
	display: grid;
	gap: 40px;
	max-width: 960px;
	margin: 34px auto 0;
	text-align: left;
}

.msreal-deliv__doc {
	position: relative;
	z-index: 0;
	width: min(420px, 100%);
	margin: 0 auto;
	box-sizing: border-box;
	padding: 28px 28px 22px;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 18px 36px rgba(20, 35, 58, 0.14);
	transform: rotate(-2deg);
}

/* 後ろにもう1枚重なっている紙 */
.msreal-deliv__doc::after {
	content: "";
	position: absolute;
	inset: 10px -10px -10px 10px;
	z-index: -1;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 10px 24px rgba(20, 35, 58, 0.08);
}

.msreal-deliv .msreal-deliv__doc-title {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-align: center;
}

.msreal-deliv .msreal-deliv__doc-sub {
	margin: 2px 0 16px;
	color: #888;
	font-size: 0.6875rem;
	text-align: center;
}

.msreal-deliv__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px solid #eef0f4;
}

.msreal-deliv__row > span:first-child {
	flex: none;
	width: 96px;
	color: var(--wp--preset--color--ai);
	font-size: 0.6875rem;
	font-weight: 700;
}

.msreal-deliv__bars {
	display: flex;
	flex: 1;
	align-items: flex-end;
	gap: 5px;
	height: 32px;
}

.msreal-deliv__bars i {
	display: block;
	flex: 1;
	border-radius: 2px 2px 0 0;
	background: #d7dde7;
}

.msreal-deliv__bars i:nth-child(4) {
	background: var(--wp--preset--color--shinchu);
}

.msreal-deliv__two {
	display: flex;
	flex: 1;
	gap: 8px;
}

.msreal-deliv__two > span {
	flex: 1;
	padding: 5px 8px;
	border: 1px solid #e3e6ec;
	border-radius: 4px;
	color: #666;
	font-size: 0.625rem;
	line-height: 1.5;
}

.msreal-deliv__two b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.75rem;
}

.msreal-deliv__bar {
	flex: 1;
	height: 8px;
	border-radius: 4px;
	background: #e9edf3;
}

.msreal-deliv__bar.is-split {
	background: linear-gradient(90deg, var(--wp--preset--color--shinchu) 0 62%, #efe5d2 62%);
}

.msreal-deliv__list li {
	display: flex;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px dashed #d6d0c3;
}

.msreal-deliv__list li:last-child {
	border-bottom: 0;
}

.msreal-deliv__list svg {
	flex: none;
	width: 30px;
	height: 30px;
}

.msreal-deliv__list b {
	display: block;
	color: var(--wp--preset--color--ai);
}

.msreal-deliv__list span {
	display: block;
	margin-top: 4px;
	color: #555;
	font-size: 0.8125rem;
	line-height: 1.8;
}

@media (max-width: 479px) {
	.msreal-deliv__doc {
		width: calc(100% - 16px);
		padding: 22px 16px 16px;
	}

	.msreal-deliv__row > span:first-child {
		width: 76px;
		font-size: 0.625rem;
	}

	.msreal-deliv__two {
		gap: 6px;
	}

	.msreal-deliv__two > span {
		padding: 4px 6px;
		font-size: 0.5625rem;
		white-space: nowrap;
	}

	.msreal-deliv__two b {
		font-size: 0.6875rem;
	}
}

@media (min-width: 900px) {
	.msreal-deliv {
		grid-template-columns: 420px 1fr;
		gap: 56px;
		align-items: center;
	}
}

.msreal-story .msreal-story__more {
	margin: 28px 0 0;
	font-size: 0.875rem;
}

.msreal-story__more a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

/* 下の端の V 字（次の藍の段につなぐ） */
.msreal-story::after {
	content: "";
	display: block;
	height: clamp(48px, 6vw, 72px);
	margin: clamp(48px, 6vw, 72px) -16px 0;
	background: var(--wp--preset--color--ai);
	clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 0 100%);
}

/* 1. ファーストビュー */
.msreal-hero {
	position: relative;
	box-sizing: border-box;
	padding: clamp(48px, 7vw, 96px) 16px;
	background-color: var(--wp--preset--color--ai);
	/* 写真の上部（照明の映り込み）が切れるよう、下寄せで切り抜く */
	background-position: center 80%;
	background-size: cover;
	color: var(--wp--preset--color--kinari);
}

.msreal-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	/* 写真を明るめに見せる（2026-10-09 悠一さん）。左の文字の下だけ濃く */
	background: linear-gradient(90deg, rgba(20, 35, 58, 0.68) 0%, rgba(20, 35, 58, 0.42) 45%, rgba(20, 35, 58, 0.12) 100%);
	pointer-events: none;
}

.msreal-hero__inner {
	position: relative;
	display: grid;
	gap: 40px;
	align-items: center;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto;
}

body .msreal-hero__inner > * {
	margin-block: 0;
}

.msreal-hero .msreal-hero__catch {
	margin: 0;
	color: var(--wp--preset--color--kinari);
	/* 見出しは 2026-10-23 から丸ゴシック。縦書きのキャッチだけ明朝のまま（悠一さん「1で行こう」） */
	font-family: var(--wp--preset--font-family--mincho);
	font-size: clamp(1.75rem, 3vw, 2.625rem);
	font-weight: 800;
	line-height: 1.7;
	letter-spacing: 0.16em;
	writing-mode: vertical-rl;
	/* 1行（1列）の途中で折り返さない。スマホでは列の長さが画面の幅で決まり「くらべてか／ら。」のように切れていたため */
	white-space: nowrap;
}

/* キャッチの文字が下から上へ流れて現れる（「買取か、仲介か。」→「まずは、」→「くらべてから。」の順） */
.msreal-hero__line {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
}

.msreal-hero__line > span {
	display: inline-block;
	animation: msreal-hero-rise 1.2s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.msreal-hero__line:nth-of-type(2) > span {
	animation-delay: 0.7s;
}

.msreal-hero__line:nth-of-type(3) > span {
	animation-delay: 1.3s;
}

@keyframes msreal-hero-rise {
	from {
		opacity: 0;
		transform: translateY(100%);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 動きを減らす設定の人には、最初から表示する */
@media (prefers-reduced-motion: reduce) {
	.msreal-hero__line > span {
		animation: none;
	}
}

.msreal-hero .msreal-hero__lead {
	margin-top: 32px;
	font-size: 0.9375rem;
	line-height: 2;
	opacity: 0.92;
}

/* 査定カード */
.msreal-satei-card {
	box-sizing: border-box;
	display: grid;
	gap: 16px;
	width: 100%;
	padding: 28px 24px;
	background: var(--wp--preset--color--white);
	border-top: 3px solid var(--wp--preset--color--shinchu);
	border-radius: 4px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
	color: var(--wp--preset--color--sumi);
}

.msreal-satei-card p {
	margin: 0;
}

.msreal-satei-card .msreal-satei-card__title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 12px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-satei-card__title span {
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
}

.msreal-satei-card__field {
	display: grid;
	gap: 6px;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
}

.msreal-satei-card select {
	box-sizing: border-box;
	width: 100%;
	padding: 12px 40px 12px 14px;
	border: 1px solid #cfc6b5;
	border-radius: 3px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2314233A' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center / 12px 8px;
	color: var(--wp--preset--color--sumi);
	font: inherit;
	font-size: 1rem;
	font-weight: 400;
	appearance: none;
}

.msreal-satei-card select:focus-visible {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: 1px;
}

.msreal-satei-card .msreal-satei-card__submit {
	width: 100%;
	padding: 16px;
	border: 0;
	font-size: 1.0625rem;
	cursor: pointer;
}

.msreal-satei-card .msreal-satei-card__note {
	color: #555;
	font-size: 0.75rem;
	line-height: 1.8;
}

.msreal-satei-card__note .msreal-tel {
	color: var(--wp--preset--color--ai);
	font-size: 1rem;
	font-weight: 700;
	text-decoration: none;
}

@media (min-width: 900px) {
	.msreal-hero__inner {
		grid-template-columns: 1fr 400px;
		min-height: min(68vh, 600px);
	}

	/* 縦書きキャッチの左側に、説明文を下そろえで置く */
	.msreal-hero__copy {
		display: flex;
		align-items: flex-end;
		gap: 48px;
	}

	body .msreal-hero__copy > * {
		margin-block: 0;
	}

	.msreal-hero .msreal-hero__lead {
		margin: 0;
	}

	.msreal-satei-card {
		justify-self: end;
	}
}

/* スマホ・タブレット：査定カードの代わりに、査定ページへのボタン1つ */
.msreal-hero__satei-link {
	margin: 0;
}

/* 1行・中身の幅だけ・中央・丸い形・真鍮の塗り（2026-10-09 悠一さん） */
.msreal-hero .msreal-hero__satei-link {
	text-align: center;
}

.msreal-hero__satei-link a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 28px;
	background: var(--wp--preset--color--shinchu);
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-hero__satei-link a::after {
	content: "→";
}

.msreal-hero__satei-link span {
	display: none;
}

@media (max-width: 899px) {
	.msreal-hero .msreal-satei-card {
		display: none;
	}

	/* 縦長の画面では縦の写真 hero-sp.jpg を使う（functions.php）。中央で切り抜く */
	.msreal-hero {
		background-position: center;
	}
}

@media (min-width: 900px) {
	.msreal-hero__satei-link {
		display: none;
	}
}

/* キャッチ：PCは2列、スマホは「まずは、」で区切って3列 */
@media (min-width: 600px) {
	.msreal-hero__sp-br {
		display: none;
	}
}

@media (max-width: 599px) {
	.msreal-hero__lead br {
		display: none;
	}
}

/* 2. お悩み */
.msreal-section .msreal-worries__list {
	display: grid;
	gap: 12px;
	align-items: start;
	margin-top: 40px;
}

body .msreal-worries__list > * {
	margin-block: 0;
}

@media (min-width: 782px) {
	.msreal-section .msreal-worries__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 3. 買取と仲介の比較表 */
.wp-block-table.msreal-compare {
	margin-top: 40px;
}

.wp-block-table.msreal-compare table {
	width: 100%;
	border-collapse: collapse;
	background: var(--wp--preset--color--white);
	font-size: 0.9375rem;
}

.wp-block-table.msreal-compare th,
.wp-block-table.msreal-compare td {
	padding: 16px 12px;
	border: 0;
	border-bottom: 1px solid rgba(184, 147, 90, 0.4);
	text-align: center;
	vertical-align: middle;
}

.wp-block-table.msreal-compare thead {
	border: 0;
}

.wp-block-table.msreal-compare thead th {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--kinari);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.5;
}

.wp-block-table.msreal-compare th:not(:first-child) {
	width: 25%;
}

.wp-block-table.msreal-compare th:first-child,
.wp-block-table.msreal-compare td:first-child {
	text-align: left;
}

/* 〇／ーはゴシックで（明朝の「ー」は筆の形になるため） */
.wp-block-table.msreal-compare td:not(:first-child) {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1;
}

.wp-block-table.msreal-compare figcaption {
	margin-top: 16px;
	color: #555;
	font-size: 0.8125rem;
	text-align: left;
}

@media (max-width: 599px) {
	.wp-block-table.msreal-compare table {
		font-size: 0.8125rem;
	}

	.wp-block-table.msreal-compare th,
	.wp-block-table.msreal-compare td {
		padding: 12px 8px;
	}

	.wp-block-table.msreal-compare thead th {
		font-size: 0.875rem;
	}
}

/* 4. 選ばれる理由 */
.msreal-section .msreal-reasons__list {
	display: grid;
	gap: 1px;
	margin-top: 40px;
	background: rgba(184, 147, 90, 0.45);
	border: 1px solid rgba(184, 147, 90, 0.45);
}

body .msreal-reasons__list > * {
	margin-block: 0;
}

.msreal-reason {
	padding: 32px 28px;
	background: var(--wp--preset--color--kinari);
}

.msreal-reason .msreal-reason__num {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 2rem;
	line-height: 1;
}

.msreal-reason .msreal-reason__title {
	margin: 16px 0 12px;
	font-size: 1.25rem;
}

.msreal-reason p:last-child {
	margin: 0;
	font-size: 0.9375rem;
}

@media (min-width: 782px) {
	.msreal-section .msreal-reasons__list {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* トップの6つの約束：左に見出し、右に白い紙のパネル（2026-10-13） */
.msreal-pledge {
	position: relative;
	overflow: hidden;
	padding: clamp(48px, 6vw, 72px) 16px clamp(72px, 9vw, 110px);
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-pledge .msreal-pledge__wm {
	position: absolute;
	right: -10px;
	bottom: 24px;
	margin: 0;
	color: rgba(255, 255, 255, 0.04);
	font-family: var(--wp--preset--font-family--sans);
	font-size: clamp(5rem, 14vw, 10.5rem);
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
	user-select: none;
}

.msreal-pledge__inner {
	position: relative;
	display: grid;
	gap: 40px;
	max-width: 1080px;
	margin: 0 auto;
}

.msreal-pledge .msreal-pledge__title {
	margin: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.625rem, 3vw, 2.125rem);
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: 0.06em;
}

.msreal-pledge__title > span {
	display: inline-block;
}

.msreal-pledge__title em {
	color: #e2c48f;
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-pledge .msreal-pledge__lead {
	margin: 20px 0 0;
	color: #cfd6e2;
	font-size: 0.875rem;
	line-height: 2;
}

.msreal-pledge__more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 26px;
	padding: 12px 24px;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s;
}

.msreal-pledge__more:hover,
.msreal-pledge__more:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: var(--wp--preset--color--white);
}

.msreal-pledge__more span {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-size: 0.75rem;
	line-height: 1;
}

/* 約束の「レインズ」から仲介ページの説明へ（2026-10-16） */
.msreal-pledge .msreal-pledge__sub {
	display: flex;
	align-items: center;
	gap: 6px;
	width: max-content;
	margin-top: 14px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.8rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.msreal-pledge .msreal-pledge__sub:hover,
.msreal-pledge .msreal-pledge__sub:focus-visible {
	color: var(--wp--preset--color--white);
}

.msreal-vow .msreal-vow__more {
	margin: 6px 0 0;
	font-size: 0.82rem;
}

.msreal-vow__more a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-underline-offset: 3px;
}

.msreal-vow__more a::after {
	content: " →";
	color: var(--wp--preset--color--shinchu);
}
.msreal-pledge__paper {
	position: relative;
	padding: 36px 36px 30px;
	border-radius: 20px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 24px 50px rgba(0, 0, 0, 0.28);
	color: var(--wp--preset--color--ai);
}

/* 紙の上のふちの真鍮の線 */
.msreal-pledge__paper::before {
	content: "";
	position: absolute;
	top: 0;
	left: 36px;
	right: 36px;
	height: 4px;
	border-radius: 0 0 4px 4px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-pledge__list {
	display: grid;
	gap: 0 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-pledge__list li {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px dashed #d8dde6;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.6;
}

.msreal-pledge__num {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1.5px solid var(--wp--preset--color--shinchu);
	border-radius: 50%;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.875rem;
	font-weight: 800;
}

.msreal-pledge__text span {
	display: inline-block;
}

.msreal-pledge .msreal-pledge__sign {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 14px;
	margin: 18px 0 0;
	padding-top: 16px;
	border-top: 1px solid #e6e9ef;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.msreal-pledge__sign::before {
	content: "";
	width: 40px;
	height: 1px;
	background: var(--wp--preset--color--shinchu);
}

@media (max-width: 899px) {
	.msreal-pledge__list li:last-child {
		border-bottom: 0;
	}
}

@media (min-width: 900px) {
	.msreal-pledge__inner {
		grid-template-columns: 300px 1fr;
		gap: 48px;
		align-items: center;
	}

	.msreal-pledge__list {
		grid-template-columns: 1fr 1fr;
	}

	.msreal-pledge__list li:nth-last-child(-n + 2) {
		border-bottom: 0;
	}
}

@media (max-width: 479px) {
	.msreal-pledge__paper {
		padding: 28px 20px 22px;
	}

	.msreal-pledge__paper::before {
		left: 20px;
		right: 20px;
	}

	.msreal-pledge__list li {
		gap: 12px;
		font-size: 0.875rem;
	}

	.msreal-pledge__num {
		width: 36px;
		height: 36px;
	}
}


/* 約束の円（PC だけ。スマホは白い紙のパネルの一覧） */
.msreal-wheel {
	display: none;
	width: 100%;
	max-width: 600px;
	height: auto;
}

.msreal-wheel__seg {
	fill: var(--wp--preset--color--white);
}

.msreal-wheel__seg.is-alt {
	fill: var(--wp--preset--color--kinari);
}

.msreal-wheel text {
	font-family: var(--wp--preset--font-family--sans);
	text-anchor: middle;
}

.msreal-wheel__num {
	fill: #9c7a45;
	font-size: 34px;
	font-weight: 800;
}

.msreal-wheel__text {
	fill: var(--wp--preset--color--ai);
	font-size: 15px;
	font-weight: 700;
}

.msreal-wheel__hub {
	fill: var(--wp--preset--color--shinchu);
}

.msreal-wheel__ring {
	fill: none;
	stroke: var(--wp--preset--color--white);
	stroke-width: 1.2;
	stroke-dasharray: 3 5;
}

.msreal-wheel__en {
	fill: var(--wp--preset--color--white);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 3px;
}

.msreal-wheel text.msreal-wheel__hub-text {
	fill: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 24px;
	font-weight: 800;
}

.msreal-wheel text.msreal-wheel__hub-text.is-large {
	font-size: 28px;
}

.msreal-pledge .msreal-pledge__sign.is-pc {
	display: none;
	justify-content: flex-start;
	margin-top: 34px;
	padding-top: 0;
	border-top: 0;
	color: #e7d3b1;
}

@media (min-width: 900px) {
	.msreal-pledge .msreal-pledge__inner {
		grid-template-columns: minmax(0, 600px) 1fr;
		gap: 56px;
	}

	.msreal-wheel {
		display: block;
	}

	.msreal-pledge .msreal-pledge__sign.is-pc {
		display: flex;
	}

	/* PC では円で見せるので、一覧は読み上げ用にだけ残す */
	.msreal-pledge__paper {
		position: absolute !important;
		width: 1px;
		height: 1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}
}

/* トップの比較：買取と仲介のカードを向かい合わせる（2026-10-13） */
.msreal-vs {
	position: relative;
	padding: clamp(72px, 9vw, 100px) 16px;
	background: var(--wp--preset--color--white);
	text-align: center;
}

.msreal-vs .msreal-vs__pre {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-vs .msreal-vs__title {
	margin: 10px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	letter-spacing: 0.06em;
}

.msreal-vs__title > span {
	display: inline-block;
}

.msreal-vs__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-vs .msreal-vs__lead {
	margin: 14px 0 0;
	color: #555;
	font-size: 0.875rem;
}

/* ものさし */
.msreal-vs__scale {
	max-width: 640px;
	margin: 30px auto 0;
}

.msreal-vs__ends {
	display: flex;
	justify-content: space-between;
	color: var(--wp--preset--color--ai);
	font-size: 0.75rem;
	font-weight: 700;
}

.msreal-vs__ends span:first-child::before {
	content: "\2190\00a0";
	color: var(--wp--preset--color--shinchu);
}

.msreal-vs__ends span:last-child::after {
	content: "\00a0\2192";
	color: var(--wp--preset--color--shinchu);
}

.msreal-vs__track {
	position: relative;
	height: 6px;
	margin: 14px 24px 12px;
	border-radius: 3px;
	background: linear-gradient(90deg, #14233a, #d9dee7 50%, #14233a);
}

.msreal-vs__track span {
	position: absolute;
	top: 50%;
	padding: 5px 16px;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(20, 35, 58, 0.15);
	font-size: 0.75rem;
	font-weight: 800;
	white-space: nowrap;
	transform: translate(-50%, -50%);
}

.msreal-vs__track .is-kaitori {
	left: 14%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-vs__track .is-chukai {
	left: 86%;
	border: 2px solid var(--wp--preset--color--ai);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
}

/* カード */
.msreal-vs__cards {
	position: relative;
	display: grid;
	gap: 36px;
	max-width: 1000px;
	margin: 40px auto 0;
	text-align: left;
}

.msreal-vs__or {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 8px var(--wp--preset--color--white), 0 0 0 9.5px var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
	font-weight: 800;
	transform: translate(-50%, -50%);
}

.msreal-vs__card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 34px 36px 30px;
	border-radius: 20px;
}

.msreal-vs__card > * {
	position: relative;
	z-index: 1;
}

.msreal-vs__card.is-kaitori {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-vs__card.is-chukai {
	border: 2px solid var(--wp--preset--color--ai);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
}

.msreal-vs__card .msreal-vs__kanji {
	position: absolute;
	right: -18px;
	bottom: -60px;
	z-index: 0;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 260px;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

.is-kaitori .msreal-vs__kanji {
	color: rgba(255, 255, 255, 0.05);
}

.is-chukai .msreal-vs__kanji {
	color: rgba(20, 35, 58, 0.05);
}

.msreal-vs__tag {
	align-self: flex-start;
	padding: 4px 14px;
	border-radius: 999px;
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.is-kaitori .msreal-vs__tag {
	background: var(--wp--preset--color--shinchu);
}

.is-chukai .msreal-vs__tag {
	background: var(--wp--preset--color--ai);
}

.msreal-vs .msreal-vs__name {
	margin: 14px 0 0;
	color: inherit;
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(2rem, 4vw, 2.5rem);
	font-weight: 800;
	letter-spacing: 0.1em;
}

.msreal-vs .msreal-vs__desc {
	margin: 8px 0 0;
	font-size: 0.875rem;
	line-height: 1.9;
}

.is-kaitori .msreal-vs__desc {
	color: #cfd6e2;
}

.is-chukai .msreal-vs__desc {
	color: #555;
}

.msreal-vs .msreal-vs__for {
	margin: 22px 0 10px;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.is-kaitori .msreal-vs__for {
	color: #e7d3b1;
}

.is-chukai .msreal-vs__for {
	color: var(--wp--preset--color--shinchu);
}

.msreal-vs__list {
	flex: 1;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-vs__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 0;
	font-size: 0.9375rem;
	font-weight: 700;
}

.is-kaitori .msreal-vs__list li {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.is-chukai .msreal-vs__list li {
	border-top: 1px solid #e6e9ef;
}

.msreal-vs__list svg {
	flex: none;
	width: 24px;
	height: 24px;
}

.msreal-vs__list small {
	display: block;
	font-size: 0.6875rem;
	font-weight: 400;
	opacity: 0.75;
}

/* スマホで「〜したい」の最後の1文字だけが次の行に落ちないように、言葉の切れ目で折り返す */
.msreal-vs__list li > span,
.msreal-vs__spec dd {
	word-break: auto-phrase;
}

/* 進め方の違い（/sell/ だけ。左右のカードで同じ高さに並ぶよう、行の文の長さをそろえている） */
.msreal-vs__card.has-spec .msreal-vs__list {
	flex: none;
}

/* PC：左右のカードの中の段（札・名前・説明・向いている方・進め方の違い・ボタン）を同じ高さにそろえる（subgrid） */
@media (min-width: 900px) {
	.msreal-vs__cards:has(.has-spec) {
		grid-template-rows: repeat(8, auto);
		row-gap: 0;
	}

	.msreal-vs__card.has-spec {
		display: grid;
		grid-row: span 8;
		grid-template-rows: subgrid;
		row-gap: 0;
	}

	.msreal-vs__card.has-spec .msreal-vs__tag,
	.msreal-vs__card.has-spec .msreal-vs__btn {
		justify-self: start;
	}

	.msreal-vs__card.has-spec .msreal-vs__btn {
		align-self: end;
	}
}

.msreal-vs__list + .msreal-vs__for {
	margin-top: 26px;
}

.msreal-vs .msreal-vs__spec {
	flex: 1;
	margin: 0;
	padding: 0;
}

.msreal-vs__spec div {
	display: grid;
	grid-template-columns: 7.5em 1fr;
	gap: 12px;
	padding: 11px 0;
	border-top: 1px solid rgba(20, 35, 58, 0.12);
	font-size: 0.8125rem;
	line-height: 1.7;
}

.msreal-vs__spec div:last-child {
	border-bottom: 1px solid rgba(20, 35, 58, 0.12);
}

.msreal-vs__spec dt {
	color: #8a6a35;
	font-weight: 700;
}

.msreal-vs__spec dd {
	margin: 0;
	color: #444;
}

.is-kaitori .msreal-vs__spec div {
	border-color: rgba(255, 255, 255, 0.16);
}

.is-kaitori .msreal-vs__spec dt {
	color: #e2c48f;
}

.is-kaitori .msreal-vs__spec dd {
	color: #e6eaf1;
}

.msreal-vs__btn {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 10px;
	margin-top: 22px;
	padding: 12px 24px;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transition: opacity 0.2s;
}

.msreal-vs__btn:hover,
.msreal-vs__btn:focus-visible {
	opacity: 0.85;
}

.msreal-vs__btn span {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	font-size: 0.75rem;
	line-height: 1;
}

.is-kaitori .msreal-vs__btn,
.is-kaitori .msreal-vs__btn:hover {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
}

.is-kaitori .msreal-vs__btn span {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.is-chukai .msreal-vs__btn,
.is-chukai .msreal-vs__btn:hover {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.is-chukai .msreal-vs__btn span {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
}

/* 下の帯（迷ったら） */
.msreal-vs__bottom {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	max-width: 1000px;
	box-sizing: border-box;
	margin: 56px auto 0;
	padding: 22px 24px;
	border-radius: 16px;
	background: var(--wp--preset--color--kinari);
	text-align: left;
}

.msreal-vs__bottom img {
	display: none;
}

.msreal-vs .msreal-vs__bottom p {
	margin: 0;
	color: #555;
	font-size: 0.8125rem;
	line-height: 1.9;
}

.msreal-vs__bottom b {
	display: block;
	margin-bottom: 4px;
	color: var(--wp--preset--color--ai);
	font-size: 1rem;
}

/* スマホ・タブレットはカードが縦に並ぶので、「or」はカードの間に置く */
@media (max-width: 899px) {
	.msreal-vs__cards {
		gap: 0;
	}

	.msreal-vs__or {
		position: static;
		order: 1;
		justify-self: center;
		width: 52px;
		height: 52px;
		margin: 18px 0;
		font-size: 1.125rem;
		transform: none;
	}

	.msreal-vs__card.is-chukai {
		order: 2;
	}
}

@media (min-width: 900px) {
	.msreal-vs__cards {
		grid-template-columns: 1fr 1fr;
	}

	.msreal-vs__bottom {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 24px;
		padding: 22px 30px 22px 150px;
	}

	.msreal-vs__bottom img {
		position: absolute;
		left: 24px;
		bottom: 0;
		display: block;
		width: 104px;
		height: auto;
	}
}

@media (max-width: 479px) {
	.msreal-vs__card {
		padding: 28px 22px 24px;
	}

	.msreal-vs__track {
		margin-inline: 30px;
	}

	.msreal-vs__track .is-kaitori {
		left: 10%;
	}

	.msreal-vs__track .is-chukai {
		left: 90%;
	}
}

/* トップの選ばれる理由：縁取りの「3」＋大きな文字のカード＋下町のイラスト（2026-10-13） */
.msreal-strengths {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 9vw, 100px) 16px 0;
	background: var(--wp--preset--color--kinari);
}

.msreal-strengths__head {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 8px 22px;
	max-width: 1000px;
	margin: 0 auto;
}

.msreal-strengths__big {
	color: transparent;
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(5.5rem, 12vw, 9.5rem);
	font-weight: 800;
	line-height: 0.8;
	-webkit-text-stroke: 2px var(--wp--preset--color--shinchu);
}

.msreal-strengths .msreal-strengths__title {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.375rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.msreal-strengths__title small {
	display: block;
	margin-bottom: 6px;
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-strengths__title > span {
	display: inline-block;
}

.msreal-strengths .msreal-strengths__lead {
	grid-column: 1 / -1;
	margin: 18px 0 0;
	color: #555;
	font-size: 0.875rem;
	line-height: 2;
}

.msreal-strengths__cards {
	display: grid;
	gap: 22px;
	max-width: 1000px;
	margin: 44px auto 0;
	padding: 0;
	list-style: none;
}

.msreal-strengths__card {
	position: relative;
	padding: 32px 28px 30px;
	border-radius: 22px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 14px 30px rgba(20, 35, 58, 0.08);
}

/* 上のふちの真鍮の線 */
.msreal-strengths__card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 28px;
	width: 56px;
	height: 4px;
	border-radius: 0 0 4px 4px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-strengths__no {
	position: absolute;
	top: 24px;
	right: 24px;
	color: #c9bfae;
	font-size: 0.6875rem;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.msreal-strengths .msreal-strengths__mark {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(3.25rem, 6vw, 4rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.04em;
}

.msreal-strengths__mark small {
	display: block;
	margin-bottom: 6px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-strengths .msreal-strengths__flow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 14px 0 0;
}

.msreal-strengths__flow span {
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--ai);
	font-size: 0.6875rem;
	font-weight: 700;
	white-space: nowrap;
}

.msreal-strengths__flow i {
	color: var(--wp--preset--color--shinchu);
	font-size: 0.6875rem;
	font-style: normal;
	font-weight: 800;
}

.msreal-strengths .msreal-strengths__card-title {
	margin: 20px 0 0;
	padding-top: 20px;
	border-top: 1px solid #ece6da;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-strengths .msreal-strengths__body {
	margin: 12px 0 0;
	color: #555;
	font-size: 0.875rem;
	line-height: 1.95;
}

.msreal-strengths .msreal-strengths__more {
	max-width: 1000px;
	margin: 40px auto 0;
	text-align: right;
}

.msreal-strengths__more a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 24px;
	border: 1.5px solid var(--wp--preset--color--ai);
	border-radius: 999px;
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s;
}

.msreal-strengths__more a:hover,
.msreal-strengths__more a:focus-visible {
	background: rgba(20, 35, 58, 0.06);
	color: var(--wp--preset--color--ai);
}

.msreal-strengths__more a span {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	line-height: 1;
}

/* 下町のイラスト（段の下の端に横長に） */
.msreal-strengths__town {
	display: block;
	width: min(1000px, 100%);
	height: auto;
	margin: 24px auto 0;
}

@media (min-width: 900px) {
	.msreal-strengths__head {
		grid-template-columns: auto 1fr 330px;
	}

	.msreal-strengths .msreal-strengths__lead {
		position: relative;
		grid-column: auto;
		margin: 0;
		padding-left: 28px;
	}

	.msreal-strengths__lead::before {
		content: "";
		position: absolute;
		top: 6px;
		bottom: 6px;
		left: 0;
		width: 1px;
		background: #cdbfa6;
	}

	.msreal-strengths__cards {
		grid-template-columns: repeat(3, 1fr);
		align-items: start;
		gap: 26px;
	}

	.msreal-strengths__card:nth-child(2) {
		margin-top: 48px;
	}
}

@media (max-width: 479px) {
	.msreal-strengths .msreal-strengths__more {
		text-align: center;
	}
}


/* 3枚目のカードの上に座る猫 */
.msreal-strengths__card .msreal-strengths__cat {
	position: absolute;
	top: -52px;
	right: 70px;
	width: 62px;
	height: auto;
}

/* スマホ・タブレット用に散らす絵（見出しの右・カードのすき間・一番下） */
.msreal-strengths__sp {
	display: none;
}

@media (max-width: 899px) {
	.msreal-strengths__sp {
		position: absolute;
		display: block;
		height: auto;
		pointer-events: none;
	}

	/* スカイツリーは見出しのすぐ右に、見出しと同じ高さで */
	.msreal-strengths__head {
		grid-template-columns: auto auto 1fr;
		column-gap: 12px;
	}

	.msreal-strengths .msreal-strengths__title {
		font-size: 1.125rem;
		letter-spacing: 0.02em;
	}

	.msreal-strengths__big {
		grid-column: 1;
		grid-row: 1;
	}

	.msreal-strengths .msreal-strengths__title {
		grid-column: 2;
		grid-row: 1;
	}

	.msreal-strengths__head .is-skytree {
		position: static;
		grid-column: 3;
		grid-row: 1;
		align-self: end;
		width: auto;
		height: 84px;
	}

	/* カードのすき間を広げて、絵と猫を置く */
	.msreal-strengths__cards {
		gap: 58px;
	}

	.msreal-strengths__card .is-bike {
		right: 22px;
		bottom: -52px;
		width: 64px;
	}

	.msreal-strengths__card .is-house {
		left: 26px;
		bottom: -48px;
		width: 54px;
	}

	.msreal-strengths__card .is-gate {
		left: 22px;
		bottom: -54px;
		width: 72px;
	}

	.msreal-strengths__card .msreal-strengths__cat {
		top: -54px;
	}

	/* 一番下は横長の1枚をやめ、家並みと電車を左右に */
	.msreal-strengths__town {
		display: none;
	}

	.msreal-strengths__decor {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		max-width: 420px;
		margin: 28px auto 0;
	}

	.msreal-strengths__decor img {
		display: none;
		height: auto;
	}

	.msreal-strengths__decor .is-houses {
		display: block;
		width: 44%;
	}

	.msreal-strengths__decor .is-train {
		display: block;
		width: 46%;
	}
}

/* 散らした下町のイラスト（広い画面だけ。狭い画面は横長の1枚） */
.msreal-strengths__decor {
	display: none;
}

@media (min-width: 1500px) {
	.msreal-strengths {
		padding-bottom: 110px;
	}

	.msreal-strengths__town {
		display: none;
	}

	.msreal-strengths__decor {
		position: absolute;
		inset: 0;
		display: block;
		pointer-events: none;
	}

	.msreal-strengths__decor img {
		position: absolute;
		height: auto;
	}

	.msreal-strengths__decor .is-skytree { top: 40px; left: calc(50% - 700px); width: 120px; }
	.msreal-strengths__decor .is-house { top: 236px; left: calc(50% - 596px); width: 58px; }
	.msreal-strengths__decor .is-houses { top: 470px; left: calc(50% - 735px); width: 200px; }
	.msreal-strengths__decor .is-bike { top: 720px; left: calc(50% - 680px); width: 116px; }
	.msreal-strengths__decor .is-gate { top: 70px; left: calc(50% + 530px); width: 180px; }
	.msreal-strengths__decor .is-train { top: 330px; left: calc(50% + 522px); width: 210px; }
	.msreal-strengths__decor .is-plants { top: 600px; left: calc(50% + 640px); width: 78px; }
	.msreal-strengths__decor .is-bridge { top: 740px; left: calc(50% + 515px); width: 220px; }
}

/* トップの対応エリア：23区を地図のようにタイルで並べる（2026-10-13） */
.msreal-areamap {
	padding: clamp(72px, 9vw, 100px) 16px;
	background: var(--wp--preset--color--white);
}

.msreal-areamap__inner {
	display: grid;
	gap: 36px;
	max-width: 1060px;
	margin: 0 auto;
}

.msreal-areamap .msreal-areamap__pre {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-areamap .msreal-areamap__title {
	margin: 10px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.625rem, 3vw, 2.125rem);
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.06em;
}

.msreal-areamap__title > span {
	display: inline-block;
}

.msreal-areamap__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-areamap .msreal-areamap__lead {
	margin: 18px 0 0;
	color: #555;
	font-size: 0.875rem;
	line-height: 2;
}

.msreal-areamap__legend {
	display: grid;
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
}

.msreal-areamap__legend li {
	display: flex;
	align-items: center;
	gap: 10px;
}

.msreal-areamap__legend i {
	display: inline-block;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	border: 1px solid #d8dde6;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
}

.msreal-areamap__legend i.is-page {
	border: 0;
	background: var(--wp--preset--color--ai);
}

.msreal-areamap__legend i.is-focus {
	border: 2px solid var(--wp--preset--color--shinchu);
}

.msreal-areamap__hq {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 26px;
	padding: 16px 18px;
	border-radius: 14px;
	background: var(--wp--preset--color--kinari);
}

.msreal-areamap__hq svg {
	flex: none;
	width: 34px;
	height: 34px;
}

.msreal-areamap .msreal-areamap__hq p {
	margin: 0;
}

.msreal-areamap__hq b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
}

.msreal-areamap__hq span {
	color: #555;
	font-size: 0.8125rem;
}

.msreal-areamap .msreal-areamap__note {
	margin: 16px 0 0;
	color: #777;
	font-size: 0.75rem;
	line-height: 1.8;
}

/* 地図の箱 */
.msreal-areamap__box {
	position: relative;
	padding: 44px 40px 40px;
	border-radius: 28px;
	background: var(--wp--preset--color--kinari);
}

.msreal-areamap .msreal-areamap__compass {
	position: absolute;
	top: 26px;
	left: 30px;
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-size: 0.6875rem;
	font-weight: 800;
	text-align: center;
}

.msreal-areamap__compass svg {
	display: block;
	width: 20px;
	margin: 0 auto 2px;
}

.msreal-areamap__map {
	--tile: 86px;
	display: grid;
	grid-template-columns: repeat(6, var(--tile));
	grid-template-rows: repeat(6, var(--tile));
	gap: 9px;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-areamap__cell {
	position: relative;
}

.msreal-areamap__tile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border: 1px solid #dcd6ca;
	border-radius: 14px;
	background: var(--wp--preset--color--white);
	color: #7a7f88;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: transform 0.25s, box-shadow 0.25s;
}

.msreal-areamap__tile.is-focus {
	border: 2px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
}

.msreal-areamap__tile.is-page {
	border: 0;
	background: var(--wp--preset--color--ai);
	box-shadow: 0 8px 16px rgba(20, 35, 58, 0.18);
	color: var(--wp--preset--color--white);
}

.msreal-areamap__sub {
	margin-top: 2px;
	color: #e7d3b1;
	font-size: 0.625rem;
	font-weight: 700;
}

.msreal-areamap__badge {
	margin-bottom: 3px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #e7d3b1;
	color: var(--wp--preset--color--ai);
	font-size: 0.625rem;
	font-weight: 800;
}

/* 区らしい小さな絵（PC だけ） */
.msreal-areamap__icon {
	position: absolute;
	display: none;
	height: auto;
	pointer-events: none;
}

/* マウスを載せたときの案内（PC だけ） */
.msreal-areamap__tip {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 3;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.6875rem;
	font-weight: 800;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 4px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

.msreal-areamap__tip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	border: 5px solid transparent;
	border-top-color: var(--wp--preset--color--shinchu);
	transform: translateX(-50%);
}

.msreal-areamap .msreal-areamap__bay {
	position: absolute;
	right: 42px;
	bottom: 30px;
	margin: 0;
	color: #9aa6b8;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-align: right;
}

.msreal-areamap__bay svg {
	display: block;
	width: 150px;
	margin-left: auto;
}

.msreal-areamap__cat {
	position: absolute;
	left: 46px;
	bottom: 20px;
	width: 64px;
	height: auto;
}

/* 画面に入ったら、城東から順にふわっと現れる（site.js が is-waiting → is-in を付ける） */
.msreal-areamap__map.is-waiting .msreal-areamap__cell {
	opacity: 0;
	transform: translateY(14px) scale(0.92);
}

.msreal-areamap__map.is-waiting.is-in .msreal-areamap__cell {
	opacity: 1;
	transform: none;
	transition: opacity 0.5s ease, transform 0.5s ease;
	transition-delay: calc(var(--d) * 90ms);
}

@media (hover: hover) and (min-width: 900px) {
	.msreal-areamap__tile:hover,
	.msreal-areamap__tile:focus-visible {
		z-index: 2;
		transform: translateY(-4px);
		box-shadow: 0 14px 24px rgba(20, 35, 58, 0.22);
	}

	.msreal-areamap__tile:hover .msreal-areamap__tip,
	.msreal-areamap__tile:focus-visible .msreal-areamap__tip {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
	}
}

/* 見出しと地図の横並びは、地図（約640px）が入りきる 1100px から。それより狭いと縦に並べる */
@media (min-width: 1100px) {
	.msreal-areamap__inner {
		grid-template-columns: 360px 1fr;
		gap: 50px;
		align-items: center;
	}
}

@media (min-width: 900px) {
	.msreal-areamap__icon {
		display: block;
		top: -14px;
		right: -10px;
		width: 34px;
	}

	.msreal-areamap__icon.is-skytree {
		top: -38px;
		width: 22px;
	}

	.msreal-areamap__icon.is-gate,
	.msreal-areamap__icon.is-houses,
	.msreal-areamap__icon.is-train,
	.msreal-areamap__icon.is-bridge {
		width: 40px;
	}
}

/* スマホ・タブレット：タイルを小さくして同じ地図を入れる */
@media (max-width: 899px) {
	.msreal-areamap__box {
		padding: 40px 12px 56px;
		border-radius: 20px;
	}

	.msreal-areamap__map {
		--tile: min(86px, calc((100vw - 32px - 24px - 25px) / 6));
		gap: 5px;
	}

	.msreal-areamap__tile {
		border-radius: 10px;
		font-size: 0.6875rem;
		letter-spacing: 0;
	}

	.msreal-areamap__sub {
		display: none;
	}

	.msreal-areamap__badge {
		margin-bottom: 2px;
		padding: 0 5px;
		font-size: 0.5625rem;
	}

	.msreal-areamap__tip {
		display: none;
	}

	.msreal-areamap .msreal-areamap__compass {
		top: 12px;
		left: 14px;
	}

	.msreal-areamap .msreal-areamap__bay {
		right: 16px;
		bottom: 14px;
	}

	.msreal-areamap__bay svg {
		width: 90px;
	}

	.msreal-areamap__cat {
		left: 18px;
		bottom: 12px;
		width: 40px;
	}
}

/*
 * トップ：よくあるご質問（便箋の形。patterns/top-faq.php）
 * 白い紙に3問を開いたまま並べる。PC（1024px以上）は左に見出し・ほかの質問・ボタン、右に紙。
 * スマホは 見出し → 紙 → ほかの質問・ボタン の順。
 */
.msreal-qa {
	padding: clamp(72px, 9vw, 110px) 16px;
	background: var(--wp--preset--color--kinari);
}

.msreal-qa__inner {
	display: grid;
	grid-template-areas: "text" "paper" "more";
	gap: 32px;
	max-width: 1080px;
	margin: 0 auto;
}

.msreal-qa__text {
	grid-area: text;
}

.msreal-qa__paper {
	grid-area: paper;
}

.msreal-qa__more {
	grid-area: more;
}

.msreal-qa .msreal-qa__pre {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-qa .msreal-qa__title {
	margin: 10px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.625rem, 2.6vw, 1.875rem);
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

.msreal-qa__title > span {
	display: inline-block;
}

.msreal-qa__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-qa .msreal-qa__lead {
	margin: 18px 0 0;
	color: #555;
	font-size: 0.875rem;
	line-height: 2;
}

/* 白い紙 */
.msreal-qa__paper {
	box-sizing: border-box;
	padding: 22px 20px 16px;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 18px 40px rgba(20, 35, 58, 0.1);
}

.msreal-qa .msreal-qa__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin: 0;
	padding: 4px 0 14px;
	border-bottom: 1px solid var(--wp--preset--color--ai);
}

.msreal-qa__head b {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1rem;
	letter-spacing: 0.14em;
}

.msreal-qa__head span {
	color: #8b8b8b;
	font-size: 0.75rem;
}

.msreal-qa .msreal-qa__list {
	margin: 0;
}

.msreal-qa__item {
	padding: 22px 0 20px;
	border-bottom: 1px dashed #cfc3ad;
}

.msreal-qa__item:last-child {
	border-bottom: 0;
}

.msreal-qa__item dt,
.msreal-qa__item dd {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 14px;
	align-items: start;
	margin: 0;
}

.msreal-qa__item dd {
	margin-top: 12px;
}

.msreal-qa__mark {
	box-sizing: border-box;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.9375rem;
	font-weight: 800;
	line-height: 1;
}

.msreal-qa__mark.is-q {
	border: 1.5px solid var(--wp--preset--color--shinchu);
	color: #8a6a35;
}

.msreal-qa__mark.is-a {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-qa__q {
	padding-top: 2px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: 0.04em;
	word-break: auto-phrase;
}

.msreal-qa__a {
	padding-top: 2px;
	color: #444;
	font-size: 0.875rem;
	line-height: 2;
	word-break: auto-phrase;
}

.msreal-qa .msreal-qa__sign {
	margin: 0;
	padding: 8px 0 2px;
	color: #666;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
	text-align: right;
}

/* ほかの質問・ボタン */
.msreal-qa .msreal-qa__others {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	color: #666;
	font-size: 0.8125rem;
	line-height: 1.8;
}

.msreal-qa__others span {
	width: 100%;
}

.msreal-qa__others a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
}

.msreal-qa__others a::after {
	content: "›";
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
}

.msreal-qa__others a:hover,
.msreal-qa__others a:focus-visible {
	color: var(--wp--preset--color--shinchu);
}

.msreal-qa__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	padding: 14px 24px;
	border-radius: 999px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.9375rem;
	font-weight: 700;
	text-decoration: none;
	transition: opacity 0.2s;
}

.msreal-qa__btn:hover,
.msreal-qa__btn:focus-visible {
	color: var(--wp--preset--color--white);
	opacity: 0.85;
}

.msreal-qa__btn small {
	color: #c9d1dd;
	font-size: 0.75rem;
	font-weight: 400;
}

.msreal-qa__btn span {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-size: 0.75rem;
	line-height: 1;
}

.msreal-qa__illust {
	display: none;
}

@media (min-width: 1024px) {
	.msreal-qa__inner {
		grid-template-columns: 340px 1fr;
		grid-template-rows: auto 1fr;
		grid-template-areas: "text paper" "more paper";
		gap: 0 64px;
		align-items: start;
	}

	.msreal-qa__more {
		margin-top: 30px;
	}

	.msreal-qa__btn {
		margin-top: 28px;
	}

	.msreal-qa__illust {
		display: block;
		width: 190px;
		height: auto;
		margin-top: 48px;
	}

	.msreal-qa__paper {
		padding: 30px 52px 22px;
	}

	.msreal-qa__head b {
		font-size: 1.0625rem;
	}

	.msreal-qa__item {
		padding: 28px 0 26px;
	}

	.msreal-qa__item dt,
	.msreal-qa__item dd {
		grid-template-columns: 38px 1fr;
		gap: 18px;
	}

	.msreal-qa__item dd {
		margin-top: 14px;
	}

	.msreal-qa__mark {
		width: 38px;
		height: 38px;
		font-size: 1.0625rem;
	}

	.msreal-qa__q {
		padding-top: 4px;
		font-size: 1.1875rem;
	}

	.msreal-qa__a {
		padding-top: 4px;
		font-size: 0.875rem;
		line-height: 2.05;
	}

	.msreal-qa .msreal-qa__sign {
		font-size: 0.875rem;
	}
}

/*
 * 査定ボタン（2026-10-13 悠一さん。見本 docs/記録/試作_10_査定ボタン.png）
 * 小さなボタン（A）：丸い形・下に濃い真鍮のふち・押すと沈む。ヘッダー・スマホの画面下・ご状況から探す・ヒーローの査定カード
 * 大きなボタン（C）：A＋「査定無料」の白い丸＋上にひと言（msreal_cta_button_html()）。最後の査定の案内・区や事例の査定の案内・比較の下
 */
.msreal-header__satei .wp-block-button__link,
.msreal-mobile-cta .wp-block-button__link,
.msreal-satei-card .msreal-satei-card__submit,
.msreal-pill,
.msreal-cta__btn {
	border-radius: 999px;
	transition: transform 0.12s, box-shadow 0.12s, filter 0.2s;
}

.msreal-header__satei .wp-block-button__link,
.msreal-mobile-cta__satei .wp-block-button__link,
.msreal-satei-card .msreal-satei-card__submit,
.msreal-pill,
.msreal-cta__btn {
	background: linear-gradient(#c4a068, #b8935a);
	color: var(--wp--preset--color--white);
	box-shadow: 0 4px 0 #8a6a35, 0 8px 16px rgba(0, 0, 0, 0.16);
}

.msreal-header__satei .wp-block-button__link,
.msreal-mobile-cta__satei .wp-block-button__link {
	box-shadow: 0 3px 0 #8a6a35;
}

.msreal-header__satei .wp-block-button__link:hover,
.msreal-header__satei .wp-block-button__link:focus-visible,
.msreal-mobile-cta__satei .wp-block-button__link:hover,
.msreal-satei-card .msreal-satei-card__submit:hover,
.msreal-satei-card .msreal-satei-card__submit:focus-visible,
.msreal-pill:hover,
.msreal-pill:focus-visible,
.msreal-cta__btn:hover,
.msreal-cta__btn:focus-visible {
	background: linear-gradient(#c4a068, #b8935a);
	color: var(--wp--preset--color--white);
	filter: brightness(1.05);
	transform: translateY(2px);
	box-shadow: 0 2px 0 #8a6a35, 0 4px 10px rgba(0, 0, 0, 0.14);
}

.msreal-header__satei .wp-block-button__link:active,
.msreal-mobile-cta__satei .wp-block-button__link:active,
.msreal-satei-card .msreal-satei-card__submit:active,
.msreal-pill:active,
.msreal-cta__btn:active {
	transform: translateY(3px);
	box-shadow: 0 1px 0 #8a6a35;
}

@media (prefers-reduced-motion: reduce) {
	.msreal-header__satei .wp-block-button__link,
	.msreal-mobile-cta .wp-block-button__link,
	.msreal-satei-card .msreal-satei-card__submit,
	.msreal-pill,
	.msreal-cta__btn {
		transition: none;
	}
}

/* 大きなボタン（C） */
.msreal-cta {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
}

.msreal-cta .msreal-cta__micro {
	margin: 0 0 10px;
	color: #8a6a35;
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: center;
}

.msreal-cta__micro::before {
	content: "＼ ";
}

.msreal-cta__micro::after {
	content: " ／";
}

.msreal-final-cta .msreal-cta {
	margin-top: 32px;
}

.msreal-final-cta .msreal-cta__micro {
	color: #f1e3c8;
}

.msreal-cta__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 14px;
	max-width: 100%;
	padding: 10px 22px 10px 10px;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.06em;
	text-align: left;
	text-decoration: none;
}

.msreal-cta__badge {
	display: grid;
	flex: none;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: #8a6a35;
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: 0;
	text-align: center;
}

.msreal-cta__label {
	word-break: auto-phrase;
}

.msreal-cta__arrow {
	display: grid;
	flex: none;
	place-items: center;
	width: 24px;
	height: 24px;
	margin-left: auto;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: #8a6a35;
	font-size: 0.9375rem;
	line-height: 1;
}

/* 比較の下の帯の中では右に寄せる（PC）、スマホは左寄せ */
.msreal-vs__bottom .msreal-cta {
	align-items: flex-start;
}

@media (min-width: 900px) {
	.msreal-vs__bottom .msreal-cta {
		align-items: center;
	}
}

@media (max-width: 479px) {
	.msreal-cta__btn {
		gap: 10px;
		padding: 8px 16px 8px 8px;
		font-size: 0.9375rem;
		letter-spacing: 0.03em;
	}

	.msreal-cta__badge {
		width: 44px;
		height: 44px;
		font-size: 0.6875rem;
	}

	.msreal-cta .msreal-cta__micro {
		font-size: 0.75rem;
	}
}

/*
 * 売却ページ：査定でお渡しするもの（patterns/page-sell-deliver.php。2026-10-15）
 * 真ん中に査定書のイラスト、4つの説明カードを引き出し線でつなぐ。
 * PC（1280px 以上）はカードを紙の左右に（--pin＝紙の段の上から印までの高さ）、それより狭いと紙の各段の下に入れる。
 */
.msreal-sd {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 9vw, 104px) 16px clamp(72px, 8vw, 96px);
	background: var(--wp--preset--color--kinari);
}

.msreal-sd::before {
	content: "";
	position: absolute;
	top: 52%;
	left: 50%;
	width: 860px;
	height: 860px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.msreal-sd > * {
	position: relative;
}

.msreal-sd p {
	margin: 0;
}

.msreal-sd__head {
	max-width: 780px;
	margin: 0 auto;
	text-align: center;
}

.msreal-sd .msreal-sd__pre {
	color: #8a6a35;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.msreal-sd .msreal-sd__title {
	margin: 12px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.625rem, 3vw, 2.125rem);
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: 0.06em;
}

.msreal-sd__title > span {
	display: inline-block;
}

.msreal-sd__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-sd .msreal-sd__lead {
	max-width: 36em;
	margin: 14px auto 0;
	color: #5b5b5b;
	font-size: 0.875rem;
	line-height: 1.9;
	word-break: auto-phrase;
}

/* 紙 */
.msreal-sd__stage {
	max-width: 1220px;
	margin: 40px auto 0;
}

.msreal-sd__sheet {
	position: relative;
	width: min(560px, 100%);
	margin: 0 auto;
}

/* 後ろにもう1枚（まっすぐずらすだけ。傾けると布のように見えるため） */
.msreal-sd__sheet::before {
	content: "";
	position: absolute;
	top: 10px;
	right: -10px;
	bottom: -10px;
	left: 10px;
	border-radius: 4px;
	background: #faf8f3;
	box-shadow: 0 10px 24px -12px rgba(20, 35, 58, 0.18);
}

.msreal-sd__paper {
	position: relative;
	padding: 24px 18px 16px;
	border-radius: 4px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 0 rgba(20, 35, 58, 0.04), 0 24px 48px -12px rgba(20, 35, 58, 0.22), 0 8px 18px -8px rgba(20, 35, 58, 0.12);
}

.msreal-sd__paper::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	border-radius: 4px 4px 0 0;
	background: linear-gradient(90deg, var(--wp--preset--color--ai) 0 70%, var(--wp--preset--color--shinchu) 70%);
}

.msreal-sd__ph {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: start;
	gap: 10px;
	padding-bottom: 14px;
	border-bottom: 1.5px solid var(--wp--preset--color--ai);
}

.msreal-sd .msreal-sd__to {
	color: #777;
	font-size: 0.62rem;
	line-height: 1.6;
}

.msreal-sd__to b {
	margin-right: 3px;
	color: var(--wp--preset--color--ai);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
}

.msreal-sd .msreal-sd__doc {
	margin-top: 6px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0.16em;
}

.msreal-sd .msreal-sd__date {
	margin-top: 4px;
	color: #999;
	font-size: 0.56rem;
	line-height: 1.6;
}

.msreal-sd__seal {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border: 2px solid #b9573f;
	border-radius: 6px;
	color: #b9573f;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.58rem;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	opacity: 0.88;
	transform: rotate(6deg);
}

.msreal-sd__sec {
	position: relative;
	padding: 14px 0;
	border-bottom: 1px solid #e8e3d8;
}

.msreal-sd__sec:last-child {
	padding-bottom: 4px;
	border-bottom: 0;
}

.msreal-sd .msreal-sd__h {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 9px;
	color: var(--wp--preset--color--ai);
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.msreal-sd__h i {
	display: inline-grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 3px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.52rem;
	font-style: normal;
}

/* 1 相場の根拠：成約事例の点と、この物件の印 */
.msreal-sd__scatter {
	position: relative;
	height: 74px;
	margin-left: 4px;
	border-bottom: 1px solid #d9dde4;
	border-left: 1px solid #d9dde4;
	background-image: linear-gradient(#f1f3f6 1px, transparent 1px);
	background-size: 100% 18.5px;
}

.msreal-sd__scatter b {
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #aab4c3;
	transform: translate(-50%, 50%);
}

.msreal-sd__scatter b.is-me {
	width: 12px;
	height: 12px;
	border-radius: 2px;
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 3px rgba(184, 147, 90, 0.25);
	transform: translate(-50%, 50%) rotate(45deg);
}

.msreal-sd__band {
	position: absolute;
	bottom: 30%;
	left: 52%;
	width: 26%;
	height: 34%;
	border: 1px dashed var(--wp--preset--color--shinchu);
	border-radius: 4px;
	background: rgba(184, 147, 90, 0.07);
}

.msreal-sd__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 12px;
	margin: 6px 0 0 4px;
	color: #888;
	font-size: 0.5rem;
	line-height: 1.6;
}

.msreal-sd__legend span::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 4px;
	border-radius: 50%;
	background: #aab4c3;
	vertical-align: middle;
}

.msreal-sd__legend span.is-me::before {
	border-radius: 1px;
	background: var(--wp--preset--color--shinchu);
	transform: rotate(45deg);
}

/* 2 両方の金額 */
.msreal-sd__prices {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.msreal-sd__price {
	padding: 8px 10px 9px;
	border: 1px solid #e1e5ec;
	border-radius: 5px;
}

.msreal-sd__price.is-k {
	border-color: var(--wp--preset--color--shinchu);
	background: #fdfaf4;
}

.msreal-sd__price small {
	display: block;
	color: #777;
	font-size: 0.5rem;
	line-height: 1.4;
}

.msreal-sd__price strong {
	display: block;
	margin-top: 2px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.95rem;
	line-height: 1.3;
	letter-spacing: 0.04em;
}

.msreal-sd__price strong span {
	margin-left: 2px;
	font-size: 0.6rem;
}

.msreal-sd__split {
	display: flex;
	height: 6px;
	margin-top: 7px;
	overflow: hidden;
	border-radius: 3px;
}

.msreal-sd__split i:nth-child(1) {
	width: 58%;
	background: var(--wp--preset--color--shinchu);
}

.msreal-sd__split i:nth-child(2) {
	width: 20%;
	background: #d6c3a0;
}

.msreal-sd__split i:nth-child(3) {
	width: 12%;
	background: #e6dac4;
}

.msreal-sd__split i:nth-child(4) {
	width: 10%;
	background: var(--wp--preset--color--ai);
}

.msreal-sd__split-l {
	margin-top: 3px;
	color: #999;
	font-size: 0.44rem;
	line-height: 1.3;
}

/* 3 おすすめの売り方 */
.msreal-sd__rec {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 10px;
	margin-left: 6px;
}

.msreal-sd__choices {
	display: grid;
	gap: 5px;
}

.msreal-sd__choice {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #999;
	font-size: 0.6rem;
	font-weight: 700;
	line-height: 1.6;
}

.msreal-sd__choice i {
	display: grid;
	place-items: center;
	width: 12px;
	height: 12px;
	border: 1.5px solid #c5ccd6;
	border-radius: 3px;
}

.msreal-sd__choice.is-on {
	color: var(--wp--preset--color--ai);
}

.msreal-sd__choice.is-on i {
	border-color: var(--wp--preset--color--ai);
	background: var(--wp--preset--color--ai);
}

.msreal-sd__choice.is-on i::after {
	content: "";
	width: 6px;
	height: 3px;
	border-bottom: 1.5px solid #fff;
	border-left: 1.5px solid #fff;
	transform: rotate(-45deg) translate(1px, -1px);
}

.msreal-sd__why {
	padding: 6px 9px;
	border-radius: 5px;
	background: #f6f4ef;
}

.msreal-sd__why small {
	display: block;
	margin-bottom: 4px;
	color: #8a6a35;
	font-size: 0.48rem;
	font-weight: 700;
	line-height: 1.3;
}

.msreal-sd__why i {
	display: block;
	height: 4px;
	margin: 4px 0;
	border-radius: 2px;
	background: #dcd6ca;
}

.msreal-sd__why i:nth-of-type(2) {
	width: 86%;
}

.msreal-sd__why i:nth-of-type(3) {
	width: 62%;
}

/* 4 費用と手取り */
.msreal-sd__wf {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 4px 10px;
	color: #777;
	font-size: 0.5rem;
	line-height: 1.3;
}

.msreal-sd__wf b {
	color: var(--wp--preset--color--ai);
}

.msreal-sd__bar {
	display: block;
	height: 9px;
	border-radius: 2px;
}

.msreal-sd__bar.is-1 {
	background: #c9d1dc;
}

.msreal-sd__bar.is-2 {
	width: 18%;
	margin-left: 82%;
	background: repeating-linear-gradient(135deg, #e2b9ad 0 3px, #f2d9d2 3px 6px);
}

.msreal-sd__bar.is-3 {
	width: 82%;
	background: var(--wp--preset--color--shinchu);
}

/* 説明カード */
.msreal-sd__pin {
	display: none;
}

.msreal-sd__note {
	display: grid;
	grid-template-columns: 46px 1fr;
	align-items: center;
	column-gap: 14px;
	margin: 14px 0 6px;
	padding: 16px 16px 14px;
	border: 1px solid #efe8db;
	border-radius: 16px;
	background: #fbf9f5;
}

.msreal-sd__ic {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 13px;
	background: linear-gradient(150deg, #f8f3ea, #efe4cf);
	box-shadow: inset 0 0 0 1px #e5d6b9;
	color: #8a6a35;
}

.msreal-sd__ic svg {
	width: 22px;
	height: 22px;
}

.msreal-sd .msreal-sd__nt {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

.msreal-sd__when {
	display: block;
	margin-bottom: 2px;
	color: #8a6a35;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.66rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.msreal-sd__phrase {
	display: inline-block;
}

.msreal-sd .msreal-sd__note p {
	grid-column: 1 / -1;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px dashed #e2d9c8;
	color: #555;
	font-size: 0.8rem;
	line-height: 1.9;
	word-break: auto-phrase;
}

.msreal-sd .msreal-sd__cap {
	margin-top: 22px;
	color: #8a7a5f;
	font-size: 0.7rem;
	text-align: center;
}

/* お渡しのしかた・査定へ */
.msreal-sd__how {
	display: grid;
	max-width: 960px;
	margin: 48px auto 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 10px 30px -14px rgba(20, 35, 58, 0.2);
}

.msreal-sd .msreal-sd__how-label {
	padding: 18px 24px 0;
	color: #8a6a35;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-sd__how-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 24px;
}

.msreal-sd__how-item + .msreal-sd__how-item {
	border-top: 1px solid #e8e3d8;
}

.msreal-sd__how-item svg {
	flex: none;
	width: 40px;
	height: 40px;
}

.msreal-sd__how-item b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.9rem;
	line-height: 1.5;
}

.msreal-sd__how-item span {
	display: block;
	color: #666;
	font-size: 0.75rem;
	line-height: 1.6;
}

.msreal-sd__how-cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 24px 24px;
	background: var(--wp--preset--color--ai);
	color: #d9dfe8;
	font-size: 0.75rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

@media (min-width: 860px) {
	.msreal-sd__how {
		grid-template-columns: 1fr 1fr 300px;
	}

	.msreal-sd .msreal-sd__how-label {
		grid-column: 1 / 3;
		padding: 20px 30px 0;
	}

	.msreal-sd__how-item {
		grid-row: 2;
		padding: 10px 30px 24px;
	}

	.msreal-sd__how-item + .msreal-sd__how-item {
		border-top: 0;
		border-left: 1px solid #e8e3d8;
	}

	.msreal-sd__how-cta {
		grid-column: 3;
		grid-row: 1 / 3;
		justify-content: center;
		padding: 24px 28px;
	}
}

/* PC（1280px 以上）：カードを紙の左右に置き、紙の上の印から線でつなぐ */
@media (min-width: 1280px) {
	.msreal-sd__sheet {
		width: 470px;
	}

	.msreal-sd__paper {
		padding: 30px 30px 22px;
	}

	.msreal-sd__seal {
		width: 58px;
		height: 58px;
	}

	.msreal-sd__how {
		margin-top: 96px;
	}

	.msreal-sd__pin {
		position: absolute;
		top: var(--pin);
		z-index: 2;
		display: grid;
		place-items: center;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		background: var(--wp--preset--color--shinchu);
		box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.95), 0 0 0 5px rgba(184, 147, 90, 0.45), 0 4px 10px rgba(20, 35, 58, 0.2);
		color: var(--wp--preset--color--white);
	}

	.msreal-sd__pin svg {
		width: 15px;
		height: 15px;
	}

	.msreal-sd__sec.is-l .msreal-sd__pin {
		left: -28px;
	}

	.msreal-sd__sec.is-r .msreal-sd__pin {
		right: -28px;
	}

	.msreal-sd__note {
		position: absolute;
		top: calc(var(--pin) - 30px);
		width: 310px;
		box-sizing: border-box;
		margin: 0;
		padding: 18px 20px 16px;
		border-color: #ebe4d6;
		background: var(--wp--preset--color--white);
		box-shadow: 0 14px 32px -22px rgba(20, 35, 58, 0.45), 0 2px 6px -4px rgba(20, 35, 58, 0.12);
	}

	.msreal-sd__sec.is-l .msreal-sd__note {
		right: calc(100% + 84px);
	}

	.msreal-sd__sec.is-r .msreal-sd__note {
		left: calc(100% + 84px);
	}

	/* 線（カードのふちから印まで）と、カードのふちの小さな輪 */
	.msreal-sd__note::before {
		content: "";
		position: absolute;
		top: 45px;
		width: 52px;
		border-top: 1.5px solid rgba(184, 147, 90, 0.55);
	}

	.msreal-sd__sec.is-l .msreal-sd__note::before {
		left: 100%;
	}

	.msreal-sd__sec.is-r .msreal-sd__note::before {
		right: 100%;
	}

	.msreal-sd__note::after {
		content: "";
		position: absolute;
		top: 40px;
		width: 10px;
		height: 10px;
		box-sizing: border-box;
		border-radius: 50%;
		background: var(--wp--preset--color--white);
		box-shadow: 0 0 0 2px var(--wp--preset--color--shinchu);
	}

	.msreal-sd__sec.is-l .msreal-sd__note::after {
		left: calc(100% - 5px);
	}

	.msreal-sd__sec.is-r .msreal-sd__note::after {
		right: calc(100% - 5px);
	}
}

/*
 * 売却ページ：6つの約束（patterns/top-promises.php の /sell/ の版、class msreal-vow。2026-10-15 明るい版）
 * PC（1024px以上）は左に見出しと円（sticky）、右に説明。読んでいる約束（.is-on）を円の上で真鍮色に（site.js）。
 */
.msreal-vow {
	position: relative;
	overflow: hidden;
	overflow: clip; /* hidden だと左の円の sticky が効かないため clip（古いブラウザは hidden のまま） */
	padding: clamp(72px, 9vw, 108px) 16px;
	background: linear-gradient(180deg, #fff 0%, #fbf8f2 100%);
}

.msreal-vow p {
	margin: 0;
}

.msreal-vow .msreal-vow__wm {
	position: absolute;
	right: -20px;
	bottom: -30px;
	color: rgba(184, 147, 90, 0.07);
	font-size: 160px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	pointer-events: none;
}

.msreal-vow__inner {
	position: relative;
	display: grid;
	gap: 36px;
	max-width: 1120px;
	margin: 0 auto;
}

.msreal-vow .msreal-vow__pre {
	color: #8a6a35;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.msreal-vow .msreal-vow__title {
	margin: 10px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.625rem, 3vw, 2.125rem);
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: 0.06em;
}

.msreal-vow__title span {
	display: inline-block;
}

.msreal-vow__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-vow .msreal-vow__lead {
	margin-top: 16px;
	color: #555;
	font-size: 0.875rem;
	line-height: 1.9;
	word-break: auto-phrase;
}

/* 大きな円（PC だけ） */
.msreal-vow__wheel {
	display: none;
	width: 100%;
	max-width: 400px;
	height: auto;
	margin-top: 34px;
	filter: drop-shadow(0 18px 30px rgba(20, 35, 58, 0.12));
}

.msreal-vow__part path {
	fill: var(--wp--preset--color--kinari);
	transition: fill 0.3s;
}

.msreal-vow__part.is-alt path {
	fill: #e9e0cd;
}

.msreal-vow__part.is-on path {
	fill: var(--wp--preset--color--shinchu);
}

.msreal-vow__wheel text {
	fill: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 700;
	text-anchor: middle;
	transition: fill 0.3s;
}

.msreal-vow__wheel .msreal-vow__num {
	fill: #8a6a35;
	font-size: 30px;
}

.msreal-vow__part.is-on text,
.msreal-vow__part.is-on .msreal-vow__num {
	fill: var(--wp--preset--color--white);
}

.msreal-vow__hub {
	fill: var(--wp--preset--color--ai);
}

.msreal-vow__ring {
	fill: none;
	stroke: rgba(212, 180, 131, 0.6);
	stroke-width: 1.5;
	stroke-dasharray: 3 5;
}

.msreal-vow__wheel .msreal-vow__en {
	fill: #d4b483;
	font-size: 13px;
	letter-spacing: 0.25em;
}

.msreal-vow__wheel .msreal-vow__hub-text {
	fill: var(--wp--preset--color--white);
	font-size: 21px;
}

.msreal-vow__wheel .msreal-vow__hub-text.is-large {
	font-size: 30px;
}

.msreal-vow .msreal-vow__sign {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #8a6a35;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-vow__sign::before {
	content: "";
	width: 40px;
	height: 1px;
	background: rgba(184, 147, 90, 0.6);
}

.msreal-vow__sign.is-pc {
	display: none;
}

/* 約束の一覧 */
.msreal-vow .msreal-vow__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-vow__item {
	position: relative;
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 16px;
	padding: 24px 4px;
	border-top: 1px solid #e8e1d3;
	border-radius: 12px;
	transition: background-color 0.3s;
}

.msreal-vow__item:last-child {
	border-bottom: 1px solid #e8e1d3;
}

.msreal-vow__item::before {
	content: "";
	position: absolute;
	top: 24px;
	bottom: 24px;
	left: -12px;
	width: 3px;
	border-radius: 2px;
	background: var(--wp--preset--color--shinchu);
	opacity: 0;
	transition: opacity 0.3s;
}

.msreal-vow__mini {
	width: 44px;
	height: 44px;
}

.msreal-vow__mini path {
	fill: #ece4d4;
}

.msreal-vow__mini path.is-on {
	fill: var(--wp--preset--color--shinchu);
}

.msreal-vow .msreal-vow__no {
	color: #8a6a35;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.msreal-vow .msreal-vow__item-title {
	margin: 2px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: 0.03em;
}

.msreal-vow__item-title span {
	display: inline-block;
}

.msreal-vow .msreal-vow__body {
	margin-top: 8px;
	color: #555;
	font-size: 0.84rem;
	line-height: 1.95;
	word-break: auto-phrase;
}

@media (min-width: 1024px) {
	.msreal-vow__inner {
		grid-template-columns: 420px 1fr;
		gap: 0 80px;
		align-items: start;
	}

	.msreal-vow__side {
		position: sticky;
		top: 40px;
	}

	.msreal-vow__wheel {
		display: block;
	}

	.msreal-vow__sign.is-pc {
		display: flex;
		margin-top: 26px;
	}

	.msreal-vow__sign.is-sp {
		display: none;
	}

	.msreal-vow__item {
		grid-template-columns: 52px 1fr;
		gap: 18px;
		padding: 26px 4px;
	}

	.msreal-vow__mini {
		width: 52px;
		height: 52px;
	}

	.msreal-vow .msreal-vow__item-title {
		font-size: 1.15rem;
	}

	/* 読んでいる約束 */
	.msreal-vow__item.is-on {
		background: linear-gradient(90deg, rgba(243, 238, 228, 0.9), rgba(243, 238, 228, 0));
	}

	.msreal-vow__item.is-on::before {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.msreal-vow__part path,
	.msreal-vow__wheel text,
	.msreal-vow__item,
	.msreal-vow__item::before {
		transition: none;
	}
}

/*
 * 売却の流れ（patterns/top-flow.php、class msreal-road。2026-10-15）
 * うねる道でつなぐ4つの停留所。スタートに家、ゴールに握手、2と3の間に「ここまで無料」の立て札。
 * スマホ：停留所を左右に互い違い、道は site.js が停留所の位置から引く。PC（1024px以上）：横の道（SVG）。
 */
.msreal-road {
	position: relative;
	overflow: hidden;
	padding: clamp(72px, 9vw, 104px) 16px;
	background: var(--wp--preset--color--white);
}

.msreal-road p {
	margin: 0;
}

.msreal-road__head {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.msreal-road .msreal-road__pre {
	color: #8a6a35;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.msreal-road .msreal-road__title {
	margin: 12px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.625rem, 3vw, 2.125rem);
	font-weight: 800;
	line-height: 1.55;
	letter-spacing: 0.06em;
}

.msreal-road__title > span {
	display: inline-block;
}

.msreal-road__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis: filled dot var(--wp--preset--color--shinchu);
	text-emphasis-position: over;
}

.msreal-road .msreal-road__lead {
	margin-top: 14px;
	color: #5b5b5b;
	font-size: 0.875rem;
	line-height: 1.9;
	word-break: auto-phrase;
}

/* 道 */
.msreal-road__map {
	position: relative;
	max-width: 560px;
	margin: 48px auto 0;
}

.msreal-road__pc {
	display: none;
}

.msreal-road__sp {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.msreal-road__base {
	fill: none;
	stroke: #efe6d4;
	stroke-width: 22;
	stroke-linecap: round;
}

.msreal-road__dash {
	fill: none;
	stroke: var(--wp--preset--color--white);
	stroke-width: 2;
	stroke-dasharray: 9 11;
	stroke-linecap: round;
}

.msreal-road .msreal-road__list {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-road__list > li {
	margin: 0;
}

.msreal-road__start {
	display: flex;
	padding-bottom: 40px;
}

.msreal-road__start img {
	display: block;
	width: 84px;
	height: auto;
	margin-left: -6px;
}

/* 停留所 */
.msreal-road__stop {
	position: relative;
	display: grid;
	grid-template-columns: 72px 1fr;
	align-items: start;
	gap: 16px;
	padding-bottom: 76px;
}

.msreal-road__stop.is-up {
	grid-template-columns: 1fr 72px;
}

.msreal-road__stop.is-up .msreal-road__dot {
	grid-column: 2;
	grid-row: 1;
}

.msreal-road__stop.is-up .msreal-road__txt {
	grid-column: 1;
	grid-row: 1;
	text-align: right;
}

.msreal-road__dot {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1.5px #e3d4b8, 0 0 0 7px var(--wp--preset--color--white), 0 12px 24px -12px rgba(20, 35, 58, 0.4);
	color: var(--wp--preset--color--ai);
}

.msreal-road__dot svg {
	width: 32px;
	height: 32px;
}

.msreal-road__no {
	position: absolute;
	top: -4px;
	right: -4px;
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 3px var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1;
}

.msreal-road__txt {
	position: relative;
	z-index: 1;
	min-width: 0;
	padding-top: 4px;
}

.msreal-road .msreal-road__t {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0.03em;
}

.msreal-road .msreal-road__how {
	margin-top: 2px;
	color: #8a6a35;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.msreal-road .msreal-road__body {
	margin-top: 6px;
	color: #555;
	font-size: 0.82rem;
	line-height: 1.9;
	word-break: auto-phrase;
}

/* ここまで無料 */
.msreal-road__sign {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	padding-bottom: 76px;
}

.msreal-road__sign-in {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(300px, 100%);
	box-sizing: border-box;
	padding: 12px 16px 12px 14px;
	border-radius: 12px;
	background: #fdf8ee;
	box-shadow: inset 0 0 0 1px #ead9b7, 0 10px 24px -14px rgba(20, 35, 58, 0.35);
}

.msreal-road__sign-in > svg {
	flex: none;
	width: 34px;
	height: 34px;
}

.msreal-road__sign-txt b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.9rem;
	line-height: 1.5;
}

.msreal-road__sign-txt span {
	display: block;
	color: #666;
	font-size: 0.75rem;
	line-height: 1.6;
	word-break: auto-phrase;
}

.msreal-road__pole {
	display: none;
}

/* ゴール */
.msreal-road__goal {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 4px;
}

.msreal-road__goal-dot {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: linear-gradient(150deg, #c9a46a, #b08a52);
	box-shadow: 0 0 0 7px var(--wp--preset--color--white), 0 0 0 8.5px #e3d4b8, 0 14px 26px -12px rgba(20, 35, 58, 0.45);
	color: var(--wp--preset--color--white);
}

.msreal-road__goal-dot svg {
	width: 38px;
	height: 38px;
}

.msreal-road__goal-t {
	margin-top: 10px;
	color: #8a6a35;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.msreal-road .msreal-road__more {
	margin-top: 40px;
	text-align: center;
}

.msreal-road__more a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 26px;
	border: 1.5px solid var(--wp--preset--color--ai);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
	transition: background-color 0.2s, color 0.2s;
}

.msreal-road__more a span {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
}

.msreal-road__more a:hover,
.msreal-road__more a:focus-visible {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

/* PC：横のうねり道 */
@media (min-width: 1024px) {
	.msreal-road__map {
		max-width: 1120px;
		height: 600px;
		margin-top: 18px;
	}

	.msreal-road__sp {
		display: none;
	}

	.msreal-road__pc {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		overflow: visible;
	}

	.msreal-road__pc .msreal-road__base {
		stroke-width: 26;
	}

	.msreal-road__pc .msreal-road__dash {
		stroke-dasharray: 10 12;
	}

	.msreal-road .msreal-road__list {
		position: absolute;
		inset: 0;
	}

	.msreal-road__start {
		position: absolute;
		top: 268px;
		left: -6px;
		padding: 0;
	}

	.msreal-road__start img {
		margin: 0;
	}

	.msreal-road__stop {
		position: absolute;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 250px;
		padding: 0;
		text-align: center;
		transform: translateX(-50%);
	}

	.msreal-road__stop.is-up {
		bottom: 302px;
		flex-direction: column-reverse;
	}

	.msreal-road__stop.is-down {
		top: 302px;
	}

	.msreal-road__stop.is-up .msreal-road__txt {
		margin-bottom: 18px;
		text-align: center;
	}

	.msreal-road__stop.is-down .msreal-road__txt {
		margin-top: 18px;
	}

	.msreal-road__txt {
		padding: 0;
	}

	.msreal-road__stop.is-s1 {
		left: 13%;
	}

	.msreal-road__stop.is-s2 {
		left: 34%;
	}

	.msreal-road__stop.is-s3 {
		left: 60%;
	}

	.msreal-road__stop.is-s4 {
		left: 80%;
	}

	.msreal-road__dot {
		width: 96px;
		height: 96px;
		box-shadow: 0 0 0 2px #e3d4b8, 0 0 0 9px var(--wp--preset--color--white), 0 18px 30px -16px rgba(20, 35, 58, 0.4);
	}

	.msreal-road__dot svg {
		width: 42px;
		height: 42px;
	}

	.msreal-road__no {
		top: 2px;
		right: 2px;
		width: 26px;
		height: 26px;
		font-size: 0.75rem;
	}

	/* 立て札：2と3の間、道の上側 */
	.msreal-road__sign {
		position: absolute;
		bottom: 318px;
		left: 53.2%;
		padding: 0;
		transform: translateX(-50%);
	}

	.msreal-road__sign-in {
		flex-direction: column;
		gap: 4px;
		width: 164px;
		padding: 12px;
		text-align: center;
	}

	.msreal-road__sign-in > svg {
		width: 28px;
		height: 28px;
	}

	.msreal-road__sign-txt span {
		font-size: 0.68rem;
	}

	.msreal-road__pole {
		position: absolute;
		top: 100%;
		left: 50%;
		display: block;
		width: 2px;
		height: 32px;
		background: #cdb58a;
		transform: translateX(-50%);
	}

	.msreal-road__pole::before {
		content: "";
		position: absolute;
		bottom: -4px;
		left: 50%;
		width: 9px;
		height: 9px;
		border-radius: 50%;
		background: #cdb58a;
		transform: translateX(-50%);
	}

	.msreal-road__goal {
		position: absolute;
		top: 202px;
		left: 95.7%;
		padding: 0;
		transform: translateX(-50%);
	}

	.msreal-road__goal-dot {
		width: 84px;
		height: 84px;
	}

	.msreal-road__goal-dot svg {
		width: 44px;
		height: 44px;
	}
}

/* 売却の流れ：PC の狭い幅（1024〜1279px）は、立て札が 2 の説明に重ならないよう少し詰める */
@media (min-width: 1024px) and (max-width: 1279px) {
	.msreal-road__stop {
		width: 226px;
	}

	.msreal-road__sign {
		left: 53%;
	}

	.msreal-road__sign-in {
		width: 148px;
	}
}

/* 買取：途中の駅を通過します（駅の案内に見立てる。2026-10-15） */
.msreal-section.msreal-metro {
	--msreal-led: #f2b544;
	background: var(--wp--preset--color--kinari);
}

.msreal-metro .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.msreal-metro .msreal-metro__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
}

.msreal-metro .msreal-metro__lead {
	max-width: 42em;
	margin: 0 0 36px;
	word-break: auto-phrase;
}

/* 種別（各停・快速） */
.msreal-metro__kind {
	display: inline-block;
	flex: none;
	width: 64px;
	padding: 2px 0;
	border-radius: 3px;
	background: #3b4558;
	color: var(--wp--preset--color--white);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.6;
	text-align: center;
}

.msreal-metro__kind--r {
	background: var(--wp--preset--color--shinchu);
}

/* 駅ナンバリング */
.msreal-metro__num {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin: 0 auto 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 5px var(--wp--preset--color--ai);
	color: var(--wp--preset--color--ai);
	font-weight: 800;
	line-height: 1;
}

.msreal-metro__num small {
	margin-bottom: 2px;
	font-size: 0.6rem;
}

.msreal-metro__num span {
	font-size: 0.95rem;
}

/* 駅の絵 */
.msreal-metro__pic {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin: 0 auto 8px;
	border-radius: 7px;
	background: var(--wp--preset--color--ai);
}

.msreal-metro__pic svg {
	width: 30px;
	height: 30px;
}

.msreal-metro__ar {
	color: var(--msreal-led);
	font-size: 1.2rem;
	line-height: 1;
}

/* 駅名標 */
.msreal-metro__ekimei {
	margin-bottom: 18px;
	overflow: hidden;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1px #d9dee6, 0 16px 34px -26px rgba(20, 35, 58, 0.5);
}

.msreal-metro__ekimei-main {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 24px;
	padding: 22px 34px 18px;
}

.msreal-metro__ekimei .msreal-metro__num {
	width: 68px;
	height: 68px;
	margin: 0;
	box-shadow: inset 0 0 0 7px var(--wp--preset--color--ai);
}

.msreal-metro__ekimei .msreal-metro__num small {
	font-size: 0.8rem;
}

.msreal-metro__ekimei .msreal-metro__num span {
	font-size: 1.35rem;
}

.msreal-metro .msreal-metro__ekimei-name {
	margin: 0;
	line-height: 1.1;
	text-align: center;
}

.msreal-metro__kana,
.msreal-metro__roma {
	display: block;
	color: #555;
	font-size: 0.95rem;
	font-weight: 700;
}

.msreal-metro__kana {
	margin-bottom: 6px;
	letter-spacing: 0.3em;
}

.msreal-metro__roma {
	margin-top: 8px;
	font-size: 1rem;
	letter-spacing: 0.05em;
}

.msreal-metro__ekimei-name b {
	display: inline-flex;
	align-items: center;
	color: #111;
	font-size: 3.4rem;
	font-weight: 900;
	letter-spacing: 0.25em;
}

.msreal-metro__pic--l {
	width: 56px;
	height: 56px;
	margin: 0 18px 0 0;
	border-radius: 9px;
}

.msreal-metro__pic--l svg {
	width: 42px;
	height: 42px;
}

.msreal-metro .msreal-metro__ekimei-line {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: right;
}

.msreal-metro__ekimei-line i {
	display: block;
	width: 56px;
	height: 8px;
	margin: 0 0 6px auto;
	border-radius: 4px;
	background: var(--wp--preset--color--ai);
}

.msreal-metro__ekimei-band {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-metro .msreal-metro__ekimei-band p {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 34px;
	font-size: 0.95rem;
	font-weight: 700;
}

.msreal-metro .msreal-metro__ekimei-band p + p {
	justify-content: flex-end;
	border-left: 1px solid #2c3d5c;
}

.msreal-metro__ekimei-band small {
	color: #c3cbd8;
	font-size: 0.7rem;
	font-weight: 500;
}

.msreal-metro__ekimei-band .msreal-metro__kind {
	width: auto;
	padding: 1px 6px;
	font-size: 0.7rem;
	letter-spacing: 0;
	background: #5a6475;
}

.msreal-metro__ekimei-band .msreal-metro__kind--r {
	background: var(--wp--preset--color--shinchu);
}

/* 発車標 */
.msreal-metro__board {
	position: relative;
	margin-bottom: 22px;
	padding: 14px 18px;
	border-radius: 8px;
	background: #0f1a2c;
	box-shadow: inset 0 0 0 3px #2a3954, 0 14px 30px -22px rgba(0, 0, 0, 0.6);
}

/* 電光の粒 */
.msreal-metro__board::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 8px;
	background: radial-gradient(circle, rgba(0, 0, 0, 0) 55%, rgba(15, 26, 44, 0.3) 56%) 0 0 / 3px 3px;
	pointer-events: none;
}

.msreal-metro__pick {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
	padding: 6px 6px 12px;
	border-bottom: 1px solid #24324b;
}

.msreal-metro__q {
	margin-right: 6px;
	color: #cfd6e2;
	font-size: 0.8rem;
	font-weight: 700;
}

.msreal-metro__pick select {
	min-width: 150px;
	padding: 7px 30px 7px 12px;
	border: 1px solid #3a4a68;
	border-radius: 4px;
	background: #1b2840 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0h10L5 6z' fill='%23f2b544'/%3E%3C/svg%3E") no-repeat right 10px center / 10px;
	color: var(--msreal-led);
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 700;
	appearance: none;
	cursor: pointer;
}

.msreal-metro__pick select:focus-visible {
	outline: 2px solid var(--msreal-led);
	outline-offset: 2px;
}

.msreal-metro__pick option,
.msreal-metro__pick optgroup {
	background: #fff;
	color: #111;
}

.msreal-metro__board-head,
.msreal-metro .msreal-metro__row {
	display: grid;
	grid-template-columns: 64px 74px 70px 1fr auto;
	gap: 14px;
	align-items: center;
}

.msreal-metro__board-head {
	padding: 0 6px 4px;
	color: #7d8aa3;
	font-size: 0.62rem;
	letter-spacing: 0.2em;
}

.msreal-metro .msreal-metro__row {
	margin: 0;
	padding: 8px 6px;
	color: var(--msreal-led);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.msreal-metro .msreal-metro__row + .msreal-metro__row {
	border-top: 1px solid #24324b;
}

.msreal-metro__when {
	color: #cfd6e2;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
}

.msreal-metro__dest {
	color: var(--wp--preset--color--white);
}

.msreal-metro__dest em {
	color: var(--msreal-led);
	font-style: normal;
}

.msreal-metro__dest em:not(:empty) {
	margin-right: 0.5em;
}

.msreal-metro__note {
	font-size: 0.9rem;
}

/* 停車駅のご案内 */
.msreal-metro__guide {
	padding: 26px 30px 30px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 16px 34px -26px rgba(20, 35, 58, 0.45);
}

.msreal-metro .msreal-metro__guide-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-metro__guide-title i {
	display: inline-block;
	width: 28px;
	height: 6px;
	border-radius: 3px;
	background: var(--wp--preset--color--ai);
}

.msreal-metro__grid {
	display: grid;
	grid-template-columns: 110px repeat(6, 1fr);
}

.msreal-metro__stn {
	padding: 0 4px 14px;
	text-align: center;
}

.msreal-metro__stn b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.95rem;
	line-height: 1.4;
	word-break: auto-phrase;
}

.msreal-metro__stn.is-end .msreal-metro__num,
.msreal-metro__vs.is-end .msreal-metro__num {
	box-shadow: inset 0 0 0 5px var(--wp--preset--color--shinchu);
}

.msreal-metro__stn.is-end .msreal-metro__pic,
.msreal-metro__vs.is-end .msreal-metro__pic {
	background: var(--wp--preset--color--shinchu);
}

.msreal-metro__stn.is-end b::after {
	content: "終点";
	display: block;
	width: max-content;
	margin: 4px auto 0;
	padding: 0 6px;
	border-radius: 3px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.65rem;
}

.msreal-metro__rowh {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 0;
	border-top: 1px solid #eee6d7;
}

.msreal-metro__rowh .msreal-metro__kind {
	width: 60px;
}

.msreal-metro__rowh > span:not(.msreal-metro__kind),
.msreal-metro__vh > span:not(.msreal-metro__kind) {
	color: #777;
	font-size: 0.75rem;
	line-height: 1.3;
}

.msreal-metro__cell {
	position: relative;
	min-height: 86px;
	padding: 14px 4px 12px;
	border-top: 1px solid #eee6d7;
	text-align: center;
}

/* 線路 */
.msreal-metro__cell::before {
	content: "";
	position: absolute;
	top: 28px;
	right: 0;
	left: 0;
	height: 6px;
	background: #c6ccd6;
}

.msreal-metro__cell.is-r::before {
	background: var(--wp--preset--color--shinchu);
}

.msreal-metro__cell.is-first::before {
	left: 50%;
}

.msreal-metro__cell.is-last::before {
	right: 50%;
}

.msreal-metro__stop {
	position: relative;
	z-index: 1;
	display: block;
	width: 22px;
	height: 22px;
	margin: 3px auto 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 5px #8d97a6;
}

.is-r .msreal-metro__stop {
	box-shadow: inset 0 0 0 6px var(--wp--preset--color--ai);
}

.msreal-metro__pass {
	position: relative;
	z-index: 1;
	display: block;
	width: max-content;
	margin: 3px auto 8px;
	padding: 2px 7px;
	border-radius: 2px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.72rem;
	font-style: normal;
	font-weight: 700;
	line-height: 18px;
}

.msreal-metro__cell small {
	display: block;
	color: #777;
	font-size: 0.72rem;
	line-height: 1.5;
	word-break: auto-phrase;
}

.msreal-metro__cell.is-r small {
	color: #8a6a35;
	font-weight: 700;
}

.msreal-metro__fee {
	display: inline-block;
	margin-top: 4px;
	padding: 0 8px;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px #cfd5de;
	color: #7e8796;
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1.7;
}

.msreal-metro__fee.is-free {
	background: var(--wp--preset--color--shinchu);
	box-shadow: none;
	color: var(--wp--preset--color--white);
}

.msreal-metro__vgrid {
	display: none;
}

.msreal-metro .msreal-metro__more {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.88rem;
}

.msreal-metro__more li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
}

.msreal-metro__more li::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	transform: translateY(-2px);
}

/* のりかえ・出口の看板 */
.msreal-metro__signs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 22px;
}

.msreal-metro .msreal-metro__sign {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 18px;
	border: 0;
	border-radius: 4px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: filter 0.2s;
}

.msreal-metro .msreal-metro__sign:hover,
.msreal-metro .msreal-metro__sign:focus-visible {
	filter: brightness(1.12);
}

.msreal-metro__sign.is-exit {
	background: #f3c43b;
	color: #111;
}

.msreal-metro__sign-pic {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 3px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-size: 0.7rem;
	font-weight: 900;
	line-height: 1.15;
	text-align: center;
}

.msreal-metro__sign.is-exit .msreal-metro__sign-pic {
	background: #111;
	color: #f3c43b;
}

.msreal-metro__sign-txt small {
	display: block;
	color: #c3cbd8;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.5;
	word-break: auto-phrase;
}

.msreal-metro__sign.is-exit .msreal-metro__sign-txt small {
	color: #3a3320;
}

.msreal-metro__sign .msreal-metro__ar {
	margin-left: auto;
	color: inherit;
	font-size: 1.5rem;
}

/* タブレット・スマホ：駅を縦に、列車を右に */
@media (max-width: 899px) {
	.msreal-metro__grid {
		display: none;
	}

	.msreal-metro__vgrid {
		display: grid;
		grid-template-columns: 1fr 54px 54px;
	}

	.msreal-metro__vh {
		padding-bottom: 8px;
		text-align: center;
	}

	.msreal-metro__vh .msreal-metro__kind {
		width: 48px;
		font-size: 0.72rem;
	}

	.msreal-metro__vh > span:not(.msreal-metro__kind) {
		display: block;
		margin-top: 3px;
		font-size: 0.65rem;
	}

	.msreal-metro__vs {
		display: grid;
		grid-template-columns: 38px 1fr;
		column-gap: 8px;
		align-items: start;
		min-height: 74px;
		padding: 10px 0;
		border-top: 1px solid #eee6d7;
	}

	.msreal-metro__vs .msreal-metro__num {
		width: 38px;
		height: 38px;
		margin: 0;
		box-shadow: inset 0 0 0 4px var(--wp--preset--color--ai);
	}

	.msreal-metro__vs .msreal-metro__num small {
		font-size: 0.5rem;
	}

	.msreal-metro__vs .msreal-metro__num span {
		font-size: 0.8rem;
	}

	.msreal-metro__vs b {
		display: block;
		color: var(--wp--preset--color--ai);
		font-size: 0.88rem;
		line-height: 1.4;
	}

	.msreal-metro__pic--s {
		display: inline-grid;
		width: 26px;
		height: 26px;
		margin: 0 6px 0 0;
		border-radius: 5px;
		vertical-align: -6px;
	}

	.msreal-metro__pic--s svg {
		width: 20px;
		height: 20px;
	}

	.msreal-metro__vs small {
		display: block;
		color: #777;
		font-size: 0.66rem;
		line-height: 1.45;
	}

	.msreal-metro__vs small.is-r {
		color: #8a6a35;
		font-weight: 700;
	}

	.msreal-metro__vc {
		position: relative;
		display: flex;
		justify-content: center;
		padding-top: 16px;
		border-top: 1px solid #eee6d7;
	}

	.msreal-metro__vc::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 6px;
		background: #c6ccd6;
		transform: translateX(-50%);
	}

	.msreal-metro__vc.is-r::before {
		background: var(--wp--preset--color--shinchu);
	}

	.msreal-metro__vc.is-first::before {
		top: 24px;
	}

	.msreal-metro__vc.is-last::before {
		bottom: auto;
		height: 24px;
	}

	.msreal-metro__vc .msreal-metro__stop {
		margin: 0;
	}

	.msreal-metro__vc .msreal-metro__pass {
		height: auto;
		margin: 0;
		padding: 3px 0;
		font-size: 0.6rem;
		line-height: 1.3;
		writing-mode: vertical-rl;
	}

	.msreal-metro .msreal-metro__vend {
		display: flex;
		grid-column: 1 / -1;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 6px;
		margin: 0;
		padding-top: 8px;
	}

	.msreal-metro .msreal-metro__more {
		display: grid;
	}
}

@media (max-width: 599px) {
	.msreal-metro .msreal-metro__lead {
		margin-bottom: 28px;
		font-size: 0.95rem;
	}

	.msreal-metro__ekimei-main {
		grid-template-columns: auto 1fr;
		gap: 12px;
		padding: 16px 14px 12px;
	}

	.msreal-metro__ekimei .msreal-metro__num {
		width: 50px;
		height: 50px;
		box-shadow: inset 0 0 0 5px var(--wp--preset--color--ai);
	}

	.msreal-metro__ekimei .msreal-metro__num small {
		font-size: 0.6rem;
	}

	.msreal-metro__ekimei .msreal-metro__num span {
		font-size: 1rem;
	}

	.msreal-metro__ekimei-name b {
		font-size: 2.3rem;
	}

	.msreal-metro__pic--l {
		width: 40px;
		height: 40px;
		margin-right: 10px;
	}

	.msreal-metro__pic--l svg {
		width: 30px;
		height: 30px;
	}

	.msreal-metro__kana {
		font-size: 0.75rem;
	}

	.msreal-metro__roma {
		font-size: 0.8rem;
	}

	.msreal-metro .msreal-metro__ekimei-line {
		display: none;
	}

	.msreal-metro__ekimei-band {
		grid-template-columns: 1fr;
	}

	.msreal-metro .msreal-metro__ekimei-band p,
	.msreal-metro .msreal-metro__ekimei-band p + p {
		justify-content: flex-end;
		padding: 7px 14px;
		border-left: 0;
		font-size: 0.82rem;
	}

	.msreal-metro .msreal-metro__ekimei-band p + p {
		border-top: 1px solid #2c3d5c;
	}

	.msreal-metro__board {
		padding: 8px 10px;
	}

	.msreal-metro__pick {
		padding: 6px 2px 10px;
	}

	.msreal-metro__q {
		width: 100%;
		font-size: 0.72rem;
	}

	.msreal-metro__pick label {
		flex: 1;
		min-width: 0;
	}

	.msreal-metro__pick select {
		width: 100%;
		min-width: 0;
		padding: 6px 26px 6px 8px;
		font-size: 0.82rem;
	}

	.msreal-metro__board-head,
	.msreal-metro__when,
	.msreal-metro__who {
		display: none;
	}

	.msreal-metro .msreal-metro__row {
		grid-template-columns: 48px 1fr;
		gap: 0 8px;
		padding: 7px 2px;
		font-size: 0.9rem;
	}

	.msreal-metro__row .msreal-metro__kind {
		width: 48px;
		font-size: 0.75rem;
	}

	.msreal-metro__note {
		grid-column: 2;
		font-size: 0.7rem;
	}

	.msreal-metro__guide {
		padding: 18px 12px 20px;
	}

	.msreal-metro__signs {
		grid-template-columns: 1fr;
	}
}

/* 買取：再生した住まい（写真を主役に。2026-10-15） */
.msreal-section.msreal-wall {
	background: var(--wp--preset--color--white);
}

.msreal-wall .msreal-wall__title,
.msreal-ride .msreal-ride__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
}

.msreal-wall .msreal-wall__lead,
.msreal-ride .msreal-ride__lead {
	max-width: 42em;
	margin: 0 0 34px;
	word-break: auto-phrase;
}

.msreal-wall__photos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 20px;
}

.msreal-wall .msreal-wall__photo {
	margin: 0;
}

.msreal-wall__photo.is-big {
	grid-column: 1 / -1;
}

.msreal-wall__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	border-radius: 4px;
	object-fit: cover;
}

.msreal-wall__photo.is-big img {
	aspect-ratio: 2 / 1;
}

.msreal-wall__photo figcaption {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
	color: var(--wp--preset--color--ai);
	font-size: 0.85rem;
	font-weight: 700;
	line-height: 1.5;
}

.msreal-wall__photo figcaption i {
	display: inline-block;
	flex: none;
	width: 22px;
	height: 5px;
	border-radius: 3px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-wall .msreal-wall__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 18px;
	margin: 26px 0 0;
	padding: 16px 22px;
	border-radius: 3px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-wall__copy b {
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-wall__copy span {
	color: #d9dfe8;
	font-size: 0.85rem;
	word-break: auto-phrase;
}

.msreal-wall .msreal-wall__note {
	margin: 14px 0 0;
	color: #6b6f75;
	font-size: 0.75rem;
}

@media (max-width: 599px) {
	.msreal-wall__photos {
		gap: 14px 10px;
	}

	.msreal-wall__photo.is-big img {
		aspect-ratio: 4 / 3;
	}

	.msreal-wall__photo figcaption {
		gap: 6px;
		margin-top: 6px;
		font-size: 0.72rem;
	}

	.msreal-wall__photo figcaption i {
		width: 12px;
		height: 4px;
	}

	.msreal-wall .msreal-wall__copy {
		display: block;
		padding: 12px 14px;
	}

	.msreal-wall__copy b {
		display: block;
		font-size: 1.1rem;
	}

	.msreal-wall__copy span {
		display: block;
		margin-top: 4px;
		font-size: 0.78rem;
	}
}

/* 買取：買取価格は、仲介の価格と並べてお出しします（2026-10-16） */
.msreal-section.msreal-kprice {
	background: var(--wp--preset--color--kinari);
}

.msreal-kprice .msreal-kprice__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
	word-break: auto-phrase;
}

.msreal-kprice .msreal-kprice__lead {
	max-width: 42em;
	margin: 0 0 40px;
	word-break: auto-phrase;
}

.msreal-kprice__wrap {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	gap: 48px;
	align-items: center;
}

/* 査定のご報告（一部） */
.msreal-kprice__paper {
	position: relative;
	padding: 28px 30px 26px;
	border-radius: 4px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1px #e7e1d4, 0 24px 40px -28px rgba(20, 35, 58, 0.45);
}

.msreal-kprice__paper::before {
	content: "";
	position: absolute;
	top: -8px;
	right: 14px;
	left: 14px;
	height: 8px;
	border-radius: 4px 4px 0 0;
	background: #efe9dc;
	box-shadow: 0 0 0 1px #e7e1d4;
}

.msreal-kprice .msreal-kprice__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 22px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--wp--preset--color--ai);
}

.msreal-kprice__head b {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: 0.2em;
}

.msreal-kprice__head span {
	color: #999;
	font-size: 0.72rem;
}

.msreal-kprice__prices {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.msreal-kprice .msreal-kprice__price {
	margin: 0;
	padding: 16px 18px 18px;
	border-radius: 4px;
	background: #f7f5f0;
}

.msreal-kprice__price small {
	display: block;
	color: #666;
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.5;
}

.msreal-kprice__price strong {
	display: block;
	margin-top: 4px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.msreal-kprice__price strong span {
	margin-left: 2px;
	font-size: 0.9rem;
}

.msreal-kprice .msreal-kprice__price.is-k {
	background: var(--wp--preset--color--kinari);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--shinchu);
}

.msreal-kprice__price.is-k small {
	color: #8a6a35;
}

.msreal-kprice .msreal-kprice__memo {
	position: relative;
	width: max-content;
	max-width: 100%;
	box-sizing: border-box;
	margin: 18px 0 0 auto;
	padding: 8px 14px 8px 36px;
	border-radius: 3px;
	background: #fff8e6;
	box-shadow: 0 6px 14px -10px rgba(0, 0, 0, 0.35);
	color: var(--wp--preset--color--ai);
	font-size: 0.88rem;
	font-weight: 700;
	transform: rotate(-1.5deg);
}

.msreal-kprice__memo::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 12px;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
}

.msreal-kprice .msreal-kprice__note {
	margin: 14px 0 0;
	color: #999;
	font-size: 0.72rem;
}

/* 約束 */
.msreal-kprice .msreal-kprice__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-kprice__list li {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 16px;
	align-items: start;
	margin: 0;
	padding: 18px 0;
	border-top: 1px solid #e2d9c6;
}

.msreal-kprice__list li:first-child {
	padding-top: 0;
	border-top: 0;
}

.msreal-kprice__list svg {
	width: 44px;
	height: 44px;
}

.msreal-kprice .msreal-kprice__list p {
	margin: 0;
}

.msreal-kprice__list b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 1.02rem;
	line-height: 1.5;
	word-break: auto-phrase;
}

.msreal-kprice__list span {
	display: block;
	margin-top: 2px;
	color: #555;
	font-size: 0.88rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

/* 知っておいていただきたいこと */
.msreal-kprice__honest {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 20px;
	align-items: center;
	margin-top: 44px;
	padding: 20px 24px;
	border-left: 4px solid var(--wp--preset--color--shinchu);
	border-radius: 4px;
	background: var(--wp--preset--color--white);
}

.msreal-kprice .msreal-kprice__honest p {
	margin: 0;
	font-size: 0.92rem;
	word-break: auto-phrase;
}

.msreal-kprice .msreal-kprice__honest .msreal-kprice__honest-title {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.5;
	white-space: nowrap;
}

.msreal-kprice .msreal-kprice__honest a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 1px #d8cdb6;
	color: var(--wp--preset--color--ai);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.msreal-kprice .msreal-kprice__honest a::after {
	content: "→";
	color: var(--wp--preset--color--shinchu);
}

.msreal-kprice .msreal-kprice__honest a:hover,
.msreal-kprice .msreal-kprice__honest a:focus-visible {
	background: var(--wp--preset--color--kinari);
}

@media (max-width: 899px) {
	.msreal-kprice__wrap {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.msreal-kprice__honest {
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 16px;
	}

	.msreal-kprice .msreal-kprice__honest a {
		justify-self: start;
		margin-top: 4px;
	}
}

@media (max-width: 599px) {
	.msreal-kprice .msreal-kprice__lead {
		margin-bottom: 28px;
	}

	.msreal-kprice__paper {
		padding: 20px 16px 18px;
	}

	.msreal-kprice__prices {
		gap: 10px;
	}

	.msreal-kprice .msreal-kprice__price {
		padding: 12px 12px 14px;
	}

	.msreal-kprice__price small {
		font-size: 0.7rem;
	}

	.msreal-kprice__price strong {
		font-size: 1.35rem;
	}

	.msreal-kprice .msreal-kprice__memo {
		margin-right: 4px;
		font-size: 0.8rem;
	}
}

/* 並べる枠の中身が、長い文や選択肢に引っぱられて画面より広がらないように（2026-10-16 320px で横にはみ出していた） */
.msreal-kprice__wrap > *,
.msreal-satei__body > * {
	min-width: 0;
}

/* 幅の狭いスマホ（360px 未満）：2つの価格の箱を縦に */
@media (max-width: 359px) {
	.msreal-kprice__prices {
		grid-template-columns: 1fr;
	}
}

/* フォームの選択欄が、長い選択肢に合わせて画面より広がらないように（2026-10-16 320px のお問い合わせ） */
.wpcf7 select,
.wpcf7 input,
.wpcf7 textarea {
	box-sizing: border-box;
	max-width: 100%;
}

.wpcf7 select {
	width: 100%;
}

/* 迷惑送信を防ぐ確認（Turnstile）の枠は幅300pxで固定。幅の狭いスマホでは少し縮めて表示する（2026-10-16 320px で横にはみ出していた） */
@media (max-width: 359px) {
	.cf-turnstile {
		width: 240px;
		height: 52px;
		overflow: visible;
	}

	.cf-turnstile > * {
		transform: scale(0.8);
		transform-origin: left top;
	}
}
/* 仲介②：レインズって、なに？（2026-10-16） */
.msreal-reins {
	margin-top: 24px;
	padding: 26px 30px 28px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 2px var(--wp--preset--color--shinchu), 0 16px 34px -26px rgba(20, 35, 58, 0.45);
	scroll-margin-top: 90px;
}

.msreal-reins .msreal-reins__h {
	display: grid;
	grid-template-columns: 44px 1fr;
	column-gap: 14px;
	align-items: center;
	margin: 0 0 18px;
}

.msreal-reins__h > span {
	display: grid;
	grid-row: span 2;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1;
}

.msreal-reins .msreal-reins__h b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.3rem;
	font-weight: 800;
	line-height: 1.4;
}

.msreal-reins__h small {
	display: block;
	margin-top: 2px;
	color: #8a6a35;
	font-size: 0.8rem;
	line-height: 1.5;
}

.msreal-reins .msreal-reins__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 34px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-reins__list li {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	margin: 0;
}

.msreal-reins__list svg {
	width: 40px;
	height: 40px;
}

.msreal-reins .msreal-reins__list p {
	margin: 0;
}

.msreal-reins .msreal-reins__list b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.98rem;
	line-height: 1.5;
}

.msreal-reins__list p > span {
	display: block;
	margin-top: 4px;
	color: #555;
	font-size: 0.87rem;
	line-height: 1.75;
}

.msreal-reins__list mark {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

@media (max-width: 767px) {
	.msreal-reins {
		padding: 20px 16px 22px;
	}

	.msreal-reins .msreal-reins__h b {
		font-size: 1.15rem;
	}

	.msreal-reins .msreal-reins__list {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* 買取：快速と各停、どちらが合いますか（乗車のご案内。2026-10-15） */
.msreal-section.msreal-ride {
	background: var(--wp--preset--color--white);
}

.msreal-ride__boards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	align-items: start;
}

.msreal-ride__board {
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 0 0 1px #e1e5ec, 0 16px 34px -26px rgba(20, 35, 58, 0.45);
}

.msreal-ride__head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 22px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-ride__board.is-local .msreal-ride__head {
	background: #3b4558;
}

.msreal-ride__kind {
	display: inline-block;
	flex: none;
	width: 64px;
	padding: 2px 0;
	border-radius: 3px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1.6;
	text-align: center;
}

.msreal-ride__board.is-local .msreal-ride__kind {
	background: var(--wp--preset--color--white);
	color: #3b4558;
}

.msreal-ride .msreal-ride__head p {
	margin: 0;
	line-height: 1.5;
}

.msreal-ride__head b {
	display: block;
	font-size: 1.1rem;
}

.msreal-ride__head small {
	display: block;
	color: #c3cbd8;
	font-size: 0.75rem;
}

.msreal-ride .msreal-ride__board ul {
	margin: 0;
	padding: 8px 22px 14px;
	list-style: none;
	background: var(--wp--preset--color--white);
}

.msreal-ride__board li {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 12px;
	align-items: start;
	margin: 0;
	padding: 14px 0;
	border-top: 1px dashed #e4dccb;
	font-size: 0.95rem;
	line-height: 1.65;
	word-break: auto-phrase;
}

.msreal-ride__board li:first-child {
	border-top: 0;
}

.msreal-ride__board li svg {
	width: 30px;
	height: 30px;
}

.msreal-ride__board li b {
	color: var(--wp--preset--color--ai);
}

.msreal-ride__board li small {
	display: block;
	margin-top: 2px;
	color: #777;
	font-size: 0.8rem;
}

.msreal-ride .msreal-ride__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 22px;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--ai);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-ride .msreal-ride__foot:hover,
.msreal-ride .msreal-ride__foot:focus-visible {
	background: #ebe3d4;
}

.msreal-ride__honest {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 26px;
	padding: 18px 22px;
	border-radius: 6px;
	background: var(--wp--preset--color--kinari);
}

.msreal-ride__honest svg {
	flex: none;
	width: 44px;
	height: 44px;
}

.msreal-ride .msreal-ride__honest p {
	margin: 0;
	font-size: 0.95rem;
	word-break: auto-phrase;
}

.msreal-ride__honest b {
	display: block;
	color: var(--wp--preset--color--ai);
}

@media (max-width: 767px) {
	.msreal-ride__boards {
		grid-template-columns: 1fr;
	}

	.msreal-ride .msreal-ride__board ul {
		padding: 4px 16px 10px;
	}

	.msreal-ride__head {
		padding: 14px 16px;
	}

	.msreal-ride__board li {
		font-size: 0.9rem;
	}

	.msreal-ride__honest {
		align-items: flex-start;
		padding: 16px;
	}
}

/* 仲介：見出しと説明（②③④で共通。2026-10-16） */
.msreal-open .msreal-open__title,
.msreal-souba .msreal-souba__title,
.msreal-sonae .msreal-sonae__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
}

.msreal-open .msreal-open__lead,
.msreal-souba .msreal-souba__lead,
.msreal-sonae .msreal-sonae__lead {
	max-width: 44em;
	margin: 0 0 36px;
	word-break: auto-phrase;
}

.msreal-open__lead b,
.msreal-souba__lead b,
.msreal-sonae__lead b {
	color: var(--wp--preset--color--ai);
}

.msreal-section.msreal-open,
.msreal-section.msreal-sonae {
	background: var(--wp--preset--color--kinari);
}

.msreal-section.msreal-souba {
	background: var(--wp--preset--color--white);
}

/* ② 囲い込みをしない */
.msreal-open__box {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 24px;
	align-items: stretch;
}

.msreal-open__main,
.msreal-open__side {
	padding: 22px 24px 18px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 16px 34px -26px rgba(20, 35, 58, 0.45);
}

.msreal-open .msreal-open__cap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-open__cap i {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
}

.msreal-open .msreal-open__cap.is-gray {
	color: #7e8796;
	font-size: 0.92rem;
}

.msreal-open__cap.is-gray i {
	background: #b9c0cb;
}

.msreal-open__box svg {
	display: block;
	width: 100%;
	height: auto;
	font-family: var(--wp--preset--font-family--sans);
}

.msreal-open__box svg .msreal-open__mincho {
	font-family: var(--wp--preset--font-family--maru);
}

.msreal-open__box svg.msreal-open__sp {
	display: none;
}

.msreal-open__side svg {
	margin: 4px 0 10px;
}

.msreal-open .msreal-open__side p:last-child {
	margin: 0;
	color: #555;
	font-size: 0.85rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

.msreal-open__side p b {
	color: #3b4558;
}

.msreal-open .msreal-open__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 28px 0 0;
	padding: 0;
	overflow: hidden;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 16px 34px -26px rgba(20, 35, 58, 0.35);
	list-style: none;
}

.msreal-open__steps li {
	position: relative;
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 14px;
	align-items: start;
	margin: 0;
	padding: 20px 22px;
}

.msreal-open__steps li + li {
	border-left: 1px dashed #e4dccb;
}

.msreal-open__steps li + li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -9px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 3px #fff;
}

.msreal-open__steps svg {
	width: 46px;
	height: 46px;
}

.msreal-open .msreal-open__steps p {
	margin: 0;
}

.msreal-open__steps b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 1rem;
	line-height: 1.5;
}

.msreal-open__steps span {
	display: block;
	margin-top: 2px;
	color: #555;
	font-size: 0.85rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

/* ③ 相場を正直に（価格の帯） */
.msreal-souba__scale {
	display: grid;
	grid-template-columns: 44fr 30fr 26fr;
}

.msreal-souba__pinrow {
	position: relative;
	height: 92px;
}

.msreal-souba__pin {
	position: absolute;
	bottom: 14px;
	display: flex;
	flex-direction: column;
	align-items: center;
	transform: translateX(-50%);
}

.msreal-souba__pin span {
	padding: 7px 16px;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.msreal-souba__pin::after {
	content: "";
	width: 2px;
	height: 22px;
}

.is-1 .msreal-souba__pin span,
.is-1 .msreal-souba__tag {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.is-1 .msreal-souba__pin::after {
	background: var(--wp--preset--color--ai);
}

.is-2 .msreal-souba__pin span,
.is-2 .msreal-souba__tag {
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--shinchu);
	color: #8a6a35;
}

.is-2 .msreal-souba__pin::after {
	background: repeating-linear-gradient(var(--wp--preset--color--shinchu) 0 4px, transparent 4px 7px);
}

.is-3 .msreal-souba__pin span,
.is-3 .msreal-souba__tag {
	background: #eef1f5;
	color: #9aa2ae;
	text-decoration: line-through;
	text-decoration-color: #c0392b;
	text-decoration-thickness: 2px;
}

.is-3 .msreal-souba__pin::after {
	background: #cfd5de;
}

.msreal-souba__bar {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	font-size: 0.85rem;
	font-weight: 700;
}

.is-1 .msreal-souba__bar {
	border-radius: 6px 0 0 6px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
}

.is-2 .msreal-souba__bar {
	background: repeating-linear-gradient(-45deg, #ead9b7 0 8px, #f3e8d2 8px 16px);
	color: #8a6a35;
}

.is-3 .msreal-souba__bar {
	border-radius: 0 6px 6px 0;
	background: repeating-linear-gradient(-45deg, #e3e7ec 0 8px, #f1f3f6 8px 16px);
	color: #9aa2ae;
}

.msreal-souba .msreal-souba__body {
	margin: 18px 0 0;
	padding: 0 18px 0 0;
}

.msreal-souba__zone + .msreal-souba__zone .msreal-souba__body {
	padding-left: 18px;
	border-left: 1px dashed #ddd5c4;
}

.msreal-souba__body > b {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--ai);
	font-size: 1rem;
	line-height: 1.5;
}

.msreal-souba__body > b::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	border-radius: 3px;
}

.is-1 .msreal-souba__body > b::before {
	background: var(--wp--preset--color--shinchu);
}

.is-2 .msreal-souba__body > b::before {
	background: #ead9b7;
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--shinchu);
}

.is-3 .msreal-souba__body > b::before {
	background: #e3e7ec;
	box-shadow: inset 0 0 0 1px #9aa2ae;
}

.msreal-souba__body > span {
	display: block;
	margin-top: 6px;
	color: #555;
	font-size: 0.88rem;
	line-height: 1.75;
	word-break: auto-phrase;
}

.msreal-souba__tag {
	display: none;
}

.msreal-souba .msreal-souba__ends {
	display: flex;
	grid-column: 1 / -1;
	grid-row: 3;
	justify-content: space-between;
	margin: 6px 2px 0;
	color: #999;
	font-size: 0.75rem;
}

.msreal-souba__zone {
	display: contents;
}

.msreal-souba__zone > .msreal-souba__pinrow {
	grid-row: 1;
}

.msreal-souba__zone > .msreal-souba__bar {
	grid-row: 2;
}

.msreal-souba__zone > .msreal-souba__body {
	grid-row: 4;
}

/* ④ 売れなかったときの備え */
.msreal-sonae__plan {
	display: grid;
	grid-template-columns: 200px 1fr 84px 330px;
	align-items: center;
}

.msreal-sonae__start {
	padding: 18px 18px 16px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 2px var(--wp--preset--color--ai);
}

.msreal-sonae__start b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.4;
}

.msreal-sonae .msreal-sonae__start p {
	margin: 8px 0 0;
	color: #555;
	font-size: 0.8rem;
	line-height: 1.6;
}

.msreal-sonae .msreal-sonae__start ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.msreal-sonae__start li {
	margin: 0;
	padding: 1px 8px;
	border-radius: 3px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.78rem;
	font-weight: 700;
}

.msreal-sonae__period {
	padding: 0 22px 0 16px;
}

.msreal-sonae .msreal-sonae__period-t {
	margin: 0 0 8px;
	color: var(--wp--preset--color--ai);
	font-size: 0.95rem;
	font-weight: 700;
	text-align: center;
}

.msreal-sonae__bar {
	position: relative;
	display: block;
	height: 12px;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--wp--preset--color--ai), #3b4558);
}

.msreal-sonae__bar::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -2px;
	border: 9px solid transparent;
	border-left: 12px solid #3b4558;
	transform: translate(100%, -50%);
}

.msreal-sonae .msreal-sonae__period-s {
	margin: 8px 0 0;
	color: #777;
	font-size: 0.78rem;
	text-align: center;
}

.msreal-sonae__deadline {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.msreal-sonae__deadline > span {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-sonae__deadline small {
	color: #8a6a35;
	font-size: 0.78rem;
	font-weight: 700;
	white-space: nowrap;
}

.msreal-sonae__ends {
	position: relative;
	display: grid;
	gap: 14px;
	padding-left: 28px;
}

.msreal-sonae__ends::before {
	content: "";
	position: absolute;
	top: 25%;
	bottom: 25%;
	left: 0;
	width: 16px;
	border: 3px solid #c8b48e;
	border-right: 0;
	border-radius: 10px 0 0 10px;
}

.msreal-sonae__res {
	position: relative;
	padding: 14px 16px 14px 18px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 10px 24px -18px rgba(20, 35, 58, 0.5);
}

.msreal-sonae__res::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -28px;
	width: 26px;
	height: 3px;
	background: #c8b48e;
}

.msreal-sonae__res.is-k {
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--shinchu), 0 10px 24px -18px rgba(20, 35, 58, 0.5);
}

.msreal-sonae .msreal-sonae__res p {
	margin: 6px 0 0;
	color: #555;
	font-size: 0.85rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

.msreal-sonae .msreal-sonae__res .msreal-sonae__res-h {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-size: 0.95rem;
	font-weight: 700;
}

.msreal-sonae__res-h i {
	flex: none;
	padding: 1px 8px;
	border-radius: 3px;
	background: #3b4558;
	color: var(--wp--preset--color--white);
	font-size: 0.72rem;
	font-style: normal;
}

.msreal-sonae__res.is-k .msreal-sonae__res-h i {
	background: var(--wp--preset--color--shinchu);
}

.msreal-sonae__res p b {
	color: var(--wp--preset--color--ai);
}

.msreal-sonae__agree {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 34px;
	padding: 16px 20px;
	border-radius: 8px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-sonae__agree svg {
	flex: none;
	width: 40px;
	height: 40px;
}

.msreal-sonae .msreal-sonae__agree p {
	margin: 0;
	font-size: 0.95rem;
	word-break: auto-phrase;
}

.msreal-sonae__agree b {
	color: #f0d9ad;
}

/* 担当から、ひと言 */
.msreal-voice {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 34px;
	margin-top: 40px;
	padding: 38px 44px 36px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1px #e7e1d4, 0 24px 40px -30px rgba(20, 35, 58, 0.5);
}

.msreal-voice__who {
	text-align: center;
}

.msreal-voice__face {
	display: grid;
	place-items: center;
	width: 110px;
	height: 110px;
	margin: 0 auto 12px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--wp--preset--color--kinari);
	box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px #e1d6bf;
}

.msreal-voice__face img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msreal-voice .msreal-voice__who p {
	margin: 0;
}

.msreal-voice__who b {
	display: block;
	color: #8a6a35;
	font-size: 0.8rem;
	letter-spacing: 0.1em;
}

.msreal-voice__who span {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-voice .msreal-voice__body p {
	margin: 0 0 14px;
	font-size: 0.98rem;
	line-height: 2;
	word-break: auto-phrase;
}

.msreal-voice .msreal-voice__body p:last-child {
	margin-bottom: 0;
}

.msreal-voice .msreal-voice__body .msreal-voice__h {
	margin: 0 0 16px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.35rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-voice__h::before {
	content: "“";
	display: block;
	margin-bottom: 8px;
	color: var(--wp--preset--color--shinchu);
	font-size: 3rem;
	line-height: 0.6;
}

.msreal-voice .msreal-voice__body .msreal-voice__q {
	padding: 14px 18px;
	border-left: 3px solid #d8cdb6;
	background: #faf7f1;
	color: #555;
	font-size: 0.92rem;
	line-height: 1.9;
}

.msreal-voice__body strong {
	background: repeating-linear-gradient(transparent 0 calc(1lh * 0.62), #f3e3c2 calc(1lh * 0.62) 1lh);
	color: var(--wp--preset--color--ai);
}

@media (max-width: 1100px) {
	.msreal-sonae__plan {
		grid-template-columns: 180px 1fr 80px 290px;
	}
}

@media (max-width: 899px) {
	.msreal-open__box {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.msreal-open .msreal-open__steps {
		grid-template-columns: 1fr;
	}

	.msreal-open__steps li + li {
		border-top: 1px dashed #e4dccb;
		border-left: 0;
	}

	.msreal-open__steps li + li::before {
		top: -8px;
		left: 40px;
		margin-top: 0;
	}

	/* ④ は縦に */
	.msreal-sonae__plan {
		grid-template-columns: 1fr;
	}

	.msreal-sonae__period {
		margin-left: 22px;
		padding: 14px 0 14px 28px;
		border-left: 6px solid var(--wp--preset--color--ai);
	}

	.msreal-sonae__bar {
		display: none;
	}

	.msreal-sonae .msreal-sonae__period-t,
	.msreal-sonae .msreal-sonae__period-s {
		margin: 0;
		text-align: left;
	}

	.msreal-sonae__deadline {
		flex-direction: row;
		margin: 0 0 8px;
	}

	.msreal-sonae__ends {
		margin-left: 24px;
		padding-left: 24px;
	}

	.msreal-sonae__ends::before {
		top: -8px;
		bottom: 22%;
		width: 14px;
		border-top: 0;
		border-radius: 0 0 0 10px;
	}

	.msreal-sonae__res::before {
		left: -24px;
		width: 22px;
	}

	.msreal-voice {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 26px 22px 24px;
	}

	.msreal-voice__who {
		display: flex;
		align-items: center;
		gap: 12px;
		text-align: left;
	}

	.msreal-voice__face {
		width: 64px;
		height: 64px;
		margin: 0;
	}
}

@media (max-width: 599px) {
	.msreal-open__main {
		padding: 16px 12px 12px;
	}

	.msreal-open__box svg.msreal-open__pc {
		display: none;
	}

	.msreal-open__box svg.msreal-open__sp {
		display: block;
	}

	/* ③ 帯は小さく、説明は縦に */
	.msreal-souba__scale {
		grid-template-columns: 44fr 30fr 26fr;
	}

	.msreal-souba__pinrow {
		display: none;
	}

	.msreal-souba__bar {
		height: 30px;
		font-size: 0;
	}


	.msreal-souba__zone > .msreal-souba__body {
		grid-column: 1 / -1;
	}

	.msreal-souba__zone.is-1 > .msreal-souba__body {
		grid-row: 4;
	}

	.msreal-souba__zone.is-2 > .msreal-souba__body {
		grid-row: 5;
	}

	.msreal-souba__zone.is-3 > .msreal-souba__body {
		grid-row: 6;
	}

	.msreal-souba .msreal-souba__body,
	.msreal-souba__zone + .msreal-souba__zone .msreal-souba__body {
		margin-top: 20px;
		padding: 0;
		border-left: 0;
	}

	.msreal-souba__tag {
		display: inline-block;
		margin: 0 0 4px;
		padding: 2px 10px;
		border-radius: 999px;
		font-size: 0.75rem;
	}

	.msreal-souba__body > b {
		flex-wrap: wrap;
	}

	.msreal-souba__body > b .msreal-souba__tag {
		order: 3;
		flex-basis: auto;
	}

	.msreal-sonae__agree {
		align-items: flex-start;
		padding: 14px 16px;
	}

	.msreal-voice {
		padding: 22px 18px 20px;
	}

	.msreal-voice .msreal-voice__body .msreal-voice__h {
		font-size: 1.15rem;
	}

	.msreal-voice .msreal-voice__body p {
		font-size: 0.92rem;
		line-height: 1.9;
	}
}


/* 仲介：売却の流れ＋知っておいていただきたいこと（2026-10-16） */
.msreal-section.msreal-cflow {
	background: var(--wp--preset--color--white);
}

.msreal-cflow .msreal-cflow__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.45;
}

.msreal-cflow .msreal-cflow__lead {
	max-width: 44em;
	margin: 0 0 44px;
	word-break: auto-phrase;
}

.msreal-cflow .msreal-cflow__line {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-cflow__line::before {
	content: "";
	position: absolute;
	top: 34px;
	right: 10%;
	left: 10%;
	height: 4px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--ai) 0 20%, var(--wp--preset--color--shinchu) 20% 100%);
}

.msreal-cflow__st {
	position: relative;
	margin: 0;
	padding: 0 10px;
	text-align: center;
}

.msreal-cflow__ic {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--ai);
}

.msreal-cflow__st.is-hl .msreal-cflow__ic {
	background: #fdf8ee;
	box-shadow: inset 0 0 0 3px var(--wp--preset--color--shinchu);
}

.msreal-cflow__ic svg {
	width: 36px;
	height: 36px;
}

.msreal-cflow .msreal-cflow__st p {
	margin: 0;
}

.msreal-cflow__st b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 1rem;
	line-height: 1.5;
}

.msreal-cflow__st p span {
	display: block;
	margin-top: 6px;
	color: #555;
	font-size: 0.84rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

.msreal-cflow__st em {
	display: inline-block;
	margin-top: 8px;
	padding: 1px 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.74rem;
	font-style: normal;
	font-weight: 700;
}

.msreal-cflow .msreal-cflow__more {
	margin: 30px 0 0;
	text-align: center;
}

.msreal-cflow .msreal-cflow__more a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 22px;
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 1px #d8cdb6;
	color: var(--wp--preset--color--ai);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-cflow .msreal-cflow__more a::after {
	content: "→";
	color: var(--wp--preset--color--shinchu);
}

.msreal-cflow .msreal-cflow__more a:hover,
.msreal-cflow .msreal-cflow__more a:focus-visible {
	background: var(--wp--preset--color--kinari);
}

.msreal-cflow__know {
	margin-top: 60px;
	padding: 26px 30px 28px;
	border-left: 4px solid var(--wp--preset--color--shinchu);
	border-radius: 6px;
	background: var(--wp--preset--color--kinari);
}

.msreal-cflow .msreal-cflow__know-t {
	margin: 0 0 16px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-cflow .msreal-cflow__know ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-cflow__know li {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 12px;
	align-items: start;
	margin: 0;
}

.msreal-cflow__know svg {
	width: 40px;
	height: 40px;
}

.msreal-cflow .msreal-cflow__know p {
	margin: 0;
}

.msreal-cflow__know b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.95rem;
	line-height: 1.5;
}

.msreal-cflow__know p span {
	display: block;
	margin-top: 4px;
	color: #555;
	font-size: 0.84rem;
	line-height: 1.7;
	word-break: auto-phrase;
}

@media (max-width: 899px) {
	.msreal-cflow .msreal-cflow__line {
		grid-template-columns: 1fr;
	}

	.msreal-cflow__line::before {
		top: 20px;
		right: auto;
		bottom: 20px;
		left: 34px;
		width: 4px;
		height: auto;
		background: linear-gradient(180deg, var(--wp--preset--color--ai) 0 18%, var(--wp--preset--color--shinchu) 18% 100%);
	}

	.msreal-cflow__st {
		display: grid;
		grid-template-columns: 72px 1fr;
		gap: 14px;
		padding: 0 0 18px;
		text-align: left;
	}

	.msreal-cflow__ic {
		margin: 0;
	}

	.msreal-cflow .msreal-cflow__st p {
		padding-top: 6px;
	}

	.msreal-cflow .msreal-cflow__know ul {
		grid-template-columns: 1fr;
		gap: 18px;
	}
}

@media (max-width: 599px) {
	.msreal-cflow .msreal-cflow__lead {
		margin-bottom: 30px;
	}

	.msreal-cflow__know {
		margin-top: 40px;
		padding: 20px 16px;
	}
}


/* 売却の流れ・必要書類：流れ（査定のあと買取と仲介に分かれ、お引渡しで合流。2026-10-16 見本 docs/記録/流れ試作_3_磨き）
 * PC（960px以上）：査定までの1本（左から282pxの位置）→ 分かれ道の線（SVG、880px幅の中の x=76 と x=540 へ）→ 2列 → 合流 → お引渡し。
 * 丸の中心と線の位置は px で合わせているので、幅や余白を変えるときは SVG の座標も一緒に直す。
 * スマホ：2列は「買取の場合／仲介の場合」のボタンで切り替え（site.js の data-msreal-fork。JS が動かないときは両方出す）。 */
.msreal-section.msreal-fork {
	background: linear-gradient(180deg, var(--wp--preset--color--white) 0%, #fbf8f2 100%);
}

.msreal-section > .msreal-fork__in {
	max-width: 880px;
}

.msreal-fork .msreal-fork__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
}

.msreal-fork__title mark {
	background: linear-gradient(transparent 72%, rgba(184, 147, 90, 0.22) 72%);
	color: var(--wp--preset--color--shinchu);
}

.msreal-fork .msreal-fork__lead {
	max-width: 36em;
	margin: 0 auto 48px;
	color: #555;
	font-size: 0.875rem;
	text-align: center;
}

/* 1つの段階：丸＋文字 */
.msreal-fork__list {
	position: relative;
	display: grid;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-fork__list::before {
	content: "";
	position: absolute;
	top: 26px;
	bottom: 26px;
	left: 25px;
	width: 2px;
	background: #e3d5bc;
}

.msreal-fork__list.is-trunk::before {
	bottom: 0;
}

.msreal-fork__st {
	position: relative;
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 0 16px;
	align-items: start;
	margin: 0;
}

.msreal-fork__ic {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 52px;
	height: 52px;
	border: 1.5px solid #e3d5bc;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px #f1e9da, 0 0 0 6px #fff;
	color: var(--wp--preset--color--ai);
}

.msreal-fork__ic svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-fork__st h3 {
	margin: 12px 0 2px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.4;
}

.msreal-fork__st p {
	margin: 0;
	color: #555;
	font-size: 0.8125rem;
	line-height: 1.75;
}

.msreal-fork__badge {
	display: inline-block;
	margin-top: 6px;
	padding: 1px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.7;
}

/* 分かれ目の点 */
.msreal-fork__jd {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	margin: 18px 0 0 19px;
	border: 2px solid var(--wp--preset--color--ai);
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 5px #fff;
}

/* 「ここまで無料」の区切り */
.msreal-fork__free {
	position: relative;
	margin: -4px 0 -6px;
	padding: 0 0 0 68px;
}

.msreal-fork__free::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: 4px;
	width: 44px;
	border-top: 1px dashed #cfae77;
}

.msreal-fork__free p {
	margin: 0;
	color: #8a6a35;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.6;
}

.msreal-fork__free small {
	display: inline-block;
	margin-left: 8px;
	color: #8f7c5e;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0;
}

/* 分かれ道・合流の線（買取＝藍、仲介＝真鍮） */
.msreal-fork__branch {
	display: block;
	width: 100%;
	height: 56px;
	overflow: visible;
}

.msreal-fork__branch path {
	fill: none;
	stroke-width: 2;
}

.msreal-fork__branch .is-n {
	stroke: #e3d5bc;
}

.msreal-fork__branch .is-k {
	stroke: rgba(20, 35, 58, 0.45);
}

.msreal-fork__branch .is-c {
	stroke: var(--wp--preset--color--shinchu);
}

/* 2列（うすい色の面） */
.msreal-fork__seg {
	display: none;
}

.msreal-fork__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 48px;
}

.msreal-fork__col {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	margin: 0 -16px;
	padding: 22px 0 0 66px;
	border-radius: 16px;
}

.msreal-fork__col.is-k {
	background: rgba(20, 35, 58, 0.035);
}

.msreal-fork__col.is-c {
	background: rgba(184, 147, 90, 0.09);
}

/* 面の上の端から最初の丸までの線 */
.msreal-fork__col::before {
	content: "";
	position: absolute;
	top: 0;
	left: 91px;
	width: 2px;
	height: 64px;
}

.msreal-fork__col.is-k::before,
.msreal-fork__col.is-k .msreal-fork__list::before,
.msreal-fork__col.is-k .msreal-fork__tail {
	background: rgba(20, 35, 58, 0.45);
}

.msreal-fork__col.is-c::before,
.msreal-fork__col.is-c .msreal-fork__list::before,
.msreal-fork__col.is-c .msreal-fork__tail {
	background: var(--wp--preset--color--shinchu);
}

.msreal-fork__col.is-c .msreal-fork__ic {
	border-color: #dcc59c;
}

.msreal-fork .msreal-fork__head {
	margin: -2px 0 20px 68px;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.msreal-fork__col.is-k .msreal-fork__head {
	color: var(--wp--preset--color--ai);
}

.msreal-fork__col.is-c .msreal-fork__head {
	color: #8a6a35;
}

.msreal-fork__head::after {
	content: "";
	display: inline-block;
	width: 28px;
	height: 2px;
	margin: 0 0 5px 10px;
	background: currentColor;
	opacity: 0.5;
	vertical-align: middle;
}

.msreal-fork__col .msreal-fork__list {
	width: 330px;
	max-width: 100%;
}

/* 買取の列：段階が1つなので、残りは点線と説明 */
.msreal-fork__skip {
	position: relative;
	flex: 1;
	width: 330px;
	max-width: 100%;
	min-height: 40px;
	margin-top: 16px;
}

.msreal-fork__skip::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px;
	border-left: 2px dashed rgba(20, 35, 58, 0.3);
}

.msreal-fork .msreal-fork__skip p {
	margin: 0 0 0 68px;
	padding: 10px 14px;
	border: 1px solid #e4e0d8;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	line-height: 1.75;
}

.msreal-fork__tail {
	display: block;
	flex: 1;
	width: 2px;
	min-height: 28px;
	margin-left: 25px;
}

.msreal-fork__col.is-k .msreal-fork__tail {
	flex: none;
}

/* 査定まで・お引渡しの位置（丸の中心が SVG の x=308） */
.msreal-fork__trunk {
	width: 420px;
	margin: 0 0 0 282px;
}

.msreal-fork__st.is-goal {
	gap: 0 20px;
}

.msreal-fork__st.is-goal .msreal-fork__ic {
	width: 60px;
	height: 60px;
	margin: -4px 0 0 -4px;
	border-color: var(--wp--preset--color--shinchu);
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 6px #fff, 0 0 0 7px #e6d5b5, 0 0 0 14px rgba(184, 147, 90, 0.1);
	color: var(--wp--preset--color--white);
}

.msreal-fork .msreal-fork__docs {
	margin: 40px 0 0;
	color: #555;
	font-size: 0.8125rem;
	text-align: center;
}

.msreal-fork__docs a {
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 959px) {
	.msreal-fork .msreal-fork__title,
	.msreal-fork .msreal-fork__lead,
	.msreal-fork .msreal-fork__docs {
		text-align: left;
	}

	.msreal-fork .msreal-fork__lead {
		margin-bottom: 28px;
	}

	.msreal-fork__trunk {
		width: auto;
		margin: 0;
	}

	.msreal-fork__list.is-trunk::before {
		bottom: 30px;
	}

	.msreal-fork__free::before {
		left: 0;
	}

	.msreal-fork__free small {
		display: block;
		margin: 0;
	}

	.msreal-fork__branch {
		display: none;
	}

	.msreal-fork__cols {
		display: block;
	}

	.msreal-fork__col {
		margin: 0 0 16px;
		padding: 18px 14px 6px;
		border-radius: 14px;
	}

	.msreal-fork__col::before,
	.msreal-fork__tail,
	.msreal-fork__skip::before {
		display: none;
	}

	.msreal-fork__col .msreal-fork__list,
	.msreal-fork__skip {
		width: auto;
	}

	.msreal-fork .msreal-fork__head {
		margin-left: 0;
	}

	.msreal-fork__skip {
		min-height: 0;
		margin-bottom: 12px;
	}

	.msreal-fork__st.is-goal {
		gap: 0 16px;
	}

	.msreal-fork__st.is-goal .msreal-fork__ic {
		width: 52px;
		height: 52px;
		margin: 0;
		box-shadow: 0 0 0 4px #fff, 0 0 0 5px #e6d5b5;
	}

	.msreal-fork__trunk.is-goal {
		margin-top: 26px;
	}

	/* JS が動いているときは、ボタンで1列ずつ */
	.msreal-fork.is-js .msreal-fork__seg {
		display: grid;
		grid-template-columns: 1fr 1fr;
		margin: 18px 0 22px;
		padding: 4px;
		border: 1px solid #e3d5bc;
		border-radius: 999px;
		background: var(--wp--preset--color--white);
	}

	.msreal-fork__seg button {
		min-width: 0;
		padding: 8px 0;
		border: 0;
		border-radius: 999px;
		background: transparent;
		color: var(--wp--preset--color--ai);
		font: inherit;
		font-size: 0.875rem;
		font-weight: 700;
		cursor: pointer;
	}

	.msreal-fork__seg button.is-k[aria-pressed="true"] {
		background: var(--wp--preset--color--ai);
		color: var(--wp--preset--color--white);
	}

	.msreal-fork__seg button.is-c[aria-pressed="true"] {
		background: var(--wp--preset--color--shinchu);
		color: var(--wp--preset--color--white);
	}

	.msreal-fork.is-js .msreal-fork__col {
		display: none;
	}

	.msreal-fork.is-js .msreal-fork__col.is-on {
		display: flex;
		align-items: stretch;
	}

	.msreal-fork.is-js .msreal-fork__head {
		display: none;
	}
}

/* 売却の流れ・必要書類：必要書類（査定・ご契約・お引渡しの3つの時期。2026-10-16 見本 docs/記録/書類試作_2_磨き）
 * PC（960px以上）は3列で、上の丸を細い線（真鍮へ少しずつ濃く）でつなぐ。それ未満は流れの段と同じく縦の線。 */
.msreal-section.msreal-papers {
	background: linear-gradient(180deg, #fbf8f2 0, var(--wp--preset--color--white) 260px);
}

.msreal-section > .msreal-papers__in {
	max-width: 1040px;
}

.msreal-papers svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-papers .msreal-papers__title {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.5;
	text-align: center;
}

.msreal-papers__title mark {
	background: linear-gradient(transparent 72%, rgba(184, 147, 90, 0.22) 72%);
	color: var(--wp--preset--color--shinchu);
}

.msreal-papers .msreal-papers__lead {
	max-width: 38em;
	margin: 0 auto 56px;
	color: #555;
	font-size: 0.875rem;
	text-align: center;
}

/* 3つの時期 */
.msreal-papers__when {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 56px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-papers__when::before {
	content: "";
	position: absolute;
	top: 26px;
	right: calc(100% / 6);
	left: calc(100% / 6);
	height: 2px;
	background: linear-gradient(90deg, #e3d5bc, #b8935a);
}

.msreal-papers__time {
	min-width: 0;
	margin: 0;
}

.msreal-papers__ic {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 52px;
	height: 52px;
	margin: 0 auto 16px;
	border: 1.5px solid #e3d5bc;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px #f1e9da, 0 0 0 8px #fff;
	color: var(--wp--preset--color--ai);
}

.msreal-papers__ic svg {
	width: 22px;
	height: 22px;
}

.msreal-papers__time.is-goal .msreal-papers__ic {
	border-color: var(--wp--preset--color--shinchu);
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 8px #fff, 0 0 0 9px #e6d5b5;
	color: var(--wp--preset--color--white);
}

.msreal-papers__head {
	text-align: center;
}

.msreal-papers__head h3 {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.125rem;
	font-weight: 800;
	line-height: 1.4;
}

.msreal-papers__head span {
	display: block;
	margin-top: 4px;
	color: #8a6a35;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* 書類の一覧（1つずつ違う絵） */
.msreal-papers__docs {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.msreal-papers__docs li {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 0 14px;
	align-items: center;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px dashed #e8dec9;
	color: var(--wp--preset--color--sumi);
	font-size: 0.8125rem;
	line-height: 1.6;
}

.msreal-papers__docs li:last-child {
	border-bottom: 0;
}

.msreal-papers__di {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #f7f2e8;
	color: #8a6a35;
}

.msreal-papers__time.is-goal .msreal-papers__di {
	background: #f3ead8;
}

.msreal-papers__di svg {
	width: 22px;
	height: 22px;
}

.msreal-papers__docs small {
	display: block;
	color: #7a7a7a;
	font-size: 0.6875rem;
	line-height: 1.55;
}

.msreal-papers .msreal-papers__ok {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	margin: 12px 0 0;
	color: var(--wp--preset--color--ai);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.7;
}

.msreal-papers__ok svg {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--wp--preset--color--shinchu);
}

/* 物件・ご事情によって（1つの面に3行） */
.msreal-papers__case {
	margin: 60px 0 0;
}

.msreal-papers .msreal-papers__case-t {
	margin: 0 0 18px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

.msreal-papers__case ul {
	max-width: 860px;
	margin: 0 auto;
	padding: 6px 28px;
	border-radius: 16px;
	background: #fbf8f2;
	list-style: none;
}

.msreal-papers__case li {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 0 18px;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px dashed #e3d7c0;
}

.msreal-papers__case li:last-child {
	border-bottom: 0;
}

.msreal-papers__case li > div {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: 0 16px;
	align-items: baseline;
	min-width: 0;
}

.msreal-papers__ci {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0 0 1px #eadfcb;
	color: var(--wp--preset--color--ai);
}

.msreal-papers__ci svg {
	width: 22px;
	height: 22px;
}

.msreal-papers__case b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	line-height: 1.5;
}

.msreal-papers__case li > div > span {
	display: block;
	color: #555;
	font-size: 0.75rem;
	line-height: 1.75;
}

/* 見つからなくても大丈夫 */
.msreal-papers__relief {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 0 22px;
	align-items: center;
	max-width: 760px;
	margin: 44px auto 0;
	padding: 26px 8px;
	border-top: 1px solid #e3d5bc;
	border-bottom: 1px solid #e3d5bc;
}

.msreal-papers__ri {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-papers__ri svg {
	width: 28px;
	height: 28px;
}

.msreal-papers__relief h3 {
	margin: 0 0 4px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.45;
}

.msreal-papers__relief p {
	margin: 0;
	color: #555;
	font-size: 0.8125rem;
	line-height: 1.8;
}

.msreal-papers__relief small {
	display: block;
	margin-top: 6px;
	color: #888;
	font-size: 0.6875rem;
}

@media (max-width: 959px) {
	.msreal-papers .msreal-papers__title,
	.msreal-papers .msreal-papers__lead,
	.msreal-papers .msreal-papers__case-t {
		text-align: left;
	}

	.msreal-papers .msreal-papers__lead {
		margin-bottom: 30px;
	}

	.msreal-papers__when {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	.msreal-papers__when::before {
		top: 26px;
		right: auto;
		bottom: 26px;
		left: 25px;
		width: 2px;
		height: auto;
		background: linear-gradient(180deg, #e3d5bc, #b8935a);
	}

	.msreal-papers__time {
		display: grid;
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 0 16px;
	}

	.msreal-papers__ic {
		margin: 0;
	}

	.msreal-papers__head {
		padding-top: 4px;
		text-align: left;
	}

	.msreal-papers__docs,
	.msreal-papers .msreal-papers__ok {
		grid-column: 2;
	}

	.msreal-papers__docs {
		margin-top: 8px;
	}

	.msreal-papers__docs li {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 0 12px;
		padding: 9px 0;
	}

	.msreal-papers__di {
		width: 34px;
		height: 34px;
		border-radius: 8px;
	}

	.msreal-papers__di svg {
		width: 19px;
		height: 19px;
	}

	.msreal-papers__case {
		margin-top: 40px;
	}

	.msreal-papers__case ul {
		padding: 4px 16px;
	}

	.msreal-papers__case li {
		align-items: start;
		padding: 14px 0;
	}

	.msreal-papers__case li > div {
		display: block;
	}

	.msreal-papers__relief {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 0 14px;
		align-items: start;
		padding: 22px 0;
	}

	.msreal-papers__ri {
		width: 48px;
		height: 48px;
	}

	.msreal-papers__ri svg {
		width: 22px;
		height: 22px;
	}
}

/* よくあるご質問（/sell/faq/。2026-10-17 見本 docs/記録/質問試作_2_磨き）
 * トップと同じ便箋の形を話題ごとに1枚。PC（1024px以上）は左に目次（ついてくる。親に overflow: hidden を付けないこと）。 */
.msreal-section.msreal-faqp {
	background: var(--wp--preset--color--kinari);
}

.msreal-section > .msreal-faqp__in {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 0 64px;
	align-items: start;
	max-width: 1120px;
}

.msreal-faqp svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* 左：見出し・目次・電話 */
.msreal-faqp__side {
	position: sticky;
	top: 40px;
	min-width: 0;
}

.msreal-faqp .msreal-faqp__title {
	margin: 0 0 16px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.45rem, 2.4vw, 1.6rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-faqp__title em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
	-webkit-text-emphasis: filled sesame var(--wp--preset--color--shinchu);
	text-emphasis: filled sesame var(--wp--preset--color--shinchu);
	text-emphasis-position: over right;
}

.msreal-faqp .msreal-faqp__lead {
	margin: 0 0 26px;
	color: #555;
	font-size: 0.8125rem;
	line-height: 1.9;
}

.msreal-faqp__toc {
	margin: 0;
	padding: 0;
	border-top: 1px solid #dccfb6;
	list-style: none;
}

.msreal-faqp__toc > li {
	position: relative;
	margin: 0;
	border-bottom: 1px solid #dccfb6;
}

.msreal-faqp__toc > li > a {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	gap: 0 12px;
	align-items: center;
	padding: 12px 4px;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-faqp__ti {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: #8a6a35;
	transition: background-color 0.2s, color 0.2s;
}

.msreal-faqp__ti svg {
	width: 18px;
	height: 18px;
}

.msreal-faqp__toc small {
	color: #8f7c5e;
	font-size: 0.6875rem;
	font-weight: 400;
}

.msreal-faqp__toc > li.is-on::before {
	content: "";
	position: absolute;
	top: 12px;
	left: -14px;
	width: 3px;
	height: 36px;
	border-radius: 2px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-faqp__toc > li.is-on .msreal-faqp__ti {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-faqp__qs {
	display: none;
	margin: -2px 0 0;
	padding: 0 0 12px 52px;
	list-style: none;
}

.msreal-faqp__toc > li.is-on .msreal-faqp__qs {
	display: block;
}

.msreal-faqp__qs li {
	margin: 0;
}

.msreal-faqp__qs a {
	display: block;
	padding: 3px 0;
	color: #6b6457;
	font-size: 0.6875rem;
	line-height: 1.6;
	text-decoration: none;
}

.msreal-faqp__qs a.is-cur {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-faqp__qs a.is-cur::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 6px 2px -12px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
}

/* 電話の札 */
.msreal-faqp__call {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 0 12px;
	align-items: center;
	margin: 26px 0 0;
	padding: 16px 18px;
	border-radius: 10px;
	background: var(--wp--preset--color--white);
}

.msreal-faqp__call-ic {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--ai);
}

.msreal-faqp__call-ic svg {
	width: 19px;
	height: 19px;
}

.msreal-faqp__call p {
	margin: 0;
	color: #666;
	font-size: 0.6875rem;
	line-height: 1.6;
}

.msreal-faqp__call a {
	display: block;
	margin: 2px 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.1875rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
}

.msreal-faqp__sp-call {
	display: none;
}

/* 右：便箋 */
.msreal-faqp__papers {
	display: grid;
	gap: 40px;
	min-width: 0;
}

.msreal-faqp__paper {
	position: relative;
	min-width: 0;
	padding: 38px 52px 30px;
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 0 #e9e1d2, 0 18px 40px rgba(20, 35, 58, 0.07);
	scroll-margin-top: 24px;
}

.msreal-faqp__paper::before {
	content: "";
	position: absolute;
	top: 0;
	right: 52px;
	left: 52px;
	height: 3px;
	border-radius: 0 0 2px 2px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-faqp__ph {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 0 14px;
	align-items: center;
	margin-bottom: 6px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--wp--preset--color--ai);
}

.msreal-faqp__pi {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wp--preset--color--kinari);
	color: #8a6a35;
}

.msreal-faqp__pi svg {
	width: 21px;
	height: 21px;
}

.msreal-faqp .msreal-faqp__ph h2 {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.1875rem;
	font-weight: 800;
	line-height: 1.4;
}

.msreal-faqp__ph > span:last-child {
	color: #888;
	font-size: 0.6875rem;
	white-space: nowrap;
}

.msreal-faqp__paper dl {
	margin: 0;
}

.msreal-faqp__item {
	padding: 24px 0 22px;
	border-bottom: 1px dashed #dcc9a6;
	scroll-margin-top: 24px;
}

.msreal-faqp__item:last-child {
	border-bottom: 0;
}

.msreal-faqp__item dt,
.msreal-faqp__item dd {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 0 18px;
	align-items: start;
	margin: 0;
}

.msreal-faqp__item dd {
	margin-top: 12px;
}

.msreal-faqp__mk {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
}

.msreal-faqp__mk.is-q {
	border: 1.5px solid var(--wp--preset--color--shinchu);
	background: var(--wp--preset--color--white);
	color: #8a6a35;
}

.msreal-faqp__mk.is-a {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-faqp__q {
	padding-top: 4px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.55;
}

.msreal-faqp__a {
	padding-top: 5px;
	color: #444;
	font-size: 0.8125rem;
	line-height: 1.95;
}

.msreal-faqp__a a {
	margin-left: 4px;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.msreal-faqp .msreal-faqp__more {
	display: flex;
	justify-content: flex-end;
	margin: 8px 0 0;
	padding-top: 16px;
	border-top: 1px solid #efe7d8;
}

.msreal-faqp__more a {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-faqp__more a span {
	display: grid;
	flex: none;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 13px;
}

@media (max-width: 1023px) {
	.msreal-section > .msreal-faqp__in {
		grid-template-columns: minmax(0, 1fr);
	}

	.msreal-faqp__side {
		position: static;
	}

	.msreal-faqp .msreal-faqp__lead {
		margin-bottom: 18px;
	}

	.msreal-faqp__toc {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		margin-bottom: 28px;
		border: 0;
	}

	.msreal-faqp__toc > li {
		border: 0;
	}

	.msreal-faqp__toc > li.is-on::before,
	.msreal-faqp__toc small,
	.msreal-faqp__toc .msreal-faqp__qs,
	.msreal-faqp__toc > li.is-on .msreal-faqp__qs,
	.msreal-faqp__side .msreal-faqp__call {
		display: none;
	}

	.msreal-faqp__toc > li > a {
		display: flex;
		gap: 8px;
		padding: 6px 14px 6px 6px;
		border-radius: 999px;
		background: var(--wp--preset--color--white);
		font-size: 0.84375rem;
	}

	.msreal-faqp__ti,
	.msreal-faqp__toc > li.is-on .msreal-faqp__ti {
		width: 28px;
		height: 28px;
		background: var(--wp--preset--color--kinari);
		color: #8a6a35;
	}

	.msreal-faqp__ti svg {
		width: 15px;
		height: 15px;
	}

	.msreal-faqp__sp-call {
		display: block;
	}

	.msreal-faqp__sp-call .msreal-faqp__call {
		margin: 0;
	}

	.msreal-faqp__papers {
		gap: 24px;
	}

	.msreal-faqp__paper {
		padding: 26px 18px 18px;
		border-radius: 8px;
	}

	.msreal-faqp__paper::before {
		right: 18px;
		left: 18px;
	}

	.msreal-faqp__ph {
		grid-template-columns: 36px minmax(0, 1fr) auto;
		gap: 0 10px;
	}

	.msreal-faqp__pi {
		width: 36px;
		height: 36px;
	}

	.msreal-faqp__pi svg {
		width: 17px;
		height: 17px;
	}

	.msreal-faqp__item {
		padding: 20px 0 18px;
	}

	.msreal-faqp__item dt,
	.msreal-faqp__item dd {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 0 12px;
	}

	.msreal-faqp__mk {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.msreal-faqp__q {
		padding-top: 2px;
	}

	.msreal-faqp__a {
		padding-top: 2px;
		font-size: 0.875rem;
	}
}

/* 会社概要（/company/。2026-10-17 見本 docs/記録/会社試作_8_地図）
 * ①代表挨拶（便箋）②住まいの循環 ③会社概要（表札・写真・表）④アクセス（Google マップ）
 * 代表のお名前の書体「Yuji Syuku」（SIL Open Font License）は「盛合和也」の4文字だけを取り出して自前配信。名前が変わったら作り直す。 */
@font-face {
	font-family: "Msreal Sign";
	font-display: swap;
	src: url("../fonts/sign-yujisyuku.woff2") format("woff2");
}

.msreal-co__mark {
	display: block;
	height: auto;
}

.msreal-co__h2 {
	margin: 0 0 14px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.35rem, 2.6vw, 1.75rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-co__lead {
	margin: 0;
	color: #555;
	font-size: 0.875rem;
	line-height: 1.9;
}

/* ① 代表挨拶 */
.msreal-co-msg {
	position: relative;
	overflow: clip;
	padding: clamp(56px, 8vw, 96px) 16px clamp(64px, 9vw, 104px);
	background: var(--wp--preset--color--kinari);
}

.msreal-co-msg__in {
	position: relative;
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 0 72px;
	align-items: start;
	max-width: 1120px;
	margin: 0 auto;
}

.msreal-co-msg__side {
	position: sticky;
	top: 40px;
	min-width: 0;
}

.msreal-co-msg .msreal-co-msg__label {
	margin: 0 0 16px;
	color: #8a6a35;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.msreal-co-msg .msreal-co-msg__catch {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.6rem, 3vw, 2rem);
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.75;
}

.msreal-co-msg__catch em {
	color: var(--wp--preset--color--shinchu);
	font-style: normal;
}

.msreal-co-msg__since {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0 18px;
	align-items: end;
	margin: 40px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid #dccfb6;
}

.msreal-co-msg__since b {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 3rem;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
}

.msreal-co-msg__since span {
	padding-bottom: 4px;
	color: #6b6457;
	font-size: 0.75rem;
	line-height: 1.7;
}

.msreal-co-msg__since strong {
	color: var(--wp--preset--color--ai);
}

.msreal-co-msg__letter {
	position: relative;
	min-width: 0;
	padding: 58px 64px 104px;
	border-radius: 4px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 0 #e9e1d2, 0 24px 50px rgba(20, 35, 58, 0.08);
	font-size: 0.875rem;
}

.msreal-co-msg__letter::before {
	content: "";
	position: absolute;
	top: 0;
	right: 64px;
	left: 64px;
	height: 3px;
	border-radius: 0 0 2px 2px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-co-msg .msreal-co-msg__lh {
	margin: 0 0 1.2em;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.5em;
	text-align: center;
	text-indent: 0.5em;
}

.msreal-co-msg__lh::after {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 14px auto 0;
	background: var(--wp--preset--color--shinchu);
}

/* 罫線：行の高さ（2.15em）ごとに線。p の行の高さ・余白も同じ 2.15em にして、文字が線の上に乗るようにする */
.msreal-co-msg__body {
	background-image: repeating-linear-gradient(transparent 0 calc(2.15em - 1px), #f1eadb calc(2.15em - 1px) 2.15em);
}

.msreal-co-msg .msreal-co-msg__body p {
	margin: 0 0 2.15em;
	color: #333;
	font-size: 1em;
	line-height: 2.15em;
	text-indent: 1em;
}

.msreal-co-msg .msreal-co-msg__body p:last-child {
	margin-bottom: 0;
}

.msreal-co-msg__sign {
	display: flex;
	gap: 18px;
	align-items: center;
	justify-content: flex-end;
	margin: 2.6em 0 0;
}

.msreal-co-msg .msreal-co-msg__who {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	text-align: right;
}

.msreal-co-msg__who span {
	display: block;
	color: #666;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.msreal-co-msg__who b {
	display: block;
	margin-top: 2px;
	font-family: "Msreal Sign", var(--wp--preset--font-family--maru);
	font-size: 1.9rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	line-height: 1.3;
}

.msreal-co-msg__seal {
	display: grid;
	flex: none;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--wp--preset--color--ai);
	color: var(--wp--preset--color--kinari);
}

.msreal-co-msg__seal .msreal-co__mark {
	width: 40px;
}

.msreal-co__pen {
	position: absolute;
	right: -40px;
	bottom: 16px;
	z-index: 2;
	width: 360px;
	height: auto;
	pointer-events: none;
	transform: rotate(-7deg);
	transform-origin: 100% 50%;
}

/* ② 住まいの循環（1100px 以上は円、それ未満は縦の一覧） */
.msreal-co-biz {
	padding: clamp(56px, 9vw, 104px) 16px clamp(56px, 8vw, 96px);
	background: var(--wp--preset--color--white);
}

.msreal-co-biz__in {
	max-width: 1120px;
	margin: 0 auto;
}

.msreal-co-biz__head {
	margin-bottom: 24px;
	text-align: center;
}

.msreal-co-biz__head .msreal-co__lead {
	max-width: 36em;
	margin: 0 auto;
}

.msreal-co-biz__ring {
	position: relative;
	width: 1040px;
	height: 700px;
	margin: 0 auto;
}

.msreal-co-biz__circle {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 440px;
	height: 440px;
	transform: translate(-50%, -50%);
}

.msreal-co-biz__core {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 220px;
	text-align: center;
	transform: translate(-50%, -50%);
}

.msreal-co-biz__core .msreal-co__mark {
	width: 92px;
	margin: 0 auto 10px;
	color: var(--wp--preset--color--ai);
}

.msreal-co-biz__core b {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.msreal-co-biz__core span {
	display: block;
	margin-top: 4px;
	color: #8a6a35;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.msreal-co-biz__node {
	position: absolute;
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 0 18px;
	align-items: center;
	width: 300px;
}

.msreal-co-biz__node > div {
	min-width: 0;
}

.msreal-co-biz__node.is-top,
.msreal-co-biz__node.is-bottom {
	left: 370px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
	text-align: center;
}

.msreal-co-biz__node.is-top {
	bottom: 486px;
	flex-direction: column-reverse;
}

.msreal-co-biz__node.is-bottom {
	top: 486px;
}

.msreal-co-biz__node.is-right,
.msreal-co-biz__node.is-left {
	top: 350px;
	transform: translateY(-50%);
}

.msreal-co-biz__node.is-right {
	left: 656px;
}

.msreal-co-biz__node.is-left {
	left: 84px;
	direction: rtl;
}

.msreal-co-biz__node.is-left > * {
	direction: ltr;
	text-align: right;
}

.msreal-co-biz__ic {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 68px;
	height: 68px;
	border: 1.5px solid #e3d5bc;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	box-shadow: inset 0 0 0 5px #fff, inset 0 0 0 6px #f1e9da, 0 0 0 10px #fff;
	color: var(--wp--preset--color--ai);
}

.msreal-co-biz__ic svg {
	width: 28px;
	height: 28px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-co-biz__node.is-main .msreal-co-biz__ic {
	border-color: var(--wp--preset--color--ai);
	background: var(--wp--preset--color--ai);
	box-shadow: 0 0 0 10px #fff, 0 0 0 11px #dccfb6;
	color: var(--wp--preset--color--white);
}

.msreal-co-biz__node h3 {
	margin: 0 0 4px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.45;
}

.msreal-co-biz__node p {
	margin: 0;
	color: #555;
	font-size: 0.75rem;
	line-height: 1.8;
}

.msreal-co-biz .msreal-co-biz__close {
	max-width: 760px;
	margin: 8px auto 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
	font-weight: 800;
	line-height: 1.9;
	text-align: center;
}

.msreal-co-biz__close small {
	display: block;
	margin-top: 8px;
	color: #666;
	font-family: var(--wp--preset--font-family--body, "Noto Sans JP", sans-serif);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.8;
}

/* ③ 会社概要 */
.msreal-co-ov {
	padding: clamp(56px, 8vw, 96px) 16px clamp(64px, 9vw, 104px);
	background: linear-gradient(180deg, #fbf8f2, var(--wp--preset--color--white) 320px);
}

.msreal-co-ov__in {
	display: grid;
	grid-template-columns: 400px minmax(0, 1fr);
	gap: 0 64px;
	align-items: start;
	max-width: 1120px;
	margin: 0 auto;
}

.msreal-co-ov__in > * {
	min-width: 0;
}

.msreal-co-ov__plate {
	padding: 30px 28px 26px;
	border: 1px solid var(--wp--preset--color--shinchu);
	border-radius: 4px;
	background: radial-gradient(120% 90% at 50% 40%, #22385a 0%, #14233a 55%, #0d1828 100%);
	box-shadow: inset 0 0 0 5px #14233a, inset 0 0 0 6px rgba(184, 147, 90, 0.55);
	color: var(--wp--preset--color--kinari);
	text-align: center;
}

.msreal-co-ov__plate .msreal-co__mark {
	width: 70px;
	margin: 0 auto 12px;
}

.msreal-co-ov .msreal-co-ov__nm {
	margin: 0;
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.1875rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.msreal-co-ov .msreal-co-ov__lc {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid rgba(184, 147, 90, 0.45);
	color: rgba(243, 238, 228, 0.78);
	font-size: 0.6875rem;
	line-height: 1.8;
}

.msreal-co-ov__lc b {
	display: block;
	color: #e7cf9f;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

.msreal-co-ov__photos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 22px;
}

.msreal-co-ov__photos figure {
	margin: 0;
}

.msreal-co-ov__photos img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	border-radius: 4px;
	object-fit: cover;
}

.msreal-co-ov__photos figcaption {
	margin-top: 6px;
	color: #777;
	font-size: 0.6875rem;
}

.msreal-co-ov__table .msreal-co__h2 {
	margin-bottom: 24px;
}

.msreal-co-ov__table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.8125rem;
}

.msreal-co-ov__table th,
.msreal-co-ov__table td {
	padding: 16px 0;
	border-bottom: 1px solid #eae1cf;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
}

.msreal-co-ov__table tr:first-child th,
.msreal-co-ov__table tr:first-child td {
	border-top: 1px solid var(--wp--preset--color--ai);
}

.msreal-co-ov__table th {
	width: 8.5em;
	padding-right: 16px;
	color: #8a6a35;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.msreal-co-ov__table td {
	color: #333;
}

.msreal-co-ov__table td a {
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
}

.msreal-co-ov__table td b {
	color: var(--wp--preset--color--ai);
}

.msreal-co-ov__table .msreal-co__maplink {
	display: inline-block;
	margin-left: 12px;
	font-size: 0.75rem;
}

.msreal-co-ov__table ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-co-ov__table li::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: 0 10px 2px 0;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
}

/* ④ アクセス */
.msreal-co-access {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 0 48px;
	align-items: stretch;
	max-width: 1120px;
	margin: 64px auto 0;
	scroll-margin-top: 24px;
}

.msreal-co-access__map {
	position: relative;
	min-height: 380px;
	overflow: hidden;
	border-radius: 6px;
	background: #e9e4da;
	box-shadow: 0 0 0 1px #dccfb6, 0 0 0 6px #fff, 0 0 0 7px #e6d5b5, 0 18px 40px rgba(20, 35, 58, 0.08);
}

.msreal-co-access__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: saturate(0.75) contrast(0.98);
}

.msreal-co-access__info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.msreal-co-access__info h3 {
	margin: 0 0 6px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.3rem;
	font-weight: 800;
}

.msreal-co-access .msreal-co-access__addr {
	margin: 0 0 18px;
	color: #444;
	font-size: 0.8125rem;
	line-height: 1.8;
}

.msreal-co-access__st {
	margin: 0 0 20px;
	padding: 0;
	border-top: 1px solid #eae1cf;
	list-style: none;
}

.msreal-co-access__st li {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 0 12px;
	align-items: center;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #eae1cf;
	color: #333;
	font-size: 0.8125rem;
}

.msreal-co-access__ic {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--ai);
}

.msreal-co-access__ic svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-co-access__st small {
	display: block;
	color: #8a6a35;
	font-size: 0.6875rem;
	font-weight: 700;
}

.msreal-co-access__go {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	align-self: flex-start;
	padding: 10px 18px 10px 22px;
	border-radius: 999px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-co-access__go span {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
	font-size: 13px;
}

@media (max-width: 1099px) {
	.msreal-co-biz__head {
		text-align: left;
	}

	.msreal-co-biz__ring {
		display: grid;
		gap: 20px;
		width: auto;
		height: auto;
		margin-top: 8px;
	}

	.msreal-co-biz__circle,
	.msreal-co-biz__core {
		display: none;
	}

	.msreal-co-biz__node,
	.msreal-co-biz__node.is-top,
	.msreal-co-biz__node.is-bottom,
	.msreal-co-biz__node.is-left,
	.msreal-co-biz__node.is-right {
		position: static;
		display: grid;
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 0 14px;
		width: auto;
		direction: ltr;
		text-align: left;
		transform: none;
	}

	.msreal-co-biz__node.is-left > * {
		text-align: left;
	}

	.msreal-co-biz__ic {
		width: 54px;
		height: 54px;
	}

	.msreal-co-biz__ic svg {
		width: 23px;
		height: 23px;
	}

	.msreal-co-biz .msreal-co-biz__close {
		margin-top: 26px;
		padding: 16px;
		border-radius: 10px;
		background: var(--wp--preset--color--kinari);
		font-size: 1rem;
		text-align: left;
	}

	.msreal-co-biz__close br {
		display: none;
	}
}

@media (max-width: 1023px) {
	.msreal-co-msg__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 26px;
	}

	.msreal-co-msg__side {
		position: static;
	}

	.msreal-co-msg__since {
		margin-top: 22px;
		padding-top: 16px;
	}

	.msreal-co-msg__since b {
		font-size: 2.5rem;
	}

	.msreal-co-msg__letter {
		padding: 38px 20px 70px;
		font-size: 0.90625rem;
	}

	.msreal-co-msg__letter::before {
		right: 20px;
		left: 20px;
	}

	.msreal-co-msg__sign {
		gap: 12px;
	}

	.msreal-co-msg__who b {
		font-size: 1.75rem;
	}

	.msreal-co-msg__seal {
		width: 48px;
		height: 48px;
	}

	.msreal-co-msg__seal .msreal-co__mark {
		width: 32px;
	}

	.msreal-co__pen {
		right: -18px;
		bottom: 14px;
		width: 210px;
	}

	.msreal-co-ov__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.msreal-co-ov__left {
		order: 2;
	}

	.msreal-co-ov .msreal-co-ov__nm {
		font-size: 1.125rem;
		letter-spacing: 0.04em;
	}

	.msreal-co-ov__table th {
		width: 7em;
	}

	.msreal-co-ov__table .msreal-co__maplink {
		display: block;
		margin: 4px 0 0;
	}

	.msreal-co-access {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
		margin-top: 40px;
	}

	.msreal-co-access__map {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.msreal-co-access__info {
		order: -1;
	}
}

/* ==========================================================================
 * 物件情報（/bukken/）とトップの「いま、おすすめの物件」2026-10-19
 * 見本 docs/記録/物件試作_2_磨き（地図）・_4_激押し（おすすめの大きなカード）。HTML は inc/posts.php、地図の動きは assets/js/bukken.js
 * ========================================================================== */

/* 札：当社が専任でお預かり／当社が売主・仲介手数料不要 */
.msreal-owntag {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 6px 16px 6px 6px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
	color: var(--wp--preset--color--ai);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.msreal-owntag i {
	display: grid;
	flex: none;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: #fff;
	font-size: 12px;
	font-style: normal;
}

.msreal-owntag.is-urinushi i {
	background: var(--wp--preset--color--shinchu);
}

.msreal-owntag.is-small {
	margin-top: 6px;
	padding: 0;
	background: none;
	box-shadow: none;
	font-size: 11.5px;
}

.msreal-owntag.is-small i {
	width: 18px;
	height: 18px;
	font-size: 10px;
}

.msreal-owntag.is-small.is-urinushi {
	color: #8a6a35;
}

.msreal-newmark {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 1;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
}

/* ---------- いま、おすすめの物件 ---------- */
.msreal-osusume {
	padding: 72px 16px;
	background: #fff;
}

body .wp-site-blocks .msreal-osusume,
body .msreal-top > .msreal-osusume {
	margin-block-start: 0;
}

.msreal-osusume__inner {
	max-width: 1120px;
	margin: 0 auto;
}

.msreal-osusume__head {
	margin: 0 0 32px;
	text-align: center;
}

.msreal-osusume .msreal-osusume__pre {
	margin: 0;
	color: #8a6a35;
	font-size: 13px;
	font-weight: 700;
}

.msreal-osusume .msreal-osusume__title {
	margin: 4px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	line-height: 1.4;
}

.msreal-osusume .msreal-osusume__lead {
	margin: 8px 0 0;
	color: #555;
	font-size: 14px;
}

.msreal-osusume__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.msreal-osusume__cards.is-one {
	grid-template-columns: minmax(0, 560px);
	justify-content: center;
}

.msreal-osusume .msreal-osusume__more {
	margin: 28px 0 0;
	text-align: center;
}

.msreal-osusume__more a {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	padding: 12px 28px;
	border: 1.5px solid var(--wp--preset--color--ai);
	border-radius: 999px;
	color: var(--wp--preset--color--ai);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.msreal-osusume__more a:hover,
.msreal-osusume__more a:focus-visible {
	background: var(--wp--preset--color--ai);
	color: #fff;
}

.msreal-bigcard {
	min-width: 0;
}

.msreal-bigcard__link {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 20px 44px rgba(20, 35, 58, 0.16);
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.msreal-bigcard__img {
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--ai);
}

.msreal-bigcard__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}

.msreal-bigcard__link:hover .msreal-bigcard__img img {
	transform: scale(1.03);
}

.msreal-bigcard__img .msreal-owntag {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 1;
}

.msreal-bigcard__panel {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	display: block;
	padding: 18px 20px 16px;
	border-radius: 12px;
	background: #fff;
}

.msreal-bigcard .msreal-bigcard__title {
	margin: 8px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 21px;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-bigcard__row {
	display: flex;
	gap: 12px;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 8px;
}

.msreal-bigcard__facts {
	min-width: 0;
	color: #666;
	font-size: 12.5px;
	line-height: 1.7;
}

.msreal-bigcard__price {
	flex: none;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 36px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.msreal-bigcard__price small,
.msreal-prow__price small {
	margin-left: 2px;
	font-size: 0.45em;
}

.msreal-bigcard__price.is-sold,
.msreal-prow__price.is-sold {
	font-size: 18px;
}

.msreal-bigcard__go {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px dashed #e3d7c0;
	color: #8a6a35;
	font-size: 13px;
	font-weight: 700;
}

.msreal-bigcard__go span {
	color: var(--wp--preset--color--ai);
	font-size: 12px;
	font-weight: 400;
}

/* ---------- エリアから探す ---------- */
.msreal-psearch {
	padding: 64px 16px 72px;
	background: var(--wp--preset--color--kinari);
}

.msreal-psearch__inner {
	max-width: 1120px;
	margin: 0 auto;
}

.msreal-psearch__head {
	margin: 0 0 22px;
}

.msreal-psearch .msreal-psearch__title {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.5rem, 3vw, 1.75rem);
	font-weight: 800;
	line-height: 1.4;
}

.msreal-psearch .msreal-psearch__lead {
	max-width: 720px;
	margin: 6px 0 0;
	color: #555;
	font-size: 14px;
}

.msreal-pkind {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin: 0 0 22px;
}

.msreal-pkind__label {
	margin-right: 6px;
	color: var(--wp--preset--color--ai);
	font-size: 13px;
	font-weight: 700;
}

.msreal-pkind button,
.msreal-pchips button {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 6px 16px;
	border: 1px solid #dccfb6;
	border-radius: 999px;
	background: #fff;
	color: var(--wp--preset--color--ai);
	font: inherit;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.6;
	cursor: pointer;
}

.msreal-pkind button b,
.msreal-pchips button b {
	color: #8a6a35;
	font-size: 12px;
}

.msreal-pkind button.is-on,
.msreal-pchips button.is-on {
	border-color: var(--wp--preset--color--ai);
	background: var(--wp--preset--color--ai);
	color: #fff;
}

.msreal-pkind button.is-on b,
.msreal-pchips button.is-on b {
	color: #e7cf9f;
}

/* JS が動かないときは、絞り込みの部品を出さない */
.msreal-psearch:not(.is-ready) .msreal-pkind,
.msreal-psearch:not(.is-ready) .msreal-pchips,
.msreal-psearch:not(.is-ready) .msreal-pward__back {
	display: none;
}

.msreal-psearch__body {
	display: grid;
	grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.msreal-psearch__mapcol {
	position: sticky;
	top: 24px;
	min-width: 0;
}

.msreal-psearch__listcol {
	min-width: 0;
}

.msreal-pchips {
	display: none;
}

/* 地図 */
.msreal-pmap {
	position: relative;
	padding: 34px 30px 22px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 1px 0 #e9e1d2, 0 18px 40px rgba(20, 35, 58, 0.06);
}

.msreal-pmap .msreal-pmap__compass {
	position: absolute;
	top: 22px;
	left: 24px;
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.msreal-pmap__compass svg {
	display: block;
	width: 12px;
	height: 15px;
	margin: 0 auto 3px;
}

.msreal-pmap__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 9px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-pmap__grid li {
	min-width: 0;
	margin: 0;
}

.msreal-pmap__tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: #f7f4ee;
	color: #a99f8c;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.15s;
}

.msreal-pmap__icon {
	width: 30px;
	height: 30px;
	object-fit: contain;
	opacity: 0.35;
	filter: grayscale(1);
}

.msreal-pmap__tile.has {
	background: var(--wp--preset--color--ai);
	box-shadow: 0 3px 0 #0b1626, 0 8px 16px rgba(20, 35, 58, 0.18);
	color: #fff;
}

.msreal-pmap__tile.has .msreal-pmap__icon {
	box-sizing: border-box;
	padding: 3px;
	border-radius: 50%;
	background: #fff;
	opacity: 1;
	filter: none;
}

.msreal-pmap__tile.has:hover,
.msreal-pmap__tile:focus-visible {
	transform: translateY(-2px);
}

.msreal-pmap__tile:focus-visible {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: 2px;
}

.msreal-pmap__n {
	position: absolute;
	top: -7px;
	right: -7px;
	display: none;
	place-items: center;
	box-sizing: border-box;
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	box-shadow: 0 0 0 2.5px #fff;
	color: #fff;
	font-size: 12.5px;
	font-style: normal;
	font-weight: 700;
}

.msreal-pmap__tile.has .msreal-pmap__n {
	display: grid;
}

.msreal-pmap__hq {
	position: absolute;
	bottom: -8px;
	left: 50%;
	padding: 0 7px;
	border-radius: 999px;
	background: #e7cf9f;
	box-shadow: 0 0 0 2px #fff;
	color: var(--wp--preset--color--ai);
	font-size: 9.5px;
	font-style: normal;
	line-height: 1.7;
	white-space: nowrap;
	transform: translateX(-50%);
}

.msreal-pmap__tile.is-on {
	outline: 3px solid var(--wp--preset--color--shinchu);
	outline-offset: 4px;
	transform: translateY(-2px);
}

.msreal-pmap .msreal-pmap__bay {
	position: absolute;
	right: 28px;
	bottom: 58px;
	margin: 0;
	color: #9aa6b8;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-align: right;
}

.msreal-pmap__bay svg {
	display: block;
	width: 110px;
	height: 22px;
}

.msreal-pmap__cat {
	position: absolute;
	bottom: 60px;
	left: 30px;
	width: 52px;
}

.msreal-pmap__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 20px 0 0;
	padding: 14px 0 0;
	border-top: 1px dashed #e3d7c0;
	color: #555;
	font-size: 12.5px;
	list-style: none;
}

.msreal-pmap__legend li {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0;
}

.msreal-pmap__legend i {
	position: relative;
	width: 18px;
	height: 18px;
	border-radius: 5px;
	background: #f7f4ee;
}

.msreal-pmap__legend i.has {
	background: var(--wp--preset--color--ai);
}

.msreal-pmap__legend i.has b {
	position: absolute;
	top: -6px;
	right: -7px;
	display: grid;
	place-items: center;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	color: #fff;
	font-size: 8px;
}

.msreal-pmap__legend i.on {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: 1px;
	background: #fff;
}

/* 23区のほか */
.msreal-pother {
	display: flex;
	gap: 12px;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	margin: 14px 0 0;
	padding: 12px 16px;
	border: 1.5px dashed #d9c9a8;
	border-radius: 14px;
	background: #fff;
	color: var(--wp--preset--color--ai);
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
}

.msreal-pother.is-on {
	border-style: solid;
	border-color: var(--wp--preset--color--shinchu);
}

.msreal-pother__ic {
	display: grid;
	flex: none;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff8ea;
	color: #8a6a35;
}

.msreal-pother__ic svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
}

.msreal-pother__tx {
	flex: 1;
	min-width: 0;
}

.msreal-pother small {
	display: block;
	color: #7a7266;
	font-size: 12px;
	font-weight: 400;
}

.msreal-pother b {
	padding: 2px 12px;
	border-radius: 999px;
	background: #c9bfae;
	color: #fff;
	font-size: 12.5px;
}

.msreal-pother.has b {
	background: var(--wp--preset--color--shinchu);
}

/* 一覧の見出し */
.msreal-pward {
	position: relative;
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 4px 14px;
	align-items: center;
	margin: 0 0 14px;
	padding: 12px 18px 12px 12px;
	border-radius: 14px;
	background: var(--wp--preset--color--ai);
	color: #fff;
}

.msreal-pward__ic {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #fff;
}

.msreal-pward__ic img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.msreal-pward .msreal-pward__title {
	margin: 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 21px;
	font-weight: 800;
	line-height: 1.4;
}

.msreal-pward__title b {
	margin-left: 8px;
	color: #e7cf9f;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 13px;
}

.msreal-pward .msreal-pward__tx p {
	margin: 0;
	color: #cfd5de;
	font-size: 12.5px;
}

.msreal-pward__guide,
.msreal-pward__all {
	padding: 0;
	border: 0;
	background: none;
	color: #e7cf9f;
	font: inherit;
	font-size: 12.5px;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}

.msreal-pward__guide[hidden],
.msreal-pward__all[hidden],
.msreal-pempty[hidden],
.msreal-pempty__near[hidden],
.msreal-prow[hidden],
.msreal-pchips button[hidden] {
	display: none;
}

.msreal-pward__back {
	display: none;
}

/* 一覧の1行 */
.msreal-prow {
	margin: 0 0 12px;
}

.msreal-prow__link {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 12px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 0 #e9e1d2;
	color: inherit;
	text-decoration: none;
	transition: box-shadow 0.15s, transform 0.15s;
}

.msreal-prow__link:hover {
	box-shadow: 0 1px 0 #e9e1d2, 0 10px 22px rgba(20, 35, 58, 0.08);
	transform: translateY(-1px);
}

.msreal-prow.is-own .msreal-prow__link {
	box-shadow: inset 0 0 0 1.5px #e2cfa8;
}

.msreal-prow__img {
	position: relative;
	display: block;
	width: 150px;
	height: 108px;
	overflow: hidden;
	border-radius: 8px;
	background: var(--wp--preset--color--ai);
}

.msreal-prow__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msreal-prow__img .msreal-noimage {
	font-size: 1rem;
}

.msreal-prow__img .msreal-newmark {
	top: 6px;
	right: auto;
	left: 6px;
	padding: 0 9px;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	color: #8a6a35;
	font-size: 11px;
}

.msreal-prow__body {
	min-width: 0;
}

.msreal-prow .msreal-badges {
	margin-bottom: 6px;
}

.msreal-prow .msreal-prow__title {
	margin: 0 0 2px;
	color: var(--wp--preset--color--ai);
	font-size: 15.5px;
	line-height: 1.5;
}

.msreal-prow__facts {
	display: block;
	color: #666;
	font-size: 12.5px;
	line-height: 1.7;
}

.msreal-prow__side {
	text-align: right;
}

.msreal-prow__price {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 23px;
	font-weight: 800;
	line-height: 1.3;
	white-space: nowrap;
}

.msreal-prow__go {
	display: block;
	margin-top: 4px;
	color: #8a6a35;
	font-size: 12px;
	font-weight: 700;
}

/* 物件がない区 */
.msreal-pempty {
	padding: 28px 24px 24px;
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.msreal-pempty img {
	display: block;
	width: 84px;
	margin: 0 auto 6px;
}

.msreal-pempty .msreal-pempty__title {
	margin: 0 0 6px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.6;
}

.msreal-pempty .msreal-pempty__text {
	max-width: 420px;
	margin: 0 auto 16px;
	color: #555;
	font-size: 13.5px;
}

.msreal-pempty__btn {
	display: inline-block;
	padding: 12px 28px;
	border-radius: 999px;
	background: linear-gradient(#c4a068, #b8935a);
	box-shadow: 0 4px 0 #8a6a35;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

.msreal-pempty .msreal-pempty__near {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px dashed #e3d7c0;
	color: #666;
	font-size: 13px;
}

.msreal-pempty__near button {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	margin: 2px 4px;
	padding: 3px 12px;
	border: 0;
	border-radius: 999px;
	background: #f7f4ee;
	color: var(--wp--preset--color--ai);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.msreal-pempty__near button b {
	color: #8a6a35;
	font-size: 12px;
}

.msreal-psearch .msreal-psearch__note {
	margin: 22px 0 0;
	color: #7a7266;
	font-size: 12px;
}

@media (max-width: 1023px) {
	.msreal-osusume {
		padding: 48px 16px;
	}

	.msreal-osusume__cards,
	.msreal-osusume__cards.is-one {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	.msreal-bigcard__link {
		aspect-ratio: auto;
		padding-top: 230px;
		background: #fff;
	}

	.msreal-bigcard__img {
		bottom: auto;
		height: 240px;
	}

	.msreal-bigcard__panel {
		position: relative;
		right: auto;
		bottom: auto;
		left: auto;
		margin: -10px 0 0;
		padding: 14px 14px 12px;
		border-radius: 12px 12px 0 0;
	}

	.msreal-bigcard .msreal-bigcard__title {
		font-size: 17px;
	}

	.msreal-bigcard__price {
		font-size: 28px;
	}

	.msreal-psearch {
		padding: 44px 16px 48px;
	}

	.msreal-pkind {
		gap: 6px;
		margin-bottom: 14px;
	}

	.msreal-pkind__label {
		width: 100%;
		margin: 0;
	}

	.msreal-pkind button {
		gap: 6px;
		padding: 5px 12px;
		font-size: 13px;
	}

	.msreal-psearch__body {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.msreal-psearch__mapcol {
		position: static;
		width: 100%;
		max-width: 560px;
		margin: 0 auto;
	}

	.msreal-pchips {
		display: flex;
		gap: 6px;
		margin: 0 -16px 12px;
		padding: 2px 16px 6px;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.msreal-pchips button {
		flex: none;
		gap: 6px;
		padding: 6px 12px;
		font-size: 13px;
	}

	.msreal-pmap {
		padding: 40px 12px 14px;
		border-radius: 18px;
	}

	.msreal-pmap__grid {
		gap: 6px;
	}

	.msreal-pmap__tile {
		gap: 0;
		border-radius: 8px;
		font-size: 11px;
	}

	.msreal-pmap__icon,
	.msreal-pmap__cat,
	.msreal-pmap .msreal-pmap__bay {
		display: none;
	}

	.msreal-pmap__n {
		top: -6px;
		right: -6px;
		min-width: 18px;
		height: 18px;
		padding: 0 4px;
		box-shadow: 0 0 0 2px #fff;
		font-size: 10.5px;
	}

	.msreal-pmap__hq {
		bottom: -7px;
		padding: 0 5px;
		font-size: 8px;
	}

	.msreal-pmap__tile.is-on {
		outline-width: 2px;
		outline-offset: 2px;
	}

	.msreal-pmap__legend {
		gap: 4px 14px;
		font-size: 11.5px;
	}

	.msreal-pward {
		position: sticky;
		top: 0;
		z-index: 2;
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 10px 12px 10px 10px;
	}

	.admin-bar .msreal-pward {
		top: 46px;
	}

	.msreal-pward__ic {
		width: 44px;
		height: 44px;
	}

	.msreal-pward__ic img {
		width: 32px;
		height: 32px;
	}

	.msreal-pward .msreal-pward__title {
		font-size: 18px;
	}

	.msreal-pward__guide,
	.msreal-pward__all {
		grid-column: 2;
		justify-self: start;
		font-size: 12px;
	}

	.msreal-pward__back {
		position: absolute;
		right: 12px;
		bottom: 10px;
		display: block;
		padding: 2px 10px;
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.14);
		color: #fff;
		font-size: 11.5px;
		font-weight: 700;
		text-decoration: none;
	}

	.msreal-prow__link {
		grid-template-columns: 104px minmax(0, 1fr);
		gap: 12px;
		padding: 10px;
	}

	.msreal-prow__img {
		width: 104px;
		height: 82px;
	}

	.msreal-prow .msreal-prow__title {
		font-size: 14px;
	}

	.msreal-prow__facts {
		font-size: 12px;
	}

	.msreal-prow__side {
		grid-column: 2;
		margin-top: -6px;
		text-align: left;
	}

	.msreal-prow__price {
		font-size: 20px;
	}

	.msreal-prow__go {
		display: none;
	}

	.msreal-pempty {
		padding: 22px 16px 18px;
	}

	.msreal-pempty .msreal-pempty__title {
		font-size: 17px;
	}

	.msreal-pempty__btn {
		display: block;
	}
}

@media (min-width: 783px) and (max-width: 1023px) {
	.admin-bar .msreal-pward {
		top: 32px;
	}
}

/* PC でも幅が狭いとき（1024〜1199px）は、地図を少し小さくして一覧の幅を取る */
@media (min-width: 1024px) and (max-width: 1199px) {
	.msreal-psearch__body {
		grid-template-columns: minmax(0, 460px) minmax(0, 1fr);
		gap: 28px;
	}

	.msreal-pmap {
		padding: 30px 22px 20px;
	}

	.msreal-pmap__grid {
		gap: 7px;
	}

	.msreal-pmap__icon {
		width: 24px;
		height: 24px;
	}

	.msreal-prow__link {
		grid-template-columns: 120px minmax(0, 1fr) auto;
	}

	.msreal-prow__img {
		width: 120px;
		height: 90px;
	}
}

/* ==========================================================================
 * トップのヒーロー（2026-10-19 構成案 v2。inc/posts.php の [msreal_hero]、動きは assets/js/hero.js）
 * 「売りたい方」「買いたい方」の2つの入口と、右の「いま、おすすめの物件」。スマホはヒーローの下に横長のカード
 * ========================================================================== */
.msreal-hero__side {
	display: grid;
	gap: 22px;
}

.msreal-hero .msreal-hero__doors {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
}

.msreal-hero__door {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 10px 18px 10px 12px;
	border-radius: 12px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
	line-height: 1.45;
	text-decoration: none;
	transition: transform 0.15s, box-shadow 0.15s;
}

.msreal-hero__door:hover,
.msreal-hero__door:focus-visible {
	transform: translateY(-2px);
}

.msreal-hero__door i {
	display: grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
}

.msreal-hero__door svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-hero__door small {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.msreal-hero__door b {
	display: block;
	font-size: 15px;
}

.msreal-hero__door::after {
	content: "›";
	margin-left: 6px;
	font-size: 18px;
	font-weight: 700;
}

.msreal-hero__door.is-sell {
	background: linear-gradient(#c4a068, #b8935a);
	box-shadow: 0 4px 0 #8a6a35, 0 10px 22px rgba(0, 0, 0, 0.2);
	color: #fff;
}

.msreal-hero__door.is-sell i {
	background: rgba(255, 255, 255, 0.22);
}

.msreal-hero__door.is-sell small {
	color: #fff6e6;
}

.msreal-hero__door.is-buy {
	background: rgba(255, 255, 255, 0.95);
	color: var(--wp--preset--color--ai);
}

.msreal-hero__door.is-buy i {
	background: var(--wp--preset--color--kinari);
	color: #8a6a35;
}

.msreal-hero__door.is-buy small {
	color: #8a6a35;
}

.msreal-hero__door b {
	white-space: nowrap;
}

/* PC でも狭いとき（900〜1099px）は入口を少し小さく */
@media (min-width: 900px) and (max-width: 1099px) {
	.msreal-hero__door {
		padding: 9px 12px 9px 10px;
	}

	.msreal-hero__door b {
		font-size: 13.5px;
	}

	.msreal-hero__door i {
		width: 30px;
		height: 30px;
	}
}

/* おすすめの物件がないとき（右は査定カード）：PC では「売りたい方」の入口を出さない */
@media (min-width: 900px) {
	.msreal-hero.is-fallback .msreal-hero__door.is-sell {
		display: none;
	}
}

/* 右：いま、おすすめの物件 */
.msreal-hpick {
	justify-self: end;
	box-sizing: border-box;
	width: 100%;
	max-width: 400px;
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.3);
	color: var(--wp--preset--color--sumi);
}

.msreal-hpick__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px 12px 18px;
	background: var(--wp--preset--color--ai);
	color: #fff;
}

.msreal-hpick .msreal-hpick__head p {
	margin: 0;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.msreal-hpick__nav {
	display: flex;
	gap: 6px;
	align-items: center;
	color: #e7cf9f;
	font-size: 12px;
	font-weight: 700;
}

.msreal-hpick__nav button {
	width: 28px;
	height: 28px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: none;
	color: #fff;
	font: inherit;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.msreal-hpick__nav button:hover,
.msreal-hpick__nav button:focus-visible {
	background: rgba(255, 255, 255, 0.14);
}

.msreal-hpick__item {
	display: block;
	color: inherit;
	text-decoration: none;
}

.msreal-hpick__item[hidden] {
	display: none;
}

.msreal-hpick__item.is-in {
	animation: msreal-hpick-in 0.5s ease both;
}

@keyframes msreal-hpick-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.msreal-hpick__img {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wp--preset--color--ai);
}

.msreal-hpick__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msreal-hpick__img .msreal-owntag {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 12px 4px 4px;
	font-size: 12px;
}

.msreal-hpick__img .msreal-owntag i {
	width: 22px;
	height: 22px;
	font-size: 11px;
}

.msreal-hpick__img .msreal-newmark {
	top: 12px;
	right: 12px;
}

.msreal-hpick__body {
	display: block;
	padding: 14px 18px 16px;
}

.msreal-hpick .msreal-badge {
	padding: 1px 8px;
	font-size: 11px;
}

.msreal-hpick__title {
	display: block;
	margin: 8px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-hpick__row {
	display: flex;
	gap: 10px;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 4px;
}

.msreal-hpick__facts {
	min-width: 0;
	color: #666;
	font-size: 12.5px;
	line-height: 1.7;
}

.msreal-hpick__price {
	flex: none;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.msreal-hpick__price small,
.msreal-hpicks-sp__price small {
	margin-left: 2px;
	font-size: 0.45em;
}

.msreal-hpick__price.is-sold,
.msreal-hpicks-sp__price.is-sold {
	font-size: 16px;
}

.msreal-hpick__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 12px;
	padding-top: 10px;
	border-top: 1px dashed #e3d7c0;
	color: #8a6a35;
	font-size: 13px;
	font-weight: 700;
}

.msreal-hpick__dots {
	display: flex;
	gap: 5px;
}

.msreal-hpick__dots i {
	width: 20px;
	height: 4px;
	border-radius: 2px;
	background: #e3d5bc;
}

.msreal-hpick__dots i.on {
	background: var(--wp--preset--color--ai);
}

.msreal-hpick__all {
	display: block;
	padding: 10px 18px;
	border-top: 1px solid #efe7d8;
	background: #fbf8f2;
	color: var(--wp--preset--color--ai);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
}

/* スマホ：ヒーローのすぐ下に横長のカード */
.msreal-hpicks-sp {
	display: none;
}

@media (max-width: 899px) {
	.msreal-hero .msreal-hpick {
		display: none;
	}

	.msreal-hero .msreal-hero__doors {
		justify-content: center;
	}

	.msreal-hero__door {
		flex: 1 1 150px;
		max-width: 260px;
		padding: 9px 12px 9px 10px;
	}

	.msreal-hero__door b {
		font-size: 14px;
	}

	.msreal-hero__door i {
		width: 30px;
		height: 30px;
	}

	body .msreal-top > .msreal-hpicks-sp {
		display: block;
		padding: 22px 0 6px;
		background: var(--wp--preset--color--kinari);
	}

	.msreal-hpicks-sp__head {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		margin: 0 0 10px;
		padding: 0 16px;
	}

	.msreal-hpicks-sp .msreal-hpicks-sp__head p {
		margin: 0;
		color: var(--wp--preset--color--ai);
		font-family: var(--wp--preset--font-family--maru);
		font-size: 18px;
		font-weight: 800;
	}

	.msreal-hpicks-sp__head a {
		color: var(--wp--preset--color--ai);
		font-size: 12.5px;
		font-weight: 700;
	}

	.msreal-hpicks-sp__list {
		display: flex;
		gap: 10px;
		padding: 2px 16px 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.msreal-hpicks-sp__card {
		display: grid;
		flex: 0 0 86%;
		grid-template-columns: 112px minmax(0, 1fr);
		overflow: hidden;
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 6px 16px rgba(20, 35, 58, 0.1);
		color: inherit;
		text-decoration: none;
		scroll-snap-align: start;
	}

	.msreal-hpicks-sp__card:only-child {
		flex-basis: 100%;
	}

	.msreal-hpicks-sp__img {
		display: block;
		min-height: 120px;
		background: var(--wp--preset--color--ai);
	}

	.msreal-hpicks-sp__img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.msreal-hpicks-sp__img .msreal-noimage {
		font-size: 0.9rem;
	}

	.msreal-hpicks-sp__body {
		display: block;
		min-width: 0;
		padding: 10px 12px;
	}

	.msreal-hpicks-sp__body .msreal-owntag.is-small {
		margin-top: 0;
		font-size: 11px;
	}

	.msreal-hpicks-sp__title {
		display: block;
		margin-top: 2px;
		color: var(--wp--preset--color--ai);
		font-family: var(--wp--preset--font-family--maru);
		font-size: 14.5px;
		font-weight: 800;
		line-height: 1.45;
	}

	.msreal-hpicks-sp__facts {
		display: block;
		color: #666;
		font-size: 11.5px;
		line-height: 1.6;
	}

	.msreal-hpicks-sp__price {
		display: block;
		color: var(--wp--preset--color--ai);
		font-family: var(--wp--preset--font-family--maru);
		font-size: 20px;
		font-weight: 800;
		line-height: 1.3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.msreal-hpick__item.is-in {
		animation: none;
	}
}

/* ==========================================================================
 * 物件のページ（/bukken/〇〇/）2026-10-19 作り直し
 * 見本 docs/記録/物件試作_6_磨き。HTML は inc/posts.php の msreal_bukken_single_shortcode、写真を大きく見るのは assets/js/bukken-single.js
 * 写真（大きい1枚＋4枚、スマホは横に送る）→ 見出し・要点・担当からひと言 ／ 右に価格の札（1024px以上で画面についてくる）→ 現地を歩く → 動画 → 本文 → 物件概要 → お問い合わせの帯
 * ========================================================================== */

.msreal-bk {
	box-sizing: border-box;
	max-width: calc(1120px + 32px);
	margin-inline: auto;
	padding-inline: 16px;
}

.msreal-bk svg,
.msreal-bk-ask svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-bk-crumb {
	padding: 18px 0 14px;
	color: #8f7c5e;
	font-size: 0.78rem;
}

.msreal-bk-crumb a {
	color: inherit;
	text-decoration: none;
}

.msreal-bk-crumb a:hover {
	text-decoration: underline;
}

/* ---------- 写真：大きい1枚＋4枚 ---------- */
.msreal-bk-mosaic {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 230px 230px;
	gap: 8px;
	overflow: hidden;
	border-radius: 16px;
}

.msreal-bk-mosaic__item {
	position: relative;
	display: block;
	overflow: hidden;
	min-width: 0;
	background: #e9e3d6;
	cursor: zoom-in;
}

.msreal-bk-mosaic__item:first-child {
	grid-row: 1 / 3;
}

.msreal-bk-mosaic__item:nth-child(n+6) {
	display: none;
}

.msreal-bk-mosaic__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s, filter 0.2s;
}

.msreal-bk-mosaic__item:hover img {
	filter: brightness(1.05);
	transform: scale(1.02);
}

/* 写真が1〜4枚のとき */
.msreal-bk-mosaic.is-n1 {
	grid-template-columns: 1fr;
	grid-template-rows: 460px;
}

.msreal-bk-mosaic.is-n1 .msreal-bk-mosaic__item:first-child {
	grid-row: auto;
}

.msreal-bk-mosaic.is-n2 {
	grid-template-columns: 2fr 1fr;
}

.msreal-bk-mosaic.is-n2 .msreal-bk-mosaic__item:nth-child(2) {
	grid-row: 1 / 3;
}

.msreal-bk-mosaic.is-n3 {
	grid-template-columns: 2fr 1fr;
}

.msreal-bk-mosaic.is-n4 .msreal-bk-mosaic__item:nth-child(2) {
	grid-column: 2 / 4;
}

.msreal-bk-mosaic.is-empty,
.msreal-bk-mosaic.is-empty[class] {
	display: flex;
	height: 200px;
	background: var(--wp--preset--color--ai);
}

.msreal-bk-mosaic.is-empty .msreal-noimage {
	flex: 1;
	height: 100%;
}

.msreal-bk-mosaic .msreal-bk-mosaic__tag {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 1;
	pointer-events: none;
}

.msreal-bk-mosaic__all {
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 1;
	display: inline-flex;
	gap: 8px;
	align-items: center;
	padding: 8px 18px;
	border: 0;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	color: var(--wp--preset--color--ai);
	font: inherit;
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
}

.msreal-bk-mosaic__all:hover {
	background: #fbf6ec;
}

.msreal-bk-mosaic__all svg {
	width: 18px;
	height: 18px;
}

.msreal-bk-mosaic__count {
	display: none;
}

/* ---------- 本文と、ついてくる札 ---------- */
.msreal-bk-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "head" "aside" "rest";
	padding: 24px 0 72px;
}

.msreal-bk-head {
	grid-area: head;
	min-width: 0;
}

.msreal-bk-aside {
	grid-area: aside;
	min-width: 0;
}

.msreal-bk-rest {
	grid-area: rest;
	min-width: 0;
}

@media (min-width: 1024px) {
	.msreal-bk-layout {
		grid-template-columns: minmax(0, 1fr) 340px;
		grid-template-areas: "head aside" "rest aside";
		column-gap: 56px;
		padding-top: 36px;
	}
}

.msreal-bk-head .msreal-badges {
	margin-bottom: 10px;
}

.msreal-bk .msreal-bk-title {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-bk-addr {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	align-items: center;
	margin: 6px 0 0;
	color: #6b6b6b;
	font-size: 0.875rem;
}

.msreal-bk-addr a {
	display: inline-flex;
	gap: 4px;
	align-items: center;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
}

.msreal-bk-addr svg {
	width: 16px;
	height: 16px;
}

/* 4つの要点 */
.msreal-bk-points {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 12px;
	margin: 20px 0 0;
	padding: 12px 0;
	border-top: 1px solid #e3dccd;
	border-bottom: 1px solid #e3dccd;
	list-style: none;
}

.msreal-bk-points li {
	min-width: 0;
	padding: 0 12px;
	border-left: 1px solid #e3dccd;
	line-height: 1.45;
}

.msreal-bk-points li:nth-child(odd) {
	padding-left: 0;
	border-left: 0;
}

.msreal-bk-points small {
	display: block;
	color: #8f7c5e;
	font-size: 0.72rem;
}

.msreal-bk-points b {
	color: var(--wp--preset--color--ai);
	font-size: 0.95rem;
}

@media (min-width: 768px) {
	.msreal-bk-points {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-top: 24px;
		padding: 16px 0;
	}

	.msreal-bk-points li,
	.msreal-bk-points li:nth-child(odd) {
		padding: 0 16px;
		border-left: 1px solid #e3dccd;
	}

	.msreal-bk-points li:first-child {
		padding-left: 0;
		border-left: 0;
	}
}

/* 担当からひと言 */
.msreal-bk-voice {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin-top: 28px;
}

.msreal-bk-voice__face {
	display: grid;
	place-items: center;
	overflow: hidden;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff8ea;
	box-shadow: inset 0 0 0 1.5px #e2cfa8;
	color: #8a6a35;
	font-size: 0.66rem;
	font-weight: 700;
}

.msreal-bk-voice__face img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msreal-bk-voice__box {
	padding: 14px 16px;
	border: 1px solid #efe5d2;
	border-radius: 4px 16px 16px 16px;
	background: #fbf8f2;
}

.msreal-bk-voice__box p {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.95;
}

.msreal-bk-voice__box p + p {
	margin-top: 0.6em;
}

.msreal-bk-voice__box .msreal-bk-voice__name {
	margin-top: 8px;
	color: #8f7c5e;
	font-size: 0.78rem;
	text-align: right;
}

@media (min-width: 768px) {
	.msreal-bk-voice {
		grid-template-columns: 60px minmax(0, 1fr);
		gap: 16px;
		margin-top: 36px;
	}

	.msreal-bk-voice__face {
		width: 60px;
		height: 60px;
		font-size: 0.75rem;
	}

	.msreal-bk-voice__box {
		padding: 18px 22px;
	}
}

/* 右の札（価格・内覧の予約） */
.msreal-bk-card {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid #e3dccd;
}

.msreal-bk-card p {
	margin: 0;
}

.msreal-bk-card .msreal-bk-card__label {
	color: #8f7c5e;
	font-size: 0.78rem;
}

.msreal-bk-card__price {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 2.6rem;
	font-weight: 800;
	line-height: 1.15;
}

.msreal-bk-card__price small {
	margin-left: 4px;
	font-size: 0.42em;
}

.msreal-bk-card__price.is-sold {
	color: #6b6b6b;
	font-size: 1.8rem;
}

.msreal-bk-card .msreal-bk-card__own {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 14px;
	padding: 10px 12px;
	border-radius: 10px;
	background: #f7f4ee;
	color: #555;
	font-size: 0.8125rem;
	line-height: 1.65;
}

.msreal-bk-card__own i {
	display: grid;
	flex: none;
	place-items: center;
	width: 24px;
	height: 24px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: #fff;
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
}

.msreal-bk-card__own.is-urinushi i {
	background: var(--wp--preset--color--shinchu);
}

.msreal-bk-card .msreal-bk-card__more {
	margin-top: 14px;
	font-size: 0.875rem;
}

.msreal-bk-card .msreal-bk-card__more a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-bk-buttons {
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.msreal-bk-btn {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 54px;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.12s, box-shadow 0.12s, filter 0.2s, background-color 0.2s;
}

.msreal-bk-btn svg {
	flex: none;
	width: 18px;
	height: 18px;
}

.msreal-bk-btn.is-gold {
	background: linear-gradient(#c4a068, #b8935a);
	box-shadow: 0 4px 0 #8a6a35;
	color: #fff;
}

.msreal-bk-btn.is-gold:hover,
.msreal-bk-btn.is-gold:focus-visible {
	filter: brightness(1.05);
	transform: translateY(2px);
	box-shadow: 0 2px 0 #8a6a35;
	color: #fff;
}

.msreal-bk-btn.is-line {
	border: 1.5px solid var(--wp--preset--color--ai);
	background: #fff;
	color: var(--wp--preset--color--ai);
}

.msreal-bk-btn.is-line:hover,
.msreal-bk-btn.is-line:focus-visible {
	background: #f7f4ee;
}

.msreal-bk-card .msreal-bk-card__tel {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px dashed #e3dccd;
	line-height: 1.5;
	text-align: center;
}

.msreal-bk-card__tel small {
	display: block;
	color: #8f7c5e;
	font-size: 0.72rem;
}

.msreal-bk-card__tel .msreal-tel {
	display: block;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
}

@media (min-width: 1024px) {
	.msreal-bk-card {
		position: sticky;
		top: 24px;
		margin-top: 0;
		padding: 24px 24px 20px;
		border-top: 4px solid var(--wp--preset--color--shinchu);
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 18px 44px rgba(20, 35, 58, 0.14);
	}

	/* ログイン中は上に管理バーがあるので、その分下げる */
	.admin-bar .msreal-bk-card {
		top: 56px;
	}

	.msreal-bk-card__price {
		font-size: 2.5rem;
	}
}

/* ---------- 下の段の共通 ---------- */
.msreal-bk-block {
	margin-top: 52px;
}

.msreal-bk .msreal-bk-h2 {
	margin: 0 0 20px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.5rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-bk .msreal-bk-h3 {
	margin: 32px 0 12px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.1rem;
	font-weight: 700;
}

.msreal-bk-lead {
	margin: -8px 0 24px;
	color: #666;
	font-size: 0.875rem;
}

@media (min-width: 768px) {
	.msreal-bk-block {
		margin-top: 64px;
	}
}

/* 現地を歩く（細い線でつなぐ） */
.msreal-bk-walk ol {
	position: relative;
	margin: 0;
	padding: 0 0 0 26px;
	list-style: none;
}

.msreal-bk-walk ol::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 40px;
	left: 6px;
	border-left: 2px dotted #cdb78f;
}

.msreal-bk-walk li {
	position: relative;
	margin: 0 0 28px;
}

.msreal-bk-walk li::before {
	content: "";
	position: absolute;
	top: 7px;
	left: -26px;
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	border: 2px solid var(--wp--preset--color--shinchu);
	border-radius: 50%;
	background: #fff;
}

.msreal-bk-walk li:first-child::before,
.msreal-bk-walk li:last-child::before {
	background: var(--wp--preset--color--shinchu);
}

.msreal-bk .msreal-bk-walk h3 {
	margin: 0 0 10px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.5;
}

.msreal-bk-walk h3 small {
	margin-left: 8px;
	color: #8f7c5e;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem;
	font-weight: 400;
}

.msreal-bk-walk__pics {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}

.msreal-bk-walk__pics img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 10px;
}

.msreal-bk-walk__pics img + img {
	display: none;
}

@media (min-width: 768px) {
	.msreal-bk-walk ol {
		padding-left: 34px;
	}

	.msreal-bk-walk ol::before {
		left: 8px;
	}

	.msreal-bk-walk li {
		margin-bottom: 32px;
	}

	.msreal-bk-walk li::before {
		left: -33px;
		width: 16px;
		height: 16px;
	}

	.msreal-bk-walk__pics {
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	}

	.msreal-bk-walk__pics img + img {
		display: block;
	}

	.msreal-bk-walk__pics.is-one {
		grid-template-columns: minmax(0, 1fr);
	}

	.msreal-bk-walk__pics.is-one img {
		aspect-ratio: 2 / 1;
	}
}

/* 動画で見る（リンクの札） */
.msreal-bk-video__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	overflow: hidden;
	border-radius: 16px;
	background: var(--wp--preset--color--ai);
	color: #e9e2d4;
}

.msreal-bk-video__thumb {
	position: relative;
	display: block;
	min-height: 200px;
	background: #0e1a2c;
}

.msreal-bk-video__thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.72);
	transition: filter 0.2s;
}

.msreal-bk-video__thumb:hover img {
	filter: brightness(0.82);
}

.msreal-bk-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
	transform: translate(-50%, -50%);
}

.msreal-bk .msreal-bk-video__play svg {
	width: 28px;
	height: 28px;
	margin-left: 4px;
	fill: var(--wp--preset--color--ai);
	stroke: none;
}

.msreal-bk-video__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px;
}

.msreal-bk .msreal-bk-video__body h3 {
	margin: 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.5;
}

.msreal-bk-video__body p {
	margin: 8px 0 0;
	color: #cfd5de;
	font-size: 0.84rem;
}

.msreal-bk-video__body .msreal-bk-video__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.msreal-bk-video__links a {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	padding: 6px 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-bk-video__links a.is-instagram:not(:first-child) {
	background: transparent;
	box-shadow: inset 0 0 0 1px rgba(231, 207, 159, 0.6);
	color: #e7cf9f;
}

.msreal-bk-video__links svg {
	width: 16px;
	height: 16px;
}

.msreal-bk-video__empty {
	margin: 0;
	padding: 18px 20px;
	border: 2px dashed #cdb78f;
	border-radius: 12px;
	background: #fff;
	color: #555;
	font-size: 0.875rem;
	line-height: 1.8;
}

.msreal-bk-video__empty b {
	display: block;
	margin-bottom: 4px;
	color: var(--wp--preset--color--ai);
}

.msreal-bk-video__empty a {
	display: inline-block;
	margin-top: 6px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-bk-video__note {
	margin: 8px 0 0;
	color: #888;
	font-size: 0.75rem;
}

@media (min-width: 768px) {
	.msreal-bk-video__card {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	}

	.msreal-bk-video__thumb {
		min-height: 240px;
	}

	.msreal-bk-video__body {
		padding: 26px;
	}
}

/* 本文（ブロックエディターで書いた紹介文） */
.msreal-bk-prose > :first-child {
	margin-top: 0;
}

.msreal-bk-prose h2 {
	margin: 0 0 20px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.5rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-bk-prose p {
	margin: 0 0 14px;
	font-size: 0.97rem;
	line-height: 2;
}

.msreal-bk-prose img {
	height: auto;
	border-radius: 10px;
}

/* 間取り図 */
.msreal-bk-plan figure {
	margin: 0;
	padding: 16px;
	border: 1px solid #e3dccd;
	border-radius: 12px;
	background: #fff;
}

.msreal-bk-plan img {
	display: block;
	width: 100%;
	max-width: 640px;
	height: auto;
	margin-inline: auto;
}

/* 物件概要 */
.msreal-bk-spec {
	margin: 0;
	border-top: 2px solid var(--wp--preset--color--ai);
}

.msreal-bk-spec div {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border-bottom: 1px solid #e3dccd;
}

.msreal-bk-spec dt {
	padding: 7px 14px;
	background: #f7f4ee;
	color: var(--wp--preset--color--ai);
	font-size: 0.84rem;
	font-weight: 700;
}

.msreal-bk-spec dd {
	margin: 0;
	padding: 9px 14px 13px;
	font-size: 0.9rem;
	line-height: 1.8;
}

.msreal-bk-spec .is-price dd {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.15rem;
	font-weight: 800;
}

.msreal-bk-spec .msreal-spec-note {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem;
	font-weight: 400;
}

.msreal-bk-dates {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
	margin: 14px 0 0;
	color: #777;
	font-size: 0.78rem;
}

@media (min-width: 768px) {
	.msreal-bk-spec div {
		grid-template-columns: 170px minmax(0, 1fr);
	}

	.msreal-bk-spec dt {
		padding: 13px 16px;
	}

	.msreal-bk-spec dd {
		padding: 13px 16px;
	}
}

/* ---------- お問い合わせの帯（藍） ---------- */
.msreal-bk-ask {
	position: relative;
	overflow: clip;
	padding: 52px 16px;
	background: var(--wp--preset--color--ai);
	color: #e9e2d4;
}

.msreal-bk-ask::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -120px;
	width: 380px;
	height: 380px;
	border: 1px solid rgba(184, 147, 90, 0.35);
	border-radius: 50%;
}

/* スマホでは飾りの円が文字に重なるので出さない */
@media (max-width: 767px) {
	.msreal-bk-ask::before {
		display: none;
	}
}

.msreal-bk-ask__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	max-width: 1120px;
	margin-inline: auto;
}

.msreal-bk-ask p {
	margin: 0;
}

.msreal-bk-ask .msreal-bk-ask__mini {
	display: flex;
	gap: 14px;
	align-items: center;
}

.msreal-bk-ask__mini img {
	flex: none;
	width: 96px;
	height: 72px;
	object-fit: cover;
	border-radius: 10px;
}

.msreal-bk-ask__mini span {
	min-width: 0;
	line-height: 1.5;
}

.msreal-bk-ask__mini small {
	display: block;
	color: #cfd5de;
	font-size: 0.75rem;
}

.msreal-bk-ask__mini b {
	display: block;
	color: #fff;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1rem;
}

.msreal-bk-ask__price {
	display: block;
	white-space: nowrap;
	color: #e7cf9f;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.3rem;
	font-weight: 800;
}

.msreal-bk-ask__mini .msreal-bk-ask__price small {
	display: inline;
	margin-left: 2px;
	color: inherit;
	font-size: 0.6em;
}

.msreal-bk-ask h2 {
	margin: 22px 0 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.55rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-bk-ask .msreal-bk-ask__lead {
	margin-top: 6px;
	color: #cfd5de;
	font-size: 0.875rem;
}

.msreal-bk-ask .msreal-bk-buttons {
	margin-top: 0;
}

.msreal-bk-ask .msreal-bk-btn.is-line {
	border-color: #e9e2d4;
	background: transparent;
	color: #fff;
}

.msreal-bk-ask .msreal-bk-btn.is-line:hover {
	background: rgba(255, 255, 255, 0.08);
}

.msreal-bk-ask .msreal-bk-ask__tel {
	margin-top: 14px;
	line-height: 1.5;
	text-align: center;
}

.msreal-bk-ask__tel .msreal-tel {
	display: block;
	color: #fff;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
}

.msreal-bk-ask__tel small {
	color: #cfd5de;
	font-size: 0.75rem;
}

@media (min-width: 768px) {
	.msreal-bk-ask {
		padding-block: 60px;
	}

	.msreal-bk-ask__inner {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		gap: 40px;
	}

	.msreal-bk-ask__mini img {
		width: 120px;
		height: 90px;
	}
}

/* 一覧へ戻る・売却の査定 */
.msreal-bk-after .msreal-back {
	padding-bottom: 8px;
}

/* 仲介会社様向けのページへの控えめな入口（inc/gyosha.php） */
.msreal-gy-entry {
	margin: 24px 0 0;
	text-align: right;
	font-size: 0.8rem;
}

.msreal-gy-entry a {
	color: #777;
}

/* スマホの画面下のバー：物件のページは「内覧を予約する・電話する」（いつものバーは隠す） */
body:has(.msreal-bk-bar) .msreal-mobile-cta:not(.msreal-bk-bar) {
	display: none;
}

/* ---------- スマホ（767px以下）：写真は横に送る ---------- */
@media (max-width: 767px) {
	.msreal-bk-crumb {
		padding: 10px 0;
	}

	.msreal-bk-photos {
		margin-inline: -16px;
	}

	.msreal-bk-mosaic,
	.msreal-bk-mosaic[class*="is-n"] {
		position: static;
		display: flex;
		overflow-x: auto;
		gap: 0;
		border-radius: 0;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		overscroll-behavior-x: contain;
	}

	.msreal-bk-mosaic::-webkit-scrollbar {
		display: none;
	}

	.msreal-bk-mosaic .msreal-bk-mosaic__item,
	.msreal-bk-mosaic .msreal-bk-mosaic__item:nth-child(n+6) {
		display: block;
		flex: 0 0 100%;
		aspect-ratio: 4 / 3;
		scroll-snap-align: start;
	}

	.msreal-bk-mosaic__item:hover img {
		transform: none;
	}

	.msreal-bk-mosaic__all {
		display: none;
	}

	.msreal-bk-mosaic .msreal-bk-mosaic__tag {
		position: absolute;
		top: 12px;
		left: 12px;
		font-size: 12px;
	}

	/* 横に送っても札と枚数が動かないように、写真の枠の外に重ねる */
	.msreal-bk-photos {
		position: relative;
	}

	.msreal-bk-mosaic__count {
		position: absolute;
		right: 12px;
		bottom: 12px;
		z-index: 1;
		display: block;
		padding: 3px 12px;
		border-radius: 999px;
		background: rgba(20, 35, 58, 0.72);
		color: #fff;
		font-size: 0.78rem;
		font-weight: 700;
	}
}

/* ---------- 写真を大きく見る（assets/js/bukken-single.js） ---------- */
.msreal-bk-noscroll {
	overflow: hidden;
}

.msreal-bk-lightbox {
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(10, 16, 28, 0.94);
	color: #fff;
}

.msreal-bk-lightbox::backdrop {
	background: rgba(10, 16, 28, 0.6);
}

.msreal-bk-lightbox svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-bk-lightbox__fig {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 100%;
	margin: 0;
	padding: 56px 16px 64px;
}

.msreal-bk-lightbox__fig img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 4px;
}

.msreal-bk-lightbox__fig figcaption {
	margin-top: 10px;
	color: #e9e2d4;
	font-size: 0.875rem;
	text-align: center;
}

.msreal-bk-lightbox__close,
.msreal-bk-lightbox__nav {
	position: absolute;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	cursor: pointer;
}

.msreal-bk-lightbox__close:hover,
.msreal-bk-lightbox__nav:hover {
	background: rgba(255, 255, 255, 0.26);
}

.msreal-bk-lightbox__close {
	top: 10px;
	right: 10px;
}

.msreal-bk-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
}

.msreal-bk-lightbox__nav.is-prev {
	left: 12px;
}

.msreal-bk-lightbox__nav.is-next {
	right: 12px;
}

.msreal-bk-lightbox__count {
	position: absolute;
	bottom: 16px;
	left: 50%;
	margin: 0;
	color: #cfd5de;
	font-size: 0.875rem;
	transform: translateX(-50%);
}

@media (max-width: 767px) {
	.msreal-bk-lightbox__nav {
		top: auto;
		bottom: 8px;
		transform: none;
	}

	.msreal-bk-lightbox__fig {
		padding: 56px 0 72px;
	}
}

/* ==========================================================================
 * 賃貸物件（/chintai/・建物・お部屋）2026-10-20 作り直し：少しポップに
 * 見本 docs/記録/賃貸試作_3_ポップ（一覧・お部屋の上）・_1（建物・お部屋の下の段）・_2（一覧の並び）
 * 色・書体はほかのページと同じ。明るい地（白・生成り）、大きな丸み、線のアイコン、丸い札、チケットの形のお部屋。
 * 建物・お部屋のページは、物件のページ（.msreal-bk-*）の部品に .msreal-cht を足して丸みと色を変える。
 * HTML は inc/chintai.php、一覧の絞り込みは assets/js/chintai.js
 * ========================================================================== */

main.msreal-chintai,
main.msreal-chintai-room,
main.msreal-chintai-list {
	background: #fff;
}

.msreal-cht-ic {
	width: 20px;
	height: 20px;
	flex: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* ---------- 一覧の頭：明るい地＋線画の街 ---------- */
.msreal-cht-top {
	overflow: clip;
	background: #fbf6ec;
}

.msreal-cht-top__in {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	align-items: end;
	box-sizing: border-box;
	max-width: calc(1120px + 32px);
	margin-inline: auto;
	padding: 28px 16px 0;
}

.msreal-cht-top h1 {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem);
	font-weight: 800;
	line-height: 1.4;
}

.msreal-cht-top h1 span {
	display: inline-block;
	margin-left: 10px;
	padding: 2px 14px;
	border-radius: 999px;
	background: var(--wp--preset--color--shinchu);
	color: #fff;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.8rem;
	font-weight: 700;
	vertical-align: middle;
}

.msreal-cht-top__lead {
	max-width: 600px;
	margin: 10px 0 0;
	color: #555;
	font-size: 0.875rem;
}

.msreal-cht-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 18px;
}

.msreal-cht-stats div {
	padding: 8px 16px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(20, 35, 58, 0.06);
	line-height: 1.3;
}

.msreal-cht-stats small {
	display: block;
	color: #8f7c5e;
	font-size: 0.72rem;
}

.msreal-cht-stats b {
	color: var(--wp--preset--color--ai);
	font-size: 1.4rem;
}

.msreal-cht-stats b small {
	display: inline;
	margin-left: 2px;
	color: var(--wp--preset--color--ai);
	font-size: 0.8rem;
}

.msreal-cht-town {
	display: block;
	width: 100%;
	max-width: 320px;
	height: auto;
	margin-inline: auto;
	color: var(--wp--preset--color--ai);
}

.msreal-cht-town .is-fill {
	fill: #f4e6cc;
}

/* 街の絵と、その上の「入居申込書のダウンロード」のボタン（一覧のみ） */
.msreal-cht-top__art {
	display: grid;
	justify-items: center;
	gap: 24px;
	min-width: 0;
	margin-top: 22px;
}

/* ボタンの上のひと言は、ボタンの幅に合う大きさ・濃紺で（2026-10-23 悠一さん） */
.msreal-cht-top__art .msreal-cta .msreal-cta__micro {
	margin-bottom: 12px;
	color: var(--wp--preset--color--ai);
	font-size: 1.35rem;
	letter-spacing: 0.08em;
}

@media (min-width: 768px) {
	.msreal-cht-top__art .msreal-cta .msreal-cta__micro {
		font-size: 1.6rem;
	}
}

.msreal-cht-ground {
	height: 12px;
	margin-top: -2px;
	background: repeating-linear-gradient(90deg, var(--wp--preset--color--shinchu) 0 18px, transparent 18px 28px);
	opacity: 0.35;
}

@media (min-width: 768px) {
	.msreal-cht-top__in {
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: 24px;
		padding-top: 44px;
	}

	.msreal-cht-top__lead {
		font-size: 0.94rem;
	}

	.msreal-cht-stats {
		margin: 22px 0 40px;
	}

	.msreal-cht-town {
		max-width: none;
	}

	.msreal-cht-top__art {
		gap: 44px; /* ボタンは絵から少し離して上に（2026-10-23 悠一さん） */
		margin-top: 0;
	}
}

/* ---------- 一覧の中身 ---------- */
.msreal-cht-wrap {
	box-sizing: border-box;
	max-width: calc(1120px + 32px);
	margin-inline: auto;
	padding: 0 16px 56px;
}

.msreal-cht-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 22px 0 4px;
}

.msreal-cht-chips[hidden] {
	display: none;
}

.msreal-cht-chips b {
	align-self: center;
	margin-right: 4px;
	color: #8f7c5e;
	font-size: 0.8rem;
}

.msreal-cht-chip {
	padding: 4px 14px;
	border: 1.5px solid #ebe3d3;
	border-radius: 999px;
	background: #fff;
	color: var(--wp--preset--color--ai);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 700;
	cursor: pointer;
}

.msreal-cht-chip:hover {
	border-color: var(--wp--preset--color--shinchu);
}

.msreal-cht-chip.is-on {
	border-color: var(--wp--preset--color--ai);
	background: var(--wp--preset--color--ai);
	color: #fff;
}

.msreal-cht-list {
	display: grid;
	gap: 22px;
	padding: 18px 0 48px;
}

.msreal-cht-card[hidden],
.msreal-cht-tk[hidden],
.msreal-cht-none[hidden] {
	display: none;
}

.msreal-cht-none {
	margin: 24px 0 40px;
	padding: 18px;
	border-radius: 16px;
	background: #fbf6ec;
	color: #555;
	text-align: center;
}

/* 建物の札 */
.msreal-cht-card {
	overflow: hidden;
	border: 1.5px solid #ebe3d3;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(20, 35, 58, 0.07);
}

.msreal-cht-card__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	padding: 12px;
}

.msreal-cht-card__img {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 18px;
	background: #e8ecf2;
}

.msreal-cht-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s;
}

a.msreal-cht-card__img:hover img {
	transform: scale(1.03);
}

.msreal-cht-noimg {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: #e8ecf2;
	color: var(--wp--preset--color--ai);
}

.msreal-cht-noimg svg {
	width: 60%;
	max-width: 180px;
	height: auto;
}

.msreal-cht-pill {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 3px 12px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
	color: var(--wp--preset--color--ai);
	font-size: 0.78rem;
	font-weight: 700;
}

.msreal-cht-pill i {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 6px;
	border-radius: 50%;
	background: #3fae74;
	vertical-align: 1px;
}

.msreal-cht-card__body {
	min-width: 0;
	padding: 0 4px 4px;
}

.msreal-cht-card__name {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: center;
}

.msreal-cht .msreal-cht-card__name h1,
.msreal-cht-card__name h2 {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem);
	font-weight: 800;
	line-height: 1.4;
}

.msreal-cht-card__name h1 small {
	margin-left: 4px;
	font-size: 0.62em;
}

.msreal-cht-card__name a {
	color: inherit;
	text-decoration: none;
}

.msreal-cht-card__name a:hover {
	text-decoration: underline;
}

.msreal-cht-kind {
	padding: 2px 10px;
	border-radius: 999px;
	background: #f4e6cc;
	color: #6b5a3e;
	font-size: 0.72rem;
	font-weight: 700;
}

.msreal-cht-draft {
	padding: 2px 10px;
	border-radius: 999px;
	background: #fde8e4;
	color: #b0473a;
	font-size: 0.72rem;
	font-weight: 700;
}

.msreal-cht-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.msreal-cht-facts li {
	display: flex;
	gap: 6px;
	align-items: center;
	color: #444;
	font-size: 0.82rem;
}

.msreal-cht-facts .msreal-cht-ic {
	color: var(--wp--preset--color--shinchu);
}

.msreal-cht-facts b {
	color: var(--wp--preset--color--ai);
}

.msreal-cht-map {
	margin-left: 6px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-cht-note {
	display: flex;
	gap: 6px;
	align-items: center;
	margin: 10px 0 0;
	color: #777;
	font-size: 0.78rem;
}

.msreal-cht-note .msreal-cht-ic {
	width: 16px;
	height: 16px;
	color: var(--wp--preset--color--shinchu);
}

.msreal-cht-more {
	display: inline-flex;
	margin-top: 14px;
	padding: 5px 16px;
	border: 1.5px solid var(--wp--preset--color--ai);
	border-radius: 999px;
	color: var(--wp--preset--color--ai);
	font-size: 0.84rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-cht-more:hover {
	background: #f7f4ee;
}

.msreal-cht-full {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: center;
	margin: 14px 0 0;
	padding: 10px 14px;
	border: 1.5px dashed #d8d2c4;
	border-radius: 14px;
	background: #fff;
	color: #666;
	font-size: 0.82rem;
}

.msreal-cht-full b {
	flex: none;
	padding: 1px 10px;
	border-radius: 999px;
	background: #8a8a8a;
	color: #fff;
	font-size: 0.72rem;
}

.msreal-cht-card.is-full {
	background: #fafaf8;
	box-shadow: none;
}

.msreal-cht-card.is-full .msreal-cht-card__img {
	opacity: 0.8;
	filter: grayscale(0.6);
}

@media (min-width: 768px) {
	.msreal-cht-card {
		border-radius: 24px;
	}

	.msreal-cht-card__top {
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 24px;
		padding: 18px;
	}

	.msreal-cht-facts li {
		font-size: 0.875rem;
	}
}

/* 空いているお部屋：チケットの形 */
.msreal-cht-tickets {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	padding: 12px;
	background: #fbf6ec;
}

.msreal-cht-tickets h3 {
	margin: 0;
	color: #8f7c5e;
	font-size: 0.8rem;
	font-weight: 700;
}

.msreal-cht-tickets.is-page {
	padding: 0;
	background: none;
}

.msreal-cht-tk {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 12px 44px 12px 12px;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(20, 35, 58, 0.06);
	color: inherit;
	text-decoration: none;
	transition: transform 0.15s, box-shadow 0.15s;
}

.msreal-cht-tickets.is-page .msreal-cht-tk {
	border: 1.5px solid #ebe3d3;
}

.msreal-cht-tk:hover {
	box-shadow: 0 8px 18px rgba(20, 35, 58, 0.1);
	transform: translateY(-2px);
}

.msreal-cht-tk__lay {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: #fff;
	line-height: 1.15;
	text-align: center;
}

.msreal-cht-tk__lay b {
	display: block;
	font-size: 0.95rem;
}

.msreal-cht-tk__lay small {
	display: block;
	font-size: 0.62rem;
	opacity: 0.8;
}

.msreal-cht-tk__body {
	min-width: 0;
}

.msreal-cht-tk__no {
	display: block;
	color: #777;
	font-size: 0.78rem;
}

.msreal-cht-tk__no b {
	margin-right: 6px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.05rem;
}

.msreal-cht-tk__no .msreal-cht-draft {
	margin-left: 6px;
}

.msreal-cht-tk__rent {
	display: block;
	color: var(--wp--preset--color--ai);
	line-height: 1.2;
}

.msreal-cht-tk__rent b {
	font-size: 1.4rem;
}

.msreal-cht-tk__rent small {
	margin-left: 2px;
	font-size: 0.8rem;
	font-weight: 700;
}

.msreal-cht-tk__rent span {
	display: block;
	margin-top: 2px;
	color: #888;
	font-size: 0.7rem;
}

.msreal-cht-tk__go {
	position: absolute;
	top: 50%;
	right: 12px;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
	color: #fff;
	font-weight: 700;
	transform: translateY(-50%);
}

.msreal-cht-tk__go svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.msreal-cht-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 6px;
}

.msreal-cht-tag {
	padding: 1px 9px;
	border-radius: 999px;
	background: #e8ecf2;
	color: var(--wp--preset--color--ai);
	font-size: 0.7rem;
	font-weight: 700;
}

.msreal-cht-tag.is-gold {
	background: #f4e6cc;
	color: #7a5c2c;
}

.msreal-cht-tag.is-red {
	background: #fde8e4;
	color: #b0473a;
}

@media (min-width: 768px) {
	.msreal-cht-tickets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 16px 18px 18px;
	}

	.msreal-cht-tickets h3 {
		grid-column: 1 / -1;
	}

	.msreal-cht-tk {
		grid-template-columns: 76px minmax(0, 1fr);
	}

	.msreal-cht-tk__lay {
		width: 76px;
		height: 76px;
	}

	.msreal-cht-tk__lay b {
		font-size: 1.1rem;
	}

	.msreal-cht-tk__rent b {
		font-size: 1.55rem;
	}
}

/* ご希望を伝える */
.msreal-cht-wish {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 22px 18px;
	border-radius: 24px;
	background: var(--wp--preset--color--ai);
	color: #e9e2d4;
	text-align: center;
}

.msreal-cht-wish .msreal-cht-ic {
	width: 64px;
	height: 64px;
	margin-inline: auto;
	color: #e7cf9f;
	stroke-width: 1.4;
}

.msreal-cht-wish h2 {
	margin: 0;
	color: #fff;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
}

.msreal-cht-wish p {
	margin: 4px 0 0;
	color: #cfd5de;
	font-size: 0.84rem;
}

.msreal-cht .msreal-cht-wish {
	margin-bottom: 56px;
}

@media (min-width: 768px) {
	.msreal-cht-wish {
		grid-template-columns: 90px minmax(0, 1fr) auto;
		gap: 24px;
		padding: 24px 30px;
		text-align: left;
	}

	.msreal-cht-wish .msreal-cht-ic {
		width: 80px;
		height: 80px;
	}
}

/* ---------- 建物・お部屋のページ（物件のページの部品を丸く・明るく） ---------- */
.msreal-cht .msreal-bk-mosaic {
	border-radius: 24px;
}

.msreal-cht .msreal-bk-mosaic.is-empty {
	height: 220px;
	background: #e8ecf2;
}

.msreal-cht .msreal-bk-mosaic.is-empty .msreal-noimage {
	color: var(--wp--preset--color--ai);
}

.msreal-cht .msreal-bk-title {
	font-size: clamp(1.35rem, 1.1rem + 1vw, 1.85rem);
}

.msreal-cht-intro {
	margin-top: 18px;
	font-size: 0.94rem;
	line-height: 2;
}

.msreal-cht-intro p {
	margin: 0 0 0.8em;
}

/* 4つの要点（アイコンつきの丸い枠） */
.msreal-cht-big4 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.msreal-cht-big4 li {
	min-width: 0;
	padding: 12px 10px;
	border-radius: 18px;
	background: #fbf6ec;
	line-height: 1.3;
	text-align: center;
}

.msreal-cht-big4 .msreal-cht-ic {
	width: 26px;
	height: 26px;
	color: var(--wp--preset--color--shinchu);
}

.msreal-cht-big4 small {
	display: block;
	margin-top: 4px;
	color: #8f7c5e;
	font-size: 0.7rem;
}

.msreal-cht-big4 b {
	display: block;
	margin-top: 2px;
	color: var(--wp--preset--color--ai);
	font-size: 1rem;
}

.msreal-bk-head > .msreal-cht-tags {
	margin-top: 14px;
}

@media (min-width: 768px) {
	.msreal-cht-big4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 右の札 */
.msreal-cht .msreal-cht-rcard {
	border-radius: 0;
}

.msreal-cht-rcard__rent,
.msreal-cht-rcard__big {
	margin: 0;
	color: var(--wp--preset--color--ai);
	line-height: 1.15;
}

.msreal-cht-rcard__rent b,
.msreal-cht-rcard__big b {
	font-size: 2.6rem;
}

.msreal-cht-rcard__rent small,
.msreal-cht-rcard__big small {
	margin-left: 3px;
	font-size: 1rem;
	font-weight: 700;
}

.msreal-cht-rcard__big.is-full b {
	color: #6b6b6b;
	font-size: 2rem;
}

.msreal-cht .msreal-cht-rcard__fee {
	margin: 2px 0 0;
	color: #555;
	font-size: 0.8rem;
}

.msreal-cht-cost {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 14px;
}

.msreal-cht-cost div {
	min-width: 0;
	padding: 8px 4px;
	border-radius: 14px;
	background: #e8ecf2;
	line-height: 1.3;
	text-align: center;
}

.msreal-cht-cost small {
	display: block;
	color: #56627a;
	font-size: 0.68rem;
}

.msreal-cht-cost b {
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
}

.msreal-cht-cost div.is-zero {
	background: #f4e6cc;
}

.msreal-cht-cost div.is-zero small {
	color: #7a5c2c;
}

.msreal-cht .msreal-bk-btn .msreal-cht-ic {
	width: 18px;
	height: 18px;
}

@media (min-width: 1024px) {
	.msreal-cht .msreal-cht-rcard {
		border: 1.5px solid #ebe3d3;
		border-top: 4px solid var(--wp--preset--color--shinchu);
		border-radius: 24px;
	}
}

/* 間取り図 */
.msreal-cht-plan {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 14px;
	border: 1.5px solid #ebe3d3;
	border-radius: 20px;
	background: #fff;
}

.msreal-cht-plan img {
	display: block;
	width: 100%;
	max-height: 460px;
	height: auto;
	object-fit: contain;
}

.msreal-cht-plan dl,
.msreal-cht-money dl {
	margin: 0;
}

.msreal-cht-plan dl div,
.msreal-cht-money dl div {
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 8px 0;
	border-bottom: 1px dashed #ebe3d3;
	font-size: 0.875rem;
}

.msreal-cht-plan dt,
.msreal-cht-money dt {
	color: #8f7c5e;
}

.msreal-cht-plan dd,
.msreal-cht-money dd {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-align: right;
}

@media (min-width: 768px) {
	.msreal-cht-plan {
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
		gap: 28px;
		padding: 20px;
	}
}

/* お金のこと */
.msreal-cht-lead {
	margin: -8px 0 20px;
	color: #666;
	font-size: 0.84rem;
}

.msreal-cht-money {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}

.msreal-cht-money section {
	min-width: 0;
	padding: 18px 20px;
	border-radius: 20px;
	background: #fbf6ec;
}

.msreal-cht-money h3 {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0 0 8px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.05rem;
}

.msreal-cht-money h3 .msreal-cht-ic {
	width: 22px;
	height: 22px;
	color: #8a6a35;
}

.msreal-cht-money dl div:last-child {
	border-bottom: 0;
}

.msreal-cht-money ul {
	margin: 8px 0 0;
	padding: 10px 0 0 1.2em;
	border-top: 1px dashed #ebe3d3;
	color: #555;
	font-size: 0.82rem;
}

.msreal-cht-sum {
	display: flex;
	justify-content: space-between;
	margin: 8px 0 0;
	padding-top: 10px;
	border-top: 2px solid var(--wp--preset--color--ai);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-cht-sum b {
	font-size: 1.25rem;
}

@media (min-width: 768px) {
	.msreal-cht-money {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 空いているお部屋の数 */
.msreal-cht-count {
	margin: 14px 0 0;
	color: #555;
	font-size: 0.84rem;
}

.msreal-cht-count b {
	color: var(--wp--preset--color--ai);
}

/* この建物のこと（お部屋のページ → 建物のページ） */
.msreal-cht-bld {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 12px;
	border: 1.5px solid #ebe3d3;
	border-radius: 20px;
	background: #fff;
	color: inherit;
	text-decoration: none;
}

.msreal-cht-bld:hover {
	box-shadow: 0 8px 18px rgba(20, 35, 58, 0.08);
}

.msreal-cht-bld__img {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
}

.msreal-cht-bld__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msreal-cht-bld__body {
	min-width: 0;
}

.msreal-cht-bld__body > b {
	margin-right: 8px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.1rem;
}

.msreal-cht-bld .msreal-cht-facts {
	margin-top: 6px;
}

.msreal-cht-bld__go {
	display: inline-block;
	margin-top: 8px;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
	font-size: 0.84rem;
	font-weight: 700;
}

@media (min-width: 768px) {
	.msreal-cht-bld {
		grid-template-columns: 200px minmax(0, 1fr);
		gap: 20px;
		padding: 16px;
	}
}

/* ==========================================================================
 * これまでに買い取った住まい（買取の実績）2026-10-20
 * 見本 docs/記録/実績試作_2。HTML は inc/posts.php の msreal_jisseki_html（買取ページ [msreal_jisseki]・区のページ [msreal_area_works]）
 * マンションは外観写真、戸建て・アパート・土地は assets/img/jisseki/ のイラスト（白い地を multiply で生成りになじませる）とひと言
 * ========================================================================== */

.msreal-jisseki {
	padding: 52px 16px 60px;
	background: #fff;
}

.msreal-jisseki.is-area {
	background: var(--wp--preset--color--kinari);
}

.msreal-jisseki__inner {
	box-sizing: border-box;
	max-width: 1120px;
	margin-inline: auto;
}

.msreal-jisseki .msreal-jisseki__title {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.4rem, 1.15rem + 1vw, 1.85rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-jisseki__lead {
	max-width: 640px;
	margin: 10px 0 0;
	color: #555;
	font-size: 0.9rem;
}

.msreal-jisseki__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 14px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.msreal-jisseki__item {
	min-width: 0;
}

.msreal-jisseki__pic {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	border-radius: 14px;
	background: var(--wp--preset--color--kinari);
}

.msreal-jisseki__pic img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.msreal-jisseki__pic .msreal-noimage {
	height: 100%;
	background: var(--wp--preset--color--ai);
	font-size: 1rem;
}

/* イラスト（戸建て・アパート・土地） */
.msreal-jisseki__pic.is-ill {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8%;
	background: #fbf6ec;
	box-shadow: inset 0 0 0 1.5px #efe5d2;
}

.msreal-jisseki__pic.is-ill img {
	width: 84%;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.msreal-jisseki__words {
	margin: 0;
	padding: 0 8px;
	color: #6b5a3e;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 0.78rem;
	line-height: 1.6;
	text-align: center;
}

.msreal-jisseki__place {
	margin: 10px 0 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
}

.msreal-jisseki__draft {
	margin-left: 6px;
	padding: 1px 8px;
	border-radius: 999px;
	background: #fde8e4;
	color: #b0473a;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.68rem;
	vertical-align: 2px;
}

.msreal-jisseki__type {
	margin: 2px 0 0;
	color: #777;
	font-size: 0.75rem;
}

.msreal-jisseki__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 6px 0 0;
}

.msreal-jisseki__tag {
	padding: 1px 9px;
	border-radius: 999px;
	background: #f4e6cc;
	color: #7a5c2c;
	font-size: 0.7rem;
	font-weight: 700;
}

.msreal-jisseki__tag.is-sub {
	background: #e8ecf2;
	color: var(--wp--preset--color--ai);
}

.msreal-jisseki__note {
	margin: 22px 0 0;
	color: #888;
	font-size: 0.75rem;
	text-align: center;
}

.msreal-jisseki__note a {
	margin-left: 6px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

@media (min-width: 768px) {
	.msreal-jisseki {
		padding-block: 64px 72px;
	}

	.msreal-jisseki__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 26px 18px;
	}

	.msreal-jisseki__words {
		font-size: 0.82rem;
	}

	.msreal-jisseki__lead {
		font-size: 0.94rem;
	}
}

/*
 * 区のページ（2026-10-20 作り直し。見本 docs/記録/エリア試作_2_台東区_写真）
 * 主な街＝路線図ふう（駅の丸が街、本社のある街は真鍮の丸と「本社」の札）。街の写真は画像ブロックを足すと PC は右、スマホは駅名の下
 * ご相談＝カードをやめ、見出しを左・項目を線で区切って右
 */
.msreal-townline-sec {
	padding: clamp(64px, 8vw, 96px) 16px;
	background: var(--wp--preset--color--kinari);
}

.msreal-townline-sec > * {
	max-width: 960px;
	margin: 0 auto;
}

.msreal-townline-sec .msreal-townline-sec__pre {
	color: var(--wp--preset--color--shinchu);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-townline-sec .msreal-townline-sec__title {
	margin-top: 4px;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-townline-sec .msreal-townline-sec__lead {
	margin-top: 10px;
	color: #555;
	font-size: 0.9375rem;
}

.msreal-townline-sec .msreal-townline {
	margin-top: 36px;
}

.msreal-townline > * {
	margin: 0;
}

/* 路線の名前の札 */
.msreal-townline .msreal-townline__sign {
	margin-bottom: 6px;
}

.msreal-townline__sign strong {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px 6px 12px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	border-radius: 999px;
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.msreal-townline__sign strong::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--shinchu);
}

/* 駅（街）。スマホは 線｜名前・駅・写真・説明 の縦並び */
.msreal-townline .msreal-townline__stop {
	position: relative;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	column-gap: 14px;
	padding: 22px 0 26px;
}

.msreal-townline__stop > * {
	grid-column: 2;
	min-width: 0;
	margin: 0;
}

/* 線（駅ごとに区切って描く。最初と最後は丸の中心まで） */
.msreal-townline__stop::before {
	content: "";
	position: absolute;
	left: 19px;
	top: 0;
	bottom: 0;
	width: 6px;
	background: var(--wp--preset--color--ai);
}

.msreal-townline__sign + .msreal-townline__stop::before {
	top: -6px;
}

.msreal-townline__stop:last-child::before {
	bottom: auto;
	height: 42px;
}

/* 駅の丸 */
.msreal-townline__stop::after {
	content: "";
	position: absolute;
	left: 9px;
	top: 26px;
	box-sizing: border-box;
	width: 26px;
	height: 26px;
	border: 5px solid var(--wp--preset--color--ai);
	border-radius: 50%;
	background: var(--wp--preset--color--white);
}

.msreal-townline__stop.is-hq::after {
	border-color: var(--wp--preset--color--shinchu);
	background: var(--wp--preset--color--ai);
}

.msreal-townline .msreal-townline__name {
	order: 1;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-townline__stop.is-hq .msreal-townline__name::after {
	content: "本社";
	display: inline-block;
	margin-left: 10px;
	padding: 0 10px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	border-radius: 3px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.9;
	vertical-align: 0.25em;
}

.msreal-townline .msreal-townline__station {
	order: 2;
	margin-top: 4px;
	color: #7a6a50;
	font-size: 0.8125rem;
	line-height: 1.7;
}

.msreal-townline__station::before {
	content: "最寄り駅";
	display: inline-block;
	margin-right: 8px;
	padding: 0 6px;
	border: 1px solid rgba(184, 147, 90, 0.6);
	border-radius: 3px;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1.7;
}

/* 街の写真（管理画面で画像ブロックを足したときだけ） */
.msreal-townline__stop > figure {
	order: 3;
	margin-top: 14px;
}

.msreal-townline__stop > figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 4px;
}

.msreal-townline__stop > figure figcaption {
	margin: 4px 0 0;
	color: #888;
	font-size: 0.6875rem;
	text-align: right;
}

.msreal-townline__stop > p:not(.msreal-townline__station) {
	order: 4;
	margin-top: 10px;
	font-size: 0.9375rem;
}

/* PC：名前・駅・説明を左、写真を右に */
@media (min-width: 782px) {
	.msreal-townline .msreal-townline__stop {
		grid-template-columns: 44px minmax(0, 1fr) 300px;
		grid-template-rows: auto auto 1fr;
		column-gap: 32px;
		padding: 30px 0 34px;
		border-bottom: 1px dashed rgba(20, 35, 58, 0.15);
	}

	.msreal-townline .msreal-townline__stop:last-child {
		border-bottom: 0;
	}

	.msreal-townline__stop::after {
		top: 36px;
	}

	.msreal-townline__stop:last-child::before {
		height: 52px;
	}

	.msreal-townline__stop > figure {
		grid-column: 3;
		grid-row: 1 / 4;
		margin-top: 0;
	}

	.msreal-townline__stop > p:not(.msreal-townline__station) {
		margin-top: 12px;
	}
}

/* 売却のご相談 */
.msreal-wardtalk {
	padding: clamp(64px, 8vw, 96px) 16px;
	background: var(--wp--preset--color--white);
}

.msreal-wardtalk .msreal-wardtalk__inner {
	display: grid;
	gap: 28px;
	max-width: 960px;
	margin: 0 auto;
}

.msreal-wardtalk__inner > *,
.msreal-wardtalk__items > *,
.msreal-wardtalk__item > * {
	min-width: 0;
	margin: 0;
}

.msreal-wardtalk .msreal-wardtalk__title {
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-wardtalk .msreal-wardtalk__item {
	padding: 22px 0;
	border-top: 1px solid rgba(184, 147, 90, 0.45);
}

.msreal-wardtalk .msreal-wardtalk__item:last-child {
	border-bottom: 1px solid rgba(184, 147, 90, 0.45);
}

.msreal-wardtalk__item h3 {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.0625rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6;
}

.msreal-wardtalk__item h3 + p {
	margin-top: 6px;
	font-size: 0.9375rem;
}

@media (min-width: 782px) {
	.msreal-wardtalk .msreal-wardtalk__inner {
		grid-template-columns: 280px minmax(0, 1fr);
		gap: 56px;
		align-items: start;
	}
}

@media (max-width: 781px) {
	.msreal-wardtalk__title br {
		display: none;
	}
}

/* 対応エリア（/area/）：見出しのすぐ下に地図、その下に城東7区のご案内（2026-10-20。見本 docs/記録/エリア試作_1_一覧） */
.msreal-area-index .msreal-areamap {
	padding-top: clamp(48px, 6vw, 72px);
}

.msreal-wardguide {
	padding: clamp(64px, 8vw, 96px) 16px;
	background: var(--wp--preset--color--kinari);
}

.msreal-wardguide > * {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
}

.msreal-wardguide .msreal-wardguide__title {
	margin-top: 0;
	margin-bottom: 0;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-wardguide .msreal-wardguide__lead {
	margin-top: 10px;
	margin-bottom: 0;
	color: #555;
	font-size: 0.9375rem;
}

.msreal-wardguide .msreal-wardguide__list {
	display: grid;
	column-gap: 56px;
	margin-top: 28px;
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.msreal-wardguide__list > li {
	min-width: 0;
	margin: 0;
	border-top: 1px solid rgba(184, 147, 90, 0.45);
}

.msreal-wardguide__list > li:last-child {
	border-bottom: 1px solid rgba(184, 147, 90, 0.45);
}

.msreal-wardguide__list a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 16px;
	padding: 18px 4px;
	color: inherit;
	text-decoration: none;
}

.msreal-wardguide__name {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-wardguide__name small {
	display: inline-block;
	margin-left: 10px;
	padding: 0 8px;
	background: var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--white);
	border-radius: 3px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.8;
	vertical-align: 0.3em;
}

.msreal-wardguide__text {
	grid-column: 1;
	margin-top: 2px;
	color: #555;
	font-size: 0.875rem;
	line-height: 1.7;
}

.msreal-wardguide__go {
	display: grid;
	place-items: center;
	grid-column: 2;
	grid-row: 1 / 3;
	width: 36px;
	height: 36px;
	border: 1px solid var(--wp--preset--color--ai);
	border-radius: 50%;
	color: var(--wp--preset--color--ai);
	transition: background-color 0.2s, color 0.2s;
}

.msreal-wardguide__go svg {
	width: 14px;
	height: 14px;
}

.msreal-wardguide__list a:hover .msreal-wardguide__name {
	color: var(--wp--preset--color--shinchu);
}

.msreal-wardguide__list a:hover .msreal-wardguide__go {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

@media (min-width: 782px) {
	.msreal-wardguide .msreal-wardguide__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.msreal-wardguide__list > li:nth-last-child(-n+2) {
		border-bottom: 1px solid rgba(184, 147, 90, 0.45);
	}
}

/*
 * 個人情報保護方針（/privacy/。2026-10-20 見本 docs/記録/方針試作_1）
 * 左に目次（PC はついてくる。読んでいる項目に印＝site.js の initPolicyToc）、右に1枚の文書。最後に制定日と代表者名
 */
.msreal-policy {
	padding: clamp(48px, 6vw, 80px) 16px clamp(64px, 8vw, 96px);
	background: var(--wp--preset--color--kinari);
}

.msreal-policy p,
.msreal-policy ol,
.msreal-policy ul,
.msreal-policy dl {
	margin: 0;
}

.msreal-policy__in {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 0 56px;
	align-items: start;
	max-width: 1120px;
	margin: 0 auto;
}

/* 左：目次 */
.msreal-policy__side {
	position: sticky;
	top: 40px;
	min-width: 0;
}

.msreal-policy .msreal-policy__side-t {
	margin-bottom: 10px;
	color: #8f7c5e;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-policy .msreal-policy__toc {
	padding: 0;
	border-top: 1px solid #dccfb6;
	list-style: none;
	counter-reset: msreal-pt;
}

.msreal-policy__toc li {
	margin: 0;
	border-bottom: 1px solid #dccfb6;
}

.msreal-policy__toc a {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 0 10px;
	align-items: center;
	padding: 11px 4px;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

.msreal-policy__toc a::before {
	counter-increment: msreal-pt;
	content: counter(msreal-pt);
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
	color: #8a6a35;
	font-size: 0.75rem;
	transition: background-color 0.2s, color 0.2s;
}

.msreal-policy__toc li.is-on a::before,
.msreal-policy__toc a:hover::before {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-policy .msreal-policy__date {
	margin-top: 18px;
	color: #8f7c5e;
	font-size: 0.75rem;
	line-height: 1.7;
}

/* 右：1枚の文書 */
.msreal-policy__paper {
	min-width: 0;
	padding: 52px 60px 48px;
	border-top: 3px solid var(--wp--preset--color--shinchu);
	border-radius: 6px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 1px 0 #e9e1d2, 0 18px 40px rgba(20, 35, 58, 0.07);
	counter-reset: msreal-ps;
}

.msreal-policy .msreal-policy__intro {
	font-size: 0.9375rem;
	line-height: 2;
}

.msreal-policy__sec {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #e6dccb;
	counter-increment: msreal-ps;
	scroll-margin-top: 24px;
}

.msreal-policy .msreal-policy__h {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	font-size: clamp(1.2rem, 2vw, 1.375rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-policy__h::before {
	content: counter(msreal-ps);
	flex: none;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--wp--preset--color--shinchu);
	border-radius: 50%;
	color: #8a6a35;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.875rem;
	font-weight: 700;
	transform: translateY(-2px);
}

.msreal-policy__sec > p {
	margin-top: 16px;
	font-size: 0.9375rem;
	line-height: 2;
}

.msreal-policy .msreal-policy__sec ol,
.msreal-policy .msreal-policy__sec ul {
	margin-top: 14px;
	padding-left: 1.4em;
	font-size: 0.9375rem;
	line-height: 1.9;
}

.msreal-policy__sec li {
	margin: 6px 0;
	padding-left: 0.2em;
}

.msreal-policy__sec li::marker {
	color: #8a6a35;
	font-weight: 700;
}

.msreal-policy .msreal-policy__sec dl {
	display: grid;
	grid-template-columns: 9em minmax(0, 1fr);
	margin-top: 16px;
	border-top: 1px solid #eee5d6;
	font-size: 0.9375rem;
	line-height: 1.85;
}

.msreal-policy__sec dt,
.msreal-policy__sec dd {
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid #eee5d6;
}

.msreal-policy__sec dt {
	padding-right: 16px;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-policy__sec a {
	color: var(--wp--preset--color--ai);
}

.msreal-policy__contact {
	margin-top: 18px;
	padding: 20px 24px;
	border-radius: 6px;
	background: var(--wp--preset--color--kinari);
	font-size: 0.9375rem;
	line-height: 1.9;
}

.msreal-policy__contact b {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.0625rem;
}

/* 社名・郵便番号・住所は途中で折り返さない（スマホ 320px で「通」や番地だけが次の行に落ちていた） */
.msreal-policy__contact span {
	display: inline-block;
}

@media (max-width: 400px) {
	.msreal-policy__contact {
		padding: 18px 16px;
	}
}

.msreal-policy .msreal-policy__tel {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.375rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-decoration: none;
	white-space: nowrap;
}

.msreal-policy__sign {
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid #e6dccb;
	font-size: 0.875rem;
	line-height: 2;
	text-align: right;
}

.msreal-policy__sign b {
	display: block;
	margin-top: 4px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.125rem;
}

@media (max-width: 1023px) {
	.msreal-policy__in {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.msreal-policy__side {
		position: static;
	}

	.msreal-policy .msreal-policy__toc {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 16px;
		border-top: 0;
	}

	.msreal-policy__toc li:nth-child(-n+2) {
		border-top: 1px solid #dccfb6;
	}
}

@media (max-width: 599px) {
	.msreal-policy .msreal-policy__toc {
		grid-template-columns: minmax(0, 1fr);
	}

	.msreal-policy__toc li:nth-child(2) {
		border-top: 0;
	}

	.msreal-policy__paper {
		padding: 32px 20px;
	}

	.msreal-policy .msreal-policy__sec dl {
		grid-template-columns: minmax(0, 1fr);
	}

	.msreal-policy__sec dt {
		padding-bottom: 0;
		border-bottom: 0;
	}

	.msreal-policy__sec dd {
		padding-top: 2px;
	}

	.msreal-policy__sign b {
		font-size: 1rem;
	}
}

/* ---------- 入居申込書（/chintai/moshikomi/。賃貸と同じ少しポップな形） ---------- */
.msreal-msk-crumb {
	margin: 0 0 6px;
	font-size: 0.85rem;
}

.msreal-msk-crumb a {
	color: var(--wp--preset--color--ai);
}

.msreal-msk-top .msreal-cht-top__in {
	padding-bottom: 8px;
}

.msreal-msk-sec {
	margin-top: 48px;
}

.msreal-msk-h2 {
	margin: 0 0 20px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem);
	font-weight: 800;
	line-height: 1.5;
}

.msreal-msk-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
}

.msreal-msk-col {
	min-width: 0;
	padding: 22px 18px;
	border: 1.5px solid #ece2cf;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 3px 0 #eadfca;
}

/* 見出しは言葉の切れ目（「お店・事務所として／借りる」）でだけ折り返す */
.msreal-msk-col__t span {
	display: inline-block;
}

.msreal-msk-col__h {
	display: flex;
	gap: 10px;
	align-items: center;
	margin: 0 0 6px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.2rem;
	font-weight: 800;
}

.msreal-msk-col__h .msreal-cht-ic {
	flex: none;
	width: 40px;
	height: 40px;
	padding: 7px;
	box-sizing: border-box;
	border-radius: 50%;
	background: #fbf6ec;
	color: var(--wp--preset--color--shinchu);
	stroke-width: 1.6;
}

.msreal-msk-item {
	padding: 16px 0;
	border-top: 1px dashed #e3dccd;
}

.msreal-msk-col__h + .msreal-msk-item {
	border-top: 0;
}

.msreal-msk-item__who {
	display: inline-block;
	margin: 0 0 6px;
	padding: 2px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--ai);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 700;
}

.msreal-msk-item.is-sub .msreal-msk-item__who {
	background: #efe6d4;
	color: var(--wp--preset--color--ai);
}

.msreal-msk-item__name {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	line-height: 1.6;
}

.msreal-msk-item__note {
	margin: 4px 0 0;
	color: #5b5b5b;
	font-size: 0.85rem;
	line-height: 1.8;
}

.msreal-msk-item__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.msreal-msk-item__btns .msreal-bk-btn {
	min-height: 48px;
	padding-inline: 20px;
	font-size: 0.9rem;
	white-space: nowrap;
}

@media (max-width: 400px) {
	.msreal-msk-col {
		padding-inline: 16px;
	}

	.msreal-msk-item__btns .msreal-bk-btn {
		padding-inline: 16px;
		font-size: 0.86rem;
	}
}

.msreal-msk-item__btns .msreal-bk-btn small {
	font-size: 0.72rem;
	font-weight: 400;
	opacity: 0.8;
}

.msreal-msk-minor {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin-top: 20px;
	padding: 22px 18px;
	border: 2px dashed #e3d3b2;
	border-radius: 24px;
	background: #fbf6ec;
}

.msreal-msk-minor > .msreal-cht-ic {
	width: 44px;
	height: 44px;
	color: var(--wp--preset--color--shinchu);
	stroke-width: 1.5;
}

.msreal-msk-minor h3 {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1.5;
}

.msreal-msk-minor p {
	margin: 4px 0 0;
	font-size: 0.9rem;
	line-height: 1.8;
}

.msreal-msk-minor .msreal-msk-item__btns {
	margin-top: 0;
}

.msreal-msk-notes {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 0;
	padding: 6px 18px;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 2px 0 #eadfca;
}

.msreal-msk-notes dt {
	padding-top: 14px;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.85rem;
	font-weight: 700;
}

.msreal-msk-notes dd {
	margin: 2px 0 0;
	padding-bottom: 14px;
	border-bottom: 1px dashed #e3dccd;
	font-size: 0.92rem;
	line-height: 1.85;
}

.msreal-msk-notes dd:last-child {
	border-bottom: 0;
}

.msreal-msk-privacy {
	margin: 14px 4px 0;
	color: #5b5b5b;
	font-size: 0.8rem;
	line-height: 1.8;
}

.msreal-msk-privacy a {
	color: var(--wp--preset--color--ai);
}

@media (min-width: 768px) {
	.msreal-msk-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.msreal-msk-col {
		padding: 26px 28px;
	}

	.msreal-msk-minor {
		grid-template-columns: 56px minmax(0, 1fr) auto;
		gap: 20px;
		align-items: center;
		padding: 22px 28px;
	}

	.msreal-msk-notes {
		grid-template-columns: 9em minmax(0, 1fr);
		padding: 8px 28px;
	}

	.msreal-msk-notes dt {
		padding: 16px 0;
		border-bottom: 1px dashed #e3dccd;
	}

	.msreal-msk-notes dd {
		padding: 16px 0;
	}

	.msreal-msk-notes dt:nth-last-of-type(1) {
		border-bottom: 0;
	}
}

/* 賃貸の一覧・お部屋のページの下の「入居申込書のダウンロード」 */
.msreal-cht-docs {
	display: flex;
	gap: 14px;
	align-items: center;
	box-sizing: border-box;
	max-width: 1120px;
	margin: 20px auto 0;
	padding: 16px 20px;
	border: 1.5px solid #e3d3b2;
	border-radius: 999px;
	background: #fff;
	color: var(--wp--preset--color--ai);
	text-decoration: none;
	transition: background-color 0.2s;
}

.msreal-cht-docs:hover,
.msreal-cht-docs:focus-visible {
	background: #fbf6ec;
}

.msreal-cht-docs .msreal-cht-ic {
	flex: none;
	width: 32px;
	height: 32px;
	color: var(--wp--preset--color--shinchu);
	stroke-width: 1.6;
}

.msreal-cht-docs span {
	flex: 1;
	min-width: 0;
}

.msreal-cht-docs b {
	display: block;
	font-size: 0.98rem;
}

.msreal-cht-docs small {
	display: block;
	color: #5b5b5b;
	font-size: 0.8rem;
	line-height: 1.6;
}

.msreal-cht-docs i {
	color: var(--wp--preset--color--shinchu);
	font-size: 1.4rem;
	font-style: normal;
}

.msreal-bk-after .msreal-cht-docs {
	margin: 32px 16px 0;
}

@media (min-width: 1152px) {
	.msreal-bk-after .msreal-cht-docs {
		margin-inline: auto;
	}
}

/* エムズの6つの約束（藍の背景） */
.msreal-section.msreal-promises {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-promises h2,
.msreal-promises h3 {
	color: var(--wp--preset--color--white);
}

.msreal-section .msreal-promises__list {
	display: grid;
	gap: 0 48px;
	margin-top: 40px;
}

body .msreal-promises__list > * {
	margin-block: 0;
}

.msreal-promise {
	padding: 28px 0;
	border-top: 1px solid rgba(184, 147, 90, 0.5);
}

.msreal-promise .msreal-promise__num {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.75rem;
	line-height: 1;
}

.msreal-promise .msreal-promise__title {
	margin: 14px 0 10px;
	font-size: 1.1875rem;
	line-height: 1.6;
}

.msreal-promise p:last-child {
	margin: 0;
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, 0.85);
}

@media (min-width: 782px) {
	.msreal-section .msreal-promises__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* トップでは見出しだけ（番号と見出しを横に並べて短く） */
.msreal-promises.is-short .msreal-promise {
	display: flex;
	align-items: baseline;
	gap: 16px;
	padding: 18px 0;
}

.msreal-promises.is-short .msreal-promise .msreal-promise__num {
	flex: none;
	font-size: 1.375rem;
}

.msreal-promises.is-short .msreal-promise .msreal-promise__title {
	margin: 0;
	font-size: 1.0625rem;
}

.msreal-promises .msreal-section__more a {
	color: var(--wp--preset--color--white);
}

/* 7. 対応エリア（タブ） */
.msreal-tabs {
	margin-top: 32px;
}

.msreal-tabs__list {
	display: none;
}

.msreal-tabs.is-enhanced .msreal-tabs__list {
	display: flex;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
}

.msreal-tabs__tab {
	flex: 0 1 auto;
	margin-bottom: -1px;
	padding: 12px 24px;
	border: 0;
	border-bottom: 2px solid transparent;
	background: none;
	color: #7a7a7a;
	font: inherit;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	cursor: pointer;
	appearance: none;
}

.msreal-tabs__tab[aria-selected="true"] {
	border-bottom-color: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--ai);
}

.msreal-tabs__tab:focus-visible {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: -2px;
}

.msreal-tabs__panel {
	padding-top: 24px;
}

.msreal-tabs__heading {
	margin: 0 0 8px;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-weight: 700;
}

.msreal-tabs.is-enhanced .msreal-tabs__heading {
	display: none;
}

.msreal-wards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-wards a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 14px 16px;
	border: 1px solid rgba(20, 35, 58, 0.18);
	border-radius: 3px;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
}

.msreal-wards .is-focus a {
	border-color: var(--wp--preset--color--shinchu);
}

.msreal-wards a:hover,
.msreal-wards a:focus-visible {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--ai);
}

.msreal-area__mark {
	color: var(--wp--preset--color--shinchu);
	font-size: 0.625rem;
}

.msreal-section .msreal-area__note {
	margin-top: 20px;
	color: #555;
	font-size: 0.8125rem;
}

@media (max-width: 599px) {
	.msreal-tabs__tab {
		flex: 1 1 0;
		padding: 12px 4px;
		font-size: 0.9375rem;
		letter-spacing: 0.02em;
	}

	.msreal-wards {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 9. よくある質問 */
.msreal-section .msreal-faq {
	display: grid;
	gap: 12px;
	margin-top: 40px;
}

body .msreal-faq > * {
	margin-block: 0;
}

/* 10. 最後の査定誘導 */
.msreal-final-cta {
	position: relative;
	box-sizing: border-box;
	padding: clamp(72px, 10vw, 120px) 16px;
	background-color: var(--wp--preset--color--ai);
	background-position: center;
	background-size: cover;
	color: var(--wp--preset--color--kinari);
	text-align: center;
}

.msreal-final-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(20, 35, 58, 0.72);
	pointer-events: none;
}

.msreal-final-cta__inner {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}

.msreal-final-cta .msreal-final-cta__title {
	margin: 0;
	color: var(--wp--preset--color--kinari);
	font-size: clamp(1.5rem, 3.2vw, 2.25rem);
}

.msreal-final-cta .msreal-final-cta__lead {
	margin-top: 20px;
	font-size: 0.9375rem;
	opacity: 0.9;
}

.msreal-final-cta .msreal-final-cta__tel {
	margin-top: 28px;
	font-size: 0.875rem;
}

.msreal-final-cta__tel .msreal-tel {
	margin-left: 8px;
	color: var(--wp--preset--color--kinari);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
}

.msreal-final-cta .msreal-final-cta__hours {
	margin-top: 4px;
	font-size: 0.75rem;
	opacity: 0.8;
}

@media (max-width: 599px) {
	.msreal-final-cta__lead br {
		display: none;
	}

	.msreal-final-cta__tel .msreal-tel {
		display: block;
		margin: 4px 0 0;
	}
}

/* ---------- 下層ページの見出し ---------- */

.msreal-page-head {
	box-sizing: border-box;
	padding: clamp(48px, 7vw, 80px) 16px clamp(32px, 4vw, 48px);
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid rgba(184, 147, 90, 0.35);
	overflow-x: clip; /* 見出しの斜め線が画面の外にはみ出さないように */
}

.msreal-page-head > * {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
}

.msreal-page-head .msreal-eyebrow {
	margin-bottom: 0;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.msreal-page-head .msreal-page-head__title {
	margin-top: 8px;
	font-size: clamp(1.625rem, 3.4vw, 2.5rem);
}

.msreal-page-head .msreal-page-head__lead {
	margin-top: 16px;
	font-size: 0.9375rem;
}

/*
 * 見出しを藍の帯に（2026-10-13 悠一さんが参考の中から B 案を選択）
 * 白い太字の帯＋右下にずらした枠線＋真鍮の斜め線2本。物件・事例の詳細の見出しは対象外
 */
.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__title {
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	width: fit-content;
	max-width: min(calc(100% - 12px), var(--wp--style--global--content-size));
	margin-top: 30px;
	margin-bottom: 18px;
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2));
	padding: 0.45em 1.6em;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 800;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

/* ずらした枠線（右と下だけ。左・上は帯に隠れるので描かない） */
.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__title::before {
	content: "";
	position: absolute;
	inset: 10px -10px -10px 10px;
	z-index: -1;
	border-right: 2px solid var(--wp--preset--color--ai);
	border-bottom: 2px solid var(--wp--preset--color--ai);
}

/*
 * 真鍮の斜め線（左上と右下）。なめらかに描くため SVG の線で描く。
 * 左上の線は帯のかど、右下の線は枠線のかどを、それぞれ点で通る（帯や枠に重ならない）
 */
.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__title::after {
	--msreal-slash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cline x1='0.75' y1='43.25' x2='43.25' y2='0.75' stroke='%23B8935A' stroke-width='1.5' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
	content: "";
	position: absolute;
	inset: -22px -32px -32px -22px;
	z-index: -2;
	background: var(--msreal-slash) left top / 44px 44px no-repeat, var(--msreal-slash) right bottom / 44px 44px no-repeat;
	pointer-events: none;
}

/* PC（900px以上）は、左に見出し・右に説明文（2026-10-13 悠一さん） */
@media (min-width: 900px) {
	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) {
		display: grid;
		grid-template-columns:
			max(0px, calc((100% - var(--wp--style--global--content-size)) / 2))
			auto
			minmax(0, 1fr)
			max(0px, calc((100% - var(--wp--style--global--content-size)) / 2));
		align-items: center;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) > * {
		grid-column: 2 / 4;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) > .msreal-eyebrow {
		grid-column: 2;
		grid-row: 1;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) > .msreal-page-head__title {
		grid-column: 2;
		grid-row: 2;
		max-width: 100%;
		margin-left: 0;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) > .msreal-page-head__lead {
		grid-column: 3;
		grid-row: 1 / 3;
		align-self: center;
		margin: 24px 0 0 80px;
	}

	/* 横に並べるときは、説明文の中の改行を使わず自然に折り返す */
	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) > .msreal-page-head__lead br {
		display: none;
	}
}

@media (max-width: 599px) {
	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__title {
		padding: 0.5em 1em;
		font-size: 1.3125rem;
		letter-spacing: 0.05em;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__title::before {
		inset: 6px -6px -6px 6px;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__title::after {
		inset: -16px -22px -22px -16px;
		background-size: 32px 32px;
	}

	.msreal-page-head:not(.msreal-bukken-head):not(.msreal-works-head) .msreal-page-head__lead {
		margin-top: 30px;
	}
}

@media (max-width: 599px) {
	.msreal-page-head__lead br {
		display: none;
	}
}

/* ---------- 下層ページ（売却・買取・仲介・流れ・FAQ・会社概要） ---------- */

body .wp-site-blocks > .msreal-page,
body .wp-site-blocks > .msreal-page + * {
	margin-block-start: 0;
}

body .msreal-page > * {
	margin-block: 0;
}

/* 2つの売り方などのカード */
.msreal-section .msreal-cards {
	display: grid;
	gap: 16px;
	margin-top: 40px;
}

body .msreal-cards > * {
	margin-block: 0;
}

@media (min-width: 782px) {
	.msreal-section .msreal-cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

.msreal-card {
	padding: 32px 28px;
	background: var(--wp--preset--color--white);
	border-top: 3px solid var(--wp--preset--color--shinchu);
	border-radius: 4px;
}

.msreal-card .msreal-card__label {
	margin: 0;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.msreal-card .msreal-card__title {
	margin: 4px 0 16px;
	font-size: 1.625rem;
}

.msreal-card .msreal-card__more {
	margin-top: 20px;
}

.msreal-card__more a,
.msreal-note__more a {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-card__more a::after,
.msreal-note__more a::after {
	content: "→";
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
}

/* メリットの一覧 */
.msreal-section .msreal-points {
	display: grid;
	gap: 1px;
	margin-top: 40px;
	background: rgba(184, 147, 90, 0.45);
	border: 1px solid rgba(184, 147, 90, 0.45);
}

body .msreal-points > * {
	margin-block: 0;
}

@media (min-width: 782px) {
	.msreal-section .msreal-points {
		grid-template-columns: repeat(2, 1fr);
	}

	/* 奇数個のとき、最後の1つは横いっぱいに（空いたマスを出さない） */
	.msreal-points > :last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

.msreal-point {
	padding: 28px;
	background: var(--wp--preset--color--kinari);
}

.msreal-point .msreal-point__title {
	margin: 0 0 10px;
	font-size: 1.125rem;
}

.msreal-point .msreal-point__title::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 10px 2px 0;
	background: var(--wp--preset--color--shinchu);
	transform: rotate(45deg);
}

.msreal-point p:last-child {
	margin: 0;
	font-size: 0.9375rem;
}

/* 注意書きの囲み */
.msreal-section .msreal-note {
	margin-top: 32px;
	padding: 24px 28px;
	background: var(--wp--preset--color--kinari);
	border-left: 3px solid var(--wp--preset--color--shinchu);
}

.msreal-note > :first-child {
	margin-top: 0;
}

.msreal-note ul {
	margin: 0;
	padding-left: 1.2em;
}

.msreal-note .msreal-note__more {
	margin-top: 16px;
}

/* 再生した住まいの一例（買取ページ、写真3枚） */
.msreal-section .msreal-renov {
	margin-top: 40px;
	margin-bottom: 0;
}

.msreal-renov__photos {
	display: grid;
	gap: 8px;
}

.msreal-renov__photos img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 3px;
}

.msreal-renov figcaption {
	margin-top: 10px;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--sumi);
}

@media (min-width: 600px) {
	.msreal-renov__photos {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* 買取価格の内訳（見込み価格 − 費用 − 利益 ＝ 買取価格） */
.msreal-section .msreal-formula {
	margin-top: 32px;
	border-top: 1px solid var(--wp--preset--color--ai);
}

.msreal-formula .msreal-formula__row {
	display: grid;
	grid-template-columns: 2em 1fr;
	column-gap: 8px;
	margin: 0;
	padding: 16px 4px;
	border-bottom: 1px solid #d8d2c6;
}

.msreal-formula__sign {
	grid-row: span 2;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.25rem;
	line-height: 1.4;
	text-align: center;
	color: var(--wp--preset--color--shinchu);
}

.msreal-formula__label {
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.6;
}

.msreal-formula__desc {
	margin-top: 2px;
	font-size: 0.875rem;
	line-height: 1.7;
}

.msreal-formula .msreal-formula__row--total {
	background: var(--wp--preset--color--ai);
	border-bottom: 0;
	color: var(--wp--preset--color--white);
}

.msreal-formula__row--total .msreal-formula__sign {
	color: var(--wp--preset--color--shinchu);
}

.msreal-formula + .msreal-note li + li {
	margin-top: 6px;
}

/* チェックリスト */
.msreal-section .msreal-checklist,
.msreal-docs .msreal-checklist {
	display: grid;
	gap: 8px;
	margin-top: 32px; /* 左右は .msreal-section > * の中央寄せを生かす */
	margin-bottom: 0;
	padding: 0;
	list-style: none;
}

.msreal-checklist li {
	position: relative;
	padding: 14px 16px 14px 44px;
	background: var(--wp--preset--color--white);
	border-radius: 3px;
}

.msreal-checklist li::before {
	content: "";
	position: absolute;
	top: 1.15em;
	left: 18px;
	width: 12px;
	height: 6px;
	border-left: 2px solid var(--wp--preset--color--shinchu);
	border-bottom: 2px solid var(--wp--preset--color--shinchu);
	transform: rotate(-45deg);
}

/* 流れ（縦の時系列） */
.msreal-section .msreal-timeline {
	margin-top: 40px;
}

body .msreal-timeline > * {
	margin-block: 0;
}

.msreal-timeline__item {
	position: relative;
	padding: 0 0 32px 64px;
}

.msreal-timeline__item::before {
	content: "";
	position: absolute;
	top: 44px;
	bottom: 0;
	left: 21px;
	width: 1px;
	background: rgba(184, 147, 90, 0.6);
}

.msreal-timeline__item:last-child {
	padding-bottom: 0;
}

.msreal-timeline__item:last-child::before {
	display: none;
}

.msreal-timeline .msreal-timeline__num {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.125rem;
	font-weight: 700;
}

.msreal-timeline .msreal-timeline__title {
	margin: 8px 0 8px;
	font-size: 1.1875rem;
}

.msreal-timeline__item p:last-child {
	margin: 0;
	font-size: 0.9375rem;
}

/* 必要書類 */
.msreal-section .msreal-docs {
	display: grid;
	gap: 32px;
	margin-top: 40px;
}

body .msreal-docs > * {
	margin-block: 0;
}

@media (min-width: 782px) {
	.msreal-section .msreal-docs {
		grid-template-columns: 1fr 1.4fr;
		align-items: start;
	}
}

.msreal-docs .msreal-docs__title {
	margin: 0;
	font-size: 1.125rem;
}

.msreal-docs .msreal-checklist {
	margin-top: 16px;
}

.msreal-docs .msreal-checklist li {
	background: var(--wp--preset--color--kinari);
	font-size: 0.9375rem;
}

.msreal-section .msreal-docs__note {
	margin-top: 24px;
	color: #555;
	font-size: 0.8125rem;
}

/* 文書（個人情報保護方針など） */
.msreal-doc {
	font-size: 0.9375rem;
}

.msreal-section.msreal-doc > * {
	max-width: 880px;
}

.msreal-doc h2.wp-block-heading {
	margin-top: 48px;
	padding-bottom: 10px;
	border-bottom: 1px solid rgba(184, 147, 90, 0.5);
	font-size: 1.25rem;
}

.msreal-doc ol,
.msreal-doc ul {
	padding-left: 1.6em;
}

.msreal-doc li + li {
	margin-top: 6px;
}

.msreal-section .msreal-doc__contact {
	padding: 20px 24px;
	background: var(--wp--preset--color--kinari);
	border-radius: 3px;
}

/* 代表挨拶（藍の帯・大きな明朝の見出し・真鍮の細線・署名） */
.msreal-message {
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
	padding: clamp(72px, 10vw, 128px) 16px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--kinari);
}

/* 右上に、細い真鍮の線を2本だけ */
.msreal-message::before,
.msreal-message::after {
	content: "";
	position: absolute;
	top: 0;
	right: clamp(24px, 8vw, 120px);
	width: 1px;
	height: clamp(64px, 10vw, 120px);
	background: var(--wp--preset--color--shinchu);
}

.msreal-message::after {
	right: calc(clamp(24px, 8vw, 120px) + 10px);
	height: clamp(40px, 6vw, 72px);
	opacity: 0.6;
}

.msreal-message__inner {
	display: grid;
	gap: 40px;
	max-width: var(--wp--style--global--content-size);
	margin: 0 auto;
}

body .msreal-message__inner > *,
body .msreal-message__head > * {
	margin-block: 0;
}

@media (min-width: 900px) {
	.msreal-message__inner {
		grid-template-columns: 5fr 7fr;
		gap: 64px;
		align-items: start;
	}

	.msreal-message__head {
		position: sticky;
		top: 140px;
	}
}

.msreal-message .msreal-message__eyebrow {
	color: var(--wp--preset--color--shinchu);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.msreal-message .msreal-message__catch {
	margin-top: 16px;
	color: var(--wp--preset--color--kinari);
	font-size: clamp(1.75rem, 3.4vw, 2.625rem);
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* 見出しは言葉の切れ目（「買うときも、」「売るときも、」）でだけ折り返す */
.msreal-message__phrase {
	display: inline-block;
}

.msreal-message .msreal-message__label {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 32px;
	color: var(--wp--preset--color--shinchu);
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.msreal-message__label::before {
	content: "";
	width: 48px;
	height: 1px;
	background: var(--wp--preset--color--shinchu);
}

.msreal-message__body p {
	margin: 0 0 1.4em;
	font-size: 0.9875rem;
	line-height: 2.2;
	opacity: 0.92;
}

.msreal-message .msreal-message__sign {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	margin: 40px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(184, 147, 90, 0.5);
	opacity: 1;
}

.msreal-message__company {
	font-size: 0.8125rem;
	letter-spacing: 0.1em;
}

.msreal-message__name {
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}

@media (max-width: 599px) {
	.msreal-message__catch br {
		display: none;
	}
}

/* 会社概要の表 */
.wp-block-table.msreal-company-table {
	margin-top: 0; /* 左右は .msreal-section > * の中央寄せを生かす */
	margin-bottom: 0;
}

.wp-block-table.msreal-company-table table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid rgba(184, 147, 90, 0.5);
}

.wp-block-table.msreal-company-table th,
.wp-block-table.msreal-company-table td {
	padding: 18px 16px;
	border: 0;
	border-bottom: 1px solid rgba(184, 147, 90, 0.5);
	text-align: left;
	vertical-align: top;
}

.wp-block-table.msreal-company-table th {
	width: 28%;
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	white-space: nowrap;
}

.wp-block-table.msreal-company-table .msreal-tel {
	color: inherit;
}

@media (max-width: 599px) {
	.wp-block-table.msreal-company-table th,
	.wp-block-table.msreal-company-table td {
		display: block;
		width: auto;
		padding: 0 0 4px;
		border: 0;
	}

	.wp-block-table.msreal-company-table td {
		padding-bottom: 16px;
		border-bottom: 1px solid rgba(184, 147, 90, 0.5);
	}

	.wp-block-table.msreal-company-table tr + tr th {
		padding-top: 16px;
	}
}

/* ---------- 物件・事例（inc/posts.php） ---------- */

/* ラベル（販売中・取引態様・事例の種類） */
.msreal-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-block: 0; /* 左右は見出しの中央寄せを生かす */
}

.msreal-badge {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid var(--wp--preset--color--ai);
	border-radius: 2px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.msreal-badge--shodan,
.msreal-badge--kaitori {
	border-color: var(--wp--preset--color--shinchu);
	background: var(--wp--preset--color--shinchu);
}

.msreal-badge--seiyaku {
	border-color: #6b6b6b;
	background: #6b6b6b;
}

.msreal-badge--line,
.msreal-badge--chukai {
	background: transparent;
	color: var(--wp--preset--color--ai);
}

/* カードの一覧 */
.msreal-section .msreal-pcards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin-top: 40px;
}

@media (min-width: 600px) {
	.msreal-section .msreal-pcards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 960px) {
	.msreal-section .msreal-pcards {
		grid-template-columns: repeat(3, 1fr);
	}
}

.msreal-pcard {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(184, 147, 90, 0.35);
	border-radius: 4px;
}

.msreal-pcard__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.msreal-pcard__img {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--ai);
}

.msreal-pcard__img figure {
	height: 100%;
	margin: 0;
}

.msreal-pcard__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.msreal-pcard__link:hover img {
	transform: scale(1.03);
}

.msreal-pcard.is-sold .msreal-pcard__img img {
	filter: grayscale(0.5);
}

/* 写真がないとき：藍の地に区の名前 */
.msreal-noimage {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--wp--preset--color--kinari);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	opacity: 0.85;
}

.msreal-pcard__body {
	padding: 20px 22px 24px;
}

.msreal-pcard .msreal-pcard__title {
	margin: 12px 0 6px;
	font-size: 1.125rem;
	line-height: 1.6;
}

.msreal-pcard__link:hover .msreal-pcard__title {
	color: var(--wp--preset--color--shinchu);
}

.msreal-pcard .msreal-pcard__meta {
	margin: 0;
	color: #5a5a5a;
	font-size: 0.8125rem;
	line-height: 1.7;
}

/* 価格（成約済みは価格を出さない） */
.msreal-bukken-price {
	margin-block: 16px 0;
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	line-height: 1.3;
}

.msreal-page-head .msreal-bukken-price {
	margin-top: 16px;
}

.msreal-pcard .msreal-bukken-price {
	margin-top: 12px;
	font-size: 1.25rem;
}

.msreal-bukken-price.is-sold,
.msreal-page-head .msreal-bukken-price.is-sold {
	color: #6b6b6b;
	font-size: 1.125rem;
	letter-spacing: 0.1em;
}

/* 再生前／再生後の切り替え（トップ） */
.msreal-ba:not(.is-enhanced) [data-msreal-ba-fig="before"],
.msreal-ba:not(.is-enhanced) .msreal-ba__switch {
	display: none;
}

.msreal-ba figcaption,
.msreal-ba-pair figcaption {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 4px 12px;
	background: rgba(20, 35, 58, 0.85);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.msreal-ba__switch {
	position: absolute;
	top: 12px;
	right: 12px;
	display: flex;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--white);
	border-radius: 3px;
}

.msreal-ba__switch button {
	padding: 6px 12px;
	border: 0;
	background: rgba(20, 35, 58, 0.6);
	color: var(--wp--preset--color--white);
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	cursor: pointer;
}

.msreal-ba__switch button[aria-pressed="true"] {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ai);
}

.msreal-ba__switch button:focus-visible {
	outline: 2px solid var(--wp--preset--color--shinchu);
	outline-offset: -2px;
}

/* 一覧の絞り込み（事例の種類） */
.msreal-section .msreal-filter ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.msreal-filter a {
	display: inline-block;
	padding: 6px 18px;
	border: 1px solid var(--wp--preset--color--ai);
	border-radius: 3px;
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
}

.msreal-filter a:hover,
.msreal-filter a[aria-current="page"] {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

/* ページ送り */
.msreal-pagination ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}

.msreal-pagination a,
.msreal-pagination span {
	display: inline-block;
	min-width: 40px;
	padding: 6px 10px;
	border: 1px solid rgba(184, 147, 90, 0.5);
	border-radius: 3px;
	color: var(--wp--preset--color--ai);
	text-align: center;
	text-decoration: none;
}

.msreal-pagination .current {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.msreal-section .msreal-empty {
	margin-top: 32px;
	padding: 32px 24px;
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(184, 147, 90, 0.35);
	text-align: center;
}

/* 物件・事例の個別ページ：見出し */
.msreal-page-head.msreal-bukken-head .msreal-badges,
.msreal-page-head.msreal-works-head .msreal-badges {
	margin-top: 16px;
}

.msreal-page-head .msreal-bukken-head__meta {
	margin-top: 8px;
	color: #5a5a5a;
	font-size: 0.875rem;
}

.msreal-page-head .msreal-bukken-head__note {
	margin-top: 8px;
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
	font-weight: 700;
}

/* 写真（1枚目を大きく） */
.msreal-section.msreal-bukken-photos {
	padding-top: clamp(32px, 5vw, 56px);
	padding-bottom: clamp(32px, 5vw, 56px);
}

.msreal-gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.msreal-gallery__item {
	margin: 0;
}

.msreal-gallery__item:first-child {
	grid-column: 1 / -1;
}

.msreal-gallery__item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 2px;
}

.msreal-gallery__item figcaption {
	margin-top: 4px;
	color: #5a5a5a;
	font-size: 0.75rem;
}

@media (min-width: 782px) {
	.msreal-gallery {
		grid-template-columns: repeat(4, 1fr);
	}

	.msreal-gallery__item:first-child {
		grid-column: span 2;
		grid-row: span 2;
	}
}

/* 本文（物件ごとの自由な紹介文・事例の文章） */
/* 幅はほかと同じ列にそろえ、1行の長さだけを短くする（左端を見出しとそろえるため） */
.msreal-prose > * {
	max-width: 760px;
}

.msreal-prose > :first-child {
	margin-top: 0;
}

.msreal-prose h2 {
	font-size: clamp(1.25rem, 2.6vw, 1.75rem);
}

.msreal-prose img {
	max-width: 100%;
	height: auto;
}

.msreal-works-text .msreal-prose {
	margin-top: 24px;
}

/* 間取り図・担当者より */
.msreal-bukken-plan__inner {
	display: grid;
	gap: 56px;
}

@media (min-width: 900px) {
	.msreal-bukken-plan__inner {
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	}
}

.msreal-bukken-plan__img figure {
	margin: 24px 0 0;
}

.msreal-bukken-plan__img img {
	display: block;
	max-width: 100%;
	height: auto;
	border: 1px solid rgba(184, 147, 90, 0.35);
}

.msreal-staff__body {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	margin-top: 24px;
}

.msreal-staff__face img {
	display: block;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	object-fit: cover;
}

.msreal-staff__text {
	flex: 1;
	padding: 20px 24px;
	background: var(--wp--preset--color--kinari);
	border-radius: 4px;
}

.msreal-staff__text p {
	margin: 0 0 12px;
}

.msreal-staff .msreal-staff__name {
	margin: 0;
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
	font-weight: 700;
	text-align: right;
}

/* 物件概要の表（会社概要の表と同じ形） */
.msreal-section .wp-block-table.msreal-spec-table {
	margin-top: 32px;
}

.msreal-spec-note {
	color: var(--wp--preset--color--shinchu);
	font-size: 0.8125rem;
	font-weight: 700;
}

/* 賃貸：建物のページの「号室一覧・空室状況」 */
.msreal-section .msreal-rooms__wrap {
	margin-top: 24px;
}

.msreal-rooms__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.msreal-rooms__table th,
.msreal-rooms__table td {
	padding: 14px 12px;
	border-bottom: 1px solid rgba(184, 147, 90, 0.35);
	text-align: left;
	vertical-align: middle;
}

.msreal-rooms__table thead th {
	padding-block: 10px;
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--kinari);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

.msreal-rooms__table tbody th {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-weight: 700;
	white-space: nowrap;
}

.msreal-rooms__table tr.is-open {
	background: var(--wp--preset--color--kinari);
}

.msreal-rooms__table tr.is-closed {
	color: #8a8a8a;
}

.msreal-rooms__fee {
	display: block;
	color: #5a5a5a;
	font-size: 0.75rem;
}

.msreal-rooms__state {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	white-space: nowrap;
}

.is-open .msreal-rooms__state {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

.is-closed .msreal-rooms__state {
	border: 1px solid #c9c2b4;
}

.msreal-rooms__draft {
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.6875rem;
}

.msreal-rooms__go {
	text-align: right;
}

.msreal-rooms__go a {
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid var(--wp--preset--color--ai);
	border-radius: 3px;
	color: var(--wp--preset--color--ai);
	font-size: 0.8125rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.msreal-rooms__go a:hover,
.msreal-rooms__go a:focus-visible {
	background: var(--wp--preset--color--ai);
	color: var(--wp--preset--color--white);
}

/* スマホ：1部屋を1まとまりにして縦に並べる */
@media (max-width: 781px) {
	.msreal-rooms__table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.msreal-rooms__table,
	.msreal-rooms__table tbody,
	.msreal-rooms__table tr {
		display: block;
	}

	.msreal-rooms__table tr {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 4px 12px;
		padding: 14px 12px;
		border-bottom: 1px solid rgba(184, 147, 90, 0.35);
	}

	.msreal-rooms__table th,
	.msreal-rooms__table td {
		padding: 0;
		border: 0;
	}

	.msreal-rooms__table td[data-label="間取り"],
	.msreal-rooms__table td[data-label="専有面積"] {
		display: inline;
		font-size: 0.8125rem;
	}

	.msreal-rooms__table td[data-label="状況"] {
		grid-column: 2;
		grid-row: 1;
		text-align: right;
	}

	.msreal-rooms__go {
		grid-column: 1 / -1;
		text-align: left;
	}

	.msreal-rooms__go a {
		display: block;
		margin-top: 8px;
		text-align: center;
	}
}

/* 部屋のページ：管理費は賃料の横に小さく */
.msreal-bukken-price .msreal-room__fee {
	margin-left: 12px;
	color: var(--wp--preset--color--sumi);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.875rem;
	font-weight: 400;
}

/* 部屋のページ：1枚目の間取り図は切らずに全体を見せる */
.msreal-bukken-photos.has-plan .msreal-gallery__item:first-child img {
	object-fit: contain;
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(184, 147, 90, 0.35);
}

.msreal-section .msreal-rooms__more {
	margin-top: 20px;
	font-weight: 700;
}

/* 物件のお問い合わせ */
.msreal-section .msreal-bukken-contact__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	align-items: center;
	margin-top: 24px;
}

.msreal-bukken-contact__actions p {
	margin: 0;
}

.msreal-bukken-contact__tel {
	color: var(--wp--preset--color--ai);
	font-weight: 700;
}

.msreal-bukken-contact__tel .msreal-tel {
	color: inherit;
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.5rem;
	text-decoration: none;
}

.msreal-bukken-contact__tel span {
	color: #5a5a5a;
	font-size: 0.8125rem;
	font-weight: 400;
}

/* 売却査定への小さな帯（物件ページの下部） */
.msreal-mini-satei {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 24px;
	align-items: center;
	justify-content: center;
	padding: 28px 16px;
	border-top: 1px solid rgba(184, 147, 90, 0.35);
	font-size: 0.875rem;
	text-align: center;
}

.msreal-mini-satei p {
	margin: 0;
}

.msreal-mini-satei__link a {
	padding-bottom: 2px;
	border-bottom: 1px solid var(--wp--preset--color--shinchu);
	color: var(--wp--preset--color--ai);
	font-weight: 700;
	text-decoration: none;
}

.msreal-mini-satei__link a::after {
	content: "→";
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
}

/* 再生前・再生後（事例の個別ページ） */
.msreal-section .msreal-ba-pair {
	display: grid;
	gap: 16px;
	margin-top: 32px;
}

@media (min-width: 600px) {
	.msreal-section .msreal-ba-pair {
		grid-template-columns: repeat(2, 1fr);
	}
}

.msreal-ba-pair figure {
	position: relative;
	margin: 0;
}

.msreal-ba-pair img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 2px;
}

/* 一覧へ戻る */
.msreal-page .msreal-back {
	margin: 0;
	padding: 32px 16px 48px;
	text-align: center;
}

.msreal-back a {
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
	font-weight: 700;
}

.msreal-case-satei .msreal-final-cta__title span {
	display: inline-block;
}

.msreal-back a::before {
	content: "←";
	margin-right: 6px;
	color: var(--wp--preset--color--shinchu);
}

/* 会社概要の写真（外観・エントランス） */
.msreal-section .msreal-company-photos {
	display: grid;
	gap: 16px;
	max-width: 880px;
	margin-block: 0 56px;
}

@media (min-width: 600px) {
	.msreal-section .msreal-company-photos {
		grid-template-columns: repeat(2, 1fr);
	}
}

.msreal-company-photos .wp-block-image {
	margin: 0;
}

.msreal-company-photos img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 2px;
}

.msreal-company-photos figcaption {
	margin: 8px 0 0;
	color: #5a5a5a;
	font-size: 0.8125rem;
	text-align: left;
}

/* ---------- エリアページ ---------- */

/* 対応エリア：区ごとのご案内 */
.msreal-section .msreal-area-cards {
	display: grid;
	gap: 16px;
	margin-top: 32px;
}

@media (min-width: 600px) {
	.msreal-section .msreal-area-cards {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	}
}

.msreal-area-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	background: var(--wp--preset--color--white);
	border: 1px solid rgba(184, 147, 90, 0.35);
	border-top: 3px solid var(--wp--preset--color--shinchu);
	border-radius: 4px;
	color: inherit;
	text-decoration: none;
}

.msreal-area-card__title {
	color: var(--wp--preset--color--ai);
	font-family: var(--wp--preset--font-family--maru);
	font-size: 1.375rem;
	font-weight: 700;
}

.msreal-area-card__text {
	font-size: 0.875rem;
}

.msreal-area-card__more {
	margin-top: auto;
	color: var(--wp--preset--color--ai);
	font-size: 0.875rem;
	font-weight: 700;
}

.msreal-area-card__more::after {
	content: "→";
	margin-left: 6px;
	color: var(--wp--preset--color--shinchu);
}

.msreal-area-card:hover .msreal-area-card__title {
	color: var(--wp--preset--color--shinchu);
}

/* 区のページ：本文（ブロック）を上下の余白なしで並べる */
body .msreal-area-ward > .entry-content > *,
body .msreal-area-ward > .wp-block-post-content > * {
	margin-block: 0;
}

/*
 * 大きな見出し（h1・h2）は丸ゴシックの太字（700）に。いちばん太い字（900）だと丸さが目立ち、幼く見えやすいため（2026-10-23 悠一さん「1を試して」）。
 * 小さな見出し・カードの題・ボタンは今の太さのまま。ヒーローの縦書きのキャッチ（明朝）は対象外。
 * 各段の CSS が font-weight: 800 を指定しているので、ここでまとめて上書きする。
 */
body :is(h1, h2):not(.msreal-hero__catch) {
	font-weight: 700 !important;
}
