/* =====================================================================
   campaign-hero.css — 販売価格100%買取/MAX20%UP キャンペーンヒーロー
   ・lp-common.css の後に読み込み、ヒーロー(.blp-hero)のみ上書きする
   ・ボタン(.blp-btn / .blp-btn__coupon)等の共有クラスは再利用（再定義しない）
   ・フォントは head.php で Bodoni Moda / Shippori Mincho B1 を読み込み
   ===================================================================== */

:root {
  --camp-foil: linear-gradient(168deg, #fff6d8 0%, #f6da8b 24%, #dcab4e 48%, #b9842c 66%, #f4d886 86%, #cba446 100%);
  --camp-gold-line: linear-gradient(90deg, #e9c46a, #b8842c);
}

/* ===== ベース（PC） ===== */
.blp-hero {
  background: var(--hero-bg-pc) center right / cover no-repeat;
  color: #fff; overflow: hidden; position: relative;
}
.blp-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(95deg, rgba(8,11,18,.96) 0%, rgba(8,11,18,.82) 40%, rgba(8,11,18,.30) 70%, rgba(8,11,18,0) 100%);
}
.blp-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  box-shadow: inset 0 0 140px rgba(0,0,0,.55);
}
.blp-hero__inner {
  position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; padding: 70px 48px;
  display: flex; align-items: center; min-height: 480px;
}
.blp-hero__copy { flex: 1; min-width: 0; max-width: 660px; }
.blp-hero__copy > * { animation: blp-camp-rise .7s both; }
.blp-hero__copy > *:nth-child(1) { animation-delay: .05s; }
.blp-hero__copy > *:nth-child(2) { animation-delay: .14s; }
.blp-hero__copy > *:nth-child(3) { animation-delay: .23s; }
.blp-hero__copy > *:nth-child(4) { animation-delay: .32s; }
.blp-hero__copy > *:nth-child(5) { animation-delay: .40s; }
.blp-hero__copy > *:nth-child(6) { animation-delay: .48s; }
@keyframes blp-camp-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ===== タグ（期間限定 / 〇〇店限定） ===== */
.blp-hero__tags { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; align-items: center; }
.blp-hero .tag-term {
  font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #f0c463; white-space: nowrap;
  border: 1px solid rgba(233,196,106,.55); padding: 6px 13px; border-radius: 2px;
}
.blp-hero .tag-limited {
  position: relative; display: inline-flex; align-items: center; gap: 7px;
  font-family: "Shippori Mincho B1", serif; font-weight: 800; font-size: 16px; letter-spacing: .06em;
  color: #2a1d05; background: var(--camp-foil);
  padding: 7px 20px; border-radius: 2px; box-shadow: 0 4px 16px rgba(184,132,44,.45);
}
.blp-hero .tag-limited::before, .blp-hero .tag-limited::after { content: "❖"; font-size: 10px; color: #6e5012; }

/* ===== 見出し ===== */
.blp-hero__ttl { display: block; line-height: 1; margin-bottom: 20px; font-weight: 700; }
.blp-hero .t-pre {
  display: block; font-family: "Shippori Mincho B1", serif; font-weight: 700;
  font-size: 30px; letter-spacing: .12em; margin-bottom: 4px; color: #f3f4f7;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.blp-hero .t-pre .t-free { margin-right: .5em; }
.blp-hero .t-pre .sm { font-size: .55em; font-weight: 600; letter-spacing: .04em; opacity: .92; }
.blp-hero .t-max {
  display: block; font-family: "Bodoni Moda", serif; font-weight: 800;
  font-size: 30px; letter-spacing: .3em; line-height: 1; margin-bottom: 4px;
  background: var(--camp-foil); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.blp-hero .t-main { position: relative; display: flex; align-items: flex-end; gap: 10px; margin: 2px 0 8px; }
.blp-hero .t-main::before {
  content: ""; position: absolute; left: -6%; top: 8%; width: 62%; height: 90%; z-index: -1;
  background: radial-gradient(ellipse at center, rgba(233,180,80,.28), transparent 68%); filter: blur(8px);
}
.blp-hero .t-pct, .blp-hero .t-up {
  font-family: "Bodoni Moda", serif; font-weight: 900; line-height: .76; letter-spacing: -3px;
  background: var(--camp-foil); background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: drop-shadow(0 6px 22px rgba(217,168,74,.45));
  animation: blp-camp-sheen 7s linear infinite;
}
.blp-hero .t-pct { font-size: 132px; }
.blp-hero .t-pct .sym { font-size: 58px; font-weight: 800; letter-spacing: 0; }
.blp-hero .t-up { font-size: 60px; font-weight: 800; letter-spacing: -1px; padding-bottom: 6px; }
.blp-hero .t-up .ar { font-size: .42em; vertical-align: .42em; margin-right: .04em; }
@keyframes blp-camp-sheen { 0% { background-position: 0% 0; } 100% { background-position: 220% 0; } }
.blp-hero .t-buy {
  font-family: "Shippori Mincho B1", serif; font-weight: 800; font-size: 60px;
  padding-bottom: 12px; color: #fff; text-shadow: 0 3px 16px rgba(0,0,0,.55);
}
.blp-hero .t-camp {
  display: inline-block; font-family: "Shippori Mincho B1", serif; font-weight: 700;
  font-size: 36px; letter-spacing: .1em; position: relative; padding-bottom: 10px;
  color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.5);
}
.blp-hero .t-camp::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background: var(--camp-gold-line);
}

.blp-hero__lead { font-size: 16px; line-height: 1.9; margin: 18px 0 24px; opacity: 1; color: rgba(255,255,255,.9); }
.blp-hero__lead strong { color: #f0c463; font-weight: 700; }
.blp-hero__lead .br-sp { display: none; } /* スマホ専用の改行（PCでは無効）*/

/* ===== 実績ストリップ ===== */
.blp-hero__stats { display: flex; align-items: center; gap: 22px; margin-bottom: 30px; }
.blp-hero__stat { display: flex; flex-direction: column; gap: 3px; }
.blp-hero__stat-n {
  font-family: "Bodoni Moda", serif; font-weight: 800; font-size: 30px; line-height: 1;
  background: var(--camp-foil); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.blp-hero__stat-n small { font-family: inherit; font-size: 13px; -webkit-text-fill-color: #f0c463; color: #f0c463; margin-left: 1px; }
.blp-hero__stat-l { font-size: 11px; letter-spacing: .08em; color: rgba(255,255,255,.7); }
.blp-hero__stat-div { width: 1px; height: 34px; background: rgba(255,255,255,.22); }

/* ===== CTA（共有 .blp-btn を再利用、ヒーロー内のみ微調整） ===== */
.blp-hero .blp-cta-wrap { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; margin-bottom: 28px; }
.blp-hero .blp-btn--shop { background: rgba(255,255,255,.08); color: #fff !important; border-color: rgba(255,255,255,.4); }
.blp-hero .blp-btn--shop:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.6); }
.blp-hero__note { font-size: 12px; color: rgba(255,255,255,.65); margin-top: 12px; opacity: 1; }

/* =====================================================================
   スマホ：縦構図のSP画像 + 中央寄せで再設計
   ===================================================================== */
@media (max-width: 767px) {
  .blp-hero { background: var(--hero-bg-sp) center bottom / cover no-repeat; }
  .blp-hero::before {
    background: linear-gradient(180deg, rgba(8,11,18,.94) 0%, rgba(8,11,18,.78) 38%, rgba(8,11,18,.42) 62%, rgba(8,11,18,.30) 78%, rgba(8,11,18,.62) 100%);
  }
  .blp-hero::after { box-shadow: inset 0 0 90px rgba(0,0,0,.6); }
  .blp-hero__inner { padding: 42px 22px 40px; min-height: 0; display: block; }
  .blp-hero__copy { max-width: 100%; text-align: center; }

  .blp-hero__tags { justify-content: center; margin-bottom: 18px; }
  .blp-hero .tag-term { font-size: 11px; padding: 5px 11px; }
  .blp-hero .tag-limited { font-size: 13px; letter-spacing: .02em; padding: 6px 14px; gap: 5px; }
  .blp-hero .tag-limited::before, .blp-hero .tag-limited::after { font-size: 8px; }

  .blp-hero__ttl { margin-bottom: 18px; }
  .blp-hero .t-pre { font-size: 19px; letter-spacing: .12em; margin-bottom: 2px; }
  .blp-hero .t-max { font-size: 20px; letter-spacing: .32em; margin-bottom: 2px; }
  .blp-hero .t-main { justify-content: center; align-items: flex-end; gap: 7px; margin: 0 0 4px; flex-wrap: nowrap; white-space: nowrap; }
  .blp-hero .t-main::before { left: 50%; transform: translateX(-50%); width: 92%; }
  .blp-hero .t-pct { font-size: 80px; }
  .blp-hero .t-pct .sym { font-size: 37px; }
  .blp-hero .t-up { font-size: 38px; padding-bottom: 4px; }
  .blp-hero .t-buy { font-size: 37px; padding-bottom: 7px; white-space: nowrap; }
  .blp-hero .t-camp { font-size: 24px; letter-spacing: .14em; }

  .blp-hero__lead { font-size: 14px; line-height: 1.85; margin: 14px auto 20px; max-width: 24em; }
  .blp-hero__lead .br-sp { display: inline; } /* スマホは指定位置で改行 */

  .blp-hero__stats { justify-content: center; gap: 16px; margin-bottom: 26px; }
  .blp-hero__stat { align-items: center; }
  .blp-hero__stat-n { font-size: 23px; }
  .blp-hero__stat-div { height: 28px; }

  .blp-hero .blp-cta-wrap { flex-direction: column; align-items: stretch; gap: 32px; }
  .blp-hero .blp-cta-wrap .blp-btn { width: 100%; }
  .blp-hero__note { text-align: center; }
}

/* =====================================================================
   クーポン（横長・低背：左=交通費クーポン／右=併用LINEクーポン）
   ===================================================================== */
.blp-coupon-section { background: #fff; padding: 34px 20px; }
/* このクーポンの container だけ余白を消す（他の .blp-container には影響させない）*/
.blp-coupon-section .blp-container { padding: 0; }
.cp-bar { display: flex; align-items: stretch; justify-content: center; gap: 16px; max-width: 1060px; margin: 0 auto; }

/* ── 左：交通費クーポン（チケット）── */
.cp-ticket {
  position: relative; flex: 1 1 58%; min-width: 0;
  display: flex; align-items: center; gap: 22px; color: #fff;
  background: linear-gradient(135deg, #1a202b 0%, #0b0e15 100%);
  border: 1px solid rgba(233,196,106,.42); border-radius: 14px;
  padding: 14px 26px; box-shadow: 0 12px 34px rgba(10,13,21,.24);
}
.cp-ticket__value { flex: 0 0 auto; }
.cp-ticket__eyebrow {
  display: inline-block; font-size: 11px; letter-spacing: .06em; font-weight: 700;
  color: #2a1d05; background: var(--camp-foil); padding: 3px 10px; border-radius: 3px; margin-bottom: 7px;
}
.cp-ticket__amount { display: flex; align-items: baseline; line-height: 1; }
.cp-ticket__pre { font-family: "Shippori Mincho B1", serif; font-weight: 700; font-size: 19px; align-self: center; margin-right: 7px; white-space: nowrap; flex-shrink: 0; }
.cp-ticket__yen, .cp-ticket__num {
  font-family: "Bodoni Moda", serif; font-weight: 900;
  background: var(--camp-foil); -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.cp-ticket__yen { font-size: 30px; }
.cp-ticket__num { font-size: 58px; letter-spacing: -2px; filter: drop-shadow(0 3px 12px rgba(217,168,74,.4)); }
.cp-ticket__back { font-family: "Shippori Mincho B1", serif; font-weight: 800; font-size: 20px; align-self: center; margin-left: 6px; white-space: nowrap; flex-shrink: 0; }
.cp-ticket__cond {
  list-style: none; flex: 1 1 auto; min-width: 0;
  border-left: 2px dashed rgba(233,196,106,.5); padding-left: 22px;
  display: flex; flex-direction: column; gap: 8px;
}
.cp-ticket__cond li { position: relative; padding-left: 18px; font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.9); }
.cp-ticket__cond li::before { content: "✓"; position: absolute; left: 0; top: 0; color: #f0c463; font-weight: 800; }

/* ── 中：併用OK ── */
.cp-plus {
  flex: 0 0 auto; align-self: center; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 9px 13px; border-radius: 12px; text-align: center; line-height: 1.1;
  background: #ffe9a8; border: 1px solid #d9b85a; color: #2a1d05;
  font-family: "Shippori Mincho B1", serif; font-weight: 800;
  box-shadow: 0 4px 12px rgba(184,132,44,.3);
}
.cp-plus__mark { font-size: 18px; }
.cp-plus b { font-size: 12px; color: #c0392b; margin-top: 2px; }

/* ── 右：公式LINEクーポン（接近アニメ）── */
.cp-line-btn {
  position: relative; flex: 1 1 40%; min-width: 0;
  display: flex; align-items: center; gap: 13px; text-align: left; text-decoration: none;
  color: #fff; background: linear-gradient(135deg, #06c755, #04a844);
  border-radius: 14px; padding: 14px 20px; box-shadow: 0 12px 30px rgba(6,199,85,.42);
  animation: cp-pop 1.7s ease-in-out infinite; will-change: transform;
}
.cp-line-btn::before { /* 接近を表すソナーリング（ゴールド）*/
  content: ""; position: absolute; inset: 0; border-radius: 14px; border: 2px solid #e9c46a;
  opacity: 0; animation: cp-sonar 1.8s ease-out infinite;
}
.cp-line-btn:hover { animation-play-state: paused; transform: translateY(-2px) scale(1.02); }
@keyframes cp-pop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025); } }
@keyframes cp-sonar { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(1.1); opacity: 0; } }
.cp-line-btn__ico { flex: 0 0 auto; font-size: 24px; line-height: 1; }
.cp-line-btn__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cp-line-btn__ttl { font-size: 15px; font-weight: 800; line-height: 1.3; }
.cp-line-btn__hl { color: #fff359; }
.cp-line-btn__sub { font-size: 11.5px; line-height: 1.4; opacity: .96; }
.cp-line-btn__sub strong { color: #fff359; font-weight: 800; }
.cp-line-btn__go { flex: 0 0 auto; margin-left: auto; font-size: 13px; animation: cp-nudge 1s ease-in-out infinite; }
@keyframes cp-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(5px); } }

@media (max-width: 767px) {
  .blp-coupon-section { padding: 16px 16px; }
  .cp-bar { flex-direction: column; align-items: stretch; gap: 9px; }
  .cp-ticket { flex-direction: column; align-items: center; text-align: center; gap: 3px; padding: 8px 18px; }
  .cp-ticket__eyebrow { margin-bottom: 1px; }
  .cp-ticket__amount { justify-content: center; line-height: 0.8; }
  .cp-ticket__pre { font-size: 20px; }
  .cp-ticket__yen { font-size: 32px; }
  .cp-ticket__num { font-size: 66px; }
  .cp-ticket__back { font-size: 22px; }
  .cp-ticket__cond { border-left: none; border-top: 2px dashed rgba(233,196,106,.5); padding-left: 0; padding-top: 8px; gap: 5px; width: 100%; max-width: 280px; margin: 0 auto; text-align: left; }
  .cp-plus { flex-direction: row; gap: 6px; padding: 4px 14px; align-self: center; }
  .cp-plus__mark { font-size: 16px; }
  .cp-line-btn { padding: 11px 18px; }
  .cp-line-btn__ttl { font-size: 14.5px; }
  .cp-line-btn__sub { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-line-btn, .cp-line-btn::before, .cp-line-btn__go { animation: none; }
}

/* =====================================================================
   「高価買取の理由」セクション（#checklist）をコンパクト化
   ===================================================================== */
#checklist.blp-section { padding: 38px 0; }
#checklist .blp-section-head { margin-bottom: 20px; }
#checklist .blp-section-sub { margin-top: 4px; }
#checklist .blp-checklist { gap: 10px; margin-bottom: 18px; }
#checklist .blp-checklist--light li { padding: 11px 18px; font-size: 14px; box-shadow: 0 1px 4px rgba(0,0,0,.05); }
#checklist .blp-check-icon--light { width: 24px; height: 24px; font-size: 13px; }
#checklist .blp-checklist-answer--light { margin-top: 18px; padding: 18px 26px 32px; border-radius: 10px; }
#checklist .blp-checklist-answer__ttl { font-size: 20px; margin-bottom: 6px; }
#checklist .blp-checklist-answer p { font-size: 14px; line-height: 1.65; margin: 0 0 14px; }
#checklist .blp-checklist-answer .blp-btn { padding: 13px 30px; font-size: 16px; }

@media (max-width: 767px) {
  #checklist.blp-section { padding: 30px 0; }
  #checklist .blp-checklist-answer--light { padding: 16px 18px 30px; }
  #checklist .blp-checklist-answer__ttl { font-size: 18px; }
}

/* =====================================================================
   ヘッダー：全セクション展開メニュー（右・展開型ボタン）
   ===================================================================== */
.lp-menu { position: relative; flex: 0 0 auto; }
.lp-menu__btn {
  list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 9px;
  padding: 9px 14px; border: 1px solid #dcdcdc; border-radius: 8px; background: #fff;
  font-size: 13px; font-weight: 700; color: #333; white-space: nowrap; user-select: none;
  transition: background .15s, border-color .15s;
}
.lp-menu__btn::-webkit-details-marker { display: none; }
.lp-menu__btn::marker { content: ""; }
.lp-menu__btn:hover { background: #f7f7f7; border-color: #c8c8c8; }
.lp-menu__bars { position: relative; display: block; width: 18px; height: 2px; background: #333; border-radius: 2px; transition: background .2s; }
.lp-menu__bars::before, .lp-menu__bars::after { content: ""; position: absolute; left: 0; width: 18px; height: 2px; background: #333; border-radius: 2px; transition: transform .2s; }
.lp-menu__bars::before { top: -6px; }
.lp-menu__bars::after { top: 6px; }
.lp-menu[open] .lp-menu__bars { background: transparent; }
.lp-menu[open] .lp-menu__bars::before { transform: translateY(6px) rotate(45deg); }
.lp-menu[open] .lp-menu__bars::after { transform: translateY(-6px) rotate(-45deg); }

.lp-menu__panel {
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 200;
  width: 264px; max-width: calc(100vw - 28px);
  background: #fff; border: 1px solid #eee; border-radius: 12px;
  box-shadow: 0 18px 44px rgba(0,0,0,.20); padding: 8px;
  animation: lp-menu-in .18s ease;
}
@keyframes lp-menu-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.lp-menu__list { list-style: none; margin: 0; padding: 0; }
.lp-menu__list li + li { border-top: 1px solid #f4f4f4; }
.lp-menu__list a { display: block; padding: 11px 14px; border-radius: 8px; color: #222; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.lp-menu__list a:hover { background: #f6f0dd; color: #b8842c; }
.lp-menu__cta { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; padding: 13px; border-radius: 999px; background: #06c755; color: #fff; font-weight: 700; font-size: 14px; text-decoration: none; }
.lp-menu__cta .i-comment { font-size: 17px; }
.lp-menu__cta:hover { background: #04a844; }

@media (max-width: 767px) {
  .lp-header__inner { justify-content: space-between; }
  .lp-menu__label { display: none; }   /* スマホはアイコンのみ */
  .lp-menu__btn { padding: 9px 11px; }
  .lp-menu__panel { width: 248px; }
}


/* =====================================================================
   .blp-ghero — 金・プラチナ相場ヒーロー（/gold/ 専用 hero-gold-price.php）
   金塊背景 + アンバサダー(査定士)。数字主役・人物は明るく非重ね。
   ===================================================================== */
.blp-ghero{
  --gold-line:linear-gradient(90deg,#e9c46a,#b8842c);
  --foil:linear-gradient(168deg,#fff6d8 0%,#f6da8b 24%,#dcab4e 48%,#b9842c 66%,#f4d886 86%,#cba446 100%);
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:760px;
  box-sizing:border-box;
  background:#0a0e17 url('/img/campaign/hero-gold.png') center right/cover no-repeat;
  font-family:"Shippori Mincho B1","Hiragino Mincho ProN",serif;
  color:#fff;
  isolation:isolate;
}
.blp-ghero *{box-sizing:border-box;}

/* 背面ヴェール：左のコンテンツ側だけ暗く（人物ゾーンは触らない）。z-index:1=最背面側 */
.blp-ghero .blp-ghero-veil{
  content:"";
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(6,9,15,.97) 0%,rgba(6,9,15,.92) 30%,rgba(7,10,17,.62) 50%,rgba(8,11,18,.12) 66%,rgba(8,11,18,0) 78%),
    radial-gradient(120% 95% at 14% 46%,rgba(233,196,106,.14) 0%,rgba(233,196,106,0) 55%);
}
/* 上下の薄いヴィネット（最小限・人物の手前には来ない、z-index:1） */
.blp-ghero .blp-ghero-vig{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(6,9,15,.42) 0%,rgba(6,9,15,0) 20%,rgba(6,9,15,0) 80%,rgba(6,9,15,.5) 100%);
}
/* 人物の背後グロー（リムライト土台）：人物より背面 z-index:2 */
.blp-ghero .blp-ghero-glow{
  position:absolute;z-index:2;pointer-events:none;
  right:2%;bottom:0;width:46%;height:96%;
  background:
    radial-gradient(58% 52% at 60% 40%,rgba(255,240,200,.40) 0%,rgba(255,232,170,.18) 38%,rgba(233,196,106,0) 70%),
    radial-gradient(70% 70% at 62% 56%,rgba(120,150,210,.18) 0%,rgba(120,150,210,0) 70%);
  filter:blur(2px);
}

/* レイアウト：PC2カラム（左=コンテンツ／右=人物） */
.blp-ghero .blp-ghero-wrap{
  position:relative;z-index:4;
  max-width:1240px;
  margin:0 auto;
  padding:44px 56px 52px;
  min-height:760px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40%;
  align-items:center;
  gap:24px;
}
.blp-ghero .blp-ghero-content{max-width:680px;}
/* 人物専用ゾーン（コンテンツとは別カラム） */
.blp-ghero .blp-ghero-stage{
  position:relative;
  align-self:stretch;
  min-height:100%;
}

/* 上段バッジ行 */
.blp-ghero .blp-ghero-top{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-bottom:22px;
}
.blp-ghero .blp-ghero-today{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:999px;
  border:1px solid rgba(233,196,106,.5);
  background:rgba(10,14,23,.6);
  font-size:13px;letter-spacing:.04em;color:#f3dca0;
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.blp-ghero .blp-ghero-today .blp-ghero-dot{
  width:8px;height:8px;border-radius:50%;
  background:#06c755;box-shadow:0 0 0 3px rgba(6,199,85,.25);
}
.blp-ghero .blp-ghero-today b{font-weight:700;color:#fff;}

/* Googleクチコミ：独立した目立つ白カード（公式4色Gロゴ・本物志向） */
/* Googleクチコミバッジ：本物志向（公式スニペット風・白カード） */
.blp-ghero .blp-ghero-google{
  display:inline-flex;align-items:center;gap:9px;
  padding:7px 13px 7px 11px;border-radius:12px;
  background:#fff;color:#202124;
  border:1px solid #e6e6e8;
  box-shadow:0 6px 18px rgba(0,0,0,.34),
             inset 0 0 0 1px rgba(251,188,5,.18),
             inset 0 1px 0 rgba(255,255,255,.9);
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Helvetica Neue",Arial,sans-serif;
  white-space:nowrap;flex-shrink:0;line-height:1;
}
.blp-ghero .blp-ghero-google .ggl-logo{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
}
.blp-ghero .blp-ghero-google .ggl-logo svg{display:block;}
.blp-ghero .blp-ghero-google .ggl-body{
  display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;
}
.blp-ghero .blp-ghero-google .ggl-line{
  display:inline-flex;align-items:baseline;gap:6px;
}
.blp-ghero .blp-ghero-google .ggl-line2{align-items:center;gap:7px;}
.blp-ghero .blp-ghero-google .ggl-wordmark{
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-weight:500;font-size:12px;letter-spacing:.1px;line-height:1;
}
.blp-ghero .blp-ghero-google .ggl-wordmark .ggl-b{color:#4285F4;}
.blp-ghero .blp-ghero-google .ggl-wordmark .ggl-r{color:#EA4335;}
.blp-ghero .blp-ghero-google .ggl-wordmark .ggl-y{color:#FBBC05;}
.blp-ghero .blp-ghero-google .ggl-wordmark .ggl-g{color:#34A853;}
.blp-ghero .blp-ghero-google .ggl-label{
  font-size:10px;color:#5f6368;font-weight:500;line-height:1;
}
.blp-ghero .blp-ghero-google .ggl-score{
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:17px;font-weight:700;color:#202124;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
.blp-ghero .blp-ghero-google .ggl-stars{display:inline-flex;align-items:center;}
.blp-ghero .blp-ghero-google .ggl-stars svg{display:block;}

/* モバイル：コンパクト版（横140〜155pxに収める） */
@media (max-width:767px){
  .blp-ghero .blp-ghero-google{
    gap:7px;padding:6px 10px 6px 9px;border-radius:11px;
    box-shadow:0 4px 12px rgba(0,0,0,.3),
               inset 0 0 0 1px rgba(251,188,5,.18),
               inset 0 1px 0 rgba(255,255,255,.9);
  }
  .blp-ghero .blp-ghero-google .ggl-logo svg{width:17px;height:17px;}
  .blp-ghero .blp-ghero-google .ggl-body{gap:2px;}
  .blp-ghero .blp-ghero-google .ggl-line{gap:5px;}
  .blp-ghero .blp-ghero-google .ggl-line2{gap:6px;}
  .blp-ghero .blp-ghero-google .ggl-wordmark{font-size:10.5px;}
  .blp-ghero .blp-ghero-google .ggl-label{font-size:9px;}
  .blp-ghero .blp-ghero-google .ggl-score{font-size:15px;}
  .blp-ghero .blp-ghero-google .ggl-stars svg{width:54px;height:10px;}
}

/* 見出し */
.blp-ghero .blp-ghero-head{
  font-size:50px;line-height:1.26;font-weight:600;
  letter-spacing:.02em;margin:0 0 16px;
  text-shadow:0 2px 18px rgba(0,0,0,.65);
}
.blp-ghero .blp-ghero-head .blp-ghero-em{
  background:var(--foil);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  font-weight:700;font-size:1.18em;
}

/* 金額ブロック（特大主役） */
.blp-ghero .blp-ghero-rates{margin:2px 0 10px;}
.blp-ghero .blp-ghero-gold{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;}
.blp-ghero .blp-ghero-gold .blp-ghero-lab{
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:15px;letter-spacing:.06em;color:#f3dca0;
  padding-bottom:18px;display:flex;flex-direction:column;gap:4px;
}
.blp-ghero .blp-ghero-gold .blp-ghero-lab small{font-size:12px;color:#b9c2d0;letter-spacing:.02em;}
.blp-ghero .blp-ghero-gold .blp-ghero-num{
  font-family:"Bodoni Moda",serif;
  font-weight:700;font-style:italic;
  font-size:122px;line-height:.84;
  font-variant-numeric:tabular-nums;
  background:var(--foil);background-size:230% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  filter:drop-shadow(0 6px 26px rgba(216,170,70,.4));
  letter-spacing:-.01em;
  /* イタリック最終文字のはみ出しが background-clip:text で切れるのを防ぐ余白 */
  padding-right:.1em;
  /* 金色グラデーションが流れる動的アニメーション（目立たせる） */
  animation: blp-ghero-foil-flow 4.5s linear infinite;
}
@keyframes blp-ghero-foil-flow {
  0%   { background-position: 0% 50%; }
  100% { background-position: 230% 50%; }
}
@media (prefers-reduced-motion: reduce) {
  .blp-ghero .blp-ghero-gold .blp-ghero-num { animation: none; }
}
.blp-ghero .blp-ghero-gold .blp-ghero-unit{
  font-family:"Bodoni Moda",serif;font-style:normal;font-weight:600;
  font-size:26px;color:#f3dca0;padding-bottom:16px;letter-spacing:.02em;
  -webkit-text-fill-color:#f3dca0;
}
/* プラチナ行 */
.blp-ghero .blp-ghero-pt{
  display:inline-flex;align-items:baseline;gap:12px;
  margin-top:12px;padding:10px 20px;border-radius:12px;
  background:rgba(15,20,32,.6);
  border:1px solid rgba(255,255,255,.12);
}
.blp-ghero .blp-ghero-pt .blp-ghero-ptlab{
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-size:14px;letter-spacing:.06em;color:#cfd6e2;
}
.blp-ghero .blp-ghero-pt .blp-ghero-ptnum{
  font-family:"Bodoni Moda",serif;font-weight:700;font-style:italic;
  font-size:38px;line-height:1;color:#eef1f6;font-variant-numeric:tabular-nums;
}
.blp-ghero .blp-ghero-pt .blp-ghero-ptunit{
  font-family:"Bodoni Moda",serif;font-size:15px;color:#aeb7c6;
}

/* ゴールドライン区切り */
.blp-ghero .blp-ghero-hr{
  height:2px;width:100%;max-width:520px;margin:24px 0 20px;
  background:var(--gold-line);border-radius:2px;opacity:.85;
}

/* 3訴求 */
.blp-ghero .blp-ghero-trio{
  display:flex;gap:28px;flex-wrap:wrap;
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.blp-ghero .blp-ghero-trio .blp-ghero-item{display:flex;align-items:center;gap:11px;}
.blp-ghero .blp-ghero-trio .blp-ghero-ic{
  width:38px;height:38px;flex:none;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(233,196,106,.12);
  border:1px solid rgba(233,196,106,.45);
}
.blp-ghero .blp-ghero-trio .blp-ghero-ic svg{width:20px;height:20px;display:block;}
.blp-ghero .blp-ghero-trio .blp-ghero-tx{line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.85),0 0 8px rgba(0,0,0,.7);}
.blp-ghero .blp-ghero-trio .blp-ghero-tx b{
  display:block;font-size:21px;font-weight:800;color:#fff;
  font-family:"Bodoni Moda",serif;font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
.blp-ghero .blp-ghero-trio .blp-ghero-tx span{font-size:12px;color:#aeb7c6;letter-spacing:.04em;}

/* CTA */
.blp-ghero .blp-ghero-cta{
  display:flex;gap:16px;flex-wrap:wrap;margin-top:36px;
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
.blp-ghero .blp-ghero-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 30px;border-radius:13px;
  font-size:17px;font-weight:700;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;
}
.blp-ghero .blp-ghero-btn.blp-ghero-line{
  position:relative;overflow:visible;min-width:290px;
  background:#06c755;color:#fff;box-shadow:0 12px 30px rgba(6,199,85,.4);
}
.blp-ghero .blp-ghero-btn.blp-ghero-line small{font-size:12px;opacity:.9;font-weight:600;}
.blp-ghero .blp-ghero-btn.blp-ghero-line:hover{transform:translateY(-2px);box-shadow:0 16px 38px rgba(6,199,85,.5);}
/* 来店予約：緑アウトラインボタン（査定ボタンの隣／スマホは下） */
.blp-ghero .blp-ghero-btn.blp-ghero-line-outline{
  position:relative;overflow:visible;min-width:290px;
  background:#fff;color:#06c755;border:2px solid #06c755;
}
.blp-ghero .blp-ghero-btn.blp-ghero-line-outline:hover{transform:translateY(-2px);background:#f0fff7;border-color:#04a844;color:#04a844;}
.blp-ghero .blp-ghero-btn.blp-ghero-line-outline svg{width:22px;height:22px;}
/* LINEボタン上部の赤い動くコメントバッジ（写真を撮って送るだけ！…） */
.blp-ghero .blp-ghero-line__badge{
  position:absolute;left:50%;top:-11px;transform:translateX(-50%);
  white-space:nowrap;background:#e8392b;color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1;
  padding:5px 14px;border-radius:7px;box-shadow:0 3px 9px rgba(0,0,0,.3);
  z-index:4;pointer-events:none;
  animation:blp-ghero-badge-bounce 1.8s ease-in-out infinite;
}
@keyframes blp-ghero-badge-bounce{
  0%,100%{transform:translateX(-50%) translateY(0);}
  50%{transform:translateX(-50%) translateY(-3px);}
}
@media (prefers-reduced-motion:reduce){ .blp-ghero .blp-ghero-line__badge{animation:none;} }
.blp-ghero .blp-ghero-btn.blp-ghero-out{
  background:rgba(10,14,23,.45);color:#fff;border:1.5px solid rgba(232,124,0,.85);
}
.blp-ghero .blp-ghero-btn.blp-ghero-out:hover{transform:translateY(-2px);background:rgba(232,124,0,.16);}
.blp-ghero .blp-ghero-btn svg{width:20px;height:20px;flex:none;}

/* アンバサダー（人物専用ゾーン内・最前面に近い層・絶対に暗くしない） */
.blp-ghero .blp-ghero-amb{
  position:absolute;z-index:5;
  right:-6%;bottom:-140px;
  height:780px;max-height:none;width:auto;max-width:none;
  object-fit:contain;object-position:bottom right;
  opacity:1;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.45));
  pointer-events:none;
}
/* 人物の足元の淡い接地影（下方向のみ・人物より背面） */
.blp-ghero .blp-ghero-shadow{
  position:absolute;z-index:3;pointer-events:none;
  right:2%;bottom:0;width:42%;height:60px;
  background:radial-gradient(60% 100% at 60% 100%,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 72%);
}

/* ===== タブレット〜小型PC（〜1239px）：人物・数字を縮小して重なり防止 ===== */
@media (max-width:1239px){
  .blp-ghero .blp-ghero-wrap{padding:42px 38px;grid-template-columns:minmax(0,1fr) 36%;gap:16px;}
  .blp-ghero .blp-ghero-head{font-size:40px;}
  .blp-ghero .blp-ghero-gold{flex-wrap:nowrap;}
  .blp-ghero .blp-ghero-gold .blp-ghero-num{font-size:76px;}
  .blp-ghero .blp-ghero-content{max-width:520px;}
  /* タブレット域(768-1024)はPCグリッドのまま。人物を縮小して列内に収め重なりを防ぐ */
  .blp-ghero .blp-ghero-amb{right:-5%;height:470px;max-height:none;bottom:-55px;}
  .blp-ghero .blp-ghero-veil{
    background:
      linear-gradient(90deg,rgba(6,9,15,.97) 0%,rgba(6,9,15,.9) 34%,rgba(7,10,17,.6) 54%,rgba(8,11,18,.1) 72%,rgba(8,11,18,0) 84%),
      radial-gradient(120% 95% at 14% 46%,rgba(233,196,106,.14) 0%,rgba(233,196,106,0) 55%);
  }
}

/* ===== モバイル：背景＋人物をファーストビューに。人物は右で明るいまま／コンテンツは左／3訴求は縦並びで人物に被らない ===== */
@media (max-width:767px){
  .blp-ghero{
    min-height:660px;
    /* 背景はそのまま（金は右）＝ファーストビューから背景が見える */
    background:#0a0e17 url('/img/campaign/hero-gold.png') center right/cover no-repeat;
  }
  /* SPヴェール：左(テキスト側)だけ暗く、右(人物・金塊)は明るいまま＝背景が見える・人物が暗くならない */
  .blp-ghero .blp-ghero-veil{
    background:
      linear-gradient(95deg,rgba(6,9,15,.95) 0%,rgba(6,9,15,.88) 30%,rgba(7,10,17,.58) 54%,rgba(8,11,18,.2) 76%,rgba(8,11,18,0) 100%),
      linear-gradient(180deg,rgba(6,9,15,.5) 0%,rgba(6,9,15,0) 24%,rgba(6,9,15,0) 66%,rgba(6,9,15,.42) 100%);
  }
  .blp-ghero .blp-ghero-vig{display:none;}
  /* 人物の背後グロー（右・人物より背面）で暗い背景から映えさせる */
  .blp-ghero .blp-ghero-glow{
    display:block;right:-8%;bottom:0;width:66%;height:100%;
    background:radial-gradient(50% 46% at 66% 42%,rgba(255,240,200,.30) 0%,rgba(233,196,106,0) 70%);
    filter:blur(2px);
  }
  .blp-ghero .blp-ghero-shadow{display:none;}
  .blp-ghero .blp-ghero-wrap{
    position:relative;z-index:4;
    display:block;padding:26px 16px 26px;min-height:0;gap:0;
  }
  /* コンテンツは人物より前面(z2)。人物に文字が覆われない */
  .blp-ghero .blp-ghero-content{position:relative;z-index:2;max-width:none;width:100%;}
  /* ③「本日の買取相場」とGoogleクチコミを横並び（折り返さない） */
  .blp-ghero .blp-ghero-top{gap:8px;margin-bottom:16px;max-width:none;flex-wrap:nowrap;}
  .blp-ghero .blp-ghero-top{gap:7px;}
  .blp-ghero .blp-ghero-today{font-size:11px;padding:6px 10px;white-space:nowrap;flex-shrink:0;}
  .blp-ghero .blp-ghero-today .blp-ghero-dot{width:7px;height:7px;}
  /* ②見出しをもう少し大きく */
  .blp-ghero .blp-ghero-head{font-size:37px;line-height:1.3;margin-bottom:12px;max-width:100%;letter-spacing:-.02em;text-shadow:0 2px 16px rgba(0,0,0,.85);}
  .blp-ghero .blp-ghero-head .blp-ghero-em{font-size:1.05em;}
  /* 金額ブロックは左に収める（人物に被らない） */
  /* ①金額：ラベルを1行目、数字と「円/g」は同じ行で折り返さない */
  .blp-ghero .blp-ghero-rates{max-width:none;}
  .blp-ghero .blp-ghero-gold{gap:2px 10px;flex-wrap:wrap;}
  .blp-ghero .blp-ghero-gold .blp-ghero-lab{padding-bottom:2px;font-size:13px;flex-basis:100%;display:block;}
  .blp-ghero .blp-ghero-gold .blp-ghero-lab small{margin-left:8px;}
  .blp-ghero .blp-ghero-gold .blp-ghero-num{font-size:58px;}
  .blp-ghero .blp-ghero-gold .blp-ghero-unit{font-size:17px;padding-bottom:9px;white-space:nowrap;}
  .blp-ghero .blp-ghero-pt{margin-top:10px;padding:7px 13px;gap:8px;white-space:nowrap;align-self:flex-start;}
  .blp-ghero .blp-ghero-pt .blp-ghero-ptlab{white-space:nowrap;}
  .blp-ghero .blp-ghero-pt .blp-ghero-ptnum{font-size:24px;}
  .blp-ghero .blp-ghero-hr{margin:18px 0 16px;max-width:50%;}
  /* 3訴求：縦並び・左に収める＝人物に被らない */
  .blp-ghero .blp-ghero-trio{flex-direction:column;align-items:flex-start;gap:12px;max-width:52%;}
  .blp-ghero .blp-ghero-trio .blp-ghero-ic{width:34px;height:34px;}
  .blp-ghero .blp-ghero-trio .blp-ghero-tx b{font-size:19px;}
  .blp-ghero .blp-ghero-cta{flex-direction:column;margin-top:30px;gap:14px;}
  .blp-ghero .blp-ghero-btn{width:100%;padding:16px 22px;font-size:16px;}
  /* 人物：右に絶対配置・ファーストビュー内・明るいまま・コンテンツの背面(z1) */
  .blp-ghero .blp-ghero-stage{
    position:absolute;right:0;bottom:0;top:0;width:73%;
    z-index:1;margin:0;display:block;pointer-events:none;
  }
  .blp-ghero .blp-ghero-amb{
    position:absolute;right:-18%;bottom:0;
    height:67%;max-height:none;width:auto;
    object-fit:contain;object-position:bottom right;
    opacity:1;
    filter:drop-shadow(-4px 8px 20px rgba(0,0,0,.35));
  }
}
@media (max-width:380px){
  .blp-ghero .blp-ghero-gold .blp-ghero-num{font-size:52px;}
  .blp-ghero .blp-ghero-head{font-size:33px;}
  .blp-ghero .blp-ghero-amb{height:70%;}
}