@charset "UTF-8";
/* ------------------------------------
アニメーション（本体）
------------------------------------ */
[data-reveal] {
  /* デフォ値（要素ごとに style="--dur:1000ms" などで上書き可） */
  --delay: 0ms; /* 遅延 */
  --dur: 900ms; /* 継続時間：雪っぽく長め */
  --rx: 0px; /* 初期オフセットX（左右は使わないが変数は残す） */
  --ry: 16px; /* 初期オフセットY */
  --rs: 0.985; /* 初期スケール */
  --blur: 2px; /* 初期ぼかし */
  --ease: cubic-bezier(0.16, 0.84, 0.44, 1); /* ゆっくり減速 */
  opacity: 0;
  -webkit-transform: translate3d(var(--rx), var(--ry), 0) scale(var(--rs));
          transform: translate3d(var(--rx), var(--ry), 0) scale(var(--rs));
  -webkit-filter: blur(var(--blur));
          filter: blur(var(--blur));
  -webkit-transition: opacity var(--dur) var(--ease) var(--delay), -webkit-transform var(--dur) var(--ease) var(--delay), -webkit-filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  transition: opacity var(--dur) var(--ease) var(--delay), -webkit-transform var(--dur) var(--ease) var(--delay), -webkit-filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  transition: opacity var(--dur) var(--ease) var(--delay), transform var(--dur) var(--ease) var(--delay), filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  transition: opacity var(--dur) var(--ease) var(--delay), transform var(--dur) var(--ease) var(--delay), filter calc(var(--dur) * 0.8) var(--ease) var(--delay), -webkit-transform var(--dur) var(--ease) var(--delay), -webkit-filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  will-change: opacity, transform, filter;
}

[data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-filter: blur(0);
          filter: blur(0);
}

/* 種類（左右と zoom は削除） */
[data-reveal=fade] {
  --ry: 0;
}

[data-reveal=fade-up] {
  --ry: 16px;
}

[data-reveal=fade-down] {
  --ry: -16px;
}

/* “雪”向けのやや長め・柔らかプリセット */
[data-reveal=snow] {
  --dur: 1100ms;
  --ry: 20px;
  --rs: 0.98;
  --blur: 2.5px;
  --ease: cubic-bezier(0.11, 0.74, 0.22, 1);
}

/* 子要素を段階表示（data-stagger="80" など併用） */
[data-stagger] > * {
  opacity: 0;
  -webkit-transform: translate3d(0, 12px, 0);
          transform: translate3d(0, 12px, 0);
  -webkit-transition: opacity var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1)), -webkit-transform var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1));
  transition: opacity var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1)), -webkit-transform var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1));
  transition: opacity var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1)), transform var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1));
  transition: opacity var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1)), transform var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1)), -webkit-transform var(--dur, 900ms) var(--ease, cubic-bezier(0.16, 0.84, 0.44, 1));
}

[data-reveal].is-inview[data-stagger] > * {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

[data-reveal].is-inview[data-stagger] > * {
  -webkit-transition-delay: calc(var(--delay, 0ms) + var(--child-delay, 0ms));
          transition-delay: calc(var(--delay, 0ms) + var(--child-delay, 0ms));
}

/* 低モーション設定に配慮 */
@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  [data-reveal][data-stagger] > * {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
/* ------------------------------------
擬似要素（before / after）
左右＆zoom バリエーションは削除
------------------------------------ */
/* ベース変数 */
.ly_contents_sec__inner[data-reveal-before] {
  --bef-delay: 0ms;
  --bef-dur: 900ms;
  --bef-rx: 0px;
  --bef-ry: 16px;
  --bef-rs: 0.985;
  --bef-blur: 2px;
  --bef-ease: cubic-bezier(0.16, 0.84, 0.44, 1);
}

.ly_contents_sec__inner[data-reveal-after] {
  --aft-delay: 0ms;
  --aft-dur: 900ms;
  --aft-rx: 0px;
  --aft-ry: 16px;
  --aft-rs: 0.985;
  --aft-blur: 2px;
  --aft-ease: cubic-bezier(0.16, 0.84, 0.44, 1);
}

/* 初期（非表示） */
.ly_contents_sec__inner[data-reveal-before]::before {
  opacity: 0;
  -webkit-transform: translate3d(var(--bef-rx), var(--bef-ry), 0) scale(var(--bef-rs));
          transform: translate3d(var(--bef-rx), var(--bef-ry), 0) scale(var(--bef-rs));
  -webkit-filter: blur(var(--bef-blur));
          filter: blur(var(--bef-blur));
  -webkit-transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-transform var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-transform var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), transform var(--bef-dur) var(--bef-ease) var(--bef-delay), filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), transform var(--bef-dur) var(--bef-ease) var(--bef-delay), filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay), -webkit-transform var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  will-change: opacity, transform, filter;
}

