.js-fadein {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 0;
  -webkit-transform: translateY(0.75rem);
  transform: translateY(0.75rem);
}
.js-fadein.-show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.site-bread-crumb-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow-x: scroll;
  white-space: nowrap;
}
.site-bread-crumb-list > .list {
  font-size: 0.8125rem;
  margin-right: 1em;
  padding-right: 2em;
  position: relative;
}
.site-bread-crumb-list > .list::after {
  font-family: "iconfonts";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  color: var(--color-grey);
  content: var(--icon-arrow-right);
  display: inline-block;
  font-size: 0.8125rem;
  position: absolute;
  top: 1em;
  right: 0;
}
.site-bread-crumb-list > .list:last-child::after {
  content: none;
}
.site-bread-crumb-list > .list > .item {
  color: #666666;
  display: block;
  font-size: 0.8125rem;
  padding: 1em 0;
}

.site-bread-crumb {
  background-color: var(--color-border);
}
.site-bread-crumb > .inner {
  margin-left: 6.7vw;
  position: relative;
  width: auto;
}
.site-bread-crumb > .inner::after {
  background: -webkit-gradient(linear, left top, right top, from(rgba(219, 219, 219, 0)), to(var(--color-border)));
  background: linear-gradient(to right, rgba(219, 219, 219, 0), var(--color-border));
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 2rem;
  z-index: 5;
}

.site-drawer {
  -webkit-transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, transform;
  transition-property: opacity, visibility, transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background-color: var(--color-project-beige);
  display: block;
  height: 100%;
  opacity: 0;
  overflow-x: hidden;
  overflow-y: scroll;
  padding: var(--header-height-small) 0 80px;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  visibility: hidden;
  width: 100%;
  z-index: 30;
}
.site-drawer.-open {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
  visibility: visible;
}

.site-extra-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 5.3vw 0 5.3vw;
  padding: 2.4166666667rem 0 0;
}
.site-extra-nav > .list {
  margin: 0 0 2.4166666667rem 0;
  width: 100%;
}
.site-extra-nav > .list.-shopping {
  margin-bottom: 0.5rem;
}
.site-extra-nav > .list > .item {
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-decoration: none;
}
.site-extra-nav > .list > .item:hover {
  color: var(--color-project-aqua);
}
.site-extra-nav > .list > .item.-popup::after {
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  font-family: "iconfonts";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  content: var(--icon-popup);
  color: #b0aeae;
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  margin-left: 0.25em;
}
.site-extra-nav > .list > .item.-popup:hover::after {
  color: var(--color-project-aqua);
}
.site-extra-nav > .list > .item.-shopping {
  background-color: var(--color-white);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  padding: 1em;
  text-align: center;
}
.site-extra-nav > .list > .item.-shopping::after {
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  font-family: "iconfonts";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  content: var(--icon-popup);
  color: #b0aeae;
  display: inline-block;
  font-size: 1rem;
  line-height: 1;
  margin-left: 0.25em;
}
.site-extra-nav > .list > .item.-shopping:hover {
  background-color: var(--color-project-aqua);
  color: var(--color-white);
}
.site-extra-nav > .list > .item.-shopping:hover::after {
  color: var(--color-white);
}

.site-global-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.site-global-nav > .list {
  width: 100%;
}
.site-global-nav > .list > .item {
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border-bottom: 1px solid #f2f2f2;
  color: var(--color-black);
  display: block;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  outline: none;
  padding: 2rem 5.3vw 2rem 5.3vw;
  position: relative;
  text-align: left;
  width: 100%;
}
.site-global-nav > .list > .item.-active, .site-global-nav > .list > .item:hover {
  color: var(--color-project-aqua);
}

.site-hamburger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  display: block;
  height: 55px;
  outline: none;
  position: relative;
  width: 55px;
  z-index: 100;
}
.site-hamburger > .icon {
  -webkit-transition-property: background;
  transition-property: background;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background-color: var(--color-black);
  display: block;
  height: 1px;
  position: absolute;
  top: 26px;
  left: 11px;
  width: 32px;
}
.site-hamburger > .icon::before, .site-hamburger > .icon::after {
  -webkit-transition-property: background, top, -webkit-transform;
  transition-property: background, top, -webkit-transform;
  transition-property: background, top, transform;
  transition-property: background, top, transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background-color: var(--color-black);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
}
.site-hamburger > .icon::before {
  top: -8px;
}
.site-hamburger > .icon::after {
  top: 8px;
}
.site-hamburger.-open > .icon {
  background: transparent;
}
.site-hamburger.-open > .icon::before, .site-hamburger.-open > .icon::after {
  top: 0;
}
.site-hamburger.-open > .icon::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.site-hamburger.-open > .icon::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.site-loading {
  background-color: #f2f2f2;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 100;
}
.site-loading > .element {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}
.site-loading > .element > .site-logo {
  -webkit-animation: loadingFader 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
  animation: loadingFader 1.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
  height: 1.3333333333rem;
  margin: auto;
  width: 5.5rem;
}

@-webkit-keyframes loadingFader {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes loadingFader {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.site-logo > img {
  height: 1.3333333333rem;
  width: 5.5rem;
}

.site-chapter {
  background-color: var(--color-project-beige);
}
.site-chapter > .inner {
  margin-right: 6.7vw;
  margin-left: 6.7vw;
  width: auto;
}
.site-chapter > .inner > .site-heading-ornament {
  margin-bottom: 0.25rem;
  padding-top: 3.1666666667rem;
}
.site-chapter > .inner > .site-heading-simple {
  padding-bottom: 2.6666666667rem;
}
.site-chapter + .site-block {
  margin-top: 4.5833333333rem;
}
.site-chapter + .site-block.-wide {
  margin-top: 8.75rem;
}

@supports (overflow: clip) {
  #site-container {
    overflow-x: clip;
  }
}
@supports not (overflow: clip) {
  #site-container {
    overflow: hidden;
  }
}
.site-header {
  -webkit-transition-property: background, opacity;
  transition-property: background, opacity;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background-color: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: var(--header-height-small);
  padding: 0 3.2vw 0 5.3vw;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: .25s;
}
.site-header::after {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--color-project-beige)), color-stop(50%, var(--color-project-beige)), to(rgba(227, 226, 222, 0)));
  background: linear-gradient(var(--color-project-beige), var(--color-project-beige) 50%, rgba(227, 226, 222, 0) 100%);
  content: "";
  display: block;
  height: var(--header-height-small);
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  visibility: hidden;
  z-index: 40;
  width: 100vw;
}
.site-header > .logo {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -ms-flex-item-align: center;
  align-self: center;
  position: relative;
  z-index: 50;
}
.site-header > .nav {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.site-header > .nav > .site-hamburger {
  -webkit-transition-property: background, opacity, visibility;
  transition-property: background, opacity, visibility;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
.site-header.-open::after {
  opacity: 1;
  visibility: visible;
}

.site-main {
  display: block;
  padding-top: var(--header-height-small);
}

@media screen and (min-width: 737px) and (max-width: 1024px) {
  .site-bread-crumb > .inner {
    padding-right: 3.65vw;
    padding-left: 3.65vw;
  }
}

@media screen and (min-width: 1023px) {
  .site-bread-crumb > .inner {
    padding-right: 7.3vw;
    padding-left: 7.3vw;
  }
}

