@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ========================================
   湘南EMI企画｜求人詳細ページ
   ======================================== */

/* =========================================
   湘南EMI企画｜求人詳細ページ
   ========================================= */

/* セクション全体 */
.single-job .emi-job-section {
    margin: 45px 0;
    padding: 0 28px 30px;
    background: #ffffff;
    border-radius: 0;
    overflow: hidden;
}

.single-job .emi-job-section h2 {
    background: #fafcfc !important;
}

/* 「基本情報」などの見出し */
.single-job .emi-job-section h2 {
    margin: 0 -28px 15px !important;
    padding: 12px 28px !important;
    background: #f7f9f9 !important;
    color: #245c6b !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    border-left: 5px solid #6fb9c5 !important;
}

/* SWELLの見出し装飾を完全に解除 */
.single-job .emi-job-section h2::before,
.single-job .emi-job-section h2::after {
    display: none !important;
    content: none !important;
}

/* 項目1行 */
.single-job .emi-job-section .emi-job-item {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: center;
    min-height: 66px;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #e2e2e2 !important;
}

/* 項目名 */
.single-job .emi-job-section .emi-job-item h3 {
    position: relative;
    margin: 0 !important;
    padding: 12px 24px 12px 18px !important;
    color: #245c6b !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.5;
    background: transparent !important;
    border: none !important;
    border-left: 5px solid #6fb9c5 !important;
    border-right: 1px solid #e3e3e3 !important;
}

/* SWELLのh3装飾を完全に解除 */
.single-job .emi-job-section .emi-job-item h3::before,
.single-job .emi-job-section .emi-job-item h3::after {
    display: none !important;
    content: none !important;
}

/* 内容 */
.single-job .emi-job-section .emi-job-value {
    margin: 0 !important;
    padding: 12px 24px !important;
    color: #333 !important;
    font-size: 17px !important;
    line-height: 1.9;
    background: transparent !important;
}

/* =========================================
   タクソノミー
   ========================================= */

.single-job .emi-job-taxonomy {
    margin: 0 0 20px;
    padding: 18px 24px;
    background: #f7f9f9;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
}

.single-job .emi-job-taxonomy strong {
    display: block;
    margin-bottom: 10px;
    color: #245c6b;
    font-size: 16px;
}

.single-job .emi-job-taxonomy-terms {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.single-job .emi-job-taxonomy-terms span {
    display: inline-block;
    padding: 6px 14px;
    background: #fff;
    color: #245c6b;
    border: 1px solid #6fb9c5;
    border-radius: 3px;
    font-size: 14px;
}

/* =========================================
   スマホ
   ========================================= */

@media (max-width: 767px) {

    .single-job .emi-job-section {
        margin: 35px 0;
        padding: 0 16px 20px;
        border-radius: 6px 6px 25px 25px;
    }

    .single-job .emi-job-section h2 {
        margin: 0 0 8px !important;
        padding: 6px 0 6px 12px !important;
        font-size: 21px !important;
        border-left-width: 4px !important;
    }

    .single-job .emi-job-section .emi-job-item {
        display: block;
        min-height: auto;
        padding: 0 !important;
    }

    .single-job .emi-job-section .emi-job-item h3 {
        padding: 10px 12px 5px !important;
        font-size: 17px !important;
        border-left-width: 4px !important;
        border-right: none !important;
    }

    .single-job .emi-job-section .emi-job-value {
        padding: 0 16px 14px !important;
        font-size: 16px !important;
    }

    .single-job .emi-job-taxonomy {
        padding: 16px;
    }
}

/* =========================================
   湘南EMI企画｜お気に入り一覧
   ========================================= */

#emi-favorite-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1000px !important;
    margin: 40px auto !important;
}

#emi-favorite-list .emi-favorite-card {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 18px 18px !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e1e7e9 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 14px rgba(0,0,0,.05) !important;
    overflow: hidden !important;
}

#emi-favorite-list .emi-favorite-image {
    display: block !important;
    width: calc(100% + 36px) !important;
    margin: 0 -18px 16px !important;
}