.ly_contents_sec__inner[data-reveal-after]::after {
  opacity: 0;
  -webkit-transform: translate3d(var(--aft-rx), var(--aft-ry), 0) scale(var(--aft-rs));
          transform: translate3d(var(--aft-rx), var(--aft-ry), 0) scale(var(--aft-rs));
  -webkit-filter: blur(var(--aft-blur));
          filter: blur(var(--aft-blur));
  -webkit-transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-transform var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-transform var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), transform var(--aft-dur) var(--aft-ease) var(--aft-delay), filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), transform var(--aft-dur) var(--aft-ease) var(--aft-delay), filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay), -webkit-transform var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  will-change: opacity, transform, filter;
}

/* 表示（is-inview 付与時） */
.ly_contents_sec__inner.is-inview[data-reveal-before]::before {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.ly_contents_sec__inner.is-inview[data-reveal-after]::after {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-filter: blur(0);
          filter: blur(0);
}

/* バリエーション（左右/zoom なし） */
.ly_contents_sec__inner[data-reveal-before=fade] {
  --bef-ry: 0;
}

.ly_contents_sec__inner[data-reveal-before=fade-up] {
  --bef-ry: 16px;
}

.ly_contents_sec__inner[data-reveal-before=fade-down] {
  --bef-ry: -16px;
}

.ly_contents_sec__inner[data-reveal-before=snow] {
  --bef-dur: 1100ms;
  --bef-ry: 20px;
  --bef-rs: 0.98;
  --bef-blur: 2.5px;
  --bef-ease: cubic-bezier(0.11, 0.74, 0.22, 1);
}

.ly_contents_sec__inner[data-reveal-after=fade] {
  --aft-ry: 0;
}

.ly_contents_sec__inner[data-reveal-after=fade-up] {
  --aft-ry: 16px;
}

.ly_contents_sec__inner[data-reveal-after=fade-down] {
  --aft-ry: -16px;
}

.ly_contents_sec__inner[data-reveal-after=snow] {
  --aft-dur: 1100ms;
  --aft-ry: 20px;
  --aft-rs: 0.98;
  --aft-blur: 2.5px;
  --aft-ease: cubic-bezier(0.11, 0.74, 0.22, 1);
}

/* 低モーション配慮（擬似） */
@media (prefers-reduced-motion: reduce) {
  .ly_contents_sec__inner[data-reveal-before]::before,
  .ly_contents_sec__inner[data-reveal-after]::after {
    opacity: 1 !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
/* ================================
  Firefox対策：snow は transform 不使用
================================ */
/* 本体要素 */
[data-reveal=snow] {
  /* 移動・拡大を完全に無効化 */
  --rx: 0;
  --ry: 0;
  --rs: 1;
  /* 継続時間や柔らかさは既存の snow 値でOK（必要なら調整） */
  /* --dur: 1100ms; --blur: 2.5px; --ease: cubic-bezier(0.11, 0.74, 0.22, 1); */
  /* 初期状態から transform を使わない */
  -webkit-transform: none;
          transform: none;
  /* transform を遷移対象から外す（チラつき防止） */
  -webkit-transition: opacity var(--dur) var(--ease) var(--delay), -webkit-filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  transition: opacity var(--dur) var(--ease) var(--delay), -webkit-filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  transition: opacity var(--dur) var(--ease) var(--delay), filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  transition: opacity var(--dur) var(--ease) var(--delay), filter calc(var(--dur) * 0.8) var(--ease) var(--delay), -webkit-filter calc(var(--dur) * 0.8) var(--ease) var(--delay);
  /* レイヤ作成を抑え、描画負荷を下げる */
  will-change: opacity, filter;
}

/* 表示時（.is-inview）は既存のルールで opacity:1 / filter:blur(0) が効く */
[data-reveal=snow].is-inview {
  /* 念のため明示：transform を触らない */
  -webkit-transform: none;
          transform: none;
}

/* 擬似要素（before / after）も transform 不使用の snow に */
.ly_contents_sec__inner[data-reveal-before=snow]::before {
  /* 移動・拡大を無効化 */
  --bef-rx: 0;
  --bef-ry: 0;
  --bef-rs: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), -webkit-filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  transition: opacity var(--bef-dur) var(--bef-ease) var(--bef-delay), filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay), -webkit-filter calc(var(--bef-dur) * 0.8) var(--bef-ease) var(--bef-delay);
  will-change: opacity, filter;
}

.ly_contents_sec__inner.is-inview[data-reveal-before=snow]::before {
  -webkit-transform: none;
          transform: none;
}

.ly_contents_sec__inner[data-reveal-after=snow]::after {
  --aft-rx: 0;
  --aft-ry: 0;
  --aft-rs: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), -webkit-filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  transition: opacity var(--aft-dur) var(--aft-ease) var(--aft-delay), filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay), -webkit-filter calc(var(--aft-dur) * 0.8) var(--aft-ease) var(--aft-delay);
  will-change: opacity, filter;
}

