:root{
  --jw-orange:#f56a00;
  --jw-orange-dark:#ea5d00;
  --jw-navy:#132f57;
  --jw-yellow:#ffcc00;
  --jw-bg:#efefef;
  --jw-card:#ffffff;
  --jw-border:#d9d9d9;
  --jw-text:#222;
  --jw-muted:#777;
  --jw-red:#ff4a3d;
  --jw-green:#2f8f62;
  --jw-soft-green:#cfe7d8;
  --jw-shadow:0 2px 12px rgba(0,0,0,.06);
  --jw-radius:18px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

body.post-type-archive-job{
  background:var(--jw-bg);
}

body.post-type-archive-job #header,
body.post-type-archive-job .siteHeader,
body.post-type-archive-job .l-header,
body.post-type-archive-job .header,
body.post-type-archive-job .global-nav,
body.post-type-archive-job .site-branding{
  display:none !important;
}

body.post-type-archive-job .siteContent,
body.post-type-archive-job .siteContent__inner,
body.post-type-archive-job .container,
body.post-type-archive-job .l-container,
body.post-type-archive-job .content,
body.post-type-archive-job .content-area{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}

body.post-type-archive-job .jw-page{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  color:var(--jw-text);
  padding-top:92px;
}

.jw-page__inner{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  background:var(--jw-bg);
  min-height:100vh;
}

/* =========================
   TOP STRIP
========================= */

.jw-top-strip{
  position:fixed;
  top:0;
  left:0;
  right:0;
  height:28px;
  background:var(--jw-orange);
  z-index:9998;
  display:flex;
  align-items:center;
  justify-content:center;
}

.jw-top-strip__inner{
  width:100%;
  text-align:center;
  color:#fff;
  font-size:12px;
  letter-spacing:.02em;
  padding:0 10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* =========================
   HEADER
========================= */

.jw-header{
  position:fixed;
  top:28px;
  left:0;
  right:0;
  z-index:9999;
  background:#fff;
  border-bottom:1px solid #dedede;
}

.jw-header__inner{
  max-width:1120px;
  margin:0 auto;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
}

.jw-brand{
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em;
  color:var(--jw-navy);
  white-space:nowrap;
}

.jw-accent{
  color:var(--jw-yellow);
  font-weight:900;
}

.jw-header__icons{
  display:flex;
  align-items:flex-end;
  gap:16px;
}

.jw-iconbtn{
  border:0;
  background:transparent;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:46px;
  text-decoration:none;
  cursor:pointer;
  color:inherit;
}

.jw-ic{
  font-size:16px;
  line-height:1;
}

.jw-iclabel{
  font-size:11px;
  color:#666;
  line-height:1.1;
  font-weight:700;
  white-space:nowrap;
}

/* =========================
   MAIN
========================= */

.jw-main{
  padding-bottom:36px;
}

/* =========================
   SECTION TITLES
========================= */

.jw-section-heading{
  font-size:20px;
  font-weight:900;
  color:#444;
  margin:0 0 16px;
}

.jw-section-subheading{
  font-size:17px;
  font-weight:900;
  color:#444;
  margin:0 0 14px;
}

.jw-section-subheading--premium::before{
  content:"♛";
  margin-right:6px;
  color:#222;
}

/* =========================
   HERO
========================= */

.jw-hero{
  background:#fff;
  overflow:hidden;
}

.jw-hero__track{
  display:flex;
  width:100%;
  transition:transform .6s ease;
}

.jw-hero__slide{
  position:relative;
  flex:0 0 100%;
  background:#fff;
}

.jw-hero__slide img{
  display:block;
  width:100%;
  height:auto;
}

.jw-hero__pickup{
  position:absolute;
  top:18px;
  right:-72px;
  background:#ff4033;
  color:#fff;
  font-size:18px;
  font-weight:900;
  padding:12px 90px;
  transform:rotate(35deg);
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}

.jw-hero__thumbs{
  display:flex;
  gap:14px;
  padding:16px 12px;
  background:#fff;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.jw-thumb{
  flex:0 0 118px;
  border-radius:20px;
  overflow:hidden;
  border:2px solid transparent;
  opacity:.55;
  cursor:pointer;
  background:#fff;
  transition:.2s;
}

.jw-thumb.active{
  opacity:1;
  border-color:var(--jw-orange);
}

.jw-thumb img{
  display:block;
  width:100%;
  height:68px;
  object-fit:cover;
}

/* =========================
   SEARCH
========================= */

.jw-search{
  background:#e9e9e9;
  padding:18px 22px 0;
}

.jw-searchbox{
  padding-bottom:8px;
}

.jw-searchrow{
  width:100%;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  border:2px solid #d1d1d1;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  margin-bottom:14px;
  padding:0;
  cursor:pointer;
}

.jw-searchrow__label{
  width:160px;
  flex:0 0 160px;
  background:var(--jw-orange);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:18px;
  font-weight:900;
  line-height:1.15;
  padding:18px 14px;
  text-align:left;
}

.jw-searchrow__label svg{
  width:20px;
  height:20px;
  fill:#fff;
  display:block;
}

.jw-searchrow__value{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
  font-size:18px;
  font-weight:900;
  color:var(--jw-orange);
  background:#fff;
}

.jw-searchrow__arrow svg{
  width:24px;
  height:24px;
  fill:var(--jw-orange);
  display:block;
}

.jw-hit{
  text-align:center;
  color:#666;
  font-size:24px;
  padding:10px 0 8px;
}

.jw-hit__num{
  font-size:58px;
  font-weight:900;
  color:#333;
  line-height:1;
  vertical-align:baseline;
}

.jw-search-actions{
  display:flex;
  gap:18px;
  padding:0 0 8px;
}

.jw-btn{
  border-radius:12px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:20px;
  font-weight:900;
  border:2px solid transparent;
  cursor:pointer;
}

.jw-btn--ghost{
  flex:0 0 270px;
  background:#fff;
  border-color:#d5d5d5;
  color:#888;
}

.jw-btn--primary{
  flex:1;
  background:var(--jw-orange);
  border-color:var(--jw-orange);
  color:#fff;
}

.jw-btn--primary svg{
  width:24px;
  height:24px;
  fill:#fff;
}

/* =========================
   POPULAR
========================= */

.jw-popular{
  background:#e9e9e9;
  padding:14px 22px 18px;
}

.jw-popular__chips{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.jw-chip{
  min-width:126px;
  height:68px;
  padding:0 18px;
  border:2px solid #cfcfcf;
  border-radius:12px;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#666;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
}

.jw-chip svg{
  width:21px;
  height:21px;
  fill:#777;
  display:block;
}

/* =========================
   PREMIUM
========================= */

.jw-premium{
  background:#f5f0ec;
  padding:20px 22px 18px;
}

.jw-premium__list{
  display:flex;
  flex-direction:column;
}

.jw-premium-card{
  display:flex;
  align-items:stretch;
  gap:20px;
  text-decoration:none;
  color:inherit;
  background:#f7f4f2;
  border-top:1px solid #ddd;
  padding:16px 0;
}

.jw-premium-card:first-child{
  border-top:0;
  padding-top:6px;
}

.jw-premium-card__thumb{
  width:48%;
  flex:0 0 48%;
  overflow:hidden;
}

.jw-premium-card__thumb img{
  width:100%;
  height:205px;
  object-fit:cover;
  display:block;
}

.jw-premium-card__body{
  flex:1;
  min-width:0;
}

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

.jw-premium-card__area{
  font-size:22px;
  font-weight:900;
  color:#222;
  line-height:1.25;
}

.jw-premium-card__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--jw-orange);
  color:#fff;
  border-radius:8px;
  padding:6px 14px;
  font-size:16px;
  font-weight:900;
  white-space:nowrap;
}

.jw-premium-card__salary{
  line-height:1.2;
  margin-bottom:12px;
}

.jw-premium-card__salary-label{
  font-size:24px;
  color:#333;
  font-weight:500;
  margin-right:8px;
}

.jw-premium-card__salary-num{
  font-size:56px;
  color:var(--jw-orange);
  font-weight:900;
  letter-spacing:.01em;
}

.jw-premium-card__salary-unit{
  font-size:24px;
  color:#333;
  font-weight:700;
  margin-left:6px;
}

.jw-premium-card__desc{
  font-size:22px;
  color:#333;
  line-height:1.6;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* =========================
   DIAGNOSIS
========================= */

.jw-diagnosis{
  background:#f1f1f1;
  padding:12px 22px 24px;
}

.jw-diagnosis__cap{
  font-size:16px;
  font-weight:800;
  color:#555;
  margin-bottom:8px;
}

.jw-diagnosis__lead{
  background:#fff;
  border-top:1px solid #ddd;
  border-bottom:2px solid #ef8a4a;
  text-align:center;
  padding:14px 18px;
  font-size:20px;
  color:#444;
  font-weight:700;
}

.jw-diagnosis__lead span{
  color:var(--jw-orange);
  font-weight:900;
}

.jw-diagnosis__box{
  background:#f7f7f7;
  padding:18px 16px 20px;
}

.jw-diagnosis__remain{
  text-align:center;
  color:#167d54;
  font-weight:900;
  font-size:32px;
  margin-bottom:16px;
}

.jw-diagnosis__progress{
  height:16px;
  background:#dfeee4;
  border-radius:999px;
  overflow:hidden;
  margin-bottom:28px;
}

.jw-diagnosis__progress span{
  display:block;
  width:14%;
  height:100%;
  background:#bfdac7;
}

.jw-diagnosis__q{
  text-align:center;
  font-size:34px;
  font-weight:900;
  color:#222;
  margin-bottom:28px;
}

.jw-diagnosis__select{
  width:100%;
  height:104px;
  background:#fff;
  border:3px solid #d0d0d0;
  border-radius:26px;
  display:flex;
  align-items:center;
  padding:0 28px;
  font-size:28px;
  color:#444;
  margin-bottom:26px;
}

.jw-diagnosis__chips{
  display:flex;
  flex-wrap:wrap;
  gap:22px 24px;
  justify-content:center;
  margin-bottom:30px;
}

.jw-diagnosis__chips button{
  min-width:208px;
  height:84px;
  padding:0 26px;
  border-radius:999px;
  border:3px solid #d1d1d1;
  background:#f6f6f6;
  color:#333;
  font-size:24px;
  font-weight:500;
  cursor:pointer;
}

.jw-diagnosis__next{
  width:100%;
  height:108px;
  border:0;
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:34px;
  font-weight:900;
  cursor:pointer;
}

/* =========================
   NEW JOBS
========================= */

.jw-newjobs{
  background:#efefef;
  padding:14px 22px 30px;
}

.jw-newjobs__list{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.jw-jobcard{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
}

.jw-jobcard__image{
  position:relative;
  background:#fff;
}

.jw-jobcard__image img{
  width:100%;
  height:auto;
  display:block;
}

.jw-jobcard__badge{
  position:absolute;
  top:18px;
  z-index:3;
  height:68px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  color:#fff;
  font-size:22px;
  font-weight:900;
}

.jw-jobcard__badge--new{
  left:18px;
  background:var(--jw-red);
}

.jw-jobcard__badge--dorm{
  left:160px;
  background:var(--jw-red);
}

.jw-jobcard__body{
  padding:18px 22px 22px;
}

.jw-jobcard__no{
  font-size:18px;
  color:#777;
  margin-bottom:8px;
}

.jw-jobcard__title{
  font-size:26px;
  font-weight:900;
  line-height:1.45;
  margin:0 0 14px;
  color:#222;
}

.jw-jobcard__title a{
  color:inherit;
  text-decoration:none;
}

.jw-jobcard__tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.jw-jobcard__tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 16px;
  border:2px solid #79a8f9;
  border-radius:999px;
  background:#f5f9ff;
  color:#79a8f9;
  font-size:16px;
  font-weight:900;
}

.jw-jobcard__salary{
  margin-bottom:14px;
  line-height:1.2;
}

.jw-jobcard__salary-label{
  font-size:30px;
  color:#444;
  font-weight:700;
  margin-right:8px;
}

.jw-jobcard__salary-num{
  font-size:62px;
  color:var(--jw-orange);
  font-weight:900;
  letter-spacing:.01em;
}

.jw-jobcard__salary-unit{
  font-size:30px;
  color:#555;
  font-weight:900;
  margin-left:6px;
}

.jw-jobcard__excerpt{
  font-size:20px;
  line-height:1.65;
  color:#555;
  margin-bottom:12px;
}

.jw-jobcard__place{
  font-size:18px;
  line-height:1.5;
  color:#555;
  margin-bottom:18px;
  font-weight:700;
}

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

.jw-jobcard__btn{
  flex:1;
  min-height:86px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:22px;
  background:#fff;
  border:4px solid #f09042;
  color:#f09042;
  text-decoration:none;
  font-size:22px;
  font-weight:500;
  cursor:pointer;
}

.jw-jobcard__btn--entry{
  border-color:var(--jw-orange);
  color:var(--jw-orange);
}

.jw-jobcard__btn--keep{
  background:#fff;
}

/* =========================
   PAGINATION
========================= */

.jw-pagination{
  padding:20px 0 0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}

.jw-pagination .page-numbers{
  min-width:48px;
  height:48px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #ccc;
  border-radius:10px;
  background:#fff;
  text-decoration:none;
  color:#555;
  font-weight:900;
}

.jw-pagination .current{
  background:var(--jw-orange);
  border-color:var(--jw-orange);
  color:#fff;
}

/* =========================
   EMPTY
========================= */

.jw-empty{
  text-align:center;
  padding:30px 16px;
  color:#666;
  font-weight:800;
}

/* =========================
   MODAL / SHEET
========================= */

.jw-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.4);
  z-index:10000;
}

