* { box-sizing: border-box; }
  body { margin: 0; }
  a { color: inherit; text-decoration: none; cursor: pointer; }
  .rsn img { filter: none; transform: scale(1); transition: transform 0.6s ease; }
  .rsn:hover img { transform: scale(1.08) !important; }
  .rsn, .evt, .lnp, .zoomwrap { transition: opacity 0.3s ease; }
  .rsn:hover, .evt:hover, .lnp:hover, .zoomwrap: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[data-ul="1"]::after { transition-delay: 0.2s; }
  .ul-anim[data-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][data-on="1"] { display: flex; }
  [data-badges] [data-badge][data-first="1"] { 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[data-on="1"] { 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; }
  .nav-dd:hover { opacity: 1; }
  
  
  a:hover { opacity: 1; }
  .nav-dd { position: relative; }
  .hdr-nav { align-self: stretch; align-items: stretch !important; gap: 0 !important; }
  .nav-dd { cursor: pointer; display: flex; align-items: center; padding: 0 26px !important; transition: background 0.2s; white-space: nowrap; flex: 0 0 auto; }
  .nav-dd:hover { background: #f0efec !important; color: #2e2a26 !important; }
  .dd-panel { display: none; }
  .nav-dd:hover .dd-panel { display: block; }
  .dd-panel { background: #f0efec !important; border: none !important; padding: 6px 0 14px !important; min-width: 220px !important; }
  .dd-panel > div, .dd-panel > a { cursor: pointer; color: #2e2a26 !important; text-align: left; justify-content: flex-start; padding: 17px 30px !important; font-size: 14px !important; letter-spacing: 1px; transition: background 0.2s; }
  .dd-panel > div:first-child, .dd-panel > a:first-child { display: none !important; }
  .dd-panel > div:hover, .dd-panel > a:hover { background: #e3e1dc; }
  .hdr-burger span { flex: none; }
  .hdr-cta, .hdr-cta > span, .hdr-cta > a { white-space: nowrap; flex: 0 0 auto; }
  .hdr-cta > span .dd-panel { display: none; }
  .hdr-cta > span:hover .dd-panel { display: block; }
  @media (max-width: 1240px) {
    .hdr-nav { display: none !important; }
    .hdr-cta > span, .hdr-cta > a { width: 72px !important; height: 72px !important; font-size: 11px !important; }
    .hdr-burger { width: 72px !important; height: 72px !important; }
  }
  @media (max-width: 1360px) {
    .hdr-nav { gap: 0px !important; font-size: 13px !important; }
    .nav-dd { padding: 0 18px !important; }
    .hdr-cta > span, .hdr-cta > a { width: 76px !important; height: 76px !important; font-size: 11px !important; }
    .hdr-burger { width: 76px !important; height: 76px !important; }
  }
  @media (max-width: 1120px) {
    .hdr-nav { gap: 0 !important; font-size: 12px !important; }
    .nav-dd { padding: 0 13px !important; }
    .hdr-cta > span, .hdr-cta > a { width: 66px !important; height: 66px !important; font-size: 10px !important; }
    .hdr-burger { width: 66px !important; height: 66px !important; }
  }
  @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; }
  @media print { .ik-fade { opacity: 1 !important; transform: none !important; } }

  /* ===== スマートフォン ===== */
  @media (max-width: 767px) {
    /* スマホヘッダーを画面幅に収める */
    header[data-hdr] > a:first-child, [data-sticky-header] > a:first-child { margin-left: 5px !important; }
    header[data-hdr], header[data-hdr][data-hdr], [data-sticky-header][data-sticky-header] { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; overflow: hidden !important; padding-left: 10px !important; padding-right: 0 !important; gap: 0 !important; }
    header[data-hdr][data-hdr] img[alt="IK-HOME"], [data-sticky-header][data-sticky-header] img[alt="IK-HOME"] { height: 26px !important; max-width: 44vw !important; object-fit: contain !important; object-position: left center !important; }
    .hdr-cta { flex: 0 0 auto !important; }
    .hdr-cta.hdr-cta > a, .hdr-cta.hdr-cta > span { width: 62px !important; height: 62px !important; font-size: 10px !important; gap: 4px !important; }
    .hdr-cta > a i, .hdr-cta > span i { font-size: 16px !important; }
    header[data-hdr][data-hdr] { background: #fff !important; border-bottom: 1px solid #ebe6dc !important; }
    header[data-hdr][data-hdr] img[alt="IK-HOME"] { filter: invert(1) !important; }
    header[data-hdr][data-hdr] .hdr-burger span[style*="background"] { background: #2e2a26 !important; }
    [data-sticky-header][data-sticky-header] img[alt="IK-HOME"] { filter: invert(1) !important; }
    .hdr-burger.hdr-burger { width: 52px !important; flex: 0 0 52px !important; height: 62px !important; }

    /* 投稿系カードは1列・横スクロール（2件表示＋次が覗く） */
    [data-works-sec] div[style*="grid-template-columns: repeat(3, 1fr)"],
    [data-event-sec] div[style*="grid-template-columns: repeat(3, 1fr)"],
    div[style*="grid-template-columns: repeat(2, 1fr)"][style*="gap: 28px"] {
      display: flex !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-works-sec] div[style*="grid-template-columns: repeat(3, 1fr)"] > *,
    [data-event-sec] div[style*="grid-template-columns: repeat(3, 1fr)"] > *,
    div[style*="grid-template-columns: repeat(2, 1fr)"][style*="gap: 28px"] > * {
      flex: 0 0 44% !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; }
    [data-reason-sec] > div, section[data-dark] > div { padding-top: 28px !important; }

    /* REVIEWS：評価ピルを見出しの右に */
    [data-reviews-head] { position: relative !important; }
    [data-reviews-head] div[style*="border-radius: 999px"] { position: absolute !important; right: 0 !important; top: 26px !important; margin: 0 !important; padding: 8px 14px !important; gap: 8px !important; }
    [data-reviews-head] div[style*="border-radius: 999px"] 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に集約 */
    .hdr-nav { display: none !important; }
    .hdr-cta { align-items: stretch !important; align-self: center !important; height: 62px !important; border: none !important; }
    .hdr-cta > a, .hdr-cta > span { background: #5c5c5c !important; background-color: #5c5c5c !important; color: #fff !important; border: none !important; }
    .hdr-cta > a:nth-of-type(2), .hdr-cta > span:nth-of-type(2) { background: #46a1b5 !important; background-color: #46a1b5 !important; }
    .hdr-cta i, .hdr-cta svg { color: #fff !important; stroke: #fff !important; }
    .hdr-burger { background: #fff !important; color: #2e2a26 !important; }
    .hdr-burger span[style*="background"] { background: #2e2a26 !important; }
    .hdr-cta > a, .hdr-cta > span { flex: 0 0 auto !important; width: 74px !important; height: auto !important; align-self: stretch !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; font-size: 11px !important; letter-spacing: 0.02em !important; gap: 7px !important; border-radius: 0 !important; background: transparent !important; background-color: transparent !important; color: #fff !important; border-left: 1px solid rgba(255,255,255,0.45) !important; }
    .hdr-cta > a:last-of-type, .hdr-cta > span:last-of-type { border-right: 1px solid rgba(255,255,255,0.45) !important; }
    .hdr-cta > a i, .hdr-cta > span i { font-size: 20px !important; }
    section[style*="height: 100vh"] > header .hdr-cta i, section[style*="height: 100vh"] > header .hdr-cta svg { color: #fff !important; stroke: #fff !important; }
    .hdr-burger { width: 62px !important; height: auto !important; align-self: stretch !important; background: transparent !important; color: #fff !important; }
    .hdr-burger span[style*="letter-spacing"] { display: none !important; }
    .hdr-burger span[style*="background"] { background: #2e2a26 !important; }
    .hdr-burger span[style*="width: 28px"] { width: 22px !important; }
    header, [data-sticky-header] { padding-left: 14px !important; padding-right: 14px !important; }
    header h1, [data-sticky-header] h1 { font-size: 9px !important; }
    header img[alt="IK-HOME"], [data-sticky-header] img[alt="IK-HOME"] { height: 28px !important; }

    /* コンテナ */
    div[style*="max-width: 1200px"] { padding-left: 20px !important; padding-right: 20px !important; }
    section { padding-left: 0 !important; padding-right: 0 !important; }

    /* 見出し */
    div[style*="font-size: 56px"],
    h2[style*="font-size: 56px"],
    h2[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%"] { 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([data-first="1"]) { 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; }

    .hdr-cta > a[href*="eventlist"] { display: none !important; }
    .hdr-cta .dd-panel { display: none !important; }
    /* スマホヘッダーのCTAはカラー表示（透過指定を上書き） */
    .hdr-cta > a, .hdr-cta > span { background: #5c5c5c !important; background-color: #5c5c5c !important; color: #fff !important; border-left: none !important; border-right: none !important; }
    .hdr-cta > a:last-of-type, .hdr-cta > span:last-of-type { background: #46a1b5 !important; background-color: #46a1b5 !important; }
    .hdr-cta i, .hdr-cta svg { color: #fff !important; stroke: #fff !important; }
    .hdr-burger { background: #fff !important; color: #2e2a26 !important; border-left: none !important; }
    .hdr-burger { display: flex !important; align-items: center !important; justify-content: center !important; width: 58px !important; flex: 0 0 58px !important; }
    /* 3本線を確実に表示 */
    .hdr-burger, [data-sticky-header] .hdr-burger, [data-hero] .hdr-burger { background: #fff !important; flex-direction: column !important; gap: 6px !important; }
    .hdr-burger span { display: block !important; width: 26px !important; height: 2px !important; background: #2e2a26 !important; flex: none !important; }
    .hdr-burger span[style*="letter-spacing"] { display: none !important; }
    .hdr-burger span[style*="background"] { background: #2e2a26 !important; }
    [aria-label="閉じる"] { position: fixed !important; top: 0 !important; right: 0 !important; width: 60px !important; height: 60px !important; background: transparent !important; color: #fff !important; gap: 4px !important; }
    [aria-label="閉じる"] i { font-size: 22px !important; }
    [aria-label="閉じる"] span { display: none !important; }
    .hdr-burger { display: flex !important; position: static !important; flex: 0 0 auto !important; width: 58px !important; height: auto !important; align-self: stretch !important; background: transparent !important; color: #fff !important; align-items: center !important; justify-content: center !important; gap: 6px !important; border-left: 1px solid rgba(255,255,255,0.5) !important; flex-direction: column !important; }
    .hdr-burger { flex-direction: column !important; }
    .hdr-burger span[style*="letter-spacing"] { display: none !important; }
    .hdr-burger span[style*="background"] { background: #2e2a26 !important; width: 24px !important; }
    [data-sticky-header] { display: none !important; background: #fff !important; height: 62px !important; padding: 0 0 0 12px !important; align-items: stretch !important; }
    [data-sticky-header] img[alt="IK-HOME"] { height: 22px !important; align-self: center !important; }
    [data-sticky-header] .hdr-nav { display: none !important; }
    [data-sticky-header] .hdr-cta { height: 62px !important; border-top: 1px solid rgba(46,42,38,0.2) !important; border-bottom: 1px solid rgba(46,42,38,0.2) !important; border-right: 1px solid rgba(46,42,38,0.2) !important; }
    [data-sticky-header] .hdr-cta > a, [data-sticky-header] .hdr-cta > span { color: #2e2a26 !important; border-left: 1px solid rgba(46,42,38,0.2) !important; }
    [data-sticky-header] .hdr-cta i, [data-sticky-header] .hdr-cta svg { color: #2e2a26 !important; }
    [data-sticky-header] .hdr-burger { background: transparent !important; color: #2e2a26 !important; }
    [data-sticky-header] .hdr-burger span[style*="background"] { background: #2e2a26 !important; }
    .hdr-burger.hdr-burger.hdr-burger { width: 62px !important; flex: 0 0 62px !important; }
    [data-float-banner] { bottom: 20px !important; }
    [data-float-tab] { bottom: 20px !important; }
    footer { padding-bottom: 24px !important; }

    /* ハンバーガーメニュー：写真を隠して1カラム */
    [data-menu-grid] { grid-template-columns: 1fr !important; }
    [data-menu-grid] > div:first-child { display: none !important; }
    [data-menu-grid] span[style*="writing-mode: vertical-rl"] { display: flex !important; writing-mode: vertical-rl !important; left: -8px !important; bottom: 0 !important; top: auto !important; height: 100% !important; align-items: flex-start !important; font-size: 92px !important; letter-spacing: 2px !important; color: rgba(255,255,255,0.14) !important; z-index: 0 !important; }
    [data-menu-grid] > div:last-child { overflow: hidden !important; }
    [data-menu-grid] > div:last-child div[style*="padding: 120px"] { padding: 96px 16px 60px 108px !important; position: relative !important; z-index: 1 !important; }
    [data-menu-grid] div[style*="font-size: 42px"] { font-size: 30px !important; }


    /* フッター */
    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) {
    div[style*="max-width: 1200px"] { padding-left: 24px !important; padding-right: 24px !important; }
  }

/* ===== WordPress overrides ===== */
/* Hide legacy Lightning header/footer chrome when renewed chrome is present */
body.ik-renewed-chrome .site-header:not([data-hdr]),
body.ik-renewed-chrome #site-header-container,
body.ik-renewed-chrome .follow_cta {
  display: none !important;
}
/* Ensure renewed header sits above content */
header[data-hdr],
[data-sticky-header] {
  font-family: 'Noto Sans JP', sans-serif;
}
/* Inner pages SP: solid white header (no FV / hero behind) */
@media (max-width: 767px) {
  body:not(.home):not(.front-page) header[data-hdr] {
    background: #fff !important;
    border-bottom: 1px solid #ebe6dc;
  }
  body:not(.home):not(.front-page) header[data-hdr] img[alt="IK-HOME"] {
    filter: invert(1);
  }
  body:not(.home):not(.front-page) header[data-hdr] .hdr-nav {
    color: #4a443c !important;
  }
  body:not(.home):not(.front-page) [data-sticky-header] {
    transform: translateY(-100%) !important;
  }
}
/* Full-screen menu */
[data-ik-menu] {
  font-family: 'Noto Sans JP', sans-serif;
}
[data-ik-menu][data-open="1"] {
  display: flex !important;
}
/* Body lock when menu open */
body.ik-menu-open {
  overflow: hidden !important;
}
/* Inner pages: offset fixed header */
body.ik-renewed-chrome:not(.home):not(.front-page) .site-body {
  padding-top: 88px;
}
@media (max-width: 767px) {
  body.ik-renewed-chrome:not(.home):not(.front-page) .site-body {
    padding-top: 62px;
  }
}
/* Stacking order vs SideCTA / page content */
header[data-hdr] { z-index: 90 !important; }
[data-sticky-header] { z-index: 91 !important; }
[data-ik-menu] { z-index: 120 !important; }

/* ===== Sticky header scroll switch (ik-home4 parity) ===== */
/* PC全ページ初期: 透過＋白ロゴ／白ナビ */
@media (min-width: 768px) {
  header[data-hdr] {
    background: transparent !important;
    border-bottom: none !important;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }
  header[data-hdr] img[alt="IK-HOME"] {
    filter: none !important;
  }
  header[data-hdr] .hdr-nav {
    color: #fff !important;
  }
  [data-sticky-header] {
    transform: none !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity;
    background: #fff !important;
    box-shadow: 0 1px 0 rgba(46, 42, 38, 0.06);
  }
  [data-sticky-header][data-shown="1"] {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body.ik-hdr-scrolled header[data-hdr] {
    opacity: 0;
    pointer-events: none;
  }
  /* 内ページのヒーローをヘッダー下に回り込ませる */
  body.ik-renewed-chrome:not(.home):not(.front-page) .page-header {
    margin-top: -88px !important;
  }
  /* タイトル位置はヘッダー分を足して従来見た目を維持 */
  body.ik-renewed-chrome:not(.home):not(.front-page) .page-header-inner {
    margin-top: calc(5.5em + 48px) !important;
  }
}

/* 右側CTAは常時固定（切替対象外・全ページ共通） */
[data-hdr-cta-fixed] {
  display: flex !important;
  z-index: 95 !important;
  pointer-events: auto !important;
}
header[data-hdr] .hdr-cta-switch,
[data-sticky-header] .hdr-cta-switch {
  display: none !important;
}

/* CTAボタン内の配置（アイコン幅はFA既定に任せ、letter-spacingはcommonで無効化済） */
.hdr-cta > a,
.hdr-cta > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.hdr-cta > a > i,
.hdr-cta > span > i {
  display: inline-block !important;
  line-height: 1 !important;
  flex: none !important;
  text-align: center !important;
}

/* ロゴ/ナビ側の白帯をCTA高さに合わせ、右端はCTA直前まで */
header[data-hdr],
[data-sticky-header] {
  height: 88px !important;
  right: 352px !important; /* 88×4 */
  box-sizing: border-box !important;
}

/* 白背景上では logo-wht を invert して黒ロゴに */
[data-sticky-header] img[alt="IK-HOME"] {
  filter: invert(1) !important;
}

@media (max-width: 1360px) {
  header[data-hdr],
  [data-sticky-header] {
    height: 76px !important;
    right: 304px !important; /* 76×4 */
  }
}
@media (max-width: 1240px) {
  header[data-hdr],
  [data-sticky-header] {
    height: 72px !important;
    right: 288px !important; /* 72×4 */
  }
}
@media (max-width: 1120px) {
  header[data-hdr],
  [data-sticky-header] {
    height: 66px !important;
    right: 264px !important; /* 66×4 */
  }
}
@media (max-width: 767px) {
  /* スマホは sticky を使わず、常時白ヘッダー */
  body.ik-hdr-scrolled header[data-hdr] {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  header[data-hdr] {
    background: #fff !important;
    border-bottom: 1px solid #ebe6dc !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  header[data-hdr] img[alt="IK-HOME"] {
    filter: invert(1) !important;
  }
  header[data-hdr] .hdr-nav {
    color: #4a443c !important;
  }
  [data-sticky-header] {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  body.home header[data-hdr],
  body.front-page header[data-hdr] {
    background: #fff !important;
    border-bottom: 1px solid #ebe6dc !important;
  }
  body.home header[data-hdr] img[alt="IK-HOME"],
  body.front-page header[data-hdr] img[alt="IK-HOME"] {
    filter: invert(1) !important;
  }
  /* 資料請求 + 相談会 + MENU（イベント非表示）≈ 62×3 */
  header[data-hdr],
  [data-sticky-header] {
    height: 62px !important;
    right: 186px !important;
  }

  /* 全ページ共通: ヘッダー縦幅とCTAアイコン位置を62pxで統一 */
  header[data-hdr] .hdr-cta,
  [data-hdr-cta-fixed].hdr-cta {
    height: 62px !important;
    align-self: stretch !important;
    align-items: stretch !important;
  }
  .hdr-cta > a,
  .hdr-cta > span {
    width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    gap: 4px !important;
    font-size: 10px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    line-height: 1.2 !important;
  }
  .hdr-cta > a > i,
  .hdr-cta > span > i {
    font-size: 16px !important;
    line-height: 1 !important;
    display: inline-block !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .hdr-burger {
    width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
    flex: 0 0 62px !important;
    align-self: stretch !important;
    gap: 5px !important;
  }
}
