/* CSS Document */

/* -----------
base
----------- */
/* 既存CSS上書き */
#base{
  width: 1220px;
}
div#cont div#c3_lrr{
  width: 950px; 
}
a:hover{
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px){
  #base{
    width: 100%;
  }
  div#cont div#c3_lrr{
    width: 100%; 
  }
}

/* メイン */
#mainCont{
  color: #333;
  font: 400 15px "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  line-height: 1.6;
  text-align: left;
  letter-spacing: 0;
}
body{
  counter-reset: featureNum;
}
ul, ol{
  list-style-type: none;
}
main{
  display: block;
}


/* -----------
layout
----------- */

/* ラッパー */
.l_wrap{
  width: 950px;
  margin: 0 auto;
}
@media screen and (max-width: 768px){
  .l_wrap{
    width: 100%;
  }
}

/* 節 */
.l_section{}
.l_section__item{}
.l_section--primary > .l_section__item + .l_section__item{
  margin-top: 64px;
}
.l_section--secondary > .l_section__item + .l_section__item{
  margin-top: 40px;
}
.l_section--tertiary > .l_section__item + .l_section__item{
  margin-top: 16px;
}
/* グリッド */
.l_grid{
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.l_grid__item{
  display: flex;
}
.l_grid__inner{
  display: block;
  width: 100%;
}
.l_grid--feature{
  margin: -12px;
}
.l_grid--feature > .l_grid__item{
  padding: 12px;
}
.l_grid--lineup{
  margin: -8px;
}
.l_grid--lineup > .l_grid__item{
  padding: 16px;
}
.l_grid--func{
  margin: 0px;
}
.l_grid--func > .l_grid__item{
  padding: 8px;
}
/* ナビ */
.l_nav{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
.l_nav__item{
  display: flex;
  width: 100%;
}
.l_nav__target{
  display: block;
  width: 100%;
}
.l_nav--localNav{
  position: relative;
  padding: 0 1px;
}
.l_nav--localNav::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  height: 3em;
  margin: auto 0;
  border-left: 2px dotted red;
}
.l_nav--localNav::after{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  height: 3em;
  margin: auto 0;
  border-left: 2px dotted #E7231B;
}
.l_nav--localNav > .l_nav__item{
  padding: 0 1px;
}
.l_nav--localNav > .l_nav__item + .l_nav__item{
  position: relative;
}
.l_nav--localNav > .l_nav__item + .l_nav__item::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 2em;
  margin: auto 0;
  border-left: 2px dotted #E7231B;
}
@media screen and (max-width: 768px){
  .l_nav--localNav{
    flex-wrap: wrap;
  }
  .l_nav--localNav::before{
    content: none;
  }
  .l_nav--localNav::after{
    content: none;
  }
  .l_nav--localNav > .l_nav__item{
    position: relative;
    width: 33.333%;
  }
  .l_nav--localNav > .l_nav__item::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: 2em;
    margin: auto 0;
    border-left: 2px dotted #E7231B;
  }
}
@media screen and (max-width: 599px){
  .l_nav--localNav > .l_nav__item{
    width: 50%;
  }
}
/* -----------
module
----------- */
/* 見出し */
.m_heading{}
.m_heading__ttl{
  font-weight: bold;
}
.m_heading--primary{
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dotted #E7231B;
}
.m_heading--primary .m_heading__ttl{
  position: relative;
  padding: 20px 0 0 24px;
  font-size: 22px;
}
.m_heading--primary .m_heading__ttl::before{
  content: url("/resource/img/webins21/icon_heading.png");
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}
.m_heading--secondary{
  margin-bottom: 24px;
}
.m_heading--secondary .m_heading__ttl{
  position: relative;
  padding-left: 24px;
  font-size: 20px;
}
.m_heading--secondary .m_heading__ttl::before{
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #e6211b;
}
@media screen and (max-width: 599px){
  .m_heading--primary .m_heading__ttl{
    font-size: 16px;
  }
  .m_heading--secondary .m_heading__ttl{
    font-size: 16px;
  }
  .m_heading--secondary .m_heading__ttl::before{
    top: 4px;
  }
}
/* ヒーローズエリア */
.m_herosArea{
  margin-bottom: 64px;
}
.m_herosArea__keyvisual + .m_herosArea__nav{
  margin-top: 24px;
}
/* キービジュアル */
.m_keyvisual{
  display: flex;
  align-items: stretch;
  justify-content: center;
}
.m_keyvisual__item{}
.m_keyvisual__item--heading{
  flex: 0 0 670px;
}
.m_keyvisual__item--login{
  flex: 1 1 auto;
}
.m_keyvisual__heading{
  position: relative;
  padding-top: calc(100% * 296 / 670);
  background: url("/resource/img/webins21/topimg_webinsource-bg.jpg") no-repeat center center / cover;
}
.m_keyvisual__headingInner{
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.m_keyvisual__ttl{
  max-width: 90%;
  line-height: 0;
}
.m_keyvisual__tagImg{
  line-height: 0;  
}
.m_keyvisual__ttl + .m_keyvisual__tagImg{
  margin-top: 20px;
}
.m_keyvisual__login{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: url("/resource/img/webins21/login-bg763.jpg") no-repeat right 10% center / cover;
}
.m_keyvisual__login::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 768px){
  .m_keyvisual{
    display: block;
  }
  .m_keyvisual__tagImg{
    display: none;
  }
}

