@charset "UTF-8";

/* form 検索ボックス（ボトム固定用） */
.search-fixed-form {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin-top: 0 !important;
  background-color: #071739;
  box-shadow: 0px -5px 10px 0px rgba(0, 0, 0, 0.3);
}
.search-fixed-form .search-form-container {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .search-fixed-form .search-form-container {
    max-width: 680px;
  }
}
.search-fixed-form .search-form {
  max-width: 680px;
  padding: 10px 0 20px;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .search-fixed-form .search-form {
    padding-top: 20px;
    padding-bottom: 30px;
  }
}
.search-fixed-form .select {
  width: 540px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /* align-items: flex-end; */
  gap: 15px 10px;
  padding: 10px 10px 15px;
}
.search-fixed-form .search-form dl dt {
  padding-bottom: 5px;
  color: #fff;
  font-size: 29px;
  font-weight: 700;
}
.search-fixed-form .search-form dl dt small {
  font-size: 16px;
}
.search-fixed-form .search-form .select-wrap {
  width: 165px;
  position: relative;
}
.search-fixed-form .search-form .select-wrap:after {
  content: "▼";
  display: block;
  color: #CC9EA8;
  font-size: 20px;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .search-fixed-form .search-form .select-wrap:after {
    font-size: 20px;
  }
}
.search-fixed-form .search-form select {
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding-left: 5px;
  appearance: none;
  border: 2px solid #B36E7D;
  /* padding: 5px 30px 5px 5px; */
  background-color: #fff;
  color: #800D26;
  font-weight: 700;
  font-size: 24px;
}

/* チェックボックス */
.search-fixed-form .search-form .input {
  margin: 0;
  padding: 0 10px;
}
.search-fixed-form .search-form .input dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  padding-bottom: 0;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
  position: relative;
}
.search-fixed-form .search-form .input dl:last-child {
  border-bottom: none;
}
.search-fixed-form .search-form .input dl dt {
  width: 15%;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
}
.search-fixed-form .search-form .input dl dd {
  width: 85%;
  padding-left: 10px;
  line-height: 1.2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 18px;
}
.search-fixed-form .search-form .input dl dt span {
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-weight: normal;
}
/*--- チェックボックスの装飾 ---*/
.search-fixed-form input[type="checkbox"] {
  display: none;
  /* 標準スタイルを非表示にする */
}
.search-fixed-form .check_btn {
  position: relative;
  padding-left: 30px;
  margin-right: 15px;
  margin-bottom: 10px;
  cursor: pointer;
  color: #fff;
}
.search-fixed-form .check_btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background: #eee;
  border: 1px solid #b2b2b2;
  border-radius: 2px;
}
.search-fixed-form .check_btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  margin-top: 0;
  width: 16px;
  height: 10px;
  border-left: 4px solid #800D26;
  border-bottom: 4px solid #800D26;
  transform: rotate(-45deg);
  opacity: 0;
  z-index: 2;
}
.search-fixed-form input[type="checkbox"]:checked + .check_btn::after {
  border: 1px solid #ccc;
}
.search-fixed-form input[type="checkbox"]:checked + .check_btn::before {
  opacity: 1;
}
.search-fixed-form .search-form .button {
  background-color: #fff;
  padding: 5px;
  border-radius: 4px;
  width: 110px;
  position: absolute;
  top: 20px;
  right: 15px;
}
.search-fixed-form .search-form .button #btn-submit {
  position: relative;
  overflow: hidden;
  display: block;
}
.search-fixed-form .search-form .button #btn-submit:before {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 100%;
  top: -100px;
  left: 0;
  transition: 500ms;
  background-color: rgba(255, 165, 0, 0.5);
  animation: shinyshiny 2.5s ease-in-out infinite;
}
.search-fixed-form .search-form div.flex {
  display: flex;
}
/* form 検索ボックス（ボトム固定用） */


