.modal {
  z-index: 5100;
}

/* General modal */
.search-form-modal .modal-dialog {
  z-index: 2000;
}

.search-form-modal .modal-dialog .modal-content > .wrap {
  padding: 50px;
}

.search-form-modal .modal-footer button {
  padding: 10px;
  height: 50px;
  width: 180px;
}

.search-form-modal .modal-body {
  padding: 0;
  height: calc(100vh - 357.7px);
  overflow-y: auto;
}

.search-form-modal .modal-body .map img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.search-form-modal .modal-body .map {
  flex: 2;
  display: none;
}

.search-form-modal .modal-body .location-selection {
  flex: 3;
  overflow-y: auto;
}

.search-form-modal .modal-header .close {
  color: #fff;
  opacity: 1;
  font-size: 50px;
  right: -30px;
  top: -40px;
}

.previous-modal-wrap {
  color: #fff;
  opacity: 1;
  font-size: 35px;
  left: 70px;
  top: 50px;
  position: absolute;
  background: transparent;
  height: 40px;
  width: 40px;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}

.previous-modal-btn {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
}

.previous-modal-label {
  font-size: 13px;
  margin-top: -15px;
}

#occupationModal .modal-body,
#licenseModal .modal-body,
#areaModal .modal-body,
#salaryModal .modal-body,
#othersModal .modal-body,
.modal-body {
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

#occupationModal .modal-body .selection > div,
#licenseModal .modal-body .selection > div,
#salaryModal .modal-body .selection > div,
#employmentStatusModal .modal-body .selection > div,
#jobTimePatternsModal .modal-body .selection > div,
#fukuriModal .modal-body .selection > div,
#othersModal .modal-body .selection > div {
  border-bottom: 1px solid #ccc;
  /*padding: 12px;*/
}

#occupationModal .modal-body .selection > div.collapse-wrap,
#licenseModal .modal-body .selection > div.collapse-wrap,
#salaryModal .modal-body .selection > div.collapse-wrap,
#employmentStatusModal .modal-body .selection > div.collapse-wrap,
#jobTimePatternsModal .modal-body .selection > div.collapse-wrap,
#fukuriModal .modal-body .selection > div.collapse-wrap,
#othersModal .modal-body .selection > div.collapse-wrap {
  padding: 0;
}

#occupationModal .modal-body .selection > div.collapse-wrap .wrap div,
#licenseModal .modal-body .selection > div.collapse-wrap .wrap div,
#salaryModal .modal-body .selection > div.collapse-wrap .wrap div,
#employmentStatusModal .modal-body .selection > div.collapse-wrap .wrap div,
#jobTimePatternsModal .modal-body .selection > div.collapse-wrap .wrap div,
#fukuriModal .modal-body .selection > div.collapse-wrap .wrap div,
#othersModal .modal-body .selection > div.collapse-wrap .wrap div {
  border-bottom: 1px solid #ccc;
  padding: 10px;
}

#occupationModal .modal-body .options,
#licenseModal .modal-body .options,
#salaryModal .modal-body .options,
#employmentStatusModal .modal-body .options,
#jobTimePatternsModal .modal-body .options,
#othersModal .modal-body .options {
  border-left: 1px solid #ccc;
}

#occupationModal .modal-body .selection,
#licenseModal .modal-body .selection,
#salaryModal .modal-body .selection,
#employmentStatusModal .modal-body .selection,
#jobTimePatternsModal .modal-body .selection,
#fukuriModal .modal-body .selection,
#othersModal .modal-body .selection,
#search_bloc_occupation,
#search_bloc_salary,
#search_bloc_employment,
.modal-body > div {
  flex: 1;
}

#occupationModal .modal-body .options,
#licenseModal .modal-body .options,
#salaryModal .modal-body .options,
#employmentStatusModal .modal-body .options,
#jobTimePatternsModal .modal-body .options,
#fukuriModal .modal-body .options,
#othersModal .modal-body .options {
  flex: 2;
  overflow-y: auto;
}

#occupationModal .modal-body .selection a:hover,
#licenseModal .modal-body .selection a:hover,
#salaryModal .modal-body .selection a:hover,
#employmentStatusModal .modal-body .selection a:hover,
#jobTimePatternsModal .modal-body .selection a:hover,
#fukuriModal .modal-body .selection a:hover,
#othersModal .modal-body .selection a:hover {
  text-decoration: none;
}