#emi-favorite-list .emi-favorite-image img {
    display: block !important;
    width: 100% !important;
    height: 190px !important;
    object-fit: cover !important;
}

#emi-favorite-list .emi-favorite-content {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

#emi-favorite-list .emi-favorite-store {
    margin-bottom: 5px !important;
    color: #777 !important;
    font-size: 13px !important;
}

#emi-favorite-list .emi-favorite-content h2 {
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 20px !important;
    line-height: 1.5 !important;
}

#emi-favorite-list .emi-favorite-content h2::before,
#emi-favorite-list .emi-favorite-content h2::after {
    display: none !important;
    content: none !important;
}

#emi-favorite-list .emi-favorite-content h2 a {
    color: #173f50 !important;
    text-decoration: none !important;
}

#emi-favorite-list .emi-favorite-meta {
    color: #245c6b !important;
    font-size: 14px !important;
}

#emi-favorite-list .emi-favorite-salary {
    margin-top: 8px !important;
    color: #245c6b !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

#emi-favorite-list .emi-favorite-access {
    margin-top: 5px !important;
    color: #555 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}

#emi-favorite-list .emi-favorite-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    margin-top: 10px !important;
}

#emi-favorite-list .emi-favorite-tag {
    padding: 3px 8px !important;
    background: #edf5f6 !important;
    color: #245c6b !important;
    border-radius: 4px !important;
    font-size: 11px !important;
}

#emi-favorite-list .emi-favorite-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 15px !important;
    padding-top: 13px !important;
    border-top: 1px solid #e5e5e5 !important;
}

#emi-favorite-list .emi-favorite-actions a,
#emi-favorite-list .emi-favorite-actions button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    box-sizing: border-box !important;
    padding: 6px 8px !important;
    border-radius: 5px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

#emi-favorite-list .emi-favorite-detail {
    border: 1px solid #2d8bdc !important;
    color: #2d8bdc !important;
    background: #fff !important;
}

#emi-favorite-list .emi-favorite-remove {
    border: 1px solid #d7dfe1 !important;
    color: #555 !important;
    background: #fff !important;
}

@media (max-width: 767px) {
    #emi-favorite-list {
        grid-template-columns: 1fr !important;
    }

    #emi-favorite-list .emi-favorite-image img {
        height: 210px !important;
    }
}

/* =========================================
   湘南EMI企画｜求人検索結果
   PC：2列カード
   ========================================= */

@media (min-width: 768px) {

    .emi-job-results .wp-block-post {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 18px 18px !important;
        box-sizing: border-box !important;

        background: #fff !important;
        border: 1px solid #e1e7e9 !important;
        border-radius: 10px !important;
        box-shadow: 0 4px 14px rgba(0,0,0,.05) !important;
        overflow: hidden !important;
    }

    .emi-job-results .wp-block-post-featured-image {
        width: calc(100% + 36px) !important;
        margin: 0 -18px 16px !important;
    }

    .emi-job-results .wp-block-post-featured-image img {
        display: block !important;
        width: 100% !important;
        height: 190px !important;
        object-fit: cover !important;
    }

    .emi-job-results .wp-block-post-title {
        margin: 0 0 10px !important;
        padding: 0 !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        font-size: 20px !important;
        line-height: 1.5 !important;
    }

    .emi-job-results .wp-block-post-title::before,
    .emi-job-results .wp-block-post-title::after {
        display: none !important;
        content: none !important;
    }

    .emi-job-results .emi-job-card-meta {
        width: 100% !important;
    }

    .emi-job-results .emi-job-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        gap: 8px !important;
        margin-top: 15px !important;
        padding-top: 13px !important;
        border-top: 1px solid #e5e5e5 !important;
    }
}

/* PC：2列 */
@media (min-width: 768px) {

    .emi-job-results .wp-block-post-template {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }

}

/* =========================================
   湘南EMI企画：求人検索結果 並び替え
   ========================================= */

.emi-job-sort {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 24px;
}

