@keyframes move {
  100% {
    transform: translate3d(0, 0, 1px) rotate(360deg);
  }
}
.background {
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  background: #fff5f8;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}
.background span {
  width: 20vmin;
  height: 20vmin;
  border-radius: 20vmin;
  backface-visibility: hidden;
  position: absolute;
  animation: move;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.background span:nth-child(1) {
  color: #ee87b4;
  top: 64%;
  left: 37%;
  animation-duration: 19s;
  animation-delay: -12s;
  transform-origin: -7vw 12vh;
  box-shadow: 40vmin 0 5.7596253318955615vmin currentColor;
}
.background span:nth-child(2) {
  color: #ff65a2;
  top: 67%;
  left: 90%;
  animation-duration: 24s;
  animation-delay: -20s;
  transform-origin: -18vw 6vh;
  box-shadow: -40vmin 0 5.87455742322594vmin currentColor;
}
.background span:nth-child(3) {
  color: #ee87b4;
  top: 94%;
  left: 8%;
  animation-duration: 11s;
  animation-delay: -37s;
  transform-origin: -22vw -8vh;
  box-shadow: -40vmin 0 5.028275415084525vmin currentColor;
}
.background span:nth-child(4) {
  color: #ff65a2;
  top: 21%;
  left: 68%;
  animation-duration: 19s;
  animation-delay: -40s;
  transform-origin: 17vw 24vh;
  box-shadow: -40vmin 0 5.509469226765276vmin currentColor;
}
.background span:nth-child(5) {
  color: #ee87b4;
  top: 7%;
  left: 86%;
  animation-duration: 35s;
  animation-delay: -4s;
  transform-origin: -19vw 25vh;
  box-shadow: -40vmin 0 5.286370356449707vmin currentColor;
}
.background span:nth-child(6) {
  color: #ff65a2;
  top: 93%;
  left: 38%;
  animation-duration: 40s;
  animation-delay: -27s;
  transform-origin: -4vw -14vh;
  box-shadow: -40vmin 0 5.463640589989103vmin currentColor;
}
.background span:nth-child(7) {
  color: #dc669b;
  top: 15%;
  left: 72%;
  animation-duration: 40s;
  animation-delay: -49s;
  transform-origin: -3vw -8vh;
  box-shadow: 40vmin 0 5.16414094878372vmin currentColor;
}
.background span:nth-child(8) {
  color: #dc669b;
  top: 5%;
  left: 42%;
  animation-duration: 43s;
  animation-delay: -13s;
  transform-origin: -5vw 4vh;
  box-shadow: -40vmin 0 5vmin currentColor;
}
main {
  background: rgba(255, 255, 255, 0.72);
}
.footer, .module-extra-small.footer {
  position: relative;
  z-index: 1;
}
.swiper-pc-banner {
  padding-top: 0;
}
.footer, .module-extra-small.footer {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #522e0a !important;
}
.footer *, .module-extra-small.footer * {
  color: #522e0a !important;
}
.footer a, .module-extra-small.footer a {
  color: #522e0a !important;
}
/* 右カラムつぶやきBOX：tweet.phpのvoice-listと同じ見た目を適用 */
.msg__contents .msg__left.bg-white {
  background: #fff !important;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  padding: 16px 16px 16px 80px;
  margin-bottom: 16px;
  min-height: 70px;
  transition: box-shadow 0.2s;
  max-width: 100% !important;
}
.msg__contents .msg__left.bg-white:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.msg__contents .msg__left.bg-white figure {
  width: 56px;
  height: 56px;
  top: 15px;
  left: 14px;
  transform: none;
  padding: 2px;
}
.msg__contents .msg__left.bg-white figure img {
  width: 52px;
  height: 52px;
}
.msg__contents .msg__left.bg-white .msg__left-text {
  margin-left: 0;
}
.msg__contents .msg__left.bg-white .msg__left-text .post-meta {
  font-size: 8px;
  color: #888;
  margin-bottom: 6px;
}
.msg__contents .msg__left.bg-white .msg__left-text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}
.msg__bg_wh hr.divider-w {
  display: none;
}
