@charset 'UTF-8';
/* ==========================================
   テキスト・見出し系コンポーネント
   ========================================== */
/* 20260703 s */
.bl_page_title
{
    margin-bottom: min(calc(40 / 1440 * 100vw), 40px); 

    border-bottom: solid 1px #c4c4c4;
}

/* 20260703 e */
/* 20260706 s */
.bl_page_title + [class~='ly_column'][class*='un_']
{
    padding-top: 0;

    border-top: none;
}

/* 20260706 e */
/* --- イベント/記事ステータス (bl_post-event_status) --- */
.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
{
    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
{
    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
{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    color: #565656;
}

/* --- 記事詳細情報 (bl_post-detail_info) --- */
.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
{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.4;

    color: #565656;
}
.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
{
    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
{
    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
{
    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
{
    width: 100%; 

    background: #000;
}
.el_article_title::after
{
    width: min(calc(80 / 1440 * 100vw), 80px); 

    background: #c03;
}
.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);
}
.el_article_title__with_badge
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -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);
}
.el_article_title-badge
{
    -ms-flex-negative: 0;
    flex-shrink: 0;
    translate: 0 -10%;
}
.el_article_title-badge-text
{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    line-height: 1.4;

    display: inline-block;

    padding: min(calc(3 / 1440 * 100vw), 3px) min(calc(8 / 1440 * 100vw), 8px) min(calc(5 / 1440 * 100vw), 5px);

    color: #fff;
    border-radius: min(calc(4 / 1440 * 100vw), 4px); 
    background: #282828;
}
.el_article_title-text
{
    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}

/* --- セクション見出しH2 (el_article_section_title) --- */
.el_article_section_title
{
    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
{
    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;
}

.un_offer_article_detail-form-title.el_article_section_title::before
{
    left: 50%;

    translate: -50% 0;
}

/* --- セクション見出しH3 (el_article_section_title_sub) --- */
.el_article_section_title_sub
{
    font-size: min(calc(20 / 1440 * 100vw), 20px); 
    font-weight: bold;
    line-height: 1.8;
}

.bl_post .el_article_section_title_sub
{
    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
{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    font-weight: bold;
    line-height: 1.65;
}

.bl_post .el_article_section_title_sub_interlor
{
    margin-block: min(calc(24 / 1440 * 100vw), 24px) min(calc(16 / 1440 * 100vw), 16px);
}

/* --- 本文テキスト (el_text) --- */
.el_text
{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.8;
}

.bl_post .el_text + .el_text
{
    margin-top: 1lh;
}

/* --- 注釈テキスト (el_note) --- */
.el_note
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.el_note::before
{
    content: '※';

    -ms-flex-negative: 0;
    flex-shrink: 0;
}

/* --- エントリー受付テキスト (bl_post-entry_text) --- */
.bl_post-entry_text
{
    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
{
    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
{
    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
{
    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
{
    font-size: min(calc(16 / 1440 * 100vw), 16px); 
    line-height: 1.8;
}

/* --- ボーダーリンク (bl_post-border_link) --- */
.bl_post-border_link
{
    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
{
    color: #000;
}
.bl_post-border_link-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
{
    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)
{
    /* 20260703 s */
    .bl_page_title
    {
        margin-bottom: 0; 

        border-bottom: none;
    }
    /* 20260703 e */
    /* イベントステータス */
    .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
    {
        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
    {
        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
    {
        font-size: calc(14 / 390 * 100vw);
    }
    .bl_post-event_status-date.bl_post-event_status-date__deadline
    {
        grid-area: deadline;
    }
    .bl_post-event_status-date.bl_post-event_status-date__open
    {
        grid-area: open;
    }
    /* 記事詳細情報 */
    .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
    {
        font-size: calc(14 / 390 * 100vw);
    }
    .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
    {
        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
    {
        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
    {
        height: calc(4 / 390 * 100vw);
    }
    .el_article_title::after
    {
        width: calc(80 / 390 * 100vw);
    }
    .el_article_title-overview
    {
        font-size: calc(24 / 390 * 100vw);
        line-height: 1.8;

        margin-top: calc(8 / 390 * 100vw);
    }
    .el_article_title__with_badge
    {
            flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        row-gap: calc(8 / 390 * 100vw);
    }
    .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);
    }
    /* セクション見出しH2 */
    .el_article_section_title
    {
        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
    {
        width: calc(40 / 390 * 100vw);
        height: calc(4 / 390 * 100vw);
    }
    /* セクション見出しH3 */
    .el_article_section_title_sub
    {
        font-size: calc(20 / 390 * 100vw);
    }
    .bl_post .el_article_section_title_sub
    {
        margin-block: min(calc(16 / 1440 * 100vw), 16px) calc(8 / 390 * 100vw);
    }
    /* セクション見出しH4 */
    .el_article_section_title_sub_interlor
    {
        font-size: calc(16 / 390 * 100vw);
    }
    .bl_post .el_article_section_title_sub_interlor
    {
        margin-block: calc(16 / 390 * 100vw) calc(8 / 390 * 100vw);
    }
    /* 本文テキスト */
    .el_text
    {
        font-size: calc(16 / 390 * 100vw);
    }
    /* エントリー受付テキスト */
    .bl_post-entry_text
    {
        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
    {
        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
    {
        margin-top: calc(8 / 390 * 100vw); 
        padding: calc(16 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);
    }
    .bl_post-comment-title
    {
        font-size: calc(16 / 390 * 100vw);

        margin-bottom: calc(4 / 390 * 100vw);
    }
    .bl_post-comment-text
    {
        font-size: calc(16 / 390 * 100vw);
    }
    /* ボーダーリンク */
    .bl_post-border_link
    {
        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
    {
        right: calc(16 / 390 * 100vw);

        width: calc(20 / 390 * 100vw);
    }
    /* お問い合わせテキスト */
    .bl_post-contact_text-email
    {
        text-underline-offset: calc(3 / 390 * 100vw);
    }
}