#occupationModal .options .wrap,
#licenseModal .options .wrap,
#salaryModal .options .wrap,
#employmentStatusModal .options .wrap,
#jobTimePatternsModal .options .wrap,
#fukuriModal .options .wrap,
#othersModal .options .wrap {
  display: grid;
  grid-template-columns: 50% 50%;
}

.search-form-modal .modal-body .pc-wrap,
#licenseModal .modal-body {
  padding: 0;
  display: flex;
/*  max-height: calc(100vh - 320px);
  min-height: calc(100vh - 600px);*/
}

.search-form-modal input[type='radio'] {
  display: inline-block;
}

button.bg-color-orange:focus,
button.bg-color-orange:active:focus {
  outline-color: #ffaa00;
  outline-offset: 0px;
}

button.bg-color-bright-blue:focus,
button.bg-color-bright-blue:active:focus {
  outline-color: #32befc;
  outline-offset: 0px;
}

button.bg-color-light-blue:focus,
button.bg-color-light-blue:active:focus {
  outline-color: #77d5ff;
  outline-offset: 0px;
}

button.bg-color-blue:focus,
button.bg-color-blue:active:focus {
  outline-color: #1f51a2;
  outline-offset: 0px;
}

button.border-color-bright-blue:focus,
button.border-color-bright-blue:active:focus {
  outline-color: #32befc;
  outline-offset: 0px;
}

button.border-color-blue:focus,
button.border-color-blue:active:focus {
  outline-color: #1f51a2;
  outline-offset: 0px;
}

#licenseModal .options .wrap label {
  padding: 0 20px;
}

/* top */
.modal-content{
  width: 100%;
}

.modal-body {
  height: calc(100vh - 357.7px);
  overflow-y: auto;
}

.top-modal #occupationModal .modal-body .selection,
.top-modal #licenseModal .modal-body .selection,
.top-modal #salaryModal .modal-body .selection,
.top-modal #employmentStatusModal .modal-body .selection,
.top-modal #jobTimePatternsModal .modal-body .selection,
.top-modal #fukuriModal .modal-body .selection,
.top-modal #othersModal .modal-body .selection {
  font-size: 14px;
}


/*job-lists*/
.job-list-modal #occupationModal .modal-body .selection > div,
.job-list-modal #licenseModal .modal-body .selection > div,
.job-list-modal #salaryModal .modal-body .selection > div,
.job-list-modal #employmentStatusModal .modal-body .selection > div,
.job-list-modal #jobTimePatternsModal .modal-body .selection > div,
.job-list-modal #fukuriModal .modal-body .selection > div,
.job-list-modal #othersModal .modal-body .selection > div {
  font-size: 14px;
}


.job-list-modal #occupationModal .modal-body .selection > div.collapse-wrap .wrap div label,
.job-list-modal #licenseModal .modal-body .selection > div.collapse-wrap .wrap div label,
.job-list-modal #salaryModal .modal-body .selection > div.collapse-wrap .wrap div label,
.job-list-modal #employmentStatusModal .modal-body .selection > div.collapse-wrap .wrap div label,
.job-list-modal #jobTimePatternsModal .modal-body .selection > div.collapse-wrap .wrap div label,
.job-list-modal #fukuriModal .modal-body .selection > div.collapse-wrap .wrap div label,
.job-list-modal #othersModal .modal-body .selection > div.collapse-wrap .wrap div label {
  font-weight: 400;
}

#search_bloc_licence label,
#occupation_options_1 label,
#occupation_options_2 label,
#occupation_options_3 label,
#occupation_options_4 label,
#salary_1 label,
#salary_2 label,
#salary_3 label,
#employment_status_1 label,
#job_time_patterns_1 label,
#fukuri_1 label,
#holiday_options label,
#trac_type_options label,
#transport_items_options label,
#tokuyu_options label,
#circle_options label,
#search_bloc_range label {
  display: block;
}

@media (max-height: 800px) {
  .search-form-modal .modal-body .pc-wrap,
  #licenseModal .modal-body {
    min-height: calc(100vh - 320px);
  }
}

