@-webkit-keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes bg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 800px -800px;
  }
}

@keyframes bg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 800px -800px;
  }
}

/*******************************************************************/
@media only screen and (min-width: 961px) {
  .is-sp {
    display: none;
  }
  .is-pc {
    display: block;
  }
}

@media only screen and (max-width: 960px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}

body {
  position: relative;
  font-family: YakuHanRP, "M PLUS Rounded 1c", sans-serif;
  background: #fff;
  z-index: -1;
  font-weight: 500;
}

@media only screen and (max-width: 960px) {
  body {
    font-size: 13px;
  }
}

@media only screen and (min-width: 961px) {
  body {
    min-width: 1240px;
  }
}

/*******************************************************************/
body {
  opacity: 0;
  -webkit-animation: opacity 1s cubic-bezier(0.5, 1, 0.89, 1) 0.2s forwards;
          animation: opacity 1s cubic-bezier(0.5, 1, 0.89, 1) 0.2s forwards;
}

.wrapper {
  position: relative;
  background-attachment: fixed;
  z-index: 1;
  background: url(../img/bg.jpg);
  background-attachment: fixed;
  background-size: 60px;
  -webkit-animation: bg 25s linear infinite;
          animation: bg 25s linear infinite;
  z-index: 1;
  overflow: hidden;
}

@media only screen and (max-width: 960px) {
  .wrapper {
    -webkit-animation: bg 35s linear infinite;
            animation: bg 35s linear infinite;
  }
}

.wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 26px;
  background: url(../img/top_deco1.png) repeat-x top center;
  background-size: contain;
}

@media only screen and (max-width: 960px) {
  .wrapper::before {
    height: 15px;
  }
}

.wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -20px);
          transform: translate(-50%, -20px);
  opacity: 0;
  width: 340px;
  height: 60px;
  background: url(../img/top_deco2.png) no-repeat;
  background-size: contain;
}

@media only screen and (max-width: 960px) {
  .wrapper::after {
    width: 32%;
  }
}

@media only screen and (max-width: 960px) {
  .wrapper {
    background-size: 50px;
  }
}

.is-load .wrapper::after {
  opacity: 1;
  -webkit-transform: translate(-50%, 0px);
          transform: translate(-50%, 0px);
  -webkit-transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
}

.bg_deco::before {
  content: "";
  opacity: 0;
  -webkit-transform: translateX(-20px);
          transform: translateX(-20px);
  position: absolute;
  top: 0;
  left: 0;
  width: 322px;
  height: 684px;
  background: url(../img/top_deco3.png) no-repeat;
  background-size: contain;
  z-index: 1;
}

@media only screen and (max-width: 960px) {
  .bg_deco::before {
    width: 30%;
  }
}

.bg_deco::after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 322px;
  height: 684px;
  background: url(../img/top_deco3.png) no-repeat;
  background-size: contain;
  -webkit-transform: translateX(20px) scale(-1, 1);
          transform: translateX(20px) scale(-1, 1);
  z-index: 1;
}

@media only screen and (max-width: 960px) {
  .bg_deco::after {
    width: 30%;
  }
}

.is-load .bg_deco::before {
  opacity: 1;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
  -webkit-transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
}

.is-load .bg_deco::after {
  opacity: 1;
  -webkit-transform: translateX(0px) scale(-1, 1);
          transform: translateX(0px) scale(-1, 1);
  -webkit-transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 0.5s;
}

.hero {
  position: relative;
  width: 900px;
  margin: 0 auto;
  padding-top: 390px;
  opacity: 0;
}

@media only screen and (max-width: 960px) {
  .hero {
    width: 100%;
    padding-top: 0;
  }
}

.hero .title {
  position: absolute;
}

@media only screen and (min-width: 961px) {
  .hero .title {
    width: 640px;
    top: 130px;
    left: 15px;
    z-index: 1;
  }
}

@media only screen and (max-width: 960px) {
  .hero .title {
    width: 96%;
    top: 36%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1;
  }
}

@media only screen and (min-width: 961px) {
  .hero .chara_01 {
    width: 370px;
    position: absolute;
    top: 80px;
    right: -20px;
    -webkit-transform: rotate(5deg);
            transform: rotate(5deg);
  }
}

