@charset "UTF-8";
.bg__gray{
  background-color:#f0f0f0;
  padding:0 0 3rem;
}
.bg__gray .breadcrumb{
  margin:0 auto;
  padding:1.5rem 0;
  width:calc(100% - 28px);
}
.list-search__top{
  display:flex;
  flex-wrap:wrap;
  gap:2rem 1rem;
  margin:3rem 0;
}
.list-search__employment,
.list-search__area{
  position:relative;
  width:calc(50% - 0.5rem);
  max-width:300px;
}
.list-search__employment img,
.list-search__area img{
  position:absolute;
  top:50%;
  left:1.5rem;
  transform:translateY(-50%);
  width:1em;
  height:1em;
  object-fit:contain;
}
.list-search__employment input,
.list-search__area input{
  width:100%;
  padding:0.75em 1em 0.75em 3em;
  border-radius:3em;
  outline:none;
  border:1px solid var(--dark-color);
}
.list-search__top button{
  font-size:1.6rem;
  margin:0 0 0 1rem;
  background-color:var(--cta-color);
  border:none;
  color:#333;
}
.location-suggest__list{
  position:absolute;
  top:calc(100% + 0.5rem);
  left:0;
  z-index:30;
  width:100%;
  max-height:28rem;
  overflow-y:auto;
  background:#fff;
  border:1px solid #ccc;
  border-radius:0.5rem;
  box-shadow:0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
}
.location-suggest__list[hidden]{
  display:none;
}
.list-search__top button.location-suggest__option{
  display:block;
  width:100%;
  min-height:4.4rem;
  margin:0;
  padding:0.9rem 1.2rem;
  color:#333;
  font-size:1.4rem;
  line-height:1.5;
  text-align:left;
  overflow-wrap:anywhere;
  background:#fff;
  border:0;
  border-radius:0;
  cursor:pointer;
}
.list-search__top button.location-suggest__option + button.location-suggest__option{
  border-top:1px solid #eee;
}
.list-search__top button.location-suggest__option:hover,
.list-search__top button.location-suggest__option.is-active{
  background:#f3f3f3;
}
.list-search__bottom{
  display:flex;
  gap:2rem;
  position:relative;
}
.list-search__bottom button{
  font-size:1.6rem;
  color:var(--dark-color);
  border:1px solid var(--dark-color);
  background:none;
  padding:0.5rem 3rem 0.5rem 1rem;
}
.list-search__bottom button:after{
  content:'';
  position:absolute;
  top:50%;
  right:0.5em;
  clip-path: polygon(10% 0, 0 10%, 50% 60%, 100% 10%, 90% 0, 50% 40%, 10% 0);
  transform:translateY(-10%);
  height: 0.5em;
  aspect-ratio: 1;
  background-color: var(--dark-color);
}
@media only screen and (max-width: 834px), (max-device-width: 834px) {
  .list-search__top{
    justify-content:center;
  }
  .list-search__top button{
    margin:0 auto;
  }
  .list-search__bottom{
    justify-content:center;
    gap:1.5rem;
    flex-wrap:wrap;
  }
  .location-suggest__list{
    max-width:100%;
    max-height:24rem;
  }
  .list-search__top button.location-suggest__option{
    min-height:4.8rem;
    padding:1.1rem 1.2rem;
    font-size:1.5rem;
  }
}

/* 絞り込みドロップダウン（雇用形態・給与・その他条件）
---------------------------------------- */
.filter_dropdown{
  position:relative;
  min-width:0;
}
.filter_dropdown__toggle{
  display:flex;
  align-items:center;
  gap:0.4em;
  max-width:24rem;
}
.kyuyo .filter_dropdown__toggle{
  max-width:32rem;
}
.filter_dropdown__summary-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.filter_dropdown__summary-count{
  flex-shrink:0;
}
.filter_dropdown__toggle.is-selected{
  color:#147BE9;
}
.filter_dropdown__toggle.is-active{
  background-color:#e6e6e6;
}
.keitai .filter_dropdown__panel{
  width:min(90vw, 300px);
}
.kyuyo .filter_dropdown__panel{
  width:min(90vw, 350px);
}
.other .filter_dropdown__panel{
  width:min(90vw, 420px);
}
.filter_dropdown__panel{
  display:none;
  position:absolute;
  top:calc(100% + 1rem);
  left:0;
  z-index:20;
  width:min(90vw, 300px);
  background:#fff;
  border-radius:.2rem;
  box-shadow:0 4px 20px rgba(0, 0, 0, 0.15);
  padding:1.5rem;
}

