/* 不動産買取ページ専用。iPhone買取ページの部品（iphone.css）に、物件の種類と買取・仲介の比較を足す。 */
.es-types-section { background:var(--paper) }
.es-type-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px }
.es-type-grid figure { overflow:hidden; border-radius:9px; margin-bottom:22px; background:var(--mint) }
.es-type-grid img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover }
.es-type-grid h3 { font-size:21px; margin-bottom:10px; letter-spacing:0 }
.es-type-grid p { font-size:14px; color:var(--muted); line-height:2 }
.es-type-help { display:grid; grid-template-columns:auto 1fr; gap:20px 50px; align-items:center; margin-top:42px; padding:27px 30px; background:white; border:1px solid var(--line); border-radius:9px }
.es-type-help h3 { font-size:15px; margin-bottom:12px; letter-spacing:0 }
.es-type-help ul { display:flex; flex-wrap:wrap; gap:8px 10px; margin:0; padding:0; list-style:none }
.es-type-help li { font-size:13px; font-weight:600; padding:6px 13px; background:var(--mint); border-radius:999px }
.es-type-help>p,.es-type-help-note p { font-size:13px; color:var(--muted); line-height:2 }
.es-type-help-note .text-link { margin-top:8px; font-size:13px }
.es-compare-section { background:var(--mint) }
.es-compare-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start }
.es-compare-intro h2 { margin-bottom:22px }
.es-compare-intro>p:not(.section-label) { font-size:14px; color:#556176; line-height:2 }
.es-compare-intro>p+p { margin-top:14px }
.es-compare-intro .text-link { margin-top:24px }
.es-table-scroll { position:relative; overflow-x:auto; background:white; border-radius:12px; padding:10px 28px }
.es-compare-table { width:100%; border-collapse:collapse; letter-spacing:0 }
.es-compare-table th,.es-compare-table td { text-align:left; vertical-align:top; padding:19px 14px 19px 0; border-bottom:1px solid var(--line); font-size:14px; line-height:1.85 }
.es-compare-table tbody tr:last-child th,.es-compare-table tbody tr:last-child td { border-bottom:0 }
.es-compare-table thead th { font-size:15px; padding-block:16px; color:var(--forest) }
.es-compare-table tbody th { width:22%; font-size:13px; font-weight:700; white-space:nowrap }
.es-compare-table td { width:39% }
.es-compare-table td+td { padding-right:0 }
.es-column-link { margin-top:22px; font-size:13px }
.es-company dl>div { grid-template-columns:150px 1fr }
@media(max-width:1080px) {
  .es-type-grid { gap:20px }
  .es-type-grid h3 { font-size:19px }
  .es-type-grid p { font-size:13px }
  .es-type-help { grid-template-columns:1fr; gap:14px; padding:24px }
  .es-compare-layout { gap:40px }
  .es-table-scroll { padding-inline:22px }
  .es-compare-table th,.es-compare-table td { font-size:13px }
  .es-company dl>div { grid-template-columns:130px 1fr }
}
@media(max-width:760px) {
  .es-type-grid { grid-template-columns:1fr; gap:30px }
  .es-type-grid figure { margin-bottom:16px }
  .es-type-grid h3 { font-size:19px; margin-bottom:8px }
  .es-type-help { margin-top:32px; padding:21px 18px }
  .es-type-help li { font-size:12px }
  .es-type-help>p,.es-type-help-note p { font-size:12px }
  .es-compare-layout { grid-template-columns:1fr; gap:28px }
  .es-compare-intro h2 { font-size:27px; margin-bottom:17px }
  .es-compare-intro>p:not(.section-label) { font-size:13px }
  .es-table-scroll { padding:4px 15px; border-radius:8px }
  .es-compare-table th,.es-compare-table td { padding:15px 10px 15px 0; font-size:12px; line-height:1.8 }
  .es-compare-table thead th { font-size:13px }
  .es-compare-table tbody th { font-size:11px; white-space:normal; width:20% }
  .es-company dl>div { grid-template-columns:100px 1fr }
  .es-column-link { font-size:12px }
}
/* 見出し（h1〜h3）は「、」や<wbr>の位置（意味の切れ目）でだけ折り返す。入りきらない語は、はみ出さずに途中で折り返す */
.estate-page h1,.estate-page main h2:not(#contact-title),.estate-page main h3 { word-break:keep-all; overflow-wrap:anywhere }
.es-company { align-items:start }
.es-phrase { display:inline-block }
/* 2026-10-09 社長の回答を反映。扱える物件の条件、仲介の例、流れのページへのリンク */
.es-accept { margin-top:42px; padding-top:36px; border-top:1px solid var(--line) }
.es-accept>h3 { font-size:21px; margin-bottom:20px; letter-spacing:0 }
.es-accept-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px }
.es-accept-col { padding:24px 26px; background:white; border:1px solid var(--line); border-radius:9px }
.es-accept-label { display:inline-block; margin-bottom:10px; padding:4px 13px; border-radius:999px; background:var(--forest); color:white; font-size:13px; font-weight:700 }
.es-accept-ask .es-accept-label { background:#f7f0e0; color:#8a5d10 }
.es-accept-col ul { margin:0; padding:0; list-style:none }
.es-accept-col li { position:relative; padding:10px 0 10px 24px; border-top:1px solid var(--line); font-size:14px; line-height:1.8 }
.es-accept-col li:first-child { border-top:0 }
.es-accept-col li:before { content:"✓"; position:absolute; left:0; top:10px; color:var(--forest); font-weight:700 }
.es-accept-ask li:before { content:"△"; color:#8a5d10; font-size:12px; top:12px }
.es-accept-note { margin-top:8px; font-size:12px; color:var(--muted); line-height:1.9 }
.es-deals { margin-top:60px }
.es-deals-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 24px; margin-bottom:20px }
.es-deals-head h3 { font-size:21px; letter-spacing:0 }
.es-deals-head p { font-size:13px; color:#556176 }
.es-deal-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0; padding:0; list-style:none }
.es-deal-list>li { padding:24px 28px; background:white; border-radius:12px }
.es-deal-area { font-size:12px; font-weight:700; color:var(--forest) }
.es-deal-type { margin-top:4px; font-size:18px; font-weight:700 }
.es-deal-list dl { display:grid; grid-template-columns:repeat(3,auto); justify-content:start; gap:6px 34px; margin:16px 0 0; padding-top:14px; border-top:1px solid var(--line) }
.es-deal-list dt { font-size:11px; color:var(--muted) }
.es-deal-list dd { margin:2px 0 0; font-size:17px; font-weight:700; white-space:nowrap }
.es-flow-more { margin-top:40px; padding-top:22px; border-top:1px solid var(--line) }
.es-flow-more .text-link { margin-top:0 }
/* 流れと必要書類のページ（/kobe/estate/flow/）。iPhoneの下層ページの部品（iphone-guide.css）に足す */
.ig-article .es-steps { list-style:none; margin:26px 0 0; padding:0 }
.ig-article .es-steps>li { position:relative; padding:0 0 32px 60px }
.ig-article .es-steps>li:last-child { padding-bottom:0 }
.es-steps>li:not(:last-child):after { content:""; position:absolute; left:19px; top:48px; bottom:8px; width:2px; background:var(--line) }
.es-step-num { position:absolute; left:0; top:0; display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--forest); color:white; font-size:17px; font-weight:700 }
.ig-article .es-steps h3 { margin:6px 0 8px; font-size:19px }
.es-step-time { display:inline-block; margin-bottom:6px; padding:3px 11px; border-radius:999px; background:var(--mint); color:var(--forest); font-size:12px; font-weight:700 }
.ig-article p.es-step-time { font-size:12px; line-height:1.7; color:var(--forest) }
.es-flow-glance dl div { align-items:center }
.es-flow-glance .ip-small { margin-top:10px }
.es-doc-photo { margin:24px 0 }
.es-doc-photo img { width:100%; height:auto; aspect-ratio:2.2; object-fit:cover; border-radius:8px }
.estate-flow-page .im-states div { grid-template-columns:260px minmax(0,1fr) }
.estate-flow-page .ig-article h3 + p { margin-bottom:4px }
@media(max-width:1080px) {
  .es-accept-col { padding:22px }
  .es-deal-list>li { padding:22px }
  .es-deal-list dl { gap:6px 22px }
  .estate-flow-page .im-states div { grid-template-columns:180px minmax(0,1fr) }
}
@media(max-width:760px) {
  .es-accept { margin-top:32px; padding-top:28px }
  .es-accept>h3 { font-size:18px; margin-bottom:16px }
  .es-accept-grid,.es-deal-list { grid-template-columns:1fr; gap:14px }
  .es-accept-col { padding:18px }
  .es-accept-col li { font-size:13px }
  .es-deals { margin-top:44px }
  .es-deals-head h3 { font-size:18px }
  .es-deals-head p { font-size:12px }
  .es-deal-list>li { padding:18px; border-radius:8px }
  .es-deal-type { font-size:16px }
  .es-deal-list dl { gap:6px 18px }
  .es-deal-list dd { font-size:15px }
  .es-flow-more { margin-top:32px; padding-top:18px }
  .ig-article .es-steps>li { padding:0 0 26px 50px }
  .es-steps>li:not(:last-child):after { left:16px; top:40px }
  .es-step-num { width:34px; height:34px; font-size:15px }
  .ig-article .es-steps h3 { margin-top:4px; font-size:17px }
  .estate-flow-page .im-states div { grid-template-columns:1fr }
}
/* マンションのページ（/kobe/estate/mansion/）。お知らせいただきたいこと、査定で確かめること（図解）、入金までの目安（図解） */
.estate-mansion-page .ig-article section > p + p { margin-top:14px }
.ig-article ul.es-tell-list { display:flex; flex-wrap:wrap; gap:8px 10px; margin:18px 0; padding:0; list-style:none }
.ig-article .es-tell-list li { padding:6px 15px; background:var(--mint); border-radius:999px; font-size:14px; font-weight:600; line-height:1.7; color:var(--ink) }
.es-check-map { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); margin-top:26px }
.es-check-card { display:flex; flex-direction:column; background:white; border:1px solid var(--line); border-radius:12px; overflow:hidden }
.es-check-card figure { margin:0 }
.es-check-card img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover }
.es-check-body { padding:20px 22px 22px }
.ig-article p.es-check-label { display:inline-block; padding:2px 12px; border-radius:999px; background:var(--forest); color:white; font-size:12px; font-weight:700; line-height:1.8 }
.ig-article .es-check-body h3 { margin:10px 0 2px; font-size:18px }
.ig-article p.es-check-src { font-size:12px; line-height:1.8; color:var(--muted) }
.ig-article ul.es-check-items { margin:12px 0 0; padding:0; list-style:none }
.ig-article .es-check-items li { position:relative; padding:8px 0 8px 22px; border-top:1px solid var(--line); font-size:14px; line-height:1.7; color:var(--ink) }
.es-check-items li:before { content:"✓"; position:absolute; left:0; top:8px; color:var(--forest); font-weight:700 }
.es-check-plus { display:flex; align-items:center; justify-content:center; font-size:24px; font-weight:700; color:var(--forest) }
.es-check-result { position:relative; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:2px 14px; margin-top:26px; padding:15px 20px; border-radius:12px; background:var(--forest); color:white; text-align:center }
.es-check-result:before { content:""; position:absolute; left:50%; top:-17px; margin-left:-11px; border-left:11px solid transparent; border-right:11px solid transparent; border-top:11px solid var(--forest) }
.es-check-result strong { font-size:17px }
.es-check-result span { font-size:13px; color:#dbe4f2 }
.ig-article p.es-check-after { margin-top:18px }
.ig-article ol.es-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:22px 0 0; padding:0; list-style:none }
.ig-article .es-timeline li { position:relative; display:flex; flex-direction:column; padding:16px 18px 18px; background:white; border:1px solid var(--line); border-radius:12px; line-height:1.6 }
.es-timeline li:not(:last-child):after { content:""; position:absolute; top:50%; right:-18px; margin-top:-7px; border-top:7px solid transparent; border-bottom:7px solid transparent; border-left:9px solid var(--forest) }
.es-timeline-step { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--forest); color:white; font-size:13px; font-weight:700 }
.es-timeline-what { margin-top:10px; font-size:14px; font-weight:700; color:var(--ink) }
.es-timeline-time { margin-top:auto; padding-top:10px; font-size:22px; font-weight:700; color:var(--forest); white-space:nowrap }
.es-timeline-note { font-size:12px; color:var(--muted) }
.ig-article p.es-timeline-after { margin-top:18px }
.estate-mansion-page .im-states div { grid-template-columns:190px minmax(0,1fr) }
@media(max-width:1080px) {
  .es-check-body { padding:18px }
  .ig-article .es-timeline li { padding:14px }
  .es-timeline-time { font-size:19px }
  .estate-mansion-page .im-states div { grid-template-columns:150px minmax(0,1fr) }
}
@media(max-width:760px) {
  .ig-article .es-tell-list li { font-size:13px; padding:5px 13px }
  .es-check-map { grid-template-columns:1fr; grid-template-rows:auto 34px auto }
  .ig-article .es-check-body h3 { font-size:17px }
  .ig-article .es-check-items li { font-size:13px }
  .es-check-result strong { font-size:15px }
  .es-check-result span { font-size:12px }
  .ig-article ol.es-timeline { grid-template-columns:1fr; gap:20px }
  .ig-article .es-timeline li { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:2px 12px; padding:14px 16px }
  .es-timeline li:not(:last-child):after { top:auto; bottom:-16px; right:auto; left:50%; margin:0 0 0 -7px; border-top:9px solid var(--forest); border-left:7px solid transparent; border-right:7px solid transparent; border-bottom:0 }
  .es-timeline-step { grid-row:1 / span 2 }
  .es-timeline-what { margin-top:0; font-size:13px }
  .es-timeline-time { grid-column:3; grid-row:1 / span 2; margin:0; padding:0; font-size:17px }
  .es-timeline-note { grid-column:2; font-size:11px }
  .estate-mansion-page .im-states div { grid-template-columns:1fr }
}
/* 不動産トップの物件カードから、種類別のページへのリンク */
.es-type-grid .es-type-link { margin-top:12px; font-size:13px }
/* 戸建てのページ（/kobe/estate/kodate/）。マンションのページの部品に、扱える家の説明（es-accept-detail）を足す */
.estate-kodate-page .ig-article section > p + p { margin-top:14px }
.estate-kodate-page .im-states div { grid-template-columns:220px minmax(0,1fr) }
.es-accept-detail { margin-top:24px }
.es-accept-detail + .es-accept-detail { margin-top:34px }
.ig-article p.es-accept-label { display:inline-block; margin-bottom:4px; padding:2px 13px; border-radius:999px; background:var(--forest); color:white; font-size:13px; font-weight:700; line-height:1.8 }
.ig-article .es-accept-ask p.es-accept-label { background:#f7f0e0; color:#8a5d10 }
.es-accept-detail .im-states { margin:12px 0 0 }
.ig-article p.es-accept-note { margin-top:10px; font-size:12px; color:var(--muted) }
@media(max-width:1080px) {
  .estate-kodate-page .im-states div { grid-template-columns:170px minmax(0,1fr) }
}
@media(max-width:760px) {
  .estate-kodate-page .im-states div { grid-template-columns:1fr }
  .ig-article p.es-accept-label { font-size:12px }
}
/* 土地のページ（/kobe/estate/tochi/）。マンション・戸建てのページの部品を使い、建てられる建物の決まりを項目名と説明の2列で並べる */
.estate-tochi-page .ig-article section > p + p { margin-top:14px }
.estate-tochi-page .im-states div { grid-template-columns:150px minmax(0,1fr) }
.estate-tochi-page .im-states + p { margin-top:18px }
@media(max-width:760px) {
  .estate-tochi-page .im-states div { grid-template-columns:1fr }
}
/* 2026-10-18 社長の回答の反映。扱えるお部屋・家・土地の説明は、どのページでも項目名の下に説明を置く */
.estate-page .es-accept-detail .im-states div { grid-template-columns:1fr; gap:4px }
.ig-article .es-accept-detail + h3 { margin-top:34px }
.estate-mansion-page .ig-article section > .text-link + .text-link,.estate-kodate-page .ig-article section > .text-link + .text-link,.estate-tochi-page .ig-article section > .text-link + .text-link { margin-top:12px }
/* 不動産トップの「仲介でお手伝いした例」（社長の一覧8件）。成約価格は載せない（社長の方針） */
.es-deal-list { grid-template-columns:repeat(4,minmax(0,1fr)) }
.es-deal-date { font-size:12px; color:var(--muted) }
.es-deal-list .es-deal-type { margin-top:2px; font-size:17px }
.es-deal-list .es-deal-area { margin-top:2px; font-size:13px }
.es-deal-list dl { grid-template-columns:repeat(2,auto) }
/* 不動産トップの「ご相談しだいです」から、事情のある不動産のページへのリンク */
.es-accept-col .es-accept-link { margin-top:10px; font-size:13px }
/* 事情のある不動産のページ（/kobe/estate/jijou/）。買取を検討しやすい条件と、難しくなる条件を項目ごとに並べる */
.estate-jijou-page .ig-article section > p + p { margin-top:14px }
.ig-article dl.es-judge { margin:22px 0 0 }
.es-judge div { display:grid; grid-template-columns:150px minmax(0,1fr) minmax(0,1fr); gap:10px; padding:12px 0; border-top:1px solid var(--line) }
.es-judge div:last-child { border-bottom:1px solid var(--line) }
.es-judge dt { padding-top:10px; font-size:14px; font-weight:700; line-height:1.7; color:var(--ink) }
.es-judge dd { margin:0; padding:10px 14px; border-radius:8px; font-size:14px; line-height:1.8; color:var(--ink) }
.es-judge dd.es-judge-ok { background:var(--mint) }
.es-judge dd.es-judge-ng { background:#f7f0e0 }
.es-judge-label { display:block; font-size:11px; font-weight:700; line-height:1.7; color:var(--forest) }
.es-judge-ng .es-judge-label { color:#8a5d10 }
.ig-article dl.es-judge + p { margin-top:18px }
@media(max-width:1080px) {
  .es-deal-list { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .es-judge div { grid-template-columns:124px minmax(0,1fr) minmax(0,1fr) }
}
@media(max-width:760px) {
  .es-deal-list .es-deal-type { font-size:16px }
  .es-judge div { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px }
  .es-judge dt { grid-column:1 / -1; padding-top:0; font-size:13px }
  .es-judge dd { padding:8px 12px; font-size:13px }
}
@media(max-width:560px) {
  .es-deal-list { grid-template-columns:1fr }
}
@media(max-width:420px) {
  .es-judge div { grid-template-columns:1fr }
}
/* 事業用の不動産のページ（/kobe/estate/jigyou/）。扱える項目の説明・書類の一覧・期間の目安は、ほかの不動産の下層ページと同じ部品を使う */
.estate-jigyou-page .ig-article section > p + p { margin-top:14px }
.estate-jigyou-page .es-accept-detail ul { margin:12px 0 0 }
.estate-jigyou-page .ig-article .es-accept-detail + p { margin-top:18px }
/* マンション・流れのページから、事業用の不動産のページへのリンク */
.estate-mansion-page #tell > .text-link,.estate-flow-page #flow > .text-link { margin-top:14px }
.estate-flow-page #flow > ol + p { margin-top:22px }
/* 2026-10-26 社長の文面の反映。不動産トップの比較の欄は、自社買取・買取仲介・仲介の3行の表にし、説明文の下に横幅いっぱいで置く */
.es-compare-layout.es-compare-stack { grid-template-columns:1fr; gap:34px }
.es-compare-stack .es-compare-intro { max-width:820px }
.es-compare-table.es-compare-methods thead th { font-size:13px; color:var(--muted); white-space:nowrap }
.es-compare-table.es-compare-methods tbody th { width:13%; font-size:16px; color:var(--forest); white-space:nowrap }
.es-compare-table.es-compare-methods td { width:auto; padding-right:22px }
.es-compare-table.es-compare-methods td:last-child { padding-right:0 }
.es-compare-note { margin-top:16px; font-size:13px; color:#556176; line-height:1.9 }
@media(max-width:1080px) {
  .es-compare-table.es-compare-methods tbody th { font-size:15px }
  .es-compare-table.es-compare-methods td { padding-right:14px }
}
@media(max-width:760px) {
  .es-compare-layout.es-compare-stack { gap:24px }
  .es-compare-table.es-compare-methods thead { display:none }
  .es-compare-table.es-compare-methods,.es-compare-methods tbody,.es-compare-methods tr,.es-compare-table.es-compare-methods tbody th,.es-compare-table.es-compare-methods td { display:block; width:auto }
  .es-compare-methods tr { padding:16px 0; border-bottom:1px solid var(--line) }
  .es-compare-methods tr:last-child { border-bottom:0 }
  .es-compare-table.es-compare-methods tbody th { margin-bottom:6px; padding:0; border:0; font-size:15px }
  .es-compare-table.es-compare-methods td { display:grid; grid-template-columns:6.5em minmax(0,1fr); gap:10px; padding:4px 0; border:0 }
  .es-compare-table.es-compare-methods td::before { content:attr(data-label); font-size:11px; font-weight:700; color:var(--muted) }
  .es-compare-note { font-size:12px }
}
/* 表のセルは、<wbr>の位置（意味の切れ目）でだけ折り返す。900px前後で「かか／る」のように1字だけ落ちるのを防ぐ */
.es-compare-table.es-compare-methods td { word-break:keep-all; overflow-wrap:anywhere }
