@charset "UTF-8";

@media (min-width: 769px) {
  .hidden-pc { display: none; }
}
@media (max-width: 768px) {
  .hidden-sp { display: none; }
}

@media (min-width: 769px) {
  br.no_br_pc { display: none; }
}
@media (min-width: 641px) {
  br.no_br_tab { display: none; }
}
@media (max-width: 640px) {
  br.no_br_sp { display: none; }
}

.mb5  { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }

.mt5  { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

.bold { font-weight: bold; }

.txtL {text-align: left !important; }
.txtC { text-align: center !important; }
.txtR { text-align: right !important; }

.raleway_r {
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'Yu Gothic', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-weight: 400;
}
.raleway_b {
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'Yu Gothic', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-weight: 700;
}
.raleway_eb {
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'Yu Gothic', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-weight: 800;
}

.txt_mid {
  font-size: 2.0rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .txt_mid { font-size: 1.5rem; }
}


.txt_big {
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  .txt_big { font-size: 1.4rem; }
}

.txt_red { color: #CF2239; }

.cf::after, .clearfix::after {
  content: "";
  display: table;
  clear: both;
}


/* -----------------------------------------------------------
タグ全般
------------------------------------------------------------- */
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a { color: #00436F; }

/* リンクのマウスオーバー */
a img {
  transition: 400ms all ease-in-out 0s;
  /* Chrome オーバー時の画像サイズぶれ対策 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  /* FireFox オーバー時の画像位置ずれ対策 */
  box-shadow: #000 0 0 0;
}
a img:hover { opacity:0.75; }


/* -----------------------------------------------------------
共通パーツ　ブロックやコンテナ
------------------------------------------------------------- */

html { font-size: 62.5%; /* 10px */ }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'Yu Gothic Medium', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  /* 'Yu Gothic' を追加するとIE11でも游ゴシックが有効になるが、ずれが生じるので入れないでおく */
  font-size: 1.4rem; /* 14px */
  line-height: 1.75;
  color: #000; }
  @media (max-width: 768px) {
    body { font-size: 1.3rem; }
  }

#wrap {
  margin: auto; }
  @media (max-width: 768px) {
    #wrap {
      width: 100%; }
  }
main {
    background-color: #F7F7F5;
    padding-top: 5px;
    display: block;
}
#toppage main { /* トップページ用 */
    padding-top: 0;
    background-color: #FFF;
}
.container {
  margin: auto;
  padding: 35px 0;
}
#toppage main .container { /* トップページ用 */
    margin-bottom: 20px;
    background-color: #F7F7F5;
}
section {
    width: 96%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 0 30px 0;
}
#toppage section { /* トップページ用 */
    max-width: 1160px;
    padding-bottom: 0;
}
@media (max-width: 768px) {
    main { padding-top: 5px; }
    .container {
      width: 100%;
      box-sizing: border-box;
      padding: 0 10px 30px 10px;
    }
    section { padding: 20px 0 15px 0; }
    #toppage section { /* トップページ用 */
      max-width: 550px;
    }
}

.box_white {
    box-sizing: border-box;
    width: 100%;
    padding: 35px 20px;
    background-color: #FFF;
}
.flex_sb {
    display: flex;
    justify-content: space-between;
    text-align: center;
}
@media (max-width: 768px) {
    .box_white {
        padding: 20px 15px;
    }
    .flex_sb {
        display: block;
    }
}


