/* AI副業ナビ /ai-fukugyo  第7版 2026-09-06
   ★案件1件＝1カードに作り替えた。前は副業90種類のまとめカードが主役だった。
     骨格は aikyujin.css（/ai-kyujin）と同じ。細い枠線は使わず、面と余白と影で区切る
   このファイルと aijobs.js / aijobs-data.js を消せば、ページは本文だけに戻る */
/* ★1280px以上で開いてから窓を狭めると、右へ空白ぶんスクロールできてしまう（2026-09-05に実測）。
   body に overflow-x:clip が当たっていても html 側に古い横幅が残るのが原因。
   このCSSはこのページでしか読み込まれないので、他のページには影響しない */
html{overflow-x:clip}

.ajx{
  --sky:#1AC2F1; --sky-d:#0E9BC4; --ink:#0D1B2A; --ink2:#1C3549;
  --bg:#f5f7f9; --card:#fff; --txt:#12212e; --sub:#61707d; --line:#e6ebef;
  --soft:#eef3f7; --r:10px; --rp:999px;
  --sh:0 1px 2px rgba(13,27,42,.05),0 6px 16px rgba(13,27,42,.06);
  --sh-h:0 3px 8px rgba(13,27,42,.08),0 16px 36px rgba(13,27,42,.12);
  --ok:#0f7a52; --ok-bg:#e6f4ee; --warn:#a8442f; --warn-bg:#fbeee9;
  --font:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  background:var(--bg); color:var(--txt); font-family:var(--font);
  font-size:15px; line-height:1.75; letter-spacing:.01em;
}
.ajx *{box-sizing:border-box}
.ajx a{color:inherit;text-decoration:none}
.ajx button,.ajx input,.ajx select{font:inherit;color:inherit}
.ajx button{cursor:pointer;border:0;background:none;font-family:inherit}
.ajx input[type=text]{font-size:16px}
.ajx .wrap{max-width:1200px;margin:0 auto;padding:0 18px}

/* ===== ヘッダー ===== */
/* ★上部は白ベース（2026-09-05）。AIツールナビ（/ai-tools）と同じ。
   濃紺だと下の一覧と地続きに見えず、ページの頭だけ別物のように見えていた */
.aj-hd{background:#fff;color:var(--txt);padding:24px 0 18px;position:relative;overflow:hidden}
.aj-hd .wrap{position:relative;z-index:2}
.aj-ttl{font-size:27px;font-weight:900;margin:0 0 8px;letter-spacing:.01em;line-height:1.35}
.aj-ttl b{color:var(--sky);font-weight:900}
.aj-upd{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--sub)}
.aj-upd b{color:var(--txt);font-weight:700}
.aj-sbox{display:flex;align-items:center;background:#fff;border-radius:var(--rp);max-width:560px;
  padding:0 8px 0 18px;margin:16px 0 0;
  box-shadow:0 2px 8px rgba(20,50,90,.07),0 12px 30px rgba(20,50,90,.09)}
