/* しお澤 演出 1.0.0（決まりは HP作成/デザイン_v1.6/DESIGN.md。動きはゆっくり・控えめに） */

/* 1. トップの写真：数秒かけてゆっくり寄る。文字は少し遅れて静かに現れる */
.shm-zoom .ltg-slide .swiper-slide { overflow: hidden; }
.shm-zoom .ltg-slide .swiper-slide-active .ltg-slide-item-img {
	animation: shm-zoom 9s cubic-bezier(.25, .1, .25, 1) both;
	transform-origin: 50% 55%;
	will-change: transform;
}
.shm-zoom .ltg-slide .swiper-slide-active .ltg-slide-text-title { animation: shm-rise 1.6s .35s cubic-bezier(.2, .6, .2, 1) both; }
.shm-zoom .ltg-slide .swiper-slide-active .ltg-slide-text-caption { animation: shm-rise 1.6s .75s cubic-bezier(.2, .6, .2, 1) both; }
.shm-zoom .ltg-slide .swiper-slide-active .btn { animation: shm-fade 1.4s 1.15s ease both; }
@keyframes shm-zoom { from { transform: scale(1); } to { transform: scale(1.07); } }
@keyframes shm-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes shm-fade { from { opacity: 0; } to { opacity: 1; } }

/* 2. 読み進めると、文章や写真が静かに浮かび上がる（JSが動ける時だけ隠す） */
.shm-reveal { opacity: 0; transform: translateY(18px); transition: opacity 1.1s ease, transform 1.1s cubic-bezier(.2, .6, .2, 1); }
.shm-reveal.shm-in { opacity: 1; transform: none; }

/* 3. 大きな見出しの金の線：上の縦線が降りてきて、下の横線が伸びる */
.shm-line .main-section h2.shm-line-h::before { transform: scaleY(0); transform-origin: top; transition: transform 1.2s .15s cubic-bezier(.2, .6, .2, 1); }
.shm-line .main-section h2.shm-line-h::after { transform: scaleX(0); transition: transform .9s .9s cubic-bezier(.2, .6, .2, 1); }
.shm-line .main-section h2.shm-line-h.shm-in::before { transform: scaleY(1); }
.shm-line .main-section h2.shm-line-h.shm-in::after { transform: scaleX(1); }

/* 4. トップの動画：写真の上に重ね、再生が始まってからふわっと切り替える */
/* .swiper-slide は Swiper 側で position: relative なので、動画はその中にぴったり重なる */
.shm-slide-video {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; opacity: 0; transition: opacity 1.6s ease; pointer-events: none;
}
.shm-slide-video.is-playing { opacity: 1; }
/* 動画の上にも写真と同じ暗い膜と文字が来るように重なり順を整える */
.ltg-slide .swiper-slide .ltg-slide-cover, .ltg-slide .swiper-slide .ltg-slide-text-set { z-index: 2; }

/* 動きを減らす設定・印刷では、すべて止めて普通に表示する */
@media (prefers-reduced-motion: reduce) {
	.shm-reveal, .shm-line .main-section h2.shm-line-h::before, .shm-line .main-section h2.shm-line-h::after { opacity: 1 !important; transform: none !important; transition: none !important; }
	.shm-slide-video { display: none !important; }
}
@media print {
	.shm-reveal, .shm-line .main-section h2.shm-line-h::before, .shm-line .main-section h2.shm-line-h::after { opacity: 1 !important; transform: none !important; }
	.shm-slide-video { display: none !important; }
}
