@charset "UTF-8";
/*mainCol メインコンテンツ*/
body {
  background: url(../images/top/bg_main.jpg) no-repeat center top fixed;
  background-size: cover;
}

main {
  width: 100%;
  max-width: 100%;
  padding: 80px 0 20px;
}

#mainCol {
  text-align: center;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

#mainColTop {
  background: url(../images/top/bg_main_top.jpg) no-repeat center top;
  background-size: cover;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  clear: both;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #mainColTop > div {
    display: flex;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
  }
}

/*バナー*/
#mainBnr {
  box-sizing: border-box;
  padding: 0px;
  width: 75%;
  max-width: 960px;
  margin: 0 auto;
}
#mainBnr img {
  width: 100%;
}

/*更新履歴*/
#newsCol {
  box-sizing: border-box;
  width: 25%;
  padding: 10px 10px 0 10px;
  position: relative;
  overflow: hidden;
}
#newsCol h2 {
  text-align: center;
  margin: 0 0 10px 0;
}
@media screen and (max-width: 768px) {
  #newsCol .pc {
    display: none;
  }
}

#newsColInner {
  margin: 0 auto;
  padding-top: 10px;
  position: relative;
}
#newsColInner #newsColBox {
  height: 85%;
  overflow: auto;
}

#newsCol dl {
  overflow: auto;
  font-size: 0.875em;
}
#newsCol dl dt {
  background: url(../images/top/ic_news.png) no-repeat center left;
  color: #00ccff;
  background: rgba(0, 0, 0, 0.5);
  padding: 10px 0 0;
}
#newsCol dl dd {
  color: #FFF;
  background: rgba(0, 0, 0, 0.5);
  padding: 0.2em 10px 10px 10px;
  margin-bottom: 1px;
  line-height: 1.4;
}
#newsCol dl dd:last-child {
  margin-bottom: 0;
}
#newsCol dl dd a {
  display: inline-block;
  width: 100%;
  padding-bottom: 0.6em;
  color: #00ccff;
}
#newsCol dl dd a:hover {
  color: #00ccff;
  text-decoration: underline;
}
#newsCol dl dd span {
  display: inline-block;
  width: 100%;
}
#newsCol dl dd span + span {
  padding-top: 0.6em;
}

@media screen and (max-width: 768px) {
  main {
    padding-top: 0px;
  }

  #mainCol {
    min-width: 100%;
  }

  #mainBnr {
    float: none;
    padding: 0px;
    width: 100%;
  }

  #newsCol {
    float: none;
    width: 100%;
    padding-bottom: 10px;
    min-height: 300px;
  }
  #newsCol #newsColBox {
    min-height: 240px;
  }
  #newsCol.spView {
    min-height: auto;
    height: auto !important;
  }
  #newsCol.spView #newsColBox {
    min-height: auto;
    height: auto !important;
  }
}
#mainColInner {
  display: flex;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 10px 0 0 0;
}
@media screen and (max-width: 768px) {
  #mainColInner {
    display: block;
  }
}

#btn_movie {
  width: 35%;
  margin-bottom: 10px;
}
#btn_movie img {
  width: 96%;
}

#tweetCol {
  width: 65%;
  background: rgba(0, 0, 0, 0.5);
  margin-bottom: 10px;
}

#txt_catch {
  padding: 20px 0 0;
  text-align: center;
}
#txt_catch img {
  width: auto;
  max-width: 96%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  #txt_catch img {
    margin-top: 15px;
  }
}

@media screen and (max-width: 768px) {
  #btn_movie {
    width: 100%;
  }
  #btn_movie img {
    width: auto;
    max-width: 96%;
    margin-bottom: 10px;
  }

  #tweetCol {
    width: 100%;
  }
}
#snavi {
  clear: both;
  overflow: hidden;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
}
#snavi li {
  float: left;
  box-sizing: border-box;
  width: 33.3%;
  border-right: 3px solid #000;
}
#snavi li img {
  width: auto;
  max-width: 80%;
}
#snavi li a {
  display: block;
  width: 100%;
  padding: 10px 0;
  height: 50px;
}
#snavi li a:link, #snavi li a:active, #snavi li a:visited {
  background: rgba(0, 0, 0, 0.6);
}
#snavi li a:hover {
  background: none;
}
#snavi .sn_concept {
  background: url(../images/top/btn_concept_bg.png) center top no-repeat;
  background-size: cover;
}
#snavi .sn_system {
  background: url(../images/top/btn_system_bg.png) center top no-repeat;
  background-size: cover;
}
#snavi .sn_history {
  background: url(../images/top/btn_history_bg.png) center top no-repeat;
  background-size: cover;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}
@media screen and (max-width: 640px) {
  #snavi {
    border-bottom: none;
  }
  #snavi li {
    float: none;
    width: 100%;
    border-bottom: 3px solid #000;
  }
}
#tw-replacement-content {
  color: #fff;
}
#tw-replacement-content a {
  color: #66ffff;
}