@media (max-width: 768px) {
  .search-form-modal .modal-header .close {
    right: 10px;
  }

  #salaryModal .modal-dialog .modal-content > .wrap,
  #occupationModal .modal-dialog .modal-content > .wrap,
  #licenseModal .modal-dialog .modal-content > .wrap,
  #areaModal .modal-dialog .modal-content > .wrap,
  #employmentStatusModal .modal-dialog .modal-content > .wrap,
  #jobTimePatternsModal .modal-dialog .modal-content > .wrap,
  #fukuriModal .modal-dialog .modal-content > .wrap,
  #othersModal .modal-dialog .modal-content > .wrap ,
  #spJobSearchModal .modal-dialog .modal-content > .wrap {
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  #salaryModal .modal-dialog,
  #licenseModal .modal-dialog,
  #areaModal .modal-dialog,
  #occupationModal .modal-dialog,
  #employmentStatusModal .modal-dialog,
  #jobTimePatternsModal .modal-dialog,
  #fukuriModal .modal-dialog,
  #othersModal .modal-dialog,
  #spJobSearchModal .modal-dialog,
  #rangeModal .modal-dialog {
    margin: 0;
    height: 100%;
    width: 100%;
  }

  #salaryModal .modal-content,
  #licenseModal .modal-content,
  #areaModal .modal-content,
  #occupationModal .modal-content,
  #employmentStatusModal .modal-content,
  #jobTimePatternsModal .modal-content,
  #fukuriModal .modal-content,
  #othersModal .modal-content,
  #spJobSearchModal .modal-content {
    border: 0;
    border-radius: 0;
    height: 100%;
  }

  #salaryModal .modal-body,
  #occupationModal .modal-body,
  #areaModal .modal-body,
  #employmentStatusModal .modal-body,
  #jobTimePatternsModal .modal-body,
  #fukuriModal .modal-body,
  #othersModal .modal-body,
  #spJobSearchModal .modal-body {
    display: block;
    flex: 1;
    background-color: #fff;
  }

  .search-form-modal .modal-footer {
    text-align: center;
    margin-top: auto;
    margin-bottom: 0;
    background-color: #1f51a2cf;
    opacity: 1;
    padding: 15px;
    display: grid;
    grid-template-columns: 2fr 3fr;
    position: fixed;
    bottom: 0;
    width: 100%;
  }

  .search-form-modal .modal-footer:before {
    display:none;
  }

  .sp-wrap .checkbox01-input:checked+.checkbox01-parts {
    color: #333;
  }

  /* top */
  .top-modal .modal-header .close {
    font-size: 50px;
    top: 20px;
  }
  .top-modal .modal-footer button {
   /* width: 130px; */
   width: 100%;
  }

  .top-modal.search-form-modal .modal-body .location-selection {
    max-height: 350px;
  }

  /* job-lists */
  .job-list-modal .modal-header .close {
    font-size: 27px;
    top: 6px;
  }

  .job-list-modal #spJobSearchModal .modal-body {
    background-color: #e2effe;
  }
}




@media (max-width: 425px) {
  .job-list-modal .modal-footer {
    display: flex;
  }

  .job-list-modal .modal-footer button {
    width: 100%;
  }
}

@media (min-width: 769px) {
  .top-modal #licenseModal .modal-body .options {
    overflow-y: auto;
  }

  /* top */
  .modal-content {
    width: 90%;
    max-width: 900px;
  }
}

/* Search modal area */
#areaModal .modal-body {
  padding: 0;
  display: flex;
  max-height: calc(100vh - 320px);
  /* max-height: 95vh; */
}

.area-classification {
  border-bottom: 1px solid #ccc;
  text-align: left;
  font-size: 14px;
  padding: 11px 12px;
  background-color: #ddd;
  /* font-weight: 500; */
  width: 100%;
  text-indent: 1.5em;
}

/* From old styles */
.checkbox01-input:checked+.checkbox01-parts::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 4px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #2196f3;
  border-right: 3px solid #2196f3;
  color: #2196f3;
}

.cp_actab {
    margin: 0;
    padding: 0;
    max-width: 100%;
}

.cp_actab label {
    position: relative;
    display: block;
    margin: 0;
    padding: 11px 12px;
    color: #333;
    font-weight: 500;
    background: #fff;
    cursor: pointer;
    border-bottom: 1px solid #ccc;
    text-align: left;
    width: 100%;
}

.cp_actab label:hover {
    background: #e3effe;
}

.cp_actab input {
    display: none;
}

.cp_actab .accshow {
  max-height: 0;
  padding: 0;
  overflow: hidden;
}

/* uncollapsed contents show*/
.cssacc:checked+.accshow {
  text-indent: 1.5em;
  background: #fff;
  opacity: 1;
  max-height: 20000px;
  transition: max-height 3s ease-in;
  overflow-y: hidden;
}

/* hide */
.cssacc+.accshow {
  text-indent: 1.5em;
  background: #fff;
  max-height: 0;
  transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
  overflow-y: hidden;
}

