/* 見本20 ロフトワーク風 — カードで整理・リズムよく切り替わるレイアウト */
:root{
  --ink:#1a1a1a;
  --yellow:#fff100;
  --gold:#c0a700;
  --navy:#0F1E3D;
  --gray:#f7f7f7;
  --line:#e5e5e5;
  --en:'Figtree',sans-serif;
  --ja:'Zen Kaku Gothic New',sans-serif;
  --serif:'Libre Baskerville',serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--ja);color:var(--ink);background:#fff;font-size:15px;line-height:1.85;letter-spacing:.03em;font-weight:500}
main{overflow-x:clip;display:block}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,p,dl,dd,dt{margin:0}
button{font:inherit;color:inherit;cursor:pointer}
.innerBlock{width:100%;max-width:1240px;margin:0 auto;padding:0 40px;position:relative}
.nb{display:inline-block}
.sp{display:none}

/* ---------- header ---------- */
.header{position:fixed;left:0;right:0;top:0;z-index:100;color:#fff;transition:background .4s,color .4s,transform .4s}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:80px;padding:0 100px 0 40px}
.header__logo{font-family:var(--en);font-weight:800;font-size:28px;letter-spacing:.02em;line-height:1}
.header__logo span{color:var(--yellow)}
.header__gnav ul{display:flex;gap:30px;font-family:var(--en);font-weight:600;font-size:15px}
.header__gnav a{position:relative;padding:6px 0}
.header__gnav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.header__gnav a:hover::after{transform:scaleX(1);transform-origin:left}
.header.is-solid{background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.header.is-solid .header__logo span{color:var(--gold)}
.header.is-hide{transform:translateY(-100%)}
.hamburger{position:fixed;top:16px;right:24px;z-index:120;width:48px;height:48px;border-radius:50%;border:0;background:var(--yellow);display:grid;place-items:center}
.hamburger span{position:absolute;left:14px;right:14px;height:2px;background:var(--ink);transition:transform .35s}
.hamburger span:nth-child(1){transform:translateY(-4px)}
.hamburger span:nth-child(2){transform:translateY(4px)}
.is-menu .hamburger span:nth-child(1){transform:rotate(45deg)}
.is-menu .hamburger span:nth-child(2){transform:rotate(-45deg)}

/* modal menu */
.modal{position:fixed;inset:0;z-index:110;background:var(--ink);color:#fff;clip-path:circle(0 at calc(100% - 48px) 40px);transition:clip-path .7s cubic-bezier(.7,0,.2,1);overflow:auto;visibility:hidden}
.is-menu .modal{clip-path:circle(150% at calc(100% - 48px) 40px);visibility:visible}
.modal__inner{max-width:1100px;margin:0 auto;padding:120px 40px 60px}
.modal__list{display:grid;grid-template-columns:1fr 1fr;gap:6px 60px}
.modal__list a{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.15);transition:color .3s}
.modal__list a:hover{color:var(--yellow)}
.modal__ja{font-size:12px;opacity:.75}
.modal__en{font-family:var(--en);font-weight:700;font-size:40px;line-height:1.2}
.modal__note{margin-top:40px;font-size:13px;opacity:.8}

/* float nav */
.floatnav{position:fixed;right:24px;bottom:24px;z-index:90;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s;pointer-events:none}
.floatnav.is-show{opacity:1;transform:none;pointer-events:auto}
.floatnav__item{width:64px;height:64px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-family:var(--en);font-weight:700;font-size:11px;box-shadow:0 8px 20px -8px rgba(0,0,0,.35);transition:transform .3s}
.floatnav__item:hover{transform:scale(1.08)}
.floatnav__item--top{background:var(--ink);color:#fff}

/* ---------- main image ---------- */
.mainImage{position:relative;height:100vh;height:100svh;min-height:560px;background:#111;color:#fff;overflow:hidden}
.mainImage__swiper{height:100%}
.mainImage__slide{position:relative;overflow:hidden}
.mainImage__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.15);transition:transform 7s linear}
.mainImage__bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.15) 40%,rgba(0,0,0,.5))}
.swiper-slide-active .mainImage__bg{transform:scale(1)}
.mainImage__copy{position:absolute;right:0;bottom:150px;padding:0 100px;text-align:right;width:100%}
.mainImage__tags{font-family:var(--en);font-weight:600;font-size:13px;letter-spacing:.08em;margin-bottom:16px}
.mainImage__tags span{color:var(--yellow)}
.mainImage__title{font-weight:900;font-size:clamp(22px,3.4vw,44px);line-height:1.25;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.pl{display:inline-block;background:#fff;color:var(--ink);padding:8px 16px 10px;overflow:hidden;clip-path:inset(0 0 0 100%);transition:clip-path .9s cubic-bezier(.7,0,.2,1)}
.pl>span{display:inline-block;transform:translateX(30px);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.swiper-slide-active .pl{clip-path:inset(0 0 0 0)}
.swiper-slide-active .pl>span{transform:none}
.swiper-slide-active .pl:nth-child(2),.swiper-slide-active .pl:nth-child(2)>span{transition-delay:.15s}
.sticker{position:absolute;right:100px;top:-120px;width:88px;height:88px;border-radius:50%;background:var(--yellow);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2;transform:rotate(-12deg) scale(0);transition:transform .8s 1s cubic-bezier(.3,1.6,.5,1)}
.sticker::before{content:"";position:absolute;inset:-8px;border-radius:50%;background:rgba(255,241,0,.35);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.85);opacity:1}100%{transform:scale(1.35);opacity:0}}
.swiper-slide-active .sticker{transform:rotate(-12deg) scale(1)}
.sticker__sub{font-family:var(--en);font-size:11px;font-weight:700}
.sticker__main{font-size:14px;font-weight:900}
.mainImage__controler{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:center;gap:30px;padding:0 100px 36px 40px}
.mainImage__copyright{font-family:var(--en);font-size:11px;opacity:.8;margin-right:auto}
.mainImage__arrows{display:flex;gap:8px}
.mainImage__arrows button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent;position:relative;transition:background .3s,border-color .3s}
.mainImage__arrows button:hover{background:var(--yellow);border-color:var(--yellow)}
.mainImage__prev::before,.mainImage__next::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:2px solid #fff;border-right:2px solid #fff;transform:translate(-65%,-50%) rotate(45deg)}
.mainImage__prev::before{transform:translate(-35%,-50%) rotate(-135deg)}
.mainImage__arrows button:hover::before{border-color:var(--ink)}
.mainImage__auto i,.howSlider__auto i{position:absolute;left:50%;top:50%;width:10px;height:12px;transform:translate(-50%,-50%);border-left:3px solid currentColor;border-right:3px solid currentColor}
.is-paused .mainImage__auto i,.howSlider__auto.is-paused i{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;transform:translate(-35%,-50%)}
.mainImage__number{font-family:var(--en);font-size:13px;min-width:60px}
.mainImage__number b{font-size:20px}
.mainImage__progress{width:160px;height:2px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.mainImage__progress span{position:absolute;inset:0;background:var(--yellow);transform-origin:left;transform:scaleX(0)}
.mainImage__update{position:absolute;left:40px;top:50%;z-index:5;transform:rotate(-90deg) translateX(-50%);transform-origin:left top;font-family:var(--en);font-size:11px;letter-spacing:.12em;opacity:.85}
.mainImage__scroll{position:absolute;right:42px;bottom:110px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--en);font-size:10px;letter-spacing:.15em;writing-mode:vertical-rl}
.mainImage__scroll i{width:1px;height:60px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.mainImage__scroll i::after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:var(--yellow);animation:scrolline 2s cubic-bezier(.7,0,.3,1) infinite}
@keyframes scrolline{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* ---------- section common ---------- */
.contentsGroup{padding:120px 0}
.contentsGroup__header{margin-bottom:50px}
.contentsGroup__header--row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.contentsGroup__title{display:flex;flex-direction:column}
.ttl-sub{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold);margin-bottom:6px}
.ttl-main{font-family:var(--en);font-weight:800;font-size:clamp(44px,7vw,92px);line-height:1;letter-spacing:-.01em}
.ttl-main i{font-style:normal;color:var(--gold);margin:0 .12em;font-weight:400}
.split .ch{display:inline-block}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.contentsGroup__desc{font-size:14px;line-height:1.9;max-width:440px}
.viewmore{font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.1em;border-bottom:2px solid var(--yellow);padding-bottom:4px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:14px;min-height:58px;padding:0 30px;border-radius:99px;border:2px solid var(--ink);font-weight:700;font-size:14px;position:relative;overflow:hidden;z-index:0;transition:color .3s}
.btn::before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);border-radius:99px;transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1}
.btn:hover{color:#fff}
.btn:hover::before{transform:none}
.btn span::after{content:"→";font-family:var(--en);margin-left:12px;display:inline-block;transition:transform .3s}
.btn:hover span::after{transform:translateX(4px)}
.btn--yellow{background:var(--yellow);border-color:var(--yellow)}

/* tags */
.entry__meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;align-items:center}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 9px;border:1px solid var(--ink);border-radius:3px;font-family:var(--en),var(--ja);letter-spacing:.04em}
.tag--gold{border-color:var(--gold);color:var(--gold)}
.place{font-size:11px;color:#666;font-family:var(--en)}

/* ---------- about ---------- */
.about{padding-top:130px;padding-bottom:90px}
.about__grid{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:start}
.about__lead{font-size:clamp(22px,2.6vw,32px);font-weight:900;line-height:1.6;margin-bottom:24px}
.about__lead .nb{background:linear-gradient(transparent 62%,var(--yellow) 62%) no-repeat;background-size:0 100%;transition:background-size 1s cubic-bezier(.2,.7,.2,1)}
.about__lead.is-mark .nb{background-size:100% 100%}
.about__lead.is-mark .nb:nth-child(2){transition-delay:.25s}
.about__lead.is-mark .nb:nth-child(3){transition-delay:.5s}
.about__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.about__note{font-size:12px;color:#666;margin-top:14px}

/* hashtag band */
.hashband{background:var(--ink);color:#fff;overflow:hidden;padding:18px 0}
.hashband__track{display:flex;gap:36px;width:max-content;animation:marquee 40s linear infinite;font-family:var(--en),var(--ja);font-weight:700;font-size:18px}
.hashband__track span:nth-child(3n){color:var(--yellow)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- entry cards ---------- */
.entry{display:grid;gap:40px 32px}
.entry--service{grid-template-columns:repeat(3,1fr)}
.entry__item{position:relative}
.entry__thumb{overflow:hidden;border-radius:6px;aspect-ratio:3/2;background:#ddd}
.entry__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.entry__item:hover .entry__thumb img{transform:scale(1.06)}
.entry__detail{padding-top:18px}
.entry__title{font-size:19px;font-weight:700;line-height:1.5;margin-bottom:10px;transition:color .3s}
.entry__title{background:linear-gradient(transparent 65%,var(--yellow) 65%) no-repeat 0 0/0 100%;display:inline;transition:background-size .5s}
.entry__item:hover .entry__title{background-size:100% 100%}
.entry__text{font-size:14px;color:#444;margin-top:12px}
.entry__hash{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:14px;font-size:12px;color:#777;font-family:var(--en),var(--ja)}
.entry__link{position:absolute;inset:0;z-index:2}
.others{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}
.others a{display:flex;flex-direction:column;padding:22px 26px;border-radius:6px;background:var(--gray);position:relative;transition:background .35s}
.others a::after{content:"→";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-family:var(--en);font-weight:700;transition:right .3s}
.others a:hover{background:var(--yellow)}
.others a:hover::after{right:16px}
.others__en{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--gold)}
.others a:hover .others__en{color:var(--ink)}
.others__ja{font-weight:700;font-size:16px;padding-right:20px}

/* work */
.work{background:var(--gray)}
.entry--work{grid-template-columns:1.25fr 1fr 1fr;align-items:start}
.entry__item--lg{grid-row:span 1}
.entry--work .entry__item{background:#fff;border-radius:8px;padding:14px 14px 22px;box-shadow:0 20px 40px -32px rgba(0,0,0,.35)}
.entry--work .entry__detail{padding:18px 8px 0}
.entry__item--lg .entry__thumb{aspect-ratio:4/3.4}
.stats{display:grid;gap:10px;margin-top:14px;padding-top:14px;border-top:1px dashed #ccc}
.stats dt{font-size:11px;color:#666;line-height:1.6}
.stats dd{font-weight:700;font-size:14px}
.stats b{font-family:var(--en);font-weight:800;font-size:32px;line-height:1.1;margin:0 2px;background:linear-gradient(transparent 60%,var(--yellow) 60%)}
.work__note{font-size:12px;color:#666;margin-top:40px}
.viewall{text-align:center;margin-top:40px}

/* pickup panel */
.panel{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.panel__item{position:relative;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:transform .4s,box-shadow .4s}
.panel__item:hover{transform:translateY(-6px);box-shadow:0 24px 40px -28px rgba(0,0,0,.4)}
.panel__thumb{position:relative;aspect-ratio:10/7;overflow:hidden}
.panel__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.panel__item:hover .panel__thumb img{transform:scale(1.06)}
.date{position:absolute;left:14px;top:14px;background:#fff;border-radius:6px;padding:6px 12px 8px;text-align:center;line-height:1;font-family:var(--en);box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.date__m{display:block;font-size:11px;font-family:var(--ja);font-weight:700;margin-bottom:4px}
.date__d{display:block;font-size:30px;font-weight:800}
.date__y{display:block;font-size:10px;color:#777;margin-top:3px}
.status{position:absolute;right:14px;bottom:14px;background:var(--yellow);font-weight:900;font-size:13px;padding:4px 12px;border-radius:99px}
.panel__detail{padding:20px 22px 26px}
.panel__title{font-size:16px;font-weight:700;line-height:1.65}

/* how */
.how{background:var(--ink);color:#fff}
.how .ttl-sub{color:var(--yellow)}
.howSlider{padding-left:max(40px,calc(50% - 580px))}
.howSlide{width:min(560px,78vw)}
.howSlide__thumb{border-radius:8px;overflow:hidden;aspect-ratio:16/10}
.howSlide__thumb img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.2s}
.swiper-slide-active .howSlide__thumb img{transform:scale(1)}
.howSlide__detail{padding-top:18px}
.howSlide__no{font-family:var(--serif);font-style:italic;color:var(--yellow);font-size:14px}
.howSlide h3{font-size:24px;font-weight:900;margin-top:4px}
.howSlider__ctrl{display:flex;align-items:center;gap:14px;margin-top:34px}
.howSlider__ctrl button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;position:relative;flex:none;color:#fff;transition:background .3s}
.howSlider__ctrl button:hover{background:var(--yellow);color:var(--ink)}
.howSlider__prev::before,.howSlider__next::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-65%,-50%) rotate(45deg)}
.howSlider__prev::before{transform:translate(-35%,-50%) rotate(-135deg)}
.howSlider__bar{flex:1;height:2px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}
.howSlider__bar span{position:absolute;inset:0;background:var(--yellow);transform-origin:left;transform:scaleX(.2);transition:transform .6s}
.recruitFlow{margin-top:80px;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:28px 32px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.recruitFlow__ttl{font-weight:900;font-size:17px;color:var(--yellow)}
.recruitFlow__list{display:flex;flex-wrap:wrap;gap:8px 0;counter-reset:rf}
.recruitFlow__list li{counter-increment:rf;font-weight:700;font-size:15px;display:flex;align-items:center}
.recruitFlow__list li::before{content:counter(rf,decimal-leading-zero);font-family:var(--en);font-size:11px;color:var(--yellow);margin-right:6px}
.recruitFlow__list li:not(:last-child)::after{content:"";width:28px;height:1px;background:rgba(255,255,255,.4);margin:0 14px}
.message{display:grid;grid-template-columns:4fr 7fr;gap:60px;align-items:center;margin-top:100px}
.message__thumb{border-radius:8px;overflow:hidden;aspect-ratio:4/5}
.message__thumb img{width:100%;height:115%;object-fit:cover}
.message__label{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:18px}
.message__label .tag--gold{color:var(--yellow);border-color:var(--yellow)}
.message__title{font-size:clamp(22px,2.6vw,32px);font-weight:900;line-height:1.55;margin-bottom:26px}
.message__body p{margin-bottom:16px;font-size:15px;line-height:2;color:rgba(255,255,255,.88)}
.message__sign{text-align:right;font-weight:700;color:#fff!important}

/* where */
.where__list{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.where__item{display:grid;grid-template-columns:1fr 1fr;background:var(--gray);border-radius:8px;overflow:hidden}
.where__thumb{aspect-ratio:1;overflow:hidden}
.where__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .9s}
.where__item:hover .where__thumb img{transform:scale(1.06)}
.where__detail{padding:28px 26px;display:flex;flex-direction:column;justify-content:center}
.where__en{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:13px}
.where__detail h3{font-size:20px;font-weight:900;line-height:1.5;margin:6px 0 12px}
.where__detail p{font-size:13px;color:#555}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:#fff}
.footer__btns{max-width:1240px;margin:0 auto;padding:100px 40px 60px}
.footer__lead{font-size:clamp(20px,2.4vw,30px);font-weight:900;margin-bottom:34px;line-height:1.6}
.footer__big{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.footer__big a{display:flex;flex-direction:column;height:100%;padding:36px 36px 30px;border-radius:10px;background:#262626;position:relative;overflow:hidden;z-index:0;transition:color .4s}
.footer__big a::before{content:"";position:absolute;inset:0;background:var(--yellow);clip-path:circle(0 at 90% 90%);transition:clip-path .7s cubic-bezier(.7,0,.2,1);z-index:-1}
.footer__big a:hover{color:var(--ink)}
.footer__big a:hover::before{clip-path:circle(150% at 90% 90%)}
.footer__head{display:flex;align-items:center;gap:14px}
.footer__icn{width:44px;height:44px;border-radius:50%;background:var(--yellow);position:relative;flex:none}
.footer__icn--sns::before{content:"";position:absolute;inset:12px;border:2px solid var(--ink);border-radius:6px}
.footer__icn--sns::after{content:"";position:absolute;left:18px;top:18px;width:8px;height:8px;border:2px solid var(--ink);border-radius:50%}
.footer__icn--ai::before{content:"AI";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--en);font-weight:800;color:var(--ink);font-size:15px}
.footer__ttl{font-size:clamp(20px,2.2vw,26px);font-weight:900}
.footer__sum{font-size:14px;margin:18px 0 24px;opacity:.85;flex:1}
.footer__go{font-weight:700;font-size:14px;align-self:flex-start;border-bottom:2px solid currentColor;padding-bottom:3px}
.footer__go::after{content:" →";font-family:var(--en)}
.footer__small{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.footer__small a{display:block;padding:22px 26px;border:1px solid rgba(255,255,255,.18);border-radius:10px;transition:border-color .3s,background .3s}
.footer__small a:hover{border-color:var(--yellow);background:rgba(255,241,0,.06)}
.footer__small b{display:block;font-size:15px}
.footer__small span{display:block;font-size:12px;opacity:.7;margin-top:4px}
.footer__nav{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:30px;padding-top:50px;padding-bottom:50px;border-top:1px solid rgba(255,255,255,.12)}
.footer__navTitle{font-family:var(--en);font-weight:700;font-size:15px;color:var(--yellow);margin-bottom:12px}
.footer__group li{font-size:13px;margin-bottom:6px;opacity:.85}
.footer__group a:hover{color:var(--yellow)}
.footer__brand p{font-size:12px;opacity:.7;margin-top:12px}
.footer__copy{text-align:center;font-family:var(--en);font-size:11px;opacity:.6;padding:20px 0 70px;border-top:1px solid rgba(255,255,255,.12)}

.badge{position:fixed;left:12px;bottom:12px;z-index:150;background:rgba(26,26,26,.88);color:#fff;font-size:11px;padding:6px 12px;border-radius:99px;letter-spacing:.04em;pointer-events:none}

/* ---------- initial states ---------- */
.js .card,.js .fx{opacity:0}
.no-motion .card,.no-motion .fx{opacity:1!important;transform:none!important}
.no-motion .about__lead .nb{background-size:100% 100%}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .header__gnav{display:none}
  .header__inner{padding-right:90px}
  .entry--service,.panel{grid-template-columns:1fr 1fr}
  .entry--work{grid-template-columns:1fr 1fr}
  .entry__item--lg{grid-column:1/-1}
  .where__list{grid-template-columns:1fr}
  .footer__nav{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  body{font-size:14px}
  .pc{display:none}
  .sp{display:inline}
  .innerBlock{padding:0 20px}
  .header__inner{height:64px;padding:0 80px 0 20px}
  .header__logo{font-size:24px}
  .hamburger{top:8px;right:14px}
  .modal__inner{padding:90px 24px 40px}
  .modal__list{grid-template-columns:1fr}
  .modal__en{font-size:30px}
  .mainImage__copy{padding:0 20px;bottom:120px}
  .mainImage__title{font-size:17px;gap:6px}
  .mainImage__copy{bottom:140px}
  .pl{padding:6px 10px 7px}
  .sticker{right:20px;top:-104px;width:76px;height:76px}
  .sticker__main{font-size:12px}
  .mainImage__controler{padding:0 20px 56px;gap:14px;flex-wrap:wrap}
  .mainImage__copyright{display:none}
  .mainImage__progress{flex:1;width:auto}
  .mainImage__update{display:none}
  .mainImage__scroll{display:none}
  .contentsGroup{padding:80px 0}
  .contentsGroup__header{margin-bottom:34px}
  .ttl-main{font-size:44px}
  .about{padding-top:80px;padding-bottom:60px}
  .about__grid{grid-template-columns:1fr;gap:24px}
  .about__lead{font-size:21px}
  .btn{width:100%;justify-content:center;padding:0 20px;font-size:13px}
  .hashband__track{font-size:15px}
  .entry--service,.entry--work,.panel,.others{grid-template-columns:1fr}
  .entry{gap:36px}
  .footer__small{grid-template-columns:1fr}
  .howSlider{padding-left:20px}
  .howSlide{width:82vw}
  .howSlide h3{font-size:19px}
  .recruitFlow{padding:22px 20px;margin-top:60px}
  .recruitFlow__list{flex-direction:column;gap:6px}
  .recruitFlow__list li:not(:last-child)::after{display:none}
  .message{grid-template-columns:1fr;gap:30px;margin-top:70px}
  .message__thumb{max-width:260px}
  .where__item{grid-template-columns:1fr}
  .where__thumb{aspect-ratio:16/9}
  .footer__btns{padding:70px 20px 40px}
  .footer__big{grid-template-columns:1fr}
  .footer__big a{padding:28px 22px 24px}
  .footer__nav{grid-template-columns:1fr;gap:24px;padding-left:20px;padding-right:20px}
  .footer__group ul{display:flex;flex-wrap:wrap;gap:0 18px}
  .footer__brand{grid-column:1/-1}
  .floatnav{right:14px;bottom:14px}
  .floatnav__item{width:52px;height:52px;font-size:10px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .js .card,.js .fx{opacity:1}
  .about__lead .nb{background-size:100% 100%}
}
/* menu open: header above the modal */
.is-menu .header{z-index:130;background:transparent;color:#fff;box-shadow:none;transform:none}
.is-menu .header .header__gnav{visibility:hidden}
.is-menu .header__logo span{color:var(--yellow)}
