@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

/*
 * スタイルを変更する画面幅の定義
 * sm: モバイル端末を想定
 * md: タブレット端末を想定
 * lg: ラップトップ、デスクトップ端末を想定
 */
/*
 * メディアクエリでスタイルを定義するためのmixin
 * @param $breakpoint variablesのbreakpointsで定義した閾値
 * @param $minmax 閾値以上か以下どちらでスタイルを適用するかを判断するための値 (min / max)
 */
/*
 * 要素のアスペクト比を、渡された幅・高さの比率で固定するmixin
 * @param $width 要素の幅
 * @param $height 要素の高さ
 */
/*
 * 要素のアスペクト比を、渡された幅・高さの比率で固定するmixin
 * @param $column カラム数
 * @param $base カラムの幅
 * @param $gutter ガーターの幅
 * @param $lg_offset mediaがlgの場合の左右のオフセット
 * @param $sm_offset mediaがsmの場合の左右のオフセット
 */
@-webkit-keyframes sweep {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }
@keyframes sweep {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@-webkit-keyframes loaded {
  0% {
    background: #c5b37f;
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes loaded {
  0% {
    background: #c5b37f;
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes bottom-arrow-bar1 {
  0% {
    height: 0; }
  100% {
    height: 100%; } }

@keyframes bottom-arrow-bar1 {
  0% {
    height: 0; }
  100% {
    height: 100%; } }

@-webkit-keyframes bottom-arrow-bar2 {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

@keyframes bottom-arrow-bar2 {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

@-webkit-keyframes right-arrow-bar1 {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

@keyframes right-arrow-bar1 {
  0% {
    width: 0; }
  100% {
    width: 100%; } }

@-webkit-keyframes right-arrow-bar2 {
  0% {
    width: 0; }
  100% {
    width: 22px; } }

@keyframes right-arrow-bar2 {
  0% {
    width: 0; }
  100% {
    width: 22px; } }

@-webkit-keyframes right-arrow-bar3 {
  0% {
    width: 0; }
  100% {
    width: 16px; } }

@keyframes right-arrow-bar3 {
  0% {
    width: 0; }
  100% {
    width: 16px; } }

@-webkit-keyframes SlideInFromBottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@keyframes SlideInFromBottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px); } }

@-webkit-keyframes SlideInFromLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  to {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px); } }

@keyframes SlideInFromLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  to {
    opacity: 1;
    -webkit-transform: translateX(0px);
            transform: translateX(0px); } }

@-webkit-keyframes heroSlideIn {
  from {
    -webkit-transform: scale(1);
            transform: scale(1); }
  to {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); } }

@keyframes heroSlideIn {
  from {
    -webkit-transform: scale(1);
            transform: scale(1); }
  to {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); } }

@-webkit-keyframes bar1 {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(0);
            transform: scaleY(0); }
  33% {
    opacity: 1;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }
  66% {
    opacity: 1;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }
  100% {
    opacity: 0;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

@keyframes bar1 {
  0% {
    opacity: 1;
    -webkit-transform: scaleY(0);
            transform: scaleY(0); }
  33% {
    opacity: 1;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }
  66% {
    opacity: 1;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); }
  100% {
    opacity: 0;
    -webkit-transform: scaleY(1);
            transform: scaleY(1); } }

@-webkit-keyframes bar2 {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-45deg) scaleX(0);
            transform: rotate(-45deg) scaleX(0); }
  33% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scaleX(0);
            transform: rotate(-45deg) scaleX(0); }
  66% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scaleX(1);
            transform: rotate(-45deg) scaleX(1); }
  100% {
    opacity: 0;
    -webkit-transform: rotate(-45deg) scaleX(1);
            transform: rotate(-45deg) scaleX(1); } }

@keyframes bar2 {
  0% {
    opacity: 0;
    -webkit-transform: rotate(-45deg) scaleX(0);
            transform: rotate(-45deg) scaleX(0); }
  33% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scaleX(0);
            transform: rotate(-45deg) scaleX(0); }
  66% {
    opacity: 1;
    -webkit-transform: rotate(-45deg) scaleX(1);
            transform: rotate(-45deg) scaleX(1); }
  100% {
    opacity: 0;
    -webkit-transform: rotate(-45deg) scaleX(1);
            transform: rotate(-45deg) scaleX(1); } }

html {
  font-family: "sofia-pro";
  font-size: 62.5%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
max-width: 100%;
overflow-x: hidden;}

body {
  font-size: 1.6rem;
  color: #191919;
  background: #fbfbfb;
  max-width: 100%;  }
  @media screen and (max-width: 480px) {
    body {
      font-size: 1.4rem; } }

a,
button {
  text-decoration: none; }
  a:hover,
  button:hover {
    color: #c5b37f; }

.sitemsp-list li {
  display: block;
  border: 1px solid #c0c0c0; }
  .sitemsp-list li + li {
    margin-top: 12px; }

.sitemsp-list a {
  color: #191919;
  display: block;
  padding: 1rem 1.5rem;
  -webkit-transition: background ease 0.2s;
  transition: background ease 0.2s; }
  .sitemsp-list a:hover {
    background: #c5b37f;
    color: #ffffff; }

.text-gold {
  color: #c5b37f; }

.text-center {
  text-align: center; }

@media screen and (max-width: 480px) {
  .sm-text-center {
    text-align: center; } }

.prepend-external {
  display: inline-block;
  color: #191919; }
  .prepend-external::before {
    display: inline-block;
    content: url(https://images.ctfassets.net/uoecnmts6wfs/3vYCK0LUj087arfxab42x9/0433759b81d0e90e9548ab81efd99ca4/icon-external.svg);
    height: 1em;
    width: 1em;
    vertical-align: top;
    margin-right: 4px; }
  .prepend-external:hover {
    text-decoration: underline;
    color: #c5b37f; }
    .prepend-external:hover::before {
      content: url(https://images.ctfassets.net/uoecnmts6wfs/WkSag37mmv5lOsWxTXFCY/a277a8eebe6e0e85960e5719de0db612/icon-external-gold.svg); }
.ais-InfiniteHits-loadMore{
  width: 100%;
}
.append-external {
  display: inline-block;
  color: #191919; }
  .append-external::after {
    display: inline-block;
    content: url(https://images.ctfassets.net/uoecnmts6wfs/3vYCK0LUj087arfxab42x9/0433759b81d0e90e9548ab81efd99ca4/icon-external.svg);
    height: 1em;
    width: 1em;
    vertical-align: top;
    margin-left: 4px; }
  .append-external:hover {
    text-decoration: underline;
    color: #c5b37f; }
    .append-external:hover::after {
      content: url(https://images.ctfassets.net/uoecnmts6wfs/WkSag37mmv5lOsWxTXFCY/a277a8eebe6e0e85960e5719de0db612/icon-external-gold.svg); }

.external-link {
  display: inline-block;
  text-decoration: underline;
  color: #191919;
  position: relative;
  padding-right: 1.6em; }
  .external-link:after {
    content: url("https://images.ctfassets.net/uoecnmts6wfs/3vYCK0LUj087arfxab42x9/0433759b81d0e90e9548ab81efd99ca4/icon-external.svg");
    display: block;
    height: 1em;
    width: 1em;
    position: absolute;
    right: 0;
    top: 0; }
  .external-link:hover {
    text-decoration: none; }

.widget {
  margin: 100px 0;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    .widget {
      margin: 54px 0; } }

.overlay::after {
  content: '';
  background: rgba(0, 0, 0, 0.45);
  display: block;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0; }

@media screen and (max-width: 768px) {
  .overlay-md::after {
    content: '';
    background: rgba(0, 0, 0, 0.45);
    display: block;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-animation: loaded 0.36s 1 linear;
            animation: loaded 0.36s 1 linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s; } }

@media screen and (max-width: 480px) {
  .overlay-sm::after {
    content: '';
    background: rgba(0, 0, 0, 0.45);
    display: block;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-animation: loaded 0.36s 1 linear;
            animation: loaded 0.36s 1 linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s; } }

.band {
  position: relative; }
  .band > * {
    position: relative;
    z-index: 10; }
  .band::after {
    content: '';
    display: block;
    width: 100vw;
    height: calc(100% - 224px);
    min-height: 50%;
    position: absolute;
    background: #f4f3ec;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 1; }
    @media screen and (max-width: 480px) {
      .band::after {
        height: calc(100% - 148px); } }

.content-footer-button {
  margin: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.lazyload {
  opacity: 0; }

.loaded {
  -webkit-animation: loaded 0.36s 1 linear;
          animation: loaded 0.36s 1 linear;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 0s;
          animation-delay: 0s; }

.page-hero-image .lazyload {
  opacity: 1; }

.page-hero-image .loaded {
  -webkit-animation: inherit;
          animation: inherit;
  -webkit-animation-delay: 0s;
          animation-delay: 0s; }

.divider {
  border: none;
  display: block;
  height: 1px;
  background: #c0c0c0; }

a.underline {
  text-decoration: underline;
  word-break: break-all;
}
  a.underline:hover {
    text-decoration: underline; }

@media screen and (max-width: 480px) {
  .hidden-sm {
    display: none !important; } }

@media screen and (min-width: 480px) {
  .hidden-lg {
    display: none !important; } }

#CDSWIDSSP {
  width: 100% !important; }

@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color: #007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }

/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px; }
  .swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
  .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10; }
  .swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */ }
  .swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory; }

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */ }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 10; }
  .swiper-pagination.swiper-pagination-hidden {
    opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transform: scale(0.33);
            transform: scale(0.33);
    position: relative; }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    -webkit-transform: scale(1);
            transform: scale(1); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    -webkit-transform: scale(1);
            transform: scale(1); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    -webkit-transform: scale(0.66);
            transform: scale(0.66); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    -webkit-transform: scale(0.33);
            transform: scale(0.33); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    -webkit-transform: scale(0.66);
            transform: scale(0.66); }
  .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    -webkit-transform: scale(0.33);
            transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }
  button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
  .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
          transform: translate3d(0px, -50%, 0); }
  .swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 6px 0;
    display: block; }
  .swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 8px; }
    .swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
      display: inline-block;
      -webkit-transition: 200ms top, 200ms -webkit-transform;
      transition: 200ms top, 200ms -webkit-transform;
      transition: 200ms transform, 200ms top;
      transition: 200ms transform, 200ms top, 200ms -webkit-transform; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap; }
  .swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    -webkit-transition: 200ms left, 200ms -webkit-transform;
    transition: 200ms left, 200ms -webkit-transform;
    transition: 200ms transform, 200ms left;
    transition: 200ms transform, 200ms left, 200ms -webkit-transform; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform; }

/* Progress */
.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }
  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: left top;
            transform-origin: left top; }
  .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    -webkit-transform-origin: right top;
            transform-origin: right top; }
  .swiper-container-horizontal > .swiper-pagination-progressbar,
  .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0; }
  .swiper-container-vertical > .swiper-pagination-progressbar,
  .swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color: #ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color: #000000; }

.swiper-pagination-lock {
  display: none; }

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */ }

.swiper-button-prev, .swiper-button-next {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  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;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }
  .swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none; }
  .swiper-button-prev:after, .swiper-button-next:after {
    font-family: swiper-icons !important;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }
  .swiper-button-prev:after,
  .swiper-container-rtl .swiper-button-next:after {
    content: 'prev'; display: block !important;}

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }
  .swiper-button-next:after,
  .swiper-container-rtl .swiper-button-prev:after {
    content: 'next'; }

