@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/* メインセクションコンテナ */
.guitar-practice-intro-section-2025-premium {
    background: linear-gradient(135deg, #FAFAFA 0%, #F5F5F0 100%);
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.guitar-practice-intro-section-2025-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #D4AF37, #8B4513, #D4AF37);
    animation: shimmer-gold 3s ease-in-out infinite;
}

@keyframes shimmer-gold {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 1; }
}

.practice-intro-container-wrapper-unique2025 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ヘッダーブロック */
.practice-intro-header-block-sophisticated {
    text-align: center;
    margin-bottom: 60px;
}

.practice-intro-main-title-premium-gold {
    font-size: 42px;
    font-weight: 700;
    color: #2C1810;
    margin-bottom: 20px;
    position: relative;
    display: inline-block;
    letter-spacing: 0.5px;
}

.title-accent-guitar-icon {
    display: inline-block;
    margin-right: 12px;
    font-size: 36px;
    vertical-align: middle;
    animation: gentle-rotate 4s ease-in-out infinite;
}

@keyframes gentle-rotate {
    0%, 100% { transform: rotate(-5deg); }
    50% { transform: rotate(5deg); }
}

.title-subtitle-elegant {
    display: block;
    font-size: 18px;
    color: #8B4513;
    font-weight: 400;
    margin-top: 10px;
    font-style: italic;
}

.practice-intro-lead-text-premium {
    max-width: 800px;
    margin: 0 auto;
}

.lead-paragraph-sophisticated {
    font-size: 18px;
    line-height: 1.8;
    color: #4A4A4A;
    text-align: center;
}

.emphasis-gold-text {
    color: #D4AF37;
    font-weight: 600;
}

.highlight-premium-brown {
    color: #8B4513;
    font-weight: 700;
    border-bottom: 2px solid #D4AF37;
    padding-bottom: 2px;
}

/* 各練習方法ブロック共通スタイル */
[class*="practice-method-block-unique"] {
    background: #FFFFFF;
    border-radius: 12px;
    padding: 40px;
    margin-bottom: 40px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    border: 1px solid #E5E5E0;
    position: relative;
}

