@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&family=Roboto:wght@300;400;500;700;900&display=swap");
@import url("https://db.onlinewebfonts.com/c/1757a2048a7fa980a32130f219c35fa6?family=P22KlaussKursiv");
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
select,
textarea,
p,
blockquote,
th,
td {
  padding: 0;
  margin: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
  border-style: none;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-weight: normal;
  font-style: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: 100%;
}

q:before, q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

input,
button,
textarea,
select,
option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}

*:focus {
  outline: none;
}

h1, h2, h3, h4, h5 {
  line-height: 1;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 2.25rem;
}

h3 {
  font-size: 1.75rem;
}

h4 {
  font-size: 1.625rem;
}

h5 {
  font-size: 1.25rem;
}

p {
  font-size: 1rem;
  line-height: 1.5;
}

li, a {
  font-size: 1rem;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

html {
  font-size: 16px;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}

body {
  font-family: "Roboto", "Noto Sans TC", "微軟正黑體", sans-serif;
  overflow-x: hidden;
  background-color: #303c76;
  background-image: url(../img/rule_bg.jpg);
  color: #1c1c1c;
}
body.scrollbarHidden {
  overflow-y: hidden;
}

footer {
  background-color: #1c1c1c;
}

main {
  overflow: hidden;
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}

.indexNav .menu {
  position: fixed;
  right: 0;
  top: 60px;
  z-index: 10;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.indexNav .menu__head {
  margin-bottom: 10px;
}
.indexNav .menu__head img {
  margin: 0 auto;
  display: block;
}
.indexNav .menu__head img:nth-child(1) {
  margin-bottom: 10px;
  margin-right: 32px;
  -webkit-animation: menuArrow 0.5 ease-in-out infinite;
          animation: menuArrow 0.5 ease-in-out infinite;
}
@-webkit-keyframes menuArrow {
  0%, 100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
}
@keyframes menuArrow {
  0%, 100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(-15px);
            transform: translateY(-15px);
  }
}
.indexNav .menu__head img:nth-child(2) {
  margin-bottom: 10px;
  margin-right: 25px;
}
.indexNav .menu ul {
  margin-bottom: 5px;
}
.indexNav .menu ul li {
  width: 160px;
  height: 50px;
  background-repeat: no-repeat;
  text-indent: -99999px;
  position: relative;
  right: -12px;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.indexNav .menu ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
.indexNav .menu ul li:hover {
  right: 0;
}
.indexNav .menu ul li:nth-child(1) {
  background-image: url(../img/menu_li01.png);
}
.indexNav .menu ul li:nth-child(2) {
  background-image: url(../img/menu_li02.png);
}
.indexNav .menu ul li:nth-child(3) {
  background-image: url(../img/menu_li03.png);
}
.indexNav .menu ul li:nth-child(4) {
  background-image: url(../img/menu_li04.png);
}
.indexNav .menu ul li:nth-child(5) {
  background-image: url(../img/menu_li05.png);
}
.indexNav .menu ul li:nth-child(6) {
  background-image: url(../img/menu_li06.png);
}
.indexNav .menu__links {
  text-align: center;
  position: relative;
  right: -12px;
}
.indexNav .menu__links a {
  display: inline-block;
  width: 45px;
  height: 45px;
  border-radius: 100%;
  text-indent: -99999px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  -webkit-box-shadow: 2px 2px 0 rgba(53, 56, 72, 0.4);
          box-shadow: 2px 2px 0 rgba(53, 56, 72, 0.4);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.indexNav .menu__links a:nth-child(1) {
  background-color: #4b51d4;
  background-image: url(../img/menu_icon_fb.png);
  margin-right: 5px;
}
.indexNav .menu__links a:nth-child(1):hover {
  background-color: #4148bd;
}
.indexNav .menu__links a:nth-child(2) {
  background-color: #468d7a;
  background-image: url(../img/menu_icon_baha.png);
}
.indexNav .menu__links a:nth-child(2):hover {
  background-color: #3c7e6c;
}

.kv {
  background-image: url(../img/kv_bg.jpg);
  background-position: center top;
  position: relative;
  height: 1200px;
}
.kv .logo {
  position: absolute;
  left: 30px;
  top: 30px;
  z-index: 1;
}
.kv__cha, .kv__slogan {
  position: relative;
}
.kv__bgdraw {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-image: url(../img/kv_draw.png);
  background-position: center top;
}
.kv__cha img {
  position: absolute;
}
.kv__cha01 {
  left: calc(50% - 720px);
  top: 271px;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation: cha 1.8s infinite ease-in-out;
          animation: cha 1.8s infinite ease-in-out;
}
.kv__cha02 {
  left: calc(50% - 378px);
  top: 186px;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-animation: cha 2s -1s infinite ease-in-out;
          animation: cha 2s -1s infinite ease-in-out;
}
@-webkit-keyframes cha {
  0%, 50%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25%, 75% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
@keyframes cha {
  0%, 50%, 100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25%, 75% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.kv__slogan > div {
  position: absolute;
  overflow: hidden;
  font-size: 0;
}
.kv__slogan > div img {
  position: relative;
  width: 100%;
}
.kv__slogan01 {
  right: calc(50% - 552px);
  top: 100px;
  background-image: url(../img/slogan_main_ani.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  -webkit-animation: slogan 1s 1s steps(7) forwards;
          animation: slogan 1s 1s steps(7) forwards;
  position: relative;
  text-align: center;
  margin: 0 auto;
}
.kv__slogan01 img {
  opacity: 0;
  max-width: 100%;
}
@-webkit-keyframes slogan {
  0% {
    background-position: 0 0;
  }
  90%, 100% {
    background-position: 100% 0;
  }
}
@keyframes slogan {
  0% {
    background-position: 0 0;
  }
  90%, 100% {
    background-position: 100% 0;
  }
}
.kv__slogan02 {
  right: calc(50% - 193px);
  top: 105px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: slogan02 1s ease-in-out both;
          animation: slogan02 1s ease-in-out both;
}
@-webkit-keyframes slogan02 {
  0% {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1;
  }
  33% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  46% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  59% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  72% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes slogan02 {
  0% {
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
    opacity: 0;
  }
  20% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    opacity: 1;
  }
  33% {
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  46% {
    -webkit-transform: rotate(-10deg);
            transform: rotate(-10deg);
  }
  59% {
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
  72% {
    -webkit-transform: rotate(-5deg);
            transform: rotate(-5deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
.kv__slogan03 {
  right: calc(50% - 714px);
  top: 232px;
  -webkit-animation: sloganPen 1s 1s ease-in-out both;
          animation: sloganPen 1s 1s ease-in-out both;
}
@-webkit-keyframes sloganPen {
  0% {
    opacity: 0;
    right: calc(50% - 390px);
    top: -42px;
  }
  12.5% {
    opacity: 1;
    right: calc(50% - 233px);
    top: 180px;
  }
  25% {
    right: calc(50% - 566px);
    top: -57px;
  }
  27.5% {
    right: calc(50% - 418px);
    top: 231px;
  }
  50% {
    right: calc(50% - 739px);
    top: 10px;
  }
  62.5% {
    right: calc(50% - 560px);
    top: 230px;
  }
  75% {
    right: calc(50% - 744px);
    top: 130px;
  }
  87.5% {
    right: calc(50% - 714px);
    top: 232px;
  }
  100% {
    right: calc(50% - 714px);
    top: 232px;
  }
}
@keyframes sloganPen {
  0% {
    opacity: 0;
    right: calc(50% - 390px);
    top: -42px;
  }
  12.5% {
    opacity: 1;
    right: calc(50% - 233px);
    top: 180px;
  }
  25% {
    right: calc(50% - 566px);
    top: -57px;
  }
  27.5% {
    right: calc(50% - 418px);
    top: 231px;
  }
  50% {
    right: calc(50% - 739px);
    top: 10px;
  }
  62.5% {
    right: calc(50% - 560px);
    top: 230px;
  }
  75% {
    right: calc(50% - 744px);
    top: 130px;
  }
  87.5% {
    right: calc(50% - 714px);
    top: 232px;
  }
  100% {
    right: calc(50% - 714px);
    top: 232px;
  }
}
.kv__slogan04 {
  right: calc(50% - 477px);
  top: 423px;
  -webkit-animation: slogan04 1s 2s ease-in-out both;
          animation: slogan04 1s 2s ease-in-out both;
}
@-webkit-keyframes slogan04 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes slogan04 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.kv__download {
  position: absolute;
  right: calc(50% - 505px);
  top: 502px;
}
.kv__download .song {
  display: inline-block;
  position: relative;
  vertical-align: top;
}
.kv__download .song audio {
  display: none;
}
.kv__download .song .sheet {
  cursor: pointer;
}
.kv__download .song .sheet img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.kv__download .song .sheet:hover img {
  -webkit-transform: rotate(5deg);
          transform: rotate(5deg);
  -webkit-animation: downloadSheet infinite 0.5s;
          animation: downloadSheet infinite 0.5s;
}
@-webkit-keyframes downloadSheet {
  0%, 100% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
  50% {
    -webkit-filter: brightness(1.08);
            filter: brightness(1.08);
  }
}
@keyframes downloadSheet {
  0%, 100% {
    -webkit-filter: brightness(1);
            filter: brightness(1);
  }
  50% {
    -webkit-filter: brightness(1.08);
            filter: brightness(1.08);
  }
}
.kv__download .song a {
  position: absolute;
  display: block;
  background-color: #9bd7cd;
  border: 1px solid #5db9aa;
  border-radius: 20px;
  padding: 3px 12px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.kv__download .song a:hover {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.kv__download .song .play {
  position: absolute;
  width: 28%;
  text-align: center;
}
@-webkit-keyframes playingBtn {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@keyframes playingBtn {
  0%, 100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.kv__download .song .play.playing {
  -webkit-animation: playingBtn infinite 1s ease-in-out;
          animation: playingBtn infinite 1s ease-in-out;
}
.kv__download .song .play img {
  width: 100%;
}
.kv__download .song .play .playbtn {
  display: none;
}
.kv__download .song .play .playbtn.active {
  display: block;
}
.kv__download .song01 {
  margin-right: 40px;
}
.kv__download .song01 a {
  left: 8px;
  bottom: -15px;
}
.kv__download .song01 .play {
  left: 66px;
  bottom: 50px;
}
.kv__download .song02 {
  margin-top: 20px;
}
.kv__download .song02 a {
  left: 8px;
  top: -15px;
}
.kv__download .song02 .play {
  left: 83px;
  bottom: 49px;
}

.eventTime {
  position: relative;
  background-image: url(../img/time_bg.png);
  background-position: center top;
  height: 814px;
  margin-top: -530px;
  text-align: center;
  padding-top: 365px;
  pointer-events: none;
}
.eventTime__bg {
  width: 100%;
  height: 100%;
  background-image: url(../img/bg_sheet.png);
  background-repeat: no-repeat;
  background-position: top 242px center;
  position: absolute;
  left: 0;
  top: 0;
}
.eventTime__bg img {
  position: absolute;
}
.eventTime__bg .note1 {
  bottom: 188px;
  left: calc(50% - 848px);
}
.eventTime__bg .note2 {
  bottom: 344px;
  right: calc(50% - 800px);
}
.eventTime__bg .m1 {
  top: 147px;
  right: calc(50% - 689px);
}
.eventTime__bg .m2 {
  bottom: 81px;
  left: calc(50% - 810px);
}
.eventTime__time {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 810px;
  margin: 0 auto;
}
.eventTime__time::before, .eventTime__time::after {
  content: "";
  position: absolute;
  background-image: url(../img/time_tie.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 149px;
  height: 45px;
}
.eventTime__time::before {
  bottom: -37px;
  left: 200px;
  -webkit-transform: rotate(-5deg);
          transform: rotate(-5deg);
}
.eventTime__time::after {
  bottom: -28px;
  right: 200px;
  -webkit-transform: rotate(7deg);
          transform: rotate(7deg);
}
.eventTime__time img {
  -webkit-filter: drop-shadow(-10px -7px 0 #73b9ad);
          filter: drop-shadow(-10px -7px 0 #73b9ad);
}
.eventTime__time img:nth-child(2) {
  margin-top: -70px;
}

.title {
  margin-bottom: 40px;
}
.title img {
  max-width: 100%;
}

.eventRule, .eventNotice {
  text-align: center;
}
.eventRule ul, .eventNotice ul {
  text-align: left;
  margin: 0 auto;
  width: 90%;
  max-width: 1000px;
  color: #f7f6f6;
  line-height: 2;
  list-style: url(../img/list_style.png);
  padding-left: 21px;
}

.eventRule {
  padding-bottom: 100px;
}

.eventNotice {
  padding-bottom: 300px;
  background-image: url(../img/footer_cha01.png), url(../img/footer_bg.png), url(../img/reward_bg.jpg);
  background-position: right 50px bottom 15px, right bottom, center top;
  background-repeat: no-repeat, no-repeat, repeat;
}
.eventNotice ul a {
  color: #ffd95d;
}

.eventBtns {
  padding-bottom: 100px;
}
.eventBtns__wrapper {
  margin: 0 auto;
  max-width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.eventBtns__wrapper .songsdownload {
  text-align: right;
  padding-right: 40px;
  margin-top: 10px;
}
.eventBtns__wrapper .songsdownload a {
  display: inline-block;
  background-color: #ffd95d;
  border: 3px solid #231f12;
  border-radius: 50px;
  padding: 3px 20px;
  font-weight: bold;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.eventBtns__wrapper .songsdownload a:hover {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.eventBtns__wrapper .btn__post .gopost {
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
}
.eventBtns__wrapper .btn__post .gopost:hover {
  -webkit-transform: rotate(-7deg);
          transform: rotate(-7deg);
}
.eventBtns__wrapper .btn__post .gopost::after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 30px;
  width: 51px;
  height: 52px;
  background-image: url(../img/eventbtns_draw01.png);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform-origin: right top;
          transform-origin: right top;
}
.eventBtns__wrapper .btn__vote {
  margin-top: 50px;
}
.eventBtns__wrapper .btn__vote a {
  position: relative;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.eventBtns__wrapper .btn__vote a:hover {
  -webkit-transform: rotate(7deg);
          transform: rotate(7deg);
}
.eventBtns__wrapper .btn__vote a::after {
  content: "";
  position: absolute;
  top: -17px;
  right: -1px;
  width: 63px;
  height: 64px;
  background-image: url(../img/eventbtns_draw02.png);
  -webkit-transition: 0.2s;
  transition: 0.2s;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.eventRewards {
  padding-bottom: 150px;
  background-image: url(../img/reward_bg.jpg);
  position: relative;
  text-align: center;
}
.eventRewards::before {
  content: "";
  position: absolute;
  background-image: url(../img/eventbtns_bg.png);
  width: 100%;
  height: 550px;
  top: -550px;
  left: 0;
  z-index: -1;
}
.eventRewards__wrapper {
  background-color: #ede9e3;
  background-image: linear-gradient(to bottom, #ede9e3 300px, transparent 50px), url(../img/reward_sheet.png);
  background-repeat: repeat-y;
  background-position: center top;
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  padding: 100px 100px 130px 100px;
}
.eventRewards__wrapper::before {
  content: "";
  position: absolute;
  background-image: url(../img/reward_tape.png);
  width: 212px;
  height: 156px;
  top: -70px;
  right: 60px;
}
.eventRewards__wrapper::after {
  content: "";
  position: absolute;
  opacity: 0.5;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1000px 0 0 70px;
  border-color: transparent transparent transparent #2d324e;
  right: -70px;
  bottom: -65px;
}
.eventRewards__wrapper div:has(.reward2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.eventRewards .monster {
  position: absolute;
}
.eventRewards .monster img {
  mix-blend-mode: darken;
  width: 100%;
}
.eventRewards .monster01 {
  width: 17%;
  left: 6%;
  top: 10%;
}
.eventRewards .monster02 {
  width: 19%;
  right: 2%;
  bottom: 3%;
}
.eventRewards__reward h2 {
  font-weight: bold;
  margin-bottom: 10px;
}
.eventRewards__reward h2 span {
  display: inline-block;
  width: 34px;
  height: 41px;
  vertical-align: sub;
  margin-right: 5px;
}
.eventRewards__reward > p {
  margin-bottom: 45px;
}
.eventRewards__reward.reward1 {
  margin-bottom: 80px;
}
.eventRewards__reward.reward1 h2 {
  color: #de5332;
}
.eventRewards__reward.reward1 h2 span {
  background-image: url(../img/reward_tag_red.png);
}
.eventRewards__reward.reward1 .rewardItems .item {
  position: relative;
}
.eventRewards__reward.reward1 .rewardItems .item h3 {
  border-radius: 40px;
  padding: 7px 25px;
  font-weight: 500;
  position: absolute;
  bottom: 100%;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.eventRewards__reward.reward1 .rewardItems .item img {
  margin-top: 18px;
  margin-bottom: 10px;
}
.eventRewards__reward.reward1 .rewardItems .item:nth-child(1) {
  background-color: #f6df72;
  background-image: url(../img/reward_icon_bg01.png);
}
.eventRewards__reward.reward1 .rewardItems .item:nth-child(1) h3 {
  background-color: #f7d432;
}
.eventRewards__reward.reward1 .rewardItems .item:nth-child(2) {
  background-color: #d4d4d4;
  background-image: url(../img/reward_icon_bg02.png);
}
.eventRewards__reward.reward1 .rewardItems .item:nth-child(2) h3 {
  background-color: #c0bebe;
}
.eventRewards__reward.reward1 .rewardItems .item:nth-child(3) {
  background-color: #f4c6b0;
  background-image: url(../img/reward_icon_bg03.png);
}
.eventRewards__reward.reward1 .rewardItems .item:nth-child(3) h3 {
  background-color: #f9a160;
}
.eventRewards__reward.reward2 h2 {
  color: #2da682;
}
.eventRewards__reward.reward2 h2 span {
  background-image: url(../img/reward_tag_green.png);
}
.eventRewards__reward.reward2 .rewardItems .item {
  background-image: url(../img/reward_icon_bg04.png);
}
.eventRewards__reward .rewardItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.eventRewards__reward .rewardItems .item {
  background-color: #fff;
  border-radius: 50px 30px 50px 30px;
  width: 230px;
  height: 250px;
  margin: 0 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80%;
}
.eventRewards__reward .rewardItems .item h5 {
  line-height: 1.2;
}
.eventRewards .paperroll {
  max-width: 1100px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: -36px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  position: relative;
  z-index: 1;
}
.eventRewards .paperroll::before {
  content: "";
  position: absolute;
  z-index: -1;
  opacity: 0.5;
  bottom: -31px;
  right: 0;
  width: 0;
  height: 50px;
  border-style: solid;
  border-width: 0 1050px 23px 0;
  border-color: transparent #2d324e transparent transparent;
}

.overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  overflow: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: 20;
  opacity: 0;
  pointer-events: none;
}
.overlay.show {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  opacity: 1;
  pointer-events: all;
}

.popupWindow {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 30;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  pointer-events: none;
}
.popupWindow.show {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.popupWindow .close {
  margin-bottom: 10px;
  cursor: pointer;
  pointer-events: all;
}
.popupWindow .content {
  background-color: #ede9e3;
  background-image: url(../img/popup_line.png), url(../img/popup_paper.png), url(../img/popup_bg.jpg);
  background-position: left top, center bottom, center top;
  background-repeat: no-repeat, no-repeat, repeat;
  width: 90%;
  max-width: 700px;
  max-height: 80vh;
  padding: 80px 50px;
  text-align: center;
  position: relative;
  pointer-events: all;
}
.popupWindow .content::before {
  content: "";
  position: absolute;
  background-image: url(../img/popup_poring.png);
  width: 159px;
  height: 125px;
  left: -80px;
  bottom: 25px;
}
.popupWindow .content::after {
  content: "";
  position: absolute;
  background-image: url(../img/popup_pen.png);
  width: 288px;
  height: 257px;
  right: -80px;
  bottom: 0;
}
.popupWindow .content h2 {
  font-weight: bold;
  color: #6e5440;
  margin-bottom: 40px;
  position: relative;
  display: inline-block;
  z-index: 1;
}
.popupWindow .content h2 span {
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translate(-50%, -25%);
          transform: translate(-50%, -25%);
  font-family: "P22KlaussKursiv";
  color: #ded9d1;
  z-index: -1;
  font-size: 4.375rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.popupWindow .content .login__icons h5 {
  color: #fff;
  padding-left: 40px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.popupWindow .content .login__icons > div {
  width: 220px;
  height: 60px;
  margin: 0 auto;
  border-radius: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.popupWindow .content .login__icons > div:hover {
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
.popupWindow .content .login__icons > div .icon {
  border-radius: 100%;
  width: 60px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
}
.popupWindow .content .login__icons > div .icon svg {
  width: 50px;
  height: 50px;
}
.popupWindow .content .login__icons > div:not(:last-child) {
  margin-bottom: 10px;
}
.popupWindow .content .login__icons > div:nth-child(1) {
  background-color: #7191d9;
}
.popupWindow .content .login__icons > div:nth-child(1) .icon {
  background-color: #547bd4;
}
.popupWindow .content .login__icons > div:nth-child(2) {
  background-color: #f57988;
}
.popupWindow .content .login__icons > div:nth-child(2) .icon {
  background-color: #e96070;
}
.popupWindow .content .login__icons > div:nth-child(3) {
  background-color: #565656;
}
.popupWindow .content .login__icons > div:nth-child(3) .icon {
  background-color: #333333;
}
.popupWindow .content .submit__inner {
  overflow-y: scroll;
  height: 50vh;
}
.popupWindow .content .submit__inner::-webkit-scrollbar {
  width: 5px;
}
.popupWindow .content .submit__inner::-webkit-scrollbar-thumb {
  background: #ddd7d0;
}
.popupWindow .content .submit__inner::-webkit-scrollbar-track {
  background: transparent;
}
.popupWindow .content .submit .account {
  margin-bottom: 30px;
}
.popupWindow .content .submit .account p {
  display: inline-block;
  border-radius: 20px;
  color: #6e5440;
  padding: 2px 10px;
}
.popupWindow .content .submit .account p:nth-child(1) {
  background-color: #dfdbd5;
  margin-right: 3px;
}
.popupWindow .content .submit .account p:nth-child(1) span {
  color: #ec405c;
}
.popupWindow .content .submit .account p:nth-child(2) {
  cursor: pointer;
  background-color: #efd7b2;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.popupWindow .content .submit .account p:nth-child(2):hover {
  background-color: #e0c9a5;
}
.popupWindow .content .submit .form .row {
  margin-bottom: 20px;
}
.popupWindow .content .submit .form label, .popupWindow .content .submit .form select, .popupWindow .content .submit .form input, .popupWindow .content .submit .form textarea, .popupWindow .content .submit .form .info {
  max-width: 500px;
  margin: 0 auto;
}
.popupWindow .content .submit .form label {
  display: block;
  text-align: left;
  padding-left: 25px;
  margin-bottom: 3px;
}
.popupWindow .content .submit .form select, .popupWindow .content .submit .form input, .popupWindow .content .submit .form .upload {
  width: 100%;
  border: none;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 40px;
  padding: 13px 25px;
}
.popupWindow .content .submit .form textarea {
  width: 100%;
  border: none;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  padding: 13px 25px;
}
.popupWindow .content .submit .form textarea::-webkit-scrollbar {
  width: 5px;
}
.popupWindow .content .submit .form textarea::-webkit-scrollbar-thumb {
  background: #ddd7d0;
}
.popupWindow .content .submit .form textarea::-webkit-scrollbar-track {
  background: transparent;
}
.popupWindow .content .submit .form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url(../img/select_arrow.png);
  background-repeat: no-repeat;
  background-position: right 20px center;
}
.popupWindow .content .submit .form .info {
  text-align: left;
  color: #ec405c;
  font-size: 0.875rem;
  padding-left: 25px;
  margin-top: 3px;
}
.popupWindow .content .submit .form input[type=file] {
  display: none;
}
.popupWindow .content .submit .form .upload {
  padding: 5px 25px 5px 5px;
}
.popupWindow .content .submit .form .upload p {
  background-color: #f6799b;
  color: #fff;
  border-radius: 40px;
  display: inline-block;
  padding: 0 20px;
  line-height: 35px;
  margin-right: 10px;
  cursor: pointer;
}
.popupWindow .content .submit .form .upload span {
  color: #a7a7a7;
}
.popupWindow .content .submit .form input[type=checkbox] {
  display: none;
}
.popupWindow .content .submit .form input[type=checkbox] ~ label {
  width: auto;
  display: inline-block;
  vertical-align: top;
  text-indent: -23px;
  padding-left: 46px;
  cursor: pointer;
}
.popupWindow .content .submit .form input[type=checkbox] ~ label span {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid #efb8b8;
  border-radius: 3px;
  overflow: hidden;
  vertical-align: text-top;
  margin-right: 5px;
  background-position: center center;
}
.popupWindow .content .submit .form input[type=checkbox]:checked ~ label span {
  background-image: url(../img/checkbox--checked.png);
}
.popupWindow .content .submit .form input[type=submit] {
  background-color: #f6799b;
  font-size: 1.5rem;
  font-weight: bold;
  color: #f7f6f6;
  line-height: 1;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  cursor: pointer;
  margin-bottom: 30px;
}
.popupWindow .content .submit .form input[type=submit]:hover {
  background-color: #e26b8a;
}
.popupWindow .content .submit .tips {
  text-align: left;
  max-width: 500px;
  margin: 0 auto;
}
.popupWindow .content .submit .tips p {
  font-weight: bold;
  display: inline-block;
  position: relative;
  z-index: 1;
  margin-bottom: 10px;
}
.popupWindow .content .submit .tips p::before {
  content: "";
  width: calc(100% + 10px);
  height: 9px;
  position: absolute;
  border-radius: 5px;
  background-color: #f6799b;
  bottom: 2px;
  left: -5px;
  z-index: -1;
}
.popupWindow .content .submit .tips ul {
  counter-reset: tips;
}
.popupWindow .content .submit .tips ul li {
  counter-increment: tips;
}
.popupWindow .content .submit .tips ul li::before {
  content: counter(tips) ". ";
}

@media only screen and (max-width: 1366px) {
  .kv {
    background-size: cover;
    height: 75vw;
  }
  .kv .logo {
    width: 15%;
    left: 2%;
    top: 3%;
  }
  .kv .logo img {
    width: 100%;
  }
  .kv__bgdraw {
    background-size: 114%;
    background-position: center top;
  }
  .kv__cha01 {
    width: 26%;
    top: 0;
    left: 5%;
    padding-top: 18%;
  }
  .kv__cha02 {
    width: 26%;
    left: 23%;
    top: 0;
    padding-top: 12%;
  }
  .kv__slogan {
    top: -2%;
  }
  .kv__slogan01 {
    background-size: auto 100%;
    width: 36%;
    top: 0;
    right: 11%;
    margin-top: 7%;
  }
  .kv__slogan02 {
    width: 11%;
    right: 35%;
    top: 0;
    margin-top: 7%;
  }
  .kv__slogan03 {
    width: 14%;
    top: 0;
    right: 0.5%;
    margin-top: 16%;
  }
  @-webkit-keyframes sloganPen {
    0% {
      opacity: 0;
      right: 23%;
      margin-top: -2%;
    }
    12.5% {
      opacity: 1;
      right: 32%;
      margin-top: 12%;
    }
    25% {
      right: 11%;
      margin-top: -3%;
    }
    27.5% {
      right: 19%;
      margin-top: 16%;
    }
    50% {
      right: -1%;
      margin-top: 2%;
    }
    62.5% {
      right: 9%;
      margin-top: 15%;
    }
    75% {
      right: -1%;
      margin-top: 10%;
    }
    87.5% {
      right: 0.5%;
      margin-top: 16%;
    }
    100% {
      right: 0.5%;
      margin-top: 16%;
    }
  }
  @keyframes sloganPen {
    0% {
      opacity: 0;
      right: 23%;
      margin-top: -2%;
    }
    12.5% {
      opacity: 1;
      right: 32%;
      margin-top: 12%;
    }
    25% {
      right: 11%;
      margin-top: -3%;
    }
    27.5% {
      right: 19%;
      margin-top: 16%;
    }
    50% {
      right: -1%;
      margin-top: 2%;
    }
    62.5% {
      right: 9%;
      margin-top: 15%;
    }
    75% {
      right: -1%;
      margin-top: 10%;
    }
    87.5% {
      right: 0.5%;
      margin-top: 16%;
    }
    100% {
      right: 0.5%;
      margin-top: 16%;
    }
  }
  .kv__slogan04 {
    width: 30%;
    right: 15%;
    top: 0;
    margin-top: 29%;
  }
  .kv__download {
    top: 44%;
    right: 14%;
    width: 31%;
    font-size: 0;
  }
  .kv__download .song {
    width: 47%;
  }
  .kv__download .song .sheet img {
    width: 100%;
  }
  .kv__download .song .play {
    width: 30%;
    height: 26%;
  }
  .kv__download .song a {
    font-size: 1.5vw;
    padding: 0 7%;
  }
  .kv__download .song01 {
    margin-right: 6%;
    margin-top: 3%;
  }
  .kv__download .song01 .play {
    left: 31%;
    bottom: 19%;
  }
  .kv__download .song02 {
    margin-top: 0;
  }
  .kv__download .song02 .play {
    left: 40%;
    bottom: 21%;
  }
  .eventTime {
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;
    height: 50vw;
    margin-top: -28%;
    padding-top: 25%;
  }
  .eventTime__bg {
    background-size: 140%;
    background-position: top 73% center;
  }
  .eventTime__bg .note1 {
    width: 13%;
    bottom: 30%;
    left: 2%;
  }
  .eventTime__bg .note2 {
    bottom: 34%;
    right: 3%;
    width: 14%;
  }
  .eventTime__bg .m1 {
    width: 20%;
    top: 15%;
    right: 3%;
  }
  .eventTime__bg .m2 {
    width: 20%;
    bottom: 11%;
    left: -2%;
  }
  .eventTime__time {
    width: 60%;
    max-width: 765px;
  }
  .eventTime__time::before, .eventTime__time::after {
    width: 18%;
    height: 18%;
  }
  .eventTime__time::before {
    bottom: -10%;
    left: 26%;
  }
  .eventTime__time::after {
    bottom: -11%;
    right: 26%;
  }
  .eventTime__time img {
    width: 30%;
    -webkit-filter: drop-shadow(-0.7vw -0.7vw 0 #73b9ad);
            filter: drop-shadow(-0.7vw -0.7vw 0 #73b9ad);
  }
  .eventTime__time img:nth-child(2) {
    margin-top: -10%;
  }
}
@media only screen and (max-width: 1280px) {
  .eventRule {
    padding-bottom: 6%;
  }
  .eventBtns img {
    width: 100%;
  }
  .eventBtns__wrapper {
    width: 90%;
  }
  .eventBtns__wrapper .btn {
    width: 30%;
  }
  .eventBtns__wrapper .btn__vote a::after {
    width: 18%;
    height: 56%;
    background-size: contain;
    background-repeat: no-repeat;
    top: -14%;
    right: -1%;
  }
  .eventBtns__wrapper .btn__post .gopost::after {
    background-size: contain;
    background-repeat: no-repeat;
    width: 15%;
    height: 48%;
    bottom: -12%;
    left: 10%;
  }
  .eventBtns__wrapper .ctimg {
    width: 40%;
  }
  .eventRewards {
    padding-bottom: 10%;
  }
  .eventRewards__wrapper {
    width: 90%;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(14%, #ede9e3), color-stop(14%, transparent)), url(../img/reward_sheet.png);
    background-image: linear-gradient(to bottom, #ede9e3 14%, transparent 14%), url(../img/reward_sheet.png);
    background-size: 90%;
  }
  .eventRewards__wrapper::after {
    display: none;
  }
  .eventRewards__reward .rewardItems .item {
    margin: 0 15px;
  }
  .eventRewards .paperroll {
    width: 90%;
    margin-top: -3%;
  }
  .eventRewards .paperroll::before {
    display: none;
  }
  .eventRewards .paperroll img {
    width: 104%;
  }
  .eventNotice {
    background-position: right -6% bottom 15px, right bottom, center top;
    background-size: 30%, 80%, contain;
  }
}
@media only screen and (max-width: 1024px) {
  html {
    font-size: 14px;
  }
  .title {
    margin-bottom: 6%;
  }
  .indexNav .menu__head {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right;
  }
  .indexNav .menu ul {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
  .indexNav .menu__links {
    -webkit-transform: scale(0.9) translateY(-54%);
            transform: scale(0.9) translateY(-54%);
    -webkit-transform-origin: right top;
            transform-origin: right top;
  }
  .eventBtns {
    padding-bottom: 6%;
  }
  .eventBtns__wrapper .songsdownload a {
    border: 2px solid #231f12;
  }
  .eventRewards::before {
    background-size: contain;
    background-repeat: no-repeat;
    height: 29vw;
    top: -27vw;
  }
  .eventRewards__wrapper {
    padding: 8% 5% 10% 5%;
  }
  .eventRewards__wrapper::before {
    background-repeat: no-repeat;
    background-size: contain;
    width: 22%;
    height: 8%;
    top: -7vw;
    right: 5%;
  }
  .eventRewards__reward .rewardItems {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
  .eventRewards__reward .rewardItems .item {
    margin: 0 1%;
  }
  .eventRewards__reward.reward2 {
    margin: 0 2%;
  }
  .eventNotice {
    padding-bottom: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .indexNav {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 5;
  }
  .indexNav .menu {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    position: relative;
    top: 0;
  }
  .indexNav .menu__head {
    display: none;
  }
  .indexNav .menu__ham {
    position: absolute;
    right: 15px;
    top: 15px;
  }
  .indexNav .menu__ham span {
    display: block;
    width: 46px;
    height: 5px;
    background-color: #ffd95d;
    border-radius: 3px;
  }
  .indexNav .menu__ham span:nth-child(1) {
    margin-bottom: 7px;
  }
  .indexNav .menu ul, .indexNav .menu__links {
    -webkit-transform: none;
            transform: none;
  }
  .indexNav .menu ul {
    position: relative;
    top: 70px;
  }
  .indexNav .menu ul li {
    width: 100%;
    height: auto;
    margin: 0 auto;
    background-image: none !important;
    text-indent: 0;
    color: #f7f6f6;
    font-size: 26px;
    text-align: center;
    right: 0;
    line-height: 200%;
  }
  .indexNav .menu ul li a {
    font-size: 26px;
  }
  .title {
    width: 70%;
    margin: 0 auto 3%;
  }
  .kv {
    background-image: url(../img/kv_bg_m.jpg);
    height: 108vw;
  }
  .kv.votekv {
    height: 90vw;
  }
  .kv.votekv .kv__cha02 {
    width: 35%;
    padding-top: 21%;
  }
  .kv.votekv .kv__slogan {
    top: 3%;
  }
  .kv .logo {
    width: 26%;
    left: 3%;
    top: 2.2%;
  }
  .kv__bgdraw {
    display: none;
  }
  .kv__slogan {
    width: 139%;
    top: 0;
    left: -31%;
  }
  .kv__cha01 {
    display: none;
  }
  .kv__cha02 {
    width: 38%;
    left: 4%;
    padding-top: 24%;
  }
  .kv__download {
    top: 45%;
    right: 6%;
    width: 48%;
  }
  .kv__download .song a {
    font-size: 2vw;
  }
  .kv__download .song01 a {
    bottom: -7%;
    left: 3%;
  }
  .kv__download .song02 a {
    top: -8%;
    left: 5%;
  }
  .eventTime {
    margin-bottom: 11%;
    background-size: 150%;
    height: 64vw;
    margin-top: -34%;
    padding-top: 35%;
  }
  .eventTime__bg .note1, .eventTime__bg .note2, .eventTime__bg .m2 {
    display: none;
  }
  .eventTime__bg .m1 {
    z-index: 1;
    width: 29%;
    top: 28%;
    right: -3%;
  }
  .eventTime__time {
    width: 84%;
  }
  .eventTime__time img {
    width: 31%;
    -webkit-filter: drop-shadow(-0.6vw -0.6vw 0 #73b9ad);
            filter: drop-shadow(-0.6vw -0.6vw 0 #73b9ad);
  }
  .eventRule {
    padding-bottom: 8%;
  }
  .eventBtns {
    padding-bottom: 11%;
  }
  .eventBtns__wrapper {
    position: relative;
  }
  .eventBtns__wrapper .btn {
    position: absolute;
  }
  .eventBtns__wrapper .btn__post {
    left: 0;
    top: 0;
  }
  .eventBtns__wrapper .btn__vote {
    right: 0;
    bottom: 0;
  }
  .eventBtns__wrapper .ctimg {
    width: 60%;
  }
  .eventRewards .title {
    margin-bottom: 8%;
  }
  .eventRewards h2 {
    font-size: 2rem;
  }
  .eventRewards h2 span {
    background-repeat: no-repeat;
    background-size: contain;
    width: 26px;
    height: 31px;
  }
  .eventRewards h3 {
    font-size: 1.3rem;
  }
  .eventRewards h5 {
    font-size: 1.1rem;
  }
  .eventRewards .monster01 {
    top: 8%;
  }
  .eventRewards .monster02 {
    display: none;
  }
  .eventRewards__reward .rewardItems .item {
    height: auto;
    padding: 30px 5px 20px;
    border-radius: 30px 15px 30px 15px;
  }
  .eventRewards__reward .rewardItems .item img {
    margin-top: 0;
    width: 80%;
  }
  .popupWindow .close img {
    width: 10vw;
  }
  .popupWindow .content {
    background-size: 27%, auto, auto;
    padding: 10vh 4%;
  }
  .popupWindow .content::before, .popupWindow .content::after {
    background-repeat: no-repeat;
    background-size: contain;
  }
  .popupWindow .content::before {
    width: 21%;
    height: 15vw;
    left: -8%;
    bottom: 4%;
  }
  .popupWindow .content::after {
    width: 35%;
    height: 28vw;
    right: -12%;
  }
}
@media only screen and (max-width: 580px) {
  .eventBtns__wrapper {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .eventBtns__wrapper .btn {
    position: relative;
    width: 44%;
    margin: 0 1%;
  }
  .eventBtns__wrapper .btn__post img, .eventBtns__wrapper .btn__vote img {
    display: none;
  }
  .eventBtns__wrapper .btn__post .gopost, .eventBtns__wrapper .btn__vote a {
    font-size: 0;
    border: 2px solid #231f12;
    border-radius: 50px;
    background-color: #ff89ad;
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-box-shadow: 2px 2px 0 #f4acc7 inset;
            box-shadow: 2px 2px 0 #f4acc7 inset;
    padding-top: 31%;
  }
  .eventBtns__wrapper .btn__post {
    top: auto;
    bottom: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .eventBtns__wrapper .btn__post .gopost {
    background-image: url(../img/eventbtns_btn01_bg.jpg);
  }
  .eventBtns__wrapper .btn .songsdownload {
    margin-top: 3px;
    padding-right: 8%;
  }
  .eventBtns__wrapper .btn__vote {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 0;
  }
  .eventBtns__wrapper .btn__vote a {
    background-image: url(../img/eventbtns_btn02_bg.jpg);
  }
  .eventBtns__wrapper .ctimg {
    width: 74%;
    margin-bottom: 3%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .eventRewards__wrapper {
    padding: 8% 5% 20% 5%;
  }
  .eventRewards__wrapper div:has(.reward2) {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .eventRewards .monster01 {
    display: none;
  }
  .eventRewards__reward .rewardItems {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .eventRewards__reward .rewardItems .item {
    width: 100%;
    max-width: 350px;
    padding: 3% 5% 5%;
  }
  .eventRewards__reward .rewardItems .item:not(:last-child) {
    margin-bottom: 10%;
  }
  .eventRewards__reward .rewardItems .item img {
    max-width: 160px;
  }
  .eventRewards__reward.reward1 {
    margin-bottom: 20%;
  }
  .eventRewards__reward.reward2 {
    width: 100%;
  }
  .eventRewards__reward.reward2:not(:last-child) {
    margin-bottom: 20%;
  }
  .eventRewards__reward.reward2 > p {
    margin-bottom: 15px;
  }
  .eventNotice {
    background-position: right -6% bottom -2%, right bottom, center top;
    background-size: 45%, 120%, contain;
  }
  .popupWindow .content::before {
    width: 30%;
    height: 21vw;
    left: -11%;
    bottom: -3%;
  }
  .popupWindow .content::after {
    width: 46%;
    height: 37vw;
  }
  .popupWindow .content h2 span {
    font-size: 3.5rem;
    -webkit-transform: translate(-50%, -40%);
            transform: translate(-50%, -40%);
  }
  .popupWindow .content .submit__inner {
    height: 46vh;
  }
  .popupWindow .content .submit .form .upload {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .popupWindow .content .submit .form .upload span {
    overflow: hidden;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .popupWindow .content .submit .form .info {
    padding-left: 10px;
  }
  .popupWindow .content .submit .form label {
    padding-left: 10px;
  }
  .popupWindow .content .submit .form select, .popupWindow .content .submit .form input {
    padding: 13px 15px;
  }
  .popupWindow .content .submit .form input[type=checkbox] ~ label {
    padding-left: 25px;
  }
  .popupWindow .content .submit .tips {
    text-align: center;
  }
}
.voteNav .menu {
  position: fixed;
  right: 0;
  top: 60px;
  z-index: 10;
}
.voteNav .menu__links {
  text-align: center;
  position: relative;
  right: 15px;
}
.voteNav .menu__links a {
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 100%;
  text-indent: -99999px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  -webkit-box-shadow: 2px 2px 0 rgba(53, 56, 72, 0.4);
          box-shadow: 2px 2px 0 rgba(53, 56, 72, 0.4);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.voteNav .menu__links a:nth-child(1) {
  background-color: #de6285;
  background-image: url(../img/menu_icon_home.png);
  margin-bottom: 5px;
}
.voteNav .menu__links a:nth-child(1):hover {
  background-color: #c75575;
}
.voteNav .menu__links a:nth-child(2) {
  background-color: #4b51d4;
  background-image: url(../img/menu_icon_fb.png);
  margin-bottom: 5px;
}
.voteNav .menu__links a:nth-child(2):hover {
  background-color: #4148bd;
}
.voteNav .menu__links a:nth-child(3) {
  background-color: #468d7a;
  background-image: url(../img/menu_icon_baha.png);
}
.voteNav .menu__links a:nth-child(3):hover {
  background-color: #3c7e6c;
}

.vote__top {
  position: relative;
  background-image: url(../img/vote_top_bg.png);
  background-repeat: no-repeat;
  background-position: center top;
  height: 814px;
  margin-top: -760px;
}
.vote__top__bg {
  width: 100%;
  height: 100%;
  background-image: url(../img/bg_sheet.png);
  background-repeat: no-repeat;
  background-position: top 220px center;
  position: absolute;
  left: 0;
  top: 0;
}
.vote__top__bg img {
  position: absolute;
}
.vote__top__bg .m1 {
  top: 147px;
  right: calc(50% - 689px);
}
.vote__top__bg .m2 {
  bottom: 81px;
  left: calc(50% - 810px);
}
.vote__main {
  position: relative;
  text-align: center;
  margin-top: -200px;
  padding-bottom: 300px;
  background-image: url(../img/footer_cha02.png), url(../img/footer_bg.png);
  background-position: right 30px bottom 15px, right bottom;
  background-repeat: no-repeat, no-repeat;
}
.vote__main .loginVote * {
  vertical-align: middle;
}
.vote__main .loginVote p {
  color: #f7f6f6;
  display: inline-block;
}
.vote__main .loginVote span {
  display: inline-block;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  margin-left: 10px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  cursor: pointer;
}
.vote__main .loginVote span.fb {
  background-color: #547bd4;
  background-image: url(../img/login_fb.png);
}
.vote__main .loginVote span.gl {
  background-color: #e96070;
  background-image: url(../img/login_google.png);
}
.vote__main .loginVote span.ap {
  background-color: #333333;
  background-image: url(../img/login_apple.png);
}
.vote__main .logoutVote {
  display: none;
}
.vote__main .logoutVote p {
  color: #f7f6f6;
  display: inline-block;
}
.vote__main .logoutVote span {
  color: #f6799b;
}
.vote__main .logoutVote .logout {
  background-color: #f6799b;
  border-radius: 20px;
  padding: 2px 14px;
  cursor: pointer;
  margin-left: 10px;
}
.vote__main .search {
  margin: 50px auto 30px;
  position: relative;
  width: 90%;
  max-width: 800px;
}
.vote__main .search input {
  width: 100%;
  border: solid 2px #f6799b;
  background-color: #ede9e3;
  border-radius: 40px;
  padding: 13px 25px;
}
.vote__main .search .icon {
  position: absolute;
  width: 36px;
  height: 36px;
  background-color: #f6799b;
  right: 7px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 100%;
  background-image: url(../img/searchicon.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 50%;
  cursor: pointer;
}
.vote__main .votelist .group, .vote__main .votelist .btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.vote__main .votelist .group1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 110px;
          flex: 0 0 110px;
}
.vote__main .votelist .group2 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.vote__main .votelist .btns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100px;
          flex: 0 0 100px;
}
.vote__main .votelist .item {
  position: relative;
  width: 90%;
  height: auto;
  max-width: 1000px;
  margin: 0 auto 12px;
  background-color: #ede9e3;
  background-image: url(../img/vote_list_bg_paper.png), url(../img/vote_list_bg_sheet.png);
  background-repeat: no-repeat, repeat-x;
  background-position: left top, center center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px;
}
.vote__main .votelist .item::before, .vote__main .votelist .item::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
.vote__main .votelist .item::before {
  border: 15px solid #36407d;
  border-top-color: transparent;
  border-left-color: transparent;
}
.vote__main .votelist .item::after {
  border: 15px solid #ffffff;
  border-bottom-color: transparent;
  border-right-color: transparent;
}
.vote__main .votelist .item .number {
  margin-right: 20px;
}
.vote__main .votelist .item .number h5 {
  color: #b9b3a9;
  font-weight: bold;
  font-style: italic;
}
.vote__main .votelist .item .playbtn {
  background-color: #6bc8b8;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  position: relative;
  z-index: 1;
  margin-right: 20px;
}
.vote__main .votelist .item .playbtn::before {
  content: "";
  width: calc(100% + 8px);
  height: calc(100% + 8px);
  position: absolute;
  border-radius: 100%;
  background-color: rgba(107, 200, 184, 0.5);
  top: -4px;
  left: -4px;
  z-index: -1;
}
@-webkit-keyframes voteListPlaying {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
}
@keyframes voteListPlaying {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
    opacity: 0;
  }
}
.vote__main .votelist .item .playbtn .play {
  width: 100%;
  height: 100%;
  background-color: #6bc8b8;
  border-radius: 100%;
  background-image: url(../img/vote_list_playbtn.png);
  background-size: 74%;
  background-position: center center;
  background-repeat: no-repeat;
  cursor: pointer;
}
.vote__main .votelist .item .playbtn .play.stop {
  background-image: url(../img/vote_list_pausebtn.png);
}
.vote__main .votelist .item .playbtn audio {
  display: none;
}
.vote__main .votelist .item .name {
  text-align: left;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  width: 250px;
  padding-right: 20px;
}
.vote__main .votelist .item .name__song {
  margin-bottom: 3px;
}
.vote__main .votelist .item .name__song h4 {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 120%;
}
.vote__main .votelist .item .name__author {
  color: #a79478;
}
.vote__main .votelist .item .name__author * {
  display: inline-block;
}
.vote__main .votelist .item .name__author span {
  color: #f7f6f6;
  background-color: #a79478;
  border-radius: 30px;
  padding: 0 10px;
  margin-right: 5px;
  font-size: 0.875rem;
}
.vote__main .votelist .item .showLyric {
  margin-right: 10px;
}
.vote__main .votelist .item .showLyric p {
  background-color: #a1d6cd;
  border-radius: 30px;
  padding: 7px 15px 4px;
  cursor: pointer;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.vote__main .votelist .item .showLyric p:hover {
  background-color: #84c2b8;
}
.vote__main .votelist .item .voteBtn, .vote__main .votelist .item .like {
  background-color: #f6799b;
  color: #fff;
  border-radius: 30px;
  padding: 7px 15px 4px;
  width: 100px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.vote__main .votelist .item .voteBtn span, .vote__main .votelist .item .like span {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(../img/vote_list_heart_white.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 5px;
}
.vote__main .votelist .item .voteBtn.voted, .vote__main .votelist .item .like.voted {
  background-color: #e2ddd5;
  color: #f6799b;
  cursor: auto;
}
.vote__main .votelist .item .voteBtn.voted span, .vote__main .votelist .item .like.voted span {
  background-image: url(../img/vote_list_heart_pink.png);
}
.vote__main .votelist .item .voteBtn.disable, .vote__main .votelist .item .like.disable {
  background-color: #e2ddd5;
  color: #c8c2b9;
  cursor: auto;
  pointer-events: none;
}
.vote__main .votelist .item .voteBtn.disable span, .vote__main .votelist .item .like.disable span {
  background-image: url(../img/vote_list_heart_gray.png);
}
.vote__main .votelist .item .like {
  cursor: auto;
}
.vote__main .votelist .item .count {
  position: absolute;
  right: 24px;
  top: 10px;
}
.vote__main .votelist .item .count p {
  font-size: 14px;
  color: #f6799b;
  font-weight: 500;
}
.vote__main .votelist .item .count p::before {
  content: "";
  width: 14px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/vote_list_heart_pink.png);
  display: inline-block;
  margin-right: 3px;
  margin-top: -1px;
  vertical-align: middle;
}
.vote__main .pagination {
  width: 90%;
  max-width: 1000px;
  margin: 30px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.vote__main .pagination ul {
  margin: 0 10px;
}
.vote__main .pagination li {
  display: inline-block;
  width: 34px;
  height: 34px;
  border-radius: 100%;
  background-color: #ede9e3;
  text-align: center;
  margin: 0 3px;
}
.vote__main .pagination li a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 34px;
  font-weight: 500;
}
.vote__main .pagination li.active {
  background-color: #fede74;
}
.vote__main .pagination .pre, .vote__main .pagination .next {
  width: 38px;
  height: 14px;
  background-image: url(../img/pagination_arrow.png);
  cursor: pointer;
}
.vote__main .pagination .next {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.ranking__main .ranking {
  width: 90%;
  max-width: 1000px;
  margin: auto;
}
.ranking__main .ranking .popular {
  background-image: url(../img/ranking_pink_bg02.png), url(../img/ranking_pink_bg01.jpg);
  background-repeat: no-repeat, repeat;
  background-position: top left, center top;
  background-size: auto, contain;
  padding: 20px;
  margin-bottom: 30px;
}
.ranking__main .ranking .popular ul li::before {
  border: 15px solid #ffa9b8;
}
.ranking__main .ranking .popular ul li hr {
  background-image: url(../img/ranking_line_pink.png);
}
.ranking__main .ranking .popular ul li .playbtn {
  background-color: #ffa9b8;
}
.ranking__main .ranking .official {
  background-image: url(../img/ranking_purple_bg02.png), url(../img/ranking_purple_bg01.jpg);
  background-repeat: no-repeat, repeat;
  background-position: top left, center top;
  background-size: auto, contain;
  padding: 20px;
}
.ranking__main .ranking .official ul li::before {
  border: 15px solid #b39cd4;
}
.ranking__main .ranking .official ul li hr {
  background-image: url(../img/ranking_line_purple.png);
}
.ranking__main .ranking .official ul li .playbtn {
  background-color: #b098d2;
}
.ranking__main .ranking h2 {
  margin-bottom: 10px;
}
.ranking__main .ranking h2 img {
  width: 50%;
  max-width: 276px;
}
.ranking__main .ranking ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.ranking__main .ranking ul li {
  position: relative;
  background-color: #fff;
  background-image: url(../img/ranking_note_bg_top.png), url(../img/ranking_note_bg.png);
  background-repeat: no-repeat, repeat-x;
  background-position: left top, center center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 30%;
          flex: 1 1 30%;
  padding: 20px 30px;
}
.ranking__main .ranking ul li::before, .ranking__main .ranking ul li::after {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  right: 0;
  bottom: 0;
}
.ranking__main .ranking ul li::before {
  border: 15px solid #ffa9b8;
  border-top-color: transparent;
  border-left-color: transparent;
}
.ranking__main .ranking ul li::after {
  border: 15px solid #ede9e3;
  border-bottom-color: transparent;
  border-right-color: transparent;
}
.ranking__main .ranking ul li h3 {
  font-size: 0;
}
.ranking__main .ranking ul li h3 img {
  width: 80%;
  max-width: 132px;
}
.ranking__main .ranking ul li hr {
  height: 11px;
  max-width: 205px;
  background-position: center center;
  background-repeat: no-repeat;
  border: none;
  margin-bottom: 20px;
}
.ranking__main .ranking ul li .songName {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 120%;
  margin-bottom: 5px;
}
.ranking__main .ranking ul li .authorName {
  color: #a79478;
  margin-bottom: 15px;
}
.ranking__main .ranking ul li .playbtn {
  display: inline-block;
  border-radius: 45px;
  padding: 5px 0;
  width: 90px;
  cursor: pointer;
  color: #fff;
}

.popupWindow.show .ytVideo iframe, .popupWindow.show .ytVideo object, .popupWindow.show .ytVideo embed {
  pointer-events: all;
}
.popupWindow .content .lyrics h2 {
  margin-bottom: 5px;
}
.popupWindow .content .lyrics h4 {
  font-size: 1.2rem;
  color: #a79478;
  margin-bottom: 40px;
}
.popupWindow .content .lyrics__inner {
  overflow-y: scroll;
  height: 50vh;
}
.popupWindow .content .lyrics__inner::-webkit-scrollbar {
  width: 5px;
}
.popupWindow .content .lyrics__inner::-webkit-scrollbar-thumb {
  background: #ddd7d0;
}
.popupWindow .content .lyrics__inner::-webkit-scrollbar-track {
  background: transparent;
}
.popupWindow .content .lyrics__inner p {
  margin-bottom: 10px;
}
.popupWindow .ytVideo {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px;
}
.popupWindow .ytVideo iframe, .popupWindow .ytVideo object, .popupWindow .ytVideo embed {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media only screen and (max-width: 1366px) {
  .vote__top {
    background-size: contain;
    height: 44vw;
    margin-top: -40vw;
  }
  .vote__top__bg {
    background-size: 140%;
    background-position: top 29% center;
  }
  .vote__top__bg .m1 {
    width: 20%;
    top: 30%;
    right: 11%;
  }
  .vote__top__bg .m2 {
    width: 20%;
    bottom: 10%;
    left: 8%;
  }
  .vote__main {
    margin-top: -12vw;
  }
}
@media only screen and (max-width: 1280px) {
  .vote__main {
    background-position: right -1% bottom 15px, right bottom;
    background-size: 30%, 80%;
  }
}
@media only screen and (max-width: 1024px) {
  .vote__main {
    padding-bottom: 30%;
  }
}
@media only screen and (max-width: 768px) {
  .voteNav .menu {
    top: auto;
    bottom: 10px;
  }
  .voteNav .menu__links {
    right: 6px;
  }
  .voteNav .menu__links a {
    width: 40px;
    height: 40px;
  }
  .ranking__main .ranking h2 img {
    width: 60%;
  }
  .ranking__main .ranking ul li {
    padding: 20px 2%;
  }
}
@media only screen and (max-width: 700px) {
  .vote__main .votelist .item {
    padding: 40px 20px 30px;
  }
  .vote__main .votelist .item .name {
    width: 100%;
    padding-right: 0;
  }
  .vote__main .votelist .item .btns {
    margin-top: 9px;
  }
  .vote__main .votelist .item .showLyric p {
    padding: 4px 15px 2px;
  }
  .vote__main .votelist .item .voteBtn, .vote__main .votelist .item .like {
    padding: 4px 15px 2px;
  }
}
@media only screen and (max-width: 580px) {
  .vote__top__bg .m2 {
    display: none;
  }
  .vote__main {
    background-position: right -4% bottom -1%, right bottom;
    background-size: 45%, 120%;
  }
  .vote__main .loginVote p {
    display: block;
  }
  .vote__main .loginVote p:nth-child(1) {
    margin-bottom: 5px;
  }
  .vote__main .loginVote span {
    width: 40px;
    height: 40px;
  }
  .vote__main .votelist .group1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    margin-right: 15px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .vote__main .votelist .item .number {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .vote__main .votelist .item .playbtn {
    width: 30px;
    height: 30px;
    margin-right: 0;
  }
  .vote__main .pagination li {
    width: 26px;
    height: 26px;
    margin: 0 0 6px 0;
  }
  .vote__main .pagination li a {
    line-height: 26px;
  }
  .ranking__main .ranking ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .ranking__main .ranking ul li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 20px 30px;
  }
}