.jw-sheet{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:10001;
  background:#fff;
  border-radius:20px 20px 0 0;
  box-shadow:0 -8px 24px rgba(0,0,0,.14);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  transform:translateY(104%);
  transition:transform .25s ease-out;
}

.jw-sheet.is-open{
  transform:translateY(0);
}

.jw-sheet__header{
  min-height:64px;
  padding:12px 16px;
  border-bottom:1px solid #e5e5e5;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.jw-sheet__title{
  font-size:20px;
  font-weight:900;
  color:#222;
}

.jw-selected-area{
  font-size:12px;
  color:#777;
  margin-top:4px;
}

.jw-sheet__close{
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  font-size:28px;
  color:#666;
  cursor:pointer;
}

.jw-sheet__spacer{
  width:42px;
}

.jw-sheet__content{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px 0;
}

.jw-sheet__bottom{
  background:#fff;
  padding:12px 16px 18px;
  box-shadow:0 -2px 10px rgba(0,0,0,.08);
}

.jw-bottombtn{
  width:100%;
  height:64px;
  border:0;
  border-radius:14px;
  background:var(--jw-orange);
  color:#fff;
  font-size:22px;
  font-weight:900;
  cursor:pointer;
}

.jw-formblock{
  padding:12px 16px 2px;
}

