/* 求人一覧・求人詳細 */
.jobswrap{max-width:520px}
.jobsh1{font-size:18px; margin:var(--sp3) 0 var(--sp3)}
.jobsnote{font-size:12px; color:var(--tx2); background:var(--pinkTint); border-radius:10px; padding:10px 12px; margin:0 0 var(--sp4)}

/* 検索ボックス */
.searchbox{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px; margin-bottom:var(--sp4)}
.searchbox > input[type=text]{width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 12px; font-size:14px; font-family:inherit; margin-bottom:8px}
.searchrow{display:flex; gap:8px; margin-top:8px}
.searchrow select{flex:1; min-width:0; border:1px solid var(--line); border-radius:10px; padding:10px; font-size:12.5px; font-family:inherit; background:var(--card); color:var(--tx)}
.searchbtn{flex-shrink:0; background:var(--pink); color:#fff; border:none; border-radius:10px; font-weight:700; font-size:12.5px; padding:10px 14px; cursor:pointer}
.jobscount{font-size:12.5px; color:var(--tx2); margin:var(--sp3) 0}
.jobscount b{color:var(--pink)}

/* 求人カード */
.jobcard{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px; margin-bottom:10px}
.jobcard.hi{background:var(--pinkTint); border-color:var(--pinkBorder)}
/* 上段：サムネイル｜本文｜操作列 */
.jc-top{display:flex; align-items:stretch; gap:11px}
.jc-thumb{width:96px; flex-shrink:0; align-self:stretch; border-radius:10px; overflow:hidden;
  background:var(--soft); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; min-height:66px}
.jc-thumb img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block}
.jc-thumb-ph{font-size:26px; opacity:.55}
.jc-main{flex:1; min-width:0; text-decoration:none; color:inherit; display:block}
.jc-clinic{font-size:13px; font-weight:600; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.jc-type{font-size:12.5px; color:var(--tx); margin:5px 0 0; font-weight:600}
.jc-salary{font-size:12px; color:var(--tx2); margin:5px 0 0}
.jc-loc{font-size:11.5px; color:var(--tx2); margin:5px 0 0}
.jc-conds{display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 0}
/* キャッチ：給与の下・カード全幅・1行で省略 */
.jc-catch{display:block; font-size:12px; color:var(--pink); margin:9px 0 0; line-height:1.5;
  text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

/* 医院名のぼかし（残0pt：伏せ求人。ダミー文字をぼかす） */
.clinicblur{filter:blur(4px); -webkit-filter:blur(4px); user-select:none; color:var(--tx2); letter-spacing:1px}

/* カード内の操作列 */
.jc-act{display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center; flex-shrink:0}
.favform{margin:0}
.fav{width:36px; height:36px; border-radius:50%; border:1px solid var(--line); background:none; color:var(--pink); font-size:16px; cursor:pointer}
.fav.on{background:var(--pinkTint); border-color:var(--pinkBorder)}
/* 詳細ページの気になるボタン（横長） */
.jd-favform{margin:0 0 8px}
.jd-favform .fav{width:auto; height:auto; border-radius:20px; padding:7px 14px; font-size:12px; font-weight:600}
.jbtn2{display:inline-block; text-align:center; text-decoration:none; border-radius:20px; font-size:11px; font-weight:700; padding:7px 8px; width:96px; cursor:pointer}
.jbtn2.primary{background:var(--pink); border:none; color:#fff}
.jbtn2.ghost{background:var(--pinkTint); border:1px solid var(--pinkBorder); color:var(--pink)}
.jbtn2:disabled, .fav:disabled{opacity:.6; cursor:not-allowed}
.jobsactnote{text-align:center; margin:8px 0 0}

/* 医院情報のみ（求人未登録・募集リクエスト／仕様5.2-2） */
.jobless{margin-top:22px}
.jobless-cap{font-size:12px; color:var(--tx2); font-weight:700; border-top:1px solid var(--line);
  padding-top:16px; margin:0 0 12px}
.jc-badges{display:flex; flex-wrap:wrap; gap:5px; margin:6px 0 0}
.jl-btag{font-size:10.5px; font-weight:700; color:var(--pink); background:var(--pinkTint);
  border-radius:10px; padding:2px 8px}
.jl-ktag{font-size:10.5px; color:var(--tx2); background:var(--soft); border-radius:10px; padding:2px 8px}
.jc-note{margin:8px 0 0; line-height:1.6}

/* 地図 */
.jd-map{margin-top:12px; border-radius:12px; overflow:hidden; line-height:0}
.jd-map iframe{width:100%; height:220px; border:0; display:block}

/* パンくず・内部リンク（SEO） */
.crumbs{margin:0 0 var(--sp3)}
.crumbs a{color:var(--tx2); text-decoration:none}
.joblinks{background:var(--card); border:1px solid var(--line); border-radius:14px; padding:14px; margin-top:var(--sp4)}
.joblinks ul{list-style:none; margin:0; padding:0}
.joblinks li{padding:7px 0; border-bottom:1px solid var(--line)}
.joblinks li:last-child{border-bottom:none}
.joblinks a{font-size:13px; color:var(--pink); text-decoration:none}

/* マッチ度バッジ */
.match{display:inline-flex; align-items:center; gap:5px; margin:6px 0; padding:4px 11px; border-radius:20px; font-size:11px; font-weight:700}
.match .sym{font-size:12px; line-height:1}
.m3{background:var(--pink); color:#fff}
.m2{background:var(--pinkTint); color:var(--pink)}
.m1{background:var(--soft); color:var(--tx2)}

/* 詳細 */
.jobdetail{max-width:520px; padding-bottom:120px}
.jback{color:var(--pink); text-decoration:none; font-weight:600; font-size:13px}
.jd-head{margin-bottom:12px}
.jd-clinic{font-size:13px; font-weight:600; margin:0 0 4px}
.jd-clinic.masked{color:var(--tx3)}
.jd-type{font-size:18px; margin:8px 0 6px}
.jd-catch{font-size:13px; color:var(--pink); margin:0 0 8px; line-height:1.5}
.jd-salary{font-size:14px; font-weight:700; color:var(--tx); margin:0}
.jd-masknote{background:var(--pinkTint); color:var(--pink); font-size:12.5px; margin-bottom:12px}
.card + .card{margin-top:12px}
/* .jd-h2 は common.css（共通UI部品）に移動 */
.tags{display:flex; gap:6px; flex-wrap:wrap}
.btag{font-size:11px; padding:3px 10px; border-radius:20px; background:var(--pinkTint); color:var(--pink)}
.ktag{font-size:11px; padding:3px 10px; border-radius:20px; background:var(--soft); color:var(--tx2)}
.jd-dl{margin:0}
.jd-dl dt{font-size:12px; font-weight:700; color:var(--tx2); margin-top:12px}
.jd-dl dt:first-child{margin-top:0}
.jd-dl dd{margin:4px 0 0; font-size:13px; line-height:1.6}
.jd-seeker{margin-top:12px}
.jd-report{margin:10px 0 0}
.jd-report a{color:var(--tx2); text-decoration:none}

/* アクションカード */
.jd-flash{background:var(--wBg); color:var(--wTx); font-size:13px; font-weight:600;
  border-radius:12px; padding:12px 14px; margin-bottom:12px}
.jd-actions{margin-top:12px}
.jd-btnrow{display:flex; gap:8px}
.jd-btnrow form{flex:1}
.jbtn{width:100%; border-radius:22px; font-size:13px; font-weight:700; padding:12px 0; cursor:pointer}
/* リンクを .jbtn として使う場合（下線を消し・中央寄せ・ブロック化） */
a.jbtn{display:block; text-align:center; text-decoration:none; box-sizing:border-box}
.jbtn.ghost{background:none; border:1px solid var(--pink); color:var(--pink)}
.jbtn.primary{background:var(--pink); border:none; color:#fff}
.jbtn.wide{width:100%}
.jbtn:disabled{opacity:.55; cursor:not-allowed}
.jd-actnote{margin:10px 0 0}
.jd-qform{margin-top:16px; border-top:1px solid var(--line); padding-top:14px}
.jd-qlabel{display:block; font-size:12.5px; font-weight:600; color:var(--tx2); margin-bottom:6px}
.jd-qform textarea{width:100%; border:1px solid var(--line); border-radius:10px; padding:11px 12px;
  font-size:14px; font-family:inherit; resize:vertical; margin-bottom:10px}

/* 求人詳細：医院写真カルーセル（自動スライド＋矢印＋スワイプ） */
.jd-carousel{position:relative; margin:0 0 12px; border-radius:14px; overflow:hidden; border:1px solid var(--line); background:var(--soft)}
.jd-viewport{overflow:hidden}
.jd-track{display:flex; transition:transform .5s cubic-bezier(.2,.7,.2,1); touch-action:pan-y}
.jd-track.dragging{transition:none}
.jd-slide{flex:0 0 100%; width:100%; height:260px; display:flex; align-items:center; justify-content:center}
.jd-slide img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block; user-select:none; -webkit-user-drag:none}
@media(max-width:520px){.jd-slide{height:230px}}
.jd-arrow{position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border:none; cursor:pointer;
  background:rgba(255,255,255,.86); color:var(--tx); border-radius:50%; font-size:22px; line-height:1; font-weight:700;
  display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.25)}
.jd-arrow:hover{background:#fff}
.jd-arrow.prev{left:8px}
.jd-arrow.next{right:8px}
.jd-dots{position:absolute; left:0; right:0; bottom:8px; display:flex; justify-content:center; gap:7px}
.jd-dot{width:8px; height:8px; border-radius:50%; border:none; padding:0; cursor:pointer; background:var(--pinkTint); box-shadow:0 0 0 1px rgba(153,53,86,.35)}
.jd-dot.on{background:var(--pink); width:20px; border-radius:5px; box-shadow:none}

/* seeker由来：総合評価・紹介動画（求人詳細） */
.jd-rating{margin:0 0 8px; font-size:15px}
.jd-rating .jd-stars{color:#EF9F27}
.jd-rating b{font-size:18px}
.jd-video{position:relative; width:100%; padding-bottom:56.25%; height:0; border-radius:12px; overflow:hidden; background:var(--soft)}
.jd-video iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
/* 求人カードの★評価（医院名の横） */
.jc-rating{font-size:11.5px; color:#855209; margin-left:6px; white-space:nowrap}

/* 患者からの口コミ（seeker由来・代表1件） */
.jd-review{margin:0; padding:10px 14px; background:var(--soft); border-radius:12px;
  font-size:13px; line-height:1.7; color:var(--tx); border-left:3px solid var(--pinkBorder)}
.jd-review-more{color:var(--pink); font-weight:700; font-size:13px; text-decoration:none}

/* 検索0件の回避（§7） */
.noresult{padding:22px 16px}
.noresult-cta{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}
.noresult-cta .jbtn2{display:inline-block;text-decoration:none;text-align:center;padding:9px 16px}
