// Hero patterns for PACE LP — 3 refined search-first variants // Principles applied: // - No decorative SVG (concentric circles, dot patterns, sparkles, "+" marks) // - Icons reduced to bare minimum (search glass only, in pattern 2/3) // - Stats woven into prose, never a 4-tile row // - Long-form copy, no telegraphic 体言止め tagline // - Asymmetric grids, generous paper-like whitespace // - Product photos as protagonist (placeholders sized & framed for real shots) const { useState: useStateH } = React; // Hero search bar の共通ロジック。input + 3 select + 送信。 function useHeroSearch() { const [kw, setKw] = useStateH(""); const [scene, setScene] = useStateH(""); const [budget, setBudget] = useStateH(""); const [lot, setLot] = useStateH(""); const submit = () => window.applyHeroSearch({ keyword: kw, scene, budget, lot }); const onKey = (e) => { if (e.key === "Enter") { e.preventDefault(); submit(); } }; return { kw, setKw, scene, setScene, budget, setBudget, lot, setLot, submit, onKey }; } // 共通のセレクト。value="" が placeholder を兼ねる。 function HeroSelect({ label, opts, value, onChange, style }) { return ( ); } // Shared product placeholder. Real catalog photo goes here later. const ProductPhoto = ({ p, ratio = "4 / 5", showBadge = true, tone = "warm" }) => { const tones = { warm: { bg: "#ece6da", ink: "#a8a094" }, cool: { bg: "#e6e6e2", ink: "#a0a09a" }, dark: { bg: "#2a2620", ink: "#5a544a" }, }; const t = tones[tone] || tones.warm; return (
{/* Subtle paper grain — single soft gradient, not a pattern */}
{/* Filename hint — designers/devs see where photo goes */}
photo / {p?.cat?.toLowerCase?.() || "product"}_{String(p?.id || 0).padStart(2, "0")}
{showBadge && p?.badge && (
{p.badge}
)}
); }; // Magnifying glass — kept as a single small icon (not "decorative SVG") const SearchGlass = ({ size = 18, color = "#1a1612" }) => ( ); // ========================================================= // "選ばれる理由" — pace の強み4点をファーストビューに織り込む // 装飾なし、罫線と漢数字番号、長めの説明文で「AI感」を避ける // ========================================================= const WHY_REASONS = [ { n: "一", title: "戦略としてのノベルティ", body: "ご担当者様のビジネス課題を伺った上で、企業戦略に沿ったオリジナルノベルティをご提案します。配って終わりではない、一手としてのノベルティです。", }, { n: "二", title: "課題から逆算する企画", body: "御社が抱える課題を解くための装置として、ノベルティを設計します。記念品でも宣伝品でもない、もうひとつの企業戦略の手段としてご活用いただけます。", }, { n: "三", title: "差別化されたものづくり", body: "市場に溢れる「普通のノベルティ」とは違う、御社のためにつくられた一点を。形・素材・印刷・パッケージまで、差別化を前提に組み上げます。", }, { n: "四", title: "職人と仕上げる一点", body: "国内外の協力工場・職人とともに、御社の意向を汲んだオリジナルノベルティをかたちにします。発注先ではなく、共につくる相手としてお付き合いください。", }, ]; const WhyChosen = ({ tone = "cream", title = "パーチェが選ばれる、四つの理由", variant }) => { const v = variant || window.__WHY_VARIANT || "A"; if (v === "B") return ; if (v === "C") return ; if (v === "D") return ; if (v === "E") return ; return ; }; const WHY_PALETTES = { cream: { bg: "#f4f1ea", panel: "#ede4d1", ink: "#1a1612", muted: "#6b6055", rule: "#d5c9aa", accent: "#9a7e3a", eyebrow: "#9a7e3a" }, paper: { bg: "#ede4d1", panel: "#e3d6b5", ink: "#1a1612", muted: "#6b6055", rule: "#c8b878", accent: "#9a7e3a", eyebrow: "#9a7e3a" }, indigo: { bg: "#1f2a3a", panel: "#293648", ink: "#f0e9d8", muted: "#a8a39a", rule: "#3d4a5e", accent: "#c8b878", eyebrow: "#c8b878" }, forest: { bg: "#1d2b22", panel: "#27382e", ink: "#f4ead0", muted: "#a8a08e", rule: "#3a4a3d", accent: "#c8b878", eyebrow: "#c8b878" }, burgundy: { bg: "#5a2a26", panel: "#6b332e", ink: "#f4ead0", muted: "#c8a89a", rule: "#7a4540", accent: "#e0c890", eyebrow: "#e0c890" }, }; // ========================================================= // Variant A — 漢数字+縦罫線4分割(既存) // 帳簿のような端正さ。読み物として成立。 // ========================================================= const WhyChosenA = ({ tone, title }) => { const t = WHY_PALETTES[tone] || WHY_PALETTES.cream; return (
Why pace  —  選ばれる理由

