@charset "UTF-8";
:root{--ink:#131c30;--blue:#2045df;--paper:#fff;--silver:#f1f3f6;--muted:#566171;--line:#d8dde5;--pad:clamp(24px,5vw,88px);--ease:cubic-bezier(.2,.75,.25,1);--font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--latin:Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.9;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:var(--blue);color:white}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-feature-settings:"palt";line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid #5377ff;outline-offset:6px}a,button{touch-action:manipulation}small{font-size:0.75rem}.blue{color:var(--blue)}.skip{position:fixed;top:8px;left:8px;padding:12px 24px;z-index:100;background:white;transform:translateY(-150%)}.skip:focus{transform:none}
.header{height:96px;padding:0 var(--pad);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.wordmark{font-family:var(--latin);font-size:1.3125rem;line-height:.95;font-weight:800;letter-spacing:-.055em;display:inline-flex;flex-direction:column;gap:3px;flex-shrink:0}.wordmark>span:first-child{display:flex;align-items:center}.brand-square{height:8px;width:8px;background:var(--blue);display:inline-block;margin-left:7px}
.desktop-nav{display:flex;height:100%;gap:clamp(24px,3vw,50px);align-items:center;font-size:0.875rem;font-weight:600}.desktop-nav>a{display:flex;align-items:center;position:relative;height:100%}.desktop-nav>a::after{content:"";position:absolute;bottom:24px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.desktop-nav>a:hover::after,.desktop-nav>a[aria-current]::after{transform:scaleX(1)}.desktop-nav .nav-recruit{height:44px;padding:0 20px;border:1px solid var(--line);gap:22px}.desktop-nav .nav-recruit::after{bottom:0}.reading-progress{height:2px;background:var(--blue);position:absolute;bottom:-1px;left:0;width:100%;transform:scaleX(var(--reading,0));transform-origin:left}.menu-button{display:none}.mobile-nav[hidden]{display:none}
.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:min(740px,calc(100svh - 96px));border-bottom:1px solid var(--line)}.hero-copy{padding:clamp(50px,6vw,105px) 30px 28px var(--pad);display:flex;flex-direction:column;justify-content:center}.eyebrow{font-family:var(--latin);font-size:0.75rem;font-weight:600;letter-spacing:.16em;line-height:1.5}.hero-eyebrow{margin-bottom:40px;color:var(--blue)}
.hero h1{font-size:clamp(2.6875rem,5.3vw,5.375rem);font-weight:800;letter-spacing:-.055em;line-height:1.44}.hero h1 .line{display:block;overflow:hidden}.hero h1 .line>span{display:block;animation:rise 1.1s var(--ease) both}.hero h1 .line:nth-child(2)>span{animation-delay:.16s}.hero-description{display:flex;gap:22px;align-items:flex-start;margin-top:36px;font-size:1rem;line-height:2.1;color:#434e60}.short-rule{width:25px;height:2px;background:var(--blue);margin-top:15px;flex-shrink:0}.hero-bottom{margin-top:auto;padding-top:65px;display:flex;align-items:center;justify-content:space-between;gap:16px}.company-name{font-size:0.75rem;letter-spacing:.01em}.scroll-link{font-size:0.75rem;display:flex;gap:12px;align-items:center;white-space:nowrap}.down-arrow{font-family:var(--latin);font-size:1.5625rem;transition:transform .3s}.scroll-link:hover .down-arrow{transform:translateY(4px)}
.hero-stage{background:var(--ink);color:white;position:relative;isolation:isolate;overflow:hidden;min-height:640px;padding:35px clamp(25px,3.1vw,60px);display:flex;flex-direction:column;justify-content:space-between;perspective:1100px}.stage-top,.stage-bottom{display:flex;justify-content:space-between;align-items:center;font-family:var(--latin);font-size:0.75rem;letter-spacing:.07em;line-height:1.6;z-index:2}.stage-top{color:#abb6cb}.stage-bottom{color:#b1bbcf}.stage-cross{font-size:2.25rem;font-weight:200;line-height:1}.stage-axis{position:absolute;top:95px;bottom:90px;left:50%;border-left:1px solid #39445b;transform:rotate(-18deg);opacity:.6}
.power-stack{margin:25px 0;position:relative;display:flex;flex-direction:column;transform-style:preserve-3d;transform:rotateX(6deg) rotateY(-14deg) rotateZ(-5deg);transition:transform 1.2s var(--ease)}.power-layer{position:relative;display:grid;grid-template-columns:32px 1fr;grid-template-rows:22px 1fr;align-items:center;padding:13px 20px 12px;background:#263249;color:#dfe4ee;border:1px solid #626d81;box-shadow:8px 9px 0 #080d19;height:115px;flex-shrink:0;transform-origin:50% 80%;animation:stack-in 1.3s var(--ease) both;will-change:transform}.power-layer+.power-layer{margin-top:7px}.layer-index{font-family:var(--latin);font-size:0.75rem;grid-column:1;grid-row:1 / 3;align-self:start;line-height:1.4;opacity:.7}.layer-en{font-family:var(--latin);font-size:0.75rem;letter-spacing:.08em;grid-column:2;grid-row:1}.power-layer b{grid-column:2;grid-row:2;font-size:clamp(2.8125rem,4.7vw,4.625rem);font-weight:700;letter-spacing:-.065em;line-height:1;justify-self:end}.layer-one{background:#dce1e9;color:#152039;--x:-16px;--y:0px;animation-delay:.08s;transform:translateX(-16px)}.layer-two{background:#bac4d3;color:#152039;--x:0px;--y:0px;animation-delay:.18s}.layer-three{background:var(--blue);border-color:#6079e9;color:white;--x:16px;--y:0px;animation-delay:.28s;transform:translateX(16px)}.layer-four{background:#29364e;--x:32px;--y:0px;animation-delay:.38s;transform:translateX(32px)}
.section{padding:100px var(--pad)}.section-label{display:flex;align-items:center;gap:22px;font-family:var(--latin);font-size:0.75rem;letter-spacing:.09em;font-weight:600;border-top:1px solid var(--line);padding-top:18px;margin-bottom:70px;line-height:1.6}.section-number{color:var(--blue);font-variant-numeric:tabular-nums}.section-ja{margin-left:auto;font-family:var(--font);font-size:0.875rem;font-weight:500;letter-spacing:.03em}.purpose{padding-top:88px;padding-bottom:96px}.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-bottom:75px}.tiny-title{font-size:0.875rem;color:var(--muted);margin-bottom:22px}.purpose h2{font-size:clamp(2.125rem,4.4vw,4.0625rem);font-weight:700;letter-spacing:-.045em;line-height:1.48}.purpose h2 span{display:block}.purpose-copy{max-width:490px;padding-top:0}.purpose-copy p{margin-bottom:24px;font-size:1rem;color:#4c5667;line-height:2.1}.purpose-copy .purpose-lead{font-size:1.375rem;font-weight:600;line-height:1.95;color:var(--ink)}.purpose-copy p:last-child{margin-bottom:0}.values{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.value{padding:32px 22px 32px 0;position:relative}.value+.value{padding-left:28px;border-left:1px solid var(--line)}.value-no{font-family:var(--latin);font-size:0.75rem;letter-spacing:.04em;color:var(--muted)}.value h3{font-size:2.125rem;font-weight:600;line-height:1.5;margin:20px 0 14px;letter-spacing:-.025em}.value p{font-size:0.875rem;line-height:1.9;color:var(--muted)}.value::after{content:"";height:3px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0);transform-origin:left;background:var(--blue);transition:transform .5s var(--ease)}.value:hover::after{transform:scaleX(1)}
.business{background:var(--silver);padding-top:85px;padding-bottom:90px}.business-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:65px}.business-heading h2{font-size:clamp(2.125rem,4vw,3.75rem);line-height:1.5;letter-spacing:-.035em}.business-heading>p{font-size:1rem;color:var(--muted);padding-bottom:10px}.business-list{border-top:1px solid #bfc7d3}.business-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:36px;padding:36px 0;border-bottom:1px solid #bfc7d3;align-items:center}.business-image{aspect-ratio:1;overflow:hidden;background:#101010}.business-image img{width:100%;height:100%;object-fit:contain;transition:transform .8s var(--ease)}.business-row:hover .business-image img{transform:scale(1.035)}.business-category{font-family:var(--latin);font-size:0.75rem;letter-spacing:.07em;display:flex;gap:16px;align-items:center;color:var(--muted);line-height:1.5;margin-bottom:12px}.business-category>span{color:var(--blue)}.business-body h3{font-size:clamp(1.5rem,2.2vw,2.0625rem);line-height:1.5;letter-spacing:-.025em;margin-bottom:10px;display:flex;flex-wrap:wrap;column-gap:.35em}.business-body>p:not(.business-category){font-size:1rem;line-height:1.9;color:#4c5667;max-width:590px}.business-links{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:17px}.business-links a{font-size:0.875rem;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;border-bottom:1px solid #a6afbd;transition:color .25s,border-color .25s}.business-links a:hover{color:var(--blue);border-color:var(--blue)}.business-links a>span{transition:transform .25s}.business-links a:hover>span{transform:translate(2px,-2px)}.stores{gap:12px}.stores a{min-width:116px;gap:16px;border:1px solid #b4bdcc;padding:8px 13px;background:#fff}.stores a:hover{background:var(--ink);color:white;border-color:var(--ink)}.business-end{justify-self:end;align-self:start;font-size:0.875rem;color:var(--muted);writing-mode:vertical-rl;letter-spacing:.14em;margin-top:4px}.business-row:nth-child(2) .business-image{background:#000}
.story{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:center;border-bottom:1px solid var(--line);padding-top:100px;padding-bottom:100px}.story-heading>.eyebrow{color:var(--blue);margin-bottom:22px}.story-heading h2{font-size:clamp(2.125rem,3.5vw,3.125rem);line-height:1.5;letter-spacing:-.03em;margin-bottom:25px}.story-heading>p:not(.eyebrow){font-size:1.125rem;line-height:1.9}.story-heading>.story-note{font-size:0.875rem!important;color:var(--muted);line-height:2;margin-top:20px}.movie{display:block}.movie-image{aspect-ratio:1.92;position:relative;overflow:hidden;background:#e6e8ec}.movie-image img{height:100%;object-fit:cover;transition:transform .9s var(--ease)}.movie:hover img{transform:scale(1.025)}.movie-play{position:absolute;bottom:16px;right:16px;background:var(--ink);color:white;width:56px;height:48px;display:grid;place-items:center;font-family:var(--latin);font-size:1.0625rem;transition:background .2s}.movie:hover .movie-play{background:var(--blue)}.movie-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:0.75rem}.movie-caption>span:last-child{white-space:nowrap}
.company{padding-top:85px;padding-bottom:110px}.company-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:7vw}.company h2{font-size:clamp(2rem,3.5vw,3.125rem);line-height:1.5;letter-spacing:-.035em}.company-english{font-family:var(--latin);font-size:clamp(1.5rem,3.6vw,3.375rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;margin-top:35px}.company-data{margin:0;border-top:1px solid #a7b0bf;font-size:0.9375rem}.company-data>div{display:grid;grid-template-columns:108px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--line)}.company-data dt{color:var(--muted);font-size:0.875rem}.company-data dd{margin:0;overflow-wrap:anywhere;line-height:1.95}.registry-link{font-size:0.75rem;display:inline-block;text-decoration:underline;text-underline-offset:5px;margin-top:6px}.registry-link:hover{color:var(--blue)}
.recruit{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:white;padding:55px var(--pad) 0}.recruit .section-label{border-color:#424c60;margin-bottom:65px}.recruit .section-number{color:#99adff}.recruit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding-bottom:70px}.recruit-pretitle{font-size:0.875rem;color:#b7c0d3;margin-bottom:25px}.recruit h2{font-size:clamp(2.375rem,4.8vw,4.625rem);line-height:1.48;letter-spacing:-.04em}.recruit-copy>p{color:#c4cada;font-size:1rem;line-height:2}.recruit-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;color:var(--ink);padding:24px 27px;margin-top:28px;transition:background .3s,color .3s}.recruit-cta>span:first-child{display:flex;flex-direction:column;font-size:1.3125rem;font-weight:600;line-height:1.6;gap:4px}.recruit-cta small{font-family:var(--latin);font-weight:500;letter-spacing:.06em}.cta-arrow{font-size:2.375rem;font-weight:400;font-family:var(--latin);transition:transform .4s var(--ease)}.recruit-cta:hover{background:#dce5ff}.recruit-cta:hover .cta-arrow{transform:translate(4px,-4px)}.care-recruit{display:flex;align-items:center;justify-content:space-between;font-size:0.875rem;margin-top:20px;min-height:44px;border-bottom:1px solid #64708b;padding-bottom:8px;gap:15px}.care-recruit:hover{color:#b4c3ff}.recruit-type{font-family:var(--latin);font-size:clamp(3.5rem,11.2vw,11.875rem);font-weight:700;letter-spacing:-.065em;line-height:.83;white-space:nowrap;color:#34415b;transform:translateY(8%);user-select:none}
.footer{padding:46px var(--pad) 22px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:40px}.footer-wordmark{font-size:1.625rem}.back-top{font-size:0.75rem;display:flex;align-items:center;gap:20px;min-height:44px}.back-top>span{font-size:1.4375rem;transition:transform .3s}.back-top:hover>span{transform:translateY(-4px)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;align-items:center}.footer-bottom p{font-size:0.75rem}.footer-bottom small{font-family:var(--latin);font-size:0.75rem;letter-spacing:.02em;color:var(--muted)}
@keyframes rise{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes stack-in{from{opacity:0;transform:translate3d(140px,90px,-170px) rotateX(-35deg)}to{opacity:1;transform:translateX(var(--x))}}
@media(min-width:1600px){.hero{min-height:770px}.hero-stage{padding-left:70px;padding-right:70px}.power-layer{height:135px}.power-layer b{font-size:5.125rem}}
@media(max-width:1100px){.hero{grid-template-columns:1.04fr 1fr}.hero-copy{padding-right:20px}.hero-stage{min-height:590px;padding:28px 25px}.power-layer{height:105px;padding:12px 14px}.power-layer b{font-size:3.25rem}.hero-bottom{align-items:flex-start;flex-direction:column;padding-top:40px;gap:16px}.hero-description{gap:12px;font-size:0.875rem}.hero-description .wide-break{display:none}.business-row{grid-template-columns:180px minmax(0,1fr);gap:28px}.business-end{font-size:0.75rem}.purpose-grid,.business-heading,.recruit-grid{gap:5vw}.value+.value{padding-left:18px}.value{padding-right:14px}.value p{font-size:0.875rem}.value p br{display:none}.company-grid{grid-template-columns:.85fr 1.15fr;gap:5vw}.company-data>div{grid-template-columns:90px 1fr;gap:14px}}
@media(max-width:800px){html{scroll-padding-top:90px}.header{height:78px}.desktop-nav{gap:20px;font-size:0.75rem}.desktop-nav .nav-recruit{padding:0 12px;gap:10px}.wordmark{font-size:1.125rem}.hero{min-height:0}.hero h1{font-size:2.625rem}.hero-eyebrow{font-size:0.75rem;margin-bottom:28px}.hero-stage{min-height:545px}.power-stack{transform:rotateX(5deg) rotateY(-9deg) rotateZ(-5deg);margin:25px 0}.power-layer{height:95px}.power-layer b{font-size:2.75rem}.stage-top{font-size:0.75rem;gap:20px}.stage-top>span:first-child{max-width:115px}.stage-bottom{font-size:0.75rem}.hero-copy{padding-top:50px}.hero-description{flex-direction:column;gap:10px}.hero-description .short-rule{margin-top:0}.section{padding:70px var(--pad)}.section-label{margin-bottom:45px}.purpose-grid{gap:40px}.purpose h2{font-size:2.125rem}.purpose-copy .purpose-lead{font-size:1.1875rem}.purpose-copy p{font-size:0.9375rem}.values{grid-template-columns:repeat(2,1fr)}.value:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.value:nth-child(4){border-top:1px solid var(--line)}.value{padding-top:25px;padding-bottom:25px}.value h3{font-size:1.875rem;margin-top:12px}.value p br{display:block}.business-heading{gap:35px;align-items:center}.business-heading>p{font-size:0.9375rem}.business-row{grid-template-columns:150px minmax(0,1fr);gap:25px;padding:30px 0}.business-end{display:none}.business-body h3{font-size:1.5rem}.business-links{gap:8px 20px}.business-links a{font-size:0.8125rem}.stores a{min-width:92px;padding:8px 10px;gap:8px}.story{grid-template-columns:.85fr 1.15fr;gap:35px}.story-heading .wide-break{display:none}.story-heading>.story-note{font-size:0.875rem!important}.movie-caption{align-items:flex-start;flex-direction:column;gap:5px}.company-grid{grid-template-columns:1fr 1.25fr;gap:30px}.company-data>div{grid-template-columns:1fr;gap:6px;padding:20px 0}.company-english{font-size:1.875rem}.recruit{padding-top:45px}.recruit-grid{gap:35px}.recruit h2{font-size:2.375rem}.recruit-copy .wide-break{display:none}.recruit-cta{padding:20px}.recruit-cta>span:first-child{font-size:1.1875rem}.recruit-cta small{font-size:0.75rem}}
@media(max-width:640px){:root{--pad:24px}.header{height:74px}.wordmark{font-size:1.125rem}.desktop-nav{display:none}.menu-button{background:none;border:0;padding:10px 0 10px 10px;min-height:44px;display:flex;align-items:center;gap:12px}.menu-label{font-family:var(--latin);font-size:0.75rem;font-weight:600;letter-spacing:.04em}.menu-lines{display:flex;flex-direction:column;gap:6px;width:24px}.menu-lines i{display:block;height:1px;width:24px;background:var(--ink);transition:transform .25s}.menu-button[aria-expanded=true] .menu-lines i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] .menu-lines i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:fixed;left:0;right:0;top:74px;bottom:0;background:white;padding:35px var(--pad);overflow:auto}.mobile-nav>a{display:flex;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid var(--line);font-size:1.375rem;font-weight:600}.mobile-nav small{font-family:var(--latin);font-size:0.75rem;color:var(--blue)}.mobile-nav p{font-size:0.75rem;margin-top:40px;color:var(--muted)}
.hero{grid-template-columns:1fr}.hero-copy{padding:39px var(--pad) 24px;min-height:410px}.hero-eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(2.5625rem,10.6vw,4.0625rem);line-height:1.45;letter-spacing:-.06em}.hero-description{margin-top:21px;gap:14px;font-size:0.875rem;flex-direction:row}.hero-description .short-rule{margin-top:15px;width:20px}.hero-description .wide-break{display:none}.hero-bottom{margin-top:24px;padding-top:0;flex-direction:row;align-items:center;gap:12px}.company-name{font-size:0.75rem;max-width:180px;line-height:1.7}.scroll-link{gap:8px;font-size:0.75rem}.down-arrow{font-size:1.5rem}.hero-stage{min-height:0;height:420px;padding:22px 32px 18px}.stage-top{font-size:0.75rem;line-height:1.3}.stage-top>span:first-child{max-width:none}.power-stack{width:min(340px,87%);margin:10px auto;transform:rotateX(7deg) rotateY(-14deg) rotateZ(-5deg)}.power-layer{height:68px;padding:8px 14px;grid-template-columns:25px 1fr;grid-template-rows:16px 1fr;box-shadow:5px 6px 0 #080d19}.power-layer b{font-size:2.1875rem;line-height:1}.layer-en{font-size:0.75rem}.power-layer+.power-layer{margin-top:5px}.layer-one{--x:-14px;transform:translateX(-14px)}.layer-two{--x:0px}.layer-three{--x:14px;transform:translateX(14px)}.layer-four{--x:28px;transform:translateX(28px)}.stage-bottom{font-size:0.75rem}.stage-cross{font-size:1.75rem}.stage-axis{top:55px;bottom:50px}.section{padding:60px var(--pad)}.section-label{gap:14px;margin-bottom:34px;padding-top:14px;font-size:0.75rem;letter-spacing:.03em}.section-ja{font-size:0.75rem}.purpose-grid{grid-template-columns:1fr;gap:30px;padding-bottom:40px}.purpose h2{font-size:clamp(2rem,8.4vw,3rem);line-height:1.5}.purpose h2 span:nth-child(2){display:inline}.purpose h2 span:nth-child(3){display:inline}.tiny-title{margin-bottom:14px}.purpose-copy{max-width:none}.purpose-copy .purpose-lead{font-size:1.1875rem;line-height:1.95}.purpose-copy p{font-size:1rem;margin-bottom:19px}.values{margin-top:0}.value{padding:22px 10px 24px 0}.value+.value{padding-left:16px}.value:nth-child(3){padding-left:0}.value-no{font-size:0.75rem;letter-spacing:0}.value h3{font-size:1.8125rem;margin-top:14px;margin-bottom:10px}.value p{font-size:0.875rem}.value p br{display:none}.business-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.business-heading h2{font-size:clamp(2rem,8.4vw,3rem)}.business-heading>p{font-size:1rem;padding-bottom:0}.business-row{grid-template-columns:92px minmax(0,1fr);gap:0 18px;padding:28px 0;align-items:start}.business-image{width:92px;grid-column:1;grid-row:1;margin-top:2px}.business-body{display:contents}.business-category{grid-column:2;font-size:0.75rem;line-height:1.5;letter-spacing:0;gap:10px;margin-top:3px;margin-bottom:6px;align-self:start}.business-body h3{grid-column:2;font-size:1.3125rem;line-height:1.55;margin:0 0 20px;display:block;letter-spacing:-.04em}.business-body h3 span{display:block}.business-body>p:not(.business-category){grid-column:1/-1;font-size:1rem;line-height:1.9;max-width:none;margin-top:17px}.business-links{grid-column:1/-1;margin-top:15px;gap:10px 20px}.business-links a{font-size:0.875rem;gap:18px}.stores{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stores a{min-width:0;font-size:0.875rem;min-height:48px;gap:6px;padding:8px 10px;white-space:nowrap}.business-row .business-image{grid-row:1/3}.story{grid-template-columns:1fr;gap:30px}.story-heading h2{font-size:2.25rem;margin-bottom:20px}.story-heading>p:not(.eyebrow){font-size:1.125rem}.story-heading>.story-note{font-size:0.9375rem!important}.movie-caption{flex-direction:row;gap:10px;align-items:center}.movie-play{width:48px;height:42px;bottom:12px;right:12px}.company-grid{grid-template-columns:1fr;gap:28px}.company h2{font-size:2.125rem}.company-english{font-size:1.875rem;margin-top:22px}.company-data{font-size:0.9375rem}.company-data>div{grid-template-columns:100px 1fr;gap:12px;padding:20px 0}.company-data dt{font-size:0.8125rem}.registry-link{font-size:0.75rem}.recruit{padding:35px var(--pad) 0}.recruit .section-label{margin-bottom:34px}.recruit-grid{grid-template-columns:1fr;gap:28px;padding-bottom:55px}.recruit-pretitle{font-size:0.875rem;margin-bottom:14px}.recruit h2{font-size:clamp(2.25rem,10vw,3.5rem)}.recruit-copy>p{font-size:1rem}.recruit-cta{margin-top:24px;padding:22px 24px}.recruit-cta>span:first-child{font-size:1.375rem}.care-recruit{font-size:0.875rem}.recruit-type{font-size:11.2vw}.footer{padding:34px var(--pad) 22px}.footer-wordmark{font-size:1.25rem}.footer-top{padding-bottom:25px}.back-top{gap:10px}.footer-bottom{display:block}.footer-bottom p{margin-bottom:8px}.footer-bottom small{font-size:0.75rem}}
@media(max-width:370px){:root{--pad:20px}.hero h1{font-size:2.4375rem}.hero-copy{min-height:410px}.hero-bottom{align-items:flex-end}.company-name{max-width:150px}.hero-description{font-size:0.875rem;gap:10px}.hero-stage{padding-left:25px;padding-right:25px}.value-no{font-size:0.75rem}.value p{font-size:0.875rem}.business-row{grid-template-columns:80px minmax(0,1fr);gap:0 14px}.business-image{width:80px}.business-body h3{font-size:1.25rem}.stores a{font-size:0.8125rem;padding:8px;gap:4px}.company-data>div{grid-template-columns:1fr;gap:6px}.movie-caption{font-size:0.75rem;flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.power-stack{transform:none!important}.power-layer{transform:none!important;will-change:auto!important}.reading-progress{display:none}}
@media print{.header,.hero-stage,.recruit-type,.menu-button,.back-top{display:none}.hero,.purpose-grid,.business-heading,.story,.company-grid,.recruit-grid{display:block}.section,.recruit{padding:25px 0}.hero-copy{padding:20px 0}.hero-bottom{padding-top:20px}.business-row{break-inside:avoid}.section-label{margin-bottom:20px}.recruit{color:#000;background:#fff}.recruit-copy>p{color:#333}.recruit-cta,.care-recruit{border:1px solid #aaa}.recruit-pretitle{color:#333}}

/* Equal prominence for both recruiting businesses. */
.careers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,64px);padding:42px 0 70px}
.career-card{min-width:0;display:flex;flex-direction:column;border-top:1px solid #64708b;padding-top:28px}
.career-card .recruit-pretitle{margin-bottom:16px}
.career-card h3{font-size:clamp(1.625rem,2.7vw,2.5rem);line-height:1.6;letter-spacing:-.035em}
.career-description{font-size:1rem;line-height:2;color:#c4cada;margin:22px 0 28px}
.career-card .recruit-cta{margin-top:auto;padding:22px 24px}
.career-card .recruit-cta>span:first-child{font-size:clamp(1rem,1.7vw,1.3125rem)}
@media(max-width:640px){.careers-grid{grid-template-columns:1fr;gap:32px;padding:30px 0 50px}.career-card{padding-top:24px}.career-card h3{font-size:1.75rem}.career-description{margin:18px 0 22px}.career-card .recruit-cta{padding:20px}.career-card .recruit-cta>span:first-child{font-size:1.125rem}}

/* Stage-led motion: text stays in document flow and never tracks scrolling. */
.hero-stage{background:#0d1526;min-height:700px}
.sculpture-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;pointer-events:none;transition:opacity .35s}
.sculpture-ready .sculpture-canvas{opacity:1}
.sculpture-ready .power-stack,.sculpture-ready .stage-axis{visibility:hidden}
.stage-values{display:none;position:absolute;left:30px;right:30px;bottom:100px;z-index:2;grid-template-columns:repeat(4,1fr);font-size:0.875rem;text-align:center;letter-spacing:.12em;color:#dce4f5}
.sculpture-ready .stage-values{display:grid}
.stage-values span{padding:14px 0;border-top:1px solid #63779a}
.stage-values span+span{border-left:1px solid #354462}
.hero-stage::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,#cad2de 0%,#eef1f5 50%,#cad2de 100%);transform:scaleX(0);transform-origin:right;animation:stage-open 1.2s cubic-bezier(.76,0,.24,1) both}
@keyframes stage-open{0%,10%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.hero h1 .line>span{animation:headline-in .95s .15s ease-out both}
.hero h1 .line:nth-child(2)>span{animation-delay:.3s}
@keyframes headline-in{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.purpose-copy .purpose-lead{background:none;color:var(--ink)}
.purpose-heading{position:static}
.power-layer{animation-fill-mode:backwards}
.business{background:#f1f3f6}
.business-row{position:relative;isolation:isolate;--row-accent:#263c61;--row-wash:#e3e9f2}
#sakaba{--row-accent:#b51069;--row-wash:#f4e4ed}
#shisha{--row-accent:#7142a6;--row-wash:#eae4f3}
#purintein{--row-accent:#766034;--row-wash:#eee8d9}
.business-row::before{content:"";position:absolute;inset:0 calc(-1 * var(--pad));background:var(--row-wash);z-index:-1;opacity:0;pointer-events:none}
.business-row.has-entered::before{animation:brand-wash 1.4s cubic-bezier(.16,1,.3,1) both}
@keyframes brand-wash{0%{opacity:.8;clip-path:inset(0 100% 0 0)}50%{opacity:.8;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 0 0)}}
.business-row::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--row-accent);transform:scaleX(0);transform-origin:left}
.business-row.has-entered::after{animation:line-lock .9s .1s var(--ease) forwards}
@keyframes line-lock{to{transform:scaleX(1)}}
.business-image{position:relative;box-shadow:0 16px 30px -22px #131c3090}
.business-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffffff70 49%,transparent 70%);transform:translateX(140%)}
.business-row.has-entered .business-image::after{animation:foil 1.25s .4s var(--ease) backwards}
@keyframes foil{from{transform:translateX(-140%)}to{transform:translateX(140%)}}
.movie-image{isolation:isolate}
.movie-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--ink);transform:scaleX(0);transform-origin:right}
.movie.has-entered .movie-image::after{animation:stage-open 1.25s var(--ease) backwards}
.recruit{isolation:isolate}
.recruit::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 20%,#314b80,transparent 60%);pointer-events:none}
.career-card{position:relative;isolation:isolate}
.career-card::before{content:"";position:absolute;inset:0 -16px -16px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at var(--hover-x,50%) var(--hover-y,50%),#718fd750,transparent 70%);opacity:0;transition:opacity .45s}
.career-card:hover::before{opacity:1}
.recruit-cta{position:relative;isolation:isolate;overflow:hidden}
.recruit-cta::before{content:"";position:absolute;inset:0;background:#dce5ff;transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1}
.recruit-cta:hover::before,.recruit-cta:focus-visible::before{transform:translateY(0)}
.recruit-cta:hover{background:white}
.recruit-type{translate:none;transition:none}
.mobile-nav:not([hidden]){animation:menu-open .6s var(--ease) both}
@keyframes menu-open{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0% 0)}}
@media(min-width:1101px){.hero{grid-template-columns:1fr 1.12fr}.hero h1{font-size:clamp(2.6875rem,5.1vw,5.375rem)}}
@media(max-width:800px){.hero-stage{min-height:545px}.stage-values{left:20px;right:20px;font-size:.75rem;bottom:95px}}
@media(max-width:640px){.hero-stage{min-height:0;height:460px}.stage-values{bottom:78px}.stage-values span{padding:10px 0;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.hero-stage::after,.business-row::before,.business-image::after,.movie-image::after{display:none}.business-row.has-entered::after{transform:scaleX(1)}.career-card::before{display:none}.recruit-cta::before{display:none}.hero h1 .line>span{clip-path:none!important;opacity:1!important}.sculpture-canvas{transition:none}}
@media print{.business-row::before,.business-row::after,.business-image::after,.recruit::before{display:none}.purpose-copy .purpose-lead{color:#131c30}.purpose-heading{position:static}}

/* Recognisable weights assemble, then the actual brands open out once. */
.brand-stage{min-height:700px;padding:30px;background:#101827;perspective:none;overflow:hidden}
.brand-stage::after{display:none}
.brand-stage .stage-top{font-size:.75rem;gap:12px}
.brand-stage .stage-bottom{font-family:var(--font);font-size:.875rem;line-height:1.8;letter-spacing:.03em;color:#c8d0df;position:relative}
.brand-scene{position:relative;width:100%;flex:1;display:grid;place-items:center;margin:25px 0}
 .brand-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;width:min(100%,460px)}
.hero-brand{display:flex;flex-direction:column;gap:10px;min-width:0;align-items:center;text-align:center;color:white;font-size:.875rem;line-height:1.65;font-weight:600}
.brand-foundation{position:relative;width:100%;aspect-ratio:1;isolation:isolate}
.foundation-plate{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 14px #0009);will-change:transform}
.foundation-logo{position:absolute;inset:20%;display:grid;place-items:center;overflow:hidden;background:#090e18;box-shadow:0 3px 16px #000b;border:1px solid #667184;z-index:1;transition:box-shadow .4s,border-color .4s}
.foundation-logo img{width:100%;height:100%;object-fit:contain}
.hero-brand:focus-visible{outline-offset:5px}.hero-brand:hover .foundation-logo{border-color:#cddcff;box-shadow:0 0 24px #5273d975}
@media(max-width:800px){.brand-stage{padding:24px 20px;min-height:610px}.brand-grid{gap:18px 16px}}
@media(max-width:640px){.hero .brand-stage{order:-1;height:auto;min-height:0;padding:20px var(--pad)}.brand-stage .brand-scene{margin:20px 0;flex:auto}.brand-grid{width:min(100%,320px);gap:16px 18px}.hero-brand{gap:6px;font-size:.875rem}.hero-copy{min-height:0;padding-top:30px}}

/* Keep the longer care brand readable in the compact mobile hero. */
@media(max-width:640px){.hero-brand[href="#care"]{font-size:clamp(.6875rem,3vw,.8125rem)}}

/* Representative message: natural portrait, fixed text, responsive editorial layout. */
.president{background:#fff;padding-top:88px;padding-bottom:80px}
.president-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(36px,6vw,100px);align-items:start;max-width:1440px;margin:auto}
.president-content{min-width:0}
.president-label{display:flex;align-items:center;gap:20px;font-size:.875rem;font-weight:600;margin-bottom:30px}
.president-label span{font-family:var(--latin);color:var(--blue);font-size:.75rem;letter-spacing:.12em}
.president h2{font-size:clamp(2.25rem,4.4vw,4.5rem);letter-spacing:-.045em;line-height:1.4;font-weight:800;margin-bottom:36px}
.president h2>span{display:block}
.president-prose{max-width:37em;font-size:1rem;line-height:2.1;line-break:strict;overflow-wrap:anywhere}
.president-prose p+p{margin-top:1.4em}
.president-photo{margin-top:4px;overflow:hidden}
.president-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.president-signature{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.president-signature>p:first-child{font-size:.875rem;line-height:1.9}
.president-name{font-size:1.75rem;font-weight:600;letter-spacing:.1em;margin-top:8px}
@media(max-width:800px){.president{padding-top:54px;padding-bottom:48px}.president-layout{grid-template-columns:1fr;gap:30px}.president-photo{grid-row:1;max-width:520px;width:100%;margin:0 auto}.president h2{font-size:clamp(2rem,6vw,3rem);margin-bottom:26px}.president h2>span:nth-child(2){display:inline}.president h2>span:nth-child(3){display:inline}.president-label{margin-bottom:20px}.president-prose{max-width:none}}
@media print{.president-layout{display:block}.president-photo{max-width:240px}.president{padding:25px 0}}

/* Image-only depth and a single portrait curtain; text stays in place. */
@media(hover:hover) and (pointer:fine){.business-image{perspective:900px}.business-image img{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(var(--image-scale,1));transition:transform .45s var(--ease)}.business-row:hover .business-image img{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.035)}}
.president-photo{position:relative}.president-photo::after{content:"";position:absolute;inset:0;background:var(--ink);pointer-events:none;transform:scaleX(0);transform-origin:right}
.president-photo.has-entered::after{animation:portrait-curtain 1.2s cubic-bezier(.76,0,.24,1) both}
@keyframes portrait-curtain{0%,12%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.career-card:focus-within{border-color:#a7bcff;box-shadow:inset 0 0 45px #4063b329}
@media(prefers-reduced-motion:reduce){.president-photo.has-entered::after{animation:none}.business-image img{transform:none!important;transition:none}.foundation-logo{transition:none}}

.care-job-links{display:grid;gap:12px;margin-top:auto}.career-card .care-job-links .recruit-cta{margin-top:0}
