@charset "utf-8";
/* CSS Document */

.bitter {
  font-family: "Bitter", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.road-rage {
  font-family: "Road Rage", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 3px;
}

.sp {
  display: none;
}

body {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
}

header {
  text-align: center;
}

header #main_logo {
  display: inline-block;
  margin: 40px 0;
}

main {
  width: auto;
  background: url("../img/white_leather.webp");
}

#main_visual {
  position: relative;
}

#main_visual #main_bg {
  width: 100%;
  height: 600px;
  overflow: hidden;
}

#main_visual #main_bg li {
  font-size: 0;
}

#main_visual #main_bg li img {
  width: 100%;
  height: 720px;
  object-fit: cover;
  object-position: bottom;
}

#main_visual .main_visual_inner {
  position: absolute;
  text-align: center;
  width: 990px;
  color: #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

#main_visual #main_visual_ttl {
  font-size: 64px;
  line-height: 1;
}

#main_visual #main_visual_ttl span {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 1rem;
  letter-spacing: 0;
}

#main_visual #main_visual_txt {
  margin-top: 50px;
  line-height: 2;
}

.cont_ttl {
  width: 100%;
  background-color: #000;
  text-align: center;
  color: #fff;
  padding: 40px 0;
  font-size: 40px;
  line-height: 35px;
}

.cont_ttl.road-rage {
  font-size: 64px;
  line-height: 50px;
}

.cont_ttl#cont2 {
  line-height: 50px;
}

.cont_ttl span {
  display: block;
  font-size: 30px;
}

.contents {
  padding: 40px 0;
}

.contents .cont_txt {
  text-align: center;
  margin-bottom: 40px;
}

.contents .cont_detail {
  padding: 40px 0;
  text-align: center;
  background-color: #fff;
  width: 1140px;
  margin: 0 auto;
}

.contents .cont_detail.gallery {
  padding: 40px 0;
  text-align: center;
  background: none;
}

.cont_detail_inner {
  margin-bottom: 80px;
}

.cont_detail_inner:last-of-type {
  margin-bottom: 0;
}

.cont_detail_inner .date {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.4;
  margin-top: 10px;
}

.cont_detail_inner .date span {
  font-size: 1rem;
  font-weight: normal;
  padding-left: 5px;
}

.cont_detail_inner .ttl {
  background-color: #000;
  padding: 10px 0;
  width: 280px;
  font-weight: bold;
  color: #fff;
  font-size: 20px;
  display: inline-block;
}

.cont_detail_inner .txt {
  margin-top: 30px;
}

.cont_detail_gallery {
  width: calc((1140px - 80px) / 5);
  margin: 0 20px 40px 0;
  float: left;
  font-size: 0;
}

.cont_detail_gallery:nth-of-type(5n) {
  margin-right: 0;
}

.cont_detail_gallery img {
  width: 100%;
}

.cont_detail_gallery .name {
  margin-top: 3px;
  font-size: 1rem;
  color: #000;
}

.cont_detail_gallery span {
  display: block;
  font-size: 0.8rem;
  line-height: 1.2;
}

footer {
  width: 100%;
  padding: 70px;
  background: url("../img/event_bg.png") no-repeat;
  background-size: cover;
  background-position: center;
}

.footer_inner {
  margin: 0 auto;
  text-align: center;
  width: 990px;
  color: #fff;
}

.footer_inner h3 {
  font-size: 2rem;
  margin-bottom: 50px;
}

.footer_inner .footer_txt {
  line-height: 2;
}

.footer_inner .footer_txt span {
  display: block;
  font-size: 0.8rem;
  margin-top: 30px;
}






/*タブレット*/
@media screen and (max-width: 1025px) {

  header #main_logo {
    width: 50%;
    margin: 40px auto;
  }

  header #main_logo img {
    width: 100%;
  }

  .contents .cont_detail {
    padding: 40px 0;
    width: 92%;
  }

  #main_visual .main_visual_inner {
    width: 90%;
  }

  .footer_inner {
    width: 90%;
  }

  .cont_detail_gallery {
    width: calc(94% / 3);
    margin: 0 3% 6% 0;
  }

  .cont_detail_gallery:nth-of-type(5n) {
    margin-right: 3%;
  }

  .cont_detail_gallery:nth-of-type(3n) {
    margin-right: 0;
  }

}

/*SP*/
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }

  header #main_logo {
    margin: 5% auto;
  }

  #main_visual #main_bg {
    min-height: 80vh;
  }

  #main_visual #main_bg li img {
    min-height: 100vh;
  }

  .cont_ttl {
    padding: 40px 5%;
  }

  .cont_detail_inner {
    padding: 0 5%;
    margin-bottom: 50px;
  }

  .cont_detail_inner .date {
    font-size: 26px;
  }

  .cont_detail_gallery {
    width: calc(97% / 2);
    margin: 0 3% 6% 0;
  }

  .cont_detail_gallery:nth-of-type(5n) {
    margin-right: 3%;
  }

  .cont_detail_gallery:nth-of-type(3n) {
    margin-right: 3%;
  }

  .cont_detail_gallery:nth-of-type(2n) {
    margin-right: 0;
  }

  .modal-wrapper {
    width: 80%;
  }

  .contents .cont_txt {
    padding: 0 5%;
  }

  footer {
    padding: 40px 0;
  }

  .footer_inner {
    width: 90%;
  }

  .footer_inner h3 {}

}