.shop-recruit-index{
      --ink:#231815;
      --muted:#6f6660;
      --line:#e9e2dd;
      --bg:#ffffff;
      --paper:#fbfaf8;
      --soft:#faf7f4;
      --accent:#f16291;    /* シャレニー寄せ */
      --accent2:#d22222;   /* たちばな寄せ（差し色） */
      --radius:16px;
      --shadow:0 14px 34px rgba(0,0,0,.10);
      --wrap:1100px;

      font-family:"Noto Sans JP",system-ui,-apple-system,Segoe UI,Roboto,Arial;
      color:var(--ink);
    }
    .shop-recruit-index *{box-sizing:border-box}
    .shop-recruit-index a{color:inherit;text-decoration:none}
    .shop-recruit-index .wrap{width:min(var(--wrap),92vw);margin:0 auto}

    .shop-recruit-index .head{
      margin:10px auto 14px;
      padding:18px 18px 14px;
      background:linear-gradient(180deg,var(--paper),#fff);
      border:1px solid var(--line);
      border-radius:var(--radius);
    }
    .shop-recruit-index .eyebrow{
      margin:0 0 6px;
      font-weight:800;
      letter-spacing:.08em;
      color:var(--muted);
      font-size:12px;
    }
    .shop-recruit-index h2{
      margin:0 0 6px;
      font-size:clamp(18px,2.2vw,24px);
      line-height:1.25;
      letter-spacing:.02em;
    }
    .shop-recruit-index .lead{
      margin:0;
      color:var(--muted);
      font-size:14px;
      line-height:1.7;
    }

    .shop-recruit-index .grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin:14px 0 0;
    }
    @media (max-width: 860px){
      .shop-recruit-index .grid{grid-template-columns:1fr}
    }

    .shop-recruit-index .card{
      position:relative;
      border:1px solid var(--line);
      border-radius:var(--radius);
      background:var(--bg);
      box-shadow:var(--shadow);
      overflow:hidden;
      transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    }
    .shop-recruit-index .card:hover{
      transform:translateY(-2px);
      box-shadow:0 18px 44px rgba(0,0,0,.14);
      border-color:#ead2dc;
    }
    .shop-recruit-index .card__inner{padding:16px}
    .shop-recruit-index .top{
      display:flex;gap:10px;align-items:flex-start;justify-content:space-between;
      margin:0 0 10px;
    }
    .shop-recruit-index .title{
      margin:0;
      font-size:18px;
      line-height:1.3;
      letter-spacing:.02em;
      font-weight:900;
    }
    .shop-recruit-index .badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
    .shop-recruit-index .badge{
      display:inline-flex;align-items:center;gap:6px;
      padding:6px 10px;
      border-radius:999px;
      font-size:12px;
      font-weight:800;
      border:1px solid var(--line);
      background:var(--soft);
      color:var(--muted);
      white-space:nowrap;
    }
    .shop-recruit-index .badge--accent{
      border-color:rgba(241,98,145,.35);
      background:rgba(241,98,145,.10);
      color:#7b2a45;
    }
    .shop-recruit-index .badge--hot{
      border-color:rgba(210,34,34,.28);
      background:rgba(210,34,34,.08);
      color:#7a1616;
    }

    .shop-recruit-index .meta{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px 12px;
      padding:12px;
      border-radius:12px;
      background:linear-gradient(180deg,var(--paper),#fff);
      border:1px solid var(--line);
    }
    @media (max-width: 420px){
      .shop-recruit-index .meta{grid-template-columns:1fr}
    }
    .shop-recruit-index .kv{margin:0}
    .shop-recruit-index .k{display:block;font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.04em;margin:0 0 3px}
    .shop-recruit-index .v{display:block;font-size:14px;font-weight:800;line-height:1.45}

    .shop-recruit-index .desc{
      margin:12px 0 0;
      color:var(--muted);
      font-size:13px;
      line-height:1.75;
    }

    .shop-recruit-index .actions{
      display:flex;gap:10px;flex-wrap:wrap;
      margin:14px 0 0;
      align-items:center;
      justify-content:space-between;
    }
    .shop-recruit-index .cta{
      display:inline-flex;align-items:center;justify-content:center;gap:8px;
      padding:12px 14px;
      border-radius:12px;
      font-weight:900;
      letter-spacing:.02em;
      border:1px solid rgba(241,98,145,.35);
      background:linear-gradient(180deg,rgba(241,98,145,.20),rgba(241,98,145,.08));
      min-width:180px;
      transition:filter .15s ease, transform .15s ease;
    }
    .shop-recruit-index .cta:hover{filter:brightness(.98);transform:translateY(-1px)}
    .shop-recruit-index .sub{
      display:inline-flex;align-items:center;gap:8px;
      padding:10px 12px;
      border-radius:12px;
      border:1px solid var(--line);
      background:#fff;
      color:var(--muted);
      font-weight:800;
      font-size:13px;
    }
    .shop-recruit-index .arrow{font-weight:900}
    .shop-recruit-index .note{
      margin:10px 0 0;
      font-size:12px;
      color:var(--muted);
      line-height:1.6;
    }

    /* クリック領域をカード全体に */
    .shop-recruit-index .stretched{
      position:absolute;inset:0;
      border-radius:inherit;
      z-index:1;
    }
    .shop-recruit-index .card__inner,
    .shop-recruit-index .actions{position:relative;z-index:2}

.shop-recruit-index .cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none; /* aタグの下線消し */
  color: inherit;        /* 文字色を継承 */
}
.shop-recruit-index .cta:hover{
  filter: brightness(.97);
}
