html,body{margin:0;padding:0}:root{--bg-0:#080c18;--bg-1:#0a0f1e;--bg-2:#101830;--bg-3:#16203a;--surface:#ffffff09;--surface-strong:#ffffff0f;--gold:#c9a45c;--gold-soft:#e0c489;--gold-dim:#c9a45c66;--text:#eef1f8;--text-sub:#9aa5bd;--text-faint:#6c7793;--line:#ffffff17;--line-strong:#ffffff29;--radius:14px;--maxw:1040px;--font-sans:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;--font-mincho:"Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-serif-en:"Cormorant Garamond", "Shippori Mincho", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{font-family:var(--font-sans);color:var(--text);background:var(--bg-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.85;overflow-x:hidden}::selection{background:var(--gold-dim);color:#fff}body:after{content:"";z-index:9998;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.scroll-progress{z-index:9999;background:#ffffff0d;height:2px;position:fixed;top:0;left:0;right:0}.scroll-progress span{transform-origin:0;background:linear-gradient(90deg, var(--gold), var(--gold-soft));height:100%;display:block;box-shadow:0 0 12px #c9a45c99}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transition:none;transform:none}}.site-header{z-index:20;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:16px 32px;transition:background .3s,border-color .3s,padding .3s;display:flex;position:sticky;top:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line);background:#0a0f1ed1;padding:12px 32px}.brand{color:var(--text);align-items:center;gap:11px;text-decoration:none;display:flex}.brand-name{letter-spacing:.08em;font-size:1.08rem;font-weight:700}.star-mark{width:22px;height:22px;color:var(--gold);filter:drop-shadow(0 0 6px #c9a45c8c);flex-shrink:0}.brand-logo{object-fit:contain;filter:drop-shadow(0 0 8px #c9a45c73);flex-shrink:0;width:30px;height:30px}.hero-logo{filter:drop-shadow(0 4px 22px #c9a45c66);width:clamp(96px,15vw,140px);height:auto;margin:0 auto 26px;animation:1.1s cubic-bezier(.2,.7,.2,1) both heroLogoIn;display:block}@keyframes heroLogoIn{0%{opacity:0;transform:translateY(16px)scale(.9)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-logo{animation:none}}.site-nav{flex-wrap:wrap;gap:4px 26px;display:flex}.site-nav a{color:var(--text-sub);letter-spacing:.04em;padding:4px 0;font-size:.9rem;text-decoration:none;transition:color .2s;position:relative}.site-nav a:after{content:"";background:var(--gold);transform-origin:0;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.site-nav a:hover,.site-nav a.is-active{color:var(--gold-soft)}.site-nav a:hover:after,.site-nav a.is-active:after{transform:scaleX(1)}.hero{text-align:center;background:radial-gradient(ellipse 90% 60% at 50% 8%, #7fb8e614, transparent 60%), linear-gradient(180deg, #070b16 0%, var(--bg-1) 42%, var(--bg-2) 100%);justify-content:center;align-items:center;min-height:100svh;margin-top:-76px;padding:120px 24px 100px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-slide{opacity:0;background-position:50% 55%;background-repeat:no-repeat;background-size:cover;transition:opacity 2s;position:absolute;inset:0}.hero-slide.is-active{opacity:1;animation:8.5s ease-out forwards kenburns}@keyframes kenburns{0%{transform:scale(1.02)}to{transform:scale(1.12)}}.hero-shade{background:linear-gradient(#060912ad 0%,#080c18cc 52%,#080c18f2 100%);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.hero-slide{transition:none;animation:none}.hero-slide.is-active{animation:none}}.hero-sky{pointer-events:none;background-image:radial-gradient(1.4px 1.4px at 12% 22%,#ffffffe6,#0000),radial-gradient(1px 1px at 28% 14%,#ffffffb3,#0000),radial-gradient(1.6px 1.6px at 42% 34%,#e0c489cc,#0000),radial-gradient(1px 1px at 58% 12%,#fff9,#0000),radial-gradient(1.3px 1.3px at 68% 28%,#ffffffd9,#0000),radial-gradient(1px 1px at 82% 18%,#ffffffb3,#0000),radial-gradient(1.5px 1.5px at 90% 40%,#ffffffbf,#0000),radial-gradient(1px 1px at 20% 46%,#ffffff8c,#0000),radial-gradient(1.2px 1.2px at 75% 52%,#fff9,#0000),radial-gradient(1px 1px at 50% 60%,#ffffff73,#0000);animation:6s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{0%{opacity:.55}to{opacity:1}}.polaris{background:#fff;border-radius:50%;width:6px;height:6px;animation:4.5s ease-in-out infinite pulse;position:absolute;top:20%;left:50%;transform:translate(-50%);box-shadow:0 0 8px 2px #ffffffe6,0 0 26px 6px #e0c489b3,0 0 60px 16px #c9a45c59}@keyframes pulse{0%,to{opacity:.85;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.35)}}.cityglow{background:radial-gradient(50% 100% at 50% 100%,#c9a45c38,#7fb8e614 45%,#0000 72%);width:140%;height:45%;position:absolute;bottom:-18%;left:50%;transform:translate(-50%)}.hero-inner{z-index:1;max-width:900px;animation:1s cubic-bezier(.2,.7,.2,1) both heroRise;position:relative}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-sky,.polaris,.hero-inner{animation:none}}.hero-en{font-family:var(--font-serif-en);color:var(--gold-soft);letter-spacing:.3em;text-transform:uppercase;margin:0 0 22px;font-size:1.05rem;font-weight:500}.hero-title{font-family:var(--font-mincho);color:#fff;letter-spacing:.08em;text-shadow:0 2px 30px #00000080;margin:0 0 26px;font-size:clamp(2rem,6vw,4rem);font-weight:600;line-height:1.45}.hero-title .char{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);display:inline-block;transform:translateY(.5em)}.hero-title.is-in .char{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.hero-title .char{opacity:1;transition:none;transform:none}}.hero-lead{color:var(--text-sub);max-width:600px;margin:0 auto 42px;font-size:1rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.hero-scroll{border:1px solid var(--line-strong);z-index:1;border-radius:14px;width:24px;height:40px;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.hero-scroll span{background:var(--gold);border-radius:2px;width:4px;height:8px;margin-left:-2px;animation:1.8s ease-in-out infinite scrollDot;position:absolute;top:8px;left:50%}@keyframes scrollDot{0%{opacity:0;transform:translateY(0)}40%{opacity:1}80%{opacity:0;transform:translateY(14px)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-scroll span{animation:none}}.btn{letter-spacing:.06em;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:14px 36px;font-size:.95rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s,color .2s;display:inline-block}.btn-primary{background:linear-gradient(135deg, var(--gold-soft), var(--gold));color:#1a1204;box-shadow:0 6px 22px #c9a45c47}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 32px #c9a45c6b}.btn-ghost{border-color:var(--line-strong);color:var(--text);background:#ffffff05}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft);transform:translateY(-3px)}.btn:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}.section{max-width:var(--maxw);margin:0 auto;padding:100px 24px;position:relative}.section-alt{background:linear-gradient(180deg, var(--bg-1), var(--bg-2));border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}.section-alt>*{max-width:var(--maxw);margin-left:auto;margin-right:auto}.section-head{text-align:center;margin-bottom:8px}.overline{align-items:center;gap:14px;margin:0 0 16px;display:inline-flex}.overline-num{font-family:var(--font-serif-en);color:var(--gold);letter-spacing:.08em;font-size:1rem}.overline-line{background:linear-gradient(90deg, var(--gold), transparent);width:42px;height:1px}.overline-en{font-family:var(--font-serif-en);color:var(--text-sub);letter-spacing:.32em;text-transform:uppercase;font-size:.95rem}.section-title{color:#fff;letter-spacing:.12em;text-align:center;margin:0;font-size:clamp(1.6rem,3.6vw,2.15rem);font-weight:700}.showcase-panel{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.showcase-img{object-fit:cover;width:100%;height:100%;transition:transform 2.4s cubic-bezier(.16,.7,.2,1);position:absolute;inset:0;transform:scale(1.08)}.showcase-panel.is-shown .showcase-img{transform:scale(1)}.showcase-shade{pointer-events:none;background:linear-gradient(#080c1859,#0000 30%),linear-gradient(#0000 42%,#080c18d1);position:absolute;inset:0}.showcase-caption{z-index:1;opacity:0;max-width:760px;padding:0 clamp(24px,7vw,96px) clamp(56px,9vh,110px);transition:opacity .9s .25s,transform .9s cubic-bezier(.2,.7,.2,1) .25s;position:relative;transform:translateY(28px)}.showcase-panel.is-shown .showcase-caption{opacity:1;transform:none}.showcase-en{font-family:var(--font-serif-en);color:var(--gold-soft);letter-spacing:.34em;text-transform:uppercase;margin:0 0 14px;font-size:.95rem}.showcase-title{font-family:var(--font-mincho);letter-spacing:.08em;color:#fff;text-shadow:0 2px 26px #0009;margin:0 0 14px;font-size:clamp(1.7rem,4.4vw,3rem);font-weight:600;line-height:1.4}.showcase-body{color:#eef1f8d9;letter-spacing:.04em;text-shadow:0 1px 12px #0009;margin:0;font-size:.98rem}@media (prefers-reduced-motion:reduce){.showcase-img,.showcase-caption{opacity:1;transition:none;transform:none}}.reach{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:64px;padding:26px 0;overflow:hidden}.reach-caption{text-align:center;font-family:var(--font-serif-en);letter-spacing:.34em;color:var(--gold);margin:0 0 20px;font-size:.82rem}.reach-track{width:100%;display:flex;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.reach-move{flex-shrink:0;gap:56px;padding-right:56px;animation:26s linear infinite reachScroll;display:flex}@keyframes reachScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.reach-item{align-items:center;gap:56px;display:inline-flex}.reach-en{font-family:var(--font-serif-en);letter-spacing:.14em;color:#fff;font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:600}.reach-ja{letter-spacing:.16em;color:var(--gold-soft);font-size:.85rem}.reach-dot{background:var(--gold);border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #c9a45cb3}@media (prefers-reduced-motion:reduce){.reach-move{animation:none}}.section-lead{text-align:center;color:var(--text-sub);max-width:640px;margin:0 auto 40px}.section-note{text-align:center;color:var(--text-faint);margin-top:32px;font-size:.9rem}#recruit{text-align:center}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin-top:52px;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px 28px;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s;position:relative;overflow:hidden}.card:before{content:"";border-radius:inherit;background:linear-gradient(140deg, var(--gold-dim), transparent 45%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card:hover{background:var(--surface-strong);border-color:#0000;transform:translateY(-6px);box-shadow:0 18px 40px #0006}.card:hover:before{opacity:1}.card h3{color:#fff;letter-spacing:.04em;margin:0 0 10px;font-size:1.14rem}.card p{color:var(--text-sub);margin:0;font-size:.92rem}.service-card,.property-card{flex-direction:column;padding:0;display:flex}.card-photo{aspect-ratio:16/10;background:linear-gradient(160deg, var(--bg-3), var(--bg-2));position:relative;overflow:hidden}.card-photo img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.card:hover .card-photo img{transform:scale(1.06)}.card-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 52%,#0a0f1e99);position:absolute;inset:0}.card-index{z-index:1;font-family:var(--font-serif-en);letter-spacing:.06em;color:#ffffffe6;text-shadow:0 2px 8px #000000b3;font-size:1.15rem;position:absolute;top:12px;right:16px}.card-body{padding:24px 26px 30px}.service-card .service-icon{z-index:1;width:34px;height:34px;color:var(--gold);filter:drop-shadow(0 2px 6px #000000a6);position:absolute;bottom:16px;left:20px}.property-meta{letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:700;color:var(--gold)!important;margin:0 0 8px!important}.about-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:720px;margin:52px auto 0;overflow:hidden}.about-table{border-collapse:collapse;width:100%}.about-table th,.about-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:18px 22px;font-size:.95rem}.about-table tr:last-child th,.about-table tr:last-child td{border-bottom:none}.about-table th{width:30%;color:var(--gold-soft);white-space:nowrap;letter-spacing:.04em;font-weight:700}.about-table td{color:var(--text)}.contact-form{flex-direction:column;gap:22px;max-width:580px;margin:0 auto;display:flex}.contact-form label{color:var(--text);letter-spacing:.03em;flex-direction:column;gap:9px;font-size:.92rem;font-weight:700;display:flex}.contact-form input,.contact-form textarea{font:inherit;color:var(--text);border:1px solid var(--line-strong);background:#00000040;border-radius:10px;padding:14px 16px;font-weight:400;transition:border-color .2s,box-shadow .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-faint)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c9a45c33}.contact-form .btn{align-self:center;min-width:240px}.form-note{text-align:center;color:var(--text-faint);margin:0;font-size:.82rem}.site-footer{border-top:1px solid var(--line);text-align:center;color:var(--text-faint);background:var(--bg-0);flex-direction:column;align-items:center;gap:14px;padding:44px 24px;font-size:.85rem;display:flex}.footer-brand{color:var(--text-sub)}.site-footer p{margin:0}@media (width<=720px){.site-header{flex-direction:column;align-items:center;gap:10px;padding:12px 16px}.site-header.is-scrolled{padding:10px 16px}.site-nav{justify-content:center;gap:2px 18px}.hero{margin-top:-110px;padding:150px 20px 90px}.section{padding:72px 20px}.about-table th,.about-table td{padding:14px 16px}.about-table th{width:36%}.reach-move{gap:40px;padding-right:40px}.reach-item{gap:40px}}
