/*
LP専用スタイルシート - スワイプ型LP制作サービス
Contact Form 7対応版
Author: Fairy House
Version: 1.1.0
レスポンシブブレークポイント更新版
*/

/* 2スライド目の専用背景 */
.slide:nth-child(2) { 
    background: url('img/slide2-background.jpg') no-repeat center center;
    background-size: cover;
}

/* 新スライド - LPの現状（3スライド目） */
.slide:nth-child(3) {
    background: transparent;
    padding: 40px 20px;
}

.slide:nth-child(3) .slide-content {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

/* 新スライドのテキストエリア */
.slide:nth-child(3) .slide-new-text-area {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
}

.slide:nth-child(3) .slide-new-text-area h1 {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #616161;
    line-height: 42px;
    text-shadow: none;
}

.slide:nth-child(3) .slide-new-text-area .description-text {
    font-size: 16px;
    line-height: 1.6;
    color: #616161;
    text-shadow: none;
}

/* 新スライドの画像エリア */
.slide:nth-child(3) .slide-new-image-area {
    margin-top: 10px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide:nth-child(3) .slide-new-image-area img {
    max-width: 600px;
    width: 90%;
    height: auto;
}

/* 新スライド2 - 改善点を正確に把握（4スライド目） */
.slide:nth-child(8) {
    background: transparent;
    padding: 40px 20px;
}

.slide:nth-child(8) .slide-content {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

/* 新スライド2のテキストエリア */
.slide:nth-child(8) .slide-new-text-area {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
}

.slide:nth-child(8) .slide-new-text-area h1 {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #616161;
    line-height: 42px;
    text-shadow: none;
}

.slide:nth-child(8) .slide-new-text-area .description-text {
    font-size: 16px;
    line-height: 1.6;
    color: #616161;
    text-shadow: none;
}

/* 新スライド2の画像エリア */
.slide:nth-child(8) .slide-new-image-area {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide:nth-child(8) .slide-new-image-area img {
    max-width: 600px;
    width: 90%;
    height: auto;
}

/* 3スライド目の専用背景 */
.slide:nth-child(4) { 
    background: url('img/slide3-background.png') no-repeat center 120%;
    background-size: 100% 47%;
    padding: 0; /* パディングを削除 */
    overflow: hidden; /* はみ出し防止 */
}

/* 3スライド目のコンテンツ */
.slide:nth-child(4) .slide3-content {
    max-width: none;
    width: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}

/* 3スライド目のテキストコンテンツ */
.slide:nth-child(4) .slide3-text-content {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #616161;
    flex: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    padding-top: 30px;
    z-index: 3;
}

/* 3スライド目のタイトル */
.slide:nth-child(4) .slide3-title {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 20px;
    text-shadow: none;
    line-height: 1.6;
    color: #616161;
}

/* 3スライド目の説明文 */
.slide:nth-child(4) .slide3-description {
    font-size: 12px;
    line-height: 1.9;
    text-shadow: none;
    color: #616161;
}

/* アプリロゴエリア */
.slide:nth-child(4) .app-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 5px;
    flex-wrap: wrap;
}

/* 各アプリロゴ */
.slide:nth-child(4) .app-logo {
    width: 24%;
    height: auto;
    object-fit: contain;
}

/* 説明テキスト */
.slide:nth-child(4) .description-text {
    font-size: 12px;
    line-height: 1.9;
    color: #616161;
    margin: 0;
    text-shadow: none;
}

/* スマホフレームコンテナ */
.slide:nth-child(4) .phone-frame-container {
    position: absolute;
    bottom: -10%;
    right: -10%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Instagramアイコン */
.slide:nth-child(4) .instagram-icon {
    position: absolute;
    top: 12%;
    left: 13%;
    transform: translateX(-50%);
    width: 9%;
    height: auto;
    z-index: 4;
    border-radius: 20%;
}

/* スマホフレーム画像 */
.slide:nth-child(4) .phone-frame {
    width: 73%;
    max-width: 506px;
    height: auto;
    z-index: 2;
    position: relative;
}

/* スマホ画面エリア */
.slide:nth-child(4) .phone-screen {
    position: absolute;
    top: 2%;
    left: 46%;
    transform: translateX(-50%);
    width: 42%;
    height: 81%;
    border-radius: 15px;
    overflow: hidden;
    z-index: 1;
}

/* スマホ内の動画 */
.slide:nth-child(4) .phone-video {
    width: 100%;
    height: 89%;
    object-fit: fill;
    border-radius: 15px;
}

/* スライド3の動画上の手のアイコン */
.slide:nth-child(4) .video-hand-icon {
    position: absolute;
    top: 50%;
    left: 80%;
    width: 50px;
    height: 50px;
    z-index: 5;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, -50%) translate3d(0,0,0);
    will-change: opacity, transform;
    animation: none; /* デフォルトではアニメーションなし */
}

/* スライド3がアクティブな時のみアニメーション */
.slide:nth-child(4).active .video-hand-icon {
    animation: videoHandSwipeSlide3 3.4s infinite ease-in-out;
}

.slide:nth-child(4) .video-hand-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* スライド3専用の動画上の手のアニメーション */
@keyframes videoHandSwipeSlide3 {
    0%, 22% { 
        opacity: 0; 
        transform: translate(-50%, -50%) translateY(30px) translate3d(0,0,0);
    }
    23% { 
        opacity: 0.1; 
        transform: translate(-50%, -50%) translateY(30px) translate3d(0,0,0);
    }
    25% { 
        opacity: 0.4; 
        transform: translate(-50%, -50%) translateY(15px) translate3d(0,0,0);
    }
    27% { 
        opacity: 0.6; 
        transform: translate(-50%, -50%) translateY(-5px) translate3d(0,0,0);
    }
    29% { 
        opacity: 0.7; 
        transform: translate(-50%, -50%) translateY(-25px) translate3d(0,0,0);
    }
    31% { 
        opacity: 0.8; 
        transform: translate(-50%, -50%) translateY(-45px) translate3d(0,0,0);
    }
    33% { 
        opacity: 0.8; 
        transform: translate(-50%, -50%) translateY(-65px) translate3d(0,0,0);
    }
    35% { 
        opacity: 0.8; 
        transform: translate(-50%, -50%) translateY(-85px) translate3d(0,0,0);
    }
    37% { 
        opacity: 0.8; 
        transform: translate(-50%, -50%) translateY(-105px) translate3d(0,0,0);
    }
    40% { 
        opacity: 0.8; 
        transform: translate(-50%, -50%) translateY(-120px) translate3d(0,0,0);
    }
    43% { 
        opacity: 0.8; 
        transform: translate(-50%, -50%) translateY(-140px) translate3d(0,0,0);
    }
    59% { 
        opacity: 0.2; 
        transform: translate(-50%, -50%) translateY(-140px) translate3d(0,0,0);
    }
    65%, 100% { 
        opacity: 0; 
        transform: translate(-50%, -50%) translateY(-140px) translate3d(0,0,0);
    }
}

/* 2スライド目のbusinessman画像 */
.slide:nth-child(2) .slide2-businessman {
    position: absolute;
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 600px;
    height: auto;
    z-index: 1;
    opacity: 0.7;
}

/* 2スライド目のコンテンツ */
.slide:nth-child(2) .slide2-content {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    position: relative;
    z-index: 2;
}

/* 2スライド目のメインタイトル */
.slide:nth-child(2) .slide2-title {
    font-weight: bold;
    margin-bottom: 40px;
    text-shadow: 0 0 5px rgba(68, 23, 23, 0.96);
    line-height: 1.2;
    text-align: left;
    margin-right: 100px;
}

/* 2スライド目のタイトル - 小さい部分（既存のLP型では） */
.slide:nth-child(2) .slide2-title-small {
    font-size: 2rem;
    display: inline-block;
}

/* 2スライド目のタイトル - 大きい部分（多くの課題が…） */
.slide:nth-child(2) .slide2-title-large {
    font-size: 2rem;
    display: inline-block;
    width: 100%;
}

/* 2スライド目の説明文 */
.slide:nth-child(2) .slide2-description {
    font-size: 19px;
    line-height: 1.8;
    margin-bottom: 50px;
    text-shadow: 0 0 5px rgba(68, 23, 23, 0.96), 1px 1px 2px rgba(0, 0, 0, 0.3);
    color: rgba(255, 255, 255, 0.95);
    list-style: none;
    padding: 0;
    text-align: left;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* 2スライド目の説明文リストアイテム */
.slide:nth-child(2) .slide2-description li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 15px;
}

/* 2スライド目の説明文チェックマーク */
.slide:nth-child(2) .slide2-description li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 24px;
    font-weight: bold;
    color: white;
    text-shadow: 0 0 5px rgba(68, 23, 23, 0.96);
}

/* 2スライド目の質問画像 */
.slide:nth-child(2) .slide2-question-image {
    max-width: 600px;
    width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* 新スライド - Designer Swipeはここが違う（6スライド目） */
.slide:nth-child(5) {
    background: transparent;
    padding: 40px 20px;
}

.slide:nth-child(5) .slide-content {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}

/* タイトルエリア */
.slide:nth-child(5) .slide-points-title {
    margin-bottom: 0;
    margin-top: 20px;
}

.slide:nth-child(5) .slide-points-title h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 21px;
    font-weight: bold;
    color: #616161;
    line-height: 1;
    flex-wrap: nowrap;
}

.slide:nth-child(5) .slide-points-title h1 span {
    text-shadow: none;
}

.slide:nth-child(5) .slide-points-logo {
    height: 32px;
    width: auto;
    display: inline-block;
}

/* ポイント画像グリッド */
.slide:nth-child(5) .slide-points-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    width: 100%;
    max-width: 100%;
}

.slide:nth-child(5) .point-image {
    width: 100%;
    height: auto;
    display: block;
}

/* スライド4のスタイル */
.slide:nth-child(10) {
    background: transparent;
    padding: 40px 20px;
}

/* スライド4がアクティブな時のみposition: relativeを適用 */
.slide:nth-child(10).active {
    position: relative;
}

/* スライド4のコンテンツスタイル */
.slide:nth-child(10) .slide4-content {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
    text-align: left;
    color: #666;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    height: 100%;
    position: relative;
    z-index: 10;
    padding-top: 120px;
    gap: 40px;
}

.slide:nth-child(10) .slide4-title {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #616161;
    line-height: 42px;
    text-shadow: none;
}

.slide:nth-child(10) .slide4-description {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #616161;
    max-width: 600px;
    text-shadow: none;
}

/* スライド4の左側テキストエリア */
.slide:nth-child(10) .slide4-text-area {
    flex: 1;
    max-width: 500px;
    padding-top: 80px;
}

/* スライド4の右側画像エリア */
.slide:nth-child(10) .slide4-image-area {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
    padding: 0;
    margin: 0;
}

/* 赤い形状画像（最背面） */
.slide:nth-child(10) .slide4-red-bg {
    position: absolute;
    top: 50%;
    left: 49%;
    transform: translate(-50%, -50%);
    width: calc(100vw * 0.6);
    max-width: 300px;
    height: auto;
    z-index: 1;
    opacity: 1;
}

/* 女性の画像（中間層） */
.slide:nth-child(10) .slide4-woman {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 220px;
    height: auto;
    z-index: 3;
    border-radius: 0;
    overflow: hidden;
    opacity: 1;
}

/* ピンク背景画像（前面・穴あきも） - デフォルトで非表示 */
.slide:nth-child(10) .slide4-pink-overlay {
    position: absolute;
    top: 55%;
    left: 0%;
    width: 100%;
    z-index: 5;
    opacity: 1;
    display: none; /* スマホ以外では非表示 */
}

/* スライド8のスタイル */
.slide:nth-child(11) {
    background: transparent;
    padding: 40px 20px;
}

/* スライド8がアクティブな時のみposition: relativeを適用 */
.slide:nth-child(11).active {
    position: relative;
}

/* スライド8のピンク背景画像 */
.slide:nth-child(11) .slide8-pink-bg {
    position: absolute;
    top: 50%;
    right: -50px;
    transform: translateY(-50%);
    width: calc(100vw * 0.8);
    max-width: 600px;
    height: auto;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.6s ease;
}

/* スライド8がアクティブな時のみピンク背景を表示 */
.slide:nth-child(11).active .slide8-pink-bg {
    opacity: 1;
}

/* スライド8のコンテンツスタイル */
.slide:nth-child(11) .slide-content {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    position: relative;
    z-index: 10;
    padding-top: 120px;
}

/* スライド8のオプションコンテナ */
.slide:nth-child(11) .slide8-options-container {
    margin-top: 30px;
    position: relative;
    right: -200px;
    z-index: 5;
    display: flex;
    flex-direction: row; /* PC版は横並び */
    justify-content: center;
    align-items: stretch; /* 高さを揃える */
    gap: 40px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

/* スライド8のグラフ画像（縦長）- PC版では左側 */
.slide:nth-child(11) .slide8-graph-image {
    width: auto;
    max-width: 434px;
    height: auto;
    flex-shrink: 0;
    align-self: flex-start; /* 引き延ばしを防ぐ */
}

/* スライド8のオプショングループ - PC版では右側に縦並び */
.slide:nth-child(11) .slide8-options-group {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 3つの画像を均等に配置 */
    gap: 20px;
    flex-shrink: 0;
    height: 100%; /* グラフの高さに合わせる */
    max-width: 192px;
}

/* スライド8の各オプション画像 */
.slide:nth-child(11) .slide8-option-item {
    width: 100%;
    max-width: 250px;
    height: auto;
    flex: 1; /* 高さを均等に */
    object-fit: contain; /* アスペクト比を維持 */
}

/* スライド5の基本レイアウト（モバイル版基準） */
.slide:nth-child(9) .slide-content {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}

/* スライド5のテキストエリア基本スタイル */
.slide:nth-child(9) .slide5-text-area {
    margin-bottom: 25px;
}

/* スライド5の料金表エリア基本スタイル */
.slide:nth-child(9) .slide5-price-area {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide:nth-child(9) .slide5-price-area img {
    max-width: 400px;
    height: auto;
}

/* スライド6の基本レイアウト（モバイル版基準） */
.slide:nth-child(7) .slide-content {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}

/* スライド6のテキストエリア基本スタイル */
.slide:nth-child(7) .slide6-text-area {
    display: flex;
    flex-direction: column;
    text-align: center;
    width: 100%;
}

/* スライド6のh1基本スタイル（モバイル版：最上部） */
.slide:nth-child(7) .slide6-text-area h1 {
    order: 1;
    margin-bottom: 30px;
}

/* スライド6のp基本スタイル（モバイル版：最下部） */
.slide:nth-child(7) .slide6-text-area p {
    order: 3;
    margin-bottom: 0;
}

/* スライド6のデモエリア基本スタイル（モバイル版：中央） */
.slide:nth-child(7) .slide6-demo-area {
    order: 2;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
}

/* スライド7,12の基本スタイル */
.slide:nth-child(6) .slide-content,
.slide:nth-child(15) .slide-content {
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    color: #616161;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.slide:nth-child(9) h1,
.slide:nth-child(7) h1,
.slide:nth-child(7) .slide6-text-area h1,
.slide:nth-child(6) h1,
.slide:nth-child(11) h1,
.slide:nth-child(12) h1,
.slide:nth-child(13) h1,
.slide:nth-child(14) h1,
.slide:nth-child(15) h1,
.slide:nth-child(16) h1 {
    font-size: 21px;
    font-weight: bold;
    color: #616161;
    text-shadow: none;
    line-height: 42px;
    margin-bottom: 20px;
}

/* スライド6のタイトル専用スタイル */
.slide:nth-child(7) .slide6-text-area h1 {
    margin-bottom: 30px;
}

/* スライド6〜10のレイアウトも同じに */
.slide:nth-child(7) .slide-content,
.slide:nth-child(6) .slide-content,
.slide:nth-child(15) .slide-content,
.slide:nth-child(16) .slide-content {
    justify-content: flex-start;
}

/* スライド5の本文をスライド4と同じスタイルに */
.slide:nth-child(9) p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 25px;
    color: #616161;
    max-width: 600px;
    text-shadow: none;
}

/* スライド6の本文をスライド4と同じスタイルに */
.slide:nth-child(7) p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px;
    color: #616161;
    max-width: 600px;
    text-shadow: none;
}

/* スライド7〜12の本文をスライド4と同じスタイルに */
.slide:nth-child(6) p,
.slide:nth-child(11) p,
.slide:nth-child(15) p,
.slide:nth-child(16) p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 30px;
    color: #616161;
    max-width: 600px;
    text-shadow: none;
}

/* スライド6の本文専用スタイル */
.slide:nth-child(7) p {
    margin-top: 40px;
    margin-bottom: 0;
}

/* === スライド13（運営会社）専用スタイル === */

/* スライド13の背景設定 */
.slide:nth-child(16) {
    background: transparent;
    position: relative;
}

/* スライド13の専用背景画像 */
.slide:nth-child(16) .slide12-background {
    position: absolute;
    bottom: -150px;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url('img/slide12-red-background.png') no-repeat center bottom;
    background-size: 100% auto;
    z-index: 1;
}

/* スライド13のコンテンツレイアウト */
.slide:nth-child(16) .slide-content {
    padding-top: 120px;
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    position: relative;
    z-index: 2;
}

/* スライド13のセクションタイトル（運営会社、メインアートディレクター） */
.slide:nth-child(16) .slide12-section-title {
    font-size: 16px;
    line-height: 1.6;
    color: #616161;
    margin: 0 0 20px 0;
    text-shadow: none;
}

/* メインアートディレクターセクションの上マージン */
.slide:nth-child(16) .slide12-director-section {
    margin-top: 40px;
}

/* スライド13の会社名（株式会社MERC） */
.slide:nth-child(16) .slide12-company-name {
    font-size: 21px;
    font-weight: bold;
    color: #616161;
    margin: 0 0 9px 0;
    line-height: 42px;
    text-shadow: none;
}

/* スライド13のディレクター情報コンテナ */
.slide:nth-child(16) .slide12-director-info {
    display: flex;
    justify-content: center;
    margin-bottom: 0px;
    align-items: baseline;
}

/* スライド13のディレクター名（三浦 清悟） */
.slide:nth-child(16) .slide12-director-name {
    font-size: 21px;
    font-weight: bold;
    color: #616161;
    margin: 0;
    line-height: 42px;
    text-shadow: none;
}

/* スライド13のディレクタータイトル（Fairy House 代表） */
.slide:nth-child(16) .slide12-director-title {
    font-size: 15px;
    color: #616161;
    line-height: 1.6;
    margin-left: 20px;
}

/* スライド13のURL */
.slide:nth-child(16) .slide12-company-url {
    font-size: 14px;
    color: #d6123b;
    text-decoration: none;
    transition: color 0.3s ease;
    margin-bottom: 9px;
}

.slide:nth-child(16) .slide12-company-url:hover {
    color: #b8102f;
    text-decoration: underline;
}

/* スライド13のお問い合わせリンク */
.slide:nth-child(16) .slide12-contact-link {
    font-size: 15px;
    color: #d6123b;
    text-decoration: none;
    transition: color 0.3s ease;
    margin-top: 20px;
    margin-bottom: 9px;
    display: inline-block;
    font-weight: 400;
}

.slide:nth-child(16) .slide12-contact-link:hover {
    color: #b8102f;
    text-decoration: underline;
}

/* スライド13のフッター（ロゴ・コピーライト） */
.slide:nth-child(16) .slide12-footer {
    margin-top: auto;
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

/* スライド13のロゴ */
.slide:nth-child(16) .slide12-logo {
    width: auto;
    height: 40px;
    object-fit: contain;
}

/* スライド13のコピーライト */
.slide:nth-child(16) .slide12-copyright {
    font-size: 12pt;
    color: white;
    text-shadow: none;
    margin: 0;
    line-height: 1.4;
}

/* === スライド6専用デモスタイル === */

/* スライド6のデモコンテナ */
.slide:nth-child(7) .slide6-demos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    position: relative;
}

/* スライド6の各デモ */
.slide:nth-child(7) .slide6-demo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* スライド6の中央デモ（重なり用） */
.slide:nth-child(7) .slide6-demo.center-demo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

/* スライド6の中央画面（15%大きく） */
.slide:nth-child(7) .slide6-demo.center-demo .slide6-screen {
    width: 239px;
    height: 511px;
}

/* スライド6の画面（フレームなし） */
.slide:nth-child(7) .slide6-screen {
    width: 208px;
    height: 444px;
    background: #000;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 0px 8px rgba(0, 0, 0, 0.4);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

/* スライド6のスライダーコンテナ */
.slide:nth-child(7) .slide6-slider-container {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

/* スライド6の縦スライダー */
.slide:nth-child(7) .slide6-slider.vertical-slider {
    width: 100%;
    height: 300%;
    position: absolute;
    animation: slide6VerticalSlide 4s infinite linear;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    will-change: transform;
    background: transparent;
}

/* スライド6の横スライダー */
.slide:nth-child(7) .slide6-slider.horizontal-slider {
    width: 300.1%;
    height: 100%;
    position: absolute;
    display: flex;
    animation: slide6HorizontalSlide 3.4s infinite ease-in-out;
}

/* スライド6のデモスライド */
.slide:nth-child(7) .slide6-slide-demo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    background: transparent;
}

/* スライド6の縦スライダーのスライド */
.slide:nth-child(7) .slide6-slider.vertical-slider .slide6-slide-demo {
    width: 100%;
    height: 33.333%;
}

/* スライド6の横スライダーのスライド */
.slide:nth-child(7) .slide6-slider.horizontal-slider .slide6-slide-demo {
    width: 33.4%;
    height: 100%;
}

/* スライド6の画像スタイル */
.slide:nth-child(7) .slide6-slide-demo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    display: block;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-filter: blur(0);
    filter: blur(0);
    image-rendering: -webkit-optimize-contrast;
    image-rendering: optimize-contrast;
}

/* === スライド6の動画・静止画像スタイル === */

/* スライド6の左動画 */
.slide:nth-child(7) .slide6-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

/* スライド6の右静止画像 */
.slide:nth-child(7) .slide6-static-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

/* スライド6の縦スライドアニメーション */
@keyframes slide6VerticalSlide {
    0% { 
        transform: translate3d(0, 0, 0); 
        -webkit-transform: translate3d(0, 0, 0);
    }
    20% { 
        transform: translate3d(0, 0, 0); 
        -webkit-transform: translate3d(0, 0, 0);
    }
    25% { 
        transform: translate3d(0, -16.666%, 0); 
        -webkit-transform: translate3d(0, -16.666%, 0);
    }
    30% { 
        transform: translate3d(0, -33.333%, 0); 
        -webkit-transform: translate3d(0, -33.333%, 0);
    }
    50% { 
        transform: translate3d(0, -33.333%, 0); 
        -webkit-transform: translate3d(0, -33.333%, 0);
    }
    55% { 
        transform: translate3d(0, -50%, 0); 
        -webkit-transform: translate3d(0, -50%, 0);
    }
    60% { 
        transform: translate3d(0, -66.666%, 0); 
        -webkit-transform: translate3d(0, -66.666%, 0);
    }
    90% { 
        transform: translate3d(0, -66.666%, 0); 
        -webkit-transform: translate3d(0, -66.666%, 0);
    }
    95% { 
        transform: translate3d(0, -33.333%, 0); 
        -webkit-transform: translate3d(0, -33.333%, 0);
    }
    100% { 
        transform: translate3d(0, 0, 0); 
        -webkit-transform: translate3d(0, 0, 0);
    }
}

/* スライド6の横スライドアニメーション */
@keyframes slide6HorizontalSlide {
    0% { transform: translateX(0); }
    22% { transform: translateX(0); }
    
    26% { transform: translateX(-33.4%); }
    54% { transform: translateX(-33.4%); }
    
    58% { transform: translateX(-66.8%); }
    97% { transform: translateX(-66.8%); }
    
    100% { transform: translateX(0); }
}

/* === スライド9・10専用Q&Aスタイル === */

/* スライド9のQ&Aコンテナ */
.slide:nth-child(12) .slide9-qa-container,
.slide:nth-child(13) .slide10-qa-container {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* スライド9・10のQ&A画像 */
.slide:nth-child(12) .slide9-qa-image,
.slide:nth-child(13) .slide10-qa-image,
.slide:nth-child(15) .slide11-qa-image {
    width: 100%;
    max-width: 600px;
    height: auto;
}

/* スライド7のデモコンテナ */
.slide:nth-child(6) .slide7-demo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 30px 0;
    position: relative;
}

/* スライド7の左画像（フォーム画面） */
.slide:nth-child(6) .slide7-form-image {
    flex: none;
    z-index: 1;
}

.slide:nth-child(6) .slide7-form-image img {
    width: 300px;
    height: auto;
}

/* スライド7の右画像（完成LP） - 重ねて表示 */
.slide:nth-child(6) .slide7-result-image {
    flex: none;
    margin-left: -60px; /* 左画像の1/5程度重ねる */
    z-index: 2;
}

.slide:nth-child(6) .slide7-result-image img {
    width: 200px;
    height: auto;
}

/* スライド7の中央矢印 */
.slide:nth-child(6) .slide7-arrow {
    position: absolute;
    top: 50%;
    left: 52%;
    transform: translate(-50%, -50%);
    z-index: 3;
    pointer-events: none;
}

.slide:nth-child(6) .slide7-arrow img {
    width: 60px;
    height: auto;
}

/* === スライド11専用Contact Form 7スタイル（実際の構造対応版） === */

/* スライド11のコンテンツレイアウト */
.slide:nth-child(15) .slide-content {
    padding-top: 80px;
    max-width: 800px;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
}

/* スライド11のタイトル専用スタイル */
.slide:nth-child(15) h1 {
    font-size: 21px;
    font-weight: bold;
    color: #616161;
    text-shadow: none;
    line-height: 42px;
    margin-bottom: 20px;
}

/* Contact Form 7フォームの基本スタイル */
.slide:nth-child(15) .wpcf7-form {
    width: 100%;
    max-width: 600px;
    margin-top: 20px;
}

/* Contact Form 7のフォームグループ */
.slide:nth-child(15) .wpcf7-form p {
    margin-bottom: 20px;
    width: 100%;
}

/* Contact Form 7の入力フィールドコンテナ（実際の構造） */
.slide:nth-child(15) .wpcf7-form-control-wrap {
    position: relative;
    width: 100%;
    border-radius: 10px;
    background: rgba(136, 136, 136, 0.9);
    transition: all 0.3s ease;
    overflow: hidden;
    display: block;
}

/* フォーカス時のコンテナスタイル */
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 3px rgba(83, 60, 65, 0.4);
}

