/* ==== CONCEPT セクション (メインビジュアル直後) ====
 * ワインレッド×アイボリーの高級感トーンをメインビジュアルから継承。
 * 左=文章 / 右=写真2枚を高さで組み合わせた非対称レイアウトで、
 * 単純な「文左・写真右」に留まらない構成的な奥行きを出す。 */
.concept-section {
  background: var(--color-bg);
  position: relative;
}
.concept-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}
.concept-text { max-width: 34rem; }
.concept-eyebrow {
  font-family: 'Cinzel', var(--font-heading), serif;
  font-size: 0.85rem;
  letter-spacing: 0.32em;
  color: var(--color-accent);
  text-transform: uppercase;
  margin-bottom: 1rem;
  font-weight: 600;
}
.concept-title {
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 3.2vw, 2.4rem);
  line-height: 1.65;
  color: var(--color-heading-ink);
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 1.75rem;
}
.concept-divider {
  width: 3.5rem;
  height: 2px;
  background: var(--color-accent);
  margin-bottom: 1.75rem;
}
.concept-body {
  font-size: 1rem;
  line-height: 2;
  color: var(--color-text-muted);
  margin-bottom: 1.25rem;
}
.concept-body:last-child { margin-bottom: 0; }

/* 写真: 大小2枚を斜めにずらして重ね、平板な並びを避ける */
.concept-media {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  min-height: clamp(360px, 42vw, 560px);
}
.concept-figure {
  overflow: hidden;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow);
}
.concept-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.concept-figure--main {
  position: relative;
  width: 82%;
  aspect-ratio: 4/5;
  z-index: 1;
}
.concept-figure--sub {
  position: absolute;
  right: 0;
  bottom: -2.5rem;
  width: 46%;
  aspect-ratio: 1/1;
  z-index: 2;
  border: 6px solid var(--color-bg);
}

@media (max-width: 900px) {
  .concept-grid { grid-template-columns: 1fr; }
  .concept-text { max-width: none; }
  .concept-media { margin-top: 1rem; min-height: clamp(320px, 90vw, 420px); }
  .concept-figure--main { width: 78%; }
  .concept-figure--sub { bottom: -1.75rem; width: 48%; }
}
@media (max-width: 480px) {
  .concept-figure--main { width: 74%; }
  .concept-figure--sub { width: 52%; bottom: -1.25rem; }
}

.hux16-band {
  position: relative;
  overflow: hidden;
}
.hux16-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.hux16-band {
  aspect-ratio: 16/6;
  max-height: 460px;
}
.hux16-body {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding-top: 2.5rem;
}
.hux16-title {
  font-family: var(--font-heading);
  color: var(--color-heading-ink);
  margin-bottom: 1rem;
}
.hux16-text {
  color: var(--color-text-muted);
  line-height: 1.9;
  margin-bottom: 1.5rem;
}
.hux-btn {
  display: inline-block;
  padding: 0.9rem 2.2rem;
  border: 2px solid var(--color-heading-ink);
  color: var(--color-heading-ink);
  border-radius: var(--radius-btn);
  font-family: var(--font-heading);
  font-weight: 600;
  letter-spacing: 0.06em;
  transition: var(--transition);
}
.hux-btn:hover {
  background: var(--color-heading-ink);
  color: #fff;
  opacity: 1;
}
