*{ box-sizing:border-box; }

body{
  margin:0;
  font-family: system-ui, -apple-system, "Noto Sans JP", sans-serif;
  color:#111;
  background:#fff;
}

.hero{
  display:flex;
  min-height:100vh;
}

/* 左 */
.hero-left{
  width:30%;
  padding-top:140px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.lead{
  font-size:24px;
  line-height:1.6;
  margin-top: 40px;
}

.links{
  list-style:none;
  padding:0;
  margin:0;
}

.links li{
  margin-bottom:10px;
}

.links a{
  text-decoration:none;
  color:#111;
  font-size:14px;
}

.meta{
  font-size:12px;
  line-height:1.6;
  color:#555;
}

/* 右 */
.hero-right video{
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width: 768px){
  .lead{
    font-size: 20px;
    line-height: 1.5;
    max-width: 90%;
  }
}

.hero-right{
  filter: brightness(.9);
}

.hero-left{
  width:50%;
  padding:60px;
  padding-left:70px; /* ← ここを足す */
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* 視認性調整（後付け） */
.links a{
  font-size:16px;
}

.meta{
  font-size:14px;
}

/* ===== Mobile Fix (最後に置く) ===== */
@media (max-width: 768px){

  .hero{
    flex-direction: column;
    min-height: auto;
  }

  .hero-left,
  .hero-right{
    width: 100% !important;
  }

  .hero-left{
    padding: 28px 22px !important;
    min-height: 60vh;
  }

  .hero-right{
    height: 40vh;
  }

  .hero-right video,
  .hero-right img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* 文字が縦詩になりすぎるのを防ぐ */
  .lead{
    font-size: 20px;
    line-height: 1.5;
    margin-top: 24px;
    letter-spacing: .02em;
  }
}