/* ログインリスト */
.m_logins{
  position: relative;
}
.m_logins__item + .m_logins__item{
  margin-top: 36px;
}
@media screen and (max-width: 768px){
  .m_logins{
    padding: 32px 0;
  }
  .m_logins__item + .m_logins__item{
    margin-top: 24px;
  }
}

/* ログイン */
.m_login{}
.m_login__ttl{
  margin-bottom: 8px;
  text-align: center;
  color: #fff;
}
.m_login__btn{
  display: flex;
  align-items: stretch;
  justify-content: center;
  font-size: 16px;
}
.m_login__btn::before{
  content: "";
  display: block;
  height: 2em;
}
.m_login__btnTarget{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 160px;
  border-radius: 4px;
  font-size: inherit;
  transition: .3s opacity;
}
.m_login__btnTarget:hover{
  opacity: .7;
}
.m_login__btnTarget--login{
  color: #fff;
  background: #e7231b;
}
.m_login__btnTarget--new{
  border: 1px solid #f7931e;
  color: #333;
  background: #fff;
}
.m_login__btnTarget--login:hover{
  color: #fff;
}
.m_login__btnTarget--new:hover{
  color: #333;
}
.m_login__btnInner{
  position: relative;
  padding-right: 24px;
}
.m_login__btnInner::after{
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto 0;
}
.m_login__btnTarget--login .m_login__btnInner::after{
  content: url("/resource/img/webins21/icon_login.png");
  width: 18px;
  height: 17px;
}
.m_login__btnTarget--new .m_login__btnInner::after{
  content: url("/resource/img/webins21/icon_entry-orange.png");
  width: 18px;
  height: 17px;
}

