* { box-sizing: border-box; }
  body { margin: 0; }
  a { color: inherit; text-decoration: none; cursor: pointer; }
  /* Lightning origin3 の h2 上下線・余白を打ち消し（セクション英字見出し） */
  #top-renewal h2[data-en],
  #top-renewal [data-blog-sec] h2 {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    line-height: 1.15;
  }
  #top-renewal [data-blog-sec] h2 {
    margin-top: 0 !important;
    line-height: 1;
  }
  .rsn img { filter: none; transform: scale(1); transition: transform 0.6s ease; }
  .rsn:hover img { transform: scale(1.08) !important; }
  .rsn, .evt, .lnp, .zoomwrap, .sns-card { transition: opacity 0.3s ease; }
  .rsn:hover, .evt:hover, .lnp:hover, .zoomwrap:hover, .sns-card:hover { opacity: 0.78 !important; }
  a:hover { opacity: 0.78; }
  .btn-more { transition: opacity 0.3s ease; flex: none; white-space: nowrap; }
  .btn-more i { flex: none; }
  .btn-more:hover { opacity: 0.78 !important; }
  .ul-anim { position: relative; display: inline-block; }
  .ul-anim::after { content: ""; position: absolute; left: 0; bottom: 1px; width: 100%; height: 2px; background: #46a1b5; transform: scaleX(0); transform-origin: left center; transition: transform 1.1s cubic-bezier(.22,.61,.36,1); }
  .ul-anim.ul-1::after { transition-delay: 0.2s; }
  .ul-anim.ul-2::after { transition-delay: 1.4s; }
  .ul-anim.ik-in::after, .ik-in .ul-anim::after { transform: scaleX(1); }
  [data-badges] [data-badge] { display: none; }
  [data-badges] [data-badge].on { display: flex; }
  [data-badges] [data-badge].first { margin-left: 0 !important; }
  [data-badges] [data-dots] i { width: 5px; height: 5px; border-radius: 50%; background: rgba(46,42,38,0.25); display: block; }
  [data-badges] [data-dots] i.on { background: #2e2a26; }
  .evt img { transform: scale(1); transition: transform 0.6s ease; }
  .evt:hover img { transform: scale(1.08) !important; }
  .evt > div { transition: transform 0.6s ease; }
  .evt:hover > div { transform: scale(1.08) !important; }
  .lnp img { scale: 1; transition: scale 0.6s ease; }
  .lnp:hover img { scale: 1.08; }
  .zoombg { transition: transform 0.6s ease; }
  .zoomwrap:hover .zoombg { transform: scale(1.08); }
  a { transition: opacity 0.25s ease, background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; }
  a:hover { opacity: 0.72; }
  
  
  a:hover { opacity: 1; }
  @media (max-width: 1240px) {
  }
  @media (max-width: 1360px) {
  }
  @media (max-width: 1120px) {
  }
  @keyframes ikMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .ik-fade { opacity: 0; transform: translateY(38px); transition: opacity 1.1s cubic-bezier(.22,.61,.36,1), transform 1.1s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform; }
  .ik-fade.ik-in { opacity: 1; transform: translateY(0); }
  .catch-slow.ik-fade { transition: opacity 2.4s cubic-bezier(.22,.61,.36,1), transform 2.4s cubic-bezier(.22,.61,.36,1); }
  .rsn .rsn08 { transform: scale(2.15); }
  .rsn:hover .rsn08 { transform: scale(2.32) !important; }
  [data-badge].ik-fade { transform: none; translate: 0 90px; transition: opacity 2.6s cubic-bezier(.22,.61,.36,1), translate 2.8s cubic-bezier(.22,.61,.36,1); }
  [data-badge].ik-fade.ik-in { transform: none; translate: 0 0; }
  /* Pattern B: PC=横スライドマーキー / SP=badgeB 2枚切替 */
  @media (min-width: 768px) {
    [data-badges][data-badgeb][data-patt="b"] { display: block !important; }
    [data-badges][data-badgeb][data-patt="b"] [data-badge-track] { display: flex; align-items: flex-start; width: max-content; gap: 40px; padding-top: 10px; animation: ikMarquee 34s linear infinite; }
    [data-badges][data-badgeb][data-patt="b"] [data-badge] { width: 250px !important; margin-left: 0 !important; flex: 0 0 auto; display: flex !important; opacity: 1 !important; translate: 0 0 !important; cursor: pointer; }
    [data-badges][data-badgeb][data-patt="b"] [data-badge]:nth-child(odd) { transform: translateY(0) !important; }
    [data-badges][data-badgeb][data-patt="b"] [data-badge]:nth-child(even) { transform: translateY(96px) !important; }
  }
  [data-badge-sp] { display: none; }
  [data-sp-badge] { display: none; }
  [data-sp-badge].on { display: flex; }
  [data-sp-badge].on.sp-first { margin-left: 0 !important; }
  [data-sp-dots] i { width: 5px; height: 5px; border-radius: 50%; background: rgba(46,42,38,0.25); display: block; }
  [data-sp-dots] i.on { background: #46a1b5; }
  @media (max-width: 767px) {
    [data-patt="b"] { display: none !important; }
    [data-badge-sp] { display: flex !important; justify-content: center; }
    [data-badge-sp] + .ik-fade { margin-top: 16px !important; }
  }
  @keyframes ikFloat { 0% { translate: 0 0; } 50% { translate: 0 -12px; } 100% { translate: 0 0; } }
  [data-badges] [data-badge] { transition: scale 0.35s cubic-bezier(.22,.61,.36,1); transform-origin: center center; }
  [data-badges] [data-badge]:hover { scale: 1.08; }
  [data-badges] [data-badge]:nth-child(1) { animation-duration: 5.2s; animation-delay: 0s; }
  [data-badges] [data-badge]:nth-child(2) { animation-duration: 4.4s; animation-delay: -0.8s; }
  [data-badges] [data-badge]:nth-child(3) { animation-duration: 5.6s; animation-delay: -1.6s; }
  [data-badges] [data-badge]:nth-child(4) { animation-duration: 4.8s; animation-delay: -2.3s; }
  [data-badges] [data-badge]:nth-child(5) { animation-duration: 5.0s; animation-delay: -1.1s; }
  [data-badges] [data-badge]:nth-child(6) { animation-duration: 4.6s; animation-delay: -3.0s; }
  @media (prefers-reduced-motion: reduce) { [data-badges] [data-badge] { animation: none; } }
  @media print { .ik-fade { opacity: 1 !important; transform: none !important; } }

  /* ===== スマートフォン ===== */
  @media (max-width: 767px) {
    [data-repair] { grid-template-columns: 1fr !important; padding: 18px 18px !important; gap: 10px !important; margin: 16px auto 22px !important; }
    [data-repair] div[style*="font-size: 20px"] { font-size: 16px !important; line-height: 1.5 !important; }
    [data-repair] div[style*="font-size: 15px"] { font-size: 12.5px !important; line-height: 1.75 !important; margin-top: 6px !important; }
    [data-repair] a { font-size: 12.5px !important; padding: 4px 0 8px !important; }
    [data-repair] > a { width: 100% !important; }
    [data-repair] > span:first-of-type { width: 56px !important; height: 56px !important; font-size: 20px !important; }

    /* バッジBはスマホのみ2枚切替 */
    [data-badgeb] { flex-wrap: nowrap !important; }
    [data-badgeb] [data-badge] { display: none !important; }
    [data-badgeb] [data-badge].on { display: flex !important; }
    [data-badgeb] [data-dots] { display: none !important; }
    [data-badgeb] [data-badge] { width: 44vw !important; max-width: 172px !important; padding: 14px 14px 0 !important; }
    [data-badgeb] [data-badge]:not(.first) { margin-left: -18px !important; }

    [data-reason-band] { padding-top: 4px !important; }
    [data-reason-head] { padding-bottom: 0 !important; }

    [data-lineup-sec] { padding-bottom: 16px !important; }
    #lineup-renov + div, [data-lineup-sec] > [data-container]:last-child { padding-bottom: 0 !important; margin-bottom: 0 !important; }

    [data-interview-sec] { padding-bottom: 0 !important; }
    [data-blog-sec] { padding-top: 26px !important; }

    [data-catalog-sec] { padding: 26px 0 !important; }
    [data-catalog-sec] > [data-container] { padding-bottom: 0 !important; }
    [data-blog-sec] { padding-bottom: 26px !important; }

    /* BLOG／COLUMNは1列に */
    [data-blog-grid] { display: block !important; }
    [data-blog-grid] > div { min-width: 0 !important; }
    [data-blog-grid] > div + div { margin-top: 80px !important; }
    [data-blog-sec] { padding: 44px 0 !important; }
    [data-blog-sec] span[style*="font-size: 56px"],
    [data-blog-sec] h2 { font-size: 34px !important; }
    [data-blog-sec] div[style*="margin-bottom: 40px"] { margin-bottom: 20px !important; }
    [data-blog-sec] .btn-more { margin-bottom: 0 !important; }

    [data-interview-sec][data-interview-sec] {
      padding-top: 44px !important;
      padding-bottom: 0 !important;
    }
    [data-interview-sec] > [data-container] {
      padding-bottom: 0 !important;
    }
    [data-interview-sec] [data-hscroll] > a > div[style*="padding: 24px 0 28px"] {
      padding-bottom: 0 !important;
    }

    [data-lineup-sec] { padding-bottom: 30px !important; }
    [data-reviews-sec] { padding-bottom: 34px !important; }
    [data-model-grid] { gap: 56px !important; }
    [data-model-grid] div[style*="display: flex"][style*="margin-top: 22px"] { margin-top: 12px !important; }
    [data-reviews-sec] [data-hscroll] { margin-bottom: 0 !important; }
    [data-reviews-sec] > [data-container]:last-child { margin-bottom: 0 !important; padding-bottom: 0 !important; }

    /* REASON見出しと本文の間を詰める */
    [data-reason-head] { padding-top: 48px !important; gap: 14px !important; }
    [data-reason-head] [data-reason-lead] { padding-bottom: 0 !important; }
    [data-reason-band] { padding-top: 6px !important; }
    [data-reason-lead] { padding-bottom: 0 !important; margin-bottom: 0 !important; }

    /* REVIEWS：上余白を詰めて評価ピルは見出し下へ */
    [data-reviews-sec] { padding-top: 44px !important; }
    [data-reviews-sec] [data-container] { margin-bottom: 20px !important; }
    [data-rating-pill] { position: static !important; margin: 16px 0 0 !important; align-self: flex-start !important; }

    /* リノベカードのボタンは矢印のみ */
    .renov-more { left: auto !important; right: 16px !important; bottom: 16px !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; padding: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
    .renov-more-label { display: none !important; }
    .renov-more-icon { display: block !important; }

    [data-reason-lead] { margin-top: 0 !important; }
    [data-reason-band] [data-container] { margin-bottom: 18px !important; }

    /* BLOG/COLUMNの見出しと本文を収める */
    [data-en] { font-size: 38px !important; letter-spacing: 2px !important; }
    section[style*="background: #f5f1ea"] div[style*="font-size: 16px"], section div[style*="font-size: 16px"][style*="line-height"] { font-size: 14px !important; line-height: 1.9 !important; overflow-wrap: anywhere !important; }

    /* REVIEWSの見出しと評価ピルを縦積みに */
    [data-reviews-head][data-reviews-head] { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; width: 100% !important; }
    [data-reviews-head][data-reviews-head] > div { max-width: 100% !important; }
    [data-rating-pill] { margin-bottom: 0 !important; padding: 10px 16px !important; gap: 10px !important; font-size: 13px !important; }
    [data-rating-pill] span[style*="font-size: 20px"] { font-size: 17px !important; }
    [data-rating-pill] span[style*="letter-spacing: 3px"] { font-size: 13px !important; letter-spacing: 2px !important; }
    [data-reviews-head] > div[style*="border-radius: 999px"] { position: static !important; transform: none !important; margin: 0 !important; }
    section[style*="background: #f5f1ea"] > [data-container] { padding-bottom: 20px !important; }
    [data-hscroll][data-hscroll] { padding-bottom: 0 !important; }
    section[style*="background: #fff"] > [data-container] { padding-bottom: 22px !important; }
    a[href*="rokkostyle#contact"] img, img[src*="catalog-banner"] { display: block !important; }    img[src*="catalog-banner"] { margin: 0 !important; }

    /* REASONリード文の上下余白を圧縮 */
    [data-reason-lead][data-reason-lead] { margin-top: 10px !important; margin-bottom: 0 !important; line-height: 2 !important; }
    [data-reason-band] > div { padding-top: 34px !important; padding-bottom: 10px !important; }
    [data-reason-band][data-reason-band] { padding-bottom: 24px !important; }
    [data-reason-band] div[style*="grid-template-columns: repeat(4, 1fr)"] { gap: 18px !important; }

    /* リノベカード：文字サイズを抑えて重なりを防ぐ */
    a.lnp[href*="superwall"] > div:last-child, a.lnp[href*="renovation"] > div:last-child { left: 20px !important; right: 20px !important; top: 18px !important; }
    a.lnp[href*="superwall"] div[style*="font-size: 26px"], a.lnp[href*="renovation"] div[style*="font-size: 26px"] { font-size: 17px !important; line-height: 1.5 !important; }
    a.lnp[href*="superwall"] div[style*="line-height: 1.9"], a.lnp[href*="renovation"] div[style*="line-height: 1.9"] { font-size: 12px !important; line-height: 1.7 !important; margin-top: 8px !important; }
    /* 円形ボタン化は .renov-more 側で実施。::after 矢印は二重になるため付けない */

    /* スマホのリード文は左揃え＋両端を揃える */
    [data-lead], [data-reason-lead] { text-align: justify !important; text-align-last: left !important; }
    [data-lead] br, [data-reason-lead] br { display: none !important; }

    /* 縦書きキャッチ周りの余白を圧縮 */
    section[style*="min-height: 1620px"], section[style*="padding: 100px 32px"] { padding-top: 26px !important; padding-bottom: 20px !important; }
    .catch-slow { margin-top: 16px !important; margin-bottom: 8px !important; }

    /* LINE UPのタブを均等・1行に */
    [data-lineup-sec] div[style*="gap: 14px"][style*="padding-bottom: 8px"] { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; width: 100% !important; }
    [data-lineup-sec] > [data-container]:first-child { padding-bottom: 8px !important; }
    [data-lineup-sec] div[style*="gap: 14px"][style*="padding-bottom: 8px"] { padding-bottom: 0 !important; }
    #lineup-new { margin-top: 18px !important; }
    [data-lineup-sec] a[href="#lineup-new"] span[data-full], [data-lineup-sec] a[href="#lineup-renov"] span[data-full] { display: none !important; }
    [data-lineup-sec] a[href="#lineup-new"] span[data-short], [data-lineup-sec] a[href="#lineup-renov"] span[data-short] { display: inline !important; }
    [data-lineup-sec] div[style*="gap: 14px"][style*="padding-bottom: 8px"] > a { display: flex !important; width: 100% !important; min-width: 0 !important; height: 56px !important; padding: 0 18px !important; font-size: 14px !important; line-height: 1.4 !important; gap: 10px !important; align-items: center !important; justify-content: center !important; writing-mode: horizontal-tb !important; white-space: nowrap !important; }

    /* セクション間の余白を圧縮 */
    section > [data-container] { padding-top: 34px !important; padding-bottom: 34px !important; }
    section[style*="padding: 120px"], section[style*="padding: 110px"], section[style*="padding: 130px"] { padding-top: 40px !important; padding-bottom: 40px !important; }
    /* INTERVIEW のみ下余白なし */
    [data-interview-sec][data-interview-sec] { padding-bottom: 0 !important; }
    [data-interview-sec] > [data-container] { padding-bottom: 0 !important; }

    /* 横方向のはみ出しによる揺れを防止 */
    html, body { overflow-x: clip !important; max-width: 100% !important; }
    #top-renewal { overflow-x: clip !important; }
    [data-hscroll][data-hscroll] { overscroll-behavior-x: contain !important; }
    [data-hscroll][data-hscroll] { overflow-y: hidden !important; align-items: start !important; touch-action: pan-x !important; }

    /* 投稿系カードは1列・横スクロール（1件大きく＋次が少し覗く） */
    [data-hscroll][data-hscroll] {
      display: flex !important; grid-template-columns: none !important; flex-wrap: nowrap !important; overflow-x: auto !important;
      gap: 14px !important; padding: 0 0 6px 0 !important; margin: 0 -20px 0 0 !important;
      scroll-snap-type: x mandatory !important; scrollbar-width: none !important;
    }
    [data-hscroll][data-hscroll] > * {
      flex: 0 0 88% !important; width: 88% !important; max-width: 88% !important; min-width: 88% !important; scroll-snap-align: start !important;
    }

    section[style*="height: 100vh"] > header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 98 !important; background: #fff !important; height: 62px !important; padding: 0 0 0 12px !important; display: flex !important; align-items: stretch !important; justify-content: space-between !important; border-bottom: none !important; }
    section[style*="height: 100vh"] > header img[alt="IK-HOME"] { filter: invert(1) !important; height: 22px !important; align-self: center !important; }
    section[style*="height: 100vh"] > header h1 { display: none !important; }
    section[style*="height: 100vh"] { margin-top: 62px !important; overflow: visible !important; }
    /* FV左端のSNSは非表示 */
    section[style*="height: 100vh"] > div[style*="left: 28px"], section[style*="height: 100vh"] > div[style*="Follow"] { display: none !important; }
    /* REASONのリード文はスマホのみ両端揃え */

    /* REASON上部の余白を圧縮 */
    [data-reason-band] { padding-top: 26px !important; }
    [data-reason-band] > div { padding-top: 0 !important; }

    /* EVENT下・WORKS上の余白を圧縮 */
    [data-event-sec] > div { padding-bottom: 24px !important; }
    [data-works-sec] > div { padding-top: 24px !important; padding-bottom: 24px !important;  padding-bottom: 18px !important; }
    [data-reason-sec] > div, section[data-dark] > div { padding-top: 28px !important; }

    /* REVIEWS：評価ピルは見出しの下に縦積み */
    [data-reviews-head][data-reviews-head] { position: relative !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    [data-rating-pill] { position: static !important; right: auto !important; top: auto !important; margin: 0 !important; padding: 8px 14px !important; gap: 8px !important; }
    [data-rating-pill] span[style*="font-size: 13px"] { font-size: 10px !important; }

    /* WORKS：View Moreを見出しの右に、カテゴリは横並び維持 */
    [data-works-sec] > div { position: relative !important; }
    [data-works-sec] .btn-more { position: absolute !important; right: 20px !important; top: 34px !important; padding: 8px 18px !important; font-size: 12px !important; gap: 8px !important; }

    /* コンセプト上部の余白 */
    section[style*="padding: 200px 32px 0"], section[style*="padding: 200px 32px 40px"] { padding: 26px 20px 24px !important; }
    section[style*="min-height: 1620px"] { min-height: 0 !important; }

    /* ヘッダー：ナビを隠しMENUに集約 */

    /* コンテナ */
    [data-container] { padding-left: 20px !important; padding-right: 20px !important; }
    section { padding-left: 0 !important; padding-right: 0 !important; }

    /* 見出し */
    [data-en] { font-size: 34px !important; letter-spacing: 2px !important; }

    /* グリッドは1〜2列に */
    div[style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: repeat(2, 1fr) !important; gap: 14px !important; }
    div[style*="grid-template-columns: repeat(3, 1fr)"] { grid-template-columns: 1fr !important; gap: 24px !important; }
    div[style*="grid-template-columns: repeat(2, 1fr)"] { grid-template-columns: 1fr !important; gap: 20px !important; }
    /* REASON：1列・横長カード */
    [data-dark] div[style*="grid-template-columns: repeat(4, 1fr)"] { grid-template-columns: 1fr !important; gap: 26px !important; }
    .rsn { aspect-ratio: 16 / 9 !important; border-radius: 8px !important; }
    a[style*="padding-top: 24px"], div[style*="padding-top: 24px"] { padding-top: 0 !important; }
    .rsn + div, a[style*="padding-top"] > div[style*="margin-top: 16px"] { font-size: 15px !important; margin-top: 12px !important; padding-left: 34px !important; position: relative !important; }
    a[style*="padding-top"] > div[style*="margin-top: 16px"]::before { content: "" !important; position: absolute !important; left: 0 !important; top: 12px !important; width: 22px !important; height: 1px !important; background: #9c9488 !important; }
    a[style*="padding-top"] > span[style*="font-size: 76px"], div[style*="padding-top"] > span[style*="font-size: 76px"] { font-size: 44px !important; top: auto !important; bottom: 46px !important; right: 16px !important; }

    /* ラインナップ：縦並び */
    [data-lineup-track] { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; transform: none !important; transition: none !important; }
    [data-lineup-track] > * { width: 100% !important; aspect-ratio: 3 / 5.4 !important; }


    /* SNS：2列タイル、見出しは上に */
    [data-sns-grid] { grid-template-columns: 1fr !important; gap: 24px !important; align-items: start !important; }
    div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 12px"] { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
    div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 12px"] > a, div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 12px"] > span { height: 78px !important; font-size: 15px !important; gap: 10px !important; }
    div[style*="grid-template-columns: repeat(3, 1fr)"][style*="gap: 12px"] i { font-size: 20px !important; }
    img[alt="IK-HOMEマスコット"] { width: 72px !important; height: 72px !important; }

    /* CONTACT：白いピル型ボタンを縦積み */
    [data-contact-cta] { grid-template-columns: 1fr !important; gap: 14px !important; max-width: 100% !important; }
    [data-contact-cta] > a { padding: 18px 22px !important; border-radius: 8px !important; font-size: 15px !important; }
    [data-contact-cta] > a > span:first-child { flex: 1 1 auto !important; justify-content: center !important; gap: 0 !important; position: relative !important; }
    [data-contact-cta] > a > span:first-child i { position: absolute !important; left: 0 !important; }
    div[style*="grid-template-columns: 300px 1fr"], div[style*="grid-template-columns: 1fr 1.6fr"] { grid-template-columns: 1fr !important; }

    /* FV */
    .catch-slow { font-size: 20px !important; letter-spacing: 4px !important; line-height: 2 !important; }

    /* コンセプトの装飾画像は非表示 */
    img[src*="/cn-"] { display: none !important; }
    section[style*="min-height"] { min-height: 0 !important; }
    div[style*="font-size: 18px"][style*="line-height: 2.8"] { font-size: 15px !important; line-height: 2.4 !important; }

    /* 右端の固定UI：SNSレールは非表示 */
    [data-float-banner] { width: 170px !important; bottom: 84px !important; }
    [data-float-tab] { height: 150px !important; font-size: 11px !important; }
    [data-sns-fixed] { display: none !important; }
    [data-totop] { display: none !important; }
    section[style*="height: 100vh"] > div[style*="right: 28px"][style*="top: 50%"],
    [data-fv-sns] { display: none !important; }
    section[style*="height: 100vh"] > h1 { display: none !important; }

    /* FV：PCと同じ流れ（動画→スライド）／横幅100%・固定ヘッダー下 */
    section[style*="height: 100vh"] { height: auto !important; min-height: 0 !important; aspect-ratio: 16 / 9 !important; padding: 0 !important; margin-top: 62px !important; background: #c9c2b6 !important; }
    [data-fv-slide] { transform: scale(1.04) !important; transition: opacity 1.2s ease !important; }
    [data-fv-slides] { inset: 0 !important; }
    video[data-fv-video] { position: absolute !important; inset: 0 !important; left: 0 !important; bottom: auto !important; width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover !important; border: none !important; border-radius: 0 !important; z-index: 2 !important; }
    /* コンセプト本文：改行は自然な折返しに任せる */
    section[style*="min-height: 1620px"] div[style*="line-height: 2.8"] { font-size: 13.5px !important; line-height: 2.1 !important; }
    section[style*="min-height: 1620px"] div[style*="line-height: 2.8"] br { display: none !important; }
    section[style*="min-height: 1620px"] div[style*="line-height: 2.8"] span[style*="height: 0.9em"] { display: block !important; height: 0.7em !important; }
    .ul-anim { display: inline !important; }

    /* コンセプト：イメージ画像をコラージュで上部に */
    section[style*="min-height: 1620px"] { min-height: 0 !important; display: block !important; padding: 40px 0 90px !important; }
    img[src*="/cn-"] { position: static !important; display: block !important; width: auto !important; inset: auto !important; aspect-ratio: 3 / 2 !important; object-fit: cover !important; }
    img[src*="cn-04"] { width: 82% !important; margin: 0 0 0 auto !important; aspect-ratio: 5 / 2.6 !important; object-position: center 55% !important; }
    img[src*="cn-05"] { width: 56% !important; margin: -3% 5% 0 auto !important; }
    img[src*="cn-08"] { width: 52% !important; margin: -16% 0 0 6% !important; position: relative !important; z-index: 2 !important; }
    img[src*="cn-03"], img[src*="cn-01"], img[src*="cn-07"] { display: none !important; }
    section[style*="min-height: 1620px"] > div, section[style*="min-height: 1620px"] > h2, section[style*="min-height: 1620px"] > [class*="catch"] { padding-left: 20px !important; padding-right: 20px !important; }
    section[style*="min-height: 1620px"] .catch-slow { margin-top: 44px !important; margin-left: auto !important; margin-right: auto !important; align-self: center !important; }
    [data-badges] { max-width: calc(100% - 32px) !important; margin-left: auto !important; margin-right: auto !important; }
    [data-badges] [data-badge] { width: 40vw !important; max-width: 168px !important; }
    [data-badges] [data-badge]:not(.first) { margin-left: -7vw !important; }
    [data-badges] [data-badge] div[style*="font-size: 12px"] { font-size: 10px !important; }
    [data-badges] [data-badge] div[style*="font-size: 23px"] { font-size: 18px !important; }
    [data-badges] [data-badge] img { width: 24px !important; }
    [data-fv-play] { display: none !important; }
    [data-fv-expand] { display: none !important; }

    [data-fv-replay] { display: none !important; }
    [data-fv-catch] { z-index: 4 !important; width: min(72vw, 420px) !important; gap: 14px !important; }
    [data-fv-catch] > div { font-size: 12px !important; letter-spacing: 0.12em !important; }
    [data-fv-catch] { width: min(80vw, 440px) !important; }

    /* スマホヘッダーのCTAはカラー表示（透過指定を上書き） */
    /* 3本線を確実に表示 */
    [data-float-banner] { bottom: 20px !important; }
    [data-float-tab] { bottom: 20px !important; }
    footer { padding-bottom: 24px !important; }

    /* ハンバーガーメニュー：写真を隠して1カラム */


    /* フッター */
    footer div[style*="grid-template-columns"] { grid-template-columns: 1fr 1fr !important; gap: 22px !important; }
  }
  @media (max-width: 480px) {
    footer div[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  }

  /* 中間幅のコンテナ余白 */
  @media (max-width: 1199px) {
    [data-container] { padding-left: 24px !important; padding-right: 24px !important; }
  }

  /* REVIEWS見出しと評価ピルの重なり防止（中間幅も含む） */
  @media (max-width: 1024px) {
    [data-reason-band] { padding-top: 10px !important; }
    [data-lineup-sec] { padding-bottom: 8px !important; }
    [data-lineup-body] { padding-bottom: 16px !important; }
    [data-repair] { margin-bottom: 16px !important; }
    [data-reviews-sec] { padding-top: 48px !important; }
    [data-reviews-head][data-reviews-head] { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    [data-rating-pill] { margin-bottom: 0 !important; }
  }

  /* 中間幅でもコンテナを画面内に収める */
  @media (max-width: 1024px) {
    [data-container] { max-width: 100% !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; }
    [data-en] { font-size: 40px !important; letter-spacing: 2px !important; }
    div[style*="font-size: 16px"][style*="line-height"] { font-size: 14px !important; overflow-wrap: anywhere !important; }
  }

  @media (max-width: 1024px) {
    [data-container] { max-width: 100% !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; }
    [data-en] { font-size: 38px !important; letter-spacing: 2px !important; }
    [data-reviews-head][data-reviews-head] { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    [data-rating-pill][data-rating-pill] { margin-bottom: 0 !important; padding: 10px 16px !important; gap: 10px !important; }
    [data-hscroll][data-hscroll] { margin-right: -20px !important; }
  }
  /* スマホは英字見出しを従来どおり 34px（上の 1024px ルールより後で上書き） */
  @media (max-width: 767px) {
    #top-renewal [data-en],
    #top-renewal [data-blog-sec] h2 {
      font-size: 34px !important;
      letter-spacing: 2px !important;
    }
  }
  /* REVIEWSピル：どの幅でも見出しに重ならない最終ガード */
  @media (max-width: 1100px) {
    [data-reviews-head][data-reviews-head][data-reviews-head] { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    [data-rating-pill][data-rating-pill][data-rating-pill] { position: static !important; inset: auto !important; right: auto !important; top: auto !important; transform: none !important; margin: 0 !important; align-self: flex-start !important; }
    .zoomwrap div[style*="writing-mode: vertical-rl"] { font-size: 12px !important; padding: 14px 10px !important; letter-spacing: 0.5px !important; line-height: 1.7 !important; }
  }
  [data-badgeb] { flex-wrap: wrap !important; justify-content: center; gap: 0; }
  [data-badgeb] [data-badge] { display: flex !important; margin-left: -20px !important; }
  [data-badgeb] [data-badge]:first-child { margin-left: 0 !important; }
  [data-badgeb] [data-badge].on { display: flex; }
  [data-badgeb] [data-badge].first { margin-left: 0 !important; }
  [data-badgeb] [data-dots] { display: none !important; }
  [data-badgeb] [data-dots] i { width: 5px; height: 5px; border-radius: 50%; background: rgba(46,42,38,0.25); display: block; }
  [data-badgeb] [data-dots] i.on { background: #46a1b5; }
  @media (min-width: 768px) {
    [data-badges][data-badgeb] { flex-wrap: nowrap !important; justify-content: flex-start; }
    [data-badges][data-badgeb] [data-badge]:not([data-first]) { margin-left: 8px !important; }
    [data-badges][data-badgeb] [data-badge][data-first] { margin-left: 0 !important; }
  }

/* ===== WordPress / Lightning overrides ===== */
#top-renewal {
  font-family: 'Noto Sans JP', sans-serif;
  color: #2e2a26;
  background: #fff;
  width: 100%;
  overflow-x: clip;
}
#top-renewal .sec-label {
  font-size: 14px;
  font-weight: 700;
  color: #2e2a26;
  letter-spacing: 1px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 10px;
}
#top-renewal .sec-label::before {
  content: '';
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #46a1b5;
  flex: none;
}
/* フッターの Life with FAN マーキーが上にはみ出して覆わないよう、SNSを前面に */
#top-renewal [data-sns-sec] {
  position: relative;
  z-index: 4;
  background: #fff;
}
/* sec-label 〜 英字セクション名（参考TOP-Bの見た目に合わせて間隔を確保） */
#top-renewal [data-en] {
  margin-top: 18px !important;
  line-height: 1;
}
/* Lightning layout: full bleed TOP */
body.home .site-body,
body.home .site-body-container,
body.front-page .site-body,
body.front-page .site-body-container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}
body.home .site-body-container > #top-renewal,
body.front-page .site-body-container > #top-renewal {
  width: 100%;
}
/* Hide Lightning default slide on renewed TOP (FV is custom) */
body.home .swiper-container-main,
body.home .slide,
body.front-page .swiper-container-main {
  display: none !important;
}
/* ie-miru event embed spacing */
#top-renewal #js-iemiru-cms-index-page {
  margin-bottom: 24px;
}

/* ===== ie-miru EVENT cards → TOP-B layout ===== */
#top-renewal #iemiru-cms-index-page {
  max-width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
  clear: both !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}
#top-renewal #iemiru-cms-index-page:after {
  display: none !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event.is-horizontal {
  width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  color: inherit !important;
  text-align: left !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event.is-horizontal:hover {
  background: transparent !important;
  opacity: 1 !important;
}

/* Image */
#top-renewal #iemiru-cms-index-page .index-page__events-event-image-wrapper {
  width: 100% !important;
  margin: 0 0 16px !important;
  overflow: hidden !important;
  position: relative !important;
  aspect-ratio: 4 / 3 !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-image-wrapper:before {
  display: none !important;
  content: none !important;
  padding: 0 !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  float: none !important;
  background-size: cover !important;
  background-position: center !important;
  transform: scale(1);
  transition: transform 0.6s ease;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event.is-horizontal:hover .index-page__events-event-image {
  transform: scale(1.08) !important;
}

/* 終了イベント: 画像を暗く＋「終了しました」バッジ */
#top-renewal #iemiru-cms-index-page .index-page__events-event:has(.label-event-finished) .index-page__events-event-image {
  filter: grayscale(0.6) brightness(0.62);
}
#top-renewal #iemiru-cms-index-page .index-page__events-event:has(.label-event-finished) .index-page__events-event-image-wrapper::after {
  content: "終了しました";
  position: absolute;
  left: 0;
  top: 20px;
  z-index: 2;
  background: #fff;
  color: #46a1b5;
  font-size: 13px;
  font-weight: 700;
  padding: 10px 20px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

/* Content order: labels → title → address → date */
#top-renewal #iemiru-cms-index-page .index-page__events-event-content {
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  text-align: left !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-labels {
  order: 1;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
  white-space: normal !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-name {
  order: 2;
  margin: 0 0 14px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #2e2a26 !important;
  line-height: 1.5 !important;
  height: auto !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-address {
  order: 3;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 8px !important;
  font-size: 14px !important;
  color: #5c554b !important;
  letter-spacing: 0.06em !important;
  line-height: 1.5 !important;
  height: auto !important;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-date {
  order: 4;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: #5c554b !important;
  letter-spacing: 0.06em !important;
  line-height: 1.6 !important;
  height: auto !important;
}

/* Labels */
#top-renewal #iemiru-cms-index-page .label-event:not(.label-event-finished) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #46a1b5 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
#top-renewal #iemiru-cms-index-page .label-event.label-event-finished,
#top-renewal #iemiru-cms-index-page .label-event-finished {
  display: none !important;
}
#top-renewal #iemiru-cms-index-page .label-yoyaku {
  background: #fff !important;
  color: #4a443c !important;
  border: 1px solid #7a7268 !important;
  border-radius: 0 !important;
  padding: 4px 12px !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

/* Location / calendar icons (TOP-B SVG parity) */
#top-renewal #iemiru-cms-index-page .index-page__events-event-address::before,
#top-renewal #iemiru-cms-index-page .index-page__events-event-date::before {
  content: "";
  flex: none;
  width: 15px;
  height: 15px;
  margin-top: 2px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px 15px;
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-address::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c554b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5c0 0 7-6.9 7-11.5a7 7 0 1 0-14 0c0 4.6 7 11.5 7 11.5z'/%3E%3Ccircle cx='12' cy='10' r='2.3'/%3E%3C/svg%3E");
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-date::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c554b' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='15' rx='2'/%3E%3Cpath d='M3.5 10h17'/%3E%3Cpath d='M8 3.5v4'/%3E%3Cpath d='M16 3.5v4'/%3E%3C/svg%3E");
}
#top-renewal #iemiru-cms-index-page .index-page__events-event-address > img {
  display: none !important;
}

@media (max-width: 899px) {
  #top-renewal #iemiru-cms-index-page {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}
@media (max-width: 767px) {
  /* 右端のコンテナ余白を打ち消し、画面端までスクロール表示 */
  #top-renewal [data-event-sec] #js-iemiru-cms-index-page {
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-right: -20px !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  #top-renewal #iemiru-cms-index-page {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 14px !important;
    margin: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 6px !important;
    width: 100% !important;
    max-width: none !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch;
  }
  #top-renewal #iemiru-cms-index-page::-webkit-scrollbar {
    display: none !important;
  }
  #top-renewal #iemiru-cms-index-page .index-page__events-event.is-horizontal {
    flex: 0 0 88% !important;
    width: 88% !important;
    max-width: 88% !important;
    min-width: 88% !important;
    margin-right: 0 !important;
    scroll-snap-align: start !important;
  }
  #top-renewal #iemiru-cms-index-page .index-page__events-event-name {
    font-size: 15px !important;
  }
  #top-renewal #iemiru-cms-index-page .index-page__events-event:has(.label-event-finished) .index-page__events-event-image-wrapper::after {
    top: 12px;
    font-size: 11px;
    padding: 8px 14px;
  }
}