.aj-sbox:focus-within{box-shadow:0 0 0 3px rgba(26,194,241,.28),0 12px 30px rgba(20,50,90,.12)}
.aj-sbox .si{width:16px;height:16px;flex:none;border:2px solid #97a6b3;border-radius:50%;position:relative;margin-right:10px}
.aj-sbox .si:after{content:"";position:absolute;right:-5px;bottom:-4px;width:8px;height:2px;background:#97a6b3;transform:rotate(45deg)}
.aj-sbox input{flex:1;border:0;outline:none;padding:13px 8px;min-width:0;background:none;color:var(--txt)}
.aj-sbox .clr{width:30px;height:30px;border-radius:50%;color:#8a99a6;font-size:17px;line-height:1;flex:none;display:none}
.aj-sbox .clr.on{display:block}

/* ===== うちで数えた数字。タイトルの右に2つだけ（2026-09-05） =====
   6つ並べると1つも頭に残らないので絞った */
.aj-hdtop{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 36px;flex-wrap:wrap}
.aj-hdl{min-width:0}
.aj-kpi{display:flex;gap:12px;flex:none;padding-bottom:3px}
/* ★薄いグレーの塗りだと、白い下地に溶けて見えなかった。検索窓と同じ白＋影で浮かせる */
.aj-k{background:#fff;border-radius:var(--r);padding:14px 22px 15px;min-width:152px;max-width:236px;
  box-shadow:0 2px 8px rgba(20,50,90,.07),0 12px 30px rgba(20,50,90,.09)}
.aj-k .n{font-size:33px;font-weight:900;line-height:1.08;font-variant-numeric:tabular-nums;
  background:linear-gradient(96deg,#3f6fe0,#12c2e9);-webkit-background-clip:text;background-clip:text;color:transparent}
.aj-k .n small{font-size:14.5px;font-weight:700;margin-left:3px}
.aj-k .t{font-size:12px;color:var(--sub);margin-top:5px;line-height:1.5}

/* ===== 人気の条件 ===== */
.aj-quick{background:#fff;box-shadow:0 1px 0 var(--line);position:sticky;top:0;z-index:40}
.aj-quick .wrap{display:flex;align-items:center;gap:12px;padding-top:10px;padding-bottom:10px;position:relative}
.aj-ql{font-size:12px;color:var(--sub);white-space:nowrap;font-weight:700}
.aj-qs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:1px 0;min-height:39px}
.aj-qs::-webkit-scrollbar{display:none}
/* 横に続きがあることを示す。AIツールナビと同じ */
.aj-quick .wrap::after{content:"";position:absolute;right:18px;top:0;bottom:0;width:40px;
  background:linear-gradient(90deg,transparent,#fff 70%);pointer-events:none}
.aj-qp{background:var(--soft);color:#33475a;font-size:13px;padding:7px 14px;border-radius:var(--rp);
  white-space:nowrap;transition:background .15s,color .15s}
.aj-qp:hover{background:#e0e9f0}
.aj-qp.on{background:var(--sky);color:var(--ink);font-weight:700}

/* ===== 本体レイアウト ===== */
/* ★ルート側のクラスを足してある。足さないと .ajx .wrap{padding:0 18px}(0-2-0) が
   .aj-body(0-1-0) に勝って、下の余白が消える */
.ajx .aj-body{display:grid;grid-template-columns:248px minmax(0,1fr);gap:26px;padding:22px 18px 70px;align-items:start}
.aj-side{position:sticky;top:62px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);
  max-height:calc(100vh - 78px);display:flex;flex-direction:column;overflow:hidden}
.aj-sidehd{flex:none;display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;box-shadow:0 1px 0 var(--line)}
.aj-sidehd b{font-size:13.5px}
.aj-sidehd span{display:flex;align-items:center;gap:10px}
.aj-reset{font-size:12px;color:var(--sub);text-decoration:underline;text-underline-offset:2px}
.aj-close{display:none;font-size:22px;line-height:1;color:var(--sub);width:30px;height:30px;border-radius:50%}
.aj-apply{display:none;flex:none;background:var(--ink);color:#fff;font-size:14px;font-weight:700;padding:14px;text-align:center}
.aj-sidebody{overflow-y:auto;flex:1;padding:4px 0 10px;-webkit-overflow-scrolling:touch}
.aj-grp{padding:12px 16px 6px}
.aj-grp+.aj-grp{box-shadow:0 -1px 0 var(--line)}
.aj-gt{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 8px;letter-spacing:.02em}
.aj-opt{display:flex;align-items:flex-start;gap:8px;padding:5px 0;font-size:13.5px;cursor:pointer;line-height:1.5}
.aj-opt input{margin:4px 0 0;accent-color:var(--sky-d);flex:none;width:15px;height:15px}
.aj-opt .cnt{margin-left:auto;font-size:11.5px;color:#94a3ae;font-variant-numeric:tabular-nums;padding-left:6px}
.aj-opt.off{opacity:.4}

/* ===== 一覧の上のバー ===== */
.aj-main{min-width:0}
.aj-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.aj-hit{font-size:14px;font-weight:700}
.aj-hit b{font-size:20px;color:var(--sky-d);font-variant-numeric:tabular-nums;margin:0 2px}
.aj-hitsub{font-size:12px;font-weight:500;color:var(--sub);margin-left:10px}
/* 並べ替えはプルダウン（2026-09-05）。ボタンを4〜5個並べると、
   窓が狭いときに折り返して2行になり、件数の行と混ざって読みにくい */
.ajx .aj-sort{flex:none;background:var(--card);border:0;box-shadow:var(--sh);
  padding:9px 36px 9px 15px;border-radius:var(--rp);font-size:13.5px;font-weight:700;color:var(--txt);
  cursor:pointer;appearance:none;-webkit-appearance:none;max-width:100%;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%2361707d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.ajx .aj-sort:hover{box-shadow:var(--sh-h)}
.ajx .aj-sort:focus-visible{outline:2px solid var(--sky-d);outline-offset:2px}
.aj-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.aj-chip{background:var(--sky);color:var(--ink);font-size:12px;font-weight:700;padding:5px 10px;border-radius:var(--rp)}
.aj-chip span{margin-left:6px;opacity:.6}

/* 金額順のときだけ出る断り書き。面で区切る（細い線は使わない） */
.aj-gnote2{font-size:11.5px;color:#42566a;margin:0 0 11px;line-height:1.75;
  background:#f1f6fa;padding:9px 14px;border-radius:var(--r)}

/* ======================================================================
   案件のカード（第7版 2026-09-06）
   ★出す順は「タイトル → 金額 → 依頼の中身 → 条件 → 出どころ」。
     金額とサイト名と締切を1行に詰めると、どれが金額なのか読み取れない。
   ★grid の子は既定で min-width:auto。長いタイトルがあると枠を超えて横スクロールが
     出る（スマホ390pxで482pxになっていた）。minmax(0,1fr) で止める
   ====================================================================== */
.aj-list{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.ag-card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;
  min-width:0;transition:box-shadow .18s,transform .18s}
.ag-body{padding:16px 18px 14px;min-width:0}
.ag-ttl{font-size:16.5px;font-weight:800;line-height:1.55;margin:0;overflow-wrap:anywhere}
.ag-ttl a:hover{color:var(--sky-d);text-decoration:underline;text-underline-offset:2px}
/* 金額。★色バッジにはしない。数字を大きく黒で出して、単位を小さいグレーで添える */
.ag-pay{margin:9px 0 0;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.ag-pay b{font-size:21px;font-weight:900;color:#12212e;line-height:1.2;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ag-pay span{font-size:11.5px;font-weight:700;color:var(--sub)}
.ag-d{font-size:12.5px;color:#5d6c78;margin:9px 0 0;line-height:1.75;overflow-wrap:anywhere}
.ag-badges{display:flex;flex-wrap:wrap;gap:5px;margin:11px 0 0}
.ag-b{font-size:11.5px;padding:3px 9px;border-radius:var(--rp);font-weight:600}
.ag-b.b-full{background:var(--ok-bg);color:var(--ok)}
.ag-b.b-part{background:var(--soft);color:#3c5262}
.ag-b.b-office{background:#eef1f4;color:#4a5b68}
.ag-b.b-w{background:#e3f4fb;color:#0a6c8a}
.ag-b.b-zero{background:var(--warn-bg);color:var(--warn);font-weight:700}
.ag-meta{display:flex;flex-wrap:wrap;gap:5px 12px;margin:10px 0 0;font-size:11.5px;
  color:var(--sub);align-items:center}
.ag-site{background:#eaf3fb;color:#2f5fe0;padding:3px 9px;border-radius:var(--rp);
  font-weight:700;letter-spacing:.01em}
.ag-lim{color:#a8442f;font-weight:700}
/* この案件がどの副業にあたるか。押すとその副業だけに絞れる。
   ★ボタンと同じ行に置く。分けると縦に空きができて1画面に入る件数が減っていた */
.ag-jobs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}
.ag-jl{font-size:11px;color:var(--sub);font-weight:700;letter-spacing:.02em}
.ag-foot{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;
  flex-wrap:wrap;padding:0 18px 16px}

/* ===== 0件のとき ===== */
.aj-empty{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:38px 20px;text-align:center}
.aj-empty p{margin:0 0 14px;color:var(--sub);font-size:14px}
.aj-empty button{background:var(--ink);color:#fff;font-size:13px;font-weight:700;padding:10px 20px;border-radius:var(--rp)}

/* ======================================================================
   副業を1つ選んだときだけ出す要点（第7版 2026-09-06）
   ★90種類のまとめカードを並べるのはやめた。絞り込んだ1つだけ中身を出す
   ====================================================================== */
.aj-jinfo{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;margin:0 0 16px}
.ji-hd{display:flex;align-items:center;gap:9px 14px;flex-wrap:wrap;margin:0 0 8px}
.ji-hd h2{font-size:20px;font-weight:900;margin:0;line-height:1.4}
.ji-tags{display:flex;gap:5px;flex-wrap:wrap}
.ji-t{font-size:11.5px;padding:3px 9px;border-radius:var(--rp);background:var(--soft);color:#3c5262;font-weight:600}
.ji-t.ok{background:var(--ok-bg);color:var(--ok)}
.ji-t.warn{background:var(--warn-bg);color:var(--warn)}
.ji-lead{font-size:13.5px;color:#3d5060;margin:0 0 13px;line-height:1.8}
/* 副業ごとの中央値。★案件が10件以上あるときだけ出る（build側で絞っている） */
.ji-med{margin:0 0 13px;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.ji-med b{font-size:22px;font-weight:900;color:#12212e;line-height:1.2;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ji-med span{font-size:11.5px;color:var(--sub);font-weight:700}
.ji-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--soft);
  border-radius:var(--r);overflow:hidden}
.ji-grid>div{padding:11px 16px;min-width:0}
.ji-grid .k{font-size:11px;color:var(--sub);line-height:1.4}
.ji-grid .v{font-size:13px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.ji-det{margin:16px 0 0}
.ji-det h3{font-family:var(--font);font-size:14.5px;font-weight:900;margin:18px 0 7px;
  color:#12212e;letter-spacing:.01em;line-height:1.5}
.ji-det h3:first-child{margin-top:0}
.ji-cert{margin:13px 0 0;font-size:13px;color:var(--sub)}
.ji-cert a{color:var(--sky-d);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* ★手順の番号が画面に出ていなかった。SWELL側が ol の list-style を消しているので
   ::marker が効かない。counter で自分で出す。★丸や帯は付けず数字だけ */
.aj-steps{margin:0;padding-left:0;list-style:none;counter-reset:s}
.aj-steps li{counter-increment:s;position:relative;padding-left:24px;margin:0 0 8px;
  font-size:13.5px;line-height:1.8;color:#3d5060}
.aj-steps li:before{content:counter(s) ".";position:absolute;left:0;top:0;
  color:var(--sky-d);font-weight:900;font-variant-numeric:tabular-nums}
.aj-p{margin:0;font-size:13.5px;line-height:1.85;color:#3d5060}
.aj-links{margin:16px 0 0;display:flex;flex-wrap:wrap;gap:10px}
/* ★.ajx a{color:inherit}(0-1-1)が color:#fff(0-1-0)に勝って、
   濃い背景に濃い文字が乗って読めなくなる。ルート側のクラスを足す */
.ajx .aj-go{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff;
  font-size:13px;font-weight:700;padding:11px 18px;border-radius:var(--rp);white-space:nowrap}
.aj-go:after{content:"→"}

/* もっと見る */
.ajx .aj-more2{display:block;width:100%;background:#fff;box-shadow:var(--sh);border-radius:var(--r);
  padding:16px;font-size:14px;font-weight:700;color:var(--sky-d);text-align:center;margin:2px 0 0}
.ajx .aj-more2:hover{box-shadow:var(--sh-h)}
.aj-more2 span{font-size:12px;font-weight:500;color:var(--sub);margin-left:8px}

/* ===== 下の解説 ===== */
.aj-note{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:22px 24px;margin:26px 0 0}
.aj-note h2{font-size:18px;font-weight:900;margin:0 0 10px;line-height:1.5}
.aj-note h3{font-size:15px;font-weight:700;margin:20px 0 6px}
.aj-note p{margin:0 0 12px;font-size:14px;line-height:1.9;color:#2c3f4d}
.aj-note p:last-child{margin-bottom:0}
.aj-note strong{font-weight:700}
.aj-note em{font-style:normal;color:var(--sky-d);font-weight:700}
.aj-note a{color:var(--sky-d);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* AIでできる副業90種類。押すとその副業の案件だけに絞れる */
.aj-alljobs{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0}
.ajx .aj-jl{background:var(--soft);color:#33475a;font-size:12.5px;padding:6px 12px;
  border-radius:var(--rp);font-weight:600;display:inline-flex;align-items:baseline;gap:6px;
  transition:background .15s}
.ajx .aj-jl:hover{background:#e0e9f0}
.aj-jl i{font-style:normal;font-size:11px;color:#8a99a6;font-variant-numeric:tabular-nums}

/* ===== スマホ ===== */
.aj-fbtn{display:none;position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:60;
  background:var(--ink);color:#fff;font-size:14px;font-weight:700;padding:13px 26px;border-radius:var(--rp);
  box-shadow:0 6px 22px rgba(13,27,42,.3)}
.aj-fbtn b{color:var(--sky)}
@media (max-width:900px){
  .ajx .aj-body{grid-template-columns:minmax(0,1fr);gap:0;padding-bottom:86px}
  .aj-side{position:fixed;inset:0;top:auto;max-height:82vh;border-radius:16px 16px 0 0;z-index:70;
    transform:translateY(101%);transition:transform .26s;box-shadow:0 -8px 40px rgba(13,27,42,.3)}
  .aj-side.open{transform:translateY(0)}
  .aj-sidehd{padding:15px 18px}
  .aj-close,.aj-apply{display:block}
  .aj-fbtn{display:block}
  .aj-backdrop{position:fixed;inset:0;background:rgba(13,27,42,.4);z-index:65;opacity:0;pointer-events:none;transition:opacity .26s}
  .aj-backdrop.on{opacity:1;pointer-events:auto}
  .aj-ttl{font-size:33px}
  .ji-grid{grid-template-columns:minmax(0,1fr)}
  /* スマホはタイトルの下に2枚を横いっぱいで並べる */
  .aj-kpi{width:100%;padding-bottom:0}
  .aj-k{flex:1 1 0;min-width:0;max-width:none;padding:12px 16px 13px}
  .aj-k .n{font-size:28px}
}
@media (max-width:560px){
  .ag-body{padding:14px 15px 12px}
  .ag-ttl{font-size:15.5px}
  .ag-pay b{font-size:19px}
  /* スマホは説明文が6行になって、1件で画面が埋まっていた。3行で切る */
  .ag-d{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .ag-foot{padding:0 15px 14px}
  .ajx .ag-foot .aj-go{width:100%;justify-content:center}
  .aj-jinfo{padding:17px 16px}
  .ji-hd h2{font-size:18px}
  /* 3列のままだと1列が90pxを切って「Microso／oft／Copilo」と細切れに折り返す */
  .ji-grid>div{padding:9px 15px}
}
@media (prefers-reduced-motion:reduce){.ajx *{transition:none!important;animation:none!important}}
.ajx :focus-visible{outline:2px solid var(--sky-d);outline-offset:2px}
/* 下地もAIツールナビと同じ。真っ白でなく、青と水色がうっすら差す */
.ajx{background:
 radial-gradient(760px 420px at 6% 0,rgba(90,120,255,.09),transparent 62%),
 radial-gradient(680px 400px at 97% 3%,rgba(26,194,241,.11),transparent 60%),#f7f8fa;
 background-attachment:fixed}

/* ======================================================================
   動き（2026-09-05）。AIツールナビ（/ai-tools）と同じ
   ヘッダーで光がゆっくり流れる／タイトルの色が流れる／カードが順に浮き上がる
   ====================================================================== */
/* --- ヘッダーの光。position:absolute にしないと横スクロールが出る --- */
.aj-hd .hdfx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.aj-hd .hdfx span{position:absolute;border-radius:50%;filter:blur(58px)}
/* ★白の上なので薄くする。濃紺のときの濃さのままだと、光が汚れに見える */
.aj-hd .hdfx span:nth-child(1){width:420px;height:420px;left:-90px;top:-230px;background:#7aa8ff;opacity:.20;
  animation:ajw1 19s ease-in-out infinite alternate}
.aj-hd .hdfx span:nth-child(2){width:360px;height:360px;right:2%;top:-200px;background:#2fd0f0;opacity:.20;
  animation:ajw2 23s ease-in-out infinite alternate}
.aj-hd .hdfx span:nth-child(3){width:260px;height:260px;left:52%;bottom:-190px;background:#b78cff;opacity:.14;
  animation:ajw1 27s ease-in-out infinite alternate-reverse}
@keyframes ajw1{to{transform:translate(64px,30px) scale(1.14)}}
@keyframes ajw2{to{transform:translate(-54px,22px) scale(1.1)}}

/* --- タイトル。斜めにして色をゆっくり動かす --- */
/* ★白地なので濃い色に差し替える。濃紺の上で使っていた #7fb0ff〜#38d6f7 だと読めない */
.aj-ttl{font-size:46px;line-height:1.14;letter-spacing:-.01em;margin:0 0 10px}
.aj-ttl .tw{display:inline-block;transform:skewX(-9deg);transform-origin:left bottom;padding-right:.14em;
  background:linear-gradient(100deg,#2f5fe0 0%,#12c2e9 22%,#8b5be0 44%,#12c2e9 66%,#2f5fe0 88%,#12c2e9 100%);
  background-size:320% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:ajflow 14s linear infinite}
@keyframes ajflow{from{background-position:0 0}to{background-position:-320% 0}}
@media(prefers-reduced-motion:reduce){.aj-ttl .tw{animation:none;background-position:14% 0}}

.aj-k{transition:box-shadow .2s,transform .2s}
.aj-k:hover{box-shadow:0 4px 12px rgba(20,50,90,.09),0 16px 34px rgba(20,50,90,.11);transform:translateY(-2px)}

/* --- カードが順に浮き上がる --- */
.ag-card{opacity:0;transform:translateY(10px);animation:ajup .36s forwards;animation-delay:calc(var(--i)*26ms)}
@keyframes ajup{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ag-card{opacity:1;transform:none;animation:none}}
.ag-card:hover{box-shadow:0 0 0 1px rgba(26,194,241,.4),0 12px 34px rgba(26,150,220,.2);transform:translateY(-3px)}

/* ======================================================================
   詳細度の対策（2026-09-05に踏んだ）
   ★.ajx button{background:none}(0-1-1) が .aj-qp(0-1-0) に勝ってしまい、
     「よく使う条件」がボタンに見えず、ただの文字が並んでいた。
     ルート側のクラスを1つ足して詳細度を上げる。
   ★色も一緒に書く。.ajx button{color:inherit}(0-1-1) が .aj-fbtn{color:#fff}(0-1-0)
     に勝って、濃紺の背景に濃紺の文字が乗って読めなくなる
   → クラス1つだけのセレクタでボタンの背景を指定しない
   ====================================================================== */
.ajx .aj-qp{background:var(--soft);color:#33475a}
.ajx .aj-qp:hover{background:#e0e9f0}
.ajx .aj-qp.on{background:linear-gradient(96deg,#12b9e8,#3f8ae0);color:#fff}
.ajx .aj-chip{background:var(--sky);color:var(--ink)}
.ajx .aj-apply{background:var(--ink);color:#fff}
.ajx .aj-fbtn{background:var(--ink);color:#fff}
.ajx .aj-go{background:linear-gradient(96deg,#12b9e8,#3f8ae0);box-shadow:0 4px 14px rgba(26,150,220,.34)}
.ajx .ag-job{background:var(--soft);color:#33475a;font-size:11.5px;padding:4px 10px;
  border-radius:var(--rp);font-weight:600;transition:background .15s}
.ajx .ag-job:hover{background:#e0e9f0}
.ajx .ji-clr{margin-left:auto;background:none;color:var(--sub);font-size:12px;
  text-decoration:underline;text-underline-offset:2px}
.ajx .ji-clr:hover{color:var(--txt)}
.aj-hit b{background:linear-gradient(96deg,#3f6fe0,#12c2e9);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ======================================================================
   第3版（2026-09-06）検索まわりをAIツールナビ（/ai-tools）とそろえる
   ・窓の中の文字が15pxのままだった。16pxの指定を input[type=text] にしか
     当てておらず、実物は type="search" なので効いていなかった。
     iOSは16px未満の入力欄を触ると画面ごと拡大する
   ・.ajx :focus-visible(0-2-0) が .aj-sbox input{outline:none}(0-1-1) に
     詳細度で勝って、丸い窓の中に四角い青枠が出ていた
   ・ブラウザが出す×と自前の×が二重に並んでいた → ブラウザ側を消す
   ・下の固定ボタンは中央に浮くピルで、文字が2行になって本文と重なっていた
     → ツールナビと同じ「画面下いっぱいの帯」にする
   ====================================================================== */
.ajx .aj-sbox{max-width:560px;padding:0 8px 0 18px}
.ajx .aj-sbox input{font-size:16px;padding:16px 8px;line-height:1.5}
.ajx .aj-sbox input:focus-visible{outline:none;outline-offset:0}
.ajx .aj-sbox input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}
.ajx .aj-sbox input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}
.ajx .aj-sbox .si{width:17px;height:17px}
/* 押せる大きさにする（30pxは指だと外しやすい） */
.ajx .aj-sbox .clr{width:40px;height:40px;font-size:19px;display:none;place-items:center}
.ajx .aj-sbox .clr.on{display:grid}
.ajx .aj-sbox .clr:hover{background:#eef2f6;color:#48586a}

/* 見出しは斜めにしている分だけ右へ出る。切れないように余白を足す */
.ajx .aj-ttl>.tw{padding-right:.18em}
.ajx .aj-hdl{overflow:visible}

/* 下の固定ボタン。帯にすると2行にならず、下に何があっても読める */
@media (max-width:900px){
  .ajx .aj-fbtn{left:0;right:0;bottom:0;transform:none;width:100%;border-radius:0;
    display:flex;align-items:center;gap:14px;white-space:nowrap;
    background:#fff;color:var(--txt);padding:11px 16px;
    box-shadow:0 -4px 18px rgba(13,27,42,.14)}
  .ajx .aj-fbi{background:var(--sky);color:#04222d;font-weight:700;font-size:15px;
    padding:12px 22px;border-radius:var(--rp);flex:1;text-align:center}
  .ajx .aj-fbc{flex:none;font-size:13px;color:var(--sub)}
  .ajx .aj-fbc b{font-size:19px;font-weight:900;color:var(--txt)}
}

/* 「ぜんぶ外す」（2026-09-06）。AIツールナビと同じで、条件のチップの最後に置く。
   .ajx button{color:inherit}(0-1-1) に勝てるよう、色はクラス2つで書く */
.ajx .aj-chipclr{background:none;color:var(--sub);font-size:12.5px;
  text-decoration:underline;padding:5px 6px;border-radius:0}
.ajx .aj-chipclr:hover{color:var(--txt)}

/* 0件のときの見た目もそろえる。1行だけだと次に何をすればいいのかが伝わらなかった */
.ajx .aj-empty{padding:46px 20px}
.ajx .aj-empty b{display:block;font-size:18px;font-weight:900;margin-bottom:5px}
.ajx .aj-empty p{margin:0 0 16px;font-size:13.5px;color:var(--sub)}

/* ======================================================================
   絞り込みの開閉（2026-09-06）。AIツールナビ（/ai-tools）と同じ形。
   条件のグループが多く、全部開いたままだと縦に長い。
   スマホだと下のグループまで指が届かなかった。
   ★.ajx button{background:none}(0-1-1) に負けるので、見出しは必ず
     .ajx を足した .ajx .aj-gh で書く
   ====================================================================== */
.ajx .aj-grp{padding:0}
.ajx .aj-gh{width:100%;display:flex;align-items:center;gap:8px;padding:13px 16px;
  font-size:13px;font-weight:700;color:var(--txt);text-align:left;letter-spacing:.02em;
  background:none;line-height:1.45;transition:background .15s}
.ajx .aj-gh:hover{background:#f4f8fb}
.ajx .aj-gh>span{min-width:0}
/* 複数えらべるグループは、ラジオ（1つだけ）と見分けがつくよう見出しに添える */
.ajx .aj-gh>span em{font-style:normal;font-size:11px;font-weight:600;color:var(--sub);
  margin-left:7px;white-space:nowrap}
.ajx .aj-gh i{margin-left:auto;width:9px;height:9px;flex:none;font-style:normal;
  border-right:2px solid var(--sub);border-bottom:2px solid var(--sub);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.ajx .aj-grp.open .aj-gh i{transform:rotate(-135deg) translate(-3px,-3px)}
.ajx .aj-gn{background:var(--sky);color:var(--ink);font-size:11px;font-weight:800;
  border-radius:var(--rp);padding:1px 7px;min-width:19px;text-align:center;flex:none}
.ajx .aj-gn:empty{display:none}
.ajx .aj-gb{display:none;padding:0 16px 12px}
.ajx .aj-grp.open .aj-gb{display:block}

/* ======================================================================
   カードとリストの切り替え（2026-09-06）。AIツールナビ（/ai-tools）と同じ。
   リストは補足を隠して1件の高さを半分にする。件数が多いページで見比べやすい。
   ★.ajx button{...}(0-1-1) に負けるので、ボタンは .ajx を足して書く
   ====================================================================== */
.ajx .aj-vsw{display:flex;background:var(--card);border-radius:var(--rp);box-shadow:var(--sh);
  padding:3px;flex:none;margin-left:auto}
.ajx .aj-vsw button{font-size:12.5px;padding:6px 13px;border-radius:var(--rp);
  color:var(--sub);font-weight:700;background:none;white-space:nowrap}
.ajx .aj-vsw button.on{background:var(--sky);color:var(--ink)}
.ajx .aj-bar{gap:10px}

/* リストのとき。案件は「タイトル・金額・働き方・出どころ」だけ見えれば選べる */
.ajx .aj-list.v-row{display:flex;flex-direction:column;gap:9px}
.ajx .v-row .ag-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 14px}
.ajx .v-row .ag-body{padding:12px 0 12px 16px;min-width:0}
.ajx .v-row .ag-ttl{font-size:14.5px;line-height:1.5}
.ajx .v-row .ag-pay{margin:5px 0 0}
.ajx .v-row .ag-pay b{font-size:17px}
.ajx .v-row .ag-badges{margin:6px 0 0}
.ajx .v-row .ag-meta{margin:6px 0 0}
.ajx .v-row .ag-d,
.ajx .v-row .ag-jobs{display:none}
.ajx .v-row .ag-foot{padding:0 16px 0 0}
@media (max-width:560px){
  .ajx .v-row .ag-card{grid-template-columns:minmax(0,1fr)}
  .ajx .v-row .ag-body{padding:12px 15px 8px}
  .ajx .v-row .ag-foot{padding:0 15px 12px;justify-content:flex-start}
}

/* スマホは「件数」で1行、「カード／リスト」と「並べ替え」で1行の2段にそろえる */
@media (max-width:560px){
  .ajx .aj-hit{width:100%}
  .ajx .aj-vsw{order:2;flex:none;margin-left:0}
  .ajx .aj-sort{order:3;margin-left:0;width:auto;flex:1 1 auto;min-width:0}
}


/* ======================================================================
   2026-09-06 「1〜40件目を表示中」がスマホで2行に折れて「中」だけ次の行に
   落ちていた。件数の文と同じ行に置いているのが原因なので、狭いときは
   次の行へ落として左そろえにする。ベースの .aj-hitsub(0-1-0) に勝つよう
   ルート側のクラスを1つ足す
   ====================================================================== */
@media (max-width:560px){
  .ajx .aj-hitsub{display:block;margin-left:0;margin-top:3px}
}
