:root{--bg: #f7f8fa;--surface: #ffffff;--surface-glass: rgba(255, 255, 255, .72);--text: #1b2330;--text-muted: #5b6675;--line: #e6e9ef;--brand: #1f5fae;--brand-soft: #e8f0fb;--brand-ink: #14365f;--accent: #d98324;--accent-soft: #fbf0e1;--gold: #c4a052;--gold-bright: #e7cf8e;--gold-grad: linear-gradient(135deg, #efdca0 0%, #c79f43 55%, #9c7b2c 100%);--ink: #0d1117;--ink-2: #161b24;--radius: 16px;--shadow: 0 6px 24px rgba(27, 35, 48, .08);--shadow-lg: 0 1px 2px rgba(13, 17, 23, .06), 0 8px 18px rgba(13, 17, 23, .08), 0 24px 48px rgba(13, 17, 23, .1);--shadow-hover: 0 2px 6px rgba(13, 17, 23, .1), 0 14px 30px rgba(13, 17, 23, .14), 0 36px 64px rgba(13, 17, 23, .16);--maxw: 980px;--font-display: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,var(--brand-soft),transparent 60%),var(--bg);color:var(--text);font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,.brand{font-family:var(--font-display)}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:saturate(1.4) blur(12px);background:var(--surface-glass);border-bottom:1px solid var(--line)}.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-bright) 50%,var(--gold) 70%,transparent);opacity:.7}.site-header .inner{display:flex;align-items:center;justify-content:space-between;height:62px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:1.1rem;letter-spacing:.02em;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{flex:none;display:block}.brand-text span{color:var(--brand)}.nav{display:flex;align-items:center}.nav a{color:var(--text-muted);margin-left:20px;font-size:.92rem}.nav a:hover{color:var(--brand);text-decoration:none}.nav .lang-switch{border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--text);font-weight:600;line-height:1}.nav .lang-switch:hover{border-color:var(--brand);color:var(--brand)}@media (max-width: 640px){.nav{min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav a{margin-left:14px;white-space:nowrap;flex:none}}.hero{padding:56px 0 28px}.hero h1{font-size:clamp(1.6rem,4vw,2.4rem);margin:0 0 10px;line-height:1.35}.hero p{color:var(--text-muted);margin:0;max-width:60ch}.home-hero{position:relative;overflow:hidden;margin:28px 0 8px;padding:clamp(36px,5vw,60px) clamp(22px,5vw,52px) clamp(100px,12vw,136px);border-radius:22px;color:#fff;background:radial-gradient(820px 420px at 86% -18%,rgba(231,207,142,.22),transparent 60%),radial-gradient(680px 360px at 4% 116%,rgba(31,95,174,.4),transparent 55%),linear-gradient(150deg,#1c4d86 0%,var(--brand-ink) 42%,var(--ink) 100%);box-shadow:var(--shadow-lg);border:1px solid rgba(231,207,142,.14)}.home-hero:before{content:"";position:absolute;z-index:0;inset:-40% -10% auto auto;width:60%;height:120%;background:radial-gradient(closest-side,rgba(231,207,142,.2),transparent 70%);filter:blur(8px);animation:heroGlow 14s ease-in-out infinite alternate}@keyframes heroGlow{0%{transform:translate(0) scale(1);opacity:.8}to{transform:translate(-8%,12%) scale(1.18);opacity:1}}.home-hero-inner{position:relative;z-index:2;max-width:46rem}.home-hero .eyebrow{margin:0 0 14px;font-size:.74rem;font-weight:700;letter-spacing:.22em;color:var(--gold-bright)}.home-hero .eyebrow:before{content:"";display:inline-block;width:28px;height:2px;background:linear-gradient(90deg,var(--gold-bright),var(--gold));margin:0 10px 4px 0;vertical-align:middle}.home-hero h1{font-size:clamp(1.8rem,4.6vw,3rem);line-height:1.28;margin:0 0 14px;font-weight:900;letter-spacing:.01em}.home-hero-desc{margin:0;color:#ffffffdb;font-size:clamp(.92rem,1.4vw,1.02rem);line-height:1.85;max-width:42rem}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--gold-grad);color:#2a2008;box-shadow:0 8px 22px #9c7b2c73;border:1px solid rgba(255,255,255,.25)}.btn-primary:hover{box-shadow:0 12px 30px #9c7b2c8c}.btn-ghost{background:#ffffff0f;color:#fff;border:1px solid rgba(231,207,142,.5)}.btn-ghost:hover{background:#e7cf8e24;border-color:var(--gold-bright)}.hero-stats{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:28px 0 0;padding:0}.hero-stats li{display:flex;flex-direction:column;gap:2px;padding:10px 18px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(231,207,142,.28);backdrop-filter:blur(4px)}.hero-stats b{font-family:var(--font-display);font-size:1.5rem;font-weight:900;line-height:1;background:linear-gradient(180deg,var(--gold-bright),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-stats span{font-size:.76rem;color:#ffffffc7}.hero-skyline{position:absolute;left:0;right:0;bottom:0;height:clamp(80px,12vw,134px);z-index:1;pointer-events:none}.hero-skyline:before,.hero-skyline:after{content:"";position:absolute;left:0;right:0;bottom:0;-webkit-mask-image:var(--skyline);mask-image:var(--skyline);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:bottom;mask-position:bottom}.hero-skyline:before{height:100%;transform:translate(18px) scaleY(1.12);transform-origin:bottom;background:linear-gradient(180deg,#ffffff0d,#e7cf8e0d);opacity:.5}.hero-skyline:after{height:82%;background:linear-gradient(180deg,rgba(231,207,142,.3) 0 2px,transparent 2px),repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0 7px,transparent 7px 15px),linear-gradient(180deg,#0d11171a,#0d11176b)}.home-hero{--skyline: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 200" preserveAspectRatio="none"%3E%3Cg fill="%23000"%3E%3Crect x="20" y="120" width="60" height="80"/%3E%3Crect x="92" y="80" width="46" height="120"/%3E%3Crect x="150" y="140" width="54" height="60"/%3E%3Crect x="214" y="40" width="40" height="160"/%3E%3Crect x="262" y="100" width="64" height="100"/%3E%3Crect x="338" y="150" width="48" height="50"/%3E%3Crect x="396" y="70" width="44" height="130"/%3E%3Crect x="450" y="20" width="34" height="180"/%3E%3Crect x="494" y="110" width="58" height="90"/%3E%3Crect x="562" y="60" width="50" height="140"/%3E%3Crect x="622" y="130" width="56" height="70"/%3E%3Crect x="688" y="50" width="38" height="150"/%3E%3Crect x="734" y="100" width="60" height="100"/%3E%3Crect x="804" y="0" width="30" height="200"/%3E%3Crect x="844" y="90" width="52" height="110"/%3E%3Crect x="906" y="140" width="48" height="60"/%3E%3Crect x="964" y="60" width="44" height="140"/%3E%3Crect x="1018" y="120" width="62" height="80"/%3E%3Crect x="1090" y="80" width="46" height="120"/%3E%3C/g%3E%3C/svg%3E')}@media (max-width: 640px){.hero-stats li{flex:1 1 40%}}.section-head{margin:40px 0 4px}.section-head h2{display:flex;align-items:center;gap:12px;font-size:clamp(1.2rem,2.6vw,1.5rem);margin:0}.section-head h2:before{content:"";width:6px;height:1.1em;border-radius:3px;background:linear-gradient(var(--brand),var(--gold))}.section-head p{color:var(--text-muted);margin:8px 0 0;font-size:.9rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:12px 0 56px}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:3;background:var(--gold-grad);opacity:0;transition:opacity .22s ease}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-hover)}.card:hover:before{opacity:1}.card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.card .thumb{aspect-ratio:16 / 9;background:linear-gradient(135deg,#cfdcf0,#e9eef6);display:grid;place-items:center;color:var(--brand);font-weight:700;font-size:1.6rem}.card .thumb-img{padding:0}.card .thumb-img img{width:100%;height:100%;object-fit:cover}.card .thumb-fallback{background:radial-gradient(120% 120% at 80% -10%,rgba(31,95,174,.16),transparent 60%),linear-gradient(135deg,#dbe6f6,#eef2f9);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:0 22px;color:var(--text)}.card .thumb-fallback .thumb-type{font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--brand);background:#ffffffb3;padding:2px 10px;border-radius:999px}.card .thumb-fallback .thumb-area{font-size:1.25rem;font-weight:800;line-height:1.2}.card .thumb-fallback .thumb-height{font-size:.85rem;font-weight:700;color:var(--text-muted)}.card .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}.card h3{margin:0;font-size:1.05rem;line-height:1.45}.card .meta{color:var(--text-muted);font-size:.82rem}.card .summary{color:var(--text-muted);font-size:.9rem;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 9px;border-radius:999px}.badge.office{background:var(--brand-soft);color:var(--brand)}.badge.residence{background:#fbf0e1;color:var(--accent)}.badge.unverified{background:#fdeaea;color:#c0392b}.taglist{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:.8rem;background:#eef1f6;color:var(--text-muted);padding:3px 10px;border-radius:999px}.tag:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}.article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px clamp(20px,5vw,48px);margin:28px 0 48px}.article h1{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.4;margin:6px 0 16px}.article h2{margin-top:2em;border-left:4px solid var(--brand);padding-left:12px}.article img{max-width:100%;border-radius:12px}.article .lead{color:var(--text-muted)}.about-meta{margin:20px 0 8px;padding:16px 18px;background:var(--bg);border-radius:12px;display:grid;gap:8px}.about-meta>div{display:flex;gap:14px;align-items:baseline}.about-meta dt{flex:none;width:6.5em;font-size:.82rem;font-weight:700;color:var(--text-muted);margin:0}.about-meta dd{margin:0}.hero-figure{margin:18px 0 8px}.hero-figure img{width:100%;max-height:460px;object-fit:cover;border-radius:14px;display:block}.hero-figure figcaption{font-size:.74rem;color:var(--text-muted);margin-top:6px;text-align:right}.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:24px 0;padding:18px;background:var(--bg);border-radius:12px}.spec dt{font-size:.8rem;color:var(--text-muted)}.spec dd{margin:2px 0 0;font-weight:700}.breadcrumb{font-size:.85rem;color:var(--text-muted);margin:24px 0 0}.affiliate{margin:36px 0 8px;padding:20px 22px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.affiliate-head{display:flex;align-items:center;gap:10px}.affiliate-head h2{margin:0;border:none;padding:0;font-size:1.1rem}.pr-badge{font-size:.68rem;font-weight:700;color:#fff;background:var(--text-muted);padding:2px 8px;border-radius:4px;letter-spacing:.04em}.affiliate-disclosure{font-size:.76rem;color:var(--text-muted);margin:8px 0 12px}.affiliate-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}.affiliate-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 16px;font-weight:700;color:var(--text);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.affiliate-list a:hover{border-color:var(--brand);transform:translateY(-1px)}.aff-note{font-size:.78rem;font-weight:600;color:var(--brand);white-space:nowrap}.related{margin:36px 0 8px}.related h2{border:none;padding:0;margin:0;font-size:1.1rem}.related-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}.related-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 16px;font-weight:700;color:var(--text);text-decoration:none;transition:border-color .15s ease,transform .15s ease}.related-list a:hover{border-color:var(--brand);transform:translateY(-1px)}.related-area{font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.coming-soon{margin:28px 0;padding:40px 24px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:14px;color:var(--text-muted)}.coming-soon-badge{display:inline-block;margin-bottom:12px;padding:6px 16px;border-radius:999px;background:var(--brand);color:#fff;font-weight:800;letter-spacing:.04em}.cat-list{display:grid;gap:12px;margin:24px 0}.cat-card{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.cat-card:hover{border-color:var(--brand);transform:translateY(-1px)}.cat-card-title{font-weight:700;color:var(--text)}.cat-card-summary{font-size:.85rem;color:var(--text-muted)}.ranking-list{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.ranking-list li{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 18px}.rank-no{flex:none;width:40px;height:40px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:#fff;background:var(--brand)}.ranking-list li:first-child .rank-no{background:#d4af37}.ranking-list li:nth-child(2) .rank-no{background:#9aa3ad}.ranking-list li:nth-child(3) .rank-no{background:#b08d57}.rank-body{display:flex;flex-direction:column;gap:2px}.rank-name{font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none}.rank-name:hover{color:var(--brand)}.rank-meta{font-size:.85rem;color:var(--text-muted)}.rank-note{font-size:.78rem;color:var(--text-muted);margin-top:20px}.site-footer{position:relative;margin-top:64px;padding:48px 0 44px;color:#ffffffa8;font-size:.85rem;background:radial-gradient(700px 300px at 90% -40%,rgba(231,207,142,.1),transparent 60%),linear-gradient(180deg,var(--ink-2),var(--ink))}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold-bright) 50%,var(--gold) 70%,transparent);opacity:.8}.footer-cols{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:28px 24px}.footer-brand .brand{font-size:1.1rem;color:#fff}.footer-brand .brand span{color:var(--gold-bright)}.footer-col h2{font-size:.8rem;font-weight:700;color:#fff;margin:0 0 10px;border:none;padding:0;letter-spacing:.02em}.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.footer-col a{color:#ffffff9e}.footer-col a:hover{color:var(--gold-bright);text-decoration:none}.disclaimer{font-size:.78rem;color:#ffffff8c;margin-top:8px;max-width:42ch}.footer-bottom{margin-top:28px;padding-top:18px;font-size:.8rem;color:#ffffff80;border-top:1px solid rgba(255,255,255,.1)}.skip-link{position:absolute;left:12px;top:-48px;z-index:100;background:var(--brand);color:#fff;padding:8px 16px;border-radius:8px;font-weight:700;transition:top .15s ease}.skip-link:focus{top:12px;text-decoration:none}@media (max-width: 760px){.footer-cols{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}@media (max-width: 680px){.site-header .inner{height:auto;flex-direction:column;align-items:stretch;gap:6px;padding:10px 0}.nav{margin:0 -20px;padding:0 20px 2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{margin-left:0;margin-right:16px;white-space:nowrap;flex:none}.nav .lang-switch{margin-right:0}}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.js [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.js [data-reveal]{opacity:1!important;transform:none!important;transition:none}.home-hero:before{animation:none}.btn:hover,.card:hover{transform:none}html{scroll-behavior:auto}}
