/* HRGEEQ Gutenberg block bridge — maps is-style-* to post_parts classes */
/* Regenerate: python scripts/generate-hrgeeq-block-bridge.py */

/* --- text.css --- */
/* ==========================================
   テキスト・見出し系コンポーネント
   ========================================== */
/* --- イベント/記事ステータス (bl_post-event_status) --- */

.bl_post-event_status, .wp-block-group.bl_post-event_status{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: min(calc(16 / 1440 * 100vw), 16px); 

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
    row-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-event_status-tag_list, .wp-block-list.bl_post-event_status-tag_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-column-gap: min(calc(8 / 1440 * 100vw), 8px);
       -moz-column-gap: min(calc(8 / 1440 * 100vw), 8px);
            column-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-event_status-tag_list-item, .wp-block-list.bl_post-event_status-tag_list li{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    font-weight: 500;
    line-height: 1.4;

    padding: min(calc(3 / 1440 * 100vw), 3px) min(calc(8 / 1440 * 100vw), 8px) min(calc(5 / 1440 * 100vw), 5px);

    color: #c03;
    border: solid 1px #c03;
    border-radius: min(calc(4 / 1440 * 100vw), 4px);
}

.bl_post-event_status-date, .wp-block-paragraph.bl_post-event_status-date, p.bl_post-event_status-date{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    color: #565656;
}

/* --- 記事詳細情報 (bl_post-detail_info) --- */

.bl_post-detail_info, .wp-block-group.bl_post-detail_info{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: min(calc(16 / 1440 * 100vw), 16px); 

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: min(calc(16 / 1440 * 100vw), 16px);
       -moz-column-gap: min(calc(16 / 1440 * 100vw), 16px);
            column-gap: min(calc(16 / 1440 * 100vw), 16px);
}

.bl_post-detail_info-update, .wp-block-paragraph.bl_post-detail_info-update, p.bl_post-detail_info-update{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    color: #565656;
}

.bl_post-detail_info-tag_list, .wp-block-list.bl_post-detail_info-tag_list{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-column-gap: min(calc(8 / 1440 * 100vw), 8px);
       -moz-column-gap: min(calc(8 / 1440 * 100vw), 8px);
            column-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-detail_info-tag_list-item, .wp-block-list.bl_post-detail_info-tag_list li{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    line-height: 1.4;

    padding: min(calc(5 / 1440 * 100vw), 5px) min(calc(15 / 1440 * 100vw), 15px);

    color: #c03;
    border: solid 1px #c03;
    border-radius: min(calc(4 / 1440 * 100vw), 4px);
}

/* --- 記事タイトル (el_article_title) --- */

.el_article_title, .wp-block-heading.el_article_title{
    font-size: min(calc(26 / 1440 * 100vw), 26px);
    font-weight: bold;
    line-height: 1.8;

    position: relative;

    margin-bottom: min(calc(16 / 1440 * 100vw), 16px); 
    padding-top: min(calc(16 / 1440 * 100vw), 16px);
}

.el_article_title::before, .el_article_title::after, .wp-block-heading.el_article_title::before, .wp-block-heading.el_article_title::after{
    position: absolute;
    top: 0;
    left: 0;

    display: block;
    overflow: hidden;

    height: min(calc(4 / 1440 * 100vw), 4px); 

    content: '';

    border-radius: 100vmax;
}

.el_article_title::before, .wp-block-heading.el_article_title::before{
    width: 100%; 

    background: #000;
}

.el_article_title::after, .wp-block-heading.el_article_title::after{
    width: min(calc(80 / 1440 * 100vw), 80px); 

    background: #c03;
}

.el_article_title-overview, .wp-block-paragraph.el_article_title-overview, p.el_article_title-overview,
.el_article_title-overview, p.el_article_title-overview{
    font-size: min(calc(24 / 1440 * 100vw), 24px);
    font-weight: 500;
    line-height: 1.4;

    display: block;

    margin-top: min(calc(8 / 1440 * 100vw), 8px);
}

/* --- セクション見出しH2 (el_article_section_title) --- */

.el_article_section_title, h2.wp-block-heading{
    font-size: min(calc(24 / 1440 * 100vw), 24px);
    font-weight: bold;
    line-height: 1.4;

    position: relative;

    margin-bottom: min(calc(24 / 1440 * 100vw), 24px); 
    padding-top: min(calc(10 / 1440 * 100vw), 10px);
}

.el_article_section_title::before, h2.wp-block-heading::before{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: min(calc(40 / 1440 * 100vw), 40px);
    height: min(calc(4 / 1440 * 100vw), 4px); 

    content: '';

    border-radius: 100vmax;
    background: #c03;
}

/* --- セクション見出しH3 (el_article_section_title_sub) --- */

.el_article_section_title_sub, h3.wp-block-heading{
    font-size: min(calc(20 / 1440 * 100vw), 20px); 
    font-weight: bold;
    line-height: 1.8;

    margin-block: min(calc(24 / 1440 * 100vw), 24px) min(calc(16 / 1440 * 100vw), 16px);
}

/* --- セクション見出しH4 (el_article_section_title_sub_interlor) --- */

.el_article_section_title_sub_interlor, h4.wp-block-heading{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    font-weight: bold;
    line-height: 1.65;

    margin-block: min(calc(24 / 1440 * 100vw), 24px) min(calc(16 / 1440 * 100vw), 16px);
}

/* --- 本文テキスト (el_text) --- */

.el_text, .wp-block-paragraph.is-style-hr-standard, .wp-block-paragraph:not(.is-style-entry):not(.is-style-close):not(.is-style-border-link):not(.is-style-border-link-external){
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.8;
}

/* --- エントリー受付テキスト (bl_post-entry_text) --- */

.bl_post-entry_text, .wp-block-paragraph.is-style-entry, p.is-style-entry{
    font-size: min(calc(18 / 1440 * 100vw), 18px);
    font-weight: bold;
    line-height: 1.8;

    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px);

    text-align: center;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
    background: #fcf2f5;

    margin-block: min(calc(40 / 1440 * 100vw), 40px);
}

/* --- 募集終了テキスト (bl_post-close_text) --- */

.bl_post-close_text, .wp-block-paragraph.is-style-close, p.is-style-close{
    font-size: min(calc(18 / 1440 * 100vw), 18px);
    font-weight: bold;
    line-height: 1.8;

    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px);

    text-align: center;

    color: #c03;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
    background: #fcf2f5;

    margin-block: min(calc(40 / 1440 * 100vw), 40px);
}

/* --- コメントボックス (bl_post-comment) --- */

.bl_post-comment, .wp-block-group.bl_post-comment{
    margin-top: min(calc(16 / 1440 * 100vw), 16px); 
    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px);

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
    background: #f8f8f8;
}

.bl_post-comment-title, .wp-block-paragraph.bl_post-comment-title, p.bl_post-comment-title{
    font-size: min(calc(16 / 1440 * 100vw), 16px);
    font-weight: bold;
    line-height: 1.8;

    margin-bottom: min(calc(4 / 1440 * 100vw), 4px);
}

.bl_post-comment-text, .wp-block-paragraph.bl_post-comment-text, p.bl_post-comment-text{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.8;
}

/* --- ボーダーリンク (bl_post-border_link) --- */

.bl_post-border_link, .wp-block-paragraph.is-style-border-link, p.is-style-border-link,
.bl_post-border_link, .wp-block-paragraph.is-style-border-link-external, p.is-style-border-link-external{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    line-height: 1.71429;

    position: relative;

    margin-bottom: min(calc(24 / 1440 * 100vw), 24px);
    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(44 / 1440 * 100vw), 44px) min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px); 

    border: solid 1px #c4c4c4;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
    background: #fff;
}

.bl_post-border_link a, .wp-block-paragraph.is-style-border-link a, p.is-style-border-link a,
.bl_post-border_link a, .wp-block-paragraph.is-style-border-link-external a, p.is-style-border-link-external a{
    color: #000;
}

.bl_post-border_link-arrow, .bl_post-border_link-arrow,
.bl_post-border_link-newTab-arrow, .bl_post-border_link-newTab-arrow{
    position: absolute;
    top: 50%;
    right: min(calc(24 / 1440 * 100vw), 24px);

    display: block;

    width: min(calc(20 / 1440 * 100vw), 20px);

    color: #979797; 

    translate: 0 -50%;
}

/* --- お問い合わせテキスト (bl_post-contact_text) --- */

