@charset "utf-8";

/*============================================================================================
      Font
=============================================================================================*/
@font-face{
  font-family: 'BMWSansBold';
  src: url('../font/BMWTypeNextTT-Bold.woff') format('woff');
  font-style: bold;
  font-display: swap;
}
@font-face{
  font-family: 'BMWSansReg';
  src: url('../font/BMWTypeNextTT-Regular.woff') format('woff');
  font-style: normal;
  font-display: swap;
}

/*============================================================================================
      Initialize
=============================================================================================*/
/*    html, body
=====================================================*/
html{
  font-size: 10px;
  height: 100%;
}
body{
  color: #fff;
  font-size: 1.3rem;
  /* ベースがゴシック体の場合以下を有効化 */
  font-family: YakuHanJP, 'Noto Sans', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", HelveticaNeue, "Segoe UI", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.75;
  -webkit-text-size-adjust: 100%;
  width: 100%;
  max-width: 414px;
  height: 100%;
  margin: 0 auto;
  background-color: #212121;
  padding-top: 60px;
}
@media (max-width: 895px){
  body{
    max-width: 100%;
    margin: 0;
  }
}
@media (max-width: 576px){
  body{
    padding-top: 16vw;
  }
}
@media (max-width: 374px){
  html {
    font-size: 2.6vw;
  }
}


/*    a
=====================================================*/
a{
  color: inherit;
  text-decoration: inherit;
  font-size: inherit;
  text-align: inherit;
}


/*    img
=====================================================*/
img{
  line-height: 0;
  max-width: 100%;
  height: auto;
}


/*    em
=====================================================*/
em,
strong{
  display: inline-block;
}


/*    button
=====================================================*/
button{
  font-size: inherit;
  font-family: inherit;
  border: none;
  padding: 0;
  cursor: pointer;
  background-color: transparent;
}
button:focus{
  outline: none;
}


/*    Form parts
=====================================================*/
select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}


/*    micro clearfix
=====================================================*/
.clearfix:before,
.clearfix:after{
  content: " ";
  display: table;
}
.clearfix:after{
  clear: both;
}
/* for IE */
.clearfix{
  *zoom: 1;/* hasLayout on */
}


/*    box sizing
=====================================================*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}


/*    word wrap
=====================================================*/
* {
  word-wrap: break-word;
}


/*============================================================================================
      Utility
=============================================================================================*/
/*    Display
=====================================================*/
/*-- PC --*/
.u_tbl{
  display: none;
}
.u_sp{
  display: none;
}
.u_pc{
  display: block;
}
.u_pc.u_inlineB{
  display: inline-block;
}
.u_pc.u_inline{
  display: inline;
}


/*    Contents
=====================================================*/
/*-- Images --*/
.u_img{
  line-height: 0;
  overflow: hidden;
  display: block;
}

.u_img img{
  display: block;
  margin: 0 auto;
  width: 100%;
}

/*-- Icon --*/
.u_ic{
  position: relative;
}
.u_ic::before,
.u_ic::after{
  content: "";
  margin: auto;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  position: absolute;
  pointer-events: none;
}

/*-- Border --*/
.u_nobdT{
  border-top: none;
}
.u_nobdR{
  border-right: none;
}
.u_nobdB{
  border-bottom: none;
}
.u_nobdL{
  border-left: none;
}

/*-- Br --*/
.u_br{
  display: none;
}

/*-- Clear text --*/
.u_clearTxt{
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}

/*-- Text Indent --*/
.u_indent{
  text-indent: -1em;
  padding-left: 1em;
}
.u_indent_lg{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.u_indent_lg_hd{
  flex: 0 0 auto;
}

/*-- Scroll prevent --*/
.u_scrollPrevent {
  overflow: hidden;
}

/*-- List --*/
.u_lst{
  list-style: disc;
  padding-left: 1.5em;
}
.u_lst_itm{
  margin-top: 0.5em;
}