/* 物件一覧（トップ）：白地にカードを並べるシンプルな構成 */
:root{
  --paper:#ffffff;
  --warm:#f6f4ef;
  --ink:#24272a;
  --sub:#6c6f73;
  --line:#e2ddd4;
  --accent:#a3895a;
  --dark:#2f2b27;
  --latin:"Jost","Helvetica Neue",Arial,sans-serif;
  --mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0}
h1,h2{margin:0;font-weight:500}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.t-hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,5vw,60px);border-bottom:1px solid var(--line)}
.t-logo img{width:130px}
.t-hp{font-size:12px;color:var(--sub);text-decoration:none;border:1px solid var(--line);padding:8px 16px;border-radius:999px}
.t-hp:hover{color:var(--ink);border-color:var(--ink)}

.t-main{max-width:1160px;margin:0 auto;padding:0 clamp(16px,5vw,60px)}
.t-intro{text-align:center;padding:clamp(56px,8vw,96px) 0 clamp(40px,5vw,60px)}
.t-en{font-family:var(--latin);font-weight:300;font-size:clamp(40px,6vw,64px);letter-spacing:.24em;line-height:1;color:var(--accent)}
.t-intro h1{font-family:var(--mincho);font-size:clamp(20px,2.4vw,26px);letter-spacing:.16em;margin-top:16px}
.t-lead{color:var(--sub);font-size:14px;margin-top:18px}