/* show */
.cssacc:checked+.accshow .cssacc:checked+.accshow {
  text-indent: 3em;
  background: #fff;
  opacity: 1;
  max-height: 20000px;
  transition: max-height 3s ease-in;
  overflow-y: hidden;
}

/* hide */
.cssacc+.accshow .cssacc+.accshow {
  text-indent: 3em;
  background: #fff;
  max-height: 0;
  transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
  overflow-y: hidden;
}

/* show */
.cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow {
  text-indent: 4.5em;
  background: #fff;
  opacity: 1;
  max-height: 20000px;
  transition: max-height 3s ease-in;
  overflow-y: hidden;
}

/* hide */
.cssacc+.accshow .cssacc+.accshow .cssacc+.accshow {
  text-indent: 4.5em;
  background: #fff;
  max-height: 0;
  transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
  overflow-y: hidden;
}

/* show */
.cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow{
  text-indent: 6em;
  background: #fff;
  opacity: 1;
  max-height: 20000px;
  transition: max-height 3s ease-in;
  overflow-y: hidden;
}

/* hide */
.cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow{
  text-indent: 6em;
  background: #fff;
  max-height: 0;
  transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
  overflow-y: hidden;
}

.cp_actab label.region {
  width: 100%;
}

.checkbox01-input {
  display: none;
}

.checkbox01-parts {
  padding-left: 20px;
  position: relative;
  margin-right: 5px;
/*  font-weight: 500;*/
}

.checkbox01-parts::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
}

.checkbox01-input:checked+.checkbox01-parts {
    color: #333;
}

.cp_actab label.arrow::after {
  position: absolute;
  font-family: FontAwesome;
  content: "\f0d7";
  float: right;
  font-size: 16px;
  color: #999;
  padding: 0 15px;
  height: 47px;
  line-height: 47px;
  font-weight: normal;
  right: 0;
  top: 0;
  text-indent: 0;
}

.cp_actab label.up-arrow::after {
  position: absolute;
  font-family: FontAwesome;
  content: "\f0d8";
  float: right;
  font-size: 16px;
  color: #999;
  padding: 0 15px;
  height: 47px;
  line-height: 47px;
  font-weight: normal;
  right: 0;
  top: 0;
  text-indent: 0;
}

label.city,
label.town {
  margin-right: 2px;
}

#search_bloc_other div#search_bloc_trac_type,
#search_bloc_other div#search_bloc_transport_items,
#search_bloc_other div#search_bloc_tokuyu {
  padding-bottom: 0;
}

.cp_inner {
  margin: 3px 0 5px;
  padding: 5px 0;
  border-radius: 8px;
  background: #eee;
  overflow: hidden;
}

.ac_wrap {
  overflow: hidden;
  margin-top: 0;
  margin-bottom: 10px;
}

h1.ac_box {
  font-size: 12px;
  font-weight: normal;
  margin-top: 0px;
  margin-bottom: 0px;
}

.ac_box {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  float: left;
  width: 100%;
  margin-right: -60px;
  padding-right: 60px;
  box-sizing: border-box;
  background: #fff;
}

.ac_box span:after {
  content: " , ";
}

.ac_box span:last-child::after {
  content: "　";
}


.ac_icon {
  width: 50px;
  float: right;
  padding: 10px;
}

.ac_icon img {
  width: 20px;
}

/* End from old styles */
@media (min-width: 990px) {
  .top-modal .modal-dialog {
    width: 900px;
    margin: 30px auto;
  }
}

@media (max-width: 989px) {
  .top-modal .modal-dialog {
    width: 100%;
    margin: 30px auto;
  }
}

@media (min-width: 768px) {
  .job-list-modal .modal-dialog {
    width: 900px;
    margin: 30px auto;
  }
}

/* top */
/*
.top-modal .cp_actab label {
    font-size: 12px;
}
*/

.cp_actab label:first-child {
  font-weight: 600;
}

.cp_actab .accshow label {
  font-weight: normal;
}

.top-modal .checkbox01-parts::before {
  top: 2px;
  border-radius: 2px;
}


/* job-lists */
.job-list-modal .cp_actab label {
  font-size: 16px;
}

.job-list-modal .checkbox01-parts::before {
  top: 4px;
  border-radius: 4px;
}

