.introArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .introArea {
    height: 993px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 96px 0 0;
  }
}

@media screen and (max-width: 768px) {
  .introArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0;
    height: calc(2400 / 750 * 100vw);
    padding: 64px 0 0;
  }
}

.introArea:before {
  background-repeat: no-repeat;
  background-size: cover;
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .introArea:before {
    background-image: url("../imgs/pc/img-intro-deco-01_2x.png");
  }
}

@media screen and (max-width: 768px) {
  .introArea:before {
    background: url("../imgs/sp/img-intro-deco-01.png") top center/cover;
  }
}

@media print, screen and (min-width: 768px) {
  .introArea__visual {
    width: 50%;
  }
}

.introArea__visual .photo__image {
  width: 100%;
}

.introArea__cont {
  color: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .introArea__cont {
    padding: 64px 0 0;
    width: 60%;
  }
}

@media screen and (max-width: 768px) {
  .introArea__cont {
    padding: 0 25px;
  }
}

.introArea__ttl {
  font-size: 36px;
  font-weight: bold;
  line-height: 2;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .introArea__ttl {
    font-size: 24px;
  }
}

.introArea__desc {
  font-size: 18px;
  line-height: 2.3;
}

@media print, screen and (min-width: 768px) {
  .introArea__desc {
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .introArea__desc {
    font-size: 14px;
  }
}

* + .introArea__desc {
  margin-top: 24px;
}

.introArea .caption {
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .introArea .caption {
    bottom: 25px;
    left: 470px;
  }
}

@media screen and (max-width: 768px) {
  .introArea .caption {
    bottom: calc(140 / 750 * 100vw);
    right: 10px;
  }
}

@media print, screen and (min-width: 768px) {
  .mainVisual {
    margin-left: calc(-1 * (100vw - 1200px) / 2);
    width: 100vw;
  }
}

.mainVisual .photo__image {
  width: 100%;
}

.navArea__head {
  color: #715f39;
  font-family: "Cinzel", serif;
  font-size: 54px;
  letter-spacing: .16em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .navArea__head {
    font-size: 32px;
  }
}

.navArea__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 80px 0;
}

* + .navArea__list {
  margin-top: 54px;
}

@media screen and (max-width: 768px) {
  * + .navArea__list {
    margin-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__inner {
    margin: 0 auto;
    padding: 40px 0;
    width: 1200px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__inner {
    padding: 40px 25px;
  }
}

.uspArea__head {
  font-size: 36px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .uspArea__head {
    font-size: 28px;
  }
}

.uspArea__head .small {
  font-size: 15px;
}

@media screen and (max-width: 768px) {
  .uspArea__head .small {
    font-size: 12px;
  }
}

* + .uspArea__head {
  margin-top: 32px;
}

.top-usp {
  background: -webkit-gradient(linear, left top, right top, from(#ddd3a6), color-stop(50%, rgba(221, 211, 166, 0.3)), to(#ddd3a6));
  background: linear-gradient(to right, #ddd3a6 0%, rgba(221, 211, 166, 0.3) 50%, #ddd3a6 100%);
}

@media print, screen and (min-width: 768px) {
  .top-usp {
    margin-left: calc(-1 * (100vw - 1200px) / 2);
    width: 100vw;
  }
}

.top-usp .uspArea {
  position: relative;
  z-index: 1;
}

.top-nav {
  padding-top: 128px;
}

@media screen and (max-width: 768px) {
  .top-nav {
    padding-top: 30px;
  }
}
