/* キャンペーンページ共通スタイル */
.campaign-page {
    padding: 0 0 40px;

}
#contentsWrap{
    background-color: #fff!important;
}
.cp_wrapp{
    background-color: rgba(255, 255, 255, 0.95)!important;
    background: url('http://mionmusic.com/wp-content/uploads/2025/07/logo_bg.png') repeat;
}
.campaign-header-wrap {
    width: 100%;
    margin-bottom: 40px;
}

.campaign-header {
    text-align: center;
    background: url('http://mionmusic.com/wp-content/uploads/2025/07/logo_bg.png') repeat;
    padding: 50px 0 30px;
    position: relative;
    width: 100%;
}

.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

.campaign-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg, #ff6b6b, #ffd93d);
}

.campaign-header h1 {
    font-size: 36px;
    margin-bottom: 25px;
    color: #ff6b6b;
    background-color: #fff;
    padding: 20px;
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1.4;
    position: relative;
    display: inline-block;
}

.campaign-header h1::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: #ff6b6b;
    margin: 15px auto 0;
}
span.remaining{
    font-size: 1.6em;
}
.campaign-info {
    margin: 20px 0;
    display: flex;
    justify-content: center;
}

.campaign-period,
.campaign-capacity {
    font-size: 18px;
    margin-bottom: 12px;
    color: #fff;
    display: inline-block;
    padding: 8px 20px;
    background: rgba(255, 107, 107, 0.95);
    border-radius: 30px;
    margin: 5px;
    font-weight: 500;
}

.campaign-benefits {
    margin-top: 30px;
}

.campaign-benefits h3 {
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.benefit-images {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
}

.benefit-image {
    width: 100%;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
}

.benefit-image img {
    width: 100%;
    max-width: 1000px;
    height: auto;
    border-radius: 5px;
    display: block;
    margin: 0 auto;
}

/* セクションスタイル */
.campaign-section {
    padding: 20px 0;
    border: none!important;
}

.campaign-section:last-child {
    border-bottom: none;
}
.campaign-section h3{
    text-align: center;
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
    background-color: #fff;
    padding: .7em;
}
.contentsInner{
    background-color: #fff!important;
}
/* CTAセクション */
.campaign-cta {
    background: #fff;
    padding: 20px;
    margin: 20px 0;
    text-align: center;
}

.campaign-benefits {
    margin-bottom: 30px;
}

.campaign-benefits h3 {
    font-size: 24px;
    margin-bottom: 20px;
}

.cta-button .button {
    display: inline-block;
    padding: 20px 60px;
    font-size: 18px;
    background: #ff6b6b;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    transition: background 0.3s;
}

.cta-button .button:hover {
    background: #ff5252;
}

.cta-button .arrow {
    margin-left: 10px;
}

img.cta-image{
    width: 100%!important;
    max-width: 450px!important;
    margin: 1em auto!important;
    display: block;
}


/* 期間終了・エラーメッセージ */
.campaign-expired,
.campaign-not-found {
    text-align: center;
    padding: 80px 20px;
    background-color: #fff;
}

.campaign-expired h1,
.campaign-not-found h1 {
    font-size: 28px;
    margin-bottom: 20px;
    color: #666;
}

.campaign-expired p,
.campaign-not-found p {
    font-size: 16px;
    margin-bottom: 15px;
}

.campaign-expired a,
.campaign-not-found a {
    color: #ff6b6b;
    text-decoration: none;
}

.campaign-expired a:hover,
.campaign-not-found a:hover {
    text-decoration: underline;
}
.teacher_item img{
    height: 210px!important;
    border: 4px solid #ffd93d!important;
}


        /* このセクション専用のスタイル。他の部分には影響しません。*/
        #mion-recommend-section {
            font-family: inherit; /* テーマのフォントを継承 */
            color: #333;
        }
        #mion-recommend-section .mion-container {
            margin: 0 auto;
            padding: 20px 16px;
        }
        #mion-recommend-section .mion-title-wrapper {
            text-align: center;
            margin-bottom: 20px;
        }
        #mion-recommend-section .mion-title {
            font-size: 2rem;
            font-weight: bold;
            line-height: 1.4;
            color: #292524; /* stone-800 */
        }
        #mion-recommend-section .mion-title-highlight {
            color: #f97316; /* orange-500 */
        }
        #mion-recommend-section .mion-subtitle {
            margin-top: 12px;
            font-size: 1.125rem;
            color: #57534e; /* stone-600 */
        }
        #mion-recommend-section .mion-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 32px;
            font-size: 18px;
        }
        #mion-recommend-section .mion-card {
            background-color: #ffffff;
            border-radius: 0.75rem;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            transition: transform 0.3s ease-in-out;
        }
        #mion-recommend-section .mion-card:hover {
            transform: translateY(-8px);
        }
        #mion-recommend-section .mion-card-image {
            width: 100%;
            height: 280px;
            object-fit: cover;
        }
        #mion-recommend-section .mion-card-content {
            padding: 24px;
        }
        #mion-recommend-section .mion-card-title {
            font-size: 1.25rem;
            font-weight: bold;
            text-align: center;
            margin-bottom: 16px;
            color: #292524; /* stone-800 */
            line-height: 1.5;
        }
        #mion-recommend-section .mion-card-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        #mion-recommend-section .mion-card-list li {
            display: flex;
            align-items: flex-start;
            margin-top: 12px;
            color: #57534e; /* stone-600 */
        }
        #mion-recommend-section .mion-card-list li:first-child {
            margin-top: 0;
        }
        #mion-recommend-section .mion-card-list .mion-checkmark {
            margin-right: 8px;
            margin-top: 4px;
            font-weight: bold;
        }
        #mion-recommend-section .mion-checkmark-orange { color: #f97316; }
        #mion-recommend-section .mion-checkmark-teal { color: #14b8a6; }
        #mion-recommend-section .mion-checkmark-indigo { color: #6366f1; }
        #mion-recommend-section .mion-checkmark-lime { color: #84cc16; }

        /* PC表示用のスタイル */
        @media (min-width: 768px) {
            #mion-recommend-section .mion-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }