@charset "UTF-8";

/* ----------- breadcrumbs ----------- */
.breadcrumbs{
  margin-top: 65px;
  font-size: 1.1rem;
  color: #8d8d8d;
}
.breadcrumbs li{
  display: inline-block;
}
.breadcrumbs li .fa-chevron-right{
  font-size: 10px;
  margin: 0 .5rem;
}
@media (min-width: 992px) {
  .breadcrumbs{
    text-align: right;
  }
}

/* ----------- page title ----------- */
.page__title{
  margin: 3rem 0 1.5rem;
}
@media (min-width: 992px) {
  .page__title{
    margin: 2rem 0;
  }
}

/* ----------- page head ----------- */
.page h3{
  display: block;
  background-color: #20B9D9;
  font-weight: 700;
  font-size: 2.2rem;
  color: #fff;
  line-height: 1.5;
  letter-spacing: .3rem;
  padding: .8rem 1.8rem 1rem;
  margin: 3rem 0;
}
@media screen and (min-width: 992px) {
  .page h3{
    font-size: 2.8rem;
    padding: 1rem 2rem 1.2rem;
    margin: 8rem 0 4rem;
  }
}
.page h4{
  background-color: #EEEFEF;
  border-left: 1px solid #20B9D9;
  font-weight: 700;
  font-size: 1.7rem;
  display: inline-block;
  letter-spacing: .2rem;
  padding: .8rem 1.2rem;
  margin: 2rem 0;
}
@media screen and (min-width: 992px) {
  .page h4{
    font-size: 2rem;
    padding: 1rem 2rem;
    margin: 3rem 0;
  }
}
.page h5{
  display: inline-block;
  border-bottom: 1px solid #20B9D9;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: .15rem;
  padding-bottom: .5rem;
  margin: 2rem 0;
}
@media screen and (min-width: 992px) {
  .page h5{
    font-size: 1.8rem;
    margin: 2.5rem 0;
  }
}
dl{
  border-bottom: 1px solid #ccc;
  padding: 1rem 0;
  margin-bottom: 0;
}
dl:first-of-type{
  border-top: 1px solid #ccc;
}
dl dd{
  margin-bottom: 0;
}
@media screen and (min-width: 992px) {
  dl{
    padding: 1.4rem 0;
  }
}

/* ----------- OUTLINE ----------- */
.outline dl dt{
  display: inline-block;
  width: 18%;
  vertical-align: top;
}
.outline dl dd{
  display: inline-block;
  width: 80%;
  vertical-align: top;
}
@media screen and (min-width: 992px) {
  .outline dl{
    padding: 1.4rem 2.5rem;
  }
  .outline dl dt{
    width: 12%;
  }
  .outline dl dd{
    width: 87%;
  }
}


/* ----------- EXHIBITION ----------- */
.text-right{
  text-align: right;
}
.exhibition__contents p{
  font-size: 1.6rem;
}
.brand__cap{
  margin-top: 4rem;
}
@media screen and (min-width: 992px) {
  .exhibition__contents p{
    font-size: 2rem;
  }
  .brand__cap{
    margin-top: 8rem;
  }
}