.emi-job-sort select {
    width: 180px;
    height: 44px;
    padding: 0 38px 0 14px;
    border: 1px solid #d9e1e3;
    border-radius: 5px;
    background: #fff;
    color: #245c6b;
    font-size: 14px;
    cursor: pointer;
}

@media (max-width: 767px) {
    .emi-job-sort {
        justify-content: flex-end;
        margin-bottom: 18px;
    }

    .emi-job-sort select {
        width: 160px;
    }
}

/* =========================================
 * 湘南EMI企画：検索条件サマリー
 * ========================================= */

.emi-job-search-summary {
    margin: 0 0 28px;
    padding: 16px 20px;
    background: #f7f9f9;
    border: 1px solid #e1e8e9;
    border-radius: 6px;
    color: #245c6b;
    font-size: 14px;
    line-height: 1.8;
}

/* 条件部分をタグ風に */
.emi-job-search-summary span {
    display: inline-block;
    margin: 3px 5px 3px 0;
    padding: 4px 11px;
    background: #ffffff;
    border: 1px solid #cbdcdf;
    border-radius: 20px;
    color: #245c6b;
    font-size: 13px;
}

/* 「検索条件：」部分 */
.emi-job-search-summary strong {
    font-weight: 700;
    margin-right: 6px;
}

@media (max-width: 767px) {
    .emi-job-search-summary {
        margin-bottom: 20px;
        padding: 14px 15px;
        font-size: 13px;
    }

    .emi-job-search-summary span {
        font-size: 12px;
        padding: 3px 9px;
    }
}

/* TOPページ：求人検索 PC横一列 */
@media (min-width: 768px) {

  .home .vkfs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) 170px;
    gap: 16px;
    align-items: end;
  }

  .home .vkfs .vkfs__labels {
    display: contents;
  }

  .home .vkfs .vkfs__outer-wrap {
    margin: 0 !important;
  }

  .home .vkfs > button {
    width: 100%;
    min-height: 44px;
    margin: 0 !important;
    white-space: nowrap;
  }

}

/* TOP：求人検索ボックス */
.emi-home-search {
    max-width: 1200px;
    margin: -40px auto 0;
    padding: 28px 36px 34px;
    background: rgba(255,255,255,0.94);
    border-radius: 24px;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
}

/* 検索見出し */
.emi-home-search h2 {
    margin: 0 0 24px !important;
    text-align: left;
    color: #245c6b;
    font-size: 24px;
}

/* PC */
@media (min-width: 768px) {
    .emi-home-search .vkfs {
        gap: 16px;
    }
}

/* SP */
@media (max-width: 767px) {
    .emi-home-search {
        margin: -25px 16px 0;
        padding: 22px 18px 24px;
        border-radius: 18px;
    }

    .emi-home-search h2 {
        font-size: 20px;
        margin-bottom: 20px !important;
    }
}

/* 湘南EMI企画 TOP：検索エリア仕上げ */
.emi-home-search {
    max-width: 1200px !important;
    margin: -40px auto 0 !important;
    padding: 28px 36px 34px !important;
    background: rgba(255,255,255,.95) !important;
    border-radius: 24px !important;
    position: relative;
    z-index: 10;
    box-sizing: border-box;
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
}

.emi-home-search h2 {
    margin: 0 0 24px !important;
    text-align: left !important;
    color: #245c6b !important;
    font-size: 24px !important;
}

/* PC */
@media (min-width: 768px) {
    .emi-home-search .vkfs {
        gap: 16px !important;
    }
}

/* SP */
@media (max-width: 767px) {
    .emi-home-search {
        margin: -25px 16px 0 !important;
        padding: 22px 18px 24px !important;
        border-radius: 18px !important;
    }

    .emi-home-search h2 {
        font-size: 20px !important;
    }
}

/* TOP検索ボックス調整 */
.emi-home-search {
    width: calc(100vw - 80px) !important;
    max-width: 1200px !important;
    margin-left: calc(50% - 50vw + 40px) !important;
    margin-right: 0 !important;
    margin-top: -40px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 10 !important;
}