/* form 検索ボックス（コンテンツ用） */
#search_box_content {
  margin: 0 auto;
  margin-top: 70px;
  margin-bottom: 70px;
  width: 95%;
}
#search_box_content .search-content-form {
  border: 1px solid #ccc;
}
#search_box_content .search-content-form .title {
  height: 70px;
  line-height: 74px;
  background: #ecf6fc;
  color: #404040;
  font-size: 27px;
  font-weight: bold;
  /* padding-left: 30px; */
  text-align: center;
}
#search_box_content .search-content-form .search-form {
  /* margin: 20px; */
  /* max-width: 680px; */
  width: 100%;
}
#search_box_content .search-content-form .search-form .select {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 20px 30px 10px;
  background: #f2f2f28a;
  margin-bottom: 15px;
}
#search_box_content .search-content-form .search-form .select dl dd {
  position: relative;
}
/* セレクトボックス／デフォルトの矢印を非表示 */
#search_box_content .search-content-form .search-form .select dl select {
  -webkit-appearance: none;
  appearance: none;
}
/* セレクトボックス／デフォルトの矢印を非表示(IE用) */
#search_box_content .search-content-form .search-form .select dl select::-ms-expand {
  display: none;
}
/* セレクトボックス／矢印デザイン変更 */
#search_box_content .search-content-form .select-wrap:after {
  position: absolute;
  top: 50%;
  transform: translate(0,-50%);
  right: 20px;
  content: "";
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #404040 transparent transparent transparent;
  pointer-events: none; /* 矢印にマウスの機能をなくす */
}
#search_box_content .search-content-form .search-form .select dl select {
  height: 70px;
  line-height: 70px;
  border: 1px solid #b2b2b2;
  border-radius: 2px;
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  font-size: 28px;
  text-align: left;
  text-indent: 30px;
  vertical-align: middle;
  width: 280px;
  margin-bottom: 10px;
  background: #fff;
  color: #e8180c;
  color: #800D26;
}

/* select 1つ目に変更を入れる
  ・select要素にはrequred属性を付加しておく
　・1つ目value属性値を空にしておく
  ・invalid疑似クラス
  ・option要素への色指定
 */
 #search_box_content .search-content-form select:invalid {
  color: #404040 !important;
  font-size: 28px !important;
  font-weight: inherit !important;
}

/* #search_box_content .search-content-form option:nth-child(2) {
  font-size: 22px;
} */


/* チェックボックス */
#search_box_content .search-content-form .search-form .input {
  margin: 10px 25px 10px;
}
#search_box_content .search-content-form .search-form .input dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
  position: relative;
}
#search_box_content .search-content-form .search-form .input dl:last-child {
  border-bottom: none;
}
#search_box_content .search-content-form .search-form .input dl dt {
  width: 22%;
  text-align: center;
  font-size: 26px;
  /* font-weight: bold; */
}
#search_box_content .search-content-form .search-form .input dl dd {
  width: 78%;
  padding-left: 30px;
  line-height: 1.8;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 24px;
}
#search_box_content .search-content-form .search-form .input dl dt span {
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-weight: normal;
}
/*--- チェックボックスの装飾 ---*/
#search_box_content .search-content-form input[type="checkbox"] {
  display: none;
  /* 標準スタイルを非表示にする */
}
#search_box_content .search-content-form .check_btn {
  position: relative;
  padding-left: 30px;
  margin-right: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  width: 200px;
}
#search_box_content .search-content-form .check_btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background: #f2f2f28a;
  border: 1px solid #b2b2b2;
  border-radius: 2px;
}
#search_box_content .search-content-form .check_btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 13px;
  left: 5px;
  margin-top: 0;
  width: 16px;
  height: 10px;
  border-left: 4px solid #800D26;
  border-bottom: 4px solid #800D26;
  transform: rotate(-45deg);
  opacity: 0;
  z-index: 2;
}
#search_box_content .search-content-form input[type="checkbox"]:checked + .check_btn::after {
  border: 1px solid #ccc;
}
#search_box_content .search-content-form input[type="checkbox"]:checked + .check_btn::before {
  opacity: 1;
}
/* 検索ボタン */
#search_box_content .search-content-form .search-form .button a {
  display: block;
  width: 600px;
  height: 80px;
  margin: 0 auto 40px;
  background: #ecf6fc;
  color: #404040;
  font-weight: bold;
  font-size: 33px;
  text-align: center;
  line-height: 80px;
  /* box-shadow: 4px 4px 0px #b36e7d; */
  border: 2px solid #d3eaf8;
  position: relative;
}
#search_box_content .search-content-form .search-form .button a::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -11px;
  width: 22px;
  height: 22px;
  border: none;
  background: url(/img/kensaku/ranking_main-btn-arrow.png)no-repeat;
  background-size: contain;
  display: block;
}
/* form 検索ボックス（コンテンツ用） */