{title}

{WHY_REASONS.map((r, i) => (
{r.n}
{r.title}

{r.body}

))}
); }; // ========================================================= // Variant B — 縦書きインデックス(雑誌の目次風) // 左に大型タイトル+導入文、右に4項目を縦書きで並べる // ========================================================= const WhyChosenB = ({ tone, title }) => { const t = WHY_PALETTES[tone] || WHY_PALETTES.cream; return (
Why pace

{title}

ノベルティを「配って終わる消耗品」ではなく、企業戦略の一手として捉え直すこと。それがパーチェの仕事です。

{WHY_REASONS.map((r, i) => (
{`0${i + 1}`} {r.title}

{r.body}

))}
); }; // ========================================================= // Variant C — オーバーラップ大番号(タイポグラフィ前面) // 大きな数字とタイトルが重なる構図、説明文は番号の下に控えめに // ========================================================= const WhyChosenC = ({ tone, title }) => { const t = WHY_PALETTES[tone] || WHY_PALETTES.cream; const { isMobile, isTablet } = (window.useViewport || (() => ({ isMobile: false, isTablet: false })))(); return (
Why pace  —  選ばれる理由

{title}

{WHY_REASONS.map((r, i) => (
{`0${i + 1}`}
{r.title}

{r.body}

))}
); }; // ========================================================= // Variant D — タイムライン横並び(プロセスの流れとして) // 4本柱を「戦略 → 企画 → 差別化 → ものづくり」の流れに見立てる // ========================================================= const WhyChosenD = ({ tone, title }) => { const t = WHY_PALETTES[tone] || WHY_PALETTES.cream; const stages = ["戦略", "企画", "差別化", "ものづくり"]; return (
Why pace  —  選ばれる理由

{title}

{/* Timeline rule */}
{stages.map((stg, i) => (
{i + 1}
{stg}
))}
{WHY_REASONS.map((r, i) => (
{r.title}

{r.body}

))}
); }; // ========================================================= // Variant E — 写真とペアリング(左右交互の縦積み) // 各項目に商品写真プレースホルダを添え、説得力を出す // ========================================================= const WhyChosenE = ({ tone, title }) => { const t = WHY_PALETTES[tone] || WHY_PALETTES.cream; const products = window.PRODUCTS || []; return (
Why pace  —  選ばれる理由

{title}

{WHY_REASONS.map((r, i) => { const p = products[i] || {}; return (
{`No.0${i + 1}`}
{r.n}
{r.title}

{r.body}

); })}
); }; // ========================================================= // Pattern 1 — Quiet catalog (paper-white, asymmetric) // 紙の図録のように静かに。タイトルは1サイズ、長文リードで語りかける。 // 上半分は見出し+リード+検索、下半分は1点の主役写真+小さな商品索引。 // ========================================================= function HeroSearch() { const featured = (window.PRODUCTS || []).slice(0, 1)[0]; const grid = (window.PRODUCTS || []).slice(1, 7); const s = useHeroSearch(); return ( <>
{/* Top eyebrow — single line, very small */}
Strategic Novelty  —  pace
{/* Asymmetric headline + lede grid */}

ノベルティ戦略の本質は、
経営戦略である。

企業戦略やイベントの本質に沿った、オリジナルノベルティを製作いたします。御社の目指す将来像へ近づくために、戦略的にノベルティをご活用ください。

