/* CLASSICAL 売買HP v4
   ・v3 は参考サイトの見た目（白帯のキャッチ・巨大英字見出し・縦タブ・流れる英字・3色CTA）に寄りすぎていたので作り直した
   ・書体は不動産の実測に合わせる（見出し IBM Plex Sans JP／本文 Noto Sans JP／欧文 Manrope。明朝・縦書き・ぼかし影は使わない）
   ・器は角張らせる（角丸は操作要素だけ2px）。色はロゴの青を主役に、紺と薄い灰の3段 */
:root{
  --blue:#2446a8; --blue-l:#6f93dd; --navy:#14224f; --pale:#eef3fb; --paper:#f5f6f8;
  --ink:#1b2233; --muted:#5a6275; --rule:#dfe3ea; --line:#06873f;
  --hd:'IBM Plex Sans JP','Noto Sans JP',sans-serif;
  --jp:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;
  --en:'Manrope','Helvetica Neue',Arial,sans-serif;
  --wrap:1180px; --pad:max(5vw,20px); --hdh:84px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--jp);font-size:16px;line-height:1.95;letter-spacing:.03em;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
picture{display:contents}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
p,li,h1,h2,h3,dd,dt,td,th{word-break:auto-phrase;text-wrap:pretty;line-break:strict}
main{overflow-x:clip}
br.sp{display:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--blue-l);outline-offset:3px}
.arw{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}

/* ボタン（操作要素だけ角を2px落とす） */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 26px;border-radius:2px;
  font-weight:700;text-decoration:none;overflow:hidden;line-height:1.4}
