.reserveTtl {
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.1em;
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .reserveTtl {
    font-size: 32px;
  }
}
@media screen and (max-width: 768px) {
  .reserveTtl {
    font-size: 6.1538461538vw;
  }
}
.reserveTtl .photo {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .reserveTtl .photo {
    padding-bottom: 24px;
  }
}
@media screen and (max-width: 768px) {
  .reserveTtl .photo {
    padding-bottom: 6.1538461538vw;
    width: 41.0256410256vw;
  }
}
.introSect__head .headingCombi .heading--default {
  display: none;
}
.introSect__head .headingCombi .txt {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .introSect__head .headingCombi .txt {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .introSect__head .headingCombi .txt {
    font-size: 3.5897435897vw;
  }
}
.introSect__cont {
  margin: 0 auto;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .introSect__cont {
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .introSect__cont {
    margin-top: 15.3846153846vw;
    padding: 0 5.1282051282vw;
  }
}
@media screen and (min-width: 768px) {
  .gallerySect {
    margin-top: 120px;
  }
}
@media screen and (max-width: 768px) {
  .gallerySect {
    margin-top: 17.9487179487vw;
  }
}
.gallerySect__cont {
  margin-left: calc(50% - 50vw);
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .gallerySect__cont {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  .gallerySect__cont {
    margin-top: 10.2564102564vw;
  }
}
.mapSect {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .mapSect {
    margin-top: 120px;
    padding: 0 100px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect {
    margin-top: 17.9487179487vw;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__head .headingCombi .heading--default + .txt {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__cont {
    display: flex;
    gap: 33px;
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__cont {
    margin-top: 10.2564102564vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__visual {
    width: 600px;
  }
}
.mapSect__data {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .mapSect__data {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__data {
    margin-top: 10.2564102564vw;
    padding: 0 5.1282051282vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__item + .mapSect__item {
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__item + .mapSect__item {
    margin-top: 7.6923076923vw;
  }
}
.mapSect__item--exit .mapSect__ttl:before {
  border-radius: 50%;
}
.mapSect__item--exit .mapSect__ttl + .mapSect__txt {
  border-top: 1px solid #000;
}
@media screen and (min-width: 768px) {
  .mapSect__item--exit .mapSect__ttl + .mapSect__txt {
    margin-top: 12px;
    padding-top: 12px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__item--exit .mapSect__ttl + .mapSect__txt {
    margin-top: 3.0769230769vw;
    padding-top: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__item--exit .mapSect__ttl + .mapSect__txt .large {
    font-size: 18px;
    padding-top: 4px;
  }
}
.mapSect__ttl {
  color: #736e35;
  position: relative;
}
@media screen and (min-width: 768px) {
  .mapSect__ttl {
    font-size: 16px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__ttl {
    font-size: 3.5897435897vw;
    padding-left: 4.6153846154vw;
  }
}
.mapSect__ttl:before {
  aspect-ratio: 1/1;
  background-color: #736e35;
  content: "";
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .mapSect__ttl:before {
    width: 16px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__ttl:before {
    width: 3.5897435897vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__ttl + .mapSect__txt {
    margin-top: 12px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__ttl + .mapSect__txt {
    margin-top: 1.5384615385vw;
  }
}
.mapSect__txt {
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .mapSect__txt {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__txt {
    font-size: 3.0769230769vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__txt .middle {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__txt .middle {
    font-size: 3.0769230769vw;
  }
}
.mapSect__txt .large {
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .mapSect__txt .large {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__txt .large {
    font-size: 4.1025641026vw;
  }
}
.mapSect__txt + .caption {
  font-family: yakuhanjp, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", meiryo, sans-serif;
  font-size: 10px;
}
@media screen and (min-width: 768px) {
  .mapSect__txt + .caption {
    margin-top: 10px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__txt + .caption {
    margin-top: 2.0512820513vw;
  }
}
.mapSect__bottom {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .mapSect__bottom {
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__bottom {
    margin-top: 10.2564102564vw;
  }
}
.mapSect__bottom .generalBtn--map {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .mapSect__bottom .generalBtn--map {
    width: 61.5384615385vw;
  }
}
.mapSect__bottom .generalBtn--map .generalBtn__inner {
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .mapSect__bottom .generalBtn--map .generalBtn__inner {
    margin-left: -5px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__bottom .generalBtn--map .generalBtn__inner {
    margin-left: -2.5641025641vw;
  }
}
@media screen and (min-width: 768px) {
  .mapSect__bottom .generalBtn--map + .reserveBnr {
    margin-top: 120px;
  }
}
@media screen and (max-width: 768px) {
  .mapSect__bottom .generalBtn--map + .reserveBnr {
    margin-top: 15.3846153846vw;
    padding: 0 5.1282051282vw;
  }
}
.reserveBnr {
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .reserveBnr {
    max-width: 1000px;
  }
}
@media screen and (max-width: 768px) {
  .reserveBnr {
    margin-top: 20.5128205128vw;
  }
}
.reserveBnr__bg .photo__image {
  height: 100%;
  width: 100%;
}
.reserveBnr__ttl, .reserveBnr__btn {
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
}
.reserveBnr__ttl {
  color: #fff;
  font-family: "Cinzel", serif;
}
@media screen and (min-width: 768px) {
  .reserveBnr__ttl {
    font-size: 20px;
    top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .reserveBnr__ttl {
    font-size: 4.1025641026vw;
    line-height: 1.4;
    text-align: center;
    top: 7.1794871795vw;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .reserveBnr__btn {
    top: 110px;
  }
}
@media screen and (max-width: 768px) {
  .reserveBnr__btn {
    top: 29.2307692308vw;
  }
}
@media screen and (max-width: 768px) {
  .reserveBnr__btn .generalBtn--reserve {
    width: 61.5384615385vw;
  }
}
@media screen and (max-width: 768px) {
  .reserveBnr__btn .generalBtn--reserve .generalBtn__inner {
    font-size: 4.1025641026vw;
    letter-spacing: 0.1em;
  }
}
.container {
  position: relative;
}
.container:before {
  background: url("../../common/imgs/bg-layer-01@2.jpg") no-repeat center top;
  content: "";
  height: 100%;
  position: absolute;
  width: 100vw;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .container .wrap {
    width: 1200px;
  }
}
@media screen and (min-width: 768px) {
  .reserveArea {
    padding: 120px 0;
  }
}
@media screen and (max-width: 768px) {
  .reserveArea {
    padding: 80px 0;
  }
}
.reserve-reserve {
  background-color: rgba(255, 255, 255, 0.8);
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .reserve-reserve {
    margin-top: 120px;
    padding: 80px 0;
  }
}
@media screen and (max-width: 768px) {
  .reserve-reserve {
    margin-top: 20.5128205128vw;
    padding: 15.3846153846vw 0;
  }
}
/*# sourceMappingURL=style.css.map */
