/* persc-system.css — PERSC共通デザインCSS（実行時注入していた部品スタイルを1か所に集約）。
   doc47準拠: 直値hex / 絵文字なし。site.js が動的注入する部品(.c-bizBanner/.pgflow)、
   焼き込みCTAボタン、reCAPTCHA残骸隠しをここで一元管理。余白スケール: section gap = 48px(SP 32px)。
   全ページ(CleanLayout/PageLayout)で読み込む。 */

/* ===== 余白スケール（共通トークン的に利用） ===== */
:root { --persc-gap: 48px; --persc-gap-sp: 32px; }

/* ===== 法人バナー（site.jsが /business/ への画像バナーを各所に注入） ===== */
.c-bizBanner { display:block; max-width:1100px; margin:48px auto !important; line-height:0; border-radius:14px; overflow:hidden; box-shadow:0 6px 20px rgba(20,24,27,.14); transition:transform .2s, box-shadow .2s; }
.c-bizBanner:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(20,24,27,.2); }
.c-bizBanner img { width:100%; height:auto; display:block; }
@media (max-width:680px){ .c-bizBanner { margin:32px auto !important; border-radius:10px; max-width:92%; } }

/* ===== 受講フロー（site.jsがFLOW節を5ステップに差替。元デザイン踏襲＝ダーク地に白カード＋丸画像） ===== */
.pgflow { max-width:920px; margin:0 auto; padding:8px 20px; }
/* 見出しはBENEFITS等のセクション見出しと同じ＝ダーク地に白の大見出し＋英字。
   焼き込みh2のティールバー(背景/余白/擬似)を!importantで打ち消す。 */
.pgflow__head { display:flex; flex-direction:column; align-items:center; text-align:center; margin:0 0 32px; }
/* 他のセクション見出しと同サイズ＝2.25em(root15px時33.75px)。焼き込みの見出しクラスは
   ページ毎の機械名(_t169/_t136)で横断流用できないため、同じ 2.25rem を当てて見た目を一致させる。 */
.pgflow__ttl { margin:0 !important; font-size:2.25em !important; font-weight:700 !important; color:#ffffff !important; background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important; line-height:1.4 !important; }
.pgflow__ttl::before, .pgflow__ttl::after { display:none !important; content:none !important; }
.pgflow__en { display:block; color:#ffc224; font-weight:700; letter-spacing:.12em; font-size:.95rem; margin-top:6px; }
.pgflow__list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.pgflow__item { background:#ffffff; border-radius:14px; padding:26px 30px; display:flex; align-items:center; gap:26px; }
.pgflow__b { flex:1 1 auto; }
.pgflow__no { color:#137680; font-weight:700; font-size:.92rem; letter-spacing:.05em; }
.pgflow__t { display:block; font-size:1.22rem; font-weight:700; color:#14181b; margin:5px 0 8px; }
.pgflow__d { margin:0; font-size:.95rem; line-height:1.85; color:#54606a; }
.pgflow__img { flex:0 0 auto; width:128px; height:128px; border-radius:50%; object-fit:cover; }
@media (max-width:680px){ .pgflow { padding:8px 14px; } .pgflow__ttl { font-size:1.3rem; } .pgflow__item { flex-direction:column-reverse; align-items:flex-start; gap:14px; padding:22px 20px; } .pgflow__img { width:92px; height:92px; } }

/* ===== 焼き込みクリーンページの主要CTAボタン（data-has-icon＋特定href で限定） ===== */
/* 申込系(forms.gle / #priceスクロール) = 塗りティール */
a[data-has-icon="1"][href*="forms.gle/WrZjqDijMRcyatdL6"],
a[data-has-icon="1"][href$="#price"] { display:inline-flex !important; align-items:center; gap:10px; background:#1A93A1 !important; color:#ffffff !important; font-weight:700 !important; font-size:1.05rem !important; line-height:1.4 !important; padding:14px 32px !important; border-radius:10px !important; box-shadow:0 6px 18px rgba(26,147,161,.28) !important; text-decoration:none !important; border:0 !important; transition:background .2s, transform .2s, box-shadow .2s; }
a[data-has-icon="1"][href*="forms.gle/WrZjqDijMRcyatdL6"] span,
a[data-has-icon="1"][href$="#price"] span { color:#ffffff !important; }
a[data-has-icon="1"][href*="forms.gle/WrZjqDijMRcyatdL6"]:hover,
a[data-has-icon="1"][href$="#price"]:hover { background:#137680 !important; transform:translateY(-1px); box-shadow:0 8px 22px rgba(19,118,128,.34) !important; }
/* hero(2カラム)のCTAは各カラム全幅 */
a[data-has-icon="1"][href$="#price"],
a[data-has-icon="1"][href="/line/"] { width:100% !important; justify-content:center !important; }
/* LINE無料相談(ボタン版のみ) = アウトライン */
a[data-has-icon="1"][href="/line/"] { display:inline-flex !important; align-items:center; gap:10px; background:#ffffff !important; color:#137680 !important; font-weight:700 !important; font-size:1.05rem !important; line-height:1.4 !important; padding:14px 30px !important; border-radius:10px !important; border:2px solid #1A93A1 !important; text-decoration:none !important; transition:background .2s, transform .2s; }
a[data-has-icon="1"][href="/line/"] span { color:#137680 !important; }
a[data-has-icon="1"][href="/line/"]:hover { background:#eef7f8 !important; transform:translateY(-1px); }
/* LINE友だち追加ボタン(lin.ee 実リンク) = LINE緑で可視化。移行で無スタイル化し白文字が白背景に不可視だった問題を修正 */
a[href*="lin.ee"] { display:inline-flex !important; align-items:center; justify-content:center; gap:10px; background:#06C755 !important; color:#ffffff !important; font-weight:700 !important; font-size:1.05rem !important; line-height:1.4 !important; padding:14px 30px !important; border-radius:10px !important; text-decoration:none !important; border:0 !important; box-shadow:0 6px 18px rgba(6,199,85,.28) !important; transition:background .2s, transform .2s; }
a[href*="lin.ee"] span { color:#ffffff !important; }
a[href*="lin.ee"] svg { fill:#ffffff !important; color:#ffffff !important; }
a[href*="lin.ee"]:hover { background:#05b34c !important; transform:translateY(-1px); }
/* PRICE表内など data-icon無しのプレーン事前申込リンクもボタン化 */
a[href*="forms.gle/WrZjqDijMRcyatdL6"]:not([data-has-icon]) { display:inline-block !important; background:#1A93A1 !important; color:#ffffff !important; font-weight:700 !important; font-size:.95rem !important; padding:12px 24px !important; border-radius:8px !important; text-decoration:none !important; box-shadow:0 4px 14px rgba(26,147,161,.25) !important; border:0 !important; }
a[href*="forms.gle/WrZjqDijMRcyatdL6"]:not([data-has-icon]):hover { background:#137680 !important; }
@media (max-width:680px){ a[data-has-icon="1"][href*="forms.gle/WrZjqDijMRcyatdL6"], a[data-has-icon="1"][href$="#price"], a[data-has-icon="1"][href="/line/"] { width:100%; justify-content:center; padding:14px 18px !important; } }

/* ===== WP退役で不動作の reCAPTCHA バッジ/iframe 残骸を隠す ===== */
.grecaptcha-badge { display:none !important; }
iframe[title="reCAPTCHA"] { display:none !important; }
