/* ================================================
   HEROES.CSS — Hero C (スプリットレイアウト)
   ================================================ */

/* ================================================
   VARIANT C — スプリットレイアウト
   Dark Left + Eco Image Right · Dynamic
   ================================================ */
.hero-c {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 52% 48%;
  overflow: hidden;
  background: #080e1a;
  position: relative;
}

/* 左ペイン：コンテンツをロゴ左端（コンテナ基準）に揃える */
.hero-c__left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 120px 5vw 80px max(32px, calc((100vw - 1400px) / 2 + 32px));
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}
.hero-c__left::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,144,184,.08), transparent 70%);
  bottom: -120px; right: -60px;
  pointer-events: none;
}

/* コンテンツ幅を制限して浮き感を出す */
.hero-c__left-inner {
  width: 100%;
  max-width: 460px;
}

.hero-c__eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
  color: #90D4EE;
  text-transform: uppercase;
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero-c__eyebrow::before {
  content: '';
  display: block;
  width: 32px; height: 2px;
  background: #90D4EE;
  flex-shrink: 0;
}
.hero-c__title {
  font-size: clamp(44px, 5.4vw, 72px);
  font-weight: 900;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -.04em;
  margin-bottom: 24px;
}
.hero-c__title-accent {
  display: block;
  background: linear-gradient(90deg, #90D4EE 0%, #22d3ee 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  white-space: nowrap;
}
.hero-c__desc {
  font-size: 17px;
  color: rgba(255,255,255,.56);
  line-height: 1.9;
  margin-bottom: 36px;
}
.hero-c__actions { display: flex; gap: 16px; }
.hero-c__stats {
  display: flex;
  gap: 28px;
  margin-top: 52px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,.08);
  flex-wrap: wrap;
}
.hero-c__stat-num {
  font-size: 32px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -.04em;
  line-height: 1;
}
.hero-c__stat-num span { font-size: 16px; color: #90D4EE; margin-left: 2px; }
.hero-c__stat-label { font-size: 13px; color: rgba(255,255,255,.38); margin-top: 5px; letter-spacing: .04em; }
.hero-c__stat-note { font-size: 10px; color: rgba(255,255,255,.25); align-self: flex-end; padding-bottom: 2px; letter-spacing: .04em; }

/* アウトラインボタン */
.hero-c__btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 99px;
  font-size: 15px;
  font-weight: 700;
  border: 2px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.7);
  transition: all .3s;
  white-space: nowrap;
}
.hero-c__btn-outline:hover {
  border-color: rgba(144,212,238,.6);
  color: #90D4EE;
}

/* 右ペイン：スライドショーエリア */
.hero-c__right {
  position: relative;
  overflow: hidden;
}

/* スライドコンテナ */
.hero-c__slides {
  position: absolute;
  inset: 0;
  will-change: transform;
}
.hero-c__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: heroSlide 24s ease-in-out infinite;
}
.hero-c__slide--1 {
  background-image: url('../images/photos/1542601906990-b4d3fb778b09_1200.jpg');
  animation-delay: 0s;
}
.hero-c__slide--3 {
  background-image: url('../images/photos/1500382017468-9049fed747ef_1200.jpg');
  background-position: center 60%;
  animation-delay: 6s;
}
.hero-c__slide--4 {
  background-image: url('../images/photos/1491438590914-bc09fcaaf77a_1200.jpg');
  background-position: center 30%;
  animation-delay: 12s;
}
.hero-c__slide--5 {
  background-image: url('../images/04.Classiclook_Blue_backlight_TP_V.webp');
  animation-delay: 18s;
}
@keyframes heroSlide {
  0%, 2%    { opacity: 0; transform: scale(1); }
  5%        { opacity: 1; transform: scale(1); }
  18%       { opacity: 1; transform: scale(1.08); }
  21%, 100% { opacity: 0; transform: scale(1.08); }
}

/* 左端グラデーション（境目なじみ） */
.hero-c__right::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(270deg, transparent 45%, #080e1a 100%);
  z-index: 1;
  pointer-events: none;
}
/* 薄いオーバーレイ */
.hero-c__right::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(8,14,26,.18);
  z-index: 1;
  pointer-events: none;
}

/* スライドドット */
.hero-c__dots {
  position: absolute;
  bottom: 20px;
  right: 28px;
  display: flex;
  gap: 8px;
  z-index: 3;
}
.hero-c__dot {
  height: 6px;
  width: 6px;
  border-radius: 3px;
  background: rgba(255,255,255,.3);
  animation: dotActive 24s infinite;
}
.hero-c__dot--1 { animation-delay: 0s; }
.hero-c__dot--3 { animation-delay: 6s; }
.hero-c__dot--4 { animation-delay: 12s; }
.hero-c__dot--5 { animation-delay: 18s; }
@keyframes dotActive {
  0%, 3%    { background: rgba(255,255,255,.3); width: 6px; }
  5%, 18%   { background: #90D4EE; width: 20px; }
  21%, 100% { background: rgba(255,255,255,.3); width: 6px; }
}

/* スクロールインジケーター */
.hero-c__scroll {
  position: absolute;
  bottom: 32px;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.4);
  font-size: 11px;
  letter-spacing: .12em;
  pointer-events: none;
  z-index: 10;
}
.hero-c__scroll-line {
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, rgba(255,255,255,.4), transparent);
  animation: scrollLine 2s ease-in-out infinite;
}

/* バッジ：左下 */
.hero-c__badge {
  position: absolute;
  bottom: 48px;
  left: 28px;
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
  padding: 18px 28px;
  z-index: 2;
  text-align: center;
  white-space: nowrap;
}
.hero-c__badge-num {
  font-size: 36px;
  font-weight: 900;
  color: #90D4EE;
  line-height: 1;
  letter-spacing: -.04em;
}
.hero-c__badge-label { font-size: 11px; color: rgba(255,255,255,.55); margin-top: 6px; letter-spacing: .04em; }

/* ================================================
   Hero Catchcopy — Float Up on Load
   ================================================ */
@keyframes heroEmerge {
  from {
    opacity: 0;
    filter: blur(6px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}

.hero-c__eyebrow {
  animation: heroEmerge 1.6s ease-in-out 1.6s both;
}
.hero-c__title {
  animation: heroEmerge 1.8s ease-in-out 1.9s both;
}
.hero-c__desc {
  animation: heroEmerge 1.6s ease-in-out 2.3s both;
}
.hero-c__actions {
  animation: heroEmerge 1.6s ease-in-out 2.6s both;
}
.hero-c__stats {
  animation: heroEmerge 1.6s ease-in-out 2.9s both;
}

/* ================================================
   Responsive
   ================================================ */
@media (max-width: 1024px) {
  .hero-c { grid-template-columns: 1fr; }
  .hero-c__right { height: 300px; }
  .hero-c__left {
    justify-content: flex-start;
    padding: 120px 6vw 60px;
  }
  .hero-c__left-inner { max-width: 100%; }
  .hero-c__badge { left: auto; right: 32px; transform: none; }
}
@media (max-width: 768px) {
  .hero-c__stats { gap: 20px; }
}