#top-renewal a.btn-more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 6px 0 10px;
  border-bottom: 1px solid #46a1b5;
  color: #46a1b5;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-decoration: none;
  font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', sans-serif;
}

/* ===== Google Reviews (GRW) → TOP-B REVIEWS layout ===== */
#top-renewal [data-reviews-sec] .ik-reviews {
  width: 100%;
}
#top-renewal [data-reviews-sec] .ik-reviews__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px 32px;
  flex-wrap: wrap;
  margin: 0 0 56px;
  box-sizing: border-box;
}
#top-renewal [data-reviews-sec] .ik-reviews__titles {
  flex: 1 1 auto;
  min-width: 0;
}
#top-renewal [data-reviews-sec] .ik-reviews__rating {
  flex: 0 0 auto;
  margin-bottom: 14px;
}
#top-renewal [data-reviews-sec] .ik-reviews__rating:empty {
  display: none;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget {
  width: 100%;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .wp-gr {
  width: 100% !important;
  max-width: none !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-row {
  display: block !important;
  position: static !important;
}
/* Hide rating header while still inside widget (JS moves it into .ik-reviews__rating) */
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-header {
  display: none !important;
}
/* Rating pill (moved into .ik-reviews__rating by JS) */
#top-renewal [data-reviews-sec] .ik-reviews__rating .grw-header,
#top-renewal [data-reviews-sec] .ik-reviews__rating .grw-header-inner {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  height: auto !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__rating .grw-header-inner.rpi-flx,
#top-renewal [data-reviews-sec] .ik-reviews__rating .grw-header-inner {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  --dir: row !important;
  --wrap: nowrap !important;
  --align: center !important;
  --flx: inline-flex !important;
  padding: 12px 24px !important;
  border: 1px solid #ddd5c8 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  white-space: nowrap !important;
}
/* Plugin nests rating+count in .rpi-col8 (column) — force one horizontal line */
#top-renewal [data-reviews-sec] .ik-reviews__rating .rpi-flx.rpi-col8,
#top-renewal [data-reviews-sec] .ik-reviews__rating .grw-header-inner > .rpi-flx {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 12px !important;
  width: max-content !important;
  max-width: none !important;
  --dir: row !important;
  --wrap: nowrap !important;
  --align: center !important;
  --flx: inline-flex !important;
  white-space: nowrap !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__rating .grw-img-wrap,
#top-renewal [data-reviews-sec] .ik-reviews__rating .wp-google-name,
#top-renewal [data-reviews-sec] .ik-reviews__rating .wp-google-wr,
#top-renewal [data-reviews-sec] .ik-reviews__rating .wp-google-powered {
  display: none !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__rating .rpi-stars {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #5c554b !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', sans-serif !important;
  --star-size: 15px;
  --star-color: #c9a227;
}
#top-renewal [data-reviews-sec] .ik-reviews__rating .wp-google-based {
  display: inline-block !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 0 0 16px !important;
  border-left: 1px solid #ddd5c8 !important;
  font-size: 13px !important;
  color: #7a7268 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Slider / cards */
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-content,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-content-inner,
#top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-slides-root {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-reviews.rpi-slides {
  gap: 12px !important;
  --card-gap: 12px;
  --slider-gap: 12px;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
/* 3件表示＋端がわずかに見切れる程度（カードは少し狭め） */
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-row-s .grw-review,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-row-m .grw-review,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-row-l .grw-review,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-row-xl .grw-review {
  --col: 2.98 !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review {
  height: auto !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review-inner {
  position: relative !important;
  height: 100% !important;
  min-height: 0;
  margin: 0 !important;
  padding: 24px !important;
  background: #fff !important;
  border: 1px solid #e6dfd3 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  gap: 0 !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review-inner.grw-round {
  border-radius: 0 !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .grw-img-wrap,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .grw-img {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  border-radius: 50% !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-name,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-name a {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #2e2a26 !important;
  width: auto !important;
  max-width: 100% !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-time {
  font-size: 12px !important;
  color: #a89f92 !important;
  margin-top: 2px !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .rpi-stars {
  margin: 14px 0 12px !important;
  --star-size: 15px;
  --star-color: #d9a441;
  letter-spacing: 1px !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-feedback,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-text {
  font-size: 14px !important;
  color: #4a443c !important;
  line-height: 1.9 !important;
  letter-spacing: normal !important;
}
/* 本文エリアを少し広げ、長い口コミはスクロールで読めるように */
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-feedback.grw-scroll {
  min-height: calc(1.9em * 4) !important;
  max-height: calc(1.9em * 5) !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-right: 4px;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-more-toggle {
  display: inline-block !important;
  margin-top: 14px !important;
  font-size: 13px !important;
  color: #9c9488 !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-img,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review .wp-google-reply {
  display: none !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-review > .grw-review-inner > svg {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  width: 20px !important;
  height: 20px !important;
}

/* Prev / Next — TOP-B circular controls（カードより少し外側） */
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-content,
#top-renewal [data-reviews-sec] .ik-reviews__widget .grw-content-inner,
#top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-slides-root {
  overflow: visible !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-ltgt {
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  border: 1px solid #c3bbae !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #9c9488 !important;
  --slider-btn-pos: 0px;
  --slider-offset: 0px;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-ltgt.rpi-lt {
  left: 0 !important;
  margin-left: -2px !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-ltgt.rpi-gt {
  right: 0 !important;
  margin-right: -2px !important;
}
#top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-dots-wrap {
  display: none !important;
}

@media (max-width: 991px) {
  #top-renewal [data-reviews-sec] .ik-reviews__head {
    margin-bottom: 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__rating {
    margin-bottom: 0;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__rating .grw-header-inner {
    padding: 10px 16px !important;
    gap: 10px !important;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__rating .rpi-stars {
    font-size: 17px !important;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__rating .wp-google-based {
    font-size: 12px !important;
    padding-left: 12px !important;
  }
}

@media (max-width: 767px) {
  #top-renewal [data-reviews-sec] .ik-reviews__rating {
    max-width: 100%;
    overflow-x: auto;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__rating .wp-google-based {
    font-size: 11px !important;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__widget .grw-content,
  #top-renewal [data-reviews-sec] .ik-reviews__widget .grw-content-inner,
  #top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-slides-root {
    overflow: visible !important;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-ltgt {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    z-index: 5 !important;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-ltgt.rpi-lt {
    left: 4px !important;
    margin-left: 0 !important;
  }
  #top-renewal [data-reviews-sec] .ik-reviews__widget .rpi-ltgt.rpi-gt {
    right: 4px !important;
    margin-right: 0 !important;
  }
}

/* ===== NEWS ticker（FV直下） ===== */
#top-renewal .ik-newsbar {
  background: #46a1b5;
  color: #fff;
}
#top-renewal .ik-newsbar__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 0 32px;
  min-height: 68px;
}
#top-renewal .ik-newsbar__label {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: none;
}
#top-renewal .ik-newsbar__label-text {
  font-family: Futura, "Century Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1;
}
#top-renewal .ik-newsbar__label-line {
  width: 32px;
  height: 1px;
  background: rgba(255, 255, 255, 0.9);
  display: block;
}
#top-renewal .ik-newsbar__viewport {
  flex: 1;
  min-width: 0;
  height: 68px;
  overflow: hidden;
}
#top-renewal .ik-newsbar__track {
  will-change: transform;
  transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1);
}
#top-renewal .ik-newsbar__item {
  display: flex;
  align-items: center;
  gap: 16px;
  height: 68px;
  color: #fff;
  text-decoration: none;
  min-width: 0;
  opacity: 1 !important;
}
#top-renewal .ik-newsbar__item:hover {
  opacity: 0.85 !important;
}
#top-renewal .ik-newsbar__tag {
  flex: none;
  border: 1px solid rgba(255, 255, 255, 0.95);
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1;
  font-family: Futura, "Century Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
}
#top-renewal .ik-newsbar__date {
  flex: none;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.06em;
  font-family: Futura, "Century Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
}
#top-renewal .ik-newsbar__title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.04em;
}
#top-renewal .ik-newsbar__all {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.14em;
  white-space: nowrap;
  text-decoration: none;
  font-family: Futura, "Century Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
  opacity: 1 !important;
}
#top-renewal .ik-newsbar__all:hover {
  opacity: 0.8 !important;
}
#top-renewal .ik-newsbar__all-arrow {
  font-size: 13px;
  line-height: 1;
}

