/* メインビジュアル */
.main-visual {
    background-color: #fce8e8; /* 仮の背景色 */
    background-image: url('../img/main-visual.jpg'); /* imgフォルダに画像を入れると表示されます */
    background-size: cover;
    background-position: center;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
}
.main-visual-text { background: rgba(255, 255, 255, 0.9); padding: 40px; border-radius: 8px; max-width: 800px; text-align: center; }
/* IDを追加して優先度を上げる */
#my-custom-area .main-visual-text h2 {
    font-size: 32px;
    color: #e60012 !important; /* 赤色を強制適用 */
    margin-bottom: 20px;
    line-height: 1.4;
    background: none !important; /* SWELLの背景色対策 */
    border: none !important;     /* SWELLの枠線対策 */
}

/* お知らせセクション */
.news-section { padding: 60px 0; background-color: #fff; }
/* ID (#my-custom-area) を付けて、SWELLより強くする */
#my-custom-area .section-title {
    text-align: center !important;
    font-size: 24px !important;       /* ← ここでサイズを強制適用 */
    margin-bottom: 40px !important;
    position: relative !important;
    padding-bottom: 15px !important;

    /* SWELLのH2装飾（背景色や線など）を完全に消すための保険 */
    background: none !important;
    border: none !important;
    box-shadow: none !important;
}
/* 親要素のposition設定も念のため強化 */
#my-custom-area .section-title {
    position: relative !important;
    padding-bottom: 15px !important;
}

/* 疑似要素を強力に復活させる */
#my-custom-area .section-title::after {
    content: '' !important;
    display: block !important; /* これがないと消える場合があります */
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 40px !important;
    height: 3px !important;
    background-color: #e60012 !important;
}
.news-list { max-width: 800px; margin: 0 auto; border-top: 1px solid #eee; }
#my-custom-area .news-list li {
    border-bottom: 1px solid #eee !important;
    list-style: none !important; /* SWELLの点を消す */
    margin: 0 !important;        /* 余計な余白対策 */
    padding: 0 !important;
}
#my-custom-area .news-list li a {
    /* リンクのレイアウト崩れ防止 */
    display: flex !important;
    text-decoration: none !important;
}
.news-list a { display: flex; padding: 20px 10px; color: #333; transition: background-color 0.3s; }
.news-list a:hover { background-color: #fcfcfc; }
.news-list .date { width: 120px; color: #888; font-size: 14px; }
.news-list .title { flex: 1; font-weight: bold; }
.btn-wrap { text-align: center; margin-top: 40px; }
.btn { display: inline-block; padding: 15px 40px; background-color: #e60012; color: #fff; border-radius: 30px; font-weight: bold; }
.btn:hover { opacity: 0.8; }

/* レスポンシブ */
@media screen and (max-width: 768px) {
    #my-custom-area .main-visual {
        height: auto !important;
        padding: 60px 20px !important;
    }
    #my-custom-area .main-visual-text h2 {
        font-size: 24px !important; /* ID付きのPC版(32px)を上書きする */
        line-height: 1.4 !important;
    }
    #my-custom-area .news-list a {
        flex-direction: column !important;
    }
    #my-custom-area .news-list .date {
        margin-bottom: 10px !important;
    }
}