[class*="practice-method-block-unique"]:hover {
    box-shadow: 0 6px 30px rgba(0,0,0,0.12);
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* 方法ヘッダー */
.method-header-wrapper-premium {
    margin-bottom: 30px;
}

.method-title-sophisticated-brown,
.method-title-sophisticated-green,
.method-title-sophisticated-wine,
.method-title-sophisticated-navy,
.method-title-sophisticated-purple,
.method-title-sophisticated-teal,
.method-title-sophisticated-orange,
.method-title-sophisticated-indigo,
.method-title-sophisticated-crimson,
.method-title-sophisticated-forest,
.method-title-sophisticated-lavender,
.method-title-sophisticated-sunset {
    font-size: 28px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0;
}

.method-title-sophisticated-brown { color: #6B4423; }
.method-title-sophisticated-green { color: #2E7D32; }
.method-title-sophisticated-wine { color: #722F37; }
.method-title-sophisticated-navy { color: #1A237E; }
.method-title-sophisticated-purple { color: #6A1B9A; }
.method-title-sophisticated-teal { color: #00695C; }
.method-title-sophisticated-orange { color: #E65100; }
.method-title-sophisticated-indigo { color: #283593; }
.method-title-sophisticated-crimson { color: #B71C1C; }
.method-title-sophisticated-forest { color: #1B5E20; }
.method-title-sophisticated-lavender { color: #7B68EE; }
.method-title-sophisticated-sunset { color: #FF6B35; }

.method-number-circle-gold {
    background: linear-gradient(135deg, #FFD700, #D4AF37);
    color: #FFFFFF;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(212, 175, 55, 0.3);
}

/* コンテンツエリア */
.method-content-wrapper-elegant {
    color: #333333;
    line-height: 1.75;
}

.method-description-premium {
    font-size: 16px;
    margin-bottom: 25px;
    color: #4A4A4A;
}

.bold-emphasis-brown { color: #8B4513; font-weight: 700; }
.bold-emphasis-green { color: #2E7D32; font-weight: 700; }
.bold-emphasis-wine { color: #722F37; font-weight: 700; }
.bold-emphasis-navy { color: #1A237E; font-weight: 700; }
.bold-emphasis-purple { color: #6A1B9A; font-weight: 700; }
.bold-emphasis-teal { color: #00695C; font-weight: 700; }
.bold-emphasis-orange { color: #E65100; font-weight: 700; }
.bold-emphasis-indigo { color: #283593; font-weight: 700; }
.bold-emphasis-crimson { color: #B71C1C; font-weight: 700; }
.bold-emphasis-forest { color: #1B5E20; font-weight: 700; }
.bold-emphasis-lavender { color: #7B68EE; font-weight: 700; }
.bold-emphasis-sunset { color: #FF6B35; font-weight: 700; }

.underline-gold-accent {
    text-decoration: underline;
    text-decoration-color: #D4AF37;
    text-decoration-thickness: 2px;
}

.highlight-premium-gold {
    background: linear-gradient(180deg, transparent 60%, rgba(255, 215, 0, 0.3) 60%);
    padding: 2px 4px;
}

/* 目標例グリッド */
.goal-examples-grid-premium {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

.goal-example-card-minimal {
    background: #F9F9F5;
    border-left: 4px solid #D4AF37;
    padding: 20px;
    border-radius: 8px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transition: all 0.3s ease;
}

.goal-example-card-minimal:hover {
    background: #F5F5F0;
    transform: translateX(5px);
}

.goal-icon-premium {
    font-size: 24px;
    flex-shrink: 0;
}

.goal-text-elegant {
    font-size: 14px;
    line-height: 1.6;
    color: #555555;
    margin: 0;
}

/* ポモドーロテクニック表示 */
.pomodoro-technique-display-premium {
    background: #FBF8F3;
    border-radius: 10px;
    padding: 30px;
    margin: 30px 0;
    border: 1px solid #E5D4A1;
}

.technique-subtitle-elegant {
    font-size: 20px;
    color: #2E7D32;
    font-weight: 600;
    margin-bottom: 15px;
}

.technique-intro-text {
    font-size: 15px;
    color: #555555;
    margin-bottom: 20px;
}

.pomodoro-steps-list-premium {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.step-item-sophisticated {
    background: #FFFFFF;
    padding: 15px 20px;
    margin-bottom: 12px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: all 0.3s ease;
}

.step-item-sophisticated:hover {
    transform: translateX(8px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.step-number-gold {
    background: #D4AF37;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.step-text-premium {
    color: #333333;
    font-size: 15px;
}

/* スロートレーニングプロセス */
.slow-training-process-premium {
    margin: 30px 0;
}

.process-title-elegant {
    font-size: 18px;
    color: #722F37;
    font-weight: 600;
    margin-bottom: 20px;
}

.process-steps-container-sophisticated {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 25px 0;
}

.process-step-block-premium {
    text-align: center;
    padding: 20px;
    background: #FFF9F0;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.process-step-block-premium:hover {
    background: #FFF5E6;
    transform: scale(1.05);
}

.step-icon-circle-gold {
    font-size: 32px;
    color: #D4AF37;
    margin-bottom: 10px;
}

.step-description-elegant {
    font-size: 14px;
    color: #555555;
    line-height: 1.5;
    margin: 0;
}

/* 個人体験ブロック */
.personal-experience-block-premium,
.success-story-block-premium,
.personal-message-block-premium {
    background: linear-gradient(135deg, #FFF9F0 0%, #FFF5E6 100%);
    border-left: 5px solid #D4AF37;
    padding: 25px;
    margin: 30px 0;
    border-radius: 0 10px 10px 0;
    font-style: italic;
}

.experience-text-elegant,
.story-text-elegant,
.message-text-elegant {
    font-size: 15px;
    line-height: 1.8;
    color: #4A4A4A;
    margin: 0;
}

.highlight-gold-underline {
    border-bottom: 2px solid #FFD700;
    padding-bottom: 2px;
}

.highlight-gold-text {
    color: #D4AF37;
    font-weight: 600;
}

/* マイクロプラクティス例 */
.micro-practice-example-premium {
    background: #F8F8F3;
    padding: 30px;
    border-radius: 10px;
    margin: 30px 0;
}

.example-title-elegant,
.example-title-orange,
.example-title-indigo {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
}

.example-title-elegant { color: #1A237E; }
.example-title-orange { color: #E65100; }
.example-title-indigo { color: #283593; }

.practice-steps-ordered-premium {
    counter-reset: step-counter;
    padding-left: 0;
    list-style: none;
}

.ordered-step-sophisticated {
    counter-increment: step-counter;
    position: relative;
    padding-left: 50px;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.7;
    color: #333333;
}

.ordered-step-sophisticated::before {
    content: counter(step-counter);
    position: absolute;
    left: 0;
    top: 0;
    background: #1A237E;
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}

.step-emphasis-navy {
    color: #1A237E;
    font-weight: 700;
}

/* 録音ベネフィットグリッド */
.recording-benefits-grid-premium {
    margin: 30px 0;
}

.benefits-title-elegant {
    font-size: 18px;
    color: #6A1B9A;
    font-weight: 600;
    margin-bottom: 20px;
}

.benefits-container-sophisticated {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.benefit-item-premium {
    background: #FAF5FF;
    padding: 20px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

.benefit-item-premium:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(106, 27, 154, 0.1);
}

.benefit-icon-purple {
    font-size: 28px;
    flex-shrink: 0;
}

.benefit-text-elegant {
    font-size: 14px;
    color: #333333;
    margin: 0;
    line-height: 1.6;
}

/* 理論と実践のバランス */
.balance-comparison-premium {
    margin: 30px 0;
}

.theory-practice-columns-sophisticated {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin: 25px 0;
}

.theory-column-premium,
.practice-column-premium {
    background: #F5FFFE;
    padding: 25px;
    border-radius: 10px;
    border-top: 4px solid #00695C;
}

.column-title-teal {
    font-size: 18px;
    color: #00695C;
    font-weight: 600;
    margin-bottom: 15px;
}

.theory-list-elegant,
.practice-list-elegant {
    list-style: none;
    padding: 0;
}

.theory-item-premium,
.practice-item-premium {
    padding-left: 25px;
    position: relative;
    margin-bottom: 12px;
    font-size: 14px;
    line-height: 1.6;
    color: #333333;
}

.theory-item-premium::before,
.practice-item-premium::before {
    content: '▸';
    position: absolute;
    left: 0;
    color: #00695C;
    font-weight: 700;
}

/* 時間配分 */
.time-allocation-premium {
    background: #F0F9F8;
    padding: 30px;
    border-radius: 10px;
    margin: 30px 0;
}

.allocation-title-elegant {
    font-size: 18px;
    color: #00695C;
    font-weight: 600;
    margin-bottom: 20px;
}

.time-breakdown-sophisticated {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
}

.time-segment-premium {
    background: white;
    padding: 15px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.time-amount-gold {
    font-size: 20px;
    font-weight: 700;
    color: #D4AF37;
}

.time-activity-teal {
    font-size: 14px;
    color: #00695C;
    line-height: 1.4;
}

/* 段階的難易度設定 */
.chord-progression-example-premium {
    margin: 30px 0;
}

.progression-steps-container-premium {
    background: #FFF5E6;
    padding: 30px;
    border-radius: 10px;
}

.progression-step-sophisticated {
    background: white;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.3s ease;
}

.progression-step-sophisticated:hover {
    transform: translateX(10px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.step-level-orange {
    background: #E65100;
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;
}

.step-content-elegant {
    flex: 1;
    font-size: 15px;
    color: #333333;
    margin: 0;
}

.progression-arrow-gold {
    text-align: center;
    font-size: 24px;
    color: #D4AF37;
    margin: 10px 0;
}

/* 多角的アプローチ */
.approach-methods-grid-premium {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
    margin: 25px 0;
}

.approach-method-card-sophisticated {
    background: #F0F0FF;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.approach-method-card-sophisticated:hover {
    border-color: #283593;
    transform: scale(1.05);
}

.method-icon-indigo {
    font-size: 32px;
    margin-bottom: 10px;
    display: block;
}

.method-text-elegant {
    font-size: 14px;
    color: #333333;
    margin: 0;
    line-height: 1.5;
}

/* メトロノームのヒント */
.metronome-tips-premium {
    background: #FFF0F0;
    padding: 30px;
    border-radius: 10px;
    margin: 30px 0;
}

.tips-title-crimson {
    font-size: 18px;
    color: #B71C1C;
    font-weight: 600;
    margin-bottom: 20px;
}

.tips-list-sophisticated {
    list-style: none;
    padding: 0;
}

.tip-item-premium {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
    padding: 15px;
    background: white;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.tip-item-premium:hover {
    transform: translateX(5px);
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.tip-icon-gold {
    font-size: 24px;
    flex-shrink: 0;
}

.tip-text-elegant {
    font-size: 14px;
    color: #333333;
    line-height: 1.6;
}

/* 練習ログチェックリスト */
.log-items-checklist-premium {
    background: #F0F5F0;
    padding: 25px;
    border-radius: 10px;
    margin: 25px 0;
}

.log-item-sophisticated {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
    padding: 12px;
    background: white;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.log-item-sophisticated:hover {
    background: #FAFAFA;
    transform: translateX(5px);
}

.check-icon-forest {
    color: #1B5E20;
    font-size: 20px;
    font-weight: 700;
}

.item-text-elegant {
    font-size: 14px;
    color: #333333;
}

/* CTA セクション */
.practice-cta-section-premium {
    background: linear-gradient(135deg, #2C1810 0%, #4A3426 100%);
    padding: 50px;
    border-radius: 15px;
    margin-top: 60px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.practice-cta-section-premium::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(212, 175, 55, 0.1) 0%, transparent 70%);
    animation: rotate-slow 30s linear infinite;
}

@keyframes rotate-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.cta-content-wrapper-sophisticated {
    position: relative;
    z-index: 1;
}

.cta-title-gold {
    font-size: 28px;
    color: #FFD700;
    font-weight: 700;
    margin-bottom: 20px;
}

.cta-description-elegant {
    font-size: 16px;
    color: #FFFFFF;
    margin-bottom: 30px;
    line-height: 1.6;
}

.cta-button-premium {
    display: inline-block;
    background: linear-gradient(135deg, #FFD700, #D4AF37);
    color: #2C1810;
    padding: 15px 40px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
}

.cta-button-premium:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 25px rgba(212, 175, 55, 0.4);
}

/* 画像ラッパー */
.method-image-wrapper-full-width {
    margin: 30px -40px;
    text-align: center;
}

.method-image-responsive {
    width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.image-caption-elegant {
    font-size: 14px;
    color: #666666;
    font-style: italic;
    margin-top: 15px;
    padding: 0 40px;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .practice-intro-main-title-premium-gold {
        font-size: 32px;
    }
    
    .title-subtitle-elegant {
        font-size: 16px;
    }
    
    [class*="practice-method-block-unique"] {
        padding: 25px;
    }
    
    .method-title-sophisticated-brown,
    .method-title-sophisticated-green,
    .method-title-sophisticated-wine,
    .method-title-sophisticated-navy,
    .method-title-sophisticated-purple,
    .method-title-sophisticated-teal,
    .method-title-sophisticated-orange,
    .method-title-sophisticated-indigo,
    .method-title-sophisticated-crimson,
    .method-title-sophisticated-forest,
    .method-title-sophisticated-lavender,
    .method-title-sophisticated-sunset {
        font-size: 22px;
    }
    
    .goal-examples-grid-premium {
        grid-template-columns: 1fr;
    }
    
    .theory-practice-columns-sophisticated {
        grid-template-columns: 1fr;
    }
    
    .time-breakdown-sophisticated {
        grid-template-columns: 1fr;
    }
    
    .approach-methods-grid-premium {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    }
    
    .practice-cta-section-premium {
        padding: 30px 20px;
    }
    
    .cta-title-gold {
        font-size: 22px;
    }
    
    .method-image-wrapper-full-width {
        margin: 20px -25px;
    }
}

@media (max-width: 480px) {
    .practice-intro-container-wrapper-unique2025 {
        padding: 0 15px;
    }
    
    .practice-intro-main-title-premium-gold {
        font-size: 26px;
    }
    
    .lead-paragraph-sophisticated {
        font-size: 16px;
    }
    
    [class*="practice-method-block-unique"] {
        padding: 20px;
        margin-bottom: 25px;
    }
    
    .process-steps-container-sophisticated {
        grid-template-columns: 1fr;
    }
    
    .ordered-step-sophisticated {
        padding-left: 40px;
    }
    
    .benefits-container-sophisticated {
        grid-template-columns: 1fr;
    }
    
    .approach-methods-grid-premium {
        grid-template-columns: 1fr;
    }
    
    .method-image-wrapper-full-width {
        margin: 20px -20px;
    }
    
    .cta-button-premium {
        padding: 12px 30px;
        font-size: 14px;
    }
}

/* アクセシビリティ対応 */
@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}

/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
    .guitar-practice-intro-section-2025-premium {
        background: linear-gradient(135deg, #1A1A1A 0%, #2A2A2A 100%);
    }
    
    [class*="practice-method-block-unique"] {
        background: #2A2A2A;
        border-color: #3A3A3A;
        color: #E0E0E0;
    }
    
    .method-description-premium,
    .goal-text-elegant,
    .step-text-premium,
    .step-description-elegant,
    .benefit-text-elegant,
    .theory-item-premium,
    .practice-item-premium,
    .step-content-elegant,
    .method-text-elegant,
    .tip-text-elegant,
    .item-text-elegant {
        color: #D0D0D0;
    }
    
    .goal-example-card-minimal {
        background: #3A3A3A;
    }
    
    .pomodoro-technique-display-premium,
    .slow-training-process-premium,
    .micro-practice-example-premium,
    .recording-benefits-grid-premium,
    .time-allocation-premium,
    .chord-progression-example-premium,
    .metronome-tips-premium,
    .log-items-checklist-premium {
        background: #2A2A2A;
    }
    
    .step-item-sophisticated,
    .process-step-block-premium,
    .benefit-item-premium,
    .theory-column-premium,
    .practice-column-premium,
    .time-segment-premium,
    .progression-step-sophisticated,
    .approach-method-card-sophisticated,
    .tip-item-premium,
    .log-item-sophisticated {
        background: #3A3A3A;
    }
}

/* メインセクションスタイル */
.daily-routine-master-section-unique2025-premium {
    background: linear-gradient(180deg, #FAFAF8 0%, #F5F2ED 100%);
    padding: 90px 0;
    position: relative;
    overflow: hidden;
}

.daily-routine-master-section-unique2025-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #C9A961, #8B6F47, #C9A961);
    opacity: 0.9;
}

.routine-container-wrapper-sophisticated-unique {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ヘッダーブロック */
.routine-header-block-elegant-premium {
    text-align: center;
    margin-bottom: 70px;
    position: relative;
}

.routine-main-title-luxurious-gold {
    font-size: 44px;
    font-weight: 700;
    color: #2A1810;
    margin-bottom: 25px;
    display: inline-block;
    position: relative;
    letter-spacing: 1px;
}

.title-icon-musical-note {
    display: inline-block;
    margin-right: 15px;
    font-size: 38px;
    color: #C9A961;
    vertical-align: middle;
    animation: subtle-pulse 3s ease-in-out infinite;
}

@keyframes subtle-pulse {
    0%, 100% { transform: scale(1); opacity: 0.9; }
    50% { transform: scale(1.05); opacity: 1; }
}

.title-sub-elegant-italic {
    display: block;
    font-size: 19px;
    color: #8B6F47;
    font-style: italic;
    margin-top: 12px;
    font-weight: 400;
}

.routine-intro-lead-premium {
    max-width: 850px;
    margin: 0 auto;
}

.lead-text-sophisticated-brown {
    font-size: 17px;
    line-height: 1.85;
    color: #4A3F36;
    text-align: center;
}

.emphasis-gold-bold {
    color: #C9A961;
    font-weight: 700;
    font-size: 18px;
}

.highlight-text-wine {
    color: #722F37;
    font-weight: 600;
    background: linear-gradient(180deg, transparent 65%, rgba(201, 169, 97, 0.2) 65%);
    padding: 2px 4px;
}

/* 各ルーティンブロック共通スタイル */
[class*="block-unique-premium2025"] {
    background: #FFFFFF;
    border-radius: 14px;
    padding: 45px;
    margin-bottom: 45px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.06);
    border: 1px solid #E8E4DD;
    position: relative;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

[class*="block-unique-premium2025"].visible {
    opacity: 1;
    transform: translateY(0);
}

[class*="block-unique-premium2025"]:hover {
    box-shadow: 0 8px 35px rgba(0,0,0,0.1);
    transform: translateY(-3px);
}

/* 朝のウォームアップブロック */
.morning-warmup-block-unique-premium2025 {
    background: linear-gradient(135deg, #FFFEF9 0%, #FFF8E8 100%);
}

.warmup-header-container-sophisticated {
    margin-bottom: 35px;
}

.warmup-title-morning-gold {
    font-size: 30px;
    font-weight: 600;
    color: #D4A574;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.time-icon-sunrise {
    font-size: 32px;
    display: inline-block;
}

.warmup-content-wrapper-elegant {
    color: #3A3330;
    line-height: 1.8;
}

.content-intro-block-premium {
    margin-bottom: 30px;
}

.intro-text-sophisticated {
    font-size: 16px;
    color: #4A3F36;
    line-height: 1.85;
}

.bold-emphasis-orange {
    color: #E67E22;
    font-weight: 700;
}

.highlight-morning-gold {
    background: rgba(255, 215, 0, 0.15);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

.morning-routine-steps-container {
    margin: 30px 0;
}

.routine-description-premium {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 30px;
}

.bold-text-brown {
    color: #8B6F47;
    font-weight: 700;
}

.technique-highlight {
    color: #C9A961;
    font-weight: 600;
    border-bottom: 1px dotted #C9A961;
}

/* フロービジュアル */
.morning-practice-flow-visual {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: #FFF;
    padding: 30px;
    border-radius: 10px;
    margin: 30px 0;
    flex-wrap: wrap;
    gap: 20px;
}

.flow-step-morning {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    background: linear-gradient(135deg, #FFF9F0, #FFF5E6);
    border-radius: 8px;
    border: 2px solid #F4E4C1;
    transition: all 0.3s ease;
    flex: 1;
    min-width: 200px;
}

.flow-step-morning:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(201, 169, 97, 0.2);
}

.step-number-circle {
    background: #C9A961;
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
}

.step-text-elegant {
    font-size: 14px;
    color: #4A3F36;
}

.flow-arrow-gold {
    color: #C9A961;
    font-size: 24px;
    font-weight: bold;
}

.conclusion-text-morning {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    margin-top: 25px;
}

.emphasis-green {
    color: #27AE60;
    font-weight: 700;
}

.special-technique-gold {
    color: #C9A961;
    font-weight: 600;
    font-style: italic;
}

/* 通勤・通学時間の活用ブロック */
.commute-practice-block-unique-premium2025 {
    background: linear-gradient(135deg, #F0F4FF 0%, #E8EFFF 100%);
}

.commute-header-container-sophisticated {
    margin-bottom: 35px;
}

.commute-title-train-blue {
    font-size: 30px;
    font-weight: 600;
    color: #2E5090;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.time-icon-train {
    font-size: 32px;
}

.commute-content-wrapper-elegant {
    color: #3A3330;
}

.commute-intro-text {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 30px;
}

.bold-emphasis-blue {
    color: #2E5090;
    font-weight: 700;
}

.highlight-commute-blue {
    background: rgba(46, 80, 144, 0.1);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* エアギターテクニックブロック */
.air-guitar-technique-block {
    background: #FFFFFF;
    padding: 25px;
    border-radius: 10px;
    border-left: 4px solid #2E5090;
    margin: 30px 0;
}

.technique-subtitle-premium {
    font-size: 20px;
    color: #2E5090;
    font-weight: 600;
    margin-bottom: 15px;
}

.technique-description-elegant {
    font-size: 15px;
    line-height: 1.8;
    color: #4A3F36;
}

.technique-name-bold {
    color: #2E5090;
    font-weight: 700;
    font-size: 17px;
}

.muscle-memory-highlight {
    color: #E67E22;
    font-weight: 600;
}

/* 生徒の体験談ブロック */
.student-story-block-premium {
    background: linear-gradient(135deg, #F5F9FF 0%, #EBF3FF 100%);
    padding: 30px;
    border-radius: 12px;
    margin: 30px 0;
    position: relative;
    border: 1px solid #D4E2FF;
}

.story-icon-quote {
    font-size: 36px;
    position: absolute;
    top: 20px;
    left: 25px;
    opacity: 0.3;
}

.story-text-italic {
    font-size: 15px;
    line-height: 1.85;
    font-style: italic;
    color: #4A3F36;
    padding-left: 50px;
}

.quote-highlight {
    color: #2E5090;
    font-weight: 600;
    background: rgba(46, 80, 144, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

/* 通勤練習リスト */
.commute-practice-list-container {
    margin-top: 35px;
}

.list-title-elegant {
    font-size: 20px;
    color: #2E5090;
    font-weight: 600;
    margin-bottom: 20px;
}

.practice-item-commute {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: white;
    border-radius: 8px;
    margin-bottom: 12px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.practice-item-commute:hover {
    transform: translateX(10px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.item-icon {
    font-size: 24px;
    width: 40px;
    text-align: center;
}

.item-text {
    font-size: 15px;
    color: #4A3F36;
    font-weight: 500;
}

/* 夕方の集中練習セッション */
.evening-session-block-unique-premium2025 {
    background: linear-gradient(135deg, #FFF5F0 0%, #FFE8DD 100%);
}

.evening-header-container-sophisticated {
    margin-bottom: 35px;
}

.evening-title-sunset-orange {
    font-size: 30px;
    font-weight: 600;
    color: #D35400;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.time-icon-sunset {
    font-size: 32px;
}

.evening-content-wrapper-elegant {
    color: #3A3330;
}

.evening-intro-premium {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 30px;
}

.bold-emphasis-orange {
    color: #D35400;
    font-weight: 700;
}

.highlight-evening-gold {
    background: rgba(255, 193, 7, 0.15);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* ポモドーロセッションブロック */
.pomodoro-session-block {
    background: #FFFFFF;
    padding: 30px;
    border-radius: 10px;
    margin: 30px 0;
    border: 1px solid #FFE0CC;
}

.session-description-premium {
    font-size: 15px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 25px;
}

.technique-bold {
    color: #D35400;
    font-weight: 700;
}

/* セッション構造ビジュアル */
.session-structure-visual {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    margin: 25px 0;
}

.structure-phase {
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    transition: all 0.3s ease;
}

.phase-warmup {
    background: #FFF9F3;
    border: 2px solid #FFE0B2;
}

.phase-review {
    background: #FFF5E6;
    border: 2px solid #FFD4A3;
}

.phase-new {
    background: #FFF0DC;
    border: 2px solid #FFC994;
}

.structure-phase:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(211, 84, 0, 0.15);
}

.phase-icon {
    font-size: 32px;
    margin-bottom: 10px;
    display: block;
}

.phase-title {
    font-size: 16px;
    color: #D35400;
    font-weight: 600;
    margin: 10px 0 5px;
}

.phase-time {
    font-size: 14px;
    color: #8B6F47;
    font-weight: 500;
}

/* 神聖な時間ブロック */
.sacred-time-block-premium {
    background: linear-gradient(135deg, #FFF5E6 0%, #FFE8D5 100%);
    padding: 25px;
    border-radius: 10px;
    margin-top: 30px;
    border-left: 5px solid #D35400;
}

.sacred-time-text {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
}

.emphasis-red {
    color: #E74C3C;
    font-weight: 700;
    font-size: 17px;
}

.focus-highlight {
    background: rgba(255, 193, 7, 0.2);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* 就寝前の振り返りブロック */
.bedtime-review-block-unique-premium2025 {
    background: linear-gradient(135deg, #F5F0FF 0%, #E8DDFF 100%);
}

.bedtime-header-container-sophisticated {
    margin-bottom: 35px;
}

.bedtime-title-night-purple {
    font-size: 30px;
    font-weight: 600;
    color: #6C5CE7;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.time-icon-moon {
    font-size: 32px;
}

.bedtime-content-wrapper-elegant {
    color: #3A3330;
}

.bedtime-intro-text {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 30px;
}

.bold-emphasis-purple {
    color: #6C5CE7;
    font-weight: 700;
}

.highlight-bedtime-purple {
    background: rgba(108, 92, 231, 0.1);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* 振り返り活動コンテナ */
.review-activities-container {
    background: white;
    padding: 25px;
    border-radius: 10px;
    margin: 30px 0;
    border-left: 4px solid #6C5CE7;
}

.activities-title-elegant {
    font-size: 20px;
    color: #6C5CE7;
    font-weight: 600;
    margin-bottom: 15px;
}

.activities-description {
    font-size: 15px;
    line-height: 1.85;
    color: #4A3F36;
}

.brain-signal-bold {
    color: #6C5CE7;
    font-weight: 700;
}

.sleep-consolidation {
    color: #9B59B6;
    font-weight: 600;
    font-style: italic;
}

/* 明日の計画ブロック */
.tomorrow-planning-block {
    background: #FAFAFA;
    padding: 25px;
    border-radius: 10px;
    margin: 30px 0;
    text-align: center;
}

.planning-text-premium {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    font-style: italic;
}

.quote-mark {
    font-size: 24px;
    color: #6C5CE7;
    font-weight: 700;
}

.emphasis-text-purple {
    color: #6C5CE7;
    font-weight: 700;
}

/* チェックリストビジュアル */
.bedtime-checklist-visual {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    margin-top: 25px;
}

.checklist-item-bedtime {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: white;
    border-radius: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.checklist-item-bedtime:hover {
    transform: translateX(5px);
    box-shadow: 0 4px 12px rgba(108, 92, 231, 0.15);
}

.check-icon {
    font-size: 20px;
    color: #6C5CE7;
}

/* 週末のジャムセッション */
.weekend-jam-block-unique-premium2025 {
    background: linear-gradient(135deg, #E8F5E9 0%, #C8E6C9 100%);
}

.weekend-header-container-sophisticated {
    margin-bottom: 35px;
}

.weekend-title-party-green {
    font-size: 30px;
    font-weight: 600;
    color: #27AE60;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.time-icon-party {
    font-size: 32px;
}

.weekend-content-wrapper-elegant {
    color: #3A3330;
}

.weekend-intro-premium {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 30px;
}

.bold-emphasis-green {
    color: #27AE60;
    font-weight: 700;
}

.highlight-weekend-green {
    background: rgba(39, 174, 96, 0.1);
    padding: 3px 8px;
    border-radius: 4px;
    font-weight: 600;
}

/* ジャムの重要性ブロック */
.jam-importance-block {
    background: white;
    padding: 25px;
    border-radius: 10px;
    margin: 30px 0;
    border: 2px solid #A8E6CF;
}

.importance-text-elegant {
    font-size: 16px;
    line-height: 1.85;
    color: #4A3F36;
}

.practical-skill-bold {
    color: #27AE60;
    font-weight: 700;
}

.joy-highlight {
    color: #16A085;
    font-weight: 600;
    background: rgba(22, 160, 133, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

/* ソロオプションコンテナ */
.solo-options-container {
    margin-top: 35px;
}

.options-title-premium {
    font-size: 20px;
    color: #27AE60;
    font-weight: 600;
    margin-bottom: 15px;
}

.options-description {
    font-size: 15px;
    line-height: 1.85;
    color: #4A3F36;
    margin-bottom: 25px;
}

.youtube-bold {
    color: #E74C3C;
    font-weight: 700;
}

.app-highlight {
    color: #3498DB;
    font-weight: 600;
}

/* 週末アクティビティグリッド */
.weekend-activities-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    margin-top: 25px;
}

.activity-card-weekend {
    background: white;
    padding: 25px;
    border-radius: 12px;
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid #C8E6C9;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.activity-card-weekend:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(39, 174, 96, 0.2);
    border-color: #27AE60;
}

.activity-icon {
    font-size: 36px;
    margin-bottom: 12px;
    display: block;
}

.activity-title {
    font-size: 16px;
    color: #27AE60;
    font-weight: 600;
    margin: 10px 0 8px;
}

.activity-desc {
    font-size: 14px;
    color: #666666;
    line-height: 1.5;
    margin: 0;
}

/* 画像コンテナ */
.image-container-full-width-morning,
.image-container-full-width-evening,
.image-container-full-width-weekend {
    margin: 35px -45px 0;
    text-align: center;
}

.responsive-image-premium {
    width: 100%;
    height: auto;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

.image-caption-elegant {
    font-size: 14px;
    color: #777777;
    font-style: italic;
    margin-top: 15px;
    padding: 0 45px;
}

/* CTAセクション */
.routine-cta-section-premium-unique {
    background: linear-gradient(135deg, #2C1F1A 0%, #4A3426 100%);
    padding: 55px;
    border-radius: 16px;
    margin-top: 70px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.routine-cta-section-premium-unique::before {
    content: '';
    position: absolute;
    top: -100px;
    right: -100px;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(201, 169, 97, 0.15) 0%, transparent 70%);
    animation: float-slow 20s ease-in-out infinite;
}

@keyframes float-slow {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-50px, 50px); }
}

.cta-content-wrapper-luxurious {
    position: relative;
    z-index: 1;
}

.cta-title-golden {
    font-size: 30px;
    color: #FFD700;
    font-weight: 700;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.cta-description-elegant {
    font-size: 17px;
    color: #FFFFFF;
    margin-bottom: 35px;
    line-height: 1.7;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.cta-button-luxurious {
    display: inline-block;
    background: linear-gradient(135deg, #FFD700, #C9A961);
    color: #2C1F1A;
    padding: 18px 45px;
    border-radius: 50px;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.4s ease;
    box-shadow: 0 5px 20px rgba(201, 169, 97, 0.35);
    position: relative;
    overflow: hidden;
}

.cta-button-luxurious:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(201, 169, 97, 0.5);
}

.cta-button-luxurious::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255,255,255,0.3);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.cta-button-luxurious:hover::before {
    width: 300px;
    height: 300px;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    .routine-main-title-luxurious-gold {
        font-size: 34px;
    }
    
    .title-sub-elegant-italic {
        font-size: 16px;
    }
    
    [class*="block-unique-premium2025"] {
        padding: 30px;
        margin-bottom: 30px;
    }
    
    .warmup-title-morning-gold,
    .commute-title-train-blue,
    .evening-title-sunset-orange,
    .bedtime-title-night-purple,
    .weekend-title-party-green {
        font-size: 24px;
    }
    
    .morning-practice-flow-visual {
        flex-direction: column;
        gap: 15px;
    }
    
    .flow-arrow-gold {
        transform: rotate(90deg);
    }
    
    .session-structure-visual {
        grid-template-columns: 1fr;
    }
    
    .weekend-activities-grid {
        grid-template-columns: 1fr;
    }
    
    .bedtime-checklist-visual {
        grid-template-columns: 1fr;
    }
    
    .routine-cta-section-premium-unique {
        padding: 35px 25px;
    }
    
    .cta-title-golden {
        font-size: 24px;
    }
    
    .image-container-full-width-morning,
    .image-container-full-width-evening,
    .image-container-full-width-weekend {
        margin: 25px -30px 0;
    }
}

@media (max-width: 480px) {
    .routine-container-wrapper-sophisticated-unique {
        padding: 0 15px;
    }
    
    .routine-main-title-luxurious-gold {
        font-size: 28px;
    }
    
    .lead-text-sophisticated-brown {
        font-size: 15px;
    }
    
    [class*="block-unique-premium2025"] {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    .warmup-title-morning-gold,
    .commute-title-train-blue,
    .evening-title-sunset-orange,
    .bedtime-title-night-purple,
    .weekend-title-party-green {
        font-size: 20px;
        flex-wrap: wrap;
    }
    
    .flow-step-morning {
        min-width: 100%;
    }
    
    .commute-practice-list-container,
    .solo-options-container {
        margin-top: 25px;
    }
    
    .cta-button-luxurious {
        padding: 14px 35px;
        font-size: 15px;
    }
    
    .image-container-full-width-morning,
    .image-container-full-width-evening,
    .image-container-full-width-weekend {
        margin: 20px -20px 0;
    }
    
    .image-caption-elegant {
        padding: 0 20px;
        font-size: 13px;
    }
}

/* アクセシビリティ */
@media (prefers-reduced-motion: reduce) {
    * {
        animation: none !important;
        transition: none !important;
    }
}

/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
    .daily-routine-master-section-unique2025-premium {
        background: linear-gradient(180deg, #1A1A1A 0%, #2A2A2A 100%);
    }
    
    [class*="block-unique-premium2025"] {
        background: #2A2A2A;
        border-color: #3A3A3A;
    }
    
    .lead-text-sophisticated-brown,
    .intro-text-sophisticated,
    .routine-description-premium,
    .commute-intro-text,
    .evening-intro-premium,
    .bedtime-intro-text,
    .weekend-intro-premium,
    .importance-text-elegant,
    .activities-description,
    .planning-text-premium,
    .story-text-italic,
    .technique-description-elegant,
    .session-description-premium,
    .sacred-time-text,
    .options-description,
    .conclusion-text-morning {
        color: #D0D0D0;
    }
    
    .morning-practice-flow-visual,
    .air-guitar-technique-block,
    .pomodoro-session-block,
    .review-activities-container,
    .tomorrow-planning-block,
    .jam-importance-block {
        background: #3A3A3A;
    }
    
    .flow-step-morning,
    .practice-item-commute,
    .checklist-item-bedtime,
    .activity-card-weekend {
        background: #3A3A3A;
        border-color: #4A4A4A;
    }
    
    .step-text-elegant,
    .item-text,
    .activity-desc {
        color: #B0B0B0;
    }
}

/* 印刷対応 */
@media print {
    .routine-cta-section-premium-unique {
        display: none;
    }
    
    [class*="block-unique-premium2025"] {
        page-break-inside: avoid;
    }
}


/* ========================================
   メインセクション - ギター学習継続サポート
   ======================================== */

.guitar-persistence-mastery-section-2025 {
  position: relative;
  background: linear-gradient(135deg, #f8f5f0 0%, #fefdfb 50%, #f5f2ed 100%);
  padding: 80px 0;
  overflow: hidden;
  font-family: 'Noto Sans JP', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
}

.guitar-persistence-mastery-section-2025::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, 
    #8b6914 0%, 
    #d4af37 25%, 
    #b8860b 50%, 
    #d4af37 75%, 
    #8b6914 100%
  );
  animation: shimmer-subtle 8s ease-in-out infinite;
}

.guitar-persistence-mastery-section-2025::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: -50%;
  width: 200%;
  height: 100px;
  background: radial-gradient(ellipse at center, rgba(212, 175, 55, 0.03) 0%, transparent 70%);
  pointer-events: none;
}

@keyframes shimmer-subtle {
  0%, 100% {
    opacity: 0.7;
    transform: translateX(0);
  }
  50% {
    opacity: 1;
    transform: translateX(10px);
  }
}

/* ========================================
   コンテナラッパー
   ======================================== */

.persistence-container-wrapper-elite {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

/* ========================================
   セクションヘッダー
   ======================================== */

.section-header-motivation-zone {
  text-align: center;
  margin-bottom: 60px;
  padding: 0 15px;
  position: relative;
}

.main-title-persistence-breakthrough {
  font-size: clamp(32px, 5vw, 48px);
  font-weight: 700;
  color: #2c1810;
  margin-bottom: 30px;
  position: relative;
  display: inline-block;
  padding-bottom: 15px;
  letter-spacing: 0.05em;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.05);
}

.main-title-persistence-breakthrough::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #d4af37, transparent);
}

.lead-text-encouragement-prime {
  font-size: clamp(16px, 2.5vw, 18px);
  line-height: 1.8;
  color: #4a3c28;
  max-width: 900px;
  margin: 0 auto;
  text-align: justify;
  background: rgba(255, 255, 255, 0.5);
  padding: 25px 35px;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  border-left: 4px solid #d4af37;
}

/* ========================================
   記事ブロック共通スタイル
   ======================================== */

.plateau-understanding-block-unique,
.success-building-module-exclusive,
.comparison-trap-liberation-zone,
.community-power-utilization-block,
.enjoyment-centered-approach-module,
.failure-learning-transformation-sector,
.habit-formation-mastery-segment,
.longterm-vision-development-zone,
.selfcompassion-rest-importance-finale {
  margin-bottom: 60px;
  background: white;
  border-radius: 15px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.plateau-understanding-block-unique:hover,
.success-building-module-exclusive:hover,
.comparison-trap-liberation-zone:hover,
.community-power-utilization-block:hover,
.enjoyment-centered-approach-module:hover,
.failure-learning-transformation-sector:hover,
.habit-formation-mastery-segment:hover,
.longterm-vision-development-zone:hover,
.selfcompassion-rest-importance-finale:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

/* ========================================
   サブセクションタイトル
   ======================================== */

.subsection-title-plateau-breakthrough,
.subsection-title-small-wins,
.subsection-title-comparison-escape,
.subsection-title-community-strength,
.subsection-title-enjoyment-core,
.subsection-title-failure-growth,
.subsection-title-habit-strength,
.subsection-title-longterm-vision,
.subsection-title-selfcompassion {
  font-size: clamp(24px, 3.5vw, 32px);
  font-weight: 600;
  color: #2c1810;
  padding: 25px 35px;
  background: linear-gradient(135deg, #faf8f3 0%, #fff 100%);
  border-bottom: 2px solid #f0e6d2;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 15px;
}

.icon-wrapper-mindset,
.icon-wrapper-success,
.icon-wrapper-focus,
.icon-wrapper-community,
.icon-wrapper-joy,
.icon-wrapper-learning,
.icon-wrapper-routine,
.icon-wrapper-vision,
.icon-wrapper-selfcare {
  font-size: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: linear-gradient(135deg, #d4af37, #b8860b);
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(212,175,55,0.3);
}

/* ========================================
   コンテンツラッパー
   ======================================== */

.content-wrapper-plateau-insights,
.content-wrapper-achievement-system,
.content-wrapper-comparison-freedom,
.content-wrapper-community-support,
.content-wrapper-fun-focus,
.content-wrapper-failure-wisdom,
.content-wrapper-habit-power,
.content-wrapper-vision-planning,
.content-wrapper-selfcare-wisdom {
  padding: 35px;
}

/* ========================================
   テキスト要素のスタイリング
   ======================================== */

.plateau-intro-paragraph,
.science-backed-content,
.instructor-experience,
.practical-tip,
.success-intro-statement,
.goal-text,
.reward-importance,
.instructor-memory,
.comparison-warning-text,
.key-principle,
.tracking-advice,
.community-intro,
.mutual-support-text,
.session-description,
.enjoyment-principle,
.variety-suggestion,
.transformation-story,
.failure-intro-text,
.analytical-method,
.growth-mindset,
.habit-intro-explanation,
.routine-suggestions,
.guitar-placement,
.vision-intro-message,
.overcoming-obstacles,
.retirement-goal-story,
.selfcare-intro-emphasis,
.flexibility-message,
.marathon-philosophy {
  font-size: clamp(15px, 2vw, 17px);
  line-height: 1.9;
  color: #3a3a3a;
  margin-bottom: 20px;
  text-align: justify;
}

/* ========================================
   強調・ハイライト要素
   ======================================== */

.emphasis-term-plateau,
.key-term-learning,
.key-term-integration,
.achievement-focus,
.sns-era-term,
.self-comparison,
.progress-tool,
.community-value,
.event-name,
.core-value-fun,
.mindset-transformation,
.failure-opportunity,
.habit-importance,
.longterm-relationship,
.student-goal,
.selfkindness-importance,
.final-wisdom {
  color: #8b6914;
  font-weight: 700;
  background: linear-gradient(180deg, transparent 60%, rgba(212,175,55,0.2) 60%);
  padding: 0 4px;
  border-radius: 3px;
}

.highlight-science {
  color: #1e5e8e;
  font-weight: 600;
  border-bottom: 2px solid #87ceeb;
  padding-bottom: 2px;
}

.moment-highlight,
.goal-highlight,
.trap-highlight,
.benefit-highlight,
.fun-activities,
.continuation-emphasis,
.analytical-questions,
.perfectionism-warning,
.habit-keys,
.routine-times,
.accessibility-key,
.vision-strength,
.heartwarming-result,
.tomorrow-restart,
.marathon-metaphor {
  color: #b8860b;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.02em;
}

.warning-text,
.warning-obligation {
  color: #c9302c;
  font-weight: 600;
}

.acceptance-message {
  color: #2e7d32;
  font-weight: 600;
  background: rgba(76,175,80,0.08);
  padding: 2px 6px;
  border-radius: 4px;
}

/* ========================================
   特別なコンテンツボックス
   ======================================== */

.scientific-explanation-box {
  background: linear-gradient(135deg, #f0f8ff 0%, #f5f5f5 100%);
  border-left: 5px solid #1e5e8e;
  padding: 25px;
  margin: 25px 0;
  border-radius: 8px;
  position: relative;
}

.scientific-explanation-box::before {
  content: '🧠';
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 24px;
  background: white;
  padding: 0 10px;
}

.personal-story-wrapper,
.personal-anecdote-success,
.inspiring-student-story {
  background: linear-gradient(135deg, #fffaf0 0%, #fef5e7 100%);
  border: 1px solid #f4e4c1;
  padding: 25px;
  margin: 25px 0;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.personal-story-wrapper::before,
.personal-anecdote-success::before,
.inspiring-student-story::before {
  content: '💭';
  position: absolute;
  top: -12px;
  right: 25px;
  font-size: 28px;
  background: linear-gradient(135deg, #fffaf0, #fef5e7);
  padding: 0 10px;
  border-radius: 50%;
}

.advice-actionable-plateau,
.practical-method-tracking,
.problem-solving-approach,
.flexible-attitude-box {
  background: linear-gradient(135deg, #f0fdf4 0%, #f9fffe 100%);
  border: 1px solid #d4edda;
  border-radius: 10px;
  padding: 25px;
  margin: 25px 0;
  position: relative;
}

.advice-actionable-plateau::before {
  content: '💡';
  position: absolute;
  top: -10px;
  left: 25px;
  font-size: 24px;
  background: white;
  padding: 0 8px;
}

/* ========================================
   ゴール・例示グリッド
   ======================================== */

.goal-examples-showcase,
.example-goals-grid {
  margin: 25px 0;
}

.goal-card-item {
  background: white;
  border: 2px solid #f0e6d2;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 15px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.goal-card-item::before {
  content: '✓';
  position: absolute;
  top: 10px;
  right: 15px;
  color: #d4af37;
  font-size: 24px;
  font-weight: bold;
}

.goal-card-item:hover {
  border-color: #d4af37;
  background: linear-gradient(135deg, #fffef9, #fffdf5);
  transform: translateX(5px);
}

/* ========================================
   コミュニティ・恩恵グリッド
   ======================================== */

.community-benefits-grid {
  display: grid;
  gap: 20px;
  margin: 25px 0;
}

.share-session-example {
  background: linear-gradient(135deg, #f8f4ff 0%, #fdf9ff 100%);
  border-left: 4px solid #9575cd;
  padding: 20px 25px;
  margin: 25px 0;
  border-radius: 0 10px 10px 0;
}

.fun-practice-examples,
.student-story-anime {
  background: linear-gradient(135deg, #fff3e0 0%, #fff8e1 100%);
  border: 1px solid #ffe0b2;
  padding: 25px;
  margin: 25px 0;
  border-radius: 12px;
  position: relative;
}

.fun-practice-examples::after {
  content: '🎸';
  position: absolute;
  bottom: 10px;
  right: 15px;
  font-size: 48px;
  opacity: 0.1;
  transform: rotate(-15deg);
}

.failure-welcome-attitude,
.routine-examples-box,
.accessibility-tip,
.vision-power-explanation,
.final-encouragement-message {
  background: white;
  border: 2px dashed #d4af37;
  border-radius: 12px;
  padding: 25px;
  margin: 25px 0;
  position: relative;
}

/* ========================================
   画像コンテナ
   ======================================== */

.image-container-plateau-graph,
.image-container-success-celebration,
.image-container-community-session,
.image-container-marathon-metaphor {
  width: 100%;
  margin: 30px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
  background: #f5f5f5;
  min-height: 300px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.responsive-image-full-width {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.image-container-plateau-graph::before,
.image-container-success-celebration::before,
.image-container-community-session::before,
.image-container-marathon-metaphor::before {
  content: '📸 画像読み込み中...';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #999;
  font-size: 14px;
  z-index: 0;
}

/* ========================================
   CTAセクション
   ======================================== */

.cta-section-persistence-guide {
  margin-top: 80px;
  padding: 60px 0;
  background: linear-gradient(135deg, #2c1810 0%, #3d2817 100%);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.cta-section-persistence-guide::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(212,175,55,0.1) 0%, transparent 70%);
  animation: rotate-slow 30s linear infinite;
}

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

.cta-content-wrapper-elite {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 0 30px;
}

.cta-title-motivation {
  font-size: clamp(28px, 4vw, 36px);
  color: #fff;
  margin-bottom: 20px;
  font-weight: 700;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}

.cta-description-text {
  font-size: clamp(16px, 2.5vw, 18px);
  color: #f5f5f5;
  max-width: 700px;
  margin: 0 auto 40px;
  line-height: 1.7;
  opacity: 0.95;
}

.cta-button-premium-access {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 50px;
  background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%);
  color: #2c1810;
  text-decoration: none;
  border-radius: 50px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(212,175,55,0.3);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.cta-button-premium-access::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255,255,255,0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.cta-button-premium-access:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 40px rgba(212,175,55,0.4);
  background: linear-gradient(135deg, #e6c248 0%, #c9971c 100%);
}

.cta-button-premium-access:hover::before {
  width: 300px;
  height: 300px;
}

.button-text-primary {
  font-size: clamp(18px, 2.5vw, 20px);
  margin-bottom: 5px;
  position: relative;
  z-index: 1;
}

.button-subtext {
  font-size: clamp(12px, 1.8vw, 14px);
  opacity: 0.8;
  position: relative;
  z-index: 1;
}

/* ========================================
   レスポンシブデザイン
   ======================================== */

@media screen and (max-width: 768px) {
  .guitar-persistence-mastery-section-2025 {
    padding: 50px 0;
  }

  .persistence-container-wrapper-elite {
    padding: 0 15px;
  }

  .section-header-motivation-zone {
    margin-bottom: 40px;
  }

  .lead-text-encouragement-prime {
    padding: 20px;
    font-size: 15px;
  }

  .content-wrapper-plateau-insights,
  .content-wrapper-achievement-system,
  .content-wrapper-comparison-freedom,
  .content-wrapper-community-support,
  .content-wrapper-fun-focus,
  .content-wrapper-failure-wisdom,
  .content-wrapper-habit-power,
  .content-wrapper-vision-planning,
  .content-wrapper-selfcare-wisdom {
    padding: 25px 20px;
  }

  .subsection-title-plateau-breakthrough,
  .subsection-title-small-wins,
  .subsection-title-comparison-escape,
  .subsection-title-community-strength,
  .subsection-title-enjoyment-core,
  .subsection-title-failure-growth,
  .subsection-title-habit-strength,
  .subsection-title-longterm-vision,
  .subsection-title-selfcompassion {
    padding: 20px;
    font-size: 24px;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
  }

  .icon-wrapper-mindset,
  .icon-wrapper-success,
  .icon-wrapper-focus,
  .icon-wrapper-community,
  .icon-wrapper-joy,
  .icon-wrapper-learning,
  .icon-wrapper-routine,
  .icon-wrapper-vision,
  .icon-wrapper-selfcare {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }

  .plateau-understanding-block-unique,
  .success-building-module-exclusive,
  .comparison-trap-liberation-zone,
  .community-power-utilization-block,
  .enjoyment-centered-approach-module,
  .failure-learning-transformation-sector,
  .habit-formation-mastery-segment,
  .longterm-vision-development-zone,
  .selfcompassion-rest-importance-finale {
    margin-bottom: 40px;
    border-radius: 10px;
  }

  .scientific-explanation-box,
  .personal-story-wrapper,
  .advice-actionable-plateau,
  .goal-card-item,
  .share-session-example,
  .fun-practice-examples,
  .failure-welcome-attitude,
  .routine-examples-box,
  .accessibility-tip,
  .vision-power-explanation,
  .final-encouragement-message {
    padding: 20px;
    margin: 20px 0;
  }

  .cta-section-persistence-guide {
    margin-top: 50px;
    padding: 40px 0;
    border-radius: 15px;
  }

  .cta-button-premium-access {
    padding: 18px 35px;
    border-radius: 40px;
  }
}

@media screen and (max-width: 480px) {
  .guitar-persistence-mastery-section-2025 {
    padding: 40px 0;
  }

  .main-title-persistence-breakthrough {
    font-size: 28px;
    margin-bottom: 20px;
  }

  .lead-text-encouragement-prime {
    font-size: 14px;
    padding: 15px;
    line-height: 1.7;
  }

  .plateau-intro-paragraph,
  .science-backed-content,
  .instructor-experience,
  .practical-tip,
  .success-intro-statement,
  .goal-text,
  .reward-importance,
  .instructor-memory,
  .comparison-warning-text,
  .key-principle,
  .tracking-advice,
  .community-intro,
  .mutual-support-text,
  .session-description,
  .enjoyment-principle,
  .variety-suggestion,
  .transformation-story,
  .failure-intro-text,
  .analytical-method,
  .growth-mindset,
  .habit-intro-explanation,
  .routine-suggestions,
  .guitar-placement,
  .vision-intro-message,
  .overcoming-obstacles,
  .retirement-goal-story,
  .selfcare-intro-emphasis,
  .flexibility-message,
  .marathon-philosophy {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 15px;
  }

  .subsection-title-plateau-breakthrough,
  .subsection-title-small-wins,
  .subsection-title-comparison-escape,
  .subsection-title-community-strength,
  .subsection-title-enjoyment-core,
  .subsection-title-failure-growth,
  .subsection-title-habit-strength,
  .subsection-title-longterm-vision,
  .subsection-title-selfcompassion {
    font-size: 20px;
    padding: 15px;
  }

  .content-wrapper-plateau-insights,
  .content-wrapper-achievement-system,
  .content-wrapper-comparison-freedom,
  .content-wrapper-community-support,
  .content-wrapper-fun-focus,
  .content-wrapper-failure-wisdom,
  .content-wrapper-habit-power,
  .content-wrapper-vision-planning,
  .content-wrapper-selfcare-wisdom {
    padding: 20px 15px;
  }

  .image-container-plateau-graph,
  .image-container-success-celebration,
  .image-container-community-session,
  .image-container-marathon-metaphor {
    margin: 20px 0;
    min-height: 200px;
    border-radius: 8px;
  }

  .cta-title-motivation {
    font-size: 24px;
    margin-bottom: 15px;
  }

  .cta-description-text {
    font-size: 14px;
    margin-bottom: 30px;
  }

  .cta-button-premium-access {
    padding: 15px 30px;
    width: 90%;
    max-width: 300px;
  }

  .button-text-primary {
    font-size: 16px;
  }

  .button-subtext {
    font-size: 12px;
  }
}

/* ========================================
   プリント対応
   ======================================== */

@media print {
  .guitar-persistence-mastery-section-2025 {
    background: white;
    padding: 20px;
  }

  .guitar-persistence-mastery-section-2025::before,
  .guitar-persistence-mastery-section-2025::after,
  .cta-section-persistence-guide::before {
    display: none;
  }

  .plateau-understanding-block-unique,
  .success-building-module-exclusive,
  .comparison-trap-liberation-zone,
  .community-power-utilization-block,
  .enjoyment-centered-approach-module,
  .failure-learning-transformation-sector,
  .habit-formation-mastery-segment,
  .longterm-vision-development-zone,
  .selfcompassion-rest-importance-finale {
    box-shadow: none;
    border: 1px solid #ddd;
    page-break-inside: avoid;
    margin-bottom: 30px;
  }

  .cta-section-persistence-guide {
    display: none;
  }

  .emphasis-term-plateau,
  .key-term-learning,
  .key-term-integration,
  .achievement-focus,
  .sns-era-term,
  .self-comparison,
  .progress-tool,
  .community-value,
  .event-name,
  .core-value-fun,
  .mindset-transformation,
  .failure-opportunity,
  .habit-importance,
  .longterm-relationship,
  .student-goal,
  .selfkindness-importance,
  .final-wisdom {
    background: none;
    font-weight: 700;
    text-decoration: underline;
  }

  .icon-wrapper-mindset,
  .icon-wrapper-success,
  .icon-wrapper-focus,
  .icon-wrapper-community,
  .icon-wrapper-joy,
  .icon-wrapper-learning,
  .icon-wrapper-routine,
  .icon-wrapper-vision,
  .icon-wrapper-selfcare {
    display: none;
  }

  .subsection-title-plateau-breakthrough,
  .subsection-title-small-wins,
  .subsection-title-comparison-escape,
  .subsection-title-community-strength,
  .subsection-title-enjoyment-core,
  .subsection-title-failure-growth,
  .subsection-title-habit-strength,
  .subsection-title-longterm-vision,
  .subsection-title-selfcompassion {
    background: none;
    border-bottom: 2px solid #333;
    padding: 10px 0;
  }
}

/* ========================================
   アクセシビリティとパフォーマンス最適化
   ======================================== */

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-color-scheme: dark) {
  .guitar-persistence-mastery-section-2025 {
    background: linear-gradient(135deg, #1a1a1a 0%, #2c2c2c 50%, #1a1a1a 100%);
  }

  .lead-text-encouragement-prime,
  .plateau-understanding-block-unique,
  .success-building-module-exclusive,
  .comparison-trap-liberation-zone,
  .community-power-utilization-block,
  .enjoyment-centered-approach-module,
  .failure-learning-transformation-sector,
  .habit-formation-mastery-segment,
  .longterm-vision-development-zone,
  .selfcompassion-rest-importance-finale {
    background: #2a2a2a;
    color: #e0e0e0;
  }

  .main-title-persistence-breakthrough,
  .subsection-title-plateau-breakthrough,
  .subsection-title-small-wins,
  .subsection-title-comparison-escape,
  .subsection-title-community-strength,
  .subsection-title-enjoyment-core,
  .subsection-title-failure-growth,
  .subsection-title-habit-strength,
  .subsection-title-longterm-vision,
  .subsection-title-selfcompassion {
    color: #f0f0f0;
  }

  .plateau-intro-paragraph,
  .science-backed-content,
  .instructor-experience,
  .practical-tip,
  .success-intro-statement,
  .goal-text,
  .reward-importance,
  .instructor-memory,
  .comparison-warning-text,
  .key-principle,
  .tracking-advice,
  .community-intro,
  .mutual-support-text,
  .session-description,
  .enjoyment-principle,
  .variety-suggestion,
  .transformation-story,
  .failure-intro-text,
  .analytical-method,
  .growth-mindset,
  .habit-intro-explanation,
  .routine-suggestions,
  .guitar-placement,
  .vision-intro-message,
  .overcoming-obstacles,
  .retirement-goal-story,
  .selfcare-intro-emphasis,
  .flexibility-message,
  .marathon-philosophy {
    color: #d0d0d0;
  }

  .emphasis-term-plateau,
  .key-term-learning,
  .key-term-integration,
  .achievement-focus,
  .sns-era-term,
  .self-comparison,
  .progress-tool,
  .community-value,
  .event-name,
  .core-value-fun,
  .mindset-transformation,
  .failure-opportunity,
  .habit-importance,
  .longterm-relationship,
  .student-goal,
  .selfkindness-importance,
  .final-wisdom {
    color: #ffd700;
    background: rgba(255,215,0,0.15);
  }
}

/* ========================================
   最終調整とブラウザ互換性
   ======================================== */

.guitar-persistence-mastery-section-2025 * {
  box-sizing: border-box;
}

.guitar-persistence-mastery-section-2025 img {
  max-width: 100%;
  height: auto;
}

.guitar-persistence-mastery-section-2025 a {
  color: inherit;
  text-decoration: none;
}

.guitar-persistence-mastery-section-2025 p {
  margin: 0 0 20px;
}

.guitar-persistence-mastery-section-2025 h3,
.guitar-persistence-mastery-section-2025 h4 {
  margin: 0;
}

/* フォント最適化 */
.guitar-persistence-mastery-section-2025 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 選択テキストのカスタマイズ */
.guitar-persistence-mastery-section-2025 ::selection {
  background: rgba(212,175,55,0.3);
  color: #2c1810;
}

.guitar-persistence-mastery-section-2025 ::-moz-selection {
  background: rgba(212,175,55,0.3);
  color: #2c1810;
}
/* ========================================
   メインセクション背景修正 - 既存クラス名使用
   ======================================== */

.guitar-persistence-mastery-section-2025 {
  position: relative;
  /* ダークブラウン系の濃い背景に変更 */
  background: linear-gradient(135deg, 
    #3d2f1f 0%, 
    #4a3825 25%, 
    #3d2f1f 50%, 
    #4a3825 75%, 
    #3d2f1f 100%
  );
  /* 木目調テクスチャ追加 */
  background-image: 
    repeating-linear-gradient(
      90deg,
      rgba(212, 175, 55, 0.03) 0px,
      transparent 2px,
      transparent 4px,
      rgba(212, 175, 55, 0.03) 6px
    ),
    linear-gradient(135deg, 
      #3d2f1f 0%, 
      #4a3825 50%, 
      #3d2f1f 100%
    );
  padding: 80px 0;
  overflow: hidden;
  font-family: 'Noto Sans JP', 'Yu Gothic Medium', '游ゴシック Medium', YuGothic, '游ゴシック体', 'ヒラギノ角ゴ Pro W3', sans-serif;
}

/* 既存のafter要素を濃い背景用に調整 */
.guitar-persistence-mastery-section-2025::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    radial-gradient(circle at 20% 50%, rgba(212, 175, 55, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 50%, rgba(184, 134, 11, 0.05) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

/* セクションヘッダーの背景調整 */
.section-header-motivation-zone {
  text-align: center;
  margin-bottom: 60px;
  padding: 40px 15px;
  position: relative;
  /* 半透明のダーク背景 */
  background: linear-gradient(135deg, 
    rgba(44, 24, 16, 0.8) 0%, 
    rgba(61, 40, 23, 0.8) 100%
  );
  border-radius: 20px;
  backdrop-filter: blur(5px);
  box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}

/* タイトルを白文字に変更 */
.main-title-persistence-breakthrough {
  color: #ffffff !important;
  text-shadow: 
    2px 2px 4px rgba(0,0,0,0.5),
    0 0 20px rgba(212, 175, 55, 0.3);
}

/* リードテキストの背景と文字色調整 */
.lead-text-encouragement-prime {
  color: #f5f2ed !important;
  background: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 
    0 2px 10px rgba(0,0,0,0.2),
    inset 0 1px 0 rgba(255,255,255,0.1);
  backdrop-filter: blur(10px);
}

/* 各記事ブロックをクリーム色背景で明確に */
.plateau-understanding-block-unique,
.success-building-module-exclusive,
.comparison-trap-liberation-zone,
.community-power-utilization-block,
.enjoyment-centered-approach-module,
.failure-learning-transformation-sector,
.habit-formation-mastery-segment,
.longterm-vision-development-zone,
.selfcompassion-rest-importance-finale {
  /* 明るいクリーム色背景 */
  background: linear-gradient(135deg, 
    #fefcf8 0%, 
    #faf6f0 50%, 
    #fefcf8 100%) !important;
  /* 強めのシャドウで浮き上がらせる */
  box-shadow: 
    0 8px 32px rgba(0,0,0,0.2),
    0 2px 8px rgba(0,0,0,0.1),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
  /* ゴールドボーダーで輪郭強調 */
  border: 2px solid rgba(212, 175, 55, 0.3) !important;
}

/* CTAセクションの背景強化 */
.cta-section-persistence-guide {
  background: linear-gradient(135deg, 
    #2c1810 0%, 
    #3d2817 100%) !important;
}


/* ========================================
   H3セクション - 初心者が挫折しないコツ
   ======================================== */

.guitar-breakthrough-mastery-section-2025unique {
  position: relative;
  /* 濃いダークブラウン系の背景で白背景と明確に区別 */
  background: linear-gradient(135deg, 
    #2d2318 0%, 
    #3a2f20 25%, 
    #2d2318 50%, 
    #3a2f20 75%, 
    #2d2318 100%
  );
  padding: 100px 0;
  overflow: hidden;
  font-family: 'Noto Sans JP', 'Yu Gothic', 'Hiragino Sans', sans-serif;
}

.guitar-breakthrough-mastery-section-2025unique::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, 
    #c9a961 0%, 
    #e6d4a3 50%, 
    #c9a961 100%
  );
}

.guitar-breakthrough-mastery-section-2025unique::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 200px;
  background: radial-gradient(ellipse at center bottom, 
    rgba(201, 169, 97, 0.08) 0%, 
    transparent 70%
  );
  pointer-events: none;
}

/* コンテナ */
.breakthrough-container-premium-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}

/* セクションヘッダー */
.section-main-header-breakthrough {
  text-align: center;
  margin-bottom: 80px;
  padding: 60px 40px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  backdrop-filter: blur(10px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.breakthrough-primary-title-elite {
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 35px;
  letter-spacing: 0.08em;
  text-shadow: 
    3px 3px 6px rgba(0, 0, 0, 0.6),
    0 0 30px rgba(201, 169, 97, 0.3);
  position: relative;
  display: inline-block;
  padding-bottom: 20px;
}

.breakthrough-primary-title-elite::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 3px;
  background: linear-gradient(90deg, 
    transparent,
    #c9a961,
    transparent
  );
}

.breakthrough-intro-statement-premium {
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.9;
  color: #f5f0e6;
  max-width: 900px;
  margin: 0 auto;
  text-align: justify;
  background: rgba(255, 255, 255, 0.08);
  padding: 30px;
  border-radius: 15px;
  border-left: 4px solid #c9a961;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.2);
}

/* 各H4モジュール共通スタイル */
.plateau-understanding-module-exclusive2025,
.success-building-framework-unique2025,
.comparison-trap-escape-module2025,
.community-power-utilization-section2025,
.enjoyment-centered-philosophy-zone2025,
.failure-learning-transformation-module2025,
.habit-formation-mastery-framework2025,
.longterm-vision-development-segment2025,
.selfcare-rest-importance-finale2025 {
  margin-bottom: 70px;
  background: linear-gradient(135deg,
    #fefcf7 0%,
    #f9f5ec 50%,
    #fefcf7 100%
  );
  border-radius: 20px;
  box-shadow: 
    0 15px 50px rgba(0, 0, 0, 0.25),
    0 5px 15px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  border: 2px solid rgba(201, 169, 97, 0.3);
  transition: transform 0.3s ease;
}

.plateau-understanding-module-exclusive2025:hover,
.success-building-framework-unique2025:hover,
.comparison-trap-escape-module2025:hover,
.community-power-utilization-section2025:hover,
.enjoyment-centered-philosophy-zone2025:hover,
.failure-learning-transformation-module2025:hover,
.habit-formation-mastery-framework2025:hover,
.longterm-vision-development-segment2025:hover,
.selfcare-rest-importance-finale2025:hover {
  transform: translateY(-5px);
  box-shadow: 
    0 20px 60px rgba(0, 0, 0, 0.3),
    0 8px 20px rgba(0, 0, 0, 0.2);
}

/* コンテンツラッパー */
.plateau-content-wrapper-advanced,
.success-content-wrapper-optimized,
.comparison-content-wrapper-strategic,
.community-content-wrapper-dynamic,
.enjoyment-content-wrapper-creative,
.failure-content-wrapper-mindset,
.habit-content-wrapper-systematic,
.vision-content-wrapper-inspirational,
.selfcare-content-wrapper-wisdom {
  padding: 0;
}

/* H4サブタイトル */
.plateau-subtitle-premium,
.success-subtitle-premium,
.comparison-subtitle-premium,
.community-subtitle-premium,
.enjoyment-subtitle-premium,
.failure-subtitle-premium,
.habit-subtitle-premium,
.vision-subtitle-premium,
.selfcare-subtitle-premium {
  font-size: clamp(26px, 3.5vw, 34px);
  font-weight: 600;
  color: #2d2318;
  padding: 30px 40px;
  background: linear-gradient(135deg,
    rgba(201, 169, 97, 0.08) 0%,
    rgba(201, 169, 97, 0.03) 100%
  );
  border-bottom: 3px solid rgba(201, 169, 97, 0.3);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 20px;
}

/* アイコンインジケーター */
.icon-plateau-indicator,
.icon-success-indicator,
.icon-comparison-indicator,
.icon-community-indicator,
.icon-enjoyment-indicator,
.icon-failure-indicator,
.icon-habit-indicator,
.icon-vision-indicator,
.icon-selfcare-indicator {
  font-size: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #c9a961, #a08455);
  border-radius: 50%;
  box-shadow: 0 4px 15px rgba(201, 169, 97, 0.4);
}

/* 詳細コンテンツエリア */
.plateau-detailed-content-zone,
.success-detailed-content-area,
.comparison-detailed-content-block,
.community-detailed-content-space,
.enjoyment-detailed-content-flow,
.failure-detailed-content-section,
.habit-detailed-content-structure,
.vision-detailed-content-narrative,
.selfcare-detailed-content-closure {
  padding: 40px;
}

/* テキストスタイル */
.plateau-opening-explanation,
.success-intro-paragraph,
.comparison-warning-intro,
.community-intro-statement,
.enjoyment-principle-intro,
.failure-intro-perspective,
.habit-intro-explanation,
.vision-intro-message,
.selfcare-intro-emphasis {
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.9;
  color: #3a3328;
  margin-bottom: 30px;
  text-align: justify;
}

/* 強調テキスト */
.highlight-plateau-term,
.achievement-emphasis,
.sns-era-emphasis,
.community-value-emphasis,
.fun-core-emphasis,
.mindset-transformation-emphasis,
.habit-importance-emphasis,
.longterm-relationship-emphasis,
.selfkindness-importance-emphasis,
.final-wisdom-emphasis {
  color: #a08455;
  font-weight: 700;
  background: linear-gradient(180deg, 
    transparent 60%, 
    rgba(201, 169, 97, 0.2) 60%
  );
  padding: 0 5px;
  border-radius: 3px;
}

.scientific-highlight-text {
  color: #2c5f8d;
  font-weight: 600;
  border-bottom: 2px solid #87ceeb;
}

.term-rapid-growth,
.term-integration {
  color: #8b6914;
  font-weight: 700;
  font-style: italic;
}

.moment-emphasis,
.goal-specific,
.trap-highlight-text,
.benefit-highlight-text,
.fun-activities-highlight,
.analytical-questions-highlight,
.habit-keys-highlight,
.vision-strength-highlight,
.tomorrow-restart-highlight,
.marathon-metaphor-highlight {
  color: #c9a961;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.03em;
}

.warning-highlight,
.warning-obligation-text,
.perfectionism-warning-text {
  color: #d9534f;
  font-weight: 600;
}

.self-comparison-emphasis,
.progress-tool-emphasis,
.event-name-emphasis,
.failure-opportunity-emphasis,
.accessibility-key-emphasis,
.student-goal-emphasis {
  color: #2d2318;
  font-weight: 700;
  border-bottom: 2px solid #c9a961;
  padding-bottom: 2px;
}

.acceptance-message-highlight {
  color: #2e7d32;
  font-weight: 600;
  background: rgba(76, 175, 80, 0.08);
  padding: 3px 8px;
  border-radius: 4px;
}

.continuation-emphasis-text,
.routine-times-specific,
.heartwarming-result-highlight {
  color: #8b6914;
  font-weight: 600;
  background: rgba(255, 215, 0, 0.08);
  padding: 2px 6px;
  border-radius: 3px;
}

/* 特別なパネル・ボックス */
.scientific-explanation-panel {
  background: linear-gradient(135deg, #f0f8ff 0%, #f5f9ff 100%);
  border-left: 5px solid #2c5f8d;
  padding: 30px;
  margin: 30px 0;
  border-radius: 10px;
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.08);
  position: relative;
}

.scientific-explanation-panel::before {
  content: '🧠';
  position: absolute;
  top: -15px;
  left: 25px;
  font-size: 28px;
  background: #fefcf7;
  padding: 0 12px;
}

.personal-story-container,
.personal-anecdote-panel,
.share-session-description,
.student-transformation-story,
.inspiring-student-story-box {
  background: linear-gradient(135deg, #fffbf0 0%, #fff8e8 100%);
  border: 2px solid #f4e4c1;
  padding: 30px;
  margin: 30px 0;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  position: relative;
}

.personal-story-container::after {
  content: '💭';
  position: absolute;
  top: -15px;
  right: 30px;
  font-size: 32px;
  background: linear-gradient(135deg, #fffbf0, #fff8e8);
  padding: 0 12px;
  border-radius: 50%;
}

.advice-practical-box,
.mindset-shift-panel,
.progress-tracking-method,
.mutual-support-explanation,
.fun-practice-examples-panel,
.problem-solving-approach-panel,
.routine-examples-showcase,
.accessibility-tip-panel,
.vision-power-explanation-panel,
.flexible-attitude-panel {
  background: white;
  border: 2px dashed #c9a961;
  border-radius: 15px;
  padding: 30px;
  margin: 30px 0;
  position: relative;
}

.goal-example-showcase {
  background: linear-gradient(135deg, #f0fdf4 0%, #f9fffc 100%);
  border: 2px solid #d4edda;
  border-radius: 15px;
  padding: 30px;
  margin: 30px 0;
}

.failure-welcome-attitude-box,
.final-encouragement-message-box {
  background: linear-gradient(135deg, #fff9f0 0%, #fffdf8 100%);
  border-left: 4px solid #c9a961;
  padding: 25px 30px;
  margin: 30px 0;
  border-radius: 0 15px 15px 0;
}

/* 画像コンテナ */
.plateau-graph-container-visual,
.success-celebration-visual,
.community-visual-container,
.marathon-metaphor-visual {
  width: 100%;
  margin: 35px 0;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  background: #f5f5f5;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

.image-responsive-full {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.image-caption-text {
  padding: 15px;
  background: rgba(255, 255, 255, 0.95);
  color: #3a3328;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  width: 100%;
  border-top: 1px solid #e0e0e0;
}

/* CTAセクション */
.breakthrough-cta-section-premium {
  margin-top: 100px;
  padding: 70px 0;
  background: linear-gradient(135deg, 
    #1f1813 0%, 
    #2d2318 100%
  );
  border-radius: 25px;
  position: relative;
  overflow: hidden;
}

.breakthrough-cta-section-premium::before {
  content: '';
  position: absolute;
  top: -100%;
  left: -100%;
  width: 300%;
  height: 300%;
  background: radial-gradient(circle, 
    rgba(201, 169, 97, 0.1) 0%, 
    transparent 50%
  );
  animation: rotate-gentle 40s linear infinite;
}

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

.cta-content-wrapper-exclusive {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 30px;
}

.cta-title-motivation {
  font-size: clamp(30px, 4vw, 38px);
  color: #ffffff;
  margin-bottom: 25px;
  font-weight: 700;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.4);
}

.cta-description-premium {
  font-size: clamp(16px, 2.5vw, 18px);
  color: #f5f0e6;
  max-width: 700px;
  margin: 0 auto 45px;
  line-height: 1.8;
  opacity: 0.95;
}

.cta-button-exclusive-access {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding: 22px 55px;
  background: linear-gradient(135deg, #c9a961 0%, #a08455 100%);
  color: #1f1813;
  text-decoration: none;
  border-radius: 50px;
  font-weight: 700;
  box-shadow: 0 12px 35px rgba(201, 169, 97, 0.35);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

.cta-button-exclusive-access::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.6s ease, height 0.6s ease;
}

.cta-button-exclusive-access:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 45px rgba(201, 169, 97, 0.45);
}

.cta-button-exclusive-access:hover::before {
  width: 350px;
  height: 350px;
}

.button-text-primary {
  font-size: clamp(18px, 2.5vw, 20px);
  margin-bottom: 6px;
  position: relative;
  z-index: 1;
}

.button-subtext {
  font-size: clamp(13px, 1.8vw, 14px);
  opacity: 0.85;
  position: relative;
  z-index: 1;
}

/* レスポンシブデザイン */
@media screen and (max-width: 768px) {
  .guitar-breakthrough-mastery-section-2025unique {
    padding: 60px 0;
  }
  
  .breakthrough-container-premium-wrapper {
    padding: 0 15px;
  }
  
  .section-main-header-breakthrough {
    padding: 40px 20px;
    margin-bottom: 50px;
  }
  
  .breakthrough-primary-title-elite {
    font-size: 32px;
  }
  
  .breakthrough-intro-statement-premium {
    padding: 20px;
    font-size: 15px;
  }
  
  .plateau-subtitle-premium,
  .success-subtitle-premium,
  .comparison-subtitle-premium,
  .community-subtitle-premium,
  .enjoyment-subtitle-premium,
  .failure-subtitle-premium,
  .habit-subtitle-premium,
  .vision-subtitle-premium,
  .selfcare-subtitle-premium {
    font-size: 24px;
    padding: 25px 20px;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 15px;
  }
  
  .icon-plateau-indicator,
  .icon-success-indicator,
  .icon-comparison-indicator,
  .icon-community-indicator,
  .icon-enjoyment-indicator,
  .icon-failure-indicator,
  .icon-habit-indicator,
  .icon-vision-indicator,
  .icon-selfcare-indicator {
    width: 50px;
    height: 50px;
    font-size: 28px;
  }
  
  .plateau-detailed-content-zone,
  .success-detailed-content-area,
  .comparison-detailed-content-block,
  .community-detailed-content-space,
  .enjoyment-detailed-content-flow,
  .failure-detailed-content-section,
  .habit-detailed-content-structure,
  .vision-detailed-content-narrative,
  .selfcare-detailed-content-closure {
    padding: 25px 20px;
  }
  
  .plateau-understanding-module-exclusive2025,
  .success-building-framework-unique2025,
  .comparison-trap-escape-module2025,
  .community-power-utilization-section2025,
  .enjoyment-centered-philosophy-zone2025,
  .failure-learning-transformation-module2025,
  .habit-formation-mastery-framework2025,
  .longterm-vision-development-segment2025,
  .selfcare-rest-importance-finale2025 {
    margin-bottom: 40px;
    border-radius: 15px;
  }
  
  .scientific-explanation-panel,
  .personal-story-container,
  .advice-practical-box,
  .goal-example-showcase,
  .mindset-shift-panel {
    padding: 20px;
    margin: 20px 0;
  }
  
  .plateau-graph-container-visual,
  .success-celebration-visual,
  .community-visual-container,
  .marathon-metaphor-visual {
    min-height: 250px;
    margin: 25px 0;
  }
  
  .breakthrough-cta-section-premium {
    margin-top: 60px;
    padding: 50px 0;
    border-radius: 20px;
  }
  
  .cta-button-exclusive-access {
    padding: 20px 40px;
  }
}

@media screen and (max-width: 480px) {
  .guitar-breakthrough-mastery-section-2025unique {
    padding: 40px 0;
  }
  
  .section-main-header-breakthrough {
    padding: 30px 15px;
    margin-bottom: 40px;
  }
  
  .breakthrough-primary-title-elite {
    font-size: 28px;
    margin-bottom: 25px;
  }
  
  .breakthrough-intro-statement-premium {
    font-size: 14px;
    padding: 15px;
    line-height: 1.8;
  }
  
  .plateau-opening-explanation,
  .success-intro-paragraph,
  .comparison-warning-intro,
  .community-intro-statement,
  .enjoyment-principle-intro,
  .failure-intro-perspective,
  .habit-intro-explanation,
  .vision-intro-message,
  .selfcare-intro-emphasis {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
  }
  
  .plateau-subtitle-premium,
  .success-subtitle-premium,
  .comparison-subtitle-premium,
  .community-subtitle-premium,
  .enjoyment-subtitle-premium,
  .failure-subtitle-premium,
  .habit-subtitle-premium,
  .vision-subtitle-premium,
  .selfcare-subtitle-premium {
    font-size: 20px;
    padding: 20px 15px;
  }
  
  .icon-plateau-indicator,
  .icon-success-indicator,
  .icon-comparison-indicator,
  .icon-community-indicator,
  .icon-enjoyment-indicator,
  .icon-failure-indicator,
  .icon-habit-indicator,
  .icon-vision-indicator,
  .icon-selfcare-indicator {
    width: 40px;
    height: 40px;
    font-size: 24px;
  }
  
  .plateau-detailed-content-zone,
  .success-detailed-content-area,
  .comparison-detailed-content-block,
  .community-detailed-content-space,
  .enjoyment-detailed-content-flow,
  .failure-detailed-content-section,
  .habit-detailed-content-structure,
  .vision-detailed-content-narrative,
  .selfcare-detailed-content-closure {
    padding: 20px 15px;
  }
  
  .plateau-graph-container-visual,
  .success-celebration-visual,
  .community-visual-container,
  .marathon-metaphor-visual {
    min-height: 200px;
    margin: 20px 0;
    border-radius: 10px;
  }
  
  .image-caption-text {
    font-size: 12px;
    padding: 12px;
  }
  
  .cta-title-motivation {
    font-size: 24px;
  }
  
  .cta-description-premium {
    font-size: 14px;
    margin-bottom: 35px;
  }
  
  .cta-button-exclusive-access {
    padding: 18px 35px;
    width: 90%;
    max-width: 320px;
  }
  
  .button-text-primary {
    font-size: 16px;
  }
  
  .button-subtext {
    font-size: 12px;
  }
}

/* ダークモード対応 */
@media (prefers-color-scheme: dark) {
  .guitar-breakthrough-mastery-section-2025unique {
    background: linear-gradient(135deg, 
      #1a1511 0%, 
      #221b14 100%
    );
  }
  
  .breakthrough-intro-statement-premium {
    background: rgba(255, 255, 255, 0.05);
  }
  
  .plateau-understanding-module-exclusive2025,
  .success-building-framework-unique2025,
  .comparison-trap-escape-module2025,
  .community-power-utilization-section2025,
  .enjoyment-centered-philosophy-zone2025,
  .failure-learning-transformation-module2025,
  .habit-formation-mastery-framework2025,
  .longterm-vision-development-segment2025,
  .selfcare-rest-importance-finale2025 {
    background: linear-gradient(135deg,
      #2a2520 0%,
      #332c25 100%
    );
    border-color: rgba(201, 169, 97, 0.4);
  }
  
  .plateau-opening-explanation,
  .success-intro-paragraph,
  .comparison-warning-intro,
  .community-intro-statement,
  .enjoyment-principle-intro,
  .failure-intro-perspective,
  .habit-intro-explanation,
  .vision-intro-message,
  .selfcare-intro-emphasis {
    color: #e0d5c7;
  }
}

/* プリント対応 */
@media print {
  .guitar-breakthrough-mastery-section-2025unique {
    background: white;
    padding: 20px;
  }
  
  .guitar-breakthrough-mastery-section-2025unique::before,
  .guitar-breakthrough-mastery-section-2025unique::after,
  .breakthrough-cta-section-premium {
    display: none;
  }
  
  .plateau-understanding-module-exclusive2025,
  .success-building-framework-unique2025,
  .comparison-trap-escape-module2025,
  .community-power-utilization-section2025,
  .enjoyment-centered-philosophy-zone2025,
  .failure-learning-transformation-module2025,
  .habit-formation-mastery-framework2025,
  .longterm-vision-development-segment2025,
  .selfcare-rest-importance-finale2025 {
    box-shadow: none;
    border: 1px solid #ddd;
    page-break-inside: avoid;
  }
}

/* アニメーション無効化 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* ========================================
   独学の限界と教材の必要性 - メインセクション
   ======================================== */

.dokugaku-limitation-section-premium-2025 {
  background: linear-gradient(135deg, #f8f6f3 0%, #faf9f7 50%, #f5f3f0 100%);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.dokugaku-limitation-section-premium-2025::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #8b6b47 0%, #d4a574 50%, #8b6b47 100%);
  animation: shimmer-soft 8s ease-in-out infinite;
}

@keyframes shimmer-soft {
  0%, 100% { opacity: 0.7; }
  50% { opacity: 1; }
}

.dokugaku-container-wrapper-exclusive {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ========================================
   メインタイトル部分
   ======================================== */

.dokugaku-title-block-gradient {
  text-align: center;
  margin-bottom: 60px;
  animation: fadeInUp-soft 0.8s ease-out;
}

@keyframes fadeInUp-soft {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dokugaku-main-title-h3 {
  font-size: 48px;
  font-weight: 700;
  color: #2c2416;
  margin-bottom: 24px;
  letter-spacing: 0.02em;
  line-height: 1.3;
  font-family: 'Noto Serif JP', serif;
}

.title-accent-gold {
  color: #b8860b;
  background: linear-gradient(180deg, transparent 60%, rgba(212, 165, 116, 0.3) 60%);
  padding: 0 4px;
  font-weight: 800;
}

.title-accent-premium {
  color: #6b5d54;
  position: relative;
  font-weight: 800;
}

.dokugaku-subtitle-elegant {
  max-width: 900px;
  margin: 0 auto;
}

.subtitle-text-refined {
  font-size: 18px;
  line-height: 1.8;
  color: #5a5147;
  font-weight: 400;
}

/* ========================================
   記事ブロック共通スタイル
   ======================================== */

.dokugaku-article-block-first,
.dokugaku-article-block-second,
.dokugaku-article-block-third,
.dokugaku-article-block-fourth,
.dokugaku-article-block-fifth,
.dokugaku-article-block-sixth,
.dokugaku-article-block-seventh {
  background: #ffffff;
  border-radius: 12px;
  margin-bottom: 40px;
  box-shadow: 0 2px 12px rgba(139, 107, 71, 0.08);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dokugaku-article-block-first:hover,
.dokugaku-article-block-second:hover,
.dokugaku-article-block-third:hover,
.dokugaku-article-block-fourth:hover,
.dokugaku-article-block-fifth:hover,
.dokugaku-article-block-sixth:hover,
.dokugaku-article-block-seventh:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 20px rgba(139, 107, 71, 0.12);
}

/* ========================================
   記事ヘッダー
   ======================================== */

.article-header-premium {
  background: linear-gradient(135deg, #3a3028 0%, #4d4139 100%);
  padding: 32px 40px;
  position: relative;
}

.article-h4-title-styled {
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0;
  font-family: 'Noto Sans JP', sans-serif;
}

.h4-number-badge {
  background: linear-gradient(135deg, #d4a574 0%, #b8860b 100%);
  color: #ffffff;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 800;
  flex-shrink: 0;
}

.h4-text-content {
  flex: 1;
  letter-spacing: 0.04em;
}

/* ========================================
   記事コンテンツ
   ======================================== */

.article-content-wrapper-lux {
  padding: 40px;
}

.content-text-block-enhanced {
  font-size: 16px;
  line-height: 1.9;
  color: #4a4139;
}

.paragraph-premium-styled {
  margin-bottom: 24px;
  text-align: justify;
  line-height: 1.95;
}

/* テキスト強調スタイル */
.text-emphasis-gold {
  color: #b8860b;
  font-weight: 700;
  padding: 2px 4px;
  background: rgba(212, 165, 116, 0.1);
  border-radius: 3px;
}

.highlight-text-soft {
  color: #8b6b47;
  font-weight: 600;
}

.accent-underline {
  color: #6b5d54;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(212, 165, 116, 0.5);
  text-underline-offset: 4px;
}

.text-warning-emphasis {
  color: #c85a17;
  font-weight: 700;
  font-size: 17px;
}

.highlight-number {
  color: #8b6b47;
  font-weight: 700;
  font-size: 18px;
}

.problem-emphasis {
  color: #a0522d;
  font-weight: 700;
  background: rgba(160, 82, 45, 0.08);
  padding: 3px 6px;
  border-radius: 4px;
}

.theory-emphasis {
  color: #704214;
  font-weight: 600;
  font-style: italic;
}

.quote-style {
  color: #6b5d54;
  font-style: italic;
  font-size: 17px;
  padding: 0 8px;
  border-left: 3px solid #d4a574;
  display: inline-block;
  margin: 8px 0;
}

/* ========================================
   画像コンテナ
   ======================================== */

.image-container-full-width {
  margin: 32px -40px;
  position: relative;
  background: #f9f8f6;
  padding: 20px;
}

.responsive-image-premium {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: block;
}

.image-caption-elegant {
  text-align: center;
  color: #6b5d54;
  font-size: 14px;
  margin-top: 12px;
  font-style: italic;
}

/* ========================================
   インサイトボックス
   ======================================== */

.insight-box-premium {
  background: linear-gradient(135deg, #faf8f5 0%, #f7f5f2 100%);
  border-left: 4px solid #d4a574;
  padding: 24px;
  margin: 32px 0;
  border-radius: 0 8px 8px 0;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.insight-icon-wrapper {
  flex-shrink: 0;
}

.insight-icon {
  font-size: 32px;
  line-height: 1;
}

.insight-content {
  flex: 1;
}

.insight-text {
  margin: 0;
  line-height: 1.8;
  color: #4a4139;
}

/* ========================================
   基準セクション
   ======================================== */

.criteria-section-premium {
  background: #fdfcfb;
  padding: 32px;
  border-radius: 8px;
  margin: 32px 0;
}

.criteria-title-elegant {
  color: #3a3028;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid #d4a574;
}

.criteria-list-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.criteria-item-card {
  display: flex;
  gap: 20px;
  padding: 20px;
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e8e4df;
  transition: all 0.3s ease;
}

.criteria-item-card:hover {
  border-color: #d4a574;
  box-shadow: 0 2px 8px rgba(212, 165, 116, 0.15);
}

.criteria-number {
  background: #8b6b47;
  color: #ffffff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
}

.criteria-content {
  flex: 1;
}

.criteria-text {
  margin: 0;
  line-height: 1.8;
  color: #4a4139;
}

/* ========================================
   ジャンルガイド
   ======================================== */

.genre-guide-container {
  margin: 32px 0;
}

.genre-block-premium {
  background: linear-gradient(135deg, #fcfbf9 0%, #f9f7f4 100%);
  padding: 28px;
  border-radius: 10px;
  margin-bottom: 24px;
  border: 1px solid #e8e4df;
}

.genre-title-elegant {
  color: #3a3028;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.genre-icon {
  font-size: 28px;
}

.genre-description {
  line-height: 1.9;
  color: #4a4139;
  margin: 0;
}

.book-title {
  color: #8b6b47;
  font-weight: 600;
  font-style: italic;
}

.book-recommendation {
  color: #a0522d;
  font-weight: 600;
  background: rgba(160, 82, 45, 0.06);
  padding: 2px 6px;
  border-radius: 3px;
}

.software-name,
.service-name,
.platform-names,
.app-names {
  color: #704214;
  font-weight: 700;
  padding: 2px 4px;
  background: rgba(112, 66, 20, 0.08);
  border-radius: 3px;
}

/* ========================================
   デジタルプラットフォームセクション
   ======================================== */

.digital-platform-section,
.app-based-section {
  margin: 40px 0;
  padding: 32px;
  background: linear-gradient(135deg, #fdfcfa 0%, #faf8f5 100%);
  border-radius: 10px;
}

.platform-title-premium,
.app-title-premium {
  color: #3a3028;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-left: 16px;
  border-left: 4px solid #d4a574;
}

.platform-description,
.app-description {
  line-height: 1.9;
  color: #4a4139;
  margin-bottom: 20px;
}

/* ========================================
   フィーチャーハイライトボックス
   ======================================== */

.feature-highlight-box {
  background: #ffffff;
  padding: 24px;
  border-radius: 8px;
  border: 2px solid #d4a574;
  margin: 24px 0;
}

.feature-title {
  color: #3a3028;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

.feature-text {
  line-height: 1.8;
  color: #4a4139;
  margin: 0;
}

/* ========================================
   注意ボックス
   ======================================== */

.caution-box-premium {
  background: rgba(200, 90, 23, 0.06);
  border: 2px solid rgba(200, 90, 23, 0.2);
  border-radius: 8px;
  padding: 24px;
  margin: 32px 0;
}

.caution-title {
  color: #c85a17;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

.caution-text {
  line-height: 1.8;
  color: #5a4139;
  margin: 0;
}

/* ========================================
   実践サイクル
   ======================================== */

.practice-cycle-container {
  background: #fdfcfb;
  padding: 32px;
  border-radius: 10px;
  margin: 32px 0;
}

.cycle-title-elegant {
  color: #3a3028;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 28px;
  text-align: center;
}

.cycle-steps-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.cycle-step-card {
  background: #ffffff;
  padding: 24px;
  border-radius: 8px;
  border: 1px solid #e8e4df;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  transition: all 0.3s ease;
}

.cycle-step-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(139, 107, 71, 0.12);
  border-color: #d4a574;
}

.step-number-circle {
  background: linear-gradient(135deg, #d4a574 0%, #b8860b 100%);
  color: #ffffff;
  padding: 8px 16px;
  border-radius: 24px;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

.step-content {
  flex: 1;
}

.step-title {
  color: #3a3028;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px 0;
}

.step-description {
  color: #5a4139;
  line-height: 1.7;
  margin: 0;
}

/* ========================================
   ゴールデンルールボックス
   ======================================== */

.golden-rule-box {
  background: linear-gradient(135deg, #fdf9f2 0%, #faf6ed 100%);
  border: 2px solid #d4a574;
  border-radius: 10px;
  padding: 28px;
  margin: 32px 0;
  text-align: center;
  position: relative;
}

.golden-rule-title {
  color: #8b6b47;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
}

.golden-rule-text {
  line-height: 1.8;
  color: #4a4139;
  margin: 0;
  font-size: 17px;
}

.rule-emphasis {
  color: #b8860b;
  font-weight: 800;
  font-size: 19px;
}

.ratio-highlight {
  background: rgba(212, 165, 116, 0.2);
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 600;
}

/* ========================================
   ハイブリッド例ボックス
   ======================================== */

.hybrid-example-box {
  background: #ffffff;
  border-left: 5px solid #8b6b47;
  padding: 24px;
  margin: 32px 0;
  border-radius: 0 8px 8px 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.example-title {
  color: #3a3028;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 16px;
}

.example-text {
  line-height: 1.9;
  color: #4a4139;
  margin: 0;
}

/* ========================================
   個人体験ボックス
   ======================================== */

.personal-experience-box {
  background: linear-gradient(135deg, #f9f7f4 0%, #f5f3ef 100%);
  padding: 24px;
  border-radius: 8px;
  margin: 32px 0;
  border: 1px solid #d4a574;
}

.experience-title {
  color: #3a3028;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
}

.experience-text {
  line-height: 1.8;
  color: #4a4139;
  margin: 0;
}

/* ========================================
   学びを超えたセクション
   ======================================== */

.learning-beyond-section {
  margin: 32px 0;
}

.beyond-block-premium {
  background: #fcfbf9;
  padding: 28px;
  border-radius: 10px;
  margin-bottom: 24px;
  border: 1px solid #e8e4df;
  transition: all 0.3s ease;
}

.beyond-block-premium:hover {
  background: #ffffff;
  box-shadow: 0 3px 12px rgba(139, 107, 71, 0.08);
}

.beyond-title-elegant {
  color: #3a3028;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.beyond-icon {
  font-size: 28px;
}

.beyond-description {
  line-height: 1.9;
  color: #4a4139;
  margin: 0;
}

/* ========================================
   結論ボックス
   ======================================== */

.conclusion-box-premium {
  background: linear-gradient(135deg, #3a3028 0%, #4d4139 100%);
  color: #ffffff;
  padding: 32px;
  border-radius: 10px;
  margin: 40px 0;
  text-align: center;
}

.conclusion-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #ffffff;
}

.conclusion-text {
  line-height: 1.9;
  margin: 0;
  font-size: 17px;
  color: #f5f3f0;
}

.conclusion-text strong {
  color: #d4a574;
  font-weight: 700;
}

.conclusion-text span {
  color: #faf8f5;
}

/* ========================================
   CTAセクション
   ======================================== */

.cta-section-premium-guitar {
  background: linear-gradient(135deg, #8b6b47 0%, #6b5d54 100%);
  padding: 48px 32px;
  border-radius: 12px;
  margin-top: 60px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.cta-section-premium-guitar::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(212, 165, 116, 0.1) 0%, transparent 70%);
  animation: rotate-slow 20s linear infinite;
}

@keyframes rotate-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.cta-content-wrapper {
  position: relative;
  z-index: 1;
}

.cta-title-elegant {
  color: #ffffff;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 16px;
  letter-spacing: 0.02em;
}

.cta-description {
  color: #f5f3f0;
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 32px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.cta-button-premium {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #d4a574 0%, #b8860b 100%);
  color: #ffffff;
  padding: 18px 40px;
  border-radius: 50px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.cta-button-premium:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.3);
  background: linear-gradient(135deg, #e5b685 0%, #c9971c 100%);
}

.button-text {
  letter-spacing: 0.04em;
}

.button-arrow {
  font-size: 20px;
  transition: transform 0.3s ease;
}

.cta-button-premium:hover .button-arrow {
  transform: translateX(4px);
}

/* ========================================
   追加の強調スタイル
   ======================================== */

.important-text-gold {
  color: #b8860b;
  font-weight: 700;
}

.structure-emphasis {
  color: #8b6b47;
  font-weight: 700;
  background: rgba(139, 107, 71, 0.08);
  padding: 2px 6px;
  border-radius: 3px;
}

.multimedia-emphasis {
  color: #704214;
  font-weight: 700;
}

.approach-highlight {
  color: #a0522d;
  font-weight: 600;
  font-style: italic;
}

.method-book-emphasis {
  color: #8b6b47;
  font-weight: 700;
  font-size: 17px;
}

.foundation-emphasis {
  color: #b8860b;
  font-weight: 700;
  background: rgba(184, 134, 11, 0.08);
  padding: 3px 8px;
  border-radius: 4px;
}

.practice-emphasis {
  color: #c85a17;
  font-weight: 700;
  font-size: 16px;
}

.ear-training-emphasis {
  color: #8b6b47;
  font-weight: 700;
  line-height: 1.9;
}

.backing-track-emphasis {
  color: #a0522d;
  font-weight: 700;
  font-size: 17px;
}

.band-feel {
  color: #704214;
  font-weight: 700;
  background: rgba(112, 66, 20, 0.06);
  padding: 3px 8px;
  border-radius: 4px;
}

.digital-emphasis,
.hybrid-emphasis,
.cycle-emphasis,
.transformation-emphasis,
.community-emphasis {
  color: #b8860b;
  font-weight: 700;
}

.hybrid-approach,
.cost-performance,
.multi-angle-emphasis,
.realtime-feedback,
.yousician-highlight {
  color: #8b6b47;
  font-weight: 600;
}

.slow-motion-feature {
  color: #6b5d54;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 3px;
}

.warning-emphasis {
  color: #c85a17;
  font-weight: 700;
}

.practice-priority {
  color: #a0522d;
  font-weight: 700;
  font-size: 17px;
}

.mindset-highlight,
.frequency-highlight,
.service-type,
.discovery-highlight,
.workshop-frequency {
  color: #704214;
  font-weight: 600;
  background: rgba(112, 66, 20, 0.06);
  padding: 2px 6px;
  border-radius: 3px;
}

.benefit-emphasis,
.ideal-for,
.long-term-effect,
.live-experience,
.invaluable-learning {
  color: #8b6b47;
  font-weight: 700;
}

.avoid-pitfall {
  color: #c85a17;
  font-weight: 700;
  background: rgba(200, 90, 23, 0.06);
  padding: 3px 8px;
  border-radius: 4px;
}

.ideal-connection {
  color: #b8860b;
  font-weight: 700;
  font-size: 17px;
}

.community-benefit,
.observation-point,
.performance-opportunities,
.audience-effect {
  color: #6b5d54;
  font-weight: 600;
}

.living-learning {
  color: #a0522d;
  font-weight: 700;
  font-size: 18px;
}

.final-message {
  color: #704214;
  font-weight: 600;
  font-style: italic;
  font-size: 17px;
}

/* ========================================
   レスポンシブデザイン
   ======================================== */

@media screen and (max-width: 768px) {
  .dokugaku-limitation-section-premium-2025 {
    padding: 60px 0;
  }
  
  .dokugaku-main-title-h3 {
    font-size: 36px;
  }
  
  .subtitle-text-refined {
    font-size: 16px;
  }
  
  .article-header-premium {
    padding: 24px 20px;
  }
  
  .article-h4-title-styled {
    font-size: 22px;
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  
  .article-content-wrapper-lux {
    padding: 24px 20px;
  }
  
  .image-container-full-width {
    margin: 24px -20px;
  }
  
  .cycle-steps-wrapper {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .cta-title-elegant {
    font-size: 26px;
  }
  
  .cta-description {
    font-size: 16px;
  }
  
  .cta-button-premium {
    font-size: 16px;
    padding: 16px 32px;
  }
}

@media screen and (max-width: 480px) {
  .dokugaku-limitation-section-premium-2025 {
    padding: 40px 0;
  }
  
  .dokugaku-main-title-h3 {
    font-size: 28px;
  }
  
  .subtitle-text-refined {
    font-size: 15px;
    line-height: 1.7;
  }
  
  .article-h4-title-styled {
    font-size: 20px;
  }
  
  .h4-number-badge {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
  
  .content-text-block-enhanced {
    font-size: 15px;
  }
  
  .criteria-item-card {
    flex-direction: column;
    gap: 12px;
  }
  
  .cycle-step-card {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }
  
  .beyond-title-elegant,
  .genre-title-elegant {
    font-size: 20px;
  }
  
  .cta-section-premium-guitar {
    padding: 32px 20px;
  }
  
  .cta-title-elegant {
    font-size: 22px;
  }
  
  .cta-button-premium {
    font-size: 15px;
    padding: 14px 28px;
    width: 100%;
    justify-content: center;
  }
}

/* ========================================
   印刷用スタイル
   ======================================== */

@media print {
  .dokugaku-limitation-section-premium-2025 {
    background: white;
    padding: 20px;
  }
  
  .dokugaku-limitation-section-premium-2025::before,
  .cta-section-premium-guitar::before {
    display: none;
  }
  
  .dokugaku-article-block-first,
  .dokugaku-article-block-second,
  .dokugaku-article-block-third,
  .dokugaku-article-block-fourth,
  .dokugaku-article-block-fifth,
  .dokugaku-article-block-sixth,
  .dokugaku-article-block-seventh {
    box-shadow: none;
    border: 1px solid #ddd;
    page-break-inside: avoid;
  }
  
  .cta-section-premium-guitar {
    display: none;
  }
}

/* ========================================
   アクセシビリティ向上
   ======================================== */

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-color-scheme: dark) {
  /* ダークモード対応は必要に応じて追加 */
}

/* ========================================
   ブラウザ互換性対策
   ======================================== */

/* IE11対応 */
@supports not (display: grid) {
  .cycle-steps-wrapper {
    display: flex;
    flex-wrap: wrap;
  }
  
  .cycle-step-card {
    width: calc(50% - 12px);
    margin-bottom: 24px;
  }
}

/* Safari対応 */
@supports (-webkit-appearance: none) {
  .dokugaku-limitation-section-premium-2025 {
    -webkit-overflow-scrolling: touch;
  }
}

/* パフォーマンス最適化 */
.dokugaku-limitation-section-premium-2025 * {
  will-change: auto;
}

.dokugaku-limitation-section-premium-2025 *:hover {
  will-change: transform;
}