.ly_contents_sec__inner.is-inview[data-reveal-after=snow]::after {
  -webkit-transform: none;
          transform: none;
}

/* ================================
  JS 失敗時でも見える“保険”
================================ */
/* 既存の reveal 初期スタイルを .js の内側に移動（または上書き） */
.js [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(var(--rx, 0), var(--ry, 0), 0) scale(var(--rs, 1));
          transform: translate3d(var(--rx, 0), var(--ry, 0), 0) scale(var(--rs, 1));
  -webkit-filter: blur(var(--blur, 0));
          filter: blur(var(--blur, 0));
  -webkit-transition: opacity var(--dur, 900ms) var(--ease, ease), -webkit-transform var(--dur, 900ms) var(--ease, ease), -webkit-filter calc(var(--dur, 900ms) * 0.8) var(--ease, ease);
  transition: opacity var(--dur, 900ms) var(--ease, ease), -webkit-transform var(--dur, 900ms) var(--ease, ease), -webkit-filter calc(var(--dur, 900ms) * 0.8) var(--ease, ease);
  transition: opacity var(--dur, 900ms) var(--ease, ease), transform var(--dur, 900ms) var(--ease, ease), filter calc(var(--dur, 900ms) * 0.8) var(--ease, ease);
  transition: opacity var(--dur, 900ms) var(--ease, ease), transform var(--dur, 900ms) var(--ease, ease), filter calc(var(--dur, 900ms) * 0.8) var(--ease, ease), -webkit-transform var(--dur, 900ms) var(--ease, ease), -webkit-filter calc(var(--dur, 900ms) * 0.8) var(--ease, ease);
  will-change: opacity, transform, filter;
}

.js [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
  -webkit-filter: blur(0);
          filter: blur(0);
}

/* 擬似要素も同様に .js でだけ初期非表示に */
.js .ly_contents_sec__inner[data-reveal-before]::before,
.js .ly_contents_sec__inner[data-reveal-after]::after {
  opacity: 0;
  -webkit-transform: translate3d(0, 16px, 0);
          transform: translate3d(0, 16px, 0);
  -webkit-transition: opacity var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms), -webkit-transform var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms);
  transition: opacity var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms), -webkit-transform var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms);
  transition: opacity var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms), transform var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms);
  transition: opacity var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms), transform var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms), -webkit-transform var(--bef-dur, 900ms) var(--bef-ease, ease) var(--bef-delay, 0ms);
  will-change: opacity, transform;
}

.js .ly_contents_sec__inner.is-inview[data-reveal-before]::before,
.js .ly_contents_sec__inner.is-inview[data-reveal-after]::after {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

/* Firefox対策：snow は transform 不使用（任意） */
.js [data-reveal=snow] {
  -webkit-transform: none;
          transform: none;
  -webkit-transition: opacity var(--dur, 1100ms) var(--ease, ease) var(--delay, 0ms), -webkit-filter calc(var(--dur, 1100ms) * 0.8) var(--ease, ease) var(--delay, 0ms);
  transition: opacity var(--dur, 1100ms) var(--ease, ease) var(--delay, 0ms), -webkit-filter calc(var(--dur, 1100ms) * 0.8) var(--ease, ease) var(--delay, 0ms);
  transition: opacity var(--dur, 1100ms) var(--ease, ease) var(--delay, 0ms), filter calc(var(--dur, 1100ms) * 0.8) var(--ease, ease) var(--delay, 0ms);
  transition: opacity var(--dur, 1100ms) var(--ease, ease) var(--delay, 0ms), filter calc(var(--dur, 1100ms) * 0.8) var(--ease, ease) var(--delay, 0ms), -webkit-filter calc(var(--dur, 1100ms) * 0.8) var(--ease, ease) var(--delay, 0ms);
  will-change: opacity, filter;
}

/* Safari では JS パララックスを切って、固定のまま */
.ua-safari .ly_contents {
  background-attachment: fixed;
  background-position: center top; /* ずれないように固定 */
}/*# sourceMappingURL=animation.css.map */