/* FANTAJISTA corporate review — 2026-09-13. The original logo and source copy remain unchanged. */
:root{--story-ease:cubic-bezier(.22,.68,0,1.01)}
.corporate-opening{position:relative;isolation:isolate;background:#f5f4ef;padding:28px 0 0;overflow:hidden}
.opening-landscape{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#e2daca}
.opening-landscape img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:55% 61%;animation:world-drift 32s ease-in-out infinite alternate;transform-origin:75% 55%}
.corporate-opening::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(245,244,239,.98) 0%,rgba(245,244,239,.93) 29%,rgba(245,244,239,.66) 48%,rgba(245,244,239,.13) 74%,rgba(245,244,239,.05) 100%),linear-gradient(180deg,rgba(245,244,239,.57),transparent 32%,transparent 66%,rgba(245,244,239,.96) 100%)}
.opening-inner{position:relative}
.opening-topline{justify-content:space-between;align-items:center;border:0;padding:0;min-height:44px;font-size:12px;font-weight:500;letter-spacing:.09em;color:#454740;gap:24px}
.opening-topline>span:last-child{max-width:none;text-align:left}
.opening-topline>span{display:flex;align-items:center;gap:12px}
.opening-topline>span::before{content:"";width:24px;height:1px;flex:none;background:#b11c2f}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;min-height:44px;border:1px solid #555b4e50;border-radius:2px;background:rgba(245,244,239,.81);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap;color:#3f413d;backdrop-filter:blur(8px)}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:#fff;border-color:#b11c2f}
.motion-toggle:disabled{cursor:default;color:#454740}
.motion-indicator{display:block;width:8px;height:10px;border-left:2px solid #b11c2f;border-right:2px solid #b11c2f}
.motion-toggle[aria-pressed="true"] .motion-indicator{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #b11c2f;border-right:0}
.opening-composition{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(280px,.8fr);column-gap:clamp(32px,5.2vw,84px);align-items:end;min-height:435px;padding:45px 0 49px}
#corporate-title{min-width:0;margin:0;align-self:start;line-height:1.15;letter-spacing:-.065em}
.opening-line{font-size:clamp(42px,5.18vw,81px);letter-spacing:-.065em;white-space:nowrap;line-height:1.4}
.opening-destination{font-size:clamp(115px,13.2vw,204px);margin:12px 0 0 -.045em;letter-spacing:-.085em;line-height:1.09}
.opening-belief{position:static;width:auto;min-width:0;margin:0;padding:22px 0 18px 26px;border-left:1px solid #b11c2f;display:block;align-self:end;background:linear-gradient(90deg,rgba(245,244,239,.88),rgba(245,244,239,.68) 81%,rgba(245,244,239,.2))}
.opening-belief>p{font-size:clamp(18px,1.5vw,23px);line-height:1.8;letter-spacing:-.015em;font-weight:600}
.opening-belief>span{font-size:11px;margin-top:15px}
.opening-belief>a{gap:25px;font-size:11px;margin-top:9px;min-height:44px;border-color:#61685866}
.opening-belief>a:hover{color:#b11c2f;border-color:#b11c2f}
.opening-bottom{margin:0;padding-top:23px;padding-bottom:11px;border-top:1px solid #53594d55;align-items:center;gap:32px}
.opening-bottom p{font-size:13px;line-height:2.05;color:#30352b;letter-spacing:.015em}
.opening-bottom a{font-size:12px;gap:28px;white-space:nowrap}
.opening-bottom a>span{display:inline-block;animation:story-arrow 3s ease-in-out infinite}
.opening-image-note{font-size:12px;line-height:1.7;letter-spacing:.02em;color:#585e51;text-align:right;padding:4px 0 15px}

.growth-story{padding:110px 0 100px;background:linear-gradient(180deg,#fff 0%,#fbfaf6 70%,#f4f1e9 100%);position:relative;overflow:hidden}
.growth-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:start}
.growth-heading .corporate-label{padding-top:18px;color:#b11c2f;font-size:12px}
.growth-heading h2{font-size:clamp(35px,3.8vw,57px);line-height:1.53;letter-spacing:-.055em}
.growth-main{display:grid;grid-template-columns:1.28fr 1fr;gap:10%;align-items:center;margin-top:64px}
.growth-image{min-width:0}
.growth-image-frame{overflow:hidden;aspect-ratio:1.45;background:#c8b38d}
.growth-image img{width:100%;height:100%;object-fit:cover;object-position:50% 49%;transition:transform 1.4s var(--story-ease)}
.growth-image:hover img{transform:scale(1.025)}
.growth-image figcaption{font-size:12px;line-height:1.8;margin-top:12px;color:#66695f}
.growth-copy{padding-bottom:20px}
.growth-copy-mark{display:block;width:38px;height:2px;background:#b11c2f;margin-bottom:24px}
.growth-copy h3{font-size:clamp(26px,2.6vw,38px);line-height:1.63;letter-spacing:-.035em;margin-bottom:27px}
.growth-copy p{font-size:14px;line-height:2.25;color:#4c5046;margin-top:22px}
.growth-steps{list-style:none;margin:68px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;position:relative;border-top:1px solid #b5b8aa}
.growth-steps::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,#b11c2f,#b11c2f80);transform:scaleX(.18);transform-origin:left;animation:story-progress 14s ease-in-out infinite}
.growth-steps li{position:relative;padding:27px 24px 15px 0}
.growth-steps li+li{padding-left:36px;border-left:1px solid #cfd0c733}
.growth-number{font-size:11px;color:#b11c2f;letter-spacing:.08em}
.growth-steps h3{font-size:25px;line-height:1.5;letter-spacing:-.035em;margin:15px 0 14px}
.growth-steps p{font-size:13px;line-height:2;color:#4c5046}
.growth-note{margin-top:30px;font-size:11px;line-height:1.9;color:#62665b}

.corporate-purpose{position:relative;isolation:isolate;overflow:hidden;background:#b11c2f;background-image:radial-gradient(ellipse at 10% 6%,#da3b453d 0%,transparent 56%),radial-gradient(ellipse at 95% 90%,#430a1d66 0%,transparent 70%),linear-gradient(122deg,#bb2436,#b11c2f 48%,#94182b);padding-top:106px;padding-bottom:100px}
.corporate-purpose::before{content:"";position:absolute;z-index:-1;inset:-15% -30%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,#fff0 40%,#ffffff12 49%,#fff0 58%,transparent 65%);animation:purpose-light 20s ease-in-out infinite alternate;transform:translateX(-6%)}
.corporate-purpose::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.71' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.11' filter='url(%23g)'/%3E%3C/svg%3E");opacity:.22;mix-blend-mode:soft-light}
.purpose-manifesto p{color:#fff}
.corporate-principles li{position:relative;border-top-color:#ffffff55}
.corporate-principles li::before{content:"";position:absolute;left:0;top:-1px;width:24px;height:2px;background:#fff;transition:width .7s var(--story-ease)}
.corporate-principles li:hover::before{width:65px}
.corporate-future{background:radial-gradient(ellipse at 90% 0%,#fff 0%,transparent 55%),linear-gradient(180deg,#f5f4ef,#edeee6)}
.future-detail article{transition:background-color .35s,padding .4s var(--story-ease)}
.future-detail article:hover{background:#ffffff66}
.business{background:linear-gradient(180deg,#fff 40%,#fafaf7)}
.business-row{background:transparent}
.recruit-band{position:relative;overflow:hidden;background:radial-gradient(ellipse at 92% 150%,#736c5040,transparent 60%),linear-gradient(112deg,#20211f,#30372f)}
[data-reveal]{opacity:1;transform:none}
.motion-enabled [data-reveal]{transition:transform 1.05s var(--story-ease),opacity 1.05s ease}
.motion-enabled [data-reveal]:not(.is-visible){opacity:.86;transform:translateY(18px)}
.motion-enabled [data-reveal].is-visible{opacity:1;transform:none}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important}
.motion-paused [data-reveal]{opacity:1;transform:none;transition:none}
.motion-paused .growth-image img{transition:none;transform:none}
@keyframes world-drift{0%{transform:scale(1.025) translateX(-.35%)}100%{transform:scale(1.065) translateX(.35%)}}
@keyframes story-progress{0%,8%{transform:scaleX(.08);opacity:.4}70%,87%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes purpose-light{from{transform:translateX(-6%);opacity:.5}to{transform:translateX(8%);opacity:1}}
@keyframes story-arrow{0%,70%,100%{transform:translateY(0)}35%{transform:translateY(5px)}}

@media(min-width:1700px){.opening-composition{min-height:470px}.opening-landscape img{object-position:55% 65%}}
@media(max-width:1100px){
 .opening-composition{column-gap:34px;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);min-height:365px;padding-block:40px}
 .opening-line{font-size:4.95vw}.opening-destination{font-size:13vw}
 .opening-belief{padding:17px 0 15px 20px}.opening-belief>p{font-size:18px}.opening-belief>a{font-size:10px;gap:18px}
 .opening-bottom p{font-size:12px}.opening-bottom a{font-size:11px;gap:18px}
 .growth-heading{gap:40px}.growth-main{gap:7%}.growth-steps li+li{padding-left:24px}
 .growth-steps h3{font-size:23px}.growth-steps p{font-size:12px}
}
@media(max-width:900px){
 .opening-composition{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 0}
 .opening-line{font-size:clamp(40px,7.8vw,67px)}.opening-destination{font-size:clamp(120px,20vw,177px)}
 .opening-belief{justify-self:end;min-width:310px;width:42%;padding:17px 20px;border-left-width:1px;background:linear-gradient(90deg,#f5f4eff0,#f5f4efc7)}
 .opening-belief>p{font-size:18px;line-height:1.7}.opening-belief>span{margin-top:10px}
 .opening-composition{min-height:0}.opening-bottom{align-items:end}.opening-bottom p{max-width:520px}.opening-bottom p br{display:none}
 .opening-landscape img{object-fit:cover;object-position:55% 50%}
 .corporate-opening::before{background:linear-gradient(90deg,#f5f4effa 0%,#f5f4efbf 30%,#f5f4ef16 85%),linear-gradient(180deg,#f5f4efb3 0%,transparent 62%,#f5f4effa 100%)}
 .growth-story{padding-block:80px}.growth-heading{grid-template-columns:.65fr 1.35fr;gap:30px}.growth-heading h2{font-size:38px}
 .growth-copy h3{font-size:27px}.growth-copy p{font-size:13px}.growth-main{gap:6%}.growth-image-frame{aspect-ratio:1.05}
}
@media(max-width:760px){
 .corporate-opening{padding:17px 0 0;background:#f5f4ef}
 .opening-topline{font-size:10px;letter-spacing:.01em;gap:10px;min-height:36px}.opening-topline>span{gap:8px}.opening-topline>span::before{width:12px}
 .motion-toggle{font-size:10px;min-height:38px;padding:7px 8px;gap:6px;letter-spacing:0}
 .opening-composition{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 0 0;gap:0}
 #corporate-title{margin:0;position:relative;z-index:1}
 .opening-line{font-size:clamp(26px,8.35vw,60px);letter-spacing:-.065em;line-height:1.45}
 .opening-destination{font-size:clamp(78px,23.6vw,170px);line-height:1.15;margin-top:4px;margin-left:-.035em}
 .opening-landscape{top:152px;bottom:auto;height:clamp(240px,60vw,400px)}
 .opening-landscape img{width:100%;height:100%;object-fit:cover;object-position:63% 62%;animation-duration:30s}
 .corporate-opening::before{background:linear-gradient(180deg,#f5f4ef 0px,#f5f4ef 137px,#f5f4efc9 195px,#f5f4ef14 270px,#f5f4ef00 325px,#f5f4efec 430px,#f5f4ef 495px);z-index:-1}
 .opening-belief{position:static;width:100%;min-width:0;justify-self:stretch;display:block;margin:clamp(152px,36vw,225px) 0 0;padding:0 0 0 17px;border-left:1px solid #b11c2f;background:transparent}
 .opening-belief>p{font-size:19px;line-height:1.8;font-weight:600;letter-spacing:-.025em}
 .opening-belief>span{font-size:11px;margin-top:12px}
 .opening-belief>a{font-size:11px;gap:26px;margin-top:8px;min-height:44px}
 .opening-bottom{display:block;margin-top:25px;padding:20px 0 0}
 .opening-bottom p{font-size:13px;line-height:2.05;max-width:none}
 .opening-bottom a{justify-content:flex-start;font-size:11px;gap:24px;margin-top:15px;min-height:42px}
 .opening-image-note{text-align:left;font-size:12px;padding:7px 0 23px;line-height:1.8}
 .growth-story{padding-block:60px}
 .growth-heading{display:block}.growth-heading .corporate-label{padding:0;font-size:11px}.growth-heading h2{font-size:clamp(28px,8vw,46px);margin-top:23px;line-height:1.6}
 .growth-main{display:flex;flex-direction:column;gap:32px;margin-top:32px;align-items:stretch}
 .growth-image-frame{aspect-ratio:1.4}.growth-image figcaption{font-size:12px;margin-top:9px}
 .growth-copy{padding:0}.growth-copy-mark{width:27px;margin-bottom:21px}.growth-copy h3{font-size:26px;line-height:1.7;margin-bottom:20px}.growth-copy p{font-size:14px;line-height:2.1;margin-top:17px}
 .growth-steps{margin-top:37px;display:block;border-top:0;border-left:1px solid #b5b8aa;margin-left:6px}
 .growth-steps::before{width:2px;height:100%;top:0;left:-1px;right:auto;transform-origin:top;animation-name:story-progress-vertical;background:linear-gradient(180deg,#b11c2f,#b11c2f55)}
 .growth-steps li,.growth-steps li+li{padding:4px 0 26px 23px;border-left:0}
 .growth-steps li:last-child{padding-bottom:0}.growth-number{font-size:10px}.growth-steps h3{font-size:23px;margin:9px 0 11px}.growth-steps p{font-size:13px;line-height:1.95}.growth-steps p br{display:none}
 .growth-note{font-size:10px;line-height:1.9;margin-top:25px}
 .corporate-purpose{padding-block:60px}.purpose-manifesto{padding-top:30px}.corporate-purpose h2{font-size:clamp(27px,8.2vw,52px)}
 .corporate-purpose::before{inset:0 -60%;animation-duration:24s}
 .corporate-principles li::before{width:15px}
 .future-intro h2{font-size:clamp(28px,8.4vw,42px)}
}
@media(max-width:360px){.opening-topline{font-size:9px;gap:6px}.motion-toggle{font-size:9px;padding-inline:6px}.opening-topline>span{gap:6px}.opening-topline>span::before{width:8px}.opening-belief>p{font-size:18px}}
@keyframes story-progress-vertical{0%,8%{transform:scaleY(.08);opacity:.4}70%,87%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-enabled [data-reveal],.motion-enabled [data-reveal]:not(.is-visible){opacity:1;transform:none}.growth-image:hover img{transform:none}.opening-landscape img{transform:none}}