@media (max-width: 768px) {
  #areaModal .modal-footer {
    text-align: center;
  }

  #areaModal .modal-body .map {
    display: none;
  }

  #areaModal .modal-body {
    max-height: 100%;
    flex: 1;
  }

  #areaModal .modal-content {
    border: 0;
    border-bottom: 1px solid #4e678e;
    border-radius: 0;
  }

  #areaModal .modal-body .location-selection {
    overflow-y: unset;
    max-height: 350px;
  }

  #areaModal .modal-body {
    overflow-y: auto;
  }

  /* show */
  .cssacc:checked+.accshow {
    text-indent: .5em;
    background: #fff;
    opacity: 1;
    max-height: 20000px;
    transition: max-height 3s ease-in;
    overflow-y: hidden;
  }

  /* hide */
  .cssacc+.accshow {
    text-indent: .5em;
    background: #fff;
    max-height: 0;
    transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
    overflow-y: hidden;
  }

  /* show */
  .cssacc:checked+.accshow .cssacc:checked+.accshow {
    text-indent: 1em;
    background: #fff;
    opacity: 1;
    max-height: 20000px;
    transition: max-height 3s ease-in;
    overflow-y: hidden;
  }

  /* hide */
  .cssacc+.accshow .cssacc+.accshow {
    text-indent: 1em;
    background: #fff;
    max-height: 0;
    transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
    overflow-y: hidden;
  }

  /* show */
  .cssacc:checked+.accshow  .cssacc:checked+.accshow .cssacc:checked+.accshow {
    text-indent: 1.5em;
    background: #fff;
    opacity: 1;
    max-height: 20000px;
    transition: max-height 3s ease-in;
    overflow-y: hidden;
  }

  /* hide */
  .cssacc+.accshow  .cssacc+.accshow .cssacc+.accshow {
    text-indent: 1.5em;
    background: #fff;
    max-height: 0;
    transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
    overflow-y: hidden;
  }

  /* show */
  .cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow .cssacc:checked+.accshow{
    text-indent: 2em;
    background: #fff;
    opacity: 1;
    max-height: 20000px;
    transition: max-height 3s ease-in;
    overflow-y: hidden;
  }

  /* hide */
  .cssacc+.accshow .cssacc+.accshow .cssacc+.accshow .cssacc+.accshow{
    text-indent: 2em;
    background: #fff;
    max-height: 0;
    transition: max-height 1.25s cubic-bezier(0, 1, 0, 1) -.1s;
    overflow-y: hidden;
  }

  .search-form-modal {
    padding-right: 0 !important;
  }

  /*top*/
  /*
  .top-modal .cp_actab label{
    font-size: 16px;
  }
    */

  /*job-lists*/
  .job-list-modal .area-classification {
    text-indent: 0.3em;
  }
}
/* End search modal area */


/* Search modal occupation */
#occupationModal .checkbox01-parts::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 4px;
}

#occupationModal .checkbox01-input:checked+.checkbox01-parts::after {
  content: "";
  display: block;
  position: absolute;
  left: 4px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #2196f3;
  border-right: 3px solid #2196f3;
}

@media (max-width: 768px) {
  #occupationModal .modal-footer {
    text-align: center;
  }

  #occupationModal .modal-body {
    display: block;
    flex: 1;
    background-color: #fff;
    max-height: 100%;
    overflow-y: auto;
  }

  #salaryModal .modal-body,
  #fukuriModal .modal-dialog,
  #othersModal .modal-body {
    max-height: 100%;
    overflow-y: auto;
  }

  #occupationModal .modal-content {
    border: 0;
    border-bottom: 1px solid #4e678e;
    border-radius: 0;
  }
}

/*top*/
.top-modal #occupationModal .checkbox01-parts::before{
  top: 2px;
}

.top-modal #occupationModal .checkbox01-input:checked+.checkbox01-parts::after {
  top: -2px;
}

/*job-lists*/
.job-list-modal #occupationModal .checkbox01-parts::before{
  top: 4px;
}

.job-list-modal #occupationModal .checkbox01-input:checked+.checkbox01-parts::after{
  top: 0;
}
/* End search modal occupation */

/* End all filters search */
.top-modal #search_bloc_licence .tab-content label{
  font-weight: 500;
}

/* License modal */

#licenseModal .options .options_type div {
  padding: 10px 0;
}

#licenseModal .options .options_type input:checked + div {
  background-color: #32befc;
}

#licenseModal .options .options_type input:checked + div {
  color: #fff;
}

#licenseModal .options .options_type div a {
  color: #32befc;
}

#licenseModal .options_type div input[type='radio'] {
  display: none;
}

#licenseModal .options .options_type div:first-child div {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border: 3px solid #32befc;
}

#licenseModal .options .options_type div:last-child div {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border: 3px solid #32befc;
}