/* Contact Form 7の入力フィールド */
.slide:nth-child(15) .wpcf7-text,
.slide:nth-child(15) .wpcf7-email,
.slide:nth-child(15) .wpcf7-tel,
.slide:nth-child(15) input[type="text"],
.slide:nth-child(15) input[type="email"],
.slide:nth-child(15) input[type="tel"] {
    width: 100%;
    height: 34px;
    border: none;
    background: transparent;
    padding: 0 15px 0 46px;
    font-size: 16px;
    color: white;
    font-family: noto-sans, sans-serif;
    outline: none;
    box-sizing: border-box;
}

/* プレースホルダーの色 */
.slide:nth-child(15) .wpcf7-text::placeholder,
.slide:nth-child(15) .wpcf7-email::placeholder,
.slide:nth-child(15) .wpcf7-tel::placeholder,
.slide:nth-child(15) input[type="text"]::placeholder,
.slide:nth-child(15) input[type="email"]::placeholder,
.slide:nth-child(15) input[type="tel"]::placeholder {
    color: rgba(255, 255, 255, 0.8);
}

/* フォーカス時の入力フィールド */
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-text,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-email,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-tel,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within input[type="text"],
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within input[type="email"],
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within input[type="tel"] {
    color: #333;
}

.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-text::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-email::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-tel::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within input[type="text"]::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within input[type="email"]::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within input[type="tel"]::placeholder {
    color: rgba(0, 0, 0, 0.5);
}

/* Contact Form 7のテキストエリア */
.slide:nth-child(15) .wpcf7-textarea,
.slide:nth-child(15) textarea {
    width: 100%;
    height: 80px;
    min-height: 80px;
    max-height: 80px;
    border: none;
    background: transparent;
    padding: 28px 15px 28px 46px; /* 上下のpaddingを大きくして中央に */
    font-size: 16px;
    color: white;
    font-family: noto-sans, sans-serif;
    outline: none;
    resize: none;
    overflow-y: auto;
    line-height: 1.4;
    box-sizing: border-box;
    display: flex;
    align-items: center; /* 垂直中央揃え */
}

