@charset "UTF-8";
@keyframes huyohuyo {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes huyohuyo2 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(5px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes chara_huyo {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(15px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes u_huyohuyo {
  0% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
@keyframes fadein {
  0% {
    transform: translateY(15px);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes deco_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  80% {
    opacity: 0;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.l-footer {
  position: relative;
  font-family: YakuHanJP, "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  padding-top: 11.2%;
  padding-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-top: 111px;
  }
}
.l-footer .p-dotdeco {
  position: absolute;
  top: 0;
  right: -1%;
  width: 114px;
  padding-top: 114px;
  background: url(../img/common/bg_dot_pink.png) repeat center center;
  background-size: 14px;
  animation: deco_fade 5s ease-in-out infinite both;
}
@media screen and (min-width: 768px) {
  .l-footer .p-dotdeco {
    top: 2%;
    width: 226px;
    padding-top: 182px;
    background-size: 23px;
  }
}
.l-footer .p-deco {
  position: absolute;
  top: -3%;
  right: -1%;
  width: 11%;
  max-width: 155px;
  animation: huyohuyo 6s ease-in-out infinite 0.3s;
}
@media screen and (max-width: 767px) {
  .l-footer .p-deco {
    right: -3%;
    width: 29%;
  }
}
.l-footer__content {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 0 3.5%;
}
@media screen and (max-width: 767px) {
  .l-footer__content {
    display: block;
    padding: 0 5%;
  }
}
.l-footer__box {
  flex-shrink: 0;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .l-footer__box {
    width: 100%;
  }
}
.l-footer__banner {
  display: flex;
  width: 33%;
  margin-left: 3%;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .l-footer__banner {
    justify-content: flex-start;
    width: 100%;
    margin: 0 0 41px 0;
  }
}
.l-footer__banner-item {
  width: 49%;
  margin-right: 2%;
}
.l-footer__banner-item:last-of-type {
  margin: 0;
}
.l-footer__banner-item a {
  position: relative;
  display: block;
  overflow: hidden;
}
.l-footer__banner-item a::before {
  content: "";
  width: 100%;
  padding-top: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ec7aac;
  opacity: 0.4;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.8s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (min-width: 768px) {
  .l-footer__banner-item a:hover::before {
    opacity: 0.3;
  }
}
.l-footer__list {
  margin-bottom: 27px;
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-footer__list {
    justify-content: center;
    margin-bottom: 25px;
  }
}
.l-footer__list-item {
  margin-right: 15px;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .l-footer__list-item {
    margin-right: 4%;
    font-size: min(13px,3.2vw);
  }
}
.l-footer__list a {
  color: #33272b;
  font-family: "League Spartan", "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
@media screen and (min-width: 768px) {
  .l-footer__list a {
    transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .l-footer__list a:hover {
    color: #ec7aac;
  }
}
.l-footer__note {
  font-size: 10px;
  letter-spacing: 0.2px;
  margin-bottom: 27px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .l-footer__note {
    text-align: center;
    line-height: 1.55;
    margin-bottom: 23px;
  }
}
.l-footer .copy {
  font-size: 10px;
  letter-spacing: 0.2px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-footer .copy {
    text-align: center;
  }
}
.l-footer__bg {
  margin-top: 49px;
  width: 100%;
  padding-top: 25%;
  background: url(../img/common/img_in_foot.jpg) no-repeat center center;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  .l-footer__bg {
    margin-top: 36px;
    padding-top: 47%;
  }
}