.wrapper {
  color: #fff;
}
.wrapper iframe {
  width: 1200px;
  max-width: 100%;
  height: 700px;
  aspect-ratio: 12/7;
  overflow: hidden;
}

.facility {
  padding: 55px 15px 0;
}
.facility h3 {
  text-align: center;
  padding-top: 120px;
  background: transparent url(../img/ttl-fcty.png) no-repeat 50% 0;
  font-size: 37px;
  margin: 0 0 106px;
}
.facility p {
  max-width: 640px;
  margin: 0 auto 30px;
  font-size: 18px;
  line-height: 1.77;
}
.facility-map {
  text-align: center;
}

.gr {
  padding: 143px 15px 0;
}
.gr h3 {
  padding-top: 100px;
  background: transparent url(../img/ttl-gr.png) no-repeat 50% 0;
  text-align: center;
  font-size: 37px;
  margin: 0 0 65px;
}
.gr ul {
  max-width: 438px;
  margin: 0 auto 35px;
  list-style: none;
}
.gr .block {
  padding: 75px 0 40px;
  max-width: 1200px;
  margin: 0 auto;
}
.gr .block h4 {
  gap: 55px;
  display: flex;
  align-items: end;
  margin: 0 0 33px;
}
.gr .block h4 span {
  font-size: 28px;
  font-weight: bold;
}
.gr .block h4 strong {
  font-size: 78px;
  line-height: 1.1;
}
.gr .block .img {
  margin-bottom: 30px;
}
.gr .block p {
  font-size: 18px;
  line-height: 1.94;
  margin-bottom: 105px;
}
.gr .block p span {
  font-size: 20px;
}
.gr .block .link {
  text-align: center;
}

.pnav li:nth-of-type(1).active a span::after,
.pnav li:nth-of-type(1) a:hover span::after {
  height: 141px;
}
.pnav li:nth-of-type(2).active a span::after,
.pnav li:nth-of-type(2) a:hover span::after {
  height: 141px;
}
.pnav li:nth-of-type(3).active a span::after,
.pnav li:nth-of-type(3) a:hover span::after {
  height: 44px;
}
.pnav li:nth-of-type(4).active a span::after,
.pnav li:nth-of-type(4) a:hover span::after, .pnav li:nth-of-type(5).active a span::after,
.pnav li:nth-of-type(5) a:hover span::after {
  height: 44px;
}

.bhs {
  background: transparent url(../img/bg-bhs.jpg) no-repeat 100% 100%/cover;
}
.bhs-i {
  max-width: 1732px;
  padding: 55px 0 50px;
}
.bhs-i2 {
  background: transparent url(../img/ttl-bhs.png) no-repeat 0 0;
  padding-top: 120px;
  max-width: 953px;
}
.bhs-box {
  background: rgba(17, 17, 17, 0.45);
  padding: 45px 20px 55px 60px;
  color: #fff;
}
.bhs-box h3 {
  margin: 0 0 45px;
  font-size: 37px;
}
.bhs-box p {
  line-height: 2.1;
  font-size: 18px;
}

