@charset 'UTF-8';
/* ==========================================
   レイアウトコンポーネント
   ========================================== */
/* --- メインコンテンツ (ly_main) --- */
/* 20260703 s 削除 .ly_main */
/* 20260703 s */
/* 260630 s */
.bl_page_title + .ly_main
{
    margin-top: 0;
}

/* 260630 e */
/* --- 記事コンテンツラッパー (bl_post) --- */
.bl_post
{
    background: #fff;

    padding-block: min(calc(40 / 1440 * 100vw), 40px);
}

/* --- セクション (bl_post-section) --- */
.bl_post-section
{
    margin-top: min(calc(64 / 1440 * 100vw), 64px);
}

/* --- 2列グリッド (bl_post-2col) --- */
.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
{
    overflow: hidden;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}
.bl_post-2col-item img
{
    display: block;

    width: 100%;
}

/* --- 3列グリッド (bl_post-3col) --- */
.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
{
    overflow: hidden;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}
.bl_post-3col-item img
{
    display: block;

    width: 100%;
}

/* --- テキスト＋画像レイアウト (bl_post-text_img_layout) --- */
.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
{
    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}
.bl_post-text_img_layout-img
{
    width: min(calc(265 / 1440 * 100vw), 265px);
}
.bl_post-text_img_layout-img img
{
    display: block;
    overflow: hidden;

    width: 100%;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

/* --- メッセージセクション (bl_post-message) --- */
.bl_post-message-section
{
    margin-top: min(calc(24 / 1440 * 100vw), 24px);
}
.bl_post-message-section-link_list
{
    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(16 / 1440 * 100vw), 16px);
}
.bl_post-message-section-link_list-item-link
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: min(calc(16 / 1440 * 100vw), 16px) min(calc(24 / 1440 * 100vw), 24px);

    border: solid 1px #979797;
    border-radius: min(calc(8 / 1440 * 100vw), 8px); 

    -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-message-section-link_list-item-text
{
    font-size: min(calc(14 / 1440 * 100vw), 14px);
    line-height: 1.71429; 

    color: #000;

    -webkit-box-flex: 1;
    -ms-flex: 1;
        flex: 1;
}
.bl_post-message-section-link_list-item-arrow
{
    width: min(calc(20 / 1440 * 100vw), 20px); 

    color: #979797;

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

/* --- 求人案内ブロック (bl_post-recruit_info) --- */
.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,
.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
{
    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
{
    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;
}

/* --- 汎用ボタン要素 (el_btn) --- */
.el_btn
{
    font-size: min(calc(18 / 1440 * 100vw), 18px);
    font-weight: bold;
    line-height: 1.4;

    display: inline-block;

    padding: min(calc(15.5 / 1440 * 100vw), 15.5px) min(calc(24 / 1440 * 100vw), 24px);

    text-align: center;

    border-radius: min(calc(8 / 1440 * 100vw), 8px);
}

/* --- 送信ボタン中央寄せ (bl_form_contents-btn) --- */
.bl_form_contents-btn
{
    display: block;
}

/* --- 応募方法セクション修飾 (bl_post-howto) --- */
/* --- フォームセクション (#form) --- */
#form
{
    margin-top: min(calc(40 / 1440 * 100vw), 40px);

    background: #fff;

    padding-block: min(calc(40 / 1440 * 100vw), 40px);
}
#form .el_article_section_title
{
    text-align: center;
}
#form .el_article_section_title::before
{
    left: 50%;

    translate: -50% 0;
}
#form > div
{
    margin-top: min(calc(24 / 1440 * 100vw), 24px);
}

/* ==========================================
   レスポンシブ（SP）
   ========================================== */
@media only screen and (max-width: 767px)
{
    /* メインコンテンツ */
    /* 20260703 s 削除 .ly_main */
    /* 20260703 e */
    /* 260630 s */
    .bl_page_title + .ly_main
    {
        margin-top: 0;
    }
    /* 260630 e */
    /* 記事コンテンツラッパー */
    .bl_post
    {
        overflow: hidden; 

        padding: calc(24 / 390 * 100vw);
    }
    /* 260630 s */
    .bl_section_radius
    {
        border-radius: 0;
    }
    /* 260630 e */
    /* セクション */
    .bl_post-section
    {
        margin-top: calc(40 / 390 * 100vw);
    }
    /* 2列グリッド */
    .bl_post-2col
    {
        margin-top: calc(16 / 390 * 100vw); 

        grid-template-columns: 1fr;
        gap: calc(16 / 390 * 100vw);
    }
    .bl_post-2col-item
    {
        border-radius: calc(8 / 390 * 100vw);
    }
    /* 3列グリッド */
    .bl_post-3col
    {
        margin-top: calc(16 / 390 * 100vw); 

        grid-template-columns: 1fr;
        gap: calc(16 / 390 * 100vw);
    }
    .bl_post-3col-item
    {
        border-radius: calc(8 / 390 * 100vw);
    }
    /* テキスト＋画像レイアウト */
    .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
    {
        width: 100%;
    }
    .bl_post-text_img_layout-img img
    {
        border-radius: calc(8 / 390 * 100vw);
    }
    /* メッセージセクション */
    .bl_post-message-section
    {
        margin-top: calc(16 / 390 * 100vw);
    }
    .bl_post-message-section-link_list
    {
        margin-top: calc(16 / 390 * 100vw); 

        row-gap: calc(16 / 390 * 100vw);
    }
    .bl_post-message-section-link_list-item-link
    {
        padding: calc(16 / 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-message-section-link_list-item-text
    {
        font-size: calc(14 / 390 * 100vw);
    }
    .bl_post-message-section-link_list-item-arrow
    {
        width: calc(20 / 390 * 100vw);
    }
    /* 求人案内ブロック */
    .bl_post-recruit_info
    {
        row-gap: calc(16 / 390 * 100vw);
        padding-inline: calc(24 / 390 * 100vw);
    }
    .bl_post-recruit_info-company,
    .bl_post-recruit_info-genre
    {
        width: 100%;
    }
    .bl_post-recruit_info-company a,
    .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);
    }
    /* 汎用ボタン要素 */
    .el_btn
    {
        font-size: calc(16 / 390 * 100vw);

        padding: calc(8 / 390 * 100vw) calc(24 / 390 * 100vw);

        border-radius: calc(8 / 390 * 100vw);
    }
    /* フォームセクション */
    #form
    {
        margin-top: calc(40 / 390 * 100vw);
        padding: calc(24 / 390 * 100vw);
    }
    #form > div
    {
        margin-top: calc(24 / 390 * 100vw);
    }
}