.slide:nth-child(15) .wpcf7-textarea::placeholder,
.slide:nth-child(15) textarea::placeholder {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.2; /* プレースホルダーのline-heightを調整 */
}

/* フォーカス時の調整 */
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-textarea,
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within textarea {
    padding-top: 15px; /* フォーカス時は通常のpaddingに戻す */
    align-items: flex-start; /* テキスト入力時は上揃えに */
}

/* テキストエリアのアイコンを垂直中央に配置 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"]::before {
    display: none;
    content: "\f304";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%; /* 垂直中央 */
    transform: translateY(-50%); /* 垂直中央揃え */
    color: white;
    font-size: 15px;
    z-index: 2;
}

/* アイコン設定（data-name属性で判定） */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-name"]::before {
    content: "\f007";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 15px;
    z-index: 2;
}

.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="company-name"]::before {
    content: "\f1ad";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 15px;
    z-index: 2;
}

.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-email"]::before {
    content: "\f0e0";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 15px;
    z-index: 2;
}

.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-tel"]::before {
    content: "\f095";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 15px;
    z-index: 2;
}

.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-address"]::before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: white;
    font-size: 15px;
    z-index: 2;
}

/* フォーカス時もアイコンは中央のまま */
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within[data-name="your-message"]::before {
    color: #616161;
    top: 50%; /* 中央を維持 */
    transform: translateY(-50%); /* 中央揃えを維持 */
}

/* フォーカス時のアイコン色変更 */
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within::before {
    color: #616161;
}

/* サービス選択タイトル */
.slide:nth-child(15) .slide11-service-title {
    display: block;
    font-size: 13px;
    color: #616161;
    margin-bottom: 13px;
    text-align: center;
    font-weight: 500;
}

/* Contact Form 7のチェックボックス */
.slide:nth-child(15) .slide11-checkbox {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px 15px;
    margin-bottom: 10px;
}

/* チェックボックス各項目 */
.slide:nth-child(15) .slide11-checkbox .wpcf7-list-item {
    display: flex;
    align-items: flex-start;
    margin: 0;
    font-size: 10px;
    color: #616161;
}

/* チェックボックスのwpcf7-form-control-wrapは背景なし */
.slide:nth-child(15) .slide11-checkbox .wpcf7-form-control-wrap {
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
    border-radius: 0;
}

/* 元のチェックボックスを非表示 */
.slide:nth-child(15) .slide11-checkbox input[type="checkbox"] {
    display: none;
}

/* カスタムチェックボックス */
.slide:nth-child(15) .slide11-checkbox .wpcf7-list-item-label {
    position: relative;
    padding-left: 26px;
    cursor: pointer;
    line-height: 1.3;
    font-size: 10px;
    color: #616161;
}

.slide:nth-child(15) .slide11-checkbox .wpcf7-list-item-label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    border: 2px solid #ddd;
    border-radius: 4px;
    background: white;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

/* チェック済み */
.slide:nth-child(15) .slide11-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    background: #d6123b;
    border-color: #d6123b;
}

/* チェックマーク */
.slide:nth-child(15) .slide11-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    content: '✓';
    position: absolute;
    left: 4px;
    top: 3px;
    color: white;
    font-size: 12px;
    font-weight: bold;
}

/* 必須項目注記 */
.slide:nth-child(15) .slide11-required-note {
    color: #616161;
    margin: 0;
    text-align: center;
}

.slide:nth-child(15) .slide11-required-note p{
    margin: 0 !important;
    font-size: 13px !important;
}

/* Contact Form 7の送信ボタン */
.slide:nth-child(15) .slide11-submit-button,
.slide:nth-child(15) .wpcf7-submit {
    width: 100%;
    height: 42px;
    background: #d6123b;
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: noto-sans, sans-serif;
    margin-top: 10px;
}

.slide:nth-child(15) .slide11-submit-button:hover,
.slide:nth-child(15) .wpcf7-submit:hover {
    background: #b8102f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(214, 18, 59, 0.4);
}

/* Contact Form 7のバリデーションメッセージ */
.slide:nth-child(15) .wpcf7-not-valid-tip {
    color: #d6123b;
    font-size: 12px;
    margin-top: 5px;
}

.slide:nth-child(15) .wpcf7-response-output {
    margin: 20px 0;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
}

.slide:nth-child(15) .wpcf7-mail-sent-ok {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.slide:nth-child(15) .wpcf7-validation-errors,
.slide:nth-child(15) .wpcf7-mail-sent-ng {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* チェックボックス部分の背景を完全に削除（強制上書き） */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="services"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="services"] * {
    background: transparent !important;
    padding-bottom: 10px;
}

.slide:nth-child(15) .slide11-checkbox .wpcf7-form-control-wrap {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.slide:nth-child(15) .wpcf7-checkbox {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.slide:nth-child(15) .wpcf7-checkbox .wpcf7-list-item {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.slide:nth-child(15) .wpcf7-checkbox .wpcf7-list-item-label {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Contact Form 7のバリデーションメッセージ - 入力欄内に表示 */
.slide:nth-child(15) .wpcf7-not-valid-tip {
    position: absolute;
    top: 50%;
    left: 46px;
    transform: translateY(-50%);
    color: #ffffff;
    font-size: 16px;
    margin: 0;
    background: transparent;
    z-index: 10;
    pointer-events: none;
}

/* エラー時はプレースホルダーを非表示（より確実な方法） */
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .wpcf7-text::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .wpcf7-email::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .wpcf7-tel::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) input[type="text"]::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) input[type="email"]::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) input[type="tel"]::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .wpcf7-textarea::placeholder,
.slide:nth-child(15) .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) textarea::placeholder,
.slide:nth-child(15) .wpcf7-not-valid::placeholder,
.slide:nth-child(15) input.wpcf7-not-valid::placeholder,
.slide:nth-child(15) textarea.wpcf7-not-valid::placeholder,
.slide:nth-child(15) .wpcf7-form-control.wpcf7-not-valid::placeholder {
    opacity: 0 !important;
    color: transparent !important;
    display: none !important;
}

/* エラー状態の入力フィールドに対してもプレースホルダーを非表示 */
.slide:nth-child(15) input.wpcf7-not-valid,
.slide:nth-child(15) textarea.wpcf7-not-valid {
    color: #333 !important;
}

.slide:nth-child(15) input.wpcf7-not-valid::placeholder,
.slide:nth-child(15) textarea.wpcf7-not-valid::placeholder {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* フォーカス時でもエラー状態のプレースホルダーは非表示 */
.slide:nth-child(15) input.wpcf7-not-valid:focus::placeholder,
.slide:nth-child(15) textarea.wpcf7-not-valid:focus::placeholder {
    opacity: 0 !important;
    visibility: hidden !important;
}

/* テキストエリアのエラーメッセージ位置調整 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"] .wpcf7-not-valid-tip {
    top: 25px;
    transform: none;
}

/* チェックボックス専用エラーメッセージスタイル */

/* チェックボックスのエラーメッセージをチェックボックス下の中央に表示 */
.slide:nth-child(15) .slide11-checkbox .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-checkbox .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="services"] .wpcf7-not-valid-tip,
.slide:nth-child(15) [data-name="services"] .wpcf7-not-valid-tip {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    color: #d6123b !important;
    font-size: 13px !important;
    margin: 10px 0 0 0 !important;
    background: transparent !important;
    z-index: 10 !important;
    pointer-events: none !important;
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 他の入力フィールドのエラーメッセージは元の位置（フィールド内）に表示 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-name"] .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="company-name"] .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-email"] .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-tel"] .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-address"] .wpcf7-not-valid-tip {
    position: absolute !important;
    top: 50% !important;
    left: 46px !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    margin: 0 !important;
    background: transparent !important;
    z-index: 10 !important;
    pointer-events: none !important;
    display: block !important;
    text-align: left !important;
    width: auto !important;
}

/* テキストエリアのエラーメッセージ位置調整 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"] .wpcf7-not-valid-tip {
    position: absolute !important;
    top: 50% !important;
    left: 46px !important;
    transform: translateY(-50%) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    margin: 0 !important;
    background: transparent !important;
    z-index: 10 !important;
    pointer-events: none !important;
    display: block !important;
    text-align: left !important;
    width: auto !important;
}

/* === Contact Form 7送信完了時の表示制御（修正版） === */

/* デフォルトでレスポンス出力エリアを非表示 */
.slide:nth-child(15) .wpcf7-response-output {
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
}

/* 送信成功時のメッセージ表示（詳細度を上げて確実に適用） */
.slide:nth-child(15) .wpcf7 form.sent .wpcf7-response-output,
.slide:nth-child(15) .wpcf7-form.sent .wpcf7-response-output,
.slide:nth-child(15) .wpcf7-response-output.wpcf7-mail-sent-ok {
    opacity: 1 !important;
    height: 42px !important;
    width: 100% !important;
    background: #28a745 !important;
    color: white !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: bold !important;
    font-family: noto-sans, sans-serif !important;
    margin: -35px 0 0 0 !important;
    padding: 0 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    overflow: visible !important;
    box-shadow: none !important;
}

/* エラーメッセージ表示時のスタイル */
.slide:nth-child(15) .wpcf7-response-output.wpcf7-validation-errors,
.slide:nth-child(15) .wpcf7-response-output.wpcf7-mail-sent-ng {
    opacity: 1 !important;
    height: auto !important;
    min-height: 42px !important;
    width: 100% !important;
    background: #dc3545 !important;
    color: white !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: normal !important;
    font-family: noto-sans, sans-serif !important;
    margin: -35px 0 0 0 !important;
    padding: 10px 15px !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.4 !important;
    overflow: visible !important;
}

/* 送信成功時に送信ボタンを非表示 */
.slide:nth-child(15) .wpcf7 form.sent .wpcf7-submit,
.slide:nth-child(15) .wpcf7-form.sent .wpcf7-submit {
    display: none !important;
}

/* Contact Form 7のデフォルトスタイルを完全に上書き */
.slide:nth-child(15) .wpcf7 form.sent .wpcf7-response-output * {
    color: white !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === テキストエリアフォーカス時のエラーメッセージ非表示 === */

/* テキストエリアがフォーカスされた時にエラーメッセージを非表示 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"]:focus-within .wpcf7-not-valid-tip {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

/* テキストエリア内のtextareaがフォーカスされた時も確実に非表示 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"] .wpcf7-textarea:focus ~ .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"] textarea:focus ~ .wpcf7-not-valid-tip {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

/* より確実にするため、フォーカス状態の時はエラーメッセージを非表示 */
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"]:has(.wpcf7-textarea:focus) .wpcf7-not-valid-tip,
.slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"]:has(textarea:focus) .wpcf7-not-valid-tip {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

/* その他の入力フィールドもフォーカス時にエラーメッセージ非表示（念のため） */
.slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-not-valid-tip {
    opacity: 0 !important;
    visibility: hidden !important;
    display: none !important;
}

/* === 基本スタイル === */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* === 基本スタイル（LP専用ページのみ） === */

/* LP専用のbodyスタイル */
body.swipe-lp-page {
    font-family: noto-sans, sans-serif;
    overflow: hidden;
    background: url('img/background.jpg') no-repeat center center fixed;
    background-size: cover;
}

/* LP専用のリセット */
body.swipe-lp-page * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* === ユーティリティクラス === */

/* スマホでのみ表示 */
.visible-sp {
    display: none;
}

@media (max-width: 767px) {
    .visible-sp {
        display: block;
    }
}

/* ローディング画面 */
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    overflow: hidden;
}

.loading-screen.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.loading-fullscreen-image {
    display: block;
    max-width: none;
    max-height: none;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    object-position: center;
    animation: loadingPulse 2s ease-in-out infinite;
}

