/* Diversity Ekiden 47 */
.tick {
  font-size: 1rem;
  white-space: nowrap;
  font-family: "din-2014", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-left: 1em;
}
@media only screen and (max-width: 960px) {
  .tick {
    margin-left: 8vw;
  }
}

.tick-flip,
.tick-text-inline {
  font-size: 4em;
}
@media only screen and (max-width: 960px) {
  .tick-flip,
  .tick-text-inline {
    font-size: 3em;
  }
}
@media only screen and (max-width: 640px) {
  .tick-flip,
  .tick-text-inline {
    font-size: 7.25vw;
  }
}

.tick-label {
  margin-top: 1em;
  font-size: 1em;
  color: rgb(255, 255, 255) !important;
}

.tick-char {
  width: 1.5em;
}

.tick-text-inline {
  display: inline-block;
  text-align: center;
  min-width: 1em;
  color: rgb(255, 255, 255) !important;
}
.tick-text-inline + .tick-text-inline {
  margin-left: -0.325em;
}

.tick-group {
  margin: 0 0.5em;
  text-align: center;
}

.tick-flip-panel {
  color: #000 !important;
  background-color: rgb(255, 255, 255) !important;
}

.tick-flip {
  font-family: "din-2014", sans-serif;
  font-weight: 700;
  font-style: normal;
  border-radius: 0.06em !important;
  min-width: 1em !important;
}

.tick-flip-panel-text-wrapper {
  line-height: 1.45 !important;
}

.tick-flip-panel-back:after {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.1) 1px, rgba(0, 0, 0, 0.05) 0, transparent 1%) !important;
}

.tick-flip-card,
.tick-flip-spacer {
  width: 1em !important;
}

.tick-flip-panel-back,
.tick-flip-panel-front {
  height: 50% !important;
  width: 1em !important;
}

/* Reset CSS */
p,
span,
pre,
div,
h1,
h2,
h3,
h4,
h5 {
  padding: 0;
  margin: 0;
}

ul,
ul > li,
ol,
ol > li {
  list-style: none;
  padding: 0;
  margin: 0;
}

a,
a > img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  will-change: opacity;
  color: #fff;
}
a:hover,
a > img:hover {
  opacity: 0.7;
}

a:link,
a:visited {
  text-decoration: none;
}

a:link:hover,
a[href]:hover {
  text-decoration: none;
  color: #fff;
}

a::-moz-selection {
  background-color: transparent;
}

a::selection {
  background-color: transparent;
}

img {
  display: block;
  will-change: opacity;
}

button {
  border: none;
  background-color: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  will-change: opacity;
  font-family: inherit;
  cursor: pointer;
}
button:hover {
  opacity: 0.7;
}

figure {
  margin: 0;
}

picture {
  display: block;
}

hr {
  position: relative;
  border: none;
  margin: 0;
  padding: 2em 0;
}
hr::before {
  content: "";
  -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='38.1' height='20.1' viewBox='0 0 38.1 20.1'%3E%3Cg%3E%3Cpolyline points='37.05 1.05 19.05 19.05 1.05 1.05' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.1'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='38.1' height='20.1' viewBox='0 0 38.1 20.1'%3E%3Cg%3E%3Cpolyline points='37.05 1.05 19.05 19.05 1.05 1.05' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.1'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  width: 36px;
  height: 18px;
  background-color: #b8171d;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
}

.bg hr::before {
  background-color: #fff;
}

html {
  background-color: #000;
}
@media only screen and (max-width: 640px) {
  html {
    overflow-x: hidden;
  }
}

body {
  position: relative;
  margin: auto;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #2d3233;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  max-width: 1280px;
  background-color: #fff;
}

/* Common Css Override */
/* Contents Css Override */
/* Base CSS Reset */
br.pc {
  display: block;
}
@media only screen and (max-width: 640px) {
  br.pc {
    display: none;
  }
}
br.sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  br.sp {
    display: block;
  }
}

/* Header Section */
header {
  height: 150px;
}
@media only screen and (max-width: 640px) {
  header {
    height: 70px;
  }
}
header a figure {
  margin: auto;
}
header a figure img {
  aspect-ratio: 362/138;
}
@media only screen and (max-width: 640px) {
  header a figure img {
    width: 40%;
    margin: auto;
  }
}

