@charset "UTF-8";
/* iOSでのデフォルトスタイルをリセット */
button {
  -webkit-box-sizing: content-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: auto;
  border: none;
}

button::-webkit-search-decoration {
  display: none;
}

button::focus {
  outline-offset: -2px;
}

button.newiine_btn {
  position: relative;
  padding: 5px;
  margin: 5px 0;
  cursor: pointer;
  background: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

button.newiine_btn:active {
  -webkit-transform: scale(0.92);
  transform: scale(0.92);
}

button.newiine_btn.newiine_animate::before {
  z-index: 1;
  -webkit-animation: newiine_animation ease-out 0.5s forwards;
  animation: newiine_animation ease-out 0.5s forwards;
}

div.newiine_thanks img {
  max-width: 100%;
}

button.newiine_btn div.newiine_thanks {
  position: absolute;
  z-index: 5;
  /* ※ ↓お礼メッセージの吹き出しのサイズを変えたい場合はここを調整 */
  min-width: 300px;
  padding: 10px;
  font-size: 15px;
  color: #333;
  text-align: left;
  pointer-events: none;
  background: white;
  border: 1px solid #efefef;
  border-radius: 10px;
  opacity: 0;
  filter: drop-shadow(0 2px 8px #cccccc7d);
  transition: 0.3s;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

button.newiine_btn div.newiine_thanks::after {
  position: absolute;
  left: 20px;
  width: 0;
  height: 0;
  content: '';
}

button.newiine_btn div.newiine_thanks_up {
  bottom: 140%;
  animation-name: newiine_thanks-up;
}

button.newiine_btn div.newiine_thanks_up::after {
  top: calc(100% - 1px);
  border-top: 10px solid white;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
}

button.newiine_btn div.newiine_thanks_down {
  top: 140%;
  animation-name: newiine_thanks-down;
}

button.newiine_btn div.newiine_thanks_down::after {
  bottom: calc(100% - 1px);
  border-top: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid white;
  border-left: 10px solid transparent;
}

button.newiine_btn div.newiine_thanks_right {
  right: 0;
  left: auto;
}

button.newiine_btn div.newiine_thanks_right::after {
  right: 20px;
  left: auto;
}

button.newiine_btn div.newiine_thanks p {
  margin: 10px auto;
}

.newiine_fadeout {
  animation: newiine_fadeOut 1s !important;
  animation-fill-mode: both;
}

/* newiine_type02 */

button.newiine_btn.newiine_type02 {
  width: 60px;
  height: 60px;
  padding: 3px;
  text-align: center;
  word-break: keep-all;
  background: #f1f1f1;
  border: none;
  border-radius: 30px;
}

button.newiine_btn.newiine_type02:hover {
  color: #fd7f96;
}

button.newiine_btn.newiine_type02.newiine_clickedtoday {
  color: #fd7f96;
  background: #fff3f5;
}

button.newiine_btn.newiine_type02.newiine_clicked {
  color: #fff;
  background: #fd7f96;
}

button.newiine_btn.newiine_type02.newiine_clicked:hover {
  color: #fff3f5;
}

button.newiine_btn.newiine_type02.newiine_animate::before {
  z-index: 1;
  -webkit-animation: newiine_animation_type02 ease-out 0.5s forwards;
  animation: newiine_animation_type02 ease-out 0.5s forwards;
}

/* 残す要素 */
@keyframes newiine_animation {
  0% {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }

  100% {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}

@keyframes newiine_animation {
  0% {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
  }

  100% {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
  }
}

@keyframes newiine_animation_type02 {
  0% {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}

@keyframes newiine_animation_type02 {
  0% {
    visibility: visible;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    visibility: hidden;
    opacity: 0;
    -webkit-transform: scale(2);
    transform: scale(2);
  }
}

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

  100% {
    opacity: 0;
  }
}

@keyframes newiine_thanks-up {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes newiine_thanks-down {
  0% {
    opacity: 0;
    transform: translateY(-40px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
