@charset "UTF-8";
/* fonts */
@import url("https://fonts.googleapis.com/css2?family=Lato&family=Noto+Sans+JP&display=swap");
/* vendor */
/*! Lity - v2.4.1 - 2020-04-26
* http://sorgalla.com/lity/
* Copyright (c) 2015-2020 Jan Sorgalla; Licensed MIT */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #0b0b0b;
  background: rgba(0, 0, 0, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.lity.lity-opened {
  opacity: 1;
}

.lity.lity-closed {
  opacity: 0;
}

.lity * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important;
}

.lity-wrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em;
}

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial, Helvetica, sans-serif;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.lity-loading .lity-loader {
  opacity: 1;
}

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important;
}

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease, -o-transform 0.3s ease;
}

.lity-loading .lity-content,
.lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
}

.lity-content:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial, Baskerville, monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.lity-close:active {
  top: 1px;
}

/* Image */
.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0;
}

/* iFrame */
.lity-iframe .lity-container,
.lity-youtube .lity-container,
.lity-vimeo .lity-container,
.lity-facebookvideo .lity-container,
.lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px;
}

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

.lity-hide {
  display: none;
}

/**
 * Swiper 8.4.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2022 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 6, 2022
 */
@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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
}

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

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

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

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

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

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

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

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

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

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

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

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

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

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

: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(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: 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.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

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

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

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

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

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

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

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

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

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

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

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

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

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

/* 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%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

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

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%;
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

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

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

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

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

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

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

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

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

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

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

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

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

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

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

.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

.mapboxgl-map {
  -webkit-tap-highlight-color: rgb(0 0 0/0);
  font: 12px/20px Helvetica Neue, Arial, Helvetica, sans-serif;
  overflow: hidden;
  position: relative;
}

.mapboxgl-canvas {
  left: 0;
  position: absolute;
  top: 0;
}

.mapboxgl-map:-webkit-full-screen {
  height: 100%;
  width: 100%;
}

.mapboxgl-canary {
  background-color: salmon;
}

.mapboxgl-canvas-container.mapboxgl-interactive, .mapboxgl-ctrl-group button.mapboxgl-ctrl-compass {
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}

.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer {
  cursor: pointer;
}

.mapboxgl-canvas-container.mapboxgl-interactive:active, .mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active {
  cursor: grabbing;
}

.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate, .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas {
  touch-action: pan-x pan-y;
}

.mapboxgl-canvas-container.mapboxgl-touch-drag-pan, .mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas {
  touch-action: pinch-zoom;
}

.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan, .mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas {
  touch-action: none;
}

.mapboxgl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right, .mapboxgl-ctrl-top-left, .mapboxgl-ctrl-top-right {
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.mapboxgl-ctrl-top-left {
  left: 0;
  top: 0;
}

.mapboxgl-ctrl-top-right {
  right: 0;
  top: 0;
}

.mapboxgl-ctrl-bottom-left {
  bottom: 0;
  left: 0;
}

.mapboxgl-ctrl-bottom-right {
  bottom: 0;
  right: 0;
}

.mapboxgl-ctrl {
  clear: both;
  pointer-events: auto;
  transform: translate(0);
}

.mapboxgl-ctrl-top-left .mapboxgl-ctrl {
  float: left;
  margin: 10px 0 0 10px;
}

.mapboxgl-ctrl-top-right .mapboxgl-ctrl {
  float: right;
  margin: 10px 10px 0 0;
}

.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {
  float: left;
  margin: 0 0 10px 10px;
}

.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl {
  float: right;
  margin: 0 10px 10px 0;
}

.mapboxgl-ctrl-group {
  background: #fff;
  border-radius: 4px;
}

.mapboxgl-ctrl-group:not(:empty) {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

@media (-ms-high-contrast: active) {
  .mapboxgl-ctrl-group:not(:empty) {
    box-shadow: 0 0 0 2px ButtonText;
  }
}
.mapboxgl-ctrl-group button {
  background-color: transparent;
  border: 0;
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 29px;
  outline: none;
  overflow: hidden;
  padding: 0;
  width: 29px;
}

.mapboxgl-ctrl-group button + button {
  border-top: 1px solid #ddd;
}

.mapboxgl-ctrl button .mapboxgl-ctrl-icon {
  background-position: 50%;
  background-repeat: no-repeat;
  display: block;
  height: 100%;
  width: 100%;
}

@media (-ms-high-contrast: active) {
  .mapboxgl-ctrl-icon {
    background-color: transparent;
  }

  .mapboxgl-ctrl-group button + button {
    border-top: 1px solid ButtonText;
  }
}
.mapboxgl-ctrl-attrib-button:focus, .mapboxgl-ctrl-group button:focus {
  box-shadow: 0 0 2px 2px #0096ff;
}

.mapboxgl-ctrl button:disabled {
  cursor: not-allowed;
}

.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon {
  opacity: 0.25;
}

.mapboxgl-ctrl-group button:first-child {
  border-radius: 4px 4px 0 0;
}

.mapboxgl-ctrl-group button:last-child {
  border-radius: 0 0 4px 4px;
}

.mapboxgl-ctrl-group button:only-child {
  border-radius: inherit;
}

.mapboxgl-ctrl button:not(:disabled):hover {
  background-color: rgb(0 0 0/5%);
}

.mapboxgl-ctrl-group button:focus:focus-visible {
  box-shadow: 0 0 2px 2px #0096ff;
}

.mapboxgl-ctrl-group button:focus:not(:focus-visible) {
  box-shadow: none;
}

.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
}

@media (-ms-high-contrast: active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast: black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
}

@media (-ms-high-contrast: active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast: black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E");
}

@media (-ms-high-contrast: active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast: black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon {
  animation: mapboxgl-spin 2s linear infinite;
}

@media (-ms-high-contrast: active) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast: black-on-white) {
  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E");
  }

  .mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E");
  }
}
@keyframes mapboxgl-spin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
a.mapboxgl-ctrl-logo {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  cursor: pointer;
  display: block;
  height: 23px;
  margin: 0 0 -4px -4px;
  overflow: hidden;
  width: 88px;
}

a.mapboxgl-ctrl-logo.mapboxgl-compact {
  width: 23px;
}

@media (-ms-high-contrast: active) {
  a.mapboxgl-ctrl-logo {
    background-color: transparent;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");
  }
}
@media (-ms-high-contrast: black-on-white) {
  a.mapboxgl-ctrl-logo {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
  background-color: hsla(0, 0%, 100%, 0.5);
  margin: 0;
  padding: 0 5px;
}

@media screen {
  .mapboxgl-ctrl-attrib.mapboxgl-compact {
    background-color: #fff;
    border-radius: 12px;
    margin: 10px;
    min-height: 20px;
    padding: 2px 24px 2px 0;
    position: relative;
  }

  .mapboxgl-ctrl-attrib.mapboxgl-compact-show {
    padding: 2px 28px 2px 8px;
    visibility: visible;
  }

  .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show, .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact-show {
    border-radius: 12px;
    padding: 2px 8px 2px 28px;
  }

  .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner {
    display: none;
  }

  .mapboxgl-ctrl-attrib-button {
    background-color: hsla(0, 0%, 100%, 0.5);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");
    border: 0;
    border-radius: 12px;
    box-sizing: border-box;
    cursor: pointer;
    display: none;
    height: 24px;
    outline: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 24px;
  }

  .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button, .mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button {
    left: 0;
  }

  .mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button, .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner {
    display: block;
  }

  .mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button {
    background-color: rgb(0 0 0/5%);
  }

  .mapboxgl-ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    bottom: 0;
    right: 0;
  }

  .mapboxgl-ctrl-top-right > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    right: 0;
    top: 0;
  }

  .mapboxgl-ctrl-top-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    left: 0;
    top: 0;
  }

  .mapboxgl-ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    bottom: 0;
    left: 0;
  }
}
@media screen and (-ms-high-contrast: active) {
  .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");
  }
}
@media screen and (-ms-high-contrast: black-on-white) {
  .mapboxgl-ctrl-attrib.mapboxgl-compact:after {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");
  }
}
.mapboxgl-ctrl-attrib a {
  color: rgba(0, 0, 0, 0.75);
  text-decoration: none;
}

.mapboxgl-ctrl-attrib a:hover {
  color: inherit;
  text-decoration: underline;
}

.mapboxgl-ctrl-attrib .mapbox-improve-map {
  font-weight: 700;
  margin-left: 2px;
}

.mapboxgl-attrib-empty {
  display: none;
}

.mapboxgl-ctrl-scale {
  background-color: hsla(0, 0%, 100%, 0.75);
  border: 2px solid #333;
  border-top: #333;
  box-sizing: border-box;
  color: #333;
  font-size: 10px;
  padding: 0 5px;
  white-space: nowrap;
}

.mapboxgl-popup {
  display: flex;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  will-change: transform;
}

.mapboxgl-popup-anchor-top, .mapboxgl-popup-anchor-top-left, .mapboxgl-popup-anchor-top-right {
  flex-direction: column;
}

.mapboxgl-popup-anchor-bottom, .mapboxgl-popup-anchor-bottom-left, .mapboxgl-popup-anchor-bottom-right {
  flex-direction: column-reverse;
}

.mapboxgl-popup-anchor-left {
  flex-direction: row;
}

.mapboxgl-popup-anchor-right {
  flex-direction: row-reverse;
}

.mapboxgl-popup-tip {
  border: 10px solid transparent;
  height: 0;
  width: 0;
  z-index: 1;
}

.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  align-self: center;
  border-bottom-color: #fff;
  border-top: none;
}

.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {
  align-self: flex-start;
  border-bottom-color: #fff;
  border-left: none;
  border-top: none;
}

.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {
  align-self: flex-end;
  border-bottom-color: #fff;
  border-right: none;
  border-top: none;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  align-self: center;
  border-bottom: none;
  border-top-color: #fff;
}

.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {
  align-self: flex-start;
  border-bottom: none;
  border-left: none;
  border-top-color: #fff;
}

.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {
  align-self: flex-end;
  border-bottom: none;
  border-right: none;
  border-top-color: #fff;
}

.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  align-self: center;
  border-left: none;
  border-right-color: #fff;
}

.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  align-self: center;
  border-left-color: #fff;
  border-right: none;
}

.mapboxgl-popup-close-button {
  background-color: transparent;
  border: 0;
  border-radius: 0 3px 0 0;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
}

.mapboxgl-popup-close-button:hover {
  background-color: rgb(0 0 0/5%);
}

.mapboxgl-popup-content {
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  padding: 10px 10px 15px;
  pointer-events: auto;
  position: relative;
}

.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content {
  border-top-left-radius: 0;
}

.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content {
  border-top-right-radius: 0;
}

.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content {
  border-bottom-left-radius: 0;
}

.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content {
  border-bottom-right-radius: 0;
}

.mapboxgl-popup-track-pointer {
  display: none;
}

.mapboxgl-popup-track-pointer * {
  pointer-events: none;
  user-select: none;
}

.mapboxgl-map:hover .mapboxgl-popup-track-pointer {
  display: flex;
}

.mapboxgl-map:active .mapboxgl-popup-track-pointer {
  display: none;
}

.mapboxgl-marker {
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: opacity 0.2s;
  will-change: transform;
}

.mapboxgl-user-location-dot, .mapboxgl-user-location-dot:before {
  background-color: #1da1f2;
  border-radius: 50%;
  height: 15px;
  width: 15px;
}

.mapboxgl-user-location-dot:before {
  animation: mapboxgl-user-location-dot-pulse 2s infinite;
  content: "";
  position: absolute;
}

.mapboxgl-user-location-dot:after {
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
  content: "";
  height: 19px;
  left: -2px;
  position: absolute;
  top: -2px;
  width: 19px;
}

.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading {
  height: 0;
  width: 0;
}

.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after, .mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {
  border-bottom: 7.5px solid #4aa1eb;
  content: "";
  position: absolute;
}

.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before {
  border-left: 7.5px solid transparent;
  transform: translateY(-28px) skewY(-20deg);
}

.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after {
  border-right: 7.5px solid transparent;
  transform: translate(7.5px, -28px) skewY(20deg);
}

@keyframes mapboxgl-user-location-dot-pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  70% {
    opacity: 0;
    transform: scale(3);
  }
  to {
    opacity: 0;
    transform: scale(1);
  }
}
.mapboxgl-user-location-dot-stale {
  background-color: #aaa;
}

.mapboxgl-user-location-dot-stale:after {
  display: none;
}

.mapboxgl-user-location-accuracy-circle {
  background-color: #1da1f233;
  border-radius: 100%;
  height: 1px;
  width: 1px;
}

.mapboxgl-crosshair, .mapboxgl-crosshair .mapboxgl-interactive, .mapboxgl-crosshair .mapboxgl-interactive:active {
  cursor: crosshair;
}

.mapboxgl-boxzoom {
  background: #fff;
  border: 2px dotted #202020;
  height: 0;
  left: 0;
  opacity: 0.5;
  position: absolute;
  top: 0;
  width: 0;
}

@media print {
  .mapbox-improve-map {
    display: none;
  }
}
.mapboxgl-scroll-zoom-blocker, .mapboxgl-touch-pan-blocker {
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  display: flex;
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;
  height: 100%;
  justify-content: center;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 0;
  transition: opacity 0.75s ease-in-out;
  transition-delay: 1s;
  width: 100%;
}

.mapboxgl-scroll-zoom-blocker-show, .mapboxgl-touch-pan-blocker-show {
  opacity: 1;
  transition: opacity 0.1s ease-in-out;
}

.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page, .mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas {
  touch-action: pan-x pan-y;
}

/* foundation */
/* ---------------------------------------------

  サイズ

--------------------------------------------- */
/* ---------------------------------------------

  色

--------------------------------------------- */
*,
::before,
::after {
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, button, 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: none;
}

html {
  font-size: 62.5%;
}

body {
  line-height: 1.5;
  font-size: 1.6rem;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}

article, aside, figcaption, figure, footer, header, main, nav, section {
  display: block;
}

audio, canvas, iframe, img, svg, video {
  max-width: 100%;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  cursor: pointer;
  outline: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

ul, ol {
  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;
}

body {
  color: #372a1f;
  background: #f5f5f4;
  letter-spacing: 0.12rem;
  font-family: "Noto Sans JP", "Lato", sans-serif;
}

input {
  padding: 0.6em 0.8em;
  border: solid 1px #efedeb;
  border-radius: 4px;
  outline: none;
  background: transparent;
  color: #605852;
  font-size: 1.6rem;
}
input::placeholder {
  color: #877f78;
}

select {
  padding: 0.6em 0.8em;
  border: solid 1px #efedeb;
  border-radius: 4px;
  outline: none;
  background: transparent;
  color: #605852;
  font-size: 1.6rem;
  -webkit-appearance: none;
  appearance: none;
}

textarea {
  padding: 0.6em 0.8em;
  border: solid 1px #efedeb;
  border-radius: 4px;
  outline: none;
  background: transparent;
  color: #605852;
  font-size: 1.6rem;
}
textarea::placeholder {
  color: #877f78;
}

/* component */
/* ---------------------------------------------

  fonts

--------------------------------------------- */
/* Material Symbols */
@font-face {
  font-family: "Material Symbols Rounded";
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url("../fonts/material-symbols/material-symbols-rounded.woff2") format("woff2");
}
.c-fms {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
  font-variation-settings: "FILL" 0, "wght" 500, "GRAD" 0, "opsz" 48;
}
.c-fms--fill {
  font-variation-settings: "FILL" 1;
}
.c-fms--left {
  margin: 0.02em 0.3em -0.02em 0;
  vertical-align: sub;
  font-size: 1.35em;
}
.c-fms--right {
  margin: 0.02em 0 -0.02em 0.3em;
  vertical-align: sub;
  font-size: 1.3em;
}
.c-fms--bold {
  font-variation-settings: "wght" 700;
}

/* ---------------------------------------------

  通常ボタン

--------------------------------------------- */
.btn {
  display: block;
  border-radius: 4px;
  padding: 0 16px;
  height: 36px;
  line-height: 36px;
  background: #f36d03;
  text-align: center;
  color: #ffffff;
  font-size: 14px;
  box-sizing: border-box;
}
.btn--lg {
  height: 48px;
  line-height: 48px;
  font-size: 16px;
  font-weight: 700;
}
.btn--shadow {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.btn:disabled, .btn--disabled {
  pointer-events: none !important;
  background: #bbbbbb !important;
  box-shadow: none !important;
}

.btnLine {
  display: inline-block;
  border: solid 1px;
  border-radius: 4px;
  padding: 0 16px;
  height: 36px;
  line-height: 36px;
  background: transparent;
  text-align: center;
  color: #f36d03;
  font-size: 14px;
  box-sizing: border-box;
}
.btnLine--lg {
  height: 48px;
  line-height: 48px;
  font-size: 16px;
  font-weight: 700;
}
.btnLine--shadow {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}

.btnText {
  display: inline-block;
  border-radius: 4px;
  padding: 0 16px;
  height: 36px;
  line-height: 36px;
  background: transparent;
  text-align: center;
  color: #f36d03;
  font-size: 14px;
  box-sizing: border-box;
}
.btnText--lg {
  height: 48px;
  line-height: 48px;
  font-size: 16px;
}

/* ---------------------------------------------

  アイコンボタン

--------------------------------------------- */
.btnIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #ffffff;
  color: #605852;
}
.btnIcon--sm {
  width: 36px;
  height: 36px;
}
.btnIcon--lg {
  width: 48px;
  height: 48px;
}
.btnIcon--square {
  border-radius: 4px;
}

.btnIconLine {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #e4e0dd;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: #ffffff;
  color: #605852;
}
.btnIconLine--sm {
  width: 36px;
  height: 36px;
}
.btnIconLine--lg {
  width: 48px;
  height: 48px;
}
.btnIconLine--square {
  border-radius: 4px;
}

.btnInfo1 {
  color: #877f78;
  font-size: 13px;
  text-decoration: underline;
}

/* ---------------------------------------------

  テキストリンク

--------------------------------------------- */
.textLink {
  color: #f36d03;
  text-decoration: underline;
  word-break: break-all;
}

/* ---------------------------------------------

  チップ

--------------------------------------------- */
.chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  box-sizing: border-box;
  padding: 0 12px;
  height: 32px;
  background: #ffffff;
  color: #605852;
  font-size: 13px;
}
.chip--icon {
  position: relative;
  padding: 0 12px 0 30px;
}
.chip--icon .chip__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  margin: auto;
  border-radius: 14px;
  width: 28px;
  height: 28px;
  font-size: 18px;
}
.chip--active {
  background: #f36d03 !important;
  color: #ffffff !important;
}