/* Main Section */
main section > h1, main section > h2, main section > h3, main section > p, main section > ul, main section > ol, main section > div {
  max-width: 850px !important;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 960px) {
  main section > h1, main section > h2, main section > h3, main section > p, main section > ul, main section > ol, main section > div {
    max-width: 90% !important;
  }
}
main section p {
  margin-top: 1em;
  line-height: 2;
}
@media only screen and (max-width: 640px) {
  main section p {
    font-size: 3.7647058824vw;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section p {
    font-size: 1.25rem;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section .scroll img {
  margin: auto;
}
main section.bg {
  background-color: #b8171d;
  color: #fff;
}
main section.bg h3 {
  color: #fff;
}
main section#catch {
  background-color: #000;
}
main section#catch .main_ph {
  background-color: #000;
}
main section#catch .main_ph .main_ph_text {
  display: inline-block;
  width: 74vw;
  height: 30vw;
  top: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
main section#catch .main_ph picture {
  aspect-ratio: 2560/1300;
}
@media only screen and (max-width: 640px) {
  main section#catch .main_ph picture {
    aspect-ratio: initial;
  }
}
main section#catch .main_ph picture img {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 640px) {
  main section#catch .main_ph picture img {
    width: 100vw;
  }
}
main section#main h1 picture {
  padding-top: 2em;
}
main section#main h1 picture img {
  margin: auto;
  aspect-ratio: 518/246;
  max-width: 518px;
}
main section#main .sub_ph {
  margin-top: 3em;
}
main section#main .sub_ph img {
  aspect-ratio: 510/917;
  width: 517px;
  margin: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
