@charset "UTF-8";
/* --------------------------------------
  注釈、キャプション関連
---------------------------------------- */
.c-note {
  position: relative;
  width: 100%;
  z-index: 1;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.c-note ul {
  max-width: min(103.746vw, 1728px);
  margin: 0 auto;
  padding: 0 min(2.882vw, 48px);
}
@media screen and (max-width: 768px) {
  .c-note ul {
    max-width: min(320vw, 1440px);
    padding: 0 min(5.333vw, 24px);
  }
}
.c-note ul li {
  font-weight: 400;
  font-size: clamp(8px, 0.72vw, 12px);
}
@media screen and (max-width: 768px) {
  .c-note ul li {
    font-size: clamp(8px, 2.667vw, 12px);
  }
}

.c-text--noteCaption {
  font-size: clamp(8px, 0.72vw, 12px) !important;
  line-height: 1.5 !important;
  color: #707070;
}
@media screen and (max-width: 768px) {
  .c-text--noteCaption {
    font-size: clamp(8px, 2.667vw, 12px) !important;
  }
}
.c-text--noteCaption.white {
  color: #fff;
}

figcaption {
  font-size: clamp(8px, 0.72vw, 12px);
  color: #707070;
}
@media screen and (max-width: 768px) {
  figcaption {
    font-size: clamp(8px, 2.667vw, 12px);
  }
}
figcaption.right {
  text-align: right;
}
figcaption.white {
  color: #fff;
}
figcaption.shadow {
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.8), 0 0 3px rgba(0, 0, 0, 0.9), 0 0 2px rgb(0, 0, 0);
}
figcaption.shadow-dark {
  -webkit-filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5)) drop-shadow(-1px 1px 3px rgba(0, 0, 0, 0.75)) drop-shadow(1px -1px 3px rgba(0, 0, 0, 0.5)) drop-shadow(-1px -1px 3px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.5)) drop-shadow(-1px 1px 3px rgba(0, 0, 0, 0.75)) drop-shadow(1px -1px 3px rgba(0, 0, 0, 0.5)) drop-shadow(-1px -1px 3px rgba(0, 0, 0, 0.5));
}

figure:has(> figcaption.inside) {
  position: relative;
}

figcaption.inside {
  position: absolute;
  line-height: 1;
  bottom: 5px;
  right: 5px;
}

/* --------------------------------------
  // module pcObj spObj
---------------------------------------- */
@media screen and (min-width: 769px) {
  .spObj {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pcObj {
    display: none;
  }
}
/* --------------------------------------
  // fadeIn animation
---------------------------------------- */
.hidden {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}

.js-fadeIn {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}

.fade_in {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  translate: 0 30px;
  -webkit-transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), translate 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), -webkit-filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
  transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), translate 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), -webkit-filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
  transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), translate 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
  transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), translate 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), -webkit-filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
}
.fade_in.active {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
  translate: none;
}
@media (prefers-reduced-motion: reduce) {
  .fade_in {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
    translate: none;
    -webkit-transition: none;
    transition: none;
  }
}

.blur_in {
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), -webkit-filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
  transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), -webkit-filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
  transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
  transition: opacity 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98), -webkit-filter 1s cubic-bezier(0.33, 0.01, 0.02, 0.98);
}
.blur_in.active {
  opacity: 1;
  -webkit-filter: none;
          filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .blur_in {
    opacity: 1;
    -webkit-filter: none;
            filter: none;
    -webkit-transition: none;
    transition: none;
  }
}

/* --------------------------------------
  // 追加
---------------------------------------- */
.top,
.design,
.access,
.location,
.merit,
.plan,
.map,
.outline,
.line,
.privacy,
.notfound404 {
  position: relative;
  font-family: "Noto Serif JP", serif;
}

.grandTitle__en {
  color: #937a26;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(16px, 1.441vw, 24px);
  letter-spacing: 0.1em;
}
.grandTitle__jp {
  font-size: clamp(19.2px, 1.729vw, 28.8px);
  margin-top: clamp(8px, 0.72vw, 12px);
}
@media screen and (max-width: 768px) {
  .grandTitle__jp {
    font-size: clamp(20px, 6.667vw, 30px);
    margin-top: clamp(0px, 0vw, 0px);
  }
}
.grandTitle__en--large {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(19.2px, 1.729vw, 28.8px);
  margin-top: clamp(8px, 0.72vw, 12px);
}
@media screen and (max-width: 768px) {
  .grandTitle__en--large {
    font-size: clamp(20px, 6.667vw, 30px);
    margin-top: clamp(0px, 0vw, 0px);
  }
}
.grandTitle + P {
  margin-top: clamp(12.8px, 1.153vw, 19.2px);
}

.secondTitle__jp {
  font-size: clamp(20.8px, 1.873vw, 31.2px);
  margin-top: min(0.72vw, 12px);
}
@media screen and (max-width: 768px) {
  .secondTitle__jp {
    font-size: clamp(17.6px, 5.867vw, 26.4px);
    margin-top: min(0vw, 0px);
  }
}
.secondTitle + P {
  margin-top: clamp(16px, 1.441vw, 24px);
}

.thirdTitle__jp {
  font-size: clamp(17.6px, 1.585vw, 26.4px);
  margin-top: clamp(8px, 0.72vw, 12px);
}
@media screen and (max-width: 768px) {
  .thirdTitle__jp {
    font-size: clamp(17.6px, 5.867vw, 26.4px);
    margin-top: clamp(0px, 0vw, 0px);
  }
}
.thirdTitle + P {
  margin-top: clamp(16px, 1.441vw, 24px);
}

section:has(+ .c-breadcrumbs) {
  padding-bottom: min(5.764vw, 96px);
}
@media screen and (max-width: 768px) {
  section:has(+ .c-breadcrumbs) {
    padding-bottom: min(13.333vw, 60px);
  }
}
/*# sourceMappingURL=common.css.map */