.t-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.t-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:box-shadow .3s,transform .3s}
.t-card:hover{box-shadow:0 14px 40px rgba(40,30,20,.12);transform:translateY(-2px)}
.t-card-link{display:block;text-decoration:none;color:inherit}
.t-card-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.t-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.t-card:hover .t-card-img img{transform:scale(1.03)}
.t-badge{position:absolute;left:14px;top:14px;background:var(--accent);color:#fff;font-size:12px;letter-spacing:.1em;padding:4px 12px;border-radius:999px}
.t-card-body{padding:clamp(20px,3vw,30px);display:grid;gap:10px}
.t-brand{font-family:var(--latin);font-size:12px;letter-spacing:.24em;color:var(--accent)}
.t-card h3{margin:0;font-weight:500;font-family:var(--mincho);font-size:clamp(22px,2.4vw,28px);letter-spacing:.1em}
.t-catch{font-size:14px;color:var(--sub)}
.t-meta{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;font-size:13.5px;border-top:1px solid var(--line);padding-top:14px;margin:6px 0 4px}
.t-meta dt{color:var(--sub)}
.t-meta dd{margin:0}
.t-meta dd b{font-family:var(--latin);font-weight:400;font-size:20px;margin-right:2px}
.t-btn{justify-self:start;margin-top:6px;display:inline-flex;align-items:center;gap:12px;background:var(--dark);color:#fff;font-size:13px;letter-spacing:.14em;padding:12px 26px;border-radius:999px}
.t-btn::after{content:"";width:20px;height:1px;background:currentColor}

/* 分類（4D／ベストの家／中古リフォーム） */
html{scroll-behavior:smooth}
.t-tabs{position:sticky;top:0;z-index:5;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:14px 0;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);margin-bottom:clamp(10px,2vw,20px)}
.t-tabs a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:13.5px;letter-spacing:.1em;border:1px solid var(--line);padding:9px 20px;border-radius:999px;transition:background .2s,color .2s,border-color .2s}
.t-tabs a:hover{background:var(--dark);border-color:var(--dark);color:#fff}
.t-tabs b{font-weight:inherit;white-space:nowrap}
.t-tab-s{display:none}
.t-tabs span{font-family:var(--latin);font-size:12px;line-height:1;background:var(--warm);color:var(--accent);padding:4px 8px;border-radius:999px}
.t-cat{padding-top:clamp(44px,6vw,72px);scroll-margin-top:60px}
.t-cat-hd{text-align:center;margin-bottom:clamp(24px,3vw,36px)}
.t-cat-en{font-family:var(--latin);font-weight:400;font-size:13px;letter-spacing:.3em;color:var(--accent)}
.t-cat-hd h2{font-family:var(--mincho);font-size:clamp(22px,2.6vw,30px);letter-spacing:.14em;margin-top:6px}
.t-cat-hd h2::after{content:"";display:block;width:40px;height:1px;background:var(--accent);margin:14px auto 0}
.t-cat-lead{font-size:13.5px;color:var(--sub);margin-top:12px}
.t-cat-more{display:inline-flex;align-items:center;gap:10px;margin-top:14px;font-size:13px;letter-spacing:.1em;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.t-cat-more::after{content:"→"}
.t-cat-more:hover{color:var(--ink)}

/* サンクスページ */
.t-thanks{text-align:center;padding:clamp(64px,9vw,110px) 0 clamp(10px,2vw,20px)}
.t-thanks h1{font-family:var(--mincho);font-size:clamp(20px,2.6vw,28px);letter-spacing:.12em;margin-top:18px}
.t-thanks h1 span{display:inline-block}
.t-thanks h1::after{content:"";display:block;width:40px;height:1px;background:var(--accent);margin:20px auto 0}
.t-thanks-prop{margin-top:24px;font-size:15px}
.t-thanks-txt{margin-top:14px;font-size:14.5px;line-height:2.1}
.t-thanks-note{margin-top:12px;font-size:12.5px;color:var(--sub)}
.t-thanks-btns{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:36px}
.t-thanks-btns .t-btn{justify-self:auto;margin:0;text-decoration:none}
.t-thanks-btns .t-btn.is-line{background:#fff;color:var(--dark);border:1px solid var(--dark)}
.is-thanks .t-contact{margin-top:clamp(48px,6vw,72px)}

.t-contact{text-align:center;margin:clamp(60px,8vw,100px) 0 0;padding:clamp(36px,5vw,56px) 20px;background:var(--warm);border-radius:10px}
.t-contact h2{font-family:var(--mincho);font-size:22px;letter-spacing:.14em}
.t-tels{display:flex;justify-content:center;gap:clamp(20px,5vw,60px);flex-wrap:wrap;margin-top:18px}
.t-tels small{display:block;font-size:12px;color:var(--sub);letter-spacing:.12em}
.t-tels b{font-family:var(--latin);font-weight:400;font-size:28px;letter-spacing:.06em;user-select:all}
.t-hours{font-size:12.5px;color:var(--sub);margin-top:10px}

.t-ft{text-align:center;font-size:12px;color:var(--sub);padding:40px 16px 50px;display:grid;gap:6px}

@media (max-width:760px){.t-list{grid-template-columns:1fr}.t-hp{display:none}.t-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 0}.t-tabs a{justify-content:center;font-size:12px;padding:8px 4px;gap:6px;letter-spacing:.02em}.t-tab-l{display:none}.t-tab-s{display:inline}.t-intro h1{letter-spacing:.08em}.t-thanks h1{letter-spacing:.04em}.t-thanks-txt br{display:none}.t-cat-hd h2{letter-spacing:.06em}}

/* 23周年フェアへのバナー（一覧のいちばん上。11/1 先方依頼） */
.t-fair{display:block;margin:clamp(20px,3vw,36px) auto 0;text-decoration:none;text-align:center}
.t-fair img{width:100%;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:opacity .2s}
.t-fair-btn{display:inline-flex;align-items:center;gap:14px;margin-top:16px;padding:12px 28px;border-radius:999px;background:#c8102e;color:#fff;font-size:15px;font-weight:500;letter-spacing:.1em;transition:opacity .2s}
.t-fair-btn svg{width:22px;height:10px}
.t-fair:hover img,.t-fair:hover .t-fair-btn{opacity:.85}
@media (max-width:760px){.t-fair-btn{font-size:14px;padding:11px 22px;letter-spacing:.04em}}