/* ------- 出展ブランド ------- */
.exhibitor-brand {
  text-align: center;
}
.exhibitor-brand div {
  margin: .5rem 0;
}
.exhibitor-brand div a {
  display: block;
  color: #111;
  text-decoration: none;
  transition: all ease .15s;
}
.exhibitor-brand div img {
  max-width: 100%;
  padding: 0 .5rem;
}
.exhibitor-brand div p {
  display: block;
  font-size: 1rem;
  background: #ddd;
  padding: .5rem 0;
}
.exhibitor-brand div p span {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  /* tablet */
  .exhibitor-brand div img {
    padding: 1.5rem 4rem;
  }
  .exhibitor-brand div p {
    font-size: 1.1rem;
  }
  .exhibitor-brand div p span {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 992px) {
  /* PC */
  .exhibitor-brand div {
    padding: 0 2.5rem;
    margin: 2rem 0;
  }
  .exhibitor-brand div p {
    font-size: 1.3rem;
    padding: 1rem 0;
  }
  .exhibitor-brand div p span {
    font-size: 1.8rem;
  }
  .exhibitor-brand a:hover > img {
    opacity: .85;
    transition: all ease .15s;
  }
  .exhibitor-brand a:hover > p {
    background: #EEEFEF;
    transition: all ease .15s;
  }
}

/* -------- 出展車両 -------- */
.brand-name{
  padding-top: 3rem;
}
.brand-name h4{
  border-left: none;
  background-color: #fff;
  padding: 0 1.2rem;
}
.brand-name h4 img {
  border-right: 1px solid #20B9D9; 
  max-width: 80px;
  padding-right: 1.5rem;
  margin-right: 1.5rem;
}
.brand-name span {
  font-size: 1.2rem;
  margin-left: 1rem;
}
.mobility-gallery {
  padding: 0 1.5rem;
  margin-bottom: 4rem;
}
.gallery-photo {
  padding: 1.5rem 1rem 0;
}
.gallery-photo img {
  max-width: 100%;
}
.gallery-photo a{
  display: block;
}
.gallery-photo p {
  text-align: center;
  font-size: 1.3rem;
  margin-top: .5rem;
}
.orange-btn .fas {
  margin-left: 1.5rem;
}

@media screen and (min-width: 992px) {
  /* PC */
  .brand-name h4 img {
    max-width: 100px;
    padding-right: 2.5rem;
    margin-right: 2.5rem;
  }
  .gallery-photo p {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
}

/* ------- 出展者一覧 ------- */
.exhibitor-table thead{
  text-align: center;
}
.exhibitor-table thead th,
.exhibitor-table thead th{
  background-color: #20B9D9;
  color: #fff;
}
.exhibitor-table th,
.exhibitor-table td{
  padding: .5rem .8rem;
}
@media screen and (min-width: 992px) {
  .exhibitor-table th,
  .exhibitor-table td{
    padding: 1rem 1.5rem;
  }
}

/* ----------- TICKET ----------- */
.ticket ul{
  list-style-type: disc;
  padding-left: 2rem;
}
.ticket__table{
  border-color: #20B9D9;
  margin-bottom: 6rem;
}
.ticket dl{
  background-color: #fff;
}
.ticket__table2{
  border-color: #9e9e9e;
}
.ticket dl dt{
  display: inline-block;
  width: 45%;
  text-align: center;
  vertical-align: top;
}
.ticket dl dd{
  display: inline-block;
  width: 55%;
  vertical-align: top;
}
.ticket__table__underline{
  border-bottom: 1px solid #111;
}
.ticket__shop p{
  padding-top: 4rem;
}
.ticket__btn{
  margin-bottom: 2rem;
}
.asoview-btn{
  text-align: center;
  text-decoration: none;
  display: block;
  background-color: #fdfdfd;
  border: 1px solid #ccc;
  padding: 1.8rem 2rem 1.5rem;
}
.btn-title{
  display: block;
  font-size: 1.7rem;
  font-weight: bold;
  margin-bottom: .5rem;
}
.asoview-btn img{
  max-width: 120px;
}
section.bg__miku-ticket{
  background-color: #EEEFEF;
  margin-top: -4rem;
}
section.bg__miku-ticket h3{
  margin-top: 0;
}
.miku-ticket__price{
  background-color: #20B9D9;
  color: #fff;
  font-size: 1.7rem;
  padding: .3rem .5rem;
}
.ticket__border{
  max-width: 96vw;
  border-radius: 3px;
  border: 1px solid #111;
  padding: 0 1.5rem 1rem;
  margin: 4rem 10px 0;
}
@media screen and (min-width: 992px) {
  .ticket__table{
    margin-bottom: 10rem;
  }
  .ticket__shop p{
    padding-top: 8rem;
  }
  .ticket__btn{
    margin-bottom: 4rem;
  }
  .asoview-btn{
    padding: 2.5rem 3rem;
  }
  .asoview-btn:hover{
    background-color: #fff;
    border: 1px solid #20B9D9;
  }
  .btn-title{
    font-size: 2rem;
    margin-bottom: 1rem;
  }
  .asoview-btn img{
    max-width: 140px;
  }
  section.bg__miku-ticket h3{
    margin-top: 0;
  }
  .miku-ticket__price{
    display: inline-block;
    font-size: 2rem;
    padding: .8rem 1.5rem;
  }
  .ticket__border{
    padding: 0 3.5rem 3rem;
    margin: 4rem auto 4rem;
  }
  .ticket dl{
    padding: 1.4rem 2.5rem;
  }
}




/* ----------- EVENT ----------- */
.event__mt{
  margin-top: 6rem;
}
.event__bg{
  background-color: #EEEFEF;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.event dl{
  padding-left: 1.5rem;
}
.event dl dt{
  display: inline-block;
  width: 25%;
  vertical-align: top;
}
.event dl dd{
  display: inline-block;
  width: 70%;
  vertical-align: top;
}
@media screen and (min-width: 992px) {
  .event__mt{
    margin-top: 10rem;
  }
  .event__bg{
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
  .event dl{
    padding: 1.4rem 2.5rem;
  }
  .event dl dt{
    width: 20%;
  }
  .event dl dd{
    width: 75%;
  }
}


/* ----- LEGO ----- */
.page sub{
  bottom: -0.4em;
}
.event__lego{
  background-color: #000;
  color: #fff;
}
.event__lego h3{
  background-color: #000;
  text-align: center;
  border-bottom: 1px solid #fff;
  margin-bottom: 0;
}
.event__lego p.event__lego__copy{
  font-size: 1.2rem;
  font-weight: 400;
  text-align: right;
}
.event__lego p{
  font-size: 1.5rem;
  line-height: 2.5rem;
}
.event__lego__top{
  margin: 4rem 0;
}
.event__lego__bottom{
  margin-bottom: 4rem;
}
.youtube-wrap{
  margin: 6rem auto;
}
.youtube-wrap iframe{
  max-width: 100%;
  max-height: 210px;
}
@media screen and (min-width: 768px) {
  .youtube-wrap{
    text-align: center;
  }
  .youtube-wrap iframe{
    width: 100%;
    max-width: 680px;
    max-height: 385px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px) {
  .event__lego p{
    font-size: 1.7rem;
    line-height: 3.5rem;
  }
  .event__lego__bottom{
    margin-bottom: 8rem;
  }
  .youtube-wrap{
    margin: 12rem auto;
  }
}

/* ----- グランツーリスモ ----- */
.event__granturismo h3{
  background-color: transparent;
  margin-top: 1rem;
}



/* ----- 地下鉄プレゼント ----- */
.card__wrap{
  background-color: #20B9D9;
  /*border: 1px solid #20B9D9;*/
  border-radius: 3px;
  padding: .3rem 1.5rem .5rem;
}
.card__wrap h4{
  color: #20B9D9;
  background-color: #fff;
}
@media screen and (min-width: 992px) {
  .card__wrap{
    padding: .8rem 3.5rem 1rem;
    margin: 4rem 0;
  }
}

/* ----- パン＆スイーツ ----- */

.event__bakery h3{
  background-color: transparent;
}
.bakery__wrap{
  border-radius: 3px;
  vertical-align: top;
  padding: 2rem;
}
.bakery__wrap.bread{
  border: 2px solid #c9753a;
  margin-bottom: 1rem;
}
.bakery__wrap.sweets{
  border: 2px solid #d05e81;
}
.bakery__wrap h4{
  display: block;
  color: #fff;
  border-left: none;
  border-radius: 4px;
  margin: 0 0 1rem 0;
}
.bakery__wrap.bread h4{
  background-color: #c9753a;
}
.bakery__wrap.sweets h4{
  background-color: #d05e81;
}
.bakery__wrap ul li{
  margin-bottom: .5rem;
}
@media screen and (min-width: 992px) {
  .bakery__wrap{
    display: inline-block;
    padding: 2rem 2.5rem;
  }
  .bakery__wrap.bread{
    margin-bottom: 0;
    margin-right: 1.5rem;
  }
}

/* ----- 絵はがきコンテスト ----- */

.event__contest h3{
  background-color: transparent;
  text-align: center;
}
.event__contest__line{
  display: block;
  background-color: #20B9D9;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: .8rem 1.5rem;
}
@media screen and (min-width: 992px) {
  .event__contest__line{
    font-size: 1.85rem;
    padding: 1rem 2.5rem;
  }
}
.event__contest__list dl dt{
  width: 100%;
}
.event__contest__list dl dd{
  width: 100%;
}
@media screen and (min-width: 992px) {
  .event__contest__list dl dt{
    width: 20%;
  }
  .event__contest__list dl dd{
    width: 79%;
  }
}
.contest-illust img{
  max-height: 40px;
  margin-bottom: .5rem;
}
ul.event__contest__ul{
  list-style-type: disc;
  padding-left: 2rem;
}
.event .text-bg-dark{
  display: inline-block;
  border-radius: 3px;
  padding: .2rem 1rem .3rem;
  margin-bottom: .2rem;
}

/* ----- GOODS ----- */
.goods-table thead{
  text-align: center;
}
.goods-table thead th,
.goods-table thead th{
  background-color: #20B9D9;
  color: #fff;
  vertical-align: middle;
}
.goods-table th,
.goods-table td{
  padding: .5rem .8rem;
}
.goods-table td:first-of-type{
  text-align: center;
}
.goods-table td:last-of-type{
  text-align: right;
}

.mikudayo-{
  background-image: url(../images/bg-topics.png);
  background-size: cover;
  background-color: #20B9D9;
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  margin-top: 4rem;
  margin-bottom: 4rem;
  padding: 2.5rem;
}
.mikudayo-cap{
  font-size: small;
  font-weight: 400;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .md-text-right{
    text-align: right;
  }
  .mikudayo-{
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 992px) {
  .goods-table th,
  .goods-table td{
    padding: 1rem 1.5rem;
  }
  .mikudayo-{
    font-size: 2.2rem;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}


/* ----- TRIAL ----- */
table.u-layout-table th {
  background: inherit;
  vertical-align: top;
  font-weight: 500;
}
.trial-car {
  border: solid 1px #ddd;
  border-radius: 4px;
  padding: 4px;
}

@media screen and (min-width: 992px) {
  .event .orange-btn{
    width: 100%;
  }
  .contest-illust img{
    max-height: 60px;
  }
}

/* ----------- MAP ----------- */
.map-photo {
  padding: 1.5rem 1rem 0;
}
.map-photo img {
  max-width: 100%;
}
.map-photo a{
  display: block;
}
.map-photo p {
  font-size: 1.3rem;
  margin-top: .5rem;
}
.map-btn{
  text-align: center;
}
/* ----------- ACCESS ----------- */
.access__caption{
  border: 2px solid #20B9D9;
  border-radius: 3px;
  font-size: 1.5rem;
  padding: .8rem 2rem .3rem;
}
.access__map{
  margin-bottom: 1.5rem;
}
.access__map iframe{
  max-width: 100%;
}
.access__info__wrap{
  display: inline-block;
  background-color: #fff;
  padding: .6rem 1.5rem;
  margin-bottom: 1.5rem;
}
.access__info__wrap p{
  color: #20B9D9;
  font-weight: 700;
  margin-bottom: 0;
}
@media screen and (min-width: 992px) {
  .access__caption{
    font-size: 1.75rem;
    padding: 1.5rem 3rem 1rem;
  }
  .access__map{
    margin: 4rem 0 5rem;
  }
}

/* ----------- INFO ----------- */
.info dl dt{
  color: #8d8d8d;
  font-weight: 500;
}
.info .orange-btn{
  margin-bottom: 1rem;
}
.info .orange-btn .fa-file-pdf{
  margin-right: .8rem;
}
@media screen and (min-width: 768px) {
  .info .orange-btn{
    width: auto;
    display: inline-block;
    padding: 1.5rem 2.5rem;
    margin-right: 1.2rem;
    margin-bottom: 0;
  }
}

/* ------ fade animation ------ */
.fade-in{
  opacity: 0;
  animation: fade-in 1.5s ease .8s forwards;
  transition : all .3s;
}
@keyframes fade-in {
  100% {
      opacity: 1;
  }
}
.fade-animation {
  opacity : 0;
  transition : all 3s;
}
.fade-animation.fade-scroll {
  opacity : 1;
}