.jw-formblock__label{
  font-size:18px;
  font-weight:900;
  color:#555;
  margin:0 0 10px;
}

.jw-inputlike{
  width:100%;
  height:56px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#fff;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:16px;
  font-weight:900;
  color:#777;
  cursor:pointer;
}

.jw-inputlike__arrow svg{
  width:20px;
  height:20px;
  fill:#999;
}

.jw-salaryrow{
  display:flex;
  gap:10px;
}

.jw-select{
  position:relative;
  flex:1;
}

.jw-select select{
  appearance:none;
  width:100%;
  height:56px;
  border:1px solid #ddd;
  border-radius:12px;
  padding:0 40px 0 14px;
  background:#fff;
  font-size:16px;
  font-weight:900;
  color:#333;
}

.jw-select__arrow{
  position:absolute;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  pointer-events:none;
}

.jw-select__arrow svg{
  width:20px;
  height:20px;
  fill:#999;
}

.jw-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid #ddd;
  border-radius:12px;
  overflow:hidden;
}

.jw-griditem{
  min-height:56px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  background:#fff;
  color:#333;
  font-weight:900;
  cursor:pointer;
}

.jw-griditem:nth-child(2n){
  border-right:none;
}

.jw-griditem:last-child,
.jw-griditem:nth-last-child(2){
  border-bottom:none;
}