/* 軽微なアニメーション効果 */
@keyframes loadingPulse {
    0% { opacity: 0.95; }
    50% { opacity: 1; }
    100% { opacity: 0.95; }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.swipe-container {
    position: relative;
    width: 100vw;
    height: 100vh; /* フォールバック */
    height: var(--viewport-height, 100vh); /* 動的ビューポート高さ */
    overflow: hidden;
}

.slide {
    position: absolute;
    width: 100%;
    height: 100vh; /* フォールバック */
    height: var(--viewport-height, 100vh); /* 動的ビューポート高さ */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding: 20px;
    padding-bottom: calc(20px + env(safe-area-inset-bottom)); /* Instagram帯対策 */
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform: translateY(100%);
}

/* スライド1のレイアウト変更 */
.slide:nth-child(1) {
    align-items: center;
    justify-content: center;
}

.slide.active {
    transform: translateY(0);
}

.slide.prev {
    transform: translateY(-100%);
}

.slide-content {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    max-height: 650px;
    height: 100%;
}

/* スライド1のロゴ */
.slide:nth-child(1) .slide-logo {
    position: absolute;
    top: calc(50% - 250px - 0px - 55px);
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 800px;
    z-index: 10;
}

.slide:nth-child(1) .slide-logo img {
    width: 71px;
    height: 55px;
    display: block;
}

/* スライド1のコンテンツエリア調整 */
.slide:nth-child(1) .slide-content--with-logo {
    /* margin-topなし、中央配置に任せる */
}

.slide h1 {
    font-size: 3rem;
    color: white;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    font-weight: 300;
}

/* スライド1のh1専用スタイル */
.slide:nth-child(1) h1 {
    font-size: 25px;
    color: #d93c5b;
    text-shadow: none;
    text-align: center;
    font-weight: bold;
    line-height: 42px;
    margin-bottom: 0;
    margin-top: 0;
}

.slide:nth-child(1) h1 strong {
    font-size: 34px;
    font-weight: bold;
}

/* スライド1の価格画像 */
.slide:nth-child(1) .price-image {
    margin-top: -10px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: auto;
    max-width: 400px;
    width: 100%;
}

/* スライド1のスマホデモ */
.slide:nth-child(1) .smartphone-demos {
    position: absolute;
    top: 39%;
    left: 50%;
    transform: translate(-50%, -20%);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
}

.slide:nth-child(1) .smartphone-demo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* スマホフレーム */
.slide:nth-child(1) .smartphone-frame {
    width: 220px;
    height: 456px;
    background: #1a1a1a;
    border-radius: 25px;
    padding: 6px;
    box-shadow: 
        0 0 0 2px #333,
        -2.5px 4.3px 6px rgba(0,0,0,0.22),
        inset 0 0 0 1px #444;
    position: relative;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}

/* スマホラベル */
.slide:nth-child(1) .smartphone-label {
    margin-top: 15px;
    text-align: center;
    font-size: 16px;
    color: #616161;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* スマホ画面 */
.slide:nth-child(1) .smartphone-screen {
    width: 100%;
    height: 100%;
    background: #000;
    border-radius: 19px;
    overflow: hidden;
    position: relative;
}

/* ノッチ */
.slide:nth-child(1) .notch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 18px;
    background: #1a1a1a;
    border-radius: 0 0 12px 12px;
    z-index: 10;
}

.slide:nth-child(1) .notch::after {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background: #4a5568;
    border-radius: 50%;
}

/* スライダーコンテナ */
.slide:nth-child(1) .slider-container {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

/* 縦スライダー */
.slide:nth-child(1) .vertical-slider {
    width: 100%;
    height: 300%;
    position: absolute;
    animation: verticalSlide 3.4s infinite ease-in-out;
}

/* 横スライダー */
.slide:nth-child(1) .horizontal-slider {
    width: 300%;
    height: 100%;
    position: absolute;
    display: flex;
    animation: horizontalSlide 3.4s infinite ease-in-out;
}

/* デモスライド */
.slide:nth-child(1) .slide-demo {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* 縦スライダーのスライド */
.slide:nth-child(1) .vertical-slider .slide-demo {
    width: 100%;
    height: 33.333%;
}

/* 横スライダーのスライド */
.slide:nth-child(1) .horizontal-slider .slide-demo {
    width: 33.333%;
    height: 100%;
}

/* 画像スタイル */
.slide:nth-child(1) .slide-demo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* 縦スライドアニメーション */
@keyframes verticalSlide {
    0% { transform: translateY(0); }
    22% { transform: translateY(0); }
    
    26% { transform: translateY(-33.333%); }
    54% { transform: translateY(-33.333%); }
    
    58% { transform: translateY(-66.666%); }
    97% { transform: translateY(-66.666%); }
    
    100% { transform: translateY(0); }
}

/* 横スライドアニメーション */
@keyframes horizontalSlide {
    0% { transform: translateX(0); }
    22% { transform: translateX(0); }
    
    26% { transform: translateX(-33.333%); }
    54% { transform: translateX(-33.333%); }
    
    58% { transform: translateX(-66.666%); }
    97% { transform: translateX(-66.666%); }
    
    100% { transform: translateX(0); }
}

/* サイドボタン */
.slide:nth-child(1) .side-button {
    position: absolute;
    left: -2px;
    width: 2px;
    background: #333;
    border-radius: 1px 0 0 1px;
}

.slide:nth-child(1) .volume-up {
    top: 85px;
    height: 20px;
}

.slide:nth-child(1) .volume-down {
    top: 115px;
    height: 20px;
}

.slide:nth-child(1) .power-button {
    position: absolute;
    right: -2px;
    top: 100px;
    width: 2px;
    height: 35px;
    background: #333;
    border-radius: 0 1px 1px 0;
}

/* ホームインジケーター */
.slide:nth-child(1) .home-indicator {
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 2px;
    background: rgba(255,255,255,0.4);
    border-radius: 1px;
    z-index: 10;
}

/* 手のアイコン */
.slide:nth-child(1) .hand-icon {
    position: absolute;
    z-index: 15;
    pointer-events: none;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.slide:nth-child(1) .hand-icon img {
    width: 80px;
    height: 80px;
}

/* 縦スライド用手のアイコン */
.slide:nth-child(1) .vertical-hand {
    left: 80%;
    bottom: 20%;
    transform: translateX(-50%) translateY(0) translate3d(0,0,0);
    animation: verticalHandSwipe 3.4s infinite ease-in-out;
    will-change: opacity, transform;
}

/* 横スライド用手のアイコン */
.slide:nth-child(1) .horizontal-hand {
    top: 70%;
    right: 35%;
    transform: translateY(-50%) translateX(0) translate3d(0,0,0);
    animation: horizontalHandSwipe 3.4s infinite ease-in-out;
    will-change: opacity, transform;
}

/* 縦スライド用手のアニメーション */
@keyframes verticalHandSwipe {
    0%, 22% { 
        opacity: 0; 
        transform: translateX(-50%) translateY(30px) translate3d(0,0,0);
    }
    23% { 
        opacity: 0.1; 
        transform: translateX(-50%) translateY(30px) translate3d(0,0,0);
    }
    25% { 
        opacity: 0.4; 
        transform: translateX(-50%) translateY(15px) translate3d(0,0,0);
    }
    27% { 
        opacity: 0.6; 
        transform: translateX(-50%) translateY(-5px) translate3d(0,0,0);
    }
    29% { 
        opacity: 0.7; 
        transform: translateX(-50%) translateY(-25px) translate3d(0,0,0);
    }
    31% { 
        opacity: 0.8; 
        transform: translateX(-50%) translateY(-45px) translate3d(0,0,0);
    }
    33% { 
        opacity: 0.8; 
        transform: translateX(-50%) translateY(-65px) translate3d(0,0,0);
    }
    35% { 
        opacity: 0.8; 
        transform: translateX(-50%) translateY(-85px) translate3d(0,0,0);
    }
    37% { 
        opacity: 0.8; 
        transform: translateX(-50%) translateY(-120px) translate3d(0,0,0);
    }
    59% { 
        opacity: 0.2; 
        transform: translateX(-50%) translateY(-120px) translate3d(0,0,0);
    }
    65%, 100% { 
        opacity: 0; 
        transform: translateX(-50%) translateY(-120px) translate3d(0,0,0);
    }
}

/* 横スライド用手のアニメーション */
@keyframes horizontalHandSwipe {
    0%, 22% { 
        opacity: 0; 
        transform: translateY(-50%) translateX(25px) translate3d(0,0,0);
    }
    23% { 
        opacity: 0.1; 
        transform: translateY(-50%) translateX(25px) translate3d(0,0,0);
    }
    25% { 
        opacity: 0.4; 
        transform: translateY(-50%) translateX(18px) translate3d(0,0,0);
    }
    27% { 
        opacity: 0.6; 
        transform: translateY(-50%) translateX(10px) translate3d(0,0,0);
    }
    29% { 
        opacity: 0.7; 
        transform: translateY(-50%) translateX(0px) translate3d(0,0,0);
    }
    31% { 
        opacity: 0.8; 
        transform: translateY(-50%) translateX(-10px) translate3d(0,0,0);
    }
    33% { 
        opacity: 0.8; 
        transform: translateY(-50%) translateX(-18px) translate3d(0,0,0);
    }
    35% { 
        opacity: 0.8; 
        transform: translateY(-50%) translateX(-27px) translate3d(0,0,0);
    }
    37% { 
        opacity: 0.8; 
        transform: translateY(-50%) translateX(-35px) translate3d(0,0,0);
    }
    59% { 
        opacity: 0.2; 
        transform: translateY(-50%) translateX(-35px) translate3d(0,0,0);
    }
    65%, 100% { 
        opacity: 0; 
        transform: translateY(-50%) translateX(-35px) translate3d(0,0,0);
    }
}

.slide h2 {
    font-size: 2.5rem;
    color: white;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    font-weight: 300;
}

.slide p {
    font-size: 1.2rem;
    color: rgba(255,255,255,0.9);
    margin-bottom: 30px;
    line-height: 1.6;
}

/* === タブレット用メディアクエリ（768px - 1023px） === */
@media (min-width: 768px) and (max-width: 1023px) {
    
    /* === スライド1のタブレット対応 === */
    
    /* タブレット版でのコンテンツレイアウト修正 */
    .slide:nth-child(1) .slide-content--with-logo {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 20px;
        max-width: 100%;
        width: 90%;
        margin: 0 auto;
        height: 100%;
        padding-top: 100px;
    }
    
    /* タブレット版のテキストエリア */
    .slide:nth-child(1) .slide1-text-area {
        flex: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-width: auto;
        padding-top: 0;
        width: 100%;
    }
    
    .slide:nth-child(1) h1 {
        font-size: 26px;
        line-height: 44px;
        text-align: center;
    }
    
    /* タブレット版ではbrタグを表示（改行あり） */
    .slide:nth-child(1) h1 br {
        display: block;
    }
    
    .slide:nth-child(1) h1 strong {
        font-size: 28px;
    }
    
    .slide:nth-child(1) .price-image {
        max-width: 450px;
        margin: 10px auto 0 auto;
    }
    
    .slide:nth-child(1) .smartphone-demos {
        position: static !important;
        transform: none !important;
        margin-top: 20px;
        gap: 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }
    
    .slide:nth-child(1) .smartphone-frame {
        width: 160px;
        height: 331px;
    }
    
    .slide:nth-child(1) .smartphone-label {
        font-size: 15px;
        margin-top: 12px;
    }
    
    .slide:nth-child(1) .hand-icon img {
        width: 55px;
        height: 55px;
    }
    
    /* === スライド2のタブレット対応 === */
    .slide:nth-child(2) .slide2-title {
        font-size: 2.8rem;
        margin-bottom: 45px;
        line-height: 1.3;
    }
    
    .slide:nth-child(2) .slide2-description {
        font-size: 19px;
        line-height: 1.7;
        margin-bottom: 45px;
        text-align: left;
    }
    
    .slide:nth-child(2) .slide2-question {
        font-size: 1.8rem;
    }
    
    /* === 新スライド - LPの現状（3スライド目）タブレット対応 === */
    .slide:nth-child(3) .slide-content {
        flex-direction: column;
        padding-top: 80px;
    }
    
    .slide:nth-child(3) .slide-new-text-area {
        margin-bottom: 30px;
    }
    
    .slide:nth-child(3) .slide-new-text-area h1 {
        font-size: 21px;
        line-height: 42px;
        text-align: center;
    }
    
    .slide:nth-child(3) .slide-new-text-area .description-text {
        font-size: 16px;
        line-height: 1.6;
        text-align: center;
    }
    
    .slide:nth-child(3) .slide-new-image-area img {
        max-width: 450px;
    }
    
    /* === 新スライド2 - 改善点を正確に把握（4スライド目）タブレット対応 === */
    .slide:nth-child(8) .slide-content {
        flex-direction: column;
        padding-top: 80px;
    }
    
    .slide:nth-child(8) .slide-new-text-area {
        margin-bottom: 30px;
    }
    
    .slide:nth-child(8) .slide-new-text-area h1 {
        font-size: 21px;
        line-height: 42px;
        text-align: center;
    }
    
    .slide:nth-child(8) .slide-new-text-area .description-text {
        font-size: 16px;
        line-height: 1.6;
        text-align: center;
    }
    
    .slide:nth-child(8) .slide-new-image-area img {
        max-width: 85%;
    }
    
    /* === 新スライド - Designer Swipeはここが違う（6スライド目）タブレット対応 === */
    
    .slide:nth-child(5) .slide-content {
        padding-top: 80px;
    }
    
    .slide:nth-child(5) .slide-points-title {
        margin-bottom: 40px;
    }
    
    .slide:nth-child(5) .slide-points-title h1 {
        font-size: 24px;
    }
    
    .slide:nth-child(5) .slide-points-logo {
        height: 45px;
    }
    
    /* タブレット版: 3行2列 */
    .slide:nth-child(5) .slide-points-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
        max-width: 800px;
    }
    
    /* === スライド3のタブレット対応 === */
    .slide:nth-child(4) .slide3-text-content {
        padding-top: 60px;
    }
    
    .slide:nth-child(4) .slide3-title {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    .slide:nth-child(4) .slide3-description {
        font-size: 14px;
        line-height: 1.7;
    }
    
    .slide:nth-child(4) .app-logos {
        gap: 12px;
        margin-bottom: 8px;
    }
    
    .slide:nth-child(4) .app-logo {
        width: 22%;
    }
    
    .slide:nth-child(4) .description-text {
        font-size: 14px;
        line-height: 1.7;
    }
    
    .slide:nth-child(4) .phone-frame {
        width: 80%;
    }
    
    .slide:nth-child(4) .phone-frame-container {
        position: absolute;
        bottom: -45%;
        right: 15%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .slide:nth-child(4) .phone-screen {
        top: 2.2%;
        left: 45%;
        width: 44%;
        height: 80%;
        border-radius: 18px;
    }
    
    .slide:nth-child(4) .phone-video {
        border-radius: 18px;
    }
    
    .slide:nth-child(4) .instagram-icon {
        width: 8%;
        top: 13%;
        left: 15%;
    }
    
    .slide:nth-child(4) .video-hand-icon {
        width: 55px;
        height: 55px;
    }
    
    /* === スライド4のタブレット対応 === */
    .slide:nth-child(10) .slide4-content {
        padding-top: 80px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
    }
    
    .slide:nth-child(10) .slide4-text-area {
        max-width: 600px;
        padding-top: 0;
    }
    
    .slide:nth-child(10) .slide4-title {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    .slide:nth-child(10) .slide4-description {
        font-size: 14px;
        line-height: 1.7;
    }
    
    .slide:nth-child(10) .slide4-image-area {
        min-height: 350px;
        margin-top: -5%;
    }
    
    .slide:nth-child(10) .slide4-red-bg {
        position: absolute;
        top: 57%;
        left: 50%;
        width: calc(100vw * 0.7);
        max-width: 400px;
    }
    
    .slide:nth-child(10) .slide4-woman {
        position: absolute;
        top: 82%;
        width: 357px;
    }
    
    /* === スライド5のタブレット対応 === */
    .slide:nth-child(9) .slide-content {
        padding-top: 80px;
    }
    
    .slide:nth-child(9) h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    .slide:nth-child(9) .slide5-text-area {
        margin-bottom: 0;
    }
    
    .slide:nth-child(9) .slide5-price-area img {
        max-width: 500px;
    }
    
    /* === スライド6のタブレット対応（修正版） === */
    .slide:nth-child(7) .slide-content {
        padding-top: 80px;
        display: flex; /* flexレイアウトを確実に適用 */
        flex-direction: column; /* 縦方向に配置 */
    }
    
    /* スライド6のテキストエリアをインライン要素に変更（タブレット版） */
    .slide:nth-child(7) .slide6-text-area {
        display: contents !important; /* 子要素を親レベルに展開（重要度を上げる） */
    }
    
    /* スライド6のタイトル（タブレット版：最上部） */
    .slide:nth-child(7) h1,
    .slide:nth-child(7) .slide6-text-area h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
        order: 1 !important; /* タイトルを最上部に（重要度を上げる） */
    }
    
    /* スライド6のデモエリア（タブレット版：中央） */
    .slide:nth-child(7) .slide6-demo-area {
        order: 2 !important; /* デモを中央に（重要度を上げる） */
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 20px;
    }
    
    /* スライド6の本文（タブレット版：最下部） */
    .slide:nth-child(7) p {
        font-size: 14px;
        line-height: 1.7;
        margin-top: 30px;
        margin-bottom: 0;
        order: 3 !important; /* 本文を最下部に（重要度を上げる） */
    }
    
    /* スライド6のデモコンテナ（タブレット版） */
    .slide:nth-child(7) .slide6-demos {
        gap: 30px;
        margin-top: 20px;
    }
    
    /* スライド6の画面サイズ（タブレット版） */
    .slide:nth-child(7) .slide6-screen {
        width: 175px;
        height: 374px;
    }
    
    /* スライド6の中央デモ（タブレット版・15%大きく） */
    .slide:nth-child(7) .slide6-demo.center-demo .slide6-screen {
        width: 201px;
        height: 430px;
    }
    
    /* === スライド7のタブレット対応 === */
    .slide:nth-child(6) .slide-content {
        padding-top: 80px;
    }
    
    .slide:nth-child(6) h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    .slide:nth-child(6) p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 35px;
    }
    
    .slide:nth-child(6) .slide7-form-image img {
        width: 250px;
    }
    
    .slide:nth-child(6) .slide7-result-image {
        margin-left: -50px;
    }
    
    .slide:nth-child(6) .slide7-result-image img {
        width: 175px;
    }
    
    .slide:nth-child(6) .slide7-arrow img {
        width: 50px;
    }
    
    /* === スライド8のタブレット対応 === */
    .slide:nth-child(11) .slide-content {
        padding-top: 80px;
    }
    
    .slide:nth-child(11) h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    .slide:nth-child(11) p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 35px;
    }
    
    .slide:nth-child(11) .slide8-pink-bg {
        display: none;
    }
    
    .slide:nth-child(11) .slide8-options-container {
        margin-top: 25px;
        max-width: 800px;
        right: 0;
        gap: 30px;
    }
    
    .slide:nth-child(11) .slide8-options-group {
        gap: 18px;
    }
    
    .slide:nth-child(11) .slide8-option-item {
        max-width: 220px;
    }
    
    /* === スライド9・10のタブレット対応 === */
    .slide:nth-child(12) .slide-content,
    .slide:nth-child(13) .slide-content {
        padding-top: 80px;
    }
    
    .slide:nth-child(12) h1,
    .slide:nth-child(13) h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    .slide:nth-child(12) .slide9-qa-container,
    .slide:nth-child(13) .slide10-qa-container {
        margin-top: 25px;
    }
    
    .slide:nth-child(12) .slide9-qa-image,
    .slide:nth-child(13) .slide10-qa-image,
    .slide:nth-child(14) .slide11-qa-image {
        max-width: 550px;
    }
    
    /* === スライド12（お申込み）のタブレット対応 === */
    .slide:nth-child(15) .slide-content {
        padding-top: 50px;
    }
    
    .slide:nth-child(15) h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 15px;
    }
    
    .slide:nth-child(15) .wpcf7-form {
        max-width: 650px;
        margin-top: 18px;
    }
    
    .slide:nth-child(15) .wpcf7-form p {
        margin-bottom: 18px;
    }
    
    .slide:nth-child(15) .wpcf7-text,
    .slide:nth-child(15) .wpcf7-email,
    .slide:nth-child(15) .wpcf7-tel {
        height: 38px;
        font-size: 16px;
        padding: 0 14px 0 48px;
    }
    
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-name"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="company-name"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-email"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-tel"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-address"]::before {
        left: 16px;
        font-size: 16px;
    }
    
    .slide:nth-child(15) .wpcf7-textarea {
        height: 75px;
        min-height: 75px;
        max-height: 75px;
        font-size: 16px;
        padding: 10px 14px 10px 48px;
        line-height: 1.4;
        overflow-y: auto;
    }
    
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"]::before {
        left: 16px;
        top: 18px;
        font-size: 16px;
    }
    
    .slide:nth-child(15) .service-title {
        font-size: 14px;
        margin-bottom: 13px;
    }
    
    .slide:nth-child(15) .wpcf7-checkbox {
        gap: 6px 16px;
    }
    
    .slide:nth-child(15) .wpcf7-list-item {
        font-size: 11px;
    }
    
    .slide:nth-child(15) .wpcf7-list-item-label {
        font-size: 11px;
        line-height: 1.4;
        padding-left: 29px;
    }
    
    .slide:nth-child(15) .wpcf7-list-item-label::before {
        width: 20px;
        height: 20px;
    }
    
    .slide:nth-child(15) .required-note {
        font-size: 12px;
        margin: 15px 0;
    }
    
    .slide:nth-child(15) .wpcf7-submit {
        height: 46px;
        font-size: 16px;
        margin-top: 8px;
    }
    
    /* === スライド13（運営会社）のタブレット対応 === */
    .slide:nth-child(16) .slide-content {
        padding-top: 100px;
    }
    
    .slide:nth-child(16) .slide12-section-title {
        font-size: 15px;
        margin-bottom: 15px;
    }
    
    .slide:nth-child(16) .slide12-director-section {
        margin-top: 45px;
    }
    
    .slide:nth-child(16) .slide12-company-name,
    .slide:nth-child(16) .slide12-director-name {
        font-size: 24px;
        line-height: 1.5;
        margin-bottom: 8px;
    }
    
    .slide:nth-child(16) .slide12-director-title {
        font-size: 14px;
        margin-left: 22px;
    }
    
    .slide:nth-child(16) .slide12-company-url {
        font-size: 13px;
        margin-bottom: 8px;
    }
    
    .slide:nth-child(16) .slide12-footer {
        margin-top: 60px;
        margin-bottom: 50px;
        gap: 18px;
    }
    
    .slide:nth-child(16) .slide12-logo {
        height: 46px;
    }
    
    .slide:nth-child(16) .slide12-copyright {
        font-size: 11pt;
    }
    
    .slide:nth-child(16) .slide12-background {
        bottom: -350px;
    }
    
    /* === 共通のタブレット調整 === */
    .slide:nth-child(9) h1,
    .slide:nth-child(7) h1,
    .slide:nth-child(6) h1,
    .slide:nth-child(11) h1,
    .slide:nth-child(12) h1,
    .slide:nth-child(13) h1,
    .slide:nth-child(15) h1,
    .slide:nth-child(15) h1 {
        font-size: 23px;
        line-height: 1.5;
        margin-bottom: 25px;
    }
    
    /* CTA ボタンのタブレット対応 */
    .cta-area {
        height: 100px;
        padding-bottom: 25px;
    }
    
    .cta-button {
        height: 54px;
        font-size: 1.15rem;
    }
    
    /* タブレット版エラーメッセージ調整 */
    .slide:nth-child(15) .slide11-checkbox .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-checkbox .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="services"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) [data-name="services"] .wpcf7-not-valid-tip {
        font-size: 12px !important;
        margin: 9px 0 0 0 !important;
    }
    
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-name"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="company-name"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-email"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-tel"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-address"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"] .wpcf7-not-valid-tip {
        left: 48px !important;
    }
    
    /* タブレット版Contact Form 7送信完了時の調整 */
    .slide:nth-child(15) .wpcf7 form.sent .wpcf7-response-output,
    .slide:nth-child(15) .wpcf7-form.sent .wpcf7-response-output,
    .slide:nth-child(15) .wpcf7-response-output.wpcf7-mail-sent-ok {
        height: 46px !important;
        font-size: 16px !important;
        margin-top: -35px !important;
    }
    
    .slide:nth-child(15) .wpcf7-response-output.wpcf7-validation-errors,
    .slide:nth-child(15) .wpcf7-response-output.wpcf7-mail-sent-ng {
        min-height: 46px !important;
        font-size: 13px !important;
        margin-top: -35px !important;
        padding: 9px 14px !important;
    }
}