/* ローカルナビ */
.m_localNav{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .6em 0;
  border-top: 2px solid rgba(255, 255, 255, 0);
  border-bottom: 2px solid rgba(255, 255, 255, 0);
  text-align: center;
  font-weight: bold;
  color: inherit;
  font-size: 14px;
  transition: .3s border-color;
}
.m_localNav:hover,
.m_localNav.is_current{
  border-color: #E7231B;
}
.m_localNav::after{
  content: url("/resource/img/webins21/icon_navi.png");
  position: absolute;
  top: -2px;
  left: 0;
  opacity: 0;
  transition: .3s opacity;
}
.m_localNav::before{
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: 19px;
  height: 2px;
  background: #fff;
}
.m_localNav:hover::after,
.m_localNav.is_current::after{
  opacity: 1;
}
@media screen and (max-width: 768px){
  .m_localNav{
    border-top: none;
    border-bottom: none;
  }
  .m_localNav::after{
    content: none
  }
  .m_localNav::before{
    content: none;
  }
}
/* リンク */
.m_link{
  color: #2e3185;
  text-decoration: underline;
}
.m_link::after{
  content: "＞";
}
.m_link:hover{
  color: #2e3185;
  text-decoration: none;
}
/* ラベル付きリンク */
.m_linkWrap {
  display: flex;
  flex-wrap: wrap;
}
.m_linkWrap--align_left { justify-content: flex-start; }
.m_linkWrap--align_right { justify-content: flex-end; }
.m_linkWrap--align_center { justify-content: center; }
.m_link--label {
  align-items: center;
  border: 1px solid #da231b;
  border-radius: 4px;
  box-shadow: 2px 2px 4px #ccc;
  color: currentColor;
  display: flex;
  font-weight: bold;
  position: relative;
}
.m_link--label:hover {
  opacity: .7;
  text-decoration: none;
}
.m_link--label::before {
  align-items: center;
  background-color: #da231b;
  color: #fff;
  content: "";
  display: flex;
  justify-content: center;
  font-weight: bold;
  flex: 0 0 auto;
  height: 100%;
  min-width: 5em;
}
.m_link--label_newFunc::before {
  content: "\65B0\6A5F\80FD";/* 新機能 */
}
.m_link--label::after {
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  content: "";
  display: block;
  height: 0.5em;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: rotate(45deg) translateY(-50%);
  width: 0.5em;
}
.m_link--label > span {
  display: block;
  /*margin: auto;*/
  padding: .5em 2em .5em 1em;
}
.m_link--label > span > [src$=".svg"] {
  height: auto;
  margin: 0 5px;
  width: 120px;
}
/* 特徴ラッパー */
.m_featureWrap{
  padding: 32px;
  background: url("/resource/img/webins21/bg_feature13.jpg") no-repeat center top / contain, #F2F2F2;
}
@media screen and (max-width: 599px){
  .m_featureWrap{
    padding: 24px;
    background: #F2F2F2;
  }
}
/* 特徴 */
.m_feature{
  counter-increment: featureNum;
  padding: 0 24px 24px;
  box-shadow: 4px 4px 8px #999;
  background: #fff;
}
.m_feature__heading{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 66px;
  margin-bottom: 16px;
}
.m_feature__ttl::before{
  content: counter(featureNum);
  position: absolute;
  top: 10px;
  bottom: 0;
  left: 0;
  font-size: 28px;
  display: block;
  height: 1em;
  margin: auto 0;
  line-height: 1;
  font-family: Roboto;
  transform: translateX(-50%);
}
.m_feature__heading::before{
  content: url("/resource/img/webins21/icon_feature13.png");
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
  transform: translateX(-50%);
}
.m_feature__heading::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 3px;
  background: #E7231B;
}
.m_feature__ttl{
  padding-left: 48px;
  font-size: 20px;
  line-height: 1.4;
  color: #E7231B;
}
.m_feature__body{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: calc(100% - 82px);
}
.m_feature__item + .m_feature__item{
  margin-top: 20px;
}
.m_feature__item + .m_feature__item--hasBorder{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dotted;
}
.m_feature__img{
  line-height: 0;
  text-align: center;
}
@media screen and (max-width: 599px){
  .m_feature{
    padding: 0 12px 12px;
  }
  .m_feature__ttl{
    padding-left: 36px;
    font-size: 14px;
  }
  .m_feature__ttl br{
    display: none;
  }
}
/* 特徴バナーボックス */
.m_featureBanners{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin: -12px;
}
.m_featureBanners__item{
  display: flex;
  width: 50%;
  padding: 12px;
}
.m_featureBanners__inner{
  display: block;
  width: 100%;
}
.m_featureBanners__inner--img{
  line-height: 0;
  text-align: center;
}
.m_featureBanners__inner--link{
  transition: .3s opacity;
}
.m_featureBanners__inner--link:hover{
  opacity: .7;
}
.m_featureBanners__heading{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 68px;
  margin-bottom: 16px;
  background: url("/resource/img/webins21/bg_smartpack-copy.png") no-repeat left center / contain;
}
.m_featureBanners__ttl{
  padding-left: 2em;
  font-weight: bold;
  font-size: 16px;
  color: #fff;
}
@media screen and (max-width: 768px){
  .m_featureBanners__heading{
    position: relative;
    height: auto;
    padding-top: calc(100% * 68 / 374);
  }
  .m_featureBanners__ttl{
    position: absolute;
    left: 0;
    top: 50%;
    padding-left: 1em;
    font-size: 13px;
    transform: translateY(-50%);
  }
}


@media screen and (max-width: 599px){
  .m_featureBanners__item{
    width: 100%;
  }
}
/* 比較ラッパー */
.m_compareWrap{}
.m_compareWrap__body{
  border-top: 2px solid;
  border-bottom: 2px solid;
}
.m_compareWrap__item + .m_compareWrap__item{
  border-top: 1px dotted;
}
@media screen and (max-width: 768px){
  .m_compareWrap__body{
    border-top: none;
    border-bottom: none;
  }
  .m_compareWrap__item {
    border-top: 2px solid;
  }
  .m_compareWrap__item + .m_compareWrap__item{
    margin-top: 40px;
    border-top: 2px solid;
  }
}
/* 比較見出し */
.m_compareHeading{
  display: flex;
  align-items: stretch;
}
.m_compareHeading::before{
  content: "";
  display: block;
  width: 33.333%;
}
.m_compareHeading__item{
  width: 33.333%;
  padding: 2px;
}
.m_compareHeading__inner{
  padding: 8px 0;
  border-radius: 4px 4px 0 0;
  text-align: center;
  line-height: 1;
  font-weight: bold;
}
.m_compareHeading__inner--kaiin{
  color: #fff;
  background: #da231b;
}
.m_compareHeading__inner--hikaiin{
  color: #fff;
  background: #333;
}