.jw-switchrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-bottom:14px;
}

.jw-switchrow__label{
  font-size:18px;
  font-weight:900;
  color:#555;
}

.jw-switch{
  position:relative;
  width:56px;
  height:32px;
}

.jw-switch input{
  opacity:0;
  width:0;
  height:0;
}

.jw-switch__ui{
  position:absolute;
  inset:0;
  background:#ddd;
  border-radius:999px;
  transition:.2s;
}

.jw-switch__ui::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:26px;
  height:26px;
  background:#fff;
  border-radius:50%;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
  transition:.2s;
}

.jw-switch input:checked + .jw-switch__ui{
  background:var(--jw-orange);
}

.jw-switch input:checked + .jw-switch__ui::after{
  transform:translateX(24px);
}

.jw-sheet--menu .jw-menulink{
  display:block;
  padding:18px 16px;
  border-bottom:1px solid #eee;
  color:#333;
  text-decoration:none;
  font-weight:900;
}

/* =========================
   REGION UI
========================= */

.jw-region{
  background:#fff;
  border-top:1px solid #ececec;
}

.jw-region-title,
.jw-pref-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px;
  cursor:pointer;
  font-weight:900;
  color:#333;
}

.jw-region-body,
.jw-cities{
  display:none;
  padding:0 16px 12px;
}