#licenseModal #license_1 {
  padding: 15px;
}

/*top*/
.top-modal #licenseModal .options .options_type div label{
  font-weight: 500;
}

/*job-lists*/
.job-list-modal #licenseModal .options .options_type div:first-child div{
  font-weight: 500;
}

.job-list-modal #licenseModal .options .options_type div:last-child div {
  font-weight: 500;
}

.job-list-modal .tab-content label{
  font-weight: 500;
}

@media (max-width: 768px) {
  #licenseModal .modal-dialog .modal-content > .wrap {
    padding: 0;
  }

  #licenseModal .modal-dialog .modal-content .modal-body .selection {
    display: none;
  }

  #licenseModal .modal-dialog .modal-content {
    border: 0;
    height: 100%;
  }

  #licenseModal .options .options_type {
    width: 100%;
    font-size: 15px;
    padding: 0px 20px 10px;
    border-bottom: 1px solid #ccc;
  }

  #rangeModal .modal-dialog .modal-content > .wrap {
    padding: 0;
  }

  #rangeModal .modal-dialog .modal-content {
    border: 0;
    height: 100%;
    border-radius: 0;
  }

  #occupationModal .options .wrap, #licenseModal .options .wrap {
    display: flex;
    flex-direction: column;
  }

  #licenseModal .modal-body .options .tab-content .wrap  {
    padding: 0;
  }

  #licenseModal .modal-body .options .tab-content .wrap div,
  #licenseModal .modal-body .options .wrap div,
  #rangeModal .modal-body .options .wrap div {
    border-bottom: 1px solid #ccc;
    padding: 10px 20px 10px 40px;
    font-size: 16px;
  }

  #licenseModal .modal-body .options .tab-content {
    padding: 0;
  }

  #licenseModal #license_1 {
    padding: 0;
  }

  /*top*/
  .top-modal #licenseModal .options .nav-tabs {
    width: 100%;
    font-size: 15px;
    padding: 0px 20px 10px;
    border-bottom: 1px solid #ccc;
  }

  .top-modal #licenseModal .modal-body {
    height: calc(100vh - 167px);
    max-height: none;
    min-height: auto;
  }

  /*job-lists*/
  .job-list-modal #licenseModal #license_options {
    background: #fff;
  }

  .job-list-modal #licenseModal .modal-body .options .tab-content .wrap div label,
  .job-list-modal #licenseModal .modal-body .options .wrap div label {
    font-weight: 500;
  }

  .job-list-modal #licenseModal .modal-body {
    max-height: 100%;
  }
  .options_type label {
    font-size: 16px;
  }
}

/*end License modal */

/* Fukuri modal */
.fukuri-extra .options .options_type div {
  padding: 10px 0;
}

.fukuri-extra .options .options_type input:checked + div {
  background-color: #32befc;
}

.fukuri-extra .options .options_type input:checked + div {
  color: #fff;
}

.fukuri-extra .options .options_type div a {
  color: #32befc;
}

.fukuri-extra .options_type div input[type='radio'] {
  display: none;
}

.fukuri-extra .options .options_type div:first-child div {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border: 3px solid #32befc;
}

.fukuri-extra .options .options_type div:last-child div {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border: 3px solid #32befc;
}

.fukuri-extra #license_1 {
  padding: 15px;
}

.fukuri-extra div input[type='radio'] {
  display: none;
}

/*top*/
.top-modal .fukuri-extra .options .options_type div label {
  font-weight: 500;
  font-size: 16px;
}

.top-modal .fukuri-extra .options .options_type div:first-child div,
.top-modal .fukuri-extra .options .options_type div:last-child div{
  cursor: pointer;
}

/*job-lists*/
.job-list-modal .fukuri-extra .options .options_type div:first-child div,
.job-list-modal .fukuri-extra .options .options_type div:last-child div{
  font-weight: 500;
}


/* End fukuri modal */



/* Main search */
#main-search .main-search-close {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  color: #1F51A2;
  opacity: .2;
  height: 40px;
  width: 40px;
  border: none;
  background: none;
  padding: 0;
}

#main-search .main-search-close-wrap {
  text-align: right;
  margin-bottom: 20px;
  position: absolute;
  right: 50%;
  left: 50%;
  max-width: 780px;
  width: 100vw;
  transform: translateX(-50%);
  z-index: 100;
}

#main-search .job-main-search-close-wrap {
  margin-top:0;
}

.filter-label {
  padding: 10px 20px;
  margin: 50px 0 20px;
}