main section#about .main_tit picture img {
  margin: auto;
}
main section#about .about_01,
main section#about .about_02,
main section#about .about_03 {
  width: 510px;
  margin-top: 5em;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 640px) {
  main section#about .about_01,
  main section#about .about_02,
  main section#about .about_03 {
    width: 88vw;
  }
}
main section#about .about_01 picture img,
main section#about .about_02 picture img,
main section#about .about_03 picture img {
  margin: auto;
}
main section#about .about_01 h3,
main section#about .about_02 h3,
main section#about .about_03 h3 {
  margin-top: 1em;
  font-weight: 700;
}
@media only screen and (max-width: 640px) {
  main section#about .about_01 p,
  main section#about .about_02 p,
  main section#about .about_03 p {
    font-size: 3.3882352941vw;
    font-weight: 300;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#about .about_01 p,
  main section#about .about_02 p,
  main section#about .about_03 p {
    font-size: 1.125rem;
    font-weight: 300;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section#about .about_01 figcaption + picture,
main section#about .about_02 figcaption + picture,
main section#about .about_03 figcaption + picture {
  margin-top: 4em;
}
main section#goto_expo .main_tit picture img {
  margin: auto;
}
main section#goto_expo p {
  font-weight: 300;
}
@media only screen and (max-width: 640px) {
  main section#goto_expo p {
    font-size: 3.3882352941vw;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#goto_expo p {
    font-size: 1.125rem;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section#goto_expo .goto_expo_text {
  width: 510px;
}
@media only screen and (max-width: 640px) {
  main section#goto_expo .goto_expo_text {
    width: 88vw;
  }
}
main section#goto_expo .goto_expo_01,
main section#goto_expo .goto_expo_02,
main section#goto_expo .goto_expo_03 {
  width: 510px;
  margin-left: auto;
  margin-right: auto;
}
main section#goto_expo .goto_expo_01.title,
main section#goto_expo .goto_expo_02.title,
main section#goto_expo .goto_expo_03.title {
  margin-top: 2em;
}
@media only screen and (max-width: 640px) {
  main section#goto_expo .goto_expo_01.title img,
  main section#goto_expo .goto_expo_02.title img,
  main section#goto_expo .goto_expo_03.title img {
    width: 24vw;
  }
}
@media only screen and (max-width: 640px) {
  main section#goto_expo .goto_expo_01,
  main section#goto_expo .goto_expo_02,
  main section#goto_expo .goto_expo_03 {
    width: 88vw;
  }
}
main section#goto_expo .goto_expo_01 h3,
main section#goto_expo .goto_expo_02 h3,
main section#goto_expo .goto_expo_03 h3 {
  font-weight: 700;
  margin-top: 1em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 640px) {
  main section#goto_expo .goto_expo_01 h3,
  main section#goto_expo .goto_expo_02 h3,
  main section#goto_expo .goto_expo_03 h3 {
    font-size: 5.2705882353vw;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#goto_expo .goto_expo_01 h3,
  main section#goto_expo .goto_expo_02 h3,
  main section#goto_expo .goto_expo_03 h3 {
    font-size: 1.75rem;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section#goto_expo .goto_expo_01 img,
main section#goto_expo .goto_expo_02 img,
main section#goto_expo .goto_expo_03 img {
  margin: auto;
}
main section#guest .main_tit {
  margin-top: 2em;
}
main section#guest .main_tit picture img {
  margin: auto;
}
main section#guest ul {
  margin-top: 2em;
  margin-bottom: 2em;
}
main section#guest ul.cast_list li {
  margin-bottom: 2em;
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
}
@media only screen and (max-width: 640px) {
  main section#guest ul.cast_list li {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    text-align: center;
  }
}
main section#guest ul.cast_list li figcaption {
  margin-top: 0.25em;
}
@media only screen and (max-width: 640px) {
  main section#guest ul.cast_list li figcaption {
    font-size: 6.5882352941vw;
    font-weight: 500;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#guest ul.cast_list li figcaption {
    font-size: 2.1875rem;
    font-weight: 500;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section#guest ul.cast_list li figcaption small {
  display: block;
}
@media only screen and (max-width: 640px) {
  main section#guest ul.cast_list li figcaption small {
    font-size: 3.0117647059vw;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#guest ul.cast_list li figcaption small {
    font-size: 1rem;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section#guest .guest_ph {
  margin-top: 5em;
}
main section#guest .guest_ph picture img {
  margin: auto;
}
main section#contact .main_tit picture img {
  margin: auto;
  -webkit-transform: translateY(-30px);
          transform: translateY(-30px);
}
main section#contact .contact_01 {
  width: 510px;
  padding-bottom: 5em;
}
@media only screen and (max-width: 640px) {
  main section#contact .contact_01 {
    width: 88vw;
  }
}
main section#contact .contact_01 a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: #fff;
  border-radius: 4px;
  color: #b8171d;
  width: 100%;
  height: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.1em;
  aspect-ratio: 510/82;
  font-weight: 600;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1;
  -webkit-box-shadow: 0px 0px 16px 0px #b8171d;
          box-shadow: 0px 0px 16px 0px #b8171d;
}
@media only screen and (max-width: 640px) {
  main section#contact .contact_01 a {
    font-size: 6.7764705882vw;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#contact .contact_01 a {
    font-size: 2.25rem;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (max-width: 640px) {
  main section#contact .contact_01 a {
    aspect-ratio: 722/111;
  }
}
main section#contact .contact_01 a::after {
  content: "";
  -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='16' viewBox='0 0 11 16'%3E%3Cg%3E%3Cpolygon points='3.208 0 0 0 7.793 8 0 16 3.208 16 11 8 3.208 0' fill='%23b8171d' stroke-width='0'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='16' viewBox='0 0 11 16'%3E%3Cg%3E%3Cpolygon points='3.208 0 0 0 7.793 8 0 16 3.208 16 11 8 3.208 0' fill='%23b8171d' stroke-width='0'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  width: 11px;
  height: 16px;
  aspect-ratio: 11/16;
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #b8171d;
}
@media only screen and (max-width: 640px) {
  main section#contact .contact_01 a::after {
    width: 2vw;
    height: auto;
  }
}
main section#contact .contact_01 a.btn_top {
  margin-top: 1em;
  letter-spacing: 0em;
  background-color: #b8171d;
  border: 2px solid #fff;
  color: #fff;
}
@media only screen and (max-width: 640px) {
  main section#contact .contact_01 a.btn_top {
    font-size: 4.5176470588vw;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  main section#contact .contact_01 a.btn_top {
    font-size: 1.5rem;
    font-weight: 400;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
main section#contact .contact_01 a.btn_top::after {
  background-color: #fff;
}
main section#foot .expo_logo {
  padding: 2em 4em;
}
main section#foot .expo_logo .uk-svg {
  fill: inherit;
}

/* Footer Section */
footer {
  height: 110px;
  background-color: #b8171d;
  padding: 2em 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media only screen and (max-width: 640px) {
  footer {
    height: 80px;
    padding: 1em 0;
  }
}
footer nav li a {
  padding: 0 0.75em;
  line-height: 1;
  display: inline-block;
}
@media only screen and (max-width: 640px) {
  footer nav li a {
    font-size: 3.2vw;
    font-weight: 500;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  footer nav li a {
    font-size: 1.0625rem;
    font-weight: 500;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
footer nav li:nth-child(n+2) a {
  border-left: 1px solid #fff;
}
footer .copyright {
  color: #fff;
}
@media only screen and (max-width: 640px) {
  footer .copyright {
    font-size: 2.4470588235vw;
    font-weight: 500;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}
@media only screen and (min-width: 640px) {
  footer .copyright {
    font-size: 0.8125rem;
    font-weight: 500;
    font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  }
}/*# sourceMappingURL=style.css.map */