.jw-region-body.is-open,
.jw-cities.is-open{
  display:block;
}

.jw-all-select{
  margin:6px 0 12px;
  color:#666;
  font-size:14px;
}

.jw-pref-block{
  border-top:1px solid #f0f0f0;
}

.jw-city{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  color:#333;
  cursor:pointer;
}

.jw-plus{
  width:22px;
  height:22px;
  border-radius:50%;
  background:#eaf1ff;
  position:relative;
  flex:0 0 auto;
}

.jw-plus::before,
.jw-plus::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  background:#3b6df6;
}

.jw-plus::before{
  width:12px;
  height:2px;
}

.jw-plus::after{
  width:2px;
  height:12px;
}

.jw-region-title.active .jw-plus::after,
.jw-pref-title.active .jw-plus::after{
  display:none;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 980px){

  .jw-page__inner{
    max-width:100%;
  }

  .jw-header__inner{
    padding:0 14px;
  }

  .jw-brand{
    font-size:22px;
  }

  .jw-header__icons{
    gap:12px;
  }

  .jw-iconbtn{
    min-width:42px;
  }

  .jw-iclabel{
    font-size:10px;
  }

  .jw-search,
  .jw-popular,
  .jw-premium,
  .jw-diagnosis,
  .jw-newjobs{
    padding-left:12px;
    padding-right:12px;
  }

  .jw-section-heading{
    font-size:16px;
    margin-bottom:12px;
  }

  .jw-section-subheading{
    font-size:15px;
  }

  .jw-searchrow{
    border-width:1px;
    border-radius:10px;
    margin-bottom:10px;
  }

  .jw-searchrow__label{
    width:105px;
    flex:0 0 105px;
    font-size:15px;
    padding:14px 10px;
    gap:7px;
  }

  .jw-searchrow__label svg{
    width:17px;
    height:17px;
  }

  .jw-searchrow__value{
    padding:0 14px;
    font-size:15px;
  }

  .jw-hit{
    font-size:14px;
    padding:8px 0 6px;
  }

  .jw-hit__num{
    font-size:28px;
  }

  .jw-search-actions{
    gap:10px;
  }

  .jw-btn{
    height:56px;
    font-size:16px;
    border-width:1px;
    border-radius:10px;
  }

  .jw-btn--ghost{
    flex:0 0 120px;
  }

  .jw-chip{
    min-width:auto;
    height:42px;
    padding:0 14px;
    border-width:1px;
    border-radius:10px;
    font-size:14px;
  }

  .jw-chip svg{
    width:16px;
    height:16px;
  }

  .jw-premium-card{
    gap:10px;
    padding:10px 0;
  }

  .jw-premium-card__thumb{
    width:44%;
    flex:0 0 44%;
  }

  .jw-premium-card__thumb img{
    height:92px;
  }

  .jw-premium-card__top{
    margin-bottom:6px;
  }

  .jw-premium-card__area{
    font-size:14px;
  }

  .jw-premium-card__badge{
    font-size:11px;
    padding:4px 8px;
    border-radius:6px;
  }

  .jw-premium-card__salary-label{
    font-size:14px;
    margin-right:4px;
  }

  .jw-premium-card__salary-num{
    font-size:24px;
  }

  .jw-premium-card__salary-unit{
    font-size:14px;
    margin-left:2px;
  }

  .jw-premium-card__desc{
    font-size:12px;
    line-height:1.45;
    -webkit-line-clamp:2;
  }

  .jw-diagnosis__lead{
    font-size:16px;
    padding:10px 12px;
  }

  .jw-diagnosis__box{
    padding:14px 10px 16px;
  }

  .jw-diagnosis__remain{
    font-size:18px;
    margin-bottom:12px;
  }

  .jw-diagnosis__progress{
    height:10px;
    margin-bottom:18px;
  }

  .jw-diagnosis__q{
    font-size:22px;
    margin-bottom:18px;
  }

  .jw-diagnosis__select{
    height:60px;
    border-width:2px;
    border-radius:14px;
    font-size:16px;
    padding:0 16px;
    margin-bottom:16px;
  }

  .jw-diagnosis__chips{
    gap:10px;
    margin-bottom:18px;
  }

  .jw-diagnosis__chips button{
    min-width:80px;
    height:42px;
    padding:0 14px;
    border-width:2px;
    font-size:14px;
  }

  .jw-diagnosis__next{
    height:64px;
    font-size:18px;
  }

  .jw-jobcard{
    border-radius:16px;
  }

  .jw-jobcard__badge{
    top:10px;
    height:44px;
    padding:0 16px;
    font-size:16px;
  }

  .jw-jobcard__badge--new{
    left:10px;
  }

  .jw-jobcard__badge--dorm{
    left:102px;
  }

  .jw-jobcard__body{
    padding:12px 14px 14px;
  }

  .jw-jobcard__no{
    font-size:12px;
    margin-bottom:6px;
  }

  .jw-jobcard__title{
    font-size:18px;
    margin-bottom:10px;
  }

  .jw-jobcard__tags{
    gap:8px;
    margin-bottom:12px;
  }

  .jw-jobcard__tag{
    min-height:34px;
    padding:0 12px;
    border-width:2px;
    font-size:11px;
  }

  .jw-jobcard__salary{
    margin-bottom:10px;
  }

  .jw-jobcard__salary-label{
    font-size:18px;
    margin-right:4px;
  }

  .jw-jobcard__salary-num{
    font-size:34px;
  }

  .jw-jobcard__salary-unit{
    font-size:18px;
    margin-left:4px;
  }

  .jw-jobcard__excerpt{
    font-size:14px;
    line-height:1.55;
    margin-bottom:10px;
  }

  .jw-jobcard__place{
    font-size:14px;
    margin-bottom:12px;
  }

  .jw-jobcard__actions{
    gap:8px;
  }

  .jw-jobcard__btn{
    min-height:54px;
    border-width:3px;
    border-radius:16px;
    font-size:15px;
    padding:0 8px;
  }

  .jw-hero__pickup{
    font-size:14px;
    padding:8px 60px;
    right:-56px;
    top:12px;
  }

  .jw-thumb{
    flex:0 0 78px;
    border-radius:14px;
  }

  .jw-thumb img{
    height:46px;
  }
}
.jw-seo-text{
margin:20px 0 25px;
padding:16px 18px;
background:#f7f7f7;
border-radius:10px;
line-height:1.9;
font-size:14px;
color:#333;
}