/* -----------------------------------------------------------
共通パーツ　タイトル系
------------------------------------------------------------- */
.ttl_main {
  font-size: 6.0rem;
  color: #CF2239;
  line-height: 1.2;
  text-align: left;
  position: relative;
  padding-top: 20px;
  margin: 0 auto;
  font-family: 'Raleway', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'Yu Gothic', 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-weight: 800;
  letter-spacing: 2px;
}
#toppage .ttl_main { /* トップページ用 */
    font-size: 4.0rem;
    margin-bottom: 35px;
    padding-top: 0;
}
.ttl_main .subttl {
  font-size: 1.6rem;
  display: block;
  font-weight: bold;
  letter-spacing: 0;
}
#toppage .ttl_main .subttl { /* トップページ用 */
    padding-top: 10px;
}
.sec_ttl {
    margin-bottom: 15px;
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold;
}
@media (max-width: 768px) {
    .ttl_main {
      font-size: 3.0rem;
      padding-top: 0;
      margin: 10px auto 0 auto;
    }
    #toppage .ttl_main { /* トップページ用 */
      font-size: 3.0rem;
      margin: 15px 0 30px 0;
    }
    .ttl_main .subttl {
      font-size: 1.2rem;
    }
    #toppage .ttl_main .subttl { /* トップページ用 */
      font-size: 1.4rem;
    }
    .sec_ttl {
      font-size: 1.6rem;
    }
}


/* -----------------------------------------------------------
ヘッダー
------------------------------------------------------------- */

button#btn_gnav { /* ハンバーガーボタン */
  display: none; }
  @media (max-width: 768px) {
    button#btn_gnav {
      display: block;
      line-height: 1;
      position: absolute;
      top: 0;
      right: 0;
      background: #CF2239;
      color: #fff;
      border: none;
      width: 45px;
      height: 45px;
      cursor: pointer; }
      button#btn_gnav .line {
        display: block;
        height: 2px;
        width: 18px;
        margin: 4px auto;
        background: #fff;
        transition: 0.1s; }
      button#btn_gnav .txt {
        font-size: 0.9rem; }
      button#btn_gnav.btn_open .line {
        transition: 0.2s;
        width: 23px;
        margin: auto;
        transform-origin: center; }
        button#btn_gnav.btn_open .line:nth-child(1) {
          transform: rotate(45deg) translate(0, 0); }
        button#btn_gnav.btn_open .line:nth-child(2) {
          display: none; }
        button#btn_gnav.btn_open .line:nth-child(3) {
          transform: rotate(-45deg) translate(1px, -1px); }
      button#btn_gnav.btn_open .txt {
        /*display: none;*/
        display: block;
        padding-top: 11px;
        margin-bottom: -10px;
      }
  }

