/* Fix4（2026-10-14、Owner 統合修正 v01 G04・T04・S01・S04・S05・A01・A02・C02・C04・D02・D04・V01）：用途別のボタン（TOP と全下層で読み込む）。
   原作の確認：21st.dev の公開プレビュー（cdn.21st.dev の bundle）で、要素の構造・class・計算値・ホバー時の変化を確認した（ソースコードは取得していない、
   サンプルの文言・画像は使っていない）。
   1) Interactive Hover Button（@dillionverma）：白・丸・1px の枠（zinc-200 #e4e4e7）・p-2・semibold。濃色の点（左 20%・上 40%・8px・角 8px）が
      ホバーで左上 0・全幅全高・1.8 倍へ広がって全体を塗る。文字は右へ 4px → ホバーで右へ 48px・透明。白い文字＋右矢印の層が右 48px から
      -4px へ入る（300ms）。原作は幅 128px 固定（短い英語）。日本語の文言に合わせて幅は文字に合わせ、点は左の余白の中（左 14px・上下中央）に置く。
      ホバーできる端末はホバー、キーボードは :focus-visible で同じ塗り、タップは :active の間だけ（ホバーの状態は残さない）。訪問後も色は変えない。
   2) ArrowFillButton の色の種類：黒（調査一覧の「詳しく見る」・調査詳細の対象リンク・相談ガイドの「すべて開いて読む」）、反転（「あわせて確認する」・
      中央区の調査項目：通常は白地・オレンジの枠と文字、ホバーで矢印の円からオレンジが広がって全体を塗り、文字は白）。形・高さ・矢印・動きは共通部品のまま。
   3) 連絡CTA（電話・LINE・フォーム）の PC（1024px 以上＝既存の固定CTA を出さない PC の判定）：Rainbow Button（@dillionverma）の構造。
      各ボタンの既存の外形（幅・高さ・余白・角・ヘッダーの並び）は変えない（OfficeFix1 の TOP・ヘッダーは Owner PASS。T04 の「外形まで勝手に原作へ
      置き換えない」）。原作の中の塗り・縁を流れるグラデーション（200% の大きさで 2 秒ごと）・下の光（::before：幅 60%・高さ 20%・ぼかし 0.8rem）を、
      箱の大きさを変えないよう縁は枠ではなく ::after（0.08rem の輪をマスクで切り出す）で描く。虹色は使わず、同じ色の明暗の 5 色：電話＝白（白〜灰）、
      LINE＝緑（#06C755 の明暗）、フォーム＝オレンジ（#FF5F00 の明暗）。電話は Book a Call Button（@jatin-yadav05）の中の構造だけ：アイコン 2 個
      （上が上へ抜け、下から次が入る）・文字が右へ 4px・斜めの光が抜ける。全体にホバーで影が深く・押すと 0.95 倍。モバイル（1023.98px 以下）は既存のまま。 */

/* ---------- 1) Interactive Hover Button ---------- */
.hal-ihb{--ihb-primary:#18181b;--ihb-primary-fg:#fafafa;--ihb-line:#e4e4e7;--ihb-fg:#09090b;--ihb-ease:cubic-bezier(.4,0,.2,1);
  position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;max-width:100%;margin:0;
  padding:8px 24px 8px 34px;overflow:hidden;isolation:isolate;border:1px solid var(--ihb-line);border-radius:9999px;background:#fff;color:var(--ihb-fg);
  font-weight:600;font-size:15px;line-height:1.45;letter-spacing:.02em;text-align:center;text-decoration:none;cursor:pointer;list-style:none;
  -webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;vertical-align:middle}
.hal-ihb::-webkit-details-marker{display:none}
.hal-ihb::marker{content:''}
.hal-ihb .hal-ihb__dot{position:absolute;left:14px;top:calc(50% - 4px);z-index:0;width:8px;height:8px;border-radius:8px;background:var(--ihb-primary);transform:scale(1);
  transition:all .3s var(--ihb-ease);pointer-events:none}
