.jw-single{ box-sizing:border-box; }
.jw-single-container h1,
.jw-single-container h2,
.jw-single-container h3,
.jw-single-container h4{
  border:0 !important;
}
.jw-single .vk_heading,
.jw-single .vk_heading_title,
.jw-single .vk_heading_subtitle,
.jw-single .vk_heading_line,
.jw-single .vk_post_title,
.jw-single .entry-title,
.jw-single .entry-body h2,
.jw-single .entry-body h3,
.jw-single .entry-body h4{ border:0 !important; box-shadow:none !important; }
.jw-single hr,
.jw-single .wp-block-separator{ display:none !important; }
.jw-single a{ text-decoration:none; }

/* ===== page base ===== */
.jw-single{
  background:#f4f6f9;
  padding:16px 10px 190px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Noto Sans JP","Helvetica Neue",Arial,sans-serif;
  color:#0f172a;
  line-height:1.75;
}

.jw-single-container{
  max-width:1100px; /* ←左右の余白を“広げる” */
  margin:0 auto;
}

/* ===== breadcrumb ===== */
.jw-breadcrumb{
  font-size:12.5px;
  color:#334155;
  margin:6px 4px 14px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.jw-breadcrumb a{
  color:#0f172a;
  text-decoration:underline;
  text-underline-offset:3px;
}
.jw-breadcrumb .jw-sep{ color:#94a3b8; }

/* ===== cards ===== */
.jw-card{
  background:#fff;
  border-radius:18px;
  border:1px solid #eef2f7;
  box-shadow:0 12px 30px rgba(15,23,42,.06);
  padding:18px;
  margin:0 0 14px;
}

/* ===== hero ===== */
.jw-hero{ padding:16px; }

.jw-hero-media{
  border-radius:16px;
  overflow:hidden;
  margin:0 0 12px;
  box-shadow:0 16px 34px rgba(15,23,42,.10);
}
.jw-hero-media img{
  display:block;
  width:100%;
  height:auto;
}

.jw-hero-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.jw-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
}
.jw-pill-hot{
  background:#ff2d55;
  color:#fff;
}
.jw-pill-soft{
  background:#f1f5f9;
  color:#0f172a;
  border:1px solid #e2e8f0;
}

.jw-title-area{ margin-bottom:10px; }
.jw-title{
  font-size:22px;
  line-height:1.35;
  margin:0 0 10px;
  font-weight:600;
  letter-spacing:.01em;
  color:#0b1220;
}

/* tags */
.jw-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.jw-tag{
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:800;
  color:#0f172a;
}

/* ===== salary box（上は白・中だけ薄い黄） ===== */
.jw-salary{ margin-top:12px; }
.jw-salary-badge{
  display:inline-block;
  background:#ff3b30;
  color:#fff;
  font-size:12px;
  font-weight:900;
  padding:7px 12px;
  border-radius:999px;
}
.jw-salary-box{
  margin-top:10px;
  background:#fff7cc; /* ←黄色はここだけ（“必要最小限”） */
  border-radius:18px;
  padding:14px;
  border:1px solid rgba(245,158,11,.18);
}

.jw-salary-row{
  display:flex;
  gap:10px;
  align-items:baseline;
}
.jw-salary-k{
  font-size:14px;
  font-weight:600;
  color:#0f172a;
}
.jw-salary-v{
  font-size:30px;
  font-weight:600;
  color:#ff3b30;
  letter-spacing:.02em;
}
.jw-salary-sub{
  margin-top:8px;
  font-size:13.5px;
  color:#0f172a;
  font-weight:600;
}

/* quick facts（ここに所在地/雇用形態/求人IDを出す） */
.jw-quickfacts{
  margin-top:12px;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(255,255,255,.8);
  border-radius:14px;
  padding:10px 12px;
}
.jw-qf{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-top:1px solid rgba(15,23,42,.08);
}
.jw-qf:first-child{ border-top:none; }
.jw-qf-k{
  min-width:72px;
  font-size:12.5px;
  font-weight:900;
  color:#334155;
}
.jw-qf-v{
  font-size:13.5px;
  font-weight:900;
  color:#0f172a;
  text-align:right;
}

/* ===== CTA（黄色は1本、残り今っぽく） ===== */
.jw-fast{ margin-top:14px; }
.jw-fast-text{
  text-align:center;
  font-size:14px;
  color:#334155;
  margin-bottom:10px;
}
.jw-fast-text b{ font-weight:1000; color:#0f172a; }

.jw-fast-btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:#f7b500;
  color:#fff;
  border-radius:999px;
  padding:14px 16px;
  box-shadow:0 14px 30px rgba(247,181,0,.22);
}
.jw-fast-chip{
  background:#fff;
  color:#f08c00;
  font-weight:1000;
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
  white-space:nowrap;
}
.jw-fast-main{ font-weight:1000; font-size:15px; white-space:nowrap; }
.jw-fast-arrow{ font-size:22px; line-height:1; opacity:.95; padding-left:6px; }

.jw-call-btn{
  display:block;
  margin-top:12px;
  background:linear-gradient(135deg,#77c043,#5fb85b);
  color:#fff;
  text-align:center;
  border-radius:999px;
  padding:14px 16px;
  font-weight:1000;
  box-shadow:0 14px 30px rgba(95,184,91,.18);
}

.jw-phone-note{
  margin-top:10px;
  text-align:center;
  font-size:13px;
  font-weight:900;
  color:#334155;
}

/* ===== consult ===== */
.jw-consult{ margin:14px 0; text-align:center; }
.jw-consult-head{
  font-size:17px;
  font-weight:1000;
  line-height:1.5;
  margin: 8px 0 14px;
  color:#0f172a;
}
.jw-consult-btns{ display:grid; gap:10px; }
.jw-consult-primary,
.jw-consult-secondary{
  display:block;
  border-radius:18px;
  padding:14px 12px;
  color:#fff;
  font-weight:1000;
  box-shadow:0 12px 26px rgba(15,23,42,.08);
}
.jw-consult-primary{ background:linear-gradient(135deg,#ffb800,#f59e0b); }
.jw-consult-secondary{ background:linear-gradient(135deg,#77c043,#5fb85b); }
.jw-consult-primary span,
.jw-consult-secondary span{
  display:block;
  margin-top:4px;
  font-size:14px;
  opacity:.95;
}

/* ===== section titles + bullets ===== */
.jw-green-title{
  font-size:22px;
  font-weight:1000;
  color:#16a34a;
  margin:2px 0 12px;
  letter-spacing:.01em;
}

.jw-bullet{ margin:0; padding:0; list-style:none; }
.jw-bullet li{
  margin:0 0 10px;
  font-size:16px;
  font-weight:800;
  color:#0f172a;
  line-height:1.85;
}
.jw-bullet li:last-child{ margin-bottom:0; }
.jw-bullet li::before{
  content:"◆";
  display:inline-block;
  width:1.2em;
  color:#0f172a;
  font-weight:1000;
}

/* ===== accordion ===== */
.jw-accordion{ padding:0; overflow:hidden; }
.jw-acc-head{
  width:100%;
  border:none;
  background:#0f172a;
  color:#fff;
  padding:14px 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:15px;
  font-weight:1000;
  cursor:pointer;
}
.jw-acc-ico{
  width:34px;
  height:34px;
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:1000;
}
.jw-acc-body{ padding:16px; background:#fff; }

.jw-text{
  font-size:15px;
  line-height:1.95;
  color:#0f172a;
}
.jw-kv{ display:grid; gap:10px; }
.jw-kv-row{ display:flex; gap:12px; }
.jw-kv-k{ min-width:110px; font-weight:1000; color:#334155; }
.jw-kv-v{ color:#0f172a; font-weight:800; }

/* ===== apply ===== */
.jw-apply{ margin-top:18px; }
.jw-apply-btn{
  display:block;
  width:100%;
  max-width:620px;
  margin:0 auto;
  text-align:center;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(135deg,#0ea5e9,#0284c7);
  color:#fff;
  font-weight:1000;
  box-shadow:0 18px 36px rgba(2,132,199,.22);
}

/* ===== phone card（スクショ2風） ===== */
.jw-phonecard{ text-align:center; }
.jw-phonecall{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px 12px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e2e8f0;
}
.jw-phone-ico{
  font-size:20px;
  line-height:1;
  color:#0f172a;
}
.jw-phone-txt{
  font-size:14px;
  font-weight:1000;
  color:#0f172a;
}
.jw-phone-num{
  font-size:26px;
  font-weight:1100;
  color:#0f172a;
  letter-spacing:.02em;
}
.jw-phonehours{
  margin-top:10px;
  font-size:13px;
  color:#64748b;
  font-weight:900;
}
.jw-phonenote{
  margin-top:10px;
  font-size:13px;
  color:#64748b;
  font-weight:900;
}

/* ===== recommended ===== */
.jw-reco-wrap{ padding:18px; }
.jw-reco-head{
  margin:0 0 12px;
  font-size:20px;
  font-weight:1000;
  color:#0f172a;
}
.jw-reco-grid{
  display:grid;
  gap:12px;
}
.jw-reco-card{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid #eef2f7;
  background:#fff;
}
.jw-reco-img{
  border-radius:12px;
  overflow:hidden;
  background:#f1f5f9;
}
.jw-reco-img img{ width:100%; height:80px; object-fit:cover; display:block; }
.jw-reco-body{ display:flex; flex-direction:column; justify-content:center; gap:8px; }
.jw-reco-title{ font-size:14px; font-weight:1000; color:#0f172a; line-height:1.5; }
.jw-reco-cta{
  width:max-content;
  font-size:12.5px;
  font-weight:1000;
  color:#0284c7;
  border-bottom:2px solid rgba(2,132,199,.25);
}

/* ===== fixed CTA（mobile only） ===== */
.jw-fixed-cta{ display:none; }
@media (max-width: 768px){
  .jw-single{ padding:14px 10px 200px; }
  .jw-single-container{ max-width:100%; }

  .jw-fixed-cta{
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:9999;
    display:flex;
    gap:10px;
    padding:12px 12px calc(12px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    border-top:1px solid rgba(15,23,42,.10);
  }
  .jw-fixed-call, .jw-fixed-web{
    flex:1;
    text-align:center;
    padding:14px 10px;
    border-radius:16px;
    font-weight:1000;
    color:#fff;
  }
  .jw-fixed-call{ background:linear-gradient(135deg,#77c043,#5fb85b); }
  .jw-fixed-web{ background:linear-gradient(135deg,#0ea5e9,#0284c7); }

  .jw-salary-v{ font-size:28px; }
  .jw-kv-k{ min-width:96px; }
}
@media (max-width: 420px){
  .jw-title{ font-size:20px; }
  .jw-phone-num{ font-size:22px; }
}
.jw-steps{
  margin-top:20px;
}

.jw-step{
  background:#f7f7f7;
  border-radius:12px;
  padding:18px;
  margin-bottom:16px;
}

.jw-step-title{
  font-weight:600;
  margin-bottom:8px;
  font-size:16px;
}
.jw-green-title{
  font-size:20px;
  font-weight:600;
  margin-bottom:12px;
}

.jw-title{
  font-size:20px;
  font-weight:600;
}

.jw-acc-head{
  font-weight:600;
}
/* アコーディオン */

.jw-accordion{
  border:1px solid #e3e3e3;
  border-radius:10px;
  overflow:hidden;
  margin-bottom:16px;
}

.jw-acc-head{
  background:#f3f3f3;
  border:none;
  padding:14px 16px;
  font-size:15px;
  font-weight:600;
  color:#333;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
}

.jw-acc-head:hover{
  background:#ececec;
}

.jw-acc-body{
  padding:16px;
  font-size:14px;
  line-height:1.7;
}

.jw-acc-ico{
  font-size:18px;
}
.jw-apply-form input{
width:100%;
padding:12px;
margin-bottom:10px;
border:1px solid #ddd;
border-radius:6px;
font-size:16px;
}

.jw-apply-btn{
width:100%;
background:#ff6a00;
color:#fff;
border:none;
padding:14px;
font-size:18px;
border-radius:8px;
cursor:pointer;
font-weight:bold;
}

.jw-apply-title{
font-size:20px;
font-weight:bold;
margin-bottom:10px;
}
.jw-field{
margin-bottom:28px;
}

.jw-field label{
font-weight:700;
font-size:18px;
display:block;
margin-bottom:10px;
}

.req{
background:#e74c3c;
color:#fff;
padding:3px 8px;
border-radius:6px;
font-size:12px;
margin-left:8px;
}

.jw-row2{
display:flex;
gap:12px;
}

.jw-row3{
display:flex;
align-items:center;
gap:8px;
}

.jw-row2 input,
.jw-row3 input{
flex:1;
padding:14px;
border-radius:10px;
border:1px solid #ddd;
font-size:16px;
}

.jw-field input[type=email]{
width:100%;
padding:14px;
border-radius:10px;
border:1px solid #ddd;
font-size:16px;
}

.jw-help{
font-size:13px;
color:#777;
margin-top:6px;
}

.jw-apply-btn{
width:100%;
background:#ff6b2c;
color:#fff;
border:none;
padding:16px;
border-radius:10px;
font-size:18px;
font-weight:700;
cursor:pointer;
margin-top:10px;
}
.jw-tel{
display:flex;
align-items:center;
gap:8px;
}

.jw-tel input{
width:30%;
text-align:center;
}

.jw-tel span{
font-size:18px;
font-weight:900;
}
.jw-apply-title{
font-size:22px;
font-weight:800;
color:#1a1a1a;
margin-bottom:18px;
display:flex;
align-items:center;
gap:8px;
}

.jw-apply-title{
font-size:20px;
font-weight:800;
color:#222;
margin-bottom:18px;
padding-bottom:8px;
border-bottom:2px solid #e5e5e5;
}

.jw-apply-sub{
font-size:13px;
color:#666;
margin-top:-10px;
margin-bottom:18px;
}
.jw-form{
background:#fff;
padding:28px;
border-radius:16px;
box-shadow:0 6px 24px rgba(0,0,0,.08);
border:1px solid #eee;
}
.jw-submit{
width:100%;
background:linear-gradient(90deg,#ff7a18,#ff5a00);
color:#fff;
border:none;
padding:18px;
border-radius:12px;
font-size:18px;
font-weight:700;
cursor:pointer;
margin-top:20px;
box-shadow:0 6px 20px rgba(255,106,0,.35);
transition:.2s;
}

.jw-submit:hover{
transform:translateY(-2px);
box-shadow:0 8px 24px rgba(255,106,0,.4);
}
.jw-required{
background:#ff4a3d;
color:#fff;
font-size:11px;
padding:3px 7px;
border-radius:5px;
margin-left:6px;
font-weight:700;
}
.jw-group{
margin-bottom:24px;
}
.jw-form-head{
font-size:20px;
font-weight:800;
color:#222;
margin-bottom:20px;
}
.jw-apply-title{
font-size:18px;
font-weight:600;
color:#222;
margin-bottom:20px;
border-bottom:none;
padding-bottom:0;
}
.jw-apply-title{
font-size:18px;
font-weight:700;
color:#222;
margin-bottom:20px;
border:none;
}
.jw-apply-note{
font-size:13px;
color:#666;
margin-top:-12px;
margin-bottom:20px;
}
.jw-more{
display:none;
}

.jw-more-btn{
margin-top:12px;
background:none;
border:none;
color:#0073aa;
font-weight:600;
font-size:14px;
}