@charset "UTF-8";
.reservation {
  padding: 70px 0;
  background-color: #e7edf3;
}
@media screen and (max-width: 800px) {
  .reservation {
    padding: 45px 0;
  }
}
.reservation .inner {
  width: 100%;
  max-width: 1032px;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .reservation .inner {
    padding: 0 20px;
  }
}
.reservation .inner h2 {
  font-size: 40px;
  text-align: center;
  font-weight: bold;
  color: #04386e;
  margin-bottom: 30px;
}
@media screen and (max-width: 800px) {
  .reservation .inner h2 {
    font-size: 24px;
  }
}
.reservation .inner p {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
  color: #04386e;
  line-height: 1.4;
  margin-bottom: 45px;
}
@media screen and (max-width: 800px) {
  .reservation .inner p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 25px;
  }
}
.reservation .inner .noteList {
  margin-bottom: 30px;
}
.reservation .inner .noteList li {
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7142857143;
}
.reservation .inner .noteList li::before {
  position: absolute;
  content: "※";
  left: 0;
  top: 0;
}
.reservation .inner .tel {
  background-color: #fff;
  text-align: center;
  padding: 20px 25px 20px;
}
@media screen and (max-width: 800px) {
  .reservation .inner .tel {
    padding: 25px 20px 25px;
  }
}
.reservation .inner .tel-hl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
}
@media screen and (max-width: 800px) {
  .reservation .inner .tel-hl {
    margin-bottom: 8px;
  }
}
.reservation .inner .tel a {
  font-size: 40px;
  font-weight: bold;
  color: #04386e;
  display: inline-block;
  margin-bottom: 8px;
  pointer-events: all;
}
@media screen and (max-width: 800px) {
  .reservation .inner .tel a {
    font-size: 36px;
    margin-bottom: 12px;
  }
}
.reservation .inner .tel-data {
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 800px) {
  .reservation .inner .tel-data {
    line-height: 1.7142857143;
  }
}
.reservation .inner .web {
  background-color: #fff;
  text-align: center;
  padding: 20px 35px 30px;
  margin-bottom: 35px;
}
@media screen and (max-width: 800px) {
  .reservation .inner .web {
    padding: 30px 10px 20px;
  }
}
.reservation .inner .web-hl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
.reservation .inner .web-calendar {
  margin-bottom: 35px;
}
@media screen and (max-width: 800px) {
  .reservation .inner .web-calendar {
    margin-bottom: 20px;
  }
}
.reservation .inner .web-link {
  font-size: 14px;
  font-weight: bold;
  color: #04386e;
  text-decoration: underline;
}
.reservation .inner .web-link:hover {
  text-decoration: none;
}
.reservation .show-pc {
  display: block;
}
@media screen and (max-width: 800px) {
  .reservation .show-pc {
    display: none;
  }
}
.reservation .show-sp {
  display: none;
}
@media screen and (max-width: 800px) {
  .reservation .show-sp {
    display: block;
  }
}