/* 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_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--section{
  margin: -24px;
}
.l_grid--section .l_grid__item{
  padding: 24px;
}

/* ナビ */
.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_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_btn--back{
  font-size: 15px;
}
.m_btn--back::before{
  height: 3em;
}
.m_btn--back .m_btn__target{
  position: relative;
  padding: 0 38px;
  border: 1px solid #DA231B;
  border-radius: 4px;
  font-weight: bold;
  box-shadow: 2px 2px 4px #777;
}
.m_btn--back .m_btn__target::before{
  content: url("../../../resource/img/bup_direct/icon_return.svg");
  position: absolute;
  top: 0;
  bottom: 0;
  right: 12px;
  display: block;
  height: 1em;
  margin: auto 0;
  line-height: 0;
}
/* 見出し */
.m_heading{}
.m_heading__ttl{
  font-weight: bold;
}
.m_heading--primary{
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}
.m_heading--primary .m_heading__ttl{
  display: inline-block;
  padding: 0 8px 4px;
  border-bottom: 1px dotted #E7231B;
  font-size: 24px;
}
.m_heading--secondary{
  margin-bottom: 12px;
  padding-bottom: 4px;
  border-bottom: 1px dotted #E7231B;
}
.m_heading--secondary .m_heading__ttl{
  position: relative;
  padding-left: 32px;
  font-size: 20px;
}
.m_heading--secondary .m_heading__ttl::before{
  content: url(../../../resource/img/bup_direct/icon_direct.png);
  position: absolute;
  top: 4px;
  left: 0;
  display: block;
  line-height: 0;
}