/* ヘッダー */
header {
  height: 68px;
  background: #fff;
  z-index: 10;
  /*position: fixed;*/
  left: 0;
  right: 0;
}
#toppage header { /* トップページ用 */
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.6);
}
  header .header_wrap {
    display: flex;
    justify-content: space-between; }
  header h1 {
    padding: 20px 10px 0 20px;
    font-size: 1.8rem;
    font-weight: bold;
  }
  header h1 img {
      width: 100px;
      margin-right: 10px;
      vertical-align: middle;
  }
  header h1 a img { transition: none; }
  header nav {
    display: block;
    line-height: 1.4;
    text-align: center;
    width: calc(1000px + 5vw - 270px); }
    header nav ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
    header nav li {
      flex-grow: 1;
      position: relative;
      font-size: 1.6rem; }
      header nav li a {
        display: block;
        padding: 0;
        text-decoration: none;
        color: #000;
        line-height: 68px;
      }
      header nav li:nth-child(-n+4)::after {
          content: '';
          display: block;
          position: absolute;
          top: 35%;
          right: 0;
          width: 1px;
          height: 20px;
          border-right: 1px solid #000;
      }
      header nav li a:hover { color: #CF2239; }
    header nav li.nav_entry {
        margin-left: 1vw;
        padding: 0 1.5vw;
        text-align: center;
        background-color: #CF2239;
    }
    header nav li.nav_entry a {
        color: #FFF;
        font-size: 120%;
    }
  @media (max-width: 1200px) {
      header nav { width: calc(1000px + 20vw - 570px); }
      header nav li { font-size: 1.4rem; }
  }
  @media (max-width: 1100px) {
      header h1 { font-size: calc(0.9rem + 0.5vw); }
      header nav { width: calc(1000px + 30vw - 690px); }
      header nav li { font-size: 1.4rem; }
  }
  @media (max-width: 1000px) {
    header h1 {
      flex: 0 1 320px; /* IEでロゴ画像が縮まない対策 */
      padding: 23px 10px 0 20px;
    }
    header h1 span { letter-spacing: -1px; }
    header h1 img { max-width: 65%; }
    header nav {
      width: calc(900px + 20vw - 320px); }
      header nav li {
        font-size: calc(0.9rem + 0.5vw); }
  }
  /* @media (max-width: 900px) {
    header h1 span { display: none; }
    header h1 img { max-width: 90%; }
  } */
  @media (max-width: 768px) {
    header {
      height: auto; }
    #toppage header {
      position: relative; }
      header .header_wrap {
        display: block;
        height: 45px;
        overflow: auto;
      }
      header h1 {
        padding: 14px 0 0 14px;
        font-size: 1.2rem; }
        header h1 img {
          width: 60px;
          margin-right: 10px;
          max-width: 50%;
          max-height: 45px;
        }
        header h1 span { display: inline; }
      header nav {
        display: none;
        padding: 35px 0;
        width: 100% /*calc(100% - 20px)*/;
        position: absolute;
        background: #CF2239;
        right: 0;
        top: 45px;
        text-align: left;
        z-index: 15;
        /*height: 100vh;*/
        overflow: auto;
       }
        header nav ul {
          display: block;
          width: 86%;
          margin: 0 auto;
          padding: 0; }
        header nav li {
          display: block;
          border-left: 0;
          padding: 0;
          width: 100%;
          box-sizing: border-box;
          font-size: calc(1.2rem + 0.5vw);
          border-bottom: solid 1px #FFF; }
          header nav li:first-child {
            border-top: solid 1px #FFF; }
          header nav li:nth-child(-n+4)::after {
              display: none;
          }
          header nav li a {
            padding: 20px 0;
            line-height: 1;
            color: #fff;
            background: url("../imgs/icon_arrow.png") no-repeat 95% center; }
          header nav li a:hover {
              color: #FFF;
          }
          header nav li a::after {
              content: '';
              position: absolute;
              left: auto;
              right: 20px;
              width: 8px;
              height: 8px;
              border-top: 2px solid #FFF;
              border-right: 2px solid #FFF;
              transform: rotate(45deg);
          }
          header nav li.nav_entry {
              margin-left: 0;
              padding: 0;
              text-align: left;
              background-color: transparent;
          }
          header nav li.nav_entry a {
              color: #FFF;
              font-size: 100%;
          } }
.active a{
  color:#2264CF;
}
@media (max-width: 768px){
  .active a{
    color:#fff;
  }
}

/* -----------------------------------------------------------
フッター
------------------------------------------------------------- */
footer .container {
    width: 96%;
    max-width: 1040px;
    padding-top: 35px;
    display: flex;
    justify-content: left;
    align-items: center;
}
footer .container img {
    width: 100px;
}
footer .footer_copylight {
    padding-left: 25px;
    font-size: 1.4rem;
    text-align: left;
}
#pagetop {
    position: fixed;
    width: 60px;
    height: 60px;
    background-color: #CF2239;
    cursor: pointer;
    right: 30px;
    bottom: 30px;
    z-index:5;
}
#pagetop:hover { opacity: 0.8; }
#pagetop::after {
    content: '';
    position: absolute;
    left: 24px;
    top: 25px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    transform: rotate(-45deg);
}
@media (max-width: 768px) {
  footer .container {
      padding: 25px 10px;
      display: block;
  }
  footer .container img {
      max-width: 15%;
  }
  footer .footer_copylight {
    padding-left: 0;
    font-size: 1.2rem;
  }
  /*
  #pagetop { display: none; }
  */
}


