/* ==========================================
   ヒーローセクション 新規スタイル
   ========================================== */

/* TALENTをゴールドオレンジに */
.hero-highlight {
    color: var(--gold-orange);
}

/* 日本語サブコピー（ヒラギノ角ゴ W6・完全に不透明） */
.hero-subtitle-jp {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W6', 'Hiragino Sans', 'Meiryo', sans-serif;
    font-size: clamp(1rem, 1.8vw, 1.25rem);
    font-weight: 600;
    color: #ffffff;
    line-height: 1.9;
    margin: var(--spacing-md) auto 20px;
    max-width: 600px;
    text-align: center;
}

/* IP × Organization × Talent（オレンジ） */
.hero-tagline {
    font-family: var(--font-en);
    font-size: clamp(1rem, 1.8vw, 1.5rem);
    font-weight: 700;
    color: var(--gold-orange);
    letter-spacing: 0.1em;
    text-align: center;
    margin: var(--spacing-md) auto var(--spacing-lg);
    line-height: 1.6;
}

.hero-tagline-sub {
    display: block;
    font-size: clamp(0.75rem, 1.2vw, 1rem);
    font-weight: 400;
    letter-spacing: 0.15em;
    margin-top: var(--spacing-xs);
}

/* Practice項目にナンバリング追加 */
.practice-number {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--gold-orange);
    letter-spacing: 0.2em;
    margin-bottom: var(--spacing-xs);
    font-family: var(--font-en);
}

/* ==========================================
   Practice詳細セクション（01-04）
   ========================================== */

.container-narrow {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

.practice-detail {
    padding: 60px 0;
    min-height: auto;
    display: flex;
    align-items: center;
}

.practice-header {
    margin-bottom: var(--spacing-lg);
    text-align: left; /* PC版は左寄せ */
}

/* スマホ版はセンター */
@media (max-width: 768px) {
    .practice-header {
        text-align: center;
    }
}

.practice-num {
    display: block;
    font-family: var(--font-en);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
    font-weight: 700;
    color: var(--gold-orange);
    letter-spacing: 0.3em;
    margin-bottom: var(--spacing-md);
    opacity: 0.7;
}

.practice-main-title {
    font-family: var(--font-en);
    font-size: clamp(1.4rem, 7vw, 6rem);
    font-weight: 900;
    color: var(--gold-orange);
    letter-spacing: 0.02em;
    text-transform: uppercase;
    line-height: 1.1;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: var(--spacing-lg);
    /* 右から左へスライドインアニメーション（初期状態） */
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

/* スライドインアニメーション定義 */
@keyframes slideInFromRight {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 白背景セクション（01, 03）は全て黒文字 */
.practice-section-light .practice-main-title {
    color: var(--gold-orange);
}

.practice-section-light .practice-lead {
    color: #1a1a1a;
}

.practice-section-light .practice-body {
    color: #1a1a1a;
}

.practice-section-light .practice-body p {
    color: #1a1a1a;
}

/* 実績セクションにも同じスタイルを適用 */
.achievements .achievement-content {
    color: #1a1a1a;
}

.achievements .achievement-content p {
    color: #1a1a1a;
    font-family: var(--font-jp);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 400;
    line-height: 2;
}

/* 紺背景セクション（02, 04）は全て白文字 */
.practice-section-dark .practice-main-title {
    color: var(--gold-orange);
}

.practice-section-dark .practice-lead {
    color: var(--text-primary);
}

.practice-section-dark .practice-body {
    color: var(--text-primary);
}

.practice-section-dark .practice-body p {
    color: var(--text-primary);
}

.practice-lead {
    font-family: var(--font-jp);
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: var(--spacing-lg);
    border-left: 4px solid var(--gold-orange);
    padding-left: var(--spacing-md);
    text-align: left; /* PC版は左寄せ */
}

.practice-body {
    font-family: var(--font-jp);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    font-weight: 400;
    line-height: 2;
    text-align: left; /* PC版は左寄せ */
}

.practice-body p {
    font-weight: 400;
    margin-bottom: var(--spacing-md);
}

.practice-body p:last-child {
    margin-bottom: 0;
}

/* セクション交互背景 */
.practice-detail.section-dark {
    background-color: var(--secondary-color);
}

/* ==========================================
   レスポンシブ
   ========================================== */

@media (max-width: 768px) {
    .practice-detail {
        padding: 60px 0;
    }
    
    .hero-subtitle-jp {
        font-size: 1rem;
        margin: var(--spacing-sm) auto 20px;
        line-height: 1.8;
    }
    
    .hero-tagline {
        font-size: 1rem;
        margin: var(--spacing-sm) auto var(--spacing-md);
    }
    
    .practice-main-title {
        font-size: 1.75rem;
    }
    
    .practice-lead {
        font-size: 1.25rem;
    }
    
    .practice-body {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .practice-detail {
        padding: 80px 0;
    }
    
    .hero-subtitle-jp {
        font-size: 0.9rem;
        margin: var(--spacing-xs) auto 20px;
        line-height: 1.7;
    }
    
    .hero-tagline {
        font-size: 0.9rem;
        margin: var(--spacing-xs) auto var(--spacing-sm);
    }
    
    .practice-main-title {
        font-size: 1.5rem;
    }
    
    .practice-lead {
        font-size: 1.125rem;
    }
}