/* =========================
   FORM
========================= */

.jw-form{
background:#fff;
padding:30px;
border-radius:16px;
box-shadow:0 2px 12px rgba(0,0,0,.05);
}

.jw-group{
margin-bottom:30px;
}

.jw-label{
font-weight:900;
font-size:20px;
display:block;
margin-bottom:12px;
color:#333;
}

.jw-required{
background:#ff4a3d;
color:#fff;
font-size:12px;
padding:4px 8px;
border-radius:6px;
margin-left:8px;
font-weight:700;
}

/* 氏名・フリガナ横並び */
.jw-row2{
display:flex;
gap:12px;
}

.jw-row2 input{
flex:1;
}

/* 電話番号 */
.jw-tel{
display:flex;
align-items:center;
gap:10px;
}

.jw-tel input{
width:120px;
text-align:center;
}

/* 入力欄 */

.jw-form input{
width:100%;
border:1px solid #ddd;
border-radius:12px;
padding:16px;
font-size:16px;
background:#fafafa;
transition:.2s;
}

.jw-form input:focus{
border-color:var(--jw-orange);
outline:none;
background:#fff;
}

/* 補助テキスト */

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

/* 応募ボタン */

.jw-submit{
width:100%;
background:var(--jw-orange);
color:#fff;
border:none;
padding:18px;
border-radius:12px;
font-size:18px;
font-weight:900;
cursor:pointer;
margin-top:20px;
transition:.2s;
}

.jw-submit:hover{
background:var(--jw-orange-dark);
}
@media (max-width:600px){

.jw-row2{
flex-direction:column;
}

.jw-tel{
flex-wrap:wrap;
}

.jw-tel input{
width:100%;
}

}
.jw-tel{
display:flex;
align-items:center;
gap:8px;
flex-wrap:nowrap;
}