@media only screen and (max-width: 960px) {
  .hero .chara_01 {
    position: relative;
    width: 72%;
    margin: 0 auto;
    padding-left: 5%;
    padding-top: 60px;
  }
}

@-webkit-keyframes hero {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  55% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes hero {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
  55% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

.is-load .hero {
  opacity: 1;
  -webkit-transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s, -webkit-transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s;
  transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s, -webkit-transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s, opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s;
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s, opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s, -webkit-transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1s;
  -webkit-animation: hero 0.6s ease 1s;
          animation: hero 0.6s ease 1s;
}

.lead {
  position: relative;
  width: 960px;
  margin: 0 0 0 -30px;
  color: #543523;
  font-size: 20px;
  line-height: 1.9em;
}

@media only screen and (max-width: 960px) {
  .lead {
    width: 100%;
    margin: 50px auto 0;
    font-size: 1.3rem;
  }
}

.lead_text {
  width: 100%;
  position: absolute;
  top: 80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  z-index: 1;
}

@media only screen and (max-width: 960px) {
  .lead_text {
    top: 17%;
  }
}

.lead_text .text_1 {
  color: #7a74ad;
  font-size: 24px;
  font-weight: 800;
  vertical-align: baseline;
}

@media only screen and (max-width: 960px) {
  .lead_text .text_1 {
    font-size: 1.5rem;
    letter-spacing: -1px;
  }
}

.lead_text .text_2 {
  color: #fff;
  background: #7a74ad;
  font-size: 23px;
  font-weight: 800;
  display: inline-block;
  border-radius: 5px;
  line-height: 1em;
  padding: 5px;
  margin: 0 5px;
  vertical-align: baseline;
}

@media only screen and (max-width: 960px) {
  .lead_text .text_2 {
    font-size: 16px;
  }
}

.lead_text .text_3 {
  color: #7a74ad;
  font-size: 15px;
  vertical-align: baseline;
}

@media only screen and (max-width: 960px) {
  .lead_text .text_3 {
    font-size: 11px;
    letter-spacing: -1px;
  }
}

.lead .sticker {
  position: absolute;
  bottom: 15px;
  right: 15px;
  max-width: 160px;
}

@media only screen and (max-width: 960px) {
  .lead .sticker {
    bottom: -45px;
    right: 2%;
    max-width: 26%;
  }
}

.info {
  width: 900px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
}

@media only screen and (max-width: 960px) {
  .info {
    width: 90%;
    display: block;
    margin: 80px auto 0;
  }
}

.info .info_item {
  position: relative;
  width: 430px;
  margin-left: 40px;
  background: #ccc;
  text-align: center;
  border-radius: 20px;
  -webkit-box-shadow: 0px 5px 5px 0px #c0b7df;
          box-shadow: 0px 5px 5px 0px #c0b7df;
  padding: 35px 0;
  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;
}

@media only screen and (max-width: 960px) {
  .info .info_item {
    width: 100%;
    margin-left: 0;
    margin-top: 20px;
    padding: 30px 0;
  }
}

.info .info_item::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 8px solid #fff;
  border-radius: 20px;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item::before {
    border: 5px solid #fff;
    border-radius: 15px;
  }
}

.info .info_item::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 20px;
  background-image: repeating-linear-gradient(90deg, #000000, #000000 12px, transparent 12px, transparent 17px), repeating-linear-gradient(180deg, #000000, #000000 12px, transparent 12px, transparent 17px), repeating-linear-gradient(90deg, #000000, #000000 12px, transparent 12px, transparent 17px), repeating-linear-gradient(180deg, #000000, #000000 12px, transparent 12px, transparent 17px);
  background-position: left top, right top, left bottom, left top;
  background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item::after {
    border-radius: 15px;
    background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
    background-image: repeating-linear-gradient(90deg, #000000, #000000 6px, transparent 6px, transparent 9px), repeating-linear-gradient(180deg, #000000, #000000 6px, transparent 6px, transparent 9px), repeating-linear-gradient(90deg, #000000, #000000 6px, transparent 6px, transparent 9px), repeating-linear-gradient(180deg, #000000, #000000 6px, transparent 6px, transparent 9px);
  }
}

.info .info_item:first-child {
  margin-left: 0;
}

@media only screen and (max-width: 960px) {
  .info .info_item:first-child {
    margin-top: 0;
  }
}

.info .info_item dt {
  font-size: 25px;
  color: #fff;
  margin-bottom: 20px;
}

@media only screen and (max-width: 960px) {
  .info .info_item dt {
    font-size: 15px;
    margin-bottom: 15px;
  }
}

.info .info_item dt p {
  background: #ccc;
  display: inline-block;
  border-radius: 100px;
  padding: 5px 20px;
}

.info .info_item.info_01 {
  background: #e1f1fd;
  color: #8bbade;
}

.info .info_item.info_01::after {
  background-image: repeating-linear-gradient(90deg, #8bbade, #8bbade 12px, transparent 12px, transparent 17px), repeating-linear-gradient(180deg, #8bbade, #8bbade 12px, transparent 12px, transparent 17px), repeating-linear-gradient(90deg, #8bbade, #8bbade 12px, transparent 12px, transparent 17px), repeating-linear-gradient(180deg, #8bbade, #8bbade 12px, transparent 12px, transparent 17px);
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01::after {
    background-image: repeating-linear-gradient(90deg, #8bbade, #8bbade 6px, transparent 6px, transparent 9px), repeating-linear-gradient(180deg, #8bbade, #8bbade 6px, transparent 6px, transparent 9px), repeating-linear-gradient(90deg, #8bbade, #8bbade 6px, transparent 6px, transparent 9px), repeating-linear-gradient(180deg, #8bbade, #8bbade 6px, transparent 6px, transparent 9px);
  }
}

.info .info_item.info_01 dl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner1.png) no-repeat;
  background-size: contain;
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01 dl::before {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_01 dl::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner1.png) no-repeat;
  background-size: contain;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01 dl::after {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_01 dt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner1.png) no-repeat;
  background-size: contain;
  z-index: 1;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01 dt::before {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_01 dt::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner1.png) no-repeat;
  background-size: contain;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01 dt::after {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_01 dt p {
  background: #8bbade;
}

.info .info_item.info_01 dd {
  font-size: 30px;
  font-weight: 800;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01 dd {
    font-size: 22px;
  }
}

.info .info_item.info_01 dd span {
  font-size: 20px;
  vertical-align: baseline;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_01 dd span {
    font-size: 15px;
  }
}

.info .info_item.info_02 {
  background: #e4e3f6;
  color: #7a74ad;
}

.info .info_item.info_02::after {
  background-image: repeating-linear-gradient(90deg, #7a74ad, #7a74ad 12px, transparent 12px, transparent 17px), repeating-linear-gradient(180deg, #7a74ad, #7a74ad 12px, transparent 12px, transparent 17px), repeating-linear-gradient(90deg, #7a74ad, #7a74ad 12px, transparent 12px, transparent 17px), repeating-linear-gradient(180deg, #7a74ad, #7a74ad 12px, transparent 12px, transparent 17px);
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_02::after {
    background-image: repeating-linear-gradient(90deg, #7a74ad, #7a74ad 6px, transparent 6px, transparent 9px), repeating-linear-gradient(180deg, #7a74ad, #7a74ad 6px, transparent 6px, transparent 9px), repeating-linear-gradient(90deg, #7a74ad, #7a74ad 6px, transparent 6px, transparent 9px), repeating-linear-gradient(180deg, #7a74ad, #7a74ad 6px, transparent 6px, transparent 9px);
  }
}

.info .info_item.info_02 dl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner2.png) no-repeat;
  background-size: contain;
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_02 dl::before {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_02 dl::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner2.png) no-repeat;
  background-size: contain;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_02 dl::after {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_02 dt::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner2.png) no-repeat;
  background-size: contain;
  z-index: 1;
  -webkit-transform: scale(1, -1);
          transform: scale(1, -1);
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_02 dt::before {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_02 dt::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 17px;
  height: 17px;
  background: url(../img/info_corner2.png) no-repeat;
  background-size: contain;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
  z-index: 1;
  pointer-events: none;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_02 dt::after {
    width: 10px;
    height: 10px;
  }
}

.info .info_item.info_02 dt p {
  background: #7a74ad;
}

.info .info_item.info_02 dd {
  font-size: 22px;
  line-height: 1.5em;
}

.info .info_item.info_02 dd span {
  font-weight: 800;
  vertical-align: baseline;
}

@media only screen and (max-width: 960px) {
  .info .info_item.info_02 dd {
    font-size: 18px;
  }
}

.is-load .info {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s;
  transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s;
  transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s, opacity 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s, -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1) 1.5s;
}

.footer {
  position: relative;
  background: #cbe8fd;
  color: #543523;
  margin-top: 180px;
  padding: 50px;
  font-size: 13px;
}

@media only screen and (max-width: 960px) {
  .footer {
    font-size: 1.1rem;
    padding: 50px 0;
  }
}

.footer::before {
  content: "";
  position: absolute;
  top: -26px;
  left: 0;
  width: 100%;
  height: 26px;
  background: url(../img/footer_deco.png) repeat-x;
  background-size: contain;
}

@media only screen and (max-width: 960px) {
  .footer::before {
    top: -15px;
    height: 15px;
  }
}

.footer a {
  color: #543523;
  text-decoration: none;
}

.footer .chara_02 {
  position: absolute;
}

@media only screen and (min-width: 961px) {
  .footer .chara_02 {
    bottom: 130px;
    left: 50px;
    max-width: 150px;
  }
}

@media only screen and (max-width: 960px) {
  .footer .chara_02 {
    top: -120px;
    max-width: 100px;
    left: 10px;
  }
}

@media only screen and (min-width: 961px) {
  .footer .official {
    position: absolute;
    width: 280px;
    bottom: 50px;
    left: 50px;
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .footer .official:hover {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}

@media only screen and (max-width: 960px) {
  .footer .official {
    position: relative;
    width: 60%;
    margin: 0 auto;
  }
}

.footer .share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

@media only screen and (max-width: 960px) {
  .footer .share {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 50px;
  }
}

.footer .share li {
  width: 30px;
  margin-left: 20px;
}

@media only screen and (min-width: 961px) {
  .footer .share li {
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1), -webkit-transform 1s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .footer .share li:hover {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
}

@media only screen and (max-width: 960px) {
  .footer .share li {
    width: 12%;
  }
}

.footer .share li:first-child {
  margin-left: 0;
}

.footer .anx_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  margin-top: 30px;
}

@media only screen and (max-width: 960px) {
  .footer .anx_link {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 40px;
  }
}

.footer .anx_link li {
  margin-left: 15px;
}

@media only screen and (min-width: 961px) {
  .footer .anx_link li a {
    -webkit-transition: color 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transition: color 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  }
  .footer .anx_link li:hover a {
    color: #8bbade;
  }
}

@media only screen and (max-width: 960px) {
  .footer .anx_link li {
    margin-left: 10px;
  }
}

.footer .anx_link li:first-child {
  margin-left: 0;
}

.footer .anx_text {
  text-align: right;
  margin-top: 15px;
}

@media only screen and (max-width: 960px) {
  .footer .anx_text {
    text-align: center;
    margin-top: 10px;
  }
}

.footer .copy {
  margin-left: auto;
  width: 160px;
  margin-top: 15px;
}

@media only screen and (max-width: 960px) {
  .footer .copy {
    margin: 10px auto 0;
  }
}

.hero {
  position: relative;
}

.hero .bg_deco1 {
  width: 120px;
  position: absolute;
  top: 300px;
  left: -100px;
}

@media only screen and (max-width: 960px) {
  .hero .bg_deco1 {
    width: 16%;
    top: 15%;
    left: 5%;
  }
}

.hero .bg_deco3 {
  width: 120px;
  position: absolute;
  top: 260px;
  right: -110px;
}

@media only screen and (max-width: 960px) {
  .hero .bg_deco3 {
    width: 20%;
    top: 55%;
    right: 3%;
  }
}

.info {
  position: relative;
}

.info .bg_deco4 {
  width: 120px;
  position: absolute;
  top: -100px;
  left: -100px;
}

@media only screen and (max-width: 960px) {
  .info .bg_deco4 {
    width: 20%;
    top: -55%;
    left: -2%;
    z-index: 1;
  }
}

.bg_deco2 {
  width: 120px;
  position: absolute;
  bottom: 300px;
  right: 40px;
}

@media only screen and (max-width: 960px) {
  .bg_deco2 {
    width: 18%;
    right: 5%;
    bottom: 370px;
    z-index: -1;
  }
}
/*# sourceMappingURL=contest.css.map */