.accessGuide {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .accessGuide {
    width: 472px;
  }
}

.accessGuide__body {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .accessGuide__body {
    margin-top: -264px;
    width: 368px;
  }
}

@media screen and (max-width: 768px) {
  .accessGuide__body {
    margin-top: -192px;
    width: 210px;
  }
}

@media print, screen and (min-width: 768px) {
  .accessGuide__btn {
    margin: 80px auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .accessGuide__btn {
    margin-top: 56px;
  }
}

.conceptGuide {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media print, screen and (min-width: 768px) {
  .conceptGuide {
    gap: 120px;
  }
}

@media screen and (max-width: 768px) {
  .conceptGuide {
    gap: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .conceptGuide .guidanceHead {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .conceptGuide .guidanceHead {
    margin-top: 72px;
  }
}

.conceptGuide__ttl {
  color: #635954;
  display: inline-block;
  font-size: 50px;
  letter-spacing: .1em;
  line-height: 1;
  padding: 40px 13px;
  position: relative;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  z-index: 1;
}

.conceptGuide__ttl:before, .conceptGuide__ttl:after {
  content: '';
  display: block;
  height: 50px;
  position: absolute;
  width: 40px;
}

.conceptGuide__ttl:before {
  border-right: 1px solid #635954;
  border-top: 1px solid #635954;
  right: 0;
  top: 0;
}

.conceptGuide__ttl:after {
  border-bottom: 1px solid #635954;
  border-left: 1px solid #635954;
  bottom: 0;
  left: 0;
}

.conceptGuide__ttl .t {
  display: inline-block;
  -webkit-filter: blur(1em);
          filter: blur(1em);
  -webkit-transition: -webkit-filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.conceptGuide__ttl .t:nth-child(1) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.conceptGuide__ttl .t:nth-child(2) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.conceptGuide__ttl .t:nth-child(3) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.conceptGuide__ttl .t:nth-child(4) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.conceptGuide__ttl.sai-animate .t {
  -webkit-filter: blur(0);
          filter: blur(0);
}

.guidanceArea {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea {
    padding: 0 0 120px;
  }
}

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

.guidanceArea .scrollAssist {
  bottom: 0;
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity .8s ease, visibility .8s ease;
  transition: opacity .8s ease, visibility .8s ease;
  visibility: hidden;
  z-index: 3;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea .scrollAssist {
    right: 32px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea .scrollAssist {
    display: none;
  }
}

.guidanceArea .scrollAssist.is-fix {
  opacity: 1;
  position: fixed;
  visibility: visible;
}

.guidanceArea .scrollAssist.is-stop {
  bottom: 0;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__scroll {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__pcSticky {
    height: 100dvh;
    left: 0;
    position: sticky;
    top: 0;
    width: calc(720 / 1440 * 100vw);
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .guidanceArea__pcSticky {
    min-width: calc(720 / 1440 * 100vw);
    width: 720px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__pcSticky {
    display: none;
  }
}

.guidanceArea__stickWrap {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.guidanceArea__stickyItem {
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
  width: 100%;
}

.guidanceArea__stickyItem.is-active {
  opacity: 1;
  pointer-events: auto;
}

.guidanceArea__inner {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__inner {
    min-width: 720px;
    width: calc(720 / 1440 * 100vw);
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .guidanceArea__inner {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: inherit;
    width: auto;
  }
}

.guidanceArea__item {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__item {
    padding: calc(120 / 800 * 100vh) 0 calc(220 / 800 * 100vh);
  }
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__item--concept {
    min-height: calc(800 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--concept {
    min-height: 690px;
  }
}

.guidanceArea__item--concept:before {
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .guidanceArea__item--concept:before {
    background: url("../imgs/pc/bg-concept-01@1.5x.jpg") no-repeat top right/cover;
  }
}

@media screen and (max-width: 768px) {
  .guidanceArea__item--concept:before {
    background: url("../imgs/sp/bg-concept-01.jpg") no-repeat top left/cover;
  }
}

.guidanceBtn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-gradient(linear, left top, right top, from(#796948), color-stop(50%, #8a7853), to(#796948));
  background: linear-gradient(90deg, #796948 0%, #8a7853 50%, #796948 100%);
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 70px;
  outline: 1px solid #a59472;
  outline-offset: -5px;
  overflow: hidden;
  padding: 5px;
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .guidanceBtn {
    width: 326px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceBtn {
    width: 100%;
  }
}

.guidanceBtn:before {
  background: -webkit-gradient(linear, left top, right top, from(#e8e0a1), to(#a29740)) border-box border-box;
  background: linear-gradient(90deg, #e8e0a1 0%, #a29740 100%) border-box border-box;
  border: 1px solid transparent;
  bottom: 0;
  content: '';
  left: 0;
  -webkit-mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff)) border-box;
  -webkit-mask: linear-gradient(#ffffff 0 0) padding-box, linear-gradient(#ffffff 0 0) border-box;
  mask: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff)) padding-box, -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff)) border-box;
  mask: linear-gradient(#ffffff 0 0) padding-box, linear-gradient(#ffffff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: -1;
}

.guidanceBtn:after {
  background: linear-gradient(45deg, transparent 20%, rgba(255, 255, 255, 0.03) 30%, rgba(255, 255, 255, 0.08) 45%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0.08) 55%, rgba(255, 255, 255, 0.03) 70%, transparent 80%);
  content: '';
  height: 200%;
  left: -50%;
  position: absolute;
  top: -50%;
  -webkit-transform: translateX(-100%) translateY(-100%) rotate(45deg);
          transform: translateX(-100%) translateY(-100%) rotate(45deg);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 200%;
  z-index: 0;
}

.guidanceBtn__inner {
  padding: 10px 0 14px;
  position: relative;
  text-align: center;
  width: 276px;
  z-index: 2;
}

.guidanceBtn__ttl {
  color: #c9bc9c;
  font-family: "EB Garamond", serif;
  font-family: 16px;
  letter-spacing: .38em;
  line-height: .8;
}

.guidanceBtn__cont {
  margin-top: 8px;
  padding-top: 10px;
  position: relative;
  z-index: 1;
}

.guidanceBtn__cont:before {
  background-color: #a59472;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 100%;
}

.guidanceBtn__txt {
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1;
  -webkit-transition: text-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: text-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.guidanceBtn__txt .en {
  display: inline-block;
  font-family: "EB Garamond", serif;
  font-size: 16px;
  letter-spacing: .05em;
  line-height: .8;
  margin-right: 4px;
}

@media print, screen and (min-width: 768px) {
  .guidanceBtn:hover:after {
    -webkit-transform: translateX(100%) translateY(100%) rotate(45deg);
            transform: translateX(100%) translateY(100%) rotate(45deg);
  }
  .guidanceBtn:hover:before {
    opacity: .95;
  }
  .guidanceBtn:hover .guidanceBtn__cont:before {
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-box-shadow: 0 0 12px rgba(255, 255, 255, 0.3);
            box-shadow: 0 0 12px rgba(255, 255, 255, 0.3);
  }
  .guidanceBtn:hover .guidanceBtn__txt {
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.15);
  }
}

@media (hover: hover) and (pointer: fine) {
  .guidanceBtn:hover:after {
    -webkit-transform: translateX(100%) translateY(100%) rotate(45deg);
            transform: translateX(100%) translateY(100%) rotate(45deg);
  }
  .guidanceBtn:hover:before {
    opacity: .95;
  }
  .guidanceBtn:hover .guidanceBtn__cont:before {
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-box-shadow: 0 0 12px rgba(255, 255, 255, 0.3);
            box-shadow: 0 0 12px rgba(255, 255, 255, 0.3);
  }
  .guidanceBtn:hover .guidanceBtn__txt {
    text-shadow: 0 0 4px rgba(255, 255, 255, 0.15);
  }
}

.guidanceHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 40px;
}

@media print, screen and (min-width: 768px) {
  .guidanceHead {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (max-width: 768px) {
  .guidanceHead {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
}

.guidanceHead .b {
  display: inline-block;
  left: .7em;
  position: relative;
  top: -.7em;
}

.guidanceHead .num {
  display: inline-block;
  letter-spacing: 0;
  line-height: 1;
  padding-bottom: .125em;
  position: relative;
  text-align: center;
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
}

.guidanceHead .k-first,
.guidanceHead .k-end {
  display: inline-block;
  line-height: 1;
  text-align: center;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.guidanceHead__ttl {
  font-size: 26px;
  letter-spacing: .14em;
  line-height: 1.3846153846;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-mask-image: linear-gradient(192deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, black 30%, black 70%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
          mask-image: linear-gradient(192deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, black 30%, black 70%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-position: 0 580%;
          mask-position: 0 580%;
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  opacity: 0;
}

.guidanceHead__heading {
  font-size: 20px;
  letter-spacing: .1em;
  line-height: 1.8571428571;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-mask-image: linear-gradient(192deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, black 30%, black 70%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
          mask-image: linear-gradient(192deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, black 30%, black 70%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-position: 0 580%;
          mask-position: 0 580%;
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  opacity: 0;
}

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

.guidanceHead__txt {
  font-size: 14px;
  letter-spacing: .1em;
  line-height: 1.8;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-mask-image: linear-gradient(192deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, black 30%, black 70%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
          mask-image: linear-gradient(192deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 20%, black 30%, black 70%, rgba(0, 0, 0, 0) 80%, rgba(0, 0, 0, 0) 100%);
  -webkit-mask-position: 0 580%;
          mask-position: 0 580%;
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  opacity: 0;
}

.guidanceHead.sai-animate .guidanceHead__ttl {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: maskAnimation;
          animation-name: maskAnimation;
  -webkit-animation-timing-function: cubic-bezier(0, 0.4, 0.48, 1);
          animation-timing-function: cubic-bezier(0, 0.4, 0.48, 1);
}

.guidanceHead.sai-animate .guidanceHead__heading {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 4s;
          animation-duration: 4s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: maskAnimation;
          animation-name: maskAnimation;
  -webkit-animation-timing-function: cubic-bezier(0, 0.4, 0.48, 1);
          animation-timing-function: cubic-bezier(0, 0.4, 0.48, 1);
}

.guidanceHead.sai-animate .guidanceHead__txt {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-name: maskAnimation;
          animation-name: maskAnimation;
  -webkit-animation-timing-function: cubic-bezier(0, 0.4, 0.48, 1);
          animation-timing-function: cubic-bezier(0, 0.4, 0.48, 1);
}

@media print, screen and (min-width: 768px) {
  .guidanceSect__head {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .guidanceSect__cont {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect__cont {
    padding: 100px 32px 80px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceSect--concept .guidanceSect__cont {
    padding: 58px 32px 205px;
  }
}

.guidanceVisual {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.guidanceVisual__ttl {
  color: #ffffff;
  left: 50%;
  position: absolute;
  text-align: center;
  text-shadow: 0 0 8px #000000;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
}

.guidanceVisual__ttl .en {
  display: block;
  font-family: "EB Garamond", serif;
  letter-spacing: .3em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .guidanceVisual__ttl .en {
    font-size: 16px;
  }
}

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

.guidanceVisual__ttl .ja {
  display: block;
  letter-spacing: .1em;
  line-height: 1.4;
}

.guidanceVisual__ttl .ja:before {
  content: '';
  margin-top: calc((1 - 1.4) * .5em);
}

.guidanceVisual__ttl .ja:after {
  margin-bottom: calc((1 - 1.4) * .5em);
}

.guidanceVisual__ttl .ja:before, .guidanceVisual__ttl .ja:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .guidanceVisual__ttl .ja {
    font-size: 30px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceVisual__ttl .ja {
    font-size: 26px;
  }
}

.guidanceVisual__ttl .ja + .en {
  margin-top: 24px;
}

.guidanceVisual__bg {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .guidanceVisual__bg {
    height: 100%;
  }
}

@media screen and (max-width: 768px) {
  .guidanceVisual__bg {
    height: 260px;
  }
}

.guidanceVisual__bg .photo {
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.guidanceVisual__bg .photo__pic {
  height: 100%;
  width: 100%;
}

.guidanceVisual__bg .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .guidanceVisual__bg .photo__image {
    -webkit-transform: scale(1.3);
            transform: scale(1.3);
    -webkit-transition: -webkit-transform .4s ease 1s;
    transition: -webkit-transform .4s ease 1s;
    transition: transform .4s ease 1s;
    transition: transform .4s ease 1s, -webkit-transform .4s ease 1s;
  }
}

@media print, screen and (min-width: 768px) {
  .guidanceVisual--concept .guidanceVisual__ttl .en {
    font-size: 26px;
  }
}

@media screen and (max-width: 768px) {
  .guidanceVisual--concept .guidanceVisual__ttl .en {
    font-size: 20px;
  }
}

.guidanceVisual--leftToRight .guidanceVisual__bg .photo__image {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -o-object-position: 0% 0%;
     object-position: 0% 0%;
  -webkit-transition: object-position 10s ease-out, -webkit-filter .6s ease-out;
  transition: object-position 10s ease-out, -webkit-filter .6s ease-out;
  transition: object-position 10s ease-out, filter .6s ease-out;
  transition: object-position 10s ease-out, filter .6s ease-out, -o-object-position 10s ease-out, -webkit-filter .6s ease-out;
}

.guidanceVisual--leftToRight.sai-animate .guidanceVisual__bg .photo__image {
  -webkit-filter: blur(0);
          filter: blur(0);
  -o-object-position: 100% 0%;
     object-position: 100% 0%;
}

.guidanceVisual--rightToLeft .guidanceVisual__bg .photo__image {
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -o-object-position: 100% 0%;
     object-position: 100% 0%;
  -webkit-transition: object-position 10s ease-out, -webkit-filter .6s ease-out;
  transition: object-position 10s ease-out, -webkit-filter .6s ease-out;
  transition: object-position 10s ease-out, filter .6s ease-out;
  transition: object-position 10s ease-out, filter .6s ease-out, -o-object-position 10s ease-out, -webkit-filter .6s ease-out;
}

.guidanceVisual--rightToLeft.sai-animate .guidanceVisual__bg .photo__image {
  -webkit-filter: blur(0);
          filter: blur(0);
  -o-object-position: 0% 0%;
     object-position: 0% 0%;
}

.guidanceArea__stickyItem.is-active .guidanceVisual .photo__image {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 20s ease;
  transition: -webkit-transform 20s ease;
  transition: transform 20s ease;
  transition: transform 20s ease, -webkit-transform 20s ease;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.informationSect {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .informationSect {
    width: 784px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .informationSect {
    width: 100%;
  }
}

.informationSect__head {
  padding-bottom: 16px;
  position: relative;
  z-index: 1;
}

.informationSect__head:after {
  background-color: #efefef;
  bottom: 0;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.informationSect__ttl {
  font-family: "EB Garamond", serif;
  font-size: 16px;
  letter-spacing: .05em;
  line-height: 1;
}

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

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

@media screen and (max-width: 768px) {
  .informationSect__cont .entryBtn {
    margin-top: 65px;
  }
}

.informationSect__head + .informationSect__cont {
  margin-top: 32px;
}

.informationSect__newsList {
  display: grid;
  grid-template-columns: auto 1fr;
}

@media print, screen and (min-width: 768px) {
  .informationSect__newsList {
    gap: 24px 40px;
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__newsList {
    gap: 16px 32px;
  }
}

.informationSect__newsList .date {
  color: #917c3e;
  letter-spacing: .1em;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .informationSect__newsList .date {
    font-size: 13px;
    line-height: 2;
  }
  .informationSect__newsList .date:before {
    content: '';
    margin-top: calc((1 - 2) * .5em);
  }
  .informationSect__newsList .date:after {
    margin-bottom: calc((1 - 2) * .5em);
  }
  .informationSect__newsList .date:before, .informationSect__newsList .date:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__newsList .date {
    font-size: 12px;
    line-height: 1.6;
  }
  .informationSect__newsList .date:before {
    content: '';
    margin-top: calc((1 - 1.6) * .5em);
  }
  .informationSect__newsList .date:after {
    margin-bottom: calc((1 - 1.6) * .5em);
  }
  .informationSect__newsList .date:before, .informationSect__newsList .date:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

.informationSect__newsList .detail {
  letter-spacing: .1em;
}

@media print, screen and (min-width: 768px) {
  .informationSect__newsList .detail {
    font-size: 16px;
    line-height: 2;
  }
  .informationSect__newsList .detail:before {
    content: '';
    margin-top: calc((1 - 2) * .5em);
  }
  .informationSect__newsList .detail:after {
    margin-bottom: calc((1 - 2) * .5em);
  }
  .informationSect__newsList .detail:before, .informationSect__newsList .detail:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .informationSect__newsList .detail {
    font-size: 13px;
    line-height: 1.6;
  }
  .informationSect__newsList .detail:before {
    content: '';
    margin-top: calc((1 - 1.6) * .5em);
  }
  .informationSect__newsList .detail:after {
    margin-bottom: calc((1 - 1.6) * .5em);
  }
  .informationSect__newsList .detail:before, .informationSect__newsList .detail:after {
    content: '';
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__head {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media print, screen and (min-width: 768px) {
  .locationGuide__head .guidanceHead {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__head .guidanceHead {
    gap: 27px;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__body {
    width: 110px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationGuide__body .usableList__inner {
    gap: 32px;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__body .usableList__inner {
    display: block;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .locationGuide__body .usableList__item {
    width: 200px;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__body .usableList__item {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__body .usableList__item:not(:first-child) {
    margin-top: 32px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationGuide__body .descriptionCard__cont {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__body .descriptionCard__cont {
    margin-top: 12px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationGuide__head + .locationGuide__body {
    margin-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .locationGuide__btn {
    margin: 80px auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .locationGuide__btn {
    margin: 60px auto 0;
    width: 100%;
  }
}

.mainVisual {
  overflow: hidden;
  position: relative;
  will-change: opacity, visibility;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .mainVisual {
    height: 100vh;
    max-height: calc(800 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .mainVisual {
    height: 690px;
  }
}

.mainVisual .scrollAssist {
  bottom: 0;
  position: absolute;
  z-index: 3;
}

@media print, screen and (min-width: 768px) {
  .mainVisual .scrollAssist {
    right: 32px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual .scrollAssist {
    right: 22px;
  }
}

.mainVisual__replay, .mainVisual__skip {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  color: #635954;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6px;
  height: 26px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 8px 5px 8px 10px;
  position: absolute;
  -webkit-transition: opacity .6s ease;
  transition: opacity .6s ease;
  z-index: 10;
}

@media print, screen and (min-width: 768px) {
  .mainVisual__replay, .mainVisual__skip {
    bottom: 40px;
    left: 40px;
  }
}

@media screen and (max-width: 768px) {
  .mainVisual__replay, .mainVisual__skip {
    bottom: 48px;
    left: 24px;
  }
}

.mainVisual__replay .t, .mainVisual__skip .t {
  display: inline-block;
  font-family: "EB Garamond", serif;
  font-size: 16px;
  letter-spacing: .15em;
  letter-spacing: .05em;
  line-height: 1;
}

.mainVisual__replay .t:before, .mainVisual__skip .t:before {
  content: '';
  margin-top: calc((1 - 1) * .5em);
}

.mainVisual__replay .t:after, .mainVisual__skip .t:after {
  margin-bottom: calc((1 - 1) * .5em);
}

.mainVisual__replay .t:before, .mainVisual__replay .t:after, .mainVisual__skip .t:before, .mainVisual__skip .t:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.mainVisual__replay .icon, .mainVisual__skip .icon {
  display: block;
}

.mainVisual__replay .icon .svgIcon, .mainVisual__skip .icon .svgIcon {
  height: auto;
  width: 100%;
}

.mainVisual__replay:focus, .mainVisual__skip:focus {
  outline: 1px solid #4d90fe;
  outline-offset: 2px;
}

.mainVisual__replay.is-hidden, .mainVisual__skip.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.mainVisual__skip .icon {
  width: 16px;
}

.mainVisual__replay .icon {
  width: 8px;
}

@media print, screen and (min-width: 768px) {
  .planGuide__head {
    height: 400px;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__head {
    height: 260px;
  }
}

.planGuide__inner {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .planGuide__inner {
    width: 1200px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__inner {
    padding: 0 20px;
    width: 100%;
  }
}

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

@media print, screen and (min-width: 768px) {
  .planGuide__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 56px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 120px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__body {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

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

@media screen and (max-width: 768px) {
  .planGuide__body .guidanceHead {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media print, screen and (min-width: 768px) {
  .planGuide__body .madoriList {
    width: 784px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__body .madoriList {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__body .madoriList {
    margin: 40px -32px 0;
  }
}

@media print, screen and (min-width: 768px) {
  .planGuide__btn {
    margin: 0 0 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .planGuide__btn {
    margin: 56px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .planGuide__btn {
    margin-top: 56px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__head {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media print, screen and (min-width: 768px) {
  .positionGuide__head .guidanceHead {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__head .guidanceHead {
    gap: 27px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__body {
    width: 110px;
  }
}

@media print, screen and (min-width: 768px) {
  .positionGuide__body .usableList__inner {
    gap: 32px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__body .usableList__inner {
    display: block;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .positionGuide__body .usableList__item {
    width: 200px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__body .usableList__item {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__body .usableList__item:not(:first-child) {
    margin-top: 32px;
  }
}

@media print, screen and (min-width: 768px) {
  .positionGuide__body .descriptionCard__cont {
    margin-top: 16px;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__body .descriptionCard__cont {
    margin-top: 12px;
  }
}

@media print, screen and (min-width: 768px) {
  .positionGuide__head + .positionGuide__body {
    margin-top: 48px;
  }
}

@media print, screen and (min-width: 768px) {
  .positionGuide__btn {
    margin: 80px auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .positionGuide__btn {
    margin: 60px auto 0;
    width: 100%;
  }
}

.residenceGuide__head .guidanceHead {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .residenceGuide__body {
    margin: 48px auto 0;
    width: 472px;
  }
}

@media screen and (max-width: 768px) {
  .residenceGuide__body {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .residenceGuide__btn {
    margin: 80px auto 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .residenceGuide__btn {
    margin-top: 60px;
  }
}

.sceneWrap {
  bottom: 0;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.sceneWrap__inner {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 2;
}

.sceneIntro {
  background-color: #000000;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 1;
}

.sceneIntro__logo {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  will-change: opacity, visibility;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .sceneIntro__logo {
    width: calc(251 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .sceneIntro__logo {
    width: calc(307 / 780 * 100vw);
  }
}

.sceneIntro__logo .logo {
  height: auto;
  width: 100%;
}

.sceneLocation {
  height: 100%;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 1;
}

.sceneLocation__ttl {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  will-change: filter, opacity, visibility;
  z-index: 3;
}

@media print, screen and (min-width: 768px) {
  .sceneLocation__ttl {
    width: calc(591 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .sceneLocation__ttl {
    width: calc(231 / 780 * 100vw);
  }
}

.sceneLocation__image {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 2;
}

.sceneLocation__image .photo {
  height: 100%;
  width: 100%;
}

.sceneLocation__image .photo__pic, .sceneLocation__image .photo__image {
  height: 100%;
  width: 100%;
}

.sceneLocation__image .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}

.sceneArt {
  height: 100%;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 1;
}

.sceneArt__ttl {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  will-change: filter, opacity, visibility;
  z-index: 3;
}

@media print, screen and (min-width: 768px) {
  .sceneArt__ttl {
    width: calc(651 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .sceneArt__ttl {
    width: calc(232 / 780 * 100vw);
  }
}

.sceneArt__image {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 2;
}

.sceneArt__image .photo {
  height: 100%;
  width: 100%;
}

.sceneArt__image .photo__pic, .sceneArt__image .photo__image {
  height: 100%;
  width: 100%;
}

.sceneArt__image .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}

.sceneMaterial {
  height: 100%;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 1;
}

.sceneMaterial__ttl {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  will-change: filter, opacity, visibility;
  z-index: 3;
}

@media print, screen and (min-width: 768px) {
  .sceneMaterial__ttl {
    width: calc(640 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .sceneMaterial__ttl {
    width: calc(233 / 780 * 100vw);
  }
}

.sceneMaterial__image {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  will-change: opacity, visibility;
  z-index: 2;
}

.sceneMaterial__image .photo {
  height: 100%;
  width: 100%;
}

.sceneMaterial__image .photo__pic, .sceneMaterial__image .photo__image {
  height: 100%;
  width: 100%;
}

.sceneMaterial__image .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}

.sceneEnd {
  height: 100%;
  opacity: 0;
  position: relative;
  visibility: hidden;
  width: 100%;
  z-index: 1;
}

.sceneEnd__ttl {
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  will-change: filter, opacity, visibility;
  z-index: 4;
}

@media print, screen and (min-width: 768px) {
  .sceneEnd__ttl {
    width: calc(122 / 1440 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .sceneEnd__ttl {
    width: calc(136 / 780 * 100vw);
  }
}

.sceneEnd__image {
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.sceneEnd__image .photo {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .sceneEnd__image .photo {
    height: 100%;
  }
}

.sceneEnd__image .photo__pic, .sceneEnd__image .photo__image {
  height: 100%;
  width: 100%;
}

.sceneEnd__image .photo__image {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  will-change: filter, transform;
}

.sceneEnd__image .capIn {
  bottom: 0;
  left: 0;
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.scrollAssist {
  color: #ffffff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.scrollAssist__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}

.scrollAssist__bar {
  background-color: rgba(217, 217, 217, 0.5);
  height: 100px;
  position: relative;
  width: 1px;
  z-index: 1;
}

.scrollAssist__bar:before {
  -webkit-animation: scroll 2s infinite linear;
          animation: scroll 2s infinite linear;
  background-color: #d9d9d9;
  content: '';
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 1px;
}

.scrollAssist__txt {
  display: inline-block;
  font-family: "EB Garamond", serif;
  font-size: 14px;
  letter-spacing: .05em;
  line-height: 1;
  -webkit-writing-mode: sideways-rl;
      -ms-writing-mode: sideways-rl;
          writing-mode: sideways-rl;
}

.scrollAssist--guidance {
  color: #917c3e;
}

.scrollAssist--guidance .scrollAssist__bar {
  background-color: rgba(217, 217, 217, 0.5);
}

.scrollAssist--guidance .scrollAssist__bar:before {
  background-color: #917c3e;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 48px 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media print, screen and (min-width: 768px) {
  .uspArea__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    min-width: 326px;
  }
}

@media screen and (max-width: 768px) {
  .uspArea__item:not(:first-child) {
    margin-top: 32px;
  }
}

.uspCard {
  padding-bottom: 32px;
  position: relative;
  text-align: center;
  white-space: nowrap;
  z-index: 1;
}

.uspCard:after {
  background: #cccccc;
  bottom: 0;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  width: 100%;
}

.uspCard__heading {
  color: #887855;
  font-size: 18px;
  letter-spacing: .1em;
  line-height: 1.6;
}

.uspCard__heading:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.uspCard__heading:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.uspCard__heading:before, .uspCard__heading:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspCard__heading sup {
  font-size: 10px;
}

.uspCard__txt {
  font-size: 18px;
  letter-spacing: .1em;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
  line-height: 2;
}

.uspCard__txt:before {
  content: '';
  margin-top: calc((1 - 2) * .5em);
}

.uspCard__txt:after {
  margin-bottom: calc((1 - 2) * .5em);
}

.uspCard__txt:before, .uspCard__txt:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspCard__txt .ruby {
  display: block;
  text-align: left;
  line-height: 1.6;
}

.uspCard__txt .ruby:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.uspCard__txt .ruby:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.uspCard__txt .ruby:before, .uspCard__txt .ruby:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .uspCard__txt .ruby {
    font-size: 11px;
  }
}

@media screen and (max-width: 768px) {
  .uspCard__txt .ruby {
    font-size: 12px;
    padding-left: .5em;
  }
}

.uspCard__txt .small {
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
}

.uspCard__txt .small:before {
  content: '';
  margin-top: calc((1 - 1.6) * .5em);
}

.uspCard__txt .small:after {
  margin-bottom: calc((1 - 1.6) * .5em);
}

.uspCard__txt .small:before, .uspCard__txt .small:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspCard__txt .large {
  display: inline-block;
  font-size: 24px;
  line-height: 1.4;
}

.uspCard__txt .large:before {
  content: '';
  margin-top: calc((1 - 1.4) * .5em);
}

.uspCard__txt .large:after {
  margin-bottom: calc((1 - 1.4) * .5em);
}

.uspCard__txt .large:before, .uspCard__txt .large:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspCard__txt .medium {
  display: inline-block;
  font-size: 20px;
  line-height: 1.4;
}

.uspCard__txt .medium:before {
  content: '';
  margin-top: calc((1 - 1.4) * .5em);
}

.uspCard__txt .medium:after {
  margin-bottom: calc((1 - 1.4) * .5em);
}

.uspCard__txt .medium:before, .uspCard__txt .medium:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.uspCard__txt .num {
  display: inline-block;
  font-family: "EB Garamond", serif;
  font-size: 36px;
  letter-spacing: .05em;
  line-height: .8;
}

.uspCard__txt .num.small {
  font-size: 30px;
  letter-spacing: .1em;
}

.uspCard__txt .ldk {
  display: inline-block;
  font-family: "EB Garamond", serif;
  font-size: 22px;
  letter-spacing: .1em;
  line-height: .8;
}

.uspCard__heading + .uspCard__txt {
  margin-top: 16px;
}

@media print, screen and (min-width: 768px) {
  .top-usp {
    padding: 80px 100px;
  }
}

@media screen and (max-width: 768px) {
  .top-usp {
    padding: 72px 0;
  }
}

.top-information {
  background-color: #ffffff;
}

@media print, screen and (min-width: 768px) {
  .top-information {
    padding: 100px 0;
  }
}

@media screen and (max-width: 768px) {
  .top-information {
    padding: 80px 0;
  }
}