/* -----------------------------------------------------------
ボタン
------------------------------------------------------------- */
.btn_red,
.btn_white {
    position: relative;
    display: block;
    width: 340px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    text-decoration: none;
    font-size: 2.0rem;
    transition: .3s;
}
.btn_red {
    border: 1px solid #CF2239;
    background-color: #CF2239;
    color: #FFF;
    margin: 25px auto 0 auto;
}
.btn_white {
    border: 1px solid #CF2239;
    background-color: #FFF;
    color: #CF2239;
    margin: 20px auto 20px 0;
}
#toppage .btn_red { /* トップページ用 */
    width: 300px;
    font-size: 1.4rem;
}
#toppage .btn_white { /* トップページ用 */
    width: 200px;
    font-size: 1.4rem;
}
.btn_red:hover {
    opacity: 0.9; /* 1未満を指定しないとbeforeの色が出ない */
    border: 1px solid #CF2239;
    color: #CF2239;
}
.btn_white:hover {
    opacity: 0.9;
    color: #FFF;
}
.btn_red::after,
.btn_white::after {
    content: '';
    position: absolute;
    right: 18px;
    top: 18px;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
    transition: .3s;
}
.btn_red::after {
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
}
.btn_white::after {
    border-top: 2px solid #CF2239;
    border-right: 2px solid #CF2239;
}
.btn_red:hover::after {
    border-top: 2px solid #CF2239;
    border-right: 2px solid #CF2239;
}
.btn_white:hover::after {
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
}
.btn_red::before,
.btn_white::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  transform-origin: left top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.btn_red::before { background: #FFF; }
.btn_white::before { background: #CF2239; }
.btn_red:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btn_white:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
@media (max-width: 768px) {
    .btn_red{
        width: 90%;
        max-width: 500px;
    }
    .btn_white {
        width: 60%;
        max-width: 300px;
        margin: 20px auto;
    }
    .btn_gray{
      width: 90%!important;
      max-width: 500px;
    }
}


/* -----------------------------------------------------------
トップページ用
------------------------------------------------------------- */
.toppage_mainimage {
    width: 100%;
    max-height: 725px;
    overflow: hidden;
}
.toppage_mainimage img {
    width: 100%;
    height: auto;
}
.toppage_maincopy {
    box-sizing: border-box;
    position: relative;
    background-color: #FFF;
    max-width: 800px;
    margin: -15vw auto 45px auto;
    padding: 30px;
    text-align: center;
    font-size: 1.4rem;
    border-radius: 6px;
    box-shadow: 0px 6px 0px 0px rgba(234,233,230,1);
    z-index: 5;
}
.toppage_maincopy p { margin-top: 25px; }
@media (max-width: 768px) {
    .toppage_maincopy {
        margin: 0 auto;
        padding: 20px 0;
        border-radius: 0;
        box-shadow: none;
    }
    .toppage_maincopy img {
        width: 100%;
        max-width: 500px;
    }
}

.toppage_flex {
    display: flex;
    justify-content: space-between;
    text-align: center;
}
.toppage_flex p,
.toppage_float p {
    margin-bottom: 20px;
    text-align: left;
}
.toppage_float div {
    float: left;
}
.toppage_aboutus {
    width: 580px;
    margin-right: 15px;
    text-align: left;
}
.toppage_personarity {
    width: 400px;
    margin-right: 15px;
    text-align: left;
}
.toppage_personarity:nth-of-type(2) {
    float: right;
    width: calc(100% - 430px);
    margin-right: 0;
    text-align: right;
}
.toppage_personarity ul li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 22px;
}
.toppage_personarity ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 5px;
    border-top: 3px solid #CF2239;
    border-right: 3px solid #CF2239;
    transform: rotate(135deg);
}
.toppage_tra_mes {
    background-color: #FFF;
    width: 550px;
    max-width: 550px;
    margin: 0 10px;
    padding-bottom: 20px;
    border-radius: 6px;
    box-shadow: 0px 6px 0px 0px rgba(234,233,230,1);
}
.toppage_tra_mes img { border-radius: 6px 6px 0 0; }
.toppage_tra_mes p { margin-bottom: 10px; padding: 0 20px; }
.toppage_tra_mes a { margin-left: 20px; }
#toppage .toppage_tra_mes .ttl_main {
    font-size: 3.0rem;
    margin-bottom: 15px;
    padding-top: 25px;
}
#toppage .toppage_tra_mes .ttl_main .subttl {
  font-size: 1.4rem;
  display: inline;
  padding: 0 0 0 30px;
  vertical-align: middle;
}
.toppage_information {
    width: 400px;
    margin-right: 15px;
    text-align: left;
}
.toppage_information:nth-of-type(2) {
    float: right;
    width: calc(100% - 430px);
    margin-right: 0;
    text-align: right;
}
@media (max-width: 768px) {
    .toppage_flex {
        display: block;
    }
    .toppage_flex img,
    .toppage_float img {
        width: 100%;
        max-width: 550px;
    }
    .toppage_float img { margin-bottom: 20px; }
    .toppage_float div { float: none !important; }
    .toppage_personarity:nth-of-type(2) {
        width: auto;
    }
    .toppage_personarity ul li::before { top: 5px; }
    .toppage_aboutus,
    .toppage_personarity,
    .toppage_tra_mes,
    .toppage_information {
        width: 100%;
        margin: auto;
    }
    .toppage_tra_mes:nth-of-type(1) { margin-bottom: 30px; }
    .toppage_tra_mes p { padding: 0 14px; }
    .toppage_tra_mes a { margin: 20px auto; }
    #toppage .toppage_tra_mes .ttl_main {
        font-size: 2.5rem;
        margin-bottom: 20px;
        padding-top: 10px;
    }
    .toppage_information:nth-of-type(2) {
        width: auto;
    }
    #toppage .ttl_main .subttl {
        font-size: 1.4rem;
    }
}


