.pa-area-kansai #body_wrap,
.pa-area-kanto #body_wrap{
    background-color: #fff!important;
}


/* ▼ お知らせタイトルヒーロー */
.p-postHero__band {
    background-color: #197536;
    /* 全幅ブレイクアウト：親コンテナのmax-widthを無視して viewport 全幅に広げる */
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    padding: 22px 20px;
    text-align: center;
    box-sizing: border-box;
}

.p-postHero__category {
    color: #fff;
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    font-family: 'Noto Sans JP', sans-serif;
}
/* ▲ お知らせタイトルヒーロー */

/* ▼ 投稿日・タイトルエリア */
.p-postHero__inner {
    padding: 44px 0 24px;
    font-family: 'Noto Sans JP', sans-serif;
}

.p-postHero__meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.p-postHero__meta .c-categoryList__link {
    background-color: #197536 !important;
}
.p-postHero__meta .c-categoryList {
    color: #197536;
}

.p-postHero__date {
    font-size: 1.1rem;
    color: #888;
    margin: 0;
}

.p-postHero__title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    color: #197536;
    margin: 0;
    padding-bottom: 24px;
    border-bottom: 1px solid #ddd;
}
/* ▲ 投稿日・タイトルエリア */

/* ▼ 本文エリア */
#main_content.l-mainContent {
    padding-top: 36px;
}

.l-mainContent__inner {
    font-family: 'Noto Sans JP', sans-serif;
}

.l-mainContent__inner > .post_content {
    margin-top: 20px !important;
}

.l-mainContent__inner h2 {
    color: #197536 !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: 1px solid #ddd !important;
    border-left: none !important;
    padding: 4px 0 10px 0 !important;
    margin-bottom: 20px;
    background: transparent !important;
    font-style: normal;
}
.l-mainContent__inner h2::before,
.l-mainContent__inner h2::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 959px) {
    .l-content {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 767px) {
    .p-postHero__title {
        font-size: 1.4rem;
    }
    .p-postHero__inner {
        padding-top: 24px;
    }
    #main_content.l-mainContent {
        padding-top: 16px;
    }
    .l-mainContent__inner h2 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* ▲ 本文エリア */

/* p-articleFoot（記事末尾の点線）を非表示 */
.p-articleFoot {
    display: none !important;
}

/* サイドバー列を非表示 */
.l-sidebar {
    display: none !important;
}

/* メインコンテンツを全幅に */
.l-mainContent {
    width: 100% !important;
    max-width: 1170px;
    margin: 0 auto;
}
.-frame-on .l-mainContent{
    padding: 0!important;
}

/* .-sidebar-on の flex を解除してサイドバーレイアウトを無効化 */
.-sidebar-on .l-content {
    display: block !important;
}

/* ▼ CTAバナー */
.cta-banner {
    background: #FFF8D8;
    padding: 18px 0 22px;
    width: 100vw;
    position: relative;
    left: 50%;
    margin-left: -50vw;
    box-sizing: border-box;
}
.cta-banner .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}
.cta-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
}
.cta-label {
    font-size: 16px;
    font-weight: 500;
    color: #3E3A39;
    text-align: center;
}
.cta-label .num      { font-size: 26px; font-weight: 600; color: #E51F4D; line-height: 1; }
.cta-label .num-unit { font-size: 20px; color: #E51F4D; }
.cta-button {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 340px;
    height: 64px;
    border-radius: 50px;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    filter: drop-shadow(0 2px 2px rgba(0,0,0,0.3));
    box-shadow: inset 0 4px 4px rgba(255,255,255,0.25);
    transition: opacity 0.2s ease;
}
.cta-button--trial { background: #E6204D; }
.cta-button--doc   { background: #ED6C00; }
.cta-button--trial::before {
    content: "";
    position: absolute;
    display: block;
    background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.9));
    width: 50px;
    height: 50px;
    top: -60px;
    left: -60px;
    animation: cta-shine-run 3s ease-in infinite;
}
@keyframes cta-shine-run {
    0%   { transform: scale(0)   rotate(50deg); opacity: 0; }
    40%  { transform: scale(1)   rotate(50deg); opacity: 1; }
    60%  { transform: scale(30)  rotate(50deg); opacity: 0; }
    100% { transform: scale(250) rotate(50deg); opacity: 0; }
}
.cta-button:hover { text-decoration: none; opacity: 0.85; }
.cta-button .label { font-size: clamp(16px, 5vw, 22px); white-space: nowrap; }
.cta-button .label .small { font-size: 0.9em; }
.cta-button .arrow {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 0 9px 14px;
    border-color: transparent transparent transparent #fff;
    transition: transform 0.2s ease;
}
.cta-button:hover .arrow { transform: translateX(4px); }

@media (min-width: 768px) {
    .cta-banner { padding: 40px 0; }
    .cta-banner .inner { flex-direction: row; }
    .cta-block { flex: 1; min-width: 0; }
    .cta-label { font-size: 24px; }
    .cta-label .num { font-size: 36px; }
    .cta-label .num-unit { font-size: 24px; }
    .cta-button { width: 100%; max-width: 440px; height: 80px; }
    .cta-button .label { font-size: clamp(18px, 2.5vw, 26px); }
}
/* ▲ CTAバナー */

/* ▼ 一覧へ戻るボタン */
.p-backToList {
    text-align: center;
    padding: 40px 20px 60px;
}
.p-backToList__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 340px;
    height: 56px;
    justify-content: center;
    border: 2px solid #197536;
    border-radius: 4px;
    color: #197536;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
    box-sizing: border-box;
}
.p-backToList__btn:hover {
    background: #197536;
    color: #fff;
    text-decoration: none;
}
.p-backToList__arrow {
    width: 8px;
    height: 8px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    flex-shrink: 0;
}
@media (min-width: 768px) {
    .p-backToList { padding: 60px 20px 80px; }
    .p-backToList__btn { max-width: 400px; height: 64px; font-size: 1.1rem; }
}
/* ▲ 一覧へ戻るボタン */
