/* Motion kit: progressive enhancement, transform/opacity/clip-path first. */
:root{--mk-ease:cubic-bezier(.22,.75,.22,1);--mk-duration:680ms;--mk-stagger-gap:75ms}
.mk-js .mk-fade-up,.mk-js .mk-stagger>*{opacity:0;transform:translateY(18px)}
.mk-js .mk-clip-reveal{clip-path:inset(0 100% 0 0);transform:scale(1.08)}
.mk-js h2.mk-wipe{opacity:0;clip-path:inset(0 0 100% 0)}
.mk-js .mk-label-line::after{transform:scaleX(0);transform-origin:left}
.mk-in.mk-fade-up,.mk-in.mk-stagger>*{opacity:1;transform:none;transition:opacity var(--mk-duration) var(--mk-ease),transform var(--mk-duration) var(--mk-ease)}
.mk-in.mk-clip-reveal{clip-path:inset(0);transform:scale(1);transition:clip-path var(--mk-duration) var(--mk-ease),transform var(--mk-duration) var(--mk-ease)}
.mk-in.mk-wipe,.mk-js .mk-wipe.mk-in,.mk-js .mk-in .mk-wipe{opacity:1;clip-path:inset(0);transition:opacity 720ms var(--mk-ease),clip-path 720ms var(--mk-ease)}
.mk-stagger>*{transition-delay:calc(var(--mk-i,0) * var(--mk-stagger-gap))}
.mk-label-line{position:relative;display:inline-block;padding-bottom:8px}.mk-label-line::after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--orange);transition:transform 620ms var(--mk-ease)}.mk-in.mk-label-line::after{transform:scaleX(1)}
.mk-card-lift{transition:transform 220ms ease,box-shadow 220ms ease}.mk-card-lift:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0002}
.mk-img-zoom{overflow:hidden}.mk-img-zoom img{transition:transform 280ms ease}.mk-img-zoom:hover img{transform:scale(1.04)}
.mk-link-slide{position:relative;text-decoration:none}.mk-link-slide::after{content:"";position:absolute;right:0;bottom:-.2em;left:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 240ms ease}.mk-link-slide:hover::after,.mk-link-slide:focus-visible::after{transform:scaleX(1)}
.mk-hero-enter{animation:mk-hero 700ms var(--mk-ease) both}.mk-marquee{display:flex;width:max-content;animation:mk-marquee 22s linear infinite}.mk-marquee>*{flex:none}
.mk-home-hero .hero-block{animation:mk-home-block 600ms var(--mk-ease) both}.mk-home-hero .hero-block span{display:block;overflow:hidden;opacity:0;transform:translateY(105%);animation:mk-home-line 420ms var(--mk-ease) both;animation-delay:calc(540ms + var(--mk-line-i,0) * 120ms)}.mk-home-hero .hero-block span:nth-child(1){--mk-line-i:0}.mk-home-hero .hero-block span:nth-child(2){--mk-line-i:1}.mk-home-hero .hero-block span:nth-child(3){--mk-line-i:2}.mk-home-hero .hero-copy{animation:mk-home-copy 620ms var(--mk-ease) 700ms both}.mk-home-hero .hero-copy .mk-fade-up{opacity:1;transform:none}.mk-home-hero .hero-copy h1{background:var(--white);color:var(--ink);text-shadow:none;padding:12px 18px 16px;animation:mk-home-heading 620ms var(--mk-ease) 700ms both}.mk-home-hero .hero-copy h1 em{color:var(--green)}.mk-home-hero .hero-photo.mk-clip-reveal{animation:mk-home-photo 720ms var(--mk-ease) 780ms both}
@keyframes mk-home-block{from{transform:translateX(-101%)}to{transform:none}}@keyframes mk-home-line{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:none}}@keyframes mk-home-copy{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes mk-home-heading{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes mk-home-photo{from{clip-path:inset(0 100% 0 0);transform:scale(1.06)}to{clip-path:inset(0);transform:scale(1)}}
@keyframes mk-hero{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes mk-marquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.mk-fade-up,.mk-clip-reveal,.mk-stagger>*,.mk-scroll-reveal,.mk-wipe{opacity:1;transform:none;clip-path:none;animation:none!important;transition:none!important;letter-spacing:normal}.mk-label-line::after{transform:scaleX(1);transition:none}.mk-card-lift,.mk-img-zoom img,.mk-link-slide::after{transition:none}.mk-marquee,.mk-hero-enter,.mk-home-hero .hero-block,.mk-home-hero .hero-block span,.mk-home-hero .hero-copy,.mk-home-hero .hero-copy h1,.mk-home-hero .hero-photo{animation:none!important}.mk-home-hero .hero-block span{opacity:1;transform:none}}
/* details(アコーディオン)内はreveal対象外: 閉状態は高さ0で発火不能なため常時表示 */
.mk-js details .mk-fade-up,.mk-js details .mk-wipe,.mk-js details .mk-clip-reveal,.mk-js details .mk-stagger>*{opacity:1;transform:none;clip-path:none;letter-spacing:normal}
