/* ==========================================
   近藤不動産 SEO最適化版 共通スタイル
   ネイビー × イエロー（libe風親しみテイスト）
========================================== */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1d3557;
  --navy-2:#2c4a73;
  --navy-3:#15263e;
  --yellow:#ffd60a;
  --yellow-2:#f5b800;
  --yellow-soft:#fff4b0;
  --bg:#ffffff;
  --bg-2:#f7f9fc;
  --ink:#1a2333;
  --mute:#6b7480;
  --line:#e5e9ee;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"Noto Sans JP","M PLUS Rounded 1c",-apple-system,BlinkMacSystemFont,sans-serif;
  font-weight:500;color:var(--ink);background:var(--bg);
  font-size:15px;line-height:1.85;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.maru{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;letter-spacing:.02em}
.jakarta{font-family:"Plus Jakarta Sans",sans-serif;letter-spacing:0}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.wrap-narrow{max-width:920px;margin:0 auto;padding:0 28px}

/* ヘッダー */
.topbar{
  position:sticky;top:0;z-index:90;background:#fff;
  padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{
  width:42px;height:42px;background:var(--yellow);color:var(--navy);border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:22px;
  box-shadow:0 4px 12px rgba(255,214,10,.4);
}
.brand-text{line-height:1.2}
.brand-text .name{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:18px;color:var(--navy);letter-spacing:.04em}
.brand-text .sub{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:10px;color:var(--mute);letter-spacing:.18em;margin-top:2px}
.head-nav{display:flex;align-items:center;gap:24px}
.head-nav a{font-size:13px;font-weight:700;color:var(--navy);transition:color .2s}
.head-nav a:hover{color:var(--yellow-2)}
.head-cta{
  background:var(--yellow);color:var(--navy);font-weight:900;font-size:13px;
  padding:11px 22px;border-radius:999px;letter-spacing:.04em;
  box-shadow:0 4px 12px rgba(255,214,10,.4);transition:transform .15s,box-shadow .2s;
}
.head-cta:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(255,214,10,.5)}
@media(max-width:880px){
  .topbar{padding:12px 18px}
  .head-nav a:not(.head-cta){display:none}
  .brand-text .sub{display:none}
}

/* パンくず */
.breadcrumb{background:var(--bg-2);padding:14px 0;border-bottom:1px solid var(--line)}
.breadcrumb ol{list-style:none;display:flex;align-items:center;gap:10px;font-size:12.5px;flex-wrap:wrap}
.breadcrumb li{color:var(--mute);font-weight:600}
.breadcrumb li:not(:last-child)::after{content:"/";margin-left:10px;color:var(--line)}
.breadcrumb a{color:var(--navy);text-decoration:none}
.breadcrumb a:hover{color:var(--yellow-2);text-decoration:underline}
.breadcrumb li[aria-current]{color:var(--ink)}