/* ヒーローズエリア */
.m_herosArea{
  margin-bottom: 56px;
}
.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/bup_direct/topimg_kokai-direct.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%;
  padding-top: 40px;
}
.m_keyvisual__logo{
  position: absolute;
  top: 24px;
  left: 24px;
  line-height: 0;
}
.m_keyvisual__logo img{
  max-width: 100%;
  height: auto;
}
.m_keyvisual__ttl{
  max-width: 90%;
  line-height: 0;
}
.m_keyvisual__subTtl{
  font-weight: bold;
  text-align: center;
  font-size: 26px; 
}
.m_keyvisual__ttl + .m_keyvisual__subTtl{
  margin-top: 28px;
}
.m_keyvisual__login{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: url("../../../resource/img/bup_direct/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_keyvisual__logo{
    top: 16px;
    left: 16px;
    width: 120px;
  }
  .m_keyvisual__ttl + .m_keyvisual__subTtl{
    margin-top: 20px;
  }
  .m_keyvisual__subTtl{
    font-size: 20px; 
  }
}
@media screen and (max-width: 599px){
  .m_keyvisual__heading{
    padding-top: calc(100% * 414 / 670);
  }
  .m_keyvisual__ttl{
    width: 50vw;
  }
  .m_keyvisual__subTtl{
    font-size: 3.4vw; 
  }
  .m_keyvisual__ttl + .m_keyvisual__subTtl{
    margin-top: 4.6vw;
  }
  .m_keyvisual__logo{
    width: 100px;
  }
}
/* ログインリスト */
.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;
  line-height: 1;
}
.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/bup_direct/icon_login.png");
  width: 18px;
  height: 17px;
}
.m_login__btnTarget--new .m_login__btnInner::after{
  content: url("../../../resource/img/bup_direct/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_lead{}
.m_lead__msg{
  text-align: center;
  font-weight: bold;
  font-size: 18px;
}
.m_lead__msg + .m_lead__figure{
  margin-top: 28px;
}
.m_lead__note{
  font-weight: normal;
  color: #DA231B;
  font-size: 16px;
}
@media screen and (max-width: 768px){
  .m_lead__msg br{
    display: none;
  }
}
/* コンテンツ */
.m_contents{}
.m_contents__msg{}
.m_contents__msg + .m_contents__figure{
  margin-top: 32px;
}
.m_contents__footer{
  margin-top: 30px;
}
.m_contents__link{
  color: #0017E6;
  text-decoration: underline;
}
.m_contents__link:hover{
  color: #0017E6;
  text-decoration: underline;
  opacity: .7;
}
/* 公開ダイレクトについてのラッパー */
.m_aboutWrap{
  margin: 0 30px;
  padding: 36px;
  background: #F3F3F3;
}
.m_aboutWrap__body{
  position: relative;
  padding: 36px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 3px 3px 6px #777;
  overflow: hidden;
}
.m_aboutWrap__body::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-left: 80px solid #DA231B;
  border-bottom: 80px solid rgba(255, 255, 255, 0);
}
.m_aboutWrap__item{
  padding: 0 10px 0 40px;
}
.m_aboutWrap__item + .m_aboutWrap__item{
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dotted #999;
}
@media screen and (max-width: 768px){
  .m_aboutWrap__item{
    padding: 0;
  }
}
@media screen and (max-width: 599px){
  .m_aboutWrap{
    margin: 0;
    padding: 10px;
  }
  .m_aboutWrap__body{
    padding: 24px 10px;
  }
  .m_aboutWrap__body::before{
    border-width: 48px;
  }
}
/* 公開ダイレクトについて */
.m_about{
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.m_about__imgWrap{
  flex: 0 0 220px;
}
.m_about__ttl{
  margin-bottom: 20px;
  text-align: center;
  line-height: 0;
}
.m_about__ttl img{
  max-width: 100%;
  height: auto;
}
.m_about__img{
  text-align: center;
  line-height: 0;
}
.m_about__img img{
  max-width: 100%;
  height: auto;
}
.m_about__sec{
  position: relative;
  margin-left: 16px;
}
.m_about__sec::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  margin: auto 0;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  width: 12px;
  height: 12px;
  transform: translateY(-50%) rotate(225deg);
}
.m_about__secItem{
  position: relative;
  padding-left: 14px;
  border-left: 14px solid #DA231B;
}
.m_about__secItem::before{
  content: url(../../../resource/img/bup_direct/icon_webins.svg);
  position: absolute;
  left: -14px;
  top: 50%;
  display: block;
  height: 34px;
  width: 34px;
  transform: translate(-10px, -50%);
}
.m_about__secItem:first-of-type{
  padding-bottom: 12px;
}
.m_about__tab{
  width: 100px;
  border: 1px solid;
  border-radius: 100px;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #DA231B;
}
.m_about__tab + .m_about__list{
  margin-top: 8px;
}
.m_about__listItem{
  position: relative;
  padding-left: 1em;
  font-size: 18px;
}
.m_about__listItem::before{
  content: "・";
  position: absolute;
  left: 0;
}
.m_about__listItem + .m_about__listItem{
  margin-top: 4px;
}
.m_about__note{
  position: relative;
  padding-left: 1em;
  color: #666;
  font-size: 14px;
}
.m_about__note::before{
  content: "※";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px){
  .m_about{
    display: block;
  }
  .m_about__imgWrap + .m_about__sec{
    margin-top: 16px;
  }
}
@media screen and (max-width: 599px){
  .m_about__listItem{
    font-size: 15px;
  }
}


/* 従来のWEBinsource */
.m_prev{}
.m_prev__heading{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 18px;
}
.m_prev__ttl{
  padding-left: 8px;
  border-left: 4px solid;
  font-weight: bold;
  font-size: 18px;
}
.m_prev__body{
  display: flex;
  align-items: center;
  justify-content: center;
}
.m_prev__img{
  flex: 0 0 57px;
  text-align: center;
  line-height: 0;
}
.m_prev__sec{
  position: relative;
  margin-left: 16px;
}
.m_prev__sec::before{
  content: "";
  position: absolute;
  left: 1px;
  top: 10px;
  bottom: 0;
  z-index: 1;
  display: block;
  margin: auto 0;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  width: 10px;
  height: 10px;
  background: #999;
  transform: translateY(-50%) rotate(225deg);
}
.m_prev__secItem{
  position: relative;
  padding-left: 14px;
  border-left: 14px solid #DA231B;
}
.m_prev__secItem::before{
  content: url(../../../resource/img/bup_direct/icon_webins.svg);
  position: absolute;
  left: -14px;
  top: 50%;
  display: block;
  height: 34px;
  width: 34px;
  transform: translate(-10px, -50%);
}
.m_prev__secItem:first-of-type{
  padding-bottom: 12px;
}
.m_prev__secItem--other{
  border-color: #999;
}
.m_prev__secItem--other::before{
  content: none;
}
.m_prev__list{}
.m_prev__listItem{
  position: relative;
  padding-left: 1em;
}
.m_prev__listItem::before{
  content: "・";
  position: absolute;
  left: 0;
}
.m_prev__listItem + .m_prev__listItem{
  margin-top: 4px;
}
@media screen and (max-width: 768px){
  .m_prev__heading{
    display: block;
  }
  .m_prev__ttl + .m_prev__lead{
    margin-top: 12px;
  }
}
/* 公開ダイレクトの機能 */
.m_func{}
.m_func__table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.m_func__heading{
  font-size: 13px;
}
.m_func__rowTtl{
  width: 80px;
  padding: 16px;
  background: #F3F3F3;
  font-weight: normal;
}
.m_func__prevTtl{
  border: 1px solid;
  border-radius: 10px 10px 0 0;
  background: #333;
  vertical-align: middle;
  text-align: center;
  color: #fff;
}
.m_func__nowTtl{
  padding: 4px 0;
  border: 1px solid;
  border-radius: 10px 10px 0 0;
  vertical-align: middle;
  text-align: center;
  color: #fff;
  background: #DA231B;
}
.m_func__nowSubTtl{
  padding: 6px 0;
  border: 1px solid;
  vertical-align: middle;
  text-align: center;
  background: #DA231B;
  color: #fff;
}
.m_func__rowTtl:empty{
  background: none;
}
.m_func__body{
  border-top: 2px solid;
  border-bottom: 2px solid;
}
.m_func__body tr + tr{
  border-top: 1px dotted;
}
.m_func__data{
  vertical-align: center;
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}
.m_func__data--em{
  color: #DA231B;
}
@media screen and (max-width: 768px){
  .m_func__rowTtl{
    width: 64px;
    padding: 12px 8px;
  }
}
/* 各種通知 */
.m_notice{
  border-top: 2px solid;
  border-bottom: 2px solid;
}
.m_notice__item{
  display: flex;
  align-items: stretch;
}
.m_notice__item + .m_notice__item{
  border-top: 1px solid;
}
.m_notice__heading{
  flex: 0 0 160px;
  padding: 5px 16px;
  background: #F3F3F3;
}
.m_notice__body{
  flex: 1 1 auto;
  padding: 5px 16px;
}
.m_notice__list{}
.m_notice__listItem{
  position:relative;
  padding-left: 60px;
}
.m_notice__listItem + .m_notice__listItem{
  margin-top: 2px;
}
.m_notice__msg{}
.m_notice__unit{
  position: absolute;
  left: 0;
}
.m_notice__note{
  color: #666;
}
@media screen and (max-width: 599px){
  .m_notice__heading{
    flex: 0 0 72px;
    padding: 5px;
  }
  .m_notice__ttl{
    font-size: 13px;
  }
  .m_notice__note{
    font-size: 12px;
  }
  .m_notice__body{
    padding: 5px;
  }
  .m_notice__listItem{
    padding-left: 48px;
    font-size: 13px;
  }
}
/* 注意事項のラッパー */
.m_attentionWrap{}
.m_attentionWrap__item + .m_attentionWrap__item{
  margin-top: 24px;
}
.m_attentionWrap__heading{
  margin-bottom: 4px;
  padding-left: 1px;
  border-left: 4px solid #EFA8A8;
}
.m_attentionWrap__heading--confirm{
  border-color: #95A4D6;
}
.m_attentionWrap__ttl{
  max-width: 400px;
  padding: 2px 12px;
  border-radius: 0 100px 100px 0;
  color: #fff;
  font-weight: normal;
  font-size: 18px;
  background: #DA231B;
}
.m_attentionWrap__heading--confirm .m_attentionWrap__ttl{
  background: #556AAE;
}
.m_attentionWrap__list{}
.m_attentionWrap__listItem + .m_attentionWrap__listItem{
  margin-top: 12px;
}

/* 注意事項 */
.m_attention{}
.m_attention__heading{
  display: flex;
  align-items: stretch;
  margin-bottom: 8px;
}
.m_attention__num{
  flex: 0 0 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  font-family: roboto, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  background: #333;
}
.m_attention__ttl{
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  margin-left: 2px;
  padding-left: 8px;
  background: #FFE1E1;
}
.m_attention__body{
  padding-left: 28px;
}
.m_attention__listItem{
  position: relative;
  padding-left: 32px;
  margin-top: 4px;
  font-weight: bold;
}
.m_attention__listItem::before{
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  display: block;
  width: 16px;
  height: 16px;
  border: 1px solid;
}
.m_attention__listItem::after{
  content: "";
  position: absolute;
  left: 8px;
  top: 0;
  display: block;
  width: 8px;
  height: 16px;
  border-bottom: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
}
.m_attention__listItem + .m_attention__listItem{
  margin-top: 4px;
}
.m_attention__sec{}
.m_attention__secItem{
  margin-top: 16px;
}
.m_attention__secTtl{
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 24px;
  border: 1px solid;
  border-radius: 100px;
  font-size: 14px;
  color: #DA231B;
}
.m_attention__list + .m_attention__note{
  margin-top: 8px;
}
.m_attention__note{
  position: relative;
  padding-left: 1em;
  font-weight: normal;
}
.m_attention__note::before{
  content: "※";
  position: absolute;
  left: 0;
}
.m_attention--confirm .m_attention__ttl{
  background: #DDE4F9;  
}
@media screen and (max-width: 768px){
  .m_attention__body{
    padding-left: 0;
  }
  .m_attention__secTtl{
    font-size: 13px;
  }
}
/* パックのポイント利用のラッパー */
.m_packWrap{
  position: relative;
  padding: 28px 30px;
  background: #F3F3F3;
}
.m_packWrap__heading{
  position: absolute;
  top: 0;
  left: 0;
  padding-left: 1px;
  border-left: 4px solid #999;
  transform: translateY(-50%);
}
.m_packWrap__ttl{
  padding: 2px 32px 2px 12px;
  border-radius: 0 100px 100px 0;
  color: #fff;
  font-weight: normal;
  font-size: 18px;
  background: #333;
}
.m_packWrap__sec{}
.m_packWrap__secItem + .m_packWrap__secItem{
  margin-top: 8px;
}
@media screen and (max-width: 599px){
  .m_packWrap{
    padding: 30px 10px 10px;
  }
}
/* パックのポイント利用 */
.m_pack{
  display: flex;
  align-items: center;
  padding: 24px;
  background: #fff;
  box-shadow: 2px 3px 6px #777;
}
.m_pack__body{
  flex: 0 0 248px;
}
.m_pack__heading{
  margin-bottom: 12px;
}
.m_pack__subTtl{
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 24px;
  border: 1px solid;
  border-radius: 100px;
  font-size: 14px;
  color: #DA231B;
}
.m_pack__ttl{
  font-weight: bold;
  font-size: 18px;
}
.m_pack__img{
  flex: 1 1 auto;
  padding-left: 24px;
  line-height: 0;
  text-align: right;
}
@media screen and (max-width: 768px){
  .m_pack{
    display: block;
  }
  .m_pack__img{
    padding: 16px 0 0 0;
  }
}
@media screen and (max-width: 599px){
  .m_pack{
    padding: 10px;
  }
  .m_pack__subTtl{
    font-size: 13px;
  }
  .m_pack__ttl{
    font-size: 16px;
  }
}


/* よくいただくご質問のラッパー */
.m_faqWrap{
  padding: 0 30px;
}
.m_faqWrap__item{}
.m_faqWrap__item + .m_faqWrap__item{
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed #999;
}
@media screen and (max-width: 768px){
  .m_faqWrap{
    padding: 0;
  }
}

/* よくいただくご質問 */
.m_faq{}
.m_faq__q{
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 34px;
  margin-bottom: 12px;
  padding-left: 44px;
  font-weight: bold;
}
.m_faq__q::before{
  content: url("../../../resource/img/bup_direct/icon_q.png");
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  line-height: 0;
}
.m_faq__a{
  position: relative;
  padding: 6px 0 0 44px;
}
.m_faq__a::before{
  content: url("../../../resource/img/bup_direct/icon_a.png");
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  line-height: 0;
}

/* QAの答え */
.m_answer{}
.m_answer__item + .m_answer__item{
  margin-top: 8px;
}
.m_answer__listItem{
  padding-left: 1em;
  text-indent: -1em;
}
.m_answer__listItem + .m_answer__listItem{
  margin-top: 4px;
}
/* 補足リンク */
.m_contentsAside{}
.m_contentsAside__item + .m_contentsAside__item{
  margin-top: 40px;
}
/* バナー */
.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;
  }
}

/* 動画 */
.iframeBox { margin: 20px 0; }
.iframeBox--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@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%;
}

/* ==============
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;
  }
}