/* CSS Document */
/* -----------
baseの上書き
----------- */
/*#base{
  width: auto;
}*/
#base.base--ir{width: auto}
div#cont{
  width: 1460px;
  margin: 10px auto 0;
  text-align: left;
  font-size: 16px;
}
@media screen and (max-width: 768px){
  #base.base--ir{width: 100%}
  div#cont{
    width: 100%;
  }
  #base{
    overflow: hidden;
  }
  #header{
    width: 95%;
  }
}
/* bootstrap */
h4, h5, h6{
  line-height: inherit;
}
/* -----------
layoutの上書き
----------- */
.l_main_container{
  width: 970px;
}
.l_contents--bottom{
  width: auto;
}
@media screen and (max-width: 768px){
  .l_main_container{
    width: 100%;
  }
}

/* 既存CSSの上書き */
.l_footer{
  background: #f0f0f0;
}
.l_footer #footer{
  width: 1152px;
}
.l_footer #bc_footer{
  margin: 0;
  padding: 0;
}
.l_footer #firstline_footer{
  margin: 0;
  padding: 12px 0;
}
.l_footer #last_line_footer{
  margin: 0;
  padding: 10px 0;
}
@media screen and (max-width: 768px){
   .l_footer{
    background: initial;
  }

  .l_footer #footer{
    width: 100%;
  }
  .l_footer #bc_footer{
    width: 100%;
    margin: 0;
  }
}