/* -----------------------------------------------------------
採用情報ページ
------------------------------------------------------------- */

.info_gyoumu {
    width: 460px;
    margin: 0 20px;
    border-top: 1px solid #DFDDD8;
    text-align: left;
}
.info_gyoumu li {
    padding: 12px 0 8px 0;
    border-bottom: 1px solid #DFDDD8;
}
.info_gyoumu li p {
    margin-bottom: 8px;
}
.info_flow {
    width: 435px;
    margin-right: 20px;
}
@media (max-width: 768px) {
    .info_gyoumu {
        width: 100%;
        margin: 0 auto;
    }
    .info_gyoumu:nth-of-type(2) {
        border-top: none;
    }
}
/* -----------------------------------------------------------
マイゾックスとは
------------------------------------------------------------- */

.about_icon{
      margin:20px 0;
      width:initial;
      max-width: 96px!important;
    }
.about_icon2{
  margin:20px 0;
  width:initial;
  max-width: 230px!important;
}
.bg-brown{
  background-color: #ebe4d4;
}
.about-table{
  display: inline-block;
  margin:0 30px auto;
  vertical-align: top;
}
.about-table th{
  font-weight: normal;
  text-align: left;
}
@media(max-width:768px){
  .about-table{
    width: 100%;
    margin: 0;
  }
}
.suuji_box{
  width:48%;
  display: inline-block;
  vertical-align: top;
  margin:40px 0 20px;
}
.suuji_box > .about_icon{
  margin: 0;
}
.suuji_box p{
  text-align: center;
}
.suuji_box_left{
  border-right: 2px solid #dfddd8;
}
.suuji_txt{
  color:#00436f;
  font-weight: bold;
  margin-top:20px;
}
.suuji_txt_big{
  font-size:50px;
  line-height: 1;
}
.suuji_bg{
  background-color: #FFF;
  margin: 0 10px;
  border-radius: 6px;
  box-shadow: 0px 6px 0px 0px rgba(234,233,230,1);
}
.suuji_wrap{
  width: 550px;
  max-width: 550px;
}
.suuji_gaiyou{
  width:95%;
  margin-top:25px;
  margin-left:15px;
}
@media(max-width:768px){
  .suuji_wrap{
    width:100%;
    margin:auto;
  }
  .suuji_box_left:nth-of-type(2){
    border-right: none;
  }
  .suuji_4{
    max-width:550px;
    margin:auto;
  }
  .suuji_gaiyou{
    margin-top:15px;
  }
  .suuji_mid{
    margin-bottom:10px!important;
  }
}
.suuji_txt_4 p{
  margin-bottom: 20px;
}
@media(max-width:768px){
  .hukuri_txt{
    text-align: left!important;
  }
}
.about_logo{
  max-width:90px!important;
}