/* 検索結果が表示されました */
.search-popup {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.9);
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -1;
  opacity: 0;
  transition: all 0.5s;
}
.search-popup .message {
  font-size: 3rem;
  font-weight: 700;
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.search-popup .icon {
  color: #32cd32;
  background-color: #fff;
  border-radius: 50%;
}
.search-popup.active {
  opacity: 1;
  z-index: 100;
}


/* 検索結果 対応求人等 */
.recruit-types {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 5px;
  margin-bottom: 5px;
}
.recruit-type {
  flex: 0 0 48%;
  line-height: 35px;
  font-size: 18px;
  border: 1px solid #8C6239;
  background-color: #F1E9D2;
  white-space: nowrap;
  color: #8C6239;
  font-weight: 700;
}
.recruit-type.invalid {
  border-color: #ccc;
  color: #aaa;
  background-color: #fff;
}
.recruit-sponsored {
  color: #404040;
  font-size: 13px;
  display: block;
  text-align: left;
}
.recruit-label {
  width: 100%;
  height: 100%;
  min-height: 72px;
  box-sizing: border-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #4A260A;
  font-size: 20px;
  line-height: 1.3;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700;
}
.recruit-label.level-03 {
  background-image: url(/img/kensaku/img_triangle.png);
}
.recruit-label.level-02 {
  background-image: url(/img/kensaku/img_circle.png);
}
.recruit-label.level-01 {
  background-image: url(/img/kensaku/img_doublecircle.png);
}


/* 検索ボックス結果画面／ランキング式 */

.result .result_ranking .search-result {
  background-color: transparent;
  padding: 0;
  min-height: initial;
}
.result .result_ranking .search-result table tbody td:last-child {
  border-right: initial !important;
}
.result .result_ranking .search-result table tbody td {
  text-align: center;
  padding: 0;
  border-left: initial !important;
}
.result .result_ranking .search-result .info {
  position: relative;
  font-size: 16px;
  text-align: right;
  margin-top: 5px;
  margin-bottom: 15px;
  margin-right: 10px;
}

.result_ranking h2 {
  font-size: 32px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  position: relative;
  margin-bottom: 60px;
  font-family: '游明朝', 'Yu Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', serif;
  background: #071739;
  padding: 20px 0;
  text-shadow: 0px 0px 7px rgba(255, 255, 255, 0.5);
}

.result_ranking h2 span {
  font-family: '游明朝', 'Yu Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', serif;
  font-size: 48px;
}

.result_ranking h2 span.pr {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-size: 26px;
  font-weight: normal;
  border: 1px solid #fff;
  padding: 3px 5px 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.result_ranking h2:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 22px 0;
  border-color: #071739 transparent transparent transparent;
  position: absolute;
  left: 50%;
  bottom: -13px;
  transform: translateX(-50%);
}

.result_ranking .info {
  font-size: 18px;
  text-align: right;
  margin-top: -40px;
  margin-bottom: 30px;
}

.result_ranking .sort-items {
  padding: 0 35px;
}

.result_ranking .sort-items ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.result_ranking .sort-items ul li{
  display: flex;
  align-items: center;
}

.result_ranking .sort-items ul li:after {
  content: "|";
  color: #ccc;
  /* font-size: 28px; */
  font-size: 50px;
  margin-left: 30px;
  margin-right: 10px;
}

.result_ranking .sort-items ul li:last-child:after {
  content: none;
}

.result_ranking .sort-items ul li a{
  font-size: 26px;
  font-weight: bold;
  color: #071739;
  display: flex;
  align-items: center;
  padding: 5px 0;
}

.result_ranking .sort-items ul li a:before {
  content: "";
  display: inline-block;
  margin-right: 4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 7px 0 7px;
  border-color: #aaaaaa transparent transparent transparent;
}

.result_ranking .sort-items ul li.active a {
  font-size: 28px;
  color: #800d26;
  border-bottom: 10px solid #800d26;
}

.result_ranking .sort-items ul li.active a:before {
  border-color: #800d26 transparent transparent transparent;
}

.result_ranking .answer-sort {
  /* margin-bottom: 30px; */
  margin-bottom: 25px;
}

.result_ranking .js-wrapper {
  background: #F2F2F2;
  padding-top: 30px;
  padding-bottom: 45px;
}

.result_ranking .js-wrapper .agent {
  background: #fff;
  border: #B8BECC;
  box-shadow: 0 4px 2px rgba(0, 0, 0, 0.30);
  border-radius: 10px;
  margin: 0 20px;
  border: 1px solid #B8BECC;
  padding: 40px 30px 70px;
  margin-bottom: 40px;
}

.result_ranking .js-wrapper .agent-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.result_ranking .js-wrapper span.agent-name {
  position: relative;
  margin-left: 60px;
}

.result_ranking .js-wrapper span.agent-name a {
  font-size: 42px;
  border-bottom: 2px solid #0000ee;
  color: #0000ee;
  font-weight: bold;
  line-height: 1.3;
}

.result_ranking .js-wrapper span.agent-name:before {
  content: "";
  width: 50px;
  height: 44px;
  background: url(/img/ranking/icon_crown_base.png)no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: -60px;
  transform: translateY(-50%);
}

.result_ranking .js-wrapper .agent:nth-of-type(1) span.agent-name:before {
  background: url(/img/ranking/icon_crown_1.png)no-repeat;
}

.result_ranking .js-wrapper .agent:nth-of-type(2) span.agent-name:before {
  background: url(/img/ranking/icon_crown_2.png)no-repeat;
}

.result_ranking .js-wrapper .agent:nth-of-type(3) span.agent-name:before {
  background: url(/img/ranking/icon_crown_3.png)no-repeat;
}

.result_ranking .js-wrapper .agent-sukusho {
  margin-bottom: 10px;
}

.result_ranking .js-wrapper .agent-sukusho img {
  width: 100%;
}

.result_ranking .js-wrapper .agent-sponsored {
  text-align: right;
  margin-top: 10px;
  margin-bottom: 30px;
}

.result_ranking .js-wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 30px;
}

