@charset "utf-8";
@media screen and (max-width: 768px) {
  #spc_glo_entry {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%; /* 横いっぱいに広げる */
    z-index: 9999; /* 他要素の上に出す */
    transform: translateY(100%); /* 初期は画面外に隠す */
  }
  #spc_glo_entry a {
    display: block;
    width: 100%;
    font-size: 4.4vw;
    font-weight: bold;
    text-align: center;
    color: #FFFFFF;
    line-height: 1.0em;
    box-sizing: border-box;
    padding: 3.6vw 7.0vw 3.6vw;
    border-top-left-radius: 4.5vw;
    border-top-right-radius: 4.5vw;
    background-color: #DC0000;
    transition: background-color 0.3s ease;
  }
  #spc_glo_entry a span {
    font-size: 5.2vw;
    font-weight: 900;
    letter-spacing: 0.05em;
    border-left: 2px solid #FFFFFF;
    margin-left: 3.0vw;
    padding-left: 3.0vw;
  }
  #spc_glo_entry a:hover {
    background-color: #484848;
  }
  /* コンテンツ全体 */
  #contents {
    clear: both;
    width: 100%;
    padding: 15vh 0 8vh;
    background-color: #F0EEEC;
  }
  /* 見出し */
  #h2_recruit {
    font-size: 5.4vw;
    font-weight: 700;
    line-height: 1.4em;
    padding: 10vh 0px 0px 0px;
    margin-bottom: 4vh;
  }
  #h2_recruit span {
    font-size: 4.0vw;
    letter-spacing: 0.1em;
    padding: 3.0vh 0px 0px 0px;
  }
  .sec_recruit {
    clear: both;
    width: 90%;
    border-radius: 5vw;
    padding: 7vh 6vw 7vh;
    box-sizing: border-box;
    background-color: #FFF;
    margin: 0px auto 6vh;
  }
  .sec_recruit2 {
    clear: both;
    width: 90%;
    padding: 0vh 0vw 0vh;
    box-sizing: border-box;
    background-color: #FFF;
    margin: 0px auto 0;
  }
  #recruit p.desc {
    width: 90%;
    text-align: left;
    font-size: 3.2vw;
    line-height: 1.8em;
    margin: 0px auto 8.0vh;
  }
  /* ボタンエリア */
  .bt_recruit {
    clear: both;
    width: 100%;
    text-align: center;
    margin: 6vh 0 3vh;
  }
  .sec_recruit h3 {
    font-size: 6.2vw;
    margin-bottom: 4.0vh;
  }
  .sec_recruit dl, .sec_recruit2 dl {
    width: 100%;
    margin: 0 auto 0;
    display: block;
    padding: 0 0;
    align-items: stretch;
  }
  /* 基本の dt, dd の線設定 */
  .sec_recruit dl dt, .sec_recruit2 dl dt {
    display: block;
    width: 100%;
    font-size: 3.6vw;
    line-height: 1.6em;
    padding: 3.0vh 1.0vw 0.5vh;
    margin-right: 0px;
    border-bottom: none;
  }
  .sec_recruit dl dd, .sec_recruit2 dl dd {
    width: 100%;
    font-size: 3.6vw;
    line-height: 1.6em;
    padding: 0.5vh 1.0vw 3.5vh;
    border-bottom: 2px solid #EDEDED;
  }
  /* 最初の dl は上線 3px */
  .sec_recruit dl.dl_first dt {
    border-top: 2px solid #EDEDED;
  }
  .sec_recruit dl.dl_first dd {
    border-top: none;
  }
  .sec_recruit2 dl.dl_first dt {
    border-top: 2px solid #EDEDED;
  }
  .sec_recruit2 dl.dl_first dd {
    border-top: none;
  }
  #sougousyoku {
    clear: both;
    width: 100%;
    padding: 8vh 6vw 8vh;
    box-sizing: border-box;
    background-color: #FFF;
    margin: 0px auto 6vh;
  }
  .sougou_wrap {
    clear: both;
    width: 86%;
    text-align: center;
    margin: 0px auto;
  }
  #sougousyoku h2 {
    font-size: 6.0vw;
    line-height: 1.4em;
    color: #DC0000;
    font-weight: 600;
    text-align: center;
    padding: 0px 0.5vw 1.5vh 1.8vw;
    border-bottom: 3px solid #DC0000;
    margin: 0px auto 5.0vh;
  }
  p.rec_desc {
    text-align: left;
    font-size: 3.4vw;
    line-height: 2.0em;
    margin: 0px 0px 6.0vh 0px;
  }
  #modle_wrap {
    clear: both;
    width: 90%;
    margin: 0px auto;
  }
  .rec_flex {
    clear: both;
    width: 100%;
    display: block;
  }
  .rec_flex article {
    width: 100%;
    margin-bottom: 4.0vh;
  }
  .rec_flex article:last-child {
    margin-bottom: 0vh;
  }
  .rec_flex article h4 {
    font-size: 4.0vw;
    padding: 1.8vh 0px 2.0vh;
    margin-bottom: 0.8vh;
  }
  .rec_flex article ul li {
    font-size: 3.6vw;
    padding: 1.4vh 2.2vw;
    display: flex; /* flexboxに */
    justify-content: space-between; /* 左右に分ける */
    align-items: center; /* 縦位置を揃える */
  }
}