/* === PC用メディアクエリ（1024px以上） === */
@media (min-width: 1024px) {
    
    /* PC版CTAボタン - デフォルト設定（スライド3以降用） */
    .cta-area {
        position: fixed !important;
        bottom: 0 !important;
        left: 50% !important;
        transform: translateX(-400px) !important; /* 左寄せ */
        width: 400px !important;
        max-width: 400px !important;
        z-index: 1000 !important;
        padding: 0 !important;
        display: block !important;
        background: transparent !important;
        transition: opacity 0.3s ease, visibility 0.3s ease; /* トランジション効果 */
        height: 130px;
    }
    
    /* スライド1がアクティブな時にCTAボタンを幅広・より左に配置 */
    body:has(.slide:nth-child(1).active) .cta-area {
        transform: translateX(-500px) !important; /* 100px追加で左へ */
        width: 500px !important; /* 幅を拡大 */
        max-width: 500px !important;
    }
    
    /* スライド2がアクティブな時にCTAボタンを非表示 */
    body:has(.slide:nth-child(2).active) .cta-area {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    
    /* スライド14（お申込み）がアクティブな時にCTAボタンを非表示 */
    body:has(.slide:nth-child(15).active) .cta-area {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    
    /* スライド15（運営会社紹介）がアクティブな時にCTAボタンを非表示 */
    body:has(.slide:nth-child(15).active) .cta-area {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
    
    /* 画面幅が狭い場合の調整 */
    @media (min-width: 1024px) and (max-width: 1200px) {
        .cta-area {
            left: calc(50% - 20px) !important;
            transform: translateX(-380px) !important;
        }
        
        /* スライド1用の調整 */
        body:has(.slide:nth-child(1).active) .cta-area {
            transform: translateX(-480px) !important; /* 狭い画面では少し内側に */
        }
    }
    
    /* スライド1のロゴ位置調整 */
    .slide:nth-child(1) .slide-logo {
        top: 72px;
        left: max(calc((100vw - 658px) / 2), 1vw);
        transform: none;
        width: auto;
        text-align: left;
    }
    
    /* PC版ロゴサイズの確実な適用 */
    .slide:nth-child(1) .slide-logo img {
        width: 160px;
        height: auto;
        display: block;
    }
    
    /* スライド1のh1を左寄せに */
    .slide:nth-child(1) h1 {
        text-align: left;
    }
    
    /* PC版でh1内のbrタグを非表示（1行表示） */
    .slide:nth-child(1) h1 br {
        display: none;
    }
    
    /* スライド1の価格画像を左寄せ＆サイズ調整（PC専用） */
    .slide:nth-child(1) .price-image {
        margin-left: 0;
        margin-right: auto;
        max-width: 450px !important;
    }
    
    /* スライド1のコンテンツを横並びに（中央の余白を縮小） */
    .slide:nth-child(1) .slide-content--with-logo {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 30px;
        max-width: 1000px;
        width: 98%;
        margin: 0 auto;
        height: 100%;
        padding-top: 30px;
    }
    
    /* 左側テキストエリア（1000px用に調整） */
    .slide:nth-child(1) .slide1-text-area {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        min-width: 400px;
        padding-top: 150px;
    }
    
    /* 右側スマホデモエリア */
    .slide:nth-child(1) .smartphone-demos {
        position: static;
        transform: none;
        flex: 0 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 40px;
        margin-top: -20px;
    }
    
    /* PC版スマホフレームサイズ調整（サイズ拡大） */
    .slide:nth-child(1) .smartphone-frame {
        width: 220px;
        height: 456px;
    }
    
    /* PC版手のアイコンサイズ調整 */
    .slide:nth-child(1) .hand-icon img {
        width: 70px;
        height: 70px;
    }
    
    /* スライド2のPC版文字サイズ調整 */
    .slide:nth-child(2) .slide2-title {
        font-size: 2.2rem;
    }
    
    .slide:nth-child(2) .slide2-description {
        font-size: 19px;
        text-align: left;
    }
    
    .slide:nth-child(2) .slide2-question {
        font-size: 1.5rem;
    }
    
    /* === 新スライド2 - 改善点を正確に把握(4スライド目）のPC版 === */
    
    /* PC版コンテンツレイアウト */
    .slide:nth-child(8) .slide-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 60px;
        max-width: 800px;
        padding-top: 0;
        text-align: left;
    }
    
    /* PC版テキストエリア */
    .slide:nth-child(8) .slide-new-text-area {
        flex: 0 0 51%;
        text-align: left;
        margin-bottom: 230px;
    }
    
    .slide:nth-child(8) .slide-new-text-area h1 {
        font-size: 21px;
        line-height: 42px;
        text-align: left;
    }
    
    .slide:nth-child(8) .slide-new-text-area .description-text {
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
    }
    
    /* PC版画像エリア */
    .slide:nth-child(8) .slide-new-image-area {
        flex: 0 0 75%;
    }
    
    .slide:nth-child(8) .slide-new-image-area img {
        max-width: 100%;
    }
    
    /* === 新スライド - Designer Swipeはここが違う（6スライド目）のPC版 === */
    
    .slide:nth-child(5) .slide-content {
        padding-top: 120px;
    }
    
    .slide:nth-child(5) .slide-points-title {
        margin-bottom: 50px;
    }
    
    .slide:nth-child(5) .slide-points-title h1 {
        font-size: 28px;
    }
    
    .slide:nth-child(5) .slide-points-logo {
        height: 50px;
    }
    
    /* PC版: 3行2列 */
    .slide:nth-child(5) .slide-points-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
        max-width: 1000px;
    }
    
    /* スライド3のPC版左揃え確実化 */
    .slide:nth-child(4) .slide3-text-content {
        text-align: left;
        align-items: flex-start;
        padding-top: 120px;
    }
    
    .slide:nth-child(4) .app-logos {
        justify-content: flex-start;
        gap: 15px;
    }
    
    /* スライド3のPC版スマホフレーム位置 */
    .slide:nth-child(4) .phone-frame-container {
        bottom: -5%;
        right: 20%;
        justify-content: flex-end;
    }
    
    /* スライド3のPC版Instagramアイコン位置 */
    .slide:nth-child(4) .instagram-icon {
        top: 18%;
        left: 67%;
        width: 4%;
    }
    
    /* スライド3のPC版スマホフレーム画像サイズ */
    .slide:nth-child(4) .phone-frame {
        width: 33%;
        max-width: none;
    }
    
    /* スライド3のPC版スマホ画面エリア位置 */
    .slide:nth-child(4) .phone-screen {
        top: 2.5%;
        left: 81.5%;
        width: 18%;
        height: 80%;
        border-radius: 25px;
    }
    
    /* スライド3のPC版動画border-radius */
    .slide:nth-child(4) .phone-video {
        border-radius: 20px;
    }
    
    /* スライド3のPC版タイトル調整 */
    .slide:nth-child(4) .slide3-title {
        line-height: 42px;
    }
    
    /* スライド3のPC版説明文調整 */
    .slide:nth-child(4) .slide3-description {
        font-size: 16px;
        line-height: 1.6;
    }
    
    /* スライド3のPC版アプリロゴサイズ */
    .slide:nth-child(4) .app-logo {
        width: 15%;
    }
    
    /* スライド3のPC版説明テキスト */
    .slide:nth-child(4) .description-text {
        font-size: 16px;
        line-height: 1.6;
    }
    
    /* スライド3のPC版動画上の手のアイコン */
    .slide:nth-child(4) .video-hand-icon {
        width: 80px;
        height: 80px;
    }
    
    /* 他のスライドのPC版padding-top調整（スライド2除く） */
    .slide:nth-child(10) .slide4-content {
        padding-top: 120px;
    }
    
    .slide:nth-child(9) .slide-content,
    .slide:nth-child(7) .slide-content,
    .slide:nth-child(6) .slide-content,
    .slide:nth-child(11) .slide-content,
    .slide:nth-child(12) .slide-content,
    .slide:nth-child(13) .slide-content,
    .slide:nth-child(15) .slide-content,
    .slide:nth-child(15) .slide-content {
        padding-top: 120px;
    }
    
    /* スライド4のPC版左右分割レイアウト */
    .slide:nth-child(10) .slide4-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 60px;
        max-width: 800px;
    }
    
    .slide:nth-child(10) .slide4-text-area {
        padding-top: 0;
    }
    
    .slide:nth-child(10) .slide4-image-area {
        min-height: 500px;
        padding: 0;
        margin: 0;
    }
    
    /* PC版スライド4の女性画像調整 */
    .slide:nth-child(10) .slide4-woman {
        top: 41%;
        width: 357px;
    }
    
    /* PC版スライド4の赤い背景調整 */
    .slide:nth-child(10) .slide4-red-bg {
        max-width: 500px;
        top: 46%;
    }
    
    /* === スライド5のPC版左右分割レイアウト === */
    
    /* スライド5のPC版コンテンツレイアウト */
    .slide:nth-child(9) .slide-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 60px;
        max-width: 800px;
        text-align: left;
    }
    
    /* スライド5のPC版左側テキストエリア */
    .slide:nth-child(9) .slide5-text-area {
        flex: 0 0 400px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    
    /* スライド5のPC版テキストスタイル */
    .slide:nth-child(9) .slide5-text-area p {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 30px;
        max-width: 400px;
    }
    
    /* スライド5のPC版右側料金表エリア */
    .slide:nth-child(9) .slide5-price-area {
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        margin-top: -120px;
    }
    
    /* スライド5のPC版料金表画像 */
    .slide:nth-child(9) .slide5-price-area img {
        max-width: 470px;
        height: auto;
    }
    
    /* === スライド6のPC版左右分割レイアウト === */
    
    /* スライド6のPC版コンテンツレイアウト */
    .slide:nth-child(7) .slide-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 60px;
        max-width: 800px;
        text-align: left;
    }
    
    /* スライド6のPC版テキストエリア（左側） */
    .slide:nth-child(7) .slide6-text-area {
        flex: 0 0 400px;
        display: flex; /* contentsを無効化 */
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        order: 1;
    }
    
    /* スライド6のPC版h1 */
    .slide:nth-child(7) .slide6-text-area h1 {
        order: 1;
        text-align: left;
        margin-bottom: 20px;
    }
    
    /* スライド6のPC版p */
    .slide:nth-child(7) .slide6-text-area p {
        order: 2;
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 30px;
        margin-top: 0;
        max-width: 400px;
    }
    
    /* スライド6のPC版デモエリア（右側） */
    .slide:nth-child(7) .slide6-demo-area {
        order: 2;
        flex: 1;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        margin-bottom: 0;
        min-height: 400px;
        margin-top: -40px;
    }
    
    /* === スライド7のPC版レイアウト改善 === */
    
    /* スライド7のPC版コンテンツレイアウト */
    .slide:nth-child(6) .slide-content {
        position: relative;
        max-width: 800px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    
    /* スライド7のPC版タイトル */
    .slide:nth-child(6) h1 {
        text-align: left;
        margin-bottom: 20px;
        max-width: 400px;
    }
    
    /* スライド7のPC版本文 */
    .slide:nth-child(6) p {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 20px;
        max-width: 400px;
        text-align: left;
    }
    
    /* スライド7のPC版デモコンテナ */
    .slide:nth-child(6) .slide7-demo-container {
        position: absolute;
        top: 20px;
        right: -150px;
        gap: 40px;
        margin: 0;
    }
    
    /* スライド7のPC版左画像（フォーム画面）- サイズ縮小 */
    .slide:nth-child(6) .slide7-form-image img {
        width: 320px; /* 400px → 320px */
    }
    
    /* スライド7のPC版右画像（完成LP）- サイズ縮小 */
    .slide:nth-child(6) .slide7-result-image {
        margin-left: -64px; /* -80px → -64px（重なりも調整） */
    }
    
    .slide:nth-child(6) .slide7-result-image img {
        width: 224px; /* 280px → 224px */
    }
    
    /* スライド7のPC版矢印 - サイズ縮小 */
    .slide:nth-child(6) .slide7-arrow img {
        width: 64px; /* 80px → 64px */
    }
    
    /* スライド7のPC版本文スタイル調整 */
    .slide:nth-child(6) p {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 40px;
        max-width: 700px;
    }
    
    /* === スライド8のPC版左右分割レイアウト === */
    
    /* スライド8のPC版コンテンツレイアウト */
    .slide:nth-child(11) .slide-content {
        position: relative;
        max-width: 800px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 120px;
    }
    
    /* スライド8のPC版タイトル */
    .slide:nth-child(11) h1 {
        text-align: left;
        margin-bottom: 20px;
        max-width: 400px;
    }
    
    /* スライド8のPC版本文 */
    .slide:nth-child(11) p {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 40px;
        max-width: 400px;
        text-align: left;
    }
    
    /* スライド8のPC版オプションコンテナ（右側配置） */
    .slide:nth-child(11) .slide8-options-container {
        position: absolute;
        top: 20px;
        right: -200px;
        gap: 20px;
        margin: 0;
        max-width: 500px;
        z-index: 5;
    }
    
    /* スライド8のPC版オプション行 */
    .slide:nth-child(11) .slide8-option-row {
        gap: 20px;
        justify-content: flex-start;
    }
    
    /* スライド8のPC版各オプション項目 */
    .slide:nth-child(11) .slide8-option-item {
        max-width: 240px;
        flex: 1;
    }
    
    /* スライド8のPC版ピンク背景調整 */
    .slide:nth-child(11) .slide8-pink-bg {
        right: -50px;
        max-width: 600px;
        top: 50%;
    }
    
    /* === スライド9のPC版左右分割レイアウト === */
    
    /* スライド9のPC版コンテンツレイアウト */
    .slide:nth-child(12) .slide-content {
        position: relative;
        max-width: 800px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 120px;
    }
    
    /* スライド9のPC版タイトル */
    .slide:nth-child(12) h1 {
        text-align: left;
        margin-bottom: 20px;
        max-width: 400px;
        margin-top: 100px;
    }
    
    /* スライド9のPC版Q&Aコンテナ（右側配置・100px右にずらす） */
    .slide:nth-child(12) .slide9-qa-container {
        position: absolute;
        top: 0;
        right: -100px; /* 0pxから-100pxに変更 */
        margin: 0;
    }
    
    /* スライド9のPC版Q&A画像 */
    .slide:nth-child(12) .slide9-qa-image {
        max-width: 440px;
        height: auto;
    }
    
    /* === スライド10のPC版左右分割レイアウト === */
    
    /* スライド10のPC版コンテンツレイアウト */
    .slide:nth-child(13) .slide-content {
        position: relative;
        max-width: 800px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 120px;
    }
    
    /* スライド10のPC版タイトル */
    .slide:nth-child(13) h1 {
        text-align: left;
        margin-bottom: 20px;
        max-width: 400px;
        margin-top: 100px;
    }
    
    /* スライド10のPC版Q&Aコンテナ（右側配置・100px右にずらす） */
    .slide:nth-child(13) .slide10-qa-container {
        position: absolute;
        top: 0;
        right: -100px; /* 0pxから-100pxに変更 */
        margin: 0;
    }
    
    /* スライド10のPC版Q&A画像 */
    .slide:nth-child(13) .slide10-qa-image {
        max-width: 440px;
        height: auto;
    }
    
    /* === スライド11のPC版左右分割レイアウト === */
    
    /* スライド11のPC版コンテンツレイアウト */
    .slide:nth-child(14) .slide-content {
        position: relative;
        max-width: 800px;
        text-align: left;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 120px;
    }
    
    /* スライド11のPC版タイトル */
    .slide:nth-child(14) h1 {
        text-align: left;
        margin-bottom: 20px;
        max-width: 400px;
        margin-top: 100px;
    }
    
    /* スライド11のPC版Q&Aコンテナ（右側配置・100px右にずらす） */
    .slide:nth-child(14) .slide11-qa-container {
        position: absolute;
        top: 0;
        right: -100px;
        margin: 0;
    }
    
    /* スライド11のPC版Q&A画像 */
    .slide:nth-child(14) .slide11-qa-image {
        max-width: 440px;
        height: auto;
    }
    
    /* === スライド12（お申込み）のPC版フォームレイアウト === */
    
    /* スライド12のPC版コンテンツレイアウト */
    .slide:nth-child(15) .slide-content {
        padding-top: 10px;
    }
    
    /* スライド12のPC版タイトルの下マージンを縮小 */
    .slide:nth-child(15) h1 {
        margin-bottom: 10px; /* 20pxから10pxに変更 */
    }
    
    /* スライド12のPC版フォーム */
    .slide:nth-child(15) .wpcf7-form {
        margin-top: 0;
    }
    
    /* スライド12のPC版フォームグループ間隔を縮小 */
    .slide:nth-child(15) .wpcf7-form p {
        margin-bottom: 8px; /* 10pxから8pxに変更 */
    }
    
    /* スライド12のPC版チェックボックスグリッドの間隔を調整 */
    .slide:nth-child(15) .slide11-checkbox {
        gap: 0px 15px; /* 縦方向の間隔を0に、横方向を15pxに */
    }
    
    /* スライド12のPC版送信ボタンの上マージンを維持 */
    .slide:nth-child(15) .slide11-submit-button,
    .slide:nth-child(15) .wpcf7-submit {
        margin-top: 10px; /* 元々10pxなので維持 */
    }
    
    /* スライド12のPC版必須項目注記 */
    .slide:nth-child(15) .required-note {
        margin: 0px 0;
    }
    
    /* === スライド13（運営会社）のPC版レイアウト改善 === */
    
    /* スライド13のPC版コンテンツレイアウト */
    .slide:nth-child(16) .slide-content {
        padding-top: 50px; /* 140pxから50pxに変更 */
        max-width: 800px;
    }
    
    /* スライド13のPC版セクションタイトル */
    .slide:nth-child(16) .slide12-section-title {
        font-size: 18px;
        margin-bottom: 15px;
    }
    
    /* スライド13のPC版会社名・ディレクター名 */
    .slide:nth-child(16) .slide12-company-name,
    .slide:nth-child(16) .slide12-director-name {
        font-size: 28px;
        line-height: 1.4;
        margin-bottom: 10px;
    }
    
    /* スライド13のPC版ディレクタータイトル */
    .slide:nth-child(16) .slide12-director-title {
        font-size: 16px;
        margin-left: 25px;
    }
    
    /* スライド13のPC版URL */
    .slide:nth-child(16) .slide12-company-url {
        font-size: 16px;
        margin-bottom: 15px;
    }
    
    /* スライド13のPC版フッター */
    .slide:nth-child(16) .slide12-footer {
        margin-top: 80px;
        margin-bottom: 60px;
        gap: 20px;
    }
    
    /* スライド13のPC版ロゴ */
    .slide:nth-child(16) .slide12-logo {
        height: 50px;
    }
    
    /* スライド13のPC版コピーライト */
    .slide:nth-child(16) .slide12-copyright {
        font-size: 14px;
    }
    
    /* === スライド13（運営会社）のPC版背景画像調整 === */
    
    /* スライド13のPC版背景画像 */
    .slide:nth-child(16) .slide12-background {
        bottom: -400px; /* -500pxから-400pxに変更 */
        background-size: 100% auto;
        background-position: center top;
    }
    
    /* 大画面対応修正 - レスポンシブLP用 */
    /* スライドコンテナの幅を適切に設定 */
    .swipe-container {
        width: 100%;
        max-width: 100%;
        height: 100vh;
        position: relative;
        overflow: hidden;
    }
    
    /* スライドの幅も100%に */
    .slide {
        width: 100%;
        max-width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        height: 100vh;
    }
    
    /* アニメーション用のtransform維持 */
    .slide:not(.active) {
        transform: translateY(100%);
    }
    
    .slide.active {
        transform: translateY(0) !important;
    }
    
    /* トランジション効果 */
    .slide.active img,
    .slide.active video,
    .slide.active .slide-content {
        transition: opacity 0.3s ease-in-out;
    }
    
    /* テキスト配置の修正 */
    .slide-content {
        text-align: left !important;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 40px;
    }
    
    /* スライド2のコンテンツは中央寄せ */
    .slide-content.slide2-content {
        text-align: center !important;
    }
    
    /* CTAエリアの適切な配置 */
    .cta-area {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        z-index: 1000;
    }
    
    /* CTAボタンの中央配置 */
    .cta-area .cta-button {
        max-width: 600px;
        margin: 0 auto;
    }
    
    /* タブレット・PC共通のアニメーション設定 */
    /* スライド切り替えアニメーション */
    .slide {
        transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                    opacity 0.3s ease-in-out;
    }
    
    /* 前後のスライド位置（アニメーション用） */
    .slide.prev {
        transform: translateY(-100%);
    }
    
    .slide.next {
        transform: translateY(100%);
    }
    
    /* メモリ効率化 */
    .slide {
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        will-change: transform, opacity;
    }
    
    /* === 新スライド - LPの現状(3スライド目）のPC版 === */
    
    /* PC版コンテンツレイアウト */
    .slide:nth-child(3) .slide-content {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
        gap: 60px;
        max-width: 800px;
        padding-top: 120px;
        text-align: left;
    }
    
    /* PC版テキストエリア */
    .slide:nth-child(3) .slide-new-text-area {
        flex: 0 0 51%;
        text-align: left;
        margin-bottom: 0;
        align-self: flex-start;
    }
    
    .slide:nth-child(3) .slide-new-text-area h1 {
        font-size: 21px;
        line-height: 42px;
        text-align: left;
    }
    
    .slide:nth-child(3) .slide-new-text-area .description-text {
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
    }
    
    /* PC版画像エリア */
    .slide:nth-child(3) .slide-new-image-area {
        flex: 0 0 55%;
        position: relative;
        display: flex;
        align-items: flex-end;
    }
    
    .slide:nth-child(3) .slide-new-image-area img {
        max-width: 100%;
        width: 100%;
        margin-bottom: -40px;
    }
}