/* ヒーロー（トップ用）*/
.hero{
  background:radial-gradient(circle at 88% 18%,rgba(255,214,10,.18) 0%,transparent 40%),var(--bg);
  padding:60px 0 70px;position:relative;overflow:hidden;
}
.hero h1{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:clamp(30px,5vw,52px);line-height:1.35;color:var(--navy);margin-bottom:18px}
.hero h1 .yh{background:linear-gradient(transparent 60%,var(--yellow-soft) 60%);padding:0 4px}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;background:var(--yellow-soft);color:var(--navy);
  padding:8px 16px;border-radius:999px;font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;
  font-size:12px;letter-spacing:.1em;margin-bottom:24px;
}
.hero-eyebrow::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--yellow-2);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-offer{
  background:var(--navy);color:#fff;border-radius:20px;padding:24px 28px;margin:24px 0 28px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  box-shadow:0 12px 30px rgba(29,53,87,.18);
}
.hero-offer .label{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:14px;letter-spacing:.08em;color:#fff}
.hero-offer .label small{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:10px;color:var(--yellow);letter-spacing:.25em;margin-bottom:4px}
.hero-offer .nums{display:flex;align-items:baseline;gap:14px;font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;color:var(--yellow)}
.hero-offer .nums .n{font-size:clamp(38px,5.5vw,68px);line-height:.9;letter-spacing:.02em}
.hero-offer .nums .n .u{font-size:.45em;color:#fff;font-weight:700;margin-left:.05em}
.hero-offer .nums .sep{font-family:"Plus Jakarta Sans",sans-serif;font-weight:500;font-size:.5em;color:#fff}
.hero-lead{font-size:15.5px;color:var(--ink);line-height:1.95;margin-bottom:26px;max-width:560px}

/* 下層ヘッダー */
.page-head{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;padding:60px 0 70px;position:relative;overflow:hidden;
}
.page-head::before{content:"";position:absolute;width:280px;height:280px;right:-80px;top:-80px;background:rgba(255,214,10,.12);border-radius:50%}
.page-head .eyebrow{
  display:inline-block;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:11px;
  background:var(--yellow);color:var(--navy);padding:6px 14px;border-radius:999px;letter-spacing:.3em;margin-bottom:18px;
}
.page-head h1{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:clamp(28px,4.6vw,42px);line-height:1.4;letter-spacing:.04em}
.page-head .lead{margin-top:14px;color:#cfd9e6;line-height:1.95;font-size:15px;max-width:680px}

/* 共通CTA・ボタン */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:14px;letter-spacing:.05em;
  padding:16px 26px;border-radius:999px;transition:transform .15s,box-shadow .2s,background .2s,color .2s;
}
.btn-yel{background:var(--yellow);color:var(--navy);box-shadow:0 8px 20px rgba(255,214,10,.4)}
.btn-yel:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(255,214,10,.55)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(29,53,87,.25)}
.btn-navy:hover{transform:translateY(-2px);background:var(--navy-3)}
.btn-line{background:#06c755;color:#fff;box-shadow:0 8px 20px rgba(6,199,85,.35)}
.btn-line:hover{transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}

/* セクション共通 */
section{padding:80px 0}
.sec-head{text-align:center;margin-bottom:46px}
.sec-head .num{
  display:inline-block;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:11px;
  color:var(--navy);letter-spacing:.4em;background:var(--yellow);padding:7px 16px;border-radius:999px;margin-bottom:14px;
}
.sec-head h2{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:clamp(24px,3.6vw,34px);line-height:1.4;letter-spacing:.04em;color:var(--navy)}
.sec-head h2 .yh{background:linear-gradient(transparent 60%,var(--yellow-soft) 60%);padding:0 6px}
.sec-head .desc{margin-top:14px;color:var(--mute);font-size:14.5px;line-height:1.95;max-width:640px;margin-left:auto;margin-right:auto}

/* リッチテキスト */
.rich h2{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:24px;color:var(--navy);margin:36px 0 14px;letter-spacing:.04em}
.rich h3{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:18px;color:var(--navy);margin:28px 0 10px;border-left:4px solid var(--yellow);padding-left:12px}
.rich p{font-size:14.5px;line-height:2;color:#3a4858;margin-bottom:18px}
.rich ul,.rich ol{margin:0 0 18px 0;padding-left:24px}
.rich ul li,.rich ol li{font-size:14px;color:#3a4858;line-height:2;margin-bottom:6px}
.rich strong{color:var(--navy);font-weight:900}

/* カードグリッド */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:#fff;padding:30px 26px;border-radius:20px;border:2px solid var(--line);transition:all .25s}
.card:hover{transform:translateY(-3px);border-color:var(--yellow);box-shadow:0 16px 36px rgba(29,53,87,.1)}
.card .icon{width:60px;height:60px;background:var(--yellow-soft);color:var(--navy);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px}
.card h3{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:17px;color:var(--navy);margin-bottom:10px}
.card p{font-size:13.5px;color:#3a4858;line-height:1.95}
.card .more{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:800;font-size:12px;color:var(--navy);border-bottom:2px solid var(--yellow);padding-bottom:3px}

/* テーブル */
.t-info{width:100%;border-collapse:collapse}
.t-info th,.t-info td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:14px;line-height:1.85}
.t-info th{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;color:var(--yellow-2);width:32%;letter-spacing:.06em}
@media(max-width:680px){.t-info th,.t-info td{display:block;width:100%;border-bottom:0;padding:6px 14px}.t-info tr{border-bottom:1px solid var(--line);padding:8px 0}.t-info th{padding-top:12px;color:var(--yellow-2);font-size:12px}}

/* FAQ */
.faq-list{max-width:840px;margin:0 auto;display:grid;gap:12px}
.faq-item{background:#fff;border-radius:18px;border:2px solid var(--line);overflow:hidden}
.faq-q{display:flex;gap:18px;padding:22px 26px;font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:15px;color:var(--navy);line-height:1.6;letter-spacing:.04em}
.faq-q::before{content:"Q";flex-shrink:0;background:var(--yellow);color:var(--navy);width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:14px}
.faq-a{display:flex;gap:18px;padding:0 26px 22px;color:#3a4858;font-size:13.5px;line-height:1.95}
.faq-a::before{content:"A";flex-shrink:0;background:var(--navy);color:var(--yellow);width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-family:"Plus Jakarta Sans",sans-serif;font-weight:800;font-size:14px}

/* CTAバナー */
.cta-banner{background:linear-gradient(135deg,var(--yellow) 0%,var(--yellow-2) 100%);padding:60px 0;text-align:center;border-radius:24px;margin:30px 0;position:relative;overflow:hidden}
.cta-banner h2{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:clamp(22px,3.2vw,32px);color:var(--navy);margin-bottom:14px;line-height:1.4}
.cta-banner p{color:var(--navy);font-weight:700;margin-bottom:24px;font-size:14.5px}
.cta-banner .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* フォーム */
.form-grid{display:grid;gap:16px;max-width:640px;margin:0 auto}
.form-grid label{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:800;font-size:13px;color:var(--navy);display:block;margin-bottom:6px}
.form-grid label .req{color:#e23b3b;margin-left:4px}
.form-grid input,.form-grid textarea,.form-grid select{
  width:100%;padding:14px 16px;border:2px solid var(--line);border-radius:12px;font-size:14px;
  font-family:"Noto Sans JP",sans-serif;color:var(--ink);transition:border-color .2s;
}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:none;border-color:var(--yellow-2)}
.form-grid textarea{min-height:140px;resize:vertical}
.form-grid .submit{justify-self:center;margin-top:8px}

/* フッター */
footer{background:var(--navy);color:#bcc7d8;padding:70px 0 110px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-brand .name{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;color:#fff;font-size:20px;letter-spacing:.04em;margin-bottom:14px}
.foot-brand p{font-size:13px;line-height:1.95;color:#9caebc}
.foot-col h5{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;color:var(--yellow);font-size:13px;letter-spacing:.1em;margin-bottom:14px}
.foot-col ul{list-style:none}
.foot-col ul li{font-size:13px;padding:4px 0;color:#bcc7d8;line-height:1.8}
.foot-col ul li a:hover{color:var(--yellow)}
.foot-bottom{margin-top:50px;padding-top:24px;border-top:1px solid var(--navy-2);font-family:"Plus Jakarta Sans",sans-serif;font-weight:600;font-size:11px;color:#7a8a9c;text-align:center;letter-spacing:.1em}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr}}

/* モバイル下部固定CTA */
.fixed-cta{position:fixed;bottom:0;left:0;right:0;z-index:80;display:flex;background:#fff;border-top:2px solid var(--yellow);box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.fixed-cta a{flex:1;text-align:center;padding:13px 4px;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:"M PLUS Rounded 1c",sans-serif;letter-spacing:.04em;line-height:1.2}
.fixed-cta a small{font-family:"Plus Jakarta Sans",sans-serif;font-weight:700;font-size:9px;letter-spacing:.18em;opacity:.9}
.fixed-cta .fc-tel{color:var(--navy);border-right:1px solid var(--line)}
.fixed-cta .fc-tel .num{font-family:"M PLUS Rounded 1c",sans-serif;font-weight:900;font-size:14px;color:var(--yellow-2)}
.fixed-cta .fc-form{background:var(--yellow);color:var(--navy);font-size:13px;flex:.85;flex-direction:row;gap:6px}
@media(min-width:1024px){.fixed-cta{display:none}footer{padding-bottom:80px}}

/* 共通アクセシビリティ */
:focus-visible{outline:3px solid var(--yellow-2);outline-offset:2px;border-radius:4px}
