

.engi_kv {
  height: 35vh;       /* 画面の高さに合わせる */
  min-height: 340px;   /* お好みで調整 */
  max-height: 85vh;
  display: flex;
  align-items: stretch;
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  box-shadow: none;
}

.kv2_section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 16px;
  box-sizing: border-box;
}

.kv2_container {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  margin-bottom: 60px;
}

.kv2_photo {
  flex: 1 1 45%;
  aspect-ratio: 1 / 1;   /* 正方形に固定 */
   overflow: hidden;      /* はみ出し部分を隠す */
}
.kv2_photo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;     /* はみ出しをトリミングしてスクエア内に収める */
  border-radius: 1px;
}

.kv2_text {
  flex: 1 1 55%;
  text-align: left;
  font-size: 0.8em;
}

/* 写真右・文左にしたいとき */
.kv2_container.reverse {
  flex-direction: row-reverse;
}

/* スマホ時 */
@media (max-width: 768px) {
  .kv2_container,
  .kv2_container.reverse {
    flex-direction: column;
    text-align: center;
  }
  .kv2_text {
    text-align: center;
  }
}