.swiper-button-prev.swiper-button-white,
.swiper-button-next.swiper-button-white {
  --swiper-navigation-color: #ffffff; }

.swiper-button-prev.swiper-button-black,
.swiper-button-next.swiper-button-black {
  --swiper-navigation-color: #000000; }

.swiper-button-lock {
  display: none; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity; }
  .swiper-container-fade .swiper-slide .swiper-slide {
    pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.image {
  overflow: hidden;
  display: block;
  background: #c5b37f;
  position: relative;
  width: 100%;
  height: auto;
  min-height: 20px; }
  .image.square {
    position: relative; }
    .image.square:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    .image.square > * {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    .image.square img,
    .image.square source {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
    .image.square iframe {
      width: 100%;
      height: 100%; }
  .image.horizontal {
    position: relative; }
    .image.horizontal:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 66.66667%; }
    .image.horizontal > * {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    .image.horizontal img,
    .image.horizontal source {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
    .image.horizontal iframe {
      width: 100%;
      height: 100%; }
  .image.vertical {
    position: relative; }
    .image.vertical:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 150%; }
    .image.vertical > * {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    .image.vertical img,
    .image.vertical source {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
    .image.vertical iframe {
      width: 100%;
      height: 100%; }
  .image.full-height {
    height: 100%; }
  @media screen and (max-width: 480px) {
    .image.sm-square {
      position: relative; }
      .image.sm-square:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 100%; }
      .image.sm-square > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.sm-square img,
      .image.sm-square source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.sm-square iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 480px) {
    .image.sm-horizontal {
      position: relative; }
      .image.sm-horizontal:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 66.66667%; }
      .image.sm-horizontal > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.sm-horizontal img,
      .image.sm-horizontal source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.sm-horizontal iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 480px) {
    .image.sm-vertical {
      position: relative; }
      .image.sm-vertical:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 150%; }
      .image.sm-vertical > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.sm-vertical img,
      .image.sm-vertical source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.sm-vertical iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 480px) {
    .image.sm-free:before {
      display: none; }
    .image.sm-free > * {
      position: relative;
      top: inherit;
      left: inherit;
      right: inherit;
      bottom: inherit; }
    .image.sm-free img,
    .image.sm-free source {
      -o-object-fit: contain;
         object-fit: contain;
      font-family: "object-fit: contain";
      width: 100%;
      min-height: 20px;
      height: auto; } }
  .image.round {
    position: relative;
    border-radius: 1000px;
    overflow: hidden; }
    .image.round:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    .image.round > * {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    .image.round img,
    .image.round source {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
    .image.round iframe {
      width: 100%;
      height: 100%; }
  .image img {
    -webkit-transition: -webkit-transform ease-out 0.5s;
    transition: -webkit-transform ease-out 0.5s;
    transition: transform ease-out 0.5s;
    transition: transform ease-out 0.5s, -webkit-transform ease-out 0.5s;
    vertical-align: bottom;
    width: 100%; }
  @media screen and (max-width: 480px) {
    .image.sm-square {
      position: relative; }
      .image.sm-square:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 100%; }
      .image.sm-square > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.sm-square img,
      .image.sm-square source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.sm-square iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 768px) {
    .image.md-square {
      position: relative; }
      .image.md-square:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 100%; }
      .image.md-square > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.md-square img,
      .image.md-square source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.md-square iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 960px) {
    .image.lg-square {
      position: relative; }
      .image.lg-square:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 100%; }
      .image.lg-square > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.lg-square img,
      .image.lg-square source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.lg-square iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 480px) {
    .image.sm-horizontal {
      position: relative; }
      .image.sm-horizontal:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 66.66667%; }
      .image.sm-horizontal > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.sm-horizontal img,
      .image.sm-horizontal source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.sm-horizontal iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 768px) {
    .image.md-horizontal {
      position: relative; }
      .image.md-horizontal:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 66.66667%; }
      .image.md-horizontal > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.md-horizontal img,
      .image.md-horizontal source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.md-horizontal iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (max-width: 960px) {
    .image.lg-horizontal {
      position: relative; }
      .image.lg-horizontal:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 66.66667%; }
      .image.lg-horizontal > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image.lg-horizontal img,
      .image.lg-horizontal source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image.lg-horizontal iframe {
        width: 100%;
        height: 100%; } }

.video-thumbnail {
  display: block;
  position: relative; }
  .video-thumbnail-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: auto;
    height: 30%;
    fill: #ffffff;
    -webkit-transition: fill ease 0.4s;
    transition: fill ease 0.4s;
    z-index: 10;
    max-height: 100px; }
  .video-thumbnail .overlay::after {
    -webkit-transition: opacity ease 0.4s;
    transition: opacity ease 0.4s; }
  .video-thumbnail:hover {
    cursor: pointer; }
    .video-thumbnail:hover .video-thumbnail-icon {
      fill: #c5b37f; }
    .video-thumbnail:hover .overlay::after {
      opacity: 0; }

.margin-xs {
  margin: 16px !important; }
  @media screen and (max-width: 480px) {
    .margin-xs {
      margin: 12px !important; } }

.margin-s {
  margin: 24px !important; }
  @media screen and (max-width: 480px) {
    .margin-s {
      margin: 16px !important; } }

.margin-m {
  margin: 40px !important; }
  @media screen and (max-width: 480px) {
    .margin-m {
      margin: 24px !important; } }

.margin-l {
  margin: 60px !important; }
  @media screen and (max-width: 480px) {
    .margin-l {
      margin: 30px !important; } }

.margin-xl {
  margin: 96px !important; }
  @media screen and (max-width: 480px) {
    .margin-xl {
      margin: 60px !important; } }

.margin-10 {
  margin: 10px !important; }

.margin-12 {
  margin: 12px !important; }

.margin-16 {
  margin: 16px !important; }

.margin-20 {
  margin: 20px !important; }

.margin-24 {
  margin: 24px !important; }

.margin-30 {
  margin: 30px !important; }

.margin-36 {
  margin: 36px !important; }

.margin-40 {
  margin: 40px !important; }

.margin-48 {
  margin: 48px !important; }

.margin-50 {
  margin: 50px !important; }

.margin-60 {
  margin: 60px !important; }

.margin-top-xs {
  margin-top: 16px !important; }
  @media screen and (max-width: 480px) {
    .margin-top-xs {
      margin-top: 12px !important; } }

.margin-top-s {
  margin-top: 26px !important; }
  @media screen and (max-width: 480px) {
    .margin-top-s {
      margin-top: 16px !important; } }

.margin-top-m {
  margin-top: 40px !important; }
  @media screen and (max-width: 480px) {
    .margin-top-m {
      margin-top: 24px !important; } }

.margin-top-l {
  margin-top: 60px !important; }
  @media screen and (max-width: 480px) {
    .margin-top-l {
      margin-top: 30px !important; } }

.margin-top-xl {
  margin-top: 96px !important; }
  @media screen and (max-width: 480px) {
    .margin-top-xl {
      margin-top: 60px !important; } }

.margin-top-10 {
  margin-top: 10px !important; }

.margin-top-12 {
  margin-top: 12px !important; }

.margin-top-16 {
  margin-top: 16px !important; }

.margin-top-20 {
  margin-top: 20px !important; }

.margin-top-24 {
  margin-top: 24px !important; }

.margin-top-30 {
  margin-top: 30px !important; }

.margin-top-36 {
  margin-top: 36px !important; }

.margin-top-40 {
  margin-top: 40px !important; }

.margin-top-48 {
  margin-top: 48px !important; }

.margin-top-50 {
  margin-top: 50px !important; }

.margin-top-60 {
  margin-top: 60px !important; }

.margin-right-xs {
  margin-right: 16px !important; }
  @media screen and (max-width: 480px) {
    .margin-right-xs {
      margin-right: 12px !important; } }

.margin-right-s {
  margin-right: 24px !important; }
  @media screen and (max-width: 480px) {
    .margin-right-s {
      margin-right: 16px !important; } }

.margin-right-m {
  margin-right: 40px !important; }
  @media screen and (max-width: 480px) {
    .margin-right-m {
      margin-right: 24px !important; } }

.margin-right-l {
  margin-right: 60px !important; }
  @media screen and (max-width: 480px) {
    .margin-right-l {
      margin-right: 30px !important; } }

.margin-right-xl {
  margin-right: 96px !important; }
  @media screen and (max-width: 480px) {
    .margin-right-xl {
      margin-right: 60px !important; } }

.margin-right-10 {
  margin-right: 10px !important; }

.margin-right-12 {
  margin-right: 12px !important; }

.margin-right-16 {
  margin-right: 16px !important; }

.margin-right-20 {
  margin-right: 20px !important; }

.margin-right-24 {
  margin-right: 24px !important; }

.margin-right-30 {
  margin-right: 30px !important; }

.margin-right-36 {
  margin-right: 36px !important; }

.margin-right-40 {
  margin-right: 40px !important; }

.margin-right-48 {
  margin-right: 48px !important; }

.margin-right-50 {
  margin-right: 50px !important; }

.margin-right-60 {
  margin-right: 60px !important; }

.margin-bottom-xs {
  margin-bottom: 16px !important; }
  @media screen and (max-width: 480px) {
    .margin-bottom-xs {
      margin-bottom: 12px !important; } }

.margin-bottom-s {
  margin-bottom: 24px !important; }
  @media screen and (max-width: 480px) {
    .margin-bottom-s {
      margin-bottom: 16px !important; } }

.margin-bottom-m {
  margin-bottom: 40px !important; }
  @media screen and (max-width: 480px) {
    .margin-bottom-m {
      margin-bottom: 24px !important; } }

.margin-bottom-l {
  margin-bottom: 60px !important; }
  @media screen and (max-width: 480px) {
    .margin-bottom-l {
      margin-bottom: 30px !important; } }

.margin-bottom-xl {
  margin-bottom: 96px !important; }
  @media screen and (max-width: 480px) {
    .margin-bottom-xl {
      margin-bottom: 60px !important; } }

.margin-bottom-10 {
  margin-bottom: 10px !important; }

.margin-bottom-12 {
  margin-bottom: 12px !important; }

.margin-bottom-16 {
  margin-bottom: 16px !important; }

.margin-bottom-20 {
  margin-bottom: 20px !important; }

.margin-bottom-24 {
  margin-bottom: 24px !important; }

.margin-bottom-30 {
  margin-bottom: 30px !important; }

.margin-bottom-36 {
  margin-bottom: 36px !important; }

.margin-bottom-40 {
  margin-bottom: 40px !important; }

.margin-bottom-48 {
  margin-bottom: 48px !important; }

.margin-bottom-50 {
  margin-bottom: 50px !important; }

.margin-bottom-60 {
  margin-bottom: 60px !important; }

.margin-left-xs {
  margin-left: 16px !important; }
  @media screen and (max-width: 480px) {
    .margin-left-xs {
      margin-left: 12px !important; } }

.margin-left-s {
  margin-left: 24px !important; }
  @media screen and (max-width: 480px) {
    .margin-left-s {
      margin-left: 16px !important; } }

.margin-left-m {
  margin-left: 40px !important; }
  @media screen and (max-width: 480px) {
    .margin-left-m {
      margin-left: 24px !important; } }

.margin-left-l {
  margin-left: 60px !important; }
  @media screen and (max-width: 480px) {
    .margin-left-l {
      margin-left: 30px !important; } }

.margin-left-xl {
  margin-left: 96px !important; }
  @media screen and (max-width: 480px) {
    .margin-left-xl {
      margin-left: 60px !important; } }

.margin-left-10 {
  margin-left: 10px !important; }

.margin-left-12 {
  margin-left: 12px !important; }

.margin-left-16 {
  margin-left: 16px !important; }

.margin-left-20 {
  margin-left: 20px !important; }

.margin-left-24 {
  margin-left: 24px !important; }

.margin-left-30 {
  margin-left: 30px !important; }

.margin-left-36 {
  margin-left: 36px !important; }

.margin-left-40 {
  margin-left: 40px !important; }

.margin-left-48 {
  margin-left: 48px !important; }

.margin-left-50 {
  margin-left: 50px !important; }

.margin-left-60 {
  margin-left: 60px !important; }

.padding-xs {
  padding: 16px !important; }
  @media screen and (max-width: 480px) {
    .padding-xs {
      padding: 12px !important; } }

.padding-s {
  padding: 24px !important; }
  @media screen and (max-width: 480px) {
    .padding-s {
      padding: 16px !important; } }

.padding-m {
  padding: 40px !important; }
  @media screen and (max-width: 480px) {
    .padding-m {
      padding: 24px !important; } }

.padding-l {
  padding: 60px !important; }
  @media screen and (max-width: 480px) {
    .padding-l {
      padding: 30px !important; } }

.padding-xl {
  padding: 96px !important; }
  @media screen and (max-width: 480px) {
    .padding-xl {
      padding: 60px !important; } }

.padding-10 {
  padding: 10px !important; }

.padding-12 {
  padding: 12px !important; }

.padding-16 {
  padding: 16px !important; }

.padding-20 {
  padding: 20px !important; }

.padding-24 {
  padding: 24px !important; }

.padding-30 {
  padding: 30px !important; }

.padding-36 {
  padding: 36px !important; }

.padding-40 {
  padding: 40px !important; }

.padding-48 {
  padding: 48px !important; }

.padding-50 {
  padding: 50px !important; }

.padding-60 {
  padding: 60px !important; }

.padding-top-xs {
  padding-top: 16px !important; }
  @media screen and (max-width: 480px) {
    .padding-top-xs {
      padding-top: 12px !important; } }

.padding-top-s {
  padding-top: 24px !important; }
  @media screen and (max-width: 480px) {
    .padding-top-s {
      padding-top: 16px !important; } }

.padding-top-m {
  padding-top: 40px !important; }
  @media screen and (max-width: 480px) {
    .padding-top-m {
      padding-top: 24px !important; } }

.padding-top-l {
  padding-top: 60px !important; }
  @media screen and (max-width: 480px) {
    .padding-top-l {
      padding-top: 30px !important; } }

.padding-top-xl {
  padding-top: 96px !important; }
  @media screen and (max-width: 480px) {
    .padding-top-xl {
      padding-top: 60px !important; } }

.padding-top-10 {
  padding-top: 10px !important; }

.padding-top-12 {
  padding-top: 12px !important; }

.padding-top-16 {
  padding-top: 16px !important; }

.padding-top-20 {
  padding-top: 20px !important; }

.padding-top-24 {
  padding-top: 24px !important; }

.padding-top-30 {
  padding-top: 30px !important; }

.padding-top-36 {
  padding-top: 36px !important; }

.padding-top-40 {
  padding-top: 40px !important; }

.padding-top-48 {
  padding-top: 48px !important; }

.padding-top-50 {
  padding-top: 50px !important; }

.padding-top-60 {
  padding-top: 60px !important; }

.padding-right-xs {
  padding-right: 16px !important; }
  @media screen and (max-width: 480px) {
    .padding-right-xs {
      padding-right: 12px !important; } }

.padding-right-s {
  padding-right: 24px !important; }
  @media screen and (max-width: 480px) {
    .padding-right-s {
      padding-right: 16px !important; } }

.padding-right-m {
  padding-right: 40px !important; }
  @media screen and (max-width: 480px) {
    .padding-right-m {
      padding-right: 24px !important; } }

.padding-right-l {
  padding-right: 60px !important; }
  @media screen and (max-width: 480px) {
    .padding-right-l {
      padding-right: 30px !important; } }

.padding-right-xl {
  padding-right: 96px !important; }
  @media screen and (max-width: 480px) {
    .padding-right-xl {
      padding-right: 60px !important; } }

.padding-right-10 {
  padding-right: 10px !important; }

.padding-right-12 {
  padding-right: 12px !important; }

.padding-right-16 {
  padding-right: 16px !important; }

.padding-right-20 {
  padding-right: 20px !important; }

.padding-right-24 {
  padding-right: 24px !important; }

.padding-right-30 {
  padding-right: 30px !important; }

.padding-right-36 {
  padding-right: 36px !important; }

.padding-right-40 {
  padding-right: 40px !important; }

.padding-right-48 {
  padding-right: 48px !important; }

.padding-right-50 {
  padding-right: 50px !important; }

.padding-right-60 {
  padding-right: 60px !important; }

.padding-bottom-xs {
  padding-bottom: 16px !important; }
  @media screen and (max-width: 480px) {
    .padding-bottom-xs {
      padding-bottom: 12px !important; } }

.padding-bottom-s {
  padding-bottom: 24px !important; }
  @media screen and (max-width: 480px) {
    .padding-bottom-s {
      padding-bottom: 16px !important; } }

.padding-bottom-m {
  padding-bottom: 40px !important; }
  @media screen and (max-width: 480px) {
    .padding-bottom-m {
      padding-bottom: 24px !important; } }

.padding-bottom-l {
  padding-bottom: 60px !important; }
  @media screen and (max-width: 480px) {
    .padding-bottom-l {
      padding-bottom: 30px !important; } }

.padding-bottom-xl {
  padding-bottom: 96px !important; }
  @media screen and (max-width: 480px) {
    .padding-bottom-xl {
      padding-bottom: 60px !important; } }

.padding-bottom-10 {
  padding-bottom: 10px !important; }

.padding-bottom-12 {
  padding-bottom: 12px !important; }

.padding-bottom-16 {
  padding-bottom: 16px !important; }

.padding-bottom-20 {
  padding-bottom: 20px !important; }

.padding-bottom-24 {
  padding-bottom: 24px !important; }

.padding-bottom-30 {
  padding-bottom: 30px !important; }

.padding-bottom-36 {
  padding-bottom: 36px !important; }

.padding-bottom-40 {
  padding-bottom: 40px !important; }

.padding-bottom-48 {
  padding-bottom: 48px !important; }

.padding-bottom-50 {
  padding-bottom: 50px !important; }

.padding-bottom-60 {
  padding-bottom: 60px !important; }

.padding-left-xs {
  padding-left: 16px !important; }
  @media screen and (max-width: 480px) {
    .padding-left-xs {
      padding-left: 12px !important; } }

.padding-left-s {
  padding-left: 24px !important; }
  @media screen and (max-width: 480px) {
    .padding-left-s {
      padding-left: 16px !important; } }

.padding-left-m {
  padding-left: 40px !important; }
  @media screen and (max-width: 480px) {
    .padding-left-m {
      padding-left: 24px !important; } }

.padding-left-l {
  padding-left: 60px !important; }
  @media screen and (max-width: 480px) {
    .padding-left-l {
      padding-left: 30px !important; } }

.padding-left-xl {
  padding-left: 96px !important; }
  @media screen and (max-width: 480px) {
    .padding-left-xl {
      padding-left: 60px !important; } }

.padding-left-10 {
  padding-left: 10px !important; }

.padding-left-12 {
  padding-left: 12px !important; }

.padding-left-16 {
  padding-left: 16px !important; }

.padding-left-20 {
  padding-left: 20px !important; }

.padding-left-24 {
  padding-left: 24px !important; }

.padding-left-30 {
  padding-left: 30px !important; }

.padding-left-36 {
  padding-left: 36px !important; }

.padding-left-40 {
  padding-left: 40px !important; }

.padding-left-48 {
  padding-left: 48px !important; }

.padding-left-50 {
  padding-left: 50px !important; }

.padding-left-60 {
  padding-left: 60px !important; }

.remove-padding {
  padding: 0 !important; }
  .remove-padding-top {
    padding-top: 0 !important; }
  .remove-padding-right {
    padding-right: 0 !important; }
  .remove-padding-bottom {
    padding-bottom: 0 !important; }
  .remove-padding-left {
    padding-left: 0 !important; }
  @media screen and (max-width: 480px) {
    .remove-padding-sm {
      padding: 0 !important; }
      .remove-padding-sm-top {
        padding-top: 0 !important; }
      .remove-padding-sm-right {
        padding-right: 0 !important; }
      .remove-padding-sm-bottom {
        padding-bottom: 0 !important; }
      .remove-padding-sm-left {
        padding-left: 0 !important; } }
  @media screen and (max-width: 768px) {
    .remove-padding-md {
      padding: 0 !important; }
      .remove-padding-md-top {
        padding-top: 0 !important; }
      .remove-padding-md-right {
        padding-right: 0 !important; }
      .remove-padding-md-bottom {
        padding-bottom: 0 !important; }
      .remove-padding-md-left {
        padding-left: 0 !important; } }
  @media screen and (max-width: 960px) {
    .remove-padding-lg {
      padding: 0 !important; }
      .remove-padding-lg-top {
        padding-top: 0 !important; }
      .remove-padding-lg-right {
        padding-right: 0 !important; }
      .remove-padding-lg-bottom {
        padding-bottom: 0 !important; }
      .remove-padding-lg-left {
        padding-left: 0 !important; } }

.remove-margin {
  margin: 0 !important; }
  .remove-margin-top {
    margin-top: 0 !important; }
  .remove-margin-right {
    margin-right: 0 !important; }
  .remove-margin-bottom {
    margin-bottom: 0 !important; }
  .remove-margin-left {
    margin-left: 0 !important; }
  @media screen and (max-width: 480px) {
    .remove-margin-sm {
      margin: 0 !important; }
      .remove-margin-sm-top {
        margin-top: 0 !important; }
      .remove-margin-sm-right {
        margin-right: 0 !important; }
      .remove-margin-sm-bottom {
        margin-bottom: 0 !important; }
      .remove-margin-sm-left {
        margin-left: 0 !important; } }
  @media screen and (max-width: 768px) {
    .remove-margin-md {
      margin: 0 !important; }
      .remove-margin-md-top {
        margin-top: 0 !important; }
      .remove-margin-md-right {
        margin-right: 0 !important; }
      .remove-margin-md-bottom {
        margin-bottom: 0 !important; }
      .remove-margin-md-left {
        margin-left: 0 !important; } }
  @media screen and (max-width: 960px) {
    .remove-margin-lg {
      margin: 0 !important; }
      .remove-margin-lg-top {
        margin-top: 0 !important; }
      .remove-margin-lg-right {
        margin-right: 0 !important; }
      .remove-margin-lg-bottom {
        margin-bottom: 0 !important; }
      .remove-margin-lg-left {
        margin-left: 0 !important; } }

.grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr 10px 1fr;
  -ms-grid-columns: 2fr 10px 1fr;
      grid-template: "a b" 1fr "a c" 1fr / 2fr 1fr;
  grid-gap: 10px; }
  .grid > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    grid-area: a; }
    .grid > *:nth-child(1) .image.horizontal::before {
      padding-top: calc(66.66667% + 10px); }
  .grid > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: b; }
  .grid > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    grid-area: c; }
  @media screen and (max-width: 480px) {
    .grid {
      -ms-grid-rows: 2fr 6px 1fr;
      -ms-grid-columns: 1fr 6px 1fr;
          grid-template: "a a" 2fr "b c" 1fr / 1fr 1fr;
      grid-gap: 6px; }
    .grid > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3; }
    .grid > *:nth-child(2) {
    -ms-grid-row: 3;
    -ms-grid-column: 1; }
    .grid > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 3; } }