.chipLine {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #e4e0dd;
  border-radius: 16px;
  box-sizing: border-box;
  padding: 0 12px;
  height: 32px;
  background: #ffffff;
  color: #605852;
  font-size: 13px;
}
.chipLine--icon {
  position: relative;
  padding: 0 12px 0 30px;
}
.chipLine--icon .chipLine__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  margin: auto;
  border-radius: 14px;
  width: 28px;
  height: 28px;
  font-size: 18px;
}
.chipLine--active {
  border-color: #f36d03 !important;
  background: #f36d03 !important;
  color: #ffffff !important;
}

/* ---------------------------------------------

  フローティングアクションボタン

--------------------------------------------- */
.btnFa {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  right: 12px !important;
  bottom: 16px !important;
  padding: 0 16px !important;
  border-radius: 24px !important;
  width: auto !important;
  height: 48px !important;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 0 8px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 0, 0, 0.06) !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  background: #f36d03 !important;
  color: #ffffff !important;
  font-size: 14px !important;
}

.btnFaa {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  right: 12px !important;
  bottom: 16px !important;
  padding: 0 16px !important;
  border-radius: 28px !important;
  width: 56px !important;
  height: 56px !important;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 0 8px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 0, 0, 0.06) !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  background: #f36d03 !important;
  color: #ffffff !important;
  font-size: 14px !important;
}

.btnFab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  right: 12px !important;
  bottom: 84px !important;
  padding: 0 16px !important;
  border-radius: 28px !important;
  width: 56px !important;
  height: 56px !important;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 0 8px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 0, 0, 0.06) !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  background: #ffffff !important;
  color: #f36d03 !important;
  font-size: 14px !important;
}

/* =============================================
  title
============================================= */
/* =============================================
  icon
============================================= */
.icon {
  line-height: 1;
  font-size: 23px;
}