.main-search .free-text .inner {
  display: flex;
  align-items:center;
}

.main-search .free-text button {
  white-space: nowrap;
  cursor: pointer;
  border: none;
}

.main-search .save-filters {
  display: flex;
  justify-content: flex-end;
}

#search_clear_button.clear-btn {
  line-height: inherit;
}

.main-search .save-filters button:first-child {
  color: #fff;
  background-color: #1f51a2;
  border: 0;
}

.main-search .filters-wrap .filter-group-1,
.main-search .filters-wrap .filter-group-2 .pc-wrap,
.main-search .filters-wrap .filter-group-3,
.main-search .filters-wrap .filter-group-3 .pc-wrap,
.main-search .filters-wrap .filter-group-4
{
  display: grid;
  grid-template-columns: 30% 70%;
}

.main-search .filters-wrap .filters-label span {
  margin-right: 5px;
  min-width: 30px;
  width: 30px;
  display: inline-block;
  text-align: center;
}

.main-search .filters-wrap .filters-label {
  padding: 20px 10px;
  background-color: #efefef;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 16px;
  white-space: nowrap;
}

.main-search .filters-wrap .filter-group-3 .filters-label,
.main-search .filters-wrap .filter-group-4 .filters-label,
.main-search .filters-wrap .filter-group-4 a:last-child div
{
  border-bottom: 0;
}

.main-search .filters-wrap {
  border: 1px solid #ccc;
}

.main-search .filters-wrap .filters-selected {
  padding: 20px;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  position: relative;
}

.main-search .filters-wrap .filter-group-3 a:last-child div {
  border-bottom: 0;
}

.main-search .filters-wrap .filters-selected:after {
  position: absolute;
  font-family: FontAwesome;
  content: "\f0da";
  font-size: 16px;
  color: #999;
  padding: 0 15px;
  font-weight: normal;
  right: 0;
  top: 20px;
}

.main-search .filters-selected .employment-status-wrap,
.main-search .filters-selected .job-time-pattern-wrap,
.main-search .filters-selected .fukuri-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  font-size: 12px;
  column-gap: 5px;
  row-gap: 5px;
}

.main-search .filters-selected .employment-status-wrap label,
.main-search .filters-selected .job-time-pattern-wrap label,
.main-search .filters-selected .fukuri-wrap label {
  font-weight: 500;
  cursor: pointer
}

.main-search .search-buttons .inner-wrap {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  column-gap: 20px;
}

.logged-in .main-search .search-buttons .inner-wrap {
  column-gap: 15px;
}

#main-search {
  padding-bottom: 30px;
}

/*top*/
.top-main-search.search-buttons .inner-wrap {
  grid-template-columns: 1fr 2fr;
}

.top-main-search .free-text .inner-wrap-2 input {
  flex: 1;
  background-color: #fff;
  border: 1px solid #fff;
  width: calc(100% - 100px);
}

.top-main-search .free-text button {
  padding: 15px 0;
  width: 100px;
}



/*job-list*/
/*
.job-lists-main-search .search-buttons .inner-wrap {
  grid-template-columns: 2fr 1fr 2fr;
}
*/
.job-lists-main-search .more-filters .filter-group-2{
  display: grid;
  grid-template-columns: 30% 70%;
}

.job-lists-main-search .more-filters .filter-group-3{
  display:inherit;
}
.job-lists-main-search .more-filters .filter-group-3 .filters-label{
  border-bottom: 1px solid #ccc;
}
.job-lists-main-search .free-text button {
  width: 190px;
  padding: 15px 20px;
}

.job-lists-main-search .free-text button {
  width: 190px;
  padding: 15px 20px;
  height: 60px;
  font-size: 14px;
  font-weight: 500;
}

.job-lists-main-search .save-filters button {
  height: 20px;
  line-height: 16px;
  font-weight: 500;
  font-family: 'Noto Sans JP';
  padding: 0 15px;
}

.job-lists-main-search .save-filters button:nth-child(2) {
  color: #9B9B9B;
  line-height: 16px !important;
  border: 1px solid #9B9B9B;
}

.job-lists-main-search .more-filters-btn button {
  padding: 5px 10px;
  font-weight: 500;
}

.job-lists-main-search .more-filters {
  display: none;
}

.job-lists-main-search {
  padding: 50px;
  background-color: #fff;
}

.job-lists-main-search .free-text input {
  background-color: #efefef;
  border: 1px solid #efefef;
  height: 60px;
  color: #1F51A2;
  font-size: 16px;
}

.job-lists-main-search .free-text input::placeholder {
  color: #9B9B9B;
}