.result_ranking .js-wrapper tbody {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: 160px;
}

.result_ranking .js-wrapper tr {
  display: inline-grid;
  width: 176px;
  border: 1px solid #ccc;
}

.result_ranking .js-wrapper th {
  height: 50px;
  line-height: 50px;
  font-size: 25px;
  background: #eee;
}

.result_ranking .js-wrapper th.active {
  background: #993D51;
  color: #fff;
}

.result_ranking .recruit-label {
  width: 100%;
  height: 100%;
  min-height: 72px;
  box-sizing: border-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  justify-content: center;
  align-items: center;
  /* color: #4A260A; */
  color: #404040;
  font-size: 20px;
  line-height: 1.3;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700;
}

.result_ranking .recruit-label.level-03 {
  background-image: url(/img/ranking/img_triangle.png);
  /* background-size: 50%; */
  background-size: 65%;
}

.result_ranking .recruit-label.level-02 {
  background-image: url(/img/ranking/img_circle.png);
  /* background-size: 50%; */
  background-size: 65%;
}

.result_ranking .recruit-label.level-01 {
  background-image: url(/img/ranking/img_doublecircle.png);
  /* background-size: 50%; */
  background-size: 65%;
}

.result_ranking .js-wrapper td {
  font-size: 29px;
  font-weight: bold;
  text-align: center;
  height: 130px;
  line-height: 130px;
}

.result_ranking .js-wrapper td span {
  font-size: 29px;
}

.result_ranking .js-wrapper .agent-kome {
  text-align: right;
  /* margin-top: 10px; */
  margin-top: 30px;
  margin-bottom: 20px;
}

.result_ranking .js-wrapper .agent-text {
  font-size: 19px;
  color: #535353;
}

.result_ranking .js-wrapper .agent-website {
  padding: 30px 0 40px;
  display: flex;
  /* justify-content: center; */
  align-items: center;
  gap: 20px;
}

.result_ranking .js-wrapper .agent-website span.label {
  flex: 0 0 auto;
  line-height: 40px;
  color: #100329;
  padding: 0 20px;
  background-color: #E6E6E6;
  border-radius: 20px;
  font-size: 22px;
  font-weight: 500;
}

.result_ranking .js-wrapper .agent-website a {
  font-size: 28px;
  font-weight: bold;
  border-bottom: 1px solid #0000ee;
  color: #0000ee;
  line-height: 1.2;
}

.result_ranking .tokucho ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 5px;
  margin-bottom: 5px;
}

.result_ranking .tokucho {
  flex: 0 0 48%;
  line-height: 35px;
  font-size: 18px;
  border: 1px solid #8C6239;
  background-color: #F1E9D2;
  white-space: nowrap;
  color: #8C6239;
  font-weight: 700;
}
.result_ranking .tokucho.invalid {
  border-color: #ccc;
  color: #aaa;
  background-color: #fff;
}

