@charset "UTF-8";
/**
 * スポキャリ 求人詳細ページ（detail.html）完全最適化スタイルシート
 * - スポジョバ風モダンデザイン（上部サマリーカード ＋ 大写真 ＋ 大型CTA）
 * - 縦並び1カラム構成（求人の魅力 ➔ 募集要項 ➔ 企業情報 ➔ 最下部応募CTA）
 * - レスポンシブ完全対応（PC・タブレット・スマホ最適化）
 */

/* ==========================================================================
   1. 基本レイアウト・コンテナ
   ========================================================================== */
#wrapper #content #mainContent {
    width: 100% !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 0 16px 40px 16px !important;
    box-sizing: border-box !important;
    float: none !important;
}

.page-main-heading {
    display: none !important; /* スポジョバ風カードデザインのため旧見出しは非表示 */
}

/* 掲載終了バナー */
.detail-expired-banner {
    margin: 20px 0 30px !important;
    padding: 24px 20px !important;
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-top: 4px solid #ea580c !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
}
.detail-expired-banner .expired-tag {
    display: inline-block !important;
    background: #fee2e2 !important;
    color: #991b1b !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 9999px !important;
    margin-bottom: 10px !important;
}
.detail-expired-banner .expired-heading {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 10px !important;
}
.detail-expired-banner .expired-text {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 18px !important;
}
.detail-expired-banner .expired-btn-group {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin-bottom: 20px !important;
}
.btn-expired-action {
    display: inline-flex !important;
    align-items: center !important;
    padding: 10px 18px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    text-decoration: none !important;
}
.btn-expired-action.primary { background: #ea580c !important; color: #ffffff !important; }
.btn-expired-action.secondary { background: #ffffff !important; color: #0f172a !important; border: 1px solid #cbd5e1 !important; }
.expired-quick-cats { font-size: 13px !important; }
.expired-quick-cats .cat-links { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 8px !important; }
.expired-quick-cats .cat-links a { background: #ffffff !important; border: 1px solid #cbd5e1 !important; padding: 4px 10px !important; border-radius: 4px !important; text-decoration: none !important; font-size: 12px !important; color: #334155 !important; }

/* ==========================================================================
   2. スポジョバ風：ファーストビュー求人サマリーカード
   ========================================================================== */
.job-hero-card {
    background: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;
    padding: 30px 32px !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
}

.job-hero-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 8px !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.job-hero-company {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.job-hero-school {
    color: #0284c7 !important;
}

.job-hero-update-date {
    font-size: 12px !important;
    color: #94a3b8 !important;
}

.job-hero-title {
    font-size: 25px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.4 !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.3px !important;
}

/* タグバッジ群 */
.job-hero-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
}

.tag-badge {
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
}

.tag-sports { background: #ffedd5 !important; color: #ea580c !important; border: 1px solid #fed7aa !important; }
.tag-syokusyu { background: #e0f2fe !important; color: #0284c7 !important; border: 1px solid #bae6fd !important; }
.tag-koyou { background: #f1f5f9 !important; color: #334155 !important; border: 1px solid #cbd5e1 !important; }
.tag-beginner { background: #dcfce7 !important; color: #166534 !important; border: 1px solid #bbf7d0 !important; }
.tag-gyomu { background: #f8fafc !important; color: #475569 !important; border: 1px solid #e2e8f0 !important; }

/* 2カラム分割（PC：左スペック ＋ 右写真） */
.job-hero-main {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px !important;
    align-items: center !important;
    margin-bottom: 24px !important;
}

.job-spec-container {
    width: 100% !important;
}

.job-spec-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

.job-spec-row {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.job-spec-label {
    width: 105px !important;
    padding: 12px 14px !important;
    background: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #475569 !important;
    border-radius: 6px 0 0 6px !important;
    white-space: nowrap !important;
    text-align: left !important;
    border-right: 1px solid #e2e8f0 !important;
}

.job-spec-value {
    padding: 12px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    border-radius: 0 6px 6px 0 !important;
    border: none !important;
    line-height: 1.5 !important;
}

.job-spec-value.highlight-salary {
    color: #dc2626 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

/* メインビジュアル写真 */
.job-hero-visual {
    position: relative !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 3 !important;
    background: #e2e8f0 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}

.job-hero-visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* アクションボタンバー（大型CTA） */
.job-hero-actions {
    display: flex !important;
    gap: 16px !important;
    padding-top: 20px !important;
    border-top: 1px solid #f1f5f9 !important;
    align-items: stretch !important;
}

.btn-bookmark-lg {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 20px !important;
    background: #ffffff !important;
    border: 2px solid #cbd5e1 !important;
    border-radius: 6px !important;
    color: #475569 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    box-sizing: border-box !important;
}
.btn-bookmark-lg:hover {
    border-color: #f59e0b !important;
    color: #d97706 !important;
    background: #fffbeb !important;
}

.btn-entry-lg {
    flex: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 14px 24px !important;
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
    border: none !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(234, 88, 12, 0.3) !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    box-sizing: border-box !important;
}
.btn-entry-lg:hover {
    filter: brightness(1.05) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(234, 88, 12, 0.4) !important;
}
.btn-entry-lg.disabled {
    background: #cbd5e1 !important;
    color: #64748b !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}
.btn-entry-lg .subtext {
    font-size: 11px !important;
    font-weight: 600 !important;
    background: rgba(255,255,255,0.25) !important;
    padding: 2px 6px !important;
    border-radius: 3px !important;
    margin-left: 6px !important;
}

/* 電話問い合わせボックス */
.job-tel-contact-box {
    padding: 10px 16px !important;
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    text-align: center !important;
}
.job-tel-contact-box .tel-tit { font-weight: 700; color: #475569; margin: 0 0 2px 0; }
.job-tel-contact-box .tel-number { font-size: 16px; font-weight: 800; color: #0284c7; }
.job-tel-contact-box .s-number { color: #334155; }
.job-tel-contact-box .tel-time { color: #94a3b8; font-size: 11px; }

/* ==========================================================================
   3. 縦並び1カラムメインコンテンツフロー
   ========================================================================== */
.job-detail-main-flow {
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.job-detail-section {
    background: #ffffff !important;
    border-radius: 8px !important;
    border: 1px solid #e2e8f0 !important;
    padding: 32px 36px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
    box-sizing: border-box !important;
}

/* セクション見出し */
.detail-sec-title {
    font-size: 19px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    border-left: 5px solid #f97316 !important;
    padding-left: 12px !important;
    margin: 0 0 22px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* PRブロック */
.job-pr-box {
    background: #fffaf5 !important;
    border: 1px solid #fed7aa !important;
    border-radius: 6px !important;
    padding: 22px 26px !important;
    margin-bottom: 24px !important;
}
.job-pr-heading {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #9a3412 !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.45 !important;
}
.job-pr-text {
    font-size: 15px !important;
    color: #334155 !important;
    line-height: 1.85 !important;
    margin: 0 !important;
}

/* 職場写真ギャラリー */
.job-photo-gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 16px !important;
    margin: 20px 0 !important;
}
.job-photo-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}
.job-photo-card .img-wrap {
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    background: #f1f5f9 !important;
}
.job-photo-card .img-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.job-photo-card .img-cap {
    padding: 8px 12px !important;
    font-size: 12.5px !important;
    color: #475569 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* 採用メッセージカード */
.company-message-card {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    border-radius: 6px !important;
    padding: 24px 28px !important;
}
.company-message-badge {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #166534 !important;
    background: #dcfce7 !important;
    display: inline-block !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
}
.company-message-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #166534 !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.4 !important;
}
.company-message-body {
    font-size: 14.5px !important;
    color: #1e293b !important;
    line-height: 1.85 !important;
    margin: 0 !important;
}

/* ==========================================================================
   4. モダン詳細スペックテーブル（募集要項・企業情報共通）
   ========================================================================== */
.job-spec-detail-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.job-spec-detail-table th, .job-spec-detail-table td {
    padding: 16px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    font-size: 14.5px !important;
    line-height: 1.75 !important;
    box-sizing: border-box !important;
}

.job-spec-detail-table tr:last-child th, .job-spec-detail-table tr:last-child td {
    border-bottom: none !important;
}

.job-spec-detail-table th {
    width: 180px !important;
    background: #f8fafc !important;
    color: #334155 !important;
    font-weight: 700 !important;
    vertical-align: top !important;
    white-space: nowrap !important;
    border-right: 1px solid #e2e8f0 !important;
    text-align: left !important;
}

.job-spec-detail-table td {
    background: #ffffff !important;
    color: #1e293b !important;
}

.job-spec-detail-table .salary-text {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #dc2626 !important;
}

.access-item {
    margin-top: 6px !important;
    font-size: 13.5px !important;
    color: #475569 !important;
}
.access-num {
    font-weight: 700 !important;
    color: #0284c7 !important;
}
.map-link, .company-url-link {
    color: #0284c7 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 4px !important;
}
.map-link:hover, .company-url-link:hover {
    text-decoration: underline !important;
}

/* ==========================================================================
   5. 最下部 大型応募CTAカード
   ========================================================================== */
.bottom-cta-card {
    background: #0f172a !important;
    border-radius: 8px !important;
    padding: 36px 24px !important;
    text-align: center !important;
    color: #ffffff !important;
    margin-top: 10px !important;
    box-sizing: border-box !important;
}

.bottom-cta-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    margin: 0 0 8px 0 !important;
    color: #ffffff !important;
}

.bottom-cta-desc {
    font-size: 14px !important;
    color: #94a3b8 !important;
    margin: 0 0 24px 0 !important;
}

.bottom-cta-btn-group {
    max-width: 440px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.btn-bookmark-bottom {
    background: transparent !important;
    color: #cbd5e1 !important;
    border-color: #475569 !important;
}
.btn-bookmark-bottom:hover {
    border-color: #f59e0b !important;
    color: #f59e0b !important;
    background: rgba(245, 158, 11, 0.1) !important;
}

/* ==========================================================================
   5.5 近隣エリア・同スポーツ類似求人セクション
   ========================================================================== */
.nearby-kyujin-section {
    margin-top: 40px !important;
    padding: 32px 30px !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
    box-sizing: border-box !important;
}

.nearby-sec-header {
    margin-bottom: 24px !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding-bottom: 16px !important;
}

.nearby-sec-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    background: #ffedd5 !important;
    color: #ea580c !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 4px !important;
    margin-bottom: 8px !important;
}

.nearby-sec-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.4 !important;
}

.nearby-sec-desc {
    font-size: 13.5px !important;
    color: #64748b !important;
    margin: 0 !important;
}

.nearby-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 18px !important;
    margin-bottom: 28px !important;
}

.nearby-job-card {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    color: inherit !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 18px !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.nearby-job-card:hover {
    border-color: #cbd5e1 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08) !important;
}

.nearby-card-tags {
    display: flex !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
}

.nearby-card-tags .card-tag {
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    border-radius: 3px !important;
}
.nearby-card-tags .card-tag.sports {
    background: #ffedd5 !important;
    color: #ea580c !important;
}
.nearby-card-tags .card-tag.koyou {
    background: #e0f2fe !important;
    color: #0284c7 !important;
}

.nearby-card-title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #0284c7 !important;
    line-height: 1.45 !important;
    margin: 0 0 10px 0 !important;
    height: 42px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.nearby-card-company {
    font-size: 12.5px !important;
    color: #475569 !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.nearby-card-salary {
    font-size: 14px !important;
    color: #dc2626 !important;
    margin-bottom: 6px !important;
}

.nearby-card-location {
    font-size: 12px !important;
    color: #64748b !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.nearby-card-footer {
    margin-top: auto !important;
    padding-top: 10px !important;
    border-top: 1px dashed #e2e8f0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    color: #f97316 !important;
}

/* クイック検索導線ボックス */
.nearby-quick-search-box {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 16px 20px !important;
}

.quick-search-label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #334155 !important;
    margin-bottom: 10px !important;
}

.quick-search-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.btn-quick-filter {
    display: inline-flex !important;
    align-items: center !important;
    padding: 8px 16px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    color: #1e293b !important;
    text-decoration: none !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
}
.btn-quick-filter:hover {
    border-color: #f97316 !important;
    color: #ea580c !important;
    background: #fff7ed !important;
}
.btn-quick-filter.all {
    background: #e6f0fa !important;
    border-color: #bae6fd !important;
    color: #0369a1 !important;
    font-weight: 700 !important;
}
.btn-quick-filter.all:hover {
    background: #0284c7 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   6. スマートフォン（SP）最適化スタイル
   ========================================================================== */
@media screen and (max-width: 768px) {
    #wrapper #content #mainContent {
        padding: 0 10px 40px 10px !important;
    }

    .job-hero-card {
        padding: 20px 16px !important;
        margin-bottom: 20px !important;
        border-radius: 6px !important;
    }

    .job-hero-title {
        font-size: 19px !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
    }

    /* SPでは写真を上に配置 */
    .job-hero-main {
        display: flex !important;
        flex-direction: column-reverse !important;
        gap: 16px !important;
        margin-bottom: 16px !important;
    }

    .job-hero-visual {
        width: 100% !important;
        aspect-ratio: 16 / 10 !important;
    }

    .job-spec-table {
        border-spacing: 0 6px !important;
    }

    .job-spec-label {
        width: 85px !important;
        padding: 10px 12px !important;
        font-size: 12px !important;
    }

    .job-spec-value {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }

    /* SPのファーストビューではボタンを非表示（画面下部に常時固定バーがあるため） */
    .job-hero-actions {
        display: none !important;
    }

    .job-detail-main-flow {
        gap: 20px !important;
        margin-bottom: 80px !important; /* 固定バー用の余白 */
    }

    .job-detail-section {
        padding: 22px 16px !important;
        border-radius: 6px !important;
    }

    .detail-sec-title {
        font-size: 17px !important;
        margin-bottom: 16px !important;
    }

    .job-pr-box {
        padding: 16px 14px !important;
    }
    .job-pr-heading {
        font-size: 15px !important;
    }
    .job-pr-text {
        font-size: 13.5px !important;
    }

    .job-photo-gallery {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
    }

    .company-message-card {
        padding: 18px 16px !important;
    }

    /* テーブルのSPカード化 */
    .job-spec-detail-table {
        display: block !important;
        border: none !important;
    }
    .job-spec-detail-table tbody {
        display: block !important;
    }
    .job-spec-detail-table tr {
        display: block !important;
        border-bottom: 1px solid #e2e8f0 !important;
        padding: 12px 0 !important;
    }
    .job-spec-detail-table th {
        display: block !important;
        width: 100% !important;
        background: none !important;
        border: none !important;
        padding: 0 0 6px 0 !important;
        font-size: 12.5px !important;
        color: #64748b !important;
    }
    .job-spec-detail-table td {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
        border: none !important;
        font-size: 13.5px !important;
    }

    .bottom-cta-card {
        padding: 28px 16px !important;
    }
    .bottom-cta-title {
        font-size: 17px !important;
    }
    .bottom-cta-desc {
        font-size: 12.5px !important;
    }

    /* スマホ追従フローティングCTAバー */
    .sp-floating-cta {
        display: flex !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        background: rgba(255, 255, 255, 0.96) !important;
        backdrop-filter: blur(8px) !important;
        border-top: 1px solid #cbd5e1 !important;
        padding: 10px 14px !important;
        box-shadow: 0 -4px 16px rgba(0,0,0,0.08) !important;
        z-index: 9999 !important;
        box-sizing: border-box !important;
        gap: 10px !important;
    }
    .sp-floating-cta .btn-bookmark {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 6px !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 6px !important;
        background: #ffffff !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #475569 !important;
        text-decoration: none !important;
    }
    .sp-floating-cta .btn-entry {
        flex: 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
        border-radius: 6px !important;
        color: #ffffff !important;
        font-size: 14.5px !important;
        font-weight: 800 !important;
        text-decoration: none !important;
        box-shadow: 0 2px 8px rgba(234, 88, 12, 0.3) !important;
    }

    /* スマホ版 近隣求人 */
    .nearby-kyujin-section {
        padding: 22px 14px !important;
        margin-top: 24px !important;
    }
    .nearby-sec-title {
        font-size: 17px !important;
    }
    .nearby-cards-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .quick-search-buttons {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .btn-quick-filter {
        width: 100% !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
}
