/**
 * TAIL MOTION — 後半ゾーン強化（front page限定・2026-08-20）PHP無変更。
 * 対象: 導入事例 / SXデモ / チーム / 資料DL帯 / 最終CTA
 * 入場はテーマ既存の .js-reveal を活かし、質感(hover・スイープ・番号)だけ足す。
 */

/* ---- 導入事例: カードに浮き + 事例写真の微ズーム ---- */
.p-home-case__card { transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s cubic-bezier(.22,.61,.36,1); }
.p-home-case__card:hover { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(10,22,40,.14); }
.p-home-case__card img { transition: transform .8s cubic-bezier(.22,.61,.36,1); }
.p-home-case__card:hover img { transform: scale(1.03); }

/* ---- SXデモ: 5体のAIエージェントを時差入場 + カードの生きた感じ ---- */
.p-sx-demo__agents.js-reveal .p-sx-demo__agent {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1);
}
.p-sx-demo__agents.js-reveal.is-revealed .p-sx-demo__agent { opacity: 1; transform: none; }
.p-sx-demo__agents.js-reveal.is-revealed .p-sx-demo__agent:nth-child(2) { transition-delay: .10s; }
.p-sx-demo__agents.js-reveal.is-revealed .p-sx-demo__agent:nth-child(3) { transition-delay: .20s; }
.p-sx-demo__agents.js-reveal.is-revealed .p-sx-demo__agent:nth-child(4) { transition-delay: .30s; }
.p-sx-demo__agents.js-reveal.is-revealed .p-sx-demo__agent:nth-child(5) { transition-delay: .40s; }
.p-sx-demo__agent { transition: transform .3s cubic-bezier(.22,.61,.36,1); }
.p-sx-demo__agent:hover { transform: translateY(-4px); }
.p-sx-demo__agent-num { transition: color .3s ease; }
.p-sx-demo__agent:hover .p-sx-demo__agent-num { color: var(--color-primary, #00D9FF); }

/* ---- チーム: カードhoverの統一 ---- */
.p-home-team__card { transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s cubic-bezier(.22,.61,.36,1); }
.p-home-team__card:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(10,22,40,.14); }
.p-home-team__card img { transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.p-home-team__card:hover img { transform: scale(1.04); }

/* ---- 資料DL帯: 表紙の扇の広がり + ボタン光沢 ---- */
.p-leadmagnet-band__covers .p-leadmagnet-band__cover { transition: transform .45s cubic-bezier(.22,.61,.36,1); }
.p-leadmagnet-band__covers:hover .p-leadmagnet-band__cover--1 { transform: rotate(-7deg) translateX(-10px) translateY(-4px); }
.p-leadmagnet-band__covers:hover .p-leadmagnet-band__cover--2 { transform: translateY(-8px); }
.p-leadmagnet-band__covers:hover .p-leadmagnet-band__cover--3 { transform: rotate(7deg) translateX(10px) translateY(-4px); }
.p-leadmagnet-band__btn { position: relative; overflow: hidden; }
.p-leadmagnet-band__btn::after {
  content: "";
  position: absolute; top: 0; bottom: 0; left: -60%;
  width: 40%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
  transform: skewX(-18deg);
  transition: left .6s ease;
  pointer-events: none;
}
.p-leadmagnet-band__btn:hover::after, .p-leadmagnet-band__btn:focus-visible::after { left: 130%; }

/* ---- 最終CTA: 見出しの下線ドロー + ボタンの浮き + 顔ローテータの縁 ---- */
.p-contact-cta .c-heading-primary--white { position: relative; display: inline-block; }
.p-contact-cta .c-heading-primary--white::after {
  content: "";
  position: absolute;
  left: 10%; right: 10%; bottom: -10px;
  height: 2px;
  background: var(--color-primary, #00D9FF);
  transform: scaleX(0);
  transition: transform .8s cubic-bezier(.22,.61,.36,1) .2s;
}
.p-contact-cta .js-reveal.is-revealed ~ * .c-heading-primary--white::after,
.p-contact-cta.is-inview .c-heading-primary--white::after { transform: scaleX(1); }
.p-contact-cta .c-btn { transition: transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s cubic-bezier(.22,.61,.36,1), background .3s ease, color .3s ease; }
.p-contact-cta .c-btn:hover, .p-contact-cta .c-btn:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.p-contact-cta__face-img { transition: transform .4s cubic-bezier(.22,.61,.36,1); }
.p-contact-cta__face.is-active .p-contact-cta__face-img { transform: scale(1.05); }

@media (prefers-reduced-motion: reduce) {
  .p-sx-demo__agents.js-reveal .p-sx-demo__agent { opacity: 1; transform: none; transition: none; }
  .p-home-case__card:hover, .p-home-team__card:hover, .p-sx-demo__agent:hover,
  .p-contact-cta .c-btn:hover { transform: none; }
  .p-home-case__card:hover img, .p-home-team__card:hover img { transform: none; }
  .p-leadmagnet-band__covers:hover .p-leadmagnet-band__cover { transform: none; }
  .p-leadmagnet-band__btn::after { display: none; }
  .p-contact-cta .c-heading-primary--white::after { transform: scaleX(1); transition: none; }
}
