/* Monochrome bloom, quiet logo ribbons and consistent interaction feedback. */
:root{--sakura:#f0bdcd;--sakura-ink:#99465f;--sakura-light:#f8d2dd;--sakura-wash:#fff3f6;--sakura-on-fill:#49323b;--hover-ink:var(--sakura-ink);--hover-fill:var(--sakura);--hover-focus:#b55e7a;--hover-logo-filter:brightness(0) saturate(100%) invert(35%) sepia(26%) saturate(1033%) hue-rotate(291deg) brightness(95%) contrast(86%)}
:is(a[href],button,summary,select,input,textarea){transition:color .25s ease,background-color .25s ease,border-color .25s ease,filter .25s ease}
:is(a[href],button:not(:disabled),summary,select,input:is([type=radio],[type=checkbox],[type=submit],[type=button]),label:has(input:is([type=radio],[type=checkbox]))){cursor:pointer}
:is(.home-hero,.photo-panel,.visual-service,.company-photo-card,.visual-guide,.site-menu,.site-footer,.mobile-consult,.service-dark,.broker-hero,.sell-story,.relocation-story,.brand-opening){--hover-ink:var(--sakura-light);--hover-logo-filter:brightness(0) saturate(100%) invert(89%) sepia(17%) saturate(600%) hue-rotate(293deg) brightness(102%) contrast(95%)}
body[data-page=home] .site-header:not(.on-paper){--hover-ink:var(--sakura-light);--hover-logo-filter:brightness(0) saturate(100%) invert(89%) sepia(17%) saturate(600%) hue-rotate(293deg) brightness(102%) contrast(95%)}
:is(a[href],button:not(:disabled),summary):is(:hover,:focus-visible){color:var(--hover-ink)!important}
:is(a[href],button:not(:disabled),summary):is(:hover,:focus-visible) :is(h2,h3,strong,.brand-icon,.card-link,.meta,.photo-link,.photo-secondary,.news-title,.news-category,.record-title){color:inherit!important}
:is(.button,.header-contact,button[type=submit],button[type=button].button):is(:hover,:focus-visible){background:var(--hover-fill)!important;border-color:var(--hover-fill)!important;color:var(--sakura-on-fill)!important}
:is(.under-link,.photo-link,.photo-secondary,.footer-replay,.opening-skip):is(:hover,:focus-visible){border-bottom-color:currentColor!important}
.home-door:is(:hover,:focus-visible):after{color:inherit}.home-door:is(:hover,:focus-visible)>span:not(.brand-icon){color:inherit}
a[href]:is(:hover,:focus-visible) img,:is(.catalog-photo,.gallery-photo,.gallery-item,[data-full]):is(:hover,:focus-visible) img{filter:brightness(.87) saturate(.85)}
a.brand img{transition:filter .25s ease}a.brand:is(:hover,:focus-visible) img{filter:var(--hover-logo-filter)!important}
:is(input:not([type=radio],[type=checkbox]),select,textarea):not(:disabled):is(:hover,:focus-visible){border-color:var(--hover-focus)!important;background-color:var(--sakura-wash)!important}
:is(input[type=checkbox],input[type=radio]){accent-color:var(--hover-focus)}
.type-grid label:has(input:is(:hover,:focus-visible)) span,.type-grid label:hover span{background:var(--sakura-wash);border-color:var(--hover-focus);color:var(--sakura-ink)}
label:has(input[type=checkbox]):hover{color:var(--hover-ink)}
.mobile-consult a:is(:hover,:focus-visible){background:#4d3842!important;color:var(--sakura-light)!important}
.news-row:is(:hover,:focus-visible){opacity:1;background:var(--sakura-wash)}
.faq-list summary:is(:hover,:focus-visible){background:var(--sakura-wash)}.faq-list summary:is(:hover,:focus-visible)>span{color:inherit}
.slide-controls button:is(:hover,:focus-visible):after{background:currentColor!important}
.ribbon-motion:is(:hover,:focus-visible){background:#fff!important;color:#252525!important;border-color:#777!important;opacity:1}
/* Duplicate equal-width groups give the ribbon a seamless return point. */
.logo-ribbon{position:relative;overflow:hidden;padding:32px 0;color:#777;isolation:isolate;background:transparent}
.logo-ribbon:before,.logo-ribbon:after{content:'';position:absolute;inset:0 auto 0 0;width:5%;z-index:1;pointer-events:none;background:linear-gradient(90deg,#fff,transparent)}
.logo-ribbon:after{left:auto;right:0;transform:rotate(180deg)}
.logo-ribbon-track{display:flex;width:max-content;animation:logo-ribbon-flow var(--ribbon-duration,58s) linear infinite;animation-play-state:paused;will-change:transform}
.logo-ribbon.in-view .logo-ribbon-track{animation-play-state:running}
.logo-ribbon-group{display:flex;align-items:center;gap:72px;padding-right:72px;flex-shrink:0;min-width:100vw}
.logo-ribbon-group img{width:244px;height:37px;max-width:none;object-fit:contain;opacity:.16;flex-shrink:0;filter:grayscale(1)}
.ribbon-motion{position:absolute;right:18px;bottom:6px;width:26px;height:26px;padding:5px;display:grid;place-items:center;background:#ffffffd9;color:#6e726e;border:1px solid #d9dcd7;border-radius:50%;z-index:2;opacity:.65}
.ribbon-motion svg{width:14px;height:14px}.ribbon-play{display:none}
.ribbons-stopped .ribbon-pause{display:none}.ribbons-stopped .ribbon-play{display:block}
.ribbons-stopped .logo-ribbon-track,.ribbons-hidden .logo-ribbon-track{animation-play-state:paused!important}
.logo-ribbon-news{margin-top:22px}.logo-ribbon-news+.home-news{padding-top:30px}
.home-contact{padding-top:0}.logo-ribbon-contact{padding-block:34px;margin-bottom:52px}
.logo-ribbon-contact:before,.logo-ribbon-contact:after{background:linear-gradient(90deg,#f1f3ee,transparent)}
@keyframes logo-ribbon-flow{to{transform:translateX(-50%)}}
/* Supplied flower and calligraphic 咲家 artwork on black. */
html.opening-active{overflow:hidden}
.brand-opening.opening-monochrome{background:#090909;color:#fff;animation:opening-exit .6s 3s ease both}
.opening-monochrome .opening-center{position:relative;display:flex;flex-direction:column;align-items:center}
.opening-halo{position:absolute;width:min(110vw,850px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#ffffff08,transparent 67%);pointer-events:none;animation:mono-halo 2.7s ease both}
.opening-monochrome .opening-symbol{width:76px;height:76px;margin:0 auto 30px;overflow:visible}
.opening-monochrome .opening-symbol path{fill:#fff!important;transform-box:view-box;transform-origin:center;animation:mono-petal 1.6s cubic-bezier(.2,.65,.25,1) both}
.opening-monochrome .opening-symbol path:nth-of-type(2){animation-delay:.18s}.opening-monochrome .opening-symbol path:nth-of-type(3){animation-delay:.36s}
.opening-signature{width:102px;height:196px;object-fit:contain;filter:brightness(0) invert(1);animation:signature-emerge 1.65s .5s ease both}
.opening-name{margin-top:30px;font:500 11px var(--display);letter-spacing:.32em;animation:mono-emerge 1.2s 1s ease both}
.opening-monochrome .opening-center p{color:#c5c5c5;font:500 11px var(--display);letter-spacing:.15em;margin-top:18px;animation:mono-emerge 1.3s 1.15s ease both}
.opening-monochrome .opening-skip{color:#b6b6b6;border-color:#555;--hover-ink:#fff;font-size:11px}
.opening-monochrome .opening-skip:focus-visible{outline:1px solid #8d8d8d;outline-offset:7px}
@keyframes mono-petal{0%{opacity:0;transform:scale(.35) rotate(-18deg)}55%{opacity:.75}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes signature-emerge{from{opacity:0;filter:brightness(0) invert(1) blur(3px)}to{opacity:1;filter:brightness(0) invert(1) blur(0)}}
@keyframes mono-emerge{from{opacity:0}to{opacity:1}}
@keyframes mono-halo{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}
@media(max-width:800px){.logo-ribbon{padding-block:29px}.logo-ribbon-group{gap:45px;padding-right:45px}.logo-ribbon-group img{width:190px;height:29px}.logo-ribbon-news{margin-top:10px}.logo-ribbon-news+.home-news{padding-top:24px}.logo-ribbon-contact{margin-bottom:36px}.home-contact{padding-top:0}.ribbon-motion{right:12px;bottom:2px}.opening-monochrome .opening-symbol{width:66px;height:66px;margin-bottom:25px}.opening-signature{width:92px;height:177px}.opening-name{font-size:10px;margin-top:26px}.opening-monochrome .opening-center p{font-size:10px;letter-spacing:.11em}}
@media(prefers-reduced-motion:reduce){.logo-ribbon-track{animation:none!important;transform:none}.ribbon-motion{display:none}.home-hero h1 .hero-message{transition:none!important}.home-hero h1 .hero-message:not(.is-current){visibility:hidden;opacity:0}.brand-opening.opening-monochrome{display:none!important}}