@media screen and (max-width: 768px){
  .m_compareHeading{
    display: none;
  }
}
/* 比較 */
.m_compare{
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  transition: .3s transform, .3s box-shadow;
}
.m_compare:hover{
  box-shadow: 3px 3px 6px #999;
  transform: translate(-2px, -2px);
}
.m_compare__heading{
  width: 33.333%;
}
.m_compare__body{
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 33.333%;
  padding: 20px;
  border-left: 1px solid;
}
.m_compare__body--posTop{
  justify-content: flex-start;
}
.m_compare__heading{
  padding: 20px;
  background: #e5e5e5;
}
.m_compare__tags{
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.m_compare__tag{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
}
.m_compare__tagInner{
  display: block;
  width: 100%;
  height: 2em;
  padding: 0 1em;
  border: 1px solid;
  border-radius: 100px;
  font-weight: bold;
  font-size: 12px;
}
.m_compare__tagInner--bup{
  color: #194a72;
  background: #deedff;
}
.m_compare__tagInner--movie{
  color: #9d0521;
  background: #ffd6dc;
}
.m_compare__tagInner--free{
  color: #564333;
  background: #ffefe1;
}
.m_compare__tagInner--all{
  color: #fff;
  border-color: #da231b;
  background: #da231b;
}
.m_compare__tags + .m_compare__ttl{
  margin-top: 12px;
}
.m_compare__ttl{
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}
.m_compare__inner{
  position: relative;
  width: 100%;
  min-height: 53px;
  display: flex;
  align-items: center;
}
.m_compare__inner + .m_compare__inner{
  margin-top: 12px;
}
.m_compare__inner::before{
  position: absolute;
  top: 50%;
  left: 0;
  display:block;
  line-height: 1;
  transform: translateY(-50%);
}
.m_compare__inner--emBox{
  padding: 16px;
  border: 1px solid #4c3d80;
  border-radius: 8px;
  background: #dbd9ff;
}
.m_compare__inner--great::before{
  content: url("/resource/img/webins21/bg_great.png");
}
.m_compare__inner--good::before{
  content: url("/resource/img/webins21/bg_good.png");
}
.m_compare__inner--notGood::before{
  content: url("/resource/img/webins21/bg_not-good.png");
}
.m_compare__inner--bad::before{
  content: url("/resource/img/webins21/bg_bad.png");
}
.m_compare__innerItem{
  width: 100%;
}
.m_compare__result{
  text-align: center;
  font-weight: bold;
}
.m_compare__result + .m_compare__msg{
  margin-top: 8px;  
}
.m_compare__msg{
  display: flex;
  justify-content: center;
}
.m_compare__msg + .m_compare__msg{
  margin-top: 8px;
}
.m_compare__msgInner{}
.m_compare__msgInner--ast{
  position: relative;
  padding-left: 1em;
}
.m_compare__msgInner--ast::before{
  content: "※";
  position: absolute;
  left: 0;
  display: block;
}

.m_compare__em{
  color: #b4272d;
}
@media screen and (max-width: 768px){
  .m_compare{
    display: block;
    box-shadow: 2px 2px 12px #999;
  }
  .m_compare:hover{
    box-shadow: 2px 2px 12px #999;
    transform: none;
  }
  .m_compare__heading{
    width: 100%;
  }
  .m_compare__body{
    position: relative;
    width: 100%;
    padding-top: 50px;
    border-left: none;
  }
  .m_compare__body::before{
    content: "WEBinsource会員";
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    display: block;
    width: 160px;
    margin: 0 auto;
    padding: .5em 0;
    border-radius: 4px;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    color: #fff;
    background: #da231b;
  }
  .m_compare__body + .m_compare__body::before{
    content: "非会員";
    color: #fff;
    background: #333;
  }
  .m_compare__body + .m_compare__body{
    border-top: 1px dotted;
  }
}
@media screen and (max-width: 599px){
  .m_compare__body{
    padding: 50px 16px 16px 16px;
  }
  .m_compare__inner--emBox{
    padding: 12px;
  }
  .m_compare__tagInner{
    font-size: 11px;
  }
}

/* ステップラップ */
.m_stepWrap{
  padding: 24px;
  background: #e5e5e5;
}
.m_stepWrap__body{}
.m_stepWrap__body + .m_stepWrap__footer{
  margin-top: 16px;
}
.m_stepWrap__item + .m_stepWrap__item{
  margin-top: 8px;
}
.m_stepWrap__footerItem + .m_stepWrap__footerItem{
  margin-top: 16px;
}
@media screen and (max-width: 599px){
  .m_stepWrap{
    padding: 16px;
  }
}
/* ステップ */
.m_step{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  box-shadow: 4px 4px 4px #999;
}
.m_step__heading{
  position: relative;
  flex: 0 0 160px;
  display: flex;
  padding: 20px;
  justify-content: center;
  align-items: center;
  position: relative;
  background: #FFA1A1;
}
.m_step__heading::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto;
  box-shadow: 4px 4px 4px #999;
  transform: translateY(50%) rotate(45deg);
  transform: translateY(50%) scale(100%, 80%) rotate(45deg);
}
.m_step__num{
  position: relative;
  padding: 20px 1em 0 0;
  font-size: 32px;
  line-height: 1;
  color: #fff;
  font-family : Roboto;
}
.m_step__num::before{
  position: absolute;
  right: 0;
  display: block;
}
.m_step__num::after{
  content: url("/resource/img/webins21/icon_step.png");
  position: absolute;
  top: 0;
  right: -12px;
  display: block;
  line-height: 0;
}
.m_step__body{
  flex: 1 1 auto;
  padding: 20px;
  background: #fff;
}
.m_step__ttl{
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 16px;
}
.m_step--1 .m_step__heading{
  background: #FFA1A1;
}
.m_step--1 .m_step__heading::before{
  background: linear-gradient(to right bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 50%, #FFA1A1 0);
}
.m_step--1 .m_step__num::before{
  content: "1";
}
.m_step--2 .m_step__heading{
  background: #FF7D7D;
}
.m_step--2 .m_step__heading::before{
  background: linear-gradient(to right bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 50%, #FF7D7D 0);
}
.m_step--2 .m_step__num::before{
  content: "2";
}
.m_step--3 .m_step__heading{
  background: #FF6161;
}
.m_step--3 .m_step__heading::before{
  background: linear-gradient(to right bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 50%, #FF6161 0);
}
.m_step--3 .m_step__num::before{
  content: "3";
}
.m_step--4 .m_step__heading{
  background: #FF4848;
}
.m_step--4 .m_step__heading::before{
  background: linear-gradient(to right bottom, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 50%, #FF4848 0);
}
.m_step--4 .m_step__num::before{
  content: "4";
}
.m_step--5 .m_step__heading{
  background: #DA231B;
}
.m_step--5 .m_step__heading::before{
  content: none;
}
.m_step--5 .m_step__num::before{
  content: "5";
}
@media screen and (max-width: 599px){
  .m_step{
    position: relative;
    display: block;
  }
  .m_step__heading{
    padding: 16px;
  }
  .m_step__num{
    font-size: 20px;
  }
  .m_step__num::after{
    right: -16px;
  }
  .m_step__heading{
    position: static;
  }
  .m_step__heading::before{
    bottom: 4px;
  }
}

/* サービスカード */
.m_serviceCard{
  position: relative;
  display: block;
  border-top: 4px solid;
  padding: 12px 16px 72px;
  box-shadow: 4px 4px 8px #999;
  color: inherit;
}
.m_serviceCard__heading{
  margin-bottom: 16px;
}
.m_serviceCard__ttl{
  padding-bottom: 12px;
  border-bottom: 1px solid #333;
  font-weight: bold;
  font-size: 16px;
}
.m_serviceCard__tag{
  display: inline-block;
  padding: 6px 1.5em;
  border-radius: 100px;
  line-height: 1;
  color: #fff;
}
.m_serviceCard__tag + .m_serviceCard__ttl{
  margin-top: 8px;
}
.m_serviceCard__body{}
.m_serviceCard__msg{}
.m_serviceCard__priceItem{}
.m_serviceCard__msg + .m_serviceCard__priceBox{
  margin-top: 16px;
}
.m_serviceCard__priceTtl{
  font-weight: bold;
}
.m_serviceCard__priceMsg{}
.m_serviceCard__price{}
.m_serviceCard__priceMsg + .m_serviceCard__price{
  position: relative;
  margin-left: 1em;
  padding-left: 1em;
}
.m_serviceCard__priceMsg + .m_serviceCard__price::before{
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  display: block;
  width: .5em;
  height: .5em;
  border-left: 2px solid;
  border-bottom: 2px solid;
}
.m_serviceCard__priceNum{
  font-weight: bold;
}
.m_serviceCard__btn{
  position: absolute;
  bottom: 16px;
  left: 16px;
  display: flex;
  align-items: stretch;
  width: calc(100% - 32px);
  font-size: 16px;
}
.m_serviceCard__btn::before{
  content: "";
  display: block;
  height: 2em;  
}
.m_serviceCard__btnTarget{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border: 1px solid #333;
  border-radius: 4px;
  transition: .3s background, .3s color; 
}
.m_serviceCard:hover .m_serviceCard__btnTarget{
  background: #333;
  color: #fff;
}
.m_serviceCard--common{
  border-color: #C9132E;
}
.m_serviceCard--common .m_serviceCard__ttl{
  color: #C9132E;
}
.m_serviceCard--common .m_serviceCard__tag{
  background: #C9132E;
}
.m_serviceCard--web{
  border-color: #C45828;
}
.m_serviceCard--web .m_serviceCard__ttl{
  color: #C45828;
}
.m_serviceCard--web .m_serviceCard__tag{
  background: #C45828;
}
.m_serviceCard--assessment{
  border-color: #7B9F45;
}
.m_serviceCard--assessment .m_serviceCard__ttl{
  color: #7B9F45;
}
.m_serviceCard--assessment .m_serviceCard__tag{
  background: #7B9F45;
}
.m_serviceCard--grasys{
  border-color: #805C8B;
}
.m_serviceCard--grasys .m_serviceCard__ttl{
  color: #805C8B;
}
.m_serviceCard--grasys .m_serviceCard__tag{
  background: #805C8B;
}
.m_serviceCard--office{
  border-color: #5B5BD9;
}
.m_serviceCard--office .m_serviceCard__ttl{
  color: #5B5BD9;
}
.m_serviceCard--office .m_serviceCard__tag{
  background: #5B5BD9;
}
.m_serviceCard--en{
  border-color: #149699;
}
.m_serviceCard--en .m_serviceCard__ttl{
  color: #149699;
}
.m_serviceCard--en .m_serviceCard__tag{
  background: #149699;
}
.m_serviceCard--book{
  border-color: #0E6DA5;
}
.m_serviceCard--book .m_serviceCard__ttl{
  color: #0E6DA5;
}
.m_serviceCard--book .m_serviceCard__tag{
  background: #0E6DA5;
} 
.m_serviceCard--text{
  border-color: #529461;
}
.m_serviceCard--text .m_serviceCard__ttl{
  color: #529461;
}
.m_serviceCard--text .m_serviceCard__tag{
  background: #529461;
} 
.m_serviceCard--present{
  border-color: #a27c52;
}
.m_serviceCard--present .m_serviceCard__ttl{
  color: #a27c52;
}
.m_serviceCard--present .m_serviceCard__tag{
  background: #a27c52;
}
.m_serviceCard--mentalHealth{
  border-color: #cc5e9c;
}
.m_serviceCard--mentalHealth .m_serviceCard__ttl{
  color: #cc5e9c;
}
.m_serviceCard--mentalHealth .m_serviceCard__tag{
  background: #cc5e9c;
}


/* 新機能ラッパー */
.m_newFuncWrap{
  border: 2px solid #0168b3;
}
.m_newFuncWrap__heading{
  padding: 12px 24px;
  background: #0168b3;
}
.m_newFuncWrap__ttl{
  line-height: 1;
  font-size: 18px;
  color: #fff;
}
.m_newFuncWrap__body{
  padding: 12px 24px;
}
.m_newFuncWrap__item{}

/* 新機能 */
.m_newFunc{
  display: flex;
  align-items: center;
}
.m_newFunc.__alignItem_fs { align-items: flex-start; }

.m_newFunc__heading{
  margin-bottom: 16px;
}
.m_newFunc__ttl{
  padding: 6px 0 6px 12px;
  border-left: 8px solid #0168b3;
}
.m_newFunc__date{
  padding-left: 20px;
  line-height: 1;
}
.m_newFunc__body{
  > * + * { margin-top: 20px; }
}
.m_newFunc__footer{}
.m_newFunc__body + .m_newFunc__footer{
  margin-top: 24px;
}
.m_newFunc__img{
  padding-left: 24px;
  line-height: 0;
  text-align: center;
}
@media screen and (max-width: 768px){
  .m_newFunc__cont{
    width: 50%;
  }
  .m_newFunc__img{
    width: 50%;
  }
}
@media screen and (max-width: 599px){
  .m_newFunc{
    display: block;
  }
  .m_newFunc__cont{
    width: 100%;
  }
  .m_newFunc__img{
    margin-top: 24px;
    padding-left: 0;
    width: 100%;
  }
}

/* 機能カード */
.m_funcCard{
  padding: 24px;
  box-shadow: 4px 4px 8px #999;
}
.m_funcCard__heading{
  margin-bottom: 16px;
}
.m_funcCard__ttl{
  text-align: center;
  font-weight: bold;
  font-size: 16px;
}
.m_funcCard__ico{
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
  line-height: 1;
  font-size: 60px;
  font-weight: bold;
  color: #e05656;
}
.m_funcCard__ico--observe::before{
  content: "\f51c";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--cart::before{
  content: "\f07a";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--list::before{
  content: "\f0ca";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--regist::before{
  content: "\f573";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--flag::before{
  content: "\f024";
  font-weight: normal;
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--peopleArrows::before{
  content: "\e068";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--lock::before{
  content: "\f502";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--users::before{
  content: "\f0c0";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard__ico--chart::before{
  content: "\f080";
  font-family: "Font Awesome 5 Free";
}
.m_funcCard--new{
  position: relative;
}
.m_funcCard--new::before{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 72px;
  height: 72px;
  background: linear-gradient(to right top, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 50%, #b88800 0);
}
.m_funcCard--new::after{
  content: "NEW";
  position: absolute;
  top: 8px;
  right: 8px;
  line-height: 1;
  font-weight: bold;
  font-size: 16px;
  color: #fff;
  font-family: Roboto;
}

/* バナー */
.m_banners{
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin: -12px;
}
.m_banners__item{
  display: flex;
  justify-content: center;
  padding: 12px;
}
.m_banners__target{
  display: block;
  box-shadow: 4px 4px 8px #999;
  line-height: 0;
  transition: .3s opacity;
}
.m_banners__target:hover{
  opacity: .7;
}
@media screen and (max-width: 599px){
  .m_banners{
    display: block;
  }
}


/* 脚注 */
.m_footnote{
  color: #666;
}
.m_footnote--ast{
  position: relative;
  padding-left: 1em;
}
.m_footnote--ast::before{
  content: "※";
  position: absolute;
  left: 0;
  display: block;
}

/* 動画 */
.iframeBox { margin: 20px 0; }

@media screen and (min-width: 768px){
  .iframeBox--center {
    margin: 20px auto;
    /*width: 530px;*/
  }
}

.iframeBox__inner {
  position: relative;
  width: 100%;
  padding-top: calc(100% * 9 / 16);
}

.iframeBox__inner > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ダウンロードボタン */
.m_btn{
  display: flex;
  align-items: stretch;
}
.m_btn::before{
  content: "";
  display: block;
  width: 0;
}
.m_btn__target{
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  transition: opacity .3s;
}
.m_btn__target:hover{
  opacity: .7;
}
.m_btn--center{
  justify-content: center;
}
.m_btn--dl{
  font-size: 15px;
}
.m_btn--dl::before{
  height: 3em;
}
.m_btn--dl .m_btn__target{
  position: relative;
  padding: 0 38px;
  border: 1px solid;
  border-radius: 4px;
  color: #EA861E;
  font-weight: bold;
  box-shadow: 2px 2px 4px #EA861E;
}
.m_btn--dl .m_btn__target::before{
  content: url("../../../resource/img/bup_direct/icon_download.svg");
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  display: block;
  height: 1em;
  margin: auto 0;
  line-height: 0;
}

/* お知らせ */
.m_monchamp_news {
  margin: 16px 10px 0;
  padding: 12px;
  border: 4px solid #a27c52;
}
.m_monchamp_news__ttl {
  color: #a27c52;
  font-size: 16px;
}
.m_monchamp_news__txt {
  font-size: 14px;
}
/* ==============
utility
============== */
/*横幅*/
.u_col1{width:8.333%;}
.u_col2{width:16.667%;}
.u_col3{width:25%;}
.u_col4{width:33.333%;}
.u_col5{width:41.666%;}
.u_col6{width:50%;}
.u_col7{width:58.333%;}
.u_col8{width:66.666%;}
.u_col9{width:75%;}
.u_col10{width:83.33%;}
.u_col11{width:91.666%;}
.u_col12{width:100%;}
@media screen and (max-width:768px){
  .u_resMdCol1{width:8.333%;}
  .u_resMdCol2{width:16.667%;}
  .u_resMdCol3{width:25%;}
  .u_resMdCol4{width:33.333%;}
  .u_resMdCol5{width:41.666%;}
  .u_resMdCol6{width:50%;}
  .u_resMdCol7{width:58.333%;}
  .u_resMdCol8{width:66.666%;}
  .u_resMdCol9{width:75%;}
  .u_resMdCol10{width:83.33%;}
  .u_resMdCol11{width:91.666%;}
  .u_resMdCol12{width:100%;}
}
@media screen and (max-width:599px){
  .u_resSmCol1{width:8.333%;}
  .u_resSmCol2{width:16.667%;}
  .u_resSmCol3{width:25%;}
  .u_resSmCol4{width:33.333%;}
  .u_resSmCol5{width:41.666%;}
  .u_resSmCol6{width:50%;}
  .u_resSmCol7{width:58.333%;}
  .u_resSmCol8{width:66.666%;}
  .u_resSmCol9{width:75%;}
  .u_resSmCol10{width:83.33%;}
  .u_resSmCol11{width:91.666%;}
  .u_resSmCol12{width:100%;}
}
/* 間隙 */
.u_mb8{
  margin-bottom: 8px;
}
.u_mt12{
  margin-top: 12px;
} 
.u_mb16{
  margin-bottom: 16px;
}
.u_mt16{
  margin-top: 16px;
}
.u_mt24{
  margin-top: 24px;
}
.u_mb40{
  margin-bottom: 40px;
}
.u_mrA{
  margin-right: auto;
}
.u_ml16{
  margin-left: 16px;
}
.u_mlA{
  margin-left: auto;
}
.u_mt40{
  margin-top: 40px;
}
.u_mt64{
  margin-top: 64px;
}
.u_mb64{
  margin-bottom: 64px;
}
.u_mt80{
  margin-top: 80px;
}
@media screen and (max-width: 768px){
  .u_resMdMt0{
    margin-top: 0;
  }
  .u_resMdMrA{
    margin-right: auto;
  }
  .u_resMdMlA{
    margin-left: auto;
  }
}
/* 文字寄 */
.u_ac{
  text-align: center;
}
/* 文字色 */
.u_colorAccent{
  color: #e6002d;
}
.u_colorWhite{
  color: #fff;
}
/* 文字サイズ */
.u_fs16{
  font-size: 16px;
}
.u_fs32{
  font-size: 32px;
}
/* 文字太さ */
.u_fwB{
  font-weight: bold;
}
@media screen and (max-width: 768px){
  .u_resMdFs15{
    font-size: 15px;
  }
}
/* 文字太さ */
.u_fb{
  font-weight: bold;
}
/* 文字間 */
.u_ls0{
  letter-spacing: 0;
}
.u_lsN1{
  letter-spacing: -1px;
}
@media screen and (max-width: 768px){
  .u_resMdLsN1{
    letter-spacing: -1px;
  }
}
/* 上付き文字 */
.u_super{
  font-size: 11px;
  vertical-align: super;
}
/* フォント */
.u_ffOsw{
  font-family: 'Oswald', sans-serif;
}
/* 行送り */
.u_lh1{
  line-height: 1;
}
/* 要素を出す/消す */
.u_hide{
  display: none;
}
@media screen and (max-width: 768px){
  .u_resMdHide{
    display: none;
  }
  .u_resMdBlock{
    display: block;
  }
  .u_resMdInline{
    display: Inline;
  }
}
@media screen and (max-width: 599px){
  .u_resSmHide{
    display: none;
  }
  .u_resSmBlock{
    display: block;
  }
  .u_resSmInline{
    display: Inline;
  }
}

.m_contact__btn {
    display: flex;
    justify-content: center;
}

.m_contact__link {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    box-shadow: inset -2px 0px 0 rgb(255 255 255 / 40%), -2px 2px 0 #b11b0b;
    color: #fff;
    background-color: #EA3636;
    font-size: 16px;
    font-weight: 600;
    height: 48px;
    line-height: 1.3;
    margin: 0 0 2px 2px;
    padding: 7px;
}

.m_contact__link:hover{
    box-shadow: inset -2px 2px 0 rgb(255 255 255 / 40%);
    transform: translate(-2px, 2px);
    text-decoration: none;
}

.m_contact__inner{}