.job-lists-main-search .free-text .inner .inner-wrap-1 div {
  font-size: 14px;
  font-weight: 500;
  line-height: 26px;
}

.job-lists-main-search .main-search-close-wrap,
.job-lists-main-search .main-search-close {
  display: none;
}


@media (max-width: 768px) {
/*
  .main-search .free-text .inner {
    flex-direction: column;
  }
*/
  .main-search .search-buttons  {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
  }

  .main-search .search-buttons .inner-wrap {
    margin-bottom: 0;
    background-color: #1f51a2a8;
    padding: 15px;
    grid-template-columns: 2fr 3fr;
  }

  .main-search .filters-wrap {
    margin-bottom: 100px;
  }

  .main-search .filters-wrap .filter-group-2 .sp-wrap .filters-selected:after,
  .main-search .filters-wrap .filter-group-3 .sp-wrap .filters-selected:after {
    content: "\f0da";
  }

  .main-search {
    padding: 0;
    background-color: #e3effe;
    /*margin-top: 20px;*/
  }

  .main-search .free-text input {
    background-color: #fff;
    border: 1px solid #fff;
    width: calc(100% - 90px);
    height: 55px;
  }

  .checkbox01-parts::before {
    top: calc(50% - 6px);
  }

  .checkbox01-input:checked+.checkbox01-parts::after{
    top: calc(50% - 9px);
  }

  #occupationModal .checkbox01-parts::before{
    top: calc(50% - 6px);
  }

  #occupationModal .checkbox01-input:checked+.checkbox01-parts::after{
    top: calc(50% - 9px);
  }

  #main-search .sp-wrap {
    display: block;
  }
  .job-lists-main-search-toggle--inner {
    padding-top: 30px;
  }
  .job-list-modal .cp_actab label {
    font-size: 16px;
  }
}


@media (max-width: 1200px) {
  .job-lists-main-search .free-text .inner {
    display: block;
  }
}

@media (max-width: 768px) {
.job-lists-main-search .free-text button {
    width: 90px;
    padding: 15px 10px;
    height: 55px;
    font-size: 16px;
    font-weight: 500;
  }

  .job-lists-main-search .more-filters {
    display: block;
    background-color: #e3effe;
  }

  .job-lists-main-search,
  .job-lists-main-search .more-filters-btn,
  .job-lists-main-search .search-buttons #job_nums {
    display: none;
  }

  .job-lists-main-search .main-search-close-wrap {
    display: flex;
    justify-content: flex-end;
  }

  .job-lists-main-search .main-search-close {
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    color: #000;
    opacity: .2;
    height: 40px;
    width: 40px;
    vertical-align: middle;
    border: none;
    display: block;
  }
  .modal-body label {
    font-size: 14px;
    font-weight: normal;
  }
  .modal-body {
    overflow-y: auto;
    max-height: calc(100vh - 170px);
    margin-bottom: 80px;
  }

  #search_bloc_occupation,
  #search_bloc_salary,
  #search_bloc_fukuri,
  #search_bloc_other {
    overflow-y: unset;
    height: calc(100vh - 357.7px);
  }

  /* top */
  .modal-content {
    width: 100%;
  }
}

@media (max-width: 428px) {
  .main-search .filters-wrap .filters-label,
  .main-search .truncated,
  .main-search .free-text input {
    font-size: 14px;
  }

  .main-search .filters-wrap .filter-group-1,
  .main-search .filters-wrap .filter-group-2,
  .main-search .filters-wrap .filter-group-3,
  .main-search .filters-wrap .filter-group-4{
    grid-template-columns: 120px calc(100% - 120px);
  }
}

@media (max-width: 405px) {
  .main-search .filters-wrap .filters-label {
    padding: 20px 5px;
  }
}
/* End all filters search */

.modal-body label {
  font-weight: normal;
}

.modal-body .wrap a {
  padding: 12px;
  display: block;
}

.search-block-title {
  font-size: 16px;
  padding: 10px 20px 5px;
}

.options .options_type {
  border: 0;
  display: flex;
  justify-content: flex-start;
  width: 300px;
  text-align: center;
  margin: 0 auto;
}

.job-ids-button-wrap{
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.job-ids-button-wrap .inner-wrap{
  margin-bottom: 0;
  background-color: #1f51a2a8;
  padding: 15px;
  grid-template-columns: 2fr 3fr;
  text-align: center;
}

.job-ids-button-wrap .inner-wrap button{
  width:300px;
  margin:auto;
}