
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:clip}
body{margin:0;background:#fff;font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#111318;text-decoration:none}a:hover{color:#6B3DE8}
:focus-visible{outline:2px solid #6B3DE8;outline-offset:3px}
@keyframes textRise{from{opacity:0;transform:translateY(34px);filter:blur(12px)}60%{opacity:1}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes lineGrowX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes clipUp{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes drift{0%{transform:scale(1.05)}50%{transform:scale(1.11) translate3d(-1.5%,-2%,0)}100%{transform:scale(1.05)}}
@keyframes revUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes revLeft{from{opacity:0;transform:translateX(-26px)}to{opacity:1;transform:none}}
@keyframes revRight{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
@keyframes revMask{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes revClip{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes revLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes spineGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
#biOrgList > li.is-in{animation-delay:.06s}
#biOrgList > li:nth-child(2).is-in{animation-delay:.18s}
#biOrgList > li:nth-child(3).is-in{animation-delay:.3s}
#biOrgList > li:nth-child(4).is-in{animation-delay:.42s}
#biOrgList > li:nth-child(5).is-in{animation-delay:.54s}
#biOrgList > li:nth-child(6).is-in{animation-delay:.66s}
[data-reveal].is-in{animation:revUp 1s cubic-bezier(.22,1,.36,1) both}
[data-reveal="left"].is-in{animation:revLeft 1.2s cubic-bezier(.22,1,.36,1) both}
[data-reveal="right"].is-in{animation:revRight 1.2s cubic-bezier(.22,1,.36,1) both}
[data-reveal="mask"].is-in{animation:revMask 1.3s cubic-bezier(.22,1,.36,1) both}
[data-reveal="clip"].is-in{animation:revClip 1.2s cubic-bezier(.22,1,.36,1) both}
[data-reveal="line"].is-in{animation:revLine 1.2s cubic-bezier(.22,1,.36,1) both;transform-origin:left}
#biOrgSpine [data-reveal="spine"].is-in{animation:spineGrow 1.5s cubic-bezier(.22,1,.36,1) both!important;transform-origin:top}
#siteHeader a,#siteHeader span{white-space:nowrap}
[data-nav-toggle]{display:none}
@media (max-width:1180px){[data-nav-desktop]{display:none!important}[data-nav-toggle]{display:inline-flex!important}}
@media (max-width:1024px){
#biFv{height:auto!important;min-height:0!important;padding-top:84px}
#biFvWrap,#biFvStack,#biFvCopy{height:auto!important}
#biFvWrap{grid-template-columns:minmax(0,1fr)!important}
#biFvStack{display:flex!important;flex-direction:column!important}
#biFvPhoto{position:relative!important;inset:auto!important;width:100%!important;height:clamp(300px,44vw,440px)!important;order:-1}
#biFvImg{object-position:70% 34%!important}
#biFvCopy{width:100%!important;max-width:100%!important;padding:clamp(48px,7vw,72px) clamp(20px,3.5vw,56px) clamp(56px,8vw,88px)!important}
#biFvRail,#biFvWedge{display:none!important}
#biProbGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#biProbHead{grid-template-columns:minmax(0,1fr)!important;gap:clamp(28px,4vw,40px)!important}
#biProbFig>div{min-height:clamp(220px,40vw,320px)!important}
#biStanceInner{grid-template-columns:minmax(0,1fr)!important;gap:clamp(44px,6vw,64px)!important}
#biWayGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#biWayLine{display:none!important}
#biOrgInner,#biWhyInner,#biFaqInner,#biCtaInner{grid-template-columns:minmax(0,1fr)!important;gap:clamp(36px,5vw,56px)!important}
#biOrgList > li,#biOrgTail{padding-left:24px!important}
#biUcHead{grid-template-columns:minmax(0,1fr)!important;gap:clamp(32px,4.5vw,48px)!important}
#biUcVisual img{margin:0 auto!important;max-height:clamp(260px,42vw,380px)!important}
#biUcGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#biFlowGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#biWhyInner > div:first-child{max-width:520px}
#biCtaInner{align-items:start!important}
}
@media (max-width:640px){
@keyframes revUp{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes revLeft{from{opacity:0;transform:translateX(-15px)}to{opacity:1;transform:none}}
@keyframes revRight{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
[data-reveal].is-in{animation-duration:.88s}
[data-reveal="left"].is-in,[data-reveal="right"].is-in{animation-duration:1s}
[data-reveal="mask"].is-in,[data-reveal="clip"].is-in{animation-duration:1.1s}
[data-reveal="line"].is-in{animation-duration:1s}
#siteHeader{height:76px!important}
#biFv{padding-top:76px!important}
#biFv h1{font-size:clamp(28px,8.3vw,36px)!important}
#biFvImg{object-position:74% 30%!important}
#biFvCta{width:100%!important;max-width:380px}
#biProbGrid{grid-template-columns:minmax(0,1fr)!important}
#biProbFig{margin:0 -20px!important}
#biProbFig figcaption{padding:0 20px}
#biProbLead{padding:0 2px}
#biWayGrid{grid-template-columns:minmax(0,1fr)!important}
#biStanceQuote{font-size:clamp(21px,6vw,27px)!important;text-align:left!important}
#biOrgList > li,#biOrgTail{padding-left:20px!important}
#biUcGrid{grid-template-columns:minmax(0,1fr)!important;row-gap:clamp(36px,7vw,48px)!important}
#biFlowGrid{grid-template-columns:minmax(0,1fr)!important;row-gap:clamp(36px,7vw,48px)!important}
#biForWhoList{grid-template-columns:minmax(0,1fr)!important}
#biFaqInner > div:last-child{border-top:1px solid #D9DDE3}
#contact{min-height:0!important}
#contact a[data-cta="contact"]{width:100%;max-width:380px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* インラインstyleの hover / focus 状態（元デザインの style-hover を CSS 化） */
.hb1:focus{left:12px!important;top:12px!important}
.hb2:hover{border-bottom-color:#6B3DE8!important;color:#111318!important}
.hb3:hover{filter:brightness(1.08)!important;color:#fff!important}
.hb4:hover{transform:translateY(-3px)!important;color:#fff!important}
.hb5:hover{color:#6B3DE8!important;border-bottom-color:#6B3DE8!important}
.hb6:hover{transform:translateY(-3px)!important;color:#6B3DE8!important}
.hb7:hover{color:#fff!important}

/* ===== Section reveal: horizontal slide-in (FV excluded) ===== */
@keyframes rvSlide{from{opacity:0;translate:var(--rv-dx) 0}to{opacity:1;translate:0 0}}
@keyframes rvSlideF{from{opacity:0;translate:var(--rv-dx) 0}to{opacity:.16;translate:0 0}}
html.rvx [data-rv="wait"]{opacity:0}
html.rvx [data-rv="l"]{--rv-dx:-32px}
html.rvx [data-rv="r"]{--rv-dx:32px}
html.rvx [data-rv="l"][data-rv-m]{--rv-dx:-56px}
html.rvx [data-rv="r"][data-rv-m]{--rv-dx:56px}
html.rvx [data-rv].is-in:not(#_):not(#_){animation:rvSlide 1.1s cubic-bezier(.22,1,.36,1) var(--rv-delay,0s) both!important}
html.rvx [data-rv][data-rv-m].is-in:not(#_):not(#_){animation-duration:1.4s!important}
html.rvx [data-reveal="faded"][data-rv].is-in:not(#_):not(#_){animation-name:rvSlideF!important}
@media (max-width:640px){
html.rvx [data-rv="l"]{--rv-dx:-20px}
html.rvx [data-rv="r"]{--rv-dx:20px}
html.rvx [data-rv="l"][data-rv-m]{--rv-dx:-32px}
html.rvx [data-rv="r"][data-rv-m]{--rv-dx:32px}
html.rvx [data-rv].is-in:not(#_):not(#_){animation-duration:.95s!important}
html.rvx [data-rv][data-rv-m].is-in:not(#_):not(#_){animation-duration:1.2s!important}
}