.filter_dropdown__panel.is-open{
  display:block;
}
.filter_dropdown__body{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}
.filter_dropdown__body.-grouped{
  gap:2rem;
  max-height:50vh;
  overflow-y:auto;
}
.filter_checkbox,
.filter_radio{
  display:flex;
  align-items:center;
  gap:0.5rem;
  font-size:1.4rem;
  cursor:pointer;
  margin:0;
}
.filter_checkbox input[type="checkbox"],
.filter_radio input[type="radio"]{
  top:0;
  left:0;
  transform:scale(1.25) translateX(25%);
}
.filter_dropdown__ttl{
  font-size:1.2rem;
  font-weight:700;
  color:var(--dark-color);
  margin:0 0 0.5rem;
}
.filter_dropdown__radios{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 2rem;
  margin-bottom:2rem;
}
.filter_dropdown__range{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:0.5rem;
  font-size:1.4rem;
}
.filter_dropdown__range select{
  flex:1;
  padding:0.25em 0.5em;
  border:1px solid var(--dark-color);
  border-radius:0.5rem;
  background:#fff;
  font-size:1.4rem;
  margin:0;
}
.filter_dropdown__range select:disabled{
  background:#f5f5f5;
  color:#aaa;
}
.filter_dropdown__group-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 1rem;
  border-bottom:1px solid #D9D9D9;
}
.filter_dropdown__group-ttl{
  font-size:1.5rem;
  font-weight:700;
  margin:0;
}
button.filter_dropdown__clear{
  flex-shrink:0;
  margin-right:10px;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#A6A6A6;
  font-size:1.2rem;
  font-weight:400;
  appearance:none;
  cursor:pointer;
}
button.filter_dropdown__clear:after{
  content:none;
}
.filter_dropdown__group-items{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr));
  gap: 1rem 1.5rem;
}
.filter_dropdown__actions{
  display:flex;
  justify-content:center;
  gap:1rem;
  margin-top:1.5rem;
  padding-top:1.5rem;
  position:relative;
}
.filter_dropdown__actions:before{
  content:'';
  width:calc(100% + 3rem);
  height:1px;
  position:absolute;
  top:0;
  left:-1.5rem;
  border-top:1px solid #D9D9D9;
}
button.filter_dropdown__ok{
  background-color:#F19171;
  color:#fff;
  border:none;
  border-radius:.2em;
  padding:0.25em 1em;
  font-size:1.4rem;
  font-weight:700;
  width:6.4em;
}
button.filter_dropdown__cancel{
  background:#fff;
  color:#333;
  border:1px solid #999;
  border-radius:0.2rem;
  padding:0.25em 0.25em;
  font-size:1.4rem;
  width:6.4em;
}
button.filter_dropdown__ok:after,
button.filter_dropdown__cancel:after{
  content:none;
}
@media only screen and (max-width: 834px), (max-device-width: 834px) {
  .filter_dropdown__panel{
    position:fixed;
    top:50%;
    left:50%;
    width:96%;
    transform:translate(-50%, -50%);
    max-height:80vh;
    overflow-y:auto;
    border-radius:1.2rem 1.2rem 0 0;
  }
}
.list_content{
  padding:0 1.4rem;
}
.recruitment_list.-front {
  margin:0 auto 8rem;
}
.sort{
  gap:1rem 3rem;
}
.sort-area{
  display:flex;
  gap:1.5rem;
}
.sort-area button{
  font-size:1.6rem;
  background:none;
  border:none;
  color:var(--dark-color);
  text-decoration:underline;
  padding:0;
}
.sort-area button.on{
  font-weight:700;
  color:#333;
}
.showing-count span{
  font-size:2.2rem;
}
.pagination{
  margin-left:auto;
}
.list_content .pagination .number a,
.list_content .pagination .number span{
  background:none;
  color:var(--dark-color);
  margin:0;
}
.list_content .pagination .number span{
  color:#333;
}
.pagination .prev,
.pagination .next{
  color:var(--dark-color);
}
@media only screen and (max-width: 834px), (max-device-width: 834px) {
  .list_content .sort{
    display:flex;
    flex-wrap:wrap;
  }
  .sort-area button{
    font-size:1.4rem;
  }
  .list_content .sort > .ta_r{
    margin-left:auto;
  }
  .showing-count{
    font-size:1.4rem;
  }
  .showing-count span{
    font-size:2rem;
  }
  .pagination{
    width:100%;
    margin:0;
  }
  .list_content .pagination .number a,
  .list_content .pagination .number span{
    font-size:1.4rem;
  }
}
.sec .front-list{
  display:flex;
  flex-direction:column;
  gap:4rem 0;
  margin:0;
  padding:0;
}
.sec .front-list li{
  border:1px solid var(--dark-color);
  padding:2.5rem;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap: 3rem;
  box-shadow:3px 3px 5px rgba(132, 132, 132, 0.1);
}
.front-list li > a{
  width:100%;
}
.front-list li > a:hover{
  color:var(--base-color);
  opacity:1;
}
.recruitment_ttl{
  font-size:2.8rem;
  margin:0;
}
.list__left {
  width:calc(60% - 2rem);
}
.list__right {
  width:calc(40% - 2rem);
  max-width:408px;
}
.list__left dl{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
}
.list__left dl dt{
  width:13rem;
  color:#fff;
  font-weight:700;
  background-color:var(--dark-color);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.75rem;
  border-radius:2em;
  padding:0.25rem 0;
  font-size:1.8rem;
}
.list__left dl dt img{
  width:0.85em;
  height:0.85em;
  object-fit:contain;
}
.list__left dl dd{
  width:calc(100% - 14.5rem);
  padding:0.25rem 0;
  font-size:1.8rem;
  font-weight:700;
  color:var(--dark-color);
}
.list_cont{
  background-color:#f0f0f0;
  margin:3rem 0 0;
}
.list_cont h3{
  color:#fff;
  font-size:1.8rem;
  font-weight:700;
  background-color:var(--dark-color);
  text-align:center;
  padding:0.25em 0.5em;
  margin:0;
}
.list_cont__body{
  padding:1.5em;
}
.list_cont__description{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  overflow:hidden;
  white-space:pre-line;
}
.lit__tmb{
  margin-bottom:2.5rem;
}
@media only screen and (max-width: 834px), (max-device-width: 834px) {
  .sec .front-list{
    gap:4rem 0;
  }
  .sec .front-list li{
    padding:2rem;
    gap: 2rem;
  }
  .recruitment_ttl{
    font-size:2rem;
  }
  .list__left {
    width:100%;
  }
  .list__right {
    width:100%;
    max-width:100%;
    display:contents;
  }
  .front-list li a{
    order:1;
  }
  .lit__tmb{
    order:2;
    margin-bottom:1rem;
  }
  .list__left {
    order:3;
  }
  .front-list li a.u-btn02{
    order:4;
  }
  .list__left dl{
    gap:1.5rem;
  }
  .list__left dl dt{
    width:12rem;
    font-size:1.6rem;
  }
  .list__left dl dd{
    width:calc(100% - 13.5rem);
    padding:0.25rem 0;
    font-size:1.6rem;
  }
  .list_cont{
    margin:2rem 0 0;
  }
  .list_cont h3{
    font-size:1.8rem;
  }
  .list_cont__body{
    padding:1em;
  }
}