@media (max-width: 767px) {
  #top-renewal .ik-newsbar__inner {
    gap: 12px;
    padding: 0 16px;
    min-height: 56px;
  }
  #top-renewal .ik-newsbar__viewport,
  #top-renewal .ik-newsbar__item {
    height: 56px;
  }
  #top-renewal .ik-newsbar__label-text {
    font-size: 13px;
  }
  #top-renewal .ik-newsbar__label-line {
    width: 18px;
  }
  #top-renewal .ik-newsbar__tag {
    padding: 4px 8px;
    font-size: 10px;
  }
  #top-renewal .ik-newsbar__date {
    font-size: 11px;
  }
  #top-renewal .ik-newsbar__title {
    font-size: 13px;
  }
  #top-renewal .ik-newsbar__all {
    font-size: 10px;
    gap: 6px;
  }
  #top-renewal .ik-newsbar__item {
    gap: 10px;
  }
}

@media (max-width: 520px) {
  #top-renewal .ik-newsbar__date {
    display: none;
  }
  #top-renewal .ik-newsbar__all {
    writing-mode: horizontal-tb;
  }
}

/* SNSカード：ホバーで薄く（.rsn 等と同じ opacity。上書き用に再指定） */
#top-renewal [data-sns-grid] a.sns-card:hover {
  opacity: 0.78 !important;
}
