@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes zoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
@keyframes mvscrollBar {
  0% {
    transform: translateY(0%);
    opacity: 1;
  }
  23% {
    transform: translateY(100%);
    opacity: 1;
  }
  24% {
    transform: translateY(100%);
    opacity: 0;
  }
  25% {
    transform: translateY(-100%);
    opacity: 0;
  }
  26% {
    transform: translateY(-100%);
    opacity: 1;
  }
  50% {
    transform: translateY(0%);
    opacity: 1;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 99999;
}
#loading div {
  color: #48AA31;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
#loading div figure {
  width: 5vw;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  #loading div figure {
    width: 20vw;
  }
}
#loading div figure img {
  width: 100px;
  display: block;
}
#loading div figure img:nth-of-type(1) {
  position: absolute;
  left: 0;
  top: 0;
  animation: loading 3s linear infinite;
}
@keyframes loading {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
#loading div p {
  padding-top: 0.5em;
  margin: 0;
  text-align: center;
}

#movie {
  width: 100%;
  position: relative;
  text-align: center;
  overflow: hidden;
  height: 100dvh;
  position: fixed;
  top: 0;
}
#movie::before {
  content: "";
  display: block;
  background: #000;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  z-index: 1;
}
#movie #videoCont {
  height: 100%;
}
#movie #videoCont video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: none;
}
#movie .award {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #movie .award {
    width: 90%;
  }
}
#movie .award img {
  display: block;
  margin: 0;
  padding: 0;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.5));
}
#movie .award a.btn {
  color: #fff;
  border: 1px solid #fff;
  display: inline-block;
  line-height: 60px;
  padding: 0 3em;
  text-decoration: none;
  background: transparent;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  #movie .award a.btn {
    margin-top: 2em;
    line-height: 40px;
    font-size: 12px;
  }
}
#movie p.scroll {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 38px;
  z-index: 1;
  margin: 0;
}
#movie p.scroll span {
  display: block;
  color: #fff;
  position: relative;
  bottom: 50px;
  font-size: 12px;
  letter-spacing: 0.1em;
  font-weight: bold;
}
#movie p.scroll i {
  display: block;
  width: 1px;
  height: 40px;
  position: absolute;
  left: 50%;
  bottom: 0;
  overflow: hidden;
}
#movie p.scroll i::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  animation: mvscrollBar 1.5s ease-in-out 0s infinite;
}

main {
  margin-top: 100dvh;
  position: relative;
  background: rgba(255, 255, 255, 0.75);
  backdrop-filter: blur(10px);
}

/*============================
#contantslist
============================*/
#contantslist .controls {
  padding-bottom: 30px;
}
#contantslist .controls fieldset.radio-group {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  border: none;
  padding: 0;
}
@media screen and (max-width: 767px) {
  #contantslist .controls fieldset.radio-group {
    gap: 10px;
  }
}
#contantslist .controls fieldset.radio-group .radio {
  position: relative;
  display: inline-block;
  text-align: center;
  padding: 0;
  flex: 1;
}
#contantslist .controls fieldset.radio-group .radio label.radio-label {
  cursor: pointer;
}
#contantslist .controls fieldset.radio-group .radio input {
  visibility: hidden;
  position: absolute;
}
#contantslist .controls fieldset.radio-group .radio input + span {
  display: block;
  padding: 1em;
  background: #48AA31;
  border-radius: 0.5em;
  color: #fff;
  font-size: 1.1em;
  font-weight: 700;
}
#contantslist .controls fieldset.radio-group .radio input + span::before, #contantslist .controls fieldset.radio-group .radio input + span::after {
  display: none;
}
#contantslist .controls fieldset.radio-group .radio input:checked + span {
  opacity: 0.5;
}
#contantslist .controls fieldset.radio-group p {
  flex: 0 0 100%;
  text-align: center;
  padding: 0 0 5px;
  margin: 0;
}
#contantslist .controls fieldset.radio-group p button {
  display: block;
  padding: 0.7em 2.5em;
  background: #FFBF00;
  border: none;
  margin: auto;
  border-radius: 0.5em;
  color: #fff;
  font-family: "M PLUS 1p", sans-serif !important;
  font-size: 16px;
  cursor: pointer;
  font-weight: 700;
}
#contantslist .controls fieldset.radio-group p button:hover {
  opacity: 0.5;
}
/*============================
#grid
============================*/
#grid {
  /*============================
  #mixitup
  ============================*/
}
@media screen and (max-width: 640px) {
  #grid #mixitup {
    margin-left: -15px;
  }
}
@media screen and (max-width: 640px) {
  #grid #mixitup .mix {
    padding-left: 15px;
  }
  #grid #mixitup .mix.uk-grid-margin {
    margin-top: 15px;
  }
}
#grid #mixitup .mix a {
  display: block;
}
#grid #mixitup .mix a figure {
  margin: 0;
  position: relative;
  border-radius: 1em;
  overflow: hidden;
}
#grid #mixitup .mix a figure::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
  position: absolute;
  left: 0;
  top: 0;
}
#grid #mixitup .mix a figure img {
  transition: 0.3s;
}
#grid #mixitup .mix a figure figcaption {
  display: block;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  font-family: "M PLUS 1p", sans-serif !important;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #fff;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 640px) {
  #grid #mixitup .mix a figure figcaption {
    font-size: 16px;
    padding: 0 0.5em;
  }
}
#grid #mixitup .mix a:hover {
  opacity: 1;
}
#grid #mixitup .mix a:hover img {
  transform: scale(1.1);
}

/*============================
#bn
============================*/
#bn .uk-container div div a {
  display: block;
  border-radius: 1em;
  border: 1px solid #ddd;
  overflow: hidden;
}
#bn .uk-container div div a figure {
  margin: 0;
  position: relative;
  border-radius: 1em;
  overflow: hidden;
}
#bn .uk-container div div a figure img {
  transition: 0.3s;
}
#bn .uk-container div div a figure figcaption {
  display: block;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  font-family: "M PLUS 1p", sans-serif !important;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 0.05em;
  color: #fff;
  text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 640px) {
  #bn .uk-container div div a figure figcaption {
    font-size: 16px;
  }
}
#bn .uk-container div div a:hover {
  opacity: 1;
}
#bn .uk-container div div a:hover img {
  transform: scale(1.1);
}
/*============================
#sns
============================*/
/*============================
#news
============================*/