.result_ranking .agent-tokucho {
margin-bottom: 50px;
}

.result_ranking .agent-tokucho ul {
display: flex;
flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
}

.result_ranking .agent-tokucho ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 23px;
  width: 185px;
  height: 55px;
  line-height: 55px;
  margin: 0 0 8px;
  border-radius: 4px;
  border: initial;
  color: #8c6239;
  color: #071739;
  background: #f1e9d2;
  background: rgba(1, 94, 172, 0.1);
}

.result_ranking .agent-tokucho ul li.invalid {
  border: 1px solid #ddd;
  color: #aaa;
  background: #fff;
}

.result_ranking .agent-tokucho ul li:before {
  content: "";
  display: block;
  width: 36px;
  height: 35px;
  margin-right: 4px;
  background-repeat: no-repeat;
}

.result_ranking .agent-tokucho li:nth-of-type(1):before {
  background-image: url(/img/ranking/icon_tokucho_oote.png);
  background-image: url(/img/ranking/icon_tokucho_oote_2.png);
}
.result_ranking .agent-tokucho li.invalid:nth-of-type(1):before {
  background-image: url(/img/ranking/icon_tokucho_oote_g.png);
}

.result_ranking .agent-tokucho li:nth-of-type(2):before {
  background-image: url(/img/ranking/icon_tokucho_mikeiken.png);
  background-image: url(/img/ranking/icon_tokucho_mikeiken_2.png);
}
.result_ranking .agent-tokucho li.invalid:nth-of-type(2):before {
  background-image: url(/img/ranking/icon_tokucho_mikeiken_g.png);
}

.result_ranking .agent-tokucho li:nth-of-type(3):before {
  background-image: url(/img/ranking/icon_tokucho_zangyo.png);
  background-image: url(/img/ranking/icon_tokucho_zangyo_2.png);
}
.result_ranking .agent-tokucho li.invalid:nth-of-type(3):before {
  background-image: url(/img/ranking/icon_tokucho_zangyo_g.png);
}

.result_ranking .agent-tokucho li:nth-of-type(4):before {
  background-image: url(/img/ranking/icon_tokucho_pro.png);
  background-image: url(/img/ranking/icon_tokucho_pro_2.png);
}
.result_ranking .agent-tokucho li.invalid:nth-of-type(4):before {
  background-image: url(/img/ranking/icon_tokucho_pro_g.png);
}

.result_ranking .agent-tokucho li:nth-of-type(5):before {
  background-image: url(/img/ranking/icon_tokucho_haikurasu.png);
  background-image: url(/img/ranking/icon_tokucho_haikurasu_2.png);
}
.result_ranking .agent-tokucho li.invalid:nth-of-type(5):before {
  background-image: url(/img/ranking/icon_tokucho_haikurasu_g.png);
}

.result_ranking .agent-tokucho li:nth-of-type(6):before {
  background-image: url(/img/ranking/icon_tokucho_kosho.png);
  background-image: url(/img/ranking/icon_tokucho_kosho_2.png);
}
.result_ranking .agent-tokucho li.invalid:nth-of-type(6):before {
  background-image: url(/img/ranking/icon_tokucho_kosho_g.png);
}

/*2卒用*/
.tokucho2 li:nth-of-type(1):before {
  background-image: url(/img/ranking/icon_tokucho_mikeiken_2.png)!important;
}
.tokucho2 li.invalid:nth-of-type(1):before {
  background-image: url(/img/ranking/icon_tokucho_mikeiken_g.png)!important;
}

.tokucho2 li:nth-of-type(2):before {
  background-image: url(/img/ranking/icon_gakureki.png)!important;
}
.tokucho2 li.invalid:nth-of-type(2):before {
  background-image: url(/img/ranking/icon_gakuteki_2.png)!important;
}

.tokucho2 li:nth-of-type(3):before {
  background-image: url(/img/ranking/icon_keiken.png)!important;
}
.tokucho2 li.invalid:nth-of-type(3):before {
  background-image: url(/img/ranking/icon_keiken_2.png)!important;
}

.tokucho2 li:nth-of-type(4):before {
  background-image: url(/img/ranking/icon_tokucho_oote_2.png)!important;
}
.tokucho2 li.invalid:nth-of-type(4):before {
  background-image: url(/img/ranking/icon_tokucho_oote_g.png)!important;
}