/* === モバイル用メディアクエリ（767px以下） === */
@media (max-width: 767px) {
    .slide h1 { 
        font-size: 2.5rem; 
    }
    
    /* スライド1のモバイル対応 */
    .slide:nth-child(1) h1 {
        font-size: 22px;
        line-height: 42px;
    }
    
    .slide:nth-child(1) h1 strong {
        font-size: 24px;
    }
    
    .slide h2 { 
        font-size: 2rem; 
    }
    
    .slide p { 
        font-size: 1rem; 
    }
    
    .cta-area {
        height: 72px;
        padding-bottom: 16px;
    }
    
    .cta-button { 
        width: 90%;
        max-width: 800px;
        min-width: 280px;
        height: 39.42px;
        font-size: 1.1rem;
        border-radius: 10px;
    }
    
    /* スライド1の価格画像モバイル対応 */
    .slide:nth-child(1) .price-image {
        max-width: 89%;
    }
    
    /* スライド1のロゴモバイル対応 */
    .slide:nth-child(1) .slide-logo {
        top: calc(50% - 250px - 13px - 55px);
    }
    
    .slide:nth-child(1) .slide-logo img {
        width: 48px;
        height: 37px;
    }
    
    /* スライド1のスマホデモモバイル対応（修正版） */
    .slide:nth-child(1) .smartphone-demos {
        position: static !important;
        transform: none !important;
        top: auto !important;
        left: auto !important;
        margin-top: 15px;
        flex-direction: row;
        gap: 15px;
    }
    
    .slide:nth-child(1) .smartphone-frame {
        width: 150px;
        height: 310px;
    }
    
    /* スマホラベルモバイル対応 */
    .slide:nth-child(1) .smartphone-label {
        margin-top: 6px;
        font-size: 14px;
    }
    
    /* 手のアイコンモバイル対応 */
    .slide:nth-child(1) .hand-icon img {
        width: 50px;
        height: 50px;
    }
    
    /* 手のアイコンモバイル最適化 */
    .slide:nth-child(1) .vertical-hand,
    .slide:nth-child(1) .horizontal-hand {
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
        will-change: opacity, transform;
    }

    /* 縦スライド用手のアイコン（モバイル） */
    .slide:nth-child(1) .vertical-hand {
        animation: verticalHandSwipe 3.4s infinite ease-in-out;
    }

    /* 横スライド用手のアイコン（モバイル） */
    .slide:nth-child(1) .horizontal-hand {
        animation: horizontalHandSwipe 3.4s infinite ease-in-out;
    }
    
    /* 2スライド目モバイル対応 - スライド2の内容を少し上に移動 */
    .slide:nth-child(2) .slide2-content {
        transform: translateY(-40px); /* 全体を40px上に移動 */
    }
    
    .slide:nth-child(2) .slide2-businessman {
        top: calc(50% - 40px); /* businessman画像も40px上に移動 */
    }
    
    .slide:nth-child(2) .slide2-title {
        font-size: 23px;
        margin-bottom: 50px;
        line-height: 1.6;
    }
    
    .slide:nth-child(2) .slide2-description {
        font-size: 19px;
        margin-bottom: 40px;
        line-height: 1.6;
        text-align: left;
    }
    
    /* スマホ版のチェックマークとリストアイテム調整 */
    .slide:nth-child(2) .slide2-description li {
        padding-left: 30px;
        margin-bottom: 12px;
    }
    
    .slide:nth-child(2) .slide2-description li::before {
        font-size: 20px;
    }
    
    .slide:nth-child(2) .slide2-question {
        font-size: 16px;
    }
    
    /* === 新スライド - LPの現状（3スライド目）モバイル対応 === */
    
    /* モバイル版スライド全体のパディング */
    .slide:nth-child(3) {
        padding: 40px 0;
    }
    
    /* モバイル版コンテンツレイアウト */
    .slide:nth-child(3) .slide-content {
        flex-direction: column;
        justify-content: flex-start;
    }
    
    .slide:nth-child(3) .slide-new-text-area {
        margin-bottom: 10px;
    }
    
    .slide:nth-child(3) .slide-new-text-area h1 {
        font-size: 21px;
        margin-bottom: 10px;
        line-height: 1.6;
    }
    
    .slide:nth-child(3) .slide-new-text-area .description-text {
        font-size: 12px;
        line-height: 1.9;
        margin-bottom: 0;
    }
    
    .slide:nth-child(3) .slide-new-image-area img {
        margin-top: 40px;
        max-width: 100%;
        width: 100%;
    }
    
    /* === 新スライド2 - 改善点を正確に把握（4スライド目）モバイル対応 === */
    
    /* モバイル版スライド全体のパディング */
    .slide:nth-child(8) {
        padding: 40px 0px;
    }
    
    /* モバイル版コンテンツレイアウト */
    .slide:nth-child(8) .slide-content {
        padding-top: 20px;
        flex-direction: column;
        justify-content: flex-start;
    }
    
    .slide:nth-child(8) .slide-new-text-area {
        margin-bottom: 0;
    }
    
    .slide:nth-child(8) .slide-new-text-area h1 {
        font-size: 21px;
        margin-bottom: 10px;
        line-height: 1.6;
    }
    
    .slide:nth-child(8) .slide-new-text-area .description-text {
        font-size: 12px;
        line-height: 1.9;
        margin-bottom: 0;
    }
    
    .slide:nth-child(8) .slide-new-image-area img {
        max-width: 100%;
        width: 100%;
    }
    
    /* 3スライド目モバイル対応 */
    .slide:nth-child(4) .phone-frame {
        width: 73%;
        max-width: 506px;
    }
    
    .slide:nth-child(4) .phone-screen {
        top: 2% !important;
        left: 46% !important;
        width: 42% !important;
        height: 81% !important;
        border-radius: 15px !important;
    }
    
    .slide:nth-child(4) .phone-video {
        border-radius: 15px;
    }
    
    .slide:nth-child(4) .slide3-title {
        font-size: 21px;
        margin-top: 10px;
        margin-bottom: 0;
        line-height: 1.6;
    }
    
    .slide:nth-child(4) .slide3-description {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
    }
    
    .slide:nth-child(4) .app-logos {
        gap: 10px;
        margin-bottom: 5px;
        justify-content: center;
    }
    
    .slide:nth-child(4) .app-logo {
        width: 24%;
    }
    
    .slide:nth-child(4) .description-text {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
    }
    
    .slide:nth-child(4) .slide3-text-content {
        padding-top: 0;
        margin-top: -10px;
        text-align: center;
        align-items: center;
    }
    
    .slide:nth-child(4) .phone-frame-container {
        bottom: -6%;
        right: -10%;
        justify-content: center;
    }
    
    .slide:nth-child(4) .instagram-icon {
        width: 9%;
        top: 12%;
        left: 13%;
        transform: translateX(-50%);
    }
    
    /* スライド3の動画上の手のアイコン（モバイル） */
    .slide:nth-child(4) .video-hand-icon {
        width: 50px;
        height: 50px;
    }
    
    /* スライド3がアクティブな時のみアニメーション（モバイル） */
    .slide:nth-child(4).active .video-hand-icon {
        animation: videoHandSwipeSlide3 3.4s infinite ease-in-out;
    }
    
    /* スライド4のモバイル対応 */
    .slide:nth-child(10) {
        padding: 40px 0px;  /* 左右パディングを削除 */
    }
    
    .slide:nth-child(10) .slide4-content {
        padding-top: 20px;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0;
        width: 100%;
        max-width: none;
    }
    
    .slide:nth-child(10) .slide4-text-area {
        max-width: none;
        padding-top: 0;
    }
    
    .slide:nth-child(10) .slide4-image-area {
        min-height: auto;
        position: relative;
        width: 100%;
        height: 300px;
        padding: 0;
        margin: 0;
        top: -22%;
    }
    
    .slide:nth-child(10) .slide4-red-bg {
        width: calc(100vw * 0.8946);
        max-width: 341px;
        top: 57%;
    }
    
    .slide:nth-child(10) .slide4-woman {
        width: 210px;
        top: 63%;
    }
    
    .slide:nth-child(10) .slide4-title {
        font-size: 21px;
        margin-bottom: 5px;
        line-height: 1.6;
    }
    
    .slide:nth-child(10) .slide4-description {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
    }
    
    /* モバイルではピンク画像を表示 */
    .slide:nth-child(10) .slide4-pink-overlay {
        display: block;
    }
    
    /* スライド5のモバイル対応 - スライド4と同じスタイル */
    .slide:nth-child(9) .slide-content {
        padding-top: 40px;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        text-align: center;
        gap: 0;
    }
    
    /* スライド5のモバイル版テキストエリア - 中央表示 */
    .slide:nth-child(9) .slide5-text-area {
        flex: none;
        text-align: center;
        margin-bottom: 0px;
    }
    
    /* スライド5のモバイル版料金表エリア - 中央表示 */
    .slide:nth-child(9) .slide5-price-area {
        flex: none;
        width: 100%;
        text-align: center;
    }
    
    .slide:nth-child(9) .slide5-price-area img {
        width: 100%;
        max-width: 400px;
        height: auto;
    }
    
    .slide:nth-child(9) h1 {
        font-size: 21px;
        margin-bottom: 10px;
        line-height: 1.6;
    }
    
    .slide:nth-child(9) p {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
    }
    
    /* === スライド6のモバイル対応（修正版） === */
    
    /* スライド6のモバイル対応 - 構造を変更してflexレイアウトに */
    .slide:nth-child(7) .slide-content {
        padding-top: 20px;
        display: flex;
        flex-direction: column;
    }
    
    /* スライド6のテキストエリアをインライン要素に変更（モバイル） */
    .slide:nth-child(7) .slide6-text-area {
        display: contents; /* 子要素を親レベルに展開 */
    }
    
    .slide:nth-child(7) h1,
    .slide:nth-child(7) .slide6-text-area h1 {
        font-size: 21px;
        margin-top: 10px;
        margin-bottom: 10px;
        line-height: 1.6;
        order: 1; /* タイトルを最上部に */
    }
    
    /* スライド6のデモエリア（モバイル：中央） */
    .slide:nth-child(7) .slide6-demo-area {
        order: 2; /* デモを中央に */
        margin-bottom: 15px;
    }
    
    .slide:nth-child(7) p {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
        order: 3; /* 本文を最下部に */
        margin-top: 25px;
        margin-bottom: 0;
    }
    
    /* スライド6のデモモバイル対応 */
    .slide:nth-child(7) .slide6-demos {
        gap: 20px;
        margin-top: 15px;
    }
    
    .slide:nth-child(7) .slide6-screen {
        width: 138px;
        height: 298px;
    }
    
    /* スライド6の中央デモ（モバイル版） */
    .slide:nth-child(7) .slide6-demo.center-demo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 10;
    }
    
    /* スライド6の中央画面（モバイル版・15%大きく） */
    .slide:nth-child(7) .slide6-demo.center-demo .slide6-screen {
        width: 159px;
        height: 343px;
    }
    
    /* スライド7のモバイル対応 */
    .slide:nth-child(6) .slide-content {
        padding-top: 40px;
    }
    
    .slide:nth-child(6) h1 {
        font-size: 21px;
        margin-bottom: 20px;
        line-height: 1.6;
    }
    
    .slide:nth-child(6) p {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
    }
    
    /* スライド7の画像デモモバイル対応 */
    .slide:nth-child(6) .slide7-form-image img {
        width: 200px;
    }
    
    .slide:nth-child(6) .slide7-result-image {
        margin-left: -40px;
    }
    
    .slide:nth-child(6) .slide7-result-image img {
        width: 140px;
    }
    
    /* スライド7の矢印モバイル対応 */
    .slide:nth-child(6) .slide7-arrow img {
        width: 40px;
    }
    
    /* スライド8のモバイル対応 */
    .slide:nth-child(11) .slide-content {
        padding-top: 0px;
    }
    
    .slide:nth-child(11) h1 {
        display: none; /* スマホでは見出しを非表示 */
    }
    
    .slide:nth-child(11) p {
        font-size: 12px;
        line-height: 1.9;
        text-shadow: none;
    }
    
    /* スマホ版では説明文を非表示 */
    .slide:nth-child(11) .slide8-description {
        display: none;
    }
    
    /* スライド8のピンク背景（モバイル対応） */
    .slide:nth-child(11) .slide8-pink-bg {
        display: none;
    }
    
    /* スライド8のオプション（モバイル対応） */
    .slide:nth-child(11) .slide8-options-container {
         /* 見出し非表示に伴い上にずらす */
        max-width: 100%;
        right: 0; /* PC版のright: -250pxを無効化 */
        flex-direction: column; /* モバイル版は縦並び */
        gap: 5px;
        align-items: center;
    }
    
    /* モバイル版でグラフを上に配置 */
    .slide:nth-child(11) .slide8-graph-image {
        max-width: 430px;
        width: 100%;
    }
    
    /* モバイル版でオプションを下に横並び */
    .slide:nth-child(11) .slide8-options-group {
        flex-direction: row; /* モバイル版は横並び */
        gap: 10px;
        width: 100%;
        max-width: none; /* PC版のmax-width: 192pxを無効化 */
        height: auto; /* PC版のheight: 100%を無効化 */
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .slide:nth-child(11) .slide8-option-item {
        width: 30%;
    }
    
    /* スライド9・10・11のモバイル対応 */
    .slide:nth-child(12) .slide-content,
    .slide:nth-child(13) .slide-content,
    .slide:nth-child(14) .slide-content {
        padding-top: 40px;
    }
    
    .slide:nth-child(12) h1,
    .slide:nth-child(13) h1,
    .slide:nth-child(14) h1 {
        font-size: 21px;
        margin-bottom: 20px;
        line-height: 1.6;
    }
    
    /* スライド9・10・11のQ&A画像（モバイル対応） */
    .slide:nth-child(12) .slide9-qa-container,
    .slide:nth-child(13) .slide10-qa-container,
    .slide:nth-child(14) .slide11-qa-container {
        margin-top: 20px;
    }
    
    .slide:nth-child(12) .slide9-qa-image,
    .slide:nth-child(13) .slide10-qa-image,
    .slide:nth-child(14) .slide11-qa-image {
        max-width: 90%;
    }
    
    /* === スライド12（お申込み）のモバイル対応（Contact Form 7） === */
    
    /* スライド12のモバイル対応 */
    .slide:nth-child(15) .slide-content {
        padding-top: 20px;
    }
    
    .slide:nth-child(15) h1 {
        font-size: 21px;
        margin-top: 0;
        margin-bottom: 10px;
        line-height: 1.6;
    }
    
    /* スライド12のフォーム（モバイル） */
    .slide:nth-child(15) .wpcf7-form {
        max-width: 100%;
        margin-top: 15px;
    }
    
    /* スライド12のフォームグループ（モバイル） */
    .slide:nth-child(15) .wpcf7-form p {
        margin-bottom: 15px;
    }
    
    /* スライド12の入力フィールド（モバイル） */
    .slide:nth-child(15) .wpcf7-text,
    .slide:nth-child(15) .wpcf7-email,
    .slide:nth-child(15) .wpcf7-tel {
        height: 34px;
        font-size: 16px;
        padding: 0 12px 0 42px;
    }
    
    /* スライド12のアイコン（モバイル） */
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-name"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="company-name"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-email"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-tel"]::before,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-address"]::before {
        left: 14px;
        font-size: 14px;
    }
    
    /* スライド12のテキストエリア（モバイル） */
    .slide:nth-child(15) .wpcf7-textarea {
        height: 50px;
        min-height: 50px;
        max-height: 50px;
        font-size: 16px;
        padding: 15px 12px 15px 42px; /* 上下のpaddingで中央に */
        line-height: 1.4;
    }
    
    .slide:nth-child(15) .wpcf7-form-control-wrap:focus-within .wpcf7-textarea {
        padding-top: 8px; /* フォーカス時は通常のpaddingに */
    }
    
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"]::before {
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 14px;
    }
    
    /* スライド12のサービス選択タイトル（モバイル） */
    .slide:nth-child(15) .service-title {
        font-size: 12px;
        margin-bottom: 10px;
    }
    
    /* スライド12のチェックボックスグリッド（モバイル） */
    .slide:nth-child(15) .wpcf7-checkbox {
        gap: 4px 10px;
        margin-bottom: 8px;
    }
    
    /* スライド12のチェックボックスアイテム（モバイル） */
    .slide:nth-child(15) .wpcf7-list-item {
        font-size: 10px;
    }
    
    .slide:nth-child(15) .wpcf7-list-item-label {
        font-size: 10px;
        line-height: 1.3;
        padding-left: 25px;
    }
    
    .slide:nth-child(15) .wpcf7-list-item-label::before {
        width: 16px;
        height: 16px;
        top: 1px;
    }
    
    .slide:nth-child(15) .wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
        left: 3px;
        top: 2px;
        font-size: 12px;
    }

    /* チェックボックスグリッド内のpタグのマージンを削除（モバイル） */
    .slide:nth-child(15) .slide11-checkbox-grid p {
        margin-bottom: 5px !important;
        margin-top: 0 !important;
    }
    
    /* スライド12の必須項目注記（モバイル） */
    .slide:nth-child(15) .required-note {
        font-size: 10px;
        margin: 15px 0;
    }
    
    /* スライド12の送信ボタン（モバイル） */
    .slide:nth-child(15) .wpcf7-submit {
        height: 40px;
        font-size: 14px;
        margin-top: 8px;
    }
    
    /* === スライド13（運営会社）のモバイル対応 === */
    
    /* スライド13のモバイル対応 */
    .slide:nth-child(16) .slide-content {
        padding-top: 80px;
    }
    
    /* スライド13のモバイル専用スタイル */
    .slide:nth-child(16) .slide12-section-title {
        font-size: 12px;
        margin-bottom: 5px;
    }
    
    .slide:nth-child(16) .slide12-director-section {
        margin-top: 50px;
    }
    
    .slide:nth-child(16) .slide12-company-name,
    .slide:nth-child(16) .slide12-director-name {
        font-size: 21px;
        line-height: 1.6;
        margin-bottom: 5px;
    }
    
    .slide:nth-child(16) .slide12-director-info {
        align-items: center;
    }
    
    .slide:nth-child(16) .slide12-director-title {
        font-size: 13px;
        margin-left: 20px;
    }
    
    .slide:nth-child(16) .slide12-company-url {
        font-size: 12px;
        margin-bottom: 0;
    }
    
    /* スライド13のお問い合わせリンク（モバイル） */
    .slide:nth-child(16) .slide12-contact-link {
        font-size: 12px;
        margin-top: 45px;
        margin-bottom: 0;
        font-weight: 400;
    }
    
    /* スライド13のフッター（モバイル） */
    .slide:nth-child(16) .slide12-footer {
        margin-bottom: 60px;
        gap: 10px;
    }
    
    /* スライド13のロゴ（モバイル） */
    .slide:nth-child(16) .slide12-logo {
        height: 64px;
    }
    
    /* スライド13のコピーライト（モバイル） */
    .slide:nth-child(16) .slide12-copyright {
        font-size: 8pt;
    }
    
    .slide:nth-child(16) .slide12-background {
        bottom: -200px;
    }
    
    /* スライド1のモバイル版コンテンツ位置調整 - CTAボタン以外を20px上に移動 */
    /* スライド1のロゴを20px上に移動 */
    .slide:nth-child(1) .slide-logo {
        top: calc(3%); /* 既存の位置から-20px */
    }
    
    /* スライド1のメインコンテンツエリアを20px上に移動 */
    .slide:nth-child(1) .slide-content--with-logo {
        transform: translateY(-20px); /* 全体を20px上に移動 */
    }
    
    /* スライド1のスマホデモエリアの位置調整 */
    .slide:nth-child(1) .smartphone-demos {
        margin-top: 10px; /* 位置を微調整 */
    }
    
    /* CTAボタンは移動させない（元の位置を維持） */
    .cta-area {
        /* 既存のスタイルを維持 */
        position: fixed;
        bottom: 0;
        /* 位置は変更しない */
    }
    
    /* モバイル版エラーメッセージ調整 */
    /* チェックボックスエラー */
    .slide:nth-child(15) .slide11-checkbox .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-checkbox .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="services"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) [data-name="services"] .wpcf7-not-valid-tip {
        font-size: 10px !important;
        margin: 8px 0 0 0 !important;
    }
    
    /* 入力フィールドエラー */
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-name"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="company-name"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-email"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-tel"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-address"] .wpcf7-not-valid-tip,
    .slide:nth-child(15) .wpcf7-form-control-wrap[data-name="your-message"] .wpcf7-not-valid-tip {
        left: 42px !important;
    }
    
    /* モバイル版Contact Form 7送信完了時の調整 */
    .slide:nth-child(15) .wpcf7 form.sent .wpcf7-response-output,
    .slide:nth-child(15) .wpcf7-form.sent .wpcf7-response-output,
    .slide:nth-child(15) .wpcf7-response-output.wpcf7-mail-sent-ok {
        height: 40px !important;
        font-size: 14px !important;
        margin-top: -35px !important;
    }
    
    .slide:nth-child(15) .wpcf7-response-output.wpcf7-validation-errors,
    .slide:nth-child(15) .wpcf7-response-output.wpcf7-mail-sent-ng {
        min-height: 40px !important;
        font-size: 12px !important;
        margin-top: -35px !important;
        padding: 8px 12px !important;
    }
}

