:root {
  --primary:       #4A2A5E;
  --primary-dark:  #351e44;
  --primary-light: #755d85;
  --accent:        #9C7A1E;
  --accent-light:  #c4af78;
  --bg-white:      #FDFAF5;
  --bg-light:      #f6f2ef;
  --bg-blue:       #e9e3e4;
  --shadow:        0 2px 8px rgba(74,42,94,0.11);
  --shadow-hover:  0 8px 28px rgba(74,42,94,0.22);
}

/* カルーセルスライド背景（テーマに連動） */
.slide-1 { background: linear-gradient(135deg, #301b3d 0%, #3d224d 50%, #583b6b 100%); }
.slide-2 { background: linear-gradient(135deg, #25152f 0%, #311c3e 40%, #3e234f 100%); }
.slide-3 { background: linear-gradient(135deg, #311c3e 0%, #71503f 60%, #9C7A1E 100%); }

/* ニュースティッカーを非表示 */
.news-ticker { display: none !important; }

/* 公式サイトバッジを非表示 */
.hero-badge { display: none !important; }

/* カルーセル横幅: 50%（画像中央・左右に濃紺パネル 25%） */
@media (min-width: 769px) {
  .hero-main { align-items: stretch !important; }
  .carousel-content { position: static !important; right: auto !important; bottom: auto !important; order: 1 !important; flex: 0 0 25% !important; max-width: 25% !important; min-width: 0 !important; align-self: stretch !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; justify-content: center !important; pointer-events: auto !important; padding: 18px 24px !important; background: var(--primary, #0D2347) !important; color: #fff !important; }
  .carousel-content .hero-title { color: #fff !important; text-shadow: none !important; }
  .carousel-content .hero-desc { color: rgba(255,255,255,.85) !important; text-shadow: none !important; }
  .carousel-content .hero-badge { position: absolute !important; top: 16px !important; left: calc(25% + 16px) !important; z-index: 4 !important; margin: 0 !important; background: rgba(0,0,0,.45) !important; color: #fff !important; border-color: rgba(255,255,255,.3) !important; backdrop-filter: blur(4px); }
  .carousel-content .hero-badge-dot { background: #4ade80 !important; }
  .hero-carousel-wrapper { order: 2 !important; flex: 0 0 50% !important; max-width: 50% !important; }
  .hero-info-wrapper { order: 3 !important; flex: 0 0 25% !important; max-width: 25% !important; min-width: 0 !important; width: auto !important; box-sizing: border-box !important; height: auto !important; overflow: visible !important; }
  .hero-info-links { display: grid !important; grid-template-columns: 1fr 1fr !important; align-content: center !important; }
  .hero-info-links a { border-bottom: 1px solid rgba(255,255,255,.07) !important; }
}