ECO素材・バイオマス素材など、環境に配慮した仕様もすべてご相談いただけます。

世界陸上・デフリンピック・ホノルルマラソンといった大型イベントから、大企業のノベルティ戦略まで——陰で支えてきた弊社が、「配って終わり」ではないオリジナルノベルティを、圧倒的なコスト感と精度でお届けします。

{/* Quiet search bar — paper field, no shadow */}
s.setKw(e.target.value)} onKeyDown={s.onKey} placeholder="商品名・キーワード(例:今治タオル)" style={{ flex: 1, border: "none", outline: "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 16, color: "#1a1612", padding: "20px 0", letterSpacing: "0.05em", }} />
{(() => { const selStyle = { border: "none", borderRight: "1px solid #e8e2d6", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 15, color: "#3d3530", padding: "20px 18px", outline: "none", appearance: "none", letterSpacing: "0.08em", }; return (<> ); })()}
{/* Inline link row instead of stat tiles */}
よく検索されているもの —  {["今治タオル", "ボールペン", "エコバッグ", "タンブラー", "ドリップコーヒー"].map((k, i, a) => ( {k} {i < a.length - 1 ? "、" : ""} ))}
紙のカタログを取り寄せる →
{/* Hero product band — one large photo + small index */}
); } // ========================================================= // Pattern 2 — Dark editorial (deep ink, large search card on warm paper) // 黒インクの上半分に長文の挨拶文。下半分は紙色に戻り、検索 + 主役写真2点。 // ========================================================= function HeroSearchHero() { const a = (window.PRODUCTS || [])[0]; const b = (window.PRODUCTS || [])[1]; const c = (window.PRODUCTS || [])[2]; const s = useHeroSearch(); const { isMobile, isTablet } = (window.useViewport || (() => ({ isMobile: false, isTablet: false })))(); const compact = isMobile || isTablet; // WordPress から商品が非同期で読み込まれたら再描画(Featured が出るように) const [, setTick] = useStateH(0); React.useEffect(() => { const onLoaded = () => setTick((t) => t + 1); window.addEventListener("pace:products-loaded", onLoaded); return () => window.removeEventListener("pace:products-loaded", onLoaded); }, []); return ( <>
{/* Top — warm cream panel with golden accent rule */}
Strategic Novelty  —  pace

ノベルティ戦略の
本質は、
経営戦略である。

企業戦略やイベントの本質に沿った、オリジナルノベルティを製作いたします。御社の目指す将来像へ近づくために、戦略的にノベルティをご活用ください。

ECO素材・バイオマス素材など、環境に配慮した仕様もすべてご相談いただけます。

世界陸上・デフリンピック・ホノルルマラソンといった大型イベントから、大企業のノベルティ戦略まで——陰で支えてきた弊社が、「配って終わり」ではないオリジナルノベルティを、圧倒的なコスト感と精度でお届けします。

