.hero {
  padding: 120px 0;
  position: relative;
}

.hero .logo_kmf {
  width: 50%;
  margin: 0 auto;
}

.hero .logo_anx {
  width: 80%;
  margin: 60px auto 0;
}

.hero .date {
  width: 90%;
  margin: 50px auto 0;
}

.hero .official_x {
  width: 70%;
  margin: 100px auto 0;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}

@media only screen and (min-width: 961px) {
  .hero .official_x:hover {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}

.hero .deco_01 {
  position: absolute;
  top: 110px;
  left: 10%;
  width: 14%;
}

.hero .deco_02 {
  position: absolute;
  top: 60px;
  right: 12%;
  width: 14%;
}

.hero .deco_03 {
  position: absolute;
  top: 260px;
  left: 2%;
  width: 14%;
}

.hero .deco_04 {
  position: absolute;
  top: 240px;
  right: 4%;
  width: 14%;
}

.contents {
  position: relative;
  padding: 80px 5%;
}

.contents .title {
  font-family: var(--font-en);
  text-align: center;
  font-size: 3rem;
  margin-bottom: 10%;
}

@media only screen and (max-width: 750px) {
  .contents .title {
    font-size: 4.5rem;
  }
}

.contents .title p {
  position: relative;
  display: inline-block;
  line-height: 1em;
}

.contents .title p::before {
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  top: 5px;
  left: -50px;
}

.contents .title p::after {
  content: "";
  width: 40px;
  height: 40px;
  position: absolute;
  top: 5px;
  right: -50px;
}

.contents .deco_01 {
  position: absolute;
  top: -80px;
  right: 1%;
  width: 28%;
}

.contents .deco_02 {
  position: absolute;
  bottom: -70px;
  left: 1%;
  width: 22%;
}

.contents:nth-child(odd) {
  background: url(../img/common/bg_w.jpg) top center;
  -webkit-animation: bg 20s linear infinite;
          animation: bg 20s linear infinite;
}

@media only screen and (max-width: 750px) {
  .contents:nth-child(odd) {
    background-size: 80px;
  }
}

.contents.-goods .title {
  color: var(--color-blue);
}

.contents.-goods .title p::before {
  background: url(../img/common/ttl_deco_blue.png) no-repeat;
  background-size: contain;
}

.contents.-goods .title p::after {
  background: url(../img/common/ttl_deco_blue.png) no-repeat;
  background-size: contain;
}

.goods_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.goods_title li {
  width: 49%;
  margin-left: 2%;
  margin-top: 2%;
}

.goods_title li img {
  border: solid 1px #ccc;
}

.goods_title li:nth-child(2n+1) {
  margin-left: 0;
}

.goods_title li:nth-child(n+1):nth-child(-n+2) {
  margin-top: 0;
}

/***********************************/
.contents.-stage .title {
  color: var(--color-yellow);
}

.contents.-stage .title p::before {
  background: url(../img/common/ttl_deco_yellow.png) no-repeat;
  background-size: contain;
}

.contents.-stage .title p::after {
  background: url(../img/common/ttl_deco_yellow.png) no-repeat;
  background-size: contain;
}

.stage_day.day21 {
  margin-top: 15%;
}

.stage_item {
  margin-top: 10%;
}

.stage_item:first-child {
  margin-top: 5%;
}

.stage_item .stage_time {
  text-align: center;
  color: var(--color-white);
  font-family: var(--font-en);
  font-weight: 700;
  border-radius: 100px;
  padding: 10px 0;
}

@media only screen and (max-width: 750px) {
  .stage_item .stage_time {
    font-size: 2rem;
  }
}

.stage_item .stage_name {
  text-align: center;
  font-weight: 700;
  margin-top: 3%;
}

.stage_item .stage_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5%;
}

.stage_item .stage_title .stage_kv {
  width: 45%;
}

.stage_item .stage_title .stage_logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  margin-left: 5%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.stage_item .stage_text {
  margin-top: 5%;
  line-height: 1.5em;
}

@media only screen and (min-width: 751px) {
  .stage_item .stage_text {
    font-size: 1.3rem;
  }
}

.stage_item .stage_cast {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5%;
}

.stage_item .stage_cast dt {
  font-weight: 600;
  width: 20%;
}

.stage_item .stage_cast .cast_list {
  width: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.stage_item .stage_cast .cast_item {
  width: 23.5%;
  margin-left: 2%;
  margin-top: 3%;
  text-align: center;
}

@media only screen and (min-width: 751px) {
  .stage_item .stage_cast .cast_item {
    font-size: 1rem;
  }
}

.stage_item .stage_cast .cast_item:nth-child(4n+1) {
  margin-left: 0;
}

.stage_item .stage_cast .cast_item:nth-child(n+1):nth-child(-n+4) {
  margin-top: 0;
}

.stage_item .stage_cast .cast_img {
  margin-bottom: 8%;
}

.stage_list.day20 .stage_time {
  background: var(--color-red);
}

.stage_list.day20 .stage_cast dt {
  color: var(--color-red);
}

.stage_list.day21 .stage_time {
  background: var(--color-purple);
}

.stage_list.day21 .stage_cast dt {
  color: var(--color-purple);
}

/***********************************/
.contents.-lineup .title {
  color: var(--color-green);
}

.contents.-lineup .title p::before {
  background: url(../img/common/ttl_deco_green.png) no-repeat;
  background-size: contain;
}

.contents.-lineup .title p::after {
  background: url(../img/common/ttl_deco_green.png) no-repeat;
  background-size: contain;
}

.lineup_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.lineup_list li {
  width: 32%;
  margin-left: 2%;
  margin-top: 2%;
}

.lineup_list li:nth-child(3n+1) {
  margin-left: 0;
}

.lineup_list li:nth-child(n+1):nth-child(-n+3) {
  margin-top: 0;
}

/***********************************/
.contents.-info .title {
  color: var(--color-purple);
}

.contents.-info .title p::before {
  background: url(../img/common/ttl_deco_purple.png) no-repeat;
  background-size: contain;
}

.contents.-info .title p::after {
  background: url(../img/common/ttl_deco_purple.png) no-repeat;
  background-size: contain;
}

.info_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 600;
  margin-top: 6%;
}

@media only screen and (max-width: 750px) {
  .info_item {
    font-size: 2rem;
  }
}

.info_item dt {
  width: 40%;
  color: var(--color-purple);
  line-height: 1.5em;
}

.info_item dd {
  width: 60%;
  line-height: 1.5em;
}

.info_item a {
  color: var(--color-black);
}
/*# sourceMappingURL=kmf.top.css.map */