/* -----------------------------------------------------------
教育システム
------------------------------------------------------------- */
@media (min-width:767px;) {
  .box_training{
    padding:70px 20px;
  }
}

.training_main{
  width:440px;
  height:auto;
  margin:0 auto;
  position: relative;
}
.training_main img{
  position: absolute;
  top:-130px;
  right: 2%;
  width: 400px;
}
.training_flex{
  margin-bottom: 30px;
}

@media (max-width: 1000px){
  .training_main img{
    top: -100px;
  }
}

@media (max-width: 900px){
  .training_main img{
    top: -40px;
  }
}

.training_flex .training_tra_mes .txt_big{
  text-align: center;
}
.icon{
  margin: 20px 0;
}
@media (max-width: 768px){
  .training_main{
    width: 100%;
  }
  .training_main img{
    position: static;
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
  }
  .training_flex .icon{
    width: initial;
  }
  .training_tra_mes{
    margin-bottom: 30px;
  }

}
.training_icon {
  width:78px;
  height:87px;
  }

  @media (max-width: 768px){
    .training_icon {
      width: 100%;
      height: auto;
    }
    .bottom_margin{
      margin-bottom: 0;
    }

  }
/* -----------------------------------------------------------
先輩社員の声
------------------------------------------------------------- */
.message_name{
    box-sizing: border-box;
  position: relative;
  background-color: #cf2239;
  color:#fff;
  max-width: 800px;
  margin: -175px 0 0 0;
  height:175px;
  width:210px;
  padding: 25px 30px 25px 30px;
  text-align: left;
  z-index: 5;
}
.message_name_wide{
  box-sizing: border-box;
position: relative;
background-color: #cf2239;
color:#fff;
max-width: 800px;
margin: -175px 0 0 0;
height:175px;
width:280px;
padding: 25px 30px 25px 30px;
text-align: left;
z-index: 5;
}
.message_dep{
  font-weight:800;
  font-size:24px;
  line-height: 145%;
}
.message_nyusha{
  font-weight:800;
  font-size:15px;
}
.message_copy{
  margin-top:30px;
  margin-bottom:30px;
}

