/* =========================================================
   ファーストビュー 文字モーション（2026-11-07 差し替え）
   人 × AI ＝ Neo Public Relations → 人と人、想いと未来をつなぐ志事を
   色はロゴに合わせています（オレンジ #EE7020／緑 #3DA444／ミックス #9A8A2E）
   ========================================================= */
.pr-motion { position: relative; overflow: hidden; padding: clamp(40px, 7vh, 72px) 0 clamp(64px, 9vh, 88px); }
.hero-anim .pr-motion__inner { visibility: hidden; } /* JSが初期状態を作るまでのチラつき防止 */
.pr-motion__inner {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: clamp(8px, 1.6vh, 18px);
  min-height: calc(100svh - 160px); justify-content: center;
}
.pr-motion .ch, .pr-eq span { will-change: transform; }

.pr-eq { display: flex; align-items: baseline; justify-content: center; gap: .18em; margin: 0;
  font-weight: 900; font-size: clamp(44px, 8vw, 104px); line-height: 1; letter-spacing: .02em; color: #36302B; }
.pr-eq span { display: inline-block; position: relative; z-index: 5; }
.pr-eq .hito { color: #EE7020; }
.pr-eq .ai { color: #3DA444; font-family: "Nunito", "Arial Rounded MT Bold", "Helvetica Neue", sans-serif; font-weight: 800; }
.pr-eq .op { color: #8C837B; font-weight: 500; font-size: .72em; }
.pr-eq .eqs { width: .62em; height: .62em; align-self: center; }
.pr-eq .eqs i { position: absolute; left: 0; right: 0; height: .09em; border-radius: .05em; background: #36302B; }
.pr-eq .eqs i:first-child { top: .17em; }
.pr-eq .eqs i:last-child { bottom: .17em; }

.pr-fx { position: absolute; left: 0; right: 0; top: 0; height: 100%; pointer-events: none; z-index: 6; display: grid; place-items: center; }
.pr-fx svg { grid-area: 1/1; width: min(56vw, 42vh, 380px); height: auto; overflow: visible; opacity: 0; }

.pr-neo { display: block; width: min(92vw, 860px); height: auto; overflow: visible; }
.pr-neo .pr-sc { fill: none; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }

.pr-sub { margin: 0; font-weight: 700; font-size: clamp(17px, 2.2vw, 28px); letter-spacing: .2em; padding-left: .2em; color: #36302B; }
.pr-wave { display: block; width: clamp(110px, 14vw, 170px); height: auto; overflow: visible; }

.pr-tag { margin: 0; font-weight: 700; font-size: clamp(21px, 2.8vw, 34px); line-height: 1.7; letter-spacing: .08em; color: #36302B; }
.pr-tag .ch { display: inline-block; }
.pr-tag .shi { position: relative; display: inline-block; font-size: 1.18em; color: transparent;
  background-image: linear-gradient(120deg, #EE7020 30%, #A9862F 100%); -webkit-background-clip: text; background-clip: text; }
.pr-tag .shi.s2 { background-image: linear-gradient(120deg, #94913A 0%, #3DA444 70%); }
.pr-tag .shi::after { content: ""; position: absolute; left: 50%; top: -.02em; width: .19em; height: .19em; border-radius: 50%;
  background: #EE7020; transform: translateX(-50%); }
.pr-tag .shi.s2::after { background: #3DA444; }
.pr-tag .br { display: inline; }

.pr-brand { display: flex; align-items: center; gap: 14px; }
.pr-brand img { width: clamp(60px, 6.5vw, 84px); height: auto; }
.pr-brand .nm { font-weight: 900; font-size: clamp(20px, 2.2vw, 26px); letter-spacing: .1em; color: #36302B; }

.pr-motion .pr-hero__lede { margin: 6px 0 0; font-size: 1rem; }
.pr-motion__ctas { justify-content: center; }

.pr-motion__replay {
  position: absolute; right: max(16px, env(safe-area-inset-right, 0px)); bottom: 14px; z-index: 7;
  font-size: .8rem; color: var(--color-text-muted); background: rgba(255,255,255,.85);
  border: 1px solid var(--color-beige-200, #eee); border-radius: 999px; padding: 4px 12px; cursor: pointer;
}
.pr-motion__replay:hover, .pr-motion__replay:focus-visible { color: #EE7020; border-color: #EE7020; outline: none; }

@media (max-width: 640px) {
  .pr-tag .br { display: block; height: 0; }
  .pr-motion__replay { right: 50%; transform: translateX(50%); }
  .pr-motion__inner { min-height: 0; }
}
