/*
CTC Separate Stylesheet
Updated: 2025-12-12 15:27:38
Theme Name: BusinessPress Child 02
Theme URI: https://businesspress.jp/theme/
Template: businesspress
Author: BusinessPress
Author URI: https://businesspress.jp/
Description: BusinessPress ia a simple and beautiful business WordPress theme. You can create a website of corporate, group, freelance and so on.
Tags: one-column,two-columns,right-sidebar,custom-colors,custom-header,custom-logo,custom-menu,editor-style,featured-images,footer-widgets,microformats,post-formats,sticky-post,theme-options,threaded-comments,translation-ready
Version: 1.0.0.1765520858
*/



/* --- ★お知らせ一覧のための追加CSS --- */
.news-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.news-list li {
    margin-bottom: 12px;
    line-height: 1.5;
}

.news-date {
    color: #888;
    margin-right: 8px;
    font-size: 0.9em;
}

/* カテゴリー共通スタイル */
.news-cat {
    color: #fff;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.85em;
    margin-right: 4px;
}

/* カテゴリーごとの色 */
.news-cat.cat-notice { background-color: #f0a500; }       /* お知らせ＝オレンジ */
.news-cat.cat-press-release { background-color: #0099ff; }  /* プレスリリース＝青 */
.news-cat.cat-news { background-color: #28a745; } /* 更新情報＝緑 */
.news-cat.cat-blog { background-color: #9370DB; } /* BLOG＝紫 */
.news-cat.cat-pick-up { background-color: #E74C3C; } /* ピックアップ＝赤 */
.news-cat.cat-midcareers { background-color: #16A085; } /* ティールグリーン 中途採用*/
.news-cat.cat-careers { background-color: #4A90E2; } /* 明るめブルー 採用情報*/
.news-cat.cat-newgraduates { background-color: #1ABC9C; } /* フレッシュなミントブルー　新卒採用 */
.news-cat.cat-midcareers-open { background-color: #16A085;} /* 中途採用募集中カラー */
.news-cat.cat-newgraduates-open { background-color: #1ABC9C;} /* 新卒採用募集中カラー */
.news-cat.cat-interview { background-color: #E67EAF; } /* インタビューカラー */


/* --- 対策1: 全てのニュースカテゴリー要素にデフォルトのスタイルを適用 --- */
.news-cat {
    /* ここに新しいカテゴリーの「仮の色」を設定します */
    background-color: #777777; /* 例: グレー */
    color: #ffffff; /* 文字色も忘れずに白などにしておくと見やすい */
    /* その他、共通のパディングなどもここで指定すると便利 */
    padding: 2px 8px;
    border-radius: 4px;
}

/* --- 既存の特定のカテゴリーのスタイル (優先される) --- */
.news-cat.cat-notice { background-color: #f0a500; }        /* お知らせ＝オレンジ */
.news-cat.cat-press-release { background-color: #0099ff; }  /* プレスリリース＝青 */
.news-cat.cat-news { background-color: #28a745; } /* 更新情報＝緑 */
/* ...その他、既存の指定 */

.news-list a {
    text-decoration: none;
    color: #333;
}

.news-list a:hover {
    text-decoration: underline;
}

/* Newsの配置調整 */
.news-list {
  width: 1050px;          /* 横幅を80%に調整 */
  margin: 0 auto;      /* 中央寄せ */
  padding: 0;          
  list-style: none;    
}

/* フッターのカラムを右寄せ */
#supplementary .wp-block-columns {
  justify-content: flex-end; /* カラム全体を右寄せ */
}


/* 各カラム内のテキストを右寄せ */
#supplementary .wp-block-column {
  text-align: right; /* テキスト右寄せ */
}

/* カラム間の余白（お好みで調整） */
#supplementary .wp-block-column + .wp-block-column {
 ?margin-left: 40px;
}

/* --- ★TOPのNews文字サイズ制御 --- */
.page-id-6711 h2.wp-block-heading.has-text-align-center {
    font-size: 50px !important;
    font-weight: bold !important;
    margin-top: 0em !important;
	margin-bottom: 0.4em !important;
}


/* no image placeholder */
.page-id-6711 .pickup-noimage {
  height: 180px;
  background: #f1f5ff;
  color: #4693f5;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px 8px 0 0;
  text-align: center;
}


/* --- ★テキストリンク制御 --- */

/* すべてのリンクのホバー時に色を変更 */
a:hover {
    color: #4693f5 !important;
}

/* リンクがクリックされた後（visited）のホバー時の色も同様に設定 */
a:visited:hover {
    color: #4693f5 !important;
}

/* --- ★労働者派遣事業に係る情報提供ページの分数表現 --- */

/* 分数を囲むボックスのスタイル */
.fraction-box {
    /* 中央寄せとブロック要素化の追加 */
    display: block; /* ★★ブロック要素に変更★★ */
    margin: 0 auto; /* ★★左右のマージンを自動にして中央寄せ★★ */
    width: fit-content; /* ★★コンテンツの幅に合わせる（重要）★★ */

    /* その他のスタイル（変更なし） */
    text-align: center;
    vertical-align: middle; 
    line-height: 1.2;
    padding: 5px 0;
}

/* 分数線を表現する要素 */
.fraction-line {
    border-bottom: 1px solid #333;
    display: block;
    margin-bottom: 10px;
	padding-bottom: 10px;
}

/* 上と下の値のスタイル */
.numerator,
.denominator {
    font-size: 1em;
}

/* --- ★メインメニュー追加CSS --- */
/* 現在表示中のページのメニュー文字色を変更 */
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-parent > a,
.main-navigation .current-menu-ancestor > a {
    color: #4693f5;
}

/* 子ページ閲覧時：親メニューも太字にする */
.current-menu-parent > a,
.current-menu-ancestor > a {
    font-weight: 700;
}

/* --- ★インタビュー追加CSS --- */

/* ===============================
   Interview 一覧全体
=============================== */
.interview-list {
    max-width: 720px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

/* ===============================
   各記事
=============================== */
.interview-item a {
    text-decoration: none;
    color: #fff; /* 念のため */
}

/* ===============================
   画像エリア
=============================== */
.interview-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    overflow: hidden;
}

/* 画像なし */
.interview-thumb.no-image {
    background: linear-gradient(135deg, #e67e22, #f39c12);
    display: flex;
    align-items: center;
    justify-content: center;
}

.interview-noimage-text {
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.95;
}

/* ===============================
   テキストオーバーレイ
=============================== */
.interview-overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 16px;
    color: #fff;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.75),
        rgba(0,0,0,0)
    );
}

.interview-title {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    color: #fff;
}

.interview-excerpt {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
}

.interview-more {
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: #fff;
    display: inline-block;
}

/* ===============================
   hover演出
=============================== */
.interview-item a:hover .interview-overlay {
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.9),
        rgba(0,0,0,0.25)
    );
}

/* ===============================
   記事なしメッセージ
=============================== */
.interview-none {
    text-align: center;
    color: #666;
}

/* ===============================
   スマホ対応
=============================== */
@media (max-width: 768px) {
    .interview-list {
        grid-template-columns: 1fr;
    }
}

/* ===============================
   ヘッダー余白制御
=============================== */
@media screen and (min-width: 782px) {
  .main-header {
padding-top:10px;
padding-bottom:5px;
  }
}

/* ===============================
   共通設定（全ページ・全デバイス）
=============================== */
html, body {
  overflow-x: hidden;
}

.menu-toggle {
  padding: 12px;
}

/* ===============================
   PC用スタイル
=============================== */
.hero-main-text {
  text-align: right;
  font-weight: bold;
  font-size: clamp(1.5rem, 5vw, 70px);
  line-height: 1.5;
  margin: 0;
  color: #ffffff;
  word-break: break-word;
}

.hero-sub-text {
  text-align: right;
  font-weight: bold;
  font-size: clamp(1rem, 3vw, 40px);
  line-height: 3;
  margin: 0;
  color: #ffffff;
  word-break: break-word;
}

/* ===============================
   スマホ用（781px以下に統一）
=============================== */
@media screen and (max-width: 781px) {

  /* --- 標準文字サイズ --- */
  body {
    font-size: 1.4rem;
    line-height: 1.8;
  }

  /* --- ロゴ --- */
  .site-logo img {
    display: none;
  }
  .site-logo a {
    display: block;
    width: 190px;
    height: 50px;
    background-image: url("https://sunbridge-s.jp/wp-content/uploads/2026/03/sbslogo-1.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
  }

  /* --- ヒーロー --- */
  .hero-main-text {
    font-size: 28px;
  }
  .hero-sub-text {
    font-size: 18px;
    line-height: 2;
  }

  /* --- ニュース --- */
  .news-list {
    width: 100% !important;
    padding: 0 15px !important;
  }
  .news-list li {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
  }

  /* --- Servicesブロック --- */
  .wp-block-cover__inner-container {
    padding: 0 20px !important;
  }
  .wp-block-cover__inner-container h3.wp-block-heading {
    font-size: clamp(1.5rem, 6vw, 48px) !important;
    line-height: 1.4 !important;
  }
  .wp-block-cover__inner-container .has-x-large-font-size {
    font-size: clamp(1.2rem, 4.5vw, 2rem) !important;
    line-height: 1.8 !important;
  }
  .wp-block-cover__inner-container .has-medium-font-size {
    font-size: 1.4rem !important;
    line-height: 1.8 !important;
  }
  .wp-block-cover__inner-container > .wp-block-spacer {
    height: 30px !important;
  }

  /* --- PICK UP --- */
  .pickup-list {
    gap: 15px !important;
    padding: 0 15px 15px !important;
    scroll-snap-type: x mandatory;
  }
  .pickup-list > * {
    min-width: 75vw !important;
    scroll-snap-align: start;
  }
  .pickup-list img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
  }
  .pickup-arrow {
    display: none !important;
  }

  /* --- Visionブロック --- */
  .wp-block-media-text__content p {
    font-size: clamp(1.4rem, 4.5vw, 36px) !important;
    line-height: 1.8 !important;
  }
}


/* ===============================
   スマホ用（781px以下に統一）社長挨拶
=============================== */

@media screen and (max-width: 781px) {

  /* --- 社長挨拶ページ全体の余白 --- */
  .page-id-7772 .wp-block-group__inner-container {
    padding: 0 20px !important;
  }

  /* --- キャッチコピーのフォントサイズ --- */
  .page-id-7772 .wp-block-columns .wp-block-column p {
    font-size: 1.4rem !important;
    line-height: 1.8 !important;
  }

  /* --- 画像＋テキストのカラムを縦積みに --- */
  .page-id-7772 .wp-block-columns {
    flex-direction: column !important;
  }
  .page-id-7772 .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* --- 画像を全幅に --- */
  .page-id-7772 .wp-block-image img {
    width: 100% !important;
    height: auto !important;
  }
}



/* ===============================
   フッター署名削除
=============================== */

.site-credit{
  display: none;
}


/* ===============================
   NEWSリスト表示のタグのマージン制御
=============================== */
.entry-header .tags-links {
    margin: 8px 0 12px;
}

.read-more-wrap {
    text-align: right;
}

.read-more-wrap {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px; /* ←ここで上の余白調整 */
}




/* ===============================
   労働者派遣事業に係る情報提供
=============================== */

@media screen and (max-width: 781px) {
  .page-id-6817 .entry-content p {
    font-size: 1.1rem !important;
    line-height: 1.6 !important;
  }
}


/* ===============================
   エントリーページの募集要項
=============================== */

@media screen and (max-width: 781px) {
  .page-id-6873 .wp-block-columns {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  
  .page-id-6873 .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  .page-id-6873 .wp-block-column[style*="flex-basis:170px"] {
    display: none !important;
  }

  .page-id-6873 .wp-block-group.alignfull {
    padding-left: 15px !important;
    padding-right: 15px !important;
    overflow-x: hidden !important;
  }

  .page-id-6873 .wp-block-group__inner-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ===============================
   ライフワークバランス
=============================== */

@media screen and (max-width: 781px) {
  .page-id-7314 .wp-block-columns {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  
  .page-id-7314 .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  .page-id-7314 .wp-block-group.alignfull {
    padding-left: 15px !important;
    padding-right: 15px !important;
    overflow-x: hidden !important;
  }

  .page-id-7314 .wp-block-group__inner-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}


/* ===============================
   About
=============================== */

@media screen and (max-width: 781px) {
  /* h3のalignwideによるズレを修正 */
  .wp-block-cover h3.alignwide {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 本文の余白を詰める */
  .wp-block-cover__inner-container {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* グループのinner-containerも */
  .wp-container-core-group-is-layout-4582f6a7 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width: 768px) {
  .wp-block-group__inner-container {
    padding-left: 16px;
    padding-right: 16px;

    padding-top: 24px;
    padding-bottom: 24px;

  }
}

h3.wp-block-heading.has-black-color.has-text-color.has-large-font-size {
  font-size: clamp(1.4rem, 4vw, 2rem);
  line-height: 1.4;
}



@media screen and (max-width: 781px) {

  /* パートナーシップのロゴ群 */
  .wp-block-columns.alignwide .wp-block-image img {
    width: auto !important;
    max-width: 70%;   /* ←ここが重要（調整ポイント） */
    height: auto;
    display: block;
    margin: 0 auto;
  }

}
	  


@media screen and (max-width: 781px) {

  /* Trustedセクションの企業名 */
  .wp-block-columns.alignwide .has-medium-font-size {
    font-size: 0.95em !important;  /* ←ここがポイント */
    line-height: 1.7 !important;
  }

}

  /* データ */
@media screen and (max-width: 781px) {

  .wp-block-heading.has-black-color.has-text-color.has-large-font-size {
    font-size: clamp(1.2rem, 3.8vw, 1.6rem) !important;
    line-height: 1.4 !important;
  }

}



@media screen and (max-width: 781px) {

  h2.wp-block-heading.has-white-color.has-text-color.has-large-font-size {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem) !important;
    line-height: 1.4 !important;
  }

}


@media screen and (max-width: 781px) {
  .wp-container-core-group-is-layout-4582f6a7 > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-block-start: 16px !important; 
  }
}


@media screen and (max-width: 781px) {
  .wp-block-cover h3 {
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }
}


@media screen and (max-width: 781px) {
  img.wp-block-cover__image-background {
    object-position: 20% center !important;
  }
}


/* ===============================
  SERVICES 
=============================== */
@media screen and (max-width: 781px) {
  .wp-block-cover__inner-container h3.wp-block-heading.has-text-align-center {
    font-size: clamp(1.4rem, 5vw, 24px) !important;
  }
}



/* ===============================
  SERVICES dataengineering 
=============================== */



@media screen and (max-width: 781px) {
  #post-6882 .wp-block-media-text__media img {
    max-width: 70% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }
  #post-6882 .wp-block-media-text__media img[src*="SAS"] {
    max-width: 50% !important;
  }
}


.wp-block-media-text .wp-block-media-text__media img[src*="SAS"] {
  width: auto !important;
  max-width: 250px !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
}


@media screen and (max-width: 781px) {
  h4.wp-block-heading.has-large-font-size {
    font-size: clamp(2.5rem, 4vw, 1.6rem) !important;
  }
}

@media screen and (max-width: 781px) {
  h2.wp-block-heading.alignwide {
    font-size: clamp(1.4rem, 5vw, 1.8rem) !important;
    line-height: 1.4 !important;
  }
}


@media screen and (max-width: 781px) {
  .wp-block-media-text__media img[src*="radission"] {
    max-width: 100% !important;
  }
}

@media screen and (max-width: 781px) {
  #post-6882 .wp-block-media-text__media img[src*="radission"] {
    max-width: 100% !important;
  }
}

@media screen and (max-width: 781px) {
  h3.wp-block-heading.has-text-align-center.has-large-font-size {
    font-size: clamp(2rem, 4vw, 1.6rem) !important;
  }
}


@media screen and (max-width: 781px) {
  .has-x-large-font-size {
    font-size: clamp(2rem, 5vw, 1.8rem) !important;
  }
}

.data-h3 {
  margin-bottom: 1em !important;
}


@media screen and (max-width: 781px) {
  body h3.wp-block-heading.has-x-large-font-size {
    font-size: clamp(2rem, 5vw, 1.8rem) !important;
  }
}

/* ===============================
  SERVICES datascience
=============================== */

@media screen and (max-width: 781px) {

  /* post-6884 の media-text内の画像だけ */
  #post-6884 .wp-block-media-text__media img {
    width: auto !important;
    max-width: 70%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

}



/* ===============================
  サービス共通
=============================== */
@media screen and (max-width: 781px) {
  .page-id-6884 h3.wp-block-heading.has-black-color.has-text-color.has-large-font-size,
  .page-id-6882 h3.wp-block-heading.has-black-color.has-text-color.has-large-font-size,
  .page-id-6886 h3.wp-block-heading.has-black-color.has-text-color.has-large-font-size,
  .page-id-6886 h3.wp-block-heading.has-text-align-center[style] {
font-size:20px!important;
}
}


/* ===============================
  システム開発・運用
=============================== */
@media screen and (max-width: 781px) {
  .page-id-6886 h3.wp-block-heading.has-text-align-center[style] {
font-size:20px!important;
}
}

/* ===============================
 INDEX　下部
=============================== */

@media screen and (max-width: 781px) {
  .wp-block-media-text__content .wp-block-group {
    padding: 0 !important;
  }
}

/* ===============================
  タブレット用に修正（page-id-6711限定）
=============================== */
@media screen and (min-width: 800px) and (max-width: 900px) {

  /* ← ヘッダー・フッター除外済み */
  .page-id-6711 .site-content,
  .page-id-6711 .container-content,
  .page-id-6711 .home-header-content,
  .page-id-6711 .jumbotron-content,
  .page-id-6711 .featured-entry-content {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* 幅制御 */
  .page-id-6711 .site-content,
  .page-id-6711 .container-content {
    max-width: 100% !important;
  }

  /* alignfull対策 */
  .page-id-6711 .wp-block-group.alignfull,
  .page-id-6711 .wp-block-cover.alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ===============================
  Newsリスト（タブレット対応）
=============================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {

  .news-list {
    width: 100% !important;
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .news-list li {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
  }

  .news-date {
    width: 100%;
    font-size: 0.9em;
  }

  .news-cat {
    font-size: 0.8em;
  }

  .news-list a {
    width: 100%;
  }
}


/* ===============================
  PICK UP（タブレット：横スクロール＋余白強化）
=============================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {

  .pickup-list {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    padding-left: 20px;
    padding-right: 20px;
    scroll-snap-type: x mandatory;
  }

  .pickup-list > * {
    min-width: 45vw;
    scroll-snap-align: start;
  }

  /* ← ここが重要（先頭と最後に余白作る） */
  .pickup-list::before,
  .pickup-list::after {
    content: "";
    flex: 0 0 10px;
  }

  .pickup-arrow {
    display: none !important;
  }
}


/* ===============================
   PICK UP（タブレット：3枚並び・余白強化・潰れ防止）
   対応範囲: 768px 〜 1024px
=============================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {

  /* 1. セクション全体の余白：背景はそのまま、コンテンツを中央に寄せる */
  .pickup-section {
    padding-left: 50px !important; 
    padding-right: 50px !important;
    box-sizing: border-box;
    display: block !important;
  }

  /* 2. リスト全体：横スクロールを有効化し、不要な擬似要素の影響を排除 */
  .pickup-list {
    display: flex !important;
    gap: 16px !important;         /* カード同士の隙間 */
    overflow-x: auto !important;  /* 4枚目以降は横スクロール */
    padding: 0 0 25px 0 !important; /* 下部にスクロールバー用の余白 */
    margin: 0 !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    list-style: none !important;
  }

  /* 以前設定した擬似要素が計算を狂わせないよう非表示に */
  .pickup-list::before,
  .pickup-list::after {
    display: none !important;
    content: none !important;
  }

  /* 3. カード1枚ずつの設定：3枚ぴったり並ぶように固定 */
  .pickup-list > * {
    /* (全体100% - 隙間16px * 2) / 3枚 */
    flex: 0 0 calc((100% - 32px) / 3) !important;
    max-width: calc((100% - 32px) / 3) !important;
    min-width: calc((100% - 32px) / 3) !important;
    height: auto !important;      /* 縦に押しつぶされるのを防止 */
    display: flex !important;
    flex-direction: column !important;
    scroll-snap-align: start;
    box-sizing: border-box !important;
  }

  /* 4. 画像エリア：高さを維持し、中身を綺麗に切り抜く */
  .pickup-thumb {
    width: 100% !important;
    height: 160px !important;     /* タブレットで見栄えの良い高さ */
    min-height: 160px !important; /* 圧縮防止 */
    margin: 0 0 12px 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    position: relative !important;
    background-color: #f0f0f0;    /* 画像がない時のバックアップ色 */
  }

  .pickup-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* アスペクト比を維持して枠いっぱいに表示 */
    position: absolute !important;
    top: 0;
    left: 0;
  }

  /* 5. テキスト部分の微調整 */
  .pickup-item-title {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: bold !important;
    margin: 0 0 8px 0 !important;
    /* 3行以上になる場合に省略（必要なら追加） */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .pickup-category {
    font-size: 11px !important;
    margin-bottom: 5px !important;
    display: inline-block;
  }

  .pickup-date {
    font-size: 11px !important;
    color: #888 !important;
  }

  /* リンクエリアがカード全体を覆うように */
  .pickup-link {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    text-decoration: none !important;
  }
}