.hs {
  padding: 98px 0 0;
}
.hs h3 {
  font-size: 37px;
  text-align: center;
  padding: 125px 15px 0;
  margin: 0 0 100px;
  background: transparent url(../img/ttl-hs.png) no-repeat 50% 0;
}
.hs-intr {
  padding: 0 15px;
  max-width: 670px;
  margin: 0 auto 95px;
  font-size: 18px;
  line-height: 1.77;
}
.hs .block {
  padding: 20px 15px 186px;
  max-width: 1765px;
  width: 100%;
}
.hs .block .top {
  margin-bottom: 17px;
}
.hs .block dl {
  position: absolute;
  width: 570px;
  background: rgba(0, 0, 0, 0.77);
  padding: 35px 40px 50px 40px;
  right: 0;
  bottom: 11%;
}
.hs .block dl dt {
  font-size: 28px;
  margin: 0 0 50px;
}
.hs .block dl dd {
  line-height: 1.94;
  font-size: 18px;
  margin: 0;
}
.hs .block .bottom {
  display: flex;
  justify-content: center;
  font-size: 36px;
  border: 1px solid #fff;
  width: 100%;
  max-width: 1545px;
  margin: 0 auto;
  text-align: center;
  flex-wrap: wrap;
}
.hs .block .bottom .box {
  padding: 10px;
  display: grid;
  place-items: center;
}
.hs .block .bottom .box + .box {
  border-left: 1px solid #fff;
}
.hs .block .bottom span {
  white-space: nowrap;
}
.hs .block .bottom span.m {
  font-size: 31px;
}
.hs .block:nth-last-child(2) .bottom .box:nth-of-type(1) {
  width: 100%;
  border-bottom: 1px solid #fff;
}
.hs .block:nth-last-child(2) .bottom .box:nth-of-type(2) {
  width: 50%;
}
.hs .block:nth-last-child(2) .bottom .box:nth-of-type(3) {
  width: 50%;
  padding: 15px 0 10px;
}
.hs .block:nth-last-child(1) .bottom .box:nth-of-type(1) {
  width: 100%;
  border-bottom: 1px solid #fff;
}
.hs .block:nth-last-child(1) .bottom .box:nth-of-type(2) {
  width: 50%;
  padding: 15px 0 10px;
}
.hs .block:nth-last-child(1) .bottom .box:nth-of-type(3) {
  width: 50%;
}
@media print, screen and (min-width: 1545px) {
  .hs .block:nth-last-child(2) .bottom .box:nth-of-type(1) {
    width: 360px;
    border-bottom: none;
  }
  .hs .block:nth-last-child(2) .bottom .box:nth-of-type(2) {
    flex: 1;
    width: auto;
  }
  .hs .block:nth-last-child(2) .bottom .box:nth-of-type(3) {
    width: 505px;
  }
  .hs .block:nth-last-child(1) .bottom .box:nth-of-type(1) {
    width: 515px;
    border-bottom: none;
  }
  .hs .block:nth-last-child(1) .bottom .box:nth-of-type(2) {
    width: 445px;
  }
  .hs .block:nth-last-child(1) .bottom .box:nth-of-type(3) {
    flex: 1;
    width: auto;
  }
}

.option {
  color: #fff;
  padding: 30px 15px 117px;
}
.option-i {
  max-width: 1532px;
  margin: 0 auto;
}
.option h3 {
  font-size: 37px;
  padding-top: 86px;
  background: transparent url(../img/ttl-opt.png) no-repeat 50% 0;
  text-align: center;
}
.option-main {
  margin: 0 auto 140px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 46px;
  max-width: 1384px;
  text-align: center;
}
.option-box {
  width: 430px;
}
.option-box h4 {
  font-size: 37px;
  margin: 20px 0 0;
}
.option-box p {
  margin: 0 0 50px;
  font-size: 23px;
}
.option-link {
  text-align: center;
}

.other {
  padding: 95px 15px 130px;
}
.other table {
  width: 100%;
  max-width: 1256px;
  margin: 0 auto;
  text-align: left;
}
.other th, .other td {
  background: #fff;
  border: 3px solid #000;
  font-size: 24px;
  padding: 25px 10px 23px 34px;
}
.other th {
  width: 28%;
}
.other td {
  width: 71.2%;
}
.other td > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 787px;
  gap: 1em;
  flex-wrap: wrap;
}
.other td > div dl {
  max-width: 590px;
  margin: 0;
}
.other td > div dl dt {
  font-weight: normal;
  margin: 0 0 34px;
}
.other td > div dl dd {
  font-size: 18px;
  margin: 0;
}

.meal {
  background: transparent url(../img/meal-bg.jpg) no-repeat 50% 50%/cover;
  padding: 240px 15px 182px;
}
.meal_i {
  max-width: 1200px;
  margin: 0 auto;
  gap: 35px;
}
.meal h4 {
  background: transparent url(../img/ttl-meal2.png) no-repeat 0 -20px;
  width: 100%;
  font-size: 30px;
  margin: 0 auto 35px;
  max-width: 1200px;
  padding-top: 100px;
  color: #fff;
}
.meal .info {
  width: calc(50% - 35px);
  display: flex;
  flex-direction: column;
  align-content: stretch;
}
.meal .info p {
  font-size: 18px;
  line-height: 1.75;
  margin: 0 0 auto;
  color: #fff;
}
.meal .info .link {
  margin: auto 0 0;
}
.meal .img {
  width: 50%;
}

/*# sourceMappingURL=facility.css.map */
