/*
 * LS Redesign — 2026-10 リデザイン用スタイル
 * A. サイト全体：色・書体・角の丸みを整える（テーマの main.css の後に読み込む。トークンの上書きが中心）
 * B. トップページ：<main class="lsr"> の中だけに効く新トップの見た目
 * プラグインを無効化すれば、このファイルは読み込まれず元の見た目に戻る。
 */

/* =====================================================================
   A. サイト全体
   ===================================================================== */
:root{
  --cream:#F6F2EB; --cream2:#EFE9DE;
  --primary:#1D3D43; --primary-deep:#132A2E; --footer:#1B2528;
  --ink:#2B3337; --muted:#7D8283; --line:#DED7CA;
  /* --sage 系（緑）はコラム内の図版で使っているので元のまま */
  --terra:#B97A52; --terra-deep:#A0613A; --terra-tint:#F1E6DA;
  --radius:8px; --shadow:0 1px 2px rgba(60,45,20,.05);
  --font-head:'Shippori Mincho B1','Hiragino Mincho ProN','Yu Mincho','YuMincho',serif;
}
body{letter-spacing:.01em}
/* 改行：言葉の途中で折り返さず（文節で折る）、最後の行に1〜2文字だけ残さない。2026-10-14 ユーザー指示「改行を本当に気にして」 */
main h1,main h2,main h3,main h4,main p,main li,main td,main th,main dd,main figcaption,main small,main b,main strong,
.btn,.link-arrow,.lsr span{word-break:auto-phrase;text-wrap-style:pretty}
.p-spec dd,.p-spec dt,.tel-big,.tel-btn{word-break:normal}
.entry-content .st-num,.entry-content .st-num small{word-break:normal;white-space:nowrap}
@media (max-width:640px){.contact-addr{font-size:12px!important;letter-spacing:0}}
.nowrap{white-space:nowrap}
h1,h2,h3,h4{font-feature-settings:"palt"}
.sec-head h1,.sec-head h2{font-weight:600;color:#1B2528}
.eyebrow{color:var(--terra-deep);letter-spacing:.3em}
.dots{gap:0;margin-top:14px}
.dots i{width:32px;height:1px;border-radius:0;background:#C9C1B0}
.dots i:nth-child(2),.dots i:nth-child(3){display:none}

/* ヘッダー */
.header{background:rgba(246,242,235,.94);border-bottom:1px solid var(--line)}
.header.scrolled{box-shadow:0 4px 18px rgba(50,40,20,.06)}
.brand img{height:42px}
.gnav a{border-radius:0;font-size:13.5px;color:#4F595D;letter-spacing:.06em;padding:8px 10px;position:relative}
.gnav a::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:1px;background:var(--primary);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.gnav a:hover{background:transparent;color:#1B2528}
.gnav a:hover::after{transform:scaleX(1)}
.header .tel-btn{border:0;border-radius:0;padding:0;font-size:15px;letter-spacing:.06em;font-weight:700}
.header .tel-btn:hover{background:transparent;color:var(--terra-deep)}
.menu-btn{border-radius:0}
.menu-btn span{background:#1B2528;border-radius:0}
.mnav{border-radius:4px;background:var(--cream);box-shadow:0 20px 50px rgba(30,25,10,.18)}
.mnav ul,.mnav ul a{border-bottom-style:solid}
.mnav .tel-btn{border-radius:3px}
.ls-semibar{background:var(--terra-deep)}

/* ボタン・リンク */
.btn{border-radius:3px;font-weight:500;letter-spacing:.1em}
.btn-primary{box-shadow:none}
.btn-primary:hover{transform:none;box-shadow:none;background:var(--primary-deep)}
.btn-secondary{border-width:1px}
.link-arrow{border-bottom:1px solid currentColor;letter-spacing:.06em;font-weight:500}
.tel-btn{border-radius:3px;border-width:1px}

/* カード・バッジ */
.p-type,.w-cat,.w-area,.ev-badge{border-radius:3px}
.w-cat,.p-type{font-weight:500;letter-spacing:.16em}
.ev{border-radius:8px}
.ev-date{border-radius:6px}
.p-spec div{border-bottom-style:solid}
.p-actions .btn{border-radius:3px}
.p-actions .btn-ghost{border-width:1px;border-color:#C9C1B0}

/* 下層ページ：見出しの帯のすぐ下の余白を詰める（2026-10-14 ユーザー指示「無駄な隙間消して」） */
.page-hero + .section{padding-top:28px}

/* フッター */
.f-nav a::before{background:var(--terra)}

/* 不動産コラムの目次（固定ページ /column/）：分野ごとのアイコン付きカード。2026-10-14 */
.colhub{columns:2;column-gap:18px;margin-top:28px}
.colhub-card{background:#fff;border:1px solid var(--line);padding:22px 24px 16px;break-inside:avoid;margin-bottom:18px}
.colhub-head{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
.colhub-ico{flex:none;width:56px;height:56px;border:1px solid #C9C1B0;background:var(--cream);color:var(--primary);display:grid;place-items:center}
.colhub-ico svg{width:32px;height:32px}
.entry-content .colhub h2{margin:0;font-size:19px;line-height:1.4;letter-spacing:.06em;color:#1B2528;font-weight:600}
.entry-content .colhub-desc{margin:4px 0 0;font-size:12.5px;line-height:1.6;color:var(--muted)}
.entry-content .colhub ul{margin:0;padding:0}
.entry-content .colhub ul li{list-style:none;margin:0;position:relative;padding:9px 0 9px 18px;border-bottom:1px dashed var(--line);font-size:14.5px;line-height:1.55}
.colhub a .sep{display:none}
.colhub a .sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.entry-content .colhub a:hover .sub{color:inherit}
.entry-content .colhub ul li:last-child{border-bottom:0}
.entry-content .colhub ul li::before{content:"";position:absolute;left:2px;top:17px;width:6px;height:6px;border-top:1.5px solid var(--terra-deep);border-right:1.5px solid var(--terra-deep);transform:rotate(45deg)}
.entry-content .colhub a{color:var(--ink);text-decoration:none}
.entry-content .colhub a:hover{color:var(--terra-deep);text-decoration:underline;text-underline-offset:3px}
@media (max-width:680px){
  .colhub{columns:1}
  .colhub-card{margin-bottom:14px}
  .colhub-card{padding:18px 18px 12px}
  .colhub-ico{width:42px;height:42px}
  .colhub-ico svg{width:23px;height:23px}
  .entry-content .colhub h2{font-size:17.5px}
}

/* 三鷹市の居住支援（固定ページ ID 587 /kyojushien/）：文字を減らし、写真・表・アイコンで見せる。2026-10-14 */
.page-id-587 .page-hero{position:relative;background:#1B2528 url("../assets/img/own-park-path.jpg") center 35%/cover no-repeat;padding:72px 0 64px;overflow:hidden}
.page-id-587 .page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,37,40,.9) 0%,rgba(27,37,40,.72) 55%,rgba(27,37,40,.45) 100%)}
.page-id-587 .page-hero .container{position:relative}
.page-id-587 .page-hero .sec-head{text-align:left;max-width:860px;margin:0 auto}
.page-id-587 .page-hero .eyebrow{font-size:0;letter-spacing:0;margin-bottom:14px}
.page-id-587 .page-hero .eyebrow::after{content:"三鷹市の協力不動産店として";font-size:15px;letter-spacing:.2em;color:#E7C9B1;font-weight:700}
.page-id-587 .page-hero h1{color:#fff;font-size:clamp(28px,3.2vw,40px);line-height:1.45;text-wrap:unset}
.page-id-587 .page-hero h1 .h1-sub{display:block;font-size:.55em;letter-spacing:.06em;margin-top:10px;color:rgba(255,255,255,.88)}
.page-id-587 .page-hero .dots{justify-content:flex-start}
.page-id-587 .page-hero .dots i{background:rgba(255,255,255,.45)}
.page-id-587 .breadcrumb{display:none}
.page-id-587 .entry-content h2{font-size:22px;color:#1B2528;font-weight:600;margin-top:2.4em;padding-left:14px;border-left:3px solid var(--terra-deep);line-height:1.4}
.page-id-587 .entry-content .ls-faq h2{padding-left:14px}

.kj-photo{position:relative;margin:0;overflow:hidden}
.entry-content .kj-photo img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:0}
.kj-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 28px 22px;background:linear-gradient(0deg,rgba(18,26,28,.82),rgba(18,26,28,0));color:#fff}
.kj-photo figcaption b{display:block;font-family:var(--font-head);font-weight:600;font-size:26px;letter-spacing:.08em;line-height:1.4}
.kj-photo figcaption span{display:block;font-size:14px;margin-top:4px;color:rgba(255,255,255,.9)}

.kj-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kj-card{background:#fff;border:1px solid var(--line);padding:18px 12px 16px;text-align:center}
.kj-card .ico{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 10px;border-radius:50%;background:var(--cream);color:var(--primary)}
.kj-card .ico svg{width:30px;height:30px}
.entry-content .kj-card p{margin:0;font-size:15px;line-height:1.6}
.kj-card b{color:var(--terra-deep);font-weight:700}

.entry-content ol.kj-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0;margin-top:18px}
.entry-content .kj-flow li{list-style:none;margin:0;position:relative;background:#fff;border:1px solid var(--line);padding:18px 8px 14px;text-align:center;line-height:1.45}
.entry-content .kj-flow li + li::before{content:"";position:absolute;left:-17px;top:50%;margin-top:-8px;border:8px solid transparent;border-left:11px solid #C9C1B0}
.kj-flow .ico{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 10px;border-radius:50%;background:var(--cream);color:var(--primary)}
.kj-flow .ico svg{width:32px;height:32px}
.kj-flow b{display:block;font-size:15px;color:#1B2528}
.kj-flow small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.entry-content .kj-flow li.hi{border-color:var(--terra-deep);background:#FBF5EF}
.kj-flow li.hi .ico{background:var(--terra-deep);color:#fff}

.entry-content .kj-table{width:100%;border-collapse:collapse;margin-top:18px;background:#fff;font-size:14.5px}
.kj-table thead th{background:var(--primary);color:#fff;font-weight:500;letter-spacing:.1em;padding:10px 14px;text-align:left;font-size:13px}
.kj-table tbody th,.kj-table td{border-bottom:1px solid var(--line);padding:14px;vertical-align:middle;text-align:left;line-height:1.6}
.kj-table tbody th{font-weight:700;color:#1B2528;white-space:nowrap;width:30%}
.kj-table tbody th .ico{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--cream);color:var(--terra-deep);vertical-align:middle;margin-right:10px}
.kj-table tbody th .ico svg{width:22px;height:22px}
.kj-table td:nth-child(2){color:var(--primary);font-weight:700;width:30%}
.kj-table td b{color:var(--terra-deep)}
.entry-content .fig-note{font-size:12.5px;color:var(--muted);margin-top:10px}

.kj-help{display:grid;grid-template-columns:1fr 150px;gap:24px;align-items:center;margin-top:18px}
.entry-content ol.kj-steps3{display:grid;gap:10px;padding:0;margin:0}
.entry-content .kj-steps3 li{list-style:none;margin:0;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:14px 18px;font-size:16px}
.kj-steps3 .n{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700}
.kj-steps3 b{color:#1B2528}
.entry-content img.kj-usagi{width:150px;height:auto;border-radius:0}

.kj-ok{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.kj-ok > div{background:#fff;border:1px solid var(--line);padding:16px 8px 14px;text-align:center;font-size:14px;line-height:1.5;color:#1B2528;font-weight:500}
.kj-ok .ico{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 8px;border-radius:50%;background:var(--cream);color:var(--primary)}
.kj-ok .ico svg{width:30px;height:30px}

.kj-cta{display:grid;grid-template-columns:auto auto auto;justify-content:space-evenly;gap:20px 32px;align-items:center;background:var(--primary);color:#fff;padding:26px 24px}
.kj-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;border:2px solid rgba(255,255,255,.55);outline:1px solid rgba(255,255,255,.25);outline-offset:5px;text-align:center;line-height:1.35}
.kj-badge .ico{display:grid;place-items:center;width:34px;height:34px;color:#E7C9B1;margin-bottom:2px}
.kj-badge .ico svg{width:30px;height:30px}
.kj-badge b{font-family:var(--font-head);font-weight:600;font-size:17px;letter-spacing:.06em;color:#fff}
.kj-badge small{font-size:11.5px;color:rgba(255,255,255,.85);letter-spacing:.06em}
.entry-content img.kj-cta-usagi{width:120px;height:auto;border-radius:0;transform:scaleX(-1)}
.entry-content .kj-cta p{margin:0}
.entry-content .kj-cta p + p{margin-top:12px}
.entry-content .kj-cta-ttl{font-family:var(--font-head);font-weight:600;font-size:20px;letter-spacing:.04em;line-height:1.6}
.entry-content .kj-cta .btn{background:#fff;color:var(--primary);text-decoration:none;padding:14px 30px;font-size:15px}
.entry-content .kj-cta .btn:hover{background:var(--cream)}
.entry-content .kj-cta-tel{font-size:13.5px;color:rgba(255,255,255,.85)}
.entry-content .kj-cta-tel a{color:#fff;font-weight:700;text-decoration:none;font-size:17px}
.entry-content .kj-seek{font-size:13px;color:var(--muted)}
.page-id-587 .ls-faq h3{font-size:15.5px}
.page-id-587 .ls-faq p{font-size:14px}
.page-id-587 .entry-content .ls-source{font-size:11.5px}

@media (max-width:680px){
  .page-id-587 .page-hero{padding:48px 0 40px;background-position:center 50%}
  .kj-photo figcaption{padding:40px 16px 14px}
  .kj-photo figcaption b{font-size:16.5px;letter-spacing:.04em}
  .page-id-587 .ls-stats{grid-template-columns:1fr;gap:6px}
  .page-id-587 .ls-stats .st{display:flex;align-items:baseline;gap:14px;text-align:left;padding:10px 16px}
  .page-id-587 .ls-stats .st-num{font-size:21px;white-space:nowrap;margin:0;min-width:6.2em}
  .page-id-587 .ls-stats .st-lb{font-size:13px;margin:0}
  .kj-photo figcaption span{font-size:12.5px}
  .entry-content .kj-photo img{aspect-ratio:4/3}
  .kj-cards{grid-template-columns:1fr;gap:8px}
  .kj-card{display:flex;align-items:center;gap:14px;text-align:left;padding:10px 14px}
  .kj-card .ico{width:44px;height:44px;margin:0;flex:none}
  .kj-card .ico svg{width:24px;height:24px}
  .kj-card br{display:none}
  .entry-content .kj-card p{font-size:14.5px}
  .entry-content ol.kj-flow{grid-template-columns:1fr 1fr;gap:12px 20px}
  .entry-content .kj-flow li:nth-child(3)::before{display:none}
  .kj-flow b{font-size:14px}
  .kj-table thead{display:none}
  .kj-table tbody tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);padding:12px 0}
  .kj-table tbody th{grid-column:1/-1;border:0;padding:0 12px 6px;width:auto}
  .kj-table td{border:0;padding:0 12px;width:auto!important;font-size:13.5px}
  .kj-help{grid-template-columns:1fr 90px;gap:12px}
  .entry-content img.kj-usagi{width:90px}
  .entry-content .kj-steps3 li{font-size:14px;padding:12px}
  .kj-ok{grid-template-columns:1fr 1fr}
  .kj-cta{grid-template-columns:1fr 72px;gap:12px;padding:18px 16px}
  .kj-badge{display:none}
  .entry-content img.kj-cta-usagi{width:72px}
  .entry-content .kj-cta-ttl{font-size:15px;letter-spacing:.01em}
  .entry-content .kj-cta-ttl br{display:none}
  .entry-content .kj-cta-tel{font-size:11.5px;white-space:nowrap}
  .entry-content .kj-cta-tel a{font-size:15px}
  .entry-content .kj-cta .btn{padding:12px 14px;font-size:14px;width:100%;white-space:nowrap}
}

/* =====================================================================
   B. トップページ（<main class="lsr"> の中だけ）
   ===================================================================== */
.lsr{
  --paper:#F6F2EB; --paper-2:#EFE9DE; --white:#FFFFFF;
  --ink-2:#4F595D; --ink-head:#1B2528;
  --line-strong:#C9C1B0;
  --accent:#A0613A; --accent-soft:#F1E6DA;
  --dark:#1B2528;
  --font-body:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;
  --head-weight:600; --head-ls:.06em;
  color:var(--ink);background:var(--paper);line-height:1.9;font-size:16px;
}
.lsr img{max-width:100%;height:auto;display:block}
.lsr a{text-decoration:none}
.lsr ul,.lsr ol{list-style:none;margin:0;padding:0}
.lsr h1,.lsr h2,.lsr h3{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-ls);line-height:1.4;color:var(--ink-head);margin:0}
.lsr p{margin:0}
.lsr .container{max-width:1180px;margin:0 auto;padding:0 32px}
.lsr .section{padding:60px 0}

/* ボタン */
.lsr .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;font-size:15px;font-weight:500;letter-spacing:.1em;line-height:1.3;border:1px solid transparent;border-radius:0;box-shadow:none;transition:.2s;white-space:nowrap;transform:none}
.lsr .btn:hover{transform:none;box-shadow:none}
.lsr .btn svg{width:18px;height:18px;flex:none}
.lsr .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);padding:16px 28px;font-size:15px}
.lsr .btn-primary:hover{background:var(--primary-deep)}
.lsr .btn-secondary{background:rgba(255,255,255,.7);color:var(--primary);border:1px solid var(--primary);padding:16px 28px;font-size:15px}
.lsr .btn-secondary:hover{background:var(--primary);color:#fff}
.lsr .link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:500;font-size:14.5px;color:var(--primary);letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:2px;width:fit-content}
.lsr .link-arrow svg{width:16px;height:16px;transition:transform .2s}
.lsr .link-arrow:hover{color:var(--accent)}
.lsr .link-arrow:hover svg{transform:translateX(3px)}
.lsr .link-arrow.light{color:#fff}
.lsr .link-arrow.light:hover{color:#E7C9B1}

/* 見出しまわり */
.lsr .eyebrow{display:block;font-family:var(--font-body);font-size:16px;font-weight:700;letter-spacing:.2em;color:var(--accent);margin-bottom:12px}
.lsr .eyebrow.light{color:#E7C9B1}
.lsr .sec-head{text-align:left;margin-bottom:28px}
.lsr .sec-head h2{font-size:34px;line-height:1.45;color:var(--ink-head);font-weight:var(--head-weight);letter-spacing:var(--head-ls)}
.lsr .sec-head.row{display:grid;grid-template-columns:1fr auto;gap:24px 48px;align-items:end}
.lsr .sec-head.row .sec-lead{max-width:460px;margin:0;text-align:right;color:var(--ink-2);font-size:14.5px;padding-bottom:6px}
.lsr .sec-head.row .link-arrow{margin-bottom:8px}
.lsr .empty-note{border-radius:0;background:#fff}

/* ① できることを写真で見せるヒーロー */
.lsr .hero2{background:var(--paper);padding:6px 32px 0;max-width:1180px;margin:0 auto}
@media (max-height:820px) and (min-width:641px){
  .lsr .hero2-band{padding:22px 0 20px}
  .lsr .hero2-band h1{font-size:38px;margin-bottom:10px}
  .lsr .hero2-band .hero-eyebrow{margin-bottom:8px}
  .lsr .band-sub{margin-bottom:18px}
}
.lsr .mosaic-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0}
.lsr .mtile{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#2a2a2a}
.lsr .mtile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.lsr .mtile:hover img{transform:scale(1.03)}
/* 2026-10-14 ユーザー指示：先頭ブロックは下の節（取引実例）と同じ横幅（1180px の枠）に揃える。写真の形（3:2）はそのまま。
   見出し帯の「東京都三鷹市の不動産会社」の行は外し、その分を写真の高さに回した */
.lsr .mtile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,26,28,.78) 0%,rgba(18,26,28,.25) 40%,rgba(18,26,28,0) 65%)}
.lsr .mtile-logo img{object-fit:contain;background:#fff;padding:8%}
.lsr .mtile-logo::after{background:linear-gradient(0deg,rgba(18,26,28,.82) 0%,rgba(18,26,28,.3) 38%,rgba(18,26,28,0) 60%)}
.lsr .mlabel{position:absolute;left:0;right:0;bottom:0;padding:18px 22px 20px;color:#fff;z-index:1}
.lsr .mlabel strong{display:block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:21px;letter-spacing:.08em;line-height:1.4}
.lsr .mlabel strong::after{content:"→";font-family:var(--font-body);font-size:15px;margin-left:10px;opacity:.85}
.lsr .mlabel small{display:block;font-size:12.5px;letter-spacing:.04em;color:rgba(255,255,255,.88);margin-top:2px}
.lsr .hero2-band{padding:26px 0 24px;text-align:center}
.lsr .hero-eyebrow{font-size:16px;font-weight:700;letter-spacing:.2em;color:var(--accent);margin-bottom:14px}
.lsr .hero2-band h1{font-size:46px;letter-spacing:.1em;line-height:1.3;margin-bottom:14px}
.lsr .band-sub{font-family:var(--font-head);font-weight:500;font-size:17px;letter-spacing:.06em;color:var(--ink-2);margin-bottom:26px}
.lsr .hero-cta{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;justify-content:center}
.lsr .hero-cta .btn{padding-left:24px;padding-right:24px}
.lsr .hero-bar{display:flex;justify-content:center;flex-wrap:wrap;margin-top:6px;border-top:1px solid var(--line)}
.lsr .hero-bar span{font-size:13px;letter-spacing:.08em;color:var(--ink-2);padding:14px 28px;position:relative}
.lsr .hero-bar span+span::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--line-strong)}

/* ② 取引実例（テーマの parts/card-case を再利用） */
.lsr .works{background:var(--white)}
.lsr .works-grid,.lsr .works-grid.cols-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:none;margin:0}
.lsr .works-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.lsr .works-grid.cols-2{grid-template-columns:repeat(2,1fr);max-width:640px}
.lsr .works-grid.cols-1{grid-template-columns:1fr;max-width:320px}
.lsr .w-card{background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:none;transition:none}
.lsr .w-card:hover{transform:none;box-shadow:none}
.lsr .w-photo{position:relative;height:auto;aspect-ratio:4/3;display:block;background:#EFE9DE;overflow:hidden}
.lsr .w-photo img.w-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lsr .w-body{padding:20px 20px 24px}
.lsr .w-tags{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.lsr .w-cat{font-size:11.5px;font-weight:500;letter-spacing:.18em;padding:4px 10px 3px;color:#fff;background:var(--primary);border-radius:0}
.lsr .w-cat.c1{background:var(--primary)}
.lsr .w-cat.c2{background:var(--accent)}
.lsr .w-cat.c3{background:var(--ink-head)}
.lsr .w-area{font-size:12.5px;font-weight:400;color:var(--muted);border:1px solid var(--line);padding:3px 10px;border-radius:0;background:none;letter-spacing:.02em}
.lsr .w-title{font-size:15.5px;letter-spacing:.02em;margin-bottom:10px;line-height:1.5;color:var(--ink-head);font-weight:var(--head-weight)}
.lsr .w-excerpt{font-size:13.5px;color:var(--ink-2);line-height:1.85;margin-bottom:0}
.lsr .works .note{font-size:12.5px;color:var(--muted);margin-top:14px}
.lsr .more-row{display:flex;gap:40px;flex-wrap:wrap;margin-top:20px}
.lsr .more-row.right{justify-content:flex-end;margin-top:24px}

/* ③ お客様の声 */
.lsr .voices{background:var(--paper-2)}
.lsr .voice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lsr .voice-list blockquote{margin:0;background:var(--white);border:1px solid var(--line);padding:28px 28px 26px;position:relative}
.lsr .voice-list blockquote::before{content:"“";position:absolute;top:10px;right:20px;font-family:var(--font-head);font-size:64px;line-height:1;color:var(--line-strong)}
.lsr .stars{display:block;color:var(--accent);letter-spacing:.1em;font-size:14px;margin-bottom:6px}
.lsr .voice-list strong{display:block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:16px;color:var(--ink-head);margin-bottom:10px;letter-spacing:.04em}
.lsr .voice-list p{font-size:14px;color:var(--ink-2);line-height:1.9}
.lsr .voices-note{font-size:12.5px;color:var(--muted);margin-top:14px}

/* ④ 販売中物件（テーマの parts/card-property を再利用） */
.lsr .properties{background:var(--white)}
.lsr .prop-group+.prop-group{margin-top:40px}
.lsr .prop-group-title{font-size:18px;color:var(--ink-head);font-weight:var(--head-weight);margin-bottom:16px}
.lsr .prop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:none;margin:0}
.lsr .p-card{background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:none;transition:none}
.lsr .p-card:hover{transform:none;box-shadow:none}
.lsr .p-photo{position:relative;height:auto;aspect-ratio:4/3;display:block;overflow:hidden;background:#EFE9DE}
.lsr .p-photo img.p-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lsr .p-type{top:14px;left:14px;right:auto;font-size:11.5px;font-weight:500;letter-spacing:.2em;padding:4px 10px 3px;border-radius:0}
.lsr .p-body{padding:22px 24px 24px}
.lsr .p-body h3{font-size:17px;color:var(--ink-head);font-weight:var(--head-weight);letter-spacing:.04em}
.lsr .p-body h3 a:hover{color:var(--accent)}
.lsr .p-price{font-size:28px;color:var(--accent);font-weight:var(--head-weight);margin-top:4px}
.lsr .p-spec{margin-top:12px}
.lsr .p-spec div{grid-template-columns:64px 1fr;border-bottom:0;border-top:1px solid var(--line);font-size:13.5px;padding:7px 0}
.lsr .p-spec dd{color:var(--ink-2)}
.lsr .p-actions{margin-top:18px;gap:10px}
.lsr .p-actions .btn{border-radius:0;font-weight:500;letter-spacing:.06em;padding:12px 0;font-size:14px}
.lsr .p-actions .btn-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--primary)}
.lsr .p-actions .btn-ghost:hover{background:transparent;border-color:var(--primary)}
.lsr .p-actions .btn-fill{border:1px solid var(--primary)}
.lsr .p-actions .btn-fill:hover{background:var(--primary-deep)}

/* ⑤ コラム＋イベント */
.lsr .column{background:var(--paper)}
.lsr .column-in{display:grid;grid-template-columns:1fr 380px;gap:64px;align-items:start}
.lsr .column-in.no-side{grid-template-columns:1fr}
.lsr .col-list li{border-top:1px solid var(--line)}
.lsr .col-list li:last-child{border-bottom:1px solid var(--line)}
.lsr .col-list a{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center;padding:16px 4px;transition:color .2s}
.lsr .col-list a:hover .col-ttl{color:var(--accent)}
.lsr .col-cat{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--primary);border:1px solid var(--line-strong);padding:3px 4px;text-align:center;line-height:1.5}
.lsr .col-ttl{font-size:15px;font-weight:500;color:var(--ink-head);line-height:1.6}
.lsr .col-ttl .sep{display:none}
.lsr .col-ttl .sub{font-size:13px;color:var(--ink-2);font-weight:400;margin-left:12px}
.lsr .col-cats{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 18px}
.lsr .col-cats a{font-size:13px;color:var(--ink-2);border:1px solid var(--line);padding:5px 14px;border-radius:999px;background:var(--white)}
.lsr .col-cats a:hover{border-color:var(--primary);color:var(--primary)}
.lsr .ev-card{background:var(--white);border:1px solid var(--line);padding:28px 28px 26px;margin-bottom:20px}
.lsr .ev-card .eyebrow{margin-bottom:14px}
.lsr .ev-card .ev{background:none;border:0;border-radius:0;padding:0;box-shadow:none;display:block}
.lsr .ev-card .ev-date{width:auto;height:auto;border:0;background:none;border-radius:0;display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:8px;margin-bottom:8px;font-family:var(--font-head);color:var(--ink-head);line-height:1}
.lsr .ev-card .ev-date .m{font-size:14px;letter-spacing:.1em;color:var(--muted);font-weight:500}
.lsr .ev-card .ev-date .d{font-size:40px;font-weight:var(--head-weight);line-height:1;color:var(--ink-head)}
.lsr .ev-card .ev-date .d::after{content:"日";font-size:14px;margin-left:3px;font-weight:500}
.lsr .ev-card .ev-body h3{display:block;font-size:18px;color:var(--ink-head);margin-bottom:8px;font-weight:var(--head-weight)}
.lsr .ev-card .ev-body h3 a:hover{color:var(--accent)}
.lsr .ev-card .ev-meta{display:flex;flex-direction:column;gap:4px;font-size:13.5px;color:var(--ink-2);margin:0 0 12px}
.lsr .ev-card .ev-badge{display:inline-block;margin:0 0 16px;border-radius:0;padding:3px 10px;font-size:12px;letter-spacing:.1em}
.lsr .ev-card .ev-badge.open{background:none;color:var(--accent);border:1px solid var(--accent)}
.lsr .ev-card .ev-badge.closed{background:none;color:var(--muted);border:1px solid var(--line-strong)}
.lsr .ev-card .ev+.ev{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.lsr .ev-card>.link-arrow{margin-top:4px}
.lsr .ev-lecturers{margin:16px 0 6px;padding-top:12px;border-top:1px solid var(--line)}
.lsr .ev-lec-ttl{display:block;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--accent);margin-bottom:2px}
.lsr .partner-list li{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.lsr .partner-list li:first-child{border-top:0}
.lsr .partner-list li:last-child{border-bottom:1px solid var(--line)}
.lsr .partner-list img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.lsr .partner-list span{display:block}
.lsr .partner-list strong{display:block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:16px;color:var(--ink-head);letter-spacing:.08em;line-height:1.4}
.lsr .partner-list small{display:block;font-size:12.5px;color:var(--ink-2);line-height:1.55;margin-top:1px}
.lsr .partner-list small + small{margin-top:0}

/* ⑥ 代表の言葉 */
.lsr .message{position:relative;padding:72px 0;background:var(--dark);color:#fff;overflow:hidden}
.lsr .message-photo{position:absolute;inset:0}
.lsr .message-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.5}
.lsr .message-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,37,40,.88) 0%,rgba(27,37,40,.72) 55%,rgba(27,37,40,.4) 100%)}
.lsr .message-in{position:relative;display:grid;grid-template-columns:1.35fr .85fr;gap:44px;align-items:center}
.lsr .message-quote{font-family:var(--font-head);font-weight:var(--head-weight);font-size:22px;line-height:1.9;letter-spacing:.05em;margin-bottom:24px;white-space:nowrap;color:#fff}
.lsr .message-text{font-size:15px;line-height:2;color:rgba(255,255,255,.86);max-width:660px;margin-bottom:22px}
.lsr .message-sign{display:flex;align-items:baseline;gap:14px;margin-bottom:24px}
.lsr .message-sign span{font-size:13px;color:rgba(255,255,255,.7)}
.lsr .message-sign strong{font-family:var(--font-head);font-weight:var(--head-weight);font-size:22px;letter-spacing:.2em;color:#fff}
.lsr .message-movie video{width:100%;height:auto;display:block;border:1px solid rgba(255,255,255,.25);background:#000}
.lsr .message-movie p{font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.7);margin-top:10px;text-align:right}

/* ⑦ 対応サービス＋地域の取り組み */
.lsr .services{background:var(--white)}
.lsr .svc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.lsr .svc-list li{border-top:1px solid var(--line)}
.lsr .svc-list li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.lsr .svc-list li:last-child:nth-child(odd){border-bottom:1px solid var(--line)}
.lsr .svc-list a{display:grid;grid-template-columns:112px 1fr;gap:22px;align-items:center;padding:20px 0}
.lsr .svc-list a:hover strong{color:var(--accent)}
.lsr .svc-list img{width:112px;aspect-ratio:4/3;object-fit:cover;background:#fff}
.lsr .svc-list img.contain{object-fit:contain;border:1px solid var(--line)}
.lsr .svc-list span{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.8}
.lsr .svc-list strong{display:block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:18px;color:var(--ink-head);letter-spacing:.06em;margin-bottom:4px;transition:color .2s}
.lsr .svc-list strong::after{content:"→";font-family:var(--font-body);font-size:14px;margin-left:10px;color:var(--accent)}
.lsr .svc-list a[target="_blank"] strong::after{content:"↗"}
.lsr .comm-head{margin:40px 0 4px;padding-top:28px;border-top:1px solid var(--line-strong)}
.lsr .comm-head .eyebrow{margin-bottom:6px}
.lsr .comm-head h3{font-size:22px;margin-bottom:16px}
.lsr .comm-list2 img{aspect-ratio:16/9}
.lsr .comm-list2 li:nth-last-child(-n+2){border-bottom:1px solid var(--line)}

/* ⑧ お問い合わせ */
.lsr .contact{position:relative;background:var(--paper);color:var(--ink);padding:72px 0 64px;overflow:hidden;text-align:center}
.lsr .contact-photo{position:absolute;inset:0}
.lsr .contact-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;opacity:.28}
.lsr .contact-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,242,235,.7),rgba(246,242,235,.96))}
.lsr .contact-in{position:relative}
.lsr .contact .eyebrow{color:var(--accent)}
.lsr .contact h2{font-size:30px;margin-bottom:12px;color:var(--ink-head);font-weight:var(--head-weight);letter-spacing:var(--head-ls)}
.lsr .contact-lead{font-size:15.5px;color:var(--ink-2);margin:0 0 32px}
.lsr .contact-cta{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 0 32px}
.lsr .contact .btn-primary{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:none;padding:16px 28px;font-size:15px}
.lsr .contact .btn-primary:hover{background:var(--primary-deep)}
.lsr .contact .btn-secondary{color:var(--primary);border:1px solid var(--primary);background:rgba(255,255,255,.6)}
.lsr .contact .btn-secondary:hover{background:var(--primary);color:#fff}
.lsr .contact-tel{border-top:1px solid var(--line-strong);padding-top:24px;max-width:620px;margin:0 auto}
.lsr .contact-tel p{font-size:13.5px;color:var(--ink-2)}
.lsr .tel-big{display:inline-block;font-family:var(--font-head);font-weight:var(--head-weight);font-size:42px;letter-spacing:.06em;line-height:1.2;margin:6px 0 10px;color:var(--ink-head)}
.lsr .contact-addr{font-size:13px;color:var(--muted)}

/* レスポンシブ */
@media (max-width:960px){
  .lsr .hero2{padding:6px 16px 0}
  .lsr .section{padding:52px 0}
  .lsr .sec-head h2{font-size:28px}
  .lsr .sec-head.row{grid-template-columns:1fr;align-items:start}
  .lsr .sec-head.row .sec-lead{text-align:left;max-width:none}
  .lsr .hero2-band h1{font-size:36px}
  .lsr .mlabel strong{font-size:18px}
  .lsr .works-grid,.lsr .works-grid.cols-4,.lsr .works-grid.cols-3{grid-template-columns:1fr 1fr}
  .lsr .message{padding:60px 0}
  .lsr .message-in{grid-template-columns:1fr;gap:40px}
  .lsr .message-quote{white-space:normal}
  .lsr .message-movie{max-width:520px}
  .lsr .svc-list{grid-template-columns:1fr}
  .lsr .svc-list li:nth-last-child(-n+2){border-bottom:0}
  .lsr .svc-list li:last-child{border-bottom:1px solid var(--line)}
  .lsr .comm-list2 li:nth-last-child(-n+2){border-bottom:0}
  .lsr .comm-list2 li:last-child{border-bottom:1px solid var(--line)}
  .lsr .prop-grid{grid-template-columns:1fr 1fr}
  .lsr .voice-list{grid-template-columns:1fr 1fr}
  .lsr .column-in{grid-template-columns:1fr;gap:48px}
  .lsr .contact{padding:60px 0 56px}
}
@media (max-width:640px){
  .lsr .container{padding-left:20px;padding-right:20px}
  .lsr .section{padding:44px 0}
  .lsr .sec-head{margin-bottom:22px}
  .lsr .eyebrow,.lsr .hero-eyebrow{font-size:14px;letter-spacing:.16em}
  .lsr .hero2{padding:4px 0 0}
  .lsr .mosaic-row{grid-template-columns:1fr 1fr;gap:4px;padding:0 4px}
  .lsr .mtile{aspect-ratio:1/1;height:auto}
  .lsr .mtile:nth-child(3){grid-column:1/-1;aspect-ratio:2/1}
  .lsr .mlabel{padding:10px 10px 12px}
  .lsr .mlabel strong{font-size:15px;letter-spacing:.04em}
  .lsr .mlabel strong::after{font-size:12px;margin-left:6px}
  .lsr .mlabel small{display:none}
  .lsr .hero2-band{padding:30px 0 26px}
  .lsr .hero2-band h1{font-size:25px;letter-spacing:.06em}
  .lsr .band-sub{font-size:15px}
  .lsr .hero-cta{flex-direction:column;align-items:stretch}
  .lsr .hero-cta .btn{width:100%}
  .lsr .hero-bar span{padding:10px 14px;font-size:12px}
  .lsr .hero-bar span+span::before{top:12px;bottom:12px}
  .lsr .works-grid,.lsr .works-grid.cols-4,.lsr .works-grid.cols-3,.lsr .works-grid.cols-2,.lsr .prop-grid,.lsr .voice-list{grid-template-columns:1fr;max-width:none}
  .lsr .more-row{flex-direction:column;gap:16px}
  .lsr .message{padding:52px 0}
  .lsr .message-quote{font-size:18px;line-height:1.85}
  .lsr .pc-br{display:none}
  .lsr .svc-list a{grid-template-columns:88px 1fr;gap:14px}
  .lsr .svc-list img{width:88px}
  .lsr .col-list a{grid-template-columns:1fr;gap:6px}
  .lsr .col-cat{width:fit-content;padding:2px 10px}
  .lsr .col-ttl .sub{display:block;margin-left:0;margin-top:2px}
  .lsr .contact{padding:52px 0 48px}
  .lsr .contact h2{font-size:23px}
  .lsr .contact-cta .btn{width:100%}
  .lsr .tel-big{font-size:34px}
}

/* =====================================================================
   2026-10-19 物件一覧（/sale/・/rent/）の見出し「販売中物件｜賃貸募集物件」の切り替え（ls-redesign.php の lsr_render_property_archive）
   ===================================================================== */
.lsr-ptabs{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:0 18px;margin:0}
.lsr-ptab{color:#A39B8B;font-weight:500;letter-spacing:.08em;position:relative;padding:2px 2px 8px;line-height:1.5;transition:color .25s;white-space:nowrap}
.lsr-ptab:hover{color:var(--primary)}
.lsr-ptab.is-active{color:#1B2528;font-weight:600;cursor:default}
.lsr-ptab.is-active::after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:2px;background:var(--terra-deep)}
.lsr-ptab-sep{width:1px;height:.9em;background:#C9C1B0;flex:none}
.lsr-ptab:focus-visible{outline:2px solid var(--terra-deep);outline-offset:4px}
#lsr-plist{transition:opacity .2s}
#lsr-plist.is-loading{opacity:.35;pointer-events:none}
@media (max-width:640px){.lsr-ptabs{gap:0 12px}.lsr-ptab{letter-spacing:.04em;font-size:min(24px,6vw)}}