.jw-tel input{
width:90px;
text-align:center;
}

.jw-tel span{
font-weight:900;
font-size:18px;
}
@media (max-width:600px){

.jw-tel{
display:flex;
gap:6px;
}

.jw-tel input{
width:30%;
min-width:80px;
}

}
.jw-submit{
background:#ff6b2c;
box-shadow:0 6px 18px rgba(245,106,0,.35);
}
.jw-more{
display:none;
}
.jw-diagnosis__chips button{

display:block;
width:100%;
padding:16px;
margin:8px 0;
border-radius:12px;
border:2px solid #ff7a00;
background:#fff;
font-size:16px;
font-weight:600;

}

.jw-diagnosis__chips button:hover{

background:#ff7a00;
color:#fff;

}

.jw-diagnosis__progress{

height:6px;
background:#eee;
margin:12px 0;
border-radius:6px;
overflow:hidden;

}

.jw-diagnosis__bar{

height:100%;
width:0;
background:#ff7a00;
transition:.3s;

}
/* 背景 */
.jw-diagnosis{
background:#f7f7f7;
padding:20px;
}

/* カード */
.jw-diagnosis-card{
background:#fff;
border-radius:12px;
padding:28px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
max-width:600px;
margin:auto;
}

/* 残り質問 */
.jw-diagnosis-progress{
text-align:right;
color:#ff7a00;
font-weight:700;
margin-bottom:10px;
}

/* 質問 */
#diagnosis-question{
font-size:20px;
font-weight:700;
margin-bottom:20px;
line-height:1.5;
}

/* 選択肢 */
#diagnosis-options button{

width:100%;
padding:16px;
margin-bottom:12px;

background:#fff;
border:2px solid #e6e6e6;
border-radius:10px;

font-size:16px;
font-weight:600;

cursor:pointer;
transition:.2s;

}

/* hover */
#diagnosis-options button:hover{

border-color:#ff7a00;
background:#fff7f0;

}
.jw-sheet__bottom{
display:flex;
gap:10px;
}

.jw-sheet__bottom .jw-btn{
flex:1;
}

.jw-sheet__bottom .jw-bottombtn{
flex:2;
}
.jw-sheet__bottom{
display:flex;
gap:10px;
padding:16px;
}

.jw-sheet__bottom .jw-btn{
flex:1;
}

.jw-sheet__bottom .jw-bottombtn{
flex:2;
}
.jw-sheet__bottom{
display:flex;
gap:12px;
padding:16px;
}

.jw-sheet__bottom button{
flex:1;
}

.jw-sheet__bottom .jw-bottombtn{
flex:2;
}
.jw-accordion.closed > *:not(.jw-accordion-toggle){
display:none;
cursor:pointer;
}

.jw-accordion-toggle{
cursor:pointer;
}
.closed > *:not(.jw-accordion-toggle){
display:none;
}
.jw-header{
box-shadow:none !important;
border-bottom:1px solid #eee;
}
body{
background:#efefef;
}

.jw-newjobs{
background:#efefef;
}
.jw-line-dialog{
border:none;
background:transparent;
}

.jw-line-dialog::backdrop{
background:rgba(0,0,0,.45);
}

.jw-line-box{
background:#fff;
padding:26px;
border-radius:14px;
max-width:420px;
text-align:center;
}

.jw-line-close{
margin-top:18px;
padding:10px 18px;
border:none;
background:#f56a00;
color:#fff;
border-radius:8px;
font-weight:700;
}

dialog{
opacity:0;
transform:translateY(20px);
transition:all .3s ease;
}

dialog[open]{
opacity:1;
transform:translateY(0);
}
.jw-line-dialog{
pointer-events:none;
border:none;
background:transparent;
}

.jw-line-dialog[open]{
pointer-events:auto;
}

.jw-line-dialog::backdrop{
background:rgba(0,0,0,.45);
}
.jw-header__icons{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.jw-header__icons{
  display:flex;
  align-items:flex-end;
  gap:16px;
}

.jw-iconbtn{
  border:0;
  background:transparent;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  min-width:46px;
  text-decoration:none;
  cursor:pointer;
  color:inherit;
}
.jw-brand{
  font-size:20px;
}
.jw-header__inner{
  padding:0 10px;
}
.jw-header__icons{
  gap:8px;
}
.jw-overlay{
display:none !important;
}