/* CSS Document */

/* --------------
base
-------------- */
body{
  counter-reset: featureNum; 
}
.l_main{
  font: 500 16px helvetica neue,noto sans jp,yu gothic,YuGothic,ヒラギノ角ゴ pron w3,hiragino kaku gothic pron,Arial,メイリオ,Meiryo,sans-serif;
  line-height: 1.6;
  letter-spacing: 0
}
.l_wrap__sideNav{
  color: #333;
  font: 400 12px "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  line-height: 1.6;
  letter-spacing: .1em;
}

@media screen and (max-width: 768px){
  div#cont{
    margin: 0;
  }
}

.modal-syncer{
  cursor: pointer;
}
/* --------------
layout
-------------- */
/* 全体のラッパー */
.l_wrap{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.l_wrap__main{
  flex: 1 1 auto;
  order: 2;
  max-width: 750px;
}
.l_wrap__sideNav{
  flex: 0 0 200px;
  order: 1;
}
@media screen and (max-width: 768px){
  .l_wrap__sideNav{
    display: none;
  }
}
/* グリッド */
.l_grid{
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: -15px;
}
.l_grid__item{
  display: flex;
  padding: 15px;
}
.l_grid__inner{
  display: block;
  width: 100%;
}
.l_grid--feature{
  margin: -25px -15px;
}
.l_grid--feature > .l_grid__item{
  padding: 25px 15px;
}
.l_grid--center{
  justify-content: center;
}

/* ナビ */
.l_nav{
  display: flex;
  align-items: stretch;
}
.l_nav__item{
  display: flex;
  width: 100%;
}
.l_nav__target{
  display: block;
  width: 100%;
}
.l_nav--local{}
.l_nav--lineup .l_nav__item + .l_nav__item{
  border-left: 1px solid;
}
@media screen and (max-width: 768px){
  .l_nav--local{
    flex-wrap: wrap;
  }
  .l_nav--local .l_nav__item{
    width: 50%;
  }
}

/* 節 */
.l_section{}
.l_section__item{}
.l_section--primary > .l_section__item + .l_section__item{
  margin-top: 50px;
}
.l_section--secondary > .l_section__item + .l_section__item{
  margin-top: 30px;
}

/* --------------
module
-------------- */
/* アイコン */
.m_hasIco{
  position: relative;
}
.m_hasIco::before,
.m_hasIco::after,
.m_hasIco .m_hasIco__item{
  position: absolute;
  left: 0;
  display: block;
}
.m_hasIco--1em{
  padding-left: 1em;
}
.m_hasIco--localNav{
  padding-left: 24px;
}
.m_hasIco--localNav::before{
  color: #9E2730;
  font-weight: normal;
  font-size: 1em;
  font-family: "font awesome 5 free";
}
.m_hasIco--heading{
  padding-left: 40px;
}
.m_hasIco--heading::before{
  color: #9E2730;
  line-height: 100%;
  font-weight: normal;
  font-size: 1.3em;
  font-family: "font awesome 5 free";
}
.m_hasIco--feature::before{
  content: "\f0eb";
}
.m_hasIco--recommend::before{
  content: "\f005";
}
.m_hasIco--seasonal::before{
  content: "\f024";
}
.m_hasIco--lineup::before{
  content: "\f03a";
  font-weight: bold;
}
.m_hasIco--seminar::before{
  content: "\f08d";
  font-weight: bold;
}
.m_hasIco--faq::before{
  content: "\f086";
}

/* 見出し */
.m_heading
.m_heading{}
.m_heading__ttl{
  font-weight: bold;
  line-height: 1.3;
}
.m_heading--primary{
  display: flex;
  align-items: center;
  margin-bottom: 40px;
  padding: 0 10px 4px;
  border-bottom: 1px solid;
  color: #8f1e35;
}
.m_heading--primary .m_heading__ttl{
  font-size: 22px;
}
.m_heading--primary .m_heading__ttl + .m_heading__sub{
  padding-left: 40px;
}
.m_heading--primary .m_heading__sub{
  font-size: 14px;
  letter-spacing: 5px;
  text-transform: uppercase;
}
.m_heading--secondary{
  margin-bottom: 16px;
}
.m_heading--secondary .m_heading__ttl{
  color: #8f1e35;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 768px){
  .m_heading--primary .m_heading__sub{
    display: none;
  }
}
/* ボタン */
.m_btn{
  display: flex;
  align-items: stretch;
}
.m_btn::before{
  content: "";
  display: block;
  width: 0;
}
.m_btn__target{
  display: flex;
  align-items: center;
  color: inherit;
  font-size: inherit;
  transition: .3s opacity;
}
.m_btn__target:hover{
  opacity: .7;
}
.m_btn--cta{
  font-size: 20px;
}
.m_btn--cta::before{
  height: 60px;
}
.m_btn--cta .m_btn__target{
  justify-content: center;
  width: 100%;
  border-radius: 8px;
  color: #fff;
  background: #8f1e35;
}
.m_btn--subCta{
  font-size: 13px;
}
.m_btn--subCta::before{
  height: 60px;
}
.m_btn--subCta .m_btn__target{
  justify-content: center;
  width: 100%;
  border: 1px solid #8f1e35;
  border-radius: 8px;
  line-height: 1.4;
  color: #8f1e35;
}
@media screen and (max-width: 768px){
  .m_btn--cta{
    font-size: 16px;
  }
}
/* リンク（単独） */
.m_link{
  position: relative;
  padding-left: 16px;
  display: block;
  color: #052674;
}
.m_link::before{
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
}
/* CTAエリア */
.m_cta{}
.m_cta__heading{
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}
.m_cta__ttl{
  position: relative;
  padding: 0 40px;
  color: #8f1e35;
  font-weight: bold;
  font-size: 18px;
}
.m_cta__ttl::before,
.m_cta__ttl::after{
  content: "";
  position: absolute;
  top: 0;
  display: block;
  width: 4px;
  height: 100%;
  background: #8f1e35;
}
.m_cta__ttl::before{
  left: 0;
  transform: rotate(-45deg);
}
.m_cta__ttl::after{
  right: 0;
  transform: rotate(45deg);
}
@media screen and (max-width: 599px){
  .m_cta__ttl{
    padding: 0 20px;
    font-size: 12px;
  }
  .m_cta__ttl br{
    display: none;
  }
}
/* ヒーローズエリア */
.m_herosArea{
  margin-bottom: 40px;
}
.m_herosArea__keyvisual + .m_herosArea__nav{
  margin-top: 10px;
}

/* ローカルナビのラッパー */
.m_localNavWrap{
  background: #f3f3f3;
}
/* ローカルナビ */
.m_localNav{
  display: flex;
  justify-content: center;
  position: relative;
  line-height: 2;
  color: inherit;
  font-size: 14px;
  transition: .3s opacity;
}
.m_localNav:hover{
  opacity: .7;
}

/* キービジュアル */
.m_keyvisual{}
.m_keyvisual__img{
  line-height: 0;
  text-align: center;
}
.m_keyvisual__img img{
  max-width: 100%;
  height: auto;
}
/* テキストの特徴 */
.m_feature{
  position: relative;
  padding: 0 0 20px 20px;
  counter-increment: featureNum;
}
.m_feature::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  display: block;
  width: calc(100% - 20px);
  height:  calc(100% - 20px);
  background: url("../../img/contents/binding-text-service/img_bk_bussinesskiso.png") no-repeat center/ cover;
}
.m_feature__inner{
  position: relative;
  height: 100%;
  padding: 36px 20px 20px;
  background: #fff;
  box-shadow: 5px 5px 15px rgba(0, 0, 0, .16);
}
.m_feature__inner::before{
  content: counter(featureNum, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 20px;
  display: block;
  line-height: 1;
  color: #8f1e35;
  font-weight: bold;
  font-size: 48px;
  transform: translateY(-50%)
}
.m_feature__msg{
  font-size: 14px;
}

/* 一押しテキストのラッパー */
.m_recommendWrap{}
.m_recommendWrap__body{}
.m_recommendWrap__item + .m_recommendWrap__item{
  margin-top: 35px;
}
.m_recommendWrap__footer{
  margin-top: 55px;
}
/* 一押しテキスト */
.m_recommend{
  display: flex;
  align-items: stretch;
  margin: -12px;
}
.m_recommend__img{
  flex: 0 0 184px;
  padding: 12px;
  line-height: 0;
  text-align: center;
}
.m_recommend__img img{
  max-width: 100%;
  height: auto;
}
.m_recommend__main{
  flex: 1 1 auto;
  padding: 12px;
}
.m_recommend__heading{
  margin-bottom: 20px;
}
.m_recommend__ttl{
  color: #8f1e35;
  font-weight: bold;
  font-size: 20px;
}
.m_recommend__body{}
.m_recommend__msg{
  font-size: 14px;
}
.m_recommend__msg + .m_recommend__msg{
  margin-top: 10px;
}
.m_recommend__btns{
  flex: 0 0 174px;
  padding: 12px;
}
.m_recommend__btn + .m_recommend__btn{
  margin-top: 10px;
}
@media screen and (max-width: 599px){
  .m_recommend{
    display: block;
    margin: -8px;
  }
  .m_recommend__img{
    padding: 8px;
  }
  .m_recommend__main{
    padding: 8px;
  }
  .m_recommend__heading{
    margin-bottom: 10px;
  }
  .m_recommend__btns{
    padding: 8px;
  }
}


/* ラインナップのナビ */
.m_lineupNav{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3em;
  color: inherit;
  transition: .3s opacity;
}
.m_lineupNav:hover{
  opacity: .7;
}

/* ラインナップのラッパー */
.m_lineupWrap{}

/* ラインナップ */
.m_lineup{}

/* faqのラッパー */
.m_faqWrap{}
.m_faqWrap__item + .m_faqWrap__item{
  margin-top: 35px;
}

/* 無料セミナー */
.m_seminar{}
.m_seminar__lead{
  display: flex;
  justify-content: center;
  padding: 10px 20px;
  border: 1px solid;
  color: #8f1e35;
  font-weight: bold;
}
.m_seminar__lead + .m_seminar__banner{
  margin-top: 20px;
}
.m_seminar__imgLink{
  display: block;
  line-height: 0;
  text-align: center;
  transition: .3s opacity;
}
.m_seminar__imgLink:hover{
  opacity: .7;
}
.m_seminar__imgLink img{
  max-width: 100%;
  height: auto;
}
/* faq */
.m_faq{}
.m_faq__qWrap{
  position: relative;
  margin-bottom: 10px;
  padding-left: 32px;
}
.m_faq__qWrap::before{
  content: "Q.";
  position: absolute;
  left: 0;
  display: block;
  color: #8f1e35;;
  line-height: 1;
  font-weight: bold;
  font-size: 20px;
}
.m_faq__q{
  color: #8f1e35;
  font-weight: bold;
  font-size: 16px;
}
.m_faq__a{
  position: relative;
  padding-left: 32px;
}
.m_faq__a::before{
  content: "A.";
  position: absolute;
  left: 2px;
  display: block;
  color: #8f1e35;
  line-height: 1;
  font-weight: bold;
  font-size: 20px;
}

/* FAQの答え */
.m_answer{}
.m_answer__ttl{
  color: #8f1e35;
  font-weight: bold;
  font-size: 16px;
}
.m_answer__ttl + .m_answer__item{
  margin-top: 10px;
}
.m_answer__item + .m_answer__item{
  margin-top: 10px;
}

/* F式リスト型ラインナップのラッパー */
.m_fCardWrap{
  position: relative;
  padding-bottom: 70px;
}
.m_fCardWrap__body{}
.m_fCardWrap__footer{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}
.m_fCardWrap__btns{
  display: flex;
  align-items: stretch;
  margin: -5px
}
.m_fCardWrap__btn{
  width: 50%;
  padding: 5px;
}

/* F式リスト型ラインナップの追加／オーバーライド */
/* F式リスト型ラインナップ */
.m_fLineupList{}
.m_fLineupList__heading{
  margin-bottom: 10px;
}
.m_fLineupList__ttl{
  line-height: 1.4;
  font-weight: bold;
  font-size: 16px;
  padding-right: 5px;
  color: #75192b
}
.m_fLineupList__body{}
.m_fLineupList__item + .m_fLineupList__item{
  margin-top: 8px;
}
.m_fLineupList__link{
  position: relative;
  display: block;
  padding-left: 12px;
  color: #333;
  font-weight: bold;
  font-size: 12px;
  transition: opacity .3s;
}
/* .m_fLineupList__link::after{
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  display: block;
  width: 4px;
  height: 4px;
  border-right: 1px solid;
  border-bottom: 1px solid;
  transform: rotate(-45deg);
}*/
.m_fLineupList__link:hover{
  opacity: .7;
}
.m_fLineupList__link--comingsoon{
  color: #7a7a7a;
}
.m_fLineupList__link--comingsoon::before{
  opacity: .7;
}
.m_fLineupList__link--comingsoon::after{
  content: "coming soon";
  color: #d66c00;
  font-weight: bold;
  margin-left: 10px;
}
[service_type].m_fLineupList__link{
  position: relative;
  padding-left: 52px;
}
/*[service_type].m_fLineupList__link::after{
  content: none;
}*/
[service_type].m_fLineupList__link::before{
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  padding: 2px 3px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
  letter-spacing: 0;
  font-size: 10px;
  min-width: 40px;
  text-align: center;
}

/* F式カード（大） */
.m_fCardLg{
  display: block;
  width: 100%;
  color: inherit;
  transition: opacity .3s;
}
.m_fCardLg:hover{
  opacity: .7;
}
.m_fCardLg__ttl{
  position: relative;
  margin-bottom: 4px;
  line-height: 1.4;
  font-weight: bold;
  font-size: 18px;
  height: calc(18px * 2 * 1.4);
  overflow: hidden;
}
.m_fCardLg__ttl::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 3em;
  height: calc(18px * 1.4);
  background: linear-gradient(to left,#fff,rgba(255,255,255,0.96) 25%,rgba(255,255,255,0) 100%)
}
.m_fCardLg__body{}
.m_fCardLg__infos{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 -5px;
}
.m_fCardLg__infosWrap{}
.m_fCardLg__info{
  font-size: 12px;
  padding: 0 5px;
}
.m_fCardLg__info--type{
  color: #666;
}
.m_fCardLg__info--type::before{
  display: block;
  color: #666;
  padding: 2px 3px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
  font-size: 11px;
  min-width: 40px;
  text-align: center;
}
.m_fCardLg__info--date{
  color: #d66c00;
}
.m_fCardLg__infosWrap + .m_fCardLg__img{
  margin-top: 5px;
}
.m_fCardLg__img{
  line-height: 0;
  text-align: center;
}
.m_fCardLg__img img{
  max-width: 100%;
  height: auto;
}
.m_fCardLg__img--certification{}
.m_fCardLg__img--certification img{
  max-height: 100px;
}

.m_fCardLg__img + .m_fCardLg__cont{
  margin-top: 10px;
}
.m_fCardLg__infosWrap + .m_fCardLg__cont{
  margin-top: 10px;
}
.m_fCardLg__cont{
  position: relative;
  max-height: calc(13px * 4 * 1.6);
  line-height: 1.6;
  font-size: 13px;
  overflow: hidden;
}
.m_fCardLg__cont::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 3em;
  height: calc(13px * 1.6);
  background: linear-gradient(to left,#fff,rgba(255,255,255,0.96) 25%,rgba(255,255,255,0) 100%)
}
@media screen and (max-width: 768px){
  .m_fCardLg__ttl{
    height: auto;
    max-height: calc(18px * 2 * 1.4);
  }
}
/* F式カード（小） */
.m_fCardMd{
  display: flex;
  align-items: center;
  width: 100%;
  color: inherit;
  transition: opacity .3s;
}
.m_fCardMd:hover{
  opacity: .7;
}
.m_fCardMd__body{
  flex: 1 1 auto;
}
.m_fCardMd__ttl{
  position: relative;
  height: calc(14px * 2 * 1.5);
  margin-bottom: 4px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  overflow: hidden;
}
.m_fCardMd__ttl::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  display: block;
  width: 3em;
  height: calc(14px * 1.5);
  background: linear-gradient(to left,#fff,rgba(255,255,255,0.96) 25%,rgba(255,255,255,0) 100%)
}
.m_fCardMd__infosWrap{}
.m_fCardMd__infos{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 -5px;
}
.m_fCardMd__info{
  font-size: 12px;
  padding: 0 5px;
}
.m_fCardMd__info--type{
  color: #666;
}
.m_fCardMd__info--type::before{
  display: block;
  padding: 2px 3px;
  border: 1px solid;
  border-radius: 2px;
  line-height: 1;
  font-size: 11px;
  min-width: 40px;
  text-align: center;
}
.m_fCardMd__info--date{
  color: #d66c00;
}
.m_fCardMd__body + .m_fCardMd__img{
  margin-left: 4px;
}
.m_fCardMd__img{
  flex: 0 0 86px;
  line-height: 0;
  text-align: center;
}
.m_fCardMd__img img{
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 768px){
  .m_fCardMd__ttl{
    height: auto;
    max-height: calc(14px * 2 * 1.5);
  }
}

/* ラベル */
[service_type=douga]::before {
  content: "\52d5\753b\95a2\9023"!important;
  color: #cc2d5e!important;
  background: none!important;
}
[service_type=middle]::before {
  content: "\307e\3068\3081"!important;
  color: #842e30!important;
  background: none!important;
}
[service_type=haken]::before {
  content: "\6D3E\9063"!important;
  color: #842e30!important;
  background: none!important;
}
[service_type=bup]::before {
  content: "\516C\958B"!important;
  color: #0c3f71!important;
  background: none!important;
}
[service_type=other]::before {
  content: "\4ed6\ff7b\ff70\ff8b\ff9e\ff7d"!important;
  color: #e6002d!important;
  background: none!important;
}
[service_type=it]::before {
  content: "IT\FF7B\FF70\FF8B\FF9E\FF7D"!important;
  color: #008d79!important;
  background: none!important;
}
[service_type=free]::before {
  content: "\7121\6599\FF7E\FF90\FF85\FF70"!important;
  color: #333!important;
  background: none!important;
}
[service_type=cont]::before {
  content: "\8AAD\307F\7269"!important;
  color: #0c3f71!important;
  background: none!important;
}
[service_type=consul]::before {
  content: "\30B3\30F3\30B5\30EB"!important;
  color: #7a614f!important;
  background: none!important;
}

/* Leaf Lightning STUDIO対応 */
[href="/it-tool/studio-pbl.html"] .m_fCardLg__ttl{
  font-size: 0;
}
[href="/it-tool/studio-pbl.html"] .m_fCardLg__ttl::before{
  content: "Leaf lightning STUDIO～定額制eラーニング視聴サービス";
  font-size: 18px;
}
.m_fCardLg__info--cat{}
.m_fCardLg__info--cat .m_fCardLg__infoInner{
  padding: 5px 10px;
  border: 1px solid;
  border-radius: 100px;
  line-height: 1;
  font-size: 11px;
  min-width: 40px;
  color: #fff;
  background: #d66c00;
  text-align: center;
}

/* --------------
utility
-------------- */
/* 文字サイズ */
.u_fs20{
  font-size: 20px;
}
@media screen and (max-width: 768px){
  .u_resMdFs16{
    font-size: 16px;
  }
}