/* その他上書き */
@media screen and (max-width: 768px){
  .p_theme_nav{
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* -----------
moduleの上書き
----------- */
/* アイコン */
.m_hasIco--toggle::after{
  font-family: FontAwesome;
}

/* キービジュアル */
.m_keyvisual{
  padding-top: calc(100% * 350 / 1904);
}

/* 研修実施回数 年間受講者数 */
.m_insNum--contents{}
.m_insNum__hasBgImageBox.book, .m_insNum__hasBgImageBox.human{
  width: 464px;
  height: 464px;
}
.m_insNum__spchBallon{
  width: 464px;  
}
.m_insNum__spchBallon h4{
  color: #fff;
}
@media screen and (max-width: 768px){
  .m_insNum--contents{
    margin: 0;
  }
  .m_insNum--contents > .m_insNum__item{
    padding: 0;
  }
  .m_insNum--contents .m_insNum__circle{
    width: 90%;
  }
  .m_insNum__spchBallon{
    width: 100%;
    padding: 40px 23px 16px;
  }
  .m_insNum__spchBallon h4{
    font-size: 12px;
  }
  .m_insNum__spchBallon .m_insNum__number{
    font-size: 1.4em;
  }
  .m_insNum__hasBgImageBox.book, .m_insNum__hasBgImageBox.human{
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 599px){
  .m_insNum--contents .m_insNum__circle{
    width: 80%;
  }
  .m_insNum--contents > .m_insNum__item + .m_insNum__item{
    margin-top: 40px;
  }
  .m_insNum__spchBallon{
    background: #666;
    border-radius: 10px;
    margin-top: 20px;
    padding: 16px;
  }
}
/* カリキュラム数 */
.m_insNum__curr{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 340px;
  margin: 0 auto;
  color: #fff;
  background: url("../../img/recruit/freshers2021-2/ins-bynumbers_img_curriculum.png") no-repeat center center / cover;
}
.m_insNum__curr::before{
  content: "";
  display: block;
  padding-top: calc(100% * 290 / 340);
}
.m_insNum__curr .m_insNum__item{
  padding: 0;
}
.m_insNum__curr .m_insNum__item + .m_insNum__item{
  margin-top: 16px;
}
.m_insNum__curr .m_insNum__ttl{
  margin: 0;
  font-size: 16px;
  color: #fff;
}
.m_insNum__curr .m_insNum__numBox{
  font-size: 16px;
}
@media screen and (max-width: 768px){
  .m_insNum__curr{
    width: 100%;
  }
}
/* ウェブ数 */
.m_insNum__numBox.web{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 340px;
  margin: 0 auto;
  color: #fff;
  font-size: 16px;
  background: url("../../img/recruit/freshers2021-2/ins-bynumbers_img_web.png") no-repeat center center / cover;
}
.m_insNum__numBox.web::before{
  content: "";
  display: block;
  padding-top: calc(100% * 290 / 340);
}
.m_insNum__numBox.web > span{
  display: flex;
  align-items: center;
  margin-bottom: 56px;
}
@media screen and (max-width: 768px){
  .m_insNum__numBox.web{
    width: 100%;
  }
}
/* 人員構成 */
.m_insNum__hasBgImageBox.composition{
  width: 970px;
  height: 326px;
}
@media screen and (max-width: 768px){
  .m_insNum__hasBgImageBox.composition{
    width: 100%;
    height: 345px;
  }
}
/* 講師人数 */
.m_insNum--trainerNum .m_insNum__numBox {
  -ms-align-items: center;
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
  color: #ed1b1b;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  position: relative;
  width: 425px;
}
.m_insNum--trainerNum .m_insNum__numBox::before {
  content: "";
  display: block;
  padding-top: calc(100% * 230 / 425);
}

.m_insNum--trainerNum .m_insNum__numBox {
  background-image: url("../../img/recruit/freshers2021-2/ins-bynumbers_img_trainer.png");
}
.m_insNum--trainerNum .m_insNum__numBox > span{
  margin-left: 24%;
}
@media screen and (max-width: 599px){
  .m_insNum--trainerNum .m_insNum__item{
    width: 100%;
  }
  .m_insNum--trainerNum .m_insNum__numBox {
    width: 100%;
  }
}

/* 役員人数 */
.m_insNum--yakuinNum{}
.m_insNum--yakuinNum .m_insNum__item.all{
  display: flex;
  justify-content: center;
  align-items: center;
}
.m_insNum--yakuinNum .m_insNum__item{
  position: relative;
}
.m_insNum--yakuinNum .m_insNum__item::before{
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  height: 85px;
  margin: auto;
  line-height: 0;
}
.m_insNum--yakuinNum .m_insNum__item.man{
  margin-right: 100px;
}
.m_insNum--yakuinNum .m_insNum__item.man::before{
  content: url("/resource/img/recruit/freshers2021-2/ins-by-numbers_img_officer-m.png");
  right: 0;
  transform: translateX(100%);
}
.m_insNum--yakuinNum .m_insNum__item.women{
  margin-left: 100px;
}
.m_insNum--yakuinNum .m_insNum__item.women::before{
  content: url("/resource/img/recruit/freshers2021-2/ins-by-numbers_img_officer-w.png");
  left: 0;
  transform: translateX(-100%);
}
@media screen and (max-width: 768px){
  .m_insNum--yakuinNum .m_insNum__item.women{
    margin-left: 0;
  }
  .m_insNum--yakuinNum .m_insNum__item.women::before{
    content: none;
  }
  .m_insNum--yakuinNum .m_insNum__item.man{
    margin-right: 0;
  }
  .m_insNum--yakuinNum .m_insNum__item.man::before{
    content: none;
  }
}
/* アコーディオン */
.m_insNumAccordion__btnToggle{
  color: inherit;
}
.m_insNumAccordion__btnToggle:hover{
  color: inherit;
  text-decoration: none;
}


/* 拠点人数 */
.m_insNum{}
.m_insNum__grid{
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 40px -14px -14px;
}
.m_insNum__gridItem{
  display: flex;
  padding: 14px;
}
.m_insNum__gridInner{
  display: block;
  width: 100%;
  padding-bottom: 16px;
  border-bottom: 2px dotted;
}
.m_insNum__gridInner .name{
  margin-bottom: 16px;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
.m_insNum__gridInner .numberWrap{
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.m_insNum__gridInner .icon{
  line-height: 0;
  letter-spacing: -2px;
}
.m_insNum__gridInner .m_insNum__number{
  font-size: 1.8em;
}
