:root{--navy:#1a365d;--navy-deep:#12283f;--text:#2d3748;--muted:#64748b;--bg:#fff;--surface:#f7fafc;--card:#fff;--line:#dce5ec;--border:#dce5ec;--accent:#2563a8;--accent-dark:#1e4f85;--accent-soft:#e9f0f9;--ok:#2e8b57;--warn:#b7791f;--busy:#c0392b;--radius:13px;--radius-sm:8px;--shadow:0 14px 32px rgba(26,54,93,.1)}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;background:var(--bg);color:var(--text);line-height:1.75;font-size:15px;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-dark);text-decoration:underline}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.notice-bar{background:var(--surface);color:var(--muted);font-size:12px;text-align:center;padding:7px 12px}.notice-bar,.site-header{border-bottom:1px solid var(--border)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:hsla(0,0%,100%,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-inner{max-width:1120px;margin:0 auto;padding:0 20px;min-height:68px;justify-content:space-between;gap:24px}.header-inner,.logo{display:flex;align-items:center}.logo{gap:9px;color:var(--navy);font-weight:800;font-size:19px;letter-spacing:.01em}.logo:hover{text-decoration:none;color:var(--navy)}.logo .mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px}.header-right,.main-nav{display:flex;align-items:center;gap:22px}.nav-link{color:var(--muted);font-size:14px;font-weight:600;padding:6px 2px;position:relative}.nav-link:hover{color:var(--text);text-decoration:none}.nav-link.active{color:var(--navy);font-weight:700}.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--accent);border-radius:2px}.header-actions{display:flex;align-items:center;gap:10px}.header-user{color:var(--muted);font-size:12px;margin-right:2px}.hamburger{width:42px;height:42px;border:1px solid var(--border);border-radius:9px;background:#fff;cursor:pointer;align-items:center;justify-content:center;font-size:19px;color:var(--navy)}.hamburger,.mobile-menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;border:1.5px solid var(--accent);border-radius:var(--radius-sm);padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;text-align:center;transition:background .15s,border-color .15s}.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);text-decoration:none;color:#fff}.btn.gold{background:var(--accent);border-color:var(--accent)}.btn.gold:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn.ghost{background:#fff;color:var(--accent);border:1.5px solid var(--accent)}.btn.ghost:hover{background:var(--accent-soft);color:var(--accent-dark)}.btn.sm{padding:7px 13px;font-size:12.5px}.btn.block{display:flex;width:100%}.btn[disabled]{opacity:.6;cursor:not-allowed}.spinner{display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border:2px solid hsla(0,0%,100%,.45);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.btn.ghost .spinner{border-color:rgba(37,99,168,.35);border-top-color:var(--accent)}@keyframes spin{to{transform:rotate(1turn)}}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:0 0 22px}.section-label{display:block;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.14em;margin-bottom:6px}.section-title{color:var(--navy);font-size:24px;font-weight:800;line-height:1.3}.pad-section,section.pad{padding:72px 0}.page-head{background:var(--surface);border-bottom:1px solid var(--border);padding:44px 0}.page-head .section-label{margin-bottom:8px}.page-head h2{color:var(--navy);font-size:28px;font-weight:800}.page-head p{color:var(--muted);font-size:14px;margin-top:8px}.hero{position:relative;background:linear-gradient(180deg,var(--surface),#fff);overflow:hidden;padding:76px 0 84px}.hero:after{content:"";position:absolute;right:-140px;top:-40px;width:520px;height:520px;border-radius:50%;border:78px solid var(--accent-soft);opacity:.6;pointer-events:none}.hero .wrap{position:relative;z-index:1;max-width:1120px}.hero-label{color:var(--accent);font-size:13px;font-weight:800;letter-spacing:.16em}.hero h1{color:var(--navy);font-size:46px;font-weight:800;line-height:1.28;margin:14px 0 18px;max-width:15em}.hero p{color:var(--text);font-size:16px;max-width:34em;margin-bottom:26px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(284px,1fr));grid-gap:22px;gap:22px}.property-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.property-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface)}.card-img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.property-card:hover .card-img{transform:scale(1.03)}.card-img-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:20px;letter-spacing:.05em}.card-id{left:10px;background:rgba(26,54,93,.86);color:#fff;font-size:11.5px;letter-spacing:.03em;padding:3px 9px;border-radius:6px}.card-id,.card-status{position:absolute;top:10px;z-index:2;font-weight:700}.card-status{right:10px;font-size:11px;padding:3px 10px;border-radius:999px}.card-status.st-空{background:#eafaf0;color:var(--ok)}.card-status.st-商談中{background:#fdf5e6;color:var(--warn)}.card-status.st-成約済{background:#fdeceb;color:var(--busy)}.img-placeholder-tag{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:5px;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.fav-btn{position:absolute;right:10px;bottom:10px;z-index:3;width:36px;height:36px;border-radius:50%;border:none;background:hsla(0,0%,100%,.92);color:var(--accent);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.14)}.fav-btn:hover{background:#fff}.card-body{padding:14px 16px 16px;flex:1 1;display:flex;flex-direction:column}.card-loc{color:var(--accent);font-size:12px;font-weight:700;margin-bottom:3px}.card-title{color:var(--navy);font-size:15.5px;font-weight:700;line-height:1.5;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}.card-price{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}.card-price .n{color:var(--navy);font-size:23px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-price .u{color:var(--muted);font-size:12px}.card-price .plan{color:var(--muted);font-size:12.5px;margin-left:auto}.card-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.badge-soft{padding:2px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.badge-soft,.card-date{font-size:11px;color:var(--muted)}.card-date{margin-top:10px}.card-stretch{position:absolute;inset:0;z-index:1}.card-stretch:hover{text-decoration:none}.filters{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.filters .field{margin:0}.filter-actions{grid-column:1/-1;display:flex;gap:14px;justify-content:flex-end;align-items:center}.result-count{color:var(--navy);font-size:16px;font-weight:800;margin:28px 0 16px}.result-count .n{color:var(--accent);font-size:20px;margin:0 3px}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:44px 20px;text-align:center;color:var(--muted)}.empty-state .btn{margin-top:14px}.pager{display:flex;gap:8px;margin:30px 0 6px;flex-wrap:wrap}.pager,.pager a,.pager span{justify-content:center;align-items:center}.pager a,.pager span{min-width:38px;height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);display:inline-flex;font-size:13.5px;font-weight:600}.pager a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.pager .cur{background:var(--accent);border-color:var(--accent);color:#fff}.pager .disabled{opacity:.4;pointer-events:none}.news-list{list-style:none}.news-list li{border-bottom:1px solid var(--border);padding:14px 0;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.news-list .date{color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.news-list .cat{font-size:11px;background:var(--accent-soft);color:var(--accent-dark);padding:2px 9px;border-radius:4px;font-weight:700}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin:14px 0}.gallery .ph{position:relative;aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:13px}.spec{width:100%;border-collapse:collapse;margin:14px 0}.spec td,.spec th{border:1px solid var(--border);padding:11px 14px;text-align:left;font-size:14px}.spec th{background:var(--surface);color:var(--navy);width:34%;font-weight:700}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:520px;margin:0 auto}.panel.wide{max-width:780px}.field{margin-bottom:15px}.field label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;font-size:14px;font-family:inherit;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{min-height:96px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.hint{font-size:12px;color:var(--muted);margin-top:4px}.alert{background:#fdeceb;border:1px solid #e9b9b3;border-left:4px solid var(--busy);border-radius:var(--radius-sm)}.alert,.info{padding:11px 14px;font-size:13px;margin:12px 0}.info{background:var(--accent-soft);border:1px solid #bfe1df;border-left:4px solid var(--accent);border-radius:var(--radius-sm)}.ok-box{background:#eef8f1;border:1px solid #b8dcc3;border-left:4px solid var(--ok);border-radius:var(--radius-sm);padding:11px 14px;font-size:13px;margin:12px 0}.steps{list-style:none;counter-reset:s;display:grid;grid-gap:12px;gap:12px;margin:6px 0}.steps li{counter-increment:s;position:relative;padding:13px 16px 13px 52px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;line-height:1.7}.steps li:before{content:counter(s);position:absolute;left:14px;top:12px;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}.pill-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.stat{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 18px;min-width:130px}.stat .n{font-size:24px;font-weight:800;color:var(--navy)}.stat .l{font-size:12px;color:var(--muted)}.msg{border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;margin-bottom:10px;background:#fff}.msg .m-head{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.badge{display:inline-block;background:var(--busy);color:#fff;font-size:10px;padding:1px 7px;margin-left:6px}.badge,.tag{border-radius:999px}.tag{font-size:11px;padding:2px 9px;background:var(--surface);color:var(--muted);border:1px solid var(--border)}.tag.status-空{background:#eafaf0;color:var(--ok);border-color:#cdeeda}.tag.status-商談中{background:#fdf5e6;color:var(--warn);border-color:#f0dcb4}.tag.status-成約済{background:#fdeceb;color:var(--busy);border-color:#f0ccc8}.site-footer{background:var(--navy-deep);color:#a8bdd4;margin-top:72px;padding:30px 0;font-size:12.5px}.site-footer a{color:#cfe0f0}.site-footer .fnav{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}.sponsor{position:relative;display:flex;align-items:center;gap:20px;text-decoration:none;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px}.sponsor:hover{text-decoration:none;border-color:#c7d6e2}.sponsor-pr{position:absolute;top:9px;right:11px;font-size:10px;font-weight:700;letter-spacing:.08em;background:#fff;border:1px solid var(--border);color:var(--muted);padding:1px 7px;border-radius:4px}.sponsor-main{flex:1 1;min-width:0}.sponsor-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--accent-dark);background:var(--accent-soft);padding:2px 10px;border-radius:999px;margin-bottom:6px}.sponsor-name{font-size:14px}.sponsor-name,.sponsor-tagline{font-weight:800;color:var(--navy)}.sponsor-tagline{font-size:20px;margin:2px 0 4px;line-height:1.35}.sponsor-body{font-size:12.5px;color:var(--muted);line-height:1.6}.sponsor-cta{flex-shrink:0;background:var(--accent);color:#fff;font-weight:800;font-size:14px;padding:11px 20px;border-radius:var(--radius-sm);white-space:nowrap}.sponsor:hover .sponsor-cta{background:var(--accent-dark)}.sponsor-rect{flex-direction:column;align-items:flex-start;gap:8px}.sponsor-rect .sponsor-cta{align-self:stretch;text-align:center}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:60;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:13px 20px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22)}.chat-fab:hover{background:var(--accent-dark)}.chat-panel{position:fixed;right:20px;bottom:20px;z-index:61;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 40px));background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}.chat-head{background:var(--accent);color:#fff;padding:13px 16px;display:flex;justify-content:space-between;align-items:center}.chat-head b{font-size:14px}.chat-head .x{cursor:pointer;font-size:20px;line-height:1;background:none;border:none;color:#fff}.chat-body{flex:1 1;overflow-y:auto;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:10px}.bubble{max-width:82%;padding:9px 13px;border-radius:12px;font-size:13.5px;white-space:pre-wrap;line-height:1.65}.bubble.bot{background:#fff;border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:3px}.bubble.me{background:var(--accent);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}.bubble a{color:inherit;text-decoration:underline;font-weight:700}.chat-foot{border-top:1px solid var(--border);padding:10px;display:flex;gap:8px;background:#fff}.chat-foot input{flex:1 1;border:1px solid var(--border);border-radius:20px;padding:9px 14px;font-size:14px}.chat-foot button{background:var(--accent);color:#fff;border:none;border-radius:20px;padding:0 16px;font-weight:700;cursor:pointer}.chat-suggest{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px;background:var(--surface)}.chat-suggest button{font-size:11.5px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:5px 11px;cursor:pointer;color:var(--accent)}.typing{font-size:12px;color:var(--muted);padding:2px 4px}@media (max-width:900px){.hero h1{font-size:38px}.filters{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.header-actions,.main-nav{display:none}.hamburger{display:flex}.mobile-menu.open{display:block;border-top:1px solid var(--border);background:#fff}.mobile-menu .mm-inner{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;flex-direction:column;gap:4px}.mobile-menu a{padding:11px 6px;color:var(--navy);font-weight:600;border-bottom:1px solid var(--surface)}.mobile-menu .mm-actions{display:flex;gap:10px;margin-top:10px}.mobile-menu .mm-actions .btn{flex:1 1}}@media (max-width:640px){.hero{padding:52px 0 60px}.hero h1{font-size:31px;margin:12px 0 14px}.hero p{font-size:15px}.section-title{font-size:21px}.page-head h2{font-size:23px}.filters,.gallery{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.spec th{width:42%}.sponsor{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.sponsor-tagline{font-size:18px}.sponsor-cta{align-self:stretch;text-align:center}.filter-actions{flex-direction:column-reverse;align-items:stretch}.filter-actions .btn{width:100%}}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.hero:after{z-index:0}@media (prefers-reduced-motion:reduce){.hero-video{display:none}}.adminbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;max-width:1180px;margin:16px auto 0;padding:11px 14px;border-radius:10px;font-size:13px;line-height:1.7;background:#fff6e5;border:1px solid #e6c88a;color:#6b4d12}.adminbar span{margin-left:6px}.adminbar form{display:flex;gap:8px}.adminbar input{padding:6px 10px;border:1px solid #d6bb85;border-radius:7px;font-size:13px;min-width:210px}.adminbar button{padding:6px 14px;border:0;border-radius:7px;font-size:13px;cursor:pointer;white-space:nowrap;background:#8a6d2f;color:#fff}.adminbar-ng{width:100%;margin:2px 0 0;color:#b3261e;font-size:12.5px}.adminbar-on{background:#eaf6ee;border-color:#a8d5b8;color:#1f5b34}.adminbar-on button{background:#2f7a4a}.pendingbar{max-width:1180px;margin:12px auto 0;padding:11px 14px;border-radius:10px;background:#eef4ff;border:1px solid #a9c4ea;color:#1c3a68;font-size:13px;line-height:1.7}.pendingbar-h{margin:0 0 8px}.pendingbar-h span{margin-left:6px}.pendingbar ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pendingbar li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#fff;border:1px solid #cfdcf0;border-radius:8px;padding:7px 10px}.pendingbar-name{font-weight:700}.pendingbar-at{color:#5a6b85;font-size:12px;margin-right:auto}.pendingbar button{padding:5px 12px;border:0;border-radius:7px;font-size:12.5px;cursor:pointer;white-space:nowrap;background:#1f4f96;color:#fff}.pendingbar button:disabled{opacity:.5;cursor:default}.pendingbar .pendingbar-no{background:#fff;color:#8a2b25;border:1px solid #d9a9a4}