.btn-main{background:var(--blue);color:#fff}
.btn-main:hover{background:var(--navy)}
.btn-lg{padding:20px 34px;font-size:17px}

/* ── ヘッダー ── */
.hd{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--rule)}
.hd-in{display:flex;align-items:center;gap:32px;height:var(--hdh);padding:0 var(--pad)}
.hd-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.hd-logo img{width:40px;height:40px}
.hd-logo b{display:grid;font:700 20px/1.15 var(--en);letter-spacing:.14em;color:var(--blue)}
.hd-logo small{font:500 11px/1.6 var(--jp);letter-spacing:.06em;color:var(--muted)}
.gnav{display:flex;gap:26px;margin-left:auto;font:600 14px var(--hd)}
.gnav a{position:relative;text-decoration:none;padding:6px 0}
.gnav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.gnav a:hover::after,.gnav a[aria-current]::after{transform:scaleX(1)}
.hd-r{display:flex;align-items:center;gap:20px}
.hd-tel{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--navy)}
.hd-tel svg{width:18px;height:18px;color:var(--blue)}
.hd-tel span{display:grid;font:700 17px/1.2 var(--en);letter-spacing:.04em}
.hd-tel small{font:500 11px var(--jp);color:var(--muted);letter-spacing:.04em}
.hd-cta{padding:12px 20px;font-size:14px}
.menu{display:none;position:relative}
.menu summary{list-style:none;display:grid;place-content:center;gap:5px;width:44px;height:44px;border:1px solid var(--rule);cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu summary i{display:block;width:20px;height:2px;background:var(--blue);transition:transform .25s,opacity .25s}
.menu[open] summary i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu[open] summary i:nth-child(2){opacity:0}
.menu[open] summary i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-p{position:fixed;left:0;right:0;top:var(--hdh);bottom:0;overflow:auto;background:var(--navy);color:#fff;padding:28px var(--pad) 120px;display:grid;align-content:start;gap:2px}
.menu-p a{display:flex;justify-content:space-between;align-items:center;max-width:720px;width:100%;margin:0 auto;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.14);text-decoration:none;font-weight:700}
.bottom-bar{display:none}

/* ── 節の見出し：番号＋罫つきの小さな英字＋和文 ── */
.kick{display:flex;align-items:center;gap:12px;font:700 12.5px/1 var(--en);letter-spacing:.22em;color:var(--blue)}
.kick b{font-weight:700;font-variant-numeric:tabular-nums}
.kick span{display:inline-flex;align-items:center;gap:12px}
.kick span::before{content:"";width:36px;height:1px;background:currentColor}
.sec{padding:120px 0}
.sh{display:grid;gap:16px;margin-bottom:56px}
.sh h2{font:700 clamp(26px,3vw,40px)/1.5 var(--hd);letter-spacing:.04em}
.sh-lead{max-width:720px;color:var(--muted);font-size:15.5px}

/* ── ファーストビュー：左に文字、右に写真（写真の左端を斜めに切る） ── */
.fv{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:min(calc(100svh - var(--hdh)),760px)}
.kv-txt{display:grid;align-content:center;justify-items:start;gap:26px;padding:56px 32px 56px var(--pad)}
.kv-area span{display:inline-block;padding:6px 16px;background:var(--blue);color:#fff;font:600 13px var(--hd);letter-spacing:.08em;transform:skewX(-10deg)}
.kv-area b{display:inline-block;font-weight:600;transform:skewX(10deg)}
.kv-copy{font:700 clamp(30px,3vw,46px)/1.5 var(--hd);letter-spacing:.05em;color:var(--navy)}
.kv-copy em{font-style:normal;color:var(--blue);background:linear-gradient(transparent 68%,var(--pale) 68%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.kv-sub{font-size:15.5px;line-height:2;color:#3a4256}
.kv-co{display:grid;gap:2px;padding-top:20px;border-top:1px solid var(--rule);width:min(100%,420px)}
.kv-co b{font:700 17px var(--hd);letter-spacing:.06em}
.kv-co span{font-size:12.5px;color:var(--muted)}
.kv-go{display:flex;flex-wrap:wrap;gap:10px 28px}
.kv-go a{display:inline-flex;align-items:center;gap:10px;padding-bottom:4px;border-bottom:1px solid var(--ink);font:600 15px var(--hd);text-decoration:none}
.kv-go a:hover{color:var(--blue);border-color:var(--blue)}
.kv-ph{position:relative;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}
.kv-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.kv-ph figcaption{position:absolute;right:24px;bottom:20px;font:700 11px var(--en);letter-spacing:.3em;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.kv-news{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--rule);text-decoration:none;font-size:14.5px}
.kv-news .lb{font:700 12px var(--en);letter-spacing:.22em;color:var(--blue)}
.kv-news time{font:600 13px var(--en);color:var(--muted)}
.kv-news .t{font-weight:500}
.kv-news:hover .t{color:var(--blue)}

/* ── 01 ABOUT ── */
.ab{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:80px;align-items:start}
.ab-txt{display:grid;gap:24px;font-size:16px;line-height:2.15}
.mk{background:linear-gradient(transparent 62%,var(--pale) 62%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.sign{padding-top:18px;border-top:1px solid var(--rule);font:700 15px var(--hd);letter-spacing:.08em;color:var(--navy)}
.ab-ph{position:relative;margin:0 24px 24px 0}
.ab-ph::before{content:"";position:absolute;inset:24px -24px -24px 24px;background:var(--pale);z-index:-1}
.ab-ph img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ── 02 PROMISE：番号・見出し・本文を横に並べた表組み ── */
.promise{background:var(--paper)}
.pm-ph img{width:100%;aspect-ratio:21/8;object-fit:cover;object-position:50% 45%}
.pm{margin-top:24px}
.pm li{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1.5fr);gap:12px 40px;align-items:baseline;padding:36px 0;border-bottom:1px solid var(--rule)}
.pm .n{font:700 40px/1 var(--en);color:var(--blue);font-variant-numeric:tabular-nums}
.pm h3{font:700 20px/1.6 var(--hd);letter-spacing:.04em}
.pm p{font-size:15.5px;line-height:2.05;color:#3a4256}
.pm p b{color:var(--navy)}

/* ── 03 SERVICE ── */
.sv{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.sv-i{display:grid;align-content:start;gap:16px}
.sv-i img{width:100%;aspect-ratio:3/2;object-fit:cover}
.sv-i .tag{display:flex;align-items:center;gap:12px;margin-top:10px;font:700 14px var(--hd);letter-spacing:.14em;color:var(--blue)}
.sv-i .tag::before{content:"";width:22px;height:2px;background:currentColor}
.sv-i h3{font:700 clamp(19px,1.8vw,23px)/1.6 var(--hd);letter-spacing:.03em;color:var(--navy)}
.sv-i>p{font-size:15.5px;line-height:2.05;color:#3a4256}
.lk{display:grid;margin-top:8px;border-top:1px solid var(--rule)}
.lk a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;border-bottom:1px solid var(--rule);font:600 15px var(--hd);text-decoration:none}
.lk a:hover{color:var(--blue)}

/* 相談の帯（上端を斜めに切る） */
.band{background:var(--blue);color:#fff;clip-path:polygon(0 48px,100% 0,100% 100%,0 100%);padding:112px 0 72px}
.band-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:center}
.band .q{font:700 clamp(22px,2.4vw,32px)/1.5 var(--hd);letter-spacing:.04em;margin-bottom:8px}
.band p{opacity:.92}
.band .btn-main{background:#fff;color:var(--blue)}
.band .btn-main:hover{background:var(--pale)}

/* ── 04 PROPERTY ── */
.warn{padding:12px 16px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:13.5px;line-height:1.8;margin-bottom:28px}
.pr-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.pr{display:grid;align-content:start;gap:8px}
.pr-ph{position:relative;margin-bottom:6px}
.pr-ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.pr-ph .smp{position:absolute;right:8px;top:8px;padding:1px 8px;background:#fff;color:#c2410c;border:1px solid #f0b58f;font-size:11px;font-weight:700}
.pr-k{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}
.pr-k span{padding:1px 8px;background:var(--navy);color:#fff;font-weight:700}
.pr h3{font:600 16px/1.6 var(--hd)}
.pr .ad{font-size:13px;color:var(--muted)}
.pr .pz{display:flex;align-items:baseline;gap:4px;padding-top:8px;border-top:1px solid var(--rule);font-size:13px}
.pr .pz b{font:700 24px var(--en);color:var(--ink)}
.pr .pz span{margin-left:auto;color:var(--muted)}
.find{display:grid;grid-template-columns:180px minmax(0,1fr);margin-top:64px;border-top:1px solid var(--ink)}
.find dt,.find dd{padding:22px 0;border-bottom:1px solid var(--rule)}
.find dt{font:700 15px var(--hd)}
.find dd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-size:15px}
.find dd span{padding:4px 14px;border:1px solid var(--rule);font-weight:500}
.find-line a{display:inline-flex;align-items:center;gap:10px;margin-left:8px;color:var(--line);font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}

/* ── 05 AREA ── */
.area .sh{margin-bottom:40px}
.area-ph img{width:100%;aspect-ratio:21/7;object-fit:cover;object-position:50% 55%}
.area-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:40px}
.area-list li{display:grid;gap:6px;padding-top:18px;border-top:2px solid var(--navy)}
.area-list b{font:700 18px var(--hd);color:var(--blue)}
.area-list span{font-size:14px;color:var(--muted);line-height:1.9}

/* ── 06 NEWS ── */
.news{padding-top:40px}
.nl{border-top:1px solid var(--ink)}
.nl a{display:grid;grid-template-columns:120px 96px minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid var(--rule);text-decoration:none;font-size:15px}
.nl time{font:600 13px var(--en);color:var(--muted)}
.nl .cat{justify-self:start;padding:1px 10px;border:1px solid var(--blue);color:var(--blue);font-size:12px;font-weight:700}
.nl a:hover .t{color:var(--blue)}

/* ── CONTACT（紺の面・上端を斜めに切る） ── */
.ct{background:var(--navy);color:#fff;clip-path:polygon(0 0,100% 48px,100% 100%,0 100%);padding:140px 0 110px}
.ct-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px 80px;align-items:center}
.ct-l{display:grid;gap:18px}
.ct .kick{color:#9fb6ec}
.ct h2{font:700 clamp(28px,3vw,40px)/1.45 var(--hd);letter-spacing:.05em}
.ct-l p{opacity:.9;font-size:15.5px}
.ct-hr{font-size:13px}
.ct-r{border-top:1px solid rgba(255,255,255,.28)}
.ct-r a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px 8px;border-bottom:1px solid rgba(255,255,255,.28);text-decoration:none;transition:background .2s}
.ct-r a:hover{background:rgba(255,255,255,.06)}
.ct-r .ic svg{width:30px;height:30px}
.ct-r .t{display:grid;gap:2px}
.ct-r b{font:700 18px var(--hd);letter-spacing:.04em}
.ct-r b.num{font:700 26px var(--en);letter-spacing:.06em}
.ct-r small{font-size:13px;opacity:.78}

/* フッター */
.ft{padding:70px 0 40px}
.ft-top{display:grid;grid-template-columns:1.3fr 2fr;gap:5vw}
.ft-co{font-size:13px;line-height:2;color:var(--muted)}
.ft-co b{display:block;font:700 16px var(--hd);color:var(--ink);margin-bottom:6px}
.ft-map{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ft-map h4{margin:0 0 10px;font:700 14px var(--hd)}
.ft-map a{display:block;font-size:13px;color:var(--muted);text-decoration:none;padding:3px 0}
.ft-map a:hover{color:var(--blue)}
.ft-cp{margin-top:50px;font:12px var(--en);color:var(--muted);text-align:right}

/* ── 下層ページ共通 ── */
.crumb{padding:14px 0;font-size:12px;color:var(--muted)}
.crumb a{text-decoration:none}
.crumb i{font-style:normal;margin:0 8px}
.ph{padding:72px 0 60px;background:var(--paper);border-bottom:1px solid var(--rule)}
.ph h1{margin-top:18px;font:700 clamp(28px,3.6vw,44px)/1.4 var(--hd);letter-spacing:.05em;color:var(--navy)}
.ph .wrap>p:not(.kick){margin-top:18px;max-width:760px;color:var(--muted);font-size:15.5px}
.sub-sec{padding:90px 0}
.sub-sec.gray{background:var(--paper)}
.st{margin-bottom:40px}
.st .lbl{font:700 12.5px var(--en);letter-spacing:.22em;color:var(--blue)}
.st h2{margin-top:8px;font:700 clamp(22px,2.4vw,30px)/1.6 var(--hd);letter-spacing:.04em}
.st h2 em{font-style:normal;color:var(--blue)}
.st p{margin-top:12px;color:var(--muted)}
.lead{font-size:16.5px;line-height:2.1;max-width:820px;margin-bottom:40px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.card{display:grid;align-content:start;gap:10px;padding:28px 26px;background:#fff;border:1px solid var(--rule);text-decoration:none}
.card .no{font:700 28px var(--en);color:var(--blue-l)}
.card h3{font:700 18px/1.6 var(--hd)}
.card p{font-size:14.5px;line-height:1.95;color:#3a4256}
a.card:hover{border-color:var(--blue)}
.note{margin-top:18px;font-size:13px;color:var(--muted);line-height:1.8}
.info{padding:22px 26px;background:var(--pale);line-height:2;margin-bottom:34px}
.tw{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;background:#fff;font-size:15px}
.tbl th,.tbl td{padding:16px 18px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.tbl thead th{background:var(--navy);color:#fff;font-size:14px}
.tbl.kv th{width:28%;background:var(--pale);font-weight:700}
.tbl .p{font-weight:700;color:var(--blue)}
.trb{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.trb .card ul{display:grid;gap:4px;font-size:14px;color:#3a4256}
.trb .card li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--blue-l);margin-right:10px;vertical-align:.2em}
.card .go{margin-top:auto;padding-top:14px;font-weight:700;font-size:14px;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.tl{position:relative;display:grid;gap:18px;max-width:860px;margin:0 auto;padding-left:34px}
.tl::before{content:"";position:absolute;left:11px;top:14px;bottom:14px;width:2px;background:#d6e2f5}
.tl .i{position:relative;padding:22px 26px;background:#fff;border:1px solid var(--rule)}
.tl .i::before{content:"";position:absolute;left:-29px;top:26px;width:14px;height:14px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #fff}
.tl .n{font:700 12px var(--en);letter-spacing:.14em;color:var(--blue)}
.tl h3{font:700 18px var(--hd);margin:4px 0 8px}
.tl p{font-size:15px;line-height:2}
.tl p+p{margin-top:8px}
.tl .tip{margin-top:14px;padding:12px 16px;background:var(--pale);font-size:14px}
.tl .tip b.lb{display:block;color:var(--blue);font-size:13px}
.rich h3{margin:34px 0 10px;font:700 18px var(--hd)}
.rich ul{list-style:disc;padding-left:1.4em}
.rich p,.rich li{font-size:15px;line-height:2}
.rich a{color:var(--blue)}
.subcta{padding:80px 0 60px;background:#fff;border-top:1px solid var(--rule);text-align:center}
.subcta .t{font:700 clamp(22px,2.4vw,30px) var(--hd);color:var(--navy)}
.subcta .d{margin-top:10px;color:var(--muted)}
.subcta .row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px}
.subcta .row a{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:2px;background:var(--blue);color:#fff;font-weight:700;text-decoration:none}
.subcta .row a.l{background:var(--line);color:#fff}
.subcta .row svg{width:22px;height:22px}
.subcta .chk{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 24px;margin-top:18px;font-size:13px;color:var(--muted)}

/* ── 動き（動きを許可した端末だけ） ── */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.25,1)}
  .js .rv.on{opacity:1;transform:none}
  @keyframes kvIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes kvPh{from{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}}
  .kv-txt>*{animation:kvIn .8s ease both}
  .kv-txt>:nth-child(2){animation-delay:.12s}.kv-txt>:nth-child(3){animation-delay:.3s}
  .kv-txt>:nth-child(4){animation-delay:.45s}.kv-txt>:nth-child(5){animation-delay:.6s}
  .kv-ph{animation:kvPh 1.1s cubic-bezier(.7,0,.25,1) both .1s}
  /* 主なボタンに光を流す（ボタンごとに開始をずらす） */
  @keyframes shine{0%,60%{transform:translateX(-160%) skewX(-20deg)}100%{transform:translateX(360%) skewX(-20deg)}}
  .btn-main::after{content:"";position:absolute;top:0;bottom:0;left:0;width:36%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);animation:shine 4.2s ease-in-out infinite}
  .band .btn-main::after{background:linear-gradient(90deg,transparent,rgba(36,70,168,.16),transparent);animation-delay:1.3s}
}

/* ── タブレット ── */
@media (max-width:1100px){
  .gnav{display:none}
  .hd-r{margin-left:auto}
  .menu{display:block}
  .ab{grid-template-columns:1fr;gap:56px}
  .ab-ph{max-width:520px}
  .pm li{grid-template-columns:70px minmax(0,1fr);gap:10px 24px}
  .pm li p{grid-column:2}
  .pr-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .area-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-in{grid-template-columns:1fr}
  .cards.c4{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .fv{grid-template-columns:1fr;min-height:0}
  .kv-ph{order:-1;aspect-ratio:3/2;clip-path:polygon(0 0,100% 0,100% 100%,0 88%)}
  .kv-txt{padding:36px var(--pad) 40px;gap:20px}
  .sv{grid-template-columns:1fr;gap:64px}
  .band-in{grid-template-columns:1fr}
}
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  @keyframes kvPhS{from{clip-path:polygon(0 0,0 0,0 88%,0 88%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 88%)}}
  .kv-ph{animation-name:kvPhS}
}
/* ── スマホ ── */
@media (max-width:700px){
  :root{--hdh:64px}
  body{font-size:15px;padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  br.sp{display:inline}
  .hd-in{gap:12px}
  .hd-logo img{width:34px;height:34px}
  .hd-logo b{font-size:17px}
  .hd-r{display:none}
  .menu{margin-left:auto}
  .bottom-bar{position:fixed;left:0;right:0;bottom:0;z-index:58;display:grid;grid-template-columns:repeat(3,1fr);
    padding:0 0 env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--rule)}
  .bottom-bar a{display:grid;justify-items:center;gap:2px;padding:9px 2px 8px;font-size:11px;font-weight:700;text-decoration:none}
  .bottom-bar a+a{box-shadow:-1px 0 0 var(--rule)}
  .bottom-bar svg{width:22px;height:22px}
  .bb-sell{color:var(--blue)}.bb-line{color:var(--line)}.bb-tel{color:var(--navy)}
  .kv-copy{font-size:clamp(28px,8.4vw,36px)}
  .kv-sub{font-size:14.5px}
  .kv-news{grid-template-columns:auto 1fr auto;gap:4px 14px}
  .kv-news .t{grid-column:1/3}
  .kv-news .arw{grid-column:3;grid-row:1/3}
  .sec{padding:80px 0}
  .sh{margin-bottom:36px}
  .ab-ph{margin:0 16px 16px 0}
  .ab-ph::before{inset:16px -16px -16px 16px}
  .pm-ph img{aspect-ratio:16/9}
  .pm li{grid-template-columns:52px minmax(0,1fr);padding:28px 0}
  .pm .n{font-size:30px}
  .pm h3{font-size:18px}
  .band{padding:84px 0 56px;clip-path:polygon(0 28px,100% 0,100% 100%,0 100%)}
  .band .btn{width:100%}
  .pr-rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}
  .pr{scroll-snap-align:start}
  .find{grid-template-columns:1fr}
  .find dt{padding-bottom:0;border-bottom:0}
  .area-ph img{aspect-ratio:16/9}
  .area-list{grid-template-columns:1fr;gap:20px}
  .nl a{grid-template-columns:auto 1fr auto;gap:4px 12px}
  .nl .t{grid-column:1/3}
  .nl .arw{grid-column:3;grid-row:1/3}
  .ct{padding:100px 0 72px;clip-path:polygon(0 0,100% 28px,100% 100%,0 100%)}
  .ct-r b.num{font-size:22px}
  .ft-top,.ft-map{grid-template-columns:1fr}
  .ft-cp{text-align:left}
  .cards,.cards.c4,.trb{grid-template-columns:1fr}
  .tbl.kv th{width:36%}
  .ph{padding:48px 0 40px}
  .sub-sec{padding:64px 0}
}
