@charset "UTF-8";
@keyframes pulseScarlet {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(189, 85, 139, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(189, 85, 139, 0);
  }
}
@keyframes pulsePink {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(189, 85, 139, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(189, 85, 139, 0);
  }
}
@keyframes pulseSax {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(88, 122, 141, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(88, 122, 141, 0);
  }
}
@keyframes pulseDarkblue {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(0, 11, 81, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(0, 11, 81, 0);
  }
}
@keyframes pulseWhite {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(255, 255, 255, 0);
  }
}
@keyframes pulseBaby {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(0, 11, 81, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(0, 11, 81, 0);
  }
}
@keyframes pulseBluegreen {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(0, 11, 81, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(0, 11, 81, 0);
  }
}
@keyframes pulseWhite {
  0% {
    transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.4, 1.4);
    background-color: rgba(255, 255, 255, 0);
  }
}
@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes scale {
  0% {
    transform: scale(3);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes scale2 {
  0% {
    transform: scale(0);
    transform-origin: left bottom;
  }
  100% {
    transform: scale(1);
    transform-origin: left bottom;
  }
}
/*============================================================
	Top 追加
============================================================*/
#reservation .inner .ir__contents {
  margin-top: 6rem;
  background: #eef6fa;
  padding: 4.5rem 2.5rem 2.5rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents {
    width: 100vw;
    margin-top: 5.3333333333rem;
    padding: 4rem 1.6666666667rem 2.3333333333rem 1.6666666667rem;
  }
}
#reservation .inner .ir__contents > h2 {
  position: absolute;
  top: -2.25rem;
  left: 50%;
  transform: translateX(-50%);
  width: 55rem;
  height: 4.5rem;
  border-radius: 2.25rem;
  background: #006bb3;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 1.85rem;
  font-weight: bold;
  text-align: center;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents > h2 {
    width: 22.4666666667rem;
    height: 4.7666666667rem;
    border-radius: 2.3833333333rem;
    font-size: 1.3333333333rem;
    line-height: 1.2;
    top: -2.3833333333rem;
  }
}
#reservation .inner .ir__contents h3 {
  text-align: center;
  color: #006bb3;
  font-size: 1.6rem;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents h3 {
    font-size: 1.2rem;
    line-height: 1.43;
  }
}
#reservation .inner .ir__contents .txt-content h3 {
  margin-bottom: 1em;
}
#reservation .inner .ir__contents .txt-content p {
  text-align: center;
  font-size: 1rem;
  letter-spacing: -0.025em;
  line-height: 1.7;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents .txt-content p {
    font-size: 1rem;
  }
}
#reservation .inner .ir__contents .txt-content p strong {
  font-weight: 500;
  background: linear-gradient(transparent 50%, rgba(103, 198, 216, 0.25) 0%);
}
#reservation .inner .ir__contents .txt-content small {
  display: block;
  font-size: 0.8rem;
  text-align: center;
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents .txt-content small {
    font-size: 0.8rem;
    line-height: 1.75;
  }
}
#reservation .inner .ir__contents .ir-content {
  background: #fff;
  border: solid 1px #006bb3;
  padding: 2rem;
  border-radius: 0.5rem;
  margin-top: 2.5rem;
}
#reservation .inner .ir__contents .ir-content h3 {
  font-size: 1.44rem;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents .ir-content h3 {
    font-size: 1.5rem;
  }
}
#reservation .inner .ir__contents .ir-content h3 small {
  font-size: 1.12rem;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents .ir-content h3 small {
    font-size: 1.1666666667rem;
  }
}
#reservation .inner .ir__contents .ir-content p {
  text-align: center;
  margin-block: 1em;
  font-size: 1.1rem;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  #reservation .inner .ir__contents .ir-content p {
    font-size: 0.9333333333rem;
  }
}
#reservation .inner .ir__contents .ir-content figure {
  margin: 0;
}