@charset "utf-8";
.mainvisual{
  margin: 0 auto;
  padding-bottom: 30px;
}
.mainvisual h1{
  width: fit-content;
  font-size: 130%;
  letter-spacing: 1px;
  line-height: 1.7;
  font-weight: normal;
  color: #fff;
  padding: 20px 10px;
  position: relative;
  z-index: 0;
}
.mainvisual h1::before{
  content: '';
  width: 120%;
  height: 100%;
  background: var(--page_color);
  position: absolute;
  top: 0%;
  right: 100%;
  z-index: -1;
  transition: all 0.5s ease-in-out;
}
.mainvisual.active h1::before{
  right: -10%;
}
.mainvisual .img-box{
  height: 30vh;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.mainvisual .img-box img{
  display: block;
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.intro{
  width: 95%;
  max-width: 900px;
  margin: 0 auto 60px;
}
.intro h2{
  font-size: 1.3em;
  font-weight: 600;
  color: #2f3e3e;
  border-left: 4px solid var(--page_color);
  padding-left: 0.6em;
  margin-bottom: 1.5rem;
}
.intro p{
  letter-spacing: 1px;
  line-height: 1.8;
  text-align: justify;
}
.intro p span{
  background: linear-gradient(transparent 70%, #f1f7d0 70% 88%, transparent 88%);
}
.intro ul{
  margin: 10px auto;
}
.intro ul li{
  display: flex;
  letter-spacing: 1px;
  line-height: 1.8;
}

.facility-price-list{
  width: 95%;
  max-width: 900px;
  margin: 0 auto 60px;
}
.facility-price-list h2{
  font-weight: normal;
  border-bottom: 1px solid var(--page_color);
  padding: 0 10px 5px;
  margin-bottom: 10px;
}
.facility-price-list > .text{
  letter-spacing: 1px;
  line-height: 1.8;
  margin: 0 10px 20px;
}
.table-box{
  overflow-x: auto;
  margin-bottom: 30px;
}
.table-box table{
  white-space: nowrap;
  border: 1px solid var(--page_color);
}
.table-box thead tr{
  background: var(--page_color);
  color: #fff;
}
.table-box thead th{
  padding: 10px;
  font-weight: normal;
  letter-spacing: 1px;
}
.table-box thead th:not(:last-of-type){
  border-right: 1px solid #fff;
}
.table-box tbody th,
.table-box tbody td{
  padding: 10px;
  font-weight: normal;
  letter-spacing: 1px;
}
.table-box tbody tr{
  border-bottom: 1px solid var(--page_color);
}
.table-box tbody th{
  background: var(--page_color_thin);
  text-align: left;
}
.table-box tbody td{
  border-left: 1px solid var(--page_color);
}
.table-box tbody td a{
  color: #E86A33;
  text-decoration: underline;
}