@media (prefers-reduced-motion: no-preference) {
  html.cb-motion [data-reveal] {
    --cb-enter-x: -80px;
    --cb-enter-clip: inset(0 100% 0 0);
    opacity: 0;
    translate: var(--cb-enter-x) var(--cb-enter-y, 10px);
    /* 以前は opacity .8s / translate 1.15s / clip-path 1.1s だった。
       h2 は clip-path のワイプが加わるぶん出現に最大1.3秒かかり、
       普通の速さでスクロールすると出きる前に画面を通り過ぎてしまっていた。
       見出しが読める状態になるまでの時間を約半分に縮めている。 */
    transition: opacity .55s cubic-bezier(.16,1,.3,1) var(--cb-delay, 0ms), translate .8s cubic-bezier(.16,1,.3,1) var(--cb-delay, 0ms), clip-path .75s cubic-bezier(.16,1,.3,1) var(--cb-delay, 0ms);
  }
  html.cb-motion [data-reveal-side="right"] {
    --cb-enter-x: 80px;
    --cb-enter-clip: inset(0 0 0 100%);
  }
  html.cb-motion h2[data-reveal] { clip-path: var(--cb-enter-clip); }
  html.cb-motion [data-reveal].cb-revealed,
  html.cb-motion [data-reveal]:focus-within {
    opacity: 1; translate: 0 0; clip-path: inset(0);
  }
  .cb-thumb img { transition: scale .8s cubic-bezier(.16,1,.3,1); }
  @media (hover: hover) and (pointer: fine) {
    a:hover .cb-thumb img, .cb-thumb:hover img { scale: 1.045; }
    header nav a { transition: box-shadow .25s ease, translate .25s ease; }
    header nav a:hover { translate: 0 -2px; }
  }
}
.cb-scroll-progress {
  position: fixed; inset: 0 0 auto; height: 3px; background: #C8102E;
  z-index: 150; transform: scaleX(0); transform-origin: left center; pointer-events: none;
}
html:not(.cb-motion) #preloader { display: none; }
/* 赤字の「長後ベアーズ」を外したぶん、このコピーがヒーローの主役になる。
   CHOGO BEARS の下で埋もれないよう、16px から可変で大きくする。 */
.cb-hero-subtitle { margin: 20px 0 0; font-size: clamp(21px, 3.3vw, 40px); font-weight: 500; line-height: 1.55; letter-spacing: 0.01em; color: #F6F3EF; }
@media (max-width: 699px) { .cb-hero-subtitle { font-size: 21px; } }
@media (prefers-reduced-motion: no-preference) {
  html.cb-motion [data-reveal][data-reveal-side="up"] { --cb-enter-x: 0px; --cb-enter-y: 56px; }
  @media (max-width: 699px) {
    html.cb-motion [data-reveal][data-reveal-side="up"] { --cb-enter-y: 34px; }
  }
}
.cb-team-ticker { background: #C8102E; color: #fff; overflow: hidden; padding: 17px 0; border-top: 1px solid #f4536d; }
.cb-team-track { display: flex; width: max-content; font-family: Anton,sans-serif; font-size: 27px; line-height: 1.2; }
.cb-team-track > span { flex: none; white-space: nowrap; }
.cb-team-track b { font-weight: 400; color: transparent; -webkit-text-stroke: 1px #fff; }
.cb-intro-lead { font-size: 44px; font-weight: 900; line-height: 1.65; max-width: 1000px; margin: 32px 0; letter-spacing: 0; }
.cb-intro-lead > span { display: block; }
#intro .cb-intro { position: relative; }
.cb-intro-grid > div { border-top: 3px solid #C8102E; }
.cb-section-rule { display: block; width: 100%; height: 3px; margin: 0 0 26px; background: #C8102E; transform-origin: left; }
#activity .cb-section-rule, #trial .cb-section-rule { background: #fff; }
#about, #instagram, #blog, #faq { background-color: #fafafa !important; }
.cb-chapter-progress { position: absolute; bottom: 0; left: 0; right: 0; height: 6px; background: rgba(0,0,0,.16); }
.cb-chapter-progress span { display: block; height: 100%; background: #fff; transform: scaleX(0); transform-origin: left; }
@media (prefers-reduced-motion: no-preference) {
  .cb-team-track { animation: cbTeamTrack 28s linear infinite; }
}
@keyframes cbTeamTrack { to { transform: translateX(-25%); } }
@media (max-width: 1100px) {
  .cb-intro-lead { font-size: 34px; }
}
@media (max-width: 699px) {
  .cb-team-track { font-size: 20px; }
  .cb-team-ticker { padding: 14px 0; }
  .cb-intro-lead { font-size: 27px; line-height: 1.6; }
  .cb-intro-lead > span { display: inline; }
  #cursorRing, #cursorDot { display: none !important; }
  html.cb-motion [data-reveal] { --cb-enter-x: -40px; }
  html.cb-motion [data-reveal-side="right"] { --cb-enter-x: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  #preloader, #wipe, #cursorRing, #cursorDot, .cb-scroll-progress { display: none !important; }
  #mottoPin { height: auto !important; padding: 100px 24px !important; }
  [data-motto] { grid-area: auto !important; margin: 28px 0; }
  [data-motto-dot] { display: none; }
  #top *, #top h1::after, .cb-team-track { animation: none !important; }
}