{/* Bottom — paper, search overlapping the seam */}
{/* Search bar overlapping the seam (モバイルは縦並び) */}
s.setKw(e.target.value)} onKeyDown={s.onKey} placeholder="探したい商品の名前、キーワード" style={{ flex: 1, border: "none", outline: "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: isMobile ? 14 : 16, color: "#1a1612", padding: isMobile ? "16px 0" : "22px 0", letterSpacing: "0.05em", width: "100%", }} />
{(() => { const selStyle = { border: "none", borderRight: compact ? "none" : "1px solid #e8e2d6", borderBottom: compact ? "1px solid #e8e2d6" : "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: isMobile ? 14 : 15, color: "#3d3530", padding: isMobile ? "14px 12px" : "22px 18px", outline: "none", appearance: "none", letterSpacing: "0.08em", width: "100%", }; return (<> ); })()}
{/* Featured 3 — コンパクトな横並び(商品なしなら非表示) 選定ロジック: 1) isFeatured が true の商品を最優先(featuredOrder 昇順) 2) 該当なしの場合は、全商品の先頭3件をフォールバック表示 */} {(() => { const all = window.PRODUCTS || []; if (all.length === 0) return null; const marked = all.filter((p) => p.isFeatured) .sort((a, b) => { const ao = a.featuredOrder ?? 9999; const bo = b.featuredOrder ?? 9999; return ao - bo; }); const featured = (marked.length > 0 ? marked : all).slice(0, 3); if (featured.length === 0) return null; const cardImg = (p) => { if (Array.isArray(p.images) && p.images.length > 0) return p.images[0]; if (p.imageUrl) return p.imageUrl; return `uploads/products/product_${String(p.id).padStart(2, "0")}.jpg`; }; return ( ); })()}
); } // ========================================================= // Pattern 3 — Forest green (deep green ink + warm cream, asymmetric library) // 深い緑のサイドバンド+クリーム紙。本棚のように写真が並ぶ。 // ========================================================= function HeroSearchRich() { const lead = (window.PRODUCTS || [])[0]; const items = (window.PRODUCTS || []).slice(1, 5); const s = useHeroSearch(); return ( <>
{/* Top band: deep green left, cream right — single grid, no abs positioning */}
{/* Green left panel */}
The Catalogue, vol. 30

ノベルティ戦略の
本質は、
経営戦略である。

戦略型ノベルティの図録  —  pace
{/* Cream right panel — lede + intro */}

企業戦略やイベントの本質に沿った、オリジナルノベルティを製作いたします。御社の目指す将来像へ近づくために、戦略的にノベルティをご活用ください。

ECO素材・バイオマス素材など、環境に配慮した仕様もすべてご相談いただけます。

世界陸上・デフリンピック・ホノルルマラソンといった大型イベントから、大企業のノベルティ戦略まで——陰で支えてきた弊社が、「配って終わり」ではないオリジナルノベルティを、圧倒的なコスト感と精度でお届けします。

紙のカタログを取り寄せる →
{/* Body — cream, centered */}
{/* Search bar */}
s.setKw(e.target.value)} onKeyDown={s.onKey} placeholder="商品名・キーワード" style={{ flex: 1, border: "none", outline: "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 15, color: "#1a1612", padding: "18px 0", letterSpacing: "0.05em", }} />
{(() => { const selStyle = { border: "none", borderRight: "1px solid #e8e2d6", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 14, color: "#3d3530", padding: "18px 14px", outline: "none", appearance: "none", letterSpacing: "0.08em", }; return (<> ); })()}
{/* Library row — one large + four small, asymmetric */}
{/* Lead photo */}
Plate I  —  {lead?.cat}
{lead?.name}
no.{String(lead?.id).padStart(2, "0")}
{/* Four-up grid — but offset, like a contact sheet */}
); } // ========================================================= // Pattern 4 — Indigo & cream "spread" (見開き) // 雑誌の見開きのように左ページに藍色の小見出し、右ページに大きな写真。 // 検索バーは下端に1本の細いラインで配置。 // ========================================================= function HeroSpread() { const a = (window.PRODUCTS || [])[0]; const small = (window.PRODUCTS || []).slice(1, 4); const s = useHeroSearch(); return ( <>
{/* Top eyebrow row, very minimal */}
The Spread  —  pace strategic novelty April, MMXXVI
{/* Spread: left text page / right photo page */}
{/* Left page */}
Vol. 30  —  Towel

ノベルティ戦略の本質は、
経営戦略である。

企業戦略やイベントの本質に沿った、オリジナルノベルティを製作いたします。御社の目指す将来像へ近づくために、戦略的にノベルティをご活用ください。

ECO素材・バイオマス素材など、環境に配慮した仕様もご相談いただけます。

世界陸上・デフリンピック・ホノルルマラソンから大企業のノベルティ戦略まで——陰で支えてきた弊社が、「配って終わり」ではないノベルティを、圧倒的なコスト感と精度でお届けします。

{/* Right page: large photo + caption */}
{a?.name}
Plate I  /  {a?.cat}
{/* Bottom: thin search line (no card, no shadow) */}
s.setKw(e.target.value)} onKeyDown={s.onKey} placeholder="商品名・キーワードでお探しください" style={{ flex: 1, border: "none", outline: "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 16, color: "#1a1612", padding: "16px 0", letterSpacing: "0.05em", }} />
{(() => { const selStyle = { border: "none", borderLeft: "1px solid #d5c9aa", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 15, color: "#3d3530", padding: "16px 18px", outline: "none", appearance: "none", letterSpacing: "0.08em", }; return (<> ); })()}
{/* Small thumbs strip */}
); } // ========================================================= // Pattern 5 — Marquee headline (大判タイポ + 余白) // 一行の大きな見出しが画面を横断。下に検索と4枚の小さな写真。 // 写真より文字が主役。引き算の構図。 // ========================================================= function HeroMarquee() { const items = (window.PRODUCTS || []).slice(0, 4); const s = useHeroSearch(); return ( <>
{/* Eyebrow */}
Strategic Novelty  —  pace パーチェ株式会社
{/* Marquee headline — single line that fills width */}

ノベルティ戦略の本質は、
経営戦略である。

{/* Lede sits to the right, below */}

企業戦略やイベントの本質に沿った、オリジナルノベルティを製作いたします。御社の目指す将来像へ近づくために、戦略的にノベルティをご活用ください。

ECO素材・バイオマス素材など、環境に配慮した仕様もすべてご相談いただけます。

世界陸上・デフリンピック・ホノルルマラソンといった大型イベントから、大企業のノベルティ戦略まで——陰で支えてきた弊社が、「配って終わり」ではないオリジナルノベルティを、圧倒的なコスト感と精度でお届けします。

{/* Search bar */}
s.setKw(e.target.value)} onKeyDown={s.onKey} placeholder="商品名・キーワード(例:今治タオル)" style={{ flex: 1, border: "none", outline: "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 16, color: "#1a1612", padding: "20px 0", letterSpacing: "0.05em", }} />
{(() => { const selStyle = { border: "none", borderRight: "1px solid #e8e2d6", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 15, color: "#3d3530", padding: "20px 18px", outline: "none", appearance: "none", letterSpacing: "0.08em", }; return (<> ); })()}
{/* Four-tile thumb strip, equal grid */}
); } // ========================================================= // Pattern 6 — Burgundy ledger (深い赤茶 + 帳簿のような表組み) // 老舗商家の帳簿のような端正さ。番号付きインデックス + 1点写真。 // ========================================================= function HeroLedger() { const items = (window.PRODUCTS || []).slice(0, 6); const lead = items[0]; const s = useHeroSearch(); return ( <>
{/* Burgundy header band */}
The Ledger  /  Strategic Novelty pace  /  vol. 30

ノベルティ戦略の本質は、
経営戦略である。

企業戦略やイベントの本質に沿った、オリジナルノベルティを製作いたします。御社の目指す将来像へ近づくために、戦略的にノベルティをご活用ください。

ECO素材・バイオマス素材など、環境に配慮した仕様もすべてご相談いただけます。

世界陸上・デフリンピック・ホノルルマラソンといった大型イベントから、大企業のノベルティ戦略まで——陰で支えてきた弊社が、「配って終わり」ではないオリジナルノベルティを、圧倒的なコスト感と精度でお届けします。

{/* Body — ledger-style index + lead photo */}
{/* Search row, narrow, slightly inset */}
s.setKw(e.target.value)} onKeyDown={s.onKey} placeholder="商品名・キーワード" style={{ flex: 1, border: "none", outline: "none", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 15, color: "#1a1612", padding: "18px 0", letterSpacing: "0.05em", }} />
{(() => { const selStyle = { border: "none", borderRight: "1px solid #e8e2d6", background: "transparent", fontFamily: "'Noto Serif JP', serif", fontSize: 14, color: "#3d3530", padding: "18px 14px", outline: "none", appearance: "none", letterSpacing: "0.08em", }; return (<> ); })()}
{/* Two columns: ledger (left) + lead photo (right) */}
{/* Ledger: numbered index */}
Index  —  取扱品より パーチェ株式会社
{items.map((p, i) => (
{String(i + 1).padStart(2, "0")} {p.name} {p.cat}
))}
{/* Lead photo */}
); } Object.assign(window, { HeroSearch, HeroSearchHero, HeroSearchRich, HeroSpread, HeroMarquee, HeroLedger, WhyChosen });