.bl_post-contact_text-email, .wp-block-paragraph.is-style-contact-text-email a, p.is-style-contact-text-email a,
.bl_post-contact_text-email, .bl_post-contact_text-email{
    display: inline-block;

    text-decoration: underline;

    color: #c03;

    text-underline-offset: min(calc(3 / 1440 * 100vw), 3px);
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-event_status, .wp-block-group.bl_post-event_status{
        display: grid;

        margin-bottom: calc(16 / 390 * 100vw); 

        grid-template: 'deadline open' auto 'tag_list tag_list' auto / 1fr 1fr;
        -webkit-column-gap: 0;
           -moz-column-gap: 0;
                column-gap: 0;
        row-gap: calc(8 / 390 * 100vw);
    }

.bl_post-event_status-tag_list, .wp-block-list.bl_post-event_status-tag_list{
        grid-area: tag_list;
        -webkit-column-gap: calc(8 / 390 * 100vw);
           -moz-column-gap: calc(8 / 390 * 100vw);
                column-gap: calc(8 / 390 * 100vw);
    }

.bl_post-event_status-tag_list-item, .wp-block-list.bl_post-event_status-tag_list li{
        font-size: calc(12 / 390 * 100vw);

        padding: calc(3.5 / 390 * 100vw) calc(12 / 390 * 100vw);

        border-radius: calc(4 / 390 * 100vw);
    }

.bl_post-event_status-date, .wp-block-paragraph.bl_post-event_status-date, p.bl_post-event_status-date{
        font-size: calc(14 / 390 * 100vw);
    }

.bl_post-detail_info, .wp-block-group.bl_post-detail_info{
        margin-bottom: calc(16 / 390 * 100vw); 

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-column-gap: calc(16 / 390 * 100vw);
           -moz-column-gap: calc(16 / 390 * 100vw);
                column-gap: calc(16 / 390 * 100vw);
        row-gap: calc(8 / 390 * 100vw);
    }

.bl_post-detail_info-update, .wp-block-paragraph.bl_post-detail_info-update, p.bl_post-detail_info-update{
        font-size: calc(14 / 390 * 100vw);
    }

.bl_post-detail_info-tag_list, .wp-block-list.bl_post-detail_info-tag_list{
        width: 100%;

        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: calc(8 / 390 * 100vw);
    }

.bl_post-detail_info-tag_list-item, .wp-block-list.bl_post-detail_info-tag_list li{
        font-size: calc(12 / 390 * 100vw);

        padding: calc(3.5 / 390 * 100vw) calc(6 / 390 * 100vw);

        border-radius: calc(4 / 390 * 100vw);
    }

.el_article_title, .wp-block-heading.el_article_title{
        font-size: calc(24 / 390 * 100vw);

        margin-bottom: calc(40 / 390 * 100vw); 
        padding-top: calc(16 / 390 * 100vw);
    }

.el_article_title::before, .el_article_title::after, .wp-block-heading.el_article_title::before, .wp-block-heading.el_article_title::after{
        height: calc(4 / 390 * 100vw);
    }

.el_article_title::after, .wp-block-heading.el_article_title::after{
        width: calc(80 / 390 * 100vw);
    }

.el_article_title-overview, .wp-block-paragraph.el_article_title-overview, p.el_article_title-overview,
.el_article_title-overview, p.el_article_title-overview{
        font-size: calc(24 / 390 * 100vw);
        line-height: 1.8;

        margin-top: calc(8 / 390 * 100vw);
    }

.el_article_section_title, h2.wp-block-heading{
        font-size: calc(22 / 390 * 100vw);
        line-height: 1.8;

        margin-bottom: calc(16 / 390 * 100vw); 
        padding-top: calc(10 / 390 * 100vw);
    }

.el_article_section_title::before, h2.wp-block-heading::before{
        width: calc(40 / 390 * 100vw);
        height: calc(4 / 390 * 100vw);
    }

.el_article_section_title_sub, h3.wp-block-heading{
        font-size: calc(20 / 390 * 100vw);

        margin-block: min(calc(16 / 1440 * 100vw), 16px) calc(8 / 390 * 100vw);
    }

.el_article_section_title_sub_interlor, h4.wp-block-heading{
        font-size: calc(16 / 390 * 100vw);

        margin-block: calc(16 / 390 * 100vw) calc(8 / 390 * 100vw);
    }

.el_text, .wp-block-paragraph.is-style-hr-standard, .wp-block-paragraph:not(.is-style-entry):not(.is-style-close):not(.is-style-border-link):not(.is-style-border-link-external){
        font-size: calc(16 / 390 * 100vw);
    }

.bl_post-entry_text, .wp-block-paragraph.is-style-entry, p.is-style-entry{
        font-size: calc(16 / 390 * 100vw);

        padding: calc(16 / 390 * 100vw);

        text-align: left; 

        border-radius: calc(8 / 390 * 100vw);

        margin-block: calc(24 / 390 * 100vw);
    }

.bl_post-close_text, .wp-block-paragraph.is-style-close, p.is-style-close{
        font-size: calc(16 / 390 * 100vw);

        padding: calc(16 / 390 * 100vw);

        text-align: left;

        border-radius: calc(8 / 390 * 100vw);

        margin-block: calc(24 / 390 * 100vw);
    }

.bl_post-comment, .wp-block-group.bl_post-comment{
        margin-top: calc(8 / 390 * 100vw); 
        padding: calc(16 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-comment-title, .wp-block-paragraph.bl_post-comment-title, p.bl_post-comment-title{
        font-size: calc(16 / 390 * 100vw);

        margin-bottom: calc(4 / 390 * 100vw);
    }

.bl_post-comment-text, .wp-block-paragraph.bl_post-comment-text, p.bl_post-comment-text{
        font-size: calc(16 / 390 * 100vw);
    }

.bl_post-border_link, .wp-block-paragraph.is-style-border-link, p.is-style-border-link,
.bl_post-border_link, .wp-block-paragraph.is-style-border-link-external, p.is-style-border-link-external{
        font-size: calc(14 / 390 * 100vw);

        margin-bottom: calc(24 / 390 * 100vw);
        padding: calc(16 / 390 * 100vw) calc(44 / 390 * 100vw) calc(16 / 390 * 100vw) calc(16 / 390 * 100vw); 

        letter-spacing: -.031em;

        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-border_link-arrow, .bl_post-border_link-arrow,
.bl_post-border_link-newTab-arrow, .bl_post-border_link-newTab-arrow{
        right: calc(16 / 390 * 100vw);

        width: calc(20 / 390 * 100vw);
    }

.bl_post-contact_text-email, .wp-block-paragraph.is-style-contact-text-email a, p.is-style-contact-text-email a,
.bl_post-contact_text-email, .bl_post-contact_text-email{
        text-underline-offset: calc(3 / 390 * 100vw);
    }
}

.bl_post-to_form-link, .wp-block-button.is-style-btn-form .wp-block-button__link,
.bl_post-to_form-link, .wp-block-button.is-style-btn-form-arrow .wp-block-button__link{
    font-weight: normal;

    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    min-width: min(calc(240 / 1440 * 100vw), 240px);
    padding: min(calc(20 / 1440 * 100vw), 20px) min(calc(30 / 1440 * 100vw), 30px);

    color: #c03;
    border: solid 1px #c03;
    border-radius: min(calc(8 / 1440 * 100vw), 8px); 

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: min(calc(8 / 1440 * 100vw), 8px);
       -moz-column-gap: min(calc(8 / 1440 * 100vw), 8px);
            column-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-btn_bg_red-link, .wp-block-button.is-style-btn-red .wp-block-button__link,
.bl_post-btn_bg_red_arrow-link, .wp-block-button.is-style-btn-red-arrow .wp-block-button__link,
.bl_post-btn_bg_red_newTab-link, .wp-block-button.is-style-btn-red-newtab .wp-block-button__link,
.bl_post-btn_bg_white-link, .wp-block-button.is-style-btn-white .wp-block-button__link,
.bl_post-btn_bg_white_arrow-link, .wp-block-button.is-style-btn-white-arrow .wp-block-button__link,
.bl_post-btn_bg_white_newTab-link, .wp-block-button.is-style-btn-white-newtab .wp-block-button__link,
.bl_post-btn_bg_gray-link, .wp-block-button.is-style-btn-gray .wp-block-button__link,
.bl_post-btn_bg_gray_arrow-link, .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link,
.bl_post-btn_bg_gray_newTab-link, .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link,
.bl_post-btn_bg_black-link, .wp-block-button.is-style-btn-black .wp-block-button__link,
.bl_post-btn_bg_black_arrow-link, .wp-block-button.is-style-btn-black-arrow .wp-block-button__link,
.bl_post-btn_bg_black_newTab-link, .wp-block-button.is-style-btn-black-newtab .wp-block-button__link{
    font-weight: bold;
    line-height: 1.4;

    position: relative;

    width: -webkit-fit-content;
    width:    -moz-fit-content;
    width:         fit-content;
    min-width: min(calc(240 / 1440 * 100vw), 240px);

    text-align: center;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);

    margin-inline: auto;
}

.bl_post-btn_bg_red_arrow-link, .wp-block-button.is-style-btn-red-arrow .wp-block-button__link,
.bl_post-btn_bg_red_newTab-link, .wp-block-button.is-style-btn-red-newtab .wp-block-button__link,
.bl_post-btn_bg_white_arrow-link, .wp-block-button.is-style-btn-white-arrow .wp-block-button__link,
.bl_post-btn_bg_white_newTab-link, .wp-block-button.is-style-btn-white-newtab .wp-block-button__link,
.bl_post-btn_bg_gray_arrow-link, .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link,
.bl_post-btn_bg_gray_newTab-link, .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link,
.bl_post-btn_bg_black_arrow-link, .wp-block-button.is-style-btn-black-arrow .wp-block-button__link,
.bl_post-btn_bg_black_newTab-link, .wp-block-button.is-style-btn-black-newtab .wp-block-button__link{
    font-size: min(calc(18 / 1440 * 100vw), 18px);

    display: block;

    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(48 / 1440 * 100vw), 48px);
}

.bl_post-btn_bg_red-link, .wp-block-button.is-style-btn-red .wp-block-button__link,
.bl_post-btn_bg_white-link, .wp-block-button.is-style-btn-white .wp-block-button__link,
.bl_post-btn_bg_gray-link, .wp-block-button.is-style-btn-gray .wp-block-button__link,
.bl_post-btn_bg_black-link, .wp-block-button.is-style-btn-black .wp-block-button__link{
    font-size: min(calc(16 / 1440 * 100vw), 16px);

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    min-height: min(calc(56 / 1440 * 100vw), 56px); 
    padding: min(calc(8 / 1440 * 100vw), 8px) min(calc(24 / 1440 * 100vw), 24px);

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

/* ============================================================
   ボタン カラー設定
   ============================================================ */
/* ボタン（赤） */

.bl_post-btn_bg_red-link, .wp-block-button.is-style-btn-red .wp-block-button__link{
    color: #fff;
    background: #c03;
}

.bl_post-btn_bg_red_arrow-link, .wp-block-button.is-style-btn-red-arrow .wp-block-button__link{
    color: #fff;
    background: #c03;
}

.bl_post-btn_bg_red_newTab-link, .wp-block-button.is-style-btn-red-newtab .wp-block-button__link{
    color: #fff;
    background: #c03;
}

/* ボタン（白） */

.bl_post-btn_bg_white-link, .wp-block-button.is-style-btn-white .wp-block-button__link{
    color: #c03;
    border: solid 1px #c03; 
    background: #fff;
}

.bl_post-btn_bg_white_arrow-link, .wp-block-button.is-style-btn-white-arrow .wp-block-button__link{
    color: #c03;
    border: solid 1px #c03; 
    background: #fff;
}

.bl_post-btn_bg_white_newTab-link, .wp-block-button.is-style-btn-white-newtab .wp-block-button__link{
    color: #c03;
    border: solid 1px #c03; 
    background: #fff;
}

/* ボタン（グレー） */

.bl_post-btn_bg_gray-link, .wp-block-button.is-style-btn-gray .wp-block-button__link{
    color: #000;
    border: solid 1px #c4c4c4; 
    background: #efefef;
}

.bl_post-btn_bg_gray_arrow-link, .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link{
    color: #000;
    border: solid 1px #c4c4c4; 
    background: #efefef;
}

.bl_post-btn_bg_gray_newTab-link, .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link{
    color: #000;
    border: solid 1px #c4c4c4; 
    background: #efefef;
}

/* ボタン（黒） */

.bl_post-btn_bg_black-link, .wp-block-button.is-style-btn-black .wp-block-button__link{
    color: #fff;
    background: #282828;
}

.bl_post-btn_bg_black_arrow-link, .wp-block-button.is-style-btn-black-arrow .wp-block-button__link{
    color: #fff;
    background: #282828;
}

.bl_post-btn_bg_black_newTab-link, .wp-block-button.is-style-btn-black-newtab .wp-block-button__link{
    color: #fff;
    background: #282828;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-to_form-link, .wp-block-button.is-style-btn-form .wp-block-button__link,
.bl_post-to_form-link, .wp-block-button.is-style-btn-form-arrow .wp-block-button__link{
        width: 100%;
        padding: calc(13 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw); 

        -webkit-column-gap: calc(8 / 390 * 100vw);
           -moz-column-gap: calc(8 / 390 * 100vw);
                column-gap: calc(8 / 390 * 100vw);
    }

.bl_post-btn_bg_red-link, .wp-block-button.is-style-btn-red .wp-block-button__link,
.bl_post-btn_bg_red_arrow-link, .wp-block-button.is-style-btn-red-arrow .wp-block-button__link,
.bl_post-btn_bg_red_newTab-link, .wp-block-button.is-style-btn-red-newtab .wp-block-button__link,
.bl_post-btn_bg_white-link, .wp-block-button.is-style-btn-white .wp-block-button__link,
.bl_post-btn_bg_white_arrow-link, .wp-block-button.is-style-btn-white-arrow .wp-block-button__link,
.bl_post-btn_bg_white_newTab-link, .wp-block-button.is-style-btn-white-newtab .wp-block-button__link,
.bl_post-btn_bg_gray-link, .wp-block-button.is-style-btn-gray .wp-block-button__link,
.bl_post-btn_bg_gray_arrow-link, .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link,
.bl_post-btn_bg_gray_newTab-link, .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link,
.bl_post-btn_bg_black-link, .wp-block-button.is-style-btn-black .wp-block-button__link,
.bl_post-btn_bg_black_arrow-link, .wp-block-button.is-style-btn-black-arrow .wp-block-button__link,
.bl_post-btn_bg_black_newTab-link, .wp-block-button.is-style-btn-black-newtab .wp-block-button__link{
        width: 100%;

        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-btn_bg_red_arrow-link, .wp-block-button.is-style-btn-red-arrow .wp-block-button__link,
.bl_post-btn_bg_red_newTab-link, .wp-block-button.is-style-btn-red-newtab .wp-block-button__link,
.bl_post-btn_bg_white_arrow-link, .wp-block-button.is-style-btn-white-arrow .wp-block-button__link,
.bl_post-btn_bg_white_newTab-link, .wp-block-button.is-style-btn-white-newtab .wp-block-button__link,
.bl_post-btn_bg_gray_arrow-link, .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link,
.bl_post-btn_bg_gray_newTab-link, .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link,
.bl_post-btn_bg_black_arrow-link, .wp-block-button.is-style-btn-black-arrow .wp-block-button__link,
.bl_post-btn_bg_black_newTab-link, .wp-block-button.is-style-btn-black-newtab .wp-block-button__link{
        font-size: calc(16 / 390 * 100vw);

        padding: calc(16 / 390 * 100vw) calc(48 / 390 * 100vw);
    }

.bl_post-btn_bg_red-link, .wp-block-button.is-style-btn-red .wp-block-button__link,
.bl_post-btn_bg_white-link, .wp-block-button.is-style-btn-white .wp-block-button__link,
.bl_post-btn_bg_gray-link, .wp-block-button.is-style-btn-gray .wp-block-button__link,
.bl_post-btn_bg_black-link, .wp-block-button.is-style-btn-black .wp-block-button__link{
        font-size: calc(16 / 390 * 100vw);

        min-height: calc(48 / 390 * 100vw); 
        padding: calc(8 / 390 * 100vw) calc(24 / 390 * 100vw);
    }
}

/* --- list.css --- */
/* ==========================================
   リスト系コンポーネント
   ========================================== */
/* --- ページ内リンクリスト (bl_post-page_link) --- */

.bl_post-page_link, .wp-block-list.is-style-page-link{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: min(calc(16 / 1440 * 100vw), 16px);

    border: solid 1px #c4c4c4;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);

    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: min(calc(40 / 1440 * 100vw), 40px);
       -moz-column-gap: min(calc(40 / 1440 * 100vw), 40px);
            column-gap: min(calc(40 / 1440 * 100vw), 40px);
    margin-block: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-page_link-item-link, .wp-block-list.is-style-page-link a{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    color: #282828;

    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: min(calc(4 / 1440 * 100vw), 4px);
       -moz-column-gap: min(calc(4 / 1440 * 100vw), 4px);
            column-gap: min(calc(4 / 1440 * 100vw), 4px);
}

/* --- 赤丸リスト (bl_post-red_dot) --- */

.bl_post-red_dot, .wp-block-list.is-style-red-dot li{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    position: relative;

    padding-left: min(calc(20 / 1440 * 100vw), 20px);
}

.bl_post-red_dot:not(:first-of-type), .wp-block-list.is-style-red-dot li{
    margin-top: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-red_dot::before, .wp-block-list.is-style-red-dot li::before{
    position: absolute;
    top: .5lh;
    left: min(calc(4 / 1440 * 100vw), 4px); 

    display: block;

    width: min(calc(8 / 1440 * 100vw), 8px);
    height: min(calc(8 / 1440 * 100vw), 8px);

    content: '';

    border-radius: 50%;
    background: #c03;

    translate: 0 -50%;
}

/* --- 番号付きリスト (bl_post-num_list) --- */

.bl_post-num_list, .wp-block-list.is-style-num,
.bl_post-num_list, .wp-block-list.bl_post-index-list{
    margin-top: min(calc(24 / 1440 * 100vw), 24px); 

    counter-reset: num;
}

.bl_post-num_list-item, .wp-block-list.is-style-num li,
.bl_post-num_list-item, .wp-block-list.bl_post-index-list li{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    counter-increment: num;

    -webkit-column-gap: min(calc(4 / 1440 * 100vw), 4px);
       -moz-column-gap: min(calc(4 / 1440 * 100vw), 4px);
            column-gap: min(calc(4 / 1440 * 100vw), 4px);
}

.bl_post-num_list-item:not(:first-of-type), .wp-block-list.is-style-num li,
.bl_post-num_list-item:not(:first-of-type), .wp-block-list.bl_post-index-list li{
    margin-top: min(calc(16 / 1440 * 100vw), 16px) !important;
}

.bl_post-num_list-item::before, .wp-block-list.is-style-num li::before,
.bl_post-num_list-item::before, .wp-block-list.bl_post-index-list li::before{
    display: inline-block;

    content: counter(num) '.';

    color: #c03;

    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* --- 注意書きリスト (bl_post-note_list) --- */

.bl_post-note_list, .wp-block-list.is-style-note{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    margin-top: min(calc(16 / 1440 * 100vw), 16px); 

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    row-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-note_list-item, .wp-block-list.is-style-note li{
    position: relative;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding-left: min(calc(18 / 1440 * 100vw), 18px);
}

.bl_post-note_list-item::before, .wp-block-list.is-style-note li::before{
    position: absolute;
    top: 0;
    left: 0;

    content: '※';

    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* --- 番号フローリスト (bl_post-content_num_list) --- */

.bl_post-content_num_list, .wp-block-list.is-style-flow{
    counter-reset: flow-num;
}

.bl_post-content_num_list-item, .wp-block-list.is-style-flow li{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    counter-increment: flow-num;

    -webkit-column-gap: min(calc(8 / 1440 * 100vw), 8px);
       -moz-column-gap: min(calc(8 / 1440 * 100vw), 8px);
            column-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-content_num_list-item::before, .wp-block-list.is-style-flow li::before{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 

    content: counter(flow-num) '.';

    color: #000;

    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-page_link, .wp-block-list.is-style-page-link{
            flex-direction: column;

        padding: calc(16 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        row-gap: calc(8 / 390 * 100vw);
        margin-block: calc(24 / 390 * 100vw);
    }

.bl_post-page_link-item, .wp-block-list.is-style-page-link li{
        width: 100%;
    }

.bl_post-page_link-item-link, .wp-block-list.is-style-page-link a{
        font-size: calc(16 / 390 * 100vw); 

        width: 100%;

        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

.bl_post-red_dot, .wp-block-list.is-style-red-dot li{
        font-size: calc(16 / 390 * 100vw); 

        padding-left: calc(20 / 390 * 100vw);
    }

.bl_post-red_dot:not(:first-of-type), .wp-block-list.is-style-red-dot li{
        margin-top: calc(8 / 390 * 100vw);
    }

.bl_post-red_dot::before, .wp-block-list.is-style-red-dot li::before{
        left: calc(4 / 390 * 100vw); 

        width: calc(8 / 390 * 100vw);
        height: calc(8 / 390 * 100vw);
    }

.bl_post-num_list, .wp-block-list.is-style-num,
.bl_post-num_list, .wp-block-list.bl_post-index-list{
        margin-top: calc(16 / 390 * 100vw);
    }

.bl_post-num_list-item, .wp-block-list.is-style-num li,
.bl_post-num_list-item, .wp-block-list.bl_post-index-list li{
        font-size: calc(16 / 390 * 100vw); 

        -webkit-column-gap: calc(4 / 390 * 100vw);
           -moz-column-gap: calc(4 / 390 * 100vw);
                column-gap: calc(4 / 390 * 100vw);
    }

.bl_post-num_list-item:not(:first-of-type), .wp-block-list.is-style-num li,
.bl_post-num_list-item:not(:first-of-type), .wp-block-list.bl_post-index-list li{
        margin-top: calc(8 / 390 * 100vw) !important;
    }

.bl_post-note_list, .wp-block-list.is-style-note{
        margin-top: calc(16 / 390 * 100vw); 

        row-gap: calc(8 / 390 * 100vw);
    }

.bl_post-note_list-item, .wp-block-list.is-style-note li{
        padding-left: calc(18 / 390 * 100vw);
    }

.bl_post-content_num_list-item, .wp-block-list.is-style-flow li{
        font-size: calc(16 / 390 * 100vw); 

        -webkit-column-gap: calc(8 / 390 * 100vw);
           -moz-column-gap: calc(8 / 390 * 100vw);
                column-gap: calc(8 / 390 * 100vw);
    }

.bl_post-content_num_list-item::before, .wp-block-list.is-style-flow li::before{
        font-size: calc(16 / 390 * 100vw);
    }
}

/* --- table.css --- */
/* ==========================================
   テーブルコンポーネント
   ========================================== */
/* --- テーブル (bl_table) --- */

.bl_table, .wp-block-table table{
    width: 100%;

    table-layout: auto;
    border-collapse: collapse;

    border: solid 1px #c4c4c4;

    margin-block: min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px);
}

.bl_table-head, .wp-block-table th{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    font-weight: 500;
    line-height: 1.4;

    padding: min(calc(16 / 1440 * 100vw), 16px); 

    text-align: left;
    vertical-align: top;

    border: solid 1px #c4c4c4;
    background: #f8f8f8;
}

.bl_table-data, .wp-block-table td{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    line-height: 1.65;

    padding: min(calc(16 / 1440 * 100vw), 16px); 

    vertical-align: top;

    border: solid 1px #c4c4c4;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_table, .wp-block-table table{
        display: block;
        overflow-x: auto;

        margin-block: calc(8 / 390 * 100vw) calc(16 / 390 * 100vw);
        -webkit-overflow-scrolling: touch;
    }

.bl_table-head, .wp-block-table th{
        font-size: calc(14 / 390 * 100vw);

        padding: calc(16 / 390 * 100vw);

        white-space: nowrap;

        border-top: none;
        border-right: none; 
        border-left: none;
    }

.bl_table-data, .wp-block-table td{
        font-size: calc(14 / 390 * 100vw);

        padding: calc(16 / 390 * 100vw);

        border-top: none;
        border-right: none; 
        border-left: none;
    }
}

/* --- image.css --- */
/* ==========================================
   画像系コンポーネント
   ========================================== */
/* --- KVイメージ (bl_post-kv) --- */

.bl_post-kv, .wp-block-image.is-style-kv,
.bl_post-kv, .wp-block-image.is-style-default{
    overflow: hidden;

    margin-bottom: min(calc(24 / 1440 * 100vw), 24px); 

    border: solid 1px #c4c4c4;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-kv img, .wp-block-image.is-style-kv img,
.bl_post-kv img, .wp-block-image.is-style-default img{
    display: block;

    width: calc(100% + 2px);
    max-width: none;
    margin-top: -1px;
    margin-left: -1px;
}

/* --- コンテンツ内画像 (bl_post-img) --- */

.bl_post-img, .wp-block-image.is-style-content-img{
    margin-block: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-img img, .wp-block-image.is-style-content-img img,
.bl_post-img img, .wp-block-image.hrgeeq-img-col img{
    display: block;
    overflow: hidden; 

    width: 100%;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

/* --- 企業ロゴ (bl_post-company_logo) --- */

.bl_post-company_logo, .wp-block-image.is-style-company-logo{
    overflow: hidden;

    width: auto;
    height: min(calc(180 / 1440 * 100vw), 180px);
    padding: min(calc(5 / 1440 * 100vw), 5px) 0;

    border: solid 1px #c4c4c4;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
    background: #fff;

    margin-block: min(calc(16 / 1440 * 100vw), 16px) min(calc(64 / 1440 * 100vw), 64px);
}

.bl_post-company_logo img, .wp-block-image.is-style-company-logo img{
    display: block;

    height: 100%;
    max-height: 100%;

    margin-inline: auto;
}

.bl_post-figure img, .wp-block-image:not(.is-style-kv):not(.is-style-content-img):not(.is-style-company-logo):not(.is-style-default) img{
    display: block;
    overflow: hidden; 

    width: 100%;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-figure-caption, .wp-block-image:not(.is-style-kv):not(.is-style-content-img):not(.is-style-company-logo):not(.is-style-default) figcaption{
    font-size: min(calc(12 / 1440 * 100vw), 12px); 
    line-height: 1.65;

    margin-top: min(calc(8 / 1440 * 100vw), 8px);

    text-align: center;

    color: #565656;
}

/* --- 3列キャプション付き画像 (bl_post-figure_3col) --- */

.bl_post-figure_3col, .wp-block-group.bl_post-figure_3col{
    display: grid;

    margin-top: min(calc(24 / 1440 * 100vw), 24px); 

    grid-template-columns: repeat(3, 1fr);
    gap: min(calc(25 / 1440 * 100vw), 25px) min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-figure_3col-item-figure-img, .wp-block-group.bl_post-figure_3col-item .wp-block-image{
    overflow: hidden;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-figure_3col-item-figure-img img, .wp-block-group.bl_post-figure_3col-item .wp-block-image img{
    display: block;

    width: 100%;
}

.bl_post-figure_3col-item-figure-caption, .wp-block-group.bl_post-figure_3col-item figcaption{
    font-size: min(calc(14 / 1440 * 100vw), 14px); 
    line-height: 1.5;

    margin-top: min(calc(8 / 1440 * 100vw), 8px);

    text-align: center;

    color: #565656;
}

/* --- 画像グループ (bl_post-images) --- */

.bl_post-images, .wp-block-group.bl_post-images{
    margin-top: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-images-item, .wp-block-group.bl_post-images-item{
    overflow: hidden;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-kv, .wp-block-image.is-style-kv,
.bl_post-kv, .wp-block-image.is-style-default{
        margin-bottom: calc(24 / 390 * 100vw); 

        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-img, .wp-block-image.is-style-content-img{
        margin-block: calc(24 / 390 * 100vw);
    }

.bl_post-img img, .wp-block-image.is-style-content-img img,
.bl_post-img img, .wp-block-image.hrgeeq-img-col img{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-company_logo, .wp-block-image.is-style-company-logo{
        height: calc(110.95 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);

        margin-block: calc(40 / 390 * 100vw);
    }

.bl_post-company_logo img, .wp-block-image.is-style-company-logo img{
        max-height: 100%;
    }

.bl_post-figure img, .wp-block-image:not(.is-style-kv):not(.is-style-content-img):not(.is-style-company-logo):not(.is-style-default) img{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-figure-caption, .wp-block-image:not(.is-style-kv):not(.is-style-content-img):not(.is-style-company-logo):not(.is-style-default) figcaption{
        font-size: calc(12 / 390 * 100vw); 

        margin-top: calc(8 / 390 * 100vw);
    }

.bl_post-figure_3col, .wp-block-group.bl_post-figure_3col{
        margin-top: calc(16 / 390 * 100vw); 

        grid-template-columns: 1fr;
        gap: calc(16 / 390 * 100vw);
    }

.bl_post-figure_3col-item-figure-img, .wp-block-group.bl_post-figure_3col-item .wp-block-image{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-figure_3col-item-figure-caption, .wp-block-group.bl_post-figure_3col-item figcaption{
        font-size: calc(14 / 390 * 100vw); 

        margin-top: calc(8 / 390 * 100vw);
    }

.bl_post-images, .wp-block-group.bl_post-images{
        margin-top: calc(16 / 390 * 100vw);
    }

.bl_post-images-item, .wp-block-group.bl_post-images-item{
        border-radius: calc(8 / 390 * 100vw);
    }
}

/* --- callout.css --- */
/* ==========================================
   コールアウト・目次コンポーネント
   ========================================== */
/* --- コールアウト (bl_post-callout) --- */

.bl_post-callout, .wp-block-group.is-style-callout{
    padding: min(calc(24 / 1440 * 100vw), 24px);

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
    background: #f8f8f8;

    margin-block: min(calc(24 / 1440 * 100vw), 24px);
}

/* --- 目次ボックス (bl_post-index) --- */

.bl_post-index, .wp-block-group.bl_post-index{
    margin-top: min(calc(24 / 1440 * 100vw), 24px);
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-callout, .wp-block-group.is-style-callout{
        padding: calc(16 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);

        margin-block: calc(16 / 390 * 100vw);
    }

.bl_post-index, .wp-block-group.bl_post-index{
        margin-top: calc(16 / 390 * 100vw);
    }
}

/* --- accordion.css --- */
/* ==========================================
   アコーディオンコンポーネント (bl_post-acc)
   ========================================== */
/* --- アコーディオンラッパー --- */

.bl_post-acc, .wp-block-group.bl_post-acc{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    row-gap: min(calc(16 / 1440 * 100vw), 16px);
    /* --- アコーディオン1件 (bl_post-acc-item) --- */
    /* --- アコーディオンヘッド (bl_post-acc-head) --- */
    /* --- 矢印アイコン (bl_post-acc-arrow) --- */
    /* --- ボディラッパー（グリッド展開） --- */
    /* --- ボディインナー（overflow制御） --- */
    /* --- ボディ本体 --- */
}

.bl_post-acc-item, .wp-block-group.bl_post-acc-item{
    overflow: hidden;

    border: solid 1px #c4c4c4;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-acc-head, h3.wp-block-heading.bl_post-acc-head{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 100%;
    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px); 

    cursor: pointer;

    background: #f8f8f8;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: min(calc(8 / 1440 * 100vw), 8px);
       -moz-column-gap: min(calc(8 / 1440 * 100vw), 8px);
            column-gap: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-acc-head-text, .bl_post-acc-head-text{
    font-size: min(calc(18 / 1440 * 100vw), 18px); 
    font-weight: normal;
    line-height: 1.65;

    text-align: left;

    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}

.bl_post-acc-arrow, .bl_post-acc-arrow{
    display: block;

    width: min(calc(24 / 1440 * 100vw), 24px);

    -webkit-transition: rotate .3s;
            transition: rotate .3s; 

    color: #979797;

    -ms-flex-negative: 0;
    flex-shrink: 0;
    rotate: 90deg;
}

.bl_post-acc-body_wrap, .wp-block-group.bl_post-acc-body_wrap{
    display: grid;

    -webkit-transition: grid-template-rows .3s;
            transition: grid-template-rows .3s;
            transition: grid-template-rows .3s, -ms-grid-rows .3s; 

    grid-template-rows: 0fr;
}

.bl_post-acc-body_inner, .wp-block-group.bl_post-acc-body_inner{
    overflow: hidden;
}

.bl_post-acc-body, .wp-block-group.bl_post-acc-body{
    padding: min(calc(24 / 1440 * 100vw), 24px);

    border-top: solid 1px #c4c4c4;
    /* --- 詳細リスト (bl_post-acc-body-list) --- */
}

.bl_post-acc-body-list-title::before, .wp-block-paragraph.bl_post-acc-body-list-title::before, p.bl_post-acc-body-list-title::before{
    display: inline-block;

    content: '□';
}

.bl_post-acc-body-list-data, .wp-block-paragraph.bl_post-acc-body-list-data, p.bl_post-acc-body-list-data{
    margin-top: 0 !important;
    margin-left: 1em;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-acc, .wp-block-group.bl_post-acc{
        row-gap: calc(16 / 390 * 100vw);
    }

.bl_post-acc-item, .wp-block-group.bl_post-acc-item{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-acc-head, h3.wp-block-heading.bl_post-acc-head{
        padding: calc(16 / 390 * 100vw) calc(16 / 390 * 100vw); 

        -webkit-column-gap: calc(8 / 390 * 100vw);
           -moz-column-gap: calc(8 / 390 * 100vw);
                column-gap: calc(8 / 390 * 100vw);
    }

.bl_post-acc-head-text, .bl_post-acc-head-text{
        font-size: calc(16 / 390 * 100vw);
    }

.bl_post-acc-arrow, .bl_post-acc-arrow{
        width: calc(24 / 390 * 100vw);
    }

.bl_post-acc-body, .wp-block-group.bl_post-acc-body{
        padding: calc(16 / 390 * 100vw);
    }
}

/* --- interview.css --- */
/* ==========================================
   インタビューコンポーネント (bl_post-interview)
   ========================================== */
/* --- インタビュー (bl_post-interview) --- */

.bl_post-interview-block:not(:last-of-type), .wp-block-group.bl_post-interview-block{
    margin-bottom: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-interview-title, .wp-block-paragraph.bl_post-interview-title, p.bl_post-interview-title,
.bl_post-interview-title, h4.wp-block-heading.bl_post-interview-title{
    font-weight: bold;
    line-height: 1.4;

    margin-bottom: min(calc(16 / 1440 * 100vw), 16px);
}

.bl_post-interview-text, .wp-block-paragraph.bl_post-interview-text, p.bl_post-interview-text{
    font-size: min(calc(16 / 1440 * 100vw), 16px);
    line-height: 1.8;

    margin-top: min(calc(16 / 1440 * 100vw), 16px);
}

.bl_post-interview-text-name, .wp-block-paragraph.bl_post-interview-text-name, p.bl_post-interview-text-name,
.bl_post-interview-text-name, .bl_post-interview-text-name{
    font-weight: bold;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-interview-block:not(:last-of-type), .wp-block-group.bl_post-interview-block{
        margin-bottom: calc(16 / 390 * 100vw);
    }

.bl_post-interview-title, .wp-block-paragraph.bl_post-interview-title, p.bl_post-interview-title,
.bl_post-interview-title, h4.wp-block-heading.bl_post-interview-title{
        font-size: calc(16 / 390 * 100vw);

        margin-bottom: calc(16 / 390 * 100vw);
    }

.bl_post-interview-text, .wp-block-paragraph.bl_post-interview-text, p.bl_post-interview-text{
        font-size: calc(16 / 390 * 100vw);

        margin-top: calc(16 / 390 * 100vw);
    }
}

.bl_post-author-img, .wp-block-image.bl_post-author-img,
.bl_post-author-img, .wp-block-group.bl_post-author-img{
    width: min(calc(80 / 1440 * 100vw), 80px); 

    grid-area: img;
}

.bl_post-author-img img, .wp-block-image.bl_post-author-img img,
.bl_post-author-img img, .wp-block-group.bl_post-author-img img{
    display: block;

    width: 100%;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-author-name, .wp-block-paragraph.bl_post-author-name, p.bl_post-author-name{
    font-weight: bold;
    line-height: 1.4; 

    grid-area: name;
}

.bl_post-author-text, .wp-block-paragraph.bl_post-author-text, p.bl_post-author-text{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.5;

    grid-area: text;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-author-img, .wp-block-image.bl_post-author-img,
.bl_post-author-img, .wp-block-group.bl_post-author-img{
        width: calc(64 / 390 * 100vw);
    }

.bl_post-author-img img, .wp-block-image.bl_post-author-img img,
.bl_post-author-img img, .wp-block-group.bl_post-author-img img{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-author-text, .wp-block-paragraph.bl_post-author-text, p.bl_post-author-text{
        font-size: calc(16 / 390 * 100vw);

        width: 100%;
    }
}

/* --- セクション (bl_post-section) --- */

.bl_post-section, .wp-block-group.bl_post-section,
.bl_post-section, .wp-block-group.is-style-post-section{
    margin-top: min(calc(64 / 1440 * 100vw), 64px);
}

/* --- 2列グリッド (bl_post-2col) --- */

.bl_post-2col, .wp-block-group.bl_post-2col{
    display: grid;

    margin-top: min(calc(24 / 1440 * 100vw), 24px); 

    grid-template-columns: repeat(2, 1fr);
    gap: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-2col-item, .wp-block-group.bl_post-2col-item{
    overflow: hidden;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-2col-item img, .wp-block-group.bl_post-2col-item img{
    display: block;

    width: 100%;
}

/* --- 3列グリッド (bl_post-3col) --- */

.bl_post-3col, .wp-block-group.bl_post-3col{
    display: grid;

    margin-top: min(calc(24 / 1440 * 100vw), 24px); 

    grid-template-columns: repeat(3, 1fr);
    gap: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-3col-item, .wp-block-group.bl_post-3col-item{
    overflow: hidden;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.bl_post-3col-item img, .wp-block-group.bl_post-3col-item img{
    display: block;

    width: 100%;
}

/* --- テキスト＋画像レイアウト (bl_post-text_img_layout) --- */

.bl_post-text_img_layout, .wp-block-group.bl_post-text_img_layout{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: min(calc(24 / 1440 * 100vw), 24px); 

    -webkit-column-gap: min(calc(24 / 1440 * 100vw), 24px);
       -moz-column-gap: min(calc(24 / 1440 * 100vw), 24px);
            column-gap: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-text_img_layout-text, .wp-block-group.bl_post-text_img_layout-text{
    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}

.bl_post-text_img_layout-img, .wp-block-image.bl_post-text_img_layout-img{
    width: min(calc(265 / 1440 * 100vw), 265px);
}

.bl_post-text_img_layout-img img, .wp-block-image.bl_post-text_img_layout-img img{
    display: block;
    overflow: hidden;

    width: 100%;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

/* --- 求人案内ブロック (bl_post-recruit_info) --- */

.bl_post-recruit_info, .wp-block-group.bl_post-recruit_info{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    margin-top: min(calc(64 / 1440 * 100vw), 64px); 

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    row-gap: min(calc(24 / 1440 * 100vw), 24px);
}

.bl_post-recruit_info-company a, .wp-block-paragraph.bl_post-recruit_info-company a, p.bl_post-recruit_info-company a,
.bl_post-recruit_info-genre a, .wp-block-paragraph.bl_post-recruit_info-genre a, p.bl_post-recruit_info-genre a{
    font-size: min(calc(18 / 1440 * 100vw), 18px);
    font-weight: bold;
    line-height: 1.4;

    display: inline-block;

    text-align: center;
}

.bl_post-recruit_info-company a, .wp-block-paragraph.bl_post-recruit_info-company a, p.bl_post-recruit_info-company a{
    padding: min(calc(15.5 / 1440 * 100vw), 15.5px) min(calc(24 / 1440 * 100vw), 24px);

    color: #fff;
    border-radius: min(calc(8 / 1440 * 100vw), 8px); 
    background: #c03;
}

.bl_post-recruit_info-genre a, .wp-block-paragraph.bl_post-recruit_info-genre a, p.bl_post-recruit_info-genre a{
    padding: min(calc(15.5 / 1440 * 100vw), 15.5px) min(calc(24 / 1440 * 100vw), 24px);

    color: #c03;
    border: solid 1px #c03;
    border-radius: min(calc(8 / 1440 * 100vw), 8px); 
    background: #fff;
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */

@media only screen and (max-width: 767px)
 {
.bl_post-section, .wp-block-group.bl_post-section,
.bl_post-section, .wp-block-group.is-style-post-section{
        margin-top: calc(40 / 390 * 100vw);
    }

.bl_post-2col, .wp-block-group.bl_post-2col{
        margin-top: calc(16 / 390 * 100vw); 

        grid-template-columns: 1fr;
        gap: calc(16 / 390 * 100vw);
    }

.bl_post-2col-item, .wp-block-group.bl_post-2col-item{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-3col, .wp-block-group.bl_post-3col{
        margin-top: calc(16 / 390 * 100vw); 

        grid-template-columns: 1fr;
        gap: calc(16 / 390 * 100vw);
    }

.bl_post-3col-item, .wp-block-group.bl_post-3col-item{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-text_img_layout, .wp-block-group.bl_post-text_img_layout{
            flex-direction: column;

        margin-top: calc(24 / 390 * 100vw); 

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        row-gap: calc(24 / 390 * 100vw);
    }

.bl_post-text_img_layout-img, .wp-block-image.bl_post-text_img_layout-img{
        width: 100%;
    }

.bl_post-text_img_layout-img img, .wp-block-image.bl_post-text_img_layout-img img{
        border-radius: calc(8 / 390 * 100vw);
    }

.bl_post-recruit_info, .wp-block-group.bl_post-recruit_info{
        row-gap: calc(16 / 390 * 100vw);
        padding-inline: calc(24 / 390 * 100vw);
    }

.bl_post-recruit_info-company, .wp-block-paragraph.bl_post-recruit_info-company, p.bl_post-recruit_info-company,
.bl_post-recruit_info-genre, .wp-block-paragraph.bl_post-recruit_info-genre, p.bl_post-recruit_info-genre{
        width: 100%;
    }

.bl_post-recruit_info-company a, .wp-block-paragraph.bl_post-recruit_info-company a, p.bl_post-recruit_info-company a,
.bl_post-recruit_info-genre a, .wp-block-paragraph.bl_post-recruit_info-genre a, p.bl_post-recruit_info-genre a{
        font-size: calc(16 / 390 * 100vw);

        display: block;

        width: 100%;
        padding: calc(8 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);
    }
}
/* Button wrappers (Gutenberg uses div.wp-block-button instead of p.bl_post-btn_*) */
.wp-block-button.is-style-btn-red,
.wp-block-button.is-style-btn-red-arrow,
.wp-block-button.is-style-btn-red-newtab,
.wp-block-button.is-style-btn-white,
.wp-block-button.is-style-btn-white-arrow,
.wp-block-button.is-style-btn-white-newtab,
.wp-block-button.is-style-btn-gray,
.wp-block-button.is-style-btn-gray-arrow,
.wp-block-button.is-style-btn-gray-newtab,
.wp-block-button.is-style-btn-black,
.wp-block-button.is-style-btn-black-arrow,
.wp-block-button.is-style-btn-black-newtab,
.wp-block-button.is-style-btn-form,
.wp-block-button.is-style-btn-form-arrow {
    text-align: center;
}

.wp-block-button.is-style-btn-red .wp-block-button__link,
.wp-block-button.is-style-btn-red-arrow .wp-block-button__link,
.wp-block-button.is-style-btn-red-newtab .wp-block-button__link,
.wp-block-button.is-style-btn-white .wp-block-button__link,
.wp-block-button.is-style-btn-white-arrow .wp-block-button__link,
.wp-block-button.is-style-btn-white-newtab .wp-block-button__link,
.wp-block-button.is-style-btn-gray .wp-block-button__link,
.wp-block-button.is-style-btn-gray-arrow .wp-block-button__link,
.wp-block-button.is-style-btn-gray-newtab .wp-block-button__link,
.wp-block-button.is-style-btn-black .wp-block-button__link,
.wp-block-button.is-style-btn-black-arrow .wp-block-button__link,
.wp-block-button.is-style-btn-black-newtab .wp-block-button__link,
.wp-block-button.is-style-btn-form .wp-block-button__link,
.wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
    text-decoration: none;
}

/* WP theme defaults paint .wp-element-button dark; form buttons are white + red border */
.wp-block-button.is-style-btn-form .wp-block-button__link,
.wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
    background-color: #fff;
    background: #fff;
    color: #c03;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

/* Plain button colors (WP core .wp-element-button overrides btn.css + paired rules) */
.wp-block-button.is-style-btn-red .wp-block-button__link {
    color: #fff;
    background-color: #c03;
    background: #c03;
}

.wp-block-button.is-style-btn-white .wp-block-button__link {
    color: #c03;
    border: solid 1px #c03;
    background-color: #fff;
    background: #fff;
}

.wp-block-button.is-style-btn-gray .wp-block-button__link {
    color: #000;
    border: solid 1px #c4c4c4;
    background-color: #efefef;
    background: #efefef;
}

.wp-block-button.is-style-btn-black .wp-block-button__link {
    color: #fff;
    background-color: #282828;
    background: #282828;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-red .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-red-arrow .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-red-newtab .wp-block-button__link {
    color: #fff !important;
    background-color: #c03 !important;
    background: #c03 !important;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-white .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-white-arrow .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-white-newtab .wp-block-button__link {
    color: #c03 !important;
    border: solid 1px #c03 !important;
    background-color: #fff !important;
    background: #fff !important;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-gray .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link {
    color: #000 !important;
    border: solid 1px #c4c4c4 !important;
    background-color: #efefef !important;
    background: #efefef !important;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-black .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-black-arrow .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-black-newtab .wp-block-button__link {
    color: #fff !important;
    background-color: #282828 !important;
    background: #282828 !important;
}

/* Standalone form buttons: fit-content on desktop only (mobile width:100% from paired CSS) */
@media only screen and (min-width: 768px) {
    .wp-block-buttons.is-layout-flex > .wp-block-button.is-style-btn-form .wp-block-button__link,
    .wp-block-buttons.is-layout-flex > .wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
        width: fit-content;
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-buttons.is-layout-flex > .wp-block-button.is-style-btn-form,
    .wp-block-buttons.is-layout-flex > .wp-block-button.is-style-btn-form-arrow {
        width: 100%;
    }

    .wp-block-buttons.is-layout-flex > .wp-block-button.is-style-btn-form .wp-block-button__link,
    .wp-block-buttons.is-layout-flex > .wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
        width: 100%;
    }
}

/* Standalone buttons: each sits in its own wp-block-buttons flex row — don't stretch */
.wp-block-buttons.is-layout-flex {
    justify-content: center;
}

.wp-block-buttons.is-layout-flex > .wp-block-button[class*="is-style-btn"] {
    width: auto;
    flex: 0 0 auto;
}

/*
 * Editor-only pseudo icons. /assets/images/*.svg are <symbol> sprites (no paintable root),
 * so mask/background on those URLs is unreliable. Front uses render-block.php SVG injection.
 */
.editor-styles-wrapper {
    font-family: 'Noto Sans JP', 'Noto Sans', sans-serif;
    --hrgeeq-mask-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' d='M6.91 4.41a.75.75 0 0 1 1.06 0l5 5a.75.75 0 0 1 0 1.06l-5 5a.75.75 0 1 1-1.06-1.06L11.32 10 6.91 5.59a.75.75 0 0 1 0-1.18Z'/%3E%3C/svg%3E");
    --hrgeeq-mask-newtab: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23000' fill-rule='evenodd' d='M17.5 1.667a.833.833 0 0 1 .833.833v11.25a.833.833 0 0 1-.833.833h-2.917v2.917a.833.833 0 0 1-.833.833H2.5a.833.833 0 0 1-.833-.833V6.25a.833.833 0 0 1 .833-.833h2.917V2.5a.833.833 0 0 1 .833-.833h11.25ZM3.333 16.667h9.583V7.084H3.333V16.667Zm3.75-11.25h6.667a.833.833 0 0 1 .833.833v6.667h2.083V3.334H7.083V5.417Z' clip-rule='evenodd'/%3E%3C/svg%3E");
    /* 940px column − bl_inner padding 40px ×2 (post_parts parity) */
    --hrgeeq-editor-content-width: min(calc(860 / 1440 * 100vw), 860px);
}

.editor-styles-wrapper .wp-block-button.is-style-btn-red-arrow .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-btn-white-arrow .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-btn-gray-arrow .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-btn-black-arrow .wp-block-button__link::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 16px;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    pointer-events: none;
    background-color: currentColor;
    mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-red-newtab .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-btn-white-newtab .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-btn-gray-newtab .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-btn-black-newtab .wp-block-button__link::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 16px;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    pointer-events: none;
    background-color: currentColor;
    mask: var(--hrgeeq-mask-newtab) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-newtab) center / contain no-repeat;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-form-arrow .wp-block-button__link::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    right: 16px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    pointer-events: none;
    background-color: currentColor;
    mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    rotate: 0deg;
}

/*
 * WP 6+ group blocks insert __inner-container between the group and its children.
 * Grid/flex on .wp-block-group.bl_post-* only styles the outer shell (1 child) → columns stack.
 * Apply layout on the inner container (and merged wp-block-buttons wrapper if present).
 */
.wp-block-group.bl_post-2col,
.wp-block-group.bl_post-3col {
    display: block;
    margin-top: 0;
}

@media only screen and (min-width: 768px) {
    .wp-block-group.bl_post-2col > .wp-block-group__inner-container,
    .wp-block-group.bl_post-2col > .wp-block-group__inner-container > .wp-block-buttons {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: min(calc(24 / 1440 * 100vw), 24px);
        margin-top: min(calc(24 / 1440 * 100vw), 24px);
    }

    .wp-block-group.bl_post-3col > .wp-block-group__inner-container,
    .wp-block-group.bl_post-3col > .wp-block-group__inner-container > .wp-block-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        column-gap: min(calc(25 / 1440 * 100vw), 25px);
        row-gap: min(calc(25 / 1440 * 100vw), 25px);
        margin-top: min(calc(24 / 1440 * 100vw), 24px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-2col > .wp-block-group__inner-container,
    .wp-block-group.bl_post-2col > .wp-block-group__inner-container > .wp-block-buttons,
    .wp-block-group.bl_post-3col > .wp-block-group__inner-container,
    .wp-block-group.bl_post-3col > .wp-block-group__inner-container > .wp-block-buttons {
        display: flex;
        flex-direction: column;
        row-gap: calc(24 / 390 * 100vw);
        margin-top: calc(16 / 390 * 100vw);
    }
}

.wp-block-group.bl_post-2col .wp-block-button__link,
.wp-block-group.bl_post-3col .wp-block-button__link {
    box-sizing: border-box;
}

@media only screen and (min-width: 768px) {
    .wp-block-group.bl_post-2col .wp-block-button__link,
    .wp-block-group.bl_post-3col .wp-block-button__link {
        width: 100%;
        max-width: min(calc(418 / 1440 * 100vw), 418px);
        margin-inline: auto;
    }
}

/* Editor canvas is often <768px — keep multi-column patterns side-by-side in preview */
.editor-styles-wrapper .wp-block-group.bl_post-2col > .wp-block-group__inner-container,
.editor-styles-wrapper .wp-block-group.bl_post-2col > .wp-block-group__inner-container > .wp-block-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: 24px !important;
    justify-items: stretch !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-3col > .wp-block-group__inner-container,
.editor-styles-wrapper .wp-block-group.bl_post-3col > .wp-block-group__inner-container > .wp-block-buttons {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: 24px !important;
    justify-items: stretch !important;
}

/* Block editor defaults .wp-block-button to fit-content — stretch to grid cell like front */
.editor-styles-wrapper .wp-block-group.bl_post-2col > .wp-block-group__inner-container > .wp-block-button[class*="is-style-btn"],
.editor-styles-wrapper .wp-block-group.bl_post-3col > .wp-block-group__inner-container > .wp-block-button[class*="is-style-btn"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
}

.editor-styles-wrapper .wp-block-group.bl_post-2col .wp-block-button__link,
.editor-styles-wrapper .wp-block-group.bl_post-3col .wp-block-button__link {
    width: 100% !important;
    max-width: 418px;
    min-width: 0 !important;
    margin-inline: auto;
    box-sizing: border-box;
}

/*
 * Editor canvas is often <768px — paired mobile rules set width:100% on buttons.
 * Use fixed px + !important so standalone rows match front (240×56) in preview.
 */
.editor-styles-wrapper .wp-block-buttons.is-layout-flex {
    justify-content: center !important;
    width: 100%;
}

.editor-styles-wrapper .wp-block-buttons.is-layout-flex > .wp-block-button[class*="is-style-btn"] {
    width: auto !important;
    flex: 0 0 auto !important;
    max-width: 100%;
}

.editor-styles-wrapper .wp-block-button[class*="is-style-btn"] .wp-block-button__link {
    width: fit-content !important;
    min-width: 240px !important;
    min-height: 56px !important;
    max-width: 100%;
    margin-inline: auto !important;
    padding: 8px 24px !important;
    font-size: 16px !important;
    border-radius: 8px !important;
    box-sizing: border-box;
}

.editor-styles-wrapper .wp-block-button[class*="is-style-btn"][class*="-arrow"] .wp-block-button__link,
.editor-styles-wrapper .wp-block-button[class*="is-style-btn"][class*="-newtab"] .wp-block-button__link {
    padding-right: 48px !important;
    position: relative;
}

/* Form buttons: same 56px footprint as other btn styles in editor (not 20px vertical padding) */
.editor-styles-wrapper .wp-block-button.is-style-btn-form .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
    min-height: 56px !important;
    padding: 8px 30px !important;
    box-sizing: border-box;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
    padding-right: 46px !important;
}

/* Re-apply column layout after standalone overrides above */
.editor-styles-wrapper .wp-block-group.bl_post-2col > .wp-block-group__inner-container > .wp-block-button[class*="is-style-btn"],
.editor-styles-wrapper .wp-block-group.bl_post-3col > .wp-block-group__inner-container > .wp-block-button[class*="is-style-btn"] {
    width: 100% !important;
    max-width: 100% !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-2col .wp-block-button[class*="is-style-btn"] .wp-block-button__link,
.editor-styles-wrapper .wp-block-group.bl_post-3col .wp-block-button[class*="is-style-btn"] .wp-block-button__link {
    width: 100% !important;
    max-width: 418px;
    min-width: 0 !important;
    margin-inline: auto !important;
}

/* bl_post-figure_3col: WP grid on outer group; neutralize conflicting flex from .bl_post-3col pairing */
.wp-block-group.bl_post-figure_3col.is-layout-grid {
    display: grid !important;
}

@media only screen and (min-width: 768px) {
    .wp-block-group.bl_post-figure_3col.is-layout-grid {
        grid-template-columns: repeat(3, min(270px, calc(270 / 1440 * 100vw)));
        gap: min(25px, calc(25 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw));
        justify-content: center;
    }
}

/* B-06 figure-3col: images are direct grid children (caption style matches post_parts). */
.wp-block-group.bl_post-figure_3col > .wp-block-image figcaption {
    line-height: 1.5;
    text-align: center;
    color: #565656;
}

@media only screen and (min-width: 768px) {
    .wp-block-group.bl_post-figure_3col > .wp-block-image figcaption {
        font-size: min(calc(14 / 1440 * 100vw), 14px);
        margin-top: min(calc(8 / 1440 * 100vw), 8px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-figure_3col > .wp-block-image figcaption {
        font-size: calc(14 / 390 * 100vw);
        margin-top: calc(8 / 390 * 100vw);
    }
}

/* B-06 editor: InnerBlocks wrappers break grid — flatten so column blocks are grid items. */
.editor-styles-wrapper .wp-block-group.bl_post-figure_3col.is-layout-grid > .block-editor-inner-blocks,
.editor-styles-wrapper .wp-block-group.bl_post-figure_3col.is-layout-grid > .block-editor-inner-blocks > .block-editor-block-list__layout {
    display: contents !important;
}

@media only screen and (min-width: 768px) {
    .editor-styles-wrapper .wp-block-group.bl_post-figure_3col,
    .editor-styles-wrapper .wp-block-group.bl_post-figure_3col.is-layout-grid {
        justify-content: center !important;
    }
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col.is-layout-grid .block-editor-block-list__block {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
}

/* constrained 内側グループが灰色枠（content-size）になるのを防ぐ（旧パターン互換） */
.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-group.bl_post-figure_3col-item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-group.bl_post-figure_3col-item > .wp-block-group__inner-container,
.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-group.bl_post-figure_3col-item.is-layout-constrained > .wp-block-group__inner-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-group.bl_post-figure_3col-item::after {
    display: none !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-group.bl_post-figure_3col-item > .block-editor-inner-blocks,
.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-group.bl_post-figure_3col-item > .block-editor-inner-blocks > .block-editor-block-list__layout {
    display: contents !important;
}

/* 画像・リサイズ枠を列幅に揃える（hrgeeq-img-col なしの既存投稿も対象） */
.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-image {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    float: none !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-image figure {
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    float: none !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-image .components-resizable-box__container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    left: auto !important;
    transform: none !important;
    box-shadow: none !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin: 0 !important;
    float: none !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-figure_3col .wp-block-image img:not([src]) {
    display: none !important;
}

.editor-styles-wrapper .wp-block-button.is-style-btn-form .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-btn-form-arrow .wp-block-button__link {
    background-color: #fff !important;
    background: #fff !important;
    color: #c03;
}

/*
 * Company logo: post_parts uses height-bound scaling (not cover-crop).
 * Block library sets img { width:100% } which clips inside the fixed-height frame.
 */
.wp-block-image.is-style-company-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wp-block-image.is-style-company-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
    object-position: center;
}

@media only screen and (min-width: 768px) {
    .wp-block-image.is-style-company-logo img {
        height: 100%;
        width: auto;
    }
}

/* Editor preview */
.editor-styles-wrapper .wp-block-image.is-style-company-logo img {
    max-height: 180px;
    width: auto;
    margin-inline: auto;
    object-fit: contain;
}

.editor-styles-wrapper .wp-block-image.hrgeeq-img-col img {
    width: 100%;
    height: auto;
}

/*
 * Image corner radius — col-item groups use __inner-container; overflow on the group
 * alone does not clip images (post_parts uses border-radius on li / figure-img wrapper).
 */
.wp-block-group.bl_post-2col-item > .wp-block-group__inner-container > .wp-block-image,
.wp-block-group.bl_post-3col-item > .wp-block-group__inner-container > .wp-block-image,
.wp-block-group.bl_post-images-item > .wp-block-group__inner-container > .wp-block-image,
.wp-block-group.bl_post-figure_3col-item .wp-block-image {
    overflow: hidden;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-2col-item > .wp-block-group__inner-container > .wp-block-image,
    .wp-block-group.bl_post-3col-item > .wp-block-group__inner-container > .wp-block-image,
    .wp-block-group.bl_post-images-item > .wp-block-group__inner-container > .wp-block-image,
    .wp-block-group.bl_post-figure_3col-item .wp-block-image {
        border-radius: calc(8 / 390 * 100vw);
    }
}

/*
 * A-17 table: core/table ships has-fixed-layout; post_parts uses .bl_table row/head/data.
 * Front adds those classes in render-block.php; editor + fallbacks below.
 */
.wp-block-table {
    margin: 0;
    width: 100%;
}

.wp-block-table table {
    table-layout: auto;
}

.wp-block-table th {
    font-weight: 500;
    text-align: left;
    background: #f8f8f8;
    vertical-align: top;
}

.wp-block-table td {
    vertical-align: top;
}

@media only screen and (min-width: 768px) {
    .wp-block-table th {
        width: min(calc(151 / 1440 * 100vw), 151px);
    }
}

/*
 * Gutenberg wraps rows in <tbody> — without display:block on tbody, mobile stays 2-column.
 * post_parts mobile: each row stacks th (gray) above td (white).
 */
@media only screen and (max-width: 767px) {
    .bl_table tbody,
    .bl_table thead,
    .bl_table tfoot,
    .wp-block-table table tbody,
    .wp-block-table table thead,
    .wp-block-table table tfoot {
        display: block;
    }

    .wp-block-table th,
    .wp-block-table td,
    .bl_table-head,
    .bl_table-data {
        width: 100%;
        box-sizing: border-box;
    }
}

.bl_table-row:last-of-type .bl_table-data,
.wp-block-table tr:last-of-type td {
    border-bottom: none;
}

.editor-styles-wrapper .wp-block-table {
    margin-block: 0;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
    max-width: var(--wp--style--global--content-size, var(--hrgeeq-editor-content-width, 840px));
}

.editor-styles-wrapper .wp-block-table table {
    table-layout: auto;
}

@media only screen and (max-width: 767px) {
    .editor-styles-wrapper .wp-block-table table,
    .editor-styles-wrapper .wp-block-table table tbody,
    .editor-styles-wrapper .wp-block-table table thead,
    .editor-styles-wrapper .wp-block-table table tfoot,
    .editor-styles-wrapper .wp-block-table tr,
    .editor-styles-wrapper .wp-block-table th,
    .editor-styles-wrapper .wp-block-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
}

.editor-styles-wrapper .wp-block-table tr:last-of-type td {
    border-bottom: none;
}

/* Note list items need el_note on li content */
.wp-block-list.is-style-note li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/* Page-link list (post_parts parity for is-style-page-link) */
.wp-block-list.is-style-page-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: min(calc(40 / 1440 * 100vw), 40px);
    -moz-column-gap: min(calc(40 / 1440 * 100vw), 40px);
    column-gap: min(calc(40 / 1440 * 100vw), 40px);
    margin-block: min(calc(24 / 1440 * 100vw), 24px);
    padding: min(calc(16 / 1440 * 100vw), 16px);
    border: solid 1px #c4c4c4;
    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

.wp-block-list.is-style-page-link {
    list-style: none;
    margin-left: 0;
    counter-reset: none;
    box-sizing: border-box;
}

.wp-block-list.is-style-page-link > li {
    list-style: none;
}

.wp-block-list.is-style-page-link > li::before {
    content: none !important;
    display: none !important;
}

/*
 * C-01/C-02 tag lists: pill badges (border + text), not list markers.
 * WP default disc + color:#c03 on li reads as an extra red dot in the editor.
 */
.wp-block-list.bl_post-event_status-tag_list,
.wp-block-list.bl_post-detail_info-tag_list {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

.wp-block-list.bl_post-event_status-tag_list > li,
.wp-block-list.bl_post-detail_info-tag_list > li {
    list-style: none;
}

.wp-block-list.bl_post-event_status-tag_list > li::before,
.wp-block-list.bl_post-detail_info-tag_list > li::before {
    content: none !important;
    display: none !important;
}

.wp-block-list.is-style-page-link a {
    font-size: min(calc(16 / 1440 * 100vw), 16px);
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: min(calc(4 / 1440 * 100vw), 4px);
    color: #282828;
}

/*
 * Front arrow: render-block.php injects .bl_post-page_link-item-arrow (SVG).
 * Do not paint a::after on the front — mask var is editor-only, so it becomes a red square.
 */
.wp-block-list.is-style-page-link a::after {
    content: none;
    display: none;
}

/* Editor preview only (no render_block filter in iframe) */
.editor-styles-wrapper .wp-block-list.is-style-page-link a::after {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    background-color: #c03;
    mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    rotate: 90deg;
}

/* Border-link paragraph (A-07) — editor preview icons; front uses render-block.php */
.wp-block-paragraph.is-style-border-link a,
.wp-block-paragraph.is-style-border-link-external a,
p.is-style-border-link a,
p.is-style-border-link-external a {
    display: block;
    color: #000;
    text-decoration: none;
}

.wp-block-paragraph.is-style-border-link a::after,
.wp-block-paragraph.is-style-border-link-external a::after,
p.is-style-border-link a::after,
p.is-style-border-link-external a::after {
    content: none;
    display: none;
}

.editor-styles-wrapper .wp-block-paragraph.is-style-border-link a::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: min(calc(24 / 1440 * 100vw), 24px);
    width: min(calc(20 / 1440 * 100vw), 20px);
    height: min(calc(20 / 1440 * 100vw), 20px);
    translate: 0 -50%;
    pointer-events: none;
    background-color: #979797;
    mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
}

.editor-styles-wrapper .wp-block-paragraph.is-style-border-link-external a::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: min(calc(24 / 1440 * 100vw), 24px);
    width: min(calc(20 / 1440 * 100vw), 20px);
    height: min(calc(20 / 1440 * 100vw), 20px);
    translate: 0 -50%;
    pointer-events: none;
    background-color: #979797;
    mask: var(--hrgeeq-mask-newtab) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-newtab) center / contain no-repeat;
}

@media only screen and (max-width: 767px) {
    .editor-styles-wrapper .wp-block-paragraph.is-style-border-link a::after,
    .editor-styles-wrapper .wp-block-paragraph.is-style-border-link-external a::after {
        right: calc(16 / 390 * 100vw);
        width: calc(20 / 390 * 100vw);
        height: calc(20 / 390 * 100vw);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-list.is-style-page-link {
        flex-direction: column;
        align-items: flex-start;
        row-gap: calc(8 / 390 * 100vw);
        margin-block: calc(24 / 390 * 100vw);
        padding: calc(16 / 390 * 100vw);
        border-radius: calc(8 / 390 * 100vw);
    }

    .wp-block-list.is-style-page-link > li {
        width: 100%;
    }

    .wp-block-list.is-style-page-link a {
        width: 100%;
        justify-content: space-between;
        font-size: calc(16 / 390 * 100vw);
    }
}

/*
 * Editor canvas <768px — paired mobile page-link rules left-align items.
 * Keep desktop-like centered flex row in preview; reset WP list indent bleed.
 */
.editor-styles-wrapper ul.wp-block-list.is-style-page-link,
.editor-styles-wrapper .wp-block-list.is-style-page-link {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    column-gap: 24px !important;
    row-gap: 8px !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 24px auto !important;
    margin-inline: auto !important;
    padding: 16px !important;
    padding-inline-start: 16px !important;
    padding-inline-end: 16px !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    list-style: none !important;
    list-style-position: outside !important;
}

.editor-styles-wrapper .wp-block-list.is-style-page-link > li {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-inline-start: 0 !important;
    list-style: none !important;
}

.editor-styles-wrapper .wp-block-list.is-style-page-link a {
    justify-content: center !important;
    width: auto !important;
    font-size: 16px !important;
    column-gap: 4px !important;
}

/*
 * Phase 2+ C-group: __inner-container breaks flex/grid on pattern wrappers.
 * Mirror post_parts layout on the inner container (and direct children).
 */
.wp-block-group.bl_post-event_status,
.wp-block-group.bl_post-detail_info,
.wp-block-group.bl_post-recruit_info,
.wp-block-group.bl_post-acc,
.wp-block-group.bl_post-author {
    display: block;
}

/* Author editor wrapper: style.css / hrgeeq-editor.css target .bl_post-author on this node — reset outer box. */
.wp-block-group.bl_post-author {
    padding: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    gap: 0 !important;
    grid-template: none !important;
}

@media only screen and (min-width: 768px) {
    .wp-block-group.bl_post-event_status > .wp-block-group__inner-container {
        display: flex;
        align-items: center;
        column-gap: 1em;
        margin-bottom: min(calc(16 / 1440 * 100vw), 16px);
    }

    .wp-block-group.bl_post-detail_info > .wp-block-group__inner-container {
        display: flex;
        align-items: center;
    }

    .wp-block-group.bl_post-recruit_info > .wp-block-group__inner-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: min(calc(64 / 1440 * 100vw), 64px);
        row-gap: min(calc(24 / 1440 * 100vw), 24px);
    }

    .wp-block-group.bl_post-acc > .wp-block-group__inner-container {
        display: flex;
        flex-direction: column;
        row-gap: min(calc(16 / 1440 * 100vw), 16px);
    }

    .wp-block-group.bl_post-author > .wp-block-group__inner-container {
        display: grid;
        margin-top: min(calc(64 / 1440 * 100vw), 64px);
        padding: min(calc(24 / 1440 * 100vw), 24px);
        border: solid 1px #c4c4c4;
        border-radius: min(calc(8 / 1440 * 100vw), 8px);
        grid-template: 'img name' auto 'img text' auto / min(calc(80 / 1440 * 100vw), 80px) 1fr;
        align-items: center;
        column-gap: min(calc(24 / 1440 * 100vw), 24px);
        row-gap: min(calc(8 / 1440 * 100vw), 8px);
    }

    .wp-block-image.bl_post-author-img,
    .wp-block-group.bl_post-author-img {
        grid-area: img;
        width: min(calc(80 / 1440 * 100vw), 80px);
        margin: 0;
    }

    .wp-block-image.bl_post-author-img img,
    .wp-block-group.bl_post-author-img img {
        display: block;
        width: 100%;
        height: auto;
    }

    .wp-block-group.bl_post-author-img > .wp-block-group__inner-container {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
    }

    .wp-block-group.bl_post-author > .wp-block-group__inner-container > .bl_post-author-name,
    .wp-block-group.bl_post-author > .wp-block-group__inner-container > p.bl_post-author-name {
        grid-area: name;
    }

    .wp-block-group.bl_post-author > .wp-block-group__inner-container > .bl_post-author-text,
    .wp-block-group.bl_post-author > .wp-block-group__inner-container > p.bl_post-author-text {
        grid-area: text;
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-event_status > .wp-block-group__inner-container {
        display: grid;
        margin-bottom: calc(16 / 390 * 100vw);
        grid-template: 'deadline open' auto 'tag_list tag_list' auto / 1fr 1fr;
        row-gap: calc(8 / 390 * 100vw);
    }

    .wp-block-group.bl_post-detail_info > .wp-block-group__inner-container {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .wp-block-group.bl_post-recruit_info > .wp-block-group__inner-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: calc(16 / 390 * 100vw);
        padding-inline: calc(24 / 390 * 100vw);
    }

    .wp-block-group.bl_post-author > .wp-block-group__inner-container {
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: calc(16 / 390 * 100vw);
        padding: calc(24 / 390 * 100vw);
        border: solid 1px #c4c4c4;
        border-radius: calc(8 / 390 * 100vw);
        margin-inline: calc(24 / 390 * 100vw);
        text-align: left;
    }

    .wp-block-image.bl_post-author-img,
    .wp-block-group.bl_post-author-img {
        flex: 0 0 calc(64 / 390 * 100vw);
        width: calc(64 / 390 * 100vw);
        max-width: calc(64 / 390 * 100vw);
        flex-shrink: 0;
        margin: 0 !important;
    }

    .wp-block-group.bl_post-author-img > .wp-block-group__inner-container {
        margin: 0 !important;
        padding: 0 !important;
        max-width: none !important;
    }

    .wp-block-group.bl_post-author-img .wp-block-image,
    .wp-block-image.bl_post-author-img {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: none !important;
    }

    .wp-block-image.bl_post-author-img img,
    .wp-block-group.bl_post-author-img img {
        display: block;
        width: 100%;
        height: auto;
    }

    .wp-block-group.bl_post-author > .wp-block-group__inner-container > .bl_post-author-name,
    .wp-block-group.bl_post-author > .wp-block-group__inner-container > p.bl_post-author-name {
        flex: 1 1 auto;
        min-width: 0;
        margin: 0 !important;
        max-width: none !important;
    }

    .wp-block-group.bl_post-author > .wp-block-group__inner-container > .bl_post-author-text,
    .wp-block-group.bl_post-author > .wp-block-group__inner-container > p.bl_post-author-text {
        flex-basis: 100%;
        width: 100%;
        margin: 0 !important;
        max-width: none !important;
    }

    .wp-block-group.bl_post-acc > .wp-block-group__inner-container {
        display: flex;
        flex-direction: column;
        row-gap: calc(16 / 390 * 100vw);
    }
}

/*
 * Spacing parity: combinator / inner-container rules not covered by auto-pairing.
 * post_parts uses .bl_post .el_text + .el_text and flex on .bl_post-text_img_layout directly.
 */
.wp-block-paragraph.el_text + .wp-block-paragraph.el_text,
.wp-block-paragraph.is-style-hr-standard + .wp-block-paragraph.is-style-hr-standard,
.wp-block-paragraph:not(.is-style-entry):not(.is-style-close):not(.is-style-border-link):not(.is-style-border-link-external)
    + .wp-block-paragraph:not(.is-style-entry):not(.is-style-close):not(.is-style-border-link):not(.is-style-border-link-external) {
    margin-top: 1lh;
}

.wp-block-group.bl_post-text_img_layout {
    display: block;
}

.wp-block-group.bl_post-text_img_layout > .wp-block-group__inner-container {
    display: flex;
    margin-top: min(calc(24 / 1440 * 100vw), 24px);
    column-gap: min(calc(24 / 1440 * 100vw), 24px);
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-text_img_layout > .wp-block-group__inner-container {
        flex-direction: column;
        row-gap: calc(24 / 390 * 100vw);
        margin-top: calc(24 / 390 * 100vw);
    }

    .wp-block-group.bl_post-text_img_layout > .wp-block-group__inner-container > .wp-block-group.bl_post-text_img_layout-text,
    .wp-block-group.bl_post-text_img_layout > .wp-block-group__inner-container > .wp-block-image.bl_post-text_img_layout-img {
        width: 100%;
    }
}

/* h2 + layout pattern: outer group margin-top is on inner-container (avoid double gap). */
.wp-block-group.bl_post-text_img_layout {
    margin-top: 0;
}

/* Section pattern / group style post-section: margin-top on wrapper; children in __inner-container. */
.wp-block-group.bl_post-section,
.wp-block-group.is-style-post-section,
section.wp-block-group.bl_post-section {
    display: block;
}

.wp-block-group.bl_post-section > .wp-block-group__inner-container > *:first-child,
.wp-block-group.is-style-post-section > .wp-block-group__inner-container > *:first-child,
section.wp-block-group.bl_post-section > .wp-block-group__inner-container > *:first-child {
    margin-top: 0;
}

/* Badge / overview titles: style.css scopes some rules under .bl_post */
.wp-block-heading.el_article_title .el_article_title-overview {
    font-weight: 500;
    display: block;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title .el_article_title-overview {
        font-size: min(calc(24 / 1440 * 100vw), 24px);
    }

    .wp-block-heading.el_article_title.el_article_title__with_badge {
        display: flex;
        align-items: baseline;
        column-gap: min(calc(8 / 1440 * 100vw), 8px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-heading.el_article_title .el_article_title-overview {
        font-size: calc(24 / 390 * 100vw);
    }

    .wp-block-heading.el_article_title.el_article_title__with_badge {
        display: flex;
        flex-direction: column;
        row-gap: calc(8 / 390 * 100vw);
    }
}

.wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-badge {
    font-weight: 500;
    display: flex;
    align-items: baseline;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-badge {
        translate: 0 -20%;
    }
}

.wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-badge-text {
    line-height: 1.4;
    color: #fff;
    background: #282828;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-badge-text {
        font-size: min(calc(14 / 1440 * 100vw), 14px);
        padding: min(calc(3 / 1440 * 100vw), 3px) min(calc(8 / 1440 * 100vw), 8px) min(calc(5 / 1440 * 100vw), 5px);
        border-radius: min(calc(4 / 1440 * 100vw), 4px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-badge-text {
        font-size: calc(12 / 390 * 100vw);
        padding: calc(3.5 / 390 * 100vw) calc(6 / 390 * 100vw);
        border-radius: calc(4 / 390 * 100vw);
    }
}

.wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-text {
    font-weight: bold;
    line-height: 1.8;
    flex: 1;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-text {
        font-size: min(calc(26 / 1440 * 100vw), 26px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-text {
        font-size: calc(24 / 390 * 100vw);
    }
}

/* Editor: badge pill — WP theme link/heading colors must not override post_parts. */
.editor-styles-wrapper .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-badge-text {
    color: #fff !important;
    background: #282828 !important;
    font-size: 14px;
    padding: 3px 8px 5px;
    border-radius: 4px;
}

.editor-styles-wrapper .wp-block-heading.el_article_title.el_article_title__with_badge .el_article_title-text {
    font-weight: bold;
    font-size: 26px;
    line-height: 1.8;
    color: #222;
}

/* C-04 overview heading: title h1 + overview paragraph (native WP placeholders). */
.wp-block-heading.el_article_title .el_article_title-overview,
p.el_article_title-overview,
.wp-block-paragraph.el_article_title-overview {
    font-weight: 500;
    display: block;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title .el_article_title-overview,
    p.el_article_title-overview,
    .wp-block-paragraph.el_article_title-overview {
        font-size: min(calc(24 / 1440 * 100vw), 24px);
    }

    .wp-block-heading.el_article_title:has(+ p.el_article_title-overview),
    .wp-block-heading.el_article_title:has(+ .wp-block-paragraph.el_article_title-overview) {
        margin-bottom: 0;
    }

    p.el_article_title-overview,
    .wp-block-paragraph.el_article_title-overview {
        margin-top: 0;
        margin-bottom: min(calc(16 / 1440 * 100vw), 16px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-heading.el_article_title .el_article_title-overview,
    p.el_article_title-overview,
    .wp-block-paragraph.el_article_title-overview {
        font-size: calc(24 / 390 * 100vw);
    }

    .wp-block-heading.el_article_title:has(+ p.el_article_title-overview),
    .wp-block-heading.el_article_title:has(+ .wp-block-paragraph.el_article_title-overview) {
        margin-bottom: 0;
    }

    p.el_article_title-overview,
    .wp-block-paragraph.el_article_title-overview {
        margin-top: 0;
        margin-bottom: calc(40 / 390 * 100vw);
    }
}

.editor-styles-wrapper .wp-block-heading.el_article_title:has(+ p.el_article_title-overview),
.editor-styles-wrapper .wp-block-heading.el_article_title:has(+ .wp-block-paragraph.el_article_title-overview) {
    margin-bottom: 0 !important;
}

.editor-styles-wrapper p.el_article_title-overview,
.editor-styles-wrapper .wp-block-paragraph.el_article_title-overview {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    font-weight: 500 !important;
    font-size: 24px !important;
    line-height: 1.8 !important;
    color: #222 !important;
}

/*
 * .el_article_title on h2–h6: editor level picker must not switch to section/sub styles.
 * Placed after h2/h3 default bridge rules (higher class specificity on ::before).
 */
.wp-block-heading.el_article_title {
    font-weight: bold;
    line-height: 1.8;
    position: relative;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title {
        font-size: min(calc(26 / 1440 * 100vw), 26px);
        margin-bottom: min(calc(16 / 1440 * 100vw), 16px);
        padding-top: min(calc(16 / 1440 * 100vw), 16px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-heading.el_article_title {
        font-size: calc(24 / 390 * 100vw);
        margin-bottom: calc(40 / 390 * 100vw);
        padding-top: calc(16 / 390 * 100vw);
    }
}

.wp-block-heading.el_article_title::before {
    top: 0;
    left: 0;
    width: 100%;
    background: #000;
}

.wp-block-heading.el_article_title::after {
    background: #c03;
}

@media only screen and (min-width: 768px) {
    .wp-block-heading.el_article_title::before,
    .wp-block-heading.el_article_title::after {
        height: min(calc(4 / 1440 * 100vw), 4px);
    }

    .wp-block-heading.el_article_title::after {
        width: min(calc(80 / 1440 * 100vw), 80px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-heading.el_article_title::before,
    .wp-block-heading.el_article_title::after {
        height: calc(4 / 390 * 100vw);
    }

    .wp-block-heading.el_article_title::after {
        width: calc(80 / 390 * 100vw);
    }
}

.editor-styles-wrapper .wp-block-heading.el_article_title {
    font-weight: bold;
    font-size: 26px;
    line-height: 1.8;
    color: #222;
}

/*
 * Accordion body: Gutenberg puts __inner-container between body_wrap and body_inner.
 * grid-template-rows:0fr only collapses the direct child — it needs overflow:hidden.
 */
.wp-block-group.bl_post-acc-body_wrap > .wp-block-group__inner-container {
    overflow: hidden;
    min-height: 0;
}

/* bridge 0fr が style.css の .is_active より後に当たるため、開状態を明示 */
.wp-block-group.bl_post-acc-body_wrap.is_active {
    grid-template-rows: 1fr;
}

/* Editor: keep accordion body visible while editing */
.editor-styles-wrapper .wp-block-group.bl_post-acc-body_wrap {
    grid-template-rows: 1fr;
}

/* Accordion head: WP heading margins + editor arrow preview */
h3.wp-block-heading.bl_post-acc-head {
    margin: 0;
    max-width: none;
}

.editor-styles-wrapper h3.wp-block-heading.bl_post-acc-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

.editor-styles-wrapper h3.wp-block-heading.bl_post-acc-head::after {
    content: '';
    display: block;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    -webkit-mask: var(--hrgeeq-mask-arrow) center / contain no-repeat;
    rotate: 90deg;
}

/*
 * Interview Q&A: speaker name on its own paragraph (class bl_post-interview-text-name)
 * so Gutenberg does not strip inner spans on edit. Name + answer render inline via CSS.
 */
.bl_post-interview-block,
.wp-block-group.bl_post-interview-block {
    margin-bottom: min(calc(24 / 1440 * 100vw), 24px);
}

@media only screen and (max-width: 767px) {
    .bl_post-interview-block,
    .wp-block-group.bl_post-interview-block {
        margin-bottom: calc(16 / 390 * 100vw);
    }
}

.wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text-name,
.wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text,
.wp-block-group.bl_post-interview-answer p.bl_post-interview-text-name,
.wp-block-group.bl_post-interview-answer p.bl_post-interview-text {
    display: inline;
    margin-top: 0;
    margin-bottom: 0;
}

.wp-block-group.bl_post-interview-answer {
    margin-top: min(calc(16 / 1440 * 100vw), 16px);
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-interview-answer {
        margin-top: calc(16 / 390 * 100vw);
    }
}

.wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text-name,
.wp-block-group.bl_post-interview-answer p.bl_post-interview-text-name {
    font-weight: bold;
}

/* Name was inside .bl_post-interview-text in post_parts — match answer font-size on both breakpoints. */
@media only screen and (min-width: 768px) {
    .wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text-name,
    .wp-block-group.bl_post-interview-answer p.bl_post-interview-text-name {
        font-size: min(calc(16 / 1440 * 100vw), 16px);
    }
}

@media only screen and (max-width: 767px) {
    .wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text-name,
    .wp-block-group.bl_post-interview-answer p.bl_post-interview-text-name {
        font-size: calc(16 / 390 * 100vw);
    }
}

/* Colon separator — not editable (CSS only, between name and answer). */
.wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text-name::after,
.wp-block-group.bl_post-interview-answer p.bl_post-interview-text-name::after {
    content: "：";
    font-weight: bold;
}

.editor-styles-wrapper .wp-block-group.bl_post-interview-block {
    margin-bottom: 16px;
    padding: 12px;
    border: 1px dashed #c4c4c4;
    border-radius: 4px;
}

.editor-styles-wrapper h4.wp-block-heading.bl_post-interview-title,
.editor-styles-wrapper p.bl_post-interview-title,
.editor-styles-wrapper .wp-block-paragraph.bl_post-interview-text,
.editor-styles-wrapper .wp-block-paragraph.bl_post-interview-text-name {
    color: #1e1e1e;
    font-size: 16px !important;
    line-height: 1.6;
}

.editor-styles-wrapper h4.wp-block-heading.bl_post-interview-title,
.editor-styles-wrapper p.bl_post-interview-title {
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 12px;
}

.editor-styles-wrapper .wp-block-group.bl_post-interview-answer {
    margin-top: 12px;
    padding: 8px 0 0;
    border-top: 1px dashed #e8e8e8;
}

.editor-styles-wrapper .wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text-name,
.editor-styles-wrapper .wp-block-group.bl_post-interview-answer .wp-block-paragraph.bl_post-interview-text {
    margin-top: 0 !important;
}

.editor-styles-wrapper h4.wp-block-heading.bl_post-interview-title {
    margin: 0;
    max-width: none;
}

/* Author: editor preview (img + name row, text below). Fixed px — avoid double box from hrgeeq-editor.css on outer group. */
.editor-styles-wrapper .wp-block-group.bl_post-author {
    padding: 0 !important;
    margin-block: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
    max-width: var(--wp--style--global--content-size, var(--hrgeeq-editor-content-width, 840px));
    border: none !important;
    border-radius: 0 !important;
}

.editor-styles-wrapper .wp-block-group.bl_post-author > .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: none;
    margin-top: 64px;
    margin-inline: 0;
    padding: 24px;
    border: solid 1px #c4c4c4;
    border-radius: 8px;
    text-align: left;
    box-sizing: border-box;
}

.editor-styles-wrapper .wp-block-image.bl_post-author-img,
.editor-styles-wrapper .wp-block-group.bl_post-author-img {
    width: 64px;
    margin: 0;
    flex-shrink: 0;
}

.editor-styles-wrapper .wp-block-group.bl_post-author > .wp-block-group__inner-container > .bl_post-author-name,
.editor-styles-wrapper .wp-block-group.bl_post-author > .wp-block-group__inner-container > p.bl_post-author-name {
    flex: 1 1 auto;
    min-width: 0;
}

.editor-styles-wrapper .wp-block-group.bl_post-author > .wp-block-group__inner-container > .bl_post-author-text,
.editor-styles-wrapper .wp-block-group.bl_post-author > .wp-block-group__inner-container > p.bl_post-author-text {
    flex-basis: 100%;
    width: 100%;
}