.tokucho2 li:nth-of-type(5):before {
  background-image: url(/img/ranking/icon_tokucho_pro_2.png)!important;
}
.tokucho2 li.invalid:nth-of-type(5):before {
  background-image: url(/img/ranking/icon_tokucho_pro_g.png)!important;
}

.tokucho2 ul::after{
  content:"";
  display: block;
  width:185px;
}

/* マイクロコピー付き ボタン */
.result_ranking .btn-micro-copy span {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #222;
}

.result_ranking .btn-micro-copy span:before {
  content: "";
  width: 28px;
  height: 28px;
  background: url(/img/ranking/icon_check-pink.png)no-repeat;
  background-size: contain;
  margin-right: 5px;
}

.result_ranking a.btn-entry_2 {
  display: block;
  width: 500px;
  height: 74px;
  margin: 10px auto 0;
  background: #800D26;
  color: #fff;
  font-weight: bold;
  font-size: 34px;
  text-align: center;
  line-height: 74px;
  box-shadow: 4px 4px 0px #b36e7d;
  position: relative;
}

.result_ranking a.btn-entry_2::after {
  content: "";
  position: absolute;
  right: 80px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  border: none;
  background: url(/img/ranking_main-btn-arrow.png)no-repeat;
  background-size: contain;
  display: block;
}

/* 検索ボックス結果画面／ランキング式 ここまで*/




/* もっと見るボタン */
.fv_hikaku_inner {
  height: 1080px;
  overflow: hidden;
  position: relative;
}
.fv_hikaku_inner:after {
  content: "";
  display: block;
  background: -moz-linear-gradient(top, transparent 0%, #ffffff 100%);
  background: -webkit-linear-gradient(top, transparent 0%, #ffffff 100%);
  background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="transparent", endColorstr="#ffffff",GradientType=0 );
  width: 100%;
  height: 80px;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.2s;
}
.fv_hikaku .btn-more {
  width: 50%;
  height: 60px;
  margin: 0 auto;
  background-color: #ff8000;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.fv_hikaku .btn-more span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  transition: all 0.2s;
}
.fv_hikaku .btn-more span.text-more:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #ffffff transparent transparent transparent;
}
.fv_hikaku .btn-more span.text-close:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 10px 6px;
  border-color: transparent transparent #ffffff transparent;
}
.fv_hikaku.close .fv_hikaku_inner {
  height: 920px;
}
.fv_hikaku.close .fv_hikaku_inner:after {
  display: block;
}
.fv_hikaku.close .text-close {
  display: none;
}
.fv_hikaku.open .fv_hikaku_inner {
  height: auto;
}
.fv_hikaku.open .fv_hikaku_inner:after {
  display: none;
}
.fv_hikaku.open .btn-more {
  margin-top: 30px;
}
.fv_hikaku.open .text-more {
  display: none;
}




/* form 検索ボックス_2（コンテンツ用） */
#search_box_content_2 p,
#search_box_content_2 dl,
#search_box_content_2 dt,
#search_box_content_2 dd,
#search_box_content_2 a,
#search_box_content_2 li,
#search_box_content_2 div,
#search_box_content_2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #4D4D4D;
}

#search_box_content_2 {
  margin: 0 auto;
  margin-top: -15px;
  margin-bottom: 70px;
  width: 95%;
}
/*検索ボックス自体の枠線部分
#search_box_content_2 .search-content-form {
  border: 1px solid #00395E;
  padding-bottom: 70px;
}*/
/* #search_box_content_2 .search-content-form .title {
  height: 70px;
  line-height: 74px;
  font-size: 31px;
  text-align: center;
  background-size: auto auto;
  background: #def0fb;
  height: 93px;
  line-height: 93px;
} */
/* #search_box_content_2 .search-content-form .title p {
  font-size: 31px;
  line-height: 93px;
  text-align: center;
} */
#search_box_content_2 .search-content-form .search-form {
  width: 100%;
}


/* ラジオボタン＆チェックボックス 共通 */
#search_box_content_2 .search-content-form .search-form .input {
  margin: 70px 25px 70px;
}
#search_box_content_2 .search-content-form .search-form .input dl {
  width: 100%;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
  position: relative;
}