.hal-ihb .hal-ihb__label{position:relative;z-index:1;display:inline-block;transform:translateX(4px);transition:all .3s var(--ihb-ease)}
.hal-ihb .hal-ihb__hover{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 10px;color:var(--ihb-primary-fg);
  opacity:0;transform:translateX(48px);transition:all .3s var(--ihb-ease);pointer-events:none}
.hal-ihb .hal-ihb__hovertext{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hal-ihb .hal-ihb__arrow{flex:0 0 auto;width:18px;height:18px}
/* 塗った状態（ホバー・キーボードのフォーカス・押している間・選択中） */
@media (hover:hover){
  .hal-ihb:hover .hal-ihb__dot{left:0;top:0;width:100%;height:100%;transform:scale(1.8)}
  .hal-ihb:hover .hal-ihb__label{transform:translateX(48px);opacity:0}
  .hal-ihb:hover .hal-ihb__hover{transform:translateX(-4px);opacity:1}
}
.hal-ihb:is(:focus-visible,:active) .hal-ihb__dot,.hal-ihb[aria-current="true"] .hal-ihb__dot{left:0;top:0;width:100%;height:100%;transform:scale(1.8)}
.hal-ihb:is(:focus-visible,:active) .hal-ihb__label,.hal-ihb[aria-current="true"] .hal-ihb__label{transform:translateX(48px);opacity:0}
.hal-ihb:is(:focus-visible,:active) .hal-ihb__hover,.hal-ihb[aria-current="true"] .hal-ihb__hover{transform:translateX(-4px);opacity:1}
/* テーマ（Astra の button・a の状態、各ページの旧規則）の色・下線・影を当てない */
html body .hal-ihb.hal-ihb:is(:link,:visited,:hover,:focus,:focus-visible,:active){background:#fff;color:var(--ihb-fg);border-color:var(--ihb-line);text-decoration:none;box-shadow:none;opacity:1}
html body .hal-ihb.hal-ihb:focus{outline:none}
html body .hal-ihb.hal-ihb:focus-visible{outline:2px solid var(--ihb-primary);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.hal-ihb :is(.hal-ihb__dot,.hal-ihb__label,.hal-ihb__hover){transition:none}}
/* 開閉（<summary>）を開いている間：開いていることが分かるよう濃色の枠 */
html body details[open]>summary.hal-ihb.hal-ihb{border-color:var(--ihb-primary)}

/* ---------- 2) ArrowFillButton：黒・反転（共通部品の色の変数だけを変える。:not(#…) は一致しない id で詳細度を共通規則より上げる） ---------- */
.hal-afb.hal-afb--black:not(#hal-f4-a):not(#hal-f4-b){--btn-bg:#000;--btn-text:#fff;--btn-fill-bg:#fff;--btn-fill-text:#000;--btn-arrow:#000;--afb-focus:#000;border-color:#000}
.hal-afb.hal-afb--black:not(#hal-f4-a):not(#hal-f4-b):is(:hover,:active,:focus,:focus-visible){background:#000;border-color:#000;color:#fff}
.hal-afb.hal-afb--invert:not(#hal-f4-a):not(#hal-f4-b){--btn-bg:#fff;--btn-text:#ff5f00;--btn-fill-bg:#ff5f00;--btn-fill-text:#fff;--btn-arrow:#fff;--afb-focus:#1b1813;border-color:#ff5f00}
.hal-afb.hal-afb--invert:not(#hal-f4-a):not(#hal-f4-b):is(:hover,:active,:focus,:focus-visible){background:#fff;border-color:#ff5f00;color:#ff5f00}
/* <button> のホスト（相談ガイドの「すべて開いて読む」）：大きさは下層の md と同じ */
.hal-lp.hal-sub button.hal-afb.hal-afb--sub-md:not(#hal-f4-a):not(#hal-f4-b){display:inline-flex;--afb-h:46px;--afb-fs:13.5px;--icon-circle:34px;--icon-right:6px;--afb-pad-l:20px;--afb-gap:12px;
  height:auto;min-height:var(--afb-h);font-family:inherit;line-height:1.3;letter-spacing:.03em;white-space:normal;-webkit-appearance:none;appearance:none}
.hal-lp.hal-sub button.hal-afb[hidden]{display:none!important}

/* Fix5（2026-10-14、Owner 指示 v02）：この節は本文の連絡 CTA だけ。ヘッダーの 3 つ（電話・LINE・フォーム）は fix5.css のヘッダー専用の Rainbow へ移した
   （v01 の「ヘッダーを含む全連絡CTA」は撤回）。調査詳細の FV（.hal-sub1-cta--hero）と顧問弁護士の相談導線（.lc-cta-action）は対象から外し、Fix3 の
   ArrowFillButton・白い補助ボタンに戻した（S02・S05）。TOP の調査の流れ・相談ガイド・調査詳細の中間と末尾・料金ページ下部・中央区下部は、
   周囲の光の輪と下の光（::after・::before）だけを fix5.css で外す（P03・S01・S02・S03・S06）。TOP の調査項目の CTA（.hh-cta）はこのまま（P02）。 */
/* ---------- 3) 連絡CTA（PC：1024px 以上）Rainbow Button の構造＋同じ色の明暗。既存の箱の大きさ・角・並びは変えない ---------- */
@keyframes hal-f4-rainbow{0%{background-position:0% center}100%{background-position:200% center}}
@media (min-width:1024px){
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b),
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b),
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b),body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b){
    --rb-fill:#ff5f00;--rb-text:#fff;--rb-c1:#ff5f00;--rb-c2:#ffb27a;--rb-c3:#ff8a3d;--rb-c4:#cc4c00;--rb-c5:#ffd2b0;--rb-ring:transparent;
    position:relative;isolation:isolate;overflow:visible;background:var(--rb-fill);background-image:none;border-color:transparent;color:var(--rb-text);text-decoration:none;
    box-shadow:0 0 0 1px var(--rb-ring),0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);transform:none;opacity:1;cursor:pointer;
    transition:box-shadow .3s cubic-bezier(0,0,.2,1),transform .3s cubic-bezier(0,0,.2,1)}
  /* 縁を流れるグラデーション（原作の 0.08rem の縁。箱の大きさを変えないよう ::after の輪） */
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b)::after,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b)::after,
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b)::after,
  body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b)::after{
    content:'';display:block;position:absolute;inset:0;z-index:2;box-sizing:border-box;padding:calc(.08 * 1rem);border-radius:inherit;pointer-events:none;
    background:linear-gradient(90deg,var(--rb-c1),var(--rb-c5),var(--rb-c3),var(--rb-c4),var(--rb-c2));background-size:200%;animation:hal-f4-rainbow 2s linear infinite;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
  /* 下の光（原作の ::before） */
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b)::before,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b)::before,
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b)::before,
  body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b)::before{
    content:'';display:block;position:absolute;top:auto;right:auto;left:50%;bottom:-20%;z-index:-1;width:60%;height:20%;transform:translateX(-50%);   /* 既存の .hh-cta::before の inset:0 を打ち消す */
    background:linear-gradient(90deg,var(--rb-c1),var(--rb-c5),var(--rb-c3),var(--rb-c4),var(--rb-c2));background-size:200%;filter:blur(calc(.8 * 1rem));
    animation:hal-f4-rainbow 2s linear infinite;pointer-events:none;opacity:1;border:0;border-radius:0}
  /* LINE＝緑 */
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a[href*="lin.ee"]:not(#hal-f4-a):not(#hal-f4-b),body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b){
    --rb-fill:#06c755;--rb-text:#fff;--rb-c1:#06c755;--rb-c2:#8fe8b4;--rb-c3:#3fd47e;--rb-c4:#037a34;--rb-c5:#c7f5da}
  /* 電話＝白（白い地でも形が分かる 1px の灰の輪） */
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a[href^="tel:"]:not(#hal-f4-a):not(#hal-f4-b){
    --rb-fill:#fff;--rb-text:#1b1813;--rb-c1:#ffffff;--rb-c2:#a3a3a3;--rb-c3:#d4d4d4;--rb-c4:#737373;--rb-c5:#e5e5e5;--rb-ring:#d4d4d4}
  /* 状態：テーマ・旧規則の地・文字色・下線・移動を当てない。ホバーは影を深く、押すと縮める（Book a Call の動き。全体に共通） */
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b):is(:hover,:focus,:focus-visible,:active,:visited),
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b):is(:hover,:focus,:focus-visible,:active,:visited),
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b):is(:hover,:focus,:focus-visible,:active,:visited),
  body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b):is(:hover,:focus,:focus-visible,:active,:visited){
    background:var(--rb-fill);background-image:none;border-color:transparent;color:var(--rb-text);text-decoration:none;opacity:1}
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b):hover,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b):hover,
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b):hover,
  body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b):hover{
    box-shadow:0 0 0 1px var(--rb-ring),0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);transform:none}
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b):active,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b):active,
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b):active,
  body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b):active{transform:scale(.95)}
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b):focus-visible,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a:is(.hal-sub1-cta__sub,.hal-sub3-cta__sub):not(#hal-f4-a):not(#hal-f4-b):focus-visible,
  body a.hh-cta:not(#hal-f4-a):not(#hal-f4-b):focus-visible,body #hal-wp-flow a.urgent:not(#hal-f4-a):not(#hal-f4-b):focus-visible{outline:2px solid #1b1813;outline-offset:3px}
  /* ArrowFillButton だったフォームのボタン：PC では Rainbow の中身（文字だけ）。箱の大きさは ArrowFillButton のまま、塗り・矢印の円は出さず、文字を中央に
     （モバイルは従来の ArrowFillButton） */
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b) .afb-deco{display:none}
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b){padding-left:var(--afb-pad-l,24px);padding-right:var(--afb-pad-l,24px);justify-content:center}
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb:not(#hal-f4-a):not(#hal-f4-b) .afb-label{position:relative;z-index:1;color:inherit;transform:none;margin:0 auto;text-align:center}
  /* 電話の中身（Book a Call Button の構造）：アイコン 2 個・文字・光 */
  .hal-bac__icon{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:20px;height:20px;overflow:hidden;color:inherit}
  .hal-bac__i{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease}
  .hal-bac__i svg{width:20px;height:20px}
  .hal-bac__i--2{opacity:0;transform:translateY(18px)}
  a:hover>.hal-bac__icon .hal-bac__i--1{opacity:0;transform:translateY(-18px)}
  a:hover>.hal-bac__icon .hal-bac__i--2{opacity:1;transform:none}
  .hal-bac__label{position:relative;z-index:1;display:inline-block;transition:transform .3s cubic-bezier(0,0,.2,1)}
  a:hover>.hal-bac__label{transform:translateX(4px)}
  .hal-bac__shine{position:absolute;inset:0;z-index:0;overflow:hidden;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s ease}
  .hal-bac__shine::before{content:'';position:absolute;top:0;bottom:0;left:0;width:100%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.35),rgba(255,255,255,0));
    transform:translateX(-100%) skewX(-12deg);transition:transform 1s cubic-bezier(0,0,.2,1)}
  a:hover>.hal-bac__shine{opacity:1}
  a:hover>.hal-bac__shine::before{transform:translateX(100%) skewX(-12deg)}
}
/* モバイル（PC 以外）：電話の 2 個目のアイコン・光・追加のアイコンは出さない（既存の見た目のまま） */
@media (max-width:1023.98px){
  .hal-bac__i--2,.hal-bac__shine,.hal-bac__icon{display:none!important}
  .hal-bac__label{display:inline}
}
@media (prefers-reduced-motion:reduce){
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a,body a.hh-cta,body #hal-wp-flow a.urgent{animation:none!important}
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__actions,.hal-chuo-cta .hal-sub1-cta__actions,.hal-sub3-cta__actions,.hsi-cta,.hal-column__consult)>a.hal-afb::before,
  .hal-lp :is(.hal-sub1-cta:not(.hal-sub1-cta--hero) .hal-sub1-cta__subs,.hal-chuo-cta .hal-sub1-cta__subs,.hal-sub3-cta__subs)>a::before,body a.hh-cta::before,body #hal-wp-flow a.urgent::before{animation:none!important}
  .hal-bac__i,.hal-bac__label,.hal-bac__shine,.hal-bac__shine::before{transition:none!important}
}
