ビジネスパック
/* ★ デザイン設定 */ :root { --bp-grad-1: #A22FD4; --bp-grad-2: #2143C9; --bp-zoom-scale: 1.7; --bp-zoom-speed: 0.3s; --bp-overlay-color: rgba(15, 23, 42, 0.55); } #bp-lp-root { font-fam ily: "IBM Plex Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Noto Sans JP", sans-serif; color: #1e1e1e; line-height: 1.8; -webkit-font-smoothing: antialiased; width: 100%; overflow: visible !important; } #bp-lp-root *, #bp-lp-root *::before, #bp-lp-root *::after { box-sizing: border-box; } /* ===== 全幅レイアウト ===== */ #bp-lp-root .bp-full-section { width: 100vw !important; position: relative !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; transform: none !important; z-index: auto !important; } #bp-lp-root .bp-inner { max-width: 1140px; margin: 0 auto; padding: 0 32px; } #bp-lp-root .bp-grad-text { background: linear-gradient(90deg, var(--bp-grad-1), var(--bp-grad-2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; } #bp-lp-root .bp-section-title { font-size: clamp(1.9rem, 4.2vw, 2.7rem); font-weight: 700; text-align: center; max-width: 16em; margin: 0 auto; } #bp-lp-root .bp-section-sub { text-align: center; font-size: 1.15rem; font-weight: 700; margin: 16px auto 0; } #bp-lp-root .bp-lead { max-width: 42em; color: #5b6472; font-size: 16px; margin: 18px auto 0; text-align: center; } /* ===== HERO ===== */ #bp-lp-root .bp-hero-outer { position: relative; min-height: min(88vh, 720px); display: flex; overflow: hidden; background: radial-gradient(ellipse 80% 60% at 30% 20%, rgba(162,47,212,0.35), transparent 60%), radial-gradient(ellipse 70% 60% at 80% 80%, rgba(33,67,201,0.4), transparent 60%), #10131a; } #bp-lp-root .bp-hero-video-container { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; z-index: 0; } #bp-lp-root .bp-hero-video-container video { width: 100vw; height: 56.25vw; min-height: 100vh; min-width: 177.77vh; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); object-fit: cover; pointer-events: none; } #bp-lp-root .bp-volume-control { position: absolute; z-index: 5; bottom: 16px; right: 16px; display: flex; align-items: center; gap: 8px; background: rgba(0,0,0,0.55); border-radius: 999px; padding: 6px 14px 6px 6px; transition: background 0.2s ease; } #bp-lp-root .bp-volume-control:hover { background: rgba(0,0,0,0.75); } #bp-lp-root .bp-mute-btn { width: 32px; height: 32px; border-radius: 50%; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #fff; flex: none; padding: 0; } #bp-lp-root .bp-mute-btn svg { width: 18px; height: 18px; fill: currentColor; } #bp-lp-root .bp-volume-slider { width: 80px; height: 4px; -webkit-appearance: none; appearance: none; background: rgba(255,255,255,0.35); border-radius: 2px; outline: none; cursor: pointer; } #bp-lp-root .bp-volume-slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 13px; height: 13px; border-radius: 50%; background: #fff; cursor: pointer; } #bp-lp-root .bp-volume-slider::-moz-range-thumb { width: 13px; height: 13px; border-radius: 50%; background: #fff; border: none; cursor: pointer; } #bp-lp-root .bp-hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.25); z-index: 1; } #bp-lp-root .bp-hero-body { position: relative; z-index: 2; width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: clamp(56px,9vw,96px) 24px; } #bp-lp-root .bp-hero-h1 { color: #fff; font-size: clamp(2rem,5vw,3.2rem); font-weight: 700; line-height: 1.35; letter-spacing: -0.01em; } #bp-lp-root .bp-hero-sub { max-width: 32em; margin: 22px auto 0; color: rgba(255,255,255,0.78); font-size: 16px; } #bp-lp-root .bp-buy-button { display: inline-block; background: #fcfcfc; color: #11293d !important; padding: 1.1em 3.2em; border-radius: 999px; font-weight: 800; font-size: clamp(14px,1.2vw,16px); text-decoration: none !important; border: none; cursor: pointer; transition: 0.2s; } #bp-lp-root .bp-buy-button:hover { transform: translateY(-1px); box-shadow: 0 10px 30px rgba(0,0,0,0.35); } #bp-lp-root .bp-buy-button.on-light { background: #11293d; color: #fff !important; } #bp-lp-root .bp-buy-button.outline { background: transparent; color: #1e1e1e !important; border: 1px solid #1e1e1e; } #bp-lp-root .bp-hero-cta { margin-top: 40px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; } /* ===== SECTION TONES ===== */ #bp-lp-root .bp-on-white { background: #fcfcfc; padding: clamp(56px,9vw,108px) 0; } #bp-lp-root .bp-on-grey { background: #F1F2F4; padding: clamp(56px,9vw,108px) 0; } /* ===== ABOUT / STRENGTHS ===== */ #bp-lp-root .bp-strength-row { display: flex; justify-content: center; flex-wrap: wrap; gap: 28px; margin-top: 48px; } #bp-lp-root .bp-strength { width: clamp(168px,20vw,216px); height: clamp(168px,20vw,216px); border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px; background: linear-gradient(135deg, #bd6ee0, #5878d9); box-shadow: 0 14px 28px rgba(33,67,201,0.18); opacity: 0; transform: translateY(28px); transition: opacity 0.6s ease, transform 0.6s ease; } #bp-lp-root .bp-strength-row.in-view .bp-strength { opacity: 1; transform: none; } #bp-lp-root .bp-strength-row .bp-strength:nth-child(1) { transition-delay: 0s; } #bp-lp-root .bp-strength-row .bp-strength:nth-child(2) { transition-delay: 0.15s; } #bp-lp-root .bp-strength-row .bp-strength:nth-child(3) { transition-delay: 0.3s; } #bp-lp-root .bp-strength h3 { font-size: clamp(1.25rem,2.4vw,1.55rem); font-weight: 700; line-height: 1.35; color: #fff; margin: 0; } /* ===== ZIGZAG FEATURES ===== */ #bp-lp-root .bp-zigzag { display: flex; align-items: center; gap: 56px; padding: 40px 0; } #bp-lp-root .bp-zigzag.reverse { flex-direction: row-reverse; } #bp-lp-root .bp-zigzag + .bp-zigzag { border-top: 1px solid #e3e5e8; } #bp-lp-root .bp-zigzag-text { flex: 1 1 0; } #bp-lp-root .bp-zigzag-media { flex: 1 1 0; aspect-ratio: 16/9; background: #fff; border: 1.5px dashed rgba(33,67,201,0.22); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #5b6472; font-size: 13px; text-align: center; padding: 16px; } #bp-lp-root .bp-zigzag-media.bp-zigzag-video { position: relative; border-style: solid; border-color: #e3e5e8; overflow: hidden; padding: 0; } #bp-lp-root .bp-zigzag-media.bp-zigzag-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } #bp-lp-root .bp-zigzag h3 { font-size: clamp(1.2rem,2.4vw,1.5rem); font-weight: 700; line-height: 1.5; margin: 0; } #bp-lp-root .bp-zigzag p { color: #5b6472; font-size: 15px; margin-top: 14px; max-width: 30em; } @media (max-width: 760px) { #bp-lp-root .bp-zigzag, #bp-lp-root .bp-zigzag.reverse { flex-direction: column; gap: 24px; } } /* ===== DESIGN SHOWCASE VIDEO ===== */ #bp-lp-root .bp-design-video { position: relative; width: 100%; max-width: 860px; margin: 32px auto 0; aspect-ratio: 16/9; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 48px rgba(17,41,61,0.18); background: #000; } #bp-lp-root .bp-design-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } /* ===== VARIATIONS / CONTENT GRID ===== */ #bp-lp-root .bp-variation-block { margin-top: 56px; } #bp-lp-root .bp-variation-block:first-of-type { margin-top: 40px; } #bp-lp-root .bp-variation-block h3 { font-size: 1.2rem; font-weight: 700; text-align: center; margin: 0 0 20px; padding-bottom: 15px; border-bottom: 2px solid #e3e5e8; } #bp-lp-root .bp-variation-single { margin-top: 20px; aspect-ratio: 21/9; max-width: 100%; background: #fff; border: 1.5px dashed rgba(33,67,201,0.22); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #5b6472; font-size: 13px; text-align: center; } #bp-lp-root .bp-asset-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px 14px; margin-top: 20px; } #bp-lp-root .bp-asset-grid-3 { grid-template-columns: repeat(3,1fr); } #bp-lp-root .bp-asset-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; } #bp-lp-root .bp-telop-note { text-align: center; color: #5b6472; font-size: 13.5px; margin-top: 20px; max-width: 640px; margin-left: auto; margin-right: auto; } #bp-lp-root .bp-asset-item { position: relative; aspect-ratio: 16/9; background: #000; border-radius: 12px; overflow: hidden; border: 1.5px solid #e3e5e8; cursor: pointer; z-index: 1; transform-origin: center center; transition: transform var(--bp-zoom-speed) ease, box-shadow var(--bp-zoom-speed) ease, border-color var(--bp-zoom-speed) ease; } #bp-lp-root .bp-asset-item:hover { border-color: #2143C9; transform: translateY(-6px); box-shadow: 0 18px 32px rgba(17,41,61,0.18); z-index: 5; } #bp-lp-root .bp-asset-item.is-zoomed { z-index: 999999 !important; transform: scale(var(--bp-zoom-scale)); border-color: #fff; box-shadow: 0 30px 70px rgba(0,0,0,0.4); } #bp-lp-root .bp-asset-item video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; } #bp-lp-root .bp-asset-name { position: absolute; bottom: 10px; left: 14px; z-index: 10; color: #fff; font-size: 12px; font-weight: 700; text-shadow: 0 1px 3px rgba(0,0,0,0.85), 0 0 8px rgba(0,0,0,0.5); opacity: 0; transition: opacity var(--bp-zoom-speed) ease; pointer-events: none; } #bp-lp-root .bp-asset-item.is-zoomed .bp-asset-name { opacity: 1; } .bp-zoom-backdrop { position: fixed; inset: 0; z-index: 999998; background: var(--bp-overlay-color); opacity: 0; pointer-events: none; transition: opacity var(--bp-zoom-speed) ease; } .bp-zoom-backdrop.is-active { opacity: 1; pointer-events: auto; } /* ===== SPEC TABLE ===== */ #bp-lp-root .bp-info-box { background: #fff; max-width: 640px; margin: 32px auto 0; border-radius: 20px; padding: 40px; border: 1px solid #e3e5e8; } #bp-lp-root .bp-info-table { width: 100%; border-collapse: collapse; } #bp-lp-root .bp-info-table td { padding: 16px 0; border-bottom: 1px solid #e3e5e8; font-size: 15px; } #bp-lp-root .bp-info-table td:first-child { color: #5b6472; width: 40%; font-weight: 700; } #bp-lp-root .bp-info-table td:last-child { font-weight: 600; } /* ===== FAQ ===== */ #bp-lp-root .bp-faq-wrap { margin-top: 32px; max-width: 800px; margin-left: auto; margin-right: auto; } #bp-lp-root details.bp-faq-item { border-bottom: 1px solid #e3e5e8; padding: 20px 0; } #bp-lp-root details.bp-faq-item:first-of-type { border-top: 1px solid #e3e5e8; } #bp-lp-root summary.bp-faq-q { display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: 15.5px; font-weight: 700; color: #1e1e1e; list-style: none; } #bp-lp-root summary.bp-faq-q::-webkit-details-marker { display: none; } #bp-lp-root summary.bp-faq-q::after { content: "+"; font-family: ui-monospace, monospace; font-weight: 400; color: #5b6472; font-size: 20px; flex: none; margin-left: 16px; } #bp-lp-root details[open] summary.bp-faq-q::after { content: "\2013"; } #bp-lp-root .bp-faq-a { color: #5b6472; font-size: 14.5px; margin: 14px 0 0; max-width: 42em; } /* ===== FINAL CTA ===== */ #bp-lp-root .bp-cta-section { text-align: center; } #bp-lp-root .bp-price-note { color: #5b6472; font-size: 13.5px; } #bp-lp-root .bp-trust-row { display: flex; justify-content: center; gap: 28px; margin-top: 40px; flex-wrap: wrap; } #bp-lp-root .bp-trust-row span { font-size: 13px; color: #5b6472; display: flex; align-items: center; gap: 6px; } #bp-lp-root .bp-trust-row span::before { content: "\2713"; color: #2143C9; font-weight: 700; } @media (max-width: 1024px) { #bp-lp-root .bp-strength-row { flex-direction: column; align-items: center; } #bp-lp-root .bp-asset-grid { grid-template-columns: repeat(2,1fr); } } @media (max-width: 640px) { #bp-lp-root .bp-asset-grid { grid-template-columns: 1fr; } #bp-lp-root .bp-asset-item.is-zoomed { transform: scale(1.15); } } @media (prefers-reduced-motion: reduce) { #bp-lp-root * { transition: none !important; animation: none !important; } } ビジネス動画に必要なものが全てここに。 テロップ、グラフ、タイトル、トランジション——ビジネス系動画の編集に必要な全テンプレートを収録。 今すぐ購入する ビジネスパックとは ビジネス系動画の編集に特化した、Final Cut Pro専用プラグイン。 自身でビジネス系動画を発信するYouTuberから、企業のSNS担当者まで。解説動画、商品紹介、社内研修、採用動画——あらゆるビジネスシーンの編集を効率化します。 時短効率化 ビジネス系に特化 豊富なバリエーション 最強の時短・効率化 瞬時にテロップの配置を変更 中央配置、中央下部配置——これまで手動で調整していたテロップの位置決めを、ボタンひとつで完了します。 バリエーション豊かなアニメーションプリセット ビジネス動画に必要なアニメーションがプリセットとして搭載。アニメーション作成の手間を大幅に削減することができます。 ビジネス系に特化 豊富なバリエーション 全75種類のテンプレート テロップ 基本テロップと座布団テロップには複数のアニメーションプリセットが搭載されています。サイドテロップには固有アニメーションが搭載されています。 タイトル エフェクト グラフ アイキャッチ ドロップゾーン フレーム トランジション システム要件・仕様 Final Cut Pro 12.0 以降 macOS 26.3 以降 ダウンロードサイズ 約46MB 購入形態 買い切り アップデート対応 都度実施(追加購入等は不要) よくある質問 Final Cut Proのバージョンは何が必要ですか? Final Cut Pro 12.0以降を推奨します。macOSは26.3以降でご利用いただけます。 購入後すぐにダウンロードできますか? 購入完了後すぐに、ダウンロードリンクが記載されたメールが届きます。また、購入完了画面からでもダウンロードが可能です。 商用利用は可能ですか? はい、個人・商用問わずご利用いただけます。YouTube・TikTok・Instagram等の収益化動画にも使用できます。 アップデートはありますか? 定期的にデザインを追加・アップデートします。一度購入いただいたお客様は、追加料金なしでアップデートを受け取ることができます。 返金保証はありますか? 原則、返金はお受けしておりません。ダウンロードコンテンツという性質上、ご購入後の返金対応はできかねますので、あらかじめご了承ください。 今すぐ、ビジネス動画の量産をはじめよう。 買い切り・永久ライセンス・無制限アップデート 今すぐ購入する カートに追加する 即ダウンロード 商用利用OK 買い切り永久ライセンス (function () { // ==== 実データ: カテゴリごとのMP4動画URL・名称 ==== // サムネイルに使う秒数(thumb)は仮で1.5秒にしています。指定があれば変更してください。 var BP_ASSETS = { "テロップ": [ { url: "https://cdn.shopify.com/s/files/1/0814/0364/2161/files/business_telop_00001.jpg", name: "基本テロップ", type: "image" }, { url: "https://cdn.shopify.com/s/files/1/0814/0364/2161/files/business_telop_00002_f2c8736e-f3d0-4aa2-87ec-04361c237464.jpg", name: "座布団テロップ", type: "image" }, { url: "https://cdn.shopify.com/videos/c/o/v/a7941579de2b48ff986c8c554c64037c.mp4", name: "サイドテロップ", thumb: 2, type: "video" } ], "タイトル": [ { url: "https://cdn.shopify.com/videos/c/o/v/77d5b7c8655b4d1cabf7966319e03783.mp4", name: "タイトル 01", thumb: 2 }, { url: "https://cdn.shopify.com/videos/c/o/v/4a5bd9222c6f4621965dffc32396b90a.mp4", name: "タイトル 02", thumb: 2.2 }, { url: "https://cdn.shopify.com/videos/c/o/v/698ed9d54c634682aa32b11a79d840b4.mp4", name: "タイトル 03", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/93630fb924b049c78d3bdca9a14ca8c8.mp4", name: "タイトル 04", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/52eb214d605247e7ae540c99e4e43dd4.mp4", name: "タイトル 05", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/4291b6b0352b42099d4dc33d2f1f1a94.mp4", name: "タイトル 06", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/9892481fd8f548f48c5a7a0fc42f2139.mp4", name: "タイトル 07", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/0e603d84752b43afa71c16682166a70e.mp4", name: "タイトル 08", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/84df214894d94722a2d2ada92fef1652.mp4", name: "タイトル 09", thumb: 1.5 } ], "エフェクト": [ { url: "https://cdn.shopify.com/videos/c/o/v/52ee6bbb4e6a40cda92ba3a27ddf9fef.mp4", name: "ズーム", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/0d0eac9099704a129511d07049fc200b.mp4", name: "ビネット", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/5a906217db8c40d0940932b416dec1b5.mp4", name: "拡大", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/79c857b16b4f4b0db4d95e0ebbbac137.mp4", name: "縮小", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/77dbab71bde34bfd8bcc47ee1cf22f85.mp4", name: "青色調", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/5a381ea44bda463bbbcf2fb309dbcc83.mp4", name: "白黒", thumb: 1.5 } ], "グラフ": [ { url: "https://cdn.shopify.com/videos/c/o/v/b9e82a45605d4933b47f303befd2f330.mp4", name: "グラフ 01", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/b1d33658da8b4101b23bdb399308cae1.mp4", name: "グラフ 02", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/b2e71fd008fb499a8c0a213b68978076.mp4", name: "グラフ 03", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/2f1924dcc8d147b5baf8114237a85a8b.mp4", name: "グラフ 04", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/d3ede3831fad4f8da1526de0b17ffd38.mp4", name: "グラフ 05", thumb: 2.2 }, { url: "https://cdn.shopify.com/videos/c/o/v/84492acb7833412abfabfd51e1510e77.mp4", name: "グラフ 06", thumb: 1.5 } ], "アイキャッチ": [ { url: "https://cdn.shopify.com/videos/c/o/v/9aa9d9ff19944e30ba35050dbb73f298.mp4", name: "アイキャッチ 01", thumb: 3 }, { url: "https://cdn.shopify.com/videos/c/o/v/253e4addd7c5480b901fb607ebaa2c67.mp4", name: "アイキャッチ 02", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/83ecb2573640491e9ca60522f398e3d7.mp4", name: "アイキャッチ 03", thumb: 2.4 }, { url: "https://cdn.shopify.com/videos/c/o/v/e5ab09c51b174b8797294257d4c9b836.mp4", name: "アイキャッチ 04", thumb: 2.2 } ], "ドロップゾーン": [ { url: "https://cdn.shopify.com/videos/c/o/v/04ba606813274a07bc6b1fb6bdf18233.mp4", name: "ドロップゾーン 01", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/f51106d99aa24298b40929afca1072ed.mp4", name: "ドロップゾーン 02", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/c6e933fb1dfc4bfc8166508afb285b1a.mp4", name: "ドロップゾーン 03", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/6f9a7b4927fd4ffb8db7ec627386e68b.mp4", name: "ドロップゾーン 04", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/abbc03269b974bf1839346a045036803.mp4", name: "ドロップゾーン 05", thumb: 1.5 } ], "フレーム": [ { url: "https://cdn.shopify.com/videos/c/o/v/f26bfb9a2e0248438a771001f91867bd.mp4", name: "フレーム 01", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/0667edd9cdb24adda4a128dc1c30eb54.mp4", name: "フレーム 02", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/dfaf38441d6144918729feec4e513b93.mp4", name: "フレーム 03", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/9120c72f2ef840529fb6604b1a0600cc.mp4", name: "フレーム 04", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/a49c576b6dfd47118fba5039031b6dd6.mp4", name: "フレーム 05", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/b6cab973d83042e4ab0c411bd40c419b.mp4", name: "フレーム 06", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/a3299201dad744818b48a89772a21503.mp4", name: "フレーム 07", thumb: 1.5 } ], "トランジション": [ { url: "https://cdn.shopify.com/videos/c/o/v/6cd03452a55a4ef1aed777a9ae19277d.mp4", name: "トランジション 01", thumb: 1.15 }, { url: "https://cdn.shopify.com/videos/c/o/v/11e1a64ccb3e4972868227b72b3c273b.mp4", name: "トランジション 02", thumb: 1 }, { url: "https://cdn.shopify.com/videos/c/o/v/5b916a13ada34c019999587203375e93.mp4", name: "トランジション 03", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/315a4f0d6cb6416eb1796544d065e814.mp4", name: "トランジション 04", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/14a2146f5f134ed58c7b5df927ff6057.mp4", name: "トランジション 05", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/c04765bb973f4671b4473d04373d794e.mp4", name: "トランジション 06", thumb: 1.3 }, { url: "https://cdn.shopify.com/videos/c/o/v/aaec90ebdddf43719a1e118b40db1c99.mp4", name: "トランジション 07", thumb: 1.5 }, { url: "https://cdn.shopify.com/videos/c/o/v/861f75185e9a44719d88e2011bbfed70.mp4", name: "トランジション 08", thumb: 1.5 } ] }; var activeZoomItem = null; function buildGrids() { document.querySelectorAll('#bp-lp-root .bp-asset-grid[data-cat]').forEach(function (grid) { var cat = grid.getAttribute('data-cat'); var list = BP_ASSETS[cat] || []; var html = ''; list.forEach(function (asset) { if (asset.type === 'image') { html += '' + '' + '' + asset.name + '' + ''; } else { html += '' + '' + '' + asset.name + '' + ''; } }); grid.innerHTML = html; }); } function initVideos() { document.querySelectorAll('#bp-lp-root .bp-asset-item').forEach(function (item) { var video = item.querySelector('video'); if (!video) return; var thumbTime = parseFloat(item.dataset.thumb) || 0; var setThumb = function () { video.currentTime = thumbTime; }; if (video.readyState > 0) { setThumb(); } else { video.addEventListener('loadedmetadata', setThumb); } item.addEventListener('mouseenter', function () { if (item.classList.contains('is-zoomed')) return; video.currentTime = 0; video.play(); }); item.addEventListener('mouseleave', function () { if (item.classList.contains('is-zoomed')) return; video.pause(); video.currentTime = thumbTime; }); }); } function setupZoom() { var backdrop = document.getElementById('bp-zoom-backdrop'); document.querySelectorAll('#bp-lp-root .bp-asset-item').forEach(function (item) { item.addEventListener('click', function (e) { e.stopPropagation(); if (activeZoomItem === item) { closeZoom(); return; } if (activeZoomItem) closeZoom(); item.classList.add('is-zoomed'); backdrop.classList.add('is-active'); var video = item.querySelector('video'); if (video) { video.currentTime = 0; video.play(); } activeZoomItem = item; }); }); backdrop.addEventListener('click', closeZoom); document.addEventListener('keydown', function (e) { if (e.key === 'Escape') closeZoom(); }); } function closeZoom() { if (!activeZoomItem) return; var thumbTime = parseFloat(activeZoomItem.dataset.thumb) || 0; activeZoomItem.classList.remove('is-zoomed'); document.getElementById('bp-zoom-backdrop').classList.remove('is-active'); var video = activeZoomItem.querySelector('video'); if (video) { video.pause(); video.currentTime = thumbTime; } activeZoomItem = null; } // ==== 3つの強み: スクロールでふわっと登場 ==== function setupStrengthReveal() { var row = document.querySelector('#bp-lp-root .bp-strength-row'); if (!row) return; var reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduced || !('IntersectionObserver' in window)) { row.classList.add('in-view'); return; } var revealed = false; var reveal = function () { if (!revealed) { revealed = true; row.classList.add('in-view'); } }; var io = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { reveal(); io.unobserve(entry.target); } }); }, { threshold: 0.2 }); io.observe(row); // フェイルセーフ: 万一Observerが発火しなくても、コンテンツが消えたままにならないようにする setTimeout(reveal, 2000); } function setupMuteButtons() { var MUTE_ICON = ''; var UNMUTE_ICON = ''; document.querySelectorAll('#bp-lp-root .bp-volume-control').forEach(function (control) { var btn = control.querySelector('[data-video-mute-btn]'); var slider = control.querySelector('[data-video-volume-slider]'); var video = control.parentElement.querySelector('video'); if (!video || !btn || !slider) return; var updateIcon = function () { btn.innerHTML = (video.muted || video.volume === 0) ? MUTE_ICON : UNMUTE_ICON; }; var updateSliderFill = function () { var pct = slider.value; slider.style.background = 'linear-gradient(to right, #fff ' + pct + '%, rgba(255,255,255,0.35) ' + pct + '%)'; }; slider.value = 0; updateSliderFill(); updateIcon(); btn.addEventListener('click', function () { if (video.muted || video.volume === 0) { video.muted = false; video.volume = 0.5; slider.value = 50; } else { video.muted = true; slider.value = 0; } updateSliderFill(); updateIcon(); }); slider.addEventListener('input', function () { var val = parseInt(slider.value, 10); video.volume = val / 100; video.muted = val === 0; updateSliderFill(); updateIcon(); }); }); } function bpAddToCart() { var sel = document.querySelector('select[name="id"], input[name="id"]'); var variantId = sel ? sel.value : null; if (!variantId) { window.location.href = '/cart'; return; } fetch('/cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' }, body: JSON.stringify({ id: parseInt(variantId), quantity: 1 }) }).then(function () { window.location.href = '/cart'; }); } window.bpAddToCart = bpAddToCart; function bpInit() { if (document.getElementById('bp-lp-root') && document.getElementById('bp-lp-root').dataset.bpInit) return; if (document.getElementById('bp-lp-root')) document.getElementById('bp-lp-root').dataset.bpInit = '1'; buildGrids(); setupStrengthReveal(); setupMuteButtons(); setupZoom(); initVideos(); } // このスクリプトが実行されるタイミングで既にページ読み込みが完了している場合、 // DOMContentLoaded は二度と発火しないため、readyState を直接確認して初期化する。 if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', bpInit); } else { bpInit(); } })();