
        /* ============================================================
           MOTION — モダン/ダイナミック/スクロール連動（Lenis 駆動）
           - スクロール連動は wp_footer の JS が window.__wn_lenis の 'scroll' を
             購読し、--p（リビール）/ 進捗バー scaleX / ヒーロー視差 を更新する。
           - .wn-jsanim（head インライン）下でのみリビール初期状態を隠す。
             reduced-motion / JS 不発時はウォッチドッグで全可視へ戻す。
           - ロード時の入場・sheen・ring・ティッカーは純 CSS（非スクロール）。
           - テーマの section リビールは自領域では無効化（Lenis 一本化）。
           ============================================================ */
        .wn-v61-root .wn-section.reveal-init { opacity: 1; transform: none; }

        @media (prefers-reduced-motion: no-preference) {

          /* ---- HERO 入場（ロード時・上段なので timeline ではなく即時） ---- */
          @keyframes wn-v61-up { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: none; } }
          @keyframes wn-v61-scalein { from { opacity: 0; transform: scale(.88); } to { opacity: 1; transform: scale(1); } }
          @keyframes wn-v61-platein { from { opacity: 0; transform: translateY(12px) rotate(-.8deg) scale(.94); } to { opacity: 1; transform: rotate(-.8deg); } }
          @keyframes wn-v61-sheen { from { opacity: .45; transform: translateX(-3%) translateY(0); } to { opacity: 1; transform: translateX(3%) translateY(-2%); } }
          @keyframes wn-v61-ring { 0%,100% { box-shadow: 0 18px 44px -16px rgba(15,30,90,.45), 0 0 0 1px var(--c-border), 0 0 0 0 rgba(242,107,34,.0); } 50% { box-shadow: 0 22px 50px -16px rgba(15,30,90,.5), 0 0 0 1px var(--c-border), 0 0 0 10px rgba(242,107,34,.08); } }

          .wn-v61-hero { position: relative; overflow: hidden; }
          .wn-v61-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
            background:
              radial-gradient(48% 48% at 84% -2%, rgba(242,107,34,.17), transparent 70%),
              radial-gradient(42% 46% at 6% 102%, rgba(97,139,217,.13), transparent 70%);
            animation: wn-v61-sheen 9s ease-in-out infinite alternate; }
          .wn-v61-hero__inner { position: relative; z-index: 1; }
          .wn-v61-hero__text > * { animation: wn-v61-up .85s cubic-bezier(.16,1,.3,1) both; }
          .wn-v61-hero__text > :nth-child(1) { animation-delay: .05s; }
          .wn-v61-hero__text > :nth-child(2) { animation-delay: .16s; }
          .wn-v61-hero__text > :nth-child(3) { animation-delay: .28s; }
          .wn-v61-hero__text > :nth-child(4) { animation-delay: .40s; }
          .wn-v61-hero__text > :nth-child(5) { animation-delay: .50s; }
          /* figure は Lenis 視差、img はキャラクター拡大率に使うため、入場はプレート側へ分離。 */
          @media (min-width: 880px) {
            .wn-v61-hero__plate { animation: wn-v61-platein .9s cubic-bezier(.16,1,.3,1) both; animation-delay: .18s; }
          }

          /* ---- バナーのシャイン ---- */
          .wn-v61-banner { position: relative; overflow: hidden; }
          .wn-v61-banner::after { content: ""; position: absolute; top: 0; left: -70%; width: 55%; height: 100%; transform: skewX(-18deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.20), transparent); transition: left .7s var(--ease, cubic-bezier(.16,1,.3,1)); }
          .wn-v61-banner:hover::after { left: 130%; }
        }

        /* ---- リビール（入場一回・保持） ----
           IntersectionObserver が .wn-in を付与したら表示し、以後保持（逆再生しない）。
           初期ビューポート内の要素も IO が即発火して表示 → コンテンツ欠落を防止。
           .wn-jsanim 下のみ初期状態を隠す。reduced-motion / JS 不発時は可視のまま。
           transform は translateY(var(--py)) でカードの連続ドリフト（Lenis）に使用。
           リビール自体は opacity/blur のみで transform と非干渉。 */
        .wn-jsanim .wn-v61-root .wn-section-center,
        .wn-jsanim .wn-v61-root .wn-v61-about,
        .wn-jsanim .wn-v61-root .wn-v61-sla,
        .wn-jsanim .wn-v61-root .wn-v61-center-cta,
        .wn-jsanim .wn-v61-root .wn-services > *,
        .wn-jsanim .wn-v61-root .wn-cases > *,
        .wn-jsanim .wn-v61-root .wn-v61-banners > *,
        .wn-jsanim .wn-v61-root .wn-track-record__stat,
        .wn-jsanim .wn-v61-root .wn-faq details {
          opacity: 0;
          transform: translateY(var(--py, 0px));
          filter: blur(6px);
          transition: opacity .7s cubic-bezier(.16,1,.3,1), filter .7s cubic-bezier(.16,1,.3,1);
          will-change: opacity, filter;
        }
        .wn-jsanim .wn-v61-root .wn-in,
        .wn-jsanim .wn-v61-root details.wn-in { opacity: 1; filter: blur(0); }

        /* ============================================================
           PREMIUM 追加層（スクロール連動 / hover）
           ============================================================ */
        @media (prefers-reduced-motion: no-preference) {
          /* プライマリボタンの sheen スイープ */
          .wn-v61-root .wn-btn-primary { position: relative; overflow: hidden; }
          .wn-v61-root .wn-btn-primary::after { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; transform: skewX(-20deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent); transition: left .65s cubic-bezier(.16,1,.3,1); pointer-events: none; }
          .wn-v61-root .wn-btn-primary:hover::after { left: 135%; }

          /* カード hover を少しダイナミックに（テーマ hover に上乗せ） */
          .wn-v61-root .wn-svc, .wn-v61-root .wn-case { transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
          .wn-v61-root .wn-svc:hover, .wn-v61-root .wn-case:hover { transform: translateY(-6px); }
          .wn-v61-root .wn-svc-icon { transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
          .wn-v61-root .wn-svc:hover .wn-svc-icon { transform: rotate(-6deg) scale(1.08); }
          /* === C: サービスアイコン(ストロークSVG)の線画ドロー。reveal(.wn-in)時のみ発火。
             既定は通常表示なので、JS不発・reveal未発火でもアイコンは消えない（安全フォールバック）。 */
          @keyframes wn-svc-draw { from { stroke-dasharray: 120; stroke-dashoffset: 120; } to { stroke-dasharray: 120; stroke-dashoffset: 0; } }
          .wn-v61-root .wn-in .wn-svc-icon svg path { animation: wn-svc-draw .9s cubic-bezier(.16,1,.3,1) both; }
        }

        /* スクロール進捗バー（Lenis 駆動: JS が scaleX を更新） */
        .wn-v61-progress { position: fixed; left: 0; top: 0; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); z-index: 2147483000; background: linear-gradient(90deg, var(--c-accent), #ffb37a); pointer-events: none; will-change: transform; }
        @media (prefers-reduced-motion: reduce) { .wn-v61-progress { display: none; } }

        /* 見出し下線（リビール .wn-in で描画） */
        .wn-v61-root .wn-section-center { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .7rem; }
        .wn-v61-root .wn-section-center .wn-section-eyebrow,
        .wn-v61-root .wn-section-center .wn-section-title,
        .wn-v61-root .wn-section-center .wn-section-lede { margin-left: auto; margin-right: auto; }
        .wn-v61-root .wn-section-center .wn-section-title { display: inline-block; position: relative; }
        .wn-v61-root .wn-section-center .wn-section-title .wn-v61-title-line { display: inline; }
        .wn-v61-root .wn-section-center .wn-section-title::after { content: ""; display: block; height: 3px; width: 64px; margin: .65rem auto 0; border-radius: 2px; background: linear-gradient(90deg, var(--c-accent), #ffb37a); transform: scaleX(1); transform-origin: center; }
        .wn-jsanim .wn-v61-root .wn-section-center .wn-section-title::after { transform: scaleX(0); transition: transform .7s cubic-bezier(.16,1,.3,1) .1s; }
        .wn-jsanim .wn-v61-root .wn-section-center.wn-in .wn-section-title::after { transform: scaleX(1); }
        @media (max-width: 767px) {
          .wn-v61-root .wn-section-center { gap: .6rem; }
          .wn-v61-root .wn-section-center .wn-section-title .wn-v61-title-line { display: block; }
          .wn-v61-root .wn-section-center .wn-v61-title-sep { display: none; }
        }

        /* ---- NEWS ティッカー ---- */
        .wn-v61-root .wn-section.wn-v61-newswrap { padding-top: 0; padding-bottom: 0; margin-top: 0; margin-bottom: 0; }
        /* wn-wrap: PC は最大 1200px（--container に連動＝ヘッダー/フッターと整列）、
           タブレット・スマホは 95%（メディアクエリ不要で自動切替）。フロント v6.1 内のみ。 */
        .wn-v61-root .wn-wrap { width: 95%; max-width: var(--container, 1200px); }
        .wn-v61-news { overflow: hidden; border: 1px solid var(--c-border); border-radius: var(--r, 12px); background: var(--c-paper); }
        .wn-v61-news__track { display: flex; width: max-content; animation: wn-v61-news 92s linear infinite; will-change: transform; } /* 2026-09-17: 6 件化に合わせ、従来と同じ流速（約 34px/s）になるよう 92s */
        .wn-v61-news:hover .wn-v61-news__track { animation-play-state: paused; }
        .wn-v61-news__set { display: inline-flex; flex: 0 0 auto; }
        .wn-v61-news__item { display: inline-flex; align-items: center; flex: 0 0 auto; min-width: max-content; gap: .55rem; padding: .7rem 1.15rem; white-space: nowrap; font-size: .85rem; color: var(--c-text-mute); border-right: 1px solid var(--c-border-soft); }
        .wn-v61-news time { flex: 0 0 auto; color: var(--c-text-dim); font-variant-numeric: tabular-nums; font-size: .8rem; }
        .wn-v61-news__txt { flex: 0 0 auto; color: var(--c-text); }
        .wn-v61-news__badge { flex: 0 0 auto; font-size: .68rem; font-weight: 800; color: #fff; padding: 2px 8px; border-radius: 999px; }
        .wn-v61-news__badge--fix  { background: #C20E0E; }
        .wn-v61-news__badge--info { background: var(--c-accent); }
        .wn-v61-news__badge--blog { background: var(--c-ink); }
        @keyframes wn-v61-news { from { transform: translateX(0); } to { transform: translateX(-50%); } }
        @media (prefers-reduced-motion: reduce) { .wn-v61-news__track { animation: none; } .wn-v61-news { overflow-x: auto; } }
        @media (max-width: 600px) {
          .wn-v61-news { border-radius: 10px; }
          .wn-v61-news__item { gap: .45rem; padding: .62rem .9rem; font-size: .78rem; }
          .wn-v61-news time { font-size: .74rem; }
          .wn-v61-news__badge { font-size: .64rem; padding: 2px 7px; }
        }

        /* ---- HERO 2カラム + 写真 ---- */
        .wn-v61-hero__inner { display: grid; grid-template-columns: 1fr; gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
        @media (min-width: 880px) { .wn-v61-hero__inner { grid-template-columns: 1.35fr .65fr; } }
        .wn-v61-hero .wn-hero-title { max-width: min(100%, 13.2em); letter-spacing: 0; }
        .wn-v61-hero .wn-hero-title__lead,
        .wn-v61-hero .wn-hero-title em { display: block; }
        .wn-v61-hero .wn-hero-title em { white-space: nowrap; font-size: clamp(1.72rem, 8.15vw, 1em); line-height: 1.08; }
        .wn-v61-hero__photo {
          --wn-hero-plate-bg: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,250,255,.9));
          --wn-hero-plate-border: rgba(255,255,255,.78);
          --wn-hero-plate-shadow: 0 30px 70px -34px rgba(15,30,90,.56), 0 10px 24px -18px rgba(242,107,34,.38), inset 0 1px 0 rgba(255,255,255,.88);
          --wn-hero-plate-shadow-hover: 0 36px 78px -34px rgba(15,30,90,.62), 0 14px 30px -20px rgba(242,107,34,.45), inset 0 1px 0 rgba(255,255,255,.9);
          --wn-hero-layer-a: linear-gradient(135deg, rgba(27,37,71,.12), rgba(242,107,34,.08));
          --wn-hero-layer-b: rgba(255,255,255,.42);
          --wn-hero-layer-border: rgba(255,255,255,.68);
          --wn-hero-layer-shadow: 0 24px 56px -34px rgba(15,30,90,.42);
          margin: 0;
          justify-self: center;
        }
        .wn-v61-hero__plate { display: block; width: max-content; max-width: 100%; }
        .wn-v61-hero__photo img { display: block; width: clamp(150px, 26vw, 260px); height: clamp(150px, 26vw, 260px); border-radius: 50%; object-fit: cover; object-position: center top; border: 5px solid var(--c-paper); box-shadow: 0 18px 44px -16px rgba(15,30,90,.45), 0 0 0 1px var(--c-border); }
        html[data-theme="dark"] .wn-v61-hero__photo {
          --wn-hero-plate-bg: linear-gradient(180deg, rgba(248,250,255,.94), rgba(229,236,248,.84));
          --wn-hero-plate-border: rgba(255,255,255,.42);
          --wn-hero-plate-shadow: 0 34px 74px -36px rgba(0,0,0,.72), 0 14px 30px -22px rgba(242,107,34,.3), inset 0 1px 0 rgba(255,255,255,.65);
          --wn-hero-plate-shadow-hover: 0 40px 84px -38px rgba(0,0,0,.78), 0 18px 34px -24px rgba(242,107,34,.36), inset 0 1px 0 rgba(255,255,255,.72);
          --wn-hero-layer-a: linear-gradient(135deg, rgba(87,106,160,.24), rgba(242,107,34,.14));
          --wn-hero-layer-b: rgba(232,238,247,.08);
          --wn-hero-layer-border: rgba(232,238,247,.18);
          --wn-hero-layer-shadow: 0 28px 60px -34px rgba(0,0,0,.68);
        }
        @media (min-width: 880px) {
          .wn-v61-hero__photo {
            position: relative;
            isolation: isolate;
            display: grid;
            place-items: center;
            width: min(100%, clamp(260px, 30vw, 420px));
            aspect-ratio: 1;
            overflow: visible;
          }
          .wn-v61-hero__plate {
            position: relative;
            z-index: 1;
            display: grid;
            place-items: center;
            box-sizing: border-box;
            width: 100%;
            height: 100%;
            padding: clamp(.55rem, 1.25vw, .9rem);
            border: 1px solid var(--wn-hero-plate-border);
            border-radius: 8px;
            background: var(--wn-hero-plate-bg);
            box-shadow: var(--wn-hero-plate-shadow);
            overflow: hidden;
            transform: rotate(-.8deg);
            transition: transform .28s var(--ease, ease), box-shadow .28s var(--ease, ease);
          }
          .wn-v61-hero__photo::before,
          .wn-v61-hero__photo::after {
            content: "";
            position: absolute;
            z-index: 0;
            border: 1px solid var(--wn-hero-layer-border);
            border-radius: 8px;
            pointer-events: none;
	          }
	          .wn-v61-hero__photo::before {
	            inset: clamp(1.15rem, 2.6vw, 1.65rem) clamp(-.95rem, -1.2vw, -.45rem) clamp(-1.65rem, -2.7vw, -1rem) clamp(.55rem, 1.3vw, .85rem);
	            background: var(--wn-hero-layer-a);
	            box-shadow: var(--wn-hero-layer-shadow);
	            transform: translateY(.72rem) rotate(2.2deg);
	          }
	          .wn-v61-hero__photo::after {
	            inset: clamp(-1.65rem, -2.7vw, -1rem) clamp(.55rem, 1.3vw, .85rem) clamp(1.15rem, 2.6vw, 1.65rem) clamp(-.95rem, -1.2vw, -.45rem);
	            background: var(--wn-hero-layer-b);
	            box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
	            transform: translateY(-.72rem) rotate(-2deg);
	          }
          .wn-v61-hero__photo img {
            position: relative;
            z-index: 1;
            width: 100%;
            height: 100%;
            box-sizing: border-box;
            padding: 0;
            border: 0;
            border-radius: 0;
            background: transparent;
            object-fit: contain;
            object-position: center;
            box-shadow: none;
            transform: translateY(.18rem) scale(1.09);
            transform-origin: 50% 56%;
            transition: transform .28s var(--ease, ease);
          }
          .wn-v61-hero__photo:hover .wn-v61-hero__plate {
            box-shadow: var(--wn-hero-plate-shadow-hover);
            transform: translateY(-3px) rotate(-.45deg);
          }
          .wn-v61-hero__photo:hover img {
            transform: translateY(.08rem) scale(1.105);
          }
          @supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
            .wn-v61-hero__photo::before,
            .wn-v61-hero__photo::after,
            .wn-v61-hero__plate {
              -webkit-backdrop-filter: blur(14px) saturate(130%);
              backdrop-filter: blur(14px) saturate(130%);
            }
          }
        }
        .wn-v61-hero .wn-btn-ghost { color: var(--c-ink, #1B2547) !important; background: rgba(255,255,255,.92); border-color: rgba(27,37,71,.24); box-shadow: 0 10px 28px -18px rgba(15,30,90,.42); }
        .wn-v61-hero .wn-btn-ghost:hover { color: #fff !important; background: var(--c-ink, #1B2547); border-color: var(--c-ink, #1B2547); }

        /* モバイル/狭幅（1カラム時）: [2026-09-17] キャラクターを文字の背面に置かず、文章と情報行の下に円形で置く
           （web-navigator-qa/guidelines.md 7.）。スクロール視差の移動も止め、動く範囲が文字に重ならないようにする。 */
        @media (max-width: 879.98px) {
          .wn-v61-hero__photo { justify-self: center; transform: none !important; }
          .wn-v61-hero__photo img { width: clamp(140px, 40vw, 200px); height: clamp(140px, 40vw, 200px); }
          .wn-v61-hero__inner { position: relative; z-index: 1; }
        }

        /* ---- HOME BANNERS ---- */
        .wn-v61-banners { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(.6rem, 1.6vw, 1rem); }
        .wn-v61-banner { display: grid; align-content: center; gap: .3rem; aspect-ratio: 16/6; padding: clamp(1rem, 3vw, 1.75rem); border-radius: var(--r-lg, 16px); color: #fff; text-decoration: none; box-shadow: var(--shadow-2); transition: transform var(--dur,.2s) var(--ease,ease), box-shadow var(--dur,.2s) var(--ease,ease); }
        .wn-v61-banner:hover { transform: translateY(-3px); box-shadow: var(--shadow-3); }
        .wn-v61-banner--store { background: linear-gradient(135deg, #283464, #1B2547); }
        .wn-v61-banner--coconala { background: linear-gradient(135deg, var(--c-accent), var(--c-accent-deep)); }
        .wn-v61-banner__label { font-size: .72rem; font-weight: 800; letter-spacing: .1em; opacity: .85; }
        .wn-v61-banner__title { font-size: clamp(1.05rem, 2vw, 1.4rem); font-weight: 800; line-height: 1.35; color: #fff; }
        .wn-v61-banner__sub { font-size: .82rem; opacity: .92; }
        @media (max-width: 560px) {
          .wn-v61-banners { gap: .85rem; }
          .wn-v61-banner { aspect-ratio: auto; min-height: 136px; align-content: start; padding: 1rem .85rem; gap: .42rem; overflow: visible; }
          .wn-v61-banner__label { font-size: .66rem; line-height: 1.25; }
          .wn-v61-banner__title { font-size: .92rem; line-height: 1.42; }
          .wn-v61-banner__sub { font-size: .72rem; line-height: 1.48; }
        }
        @media (max-width: 340px) {
          .wn-v61-banners { grid-template-columns: 1fr; }
          .wn-v61-banner { min-height: 112px; }
        }

        /* ---- PHILOSOPHY（はみ出し対策: 折返し堅牢化 + 上揃え） ---- */
        .wn-v61-philgrid { align-items: stretch; }
        .wn-v61-phil { gap: .5rem; justify-content: flex-start; }
        .wn-v61-phil__en { font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c-accent); }
        .wn-v61-phil .wn-svc-body { overflow-wrap: anywhere; word-break: normal; flex: 0 1 auto; }

        /* ---- 中央 CTA 行 ---- */
        .wn-v61-center-cta { text-align: center; margin: clamp(1.5rem, 3vw, 2.25rem) 0 0; }

        /* ---- NETWORK 今ここ ---- */
        .wn-v61-net__dom { font-size: .72em; font-weight: 700; color: var(--c-text-dim); margin-left: .35rem; }
        .wn-v61-net--here { border-color: var(--c-accent); background: linear-gradient(135deg, var(--c-accent-soft, #FFE2D2), transparent 70%); }
        .wn-v61-net__now { font-size: .72rem; font-weight: 800; letter-spacing: .08em; color: var(--c-accent); }

        /* ---- ABOUT compact ---- */
        .wn-v61-about { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1rem, 2.5vw, 1.75rem); background: var(--c-paper); border: 1px solid var(--c-border); border-radius: var(--r-lg, 16px); padding: clamp(1rem, 2.5vw, 1.5rem); }
        .wn-v61-about__photo { margin: 0; }
        .wn-v61-about__photo img { display: block; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: center top; border: 2px solid var(--c-paper); box-shadow: var(--shadow-2); }
        .wn-v61-about__name { margin: 0 0 .35rem; font-weight: 800; color: var(--c-ink); }
        .wn-v61-about__name span { font-weight: 600; font-size: .85em; color: var(--c-text-mute); }
        .wn-v61-about__bio { margin: 0; font-size: .9rem; line-height: 1.8; color: var(--c-text-mute); }
        .wn-v61-about__btn { white-space: nowrap; }
        @media (max-width: 700px) { .wn-v61-about { grid-template-columns: auto 1fr; } .wn-v61-about__btn { grid-column: 1 / -1; justify-self: start; } }

        /* ---- SERVICES 価格/バッジ/緊急 ---- */
        .wn-v61-svcgrid .wn-svc { gap: .65rem; }
        .wn-v61-svc__price { font-weight: 800; color: var(--c-ink); font-variant-numeric: tabular-nums; margin-top: auto; }
        .wn-v61-svc__badge { font-size: .68rem; font-weight: 800; color: #C20E0E; background: rgba(194,14,14,.08); padding: 2px 8px; border-radius: 999px; margin-left: .35rem; white-space: nowrap; }
        .wn-v61-svc--emergency { border-color: rgba(194,14,14,.35); }
        .wn-v61-svc--emergency .wn-svc-icon { background: rgba(194,14,14,.08); color: #C20E0E; }

        /* ---- CONTACT タグ色 / SLA ---- */
        .wn-v61-tag--emergency { color: #fff; background: #C20E0E; }
        .wn-v61-tag--mail { color: #fff; background: var(--c-ink); }
        .wn-v61-sla { margin: clamp(1rem,2vw,1.5rem) auto 0; max-width: 760px; padding: .85rem 1.1rem; font-size: .82rem; line-height: 1.7; color: var(--c-text-mute); background: var(--c-paper); border: 1px solid var(--c-border); border-radius: var(--r, 12px); text-align: center; }

        /* ============================================================
           DESIGN POLISH — 余白 / テキスト配置 / カード間隔 / 充実度
           ============================================================ */
        /* カード間隔をゆとりある値に（行間・列間） */
        .wn-v61-root .wn-services, .wn-v61-root .wn-cases { gap: clamp(1.1rem, 1.8vw, 1.75rem); }
        .wn-v61-banners { gap: clamp(.75rem, 1.6vw, 1.25rem); }
        /* セクション見出しブロックと本体の間に余白 */
        .wn-v61-root .wn-section-center { margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
        .wn-v61-root .wn-section-lede { max-width: 62ch; }
        /* カード内：要素を呼吸させ、本文の可読性を上げる */
        .wn-v61-root .wn-svc { gap: .85rem; }
        .wn-v61-root .wn-svc-body { line-height: 1.9; }
        /* サービスカードの補足（充実度） */
        .wn-v61-svc__feat { display: flex; flex-wrap: wrap; gap: .35rem .5rem; margin: 0; padding: 0; list-style: none; }
        .wn-v61-svc__feat li { font-size: .72rem; font-weight: 600; color: var(--c-text-mute); background: var(--c-mist); border: 1px solid var(--c-border-soft); border-radius: 999px; padding: 3px 9px; }
        /* 中央 CTA まわりの余白 */
        .wn-v61-center-cta { margin-top: clamp(1.75rem, 3.5vw, 2.75rem); }

        /* ---- ダークモード補正 ---- */
        html[data-theme="dark"] .wn-v61-news,
        html[data-theme="dark"] .wn-v61-about,
        html[data-theme="dark"] .wn-v61-sla { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); }
        html[data-theme="dark"] .wn-v61-news__txt,
        html[data-theme="dark"] .wn-v61-about__bio { color: #e8e8e8; }
        /* ダーク: タグ chip / カード文字のコントラスト確保 */
        html[data-theme="dark"] .wn-v61-root .wn-case-tag { background: rgba(242,107,34,.22); color: #ffb37a; }
        html[data-theme="dark"] .wn-v61-root .wn-v61-tag--emergency { background: #e23b3b; color: #fff; }
        html[data-theme="dark"] .wn-v61-root .wn-v61-tag--mail { background: #4a5a85; color: #fff; }
        html[data-theme="dark"] .wn-v61-root .wn-svc-title,
        html[data-theme="dark"] .wn-v61-root .wn-case-title { color: #f4f4f4; }
        html[data-theme="dark"] .wn-v61-root .wn-svc-body,
        html[data-theme="dark"] .wn-v61-root .wn-case-symptom { color: #c7cddb; }
        html[data-theme="dark"] .wn-v61-svc__feat li { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.14); color: #c7cddb; }
        html[data-theme="dark"] .wn-v61-svc__badge { color: #ff9a9a; background: rgba(226,59,59,.16); }
        html[data-theme="dark"] .wn-v61-net__dom { color: #9aa6c2; }

        /* ホバーで文字が消えるバグ修正: バナー（a要素）はホバーでも白文字を維持 */
        .wn-v61-root .wn-v61-banner:hover,
        .wn-v61-root .wn-v61-banner:hover .wn-v61-banner__title,
        .wn-v61-root .wn-v61-banner:hover .wn-v61-banner__label,
        .wn-v61-root .wn-v61-banner:hover .wn-v61-banner__sub { color: #fff; }

        /* ============================================================
           Voice 引用 — 代表的なお声（HERO / TRUST / CONTACT に配置）
           実顧客許諾済 Voice に差し替え可能な共通スタイル。
           ============================================================ */
        .wn-v61-root .wn-v61-voice {
            margin: 1.25rem 0 0;
            padding: .85rem 1.1rem;
            background: rgba(255, 111, 61, .06);
            border-left: 3px solid var(--c-accent, #F26B22);
            border-radius: 6px;
            max-width: 560px;
        }
        .wn-v61-root .wn-v61-voice__label {
            display: inline-block;
            margin-bottom: .35rem;
            padding: 2px 8px;
            font-size: .68rem;
            font-weight: 700;
            letter-spacing: .08em;
            color: #fff;
            background: var(--c-accent, #F26B22);
            border-radius: 3px;
            line-height: 1.4;
        }
        .wn-v61-root .wn-v61-voice__text {
            margin: 0 0 .3rem;
            font-size: .92rem;
            line-height: 1.75;
            color: var(--c-text, #2a2f3a);
            font-style: italic;
        }
        .wn-v61-root .wn-v61-voice__by {
            margin: 0;
            font-size: .78rem;
            color: var(--c-text-mute, rgba(0,0,0,.55));
            text-align: right;
        }
        /* TRUST 内では中央寄せ + 全幅 */
        .wn-v61-root .wn-v61-voice--trust {
            margin: 1.5rem auto 0;
            max-width: 720px;
        }
        /* CONTACT 内では SLA 直後の補助情報として */
        .wn-v61-root .wn-v61-voice--contact {
            margin: 1.25rem auto 0;
            max-width: 720px;
        }
        /* ダークモード */
        html[data-theme="dark"] .wn-v61-root .wn-v61-voice {
            background: rgba(255, 111, 61, .12);
        }
        html[data-theme="dark"] .wn-v61-root .wn-v61-voice__text { color: #d6dae3; }
        html[data-theme="dark"] .wn-v61-root .wn-v61-voice__by { color: rgba(255,255,255,.6); }
        /* モバイル */
        @media (max-width: 600px) {
            .wn-v61-root .wn-v61-voice {
                padding: .75rem .9rem;
                margin-top: 1rem;
            }
            .wn-v61-root .wn-v61-voice__text { font-size: .87rem; }
        }

/* [2026-09-19] Hero decision facts panel
   Turn the three post-CTA bullets into a compact, scannable information panel. */
.wn-v61-root .wn-v61-hero .wn-hero-actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin-top: 1.5rem;
}
.wn-v61-root .wn-v61-hero .wn-hero-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 720px;
  margin: .65rem 0 0;
  padding: .1rem .75rem;
  color: var(--c-text-mute);
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(27,37,71,.12);
  border-radius: 14px;
  box-shadow: 0 14px 34px -26px rgba(15,30,90,.42);
  backdrop-filter: blur(10px);
}
.wn-v61-root .wn-v61-hero .wn-hero-facts > li {
  display: block;
  margin: 0;
  padding: .2rem 0;
  font-size: .78rem;
  line-height: 1.45;
}
.wn-v61-root .wn-v61-hero .wn-hero-facts > li + li { border-top: 1px solid rgba(27,37,71,.09); }
.wn-v61-root .wn-v61-hero .wn-hero-facts__value { display: inline; min-width: 0; }
.wn-v61-root .wn-v61-hero .wn-hero-facts__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.35rem;
  min-height: 1.5rem;
  margin: 0;
  padding: .15rem .4rem;
  color: var(--c-ink);
  background: var(--c-mist);
  border: 1px solid var(--c-border);
  border-radius: 7px;
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.35;
  margin-right: .65rem;
  vertical-align: middle;
}
.wn-v61-root .wn-v61-hero .wn-hero-facts > li:first-child .wn-hero-facts__label { color: #9A3E12; background: #FFF1E8; border-color: #F5C9AE; }
.wn-v61-root .wn-v61-hero .wn-hero-facts > li:nth-child(2) .wn-hero-facts__label { color: #264B7A; background: #EDF4FF; border-color: #C9D9EF; }
.wn-v61-root .wn-v61-hero .wn-hero-facts > li:nth-child(3) .wn-hero-facts__label { color: #17603C; background: #EAF8F0; border-color: #BDE3CD; }
.wn-v61-root .wn-v61-hero .wn-hero-facts a { color: var(--c-ink); font-weight: 700; text-decoration-thickness: 1px; }
html[data-theme="dark"] .wn-v61-root .wn-v61-hero .wn-hero-facts {
  color: rgba(232,238,247,.86);
  background: rgba(15,22,38,.76);
  border-color: rgba(232,238,247,.16);
  box-shadow: 0 18px 38px -28px rgba(0,0,0,.8);
}
html[data-theme="dark"] .wn-v61-root .wn-v61-hero .wn-hero-facts > li + li { border-top-color: rgba(232,238,247,.12); }
html[data-theme="dark"] .wn-v61-root .wn-v61-hero .wn-hero-facts a { color: #E8EEF7; }
@media (max-width: 640px) {
  .wn-v61-root .wn-v61-hero .wn-hero-actions { display: grid !important; grid-template-columns: 1fr; width: 100%; gap: .6rem; }
  .wn-v61-root .wn-v61-hero .wn-hero-actions .wn-btn { width: 100%; }
  .wn-v61-root .wn-v61-hero .wn-hero-facts { padding: .1rem .7rem; border-radius: 12px; }
  .wn-v61-root .wn-v61-hero .wn-hero-facts > li { padding: .2rem 0; font-size: .78rem; }
  .wn-v61-root .wn-v61-hero .wn-hero-facts__label { width: 3rem; }
}