.box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: -16px; }
  .box > * {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 16px; }
  .box.h-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .box.v-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  @media screen and (max-width: 480px) {
    .box {
      margin: -12px; }
      .box > * {
        margin: 12px; } }
  .box.wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .box.col-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .box.col-2 > * {
      width: calc((100% - 32.1px * 2) / 2); }
      @media screen and (max-width: 480px) {
        .box.col-2 > * {
          width: calc((100% - 24.1px * 2) / 2); } }
  .box.col-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .box.col-3 > * {
      width: calc((100% - 32.1px * 3) / 3); }
      @media screen and (max-width: 480px) {
        .box.col-3 > * {
          width: calc((100% - 24.1px * 3) / 3); } }
  .box.col-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .box.col-4 > * {
      width: calc((100% - 32.1px * 4) / 4); }
      @media screen and (max-width: 480px) {
        .box.col-4 > * {
          width: calc((100% - 24.1px * 4) / 4); } }
  .box.col-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .box.col-5 > * {
      width: calc((100% - 32.1px * 5) / 5); }
      @media screen and (max-width: 480px) {
        .box.col-5 > * {
          width: calc((100% - 24.1px * 5) / 5); } }
  .box.col-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .box.col-6 > * {
      width: calc((100% - 32.1px * 6) / 6); }
      @media screen and (max-width: 480px) {
        .box.col-6 > * {
          width: calc((100% - 24.1px * 6) / 6); } }
  .box.sm-col-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 480px) {
      .box.sm-col-1 > * {
        width: calc((100% - 24.1px * 1) / 1); } }
  .box.sm-col-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 480px) {
      .box.sm-col-2 > * {
        width: calc((100% - 24.1px * 2) / 2); } }
  .box.sm-col-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 480px) {
      .box.sm-col-3 > * {
        width: calc((100% - 24.1px * 3) / 3); } }
  .box.md-col-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .box.md-col-1 > * {
        width: calc((100% - 24.1px * 1) / 1); } }
  .box.md-col-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .box.md-col-2 > * {
        width: calc((100% - 24.1px * 2) / 2); } }
  .box.md-col-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .box.md-col-3 > * {
        width: calc((100% - 24.1px * 3) / 3); } }
  .box.md-col-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .box.md-col-4 > * {
        width: calc((100% - 24.1px * 4) / 4); } }
  .box.md-col-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .box.md-col-5 > * {
        width: calc((100% - 24.1px * 5) / 5); } }
  .box.md-col-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .box.md-col-6 > * {
        width: calc((100% - 24.1px * 6) / 6); } }
  .box.remove-space {
    margin: 0; }
    .box.remove-space > * {
      margin: 0; }
    .box.remove-space.col-2 {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .box.remove-space.col-2 > * {
        width: calc(100% / 2); }
    .box.remove-space.col-3 {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .box.remove-space.col-3 > * {
        width: calc(100% / 3); }
    .box.remove-space.col-4 {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .box.remove-space.col-4 > * {
        width: calc(100% / 4); }
    .box.remove-space.col-5 {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .box.remove-space.col-5 > * {
        width: calc(100% / 5); }
    .box.remove-space.col-6 {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .box.remove-space.col-6 > * {
        width: calc(100% / 6); }
    @media screen and (max-width: 480px) {
      .box.remove-space.sm-col-1 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.sm-col-1 > * {
          width: 100%; }
      .box.remove-space.sm-col-2 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.sm-col-2 > * {
          width: calc(100% / 2); }
      .box.remove-space.sm-col-3 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.sm-col-3 > * {
          width: calc(100% / 3); } }
    @media screen and (max-width: 480px) {
      .box.remove-space.md-col-1 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.md-col-1 > * {
          width: 100%; }
      .box.remove-space.md-col-2 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.md-col-2 > * {
          width: calc(100% / 2); }
      .box.remove-space.md-col-3 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.md-col-3 > * {
          width: calc(100% / 3); }
      .box.remove-space.md-col-4 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.md-col-4 > * {
          width: calc(100% / 4); }
      .box.remove-space.md-col-5 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.md-col-5 > * {
          width: calc(100% / 5); }
      .box.remove-space.md-col-6 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        .box.remove-space.md-col-6 > * {
          width: calc(100% / 6); } }
  @media screen and (max-width: 480px) {
    .box.sm-scroll {
      overflow-x: auto !important;
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important; }
      .box.sm-scroll > * {
        width: 100% !important;
        min-width: 100% !important; } }

@media screen and (max-width: 480px) {
  .container .sm-scroll {
    margin: 0 -24px; }
    .container .sm-scroll > * {
      width: calc(100% - 48px) !important;
      min-width: calc(100% - 48px) !important;
      -webkit-box-sizing: content-box;
              box-sizing: content-box; }
      .container .sm-scroll > *:first-child {
        padding-left: 24px; }
      .container .sm-scroll > *:last-child {
        padding-right: 24px; } }

.container {
  max-width: 1072px;
  margin: 0 auto;
  padding: 0 64px; }
  .container .container {
    padding: 0; }
  @media screen and (max-width: 480px) {
    .container {
      padding: 0 24px; } }
  .container.span1 {
    max-width: 60px; }
    @media screen and (max-width: 480px) {
      .container.span1 {
        max-width: 60px; } }
  .container.span2 {
    max-width: 152px; }
    @media screen and (max-width: 480px) {
      .container.span2 {
        max-width: 152px; } }
  .container.span3 {
    max-width: 244px; }
    @media screen and (max-width: 480px) {
      .container.span3 {
        max-width: 244px; } }
  .container.span4 {
    max-width: 336px; }
    @media screen and (max-width: 480px) {
      .container.span4 {
        max-width: 336px; } }
  .container.span5 {
    max-width: 428px; }
    @media screen and (max-width: 480px) {
      .container.span5 {
        max-width: 428px; } }
  .container.span6 {
    max-width: 520px; }
    @media screen and (max-width: 480px) {
      .container.span6 {
        max-width: 520px; } }
  .container.span7 {
    max-width: 612px; }
    @media screen and (max-width: 480px) {
      .container.span7 {
        max-width: 612px; } }
  .container.span8 {
    max-width: 704px; }
    @media screen and (max-width: 480px) {
      .container.span8 {
        max-width: 704px; } }
  .container.span9 {
    max-width: 796px; }
    @media screen and (max-width: 480px) {
      .container.span9 {
        max-width: 796px; } }
  .container.span10 {
    max-width: 888px; }
    @media screen and (max-width: 480px) {
      .container.span10 {
        max-width: 888px; } }
  .container.span11 {
    max-width: 980px; }
    @media screen and (max-width: 480px) {
      .container.span11 {
        max-width: 980px; } }

.table {
  border-collapse: collapse; }
  .table-container {
    overflow-x: auto; }
  .table a {
    text-decoration: underline;
    color: #191919; }
    .table a:hover {
      text-decoration: underline;
      color: #c5b37f; }
  .table th,
  .table td {
    border: 1px solid #c0c0c0;
    font-size: 1.4rem;
    vertical-align: middle;
    line-height: 1.5; }
    @media screen and (max-width: 480px) {
      .table th,
      .table td {
        font-size: 1.2rem; } }
  .table th {
    font-weight: bold;
    text-align: left;
    padding: 12px 24px; }
    @media screen and (max-width: 480px) {
      .table th {
        padding: 12px 16px; } }
  .table td {
    padding: 24px; }
    @media screen and (max-width: 480px) {
      .table td {
        padding: 16px; } }
  .table.borderd th,
  .table.borderd td {
    min-width: 60px;
    text-align: left;
    padding: 20px 30px;
    line-height: 1.5;
    vertical-align: top;
    border: 0;
    font-size: 1.6rem; }
  @media screen and (max-width: 480px) {
    .table.borderd tr {
      display: block;
      padding: 24px; } }
  .table.borderd th {
    font-weight: bold;
    padding-top: 0; }
  @media screen and (max-width: 480px) {
    .table.borderd td {
      display: block;
      padding: 0 0 0 72px;
      position: relative;
      min-height: 21px; }
      .table.borderd td + * {
        margin-top: 8px; }
      .table.borderd td::before {
        content: attr(data-label);
        position: absolute;
        width: 72px;
        left: 0;
        top: 0; } }
  .table.borderd tbody tr {
    background: #ffffff; }
  .table.borderd tbody tr:nth-child(odd) {
    background: #f4f3ec; }
  @media screen and (max-width: 480px) {
    .table.borderd thead {
      display: none; } }

.figure {
  color: #191919;
  margin-bottom: 32px;
  display: block; }
  @media screen and (max-width: 480px) {
    .figure {
      margin-bottom: 24px; } }
  .figure img {
    -webkit-transition: -webkit-transform ease-out 0.5s;
    transition: -webkit-transform ease-out 0.5s;
    transition: transform ease-out 0.5s;
    transition: transform ease-out 0.5s, -webkit-transform ease-out 0.5s; }
  .figure-caption {
    margin-top: 16px;
    font-size: 2rem;
    padding: 0 10px; }
    @media screen and (max-width: 480px) {
      .figure-caption {
        font-size: 1.4rem;
        margin-top: 10px; } }

a.figure:hover {
  color: #c5b37f; }
  a.figure:hover img {
    -webkit-transition: -webkit-transform ease-out 1s;
    transition: -webkit-transform ease-out 1s;
    transition: transform ease-out 1s;
    transition: transform ease-out 1s, -webkit-transform ease-out 1s;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }

.filter-container {
  position: absolute;
  background: #ffffff;
  border-radius: 2px;
  max-width: 488px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 10;
  width: 100vw;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.12);
          box-shadow: 0 0 15px rgba(0, 0, 0, 0.12);
  overflow: hidden;
  top: 40px;
  left: 0;
  display: none; }
  .filter-container.active {
    display: block;
    -webkit-animation: sweep .5s ease;
            animation: sweep .5s ease; }
  @media screen and (max-width: 480px) {
    .filter-container {
      max-width: inherit;
      width: calc(100vw - 24px);
      left: -12px !important; } }
  .filter-container-body {
    padding: 30px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: -10px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .filter-container-body > * {
      margin: 10px; }
      @media screen and (max-width: 480px) {
        .filter-container-body > * {
          margin: 5px; } }
    @media screen and (max-width: 480px) {
      .filter-container-body {
        padding: 20px 16px;
        margin: -5px; } }
  .filter-container-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 10px 10px 20px;
    background: #f4f3ec; }
    .filter-container-footer label {
      cursor: pointer; }
    .filter-container-footer .button {
      margin-left: auto;
      min-width: 140px; }

.heading-1 {
  font-size: 4rem;
  line-height: 1.2;
  font-family: 'bodoni-urw';
  padding-bottom: 47px; }
  @media screen and (max-width: 480px) {
    .heading-1 {
      font-size: 3rem;
      padding-bottom: 21px; } }

.heading-2 {
  font-size: 2.6rem;
  line-height: 1.5;
  font-family: 'bodoni-urw'; }
  @media screen and (max-width: 480px) {
    .heading-2 {
      font-size: 2rem; } }

.heading-3 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1rem;
  line-height: 1.5; }
  @media screen and (max-width: 480px) {
    .heading-3 {
      font-size: 1.4rem; } }

.heading-4 {
  font-size: 1.6rem;
  font-weight: bold; }

.lead-text {
  line-height: 2;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 480px) {
    .lead-text {
      line-height: 1.5; } }

.paragraph {
  line-height: 1.8;
  letter-spacing: 0.1rem; }
  @media screen and (max-width: 480px) {
    .paragraph {
      line-height: 1.5; } }
  .paragraph + * {
    margin-top: 2em; }
  .paragraph a {
    text-decoration: underline;
    color: #191919; }
    .paragraph a:hover {
      color: #c5b37f;
      text-decoration: underline; }

.sentence {
  line-height: 1.6; }
  .sentence + * {
    margin-top: 24px; }
  @media screen and (max-width: 480px) {
    .sentence {
      font-size: 1.4rem; } }

.text-container + * {
  margin-top: 36px; }
  @media screen and (max-width: 480px) {
    .text-container + * {
      margin-top: 24px; } }

.text-container > * {
  margin-top: 32px; }
  .text-container > *:first-child {
    margin-top: 0; }
  @media screen and (max-width: 480px) {
    .text-container > * {
      margin-top: 20px; } }

.heading-1 + .text-container {
  margin-top: -20px; }
  @media screen and (max-width: 480px) {
    .heading-1 + .text-container {
      margin-top: -10px; } }

.heading-1 + .lead-text {
  margin-top: -23px; }
  @media screen and (max-width: 480px) {
    .heading-1 + .lead-text {
      margin-top: -10px; } }

.heading-2 + * {
  margin-top: 21px; }
  @media screen and (max-width: 480px) {
    .heading-2 + * {
      margin-top: 10px; } }

.heading-2 + .paragraph {
  margin-top: 19px; }
  @media screen and (max-width: 480px) {
    .heading-2 + .paragraph {
      margin-top: 2px; } }

.slider {
  position: relative;
  padding: 0 40px;
  background: #fbfbfb;
  margin: 0 -40px; }
  @media screen and (max-width: 480px) {
    .slider {
      padding: 0;
      margin: 0 -24px;
      overflow: hidden; } }
  @media screen and (max-width: 480px) {
    .slider .swiper-container {
      padding: 0 24px; } }
  .slider .slider-control-prev,
  .slider .slider-control-next {
    color: #c5b37f;
    -webkit-transition: -webkit-transform ease 0.2s;
    transition: -webkit-transform ease 0.2s;
    transition: transform ease 0.2s;
    transition: transform ease 0.2s, -webkit-transform ease 0.2s;
    z-index: 20; }
    .slider .slider-control-prev::after,
    .slider .slider-control-next::after {
      font-size: 3rem; }
    @media screen and (max-width: 480px) {
      .slider .slider-control-prev,
      .slider .slider-control-next {
        display: none; } }
  .slider .slider-control-prev {
    top: 50;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: -8px; }
    .slider .slider-control-prev:hover {
      -webkit-transform: translateY(-50%) translateX(-4px);
              transform: translateY(-50%) translateX(-4px); }
  .slider .slider-control-next {
    top: 50;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -8px; }
    .slider .slider-control-next:hover {
      -webkit-transform: translateY(-50%) translateX(4px);
              transform: translateY(-50%) translateX(4px); }
  .slider .swiper-button-disabled {
    display: none; }

.site-header {
  padding: 24px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  z-index: 100;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: -102px;
  height: 102px;
  -webkit-transition: background ease-out 0.2s;
  transition: background ease-out 0.2s; }
  .site-header .site-search {
    margin-left: 25px; }
  @media screen and (max-width: 768px) {
    .site-header {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      padding: 12px;
      height: 76px;
      margin-bottom: -76px; }
      .site-header .navigation-open-button {
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0; }
      .site-header .site-logo {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-left: auto;
        margin-right: auto; }
      .site-header .site-search {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        margin-left: 0; } }
  @media screen and (max-width: 480px) {
    .site-header {
      height: 62px;
      margin-bottom: -62px; } }
  .site-header.slim, .site-header.js-is-sticky--change, .site-header.js-is-stuck {
    padding-left: 28px;
    padding-right: 40px;
    background: #c5b37f;
    margin-bottom: 0px;
    height: 68px;
    position: -webkit-sticky;
    position: sticky;
    top: 0px; }
    @media screen and (max-width: 768px) {
      .site-header.slim, .site-header.js-is-sticky--change, .site-header.js-is-stuck {
        padding-left: 0px;
        padding-right: 12px;
        height: 48px; } }
    .site-header.slim .site-logo, .site-header.js-is-sticky--change .site-logo, .site-header.js-is-stuck .site-logo {
      padding: 12px;
      padding-right: 48px; }
      .site-header.slim .site-logo img, .site-header.js-is-sticky--change .site-logo img, .site-header.js-is-stuck .site-logo img {
        height: 42px;
        width: auto; }
      @media screen and (max-width: 768px) {
        .site-header.slim .site-logo, .site-header.js-is-sticky--change .site-logo, .site-header.js-is-stuck .site-logo {
          background: none;
          padding: 6px; }
          .site-header.slim .site-logo img, .site-header.js-is-sticky--change .site-logo img, .site-header.js-is-stuck .site-logo img {
            height: 32px; } }
    @media screen and (max-width: 768px) {
      .site-header.slim .navigation-open-button, .site-header.js-is-sticky--change .navigation-open-button {
        padding: 6px;
        background: #000000; } }
    @media screen and (min-width: 768px) {
      .site-header.slim .site-menu-item .site-menu-item-header, .site-header.js-is-sticky--change .site-menu-item .site-menu-item-header, .site-header.js-is-stuck .site-menu-item .site-menu-item-header {
        -webkit-transition: opacity ease 0.2s;
        transition: opacity ease 0.2s; } }
    @media screen and (min-width: 768px) {
      .site-header.slim .site-menu-item:hover .site-menu-item-header, .site-header.js-is-sticky--change .site-menu-item:hover .site-menu-item-header, .site-header.js-is-stuck .site-menu-item:hover .site-menu-item-header {
        color: #ffffff;
        opacity: 0.7; } }

.site-logo {
  -webkit-transition: background ease-out 0.2s;
  transition: background ease-out 0.2s;
  padding-right: 48px; }
.site-logo img {
  width: 42px;
  height: 42px;
}
  @media screen and (max-width: 768px) {
    .site-logo {
      padding-right: 0;
    }
    .site-logo img {
      width: 32px;
      height: 32px; }
  }
  @media screen and (max-width: 480px) {
    .site-logo img {
      width: 32px;
      height: 32px; }

    .site-header.slim, .site-header.js-is-sticky--change, .site-header.js-is-stuck {
      padding-left: 0px;
      height: 48px;
    }
  }

.site-search a {
  color: #ffffff; }
  .site-search a:hover {
    color: #c5b37f; }

.site-search svg {
  width: 20px;
  height: 20px;
  vertical-align: middle; }

@media screen and (max-width: 480px) {
  .site-search {
    padding: 8px; } }

@media screen and (max-width: 768px) {
  .site-option-navigation {
    border-top: 1px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.sns-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%; }
  @media screen and (min-width: 768px) {
    .sns-menu {
      display: none; } }
  .sns-menu a {
    color: #191919;
    display: inline-block;
    padding: 15px; }
  .sns-menu svg {
    height: 20px;
    width: 20px; }

.site-slogan {
  background: #25283b;
  color: #ffffff;
  font-size: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0.05rem; }
  .site-slogan a {
    color: #000; }
    .site-slogan a:hover {
      text-decoration: underline; }
  .site-slogan-right {
    margin-left: auto;
    background-color: #C5B37F;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 25px;
    padding-right: 25px;
  }

  @media screen and (max-width: 480px) {
    .site-slogan {
      font-size: 1rem;
      } }

.site-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto; }
  @media screen and (max-width: 768px) {
    .site-navigation {
      position: fixed;
      background: #f4f3ec;
      top: 0;
      left: 0;
      display: block;
      width: 260px;
      height: 100vh;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      overflow: auto;
      padding-top: 44px;
      -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.12);
              box-shadow: 0 0 15px rgba(0, 0, 0, 0.12);
      opacity: 0;
      -webkit-transform: translateX(-260px);
              transform: translateX(-260px);
      -webkit-transition: opacity ease-out 0.36s, -webkit-transform ease-out 0.36s;
      transition: opacity ease-out 0.36s, -webkit-transform ease-out 0.36s;
      transition: transform ease-out 0.36s, opacity ease-out 0.36s;
      transition: transform ease-out 0.36s, opacity ease-out 0.36s, -webkit-transform ease-out 0.36s;
      z-index: 10; }
      .site-navigation.active {
        opacity: 1;
        -webkit-transform: translateX(0);
                transform: translateX(0); } }

.navigation-close-button {
  width: 44px;
  height: 44px;
  background: #c5b37f;
  position: absolute;
  display: inline-block;
  top: 0;
  right: 0; }
  @media screen and (min-width: 768px) {
    .navigation-close-button {
      display: none; } }
  .navigation-close-button span {
    position: absolute;
    display: block;
    width: 24px;
    height: 1px;
    background: #fff;
    left: 50%;
    top: 50%;
    -webkit-transform-origin: left;
            transform-origin: left; }
    .navigation-close-button span:nth-child(1) {
      -webkit-transform: rotate(-45deg) translate(-50%, -50%);
              transform: rotate(-45deg) translate(-50%, -50%); }
    .navigation-close-button span:nth-child(2) {
      -webkit-transform: rotate(45deg) translate(-50%, -50%);
              transform: rotate(45deg) translate(-50%, -50%); }

.navigation-open-button {
  width: 36px;
  height: 36px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .navigation-open-button.active::after {
      content: '';
      display: block;
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh; } }
  @media screen and (min-width: 768px) {
    .navigation-open-button {
      display: none; } }
  .navigation-open-button span {
    position: absolute;
    display: block;
    width: 24px;
    height: 1px;
    background: #fff;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
    .navigation-open-button span:nth-child(1) {
      top: 50%;
      -webkit-transform: translateX(-50%) translateY(-6px);
              transform: translateX(-50%) translateY(-6px); }
    .navigation-open-button span:nth-child(2) {
      top: 50%; }
    .navigation-open-button span:nth-child(3) {
      top: 50%;
      -webkit-transform: translateX(-50%) translateY(6px);
              transform: translateX(-50%) translateY(6px); }

.site-content-menu {
  width: 100%; }
  @media screen and (max-width: 768px) {
    .site-content-menu {
      -webkit-box-sizing: border-box;
              box-sizing: border-box; } }
  .site-content-menu-item a {
    color: #191919;
    white-space: nowrap;
    font-weight: normal;
    display: block; }
    .site-content-menu-item a:hover {
      text-decoration: underline; }
    .site-content-menu-item a.gold {
      color: #c5b37f; }
  .site-content-menu-item + .site-content-menu-item {
    margin-top: 20px; }
  @media screen and (max-width: 768px) {
    .site-content-menu-item a {
      padding: 12px 0 12px 28px; }
    .site-content-menu-item + .site-content-menu-item {
      margin-top: 0; } }

.site-menu {
  margin-left: auto;
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold; }
  .site-menu-item {
    position: relative;
    margin-top: 20px;
    padding: 0 0 20px; }
    @media screen and (max-width: 768px) {
      .site-menu-item {
        margin: 0;
        padding: 0;
        border-top: 1px solid #ffffff; } }
    .site-menu-item + .site-menu-item {
      margin-left: 18px; }
    .site-menu-item-header {
      color: #ffffff;
      font-size: 1.4rem;
      font-weight: bold; }
      .site-menu-item-header .arrow {
        display: none; }
      @media screen and (max-width: 768px) {
        .site-menu-item-header {
          color: #191919;
          pointer-events: none;
          display: block;
          font-size: 1.6rem;
          padding: 16px 16px 16px 40px;
          position: relative; }
          .site-menu-item-header .arrow {
            display: inline-block;
            width: 6px;
            height: 11px;
            color: #c5b37f;
            position: absolute;
            top: 50%;
            left: 18px;
            -webkit-transition: -webkit-transform 0.2s ease;
            transition: -webkit-transform 0.2s ease;
            transition: transform 0.2s ease;
            transition: transform 0.2s ease, -webkit-transform 0.2s ease;
            -webkit-transform: translateY(-50%);
                    transform: translateY(-50%); } }
    .site-menu-item-body {
      position: absolute;
      right: 0;
      margin-top: 20px;
      background: #ffffff;
      padding: 40px 30px;
      border-radius: 2px;
      -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.12);
              box-shadow: 0 0 8px rgba(0, 0, 0, 0.12);
      display: none;
      z-index: 10;
      min-width: 260px;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      .site-menu-item-body > * + * {
        margin-left: 60px; }
        @media screen and (max-width: 768px) {
          .site-menu-item-body > * + * {
            margin-left: 0; } }
      @media screen and (max-width: 768px) {
        .site-menu-item-body {
          position: relative;
          -webkit-box-shadow: none;
                  box-shadow: none;
          margin: 0;
          padding: 12px; } }
    @media screen and (min-width: 768px) {
      .site-menu-item:hover .site-menu-item-body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-animation: sweep .5s ease;
                animation: sweep .5s ease; }
      .site-menu-item:hover .site-menu-item-header {
        color: #c5b37f; } }
    @media screen and (max-width: 768px) {
      .site-menu-item.active .site-menu-item-body {
        display: block;
        -webkit-animation: sweep .5s ease;
                animation: sweep .5s ease; }
      .site-menu-item.active .site-menu-item-header {
        color: #c5b37f; }
      .site-menu-item.active .arrow {
        -webkit-transform: translateY(-50%) rotate(90deg);
                transform: translateY(-50%) rotate(90deg); } }
  @media screen and (max-width: 768px) {
    .site-menu {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .site-menu-item {
        color: #191919; }
        .site-menu-item + .site-menu-item {
          margin-left: 0; } }

.site-footer {
  background: #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 46px 30px 40px;
  color: #ffffff; }
  .site-footer > * {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto;
    text-align: center; }
  .site-footer .sns-list {
    margin-top: 36px; }
  .site-footer .footer-navigation {
    margin-top: 36px; }
  .site-footer .copyright {
    margin-top: 30px; }
  @media screen and (max-width: 480px) {
    .site-footer {
      padding: 30px 18px 20px; }
      .site-footer .sns-list {
        margin-top: 30px; }
      .site-footer .footer-navigation {
        margin-top: 30px; }
      .site-footer .copyright {
        margin-top: 36px; } }

.copyright {
  font-size: 1.2rem; }
  @media screen and (max-width: 480px) {
    .copyright {
      font-size: 1rem; } }

.footer-logo {
  padding: 0 0; }
  @media screen and (max-width: 480px) {
    .footer-logo {
      padding: 24px 0; } }
  .footer-logo img {
    height: 120px; }

.sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .sns-list-item {
    color: #ffffff;
    display: block; }
    .sns-list-item:hover {
      color: #c5b37f; }
    .sns-list-item + .sns-list-item {
      margin-left: 28px; }

.footer-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 480px) {
    .footer-navigation {
      font-size: 1.2rem; } }
  .footer-navigation-item {
    color: #ffffff;
    display: block; }
    .footer-navigation-item:hover {
      text-decoration: underline; }
    .footer-navigation-item + .footer-navigation-item {
      margin-left: 16px;
      padding-left: 16px;
      border-left: 1px solid #ffffff; }
      @media screen and (max-width: 480px) {
        .footer-navigation-item + .footer-navigation-item {
          margin-left: 12px;
          padding-left: 12px; } }

.language-menu {
  position: relative;
  font-size: 1.4rem; }
  .language-menu-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  justify-content: center;}
    .language-menu-summary svg {
      width: 8px;
      height: 5px;
      vertical-align: middle;
      padding-top: 2px;
      margin-right: 8px; }
  .language-menu-list {
    min-width: 170px; }
    @media screen and (max-width: 768px) {
      .language-menu-list {
        position: absolute;
        width: 260px; } }
  @media screen and (min-width: 768px) {
    .language-menu .arrow {
      display: none; } }
  @media screen and (max-width: 768px) {
    .language-menu {
      margin-left: auto; }
      .language-menu .arrow {
        -webkit-transform: translateY(-50%) rotate(90deg);
                transform: translateY(-50%) rotate(90deg); }
      .language-menu .caret {
        display: none; } }
  .language-menu .site-menu-item {
    padding-left: 30px;
    cursor: pointer; }
    @media screen and (max-width: 768px) {
      .language-menu .site-menu-item {
        padding-left: 0;
        border-left: 1px solid #ffffff; } }

.page-hero {
  width: 100vw;
  height: calc(100vh - 36px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .page-hero {
    height: calc(100vh - 42px);
  }
}

@media screen and (max-width: 480px) {
  .page-hero {
    height: calc(100vh - 40px);
    max-height: 700px;
  }
}
  .page-hero .cover {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover";
    width: 100%;
    height: 100%; }
  .page-hero-spot {
    color: #ffffff;
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    -webkit-box-align: top;
        -ms-flex-align: top;
            align-items: top; }
    .page-hero-spot:hover {
      text-decoration: underline; }
    @media screen and (max-width: 480px) {
      .page-hero-spot {
        font-size: 1rem;
        left: 15px;
        bottom: 15px; } }
    .page-hero-spot svg {
      display: block;
      width: 1.7rem;
      height: 1.7rem;
      margin-right: 8px; }
      @media screen and (max-width: 480px) {
        .page-hero-spot svg {
          width: 1.2rem;
          height: 1.2rem; } }
  .page-hero-image {
    width: 100%;
    height: 100%;
    display: block;
    background: #f4f4f4;
    overflow: hidden; }
  .page-hero-slide-item img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  .page-hero-slide-item.swiper-slide-active img {
    -webkit-animation: heroSlideIn 7s linear;
            animation: heroSlideIn 7s linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .page-hero-copy {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -40px;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    color: #ffffff;
    z-index: 10;
    width: 100%; }
    @media screen and (max-width: 480px) {
      .page-hero-copy {
        margin-top: -60px; } }
    .page-hero-copy-heading {
      font-size: 1.8rem;
      font-weight: bold;
      letter-spacing: 0.1rem; }
      @media screen and (max-width: 480px) {
        .page-hero-copy-heading {
          font-size: 1.5rem; } }
    .page-hero-copy-text {
      font-family: 'bodoni-urw';
      font-size: 6.6rem;
      margin-top: 64px;
      line-height: 1.2;
      padding: 0 20px; }
      @media screen and (max-width: 480px) {
        .page-hero-copy-text {
          font-size: 4.5rem; } }

.scroll-down {
  display: inline-block;
  position: absolute;
  z-index: 10;
  bottom: 30px;
  left: 50%;
  width: 20px;
  height: 50px;
  cursor: pointer; }
  .scroll-down .bar-1,
  .scroll-down .bar-2 {
    position: absolute;
    background: #ffffff;
    display: block; }
  .scroll-down .bar-1 {
    width: 1px;
    height: 50px;
    left: 10px;
    top: 0;
    -webkit-animation: bar1 3s infinite linear;
            animation: bar1 3s infinite linear;
    -webkit-transform-origin: top;
            transform-origin: top; }
  .scroll-down .bar-2 {
    height: 1px;
    width: 12px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    left: 11px;
    bottom: 0;
    -webkit-animation: bar2 3s infinite linear;
            animation: bar2 3s infinite linear;
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom; }

.emagency-information {
  padding: 60px 0;
  background: #f4f3ec; }
  @media screen and (max-width: 480px) {
    .emagency-information {
      padding: 36px 0; } }

.fullscreen-slide {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden; }
@media screen and (max-width: 480px) {
    .fullscreen-slide {
      max-height: 700px; } }
  .fullscreen-slide:hover .swiper-button-prev,
  .fullscreen-slide:hover .swiper-button-next {
    opacity: 1; }
  .fullscreen-slide-spot {
    color: #ffffff;
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    -webkit-box-align: top;
        -ms-flex-align: top;
            align-items: top;
    opacity: 0; }
    .fullscreen-slide-spot:hover {
      text-decoration: underline; }
    @media screen and (max-width: 480px) {
      .fullscreen-slide-spot {
        font-size: 1rem;
        left: 15px;
        bottom: 15px; } }
    .fullscreen-slide-spot svg {
      display: block;
      width: 1.7rem;
      height: 1.7rem;
      margin-right: 8px; }
      @media screen and (max-width: 480px) {
        .fullscreen-slide-spot svg {
          width: 1.2rem;
          height: 1.2rem; } }
  .fullscreen-slide-pagination {
    bottom: 30px !important;
    width: auto !important;
    left: 50% !important;
    -webkit-transform: translateX(-50%) !important;
            transform: translateX(-50%) !important; }
    @media screen and (max-width: 480px) {
      .fullscreen-slide-pagination {
        bottom: 35px !important; } }
    .fullscreen-slide-pagination .swiper-pagination-bullet {
      width: 12px;
      height: 12px;
      margin: 0 10px !important;
      background: #c5b37f;
      -webkit-transition: background ease 0.2s, opacity ease 0.2s;
      transition: background ease 0.2s, opacity ease 0.2s; }
      .fullscreen-slide-pagination .swiper-pagination-bullet:hover {
        opacity: 0.7; }
      @media screen and (max-width: 480px) {
        .fullscreen-slide-pagination .swiper-pagination-bullet {
          width: 6px;
          height: 6px;
          margin: 0 5px !important; } }
    .fullscreen-slide-pagination .swiper-pagination-bullet-active {
      background: #c5b37f; }
  .fullscreen-slide-button {
    display: inline-block;
    font-size: 1.8rem;
    border: 2px solid #ffffff;
    padding: 1.4rem 3.2rem;
    margin-top: 58px;
    -webkit-transition: background ease 0.2s, color ease 0.2s;
    transition: background ease 0.2s, color ease 0.2s; }
    @media screen and (max-width: 480px) {
      .fullscreen-slide-button {
        font-size: 1.2rem;
        padding: 1rem 2.2rem;
        margin-top: 30px; } }
    .fullscreen-slide-button:hover {
      background: #ffffff;
      color: #191919;
      opacity: 0.9; }
  .fullscreen-slide img {
    -webkit-transition: -webkit-transform ease-out 0.4s;
    transition: -webkit-transform ease-out 0.4s;
    transition: transform ease-out 0.4s;
    transition: transform ease-out 0.4s, -webkit-transform ease-out 0.4s; }
  .fullscreen-slide-item {
    width: 100vw;
    height: 100vh;
    position: relative;
    color: #ffffff; }
  @media screen and (max-width: 480px) {
      .fullscreen-slide-item {
        max-height: 700px; } }
    .fullscreen-slide-item:not(.remove-hover):hover img {
      -webkit-transition: -webkit-transform ease-out 1s;
      transition: -webkit-transform ease-out 1s;
      transition: transform ease-out 1s;
      transition: transform ease-out 1s, -webkit-transform ease-out 1s;
      -webkit-transform: scale(1.06);
              transform: scale(1.06); }
  .fullscreen-slide .cover {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover";
    width: 100%;
    height: 100%; }
  .fullscreen-slide-image {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    background: #f4f4f4; }
  .fullscreen-slide .slider-control {
    -webkit-transition: opacity ease 0.2s;
    transition: opacity ease 0.2s; }
  .fullscreen-slide .swiper-button-prev {
    left: 40px;
    opacity: 0;
    -webkit-transition: opacity ease 0.2s, -webkit-transform ease 0.2s;
    transition: opacity ease 0.2s, -webkit-transform ease 0.2s;
    transition: transform ease 0.2s, opacity ease 0.2s;
    transition: transform ease 0.2s, opacity ease 0.2s, -webkit-transform ease 0.2s; }

@media screen and (max-width: 768px) {
  .fullscreen-slide .swiper-button-prev {
    opacity: 1;
    left: 12px;
    margin-top: -33px;
  }
}

.fullscreen-slide .swiper-button-prev::after {
  color: #ffffff;
}

@media screen and (max-width: 768px) {
  .fullscreen-slide .swiper-button-prev::after {
    font-size: 24px;
  }
}

@media screen and (min-width: 960px) {
  .fullscreen-slide .swiper-button-prev:hover {
    -webkit-transform: translateX(-8px);
    transform: translateX(-8px);
  }
}
  .fullscreen-slide .swiper-button-next {
    right: 40px;
    opacity: 0;
    -webkit-transition: opacity ease 0.2s, -webkit-transform ease 0.2s;
    transition: opacity ease 0.2s, -webkit-transform ease 0.2s;
    transition: transform ease 0.2s, opacity ease 0.2s;
    transition: transform ease 0.2s, opacity ease 0.2s, -webkit-transform ease 0.2s; }
@media screen and (max-width: 768px) {
      .fullscreen-slide .swiper-button-next {
        opacity: 1;
        right: 12px;
       margin-top: -33px; } }
.fullscreen-slide .swiper-button-next::after {
      color: #ffffff; }
    @media screen and (max-width: 768px) {
        .fullscreen-slide .swiper-button-next::after {
          font-size: 24px; } }
    @media screen and (min-width: 960px) {
      .fullscreen-slide .swiper-button-next:hover {
        -webkit-transform: translateX(8px);
                transform: translateX(8px); } }
  .fullscreen-slide-body {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    color: #ffffff;
    z-index: 10;
    width: 100%;
    max-width: 1072px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block; }
    .fullscreen-slide-body:hover {
      color: #ffffff; }
    .fullscreen-slide-body > * {
      opacity: 0; }
    .fullscreen-slide-body-heading {
      font-size: 1.8rem;
      font-weight: bold;
      letter-spacing: 0.1rem; }
      @media screen and (max-width: 480px) {
        .fullscreen-slide-body-heading {
          font-size: 1.5rem; } }
    .fullscreen-slide-body-text {
      font-family: 'bodoni-urw';
      font-size: 6.6rem;
      margin-top: 64px;
      line-height: 1.2;
      padding: 0 100px; }
      @media screen and (max-width: 480px) {
        .fullscreen-slide-body-text {
          font-size: 3rem;
          margin-top: 32px;
          padding: 0 56px; } }

.swiper-slide-active .fullscreen-slide-body > * {
  -webkit-animation-name: SlideInFromBottom;
          animation-name: SlideInFromBottom;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards; }
  .swiper-slide-active .fullscreen-slide-body > *:nth-child(1) {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s; }
  .swiper-slide-active .fullscreen-slide-body > *:nth-child(2) {
    -webkit-animation-delay: 0.84s;
            animation-delay: 0.84s; }
  .swiper-slide-active .fullscreen-slide-body > *:nth-child(3) {
    -webkit-animation-delay: 1.08s;
            animation-delay: 1.08s; }

.swiper-slide-active .fullscreen-slide-spot {
  -webkit-animation-name: SlideInFromLeft;
          animation-name: SlideInFromLeft;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 1.32s;
          animation-delay: 1.32s; }

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #f4f3ec;
  color: #191919;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 480px) {
    .card {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .card-body {
    width: 100%;
    line-height: 1.5;
    padding: 36px 48px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    @media screen and (max-width: 480px) {
      .card-body {
        padding: 24px;
        font-size: 1.4rem; } }
  .card-button {
    min-width: 184px;
    margin-left: auto;
    background: #25283b;
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    padding: 32px 12px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: background ease-out 0.2s;
    transition: background ease-out 0.2s;
    display: block; }
    @media screen and (max-width: 480px) {
      .card-button {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 12px; } }
  .card-title {
    font-weight: bold;
    font-size: 1.8rem; }
    .card-title + * {
      margin-top: 12px; }
    @media screen and (max-width: 480px) {
      .card-title {
        font-size: 1.4rem; } }
  .card-icon {
    width: 80px;
    height: 80px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 40px;
    background: #c5b37f;
    font-size: 1.8rem;
    -webkit-transition: background ease-out 0.2s;
    transition: background ease-out 0.2s; }
    @media screen and (max-width: 480px) {
      .card-icon {
        width: 36px;
        height: 36px;
        margin-left: -24px; } }
    .card-icon img {
      width: 36px;
      height: 36px; }
      @media screen and (max-width: 480px) {
        .card-icon img {
          width: 16px;
          height: 16px; } }
    .card-icon + * {
      margin-top: 24px; }
      @media screen and (max-width: 480px) {
        .card-icon + * {
          margin-top: 0;
          margin-left: 12px; } }
  .card:hover .card-button {
    background: #c5b37f; }
    .card:hover .card-button .card-icon {
      background: #f4f3ec; }

.icon-card {
  position: relative;
  display: block;
  -webkit-transition: background ease-out 0.2s, color ease-out 0.2s;
  transition: background ease-out 0.2s, color ease-out 0.2s;
  background: #25283b;
  color: #ffffff;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  padding: 12px; }
  .icon-card:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 100%; }
  .icon-card > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .icon-card img,
  .icon-card source {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover";
    width: 100%;
    height: 100%; }
  .icon-card iframe {
    width: 100%;
    height: 100%; }
  @media screen and (max-width: 768px) {
    .icon-card {
      font-size: 1.4rem; } }
  .icon-card-body {
    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: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .icon-card-icon {
    -webkit-transition: background ease-out 0.2s;
    transition: background ease-out 0.2s;
    background: #c5b37f;
    width: 50%;
    height: 50%;
    border-radius: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .icon-card-icon img {
      width: 45%;
      height: auto; }
    .icon-card-icon + * {
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        .icon-card-icon + * {
          margin-top: 12px; } }
  .icon-card:hover {
    background: #c5b37f;
    color: #ffffff; }
    .icon-card:hover .icon-card-icon {
      background: #f4f3ec; }

.image-card {
  position: relative;
  display: block;
  color: #ffffff; }
  .image-card img {
    -webkit-transition: -webkit-transform ease-out 0.5s;
    transition: -webkit-transform ease-out 0.5s;
    transition: transform ease-out 0.5s;
    transition: transform ease-out 0.5s, -webkit-transform ease-out 0.5s; }
  .image-card:hover {
    color: #ffffff; }
    .image-card:hover img {
      -webkit-transition: -webkit-transform ease-out 1s;
      transition: -webkit-transform ease-out 1s;
      transition: transform ease-out 1s;
      transition: transform ease-out 1s, -webkit-transform ease-out 1s;
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
  .image-card-caption {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 10;
    font-weight: bold;
    width: 100%;
    padding: 10px;
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 2rem;
    line-height: 1.5; }
    @media screen and (max-width: 480px) {
      .image-card-caption {
        font-size: 1.4rem; } }

.media {
  color: #191919; }
  .media-title {
    font-weight: bold;
    line-height: 1.5; }
  .media-summary {
    line-height: 1.4; }
  .media-category {
    color: #c5b37f;
    font-weight: bold; }
  .media-location::before {
    display: inline-block;
    content: url(https://images.ctfassets.net/uoecnmts6wfs/1KLgXOXTge6U6qZDCR5ZwM/7915b13e5811d9363d65b556a9826f15/icon-pin.svg);
    height: 1em;
    width: 0.7em;
    vertical-align: top;
    -webkit-transform: translateY(3px);
            transform: translateY(3px);
    margin-right: 4px; }
  .media-body {
    line-height: 1.5;
    font-size: 1.6rem; }
    @media screen and (max-width: 480px) {
      .media-body {
        font-size: 1.4rem; } }
    .media-body > * {
      display: block; }
      .media-body > * + * {
        margin-top: 0.6rem; }
  .media-image + .media-body {
    margin-top: 12px; }
    @media screen and (max-width: 480px) {
      .media-image + .media-body {
        margin-top: 8px; } }
  .media.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: -16px; }
    .media.horizontal > * {
      margin: 16px; }
    @media screen and (max-width: 480px) {
      .media.horizontal {
        margin: -12px; }
        .media.horizontal > * {
          margin: 12px; } }
    .media.horizontal > * {
      width: calc((100% - 32.1px * 2) / 2); }
      @media screen and (max-width: 480px) {
        .media.horizontal > * {
          width: calc((100% - 24.1px * 2) / 2); } }
    .media.horizontal .media-body {
      margin-top: 7px; }
      @media screen and (max-width: 480px) {
        .media.horizontal .media-body {
          margin-top: 3px; } }
  .media img {
    -webkit-transition: -webkit-transform ease-out 0.5s;
    transition: -webkit-transform ease-out 0.5s;
    transition: transform ease-out 0.5s;
    transition: transform ease-out 0.5s, -webkit-transform ease-out 0.5s; }
  .media:hover {
    color: #c5b37f;
    text-decoration: none; }
    .media:hover * {
      color: #c5b37f; }
    .media:hover img {
      -webkit-transition: -webkit-transform ease-out 1s;
      transition: -webkit-transform ease-out 1s;
      transition: transform ease-out 1s;
      transition: transform ease-out 1s, -webkit-transform ease-out 1s;
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
    .media:hover .append-external::after {
      content: url(https://images.ctfassets.net/uoecnmts6wfs/WkSag37mmv5lOsWxTXFCY/a277a8eebe6e0e85960e5719de0db612/icon-external-gold.svg); }
    .media:hover .prepend-external::before {
      content: url(https://images.ctfassets.net/uoecnmts6wfs/WkSag37mmv5lOsWxTXFCY/a277a8eebe6e0e85960e5719de0db612/icon-external-gold.svg); }
    .media:hover .media-location::before {
      content: url(https://images.ctfassets.net/uoecnmts6wfs/2KYBvb9BioIS0oXeHbCtT3/15dd7d6d8163ea6767c542b74ae98138/icon-pin-gold.svg); }

.right-arrow-button {
  display: inline-block;
  text-align: center;
  color: #c5b37f; }
  .right-arrow-button-icon {
    width: 100px;
    height: 16px;
    position: relative; }
    .right-arrow-button-icon .bar1 {
      width: 100px;
      display: block;
      height: 1px;
      background: #c5b37f;
      position: absolute;
      bottom: 0;
      left: 0; }
    .right-arrow-button-icon .bar2 {
      width: 22px;
      display: block;
      height: 1px;
      background: #c5b37f;
      position: absolute;
      bottom: 0;
      right: 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transform-origin: bottom right;
              transform-origin: bottom right; }
  .right-arrow-button:hover .right-arrow-button-icon .bar1 {
    -webkit-animation: right-arrow-bar1 0.36s 1 linear;
            animation: right-arrow-bar1 0.36s 1 linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .right-arrow-button:hover .right-arrow-button-icon .bar2 {
    width: 0;
    -webkit-animation: right-arrow-bar2 0.2s 1 ease-out;
            animation: right-arrow-bar2 0.2s 1 ease-out;
    -webkit-animation-delay: 0.36s;
            animation-delay: 0.36s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .right-arrow-button.s .right-arrow-button-icon {
    width: 58px;
    height: 11px;
    position: relative; }
    .right-arrow-button.s .right-arrow-button-icon .bar1 {
      width: 58px;
      display: block;
      height: 1px;
      background: #c5b37f;
      position: absolute;
      bottom: 0;
      left: 0; }
    .right-arrow-button.s .right-arrow-button-icon .bar2 {
      width: 16px;
      display: block;
      height: 1px;
      background: #c5b37f;
      position: absolute;
      bottom: 0;
      right: 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transform-origin: bottom right;
              transform-origin: bottom right; }
  .right-arrow-button.s:hover .right-arrow-button-icon .bar2 {
    width: 0;
    -webkit-animation: right-arrow-bar3 0.2s 1 ease-out;
            animation: right-arrow-bar3 0.2s 1 ease-out;
    -webkit-animation-delay: 0.36s;
            animation-delay: 0.36s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .right-arrow-button-label {
    display: block;
    margin-top: 18px; }

.banner-slide {
  padding: 0 40px;
  position: relative;
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .banner-slide {
      padding: 0 32px; } }
  @media screen and (max-width: 480px) {
    .banner-slide {
      padding: 0 24px; } }
  .banner-slide:before {
    content: '';
    display: block;
    background: #f4f3ec;
    height: calc(100% - ((100% - 58px) / 2));
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0; }
  .banner-slide-wrapper {
    position: relative;
    z-index: 10; }
  .banner-slide-item {
    display: block; }
  .banner-slide-image {
    background: #c5b37f;
    display: block; }
  .banner-slide img {
    max-width: 100%;
    width: 100%;
    height: auto;
    vertical-align: bottom; }
  .banner-slide .swiper-container {
    max-width: 952px; }
  .banner-slide .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 10px !important;
    background: #c5b37f;
    -webkit-transition: background ease 0.2s, opacity ease 0.2s;
    transition: background ease 0.2s, opacity ease 0.2s; }
    .banner-slide .swiper-pagination-bullet:hover {
      opacity: 0.7; }
    @media screen and (max-width: 480px) {
      .banner-slide .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        margin: 0 5px !important; } }
    .banner-slide .swiper-pagination-bullet .swiper-pagination-bullet-active {
      background: #c5b37f; }
  .banner-slide .swiper-pagination {
    position: relative;
    top: inherit;
    bottom: inherit;
    left: inherit;
    right: inherit;
    margin: 0 42px; }
    @media screen and (max-width: 480px) {
      .banner-slide .swiper-pagination {
        height: 6px;
        margin: 0 20px; }
        .banner-slide .swiper-pagination span {
          vertical-align: top; } }
  .banner-slide .banner-slide-control-prev,
  .banner-slide .banner-slide-control-next {
    color: #c5b37f;
    -webkit-transition: -webkit-transform ease 0.2s;
    transition: -webkit-transform ease 0.2s;
    transition: transform ease 0.2s;
    transition: transform ease 0.2s, -webkit-transform ease 0.2s;
    margin: 0;
    position: relative;
    top: inherit;
    bottom: inherit;
    left: inherit;
    right: inherit;
    padding: 4px;
    cursor: pointer; }
    .banner-slide .banner-slide-control-prev::after,
    .banner-slide .banner-slide-control-next::after {
      font-size: 2.2rem; }
      @media screen and (max-width: 480px) {
        .banner-slide .banner-slide-control-prev::after,
        .banner-slide .banner-slide-control-next::after {
          font-size: 1.2rem; } }
  .banner-slide .banner-slide-control-prev:hover {
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px); }
  .banner-slide .banner-slide-control-next:hover {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  .banner-slide-control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 8px 0; }
  .banner-slide .swiper-button-disabled {
    display: none; }

.banner-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .banner-list-item {
    display: block;
    background: #c5b37f;
    overflow: hidden; }
    .banner-list-item + .banner-list-item {
      margin-top: 20px; }
  .banner-list img {
    vertical-align: bottom;
    width: 100%; }

.spot-slider-right-arrow {
  width: 60px;
  height: 16px;
  position: absolute;
  bottom: 14px;
  right: 0;
  z-index: 30; }
  .spot-slider-right-arrow .bar1 {
    width: 60px;
    display: block;
    height: 1px;
    background: #c5b37f;
    position: absolute;
    bottom: 0;
    left: 0; }
  .spot-slider-right-arrow .bar2 {
    width: 16px;
    display: block;
    height: 1px;
    background: #c5b37f;
    position: absolute;
    bottom: 0;
    right: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right; }

.spot-slider-title {
  font-size: 4rem;
  line-height: 1.2;
  font-family: 'bodoni-urw';
  position: relative;
  padding-right: 60px; }
  @media screen and (max-width: 768px) {
    .spot-slider-title {
      font-size: 3rem; } }
  .spot-slider-title + * {
    margin-top: 24px; }
    @media screen and (max-width: 768px) {
      .spot-slider-title + * {
        margin-top: 10px; } }

.spot-slider-description {
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .spot-slider-description {
      font-size: 1.4rem; } }

.spot-slider-item {
  position: relative;
  display: block;
  color: #191919; }
  @media screen and (max-width: 768px) {
    .spot-slider-item {
      color: #ffffff; } }
  .spot-slider-item:hover img {
    -webkit-transition: -webkit-transform ease-out 1s;
    transition: -webkit-transform ease-out 1s;
    transition: transform ease-out 1s;
    transition: transform ease-out 1s, -webkit-transform ease-out 1s;
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  .spot-slider-item:hover .spot-slider-title {
    color: #c5b37f; }
  .spot-slider-item:hover .spot-slider-right-arrow .bar1 {
    -webkit-animation: right-arrow-bar1 0.36s 1 linear;
            animation: right-arrow-bar1 0.36s 1 linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .spot-slider-item:hover .spot-slider-right-arrow .bar2 {
    width: 0;
    -webkit-animation: right-arrow-bar3 0.2s 1 ease-out;
            animation: right-arrow-bar3 0.2s 1 ease-out;
    -webkit-animation-delay: 0.36s;
            animation-delay: 0.36s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }

.spot-slider-image {
  overflow: hidden;
  margin-top: 40px;
  display: block;
  background: #c5b37f;
  position: relative; }
  .spot-slider-image:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.66667%; }
  .spot-slider-image > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .spot-slider-image img,
  .spot-slider-image source {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover";
    width: 100%;
    height: 100%; }
  .spot-slider-image iframe {
    width: 100%;
    height: 100%; }
  @media screen and (max-width: 768px) {
    .spot-slider-image {
      margin-top: 0; } }
  .spot-slider-image img {
    -webkit-transition: -webkit-transform ease-out 0.5s;
    transition: -webkit-transform ease-out 0.5s;
    transition: transform ease-out 0.5s;
    transition: transform ease-out 0.5s, -webkit-transform ease-out 0.5s;
    vertical-align: bottom;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover"; }

@media screen and (max-width: 768px) {
  .spot-slider-info {
    position: absolute;
    z-index: 15;
    padding: 24px;
    bottom: 0; } }

.spot-slider .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0 10px !important;
  background: #c5b37f;
  -webkit-transition: background ease 0.2s, opacity ease 0.2s;
  transition: background ease 0.2s, opacity ease 0.2s; }
  .spot-slider .swiper-pagination-bullet:hover {
    opacity: 0.7; }
  @media screen and (max-width: 480px) {
    .spot-slider .swiper-pagination-bullet {
      width: 6px;
      height: 6px;
      margin: 0 5px !important; } }
  .spot-slider .swiper-pagination-bullet .swiper-pagination-bullet-active {
    background: #c5b37f; }

.spot-slider .swiper-pagination {
  position: relative;
  top: inherit;
  bottom: inherit;
  left: inherit;
  right: inherit;
  margin: 0 42px; }
  @media screen and (max-width: 480px) {
    .spot-slider .swiper-pagination {
      height: 6px;
      margin: 0 20px; }
      .spot-slider .swiper-pagination span {
        vertical-align: top; } }

.spot-slider .spot-slider-control-prev,
.spot-slider .spot-slider-control-next {
  color: #c5b37f;
  -webkit-transition: -webkit-transform ease 0.2s;
  transition: -webkit-transform ease 0.2s;
  transition: transform ease 0.2s;
  transition: transform ease 0.2s, -webkit-transform ease 0.2s;
  margin: 0;
  position: relative;
  top: inherit;
  bottom: inherit;
  left: inherit;
  right: inherit;
  padding: 4px;
  cursor: pointer; }
  .spot-slider .spot-slider-control-prev::after,
  .spot-slider .spot-slider-control-next::after {
    font-size: 2.2rem; }
    @media screen and (max-width: 480px) {
      .spot-slider .spot-slider-control-prev::after,
      .spot-slider .spot-slider-control-next::after {
        font-size: 1.2rem; } }

.spot-slider .spot-slider-control-prev:hover {
  -webkit-transform: translateX(-4px);
          transform: translateX(-4px); }

.spot-slider .spot-slider-control-next:hover {
  -webkit-transform: translateX(4px);
          transform: translateX(4px); }

.spot-slider-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 0; }

.map {
  background: #f4f3ec;
  padding: 36px; }
  @media screen and (max-width: 768px) {
    .map {
      padding: 0;
      background: none; } }
  @media screen and (max-width: 768px) {
    .map {
      position: relative; }
      .map::before {
        content: '';
        display: block;
        background: #f4f3ec;
        height: 160px;
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0; } }
  @media screen and (max-width: 480px) {
    .map {
      position: relative; }
      .map::before {
        content: '';
        display: block;
        background: #f4f3ec;
        height: 90px;
        width: 100%;
        position: absolute;
        left: 0;
        bottom: 0; } }
  .map-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background: #ffffff;
    position: relative; }
    @media screen and (max-width: 768px) {
      .map-body {
        background: none; } }
    @media screen and (max-width: 600px) {
      .map-body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        background: none; } }
  .map .spot-slider {
    margin: 60px 0px 0px 60px;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
    @media screen and (max-width: 768px) {
      .map .spot-slider {
        margin: 32px 0px 0px 32px;
        -ms-flex-preferred-size: 60%;
            flex-basis: 60%;
        min-width: 300px; } }
    @media screen and (max-width: 600px) {
      .map .spot-slider {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        margin: 0 24px; } }
  .map .swiper-wrapper {
    height: auto; }
  .map-wrapper {
    position: relative;
    margin: 60px;
    text-align: right;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }
    @media screen and (max-width: 768px) {
      .map-wrapper {
        -ms-flex-preferred-size: 40%;
            flex-basis: 40%;
        margin: 32px; } }
    @media screen and (max-width: 600px) {
      .map-wrapper {
        min-width: 0;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        margin: 32px; } }
  .map-japan {
    position: absolute;
    left: 0;
    top: 0;
    width: 40%; }
    @media screen and (max-width: 768px) {
      .map-japan {
        width: 40%; } }
    @media screen and (max-width: 600px) {
      .map-japan {
        width: 40%; } }
  .map-ishikawa {
    width: 90%;
    position: relative;
    top: 10; }
    @media screen and (max-width: 768px) {
      .map-ishikawa {
        width: 100%; } }
    @media screen and (max-width: 600px) {
      .map-ishikawa {
        width: 76%; } }
  .map-area {
    position: relative; }
    .map-area-map {
      -webkit-transition: fill ease 0.2s;
      transition: fill ease 0.2s;
      fill: #e5e5e5;
      stroke: #ffffff;
      cursor: pointer; }
    .map-area:hover .map-area-map, .map-area.active .map-area-map {
      fill: #c5b37f; }

.image-slide {
  position: relative; }
  .image-slide img,
  .image-slide source {
    max-width: 100%;
    vertical-align: bottom; }
  .image-slide .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 10px !important;
    background: #c5b37f;
    -webkit-transition: background ease 0.2s, opacity ease 0.2s;
    transition: background ease 0.2s, opacity ease 0.2s; }
    .image-slide .swiper-pagination-bullet:hover {
      opacity: 0.7; }
    @media screen and (max-width: 480px) {
      .image-slide .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        margin: 0 5px !important; } }
    .image-slide .swiper-pagination-bullet .swiper-pagination-bullet-active {
      background: #c5b37f; }
  .image-slide .swiper-button-prev,
  .image-slide .swiper-button-next {
    color: #ffffff;
    -webkit-transition: opacity ease 0.2s, -webkit-transform ease 0.2s;
    transition: opacity ease 0.2s, -webkit-transform ease 0.2s;
    transition: opacity ease 0.2s, transform ease 0.2s;
    transition: opacity ease 0.2s, transform ease 0.2s, -webkit-transform ease 0.2s;
    opacity: 0; }
  .image-slide-item::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 5;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.24)));
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.24));
    -webkit-transition: opacity ease 0.2s;
    transition: opacity ease 0.2s;
    opacity: 0; }
  .image-slide.no-hover .image-slide-item::after {
    display: none; }
  .image-slide:hover .image-slide-item::after {
    opacity: 1; }
  .image-slide:hover .swiper-button-prev,
  .image-slide:hover .swiper-button-next {
    opacity: 1; }
  .image-slide .swiper-button-prev {
    left: 30px; }
    .image-slide .swiper-button-prev:hover {
      -webkit-transform: translateX(-8px);
              transform: translateX(-8px); }
  .image-slide .swiper-button-next {
    right: 30px; }
    .image-slide .swiper-button-next:hover {
      -webkit-transform: translateX(8px);
              transform: translateX(8px); }
  .image-slide-pagination {
    bottom: 30px !important;
    width: auto !important;
    left: 50% !important;
    -webkit-transform: translateX(-50%) !important;
            transform: translateX(-50%) !important; }
    @media screen and (max-width: 480px) {
      .image-slide-pagination {
        bottom: 15px !important; } }
    .image-slide-pagination .swiper-pagination-bullet {
      width: 12px;
      height: 12px;
      margin: 0 10px !important;
      background: #ffffff;
      -webkit-transition: background ease 0.2s, opacity ease 0.2s;
      transition: background ease 0.2s, opacity ease 0.2s;
      opacity: 1; }
      .image-slide-pagination .swiper-pagination-bullet:hover {
        opacity: 1;
        background: #c5b37f; }
      @media screen and (max-width: 480px) {
        .image-slide-pagination .swiper-pagination-bullet {
          width: 6px;
          height: 6px;
          margin: 0 5px !important; } }
    .image-slide-pagination .swiper-pagination-bullet-active {
      background: #c5b37f; }
  .image-slide-spot {
    color: #ffffff;
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 20;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.4rem;
    -webkit-box-align: top;
        -ms-flex-align: top;
            align-items: top;
    opacity: 0; }
    .image-slide-spot:hover {
      text-decoration: underline; }
    @media screen and (max-width: 480px) {
      .image-slide-spot {
        font-size: 1rem;
        left: 15px;
        bottom: 15px; } }
    .image-slide-spot svg {
      display: block;
      width: 1.7rem;
      height: 1.7rem;
      margin-right: 8px; }
      @media screen and (max-width: 480px) {
        .image-slide-spot svg {
          width: 1.2rem;
          height: 1.2rem; } }

.swiper-slide-active .image-slide-spot {
  -webkit-animation-name: SlideInFromLeft;
          animation-name: SlideInFromLeft;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s; }

.layout-2-col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 60px 0 90px; }
  .layout-2-col-main {
    margin-right: 32px;
    -ms-flex-preferred-size: 704px;
        flex-basis: 704px;
    max-width: 704px; }
    @media screen and (max-width: 480px) {
      .layout-2-col-main {
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
        max-width: none; } }
  .layout-2-col-sub {
    margin-left: auto;
    -ms-flex-preferred-size: 276px;
        flex-basis: 276px;
    max-width: 276px; }
    .layout-2-col-sub > * + * {
      margin-top: 20px; }
    @media screen and (max-width: 480px) {
      .layout-2-col-sub {
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
        max-width: none;
        width: 100%; } }
  @media screen and (max-width: 480px) {
    .layout-2-col {
      margin: 24px 0 60px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .layout-2-col-main {
        margin-right: 0; }
      .layout-2-col-sub {
        margin-top: 60px;
        max-width: auto; } }

.article > *:not(:first-child) {
  margin-top: 60px; }
  @media screen and (max-width: 480px) {
    .article > *:not(:first-child) {
      margin-top: 40px; } }

.article-title {
  font-size: 2.8rem;
  letter-spacing: 0.1rem;
  line-height: 1.4; }
  @media screen and (max-width: 480px) {
    .article-title {
      font-size: 1.6rem;
      font-weight: bold;
      line-height: 1.5; } }

.article .article-title + * {
  margin-top: 24px; }
  @media screen and (max-width: 480px) {
    .article .article-title + * {
      margin-top: 18px; } }

.article-paragraph {
  line-height: 2;
  font-size: 1.6rem; }
  .article-paragraph + .article-paragraph,
  .article-paragraph + .article-image {
    margin-top: 53px; }
    @media screen and (max-width: 480px) {
      .article-paragraph + .article-paragraph,
      .article-paragraph + .article-image {
        margin-top: 33px; } }
  @media screen and (max-width: 480px) {
    .article-paragraph {
      line-height: 1.5;
      font-size: 1.4rem; } }

.article-image {
  background: #c5b37f;
  display: block; }
  .article-image + .article-paragraph,
  .article-image + .article-image {
    margin-top: 53px; }
    @media screen and (max-width: 480px) {
      .article-image + .article-paragraph,
      .article-image + .article-image {
        margin-top: 33px; } }
  .article-image img,
  .article-image source {
    width: 100%;
    vertical-align: bottom; }

.article-info > *:not(:first-child) {
  margin-top: 30px; }
  @media screen and (max-width: 480px) {
    .article-info > *:not(:first-child) {
      margin-top: 20px; } }

.article-info-title {
  font-size: 3.2rem;
  line-height: 1.2;
  font-family: 'bodoni-urw'; }
  @media screen and (max-width: 480px) {
    .article-info-title {
      font-size: 2rem; } }
  .article-info-title + * {
    margin-top: 24px; }
    @media screen and (max-width: 480px) {
      .article-info-title + * {
        margin-top: 24px; } }

.article-map-wrapper {
  position: relative; }
  .article-map-wrapper:before {
    display: block;
    content: "";
    width: 100%;
    padding-top: 66.66667%; }
  .article-map-wrapper > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .article-map-wrapper img,
  .article-map-wrapper source {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover";
    width: 100%;
    height: 100%; }
  .article-map-wrapper iframe {
    width: 100%;
    height: 100%; }

.article-map-options {
  margin-top: 20px; }
  .article-map-options > * {
    margin-right: 20px; }

.tag {
  font-size: 1.6rem;
  color: #191919;
  line-height: 1;
  white-space: nowrap;
  display: inline-block;
  padding: 1.5rem 2rem;
  background: #f4f4f4;
  -webkit-transition: background ease 0.2s, color ease 0.2s;
  transition: background ease 0.2s, color ease 0.2s; }
  @media screen and (max-width: 480px) {
    .tag {
      font-size: 1.4rem;
      padding: 1.2rem 1.6rem; } }
  .tag:hover {
    background: #c5b37f;
    color: #ffffff; }
  .tag-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: -15px; }
    .tag-list .tag {
      margin-right: 20px;
      margin-bottom: 20px; }
      @media screen and (max-width: 480px) {
        .tag-list .tag {
          margin-right: 15px;
          margin-bottom: 15px; } }

.info-list-title {
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1rem; }
  @media screen and (max-width: 480px) {
    .info-list-title {
      font-size: 1.4rem; } }
  .info-list-title + * {
    margin-top: 20px; }

.info-list-wrapper {
  font-size: 1.6rem;
  letter-spacing: 0.1rem;
  line-height: 1.5; }
  @media screen and (max-width: 480px) {
    .info-list-wrapper {
      font-size: 1.4rem; } }

.info-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .info-list-item + .info-list-item {
    margin-top: 8px; }
    @media screen and (max-width: 480px) {
      .info-list-item + .info-list-item {
        margin-top: 4px; } }
  .info-list-item-heading {
    -ms-flex-preferred-size: 152px;
        flex-basis: 152px;
    position: relative;
    padding-left: 1.2rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .info-list-item-heading::before {
      content: '-';
      position: absolute;
      top: 0;
      left: 0; }
    @media screen and (max-width: 480px) {
      .info-list-item-heading {
        -ms-flex-preferred-size: 115px;
            flex-basis: 115px;
        margin-right: 24px; } }
  .info-list-item-body {
    -ms-flex-preferred-size: 552px;
        flex-basis: 552px; }
    @media screen and (max-width: 480px) {
      .info-list-item-body {
        -ms-flex-preferred-size: 214px;
            flex-basis: 214px; } }

.jumbo-article-link {
  color: #191919;
  position: relative;
  display: block;
  max-width: 1280px;
  margin: 0 auto; }
  .jumbo-article-link img {
    width: 100%;
    -webkit-transition: -webkit-transform ease-out 0.4s;
    transition: -webkit-transform ease-out 0.4s;
    transition: transform ease-out 0.4s;
    transition: transform ease-out 0.4s, -webkit-transform ease-out 0.4s;
    vertical-align: bottom; }
  .jumbo-article-link-image {
    overflow: hidden;
    display: block;
    height: 400px; }
    @media screen and (max-width: 480px) {
      .jumbo-article-link-image {
        height: 250px; } }
    .jumbo-article-link-image img {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
  .jumbo-article-link-body {
    background: #fff;
    max-width: 613px;
    padding: 46px;
    margin-top: -150px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      .jumbo-article-link-body {
        max-width: calc(100% - 64px); } }
    @media screen and (max-width: 480px) {
      .jumbo-article-link-body {
        width: 100%;
        max-width: 100%;
        padding: 24px;
        margin-top: -60px; } }
  .jumbo-article-link-description {
    line-height: 2;
    -webkit-transition: color ease 0.2s;
    transition: color ease 0.2s; }
    @media screen and (max-width: 768px) {
      .jumbo-article-link-description {
        font-size: 1.4rem; } }
    @media screen and (max-width: 480px) {
      .jumbo-article-link-description {
        line-height: 1.5;
        font-size: 1.4rem; } }
  .jumbo-article-link .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: relative; }
  .jumbo-article-link .right-arrow {
    width: 60px;
    height: 16px;
    display: inline-block;
    position: relative; }
    .jumbo-article-link .right-arrow .bar1 {
      width: 60px;
      display: block;
      height: 1px;
      background: #c5b37f;
      position: absolute;
      bottom: 0;
      left: 0; }
    .jumbo-article-link .right-arrow .bar2 {
      width: 16px;
      display: block;
      height: 1px;
      background: #c5b37f;
      position: absolute;
      bottom: 0;
      right: 0;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transform-origin: bottom right;
              transform-origin: bottom right; }
  .jumbo-article-link-title {
    font-size: 4rem;
    line-height: 1.2;
    font-family: 'bodoni-urw';
    -webkit-transition: color ease 0.2s;
    transition: color ease 0.2s;
    position: relative;
    padding-right: 60px; }
    .jumbo-article-link-title .right-arrow {
      position: absolute;
      bottom: 14px;
      right: 0;
      z-index: 30; }
    @media screen and (max-width: 768px) {
      .jumbo-article-link-title {
        font-size: 3rem; } }
    .jumbo-article-link-title + * {
      margin-top: 24px; }
      @media screen and (max-width: 768px) {
        .jumbo-article-link-title + * {
          margin-top: 10px; } }
    @media screen and (max-width: 480px) {
      .jumbo-article-link-title {
        font-size: 2.2rem; } }
    .jumbo-article-link-title.s {
      font-size: 3.2rem; }
      @media screen and (max-width: 480px) {
        .jumbo-article-link-title.s {
          font-size: 2rem; } }
      .jumbo-article-link-title.s + * {
        margin-top: 12px; }
        @media screen and (max-width: 768px) {
          .jumbo-article-link-title.s + * {
            margin-top: 10px; } }
  .jumbo-article-link:hover img {
    -webkit-transition: -webkit-transform ease-out 1s;
    transition: -webkit-transform ease-out 1s;
    transition: transform ease-out 1s;
    transition: transform ease-out 1s, -webkit-transform ease-out 1s;
    -webkit-transform: scale(1.06);
            transform: scale(1.06); }
  .jumbo-article-link:hover .jumbo-article-link-title {
    color: #c5b37f; }
  .jumbo-article-link:hover .right-arrow .bar1 {
    -webkit-animation: right-arrow-bar1 0.36s 1 linear;
            animation: right-arrow-bar1 0.36s 1 linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .jumbo-article-link:hover .right-arrow .bar2 {
    width: 0;
    -webkit-animation: right-arrow-bar3 0.2s 1 ease-out;
            animation: right-arrow-bar3 0.2s 1 ease-out;
    -webkit-animation-delay: 0.36s;
            animation-delay: 0.36s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }

.jumbo-articles-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .jumbo-articles-container > * {
    width: 50%;
    display: block; }
    .jumbo-articles-container > * .jumbo-article-link-body {
      max-width: 459px; }
      @media screen and (max-width: 480px) {
        .jumbo-articles-container > * .jumbo-article-link-body {
          padding: 12px; } }
    .jumbo-articles-container > * .container {
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      @media screen and (max-width: 480px) {
        .jumbo-articles-container > * .container {
          padding: 0 12px; } }
    .jumbo-articles-container > *:nth-child(odd) .container {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
    .jumbo-articles-container > *:nth-child(even) .container {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }

.breadcrumb {
  background: #f4f3ec;
  font-size: 1.4rem;
  padding: 20px 0; }
  @media screen and (max-width: 480px) {
    .breadcrumb {
      padding: 36px 0; } }
  .breadcrumb a {
    color: #191919; }
    .breadcrumb a:hover {
      color: #c5b37f; }
  .breadcrumb-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 480px) {
      .breadcrumb-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        text-align: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  @media screen and (max-width: 480px) {
    .breadcrumb-item {
      text-align: center; }
      .breadcrumb-item a {
        display: block; } }
  .breadcrumb-item:not(:first-child)::before {
    content: '>';
    display: inline-block;
    margin: 0 20px; }
    @media screen and (max-width: 480px) {
      .breadcrumb-item:not(:first-child)::before {
        content: url(https://images.ctfassets.net/uoecnmts6wfs/2PmG4liuulGlxQVNeAkXqs/aaa4a2ef85ae54ee99bda937c0ed5078/caret.svg);
        width: 9px;
        margin: 9px 0 15px; } }
  .breadcrumb-item:last-child a {
    color: #bababa;
    cursor: text; }
    .breadcrumb-item:last-child a:hover {
      color: #bababa; }

.page-header {
  margin: 80px 0 60px; }
  @media screen and (max-width: 480px) {
    .page-header {
      margin: 32px 0  24px; } }
  .page-header-title {
    font-size: 4rem;
    line-height: 1.2;
    font-family: 'bodoni-urw'; }
    @media screen and (max-width: 480px) {
      .page-header-title {
        font-size: 3rem; } }
  .page-header-description {
    font-size: 16px;
    line-height: 2;
    margin-top: 26px; }
    @media screen and (max-width: 480px) {
      .page-header-description {
        font-size: 14px;
        margin-top: 14px;
        line-height: 1.5; } }

.input-base {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .mod__td-search--icon{
    display: none;
  }
  .mod__td-search--freeword {
    background: #ffffff;
    font-family: "sofia-pro";
    line-height: 1.8rem;
    padding: 1.8rem;
    font-size: 1.8rem;
    position: relative;
    vertical-align: middle;
    border: 0;
    width: 100%;}
    @media screen and (max-width: 480px) {
      .input-base-input {
        font-size: 1.2rem; } }
  .mod__td-search--search-wrap{
    width: 100%;
    display: inline-flex;
  }
  .input-base.full-width {
    width: 100%; }
    .input-base.full-width .input-base-input {
      width: 100%; }

.text-link {
  text-decoration: underline;
  font-size: 1.4rem; }
  .text-link:hover {
    text-decoration: none; }

.toggle-button {
  position: relative;
  display: inline-block;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .toggle-button input {
    opacity: 0;
    pointer-events: none;
    position: absolute; }
  .toggle-button .button {
    background: #f4f4f4;
    color: #191919; }
    .toggle-button .button:hover, .toggle-button .button:active {
      background: #f2ede1;
      color: #191919; }
  .toggle-button input:checked + .button {
    background: #c5b37f;
    color: #ffffff; }

.button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #c5b37f;
  color: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "sofia-pro";
  line-height: 1;
  padding: 0 2rem;
  height: 61px;
  -webkit-transition: background ease-out 0.2s, color ease-out 0.2s;
  transition: background ease-out 0.2s, color ease-out 0.2s;
  border: none;
  overflow: visible;
  vertical-align: middle;
  position: relative;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer; }
  .button.toggle {
    background: #f4f4f4;
    color: #191919; }
    .button.toggle:hover, .button.toggle:active {
      background: #c5b37f;
      color: #ffffff; }
  .button.fixed-width {
    max-width: 315px;
    width: 100%; }
  .button.full-width {
    width: 100%; }
  @media screen and (min-width: 960px) {
    .button.lg-full-width {
      width: 100%; } }
  @media screen and (max-width: 480px) {
    .button.sm-full-width {
      width: 100%; } }
  .button.inverse {
    background: #25283b; }
    .button.inverse:hover {
      background: #c5b37f; }
      .button.inverse:hover .button-icon {
        background: #ffffff; }
  .button.s {
    font-size: 1.6rem;
    height: 48px;
    font-weight: normal; }
    @media screen and (max-width: 480px) {
      .button.s {
        font-size: 1.2rem;
        height: 30px;
        padding: 0 1.2rem; } }
  @media screen and (max-width: 480px) {
    .button {
      height: 44px;
      font-size: 1.2rem;
      padding: 0 1.6rem; } }
  .button-label {
    margin-left: 12px;
    letter-spacing: 0.1rem; }
    @media screen and (max-width: 480px) {
      .button-label {
        display: none; } }
  .button:hover {
    background: #25283b;
    color: #ffffff; }
  .button-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 44px;
    height: 44px;
    background: #c5b37f;
    border-radius: 30px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-right: 20px;
    -webkit-transition: background ease 0.2s;
    transition: background ease 0.2s; }
    @media screen and (max-width: 480px) {
      .button-icon {
        width: 28px;
        height: 28px;
        margin-right: 10px; } }
    .button-icon img {
      width: 20px;
      height: 20px; }
      @media screen and (max-width: 480px) {
        .button-icon img {
          width: 14px;
          height: 14px; } }

  .button[disabled], .button.disabled {
    background: #f4f4f4;
    color: #bababa;
    pointer-events: none; }
    .button[disabled]:hover, .button.disabled:hover {
      background: #f4f4f4;
      color: #bababa; }
.ais-SearchBox-form{
  display: inline-flex;
  width: 100%;
}

.ais-SearchBox-input{
  -webkit-appearance: textfield;
}
.angle-down-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #c5b37f;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .angle-down-button-label {
    margin-top: 20px; }
    @media screen and (max-width: 480px) {
      .angle-down-button-label {
        margin-top: 10px;
        font-size: 1.2rem; } }
  .angle-down-button:hover .bar1 {
    -webkit-animation: bottom-arrow-bar1 0.36s 1 linear;
            animation: bottom-arrow-bar1 0.36s 1 linear;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .angle-down-button:hover .bar2 {
    width: 0;
    -webkit-animation: bottom-arrow-bar2 0.2s 1 ease-out;
            animation: bottom-arrow-bar2 0.2s 1 ease-out;
    -webkit-animation-delay: 0.36s;
            animation-delay: 0.36s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }

.angle-down-icon {
  display: inline-block;
  width: 16px;
  height: 60px;
  position: relative; }
  @media screen and (max-width: 480px) {
    .angle-down-icon {
      height: 50px;
      width: 14px; } }
  .angle-down-icon .bar1,
  .angle-down-icon .bar2 {
    display: block;
    background: #c5b37f;
    position: absolute; }
  .angle-down-icon .bar1 {
    left: 0;
    top: 0;
    height: 60px;
    width: 1px; }
    @media screen and (max-width: 480px) {
      .angle-down-icon .bar1 {
        height: 50px;
        width: 1px; } }
  .angle-down-icon .bar2 {
    left: 0;
    bottom: 0;
    width: 16px;
    height: 1px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-transform-origin: left;
            transform-origin: left; }
    @media screen and (max-width: 480px) {
      .angle-down-icon .bar2 {
        width: 14px;
        height: 1px; } }

.button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .button-container > * + * {
    margin-left: 32px; }

.search-container {
  background: #f4f3ec; }
  .search-container-filters {
    background: #ffffff;
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 480px) {
      .search-container-filters {
        position: relative; } }
    @media screen and (min-width: 480px) {
      .search-container-filters-item {
        position: relative; } }
    @media screen and (max-width: 480px) {
      .search-container-filters {
        margin-top: 20px; } }
    .search-container-filters > * {
      width: 25%;
      padding: 0 30px;
      margin: 21px 0;
      border-right: 1px solid #c0c0c0;
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      @media screen and (max-width: 480px) {
        .search-container-filters > * {
          width: 100%;
          padding: 0 12px;
          margin: 12px 0; }
          .search-container-filters > *:last-child {
            border-right: none; } }

.custom-select {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  .custom-select-label {
    font-size: 1.4rem;
    line-height: 1; }
    @media screen and (max-width: 480px) {
      .custom-select-label {
        font-size: 1rem; } }
  .custom-select-caret {
    width: 14px;
    height: auto;
    margin-left: auto; }
    @media screen and (max-width: 480px) {
      .custom-select-caret {
        margin-left: inherit;
        width: 10px;
        margin-top: 10px; } }
  @media screen and (max-width: 480px) {
    .custom-select {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .custom-select.active::after {
    content: '';
    position: fixed;
    display: block;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 5;
    cursor: default; }

.select {
  display: inline-block; }
  .select-base {
    position: relative; }
    .select-base-select {
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      background: #ffffff;
      font-family: "sofia-pro";
      line-height: 1.8rem;
      font-size: 1.4rem;
      position: relative;
      border: 0;
      padding-right: 18px;
      cursor: pointer;
      text-align: center;
      opacity: 0; }
      @media screen and (max-width: 480px) {
        .select-base-select {
          font-size: 1rem;
          padding-right: 0;
          padding-bottom: 12px; } }
    .select-base-label {
      font-family: "sofia-pro";
      line-height: 1.8rem;
      font-size: 1.4rem;
      pointer-events: none;
      position: absolute;
      left: 0;
      top: 50%;
      width: 100%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media screen and (max-width: 480px) {
        .select-base-label {
          font-size: 1rem;
          padding-right: 0;
          padding-bottom: 12px;
          text-align: center; } }
    .select-base-caret {
      width: 14px;
      height: auto;
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      pointer-events: none; }
      @media screen and (max-width: 480px) {
        .select-base-caret {
          top: inherit;
          bottom: 0;
          left: 50%;
          -webkit-transform: translateX(-50%);
                  transform: translateX(-50%);
          width: 10px; } }
    .select-base.full-width {
      width: 100%; }
      .select-base.full-width .select-base-select {
        width: 100%; }

.results {
  padding: 36px 0; }
  @media screen and (max-width: 480px) {
    .results {
      padding: 24px 0; } }
  .results-count {
    font-size: 4rem;
    line-height: 1.2;
    font-family: 'bodoni-urw';
    display: contents;}
    @media screen and (max-width: 480px) {
      .results-count {
        font-size: 3rem; } }
  .results-unit {
    font-size: 1.4rem;
    vertical-align: text-bottom; }

.article-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 16px -16px; }
  @media screen and (max-width: 480px) {
    .article-list {
      margin: 0 -12px 12px; } }
  .article-list-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 60px 0 100px; }
    @media screen and (max-width: 480px) {
      .article-list-wrapper {
        margin: 20px 0 40px; } }
  .article-list-footer {
    margin: 44px 0 0;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .article-list-footer {
        margin: 30px 0 0; } }
  .article-list > * {
    width: calc(25% - 32px);
    margin: 16px;
    display: block; }
    @media screen and (max-width: 768px) {
      .article-list > * {
        width: calc(100% / 3 - 32px); } }
    @media screen and (max-width: 480px) {
      .article-list > * {
        width: calc(50% - 24px);
        margin: 12px; } }
  .article-list.col3 > * {
    width: calc(100% / 3 - 32px); }
    @media screen and (max-width: 480px) {
      .article-list.col3 > * {
        width: 100%;
        margin: 12px; } }
  @media screen and (max-width: 480px) {
    .article-list.sp-col2 > * {
      width: calc(50% - 24px);
      margin: 12px; } }
  .article-list-header-count {
    font-size: 4rem;
    line-height: 1.2;
    font-family: 'bodoni-urw'; }
    @media screen and (max-width: 480px) {
      .article-list-header-count {
        font-size: 3rem; } }
  .article-list-header-unit {
    font-size: 1.4rem;
    vertical-align: text-bottom; }
  .article-list-item {
    color: #191919;
    line-height: 1.5; }
    @media screen and (max-width: 480px) {
      .article-list-item {
        font-size: 1.4rem; } }
    .article-list-item > * {
      margin-top: 0.4rem; }
    .article-list-item-image {
      display: block;
      overflow: hidden;
      background: #c5b37f;
      position: relative; }
      .article-list-item-image img {
        -webkit-transition: -webkit-transform ease-out 0.5s;
        transition: -webkit-transform ease-out 0.5s;
        transition: transform ease-out 0.5s;
        transition: transform ease-out 0.5s, -webkit-transform ease-out 0.5s; }
      .article-list-item-image:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 66.66667%; }
      .article-list-item-image > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .article-list-item-image img,
      .article-list-item-image source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .article-list-item-image iframe {
        width: 100%;
        height: 100%; }
      .article-list-item-image + * {
        margin-top: 12px; }
    .article-list-item:hover img {
      -webkit-transition: -webkit-transform ease-out 1s;
      transition: -webkit-transform ease-out 1s;
      transition: transform ease-out 1s;
      transition: transform ease-out 1s, -webkit-transform ease-out 1s;
      -webkit-transform: scale(1.1);
              transform: scale(1.1); }
    .article-list-item:hover .article-list-item-title {
      text-decoration: underline; }
    .article-list-item-category {
      color: #c5b37f;
      font-weight: bold; }
    .article-list-item-location::before {
      display: inline-block;
      content: url(https://images.ctfassets.net/uoecnmts6wfs/1KLgXOXTge6U6qZDCR5ZwM/7915b13e5811d9363d65b556a9826f15/icon-pin.svg);
      height: 1em;
      width: 0.7em;
      vertical-align: top;
      -webkit-transform: translateY(3px);
              transform: translateY(3px);
      margin-right: 4px; }
    .article-list-item-title {
      font-weight: bold; }

.anchor-link {
  display: inline-block;
  color: #191919;
  position: relative;
  padding-left: 20px; }
  .anchor-link::before {
    content: url(https://images.ctfassets.net/uoecnmts6wfs/UojpewNRgl80Zdsvzsr1b/0ad5f2f78afd13d119dd00c9cb50c42b/icon-anchor.svg);
    display: inline-block;
    height: 1rem;
    width: 1rem;
    margin-right: 10px;
    position: absolute;
    left: 0;
    top: 0; }
  .anchor-link:hover {
    color: #c5b37f; }

.page-index {
  border: 20px solid #f4f3ec;
  padding: 20px;
  text-align: center;
  line-height: 1.5;
  background: #ffffff; }
  .page-index-item {
    display: inline-block;
    margin: 20px; }
  @media screen and (max-width: 480px) {
    .page-index {
      border-left: none;
      border-right: none;
      padding: 18px 12px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      text-align: left; }
      .page-index-item {
        margin: 4px 12px;
        width: calc(50% - 24px); } }

.related-link {
  background: #f4f3ec;
  max-width: 702px;
  padding: 48px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
  @media screen and (max-width: 480px) {
    .related-link {
      padding: 20px; } }
  .related-link-title {
    font-weight: bold;
    font-size: 1.8rem; }
    @media screen and (max-width: 480px) {
      .related-link-title {
        font-size: 1.4rem; } }
    .related-link-title + * {
      margin-top: 20px; }
      @media screen and (max-width: 480px) {
        .related-link-title + * {
          margin-top: 12px; } }

.list-disc {
  list-style: disc;
  padding-left: 20px;
  list-style-position: outside;
  line-height: 1.5; }
  @media screen and (max-width: 480px) {
    .list-disc {
      font-size: 1.4rem; } }
  .list-disc a {
    color: #191919; }
    .list-disc a:hover {
      color: #c5b37f;
      text-decoration: underline; }
  .list-disc > li + li {
    margin-top: 1em; }
    @media screen and (max-width: 480px) {
      .list-disc > li + li {
        margin-top: 0.6rem; } }

.faq-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.5; }
  @media screen and (max-width: 480px) {
    .faq-list {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .faq-list-item {
    width: calc(50% - 20px);
    color: #191919; }
    .faq-list-item:nth-child(n + 3) {
      margin-top: 30px; }
    .faq-list-item:nth-child(even) {
      margin-left: 40px; }
    .faq-list-item > *:not(:first-child) {
      margin-top: 8px; }
    @media screen and (max-width: 480px) {
      .faq-list-item {
        width: 100%;
        margin-left: 0; }
        .faq-list-item:nth-child(n + 2) {
          margin-top: 20px; }
        .faq-list-item:nth-child(even) {
          margin-left: 0; } }
    .faq-list-item-question {
      font-weight: bold; }
      .faq-list-item-question::before {
        counter-increment: section;
        content: 'Q: '; }
    .faq-list-item-answer::before {
      content: 'A: '; }

.sitemap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 -16px; }
  @media screen and (max-width: 480px) {
    .sitemap {
      margin: 0 -12px; } }
  .sitemap > * {
    padding: 0 16px;
    width: calc(100% / 3);
    margin-bottom: 96px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
    .sitemap > *.full-width {
      width: 100%; }
    @media screen and (max-width: 480px) {
      .sitemap > * {
        padding: 0 12px;
        width: calc(100% / 2);
        margin-bottom: 20px; } }
  .sitemap dt {
    min-height: 20px; }
    .sitemap dt a {
      color: #c5b37f;
      font-weight: bold; }
      .sitemap dt a:hover {
        text-decoration: underline; }
    .sitemap dt + dd {
      border-top: 1px solid #c0c0c0;
      margin-top: 30px;
      padding-top: 30px; }
      @media screen and (max-width: 480px) {
        .sitemap dt + dd {
          margin-top: 20px;
          padding-top: 20px; } }
  .sitemap dd {
    margin-top: 47px; }
    .sitemap dd:first-child {
      border-top: 1px solid #c0c0c0;
      padding-top: 30px; }
      @media screen and (max-width: 480px) {
        .sitemap dd:first-child {
          margin-top: 20px; } }
    .sitemap dd a {
      color: #191919; }
      .sitemap dd a:hover {
        color: #c5b37f; }
    .sitemap dd + dd {
      margin-top: 30px; }
      @media screen and (max-width: 480px) {
        .sitemap dd + dd {
          margin-top: 20px; } }

.big-image {
  width: 100vw;
  height: 650px;
  position: relative; }
  .big-image-tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 20px 0 30px; }
    .big-image-tags > a {
      display: block;
      border-radius: 30px;
      background: rgba(255, 255, 255, 0.3);
      color: #ffffff;
      -webkit-transition: background ease 0.2s;
      transition: background ease 0.2s;
      font-weight: bold;
      text-align: center;
      min-width: 120px;
      padding: 1.2rem;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      margin: 0 10px; }
      .big-image-tags > a:hover {
        background: #c5b37f; }
      @media screen and (max-width: 480px) {
        .big-image-tags > a {
          font-size: 1.2rem;
          padding: 1rem;
          margin: 8px;
          min-width: 90px; } }
  @media screen and (min-width: 480px) {
    .big-image.append-slider .big-image-body {
      margin-top: -40px;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); } }
  @media screen and (max-width: 480px) {
    .big-image.append-slider {
      height: 300px; } }
  .big-image-slider {
    z-index: 10;
    position: relative; }
    .big-image-slider .slider {
      padding-top: 40px;
      margin-top: -80px; }
      @media screen and (max-width: 480px) {
        .big-image-slider .slider {
          margin-top: 0;
          padding-top: 24px; } }
  @media screen and (max-width: 480px) {
    .big-image {
      height: auto; } }
  .big-image-button {
    display: inline-block;
    font-size: 1.6rem;
    border: 2px solid #ffffff;
    padding: 1.4rem 3.2rem;
    margin-top: 58px;
    -webkit-transition: background ease 0.2s, color ease 0.2s;
    transition: background ease 0.2s, color ease 0.2s; }
    @media screen and (max-width: 480px) {
      .big-image-button {
        font-size: 1.2rem;
        padding: 1rem 2.2rem;
        margin-top: 30px; } }
    .big-image-button:hover {
      background: #ffffff;
      color: #191919;
      opacity: 0.9; }
  .big-image img {
    -webkit-transition: -webkit-transform ease-out 0.4s;
    transition: -webkit-transform ease-out 0.4s;
    transition: transform ease-out 0.4s;
    transition: transform ease-out 0.4s, -webkit-transform ease-out 0.4s; }
  .big-image .cover {
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover";
    width: 100%;
    height: 100%; }
  .big-image-image {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    background: #f4f4f4; }
    @media screen and (max-width: 480px) {
      .big-image-image {
        position: relative; }
        .big-image-image:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 100%; }
        .big-image-image > * {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
        .big-image-image img,
        .big-image-image source {
          -o-object-fit: cover;
             object-fit: cover;
          font-family: "object-fit: cover";
          width: 100%;
          height: 100%; }
        .big-image-image iframe {
          width: 100%;
          height: 100%; } }
  .big-image-body {
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    color: #ffffff;
    z-index: 10;
    width: 100%;
    padding: 0 40px;
    max-width: 1072px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block; }
    .big-image-body:hover {
      color: #ffffff; }
    .big-image-body-heading {
      font-size: 1.8rem;
      font-weight: bold;
      letter-spacing: 0.1rem; }
      @media screen and (max-width: 480px) {
        .big-image-body-heading {
          font-size: 1.5rem; } }
    .big-image-body-title {
      font-family: 'bodoni-urw';
      font-size: 4rem;
      line-height: 1.2; }
      @media screen and (min-width: 480px) {
        .big-image-body-title.l {
          font-size: 6.6rem; } }
      @media screen and (max-width: 480px) {
        .big-image-body-title {
          font-size: 3rem; } }
    .big-image-body-text {
      font-size: 1.6rem;
      line-height: 1.5;
      margin-top: 20px; }
      @media screen and (max-width: 480px) {
        .big-image-body-text {
          font-size: 1.4rem; } }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000; }
  .modal iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .modal .player-wrapper {
    position: relative;
    width: calc(100vw - 128px);
    max-height: calc(100vh - 128px);
    max-width: 1072px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    .modal .player-wrapper:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 56.25%; }
    .modal .player-wrapper > * {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    .modal .player-wrapper img,
    .modal .player-wrapper source {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
    .modal .player-wrapper iframe {
      width: 100%;
      height: 100%; }
    @media screen and (max-width: 480px) {
      .modal .player-wrapper {
        width: calc(100vw - 48px);
        max-height: calc(100vh - 48px); } }

.map-description-sm-map {
  display: none; }
  @media screen and (max-width: 480px) {
    .map-description-sm-map {
      display: block; } }

.map-description-lg-map {
  display: block;
  max-width: 400px; }
  .map-description-lg-map img {
    width: 100%; }

.image-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  max-width: 1072px;
  margin: 0 auto; }
  @media screen and (max-width: 480px) {
    .image-text .heading-1 {
      font-size: 2.2rem; } }
  .image-text-text-container {
    padding: 60px;
    background: #f4f3ec;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .image-text-text-container > .text-container {
      width: 100%; }
    @media screen and (min-width: 480px) {
      .image-text-text-container {
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
        width: 50%; } }
    @media screen and (max-width: 480px) {
      .image-text-text-container {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        padding: 120px 24px 28px 24px; } }
    .image-text-text-container.fixed-height {
      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-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      @media screen and (min-width: 480px) {
        .image-text-text-container.fixed-height {
          min-height: 600px;
          height: 600px; } }
  @media screen and (min-width: 480px) {
    .image-text-image-container {
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      width: 50%; } }
  @media screen and (max-width: 480px) {
    .image-text-image-container {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1;
      margin-bottom: -100px;
      width: calc(100% - 48px); } }
  .image-text-image-container.cover .image {
    height: 100%; }
    .image-text-image-container.cover .image img {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
  @media screen and (max-width: 480px) {
    .image-text-image-container.cover {
      width: 100%;
      position: relative; }
      .image-text-image-container.cover:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 75%; }
      .image-text-image-container.cover > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image-text-image-container.cover img,
      .image-text-image-container.cover source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image-text-image-container.cover iframe {
        width: 100%;
        height: 100%; } }
  .image-text-image-container.square .image {
    height: 100%; }
    .image-text-image-container.square .image img {
      -o-object-fit: cover;
         object-fit: cover;
      font-family: "object-fit: cover";
      width: 100%;
      height: 100%; }
  @media screen and (min-width: 480px) {
    .image-text-image-container.square {
      height: 500px; } }
  @media screen and (max-width: 480px) {
    .image-text-image-container.square {
      position: relative; }
      .image-text-image-container.square:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 100%; }
      .image-text-image-container.square > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .image-text-image-container.square img,
      .image-text-image-container.square source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .image-text-image-container.square iframe {
        width: 100%;
        height: 100%; } }
  @media screen and (min-width: 480px) {
    .image-text.image-right .image-text-text-container {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .image-text.image-right .image-text-image-container {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  @media screen and (min-width: 480px) {
    .image-text.image-left .image-text-text-container {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .image-text.image-left .image-text-image-container {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  .image-text.overlap {
    max-width: 1280px; }
    .image-text.overlap .image-text-text-container {
      max-width: 900px; }
      @media screen and (min-width: 480px) {
        .image-text.overlap .image-text-text-container {
          padding: 100px;
          -ms-flex-preferred-size: 70%;
              flex-basis: 70%; } }
      @media screen and (max-width: 480px) {
        .image-text.overlap .image-text-text-container {
          width: 100%; } }
    @media screen and (min-width: 480px) {
      .image-text.overlap .image-text-image-container {
        height: 100%;
        padding-top: 180px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        position: absolute;
        bottom: 0;
        z-index: 10;
        width: 56%;
        max-width: 718px; }
        .image-text.overlap .image-text-image-container .image {
          height: 100%; }
          .image-text.overlap .image-text-image-container .image img,
          .image-text.overlap .image-text-image-container .image source {
            -o-object-fit: cover;
               object-fit: cover;
            font-family: "object-fit: cover";
            width: 100%;
            height: 100%; } }
    @media screen and (max-width: 480px) {
      .image-text.overlap .image-text-image-container {
        width: 89%; }
        .image-text.overlap .image-text-image-container .image {
          position: relative; }
          .image-text.overlap .image-text-image-container .image:before {
            display: block;
            content: "";
            width: 100%;
            padding-top: 75%; }
          .image-text.overlap .image-text-image-container .image > * {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0; }
          .image-text.overlap .image-text-image-container .image img,
          .image-text.overlap .image-text-image-container .image source {
            -o-object-fit: cover;
               object-fit: cover;
            font-family: "object-fit: cover";
            width: 100%;
            height: 100%; }
          .image-text.overlap .image-text-image-container .image iframe {
            width: 100%;
            height: 100%; } }
    .image-text.overlap.image-right .image-text-text-container {
      -webkit-box-sizing: border-box;
              box-sizing: border-box; }
      @media screen and (min-width: 480px) {
        .image-text.overlap.image-right .image-text-text-container {
          padding-right: 33%;
          padding-left: 8%; } }
    .image-text.overlap.image-right .image-text-image-container {
      right: 0; }
    @media screen and (min-width: 480px) {
      .image-text.overlap.image-left .image-text-text-container {
        padding-left: 33%;
        padding-right: 8%;
        margin-left: auto; } }
    .image-text.overlap.image-left .image-text-image-container {
      left: 0; }
      @media screen and (max-width: 480px) {
        .image-text.overlap.image-left .image-text-image-container {
          margin-right: auto; } }
  @media screen and (max-width: 480px) {
    .image-text {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .image-text.vertical-align-end {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  .image-text.vertical-align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 480px) {
      .image-text.vertical-align-center.overlap .image-text-image-container {
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%);
        bottom: inherit;
        padding-top: 0;
        height: auto; } }
  @media screen and (max-width: 480px) {
    .image-text-slider .right-arrow-button {
      margin-top: 0;
      position: absolute;
      right: 0;
      top: 0; } }
  .image-text-text-slider {
    width: 100%; }
    @media screen and (min-width: 480px) {
      .image-text-text-slider .slider-control {
        display: none !important; } }
    @media screen and (max-width: 480px) {
      .image-text-text-slider .slider-control {
        padding-top: 24px !important;
        padding-bottom: 0 !important; } }
    .image-text-text-slider .swiper-slide > * {
      opacity: 0; }
    .image-text-text-slider .swiper-slide-active > *:nth-child(1) {
      -webkit-animation: SlideInFromBottom 0.6s ease forwards;
              animation: SlideInFromBottom 0.6s ease forwards; }
    .image-text-text-slider .swiper-slide-active > *:nth-child(2) {
      -webkit-animation: SlideInFromBottom 0.6s ease 0.2s forwards;
              animation: SlideInFromBottom 0.6s ease 0.2s forwards; }
    .image-text-text-slider .swiper-slide-active > *:nth-child(3) {
      -webkit-animation: SlideInFromBottom 0.6s ease 0.4s forwards;
              animation: SlideInFromBottom 0.6s ease 0.4s forwards; }
    .image-text-text-slider .swiper-slide-active > *:nth-child(4) {
      -webkit-animation: SlideInFromLeft 0.6s ease 0.6s forwards;
              animation: SlideInFromLeft 0.6s ease 0.6s forwards; }
  .image-text-image-slider {
    -webkit-transform: translateY(32px);
            transform: translateY(32px); }
    @media screen and (max-width: 480px) {
      .image-text-image-slider {
        -webkit-transform: translateY(0);
                transform: translateY(0); }
        .image-text-image-slider .slider-control {
          display: none !important; } }
  .image-text .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 10px !important;
    background: #c5b37f;
    -webkit-transition: background ease 0.2s, opacity ease 0.2s;
    transition: background ease 0.2s, opacity ease 0.2s; }
    .image-text .swiper-pagination-bullet:hover {
      opacity: 0.7; }
    @media screen and (max-width: 480px) {
      .image-text .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
        margin: 0 5px !important; } }
    .image-text .swiper-pagination-bullet .swiper-pagination-bullet-active {
      background: #c5b37f; }
  .image-text .swiper-pagination {
    position: relative;
    top: inherit;
    bottom: inherit;
    left: inherit;
    right: inherit;
    margin: 0 42px; }
    @media screen and (max-width: 480px) {
      .image-text .swiper-pagination {
        height: 6px;
        margin: 0 20px; }
        .image-text .swiper-pagination span {
          vertical-align: top; } }
  .image-text .slider-control-prev,
  .image-text .slider-control-next {
    color: #c5b37f;
    -webkit-transition: -webkit-transform ease 0.2s;
    transition: -webkit-transform ease 0.2s;
    transition: transform ease 0.2s;
    transition: transform ease 0.2s, -webkit-transform ease 0.2s;
    margin: 0;
    position: relative;
    top: inherit;
    bottom: inherit;
    left: inherit;
    right: inherit;
    padding: 4px;
    cursor: pointer; }
    .image-text .slider-control-prev::after,
    .image-text .slider-control-next::after {
      font-size: 2.2rem; }
      @media screen and (max-width: 480px) {
        .image-text .slider-control-prev::after,
        .image-text .slider-control-next::after {
          font-size: 1.2rem; } }
  .image-text .slider-control-prev:hover {
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px); }
  .image-text .slider-control-next:hover {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  .image-text .slider-control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 16px 0; }

.area-highlight-image {
  position: relative; }
  .area-highlight-image::after {
    content: '';
    display: block;
    background: #f4f3ec;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%; }
  .area-highlight-image .image {
    position: relative;
    z-index: 10; }

.area-highlight-text {
  background: #f4f3ec;
  position: relative;
  padding: 60px 0; }
  @media screen and (max-width: 480px) {
    .area-highlight-text {
      padding: 30px 0; } }

.area-highlight .box {
  margin: -30px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .area-highlight .box > * {
    margin: 30px;
    width: calc((100% - 60.1px * 3) / 3); }
    @media screen and (max-width: 480px) {
      .area-highlight .box > * {
        width: calc((100% - 24.1px * 1) / 1); } }
  @media screen and (max-width: 480px) {
    .area-highlight .box {
      margin: -12px; }
      .area-highlight .box > * {
        margin: 12px; } }

.profile {
  background: #f4f3ec;
  padding: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 480px) {
    .profile {
      padding: 30px;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .profile-portrait .image {
    width: 160px;
    height: 160px; }
  .profile-description {
    margin-left: 40px;
    font-size: 1.6rem; }
    .profile-description > * + * {
      margin-top: 20px; }
    @media screen and (max-width: 480px) {
      .profile-description {
        margin-left: 0;
        margin-top: 30px;
        font-size: 1.4rem;
        text-align: center; } }
  .profile-name {
    font-size: 1.8rem;
    font-weight: bold; }
    @media screen and (max-width: 480px) {
      .profile-name {
        font-size: 1.4rem; } }
  .profile-text {
    line-height: 1.6; }

@media screen and (min-width: 480px) {
  .thumbnail-text:nth-child(n+3) {
    margin-top: 32px; } }

@media screen and (max-width: 480px) {
  .thumbnail-text:nth-child(n+2) {
    margin-top: 16px; } }

.thumbnail-text-images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -5px; }
  @media screen and (max-width: 480px) {
    .thumbnail-text-images {
      margin: -3px; } }
  .thumbnail-text-images .image {
    margin: 5px; }
    @media screen and (max-width: 480px) {
      .thumbnail-text-images .image {
        margin: 3px; } }
    .thumbnail-text-images .image.half {
      width: calc(50% - 10px - 0.1px); }
      @media screen and (max-width: 480px) {
        .thumbnail-text-images .image.half {
          width: calc(50% - 6px - 0.1px); } }

.thumbnail-text-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 20px; }
  @media screen and (max-width: 480px) {
    .thumbnail-text-title {
      font-size: 1.4rem; } }

.thumbnail-text-text {
  line-height: 1.6;
  margin-top: 10px; }
  @media screen and (max-width: 480px) {
    .thumbnail-text-text {
      font-size: 1.4rem; } }

.banner-card {
  background: #f4f3ec;
  display: block;
  padding: 20px;
  color: #191919; }
  @media screen and (max-width: 480px) {
    .banner-card {
      padding: 12px; } }
  .banner-card img {
    width: 100%; }
  .banner-card-banner {
    background: #fff; }
  .banner-card-name {
    font-size: 2rem;
    font-weight: bold;
    margin-top: 1.6rem;
    text-align: center; }
    @media screen and (max-width: 480px) {
      .banner-card-name {
        font-size: 1.2rem;
        margin-top: 1rem; } }

.page-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #c5b37f;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: bold;
  width: 80px;
  height: 80px;
  border-radius: 40px;
  -webkit-transition: background ease 0.4s;
  transition: background ease 0.4s;
  z-index: 10;
  display: none; }
  .page-top.show {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-animation: SlideInFromBottom .5s ease;
            animation: SlideInFromBottom .5s ease; }
  @media screen and (max-width: 480px) {
    .page-top {
      width: 66px;
      height: 66px;
      font-size: 0.8rem;
      bottom: 16px;
      right: 16px; } }
  .page-top-label {
    margin-top: 6px;
    padding-bottom: 10px; }
  .page-top:hover {
    color: #ffffff;
    background: #25283b; }

.spot-title {
  font-family: "bodoni-urw", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝";
  font-size: 4rem;
  line-height: 1.5;
  position: relative;
  z-index: 10; }
  @media screen and (max-width: 480px) {
    .spot-title {
      font-size: 2.2rem; } }
  .spot-title-sub {
    font-size: 2rem;
    display: block;
    margin-top: 4px; }
    @media screen and (max-width: 480px) {
      .spot-title-sub {
        font-size: 1rem; } }

.contentful-update{
  height: 600px;
  margin: auto;
  width: 50%;
  padding: 10px;
}
.update-alert{
  margin-top: 80px;
}

.spot-kv {
  padding: 42px 0;
  position: relative;
  overflow: hidden; }
  .spot-kv:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 326px;
    width: 100%;
    background: #f4f3ec; }
    @media screen and (max-width: 480px) {
      .spot-kv:after {
        height: 162px; } }
  @media screen and (max-width: 768px) {
    .spot-kv {
      padding: 32px 0; } }
  @media screen and (max-width: 480px) {
    .spot-kv {
      padding: 24px 0; } }
  .spot-kv-image {
    margin-top: 36px;
    display: block; }
    .spot-kv-image picture {
      display: block;
      position: relative;
      background: #c5b37f; }
      .spot-kv-image picture:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 66.66667%; }
      .spot-kv-image picture > * {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0; }
      .spot-kv-image picture img,
      .spot-kv-image picture source {
        -o-object-fit: cover;
           object-fit: cover;
        font-family: "object-fit: cover";
        width: 100%;
        height: 100%; }
      .spot-kv-image picture iframe {
        width: 100%;
        height: 100%; }
    @media screen and (max-width: 768px) {
      .spot-kv-image {
        margin-top: 0; } }
    .spot-kv-image + .spot-title {
      margin-top: 32px; }
      @media screen and (max-width: 480px) {
        .spot-kv-image + .spot-title {
          margin-top: 18px; } }

a.universal-internal-links{
  color: #000000;
  text-decoration: underline;
}

a.universal-internal-links:hover{
  color: #c5b37e;
  text-decoration: none;
}

.useful-links {
  width: 500px !important;
  text-align: center !important;
}

/*#onetrust-pc-btn-handler {*/
/*  background-color: #000 !important;*/
/*}*/
@media screen and (max-width: 980px) {
  .useful-links {
    width: 300px !important;
    line-break: normal;
  }
}

@media screen and (max-width: 780px) {
  .useful-links {
    width: 250px !important;
    line-break: normal;
  }
}

@media screen and (max-width: 480px) {
  .useful-links {
    width: 200px !important;
  }
}

@media all and (-ms-high-contrast:none) {
  .swiper-button-prev,
  .swiper-container-rtl .swiper-button-next {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
    left: 10px;
    right: auto;
  }
  .swiper-button-next,
  .swiper-container-rtl .swiper-button-prev {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E");
    right: 10px;
    left: auto;
  }
  .swiper-button-lock {
    display: none;
  }
}

.hash-link:target::before {
  content: "";
  display: block;
  height: 70px;
  margin: 0px;
}

.italic {
  font-style: italic;
}

.language-wrapper {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
  margin-bottom: 40px;
}

.language-blocks {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.language-block {
  width: 30%; /* 3列できっちり収める */
  min-width: 240px;
  text-align: center;
}

.language-block img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}

.language-block h3 {
  margin-bottom: 10px;
}

.pdf-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #aaa;
  background-color: #fff;
  padding: 10px 16px;
  font-weight: bold;
  color: #000;
  text-decoration: none;
  border-radius: 6px; /* ←少し角丸 */
  width: 100%;
  box-sizing: border-box;
}

.pdf-box i {
  font-size: 16px;
}
.survey-button {
  display: block;
  background-color: #C00000;
  color: white;
  padding: 10px;
  margin-top: 10px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  border-radius: 8px; /* ← ここが角丸指定 */
}

@media (max-width: 768px) {
  .language-blocks {
    flex-direction: column;
    align-items: center;
  }

  .language-block {
    width: 100%;
    max-width: 500px; /* スマホでの最大表示幅 */
    margin-bottom: 30px;
  }
}

.video-wrapper {
  max-width: 800px;
  margin: 40px auto;
  padding: 0 20px;
}

.video-inner {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}

.video-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.anchor-offset {
  display: block;
  height: 80px;
  margin-top: -80px;
  visibility: hidden;
}

.pdf-box {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 16px;
}

.pdf-text {
  margin: 0 auto;
  text-align: center;
  flex: 1;
}

.pdf-icon {
  position: absolute;
  right: 12px;
}