.cta-area {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: transparent;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 0;
    padding-bottom: calc(35px + env(safe-area-inset-bottom)); /* Instagram帯対策 */
    z-index: 1000;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

@media (min-width: 1024px) {
    /* PC用背景画像 */
    body.swipe-lp-page {
        background: url('img/PC-background.jpg') no-repeat center center fixed;
        background-size: cover;
    }
    
    .cta-area{
        height: 130px;
    }
    
    /* CTAボタンラッパー - PC版ではmax-widthを削除 */
    .cta-buttons-wrapper {
        max-width: none;
    }
    
    /* === スライド6 - Designer Swipeはここが違う PC版対応 === */
    .slide:nth-child(5) {
        padding: 40px 0px;
    }
    
    .slide:nth-child(5) .slide-content {
        padding-top: 0;
        justify-content: flex-start;
        max-width: 100%;
        width: 100%;
    }
    
    .slide:nth-child(5) .slide-points-title {
        margin-bottom: 20px;
    }
    
    .slide:nth-child(5) .slide-points-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* === スライド13（運営会社）のPC版対応 === */
    .slide:nth-child(16) .slide-content {
        padding-top: 0;
    }
    
    /* === スライド1のロゴ PC版対応 === */
    .slide:nth-child(1) .slide-logo {
        top: 72px;
        left: max(calc((100vw - 977px) / 2), 1vw);
    }
    
    .slide:nth-child(1) .slide-logo img {
        width: 70px;
        height: auto;
        display: block;
    }
    
    /* === スライド1のテキストエリア PC版対応 === */
    .slide:nth-child(1) .slide1-text-area {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        min-width: 400px;
        padding-top: 80px;
    }
}

.cta-area.hidden {
    opacity: 0;
    visibility: hidden;
}

/* CTAボタンラッパー - ボタンを横並びに配置 */
.cta-buttons-wrapper {
    display: flex;
    gap: 10px;
    width: 90%;
    max-width: 800px;
    min-width: 200px;
}

.cta-button {
    width: 60%;
    height: 50px;
    background: #d6123b;
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
}

.cta-button:hover {
    background: #b8102f;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(214, 18, 59, 0.4);
}

/* デモサイトボタン */
.demo-button {
    width: 40%;
    height: 50px;
    background: linear-gradient(135deg, #fd5392 0%, #f86f64 100%);
    color: white;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    outline: none;
}

.demo-button:hover,
.demo-button:focus,
.demo-button:active,
.demo-button:visited {
    background: linear-gradient(135deg, #e74882 0%, #e75e54 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(253, 83, 146, 0.4);
    color: white !important;
    text-decoration: none !important;
    outline: none !important;
}

/* ============================================
   デモサイトドロップダウンメニュー
   ============================================ */

/* ドロップダウンコンテナ */
.demo-dropdown {
    position: relative;
    width: 40%;
}

/* ドロップダウン内のデモボタン - 幅を100%に */
.demo-dropdown .demo-button {
    width: 100%;
}

/* ドロップダウンメニュー（上に開く） */
.demo-dropdown-menu {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.7) !important;
    border-radius: 10px;
    backdrop-filter: blur(4px);
    border: 1px solid #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    overflow: hidden;
    z-index: 1001;
}

/* メニューが開いているとき */
.demo-dropdown.open .demo-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* メニューアイテム */
.demo-dropdown-item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px !important;
    color: #d6123b;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.2s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.demo-dropdown-item:last-child {
    border-bottom: none;
}

.demo-dropdown-item:hover,
.demo-dropdown-item:active,
.demo-dropdown-item:focus,
.demo-dropdown-item:visited {
    background: linear-gradient(135deg, rgba(253, 83, 146, 0.1) 0%, rgba(248, 111, 100, 0.1) 100%);
    color: #d6123b;
    text-decoration: none !important;
    outline: none;
}

/* Contact Form 7のスピナー制御 */
.wpcf7-spinner {
    visibility: hidden !important;
}

.wpcf7.submitting .wpcf7-spinner {
    visibility: visible !important;
}

/* ============================================
   全画面サイズ共通 - 前のスライドの残像対策
   ============================================ */

/* すべての画面サイズで適用 */
.slide:not(.active) {
    opacity: 0;
    z-index: 1;
    pointer-events: none;
}

.slide.active {
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
}

/* 非アクティブスライドの画像・動画・コンテンツを非表示 */
.slide:not(.active) img,
.slide:not(.active) video,
.slide:not(.active) .slide-content {
    opacity: 0;
    visibility: hidden;
}

.slide.active img,
.slide.active video,
.slide.active .slide-content {
    opacity: 1;
    visibility: visible;
}

body {
    padding-top: 0px !important;
}

/* 超大画面（2000px以上）向けの最適化 */
@media (min-width: 2000px) {
    .slide-content {
        max-width: 1400px;
        font-size: 1.1em;
    }
}

.slide1-text-area{
    margin-top:40px !important;
}

/* Lp-text.png画像のスタイル */
.lp-text-image {
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 0 auto 25px !important;
    /* margin-bottom: 20px; */
    display: block;
}

@media (max-width: 768px) {
    .lp-text-image {
        max-width: 45%;
        margin: 0 auto !important;
    }
}

@media (max-width: 480px) {
    .lp-text-image {
        max-width: 71%;
        margin: 0 auto 20px !important;
    }
}

/* 左上ロゴスタイル（6、7、8、11番目のスライド用） */
.slide-logo-top-left {
    position: absolute;
    top: 60px;
    left: max(calc((100vw - 800px) / 2), 1vw);
    z-index: 10;
    width: 150px;
    max-width: 150px;
}

.slide-logo-top-left img {
    width: 100%;
    height: auto;
    display: block;
}

/* レスポンシブ対応 */
/* タブレット */
@media (max-width: 768px) {
    .slide-logo-top-left {
        top: 100px;
        left: 20%;
        transform: none;
        width: 100px;
        max-width: 100px;
    }
}

/* モバイル - CTAボタン対応 */
@media (max-width: 767px) {
    .cta-button {
        min-width: 60%;
    }
}

/* スマホ */
@media (max-width: 480px) {
    /* スライド3以降の段落とタイトルテキスト */
    .slide:nth-child(n+3) p {
        font-size: 13px !important;
        line-height: 1.7 !important;
        margin-bottom: 5px;
    }
    .slide:nth-child(n+3) h1 {
        font-size: 23px !important;
    }
    
    .slide-logo-top-left {
        top: calc(1%);
        left: 5%;
        transform: none;
        width: 80px;
        max-width: 80px;
    }
}

.particles-container{
    display: none !important;
}