#search_box_content_2 .search-content-form .search-form dl:last-child {
  border-bottom: none;
}
#search_box_content_2 .search-content-form .search-form dl dt {
  font-size: 36px;
  font-weight: bold;
  color: #4D4D4D;
  border-left: 5px solid #3C4C6E;
  padding-left: 12px;
  margin-bottom: 26px;
  position: relative;
}

#search_box_content_2 .search-content-form .search-form dl dt span.small {
  font-size: 32px;
  font-weight: bold;
}
#search_box_content_2 .search-content-form .search-form dl dt .bg {
  display: flex;
  align-items: center;
  background: #fff;
  width: fit-content;
  z-index: 2;
  position: relative;
}
/* 必須 */
#search_box_content_2 .search-content-form .search-form dl dt span.required {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background: #D4432D;
  width: 58px;
  height: 30px;
  line-height: 28px;
  border-radius: 5px;
  margin-left: 15px;
  text-align: center;
  vertical-align: 5px;
}
/* 任意 */
#search_box_content_2 .search-content-form .search-form dl dt span.optional {
  display: inline-block;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background: #CCCCCC;
  width: 58px;
  height: 30px;
  line-height: 28px;
  border-radius: 5px;
  margin-left: 15px;
  text-align: center;
  vertical-align: 5px;
}

#search_box_content_2 .search-content-form .search-form dl dd {
  width: 100%;
  line-height: 1.8;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 24px;
}
#search_box_content_2 .search-content-form .search-form dl.dl_1 dd,
#search_box_content_2 .search-content-form .search-form dl.dl_2 dd {
  font-size: 28px;
}
#search_box_content_2 .search-content-form .search-form dl.dl_1 dd span,
#search_box_content_2 .search-content-form .search-form dl.dl_2 dd span {
  font-size: 20px;
}

/*--- ラジオボタンの装飾 ---*/
#search_box_content_2 .search-content-form input[type="radio"] {
  display: none;
  /* 標準スタイルを非表示にする */
}
#search_box_content_2 dl .radio-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 16px;
  margin-bottom: 36px;
}
#search_box_content_2 dl .radio-wrap .radio_btn {
  width: calc(33% - 9px);
  height: 75px;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  padding: 10px;
  cursor: pointer;
  text-align: center;
}
/* 年収 */
#search_box_content_2 dl.dl_2 .radio-wrap .radio_btn {
  height: 85px;
  line-height: 2;
}
/* 年収 2行 */
#search_box_content_2 dl.dl_2 .radio-wrap .lines-2 {
  line-height: 1;
}
/* 職種 */
#search_box_content_2 dl.dl_3 .radio-wrap .radio_btn {
  line-height: 2;
}
/* 職種 その他IT・WEBのみ小さく*/
#search_box_content_2 dl.dl_3 .radio-wrap .radio_btn:nth-of-type(3) {
  font-size: 22px;
}
/* チェック時 */
#search_box_content_2 .radio-wrap input[type="radio"]:checked + label{
  background: #def0fb;
  border: 4px solid #0071BC;
  color: #0071BC;
  font-weight: bold;
}
#search_box_content_2 .radio-wrap input[type="radio"]:checked + label span {
  color: #0071BC;
  font-weight: bold;
}

/* アニメーション 線を点滅 */
@keyframes blinkBorder {
  0% {
    border: 4px solid #0071BC;
  }
  100% {
    border: 4px solid #def0fb;
  }
}
#search_box_content_2 .radio-wrap input[type="radio"]:checked + label {
  animation: blinkBorder 0.6s ease infinite alternate;
}

/*--- ラジオボタンの装飾 ---*/


/*--- チェックボックスの装飾 ---*/
#search_box_content_2 .search-content-form input[type="checkbox"] {
  display: none;
  /* 標準スタイルを非表示にする */
}
#search_box_content_2 .search-content-form .check_btn {
  position: relative;
  padding-left: 30px;
  margin-right: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  width: 48%;
}
#search_box_content_2 .search-content-form .check_btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 24px;
  height: 24px;
  background: #f2f2f28a;
  border: 1px solid #b2b2b2;
  border-radius: 2px;
}
#search_box_content_2 .search-content-form .check_btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 13px;
  left: 5px;
  margin-top: 0;
  width: 16px;
  height: 10px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  z-index: 2;
}
#search_box_content_2 .search-content-form input[type="checkbox"]:checked + .check_btn::after {
  border: none;
  background: #a3d7f2;
}
#search_box_content_2 .search-content-form input[type="checkbox"]:checked + .check_btn::before {
  opacity: 1;
}

