/* pages/linkedin_advertising.css — linkedin.css から自動で分割。このページだけで使う記述 */
.use__fm { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; color: var(--ink-2); }
.use__fm span { margin-right: 6px; }
.use__fm b { font-weight: 400; color: var(--ink); background: var(--white); border: 1px solid var(--ui-line); padding: 4px 12px; border-radius: 999px; }
.fmt__name { font-size: 17px; font-weight: 400; margin-top: 6px; }
.fmt__text { font-size: 13px; color: var(--ink-2); line-height: 1.9; }
.price__main, .price__inc { background: var(--white); border-radius: 10px; padding: clamp(28px, 3vw, 44px); }
.price__label { font-size: 13px; color: var(--ink-2); }
.price__num { font-family: var(--font-en); font-weight: 200; font-size: clamp(64px, 7vw, 96px); line-height: 1; margin-top: 12px; color: var(--li); }
.price__num small { font-family: var(--font-ja); font-size: 18px; font-weight: 400; color: var(--ink); margin: 0 6px; }
.price__rule { font-size: 14px; line-height: 1.9; margin-top: 18px; }
.price__sub { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; }
.price__sub b { font-size: 20px; font-weight: 400; }
.price__sub span { display: block; font-size: 12px; color: var(--ink-2); margin-top: 4px; }
.price__h { font-size: 15px; }
.price__note { font-size: 11px; color: var(--ink-2); line-height: 1.9; margin-top: 24px; }

/* 流れ（5ステップ） */
.steps--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }

