@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700;800&display=swap");
main {
  padding: 80px 0 0;
  background: #fffde2;
}

.l-header {
  display: block;
}

.l-footer {
  display: block;
  margin: 0;
  padding-top: 20px;
}

.l-container--1100, .l-container--1200 {
  position: relative;
}

.fam-contents {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 600;
  text-align: center;
  color: #feffd3;
  background: url(../img/trailer_bg.png) no-repeat center top;
  background-color: #19b3cc;
}
.fam-contents a {
  color: #e5004a;
}

.fv {
  position: relative;
  padding: 85px 0 0;
}
.fv__logo {
  width: 485px;
  margin: 0 auto;
}
.fv__title {
  margin: 60px 0 19px;
  font-size: 0;
}
.fv__title span {
  display: block;
  margin-top: 8px;
  font-size: 7rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}
.fv__date span {
  display: block;
  padding: 16px 0 37px 0.5em;
  font-size: 4.8rem;
  letter-spacing: 0.1em;
}

.info__lead {
  font-size: 3rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.info__past {
  margin: 72px 0;
}
.info__past li {
  margin-bottom: 6px;
}
.info__past p {
  margin: 62px 0 13px;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
}
.info__sponsor {
  margin-bottom: 72px;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #fff;
}

.ft {
  padding: 70px 0 115px;
  font-family: "YuGothic", "游ゴシック", sans-serif;
  background: url(../img/trailer_foot.svg) no-repeat center bottom/1920px auto;
  background-color: #fffde2;
}
.ft__past {
  margin-bottom: 20px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 3rem;
  letter-spacing: 0.02em;
  color: #009d97;
}
.ft__pastList {
  display: flex;
  justify-content: center;
  column-gap: 40px;
}
.ft__pastList a {
  display: block;
  width: 220px;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 48px;
  color: #009d97;
  background: #fff;
  border: 1px solid #009d97;
  border-radius: 25px;
  transition: 0.2s;
}
.ft__pastList a:hover {
  color: #fff;
  background: #009d97;
}
.ft__sns {
  margin: 63px 0 20px;
  padding-left: 0.1em;
  letter-spacing: 0.1em;
  font-size: 2.4rem;
  font-weight: bold;
  color: #000;
}
.ft__sns.red {
  color: #e5004a;
}
.ft__snsList {
  display: flex;
  justify-content: center;
}
.ft__snsList li {
  margin: 0 25px;
  transition: 0.2s;
}
.ft__snsList li:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px){
  main {
    padding-top: 60px;
  }
  .l-container--1100, .l-container--1200 {
    padding: 0 3.125vw;
  }
  .fam-contents {
    background-image: url(../img/trailer_bg_sp.png);
    background-size: 100% auto;
  }
  .fv {
    padding: 5.7291666667vw 0 0;
  }
  .fv__logo {
    width: 50.5208333333vw;
  }
  .fv__title {
    width: 96.9791666667vw;
    margin: 15.9375vw auto 4.1666666667vw;
  }
  .fv__title span {
    margin-top: 1.0416666667vw;
    font-size: 7.2916666667vw;
  }
  .fv__date {
    width: 90.8333333333vw;
    margin: 0 auto;
  }
  .fv__date span {
    padding: 2.5vw 0 4.7916666667vw 0.5em;
    font-size: 6.4583333333vw;
  }
  .info__lead {
    font-size: 4.1666666667vw;
  }
  .info__past {
    margin: 8.3333333333vw 0;
  }
  .info__past li {
    margin-bottom: 0.2083333333vw;
  }
  .info__past p {
    margin: 8.3333333333vw 0 3.125vw;
    font-size: 4.1666666667vw;
  }
  .info__sponsor {
    margin-bottom: 8.3333333333vw;
    font-size: 3.125vw;
  }
  .ft {
    padding: 8.3333333333vw 0 34.375vw;
    background-image: url(../img/trailer_foot_sp.svg);
    background-size: 100%;
  }
  .ft__past {
    margin-bottom: 2.0833333333vw;
    font-size: 6.25vw;
  }
  .ft__pastList {
    margin-bottom: 14.5833333333vw;
    column-gap: 2.0833333333vw;
  }
  .ft__pastList a {
    width: 40.625vw;
    font-size: 3.9583333333vw;
    line-height: 8.3333333333vw;
  }
  .ft__sns {
    margin: 12.5vw 0 3.125vw;
    font-size: 4.1666666667vw;
  }
  .ft__snsList li {
    width: 14.7916666667vw;
    margin: 0 3.9583333333vw;
  }
  .ft__snsList li img {
    width: 100%;
  }
}
@media screen and (min-width: 1921px){
  .fam-contents {
    background-size: 100%;
  }
  .fv__logo {
    width: 25.2604166667%;
    margin: 4.4270833333% auto 2.6041666667%;
  }
  .fv__logo img {
    width: 100%;
  }
  .ft {
    background-size: 100%;
  }
}