:root{
  --icpl-fg:#e5e7eb;
  --icpl-fg-strong:#fff;
  --icpl-accent:#60a5fa;
  --icpl-bg:#0b0f1a;
  --icpl-scrim:0.5;

  /* ↓ これらは PHP 側（wp_add_inline_style）で上書きされます。ここはフォールバック値。 */
  --icpl-title-ff: inherit;
  --icpl-title-fw: 700;
  --icpl-title-fs-pc: 72px;
  --icpl-title-fs-sp: 28px;

  --icpl-sub-ff: inherit;
  --icpl-sub-fw: 400;
  --icpl-sub-fs-pc: 22px;
  --icpl-sub-fs-sp: 14px;

  --icpl-btn-bg: #60a5fa;
  --icpl-btn-fg: #0b0f1a;
  --icpl-btn-radius: 12px;
  --icpl-btn-py: .8rem;
  --icpl-btn-px: 1.2rem;

  --icpl-brand-h: 40px;
  --icpl-brand-h-sp: 32px;

  --icpl-news-fs: 16px;
}

.icpl-front{overflow-x:hidden;}

/* ===== ヒーロー（常に1ビューポート分） ===== */
.icpl-hero{
  position: relative;
  color: var(--icpl-fg);
  background: var(--icpl-bg);
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
}
.icpl-hero__media{position:absolute;inset:0;overflow:hidden;}
/* YouTubeはJSでカバー配置。MP4はobject-fitを使うレイアウトもあり */
.icpl-hero__player{
  position:absolute;top:50%;left:50%;
  width:120vw;height:67.5vw; /* 16:9 */
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.icpl-hero__poster{
  position:absolute;inset:0;background-size:cover;background-position:center;
  filter:brightness(.72) blur(2px);
  transform:scale(1.02);
  transition:opacity .6s ease;
}
.icpl-hero__poster--fallback{background-image:linear-gradient(180deg,#0b0f1a,#111827 60%,#0b0f1a);}
.icpl-hero--playing .icpl-hero__poster{opacity:0;}
.icpl-hero__scrim{position:absolute;inset:0;background:rgba(0,0,0,var(--icpl-scrim));}

/* ===== オーバーレイ（ヘッダー/メニュー/お知らせ） ===== */
.icpl-hero__overlay{position:relative;z-index:10;display:grid;grid-template-rows:auto 1fr auto;min-height:100dvh;}
.icpl-hero__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(12px,3vw,24px);}
.icpl-hero__brand img{
  height: var(--icpl-brand-h);
  width:auto;
}
@media (max-width: 768px){
  .icpl-hero__brand img{ height: var(--icpl-brand-h-sp); }
}
.icpl-hero__site-title{color:var(--icpl-fg-strong);font-weight:700;text-decoration:none;font-size:clamp(18px,2.4vw,24px);}

.icpl-hero__menu-toggle{
  display:none; border:1px solid rgba(255,255,255,.22); background:rgba(0,0,0,.2);
  padding:.45rem .7rem; border-radius:12px; color:#fff; cursor:pointer;
}
.icpl-hero__menu{}
.icpl-hero__menu-list{display:flex;flex-wrap:wrap;gap:clamp(8px,1.6vw,18px);list-style:none;margin:0;padding:0;}
.icpl-hero__menu-list a{color:var(--icpl-fg);text-decoration:none;font-weight:600;padding:.4rem .7rem;border-radius:999px;backdrop-filter:blur(6px);background:rgba(255,255,255,.06);transition:background .2s ease,color .2s ease;}
.icpl-hero__menu-list a:hover{background:rgba(255,255,255,.14);color:var(--icpl-fg-strong);}

/* ===== SNS（ヘッダー右側・アイコン） ===== */
.icpl-hero__sns{display:flex; align-items:center; gap:12px;}
.icpl-hero__sns a{
  display:inline-flex; width:28px; height:28px;
  border-radius:50%;
  background: var(--icpl-fg-strong);
  justify-content:center; align-items:center;
  transition: transform .15s ease, background .15s ease, opacity .15s ease;
  text-decoration:none;
}
.icpl-hero__sns a:hover{ transform: translateY(-1px); opacity:.95; }
.icpl-sns-icon{ width:16px; height:16px; display:inline-block; background-size:contain; background-repeat:no-repeat; background-position:center; }

/* ===== ヒーロー中央コンテンツ（見出し/サブ/CTA） ===== */
.icpl-hero__content{display:grid;place-items:center;text-align:center;padding:min(8vh,48px) clamp(16px,4vw,48px);}

/* タイトル（設定反映：フォント/太さ/サイズ） */
.icpl-hero__title{
  color:var(--icpl-fg-strong);
  font-family: var(--icpl-title-ff, inherit) !important;
  font-weight: var(--icpl-title-fw, 700) !important;
  font-size: var(--icpl-title-fs-pc, clamp(28px,7vw,72px)) !important;
  line-height:1.05;
  letter-spacing:.02em;
  margin:8vh 0 1rem;
}

/* サブタイトル（設定反映：フォント/太さ/サイズ） */
.icpl-hero__subtitle{
  font-family: var(--icpl-sub-ff, inherit) !important;
  font-weight: var(--icpl-sub-fw, 400) !important;
  font-size: var(--icpl-sub-fs-pc, clamp(14px,2.2vw,22px)) !important;
  opacity:.9;
  margin:0 0 1.2rem;
}

/* スマホ時の見出しサイズ */
@media (max-width: 768px){
  .icpl-hero__title{ font-size: var(--icpl-title-fs-sp, 28px) !important; }
  .icpl-hero__subtitle{ font-size: var(--icpl-sub-fs-sp, 14px) !important; }
}

/* CTAボタン（設定反映：色/角丸/余白） */
.icpl-hero__cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.icpl-btn{
  display:inline-block;
  background: var(--icpl-btn-bg, var(--icpl-accent)) !important;
  color: var(--icpl-btn-fg, #0b0f1a) !important;
  border-radius: var(--icpl-btn-radius, 12px) !important;
  padding: var(--icpl-btn-py, .8rem) var(--icpl-btn-px, 1.2rem) !important;
  font-weight:700;text-decoration:none;border:none;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
  transition: transform .06s ease;
}
.icpl-btn:hover{ transform: translateY(-1px); }
.icpl-btn:active{ transform: translateY(0); }
.icpl-btn--ghost{
  background: transparent !important;
  color: var(--icpl-btn-bg, var(--icpl-accent)) !important;
  outline: 2px solid var(--icpl-btn-bg, var(--icpl-accent)) !important;
}
.icpl-hero__cta .icpl-btn + .icpl-btn{ margin-left: .6rem; }

/* ===== お知らせ ===== */
.icpl-hero__news{
  width:min(1100px,92vw);
  margin:4vh auto 8vh;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:clamp(14px,2.2vw,24px);
  backdrop-filter:blur(6px);
  font-size: var(--icpl-news-fs, 16px); /* 設定の文字サイズ反映 */
}
.icpl-section-title{margin:0 0 .6rem;font-size:clamp(16px,2.4vw,20px);color:var(--icpl-fg-strong);}
.icpl-news__list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;}
.icpl-news__link{
  display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline;
  text-decoration:none;color:var(--icpl-fg);padding:.5rem .6rem;border-radius:10px;transition:background .2s;
}
.icpl-news__link:hover{background:rgba(255,255,255,.06);}
.icpl-news__date{font-variant-numeric:tabular-nums;opacity:.8;}
.icpl-news__title{color:var(--icpl-fg-strong);}
.icpl-news__more{text-align:right;margin-top:.6rem;}
.icpl-link{color:var(--icpl-accent);text-decoration:none;}

/* ===== 下層（本文） ===== */
.icpl-front__below{background:#0b0f1a;color:var(--icpl-fg);}
.icpl-front__content{width:min(1100px,92vw);margin:0 auto;padding:6vh 0 10vh;}

/* ===== スクロール誘導 ===== */
.icpl-scroll-cue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:12px;color:#fff;opacity:.85;}
.icpl-scroll-cue a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.24);padding:.35rem .6rem;border-radius:999px;background:rgba(0,0,0,.18);}

/* ===== モバイル ===== */
@media (max-width: 768px){
  .icpl-hero__header{gap:.6rem;flex-wrap:wrap;}
  .icpl-hero__menu-toggle{display:inline-block;}
  .icpl-hero__menu{width:100%;}
  .icpl-hero__menu-list{display:none;gap:.5rem;}
  .icpl-hero--menu-open .icpl-hero__menu-list{display:flex;flex-wrap:wrap;}
  .icpl-news__link{grid-template-columns:90px 1fr;}
  .icpl-hero__sns a{ width:28px; height:28px; } /* SNSは視認性維持 */
  .icpl-sns-icon{ width:16px; height:16px; }
}

/* （必要に応じて）テーマの影響を断つ参考例
.home .site-header,
.home header#masthead,
.home .bp-header { display:none !important; }
.home .site-main { margin-top:0 !重要; }
.icpl-hero{transform:none!important;contain:paint!important;}
*/