.message_marker{
  background: linear-gradient(transparent 60%, #f8e0e3 0%);
  font-weight:800;
}

@media (max-width: 648px){
  .message_name, .message_name_wide{
    margin: 0;
    width:100%;
    height:65px;
    padding: 7px 20px 15px 20px;
  }
  .message_dep{
  font-weight:800;
  font-size:16px;
  line-height: 180%;
  }
.message_nyusha{
  font-weight:800;
  font-size:12px;
  }
.message_copy{
  margin-top:20px;
  margin-bottom:20px;
  }
}
.message_schedule {
  width: 460px;
margin: 0 20px;
text-align: left;
}

.message_schedule li {
  padding: 12px 0 8px 0;
}

.message_schedule li p {
  margin-bottom: 8px;
}
.txt_schedule_time{
  font-weight:bold;
  background: url(../imgs/message_time.gif) no-repeat left 0px;
  padding-top: 1px;
  padding-left: 35px;
  padding-bottom: 3px;
  background-size: 25px;
}
.txt_schedule_schedule{
  font-weight:bold;
  background: url(../imgs/message_schedule.gif) no-repeat left 0px;
  padding-top: 1px;
  padding-left: 35px;
  padding-bottom: 3px;
  background-size: 25px;
}
.txt_schedule_honbun{
  margin-left:11px;
  padding-left: 24px;
  padding-bottom: 15px;
  border-left:1px solid #cf2239;
}

@media (max-width: 768px){
.message_schedule {
    width: 100%;
    margin: 0 auto;
}
.message_marker{
    margin-left:0px;
  }
}

/* -----------------------------------------------------------
採用情報
------------------------------------------------------------- */
.txt_blue {
  color: #00436f;
}

.go_entry{
background-color: #cf2239;
color: #FFFFFF;
padding: 40px 0;
}

.sec_entry_txt {
margin-top: 15px;
  margin-bottom: 15px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}

.border_white {
  border: 1px solid #ffffff;
}

/*アイテムを縦中央揃えに*/
.flex_vmiddle {
  align-items: center;
}

@media only screen and (max-width: 768px){
.info_flow{
  width: 100%;
  padding-bottom: 50px;
}
}

/* -----------------------------------------------------------
エントリーフォーム
------------------------------------------------------------- */
.entry_content{
  width:700px;
  margin:20px auto;
}
@media(max-width:768px){
  .entry_content{
    width:100%;
  }
}
.form{
  margin:20px 0;
  line-height:80px;
  border-collapse:collapse;
}
.form th{
  width:250px;
  text-align: left;
  font-weight: bold;
  vertical-align:top;
}
.form td{
  width:450px;
}
.form tr{
  border-top: 1px solid #f2f1ef;
}
.form tr:last-child{
  border-bottom: 1px solid #f2f1ef;
}
input[type="text"], input[type="email"],textarea{
  width: 100%;
  background-color: #e1e1e1;
  border: none;
  border-radius:4px;
}
input[type="text"], input[type="email"]{
  height: 40px;
}
@media(max-width:768px){
  .form{
    width:100%;
    line-height: 60px;
  }
  .form td , .form th{
    width:100%;
    display:block;
    line-height: 1.5;
    margin: 20px 0;
  }
  input[type="text"], input[type="email"],textarea{
    width:95%!important;
  }
}
.check_input{
  display: none;
}
.check_part{
  padding-left: 40px;
  position:relative;
  margin-right: 15px;
}
.check_part:before{
  content: "";
  display: block;
  position: absolute;
  top:-5px;
  left: 0;
  width: 30px;
  height: 30px;
  border-radius: 4px;
  background-color: #e1e1e1;
}
.check_input:checked + .check_part:before{
  background-color: #000;
}
.check_input:checked + .check_part::after{
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 10px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
}
.hissu{
  margin-left:10px;
  padding:5px 8px;
  color:#fff;
  font-weight: bold;
  font-size:1.2rem;
  background-color: #cf2239;
}
.ninni{
  margin-left:10px;
  padding:5px 8px;
  color:#fff;
  font-weight: bold;
  font-size:1.2rem;
  background-color: #00436f;
}
@media(max-width:768px){
  .hissu,.ninni{
    font-size: 1.0rem;
  }
}
.school{
  width:350px!important;
}
.add_txt{
  line-height:21px;
  margin-bottom:20px;
  text-indent: -1rem;
  padding-left: 1rem;
}
.entry_btn{
  font-weight: bold;
  font-size: 1.4rem;
  margin-top:45px!important;
}
@media(max-width:768px){
  .entry_btn{
    font-size: 1.2rem;
  }
}
.check_circle:before {
    border-radius: 50%;
}
.check_circle:after {
    border-radius: 50%;
}
.check_input:checked + .check_circle:after{
  border-bottom: none;
  border-right: none;
  width:14px;
  top:3px;
  left:8px;
  background-color:#fff;
  border-radius: 7px;
}
.btn_gray{
  position: relative;
  display: block;
  width: 340px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  text-decoration: none;
  transition: .3s;
  border: 1px solid #cccccc;
  background-color: #cccccc;
  color: #FFF;
  margin: 25px auto 0 auto;
}