/* TOP検索ボックス：中央配置 */
.emi-home-search {
    width: min(1200px, calc(100vw - 80px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
}

/* TOP検索ボックス：画面中央に固定 */
.emi-home-search {
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* TOP：検索ボックスをメインビジュアルに重ねる */
.emi-home-search {
    margin-top: -150px !important;
    position: relative !important;
    z-index: 20 !important;
}


/* TOP：検索ボックスをメインビジュアルに重ねる */
.emi-home-search {
    top: -100px !important;
}


/* ========================================
   TOPページ：ワイヤーフレーム準拠
   検索ボックス
======================================== */

.emi-home-search {
    position: relative !important;
    z-index: 20 !important;

    width: 1200px !important;
    max-width: calc(100vw - 80px) !important;

    left: 50% !important;
    transform: translateX(-50%) !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    margin-top: -110px !important;
    margin-bottom: -30px !important;

    box-sizing: border-box !important;
}


/* TOP：検索ボックス完成形 */
.emi-home-search {
    margin-top: -180px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    position: relative !important;
    z-index: 20 !important;
}

/* TOP：検索ボックスをメインビジュアル内へ */
.emi-home-search {
    top: -100px !important;
}

/* TOP：検索ボックスをメインビジュアルへ大きく重ねる */
.emi-home-search {
    transform: translate(-50%, -130px) !important;
}

.emi-home-search {
    transform: translate(-50%, -180px) !important;
}

.emi-home-search {
    transform: translate(-50%, -240px) !important;
}

/* TOP検索ボックス：SP専用位置 */
@media (max-width: 767px) {
    .emi-home-search {
        transform: translate(-50%, -40px) !important;
    }
}

/* TOP求人検索：SP検索ボタン */
@media (max-width: 767px) {
    .emi-home-search .vkfs button,
    .emi-home-search .vkfs input[type="submit"],
    .emi-home-search .vkfs input[type="button"] {
        width: 100% !important;
        height: 44px !important;
        border-radius: 24px !important;
        background: #238eaa !important;
        color: #fff !important;
        border: none !important;
        font-weight: 700 !important;
        font-size: 15px !important;
    }
}

/* 求人検索：検索ボタンを少し下げる */
.emi-home-search .vkfs > button,
.emi-home-search .vkfs input[type="submit"],
.emi-home-search .vkfs input[type="button"] {
    margin-top: 20px !important;
}

/* 求人詳細：応募・お気に入りボタン */
.single-job .emi-job-action-buttons {
    display: flex;
    gap: 16px;
    margin: 30px 0 45px;
}

.single-job .emi-job-action-buttons a,
.single-job .emi-job-action-buttons button {
    flex: 1;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
}

.single-job .emi-job-apply {
    background: #238eaa;
    color: #fff !important;
}

.single-job .emi-job-favorite {
    background: #fff;
    color: #238eaa;
    border: 1px solid #238eaa;
}

@media (max-width: 767px) {
    .single-job .emi-job-action-buttons {
        flex-direction: column;
        gap: 10px;
        margin: 25px 0 35px;
    }
}

.single-job .emi-job-action-buttons a,
.single-job .emi-job-action-buttons button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    line-height: 1 !important;
}

.single-job .emi-job-action-buttons a,
.single-job .emi-job-action-buttons button {
    line-height: 52px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.single-job .emi-job-action-buttons a,
.single-job .emi-job-action-buttons button {
    line-height: 2px !important;
}

.single-job .emi-job-apply {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* 求人詳細：写真サムネイル */

.single-job .emi-job-photo-gallery {
    width: 100%;
}

.single-job .emi-job-photo-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}

.single-job .emi-job-photo-thumb {
    width: 100px;
    height: 70px;
    padding: 0;
    border: 2px solid transparent;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
}

.single-job .emi-job-photo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.single-job .emi-job-photo-thumb:hover,
.single-job .emi-job-photo-thumb.is-active {
    border-color: #238eaa;
}

@media (max-width: 767px) {
    .single-job .emi-job-photo-thumbs {
        gap: 6px;
    }

    .single-job .emi-job-photo-thumb {
        width: 72px;
        height: 52px;
    }
}

.single-job .emi-job-photo-thumbs {
    display: flex;
    gap: 10px;
    margin: 12px 0 40px;
}

.single-job .emi-job-photo-thumb {
    width: 100px;
    height: 70px;
    padding: 0;
    border: 2px solid transparent;
    background: #fff;
    overflow: hidden;
    cursor: pointer;
}

.single-job .emi-job-photo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.single-job .emi-job-photo-thumb.is-active {
    border-color: #238eaa;
}

@media (max-width: 767px) {
    .single-job .emi-job-photo-thumb {
        width: 72px;
        height: 52px;
    }
}

/* 求人詳細：ギャラリーサムネイルをメイン画像幅に合わせる */
.single-job .emi-job-photo-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 12px !important;
}

.single-job .emi-job-photo-thumb {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    padding: 0 !important;
    border: 2px solid transparent !important;
    overflow: hidden !important;
}

.single-job .emi-job-photo-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.single-job .emi-job-photo-thumb.is-active {
    border-color: #238eaa !important;
}


@media (max-width: 767px) {
    .single-job .emi-job-photo-thumbs {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
}

/* 求人詳細：投稿日・更新日を非表示 */
.single-job .p-articleHead__meta,
.single-job .c-postTitle__meta,
.single-job .p-articleHead__date,
.single-job .p-articleHead__metaInfo {
    display: none !important;
}

/* 求人詳細：日付表示を完全に非表示 */
.single-job .p-articleHead__date,
.single-job .p-articleHead__dateBox,
.single-job .p-articleHead__meta,
.single-job .p-articleHead__metaInfo,
.single-job .p-postHead__date {
    display: none !important;
}

.single-job .c-postTitle__date {
    display: none !important;
}

.single-job .p-articleMetas.-top {
    display: none !important;
}

/* 求人詳細：タイトル・条件をメイン画像下へ移動 */
add_action( 'wp_footer', function() {

    if ( ! is_singular( 'job' ) ) {
        return;
    }
    ?>
    <script>
    document.addEventListener('DOMContentLoaded', function () {

        const articleHead = document.querySelector('.p-articleHead');
        const photo = document.querySelector('.p-articleThumb');

        if (!articleHead || !photo) return;

        const gallery = document.querySelector('.emi-job-photo-gallery');

        if (gallery) {
            gallery.after(articleHead);
        } else {
            photo.after(articleHead);
        }

    });
    </script>
    <?php
});

/* 求人詳細：タイトルを画像・ギャラリーの下へ */
.single-job .p-articleHead {
    margin-top: 35px !important;
}

/* SWELL標準のタイトル位置を調整 */
.single-job .p-articleHead__header {
    margin-top: 0 !important;
}

/* 投稿日・更新日は非表示 */
.single-job .c-postTitle__date,
.single-job .p-articleMetas.-top {
    display: none !important;
}


.single-job .emi-job-title-custom {
    margin: 35px 0 20px;
}

.single-job .emi-job-title-custom h1 {
    margin: 0;
    color: #245c6b;
    font-size: 32px;
    font-weight: 700;
}

/* 求人詳細：条件タグをコンパクトに */
.single-job .emi-job-taxonomy {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 30px;
}

.single-job .emi-job-taxonomy > * {
    margin: 0 !important;
}


/* 求人詳細：条件表示をコンパクト化 */
.single-job .emi-job-taxonomy {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.single-job .emi-job-taxonomy strong {
    flex: 0 0 90px !important;
    margin: 0 !important;
    color: #245c6b !important;
}

.single-job .emi-job-taxonomy-terms {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.single-job .emi-job-taxonomy-terms span {
    display: inline-block !important;
    padding: 7px 14px !important;
    border: 1px solid #6fb9c5 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #245c6b !important;
    font-size: 14px !important;
}

/* TOP：詳細検索リンク上の余白を詰める */
.emi-home-search {
    margin-bottom: -250px !important;
}


/* =========================================
   TOP：詳細検索リンクを検索ボックス内へ
   ========================================= */

@media (min-width: 768px) {

    /* 検索ボックス */
    .emi-home-search {
        padding-bottom: 65px !important;
    }

    /* 「湘南の仕事をもっと絞り込む」 */
    .emi-home-search + p {
        position: relative !important;
        z-index: 10 !important;
        margin-top: -58px !important;
        margin-bottom: 0 !important;
        text-align: center !important;
    }

    .emi-home-search + p a {
        color: #245c6b !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        border-bottom: 1px solid #6fb9c5 !important;
        padding-bottom: 5px !important;
    }

    .emi-home-search + p a:hover {
        opacity: 0.7;
    }
}

/* スマホ */
@media (max-width: 767px) {

    .emi-home-search + p {
        margin-top: -20px !important;
        margin-bottom: 20px !important;
        text-align: center !important;
    }

    .emi-home-search + p a {
        color: #245c6b !important;
        font-weight: 700 !important;
        text-decoration: none !important;
    }
}

/* TOP：詳細検索リンク */
.emi-more-search {
    position: relative !important;
    z-index: 20 !important;
    margin-top: -85px !important;
    margin-bottom: 0 !important;
    text-align: center !important;
}

.emi-more-search a {
    color: #245c6b !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #6fb9c5 !important;
    padding-bottom: 5px !important;
}

/* TOP：詳細検索リンクを上へ移動 */
.emi-more-search {
    position: relative !important;
    z-index: 50 !important;
    transform: translateY(-85px) !important;
}

/* TOP：詳細検索リンクを検索ボックス内の下段へ */
@media (min-width: 768px) {

    .emi-more-search {
        position: relative !important;
        z-index: 50 !important;
        transform: translateY(-140px) !important;
        margin-bottom: -140px !important;
        text-align: center !important;
    }

    .emi-more-search a {
        display: inline-block !important;
        color: #245c6b !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        border-bottom: 1px solid #6fb9c5 !important;
        padding-bottom: 5px !important;
    }
}

/* TOP：詳細検索リンクを検索ボックス内の下段に表示 */
.emi-more-search {
    position: relative !important;
    z-index: 9999 !important;
    transform: translateY(-105px) !important;
    margin: 0 !important;
    text-align: center !important;
}

.emi-more-search a {
    display: inline-block !important;
    color: #245c6b !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #6fb9c5 !important;
    padding-bottom: 5px !important;
}

/* TOP：詳細検索リンクを検索ボックス内の下段へ */
.emi-home-search .emi-more-search {
    position: relative !important;
    z-index: 9999 !important;
    transform: translateY(-45px) !important;
    margin: 0 !important;
    text-align: center !important;
}

.emi-home-search .emi-more-search a {
    display: inline-block !important;
    color: #245c6b !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-bottom: 1px solid #6fb9c5 !important;
    padding-bottom: 5px !important;
}

/* 詳細検索リンクの位置調整 */
.emi-more-search {
    position: relative !important;
    top: -70px !important;
    z-index: 9999 !important;
    margin-bottom: -110px !important;
}

/* ==================================================
 * TOP：新着求人カード
 * ================================================== */

.emi-new-jobs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.emi-new-job-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
}

.emi-new-job-image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.emi-new-job-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.emi-new-job-body {
    padding: 18px;
}

.emi-new-job-store {
    font-size: 13px;
    color: #666;
    margin-bottom: 6px;
}

.emi-new-job-title {
    margin: 0 0 12px;
    font-size: 19px;
    line-height: 1.5;
}

.emi-new-job-title a {
    text-decoration: none;
}

.emi-new-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 10px;
}

.emi-new-job-meta span {
    padding: 4px 8px;
    background: #f1f7f8;
    color: #245c6b;
    font-size: 12px;
    border-radius: 4px;
}

.emi-new-job-salary {
    font-weight: 700;
    margin-bottom: 8px;
}

.emi-new-job-area {
    font-size: 13px;
    color: #555;
    margin-bottom: 10px;
}

.emi-new-job-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.emi-new-job-tags span {
    font-size: 11px;
    padding: 4px 7px;
    border: 1px solid #6fb9c5;
    color: #245c6b;
    border-radius: 12px;
}

.emi-new-job-buttons {
    margin-top: 15px;
}

.emi-new-job-buttons a {
    display: block;
    text-align: center;
    padding: 10px;
    border-radius: 22px;
    background: #238eaa;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

/* スマホ */
@media (max-width: 767px) {
    .emi-new-jobs {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .emi-new-job-image {
        aspect-ratio: 16 / 10;
    }
}


/* 新着求人：もっと見るボタン */
.emi-new-jobs-more {
    text-align: center;
    margin-top: 32px;
}

.emi-new-jobs-more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    height: 48px;
    padding: 0 28px;
    border: 1px solid #238eaa;
    border-radius: 24px;
    color: #238eaa;
    background: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: .2s;
}

.emi-new-jobs-more a:hover {
    background: #238eaa;
    color: #fff;
}

/* ==================================================
 * TOP：特集・コラム
 * ================================================== */

.emi-feature-posts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.emi-feature-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
}

.emi-feature-image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.emi-feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.emi-feature-body {
    padding: 16px 18px 18px;
}

.emi-feature-category {
    display: inline-block;
    margin-bottom: 8px;
    padding: 4px 9px;
    background: #eef7f8;
    color: #238eaa;
    font-size: 12px;
    border-radius: 3px;
}

.emi-feature-title {
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.55;
}

.emi-feature-title a {
    text-decoration: none;
}

.emi-feature-date {
    color: #888;
    font-size: 12px;
}

@media (max-width: 767px) {
    .emi-feature-posts {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* 特集・コラム：もっと見るボタン */
.emi-feature-more {
    text-align: center;
    margin-top: 32px;
}

.emi-feature-more a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    height: 48px;
    padding: 0 28px;
    border: 1px solid #238eaa;
    border-radius: 24px;
    color: #238eaa;
    background: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: .2s;
}

.emi-feature-more a:hover {
    background: #238eaa;
    color: #fff;
}


/* ==================================================
 * 特集・コラム一覧
 * ================================================== */

.emi-column-archive {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.emi-column-card {
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 8px;
    overflow: hidden;
}

.emi-column-image {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.emi-column-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.emi-column-body {
    padding: 16px 18px 20px;
}

.emi-column-category {
    display: inline-block;
    padding: 4px 9px;
    margin-bottom: 10px;
    background: #eef7f8;
    color: #238eaa;
    font-size: 12px;
    border-radius: 3px;
}

.emi-column-title {
    margin: 0 0 14px;
    font-size: 18px;
    line-height: 1.55;
}

.emi-column-title a {
    text-decoration: none;
}

.emi-column-date {
    color: #888;
    font-size: 12px;
}

.emi-column-pagination {
    margin-top: 45px;
    text-align: center;
}

.emi-column-pagination ul {
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.emi-column-pagination a,
.emi-column-pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    border: 1px solid #d8e1e3;
    border-radius: 4px;
    text-decoration: none;
}

@media (max-width: 767px) {
    .emi-column-archive {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

/* コンセプト：アイコンと見出しの間隔を詰める */
.emi-concept-item h3 {
    margin-top: 0 !important;
}

/* コンセプト：アイコン下の余白を詰める */
.emi-concept-item img {
    margin-bottom: -35px !important;
}

/* コンセプト：アイコンと文字全体を上へ */
.emi-concept-item h3,
.emi-concept-item p {
    position: relative !important;
    top: -35px !important;
}

.emi-jobseeker {
	background-color: #2ea7e0 !important;
}

.emi-restaurant {
	background-color: #f8b62d !important;
}