/* チェックボタンがイラストのチェッボックス */
#search_box_content_2 dl .checkbox-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 16px;
  margin-bottom: 36px;
}
#search_box_content_2 dl .checkbox-wrap .icon {
  width: calc(50% - 10px);
  height: 75px;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  display: flex;
  align-items: center;
  padding: 10px 0;
  cursor: pointer;
}
#search_box_content_2 dl .checkbox-wrap .icon::before {
  content: "";
  display: block;
  width: 75px;
  height: 100%;
  /*border-right: 1px solid #CCCCCC;*/
  /*margin-right: 5px;*/
  background-size: auto;
}

#search_box_content_2 dl.dl_4 .checkbox-wrap .icon:nth-of-type(1)::before {
  background: url(/img/kensaku/icon/icon_beginner.png) center no-repeat;
}
#search_box_content_2 dl.dl_4 .checkbox-wrap .icon:nth-of-type(2)::before {
  background: url(/img/kensaku/icon/icon_highclass.png) center no-repeat;
}
#search_box_content_2 dl.dl_4 .checkbox-wrap .icon:nth-of-type(3)::before {
  background: url(/img/kensaku/icon/icon_company.png) center no-repeat;
}
#search_box_content_2 dl.dl_4 .checkbox-wrap .icon:nth-of-type(4)::before {
  background: url(/img/kensaku/icon/icon_senmon.png) center no-repeat;
}

#search_box_content_2 dl.dl_5 .checkbox-wrap .icon:nth-of-type(1)::before {
  background: url(/img/kensaku/icon/icon_career.png) center no-repeat;
}
#search_box_content_2 dl.dl_5 .checkbox-wrap .icon:nth-of-type(2)::before {
  background: url(/img/kensaku/icon/icon_rirekisyo.png) center no-repeat;
}
#search_box_content_2 dl.dl_5 .checkbox-wrap .icon:nth-of-type(3)::before {
  background: url(/img/kensaku/icon/icon_nensyu.png) center no-repeat;
}
#search_box_content_2 dl.dl_5 .checkbox-wrap .icon:nth-of-type(4)::before {
  background: url(/img/kensaku/icon/icon_mensetu.png) center no-repeat;
}
/* チェック時 */
#search_box_content_2 .checkbox-wrap input[type="checkbox"]:checked + label {
  background: #def0fb;
  border: 2px solid #0071BC;
  color: #0071BC;
  font-weight: bold;
}
/*
#search_box_content_2 .checkbox-wrap input[type="checkbox"]:checked + .icon::before {
  border-right: 2px solid #0071BC;
}*/
/*--- チェックボックスの装飾 ---*/


/* 検索ボタン */
#search_box_content_2 .search-content-form .search-form .button a {
  display: block;
  width: 596px;
  height: 112px;
  margin: 0 auto 30px;
  background: #B21212;
  color: #fff;
  font-weight: bold;
  font-size: 38px;
  text-align: center;
  line-height: 112px;
  box-shadow: 0 8px 3px rgba(81, 74, 74, 0.75);
  position: relative;
  border-radius: 10px;
}
#search_box_content_2 .search-content-form .search-form .button a::after {
  content: "";
  position: absolute;
  right: 70px;
  top: 50%;
  margin-top: -13px;
  width: 33px;
  height: 33px;
  border: none;
  background: url(/img/kensaku/icon/icon_arrow-right.png) no-repeat;
  background-size: contain;
  display: block;
}

/* アニメーション 左右に*/
@keyframes move-x {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-10px);
  }
}
#search_box_content_2 .search-content-form .search-form .button a::after {
  animation: move-x 1s infinite alternate ease-in-out;
}

/* アニメーション 光る */
@-webkit-keyframes shiny-btn {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 0.8; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
.search_box_content_2 .shiny-btn {
  display: block;
  position: relative;
  overflow: hidden;
  transition: 0.2s;
}
.search_box_content_2 .shiny-btn:hover {
  text-decoration: none;
  color: #fff;
  box-shadow: 0 4px 6px 0px rgba(0, 0, 0, 0.2);
  opacity: inherit;
}
.search_box_content_2 .shiny-btn::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  animation: shiny-btn 3s ease-in-out infinite;
}

/* form 検索ボックス_2（コンテンツ用） */