@media (max-width: 860px) {
  .steps--5 { grid-template-columns: 1fr; }
}
.sc { position: absolute; inset: 0; font-size: 11px; line-height: 1.5; }
/* 3. 求人 */
.sc--job { padding: 16px; display: grid; align-content: start; gap: 10px; }
.jb__h { font-size: 10px; color: var(--ink-2); display: flex; align-items: center; gap: 6px; }
.jb__t { font-size: 13px; font-weight: 500; }
.jb__c { font-size: 10px; color: var(--ink-2); }
.jb__match { display: flex; align-items: center; gap: 8px; font-size: 10px; color: var(--ink-2); }
.jb__match b { font-family: var(--font-en); font-weight: 500; color: #057642; }
.jb__btn { justify-self: start; background: var(--li); color: #fff; border-radius: 999px; padding: 4px 14px; font-size: 10px; }
/* 4. フォーム */
.sc--form { padding: 16px 18px; display: grid; align-content: start; gap: 7px; }
.lf__h { font-size: 11px; font-weight: 500; }
.lf__f { background: #fff; border: 1px solid #d6dde5; border-radius: 6px; padding: 4px 8px; min-height: 34px; }
.lf__f small { display: block; font-size: 8px; color: var(--ink-2); }
.sc-type { font-size: 11px; }
.sc-type::after { content: ""; display: inline-block; width: 1px; height: 11px; background: var(--li); margin-left: 1px; vertical-align: -1px; opacity: 0; }
.sc-type.is-typing::after { opacity: 1; }
.lf__btn { justify-self: start; background: var(--li); color: #fff; border-radius: 999px; padding: 4px 18px; font-size: 10px; transition: transform .15s; }
.lf__btn.is-press { transform: scale(.9); background: #004182; }
.lf__done { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(238, 243, 248, .94); font-size: 14px; color: #057642; opacity: 0; transition: opacity .3s; }
.lf__done.is-on { opacity: 1; }

/* ---------- 広告：ファーストビュー（条件で絞られていく） ---------- */
.th { position: relative; padding: 16px 0; display: grid; }
.th__panel { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 30px 70px rgba(10, 52, 102, .14); width: min(440px, 100%); }
.th__h { font-size: 12px; color: var(--ink-2); }
.th__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; min-height: 64px; align-content: flex-start; }
.th__chips li { font-size: 12px; padding: 5px 12px; border-radius: 999px; background: var(--li); color: #fff; opacity: 0; transform: translateY(6px) scale(.9); transition: opacity .35s, transform .35s var(--ease); }
.th__chips li.is-on { opacity: 1; transform: none; }
.th__dots { display: grid; grid-template-columns: repeat(16, 1fr); gap: 6px; margin-top: 14px; }
.th__dots i { aspect-ratio: 1; border-radius: 50%; background: #d6dbe1; transition: background .4s, transform .4s, opacity .4s; }
.th__dots i.is-out { opacity: .18; transform: scale(.6); }
.th__dots i.is-hit { background: var(--li); transform: scale(1.15); }
.th__out { display: flex; align-items: baseline; gap: 6px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.th__out span { font-size: 12px; color: var(--ink-2); margin-right: auto; }
.th__num { font-family: var(--font-en); font-weight: 300; font-size: 30px; color: var(--li); font-variant-numeric: tabular-nums; }
.th__out small { font-size: 12px; }
.th__ad { position: relative; justify-self: end; margin-top: -18px; width: 250px; background: #0b1f33; color: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 20px 40px rgba(10, 52, 102, .3); opacity: 0; transform: translateY(16px); transition: opacity .5s, transform .5s var(--ease); }
.th__ad.is-on { opacity: 1; transform: none; }
.th__live { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #70b5f9; }
.th__live i { width: 7px; height: 7px; border-radius: 50%; background: #70b5f9; animation: nw-pulse 1.6s infinite; }
.th__t { font-size: 13px; line-height: 1.6; margin-top: 8px; }
.th__btn { display: inline-block; margin-top: 10px; font-size: 11px; border: 1px solid rgba(255,255,255,.6); border-radius: 999px; padding: 3px 12px; }

/* ---------- 使い方：採用（候補者の動き） ---------- */
.rj { width: min(420px, 100%); display: grid; gap: 14px; position: relative; }
.rj::before { content: ""; position: absolute; left: 15px; top: 20px; bottom: 20px; width: 2px; background: #d6dde5; }
.rj__s { display: grid; grid-template-columns: 32px 1fr; gap: 14px; align-items: center; opacity: .25; transition: opacity .4s; position: relative; }
.rj__s.is-on { opacity: 1; }
.rj__n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #fff; border: 2px solid #d6dde5; font-family: var(--font-en); font-size: 13px; transition: background .3s, color .3s, border-color .3s; }
.rj__s.is-on .rj__n { background: var(--li); border-color: var(--li); color: #fff; }
.rj__s b { display: block; font-size: 14px; font-weight: 500; margin-bottom: 6px; }
.rj__ui { display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 8px; padding: 10px 12px; font-size: 12px; box-shadow: 0 6px 16px rgba(10, 52, 102, .08); }
.rj__play { width: 26px; height: 18px; border-radius: 3px; background: linear-gradient(135deg, #2b4f7a, #0f1b2a); flex: none; }
.rj__follow { position: relative; display: inline-grid; }
.rj__follow em { grid-area: 1 / 1; font-style: normal; padding: 3px 12px; border-radius: 999px; border: 1px solid var(--li); color: var(--li); transition: opacity .3s; }
.rj__follow em + em { background: var(--li); color: #fff; opacity: 0; }
.rj__s.is-done .rj__follow em:first-child { opacity: 0; }
.rj__s.is-done .rj__follow em + em { opacity: 1; }
.rj__ui--msg { justify-content: space-between; }
.rj__ui--msg i { font-style: normal; font-size: 10px; color: #057642; border: 1px solid #057642; border-radius: 999px; padding: 1px 8px; }

/* ---------- 使い方：営業（成果の流れ） ---------- */
.fn { width: min(440px, 100%); background: #fff; border-radius: 14px; padding: 24px; box-shadow: 0 20px 50px rgba(10, 52, 102, .1); display: grid; gap: 14px; }
.fn__h { font-size: 12px; color: var(--ink-2); }
.fn__row { display: grid; grid-template-columns: 9em minmax(0, 1fr) 4.5em; gap: 10px; align-items: center; font-size: 13px; }
.fn__row i { display: block; height: 22px; border-radius: 0 4px 4px 0; background: #b9d0ea; width: 0; transition: width .9s var(--ease); }
.fn__row--goal i { background: var(--li); }
.fn__row b { font-family: var(--font-en); font-weight: 400; text-align: right; font-size: 16px; font-variant-numeric: tabular-nums; }
.fn__row--goal b { color: var(--li); font-size: 22px; }
.fn.is-on .fn__row i { width: var(--w); }
.fn__note { font-size: 12px; color: var(--ink-2); line-height: 1.8; padding-top: 12px; border-top: 1px solid var(--line); }
@media (max-width: 860px) {
  .th__ad { margin-top: -14px; }
  .th__dots { gap: 4px; }
  .th__ad { width: 200px; }
}

/* ---------- ほかの広告との組み合わせ（LinkedInを中心にした図） ---------- */
.mixw { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.mixw__lead { font-size: var(--fs-h2); font-weight: 300; line-height: 1.6; }
.mixds { position: relative; min-height: 280px; margin-top: 32px; }
.mixd { position: absolute; inset: 0; display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 28px; align-items: center; opacity: 0; transform: translateY(8px); transition: opacity .15s, transform .15s; pointer-events: none; }
.mixd.is-on { opacity: 1; transform: none; transition: opacity .35s .15s, transform .35s .15s var(--ease); }
.mixd__t { border-left: 3px solid var(--li); padding-left: 20px; }
.mixd__use { font-size: 12px; color: var(--li); letter-spacing: .08em; }
.mixd__name { font-size: 20px; margin-top: 6px; }
.mixd__text { font-size: 14px; color: var(--ink-2); line-height: 1.9; margin-top: 8px; }

/* 媒体ごとの広告イメージ（.mm） */
.mm { position: relative; height: 270px; border-radius: 16px; background: var(--white); border: 1px solid var(--ui-line); box-shadow: 0 16px 36px rgba(10, 52, 102, .1); overflow: hidden; font-size: 11px; color: var(--ink); line-height: 1.5; }
.mm__top { display: flex; align-items: center; gap: 8px; padding: 12px 12px 8px; }
.mm__top b { font-weight: 500; font-size: 11px; }
.mm__top em { font-style: normal; color: var(--ink-3, #8a94a0); font-size: 10px; margin-left: auto; }
.mm__av { width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #cfd9e6, #9fb3cc); flex: none; }
.mm__txt { padding: 0 12px 8px; font-size: 11px; }

/* Instagram：写真＋ハート＋ボタン */
.mm--ig .mm__bars { display: flex; gap: 3px; padding: 10px 12px 0; }
.mm--ig .mm__bars i { flex: 1; height: 2px; background: #e3e8ee; border-radius: 2px; position: relative; overflow: hidden; }
.mm--ig .mm__bars i::after { content: ""; position: absolute; inset: 0; background: var(--ink); transform: scaleX(0); transform-origin: left; }
.mixd.is-on .mm--ig .mm__bars i:nth-child(1)::after { animation: mm-bar 1.2s linear forwards; }
.mixd.is-on .mm--ig .mm__bars i:nth-child(2)::after { animation: mm-bar 1.2s 1.2s linear forwards; }
.mixd.is-on .mm--ig .mm__bars i:nth-child(3)::after { animation: mm-bar 1.2s 2.4s linear forwards; }
.mm--ig .mm__photo { position: relative; height: 150px; margin: 0; background: linear-gradient(160deg, #f6d5b8 0%, #e9a98b 40%, #8e7cc3 100%); display: grid; place-items: end start; padding: 10px 12px; color: #fff; font-size: 13px; font-weight: 500; }
.mm--ig .mm__heart { position: absolute; left: 50%; top: 45%; margin: -22px 0 0 -18px; font-style: normal; font-size: 44px; color: #fff; opacity: 0; text-shadow: 0 4px 16px rgba(0,0,0,.2); }
.mixd.is-on .mm--ig .mm__heart { animation: mm-pop 1s 1.1s ease-out forwards; }
.mm--ig .mm__cta { display: flex; justify-content: space-between; margin: 10px 12px; padding: 9px 12px; border-radius: 8px; background: #eef2f6; font-weight: 500; }
.mixd.is-on .mm--ig .mm__cta { animation: mm-cta 3.4s forwards; }

/* Facebook：投稿＋いいねが増える */
.mm--fb .mm__img { height: 120px; background: linear-gradient(135deg, #dfe8f3, #b9cbe0); }
.mm--fb .mm__react { display: flex; align-items: center; gap: 6px; padding: 10px 12px; }
.mm--fb .mm__like { font-size: 13px; }
.mixd.is-on .mm--fb .mm__like { animation: mm-like .6s 1.4s ease-out; }
.mm--fb .mm__num { position: relative; color: var(--ink-2); min-width: 40px; }
.mm--fb .mm__num b { font-weight: 400; }
.mm--fb .mm__num b + b, .mm--x .mm__c2 { position: absolute; left: 0; opacity: 0; }
.mm--x .mm__stats span { position: relative; }
.mm--x .mm__c2 { left: 14px; }
.mixd.is-on .mm--fb .mm__num b:first-child, .mixd.is-on .mm--x .mm__c1 { animation: mm-swap1 2.6s forwards; }
.mixd.is-on .mm--fb .mm__num b + b, .mixd.is-on .mm--x .mm__c2 { animation: mm-swap2 2.6s forwards; }
.mm--fb .mm__btn { margin-left: auto; padding: 5px 10px; border-radius: 6px; background: #eef2f6; font-weight: 500; }

/* TikTok：縦動画 */
.mm--tt { background: #111; color: #fff; border-color: #111; }
.mm--tt .mm__vid { position: absolute; inset: 0; background: radial-gradient(120% 80% at 30% 20%, #3b4a63 0%, #151a22 60%); }
.mixd.is-on .mm--tt .mm__vid { animation: mm-zoom 4s ease-out forwards; }
.mm--tt .mm__side { position: absolute; right: 10px; bottom: 64px; display: grid; gap: 12px; font-style: normal; }
.mm--tt .mm__side i { font-style: normal; font-size: 15px; text-align: center; }
.mixd.is-on .mm--tt .mm__side i:first-child { animation: mm-like .6s 1.2s ease-out; color: #ff4d6d; }
.mm--tt .mm__cap { position: absolute; left: 12px; right: 44px; bottom: 18px; display: grid; gap: 3px; }
.mm--tt .mm__cap em { font-style: normal; font-size: 9px; padding: 1px 6px; border-radius: 3px; background: rgba(255,255,255,.18); justify-self: start; }
.mixd.is-on .mm--tt .mm__cap span { animation: mm-in .5s .4s both; }
.mm__pg { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.2); }
.mm__pg i { position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.mixd.is-on .mm__pg i { animation: mm-bar 4s linear forwards; }

/* YouTube：スキップまでのカウント */
.mm--yt .mm__player { position: relative; height: 150px; background: linear-gradient(135deg, #2c3747, #11161d); display: grid; place-items: center; }
.mm--yt .mm__play { width: 0; height: 0; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent rgba(255,255,255,.85); }
.mm--yt .mm__badge { position: absolute; left: 8px; bottom: 10px; font-size: 9px; padding: 1px 6px; border-radius: 3px; background: #f2c94c; color: #111; font-weight: 600; }
.mm--yt .mm__skip { position: absolute; right: 0; bottom: 10px; color: #fff; font-size: 10px; background: rgba(0,0,0,.6); padding: 6px 10px; }
.mm--yt .mm__skip b { font-weight: 400; display: block; }
.mm--yt .mm__skip b + b { position: absolute; right: 10px; top: 6px; opacity: 0; white-space: nowrap; }
.mixd.is-on .mm--yt .mm__skip b:first-child { animation: mm-swap1 3s forwards; }
.mixd.is-on .mm--yt .mm__skip b + b { animation: mm-swap2 3s forwards; }
.mm--yt .mm__pg i { background: #f2c94c; }
.mm--yt .mm__title { padding: 12px 12px 2px; font-size: 12px; font-weight: 500; }
.mm--yt .mm__sub { padding: 0 12px; color: var(--ink-2); font-size: 10px; }

/* X：拡散で数字が増える */
.mm--x .mm__card { margin: 4px 12px 0; height: 70px; border-radius: 10px; border: 1px solid var(--ui-line); background: linear-gradient(135deg, #eef2f6, #dde5ee); display: grid; place-items: end start; padding: 8px 10px; font-weight: 500; }
.mm--x .mm__stats { display: flex; gap: 22px; padding: 12px 12px 0; color: var(--ink-2); }
.mm--x .mm__stats b { font-weight: 400; }
.mixd.is-on .mm--x .mm__stats span:first-child { animation: mm-rt 3.4s forwards; }
.mm--x .mm__promo { position: absolute; left: 12px; bottom: 12px; font-style: normal; font-size: 10px; color: var(--ink-2); }

/* ChatGPT：質問→回答→スポンサー */
.mm--ai { background: #fafafa; padding: 14px 12px; display: grid; align-content: start; gap: 10px; }
.mm--ai .mm__q { justify-self: end; max-width: 88%; background: #eceef1; border-radius: 12px; padding: 7px 10px; }
.mm--ai .mm__q span { display: block; }
.mixd.is-on .mm--ai .mm__q span { animation: mm-type 1s steps(18) both; }
.mm--ai .mm__a { display: grid; gap: 6px; }
.mm--ai .mm__a i { height: 7px; border-radius: 4px; background: #dfe3e8; }
.mm--ai .mm__a i:nth-child(2) { width: 85%; } .mm--ai .mm__a i:nth-child(3) { width: 60%; }
.mixd.is-on .mm--ai .mm__a i { animation: mm-in .4s both; }
.mixd.is-on .mm--ai .mm__a i:nth-child(1) { animation-delay: 1.2s; }
.mixd.is-on .mm--ai .mm__a i:nth-child(2) { animation-delay: 1.45s; }
.mixd.is-on .mm--ai .mm__a i:nth-child(3) { animation-delay: 1.7s; }
.mm--ai .mm__sp { display: grid; gap: 2px; margin-top: 4px; padding: 10px; border-radius: 10px; background: var(--white); border: 1px solid var(--li); box-shadow: 0 6px 16px rgba(10, 102, 194, .12); }
.mixd.is-on .mm--ai .mm__sp { animation: mm-in .5s 2.3s both; }
.mm--ai .mm__sp em { font-style: normal; font-size: 9px; color: var(--li); }
.mm--ai .mm__sp b { font-weight: 500; }
.mm--ai .mm__sp span { color: var(--ink-2); font-size: 10px; }
@media (prefers-reduced-motion: reduce) { .mixd.is-on .mm *, .mixd.is-on .mm *::after { animation: none !important; } }
.mix__note { margin-top: 12px; font-size: 13px; color: var(--ink-2); }
.orb { position: relative; width: min(480px, 100%); aspect-ratio: 1; justify-self: center; }
.orb__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.orb__ring { fill: none; stroke: #d6dde5; stroke-width: .3; stroke-dasharray: 1 1.4; animation: orb-spin 60s linear infinite; transform-origin: 50px 50px; }
.orb__l { stroke: #d6dde5; stroke-width: .3; transition: stroke .3s, stroke-width .3s; }
.orb__l.is-on { stroke: var(--li); stroke-width: .6; stroke-dasharray: 2 1.5; animation: orb-flow .8s linear infinite; }
.orb__hub { position: absolute; left: 50%; top: 50%; width: 36%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: var(--li); color: #fff; display: grid; place-content: center; text-align: center; gap: 6px; box-shadow: 0 0 0 12px rgba(10, 102, 194, .12), 0 0 0 26px rgba(10, 102, 194, .06), 0 24px 50px rgba(10, 102, 194, .35); }
.orb__hub b { font-family: var(--font-en); font-weight: 400; font-size: clamp(18px, 2vw, 24px); }
.orb__hub span { font-size: 11px; line-height: 1.6; color: rgba(255,255,255,.85); }
.orb__n { position: absolute; transform: translate(-50%, -50%); padding: 10px 18px; border-radius: 999px; background: var(--white); border: 1px solid var(--ui-line); font: inherit; font-family: var(--font-en); font-size: 14px; color: var(--ink); cursor: pointer; box-shadow: 0 8px 20px rgba(10, 52, 102, .08); transition: background .3s, color .3s, border-color .3s, transform .3s var(--ease); white-space: nowrap; }
.orb__n.is-on { background: var(--ink); color: #fff; border-color: var(--ink); transform: translate(-50%, -50%) scale(1.08); }
@media (max-width: 860px) {
  .mixw { grid-template-columns: 1fr; }
  .orb { order: -1; width: min(340px, 100%); }
  .orb__n { padding: 6px 12px; font-size: 12px; }
  .orb__hub span { display: none; }
  .mixds { min-height: 400px; }
  .mixd { grid-template-columns: 1fr; gap: 20px; align-content: start; }
  .mixd .mm { order: 2; width: 240px; justify-self: center; }
  .mixd__name { font-size: 18px; }
}

/* 料金：試算 */
.price__main, .price__inc { border: 1px solid var(--ui-line); }
.price__sub--top { margin: 0 0 28px; padding: 0 0 24px; border-top: 0; border-bottom: 1px solid var(--line); }

/* 料金：費用の例 */
.ex { margin-top: 28px; }
.ex__h { font-size: 13px; color: var(--ink-2); margin-bottom: 10px; }
.ex__list { border-top: 1px solid var(--line); }
.ex__list li { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 13px; color: var(--ink-2); align-items: baseline; }
.ex__list b { font-family: var(--font-en); font-weight: 400; font-size: 18px; color: var(--ink); margin: 0 2px; }
.ex__tot { text-align: right; }
.ex__tot b { color: var(--li); font-size: 20px; }
.ex__note { font-size: 11px; color: var(--ink-2); margin-top: 10px; }
@media (max-width: 600px) { .ex__list b { font-size: 15px; } .ex__tot b { font-size: 16px; } }
.price__all { display: inline-block; margin-top: 12px; padding: 6px 14px; border-radius: 999px; background: var(--li-soft, #e8f1fb); color: var(--li); font-size: 13px; }

/* =========================================================
   LinkedIn広告：ファーストビュー（フィードに出る広告 .lf）
   ========================================================= */
.lf { position: relative; padding: 8px 0 56px; }
.lf__win { position: relative; border-radius: 14px; overflow: hidden; background: #f4f2ee; box-shadow: 0 40px 80px -20px rgba(10, 52, 102, .28), 0 0 0 1px rgba(10, 52, 102, .06); }
.lf__nav { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--white); border-bottom: 1px solid var(--ui-line); }
.lf__nav img { width: 24px; height: auto; }
.lf__search { width: 34%; height: 22px; border-radius: 4px; background: #edf3f8; }
.lf__icons { display: flex; gap: 14px; margin-left: auto; }
.lf__icons i { width: 18px; height: 18px; border-radius: 4px; background: #e3e7eb; }
.lf__body { position: relative; display: grid; grid-template-columns: 26% minmax(0, 1fr); gap: 12px; padding: 14px; height: 360px; }
.lf__side { align-self: start; background: var(--white); border-radius: 8px; overflow: hidden; display: grid; gap: 7px; padding-bottom: 14px; box-shadow: 0 0 0 1px rgba(0,0,0,.05); }
.lf__cover { height: 34px; background: linear-gradient(120deg, #c9d8e7, #a8bfd6); }
.lf__me { width: 40px; height: 40px; border-radius: 50%; margin: -24px auto 0; background: linear-gradient(135deg, #d5dde6, #9fb3c9); border: 2px solid #fff; }
.lf__side > i { height: 6px; border-radius: 3px; background: #e6e9ec; margin: 0 14px; }
.lf__side > i:nth-of-type(2) { margin-right: 30px; }
.lf__view { overflow: hidden; border-radius: 8px; }
.lf__feed { display: grid; gap: 10px; transition: transform 1s var(--ease); }
.lf__post { background: var(--white); border-radius: 8px; padding: 12px; display: grid; gap: 8px; box-shadow: 0 0 0 1px rgba(0,0,0,.05); }
.lf__who { display: flex; align-items: center; gap: 8px; }
.lf__who > span:last-child { display: grid; gap: 4px; flex: 1; }
.lf__who i { height: 6px; width: 40%; border-radius: 3px; background: #e3e7eb; }
.lf__who i + i { width: 25%; }
.lf__av { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, #d5dde6, #a9bccf); flex: none; }
.lf__av--co { border-radius: 6px; background: var(--li); }
.lf__ln { display: block; height: 6px; border-radius: 3px; background: #eceef1; }
.lf__ln--s { width: 60%; }
.lf__post--ad { transition: box-shadow .4s; }
.lf__post--ad.is-on { box-shadow: 0 0 0 2px var(--li), 0 12px 30px rgba(10, 102, 194, .2); }
.lf__post--ad b { font-weight: 500; font-size: 12px; }
.lf__post--ad small { font-size: 10px; color: var(--ink-2); }
.lf__txt { font-size: 12px; line-height: 1.6; }
.lf__img { height: 96px; border-radius: 4px; background: linear-gradient(120deg, #0a66c2, #5aa0e6 60%, #a9d0f5); display: grid; place-items: end start; padding: 10px 12px; color: #fff; font-size: 14px; font-weight: 500; }
.lf__foot { display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: var(--ink-2); }
.lf__foot b { padding: 4px 14px; border-radius: 999px; border: 1px solid var(--li); color: var(--li); font-size: 11px; font-weight: 500; }
.lf__chip { position: absolute; right: -12px; bottom: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; max-width: 330px; padding: 12px 16px; border-radius: 12px; background: var(--white); box-shadow: 0 18px 40px rgba(10, 52, 102, .16); animation: mm-in .5s 3s both; }
.lf__chip span { width: 100%; font-size: 11px; color: var(--ink-2); }
.lf__chip b { font-weight: 400; font-size: 12px; padding: 4px 12px; border-radius: 999px; background: var(--li); color: #fff; }
@media (max-width: 900px) {
  .lf__body { grid-template-columns: 1fr; height: 300px; }
  .lf__side { display: none; }
  .lf__chip { right: 0; left: 24px; max-width: none; }
}
/* 動画・スライド・メッセージ */
.lf__vid { position: relative; height: 120px; border-radius: 4px; background: radial-gradient(120% 90% at 30% 20%, #3d5573, #101820 70%); display: grid; place-items: center; overflow: hidden; }
.lf__play { width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.9); position: relative; transition: opacity .3s; }
.lf__play::after { content: ""; position: absolute; left: 15px; top: 11px; border-style: solid; border-width: 8px 0 8px 12px; border-color: transparent transparent transparent #111; }
.lf__post.is-on .lf__play { opacity: 0; }
.lf__post.is-on .lf__vid { animation: lf-pan 3s linear; }
.lf__time { position: absolute; right: 8px; bottom: 10px; font-size: 10px; color: #fff; background: rgba(0,0,0,.5); padding: 1px 6px; border-radius: 3px; }
.lf__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.25); }
.lf__bar i { position: absolute; inset: 0; background: var(--li); transform: scaleX(0); transform-origin: left; }
.lf__post.is-on .lf__bar i { animation: mm-bar 3s linear forwards; }
.lf__car { overflow: hidden; }
.lf__track { display: flex; gap: 8px; transition: transform .8s var(--ease); }
.lf__card { flex: 0 0 46%; border-radius: 6px; overflow: hidden; box-shadow: 0 0 0 1px rgba(0,0,0,.06); }
.lf__card span { display: block; height: 82px; background: linear-gradient(135deg, #cfe0f2, #7fa9d6); }
.lf__card:nth-child(2) span { background: linear-gradient(135deg, #f3dcc8, #d79c7c); }
.lf__card:nth-child(3) span { background: linear-gradient(135deg, #d5e9dd, #7dbb98); }
.lf__card:nth-child(4) span { background: linear-gradient(135deg, #e2dbf0, #9a86c9); }
.lf__card b { display: block; padding: 6px 8px; font-size: 11px; font-weight: 500; }
.lf__msgic { position: relative; display: grid; place-items: center; background: none !important; color: #8a939c; transition: color .3s; }
.lf__msgic svg { width: 18px; height: 18px; }
.lf__msgic b { position: absolute; right: -3px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: #d93025; border: 1.5px solid #fff; }
.lf.is-msg .lf__msgic { color: var(--ink); }
.lf__msg { position: absolute; top: 14px; right: 14px; bottom: 14px; width: calc(74% - 26px); background: var(--white); border-radius: 8px; box-shadow: 0 18px 40px rgba(10, 52, 102, .18); padding: 0 14px 14px; display: grid; align-content: start; gap: 12px; opacity: 0; transform: translateY(16px); transition: opacity .4s, transform .5s var(--ease); }
.lf.is-msg .lf__msg { opacity: 1; transform: none; }
.lf__mh { margin: 0 -14px; padding: 10px 14px; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 500; }
.lf__msg .lf__who b { font-weight: 500; font-size: 12px; }
.lf__msg .lf__who small { font-size: 10px; color: var(--ink-2); }
.lf__bubble { font-size: 12px; line-height: 1.7; background: #f3f5f8; border-radius: 10px; padding: 10px 12px; }
.lf__mbtns { display: flex; gap: 8px; }
.lf__mbtns b, .lf__mbtns span { font-size: 11px; padding: 6px 14px; border-radius: 999px; }
.lf__mbtns b { background: var(--li); color: #fff; font-weight: 500; }
.lf__mbtns span { border: 1px solid var(--ui-line); color: var(--ink-2); }
.lf__cur { position: absolute; left: 60%; top: 70%; width: 18px; height: 18px; border-radius: 50%; background: rgba(17, 18, 20, .35); border: 2px solid #fff; box-shadow: 0 4px 10px rgba(0,0,0,.2); opacity: 0; z-index: 6; transition: left .9s var(--ease), top .9s var(--ease), opacity .3s, transform .15s; pointer-events: none; }
.lf__cur.is-on { opacity: 1; }
.lf__cur.is-click { transform: scale(.7); }
.lf__kind { position: absolute; left: 50%; top: -14px; transform: translateX(-50%); display: grid; z-index: 7; }
.lf__kind span { grid-area: 1 / 1; justify-self: center; white-space: nowrap; padding: 6px 16px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 12px; opacity: 0; transform: translateY(6px); transition: opacity .3s, transform .4s var(--ease); }
.lf__kind span.is-on { opacity: 1; transform: none; }
.lf__win { overflow: visible; }
.lf__nav { border-radius: 14px 14px 0 0; }
.lf__body { border-radius: 0 0 14px 14px; overflow: hidden; }
@media (max-width: 900px) { .lf__msg { width: auto; left: 14px; } }

/* ターゲティング（条件の一覧＋絞り込みのデモ） */
.tgx { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.tgx__title { font-size: var(--fs-h2); font-weight: 300; line-height: 1.6; }
.tgx__lead { margin-top: 16px; color: var(--ink-2); line-height: 2; font-size: 15px; }
.tgx__h { margin-top: 40px; font-size: 13px; letter-spacing: .1em; color: var(--ink-2); }
.tgx__list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.tgx__list li { padding: 8px 18px; border-radius: 999px; border: 1px solid var(--ui-line); background: var(--white); font-size: 15px; transition: background .3s, color .3s, border-color .3s; }
.tgx__list li.is-on { background: var(--li); border-color: var(--li); color: #fff; }
.tgx__demo { padding-bottom: 24px; }
.tgx__demo .th { padding: 0; }
.tgx__demo .th__panel { width: 100%; }
.tgx__note { margin-top: 24px; font-size: 12px; color: var(--ink-2); }
@media (max-width: 900px) { .tgx { grid-template-columns: 1fr; } }

/* 広告の種類（2つに絞った版） */
.fmts__lead { color: var(--ink-2); line-height: 2; margin: -16px 0 40px; }
.fmts--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 48px); }
.fmts--2 .fmt { grid-row: auto; grid-template-rows: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: center; }
.fmts--2 .fmt__mini { margin: 0; }
.fmts--2 .fmt.is-active .fmt__mini { box-shadow: none; }
.fmts--2 .fmt.is-active .fmt__mini::after { display: none; }
.fmt__use { font-size: 12px; letter-spacing: .1em; color: var(--li); margin-bottom: 8px; }
.fmts--2 .fmt__name { font-size: 22px; }
.fmts--2 .fmt__text { margin-top: 12px; font-size: 14px; line-height: 1.9; color: var(--ink-2); }
@media (max-width: 900px) { .fmts--2 { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .fmts--2 .fmt { grid-template-columns: 1fr; } }

/* 見出しを大きくしたので、本文中の見出しは一段小さく */
.mixw__lead { font-size: clamp(18px, 1.6vw, 22px) !important; }

/* ===== スマホ最適化：Media mix は 本文 → 図（媒体を選ぶ） → 選んだ広告 の順 ===== */
@media (max-width: 600px) {
  .mixw { gap: 28px; }
  .mixw__text { display: contents; }
  .mixw__lead { order: 1; }
  .orb { order: 2; justify-self: center; }
  .mixds { order: 3; margin-top: 0; }
  .mix__note { order: 4; margin-top: -12px; }
}
