/* ===============================
   ヒーローエリア wrapper
=============================== */
#wrap_slider {
  position: relative;
  width: 100%;
  height: 100vh; /* 全画面 */
  overflow: hidden;
  z-index: 10;
}

/* ===============================
   白背景レイヤー
=============================== */
.white-layer {
  position: absolute;
  inset: 0;
  background: #fff;
  z-index: 2;
  opacity: 1;
  transition: opacity 1.2s ease;
  pointer-events: none;
}

/* フェードアウト時 */
.white-layer.is-hide {
  opacity: 0;
}

/* ===============================
   背景画像レイヤー
=============================== */
.bg-wrap {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.bg-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  transition: opacity 1.2s ease;
}

/* フェードイン時 */
.bg-wrap img.is-show {
  opacity: 1;
}

/* ===============================
   SVG ライン
=============================== */
.pattern-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.2s ease;
  z-index: 3; /* 白より上、コンテンツより下 */
}

/* ラインを見せる時 */
.pattern-svg.is-active {
  opacity: 1;
  visibility: visible;
}

#wrap_slider .bg-wrap img.is-show {
  opacity: 1 !important;
}

#wrap_slider .white-layer.is-hide {
  opacity: 0 !important;
}

#animation-container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

#logo, #text {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: opacity 1s ease;
}



#logo-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 10; /* ★ここ重要：背景より上、SVGより上 */
  opacity: 0;
  pointer-events: none;
  transition: opacity 1s ease;
}

#slider-logo, #slider-text {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#slider-logo {
  width: 300px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#slider-text {
  margin-top: 40px;
  width: 400px;
  opacity: 0;
  transition: opacity 1s ease;
}

@keyframes flash {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}



.wrap2 {
  width: 100%;
  overflow: hidden;
  position: relative;
  height: 240px; /* liの高さに合わせて調整 */
}

/* スクロール用UL（オリジナル + クローン） */
#home03 .wrap2 .workslist,
#home03 .wrap2 .workslist.clone {
	position: absolute; /* ← これ重要。上下に並ばせない */
	top: 0;
	left: 0;
	display: flex;
	flex-wrap: nowrap;
	white-space: nowrap;
	gap: 20px;
	margin: 0;
	/*padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 25px;*/
	padding: 0;
	gap: 10px;
}

/* アイテム */
.wrap2 .workslist li {
  flex: 0 0 auto;
  width: 250px;
  list-style: none;
  opacity: 1;
}

.wrap2 .workslist li .ph {
  display: inline-block;
  height: 180px;
  overflow: hidden;
}
.wrap2 .workslist li .ph img {
  width: 250px;
  height: 180px;
  object-fit: cover;
}

.workslist h3 {
  background-color: #FFF;
  font-size: 0.8em;
  font-weight: normal;
  color: #333;
  margin-top: 0;
  border: none;
}









/* ===============================
   レスポンシブ対応（縦長画面）
=============================== */
@media (max-aspect-ratio: 16/10) {
  .bg-wrap img,
  .pattern-svg {
    /*object-fit: contain;*/
    width: auto;
    height: 100%;
  }
}





















