:root{--pink:#ef7f9b;--deep:#d95478;--blush:#fff0f3;--cream:#fffaf7;--ink:#523b40;--muted:#806970;--line:#f0dce1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP",sans-serif;background:var(--cream);font-size:16px;line-height:1.9;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.header{height:94px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%}.brand{display:flex;align-items:center;gap:12px;font-family:"Kaisei Decol",serif;font-size:1.2rem;font-weight:700;line-height:1.3}.brand small{display:block;font:500 .68rem "Noto Sans JP";letter-spacing:.25em;color:var(--deep)}.brand-mark{width:46px;height:46px;border-radius:50% 50% 45% 55%;display:grid;place-items:center;background:var(--deep);color:white;font-size:1.5rem;box-shadow:inset 0 0 0 3px #fff5}.header nav{display:flex;align-items:center;gap:2vw;font-size:.86rem;font-weight:700}.header nav a:not(.nav-cta):hover{color:var(--deep)}.nav-cta{background:var(--deep);color:white;padding:13px 22px;border-radius:999px}.menu{display:none}.hero{min-height:760px;height:100vh;max-height:960px;background:linear-gradient(115deg,#fffaf7 0 47%,#ffe9ee 47% 100%);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:100px 8vw 50px;position:relative;overflow:hidden}.hero:after{content:"FUKUMUSUBI";position:absolute;bottom:-48px;left:3vw;font:700 clamp(5rem,13vw,12rem) "Kaisei Decol";color:#f7cbd5;opacity:.33;letter-spacing:.02em}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label{font-size:.72rem;letter-spacing:.28em;font-weight:700;color:var(--deep)}.hero h1{font:700 clamp(2.8rem,5vw,5rem)/1.45 "Kaisei Decol",serif;margin:18px 0 24px;letter-spacing:.06em}.hero h1 em{font-style:normal;color:var(--deep);position:relative}.hero h1 em:after{content:"";height:9px;background:#f9c4d0;border-radius:50%;position:absolute;bottom:0;left:-5%;width:110%;z-index:-1}.hero-copy>p:not(.eyebrow){color:var(--muted);font-weight:500}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:16px 23px;background:var(--deep);color:white;border-radius:999px;font-weight:700;box-shadow:0 12px 28px #d9547830;transition:.25s}.button:hover{transform:translateY(-3px);box-shadow:0 16px 32px #d9547845}.text-link{border-bottom:1px solid var(--ink);font-weight:700;font-size:.9rem}.hero-visual{position:relative;z-index:1;margin:0;align-self:end}.hero-visual img{position:relative;width:min(650px,48vw);filter:drop-shadow(0 25px 20px #bc6d8120);animation:float 4s ease-in-out infinite}.hero-visual .blob{position:absolute;width:85%;aspect-ratio:1;background:#fff8;border-radius:48% 52% 57% 43%/49% 38% 62% 51%;left:8%;top:6%;animation:morph 8s ease-in-out infinite}.hero-visual figcaption{position:absolute;right:3%;bottom:8%;display:flex;flex-direction:column;gap:6px}.hero-visual figcaption span{background:white;padding:5px 15px;border-radius:99px;font-size:.78rem;font-weight:700;box-shadow:0 5px 18px #6d3d4918}.scroll{position:absolute;bottom:32px;left:4vw;font-size:.63rem;letter-spacing:.25em;writing-mode:vertical-rl}.scroll span{color:var(--deep);margin-top:8px}.petals i{position:absolute;width:12px;height:20px;background:#f3a8b9;border-radius:80% 0 80% 0;opacity:.55;animation:fall linear infinite}.petals i:nth-child(1){left:12%;top:-5%;animation-duration:8s}.petals i:nth-child(2){left:42%;top:-5%;animation-duration:11s;animation-delay:2s}.petals i:nth-child(3){left:65%;top:-5%;animation-duration:9s;animation-delay:4s}.petals i:nth-child(4){left:83%;top:-5%;animation-duration:13s;animation-delay:1s}.petals i:nth-child(5){left:93%;top:-5%;animation-duration:10s;animation-delay:5s}.section{padding:120px max(7vw,24px);position:relative}.section-label{display:flex;align-items:center;gap:15px}.section-label span{width:50px;height:1px;background:var(--deep)}.message{background:white;overflow:hidden}.message-grid{max-width:1100px;margin:55px auto 0;display:grid;grid-template-columns:1.05fr .95fr;gap:10vw}.kicker{font:500 1rem/1.8 "Kaisei Decol";color:var(--deep);letter-spacing:.12em}.message h2,.service-intro h2,.company h2,.contact h2,.center{font:700 clamp(2rem,3.6vw,3.5rem)/1.55 "Kaisei Decol";letter-spacing:.06em}.body-copy{padding-top:55px;color:var(--muted)}.signature{font-weight:700!important;color:var(--ink);margin-top:30px!important}.signature span{color:var(--deep);margin-left:12px}.peek-pet{position:absolute;object-fit:cover;object-position:top;border-radius:50%;background:var(--blush)}.alan{width:150px;height:150px;right:-35px;bottom:15px;transform:rotate(-8deg)}.values{background:#fff0f3}.values .section-label{justify-content:center}.center{text-align:center}.value-grid{max-width:1100px;margin:60px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value-card{background:white;padding:40px 34px;border-radius:80px 22px 80px 22px;min-height:320px;box-shadow:0 15px 40px #9251650c;transition:.3s}.value-card:hover{transform:translateY(-8px) rotate(-1deg)}.value-card .num{font:.75rem Georgia;color:var(--deep)}.value-card .icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--blush);color:var(--deep);font-size:2rem;margin:20px 0}.value-card h3{font:700 1.4rem "Kaisei Decol";margin:0}.value-card p{color:var(--muted);font-size:.92rem}.services{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:white}.service-intro{position:sticky;top:40px;align-self:start}.service-intro h2{margin-bottom:18px}.service-intro>p{color:var(--muted)}.note,.placeholder-note{font-size:.76rem!important;line-height:1.7;color:#9a7b83!important}.service-row{border-top:1px solid var(--line);padding:38px 10px;display:grid;grid-template-columns:50px 1fr 30px;gap:20px;align-items:start}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row>span{font-family:Georgia;color:var(--deep)}.service-row h3{font:700 1.55rem "Kaisei Decol";margin:0 0 8px}.service-row p{margin:0;color:var(--muted);font-size:.92rem}.service-row b{font-size:1.5rem;color:var(--pink);font-weight:400}.flow{background:#fffaf7;overflow:hidden}.flow .section-label{justify-content:center}.lead{font:inherit}.steps{list-style:none;padding:0;max-width:1100px;margin:60px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}.steps:before{content:"";position:absolute;height:2px;background:var(--line);left:10%;right:10%;top:35px}.steps li{text-align:center;position:relative}.steps b{display:grid;place-items:center;margin:auto;width:70px;height:70px;border-radius:50%;background:var(--deep);color:white;font:italic 1.5rem Georgia;box-shadow:0 0 0 8px #fffaf7}.steps h3{font:700 1.15rem "Kaisei Decol";margin-top:25px}.steps p{font-size:.85rem;color:var(--muted)}.michael{width:135px;height:135px;left:-28px;bottom:5px;transform:rotate(6deg)}.company{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:white;align-items:center}.company-photo{border-radius:120px 25px 120px 25px;background:var(--blush);overflow:hidden;position:relative}.company-photo img{width:100%;aspect-ratio:1.12;object-fit:cover;object-position:center}.company-photo span{position:absolute;bottom:25px;left:25px;background:#fffffff0;padding:15px 22px;border-radius:20px;font:700 1rem/1.6 "Kaisei Decol"}.company-info dl{margin-top:30px}.company-info dl div{display:grid;grid-template-columns:110px 1fr;padding:17px 0;border-bottom:1px solid var(--line)}.company-info dt{font-weight:700}.company-info dd{margin:0;color:var(--muted)}.contact{background:var(--deep);color:white;min-height:520px;display:flex;align-items:center;overflow:hidden}.contact-inner{width:60%;position:relative;z-index:2}.contact .eyebrow{color:#ffd4df}.contact h2{margin:18px 0}.contact-actions{display:flex;align-items:center;gap:35px;margin-top:30px}.button.light{background:white;color:var(--deep)}.phone small{display:block;font-size:.72rem}.phone strong{font:700 1.4rem Georgia;letter-spacing:.04em}.contact>img{position:absolute;width:450px;right:-10px;bottom:-100px;border-radius:50%;opacity:.98}.light-note{color:#ffe0e7!important;margin-top:22px}footer{padding:55px 6vw 30px;background:#473237;color:white;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}footer>div{display:flex;gap:25px;font-size:.8rem}footer>p{grid-column:1/-1;margin:0;font-size:.7rem;color:#cbb8bd}.footer-brand .brand-mark{background:var(--pink)}.footer-brand small{color:#ffb9ca}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-14px) rotate(1deg)}}@keyframes morph{50%{border-radius:38% 62% 43% 57%/54% 55% 45% 46%;transform:rotate(4deg)}}@keyframes fall{to{transform:translate(50px,105vh) rotate(540deg)}}
@media(max-width:850px){.header{height:76px;padding:0 20px;position:fixed;background:#fffdfacc;backdrop-filter:blur(12px)}.brand{font-size:1rem}.brand-mark{width:40px;height:40px}.menu{display:flex;width:43px;height:43px;border:0;border-radius:50%;background:var(--deep);flex-direction:column;justify-content:center;align-items:center;gap:4px;z-index:2}.menu span{width:17px;height:2px;background:white;transition:.25s}.header nav{position:fixed;inset:0;background:#fff8fa;display:flex;flex-direction:column;justify-content:center;gap:28px;font-size:1.05rem;transform:translateX(100%);transition:.35s}.header.open nav{transform:none}.header.open .menu span:first-child{transform:translateY(6px) rotate(45deg)}.header.open .menu span:nth-child(2){opacity:0}.header.open .menu span:last-child{transform:translateY(-6px) rotate(-45deg)}.hero{height:auto;min-height:820px;display:flex;flex-direction:column;padding:120px 24px 55px;background:linear-gradient(165deg,#fffaf7 0 55%,#ffe9ee 55% 100%)}.hero h1{font-size:clamp(2.3rem,11vw,3.5rem)}.hero-copy>p br{display:none}.hero-actions{gap:18px;flex-wrap:wrap;margin-top:25px}.button{gap:20px;padding:13px 19px}.hero-visual{margin:20px -35px -15px 30px}.hero-visual img{width:100%;max-width:520px}.hero-visual figcaption{right:10%}.scroll{display:none}.section{padding:85px 24px}.message-grid,.services,.company{grid-template-columns:1fr;gap:45px}.body-copy{padding-top:0}.message h2,.service-intro h2,.company h2,.contact h2,.center{font-size:clamp(1.8rem,8vw,2.7rem)}.value-grid{grid-template-columns:1fr}.value-card{min-height:auto;border-radius:60px 18px;padding:32px}.service-intro{position:static}.steps{grid-template-columns:1fr 1fr;row-gap:35px}.steps:before{display:none}.steps b{width:58px;height:58px}.company-photo{border-radius:70px 20px}.company-info dl div{grid-template-columns:90px 1fr}.contact{padding-bottom:280px;min-height:700px}.contact-inner{width:100%}.contact-actions{align-items:flex-start;flex-direction:column}.contact>img{width:360px;right:-45px;bottom:-70px}footer{grid-template-columns:1fr}footer>div{flex-direction:column;gap:10px}footer>p{grid-column:auto}.peek-pet{width:100px;height:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Character motion layer */
.hero-visual .hero-pair{position:relative;width:min(650px,48vw);filter:drop-shadow(0 25px 20px #bc6d8120);animation:float 4s ease-in-out infinite}
.hero-runner{position:absolute!important;width:105px!important;height:105px;object-fit:contain;object-position:center;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 12px 18px #bd748832);z-index:3}
.hero-alan{left:-3%;bottom:8%;animation:runner 5s ease-in-out infinite}.hero-michael{right:-2%;top:11%;animation:runner 5s ease-in-out infinite reverse}
.peek-pet{box-shadow:0 12px 32px #d9547820}.bob{animation:bob 3s ease-in-out infinite}.slide-pet{animation:peek 4s ease-in-out infinite}
.mascot-parade{height:150px;background:linear-gradient(90deg,#fff8fa,#ffe5ec,#fff8fa);overflow:hidden;border-block:1px dashed #efb7c5}
.parade-track{width:max-content;height:100%;display:flex;align-items:center;gap:42px;animation:parade 25s linear infinite}
.parade-track img{width:125px;height:125px;object-fit:cover;object-position:top;border-radius:50%;background:#fff}.parade-track span{font:700 1.05rem "Kaisei Decol";color:var(--deep);letter-spacing:.15em}
.service-row{padding:30px 10px;grid-template-columns:50px 1fr 92px;align-items:center}.service-mascot{width:88px;height:88px;object-fit:cover;object-position:top;border-radius:50%;background:var(--blush);transition:.25s}.service-row:hover .service-mascot{transform:scale(1.1)}
.hop{animation:hop 2.8s ease-in-out infinite}.sway{animation:sway 3.2s ease-in-out infinite}.roll{animation:roll 5s ease-in-out infinite}
@keyframes runner{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-18px) rotate(5deg)}}
@keyframes bob{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-12px)}}
@keyframes parade{to{transform:translateX(-50%)}}@keyframes hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}@keyframes roll{0%,100%{transform:rotate(0)}50%{transform:rotate(10deg)}}
@keyframes peek{0%,100%{transform:translateX(-12px) rotate(4deg)}50%{transform:translateX(18px) rotate(-2deg)}}
@media(max-width:850px){.hero-visual .hero-pair{width:100%;max-width:520px}.hero-runner{width:76px!important;height:76px}.hero-alan{left:2%;bottom:4%}.hero-michael{right:3%;top:8%}.mascot-parade{height:118px}.parade-track{gap:26px;animation-duration:20s}.parade-track img{width:94px;height:94px}.parade-track span{font-size:.85rem}.service-row{grid-template-columns:40px 1fr 72px;gap:12px}.service-mascot{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){.parade-track{transform:none}.hero-runner,.service-mascot,.bob,.slide-pet{animation:none!important}}

/* Hero story: run in from both sides, then play together */
.hero-story{height:clamp(480px,62vh,680px);width:min(100%,760px);align-self:center;justify-self:center;overflow:visible;isolation:isolate}
.hero-story .blob{width:88%;height:88%;aspect-ratio:auto;left:6%;top:8%;z-index:-1}
.hero-story .hero-pair{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;opacity:0;animation:friends-play 10s ease-in-out infinite}
.hero-story .hero-runner{top:55%;left:50%;width:clamp(112px,10vw,150px)!important;height:clamp(112px,10vw,150px);max-width:none;object-fit:contain;object-position:center;border-radius:0;margin:0}
.hero-story .hero-alan{right:auto;bottom:auto;animation:alan-arrives 10s ease-in-out infinite}
.hero-story .hero-michael{right:auto;bottom:auto;animation:michael-arrives 10s ease-in-out infinite}
.play-heart{position:absolute;left:51%;top:17%;font:700 clamp(2.8rem,5vw,4.8rem)/1 "Kaisei Decol";color:var(--pink);opacity:0;animation:heart-pop 10s ease-in-out infinite;filter:drop-shadow(0 5px 8px #d9547830)}
.hero-story figcaption{z-index:5;bottom:3%;right:5%}
@keyframes alan-arrives{0%{opacity:0;transform:translate(-480%,-50%) rotate(-9deg)}5%{opacity:1}18%{transform:translate(-330%,-62%) rotate(2deg)}30%{transform:translate(-210%,-48%) rotate(-5deg)}42%{opacity:1;transform:translate(-112%,-55%) rotate(1deg)}47%,92%{opacity:0;transform:translate(-100%,-55%) scale(.9)}100%{opacity:0;transform:translate(-480%,-50%)}}
@keyframes michael-arrives{0%{opacity:0;transform:translate(380%,-50%) scaleX(-1) rotate(-7deg)}5%{opacity:1}18%{transform:translate(270%,-62%) scaleX(-1) rotate(3deg)}30%{transform:translate(160%,-48%) scaleX(-1) rotate(-4deg)}42%{opacity:1;transform:translate(12%,-55%) scaleX(-1)}47%,92%{opacity:0;transform:translate(0,-55%) scaleX(-.9) scaleY(.9)}100%{opacity:0;transform:translate(380%,-50%) scaleX(-1)}}
@keyframes friends-play{0%,41%{opacity:0;transform:scale(.82) translateY(12px)}48%{opacity:1;transform:scale(1) translateY(0)}55%{transform:scale(1.025) rotate(-1deg)}64%{transform:scale(1) rotate(1deg)}73%{transform:scale(1.025) rotate(-1deg)}84%{opacity:1;transform:scale(1)}93%,100%{opacity:0;transform:scale(.94)}}
@keyframes heart-pop{0%,47%{opacity:0;transform:translateY(15px) scale(.5) rotate(-8deg)}54%,78%{opacity:1;transform:translateY(0) scale(1) rotate(5deg)}88%,100%{opacity:0;transform:translateY(-25px) scale(1.2)}}
@media(max-width:850px){.hero-story{height:clamp(360px,56vh,520px);width:100%;margin:18px 0 -5px}.hero-story .hero-runner{width:88px!important;height:88px}.hero-story figcaption{right:4%;bottom:2%}.play-heart{top:14%}@keyframes alan-arrives{0%{opacity:0;transform:translate(-330%,-50%)}6%{opacity:1}40%{opacity:1;transform:translate(-105%,-50%)}47%,92%{opacity:0;transform:translate(-95%,-50%)}100%{opacity:0;transform:translate(-330%,-50%)}}@keyframes michael-arrives{0%{opacity:0;transform:translate(230%,-50%) scaleX(-1)}6%{opacity:1}40%{opacity:1;transform:translate(5%,-50%) scaleX(-1)}47%,92%{opacity:0;transform:translate(-5%,-50%) scaleX(-1)}100%{opacity:0;transform:translate(230%,-50%) scaleX(-1)}}}
@media(prefers-reduced-motion:reduce){.hero-story .hero-pair{opacity:1;animation:none!important}.hero-story .hero-runner,.play-heart{display:none}}

/* Keep the entire mascot scene inside the hero at every viewport size */
.hero{height:auto;min-height:100svh;max-height:none;padding-bottom:clamp(90px,11vh,140px);align-items:center}
.hero-story{height:clamp(390px,58vh,610px);max-height:none;min-height:0;margin:0;box-sizing:border-box}
.hero-story .hero-pair{box-sizing:border-box;padding:clamp(28px,4vw,58px) clamp(22px,5vw,72px) clamp(45px,6vw,80px);object-fit:contain;object-position:center center;transform-origin:center center}
.hero-story .hero-runner{top:50%}
.hero-story figcaption{bottom:8%}
@media(max-width:850px){.hero{min-height:100svh;max-height:none;padding-top:105px;padding-bottom:90px}.hero-story{height:clamp(330px,52svh,480px);min-height:330px;margin:20px 0 0}.hero-story .hero-pair{padding:24px 18px 54px}.hero-story .hero-runner{top:48%}.hero-story figcaption{bottom:5%}}
@media(max-height:650px) and (min-width:851px){.hero{padding-top:82px;padding-bottom:72px}.hero h1{font-size:clamp(2.2rem,4.2vw,3.8rem);margin:10px 0 14px}.hero-actions{margin-top:18px}.hero-story{height:clamp(330px,68svh,440px)}.hero-story .hero-pair{padding:28px 45px 50px}}

/* Service facts from the Fukumusubi leaflet */
.strengths{background:linear-gradient(145deg,#fff3f6,#fffaf7);overflow:hidden}.strengths>.section-label{justify-content:center}.strength-head{text-align:center;max-width:760px;margin:38px auto 50px}.strength-head h2{font:700 clamp(2rem,3.6vw,3.5rem)/1.5 "Kaisei Decol";margin:8px 0 15px}.strength-head>p:last-child{color:var(--muted)}
.strength-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.strength-card{grid-column:span 2;background:#fff;border:1px solid #f4dce3;border-radius:38px 14px 38px 14px;padding:30px;box-shadow:0 14px 35px #b961790c;min-height:230px}.strength-card:nth-child(4){grid-column:2/span 2}.strength-card:nth-child(5){grid-column:4/span 2}.strength-card b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--deep);color:#fff;font:italic 1rem Georgia}.strength-card h3{font:700 1.24rem "Kaisei Decol";margin:18px 0 8px}.strength-card p{font-size:.9rem;color:var(--muted);margin:0}.area-banner{max-width:1120px;margin:55px auto 0;background:var(--deep);color:#fff;border-radius:36px;display:grid;grid-template-columns:130px 1fr 150px;align-items:center;gap:28px;padding:20px 35px;box-shadow:0 20px 45px #d954782a}.area-banner img{width:115px;height:115px;object-fit:cover;object-position:top;border-radius:50%;background:#fff}.area-banner span{font-size:.75rem;letter-spacing:.2em;color:#ffdce4}.area-banner h3{font:700 1.35rem "Kaisei Decol";margin:3px 0}.area-banner p{font-size:.8rem;margin:0;color:#ffe4ea}.area-banner strong{text-align:center;font:700 1.3rem/1.45 "Kaisei Decol";border-left:1px solid #ffffff55;padding-left:24px}.phone em{display:block;font:500 .78rem "Noto Sans JP";font-style:normal;margin-top:2px}
@media(max-width:850px){.strength-grid{grid-template-columns:1fr}.strength-card,.strength-card:nth-child(4),.strength-card:nth-child(5){grid-column:auto;min-height:0}.area-banner{grid-template-columns:78px 1fr;padding:22px 20px;gap:16px}.area-banner img{width:72px;height:72px}.area-banner h3{font-size:1.05rem}.area-banner strong{grid-column:1/-1;border-left:0;border-top:1px solid #ffffff55;padding:14px 0 0}.company-info dl div{grid-template-columns:86px 1fr}}

/* Centered opening story: mascots meet first, message follows */
.hero{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:92px 4vw 28px;background:linear-gradient(155deg,#fffaf7 0 50%,#ffe9ee 50% 100%)}
.hero-copy{width:min(920px,92vw);margin:0 auto;text-align:center;z-index:6}.hero-copy .eyebrow{margin:0}.hero h1{font-size:clamp(2.5rem,4.6vw,4.6rem);line-height:1.35;margin:8px 0 12px}.hero-copy>p:not(.eyebrow){margin:0 auto;color:var(--muted)}.hero-actions{justify-content:center;margin-top:18px}
.hero .hero-copy.visible{animation:message-after-reunion 10s ease-in-out infinite}
.hero-story{position:relative;flex:0 0 auto;width:min(920px,94vw);height:clamp(330px,43vh,420px);margin:4px auto 0;align-self:center;justify-self:auto;left:auto;right:auto;bottom:auto}
.hero-story .blob{width:74%;height:92%;left:13%;top:4%}.hero-story .hero-pair{padding:10px 16% 28px}.hero-story .hero-runner{top:51%}.hero-story figcaption{right:12%;bottom:4%}.play-heart{left:50%;top:8%}
@keyframes message-after-reunion{0%,45%{opacity:0;transform:translateY(-18px)}53%,88%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(-8px)}}
@media(max-width:850px){.hero{padding:88px 18px 28px;min-height:100svh}.hero-copy{width:100%}.hero h1{font-size:clamp(2rem,9vw,3rem);line-height:1.42}.hero-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.75}.hero-actions{margin-top:15px}.hero-story{width:100%;height:clamp(300px,45svh,400px);min-height:300px;margin:0 auto}.hero-story .hero-pair{padding:8px 7% 40px}.hero-story .blob{width:94%;left:3%}.hero-story figcaption{right:3%}}
@media(max-height:720px) and (min-width:851px){.hero{padding-top:78px}.hero h1{font-size:clamp(2.2rem,4vw,3.6rem);margin:4px 0 8px}.hero-copy>p:not(.eyebrow){font-size:.9rem;line-height:1.65}.hero-actions{margin-top:12px}.hero-story{height:clamp(290px,42vh,340px)}.hero-story .hero-pair{padding:4px 18% 24px}}
@media(prefers-reduced-motion:reduce){.hero .hero-copy.visible{opacity:1;animation:none!important}}

/* Philosophy */
.philosophy{background:radial-gradient(circle at 50% 100%,#2d3240 0,#111b29 42%,#07111d 100%);color:#fff8eb;overflow:hidden;padding-top:105px}.philosophy:before,.philosophy:after{content:"";position:absolute;border:1px solid #c8984f55;pointer-events:none}.philosophy:before{inset:24px;border-radius:4px}.philosophy:after{inset:32px;border-radius:2px}.philosophy-orbit{position:absolute;width:540px;height:540px;border:1px solid #d0a05b35;border-radius:50%;right:-190px;top:-190px;box-shadow:0 0 0 35px #d0a05b08,0 0 0 70px #d0a05b08}.philosophy-head{text-align:center;position:relative;z-index:1}.philosophy-head .section-label{justify-content:center;color:#d9ad68}.philosophy-head .section-label span{background:#d9ad68}.philosophy-company{font-size:.8rem;letter-spacing:.22em;color:#d8b880;margin:24px 0 6px}.philosophy h2{font:700 clamp(3rem,6vw,6.2rem)/1.25 "Kaisei Decol";letter-spacing:.18em;margin:10px 0;color:#fff8eb;text-shadow:0 4px 24px #0007}.philosophy-lead{font:500 1.05rem "Kaisei Decol";color:#e7bf7d;letter-spacing:.15em}
.principles{list-style:none;padding:0;max-width:1140px;margin:65px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d0a05b38;border:1px solid #d0a05b38;position:relative;z-index:1}.principles li{min-height:160px;background:#101c2a;padding:28px 24px;display:flex;flex-direction:column;justify-content:center;transition:.3s}.principles li:hover{background:#182839;transform:translateY(-3px)}.principles b{font:italic .82rem Georgia;color:#d6a75f;margin-bottom:12px}.principles span{font:700 1.05rem/1.85 "Kaisei Decol";letter-spacing:.05em}.philosophy-statement{max-width:960px;margin:65px auto 0;display:grid;grid-template-columns:120px 1fr 120px;align-items:center;gap:30px;text-align:center;position:relative;z-index:1}.philosophy-statement img{width:112px;height:112px;border-radius:50%;object-fit:cover;object-position:top;background:#fff;box-shadow:0 0 0 7px #d0a05b25;animation:hop 3.2s ease-in-out infinite}.philosophy-statement img:last-child{animation-delay:-1.6s}.philosophy-statement p{font:500 clamp(1.15rem,2vw,1.55rem)/2 "Kaisei Decol";letter-spacing:.08em}.philosophy-statement strong{color:#f1c982;font-size:1.15em}
@media(max-width:850px){.philosophy{padding:85px 24px}.philosophy:before{inset:12px}.philosophy:after{inset:17px}.philosophy h2{font-size:clamp(2.8rem,15vw,4.4rem)}.principles{grid-template-columns:1fr 1fr;margin-top:45px}.principles li{min-height:140px;padding:22px 18px}.principles span{font-size:.93rem}.philosophy-statement{grid-template-columns:70px 1fr 70px;gap:10px;margin-top:45px}.philosophy-statement img{width:68px;height:68px}.philosophy-statement p{font-size:1rem;line-height:1.9}.philosophy-statement p br{display:none}}

/* Softer philosophy treatment aligned with the Fukumusubi palette */
.philosophy{background:linear-gradient(160deg,#fffaf7 0%,#fff0f4 52%,#ffe5ec 100%);color:var(--ink);padding-top:115px;padding-bottom:115px}
.philosophy:before{inset:28px;border:1px solid #e9b9c5;border-radius:42px 14px 42px 14px}.philosophy:after{display:none}.philosophy-orbit{width:420px;height:420px;border-color:#e8879f30;box-shadow:0 0 0 40px #f3aabd0b,0 0 0 80px #f3aabd0b;right:-170px;top:-160px}
.philosophy-head .section-label{color:var(--deep)}.philosophy-head .section-label span{background:var(--deep)}.philosophy-company{color:#a8707f;font-size:.86rem}.philosophy h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1.35;color:var(--ink);text-shadow:none;letter-spacing:.14em}.philosophy-lead{color:var(--deep);font-size:clamp(1.05rem,1.5vw,1.3rem)}
.principles{max-width:1080px;grid-template-columns:repeat(3,1fr);gap:20px;background:transparent;border:0;margin-top:60px}.principles li{min-height:200px;background:#ffffffd9;border:1px solid #efcfd7;border-radius:44px 16px 44px 16px;padding:34px 30px;box-shadow:0 14px 35px #a964760c;align-items:flex-start}.principles li:nth-child(3n+2){background:#fff8fa}.principles li:hover{background:#fff;transform:translateY(-5px);box-shadow:0 20px 42px #b76c8019}.principles b{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--blush);color:var(--deep);font-size:1rem;margin-bottom:18px}.principles span{font-size:clamp(1.15rem,1.5vw,1.38rem);line-height:1.8;color:var(--ink);letter-spacing:.04em}
.philosophy-statement{max-width:980px;margin-top:70px;grid-template-columns:135px 1fr 135px;gap:35px;background:#ffffffb8;border:1px solid #edc7d1;border-radius:80px 24px 80px 24px;padding:30px 45px}.philosophy-statement img{width:125px;height:125px;box-shadow:0 0 0 8px #f6dce3}.philosophy-statement p{color:var(--ink);font-size:clamp(1.25rem,2vw,1.65rem);line-height:2.05}.philosophy-statement strong{color:var(--deep)}
@media(max-width:850px){.philosophy{padding:90px 24px}.philosophy:before{inset:12px;border-radius:30px 10px}.philosophy h2{font-size:clamp(2.5rem,13vw,4rem)}.principles{grid-template-columns:1fr;gap:15px;margin-top:45px}.principles li{min-height:0;padding:27px 25px;border-radius:32px 12px}.principles b{width:40px;height:40px;margin-bottom:12px}.principles span{font-size:1.2rem}.philosophy-statement{grid-template-columns:62px 1fr 62px;gap:8px;margin-top:45px;padding:24px 14px;border-radius:44px 15px}.philosophy-statement img{width:58px;height:58px}.philosophy-statement p{font-size:1.05rem;line-height:1.9}}
/* Management philosophy supplied layout */
.fm-philosophy{background:#fde8ee;color:#4a3a40;overflow:hidden;padding-top:clamp(72px,8vw,118px);padding-bottom:clamp(70px,8vw,112px)}
.fm-inner{width:min(1160px,calc(100% - 44px));margin:auto;text-align:center}
.fm-eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 16px;color:#e06a93;font-size:.82rem;font-weight:900;letter-spacing:.24em}
.fm-eyebrow:before,.fm-eyebrow:after{content:"";width:34px;height:1px;background:#e06a93}
.fm-title{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2.35rem,5.5vw,4.8rem);line-height:1.25;letter-spacing:.08em;color:#4a3a40}
.fm-lead{margin:26px auto 52px;font-size:clamp(1rem,1.5vw,1.22rem);font-weight:700;line-height:2;color:#765f68}
.fm-creed{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;list-style:none;text-align:left;counter-reset:none}
.fm-creed li{position:relative;display:flex;align-items:center;min-height:116px;padding:24px 22px;border:1px solid rgba(224,106,147,.18);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 12px 35px rgba(161,87,112,.08)}
.fm-creed b{flex:0 0 52px;color:#e06a93;font-family:Georgia,serif;font-size:1.15rem;font-weight:700;letter-spacing:.03em}
.fm-creed span{border-left:1px solid #f9c6d8;padding-left:18px;font-size:clamp(1rem,1.25vw,1.16rem);font-weight:800;line-height:1.65}
.fm-foot{display:flex;align-items:center;justify-content:center;gap:28px;margin:52px auto 0}
.fm-foot img{width:clamp(120px,15vw,190px);height:auto;mix-blend-mode:multiply;filter:drop-shadow(0 12px 20px rgba(163,95,117,.12))}
.fm-tag{margin:0;padding:18px 28px;border-radius:999px;background:#fff;color:#d95180;font-size:clamp(1rem,1.7vw,1.3rem);font-weight:900;letter-spacing:.04em;box-shadow:0 12px 32px rgba(161,87,112,.1)}
@media(max-width:860px){.fm-creed{grid-template-columns:repeat(2,1fr)}.fm-creed li{min-height:104px}.fm-foot{margin-top:42px}}
@media(max-width:520px){.fm-inner{width:min(100% - 28px,1160px)}.fm-title{font-size:2.25rem}.fm-lead{margin:20px auto 34px;text-align:left}.fm-lead br{display:none}.fm-creed{grid-template-columns:1fr;gap:11px}.fm-creed li{min-height:86px;padding:18px}.fm-creed b{flex-basis:45px}.fm-creed span{padding-left:14px}.fm-foot{flex-direction:column;gap:12px;margin-top:36px}.fm-foot img{width:140px}.fm-tag{width:100%;padding:16px 12px}}

/* Place each mascot name beside its character */
.hero-story figcaption{left:0;right:0;bottom:4%;display:block;width:100%;height:34px;pointer-events:none}
.hero-story figcaption span{position:absolute;top:0}
.hero-story .pet-label-alan{left:12%}
.hero-story .pet-label-michael{right:12%}
@media(max-width:850px){.hero-story figcaption{left:0;right:0;bottom:2%}.hero-story .pet-label-alan{left:3%}.hero-story .pet-label-michael{right:3%}}

/* Privacy policy */
.privacy-page{background:#fffaf7}.privacy-header{position:relative;background:#fffdfb;border-bottom:1px solid var(--line)}.privacy-back{display:inline-flex;align-items:center;gap:12px;color:var(--deep);font-size:.9rem;font-weight:700}.privacy-hero{min-height:390px;padding:70px max(8vw,24px);display:flex;align-items:center;justify-content:center;gap:clamp(30px,8vw,110px);background:linear-gradient(145deg,#fffaf7 0 50%,#ffe9ee 50% 100%);overflow:hidden}.privacy-hero>div{max-width:680px}.privacy-hero h1{margin:8px 0 15px;font:700 clamp(2.6rem,5.5vw,5rem)/1.35 "Kaisei Decol",serif;letter-spacing:.08em}.privacy-hero p:last-child{margin:0;color:var(--muted);font-weight:500}.privacy-hero img{width:clamp(170px,23vw,300px);mix-blend-mode:multiply;filter:drop-shadow(0 18px 22px #bd748825)}.privacy-content{width:min(1000px,calc(100% - 48px));margin:0 auto;padding:80px 0 110px}.privacy-intro{margin:0 0 50px;padding:34px 40px;border-radius:34px 12px;background:#fff0f3;color:#684f57;font-size:1.02rem;line-height:2}.privacy-content>section{display:grid;grid-template-columns:72px 1fr;gap:26px;padding:38px 8px;border-top:1px solid var(--line)}.privacy-num{padding-top:5px;color:var(--deep);font:italic 1rem Georgia}.privacy-content h2{margin:0 0 14px;font:700 clamp(1.25rem,2.4vw,1.65rem)/1.6 "Kaisei Decol",serif;letter-spacing:.04em}.privacy-content section p{margin:0;color:var(--muted);line-height:2}.privacy-content ul{margin:16px 0 0;padding-left:1.4em;color:var(--muted)}.privacy-content li{padding:4px 0}.privacy-contact{margin-top:18px;padding:38px!important;border:0!important;border-radius:36px 14px 36px 14px;background:#fff0f3}.privacy-contact a{color:var(--deep);font-weight:800;text-decoration:underline;text-underline-offset:3px}.privacy-date{text-align:right;margin:28px 0 36px;color:#91747d;font-size:.9rem}.privacy-home-button{width:max-content;margin:0 auto;display:flex}.privacy-page footer{margin-top:0}
@media(max-width:700px){.privacy-header{padding:0 18px}.privacy-header .brand{font-size:.9rem}.privacy-back{font-size:.8rem}.privacy-back span{display:none}.privacy-hero{min-height:auto;padding:56px 24px 38px;flex-direction:column;text-align:center;gap:15px}.privacy-hero h1{font-size:clamp(2.15rem,11vw,3rem)}.privacy-hero img{width:180px}.privacy-content{width:calc(100% - 32px);padding:55px 0 80px}.privacy-intro{padding:25px 22px;margin-bottom:35px}.privacy-content>section{grid-template-columns:1fr;gap:6px;padding:30px 4px}.privacy-num{padding:0}.privacy-contact{padding:28px 22px!important}.privacy-date{text-align:left}}

/* Two-character scenes matched to each section */
.scene-accent{position:absolute;z-index:1;width:clamp(145px,17vw,220px);height:auto;filter:drop-shadow(0 14px 20px #b76c8020)}
.message-scene{right:2.5%;bottom:-18px}.message-grid{position:relative;z-index:2}
.values{overflow:hidden}.values-scene{right:2%;top:70px;transform-origin:center bottom}.value-grid{position:relative;z-index:2}
.service-pair{width:min(230px,78%);height:auto;margin:35px auto 0;filter:drop-shadow(0 14px 20px #b76c8020)}
.flow-scene{right:2.5%;bottom:-10px;width:clamp(155px,19vw,245px)}.steps{z-index:2}
.company-photo{display:grid;place-items:center;min-height:560px}.company-photo .company-pair{width:100%;height:100%;padding:30px 25px 75px;aspect-ratio:auto;object-fit:contain;object-position:center;background:linear-gradient(160deg,#fff7f9,#ffe7ee)}
@media(max-width:1100px){.message-scene,.values-scene,.flow-scene{opacity:.38}}
@media(max-width:850px){.scene-accent{width:125px}.message-scene{right:-24px;bottom:-8px}.values-scene{right:-28px;top:90px}.service-pair{width:180px;margin-top:20px}.flow-scene{right:-20px;bottom:-4px;width:140px}.company-photo{min-height:420px}.company-photo .company-pair{padding:20px 15px 65px}}

/* Expanded visit area list */
.area-banner h3{line-height:1.75}

/* Hide neighboring artwork left at the edges of source pose sheets */
.message-scene{clip-path:inset(0 8% 0 0)}
.service-pair{clip-path:inset(0 0 0 8%)}
.parade-track img,.service-mascot{border-radius:0;clip-path:circle(44% at 50% 44%)}

/* Important matters */
.important-hero img{width:clamp(190px,25vw,320px);height:240px;object-fit:cover;object-position:center;border-radius:50%;mix-blend-mode:normal;background:white}.important-content{width:min(1100px,calc(100% - 48px));margin:0 auto;padding:72px 0 110px}.document-download{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:42px 46px;border-radius:42px 16px;background:linear-gradient(135deg,#fff0f3,#fff9f6);box-shadow:0 16px 45px #92516512}.document-download h2,.important-card h2{font:700 clamp(1.45rem,2.8vw,2rem)/1.55 "Kaisei Decol",serif;margin:7px 0 12px}.document-download p{margin:0;color:var(--muted)}.document-date{color:var(--deep)!important;font-size:.86rem;font-weight:700}.document-actions{display:flex;flex-direction:column;align-items:center;gap:16px;flex:0 0 auto}.document-actions .button{min-width:220px}.important-note{margin:34px 0 48px;padding:18px 24px;border-left:4px solid var(--pink);background:white;color:var(--muted);font-size:.9rem}.important-card{margin-top:26px;padding:40px 44px;border:1px solid var(--line);border-radius:36px 14px;background:white;box-shadow:0 12px 34px #9251650a}.important-card>p,.important-card li{color:var(--muted)}.important-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.important-grid .important-card{height:calc(100% - 26px)}.important-dl{margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.important-dl div{display:grid;grid-template-columns:110px 1fr;padding:14px 0;border-bottom:1px solid var(--line)}.important-dl dt{font-weight:700}.important-dl dd{margin:0;color:var(--muted)}.important-dl a,.contact-table a{color:var(--deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}.service-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.service-summary div{padding:22px;border-radius:24px;background:var(--blush)}.service-summary b{font-family:"Kaisei Decol",serif;color:var(--deep);font-size:1.08rem}.service-summary p{margin:8px 0 0;color:var(--muted);font-size:.9rem}.small-guide{font-size:.88rem;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.contact-table{margin-top:22px}.contact-table>div{display:grid;grid-template-columns:minmax(210px,.8fr) 1.2fr;gap:28px;padding:20px 0;border-top:1px solid var(--line)}.contact-table span{color:var(--muted)}.important-content>.privacy-home-button{margin-top:54px}
@media(max-width:850px){.important-hero{padding-top:45px;flex-direction:column;text-align:center}.important-hero img{height:180px}.important-content{width:min(100% - 34px,1100px);padding:50px 0 80px}.document-download{align-items:flex-start;flex-direction:column;padding:30px 24px;border-radius:30px 12px}.document-actions{width:100%;align-items:stretch}.document-actions .button{min-width:0}.document-actions .text-link{text-align:center}.important-card{padding:30px 24px}.important-grid,.important-dl,.service-summary{grid-template-columns:1fr}.important-dl div{grid-template-columns:95px 1fr}.contact-table>div{grid-template-columns:1fr;gap:8px}.privacy-header .brand span:last-child{display:none}}

.important-hero img{padding:8px;object-fit:contain}
.important-hero-art{display:block;width:clamp(190px,25vw,320px);height:240px;overflow:hidden;border-radius:50%;background:white;filter:drop-shadow(0 18px 22px #bd748825)}.important-hero-art img{width:100%;height:100%;padding:0;border-radius:0;object-fit:cover;object-position:center;filter:none}.important-hero-art~img{display:none}@media(max-width:850px){.important-hero-art{width:190px;height:180px}}
.important-hero-art img{object-fit:contain}
.contact>img.contact-mascot-back{width:430px;right:20px;bottom:-30px;border-radius:0;object-fit:contain;filter:drop-shadow(0 18px 20px #81334c35)}@media(max-width:850px){.contact>img.contact-mascot-back{width:330px;right:-20px;bottom:-35px}}

/* Google map inside the existing office-address row */
.company-info dl .company-location{align-items:start}.company-info dl div.company-map{display:block;width:min(100%,390px);aspect-ratio:1/1;grid-template-columns:none;margin-top:18px;padding:0;border:1px solid var(--line);border-radius:24px 8px 24px 8px;overflow:hidden;background:var(--blush)}.company-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:850px){.company-map{width:100%;margin-top:15px;border-radius:20px 7px 20px 7px}}

/* Keep the existing mobile menu fully inside short and narrow phone screens. */
@media(max-width:850px){
  body.menu-open{overflow:hidden}
  .header nav{
    inset:auto 0 0;
    top:0;
    width:100%;
    max-width:100vw;
    height:100vh;
    height:100dvh;
    min-height:100svh;
    justify-content:flex-start;
    gap:clamp(14px,3.5vh,28px);
    padding:calc(92px + env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .header nav a{max-width:100%;text-align:center;overflow-wrap:anywhere}
  .header nav .nav-cta{width:min(100%,280px)}
}
@media(max-width:850px) and (max-height:560px){
  .header nav{gap:11px;padding-top:76px;font-size:.94rem}
  .header nav .nav-cta{padding:9px 18px}
}

/* Recruitment */
.recruit-page{background:#fffaf7}.recruit-header{position:relative;background:#fffdfb;border-bottom:1px solid var(--line)}.recruit-hero{min-height:700px;padding:80px max(7vw,24px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6vw;background:linear-gradient(145deg,#fffaf7 0 50%,#ffe9ee 50% 100%);overflow:hidden}.recruit-hero-copy{position:relative;z-index:2}.recruit-hero h1{margin:12px 0 24px;font:700 clamp(2.7rem,5.2vw,5rem)/1.45 "Kaisei Decol",serif;letter-spacing:.05em}.recruit-hero h1 em{font-style:normal;color:var(--deep)}.recruit-hero-copy>p:not(.eyebrow){color:var(--muted);font-weight:500}.recruit-hero-art{position:relative;margin:0;min-height:500px;display:grid;place-items:center}.recruit-hero-art>span{position:absolute;width:min(500px,42vw);aspect-ratio:1;border-radius:46% 54% 58% 42%/55% 45% 55% 45%;background:#fff9;transform:rotate(-7deg)}.recruit-hero-art img{position:relative;width:min(390px,34vw);max-height:480px;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 22px 20px #bd748825);animation:float 4s ease-in-out infinite}.recruit-hero-art figcaption{position:absolute;right:3%;bottom:6%;padding:9px 20px;border-radius:99px;background:white;font:700 .85rem "Kaisei Decol";box-shadow:0 8px 24px #6d3d4918}.recruit-message{background:white;overflow:hidden}.recruit-message-grid{width:min(1100px,100%);margin:50px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.recruit-message h2,.recruit-work h2,.recruit-fit h2,.recruit-outline h2,.recruit-flow h2,.recruit-faq h2,.recruit-entry h2{font:700 clamp(2rem,3.6vw,3.4rem)/1.55 "Kaisei Decol",serif;letter-spacing:.05em}.recruit-copy{padding-top:42px;color:var(--muted)}.recruit-message-pets{width:180px;margin:45px auto -70px;mix-blend-mode:multiply}.recruit-values{background:var(--blush)}.recruit-values .section-label,.recruit-outline .section-label,.recruit-flow .section-label,.recruit-faq .section-label{justify-content:center}.recruit-value-grid{width:min(1100px,100%);margin:55px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.recruit-value-card{padding:40px 34px;border-radius:60px 20px;background:white;box-shadow:0 15px 40px #9251650c}.recruit-value-card>b{color:var(--deep);font:italic .85rem Georgia}.recruit-value-card>span{display:grid;place-items:center;width:62px;height:62px;margin:20px 0;border-radius:50%;background:var(--blush);color:var(--deep);font-size:1.8rem}.recruit-value-card h3{margin:0;font:700 1.35rem "Kaisei Decol"}.recruit-value-card p{color:var(--muted);font-size:.92rem}.recruit-work{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;background:white}.recruit-work-intro{position:sticky;top:35px;align-self:start}.recruit-work-intro>p:not(.kicker){color:var(--muted)}.recruit-work-intro img{width:190px;margin:25px auto -40px;mix-blend-mode:multiply}.recruit-work-list{align-self:center}.recruit-work-card{display:grid;grid-template-columns:62px 1fr;gap:22px;padding:34px 8px;border-top:1px solid var(--line)}.recruit-work-card:last-child{border-bottom:1px solid var(--line)}.recruit-work-card>b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--blush);color:var(--deep);font:italic .9rem Georgia}.recruit-work-card h3{margin:0 0 8px;font:700 1.45rem "Kaisei Decol"}.recruit-work-card p{margin:0;color:var(--muted);font-size:.92rem}.recruit-fit{background:linear-gradient(120deg,#fff2f5,#fffaf7)}.recruit-fit-grid{width:min(1100px,100%);margin:45px auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.recruit-fit-grid p{color:var(--muted)}.recruit-fit ul{list-style:none;margin:0;padding:0}.recruit-fit li{position:relative;padding:18px 18px 18px 54px;border-bottom:1px solid var(--line);font-weight:700}.recruit-fit li:before{content:"✓";position:absolute;left:15px;color:var(--deep);font-size:1.2rem}.recruit-outline{background:white}.recruit-outline>.lead{color:var(--muted)}.recruit-dl{width:min(900px,100%);margin:48px auto 0;border-top:2px solid var(--deep)}.recruit-dl>div{display:grid;grid-template-columns:190px 1fr;padding:22px 18px;border-bottom:1px solid var(--line)}.recruit-dl dt{font-weight:700}.recruit-dl dd{margin:0;color:var(--muted)}.recruit-note{width:min(900px,100%);margin:18px auto 0;color:#967780;font-size:.82rem}.recruit-flow{background:#fffaf7}.recruit-steps{list-style:none;width:min(1100px,100%);margin:55px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.recruit-steps li{padding:28px 24px;border-radius:34px 12px;background:white;border:1px solid var(--line)}.recruit-steps b{color:var(--deep);font:italic 1rem Georgia}.recruit-steps h3{font:700 1.2rem "Kaisei Decol"}.recruit-steps p{color:var(--muted);font-size:.88rem}.recruit-faq{background:white}.recruit-faq-list{width:min(900px,100%);margin:48px auto 0}.recruit-faq details{border-top:1px solid var(--line);padding:22px 8px}.recruit-faq details:last-child{border-bottom:1px solid var(--line)}.recruit-faq summary{cursor:pointer;list-style:none;font-weight:700;padding-right:40px;position:relative}.recruit-faq summary::-webkit-details-marker{display:none}.recruit-faq summary:after{content:"＋";position:absolute;right:8px;color:var(--deep);font-size:1.3rem}.recruit-faq details[open] summary:after{content:"－"}.recruit-faq details p{margin:18px 0 0;padding:18px 22px;border-radius:18px;background:var(--blush);color:var(--muted)}.recruit-entry{min-height:520px;display:flex;align-items:center;background:var(--deep);color:white;overflow:hidden}.recruit-entry-inner{width:62%;position:relative;z-index:2}.recruit-entry .eyebrow{color:#ffd4df}.recruit-entry h2{margin:14px 0}.recruit-entry>img{position:absolute;width:420px;right:3vw;bottom:-30px;object-fit:contain;filter:drop-shadow(0 18px 20px #81334c35)}
@media(max-width:850px){.recruit-header{position:fixed}.recruit-hero{min-height:780px;padding:120px 24px 60px;grid-template-columns:1fr;gap:15px}.recruit-hero h1{font-size:clamp(2.25rem,10.5vw,3.35rem)}.recruit-hero-copy>p:not(.eyebrow) br{display:none}.recruit-hero-art{min-height:310px}.recruit-hero-art>span{width:300px}.recruit-hero-art img{width:245px}.recruit-hero-art figcaption{right:1%;bottom:1%;font-size:.76rem}.recruit-message-grid,.recruit-work,.recruit-fit-grid{grid-template-columns:1fr;gap:35px}.recruit-copy{padding-top:0}.recruit-message-pets{width:135px;margin-bottom:-45px}.recruit-value-grid,.recruit-steps{grid-template-columns:1fr}.recruit-work-intro{position:static}.recruit-work-intro img{width:145px}.recruit-dl>div{grid-template-columns:1fr;gap:7px;padding:18px 4px}.recruit-entry{padding-bottom:280px;min-height:720px}.recruit-entry-inner{width:100%}.recruit-entry>img{width:330px;right:-35px;bottom:-35px}}

/* Compact recruitment sections and crop sprite-sheet edges cleanly. */
.recruit-message{padding-top:88px;padding-bottom:190px;min-height:0}.recruit-message-grid{margin-top:34px}.recruit-copy{padding-top:28px}.recruit-message-pets{position:absolute;left:50%;bottom:8px;width:auto;height:auto;max-width:150px;max-height:180px;margin:0;transform:translateX(-50%);object-fit:contain;mix-blend-mode:normal}.recruit-work{padding-top:88px;padding-bottom:88px;align-items:center}.recruit-work-intro{position:static}.recruit-work-intro img{display:block;width:auto;height:auto;max-width:220px;max-height:250px;margin:18px auto 0;object-fit:contain;mix-blend-mode:normal}.recruit-work-card{padding-top:27px;padding-bottom:27px}
@media(max-width:850px){.recruit-message{padding-top:72px;padding-bottom:72px}.recruit-message-grid{margin-top:28px}.recruit-message-pets{position:static;display:block;width:auto;height:auto;max-width:145px;max-height:170px;margin:24px auto -28px;transform:none}.recruit-work{padding-top:72px;padding-bottom:72px}.recruit-work-intro img{width:auto;height:auto;max-width:150px;max-height:210px;margin-top:18px}}