/* =============================================
  card
============================================= */
.c-cardMission1 {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  border: solid 1px #eeeeee;
  background: #ffffff;
}
.c-cardMission1__l1 {
  position: relative;
}
.c-cardMission1__l2 {
  position: relative;
  padding: 16px 12px;
}
.c-cardMission1__image {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 56% 0 0;
  border-radius: 8px 8px 0 0;
  background: #ffffff;
  z-index: 1;
}
.c-cardMission1__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardMission1__icon {
  overflow: hidden;
  position: absolute;
  top: 12px;
  right: 12px;
  border-radius: 50%;
  width: 36px;
  height: 36px;
}
.c-cardMission1__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-cardMission1__type {
  color: #E5B820;
  font-size: 1.3rem;
  font-weight: 700;
}
.c-cardMission1__type--mission {
  color: #E5B820;
}
.c-cardMission1__type--daily {
  color: #168BCE;
}
.c-cardMission1__type--weekly {
  color: #23AF4E;
}
.c-cardMission1__type--event {
  color: #CB56B9;
}
.c-cardMission1__title {
  margin: 4px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: 4.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardMission1__detail {
  flex: 1 1 auto;
  margin: 12px 0 0;
}
.c-cardMission1__detail > li {
  display: flex;
  align-items: center;
}
.c-cardMission1__detail > li:not(:first-child) {
  margin: 4px 0 0;
}
.c-cardMission1__detail > li > i {
  margin: 0 4px 0 0;
  color: #605852;
  font-size: 17px;
}
.c-cardMission1__detail > li > span {
  color: #877f78;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardMission1:hover .c-cardMission1__image > img {
  opacity: 0.7;
}

.c-cardMission2 {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  border: solid 1px #efedeb;
  background: #ffffff;
}
.c-cardMission2__l1 {
  position: relative;
}
.c-cardMission2__l2 {
  position: relative;
  padding: 16px;
}
.c-cardMission2__image {
  position: relative;
  width: 100%;
  padding: 60px 0 0;
  background: #ffffff;
}
.c-cardMission2__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardMission2__type {
  color: #E5B820;
  font-size: 1.4rem;
  font-weight: 700;
}
.c-cardMission2__type--mission {
  color: #E5B820;
}
.c-cardMission2__type--daily {
  color: #168BCE;
}
.c-cardMission2__type--weekly {
  color: #23AF4E;
}
.c-cardMission2__type--event {
  color: #CB56B9;
}
.c-cardMission2__title {
  font-size: 1.6rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: 4.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardMission2__detail {
  flex: 1 1 auto;
  margin: 20px 0 0;
  padding: 0 100px 0 0;
}
.c-cardMission2__detail > li {
  display: flex;
  align-items: center;
}
.c-cardMission2__detail > li:not(:first-child) {
  margin: 6px 0 0;
}
.c-cardMission2__detail > li > i {
  margin: 0 4px 0 0;
  color: #605852;
  font-size: 16px;
}
.c-cardMission2__detail > li > span {
  color: #877f78;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardMission2__point {
  position: absolute;
  right: 20px;
  bottom: 16px;
  width: 100px;
  line-height: 1.2;
  text-align: right;
  color: #038293;
  font-size: 2.2rem;
}
.c-cardMission2:hover .c-cardMission2__image > img {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .c-cardMission2 {
    display: flex;
    flex-direction: row-reverse;
    padding: 24px 0;
    border: none;
    border-bottom: solid 1px #efedeb;
    border-radius: 0;
  }
  .c-cardMission2__l1 {
    flex: 0 0 auto;
  }
  .c-cardMission2__l2 {
    flex: 1 1 auto;
    padding: 0 16px 0 4px;
  }
  .c-cardMission2__image {
    overflow: hidden;
    border-radius: 4px;
    width: 160px;
    padding: 100% 0 0;
  }
  .c-cardMission2__title {
    margin: 0;
  }
  .c-cardMission2__detail {
    position: absolute;
    bottom: 0;
    left: 4px;
    margin: 0;
  }
  .c-cardMission2__point {
    right: 24px;
    bottom: 0;
    margin: 0;
    font-size: 2rem;
  }
}

/* c-cardReward1 */
.c-cardReward1__l1 {
  position: relative;
}
.c-cardReward1__l2 {
  position: relative;
  padding: 16px 0 0;
}
.c-cardReward1__image {
  overflow: hidden;
  z-index: 1;
  position: relative;
  border: solid 1px #efedeb;
  border-radius: 8px;
  width: 100%;
  padding: 100% 0 0;
  background: #ffffff;
}
.c-cardReward1__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardReward1__icon {
  overflow: hidden;
  position: absolute;
  top: 12px;
  right: 12px;
  border-radius: 50%;
  width: 36px;
  height: 36px;
}
.c-cardReward1__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-cardReward1__type {
  color: #877f78;
  font-size: 1.3rem;
}
.c-cardReward1__title {
  margin: 4px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardReward1:hover .c-cardReward1__image > img {
  opacity: 0.7;
}

.c-cardReward2 {
  display: flex;
  overflow: hidden;
  z-index: 1;
  border-radius: 8px;
  border: solid 1px #eeeeee;
  background: #ffffff;
}
.c-cardReward2__l1 {
  flex: 0 0 auto;
  position: relative;
  width: 40%;
  max-width: 180px;
}
.c-cardReward2__l2 {
  flex: 1 1 auto;
  position: relative;
  padding: 12px;
}
.c-cardReward2__image {
  position: relative;
  width: 100%;
  padding: 100% 0 0;
  background: #ffffff;
}
.c-cardReward2__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardReward2__type {
  color: #877f78;
  font-size: 1.3rem;
}
.c-cardReward2__title {
  margin: 4px 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: 4.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardReward2:hover .c-cardReward2__image > img {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .c-cardReward2 {
    display: flex;
    padding: 24px 0;
    border: none;
    border-bottom: solid 1px #efedeb;
    border-radius: 0;
  }
  .c-cardReward2__l2 {
    padding: 4px 0 4px 24px;
  }
  .c-cardReward2__image {
    overflow: hidden;
    border-radius: 4px;
  }
  .c-cardReward2__type {
    font-size: 1.5rem;
  }
  .c-cardReward2__title {
    font-size: 1.8rem;
  }
}

.c-cardReward3 {
  display: flex;
  align-items: center;
  overflow: hidden;
  z-index: 1;
  border: solid 1px #efedeb;
  border-radius: 8px;
  background: #ffffff;
  transition: opacity 0.2s;
}
.c-cardReward3__l1 {
  flex: 0 0 auto;
}
.c-cardReward3__l2 {
  flex: 1 1 auto;
  padding: 12px;
}
.c-cardReward3__image {
  position: relative;
  width: 100px;
  padding: 100% 0 0;
}
.c-cardReward3__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-cardReward3__text {
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardReward3__text2 {
  margin: 2px 0 0;
  color: #877f78;
  font-size: 1.3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardReward3__text2:empty {
  display: none;
}
.c-cardReward3:hover {
  opacity: 0.8;
}
@media screen and (min-width: 1020px) {
  .c-cardReward3__l2 {
    padding: 12px 24px;
  }
  .c-cardReward3__image {
    width: 148px;
  }
  .c-cardReward3__text {
    font-size: 1.7rem;
  }
  .c-cardReward3__text2 {
    font-size: 1.6rem;
  }
}

.c-cardEvent {
  display: grid;
  grid-template-columns: 1fr auto auto;
  grid-template-rows: auto auto auto;
  overflow: hidden;
  position: relative;
  border: solid 1px #efedeb;
  border-radius: 12px;
  background: #ffffff;
}
.c-cardEvent__image {
  grid-column: 1/4;
  grid-row: 1/2;
  overflow: hidden;
  position: relative;
  border-radius: 12px 12px 0 0;
  width: 100%;
  padding: 56% 0 0;
  background: #ffffff;
  z-index: 1;
}
.c-cardEvent__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardEvent__title {
  grid-column: 1/4;
  grid-row: 2/3;
  margin: 16px 16px 4px;
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardEvent__place {
  grid-column: 1/3;
  grid-row: 3/4;
  align-self: end;
  margin: 4px 6px 16px 16px;
  font-size: 1.2rem;
  color: #038293;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardEvent__place__1 > span:not(:first-child)::before {
  content: ",";
}
.c-cardEvent__price {
  grid-column: 3/4;
  grid-row: 3/4;
  align-self: end;
  margin: 4px 16px 16px 6px;
  letter-spacing: normal;
  line-height: 1.3;
  font-size: 1.6rem;
  font-weight: 900;
}
.c-cardEvent__price > span {
  margin: 0 0.2em 0 0;
}
@media screen and (min-width: 1020px) {
  .c-cardEvent__title {
    margin: 16px 16px 8px;
    font-size: 1.6rem;
  }
  .c-cardEvent__place {
    margin: 8px 8px 16px 16px;
    font-size: 1.3rem;
  }
  .c-cardEvent__price {
    margin: 8px 16px 16px 8px;
    font-size: 1.8rem;
  }
}

.c-cardEvent2 {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  position: relative;
  border: solid 1px #efedeb;
  border-radius: 12px;
  height: 100px;
  background: #ffffff;
}
.c-cardEvent2__image {
  grid-column: 1/2;
  grid-row: 1/3;
  overflow: hidden;
  position: relative;
  border-radius: 12px 0 0 12px;
  width: 100px;
  height: 100%;
  z-index: 1;
}
.c-cardEvent2__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardEvent2__title {
  grid-column: 2/4;
  grid-row: 1/2;
  margin: 12px 12px 0;
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardEvent2__place {
  grid-column: 2/3;
  grid-row: 2/3;
  align-self: end;
  margin: 4px 6px 12px 12px;
  font-size: 1.1rem;
  color: #038293;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardEvent2__place__1 > span:not(:first-child)::before {
  content: ",";
}
.c-cardEvent2__price {
  grid-column: 3/4;
  grid-row: 2/3;
  align-self: end;
  margin: 4px 12px 12px 6px;
  letter-spacing: normal;
  font-size: 1.4rem;
  font-weight: 900;
}
@media screen and (min-width: 1020px) {
  .c-cardEvent2 {
    height: 112px;
  }
  .c-cardEvent2__image {
    width: 112px;
  }
  .c-cardEvent2__title {
    margin: 12px 16px 4px;
    font-size: 1.4rem;
  }
  .c-cardEvent2__place {
    margin: 0 6px 12px 16px;
    font-size: 1.2rem;
  }
  .c-cardEvent2__price {
    margin: 0 16px 12px 6px;
    font-size: 1.5rem;
  }
}

/* c-cardWorld1 */
.c-cardWorld1 {
  display: block;
  overflow: hidden;
  border-radius: 16px;
}
.c-cardWorld1__l1 {
  position: relative;
  padding: 0px 16px 0;
}
.c-cardWorld1__l2 {
  padding: 24px 16px 32px;
  text-align: center;
  font-size: 1.2rem;
}
.c-cardWorld1__icon {
  overflow: hidden;
  margin: 0 auto;
  z-index: 1;
  border-radius: 50%;
  width: 88px;
  height: 88px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.c-cardWorld1__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.2s;
}
.c-cardWorld1__title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-cardWorld1__status {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4px 0 0;
  font-size: 1.2rem;
}
.c-cardWorld1__status > li {
  color: #877f78;
}
.c-cardWorld1__status > li:not(:first-child) {
  margin: 0 0 0 8px;
}
.c-cardWorld1__desc {
  margin: 8px 0 0;
  text-align: center;
  color: #605852;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  max-height: 7.2em;
  line-height: 1.8em;
  word-break: break-all;
}
.c-cardWorld1__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 12px 0 0;
}
.c-cardWorld1__tag > li:not(:first-child) {
  margin: 0 0 0 8px;
}
.c-cardWorld1:hover .c-cardWorld1__icon > img {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .c-cardWorld1__l1 {
    padding: 0px 0 0;
  }
  .c-cardWorld1__l2 {
    padding: 16px 16px 28px;
  }
  .c-cardWorld1__icon {
    width: 112px;
    height: 112px;
  }
  .c-cardWorld1__title {
    text-align: center;
    font-size: 1.8rem;
  }
  .c-cardWorld1__status {
    font-size: 1.3rem;
  }
  .c-cardWorld1__desc {
    margin: 12px 0 0;
    font-size: 1.3rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    height: 7.2em;
    line-height: 1.8em;
    word-break: break-all;
  }
  .c-cardWorld1__tag {
    margin: 16px 0 0;
  }
}

.c-editor h2, .c-editor h3, .c-editor h4, .c-editor h5, .c-editor h6 {
  margin-top: 1em;
  margin-bottom: 1em;
  font-weight: 700;
}
.c-editor h2 {
  font-size: 1.5em;
}
.c-editor h3 {
  font-size: 1.3em;
}
.c-editor h4 {
  font-size: 1.15em;
}
.c-editor h5 {
  font-size: 1em;
}
.c-editor h6 {
  font-size: 1em;
}
.c-editor p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.c-editor p a {
  text-decoration: underline;
  color: #f36d03;
}
.c-editor p a:hover {
  text-decoration: none;
}
.c-editor pre, .c-editor blockquote {
  margin-top: 1em;
  margin-bottom: 1em;
}
.c-editor img {
  max-width: 100%;
  height: auto;
}
.c-editor ul {
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0 0 0 1em;
  list-style: disc;
}
.c-editor ul ul {
  margin: 0;
  padding: 0 0 0 2.2em;
  list-style: circle;
}
.c-editor ul ol {
  margin: 0;
  padding: 0 0 0 2.2em;
  list-style: decimal;
}
.c-editor ol {
  margin-top: 1em;
  margin-bottom: 1em;
  padding: 0 0 0 1em;
  list-style: decimal;
}
.c-editor ol ul {
  margin: 0;
  padding: 0 0 0 2.2em;
  list-style: circle;
}
.c-editor ol ol {
  margin: 0;
  padding: 0 0 0 2.2em;
  list-style: decimal;
}

/* =============================================
  modal
============================================= */
/* ホスト用モーダル */
.c-modalHost {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 16px;
  padding: 32px 20px;
  border-radius: 16px;
  max-width: 520px;
  background: #ffffff;
}
.c-modalHost__image {
  overflow: hidden;
  border-radius: 50%;
  width: 92px;
  height: 92px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.c-modalHost__image > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-modalHost__name {
  margin: 24px 0 0;
  font-weight: 700;
  font-size: 1.6rem;
}
.c-modalHost__catch {
  margin: 8px 0 0;
  width: 100%;
  text-align: center;
  color: #877f78;
  font-size: 1.2rem;
}
.c-modalHost__link {
  margin: 12px 0 0;
}
.c-modalHost__desc {
  margin: 16px 0 0;
  width: 100%;
  text-align: center;
  line-height: 1.8;
  color: #605852;
  font-size: 1.3rem;
}
@media screen and (min-width: 1020px) {
  .c-modalHost {
    padding: 40px;
  }
  .c-modalHost__image {
    width: 108px;
    height: 108px;
  }
  .c-modalHost__name {
    font-size: 1.7rem;
  }
  .c-modalHost__desc {
    font-size: 1.4rem;
  }
}

/* SP用APP誘導モーダル */
.c-modalApp {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 16px;
  padding: 28px 16px 16px;
  border-radius: 16px;
  max-width: 620px;
  background: #ffffff;
}
.c-modalApp__logo {
  margin: 0 auto;
  padding: 10px;
  border-radius: 10px;
  width: 60px;
  height: auto;
  background: #ffffff;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 0 8px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 0, 0, 0.06);
}
.c-modalApp__text {
  margin: 24px 0 0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 900;
}
.c-modalApp__text > span {
  color: #038293;
}
.c-modalApp__text2 {
  margin: 8px 0 0;
  text-align: center;
  font-size: 1.3rem;
  color: #877f78;
}
.c-modalApp__text2 > a {
  text-decoration: underline;
}
.c-modalApp__app {
  margin: 24px 0 0;
}
.c-modalApp__app2 {
  margin: 12px auto 0;
  font-size: 1.3rem;
}

.c-modalAppBtn {
  z-index: 100;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 12px 16px;
  border-top: solid 1px #efedeb;
  background: #ffffff;
}
@media screen and (min-width: 1020px) {
  .c-modalAppBtn {
    display: none !important;
  }
}

/* =============================================
  etc
============================================= */
/* c-worldHeader */
.c-worldHeader {
  display: flex;
  align-items: center;
  padding: 12px 12px 12px 16px;
  background: #ffffff;
}
.c-worldHeader__l1 {
  flex: 0 0 auto;
}
.c-worldHeader__l2 {
  flex: 1 1 auto;
  padding: 0 16px;
}
.c-worldHeader__l3 {
  flex: 0 0 auto;
}
.c-worldHeader__icon {
  overflow: hidden;
  margin: 0 auto;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.c-worldHeader__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-worldHeader__title {
  font-size: 1.5rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-worldHeader__status {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
}
.c-worldHeader__status > li {
  margin: 0 8px 0 0;
  color: #877f78;
}
@media screen and (min-width: 1020px) {
  .c-worldHeader {
    display: none;
  }
}

/* c-worldFooter */
.c-worldFooter {
  margin: 8px 0 0;
  padding: 32px 16px 4px;
  background: #ffffff;
}
.c-worldFooter__icon {
  display: block;
  overflow: hidden;
  z-index: 1;
  margin: 0 auto;
  border-radius: 50%;
  width: 88px;
  height: 88px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.c-worldFooter__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-worldFooter__title {
  margin: 16px 0 0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
.c-worldFooter__status {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 4px 0 0;
  font-size: 1.3rem;
}
.c-worldFooter__status > li {
  margin: 0 8px;
  color: #877f78;
}
.c-worldFooter__desc {
  margin: 16px 0 0;
  text-align: center;
  color: #605852;
  font-size: 1.3rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  max-height: 7.2em;
  line-height: 1.8em;
  word-break: break-all;
}
.c-worldFooter__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 12px 0 0;
}
.c-worldFooter__tag > li {
  flex: 0 0 auto;
  margin: 4px;
}
.c-worldFooter__host {
  display: flex;
  align-items: center;
  margin: 32px 0 0;
  padding: 20px 0;
  border-top: solid 1px #efedeb;
}
.c-worldFooter__host__l1 {
  flex: 0 0 auto;
}
.c-worldFooter__host__l2 {
  flex: 1 1 auto;
  padding: 0 16px;
}
.c-worldFooter__host__l3 {
  flex: 0 0 auto;
}
.c-worldFooter__host__icon {
  overflow: hidden;
  margin: 0 auto;
  border-radius: 50%;
  width: 40px;
  height: 40px;
}
.c-worldFooter__host__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-worldFooter__host__text1 {
  font-size: 1.5rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.c-worldFooter__host__text2 {
  color: #877f78;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
@media screen and (min-width: 1020px) {
  .c-worldFooter {
    margin: 0;
    padding: 40px 24px 4px;
    border: solid 1px #efedeb;
    border-radius: 4px;
  }
  .c-worldFooter__icon {
    width: 100px;
    height: 100px;
  }
  .c-worldFooter__title {
    margin: 24px 0 0;
    font-size: 2rem;
  }
  .c-worldFooter__host {
    margin: 40px 0 0;
    padding: 24px 0;
  }
}

/* PC用コンテンツページAPP誘導 */
.c-appBanner {
  display: none;
  margin: 16px 0 0;
  padding: 24px;
  border: solid 1px #efedeb;
  border-radius: 4px;
  background: #ffffff;
}
.c-appBanner__title {
  margin: 0 0 16px;
  text-align: center;
  font-size: 1.7rem;
  font-weight: 700;
}
.c-appBanner__text {
  font-size: 1.6rem;
  font-weight: 700;
}
.c-appBanner__text > span {
  color: #f36d03;
}
.c-appBanner__text2 {
  margin: 4px 0 0;
  font-size: 1.3rem;
  color: #877f78;
}
.c-appBanner__text2 > a {
  text-decoration: underline;
}
.c-appBanner__app {
  margin: 20px 0 0;
}
@media screen and (min-width: 1020px) {
  .c-appBanner {
    display: block;
  }
}

/* 汎用APPSTORE表示 */
.c-appLink {
  display: flex;
  align-items: center;
}
.c-appLink > li:not(:first-child) {
  margin: 0 0 0 16px;
}
.c-appLink__btn > img {
  max-height: 68px;
}
@media screen and (min-width: 1020px) {
  .c-appLink > li:not(:first-child) {
    margin: 0 0 0 20px;
  }
}

/* 汎用コンテンツレイアウト */
@media screen and (min-width: 1020px) {
  .c-contentLayout {
    display: flex;
    flex-direction: row;
  }
  .c-contentLayout__l1 {
    flex: 0 1 auto;
    margin: 32px 0 120px;
  }
  .c-contentLayout__l2 {
    flex: 0 0 360px;
    margin: 32px 0 120px;
    padding: 0 0 0 32px;
  }
}

/* layout */
body.is-locked {
  overflow: hidden;
}

/* =============================================
  header
============================================= */
.header {
  z-index: 1000;
  position: fixed;
  top: 0;
  bottom: 0;
  padding: 0 8px 0 16px;
  border-bottom: solid 1px #efedeb;
  width: 100%;
  height: 60px;
  background: #ffffff;
}
.header__wrap {
  display: flex;
  align-items: center;
  margin: 0 auto;
  max-width: 1080px;
  height: inherit;
}
@media screen and (min-width: 1020px) {
  .header {
    z-index: 1;
    position: relative;
    height: 72px;
  }
}

/* headerLogo */
.headerLogo {
  flex: 1 1 auto;
  justify-self: start;
  height: 24px;
}
.headerLogo > a {
  height: inherit;
}
.headerLogo > a > img {
  display: block;
  width: auto;
  height: inherit;
}
@media screen and (min-width: 1020px) {
  .headerLogo {
    margin: 0;
    height: 32px;
  }
}

/* headerAbout */
.headerAbout {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 0 4px;
  border-radius: 18px;
  height: 36px;
  color: #605852;
  font-size: 1.3rem;
  font-weight: 700;
}
@media screen and (min-width: 1020px) {
  .headerAbout {
    padding: 0 12px;
    border-radius: 22px;
    height: 44px;
    font-size: 1.6rem;
  }
  .headerAbout > span {
    margin: 0 12px 0 0;
    font-size: 19px;
  }
}

/* headerApp */
.headerApp {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 0 0 12px;
  padding: 0 12px;
  border-radius: 18px;
  height: 36px;
  background: #f36d03;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (min-width: 1020px) {
  .headerApp {
    margin: 0;
    margin: 0 0 0 24px;
    padding: 0 20px;
    border-radius: 22px;
    height: 44px;
    font-size: 1.5rem;
  }
  .headerApp > span {
    margin: 0 12px 0 0;
    font-size: 19px;
  }
}

/* headerAbout */
.headerLead {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 3px;
}

/* headerSearch */
.headerSearch {
  align-items: center;
  justify-content: center;
  display: flex;
  margin-right: 5px;
}
@media screen and (min-width: 1020px) {
  .headerSearch {
    margin: 0;
    margin: 0 0 0 24px;
    padding: 0 20px;
    border-radius: 22px;
    height: 44px;
    font-size: 2.5rem;
  }
  .headerSearch > span {
    margin: 0 12px 0 0;
    font-size: 19px;
  }
}

.topSwitching {
  display: flex;
  background-color: #F2F2F2;
  color: #f36d03;
  text-align: center;
  margin: 16px auto;
  width: 90%;
  border-radius: 5px;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 700;
  align-items: center;
  justify-content: center;
}
.topSwitching > a {
  width: 50%;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1020px) {
  .topSwitching > a {
    padding: 10px;
  }
}
.topSwitching__on {
  background-color: #f36d03;
  color: #ffffff;
  border-radius: 5px 0px 0px 5px;
}
@media screen and (min-width: 1020px) {
  .topSwitching {
    width: 1080px;
    font-size: 1.6rem;
  }
}

/* =============================================
  footer
============================================= */
.footer {
  padding: 24px 16px 16px;
  background: #222222;
  color: #ffffff;
}
.footer__wrap {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px 20px;
  margin: 0 auto;
  max-width: 1080px;
}
@media screen and (min-width: 1020px) {
  .footer {
    padding: 56px 16px 20px;
  }
  .footer__wrap {
    gap: 60px 20px;
  }
}

/* footerNav */
.footerNav {
  grid-area: 1/1/2/3;
  display: flex;
  flex-direction: column;
  gap: 32px 0;
}
.footerNav > li > ul {
  display: flex;
  flex-direction: column;
  gap: 4px 0;
}
.footerNav > li > ul > li > a {
  display: inline-block;
  padding: 0.3em 0;
  font-size: 13px;
  color: #ffffff;
}
@media screen and (min-width: 1020px) {
  .footerNav {
    flex-direction: row;
    gap: 0 40px;
  }
  .footerNav > li {
    flex: 0 1 25%;
  }
  .footerNav > li > ul > li > a {
    font-size: 14px;
  }
}

/* footerPrivacyMark */
.footerPrivacyMark {
  grid-area: 2/2/3/3;
  align-self: center;
}
.footerPrivacyMark img {
  width: 56px;
  height: 56px;
}
@media screen and (min-width: 1020px) {
  .footerPrivacyMark img {
    width: 72px;
    height: 72px;
  }
}

/* footerCopyright */
.footerCopyright {
  grid-area: 2/1/3/2;
  align-self: center;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.86);
}
@media screen and (min-width: 1020px) {
  .footerCopyright {
    font-size: 12px;
  }
}

/* =============================================
  main
============================================= */
.main {
  position: relative;
  padding: 60px 0 0;
}
.main__wrap {
  margin: 0 auto;
  max-width: 1080px;
}
@media screen and (min-width: 1020px) {
  .main {
    padding: 0;
  }
}

.smp {
  display: block;
}
@media screen and (min-width: 1020px) {
  .smp {
    display: none;
  }
}

/* ---------------------------------------------

  top

--------------------------------------------- */
.top {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100dvh;
  background-color: #ffffff;
}
.top header {
  flex: 0 0 auto;
}
.top .topMainList {
  flex: 1 1 auto;
  z-index: 1;
}
.top .topMap {
  visibility: hidden;
}
.top footer {
  flex: 0 0 auto;
  z-index: 1;
}
.top.is-map .topMap {
  visibility: visible;
}
.top.is-map .topMainList,
.top.is-map footer {
  position: relative;
  z-index: -2;
}
.topCustomBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.4em;
  padding: 0 1.2em;
  border-radius: 1.5em;
  min-width: 80px;
  height: 3em;
  background-color: #f36d03;
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}
.topCustomBtn > i {
  margin: 0 0 0 -0.2em;
  font-size: 1.6em;
}
.topCustomBtn--transparent {
  background-color: #efedeb;
  color: #605852;
}
@media screen and (min-width: 1020px) {
  .topCustomBtn {
    min-width: 120px;
    font-size: 1.5rem;
  }
}

/* ---------------------------------------------

  topHeader

--------------------------------------------- */
.topHeader {
  z-index: 1000;
  position: sticky;
  top: 0;
  background-color: #ffffff;
}
.topHeader__l1 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: solid 1px #efedeb;
  height: 60px;
  padding: 0 16px;
}
@media screen and (min-width: 1020px) {
  .topHeader__l1 {
    padding: 0 100px;
    height: 72px;
  }
}

.topHeaderLogo > a > img {
  display: block;
  width: 80px;
}
@media screen and (min-width: 1020px) {
  .topHeaderLogo > a > img {
    display: block;
    width: 112px;
  }
}

.topHeaderMenu {
  display: flex;
  align-items: center;
  gap: 0 6px;
  margin: 0 -6px 0 0;
}
.topHeaderMenu__corp > span {
  display: none;
}
@media screen and (min-width: 560px) {
  .topHeaderMenu {
    gap: 0 12px;
  }
  .topHeaderMenu__corp > span {
    display: inline;
  }
}

/* ---------------------------------------------

  topNav

--------------------------------------------- */
.topNav {
  display: flex;
  flex-direction: column;
  padding: 0 16px;
  border-bottom: solid 1px #efedeb;
  width: 100%;
  height: 140px;
  background-color: #ffffff;
}
.topNav__text {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 700;
}
.topNav__carousel {
  flex: 0 0 auto;
}
@media screen and (min-width: 1020px) {
  .topNav {
    padding: 0 100px;
    height: 188px;
  }
  .topNav__text {
    font-size: 2rem;
  }
  .topNav__carousel {
    flex: 0 0 auto;
  }
}

.topNavBtn {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3em 0;
  position: relative;
  width: 100%;
  height: 68px;
  font-size: 1.1rem;
  color: #877f78;
}
.topNavBtn::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.2em;
  background-color: #372a1f;
  opacity: 0;
}
.topNavBtn__icon {
  font-size: 2.4em;
}
.topNavBtn__label {
  font-size: 1em;
  font-weight: 700;
}
.topNavBtn.is-active {
  color: #372a1f;
}
.topNavBtn.is-active::after {
  opacity: 1;
}
.topNavBtn:hover {
  color: #372a1f;
}
@media screen and (min-width: 1020px) {
  .topNavBtn {
    height: 84px;
    font-size: 1.3rem;
  }
}

.topNavCarousel {
  position: sticky;
  top: 0;
  margin: 0 -16px;
  padding: 0 16px;
}
.topNavCarousel__item {
  width: auto;
}
@media screen and (min-width: 1020px) {
  .topNavCarousel__item {
    min-width: 100px;
  }
}

.swiper-button-next,
.swiper-button-prev {
  display: none !important;
}

/* ---------------------------------------------

  topMain

--------------------------------------------- */
.topMain {
  flex: 1 1 auto;
  position: relative;
}

.topMainToggleBtn {
  z-index: 10;
  position: fixed;
  right: 0;
  bottom: 20px;
  left: 0;
  margin: 0 auto;
  width: 140px;
}
.topMainToggleBtn__1, .topMainToggleBtn__2 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.4em;
  border-radius: 1.6em;
  height: 3.2em;
  background-color: #111111;
  font-size: 1.3rem;
  font-weight: 700;
  color: #ffffff;
}
.topMainToggleBtn__1 > i, .topMainToggleBtn__2 > i {
  font-size: 1.3em;
}
.topMainToggleBtn__1 {
  display: flex;
}
.topMainToggleBtn__2 {
  display: none;
}
@media screen and (min-width: 1020px) {
  .topMainToggleBtn {
    bottom: 48px;
    width: 170px;
  }
  .topMainToggleBtn__1, .topMainToggleBtn__2 {
    font-size: 1.5rem;
  }
}

.is-map:has(.topMainToggleBtn) .topMainToggleBtn__1 {
  display: none;
}
.is-map:has(.topMainToggleBtn) .topMainToggleBtn__2 {
  display: flex;
}

/* ---------------------------------------------

  topMainList

--------------------------------------------- */
.topMainList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 32px 20px;
  position: relative;
  padding: 20px 16px 60px;
  min-height: calc(100dvh - 60px + 140px);
  background-color: #ffffff;
}
@media screen and (min-width: 1020px) {
  .topMainList {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 56px 32px;
    padding: 32px 100px 100px;
    min-height: calc(100dvh - 72px + 188px);
  }
}

.topMainListCard {
  position: relative;
  display: block !important;
}
.topMainListCard__image {
  overflow: hidden;
  border-radius: 12px;
  background: #efedeb;
}
.topMainListCard__image > img {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.topMainListCard__text {
  padding: 8px 8px 0;
  font-size: 1.1rem;
  color: #877f78;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.topMainListCard__text > span:not(:first-child)::before {
  content: "／";
}
.topMainListCard__text2 {
  padding: 0 8px;
  font-size: 15px;
  font-weight: 700;
}
.topMainListCard__text3 {
  padding: 4px 8px 0;
  font-size: 1.2rem;
  color: #605852;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.topMainListCard__text3 > span:first-of-type {
  color: #038293;
  font-weight: 700;
  font-size: 1.15em;
}
.topMainListCard__text3 > span:not(:first-of-type)::before {
  content: " + ";
}
.topMainListCard__text4 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 0 1em;
  border-radius: 6px;
  height: 2.4em;
  background-color: #9800a6;
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
}
@media screen and (min-width: 1020px) {
  .topMainListCard__text {
    padding: 12px 8px 0;
    font-size: 1.2rem;
  }
  .topMainListCard__text2 {
    font-size: 1.8rem;
  }
  .topMainListCard__text3 {
    padding: 8px 8px 0;
    font-size: 1.3rem;
  }
}

/* ---------------------------------------------

  topMap

--------------------------------------------- */
.topMap {
  position: fixed;
  top: calc(60px + 140px);
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
}
.topMap__body {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1020px) {
  .topMap {
    top: calc(72px + 188px);
  }
}

.mapboxgl-popup {
  width: 280px !important;
}
@media screen and (max-width: 559px) {
  .mapboxgl-popup {
    top: auto;
    right: 16px;
    bottom: 80px;
    left: 16px;
    width: calc(100% - 32px) !important;
    max-width: none !important;
    transform: none !important;
  }
}

.mapboxgl-popup-anchor-bottom, .mapboxgl-popup-anchor-bottom-left, .mapboxgl-popup-anchor-bottom-right {
  padding: 0 0 56px;
}
@media screen and (max-width: 559px) {
  .mapboxgl-popup-anchor-bottom, .mapboxgl-popup-anchor-bottom-left, .mapboxgl-popup-anchor-bottom-right {
    padding: 0;
  }
}

.mapboxgl-popup-anchor-left {
  padding: 0 0 0 28px;
}
@media screen and (max-width: 559px) {
  .mapboxgl-popup-anchor-left {
    padding: 0;
  }
}

.mapboxgl-popup-anchor-right {
  padding: 0 28px 0 0;
}
@media screen and (max-width: 559px) {
  .mapboxgl-popup-anchor-right {
    padding: 0;
  }
}

.mapboxgl-popup-content {
  overflow: hidden;
  padding: 0;
  border-radius: 16px !important;
}

.mapboxgl-popup-tip {
  display: none;
}

.mapboxgl-popup-close-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-size: 20px;
  font-weight: 700;
}

.topMapCard {
  display: grid;
  grid-template: 1fr auto/110px 1fr auto;
}
.topMapCard__image {
  grid-area: 1/1/3/3;
  width: 110px;
  height: 100%;
  min-height: 100px;
}
.topMapCard__image > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.topMapCard__text {
  grid-area: 1/2/2/4;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 700;
}
.topMapCard__text > span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: 4.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.topMapCard__text2 {
  grid-area: 2/2/3/3;
  padding: 0 4px 8px 12px;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.6);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.topMapCard__text3 {
  grid-area: 2/3/3/4;
  padding: 0 12px 8px 4px;
  font-size: 11px;
  color: rgba(0, 0, 0, 0.6);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.topMapCard__text3 > span:first-of-type {
  color: #038293;
  font-weight: 700;
  font-size: 1.15em;
}
.topMapCard__text3 > span:not(:first-of-type)::before {
  content: " + ";
}
.topMapCard__text4 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 0 1em;
  border-radius: 6px;
  height: 2.4em;
  background-color: #9800a6;
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}
@media screen and (min-width: 560px) {
  .topMapCard {
    display: grid;
    grid-template: auto auto auto/1fr auto;
  }
  .topMapCard__image {
    grid-area: 1/1/2/3;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56%;
  }
  .topMapCard__image > img {
    position: absolute;
    top: 0;
    left: 0;
  }
  .topMapCard__text {
    grid-area: 2/1/3/3;
    padding: 12px 12px;
    font-size: 14px;
  }
  .topMapCard__text2 {
    grid-area: 3/1/4/2;
    padding: 0 4px 12px 12px;
    font-size: 12px;
  }
  .topMapCard__text3 {
    grid-area: 3/1/4/3;
    padding: 0 12px 12px 12px;
    font-size: 12px;
  }
}

@keyframes scale {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  45% {
    transform: scale(0.1);
    opacity: 0.7;
  }
  80% {
    transform: scale(1);
    opacity: 1;
  }
}
.topMainLoding {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 0.8em;
  padding: 0 1.4em;
  border-radius: 1.4em;
  height: 2.8em;
  z-index: 100;
  position: absolute;
  top: 24px;
  right: 0;
  left: 0;
  margin: 0 auto;
  border: solid 1px #efedeb;
  width: fit-content;
  background: #ffffff;
  font-size: 1.3rem;
}
.topMainLoding__anime > span {
  background-color: #372a1f;
  width: 0.55em;
  height: 0.55em;
  border-radius: 100%;
  margin: 2px;
  animation-fill-mode: both;
  display: inline-block;
}
.topMainLoding__anime > span:nth-child(1) {
  animation: scale 0.75s -0.24s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.topMainLoding__anime > span:nth-child(2) {
  animation: scale 0.75s -0.12s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.topMainLoding__anime > span:nth-child(3) {
  animation: scale 0.75s 0s infinite cubic-bezier(0.2, 0.68, 0.18, 1.08);
}
.topMainLoding__text {
  font-size: 1em;
  font-weight: 700;
}
.topMainLoding:not(.is-active) {
  display: none;
}
.topMainLoding.is-active {
  display: flex;
}
@media screen and (min-width: 1020px) {
  .topMainLoding {
    top: 40px;
    font-size: 1.5rem;
  }
}

.topServiceDialog {
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.topServiceDialog__mask {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
}
.topServiceDialog__close {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
  position: absolute;
  top: 4px;
  right: 4px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.5);
  line-height: 1;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}
.topServiceDialog__close:hover {
  background-color: rgba(255, 255, 255, 0.9);
}
.topServiceDialog__close__icon {
  font-size: 20px;
  color: black;
}
.topServiceDialog__container {
  display: flex;
  flex-direction: column;
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 20px 16px;
  border-radius: 16px;
  width: 400px;
  max-width: calc(100% - 32px);
  max-height: calc(100% - 40px);
  background-color: white;
  transform: translate(-50%, -50%);
}
.topServiceDialog__header {
  flex: 0 0 auto;
  margin: 0 0 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
}
.topServiceDialog__main {
  flex: 1 1 auto;
  overflow: auto;
  font-size: 14px;
}
.topServiceDialog__footer {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: 0 12px;
  margin: 24px 0 -4px;
}
.topServiceDialog__button {
  min-width: 120px;
}
.topServiceDialog__links {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
.topServiceDialog__links > li > p {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
}
.topServiceDialog__links > li > ul {
  display: flex;
  flex-direction: column;
  gap: 4px 0;
}
.topServiceDialog__links > li > ul > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 0 12px;
  border: solid 1px #efedeb;
  border-radius: 12px;
  width: 100%;
  height: 44px;
  background-color: #f6f5f4;
  color: #605852;
  transition: opacity 0.2s;
}
.topServiceDialog__links > li > ul > li > a > span {
  font-size: 12px;
  font-weight: 600;
}
.topServiceDialog__links > li > ul > li > a > i {
  font-size: 18px;
}
.topServiceDialog__links > li > ul > li > a.is-current {
  pointer-events: none;
  background-color: #e4e0dd;
}
.topServiceDialog__links > li > ul > li > a.is-primary {
  background-color: #e4e0dd;
}
.topServiceDialog:not(.is-show) {
  display: none !important;
}
@media screen and (min-width: 1020px) {
  .topServiceDialog__container {
    padding: 24px 20px;
  }
}

/* =============================================
  world
============================================= */
.world {
  position: relative;
}

/* worldBody */
.worldBody__l1 {
  z-index: 1;
  background: #ffffff;
}
.worldBody__l2 {
  overflow: hidden;
  background: #ffffff;
  padding: 0 16px;
}
.worldBody__l3 {
  background: transparent;
}
.worldBody__l4 {
  background: #ffffff;
  padding: 40px 16px;
}
@media screen and (min-width: 1020px) {
  .worldBody {
    display: grid;
    grid-template-columns: auto 380px;
    grid-template-rows: auto auto auto;
    overflow: hidden;
    margin: 32px 0 120px;
    border: solid 1px #efedeb;
    border-radius: 12px;
    background: #ffffff;
  }
  .worldBody__l1 {
    grid-column: 1/3;
    grid-row: 1/2;
    border-bottom: solid 1px #efedeb;
  }
  .worldBody__l2 {
    overflow: hidden;
    grid-column: 1/3;
    grid-row: 2/3;
    margin: -1px 0 0;
    padding: 0 40px;
    border-bottom: solid 1px #efedeb;
  }
  .worldBody__l3 {
    grid-column: 1/2;
    grid-row: 3/9;
    padding: 32px 32px 60px 40px;
    border-right: solid 1px #efedeb;
    background: transparent;
  }
  .worldBody__l4 {
    grid-column: 2/3;
    grid-row: 3/9;
    padding: 32px 40px 60px 32px;
    background: transparent;
  }
}

/* worldHeader */
.worldHeader {
  background: #ffffff;
}
.worldHeader__l1 {
  position: relative;
  padding: 0 0 32px;
}
.worldHeader__l2 {
  position: relative;
  padding: 24px 16px;
}
.worldHeader__image {
  position: relative;
  padding: 34% 0 0;
}
.worldHeader__image::before {
  content: "";
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.worldHeader__image > img {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.worldHeader__icon {
  overflow: hidden;
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 50%;
  width: 112px;
  height: 112px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 0 8px rgba(0, 0, 0, 0.08), 0 0 16px rgba(0, 0, 0, 0.06);
}
.worldHeader__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.worldHeader__title {
  text-align: center;
  font-size: 2rem;
}
.worldHeader__desc {
  margin: 16px 0 0;
  line-height: 1.8;
  text-align: center;
  color: #605852;
  font-size: 1.4rem;
}
.worldHeader__tag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 12px 0 0;
}
.worldHeader__tag > li {
  flex: 0 0 auto;
  margin: 4px;
}
@media screen and (min-width: 1020px) {
  .worldHeader__l1 {
    position: relative;
    padding: 0;
  }
  .worldHeader__l2 {
    display: flex;
    padding: 40px;
  }
  .worldHeader__icon {
    top: 0;
    right: auto;
    bottom: 0;
    left: 40px;
    margin: auto;
    width: 200px;
    height: 200px;
  }
  .worldHeader__title {
    flex: 0 0 350px;
    margin: 0;
    padding: 0 32px 48px 0;
    text-align: left;
    font-size: 2.6rem;
  }
  .worldHeader__desc {
    flex: 1 1 100%;
    margin: 0;
    padding: 0 0 0 32px;
    border-left: solid 1px #efedeb;
    min-height: calc(1.8em * 5);
    line-height: 1.8em;
    text-align: left;
    font-size: 1.6rem;
  }
  .worldHeader__tag {
    position: absolute;
    bottom: 36px;
    left: 36px;
    text-align: left;
  }
}

/* worldContent */
@media screen and (min-width: 1020px) {
  .worldContent__l1 {
    padding: 0;
  }
  .worldContent__l2 {
    padding: 0;
    background: transparent;
  }
}

/* worldTab */
.worldTab {
  position: relative;
}
.worldTab::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #ffffff;
}
.worldTab__list {
  display: flex;
  justify-content: space-between;
  z-index: 1;
  position: relative;
  padding: 0 16px;
}
.worldTab__list > li {
  width: calc(50% - 6px);
}
.worldTab__list > li.is-active .worldTab__btn {
  background: #038293;
  pointer-events: none;
}
.worldTab__btn {
  display: block;
  position: relative;
  border-radius: 12px;
  width: 100%;
  padding: 92% 0 0;
  background: #014048;
  color: #ffffff;
  transition: background 0.2s;
}
.worldTab__btn:hover {
  background: #014048;
}
.worldTab__btn__l1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  top: 0;
  left: 0;
  padding: 16px 12px;
  width: 100%;
  height: 100%;
}
.worldTab__btn__text1 {
  flex: 0 0 auto;
  padding: 0 2px;
  font-size: 1.1rem;
}
.worldTab__btn__text2 {
  flex: 1 1 auto;
  font-size: 1.8rem;
  font-weight: 700;
}
.worldTab__btn__num {
  flex: 0 0 auto;
  padding: 0 2px;
  line-height: 1;
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (min-width: 1020px) {
  .worldTab__btn {
    padding: 168px 0 0;
  }
}
@media screen and (min-width: 1020px) {
  .worldTab::before {
    display: none;
  }
  .worldTab__list {
    padding: 0;
  }
  .worldTab__btn__l1 {
    padding: 20px;
  }
  .worldTab__btn__text1 {
    font-size: 1.3rem;
  }
  .worldTab__btn__text2 {
    font-size: 2rem;
  }
  .worldTab__btn__num {
    font-size: 3.4rem;
  }
}

/* worldMission */
.worldMission {
  display: none;
}
.worldMission__list {
  padding: 16px 16px 32px;
}
.worldMission__list > li:not(:first-child) {
  margin: 12px 0 0;
}
.worldMission__list > li.is-noitem {
  padding: 100px 16px 80px;
  text-align: center;
  font-size: 1.4rem;
}
.worldMission__more {
  position: relative;
}
.worldMission__more::before {
  content: "";
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #ffffff;
}
.worldMission__more > button {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  margin: 0 auto;
  padding: 0 16px;
  border-radius: 24px;
  width: 260px;
  height: 48px;
  background: #f36d03;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  transition: opacity 0.2s;
}
.worldMission__more > button:hover {
  opacity: 0.7;
}
.worldMission.is-show {
  display: block;
}
@media screen and (min-width: 1020px) {
  .worldMission__list {
    padding: 24px 0 32px;
  }
  .worldMission__list > li:not(:first-child) {
    margin: 0;
  }
  .worldMission__more::before {
    display: none;
  }
}

/* worldReward */
.worldReward {
  display: none;
}
.worldReward__list {
  padding: 16px 12px 32px;
}
.worldReward__list > li:not(:first-child) {
  margin: 12px 0 0;
}
.worldReward__list > li.is-noitem {
  padding: 100px 16px 80px;
  text-align: center;
  font-size: 1.4rem;
}
.worldReward__more {
  position: relative;
}
.worldReward__more::before {
  content: "";
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: #ffffff;
}
.worldReward__more > button {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  margin: 0 auto;
  padding: 0 16px;
  border: solid 1px #efedeb;
  border-radius: 24px;
  width: 260px;
  height: 48px;
  background: #ffffff;
  font-size: 1.4rem;
}
.worldReward.is-show {
  display: block;
}
@media screen and (min-width: 1020px) {
  .worldReward__list {
    padding: 24px 0 32px;
  }
  .worldReward__list > li:not(:first-child) {
    margin: 0;
  }
  .worldReward__more::before {
    display: none;
  }
}

/* worldEvent */
.worldEvent {
  position: relative;
  margin: 0 0 24px;
  padding: 20px 0;
  border-top: solid 1px #efedeb;
  border-bottom: solid 1px #efedeb;
}
.worldEvent__title {
  display: flex;
  align-items: center;
  margin: 0 0 16px;
  font-size: 1.5rem;
  font-weight: 700;
}
.worldEvent__title::before {
  flex: 0 0 auto;
  content: "";
  display: inline-block;
  margin: 0 0.6em 0 0;
  width: 4px;
  height: 1.4em;
  background: #9800a6;
}
.worldEvent__list {
  margin: 0 -16px;
  padding: 0 16px;
}
.worldEvent__nav {
  display: flex;
  align-items: center;
  position: absolute;
  gap: 12px;
  top: 18px;
  right: 0;
  font-size: 1.2rem;
}
.worldEvent__nav__prev, .worldEvent__nav__next {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #e4e0dd;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  cursor: pointer;
}
.worldEvent__nav__prev > i, .worldEvent__nav__next > i {
  line-height: 1;
  font-size: 1.6em;
}
.worldEvent__nav__prev.swiper-button-disabled, .worldEvent__nav__next.swiper-button-disabled {
  pointer-events: none;
  background: #efedeb;
  color: #877f78;
}
.worldEvent__nav__prev.swiper-button-lock, .worldEvent__nav__next.swiper-button-lock {
  display: none;
}
.worldEvent__nav__pagination.swiper-pagination-lock {
  display: none;
}
@media screen and (min-width: 1020px) {
  .worldEvent {
    margin: 32px 0;
    padding: 0;
    border: none;
  }
  .worldEvent__title {
    margin: 0 0 24px;
    font-size: 2.3rem;
  }
  .worldEvent__list {
    margin: 0;
    padding: 0;
  }
  .worldEvent__list__item {
    width: 300px;
    max-width: none;
  }
  .worldEvent__nav {
    gap: 24px;
    top: 0;
    font-size: 1.7rem;
  }
}

/* worldEventCard */
.worldEventCard {
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: 8px;
  transition: opacity 0.2s;
}
.worldEventCard__image {
  overflow: hidden;
  position: relative;
  border: solid 1px #efedeb;
  border-radius: 8px;
  width: 100%;
  padding: 56% 0 0;
}
.worldEventCard__image > img {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.worldEventCard__title {
  margin: 6px 2px 0;
  font-size: 1rem;
  font-weight: 700;
}
.worldEventCard__title > span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.worldEventCard__price {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  position: absolute;
  top: 8px;
  right: 6px;
  padding: 0 1em;
  border-radius: 1.2em;
  min-width: 64px;
  height: 2.3em;
  line-height: 1;
  letter-spacing: normal;
  background: rgba(255, 255, 255, 0.95);
  font-size: 1.1rem;
  font-weight: 900;
}
.worldEventCard__price > span {
  margin: 0 0.2em 0 0;
}
.worldEventCard__price > i {
  margin: 0 0.2em 0 -0.3em;
  font-size: 1.4em;
}
.worldEventCard__price--special {
  color: #72007d;
}
.worldEventCard:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .worldEventCard {
    border-radius: 12px;
  }
  .worldEventCard__image {
    border-radius: 12px;
  }
  .worldEventCard__title {
    margin: 12px 2px 0;
    font-size: 1.4rem;
  }
  .worldEventCard__price {
    top: 12px;
    right: 12px;
    min-width: 80px;
    font-size: 1.4rem;
  }
}

/* worldRanking */
.worldRanking__title {
  display: flex;
  align-items: center;
  margin: 0 0 4px;
  font-size: 1.6rem;
  font-weight: 700;
}
.worldRanking__title::before {
  flex: 0 0 auto;
  content: "";
  display: inline-block;
  margin: 0 12px 0 0;
  width: 4px;
  height: 1.4em;
  background: #038293;
}
.worldRanking__list {
  overflow-y: scroll;
  margin: 24px 0 0;
  padding: 12px 20px;
  border-radius: 12px;
  max-height: 300px;
  background: #f8f8f8;
}
.worldRanking__list::-webkit-scrollbar {
  width: 8px;
}
.worldRanking__list::-webkit-scrollbar-track {
  background: transparent;
  margin: 4px 0;
  border: none;
  border-radius: 4px;
  box-shadow: none;
}
.worldRanking__list::-webkit-scrollbar-thumb {
  background: #dddddd;
  border-radius: 4px;
  box-shadow: none;
}
.worldRanking__list > li {
  padding: 8px 0;
}
.worldRanking__list > li:not(:last-child) {
  border-bottom: solid 1px #efedeb;
}
.worldRanking__list > li.is-noitem {
  padding: 40px 0;
  width: 100%;
  text-align: center;
  color: #877f78;
  font-size: 1.3rem;
}
.worldRanking__item {
  display: flex;
  align-items: center;
}
.worldRanking__item__l1 {
  flex: 0 0 auto;
}
.worldRanking__item__l2 {
  flex: 0 0 auto;
  padding: 0 12px 0 4px;
}
.worldRanking__item__l3 {
  flex: 1 1 auto;
}
.worldRanking__item__rank {
  width: 2.4em;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
}
.worldRanking__item__icon {
  overflow: hidden;
  border-radius: 50%;
  width: 32px;
  height: 32px;
}
.worldRanking__item__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.worldRanking__item__name {
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.worldRanking__item__point {
  color: #877f78;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
@media screen and (min-width: 1020px) {
  .worldRanking__list {
    margin: 24px 0 0;
  }
}

/* worldHost */
.worldHost {
  margin: 32px 0 0;
}
.worldHost__title {
  display: flex;
  align-items: center;
  margin: 0 0 4px;
  font-size: 1.6rem;
  font-weight: 700;
}
.worldHost__title::before {
  flex: 0 0 auto;
  content: "";
  display: inline-block;
  margin: 0 12px 0 0;
  width: 4px;
  height: 1.4em;
  background: #038293;
}
.worldHost__list {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.worldHost__list > li {
  flex: 0 0 auto;
  padding: 0 0 24px;
  width: 33.3333%;
}
.worldHost__item {
  display: block;
  margin: 0 auto;
  width: 88px;
  max-width: 92%;
  transition: opacity 0.2s;
}
.worldHost__item__icon {
  overflow: hidden;
  position: relative;
  padding: 100% 0 0;
  border: solid 1px #efedeb;
  border-radius: 50%;
  width: 100%;
}
.worldHost__item__icon > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.worldHost__item__name {
  margin: 12px auto 0;
  max-width: 90%;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.worldHost__item:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .worldHost {
    margin: 48px 0 0;
  }
  .worldHost__list {
    margin: 24px 0 0;
  }
}

/* worldOwner */
.worldOwner {
  margin: 40px 0 0;
}
.worldOwner__l1 {
  padding: 24px 0;
  border-top: solid 1px #efedeb;
  border-bottom: solid 1px #efedeb;
}
.worldOwner__1 {
  color: #877f78;
  font-size: 1.3rem;
}
.worldOwner__2 {
  margin: 4px 0 0;
  color: #605852;
  font-size: 1.5rem;
  font-weight: 700;
}
.worldOwner__3 {
  margin: 12px 0 0;
  width: 100%;
}
@media screen and (min-width: 1020px) {
  .worldOwner {
    margin: 48px 0 0;
  }
}

.worldBanner {
  margin: 32px 0 0;
}
.worldBanner > a {
  display: block;
  transition: opacity 0.2s;
}
.worldBanner > a:not(:first-child) {
  margin: 16px 0 0;
}
.worldBanner > a:hover {
  opacity: 0.8;
}
.worldBanner > a > img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1020px) {
  .worldBanner {
    margin: 44px 0 0;
  }
}

/* =============================================
  mission
============================================= */
/* mission */
.mission {
  position: relative;
}

/* missionContent */
.missionContent {
  background: #ffffff;
}
.missionContent__l1 {
  position: relative;
}
.missionContent__l2 {
  padding: 32px 20px 40px;
}
.missionContent__image {
  position: relative;
  padding: 56% 0 0;
}
.missionContent__image > img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.missionContent__type {
  margin: 0 0 8px;
  text-align: center;
  color: #E5B820;
  font-weight: 700;
}
.missionContent__type--mission {
  color: #E5B820;
}
.missionContent__type--daily {
  color: #168BCE;
}
.missionContent__type--weekly {
  color: #23AF4E;
}
.missionContent__type--event {
  color: #CB56B9;
}
.missionContent__title {
  font-size: 2rem;
}
.missionContent__point {
  margin: 16px 0 0;
}
.missionContent__point__1 {
  color: #877f78;
  font-size: 1.2rem;
}
.missionContent__point__2 {
  color: #038293;
  font-size: 2.4rem;
  font-weight: 700;
}
.missionContent__app {
  display: flex;
  align-items: center;
  margin: 20px 0 0;
  padding: 16px 12px 16px 16px;
  border-radius: 4px;
  background: #eeeeee;
}
.missionContent__app__1 {
  flex: 1 1 auto;
  font-size: 1.3rem;
  font-weight: 700;
}
.missionContent__app__2 {
  flex: 0 0 auto;
}
.missionContent__event {
  display: flex;
  align-items: center;
  overflow: hidden;
  margin: 32px 0 0;
  border: solid 1px #efedeb;
  border-radius: 4px;
  background: #ffffff;
  transition: opacity 0.2s;
}
.missionContent__event__l1 {
  flex: 0 0 auto;
}
.missionContent__event__l2 {
  flex: 1 1 auto;
  padding: 12px;
}
.missionContent__event__image {
  position: relative;
  width: 140px;
  padding: 56% 0 0;
}
.missionContent__event__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.missionContent__event__text {
  color: #877f78;
  font-size: 1.1rem;
}
.missionContent__event__title {
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.missionContent__event:hover {
  opacity: 0.8;
}
.missionContent__detail {
  margin: 24px 0;
  padding: 24px 0;
  border-top: solid 1px #efedeb;
  border-bottom: solid 1px #efedeb;
}
.missionContent__detail > li:not(:first-child) {
  margin: 20px 0 0;
}
.missionContent__detail__l1 {
  display: flex;
}
.missionContent__detail__l2 {
  padding: 0 0 0 40px;
}
.missionContent__detail__icon {
  width: 40px;
  color: #605852;
}
.missionContent__detail__title {
  padding: 0.1rem 0;
  color: #605852;
  font-size: 1.4rem;
}
.missionContent__detail__text1 {
  margin: 4px 0 0;
  font-size: 1.5rem;
  font-weight: 700;
}
.missionContent__detail__text2 {
  margin: 4px 0 0;
  color: #877f78;
  font-size: 1.3rem;
}
.missionContent__detail__date {
  line-height: 1.8;
  color: #877f78;
  font-size: 1.3rem;
}
.missionContent__detail__date > time {
  color: #372a1f;
  font-size: 1.5rem;
  font-weight: 700;
}
.missionContent__summary {
  margin: 32px 0 0;
}
.missionContent__summary__note {
  line-height: 1.8;
  color: #605852;
  font-size: 1.4rem;
}
.missionContent__summary__image {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.missionContent__summary__image > li {
  margin: 0 0 8px 8px;
  width: calc(25% - 6px);
}
.missionContent__summary__image > li:nth-child(4n+1) {
  margin-left: 0;
}
.missionContent__summary__image > li > a {
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: 4px;
  width: 100%;
  padding-top: 100%;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.missionContent__summary__image > li > a > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1020px) {
  .missionContent {
    overflow: hidden;
    border-radius: 4px;
    border: solid 1px #efedeb;
  }
  .missionContent__l2 {
    padding: 40px;
  }
  .missionContent__image {
    overflow: hidden;
  }
  .missionContent__type {
    margin: 0 0 16px;
    font-size: 2rem;
  }
  .missionContent__title {
    font-size: 2.8rem;
  }
  .missionContent__point {
    margin: 32px 0 0;
  }
  .missionContent__point__1 {
    font-size: 1.4rem;
  }
  .missionContent__point__2 {
    font-size: 3.5rem;
  }
  .missionContent__app {
    margin: 32px 0 0;
  }
  .missionContent__app__1 {
    font-size: 1.5rem;
  }
  .missionContent__app__2 {
    height: 48px;
    line-height: 48px;
    font-size: 1.5rem;
  }
  .missionContent__event__image {
    width: 220px;
  }
  .missionContent__event__title {
    font-size: 1.6rem;
  }
  .missionContent__detail {
    margin: 40px 0;
    padding: 32px 0;
  }
  .missionContent__detail > li:not(:first-child) {
    margin: 32px 0 0;
  }
  .missionContent__detail__l1 {
    margin: 0 0 8px;
  }
  .missionContent__detail__icon > i {
    font-size: 2.7rem;
  }
  .missionContent__detail__title {
    font-size: 1.6rem;
  }
  .missionContent__detail__text1 {
    font-size: 1.7rem;
  }
  .missionContent__detail__text2 {
    font-size: 1.4rem;
  }
  .missionContent__detail__date {
    font-size: 1.4rem;
  }
  .missionContent__detail__date > time {
    font-size: 1.7rem;
  }
  .missionContent__summary {
    margin: 40px 0 0;
  }
  .missionContent__summary__note {
    margin: 24px 0 0;
    font-size: 1.6rem;
  }
  .missionContent__summary__image {
    margin: 32px 0 0;
  }
  .missionContent__summary__image > li {
    margin: 0 0 16px 16px;
    width: calc(20% - 13px);
  }
  .missionContent__summary__image > li:nth-child(4n+1) {
    margin-left: 16px;
  }
  .missionContent__summary__image > li:nth-child(5n+1) {
    margin-left: 0;
  }
}

/* missionPostComment */
.missionPostComment {
  display: block;
  padding: 40px 16px 0;
}
.missionPostComment__title {
  font-size: 1.5rem;
  font-weight: 700;
}
.missionPostComment__list {
  margin: 16px 0 0;
}
.missionPostComment__list > li {
  border-bottom: solid 1px #efedeb;
}
.missionPostComment__item {
  display: flex;
  padding: 12px 0;
}
.missionPostComment__item__l1 {
  flex: 0 0 auto;
  padding: 0 12px 0 0;
}
.missionPostComment__item__l2 {
  flex: 1 1 auto;
}
.missionPostComment__item__icon {
  overflow: hidden;
  border-radius: 50%;
  width: 36px;
  height: 36px;
}
.missionPostComment__item__icon > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.missionPostComment__item__name {
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.missionPostComment__item__note {
  margin: 4px 0 0;
  color: #605852;
  font-size: 1.4rem;
}
.missionPostComment__more {
  display: none;
  margin: 24px 0 0;
  position: relative;
}
.missionPostComment__more.is-show {
  display: block;
}
.missionPostComment__more > button {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  margin: 0 auto;
  padding: 0 16px;
  border-radius: 24px;
  width: 260px;
  height: 48px;
  background: #f36d03;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  transition: opacity 0.2s;
}
.missionPostComment__more > button:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .missionPostComment {
    padding: 40px 40px 60px;
    width: 100%;
  }
  .missionPostComment__title {
    font-size: 1.6rem;
  }
  .missionPostComment__list {
    margin: 24px 0 0;
  }
  .missionPostComment__item {
    padding: 20px 0;
  }
  .missionPostComment__item__icon {
    width: 40px;
    height: 40px;
  }
  .missionPostComment__item__name {
    font-size: 1.4rem;
  }
  .missionPostComment__item__note {
    margin: 8px 0 0;
    font-size: 1.5rem;
  }
}

/* missionPostImage */
.missionPostImage {
  padding: 40px 16px 0;
}
.missionPostImage__title {
  font-size: 1.5rem;
  font-weight: 700;
}
.missionPostImage__list {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.missionPostImage__list > li {
  margin: 0 0 20px 12px;
  width: calc(50% - 6px);
}
.missionPostImage__list > li:nth-child(2n+1) {
  margin-left: 0;
}
.missionPostImage__list > li.is-noitem {
  width: 100% !important;
  padding: 20px 0 !important;
  text-align: center !important;
  color: #877f78 !important;
  font-size: 1.4rem !important;
}
.missionPostImage__item__l1 {
  position: relative;
}
.missionPostImage__item__l2 {
  margin: 12px 0 0;
  display: flex;
  align-items: center;
}
.missionPostImage__item__image {
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: 4px;
  width: 100%;
  padding-top: 100%;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.missionPostImage__item__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.missionPostImage__item__icon {
  flex: 0 0 auto;
  display: block;
  overflow: hidden;
  position: relative;
  margin: 0 8px 0 0;
  border-radius: 50%;
  width: 28px;
  height: 28px;
}
.missionPostImage__item__icon > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.missionPostImage__item__name {
  flex: 1 1 auto;
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.missionPostImage__more {
  display: none;
  margin: 24px 0 0;
  position: relative;
}
.missionPostImage__more.is-show {
  display: block;
}
.missionPostImage__more > button {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  margin: 0 auto;
  padding: 0 16px;
  border-radius: 24px;
  width: 260px;
  height: 48px;
  background: #f36d03;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  transition: opacity 0.2s;
}
.missionPostImage__more > button:hover {
  opacity: 0.7;
}
@media screen and (min-width: 560px) {
  .missionPostImage__list > li {
    margin: 0 0 24px 16px;
    width: calc(33.3333% - 11px);
  }
  .missionPostImage__list > li:nth-child(2n+1) {
    margin-left: 16px;
  }
  .missionPostImage__list > li:nth-child(3n+1) {
    margin-left: 0;
  }
}
@media screen and (min-width: 1020px) {
  .missionPostImage {
    padding: 40px 40px 60px;
    width: 100%;
  }
  .missionPostImage__title {
    font-size: 1.6rem;
  }
  .missionPostImage__list {
    margin: 24px 0 0;
  }
  .missionPostImage__item__l2 {
    margin: 16px 0 0;
  }
  .missionPostImage__item__icon {
    margin: 0 12px 0 0;
    width: 32px;
    height: 32px;
  }
  .missionPostImage__item__name {
    font-size: 1.4rem;
  }
}

/* missionAround */
.missionAround {
  margin: 8px 0 0;
  padding: 32px 16px 40px;
  background: #ffffff;
}
.missionAround__title {
  text-align: center;
  font-size: 1.7rem;
  font-weight: 700;
}
.missionAround__list {
  display: flex;
  overflow: auto;
  margin: 16px -16px 0;
  padding: 0 0 0 16px;
  scroll-snap-type: x mandatory;
}
.missionAround__list > li {
  flex: 0 0 auto;
  scroll-snap-align: center;
  padding: 8px 16px 8px 0;
  width: 80%;
  max-width: 320px;
  -webkit-transform: translate3d(0, 0, 0);
}
.missionAround__item {
  transition: opacity 0.2s;
}
.missionAround__item__l2 {
  padding: 12px 0 0;
}
.missionAround__item__image {
  position: relative;
  overflow: hidden;
  padding: 56% 0 0;
  border: solid 1px #efedeb;
  border-radius: 4px;
  width: 100%;
}
.missionAround__item__image > img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.missionAround__item__title {
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.missionAround__item__place {
  display: flex;
  align-items: center;
  margin: 8px 0 0;
}
.missionAround__item__place > i {
  margin: 0 4px 0 0;
  color: rgba(0, 0, 0, 0.67);
  font-size: 17px;
}
.missionAround__item__place > span {
  color: rgba(0, 0, 0, 0.5);
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.missionAround__item:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .missionAround {
    position: sticky;
    top: 32px;
    margin: 16px 0 0;
    padding: 32px 24px;
    border: solid 1px #efedeb;
    border-radius: 4px;
    width: 100%;
  }
  .missionAround__list {
    display: flex;
    flex-direction: column;
    overflow: visible;
    margin: 24px 0 0;
    padding: 0;
    scroll-snap-type: none;
  }
  .missionAround__list > li {
    scroll-snap-align: none;
    padding: 0;
    border-bottom: solid 1px #efedeb;
    width: 100%;
    max-width: none;
  }
  .missionAround__list > li:last-child {
    border: none;
  }
  .missionAround__item {
    display: flex;
    align-items: center;
    padding: 12px 0;
  }
  .missionAround__item__l2 {
    flex: 1 1 auto;
    padding: 0 0 0 8px;
  }
  .missionAround__item__image {
    width: 72px;
    padding: 100% 0 0;
  }
  .missionAround__item__place {
    margin: 4px 0 0;
  }
}

/* =============================================
  reward
============================================= */
/* reward */
.reward {
  position: relative;
}

/* rewardContent */
.rewardContent {
  background: #ffffff;
}
.rewardContent__l1 {
  position: relative;
}
.rewardContent__l2 {
  padding: 32px 20px 40px;
}
.rewardContent__image {
  position: relative;
  padding: 100% 0 0;
}
.rewardContent__image > img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rewardContent__title {
  font-size: 2.2rem;
}
.rewardContent__point {
  margin: 24px 0 0;
}
.rewardContent__point__1 {
  color: #877f78;
  font-size: 1.3rem;
}
.rewardContent__point__2 {
  color: #038293;
  font-size: 2.6rem;
  font-weight: 700;
}
.rewardContent__event {
  margin: 24px 0 0;
}
.rewardContent__event__text1 {
  color: #CB56B9;
  font-size: 1.6rem;
  font-weight: 700;
}
.rewardContent__event__text2 {
  color: #877f78;
  font-size: 1.3rem;
}
.rewardContent__event__card {
  margin: 12px 0 0;
}
.rewardContent__ranking {
  margin: 24px 0 0;
}
.rewardContent__ranking__text1 {
  color: #CB56B9;
  font-size: 1.6rem;
  font-weight: 700;
}
.rewardContent__ranking__text2 {
  color: #877f78;
  font-size: 1.3rem;
}
.rewardContent__ranking__card {
  margin: 12px 0 0;
}
.rewardContent__app {
  display: flex;
  align-items: center;
  margin: 24px 0 0;
  padding: 16px 12px 16px 16px;
  border-radius: 4px;
  background: #eeeeee;
}
.rewardContent__app__1 {
  flex: 1 1 auto;
  font-size: 1.3rem;
  font-weight: 700;
}
.rewardContent__app__2 {
  flex: 0 0 auto;
}
.rewardContent__detail {
  margin: 32px 0;
  padding: 24px 0;
  border-top: solid 1px #efedeb;
  border-bottom: solid 1px #efedeb;
}
.rewardContent__detail > li:not(:first-child) {
  margin: 20px 0 0;
}
.rewardContent__detail__l1 {
  display: flex;
}
.rewardContent__detail__l2 {
  padding: 0 0 0 40px;
}
.rewardContent__detail__icon {
  width: 40px;
  color: #605852;
}
.rewardContent__detail__title {
  padding: 0.1rem 0;
  color: #605852;
  font-size: 1.4rem;
}
.rewardContent__detail__text1 {
  margin: 4px 0 0;
  font-size: 1.5rem;
  font-weight: 700;
}
.rewardContent__detail__text2 {
  margin: 4px 0 0;
  color: #877f78;
  font-size: 1.3rem;
}
.rewardContent__detail__date {
  line-height: 1.8;
  color: #877f78;
  font-size: 1.3rem;
}
.rewardContent__detail__date > time {
  color: #372a1f;
  font-size: 1.5rem;
  font-weight: 700;
}
.rewardContent__detail__address {
  margin: 12px 0 0;
  padding: 16px;
  border-radius: 4px;
  background: #eeeeee;
}
.rewardContent__detail__address__text1 {
  margin: 0 0 4px;
  font-size: 1.4rem;
}
.rewardContent__detail__address__text2 {
  color: #877f78;
  font-size: 1.3rem;
}
.rewardContent__detail__address__text2:empty {
  display: none;
}
.rewardContent__detail__address__link {
  display: inline-block;
  margin: 4px 0 0;
  font-size: 1.3rem;
}
.rewardContent__summary {
  margin: 32px 0 0;
}
.rewardContent__summary__note {
  line-height: 1.8;
  color: #605852;
  font-size: 1.4rem;
}
.rewardContent__summary__image {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.rewardContent__summary__image > li {
  margin: 0 0 8px 8px;
  width: calc(25% - 6px);
}
.rewardContent__summary__image > li:nth-child(4n+1) {
  margin-left: 0;
}
.rewardContent__summary__image > li > a {
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: 4px;
  width: 100%;
  padding-top: 100%;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.rewardContent__summary__image > li > a > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1020px) {
  .rewardContent {
    overflow: hidden;
    border-radius: 4px;
    border: solid 1px #efedeb;
  }
  .rewardContent__l1 {
    padding: 32px 40px 0;
  }
  .rewardContent__l2 {
    padding: 40px;
  }
  .rewardContent__image {
    overflow: hidden;
    border-radius: 4px;
  }
  .rewardContent__title {
    font-size: 3rem;
  }
  .rewardContent__point {
    margin: 32px 0 0;
  }
  .rewardContent__point__1 {
    font-size: 1.6rem;
  }
  .rewardContent__point__2 {
    font-size: 3.5rem;
  }
  .rewardContent__event {
    margin: 32px 0 0;
  }
  .rewardContent__event__text1 {
    font-size: 2rem;
  }
  .rewardContent__event__text2 {
    font-size: 1.6rem;
  }
  .rewardContent__event__card {
    margin: 20px 0 0;
  }
  .rewardContent__ranking {
    margin: 32px 0 0;
  }
  .rewardContent__ranking__text1 {
    font-size: 2rem;
  }
  .rewardContent__ranking__text2 {
    font-size: 1.6rem;
  }
  .rewardContent__ranking__card {
    margin: 20px 0 0;
  }
  .rewardContent__app {
    display: none !important;
  }
  .rewardContent__detail {
    margin: 40px 0;
    padding: 32px 0;
  }
  .rewardContent__detail > li:not(:first-child) {
    margin: 32px 0 0;
  }
  .rewardContent__detail__l1 {
    margin: 0 0 8px;
  }
  .rewardContent__detail__icon > i {
    font-size: 2.7rem;
  }
  .rewardContent__detail__title {
    font-size: 1.6rem;
  }
  .rewardContent__detail__text1 {
    font-size: 1.7rem;
  }
  .rewardContent__detail__text2 {
    font-size: 1.4rem;
  }
  .rewardContent__detail__date {
    font-size: 1.4rem;
  }
  .rewardContent__detail__date > time {
    font-size: 1.7rem;
  }
  .rewardContent__summary {
    margin: 40px 0 0;
  }
  .rewardContent__summary__note {
    font-size: 1.6rem;
  }
  .rewardContent__summary__image {
    margin: 32px 0 0;
  }
  .rewardContent__summary__image > li {
    margin: 0 0 16px 16px;
    width: calc(20% - 13px);
  }
  .rewardContent__summary__image > li:nth-child(4n+1) {
    margin-left: 16px;
  }
  .rewardContent__summary__image > li:nth-child(5n+1) {
    margin-left: 0;
  }
}

/* rewardInfo1 */
@media screen and (min-width: 1020px) {
  .rewardInfo1__l1 {
    margin: 0 0 12px;
  }
  .rewardInfo1__l2 {
    padding: 0;
  }
  .rewardInfo1__text1 {
    font-size: 1.6rem;
  }
  .rewardInfo1__text2 {
    font-size: 1.4rem;
  }
  .rewardInfo1__date {
    font-size: 1.4rem;
  }
  .rewardInfo1__date > time {
    font-size: 1.6rem;
  }
  .rewardInfo1__address {
    margin: 16px 0 0;
  }
  .rewardInfo1__address__text1 {
    margin: 0 0 8px;
    font-size: 1.6rem;
  }
  .rewardInfo1__address__text2 {
    font-size: 1.4rem;
  }
  .rewardInfo1__address__link {
    margin: 8px 0 0;
    font-size: 1.4rem;
  }
  .rewardInfo1--date {
    margin: 0 0 0 40px;
    padding: 32px 32px 32px 0;
    border-top: solid 1px #efedeb;
    width: calc(48% - 40px);
  }
  .rewardInfo1--place {
    margin: 0 40px 0 0;
    padding: 32px 0 32px 32px;
    border-top: solid 1px #efedeb;
    border-left: solid 1px #efedeb;
    width: calc(52% - 40px);
  }
  .rewardInfo1--conditions {
    margin: 0 40px;
    padding: 32px 0;
    border-top: solid 1px #efedeb;
    width: calc(100% - 80px);
  }
}

/* rewardSummary */
.rewardSummary {
  padding: 40px 0;
}
.rewardSummary__title {
  font-size: 1.5rem;
  font-weight: 700;
}
.rewardSummary__note {
  margin: 16px 0 0;
  line-height: 1.8;
  color: #605852;
  font-size: 1.4rem;
}
.rewardSummary__image {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 0;
}
.rewardSummary__image > li {
  margin: 0 0 8px 8px;
  width: calc(25% - 6px);
}
.rewardSummary__image > li:nth-child(4n+1) {
  margin-left: 0;
}
.rewardSummary__image > li > a {
  display: block;
  overflow: hidden;
  position: relative;
  border-radius: 4px;
  width: 100%;
  padding-top: 100%;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.08), 0 0 8px rgba(0, 0, 0, 0.05);
}
.rewardSummary__image > li > a > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 560px) {
  .rewardSummary__image {
    margin: 24px 0 0;
  }
  .rewardSummary__image > li {
    margin: 0 0 16px 16px;
    width: calc(20% - 13px);
  }
  .rewardSummary__image > li:nth-child(4n+1) {
    margin-left: 16px;
  }
  .rewardSummary__image > li:nth-child(5n+1) {
    margin-left: 0;
  }
}
@media screen and (min-width: 1020px) {
  .rewardSummary {
    width: 100%;
    padding: 40px 40px 60px;
  }
  .rewardSummary__title {
    font-size: 1.6rem;
  }
  .rewardSummary__note {
    margin: 24px 0 0;
    font-size: 1.5rem;
  }
}

/* rewardAround */
.rewardAround {
  margin: 8px 0 0;
  padding: 32px 16px 40px;
  background: #ffffff;
}
.rewardAround__title {
  text-align: center;
  font-size: 1.7rem;
  font-weight: 700;
}
.rewardAround__list {
  display: flex;
  overflow: auto;
  margin: 16px -16px 0;
  padding: 0 0 0 16px;
  scroll-snap-type: x mandatory;
}
.rewardAround__list > li {
  flex: 0 0 auto;
  scroll-snap-align: center;
  padding: 8px 16px 8px 0;
  width: 80%;
  max-width: 320px;
  -webkit-transform: translate3d(0, 0, 0);
}
.rewardAround__item {
  transition: opacity 0.2s;
}
.rewardAround__item__l2 {
  padding: 12px 0 0;
}
.rewardAround__item__image {
  position: relative;
  overflow: hidden;
  padding: 56% 0 0;
  border: solid 1px #efedeb;
  border-radius: 4px;
  width: 100%;
}
.rewardAround__item__image > img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rewardAround__item__type {
  color: #877f78;
  font-size: 1.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.rewardAround__item__title {
  margin: 2px 0 0;
  font-size: 1.3rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.rewardAround__item:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .rewardAround {
    position: sticky;
    top: 32px;
    margin: 32px 0 0;
    padding: 32px 24px;
    border: solid 1px #efedeb;
    border-radius: 4px;
    width: 100%;
  }
  .rewardAround__list {
    display: flex;
    flex-direction: column;
    overflow: visible;
    margin: 24px 0 0;
    padding: 0;
    scroll-snap-type: none;
  }
  .rewardAround__list > li {
    scroll-snap-align: none;
    padding: 0;
    border-bottom: solid 1px #efedeb;
    width: 100%;
    max-width: none;
  }
  .rewardAround__list > li:last-child {
    border: none;
  }
  .rewardAround__item {
    display: flex;
    align-items: center;
    padding: 12px 0;
  }
  .rewardAround__item__l2 {
    flex: 1 1 auto;
    padding: 0 0 0 8px;
  }
  .rewardAround__item__image {
    width: 72px;
    padding: 100% 0 0;
  }
  .rewardAround__item__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    max-height: 3em;
    line-height: 1.5em;
    word-break: break-all;
  }
}

/* rewardEventCard */
.rewardEventCard {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: solid 1px #efedeb;
  border-radius: 4px;
  background: #ffffff;
  transition: opacity 0.2s;
}
.rewardEventCard__l1 {
  flex: 0 0 auto;
}
.rewardEventCard__l2 {
  flex: 1 1 auto;
  padding: 8px 12px;
}
.rewardEventCard__image {
  position: relative;
  width: 120px;
  padding: 67% 0 0;
}
.rewardEventCard__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rewardEventCard__text1 {
  color: #877f78;
  font-size: 1.2rem;
}
.rewardEventCard__text2 {
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
.rewardEventCard:hover {
  opacity: 0.8;
}
@media screen and (min-width: 1020px) {
  .rewardEventCard__image {
    width: 160px;
  }
  .rewardEventCard__text1 {
    font-size: 1.4rem;
  }
  .rewardEventCard__text2 {
    font-size: 1.6rem;
  }
}

/* rewardRankingCard */
.rewardRankingCard {
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 12px 16px;
  border: solid 1px #efedeb;
  border-radius: 4px;
  min-height: 80px;
  background: #ffffff;
}
.rewardRankingCard__text1 {
  color: #877f78;
  font-size: 1.2rem;
}
.rewardRankingCard__text2 {
  font-size: 1.4rem;
  font-weight: 700;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
  word-break: break-all;
}
@media screen and (min-width: 1020px) {
  .rewardRankingCard__text1 {
    font-size: 1.4rem;
  }
  .rewardRankingCard__text2 {
    font-size: 1.6rem;
  }
}

/* =============================================
  event
============================================= */
/* event */
.event {
  position: relative;
}

/* eventBody */
.eventContent {
  padding: 0 0 52px;
  background: #ffffff;
}
.eventContent__image {
  position: relative;
  width: 100%;
  padding: 56% 0 0;
}
.eventContent__image > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.eventContent__place {
  margin: 32px 20px 0;
  font-size: 1.4rem;
  color: #877f78;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  max-height: 1.5em;
  line-height: 1.5em;
  word-break: break-all;
}
.eventContent__place * {
  display: inline;
}
.eventContent__title {
  margin: 4px 20px 8px;
  font-size: 2.2rem;
  font-weight: 700;
}
.eventContent__price {
  margin: 12px 20px;
}
.eventContent__price > .is-text {
  font-size: 2.2rem;
  font-weight: 700;
  color: #038293;
}
.eventContent__price > .is-num {
  font-size: 2.6rem;
  font-weight: 700;
  color: #038293;
}
.eventContent__price > .is-num > i {
  font-size: 0.6em;
  font-weight: 400;
  font-style: normal;
}
.eventContent__detail {
  margin: 24px 20px;
  padding: 24px 0;
  border-top: solid 1px #efedeb;
  border-bottom: solid 1px #efedeb;
}
.eventContent__detail > li {
  display: flex;
}
.eventContent__detail > li:not(:first-child) {
  margin: 16px 0 0;
}
.eventContent__detail__l1 {
  padding: 0 16px 0 0;
}
.eventContent__detail__l2 {
  padding: 2px 0 0;
}
.eventContent__detail__icon {
  font-size: 2.5rem;
  color: #877f78;
}
.eventContent__detail__text {
  font-size: 1.5rem;
  font-weight: 700;
}
.eventContent__detail__time {
  margin: 4px 0 0;
  font-size: 1.1rem;
  color: #877f78;
}
.eventContent__detail__time > time {
  font-size: 1.3rem;
}
.eventContent__desc {
  margin: 24px 20px;
  line-height: 1.8;
  font-size: 1.4rem;
}
.eventContent__mission {
  margin: 24px 20px;
  padding: 24px 0 0;
  border-top: solid 1px #efedeb;
}
.eventContent__mission__title {
  font-size: 1.7rem;
}
.eventContent__mission__title > span {
  color: #CB56B9;
}
.eventContent__mission__title > br {
  display: none;
}
.eventContent__mission__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 16px 0 0;
  border: dashed 3px #efedeb;
  border-radius: 8px;
  height: 120px;
  background: #fafafa;
  color: #877f78;
  font-size: 1.3rem;
  font-weight: 700;
}
.eventContent__mission__content > i {
  margin: 0 0 0.2em;
  font-size: 3em;
}
.eventContent__reward {
  margin: 24px 20px 0;
  padding: 24px 0 0;
  border-top: solid 1px #efedeb;
}
.eventContent__reward__title {
  font-size: 1.7rem;
}
.eventContent__reward__title > span {
  color: #CB56B9;
  font-weight: 700;
}
.eventContent__reward__desc {
  margin: 4px 0 0;
  font-size: 1.4rem;
  color: #877f78;
}
.eventContent__reward__desc > span {
  color: #CB56B9;
  font-weight: 700;
}
.eventContent__reward__card {
  margin: 16px 0 0;
}
@media screen and (min-width: 1020px) {
  .eventContent {
    overflow: hidden;
    padding: 0 0 68px;
    border-radius: 4px;
    border: solid 1px #efedeb;
  }
  .eventContent__place {
    margin: 48px 40px 0;
    font-size: 1.6rem;
  }
  .eventContent__title {
    margin: 4px 40px 8px;
    font-size: 3rem;
  }
  .eventContent__price {
    margin: 20px 40px 40px;
  }
  .eventContent__price > .is-text {
    font-size: 2.6rem;
  }
  .eventContent__price > .is-num {
    font-size: 3.4rem;
  }
  .eventContent__detail {
    margin: 32px 40px;
    padding: 32px 0 28px;
  }
  .eventContent__detail > li:not(:first-child) {
    margin: 24px 0 0;
  }
  .eventContent__detail__l1 {
    padding: 0 24px 0 0;
  }
  .eventContent__detail__l2 {
    padding: 0;
  }
  .eventContent__detail__icon {
    font-size: 2.8rem;
  }
  .eventContent__detail__text {
    font-size: 1.6rem;
  }
  .eventContent__detail__text2 {
    font-size: 1.4rem;
  }
  .eventContent__desc {
    margin: 40px 40px;
    font-size: 1.6rem;
  }
  .eventContent__mission {
    margin: 40px 40px;
    padding: 40px 0 0;
  }
  .eventContent__mission__title {
    font-size: 2rem;
  }
  .eventContent__mission__content {
    margin: 20px 0 0;
    font-size: 1.6rem;
    height: 160px;
  }
  .eventContent__reward {
    margin: 40px 40px 0;
    padding: 40px 0 0;
  }
  .eventContent__reward__title {
    font-size: 2rem;
  }
  .eventContent__reward__desc {
    font-size: 1.6rem;
  }
  .eventContent__reward__card {
    margin: 24px 0 0;
  }
}

.eventBanner {
  padding: 32px 20px;
  border-top: solid 8px #f5f5f4;
  background: #ffffff;
}
.eventBanner__content > a {
  display: block;
  transition: opacity 0.2s;
}
.eventBanner__content > a:not(:first-child) {
  margin: 16px 0 0;
}
.eventBanner__content > a:hover {
  opacity: 0.8;
}
.eventBanner__content > a > img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1020px) {
  .eventBanner {
    margin: 24px 0 0;
    padding: 0;
    border: none;
    background: transparent;
  }
}

/* aboutFront */
.aboutFront {
  overflow: hidden;
  z-index: 1;
  width: 100%;
  height: 180px;
  background: url(/n_assets/img/about/top_front_bg.jpg) center/cover no-repeat;
}
.aboutFront__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
}
.aboutFront__bg {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.aboutFront__bg > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1020px) {
  .aboutFront {
    background-image: url(/n_assets/img/about/top_front_bg.jpg);
    height: 360px;
  }
}

/* aboutSection1 */
.aboutSection1 {
  overflow: hidden;
  z-index: 2;
  position: relative;
  margin: -40px 0;
}
.aboutSection1__container {
  margin: 0 -200px;
  padding: 84px 224px 120px;
  border-radius: 100%/200px;
  background: url(/n_assets/img/about/top_about2_bg.png) #ffffff;
}
.aboutSection1__subtitle {
  text-align: center;
  color: #ff7b00;
  font-size: 1.4rem;
  font-weight: 700;
}
.aboutSection1__title {
  margin: 12px 0 0;
  text-align: center;
  font-size: 2.3rem;
  font-weight: 700;
}
.aboutSection1__desc {
  margin: 32px 0 0;
  text-align: center;
  line-height: 2;
  font-size: 1.5rem;
}
.aboutSection1__desc > small {
  display: inline-block;
  margin: 1em 0 0;
  font-size: 0.85em;
  font-weight: 400;
  color: #877f78;
}
.aboutSection1__app {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 40px 0 0;
}
.aboutSection1__app > p {
  margin: 0 0 12px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 1020px) {
  .aboutSection1 {
    margin: -80px 0 0;
  }
  .aboutSection1__container {
    border-radius: 100% 100% 0 0/200px 200px 0 0;
    padding: 140px 224px 200px;
  }
  .aboutSection1__subtitle {
    font-size: 2.2rem;
  }
  .aboutSection1__title {
    margin: 16px 0 0;
    font-size: 4rem;
  }
  .aboutSection1__title > br {
    display: none;
  }
  .aboutSection1__desc {
    margin: 60px 0 0;
    font-size: 2rem;
    font-weight: 700;
  }
  .aboutSection1__app {
    margin: 80px 0 0;
  }
  .aboutSection1__app > p {
    margin: 0 0 20px;
    font-size: 2.5rem;
  }
}

/* aboutSection3 */
.aboutSection3 {
  overflow: hidden;
  z-index: 1;
  position: relative;
}
.aboutSection3__container {
  padding: 100px 24px 80px;
  background: url(/n_assets/img/about/top_about3_bg.png) #ff7b00;
}
.aboutSection3__subtitle {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
}
.aboutSection3__title {
  margin: 4px 0 0;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  color: #ffffff;
}
.aboutSection3__list {
  margin: 40px 0 0;
}
.aboutSection3__list > li:not(:first-child) {
  margin: 24px 0 0;
}
.aboutSection3__item1 {
  margin: 0 0 12px;
  padding: 20px 20px 28px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.12), -4px -4px 12px rgba(0, 0, 0, 0.08);
}
.aboutSection3__item1__title {
  display: flex;
  align-items: center;
  margin: 0 0 16px;
  width: 100%;
}
.aboutSection3__item1__title__1 {
  flex: 0 0 auto;
  margin: 0 16px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
  width: 5.4em;
  height: 5.4em;
  line-height: 1.2;
  color: #ffffff;
  background: #eee;
  font-size: 1.1rem;
}
.aboutSection3__item1__title__1 > span:nth-child(2) {
  font-size: 2em;
}
.aboutSection3__item1__title__2 {
  flex: 1 1 100%;
  font-size: 1.8rem;
  font-weight: 700;
}
.aboutSection3__item1__desc {
  font-size: 1.2rem;
  line-height: 1.8;
}
.aboutSection3__item1__video {
  display: block;
  margin: 20px auto 0;
  width: 220px;
  max-width: 100%;
  border: solid 1px #eeeeee;
  background: #333333;
}
.aboutSection3__item1__image {
  display: block;
  margin: 20px auto 0;
  width: 320px;
  max-width: 100%;
}
.aboutSection3__item1--1 .aboutSection3__item1__title__1 {
  background: #e5b820;
}
.aboutSection3__item1--2 .aboutSection3__item1__title__1 {
  background: #23af4e;
}
.aboutSection3__item1--3 .aboutSection3__item1__title__1 {
  background: #cb56b9;
}
.aboutSection3__item1--4 .aboutSection3__item1__title__1 {
  background: #ee6c95;
}
@media screen and (min-width: 1020px) {
  .aboutSection3__container {
    padding: 140px 24px;
  }
  .aboutSection3__subtitle {
    font-size: 2.2rem;
  }
  .aboutSection3__title {
    margin: 12px 0 0;
    font-size: 4rem;
  }
  .aboutSection3__list {
    margin: 120px 0 0;
  }
  .aboutSection3__list > li:not(:first-child) {
    margin: 48px 0 0;
  }
  .aboutSection3__item1 {
    display: flex;
    align-items: center;
    padding: 32px 60px;
  }
  .aboutSection3__item1__l1 {
    padding: 20px 0;
  }
  .aboutSection3__item1__l2 {
    flex: 0 0 auto;
    padding: 0 0 0 60px;
  }
  .aboutSection3__item1__title__1 {
    margin: 0 32px 0 0;
    font-size: 2rem;
  }
  .aboutSection3__item1__title__2 {
    font-size: 3.4rem;
  }
  .aboutSection3__item1__desc {
    margin: 48px 0 0;
    border-radius: 8px;
    padding: 64px 44px;
    background: #f4f4f4;
    font-size: 1.8rem;
  }
  .aboutSection3__item1__video {
    margin: 0 40px;
  }
}

/* =============================================
  topics
============================================= */
/* index & archive */
.topicsArchive {
  padding: 50px 12px;
  background: #fff;
}

.topicsTitle {
  text-align: center;
  font-size: 2rem;
  margin: 0 0 16px;
}

.topicsMenu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 40px;
}

.topicsMenu__item {
  font-size: 1.4rem;
}

.topicsMenu__item:not(:last-child)::after {
  content: "|";
  display: inline-block;
  margin: 0 16px;
}

.topicsMenu__item--active > a {
  color: #f36d03;
}

.topicsMenu__item > a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.topicsMenu__item > a:hover,
.topicsMenu__item > a:focus {
  opacity: 0.7;
}

.topicsList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.topicsItem {
  margin: 0 12px 30px 0;
  width: calc(50% - 6px);
}

.topicsItem:nth-child(2n) {
  margin-right: 0;
}

.topicsItem__inner {
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.topicsItem__thumb {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  overflow: hidden;
  position: relative;
  border: solid 1px #eee;
  border-radius: 3px;
  padding: 75% 0 0;
  width: 100%;
}

.topicsItem__thumb > img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.topicsItem__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 8px;
}

.topicsItem__date {
  max-width: 50%;
  font-size: 1.2rem;
}

.topicsItem__category {
  margin: 0 0 0 8px;
  max-width: calc(50% - 8px);
  font-size: 1.2rem;
}

.topicsItem__title {
  margin: 4px 0 0;
  width: 100%;
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  max-height: 3em;
  line-height: 1.5em;
}

.topicsItem__note {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 4.5em;
  line-height: 1.5em;
  font-size: 1.3rem;
}

.topicsItem__inner .topicsItem__thumb > img {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.topicsItem__inner .topicsItem__thumb .topicsItem__text {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

.topicsItem__inner:hover .topicsItem__thumb > img,
.topicsItem__inner :focus .topicsItem__thumb > img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}

.topicsItem__inner:hover .topicsItem__text,
.topicsItem__inner :focus .topicsItem__text {
  opacity: 0.7;
}

/* single */
.topicsSingle {
  padding: 10px 0;
  background: #f5f5f5;
}

.topicsSingle__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  z-index: 10;
  position: relative;
  padding: 50px 20px;
  max-width: 800px;
  background: #fff;
}

.topicsSingle__date {
  font-size: 1.4rem;
}

.topicsSingle__category {
  margin: 0 0 0 10px;
  font-size: 1.4rem;
}

.topicsSingle__title {
  margin: 4px 0 16px;
  width: 100%;
  font-size: 2.3rem;
  font-weight: 700;
}

.topicsSingle__note {
  width: 100%;
  line-height: 1.8;
  font-size: 1.3rem;
}

.topicsSingle__note a:not([class]) {
  text-decoration: underline;
  color: #f36d03;
}

.wp-pagenavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 1.8rem;
}

.wp-pagenavi > * {
  margin: 0 12px;
}

.wp-pagenavi > .current {
  font-weight: 700;
}

.wp-pagenavi > a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 560px) {
  .topicsArchive {
    padding: 60px 22px;
  }

  .topicsItem {
    margin: 0 24px 40px 0;
    width: calc(33.333% - 16px);
  }

  .topicsItem:nth-child(2n) {
    margin-right: 24px;
  }

  .topicsItem:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 940px) {
  .topicsArchive {
    padding: 100px 30px;
  }

  .topicsTitle {
    font-size: 3rem;
    margin: 0 0 32px;
  }

  .topicsMenu {
    margin: 0 0 80px;
  }

  .topicsMenu__item {
    font-size: 1.7rem;
  }

  .topicsMenu__item:not(:last-child)::after {
    margin: 0 30px;
  }

  .topicsItem {
    margin: 0 60px 80px 0;
    width: calc(33.333% - 40px);
  }

  .topicsItem:nth-child(2n) {
    margin-right: 60px;
  }

  .topicsItem:nth-child(3n) {
    margin-right: 0;
  }

  .topicsItem__text {
    padding: 16px 12px;
  }

  .topicsItem__title {
    margin: 6px 0 0;
    font-size: 1.6rem;
  }

  .topicsSingle {
    padding: 50px 30px 100px;
  }

  .topicsSingle__inner {
    margin-top: 32px;
    margin-bottom: 100px;
    padding: 100px 80px;
    border: solid 1px #eee;
    border-radius: 10px;
  }

  .topicsSingle__title {
    margin: 8px 0 30px;
    font-size: 2.8rem;
  }

  .topicsSingle__note {
    font-size: 1.6rem;
  }

  .wp-pagenavi {
    font-size: 2rem;
  }
}
/* =============================================
  top
============================================= */
.sw {
  position: relative;
}

/* swFront */
.swFront {
  position: relative;
  width: 100%;
  height: 240px;
}
.swFront__l1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  padding: 0 16px 40px;
  width: 100%;
  height: 100%;
}
.swFront__l2 {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.swFront__title {
  color: #ffffff;
  font-size: 2rem;
  font-weight: 700;
}
.swFront__desc {
  margin: 12px 0 0;
  color: #ffffff;
  font-size: 1.6rem;
}
.swFront__bgimage {
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(90deg, #025f6b 0%, #05c4de 100%);
}
@media screen and (min-width: 1020px) {
  .swFront {
    height: 300px;
  }
  .swFront__title {
    font-size: 2.4rem;
  }
}

/* swNavForm */
.swNavForm {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  right: 0;
  bottom: -48px;
  left: 0;
  margin: 0 auto;
  padding: 4px 8px;
  border: solid 1px #efedeb;
  border-radius: 4px;
  width: calc(100% - 32px);
  background: #ffffff;
}
.swNavForm input, .swNavForm select {
  border: none;
}
.swNavForm__l1 {
  order: 1;
  flex: 1 1 auto;
}
.swNavForm__l2 {
  order: 3;
  flex: 0 1 100%;
  display: flex;
  border-top: solid 1px #efedeb;
}
.swNavForm__l3 {
  order: 2;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swNavForm__input {
  display: flex;
  align-items: center;
}
.swNavForm__input__text {
  flex: 0 1 100%;
  position: relative;
  padding-right: 8px;
  padding-left: 8px;
  min-height: 52px;
  font-size: 1.8rem;
}
.swNavForm__select {
  display: flex;
  align-items: center;
  width: 50%;
}
.swNavForm__select__icon {
  margin: 0 -24px 0 4px;
  color: #372a1f;
  pointer-events: none;
  font-size: 19px;
}
.swNavForm__select__text {
  flex: 0 1 100%;
  padding-right: 16px;
  padding-left: 36px;
  min-height: 44px;
  font-size: 1.5rem;
  cursor: text;
}
.swNavForm__submit {
  border-radius: 4px;
  width: 36px;
  height: 36px;
  background: #f36d03;
  color: #ffffff;
  transition: opacity 0.2s;
}
.swNavForm__submit:hover {
  opacity: 0.7;
}
@media screen and (min-width: 1020px) {
  .swNavForm {
    flex-wrap: nowrap;
    bottom: -40px;
    padding: 8px 16px;
    width: 100%;
  }
  .swNavForm__l1 {
    order: 1;
    flex: 1 1 auto;
  }
  .swNavForm__l2 {
    order: 2;
    flex: 0 0 380px;
    border: none;
    border-left: solid 1px #efedeb;
  }
  .swNavForm__l3 {
    order: 3;
  }
  .swNavForm__input__text {
    padding-right: 16px;
    padding-left: 16px;
    min-height: 64px;
    font-size: 2rem;
  }
  .swNavForm__select {
    display: flex;
    align-items: center;
    width: 50%;
  }
  .swNavForm__select__icon {
    margin: 0 -40px 0 16px;
    font-size: 23px;
  }
  .swNavForm__select__text {
    flex: 0 1 100%;
    padding-right: 16px;
    padding-left: 56px;
    min-height: 64px;
    font-size: 1.8rem;
  }
  .swNavForm__submit {
    width: 52px;
    height: 52px;
  }
}

/* swWorld */
.swWorld {
  padding: 64px 16px 40px;
}
.swWorld__l1 {
  border-bottom: solid 8px #efedeb;
}
.swWorld__title {
  font-size: 1.6rem;
  font-weight: 700;
}
.swWorld__desc {
  margin: 4px 0 0;
  color: #877f78;
  font-size: 1.3rem;
}
.swWorld__list > li {
  margin: 0 0 12px;
}
.swWorld__list > li.is-noitem {
  padding: 100px 16px 80px;
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (min-width: 1020px) {
  .swWorld {
    padding: 60px 16px 100px;
  }
  .swWorld__title {
    font-size: 2.4rem;
  }
  .swWorld__desc {
    font-size: 1.6rem;
  }
  .swWorld__list {
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    scroll-snap-type: none;
    padding: 0;
    margin: 32px 0 0;
  }
  .swWorld__list > li {
    flex: 0 0 auto;
    scroll-snap-align: none;
    margin: 0 32px 32px 0;
    padding: 0;
    width: calc(33.3333% - 22px);
    max-width: none;
  }
  .swWorld__list > li:nth-child(3n) {
    margin-right: 0;
  }
}

/* =============================================
  contact
============================================= */
.contact {
  position: relative;
}

/* contactBody */
.contactBody {
  padding: 32px 16px 72px;
  background: #ffffff;
}
.contactBody__title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
.contactBody__complete {
  color: #605852;
  margin: 32px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.contactBody__complete__btn {
  margin: 32px auto 0;
  max-width: 280px;
}
@media screen and (min-width: 1020px) {
  .contactBody {
    margin: 32px 0 120px;
    padding: 80px 180px 120px;
    border: solid 1px #efedeb;
    border-radius: 4px;
  }
  .contactBody__title {
    font-size: 2.2rem;
  }
  .contactBody__complete {
    margin: 60px 0 0;
    font-size: 1.6rem;
  }
  .contactBody__complete__btn {
    margin: 48px auto 0;
  }
}

/* contactForm */
.contactForm {
  margin: 32px 0 0;
}
.contactForm input, .contactForm select, .contactForm textarea {
  width: 100%;
}
.contactForm__field {
  margin: 24px 0 0;
}
.contactForm__field__header {
  padding: 4px;
  font-size: 1.5rem;
}
.contactForm__field__content {
  margin: 4px 0 0;
}
.contactForm__field__req {
  color: #ff0000;
}
.contactForm__submit {
  width: 100%;
}
@media screen and (min-width: 1020px) {
  .contactForm {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contactForm__field {
    width: 100%;
  }
  .contactForm__field__header {
    font-size: 1.6rem;
  }
  .contactForm__field__content {
    margin: 8px 0 0;
  }
  .contactForm__field--name {
    width: calc(50% - 12px);
  }
  .contactForm__field--mail {
    width: calc(50% - 12px);
  }
  .contactForm__field--submit {
    margin: 48px 0 0;
  }
}

/* contactPrivacyDialog */
.contactPrivacyDialog {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.contactPrivacyDialog__scrim {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.contactPrivacyDialog__container {
  z-index: 2;
  overflow-y: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 20px;
  width: 680px;
  max-width: calc(100% - 40px);
  height: max-content;
  max-height: calc(100dvh - 40px);
  background-color: white;
}
.contactPrivacyDialog__header {
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: 0;
  width: 100%;
  height: 48px;
  background-color: white;
}
.contactPrivacyDialog__main {
  padding: 8px 12px;
}
.contactPrivacyDialog__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 8px;
  padding: 12px 12px 16px;
  width: 100%;
}
.contactPrivacyDialog__footer > * {
  flex: 1 1 100%;
}
.contactPrivacyDialog__prev {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 8px;
  margin: auto 0;
  border-radius: 50%;
  width: 32px;
  height: 32px;
}
.contactPrivacyDialog__title {
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}
.contactPrivacyDialog__text {
  line-height: 1.5;
  font-size: 12px;
}
.contactPrivacyDialog__text > a {
  text-decoration: underline;
  color: #038293;
}
.contactPrivacyDialog__button {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  width: 100%;
  height: 40px;
  background-color: #d9d3ce;
  font-size: 13px;
  color: #ffffff;
}
.contactPrivacyDialog__button:hover {
  opacity: 0.8;
}
.contactPrivacyDialog__button--primary {
  background-color: #f36d03;
}
.contactPrivacyDialog:not(.is-show) {
  display: none;
}
@media screen and (min-width: 1020px) {
  .contactPrivacyDialog__header {
    height: 56px;
  }
  .contactPrivacyDialog__main {
    padding: 12px 20px;
  }
  .contactPrivacyDialog__footer {
    padding: 20px;
  }
  .contactPrivacyDialog__prev {
    left: 12px;
  }
  .contactPrivacyDialog__title {
    font-size: 16px;
  }
  .contactPrivacyDialog__text {
    font-size: 14px;
  }
}

/* =============================================
  terms
============================================= */
.terms {
  position: relative;
}

/* termsBody */
.termsBody {
  padding: 32px 16px 60px;
  background: #ffffff;
}
.termsBody__title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
.termsBody__desc {
  margin: 32px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.termsBody__list > dt {
  margin: 24px 0 0;
  font-weight: 700;
  font-size: 1.4rem;
}
.termsBody__list > dd {
  margin: 16px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.termsBody__date {
  margin: 24px 0 0;
  font-size: 1.4rem;
}
@media screen and (min-width: 1020px) {
  .termsBody {
    margin: 32px 0 120px;
    padding: 80px 180px;
    border: solid 1px #efedeb;
    border-radius: 4px;
  }
  .termsBody__title {
    font-size: 2.2rem;
  }
  .termsBody__desc {
    margin: 60px 0 0;
    font-size: 1.5rem;
  }
  .termsBody__list > dt {
    margin: 40px 0 0;
    font-size: 1.5rem;
  }
  .termsBody__list > dd {
    margin: 16px 0 0;
    font-size: 1.5rem;
  }
  .termsBody__date {
    margin: 40px 0 0;
    font-size: 1.5rem;
  }
}

/* =============================================
  privacy
============================================= */
.privacy {
  position: relative;
}

/* privacyBody */
.privacyBody {
  padding: 32px 16px 60px;
  background: #ffffff;
}
.privacyBody__title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
.privacyBody__desc {
  margin: 32px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.privacyBody__list > dt {
  margin: 24px 0 0;
  font-weight: 700;
  font-size: 1.4rem;
}
.privacyBody__list > dd {
  margin: 16px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.privacyBody__list > dd > dl {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 0;
}
.privacyBody__list > dd > dl > dt {
  flex: 0 0 auto;
  width: 4em;
}
.privacyBody__list > dd > dl > dd {
  flex: 1 1 auto;
  width: calc(100% - 4em);
}
.privacyBody__list table {
  margin: 1em 0;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 0.9em;
}
.privacyBody__list table td {
  padding: 0.8em 1em;
  border: solid 1px #333333;
}
.privacyBody__date {
  margin: 24px 0 0;
  font-size: 1.4rem;
}
@media screen and (min-width: 1020px) {
  .privacyBody {
    margin: 32px 0 120px;
    padding: 80px 180px;
    border: solid 1px #efedeb;
    border-radius: 4px;
  }
  .privacyBody__title {
    font-size: 2.2rem;
  }
  .privacyBody__desc {
    margin: 60px 0 0;
    font-size: 1.5rem;
  }
  .privacyBody__list > dt {
    margin: 40px 0 0;
    font-size: 1.5rem;
  }
  .privacyBody__list > dd {
    margin: 16px 0 0;
    font-size: 1.5rem;
  }
  .privacyBody__date {
    margin: 40px 0 0;
    font-size: 1.5rem;
  }
}

/* =============================================
  commerce
============================================= */
.commerce {
  position: relative;
}

/* commerceBody */
.commerceBody {
  padding: 32px 16px 60px;
  background: #ffffff;
}
.commerceBody__title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
.commerceBody__desc {
  margin: 32px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.commerceBody__list {
  margin: 32px 0 0;
}
.commerceBody__list > dt {
  margin: 24px 0 0;
  font-weight: 700;
  font-size: 1.4rem;
}
.commerceBody__list > dd {
  margin: 16px 0 0;
  line-height: 1.8;
  font-size: 1.4rem;
}
.commerceBody__list > dd > small {
  font-size: 0.9em;
}
.commerceBody__date {
  margin: 24px 0 0;
  font-size: 1.4rem;
}
@media screen and (min-width: 1020px) {
  .commerceBody {
    margin: 32px 0 120px;
    padding: 80px 180px;
    border: solid 1px #efedeb;
    border-radius: 4px;
  }
  .commerceBody__title {
    font-size: 2.2rem;
  }
  .commerceBody__desc {
    margin: 60px 0 0;
    font-size: 1.6rem;
  }
  .commerceBody__list {
    margin: 60px 0 0;
  }
  .commerceBody__list > dt {
    margin: 40px 0 0;
    font-size: 1.6rem;
  }
  .commerceBody__list > dd {
    margin: 16px 0 0;
    font-size: 1.6rem;
  }
  .commerceBody__date {
    margin: 40px 0 0;
    font-size: 1.6rem;
  }
}

/*# sourceMappingURL=style.css.map */
