﻿/* PURPOSE */
.purpose {
 overflow: visible;
 height: auto;
 margin-top: -50px;
 padding: 160px 0;
}

.purpose__inner {
 display: grid;
 grid-template-columns: 1fr;
 align-items: center;
 width: 100%;
 margin-left: 0;
 margin-right: 0;
 padding: 0;
 margin-top: 600px;
 margin-bottom: 500px;
}

.purpose__img {
 width: 100%;
 border-radius: 8px;
}

.purpose__content {
 text-align: right;
}

.purpose__subtitle {
 font-size: 40px;
 font-weight: 700;
 margin: 16px 0;
}

.view-more-purpose {
}

/* PURPOSE セクション内の動画ラッパー */
.purpose__video-wrapper {
 margin-top: 100px;
 width: 100%;
 height: 100%;
 position: relative;
 padding-bottom: 0%; /* 16:9 比率 */

 background-image: url("https://strtaggervn.blob.core.windows.net/light-your-story-img/thumbnail.webp");
 background-size: cover;
 background-position: center center;
 background-repeat: no-repeat;
 overflow: hidden;
}

.purpose__video-wrapper > div,
.purpose__video-wrapper iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 border: none;
}

.purpose__video-wrapper iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%; /* ラッパー幅の100% */
 height: 100%;
 border: none;
}

.purpose__media {
 display: flex;
 justify-content: center;
 align-items: center;
}

.section-title-purpose {
 position: absolute;
 top: 10px;
}

/* ボタンを中央寄せ */
.purpose__video-controls {
 margin-top: 60px;
 text-align: center;
}

/* ボタンスタイル例 */
.purpose__video-controls .video-btn {
 padding: 8px 16px;
 margin: 0 8px;
 font-size: 16px;
 border: none;
 background-color: #333;

 border-radius: 4px;
 cursor: pointer;
 display: none;
}

.purpose__video-controls .video-btn:hover {
 opacity: 0.8;
}

/* ── Visual Wrapper ── */
.purpose__visual-wrapper {
 position: relative;
 width: 100%; /* 幅を100% に */
 max-width: none; /* 最大幅の制限を外す */
 margin: 0 auto;
 overflow: hidden;
}

/* ── サムネイルスライス ── */
.purpose__thumb-wrapper {
 display: flex; /* 横並び Flexbox */
 width: 100%;
 height: 100%;
 overflow: hidden;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
}

.thumb-slice {
 flex: 1;
 transition: transform 0.8s ease;
 background-repeat: no-repeat;
 background-size: 200% auto; /* 幅を200%に */
}

/* 画像パスはここで指定 */
.thumb-left {
 background-image: url("https://strtaggervn.blob.core.windows.net/light-your-story-img/thumbnail.webp");
 background-position: left center; /* 左半分 */
}

.thumb-right {
 background-image: url("https://strtaggervn.blob.core.windows.net/light-your-story-img/thumbnail.webp");
 background-position: right center; /* 右半分 */
}

/* split アニメーション */
.purpose__visual-wrapper.split .thumb-left {
 transform: translateX(-100%);
}

.purpose__visual-wrapper.split .thumb-right {
 transform: translateX(100%);
}

/* ── ビデオ領域 ── */
.purpose__media {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 1;
 opacity: 0; /* 初期は非表示 */
 transition: opacity 0.6s ease 0.8s; /* Split 終了後にフェードイン */
}

.purpose__video-wrapper {
 position: relative;
 width: 100%;
 height: 100%;

 padding-bottom: 60%;
}

.purpose__video-wrapper video {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

/* ── Split アニメーション発火時 ── */
.purpose__visual-wrapper.split .thumb-left {
 transform: translateX(-100%);
}

.purpose__visual-wrapper.split .thumb-right {
 transform: translateX(100%);
}

.purpose__visual-wrapper.split .purpose__media {
 opacity: 1;
}

.purpose__visual-wrapper,
.purpose__video-wrapper {
 overflow: visible;
}

.purpose__visual-wrapper.split .purpose__video-wrapper {
 /* サムネイル分割後にビデオを表示させる際、背景は不要なので透明に */
 background-image: none;
}

@media (max-width: 768px) {
 .purpose {
  height: 350px;
  margin-top: 70px;
  margin-bottom: 0px;
 }

 .purpose__inner {
  margin-top: 0px;
  margin-bottom: 0px;
 }

 .purpose__en_top {
  margin-left: -20px;
 }

 .section-title-purpose {
 }

 .purpose__media {
  width: 100%;
 }

 .purpose__video-wrapper {
  width: 100%;
  height: 100%;
  margin-top: 20px;
 }

 .view-more-purpose {
 }

 .section-title-purpose {
 }

 .purpose__visual-wrapper {
  width: 90%; /* 幅を100% に */
 }
}
