@charset "UTF-8";
.appear.up .item {
  -webkit-transform: translateY(6px);
          transform: translateY(6px);
}

.appear.down .item {
  -webkit-transform: translateY(-6px);
          transform: translateY(-6px);
}

.appear.left .item {
  -webkit-transform: translateX(40px);
          transform: translateX(40px);
}

.appear.right .item {
  -webkit-transform: translateX(-40px);
          transform: translateX(-40px);
}

.appear .item {
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  opacity: 0;
}

.appear.inview .item {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

.appear.inview .item:nth-child(1) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.appear.inview .item:nth-child(2) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.appear.inview .item:nth-child(3) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.appear.inview .item:nth-child(4) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.appear.inview .item:nth-child(5) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.appear.inview .item:nth-child(6) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.appear.inview .item:nth-child(7) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.appear.inview .item:nth-child(8) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.appear.inview .item:nth-child(9) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.appear.inview .item:nth-child(10) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.btn {
  position: relative;
  display: inline-block;
  background-color: #ffffff;
  border: 1px solid #000000;
  font-weight: 600;
  padding: 10px 40px;
  margin: 10px auto;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #000000;
  text-decoration: none !important;
}

.btn.float:hover {
  background-color: #000000;
  color: #ffffff;
  -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
}

.btn.filled {
  background-color: #000000;
  color: #ffffff;
  -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.5);
}

.btn.filled:hover {
  background-color: #ffffff;
  color: #000000;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn.letter-spacing:hover {
  background-color: #000000;
  letter-spacing: 3px;
  color: #ffffff;
}

.btn.shadow {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn.shadow:hover {
  -webkit-transform: translate(-2.5px, -2.5px);
          transform: translate(-2.5px, -2.5px);
  -webkit-box-shadow: 5px 5px 0 0 #000000;
          box-shadow: 5px 5px 0 0 #000000;
}

.btn.solid {
  -webkit-box-shadow: 2px 2px 0 0 #000000;
          box-shadow: 2px 2px 0 0 #000000;
  border-radius: 7px;
}

.btn.solid:hover {
  -webkit-transform: translate(2px, 2px);
          transform: translate(2px, 2px);
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn.slide-bg {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn.slide-bg::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: -1;
}

.btn.slide-bg:hover {
  color: #ffffff;
}

.btn.slide-bg:hover::before {
  -webkit-transform: none;
          transform: none;
}

.btn.cover-3d {
  position: relative;
  z-index: 1;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-perspective: 300px;
          perspective: 300px;
}

.btn.cover-3d::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: rotateX(90deg);
          transform: rotateX(90deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  z-index: -1;
  opacity: 0;
}

.btn.cover-3d:hover {
  color: #ffffff;
}

.btn.cover-3d:hover::before {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}

.btn-cubic {
  position: relative;
  display: inline-block;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-perspective: 300px;
          perspective: 300px;
  width: 150px;
  height: 50px;
  margin: 0 auto;
  cursor: pointer;
  font-weight: 600;
}

.btn-cubic span {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid #000000;
  line-height: 48px;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: center center -25px;
          transform-origin: center center -25px;
  color: black;
}

.btn-cubic .hovering {
  background-color: #000000;
  color: #ffffff;
  -webkit-transform: rotateX(90deg);
          transform: rotateX(90deg);
}

.btn-cubic .default {
  background-color: #ffffff;
  color: #000000;
  -webkit-transform: rotateX(0);
          transform: rotateX(0);
}

.btn-cubic:hover .hovering {
  -webkit-transform: rotateX(0);
          transform: rotateX(0);
}

.btn-cubic:hover .default {
  -webkit-transform: rotateX(-90deg);
          transform: rotateX(-90deg);
}

.animate-title,
.tween-animate-title {
  opacity: 0;
}

.animate-title.inview,
.tween-animate-title.inview {
  opacity: 1;
}

.animate-title.inview .char,
.tween-animate-title.inview .char {
  display: inline-block;
}

.animate-title .char,
.tween-animate-title .char {
  opacity: 0;
}

.animate-title.inview .char {
  -webkit-animation-name: kf-animate-chars;
          animation-name: kf-animate-chars;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: cubic-bezier(0.39, 1.57, 0.58, 1);
          animation-timing-function: cubic-bezier(0.39, 1.57, 0.58, 1);
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.animate-title.inview .char:nth-child(1) {
  -webkit-animation-delay: 0.04s;
          animation-delay: 0.04s;
}

.animate-title.inview .char:nth-child(2) {
  -webkit-animation-delay: 0.08s;
          animation-delay: 0.08s;
}

.animate-title.inview .char:nth-child(3) {
  -webkit-animation-delay: 0.12s;
          animation-delay: 0.12s;
}

.animate-title.inview .char:nth-child(4) {
  -webkit-animation-delay: 0.16s;
          animation-delay: 0.16s;
}

.animate-title.inview .char:nth-child(5) {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

.animate-title.inview .char:nth-child(6) {
  -webkit-animation-delay: 0.24s;
          animation-delay: 0.24s;
}

.animate-title.inview .char:nth-child(7) {
  -webkit-animation-delay: 0.28s;
          animation-delay: 0.28s;
}

.animate-title.inview .char:nth-child(8) {
  -webkit-animation-delay: 0.32s;
          animation-delay: 0.32s;
}

.animate-title.inview .char:nth-child(9) {
  -webkit-animation-delay: 0.36s;
          animation-delay: 0.36s;
}

.animate-title.inview .char:nth-child(10) {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}

.animate-title.inview .char:nth-child(11) {
  -webkit-animation-delay: 0.44s;
          animation-delay: 0.44s;
}

.animate-title.inview .char:nth-child(12) {
  -webkit-animation-delay: 0.48s;
          animation-delay: 0.48s;
}

.animate-title.inview .char:nth-child(13) {
  -webkit-animation-delay: 0.52s;
          animation-delay: 0.52s;
}

.animate-title.inview .char:nth-child(14) {
  -webkit-animation-delay: 0.56s;
          animation-delay: 0.56s;
}

.animate-title.inview .char:nth-child(15) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.animate-title.inview .char:nth-child(16) {
  -webkit-animation-delay: 0.64s;
          animation-delay: 0.64s;
}

.animate-title.inview .char:nth-child(17) {
  -webkit-animation-delay: 0.68s;
          animation-delay: 0.68s;
}

.animate-title.inview .char:nth-child(18) {
  -webkit-animation-delay: 0.72s;
          animation-delay: 0.72s;
}

.animate-title.inview .char:nth-child(19) {
  -webkit-animation-delay: 0.76s;
          animation-delay: 0.76s;
}

.animate-title.inview .char:nth-child(20) {
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

.animate-title.inview .char:nth-child(21) {
  -webkit-animation-delay: 0.84s;
          animation-delay: 0.84s;
}

.animate-title.inview .char:nth-child(22) {
  -webkit-animation-delay: 0.88s;
          animation-delay: 0.88s;
}

.animate-title.inview .char:nth-child(23) {
  -webkit-animation-delay: 0.92s;
          animation-delay: 0.92s;
}

.animate-title.inview .char:nth-child(24) {
  -webkit-animation-delay: 0.96s;
          animation-delay: 0.96s;
}

.animate-title.inview .char:nth-child(25) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.animate-title.inview .char:nth-child(26) {
  -webkit-animation-delay: 1.04s;
          animation-delay: 1.04s;
}

.animate-title.inview .char:nth-child(27) {
  -webkit-animation-delay: 1.08s;
          animation-delay: 1.08s;
}

.animate-title.inview .char:nth-child(28) {
  -webkit-animation-delay: 1.12s;
          animation-delay: 1.12s;
}

.animate-title.inview .char:nth-child(29) {
  -webkit-animation-delay: 1.16s;
          animation-delay: 1.16s;
}

.animate-title.inview .char:nth-child(30) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}

@-webkit-keyframes kf-animate-chars {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes kf-animate-chars {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.cover-slide {
  position: relative;
  overflow: hidden;
}

.cover-slide::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #eaebe6;
  opacity: 0;
}

.cover-slide.inview::after {
  opacity: 1;
  -webkit-animation-name: kf-cover-slide;
          animation-name: kf-cover-slide;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes kf-cover-slide {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.1% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

@keyframes kf-cover-slide {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.1% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}

.img-zoom, .bg-img-zoom {
  opacity: 0;
}

.inview .img-zoom, .inview .bg-img-zoom {
  opacity: 1;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-animation-name: kf-img-show;
          animation-name: kf-img-show;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: normal;
          animation-fill-mode: normal;
}

.inview .img-zoom:hover, .inview .bg-img-zoom:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

@-webkit-keyframes kf-img-show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  50.1% {
    opacity: 1;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    opacity: 1;
  }
}

@keyframes kf-img-show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  50.1% {
    opacity: 1;
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  100% {
    opacity: 1;
  }
}

.hover-darken::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  pointer-events: none;
  -webkit-animation-name: kf-img-show;
          animation-name: kf-img-show;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: normal;
          animation-direction: normal;
  -webkit-animation-fill-mode: normal;
          animation-fill-mode: normal;
}

.hover-darken:hover::before {
  background-color: rgba(0, 0, 0, 0.4);
}

.bg-img-zoom {
  background-image: url(images/image-1.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
}

.img-bg50 {
  position: relative;
}

.img-bg50::before {
  display: block;
  content: '';
  padding-top: 50%;
}

.mobile-menu {
  position: fixed;
  right: 0;
  top: 60px;
  width: 300px;
}

.mobile-menu .logo {
  padding: 0 40px;
  font-size: 38px;
}

.mobile-menu .logo__img {
  width: 100%;
  height: 20px;
}

.mobile-menu__btn {
  background-color: unset;
  border: none;
  outline: none !important;
  cursor: pointer;
}

.mobile-menu__btn > span {
  background-color: #000000;
  width: 28px;
  height: 2px;
  display: block;
  margin-bottom: 7px;
  -webkit-transition: -webkit-transform 0.7s;
  transition: -webkit-transform 0.7s;
  transition: transform 0.7s;
  transition: transform 0.7s, -webkit-transform 0.7s;
}

.mobile-menu__btn > span:last-child {
  margin-bottom: 0;
}

.mobile-menu__cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
  cursor: pointer;
  z-index: 200;
}

.mobile-menu__main {
  padding: 0;
  -webkit-perspective: 2000px;
          perspective: 2000px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.mobile-menu__item {
  list-style: none;
  display: block;
  -webkit-transform: translate3d(0, 0, -1000px);
          transform: translate3d(0, 0, -1000px);
  padding: 0 40px;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.3s;
  transition: opacity 0.2s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.2s;
  transition: transform 0.3s, opacity 0.2s, -webkit-transform 0.3s;
  opacity: 0;
}

.mobile-menu__link {
  display: block;
  margin-top: 30px;
  color: #000000;
  text-decoration: none !important;
}

.mobile-menu__link .main-title {
  font-size: 18px;
}

.menu-open #container {
  -webkit-transform: translate(-300px, 60px);
          transform: translate(-300px, 60px);
  -webkit-box-shadow: 0 8px 40px -10px rgba(0, 0, 0, 0.8);
          box-shadow: 0 8px 40px -10px rgba(0, 0, 0, 0.8);
}

.menu-open .mobile-menu__cover {
  opacity: 1;
  visibility: visible;
}

.menu-open .mobile-menu__item {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
}

.menu-open .mobile-menu__item:nth-child(1) {
  -webkit-transition-delay: 0.07s;
          transition-delay: 0.07s;
}

.menu-open .mobile-menu__item:nth-child(2) {
  -webkit-transition-delay: 0.14s;
          transition-delay: 0.14s;
}

.menu-open .mobile-menu__item:nth-child(3) {
  -webkit-transition-delay: 0.21s;
          transition-delay: 0.21s;
}

.menu-open .mobile-menu__item:nth-child(4) {
  -webkit-transition-delay: 0.28s;
          transition-delay: 0.28s;
}

.menu-open .mobile-menu__item:nth-child(5) {
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.menu-open .mobile-menu__btn > span {
  background-color: #000000;
}

.menu-open .mobile-menu__btn > span:nth-child(1) {
  -webkit-transition-delay: 70ms;
          transition-delay: 70ms;
  -webkit-transform: translateY(11px) rotate(135deg);
          transform: translateY(11px) rotate(135deg);
}

.menu-open .mobile-menu__btn > span:nth-child(2) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: translateX(-18px) scaleX(0);
          transform: translateX(-18px) scaleX(0);
}

.menu-open .mobile-menu__btn > span:nth-child(3) {
  -webkit-transition-delay: 140ms;
          transition-delay: 140ms;
  -webkit-transform: translateY(-11px) rotate(-135deg);
          transform: translateY(-11px) rotate(-135deg);
}

/******************************************************************

Stylesheet: ベーススタイル

******************************************************************/
html {
  -ms-touch-action: manipulation !important;
      touch-action: manipulation !important;
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll !important;
  padding-right: 0 !important;
}

body.page-template-page-map {
  height: 100vh;
  height: calc((var(--vh, 1vh) * 100));
}

body.post-type-archive-map {
  height: 100vh;
  height: calc((var(--vh, 1vh) * 100));
}

div.swal2-container {
  width: 100%;
  padding-left: 0px !important;
  padding-right: 0px !important;
  overflow-y: scroll !important;
}

main.cultural-modal-open {
  width: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 100;
}

body.sp-menu-open {
  height: 100vh;
  overflow-y: hidden;
}

main {
  position: relative;
}

img {
  max-width: 100%;
  pointer-events: none;
  touch-callout: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

a:hover {
  cursor: pointer;
  color: #000;
  opacity: 0.6;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  text-decoration: none;
}

li {
  list-style: none !important;
}

ul,
ol {
  padding: 0;
  margin-bottom: 0;
}

i.fas {
  margin-right: 4px;
}

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

button:focus {
  outline: none;
}

/*
========================================
    ユーティリティー
=========================================
*/
.font-din-2014, .chronology-menu__title-en, .chronology-menu__age-en-title, .modal-chronology-content__age-name-en {
  font-family: din-2014, sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .font-din-2014, .chronology-menu__title-en, .chronology-menu__age-en-title, .modal-chronology-content__age-name-en {
    font-family: "Segoe UI", Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
  }
}

.font-din-condensed, .chronology__age-ad-box {
  font-family: din-condensed, sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .font-din-condensed, .chronology__age-ad-box {
    font-family: "Segoe UI", Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
  }
}

.font-tbm-g, .hero__introduction-btn, .chronology-menu__title, .chronology-menu__age-link, .chronology__age-title {
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .font-tbm-g, .hero__introduction-btn, .chronology-menu__title, .chronology-menu__age-link, .chronology__age-title {
    font-family: "Segoe UI", Meiryo, sans-serif;
    font-weight: 900;
    font-style: normal;
  }
}

.font-tbg-r, .header__cultural-affairs-txt, .header__copyright, .hero__cultural-affairs-txt, .front-page__headline, .front-page__about-inner, .chronology__age-title-en, .chronology__japan-cultural-name, .chronology__hachinohe-cultural-name, .chronology__cultural-name-en, .modal__confirm-button, .cultural-content__imginfo-container, .cultural-content__explanation, .cultural-content__map-window-content, .modal-chronology-content__explanation-container .modal-chronology-content__explanation, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en, .modal-chronology-content__map-window-content, .cultural-archive__list-title, .cultural-archive__list-posts-info, .cultural-archive__list-page-info, .cultural-archive__pagination .page-numbers, .cultural-card__title, .cultural-single-post__headline, .cultural-single-post__imginfo-container, .cultural-single-post__explanation, .cultural-single-post__map-window-content, .cultural-single-post__archive-link, .map-content__imginfo-container, .map-content__explanation, .map-content__map-window-content, .map-content__collection-li-name, .map-content__collection-name, .map-content__collection-explanation-text {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  font-weight: 400;
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .font-tbg-r, .header__cultural-affairs-txt, .header__copyright, .hero__cultural-affairs-txt, .front-page__headline, .front-page__about-inner, .chronology__age-title-en, .chronology__japan-cultural-name, .chronology__hachinohe-cultural-name, .chronology__cultural-name-en, .modal__confirm-button, .cultural-content__imginfo-container, .cultural-content__explanation, .cultural-content__map-window-content, .modal-chronology-content__explanation-container .modal-chronology-content__explanation, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en, .modal-chronology-content__map-window-content, .cultural-archive__list-title, .cultural-archive__list-posts-info, .cultural-archive__list-page-info, .cultural-archive__pagination .page-numbers, .cultural-card__title, .cultural-single-post__headline, .cultural-single-post__imginfo-container, .cultural-single-post__explanation, .cultural-single-post__map-window-content, .cultural-single-post__archive-link, .map-content__imginfo-container, .map-content__explanation, .map-content__map-window-content, .map-content__collection-li-name, .map-content__collection-name, .map-content__collection-explanation-text {
    font-family: "Segoe UI", Meiryo, sans-serif;
    font-weight: 400;
    font-style: normal;
  }
}

.font-tbg-db, .chronology-menu .chronology-menu__japan-btn, .chronology-menu .chronology-menu__hachinohe-btn, .chronology__explanation-txt, .chronology__explanation-en-txt, .chronology__keyword-tooltip, .cultural-content__explanation-container .cultural-content__age-ad, .cultural-content__explanation-container .cultural-content__term-link, .cultural-content__explanation-container .map-content__age-ad, .cultural-content__explanation-container .map-content__term, .cultural-content__explanation-title, .cultural-content__writer, .cultural-content__reference, .cultural-content__recommendations, .cultural-content__relational-cultural-container-title, .cultural-content__relational-cultural-name, .cultural-content__map-title, .cultural-content__map-window-title, .modal-chronology-content__age-name, .modal-chronology-content__age-cultural-container-title, .modal-chronology-content__age-cultural-name, .modal-chronology-content__age-cultural-list-link, .modal-chronology-content__map-title, .modal-chronology-content__map-window-title, .cultural-search__keyword, .cultural-search__select-form, .cultural-search__select-item, .cultural-search__button-txt, .cultural-card .cultural-card__tag, .cultural-card .cultural-card__tag--category, .cultural-card .cultural-card__tag--age, .cultural-card__info-title, .cultural-card__info-str, .cultural-single-post__term-link, .cultural-single-post__explanation-title, .cultural-single-post__info-title, .cultural-single-post__info-str, .cultural-single-post__writer, .cultural-single-post__reference, .cultural-single-post__recommendations, .cultural-single-post__map-title, .cultural-single-post__map-window-title, .cultural-single-post__aside-title, .map-content__explanation-container .cultural-content__age-ad, .map-content__explanation-container .cultural-content__term-link, .map-content__explanation-container .map-content__age-ad, .map-content__explanation-container .map-content__term, .map-content__explanation-title, .map-content__writer, .map-content__reference, .map-content__recommendations, .map-content__relational-cultural-container-title, .map-content__relational-cultural-name, .map-content__map-title, .map-content__map-window-title, .map-content__collection-menu-title {
  font-family: toppan-bunkyu-gothic-pr6n, serif;
  font-weight: 600;
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .font-tbg-db, .chronology-menu .chronology-menu__japan-btn, .chronology-menu .chronology-menu__hachinohe-btn, .chronology__explanation-txt, .chronology__explanation-en-txt, .chronology__keyword-tooltip, .cultural-content__explanation-container .cultural-content__age-ad, .cultural-content__explanation-container .cultural-content__term-link, .cultural-content__explanation-container .map-content__age-ad, .cultural-content__explanation-container .map-content__term, .cultural-content__explanation-title, .cultural-content__writer, .cultural-content__reference, .cultural-content__recommendations, .cultural-content__relational-cultural-container-title, .cultural-content__relational-cultural-name, .cultural-content__map-title, .cultural-content__map-window-title, .modal-chronology-content__age-name, .modal-chronology-content__age-cultural-container-title, .modal-chronology-content__age-cultural-name, .modal-chronology-content__age-cultural-list-link, .modal-chronology-content__map-title, .modal-chronology-content__map-window-title, .cultural-search__keyword, .cultural-search__select-form, .cultural-search__select-item, .cultural-search__button-txt, .cultural-card .cultural-card__tag, .cultural-card .cultural-card__tag--category, .cultural-card .cultural-card__tag--age, .cultural-card__info-title, .cultural-card__info-str, .cultural-single-post__term-link, .cultural-single-post__explanation-title, .cultural-single-post__info-title, .cultural-single-post__info-str, .cultural-single-post__writer, .cultural-single-post__reference, .cultural-single-post__recommendations, .cultural-single-post__map-title, .cultural-single-post__map-window-title, .cultural-single-post__aside-title, .map-content__explanation-container .cultural-content__age-ad, .map-content__explanation-container .cultural-content__term-link, .map-content__explanation-container .map-content__age-ad, .map-content__explanation-container .map-content__term, .map-content__explanation-title, .map-content__writer, .map-content__reference, .map-content__recommendations, .map-content__relational-cultural-container-title, .map-content__relational-cultural-name, .map-content__map-title, .map-content__map-window-title, .map-content__collection-menu-title {
    font-family: "Segoe UI", Meiryo, sans-serif;
    font-weight: 600;
    font-style: normal;
  }
}

.font-sym-m, .hero__txt, .front-page__hero-txt, .cultural-archive__title {
  font-family: dnp-shuei-ymincho-std, sans-serif;
  font-weight: 500;
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .font-sym-m, .hero__txt, .front-page__hero-txt, .cultural-archive__title {
    font-family: "Segoe UI", Meiryo, sans-serif;
    font-weight: 600;
    font-style: normal;
  }
}

.font-hiragino, .cultural-column__wrapper .wp-block-column p, .cultural-column__relation-section-title, .cultural-column__card-title, .cultural-column__card-text, .cultural-column__post-title, .cultural-column__post-content p {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  font-style: normal;
}

.font-sm {
  font-size: 14px;
}

.font-md {
  font-size: 17px;
}

.font-lr {
  font-size: 17px;
}

.font-lg {
  font-size: 25px;
}

/* フェードイン用のCSS */
/* 上からフェードイン */
.slide-top {
  opacity: 0;
  -webkit-transform: translate(0, -20px);
          transform: translate(0, -20px);
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

/* 下からフェードイン */
.slide-bottom {
  opacity: 0;
  -webkit-transform: translate(0, 20px);
          transform: translate(0, 20px);
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

/* 左からフェードイン */
.slide-left {
  opacity: 0;
  -webkit-transform: translate(-20px, 0);
          transform: translate(-20px, 0);
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

/* 右からフェードイン */
.slide-right {
  opacity: 0;
  -webkit-transform: translate(20px, 0);
          transform: translate(20px, 0);
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

#container {
  background-color: #ffffff;
  position: relative;
  z-index: 10;
  -webkit-transition: -webkit-transform 0.5s, -webkit-box-shadow 0.5s;
  transition: -webkit-transform 0.5s, -webkit-box-shadow 0.5s;
  transition: transform 0.5s, box-shadow 0.5s;
  transition: transform 0.5s, box-shadow 0.5s, -webkit-transform 0.5s, -webkit-box-shadow 0.5s;
}

/*
=============================================
    wrapper
=============================================
*/
.main-wrapper {
  margin-top: 50px;
  min-height: calc(100vh - 50px);
}

/*
=============================================
    map-wrapper
=============================================
*/
.map-wrapper {
  display: block;
  padding-top: 95px;
  padding-bottom: 57px;
  width: 100%;
  height: 100%;
  height: 100vh;
  height: calc((var(--vh, 1vh) * 100));
}

@media only screen and (min-width: 1050px) {
  .map-wrapper {
    padding-top: 60px;
    padding-bottom: 0;
  }
}

/*
=============================================
    ツールチップ(tippy)
=============================================
*/
/*
=============================================
    googleMap my map
=============================================
*/
.googlemap {
  width: 100%;
  max-width: 900px;
  height: 0;
  margin: 150px auto 20px auto;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.googlemap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/******************************************************************

Stylesheet: ローディング画面のスタイル

******************************************************************/
/* ローディング画面 */
.loading {
  width: 100vw;
  height: 100vh;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-color: #433d36;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loading--loaded {
  opacity: 0;
  visibility: hidden;
}

.loading__spinner {
  width: 100px;
  height: 100px;
  margin: 200px auto;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sk-scaleout 1s infinite ease-in-out;
          animation: sk-scaleout 1s infinite ease-in-out;
}

/* ローディングアニメーション */
@-webkit-keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}
@keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0;
  }
}

/******************************************************************

Stylesheet: headerブロックに適用

******************************************************************/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 110;
  background-color: #433d36;
  /*
    ========================================
        マップ関連
    =========================================
    */
  /*
    ========================================
        スマホ用メニュー
    =========================================
    */
  /*
    ========================================
        PC用メニュー
    =========================================
    */
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 5px 20px;
}

@media only screen and (min-width: 1050px) {
  .header__inner {
    width: 1050px;
    margin: 0 auto;
    padding: 18px 30px;
  }
}

.header__title {
  display: inline-block;
  width: 25px;
  height: 30px;
  margin: 0;
  font-size: 0;
}

@media only screen and (min-width: 1050px) {
  .header__title {
    width: auto;
    height: auto;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.header__title-link {
  display: block;
  width: 100%;
}

.header__logo-img {
  display: block;
  width: auto;
  height: 30px;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
}

@media only screen and (min-width: 1050px) {
  .header__logo-img {
    height: 33px;
  }
}

.header__map-title {
  display: block;
  margin: 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 16px;
  line-height: 1;
  font-weight: normal;
  color: #fff;
}

@media only screen and (min-width: 1050px) {
  .header__map-title {
    display: none;
  }
}

.header__map-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 5px 2px 8px 15px;
}

@media only screen and (min-width: 1050px) {
  .header__map-form {
    display: none;
  }
}

.header__map-form-keyword-container {
  display: block;
  width: calc(100% - 50px);
}

.header__map-form-keyword {
  display: block;
  width: 100%;
  padding: 4px;
  border-radius: 10px;
  background-color: #4E4A49;
  color: #fff;
  border: 0;
}

.header__map-form-button-container {
  display: block;
  width: 50px;
  position: relative;
}

.header__map-form-button {
  display: block;
  width: 33px;
  height: 32px;
  margin: 0 auto;
}

.header__map-form-search-icon {
  width: 33px;
  height: 32px;
  margin: 0 auto;
}

.header__map-form-reset {
  display: block;
}

.header__map-form-reset {
  display: none;
  position: absolute;
  z-index: 1000;
  top: 4px;
  left: -35px;
  width: 25px;
  height: 25px;
  margin-left: auto;
  border: 0;
  border-radius: 50%;
  background-color: #C6C6C6;
}

.header__map-form-reset--active {
  display: inline-block;
}

.header__map-form-reset-icon {
  position: relative;
  display: inline-block;
  width: 15px;
  height: 2px;
  top: -1px;
  line-height: 1;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header__map-form-reset-icon::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: inherit;
  border-radius: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.header__sp-menu-drawer {
  width: auto;
  height: 40px;
  position: relative;
}

@media only screen and (min-width: 1050px) {
  .header__sp-menu-drawer {
    display: none;
  }
}

.header__sp-menu-input {
  display: none;
}

.header__sp-menu-icon {
  display: inline-block;
  position: relative;
  width: 34px;
  height: 40px;
  margin: 0;
  background: url("images/sp_menu_icon.svg") center center/contain no-repeat;
}

.header__sp-menu-container {
  overflow: hidden;
  position: fixed;
  top: 50px;
  right: 0;
  z-index: 50;
  /*最前面に*/
  width: 100%;
  /*右側に隙間を作る（閉じるカバーを表示）*/
  height: 0;
  padding: 20px 15px 5px 15px;
  background-color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  /*滑らかに表示*/
  opacity: 0;
}

.header__sp-menu-inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: url("images/introduction_logo.svg") 50% 10%/80% no-repeat;
  background-color: rgba(255, 255, 255, 0.95);
  background-blend-mode: lighten;
}

.header__sp-menu-input:checked + .header__sp-menu-icon {
  background: url("images/sp_menu_close_icon.svg") center center/contain no-repeat;
}

.header__sp-menu-input:checked ~ .header__sp-menu-container {
  height: 100%;
  height: calc( 100vh - 50px);
  /* 変数をサポートしていないブラウザのフォールバック */
  height: calc((var(--vh, 1vh) * 100) - 50px);
  opacity: 1;
  -webkit-box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
          box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
}

.header__sp-menu-nav {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 120px);
          flex: 0 0 calc(100% - 120px);
}

.header__sp-menu-ul {
  width: 100%;
  height: 100%;
  padding: 20px 0 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header__sp-menu-link {
  display: block;
  width: 100%;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 700;
  font-size: 18px;
  color: #231815;
  text-align: center;
}

.header__sp-menu-footer {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 120px;
          flex: 0 0 120px;
}

.header__cultural-affairs-img {
  display: block;
  width: 50px;
  margin: 0 auto 10px auto;
}

.header__cultural-affairs-txt {
  margin-bottom: 4px;
  font-size: 14px;
  text-align: center;
  color: #000;
}

.header__copyright {
  font-size: 11px;
  text-align: center;
  color: #000;
}

.header__pc-menu-nav {
  display: none;
}

@media only screen and (min-width: 1050px) {
  .header__pc-menu-nav {
    width: 100%;
    display: block;
  }
}

.header__pc-menu-ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header__pc-menu-li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__pc-menu-li:nth-child(1) {
  -ms-flex-preferred-size: 21%;
      flex-basis: 21%;
  width: 21%;
  padding-left: 3%;
}

.header__pc-menu-li:nth-child(2) {
  -ms-flex-preferred-size: 29%;
      flex-basis: 29%;
  width: 29%;
  padding-right: 8%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header__pc-menu-li:nth-child(3) {
  -ms-flex-preferred-size: 29%;
      flex-basis: 29%;
  width: 29%;
  padding-left: 7%;
}

.header__pc-menu-li:nth-child(4) {
  -ms-flex-preferred-size: 21%;
      flex-basis: 21%;
  width: 21%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header__pc-menu-link {
  position: relative;
  display: inline-block;
  color: #fff;
}

.header__pc-menu-link:hover {
  color: #fff;
  opacity: 1;
}

.header__pc-menu-link::after {
  position: absolute;
  content: "";
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.header__pc-menu-link:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.header__pc-menu-bar {
  display: inline-block;
  vertical-align: top;
  width: 1px;
  height: 16px;
  line-height: 16px;
  margin: 0 8px;
  background-color: #fff;
}

.header__pc-menu-img {
  height: 16px;
  width: auto;
}

/******************************************************************

Stylesheet: footerブロックに適用

******************************************************************/
.footer {
  width: 100%;
  position: relative;
  bottom: 3px;
  z-index: 10;
  -webkit-transition: -webkit-transform 0.8s ease;
  transition: -webkit-transform 0.8s ease;
  transition: transform 0.8s ease;
  transition: transform 0.8s ease, -webkit-transform 0.8s ease;
}

.footer--fixed {
  z-index: 100;
  position: fixed;
  bottom: 0;
}

.footer--fadeout {
  -webkit-transform: translateY(131.48px);
          transform: translateY(131.48px);
}

.footer__container {
  background-color: #f2f2f2;
}

.footer__inner {
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 3px 10px 6px 10px;
}

@media only screen and (min-width: 1050px) {
  .footer__inner {
    width: 1050px;
    margin: 0 auto;
    padding: 5px 20px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.footer__cultural-affairs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}

@media only screen and (min-width: 1050px) {
  .footer__cultural-affairs {
    height: 25px;
    -ms-flex-preferred-size: 60%;
        flex-basis: 60%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.footer__cultural-affairs-img {
  width: auto;
  height: 25px;
}

.footer__cultural-affairs-txt {
  display: none;
}

@media only screen and (min-width: 1050px) {
  .footer__cultural-affairs-txt {
    display: block;
    font-size: 12px;
    line-height: 1;
  }
}

.footer__copyright {
  padding-top: 2px;
  font-size: 11px;
  line-height: 1;
  text-align: center;
}

@media only screen and (min-width: 1050px) {
  .footer__copyright {
    height: 25px;
    -ms-flex-preferred-size: 40%;
        flex-basis: 40%;
    margin-top: 0;
    text-align: left;
    line-height: 25px;
  }
}

.post-views {
  display: inline-block !important;
  width: 100% !important;
  padding: 4px 0;
  font-size: 12px !important;
  text-align: center  !important;
}

/******************************************************************

Stylesheet: ヘッダー スマホ用スライドメニュー

******************************************************************/
.header-mobile-slidemenu {
  z-index: 10;
  width: 100%;
  height: auto;
  background-color: #e8e7e7;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
}

.header-mobile-slidemenu--close {
  display: none;
}

.header-mobile-slidemenu__nav {
  padding: 15px 15px 10px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header-mobile-slidemenu__ul {
  margin-bottom: 0;
  padding: 0;
}

.header-mobile-slidemenu__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  color: #050404;
}

.header-mobile-slidemenu__btn {
  display: inline-block;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  width: 100%;
  color: #050404;
  border: solid 1px #555;
  border-radius: 5px;
  text-align: center;
}

.header-mobile-slidemenu__btn--active {
  background-color: #fff;
}

.header-mobile-slidemenu__en-mark {
  display: inline-block;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  width: 100%;
  color: #050404;
  font-size: 10px;
  text-align: center;
}

/******************************************************************

Stylesheet: トップページ ヒーローイメージ（スライダー）

******************************************************************/
.hero {
  width: 100%;
  height: calc( 100vh - 50px);
  /* 変数をサポートしていないブラウザのフォールバック */
  height: calc((var(--vh, 1vh) * 100) - 50px);
  margin-top: 50px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (min-width: 960px) {
  .hero {
    height: calc( 100vh - 60px);
    /* 変数をサポートしていないブラウザのフォールバック */
    height: calc((var(--vh, 1vh) * 100) - 60px);
    margin-top: 60px;
  }
}

.hero__container {
  width: 90%;
  position: absolute;
  top: 25px;
  left: 50%;
  z-index: 10;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

@media only screen and (min-width: 1050px) {
  .hero__container {
    top: 30%;
  }
}

.hero__title {
  display: block;
  width: 200px;
  margin: 6% auto 8% auto;
}

@media only screen and (min-width: 1050px) {
  .hero__title {
    margin: 30px auto;
  }
}

.hero__main-logo {
  display: block;
}

.hero__txt {
  margin: 0 auto 20px auto;
  font-size: 16px;
  line-height: 2.5;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
}

@media only screen and (min-width: 1050px) {
  .hero__txt {
    margin-bottom: 25px;
    font-size: 20px;
    line-height: 2.5;
  }
}

.hero__txt-en {
  margin-bottom: 10px;
  font-size: 14px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 2;
  color: #fff;
  text-align: center;
}

@media only screen and (min-width: 1050px) {
  .hero__txt-en {
    font-size: 20px;
    line-height: 2.5;
  }
}

.hero__cultural-affairs-logo {
  display: block;
  width: 50px;
  margin: 0 auto 10px auto;
}

.hero__cultural-affairs-txt {
  font-size: 14px;
  color: #fff;
}

.hero__introduction-btn {
  display: block;
  width: 140px;
  height: 40px;
  margin: 0 auto;
  font-size: 18px;
  letter-spacing: 3px;
  text-align: center;
  text-decoration: none;
  line-height: 40px;
  outline: none;
  position: relative;
  z-index: 2;
  background-color: #433d36;
  border: 1px solid #fff;
  border-radius: 5px;
  color: #fff;
}

@media only screen and (min-width: 1050px) {
  .hero__introduction-btn {
    width: 180px;
  }
}

.hero__introduction-btn:hover {
  background-color: #fff;
  border-color: #433d36;
  color: #433d36;
}

.hero__introduction-btn::before, .hero__introduction-btn::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  top: 0;
  width: 50%;
  height: 100%;
  background-color: #433d36;
  border-radius: 5px;
}

.hero__introduction-btn::before {
  right: 0;
}

.hero__introduction-btn::after {
  left: 0;
}

.hero__introduction-btn:hover::before, .hero__introduction-btn:hover::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 0;
  background-color: #433d36;
}

.hero__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.hero__slider-container {
  width: 100%;
  height: calc( 100vh - 50px);
  /* 変数をサポートしていないブラウザのフォールバック */
  height: calc((var(--vh, 1vh) * 100) - 50px);
}

@media only screen and (min-width: 1050px) {
  .hero__slider-container {
    height: calc( 100vh - 60px);
    /* 変数をサポートしていないブラウザのフォールバック */
    height: calc((var(--vh, 1vh) * 100) - 60px);
  }
}

.hero__slider-slide {
  position: relative;
}

.hero__slider-slide::after {
  content: "";
  position: absolute;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.hero__slider-slide.swiper-slide-active > img {
  -webkit-transform: none;
          transform: none;
}

.hero__slider-slide.swiper-slide-active .hero__slider-title {
  opacity: 1;
}

.hero__slider-img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: -webkit-transform 1.9s ease;
  transition: -webkit-transform 1.9s ease;
  transition: transform 1.9s ease;
  transition: transform 1.9s ease, -webkit-transform 1.9s ease;
}

.hero__slider-title {
  position: absolute;
  top: 95%;
  right: 2%;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  color: #fff;
  font-size: 14px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  z-index: 10;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease 1s, -webkit-transform 0.3s ease 1s;
  transition: opacity 0.3s ease 1s, -webkit-transform 0.3s ease 1s;
  transition: opacity 0.3s ease 1s, transform 0.3s ease 1s;
  transition: opacity 0.3s ease 1s, transform 0.3s ease 1s, -webkit-transform 0.3s ease 1s;
}

@media only screen and (min-width: 1050px) {
  .hero__slider-title {
    font-size: 18px;
  }
}

/******************************************************************

Stylesheet: トップページメニュー

******************************************************************/
.front-page-menu {
  background-color: #fff;
}

.front-page-menu__ul {
  width: 100%;
  padding: 40px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media only screen and (min-width: 1050px) {
  .front-page-menu__ul {
    width: 1050px;
    margin: 0 auto;
    padding: 40px 50px;
  }
}

.front-page-menu__li {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  height: 125px;
  margin-bottom: 20px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}

@media only screen and (min-width: 960px) {
  .front-page-menu__li {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 49%;
            flex: 0 0 49%;
  }
}

.front-page-menu__li:last-child {
  margin-bottom: 0;
}

.front-page-menu__li::after {
  display: block;
  content: "";
  width: 129px;
  height: 76.5px;
  position: absolute;
  z-index: 0;
  background: url("images/frontpage_menu_link_icon.svg") center center/cover no-repeat;
  opacity: 0.5;
}

.front-page-menu__li:nth-child(1)::after {
  bottom: 0;
  right: 0;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.front-page-menu .front-page-menu__link--chronology, .front-page-menu .front-page-menu__link--map, .front-page-menu .front-page-menu__link--category, .front-page-menu .front-page-menu__link--column {
  width: 100%;
  height: 100%;
  display: block;
}

@media only screen and (min-width: 960px) {
  .front-page-menu .front-page-menu__link--chronology, .front-page-menu .front-page-menu__link--map, .front-page-menu .front-page-menu__link--category, .front-page-menu .front-page-menu__link--column {
    height: 125px;
  }
}

.front-page-menu .front-page-menu__link--chronology::before, .front-page-menu .front-page-menu__link--map::before, .front-page-menu .front-page-menu__link--category::before, .front-page-menu .front-page-menu__link--column::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.front-page-menu .front-page-menu__link--chronology:hover, .front-page-menu .front-page-menu__link--map:hover, .front-page-menu .front-page-menu__link--category:hover, .front-page-menu .front-page-menu__link--column:hover {
  opacity: 1;
}

.front-page-menu .front-page-menu__link--chronology:hover::before, .front-page-menu .front-page-menu__link--map:hover::before, .front-page-menu .front-page-menu__link--category:hover::before, .front-page-menu .front-page-menu__link--column:hover::before {
  background-color: rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.front-page-menu__link--chronology {
  background: url("images/frontpage_menu_chronology.png") center center/cover no-repeat;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.front-page-menu__link--chronology::after {
  bottom: 0;
  right: 0;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.front-page-menu__link--chronology:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}

.front-page-menu__link--chronology:hover::after {
  -webkit-transform: rotate(-15deg);
          transform: rotate(-15deg);
}

.front-page-menu__link--map {
  background: url("images/frontpage_menu_map.png") center center/cover no-repeat;
}

.front-page-menu__link--map::after {
  top: 0;
  right: 0;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}

@media only screen and (min-width: 600px) {
  .front-page-menu__link--map::after {
    top: unset;
    bottom: 0;
    right: 0;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}

.front-page-menu__link--category {
  background: url("images/frontpage_menu_category.png") center center/cover no-repeat;
}

.front-page-menu__link--category::after {
  bottom: 0;
  right: 0;
}

@media only screen and (min-width: 600px) {
  .front-page-menu__link--category::after {
    top: 0;
    bottom: unset;
    right: 0;
    -webkit-transform: scale(-1, -1);
            transform: scale(-1, -1);
  }
}

.front-page-menu__link--column {
  background: url("images/frontpage_menu_column.png") center center/cover no-repeat;
}

.front-page-menu__link--column::after {
  top: 0;
  right: 0;
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}

.front-page-menu__title {
  display: inline-block;
  height: 20px;
  width: auto;
  position: absolute;
  z-index: 10;
  top: 10px;
  left: 15px;
}

/******************************************************************

Stylesheet: トップページ(ヒーローイメージ以外)

******************************************************************/
.front-page {
  margin-top: 58px;
  padding-top: 20px;
  /*
    ========================================
        ヒーローイメージ
    =========================================
    */
  /*
    ========================================
        サイト概要
    =========================================
    */
  /*
    ========================================
        about us コンテンツ
    =========================================
    */
}

.front-page__hero-title {
  margin: 0;
}

@media only screen and (min-width: 1050px) {
  .front-page__hero-title {
    margin: 30px auto;
  }
}

.front-page__hero-main-logo {
  display: block;
  height: 180px;
  margin: 50px auto 40px auto;
}

@media only screen and (min-width: 1050px) {
  .front-page__hero-main-logo {
    height: 280px;
    margin: 60px auto 50px auto;
  }
}

.front-page__hero-txt {
  width: 100%;
  margin: 0 auto 200px auto;
  font-size: 20px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 2.5;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media only screen and (min-width: 1050px) {
  .front-page__hero-txt {
    margin-bottom: 100px;
    font-size: 20px;
    line-height: 2.5;
  }
}

.front-page__hero-txt-en {
  margin-bottom: 60px;
  padding: 0 20px;
  font-size: 18px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 2;
  color: #fff;
  text-align: center;
}

@media only screen and (min-width: 1050px) {
  .front-page__hero-txt-en {
    width: 550px;
    margin: 0 auto 60px auto;
    font-size: 18px;
    line-height: 2;
  }
}

.front-page__hero-cultural-affairs-logo {
  display: block;
  width: 65px;
  margin: 0 auto 10px auto;
}

.front-page__hero-cultural-affairs-txt {
  margin-bottom: 70px;
  padding: 0 20px;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  text-align: center;
  color: #fff;
}

.front-page__kikaku-banner-link {
  display: block;
  width: 100%;
  max-width: 1140px;
  margin: 30px auto 40px auto;
  cursor: pointer;
}

@media only screen and (min-width: 600px) {
  .front-page__kikaku-banner-link {
    margin: 30px auto 120px auto;
  }
}

.front-page__kikaku-banner-link:hover {
  opacity: 0.8;
}

.front-page__kikaku-banner {
  display: block;
  width: 100%;
  height: auto;
}

.front-page__content-sub-title {
  display: block;
  margin: 20px 0 20px 0;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 18px;
  color: #000;
}

@media only screen and (min-width: 600px) {
  .front-page__content-sub-title {
    max-width: 760px;
    margin: 60px auto 40px auto;
    font-size: 22px;
    text-align: center;
  }
}

.front-page__kikaku-description {
  margin: 20px 0 30px 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.7px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  position: relative;
  z-index: 100;
}

@media only screen and (min-width: 600px) {
  .front-page__kikaku-description {
    margin: 30px auto 60px auto;
    max-width: 680px;
    font-size: 18px;
  }
}

.front-page__content-description-container {
  padding: 50px 30px 50px 30px;
  overflow: hidden;
  background-color: #fff;
}

@media only screen and (min-width: 600px) {
  .front-page__content-description-container {
    padding: 100px 0 80px 0;
  }
}

.front-page__content-logo {
  display: block;
  width: 67px;
  height: 75px;
  margin: 0 auto 8px auto;
}

@media only screen and (min-width: 600px) {
  .front-page__content-logo {
    width: 220px;
    height: 248px;
    margin: 0 auto 15px auto;
  }
}

.front-page__content-description-en-title {
  display: block;
  margin-bottom: 28px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 14px;
  text-align: center;
  color: #C4AC7A;
}

@media only screen and (min-width: 600px) {
  .front-page__content-description-en-title {
    margin-bottom: 100px;
    font-size: 22px;
  }
}

.front-page__content-description-title-box {
  display: block;
  width: 100%;
  text-align: center;
}

.front-page__content-description-title {
  margin: 0 auto 0 auto;
  display: inline-block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  color: #212529;
}

@media only screen and (min-width: 600px) {
  .front-page__content-description-title {
    font-size: 40px;
  }
}

.front-page__content-description-title-border {
  display: block;
  width: 100%;
  height: 3px;
  margin: 6px 0 0 0;
  border-top: 1px solid rgba(178, 147, 83, 0.4);
  border-bottom: 1px solid rgba(178, 147, 83, 0.4);
}

@media only screen and (min-width: 600px) {
  .front-page__content-description-title-border {
    height: 6px;
  }
}

.front-page__content-description-title-border::after {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  margin: 3px 0 0 0;
  border-top: 1px solid rgba(178, 147, 83, 0.4);
}

@media only screen and (min-width: 600px) {
  .front-page__content-description-title-border::after {
    margin: 9px 0 0 0;
  }
}

.front-page__content-container {
  max-width: 760px;
  margin: 50px auto 0 auto;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .front-page__content-container {
    margin: 80px auto 0 auto;
    padding-bottom: 60px;
  }
}

.front-page__content-container--chronology {
  max-width: 760px;
  margin: 70px auto 0 auto;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .front-page__content-container--chronology {
    margin: 100px auto 0 auto;
    padding-bottom: 60px;
  }
}

.front-page__content-header-box {
  display: block;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .front-page__content-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-header-box--chronology {
    margin: 0 0 80px 0;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-header-box--search {
    width: 48%;
    margin: 0 0 80px 0;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-header-box--map {
    width: 48%;
    margin: 0 0 80px 0;
  }
}

.front-page__menu-info {
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 13px;
  line-height: 1;
  color: #B29353;
  padding: 0 0 0 25px;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .front-page__menu-info {
    font-size: 16px;
  }
}

.front-page__menu-info::before {
  display: block;
  content: '';
  width: 13px;
  height: 13px;
  background-color: #B29353;
  position: absolute;
  top: 60%;
  left: 0;
  -webkit-transform: translate(0%, -50%);
          transform: translate(0%, -50%);
}

@media only screen and (min-width: 600px) {
  .front-page__menu-info::before {
    width: 16px;
    height: 16px;
  }
}

.front-page__content-title {
  display: inline-block;
  margin: 0;
  padding: 40px 0 0 0;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 2.2px;
  position: relative;
  z-index: 10;
}

@media only screen and (min-width: 600px) {
  .front-page__content-title {
    padding: 60px 0 0 0;
    font-size: 50px;
    line-height: 1.5;
    letter-spacing: 2.5px;
    text-align: left;
  }
}

.front-page__content-title--koniro {
  color: #07213D;
}

.front-page__content-title--cyairo {
  color: #32190E;
}

.front-page__title-koniro-span {
  display: inline-block;
  line-height: 1.0;
  margin: 0 4px 0 4px;
  padding: 10px;
  background-color: #07213D;
  color: #fff;
}

.front-page__title-cyairo-span {
  display: inline-block;
  line-height: 1.0;
  margin: 0 4px 0 4px;
  padding: 10px;
  background-color: #32190E;
  color: #fff;
}

.front-page__title-koniro-span:nth-child(1) {
  margin: 0 4px 0 0;
}

.front-page__content-description {
  margin: 30px 0 30px 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.7px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 600;
  position: relative;
  z-index: 100;
}

@media only screen and (min-width: 600px) {
  .front-page__content-description {
    margin: 30px auto 0 0;
    max-width: 530px;
    font-size: 18px;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-description--chronology {
    margin: 30px auto 0 0;
    max-width: 480px;
  }
}

.front-page__chronology-icon {
  width: 126px;
  height: 193px;
  position: absolute;
  right: -18px;
  top: -40px;
  z-index: 1;
}

@media only screen and (min-width: 600px) {
  .front-page__chronology-icon {
    width: 307px;
    height: 470px;
    right: 0;
    top: -20px;
  }
}

.front-page__search-icon {
  width: 98px;
  height: 88px;
  position: absolute;
  right: 10px;
  top: 38px;
  z-index: 1;
}

@media only screen and (min-width: 600px) {
  .front-page__search-icon {
    position: static;
    width: 200px;
    height: 181px;
    display: block;
    margin: 50px auto 0 auto;
  }
}

.front-page__map-icon {
  width: 128.5px;
  height: 100px;
  position: absolute;
  right: 18px;
  top: 20px;
  z-index: 1;
}

@media only screen and (min-width: 600px) {
  .front-page__map-icon {
    position: static;
    width: 222px;
    height: 173px;
    display: block;
    margin: 50px auto 0 auto;
  }
}

.front-page__content-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 40px 0;
}

@media only screen and (min-width: 600px) {
  .front-page__content-img {
    margin: 0 0 60px 0;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-img--search {
    width: 48%;
    padding-top: 60px;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-img--map {
    width: 48%;
    padding-top: 60px;
  }
}

.front-page__content-link-btn {
  display: block;
  width: 250px;
  background-color: #ffffff;
  border: 1px solid #07213D;
  font-weight: 600;
  padding: 10px 40px 10px 20px;
  margin: 10px auto 40px auto;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #07213D;
  text-align: center;
  text-decoration: none !important;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .front-page__content-link-btn {
    margin: 10px auto 80px auto;
  }
}

@media only screen and (min-width: 600px) {
  .front-page__content-link-btn--left {
    margin: 0 auto 0 0;
  }
}

.front-page__content-link-btn::after {
  display: block;
  content: '';
  width: 12px;
  height: 12px;
  border: 1px solid;
  border-color: #07213D #07213D transparent transparent;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 28px;
  -webkit-transform: rotate(45deg) translate(0, -50%);
          transform: rotate(45deg) translate(0, -50%);
}

.front-page__content-link-btn:hover {
  background-color: #433d36;
}

.front-page__content-link-btn:hover .front-page__content-link {
  color: #fff;
}

.front-page__content-link-btn:hover::after {
  border-color: #fff #fff transparent transparent;
}

.front-page__content-link {
  color: #000;
  text-align: center;
}

.front-page__content-border {
  display: block;
  width: 100%;
  height: 3px;
  margin: 6px 0 0 0;
  border-top: 1px solid rgba(178, 147, 83, 0.4);
  border-bottom: 1px solid rgba(178, 147, 83, 0.4);
}

@media only screen and (min-width: 600px) {
  .front-page__content-border {
    height: 6px;
  }
}

.front-page__content-border::after {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  margin: 3px 0 0 0;
  border-top: 1px solid rgba(178, 147, 83, 0.4);
}

@media only screen and (min-width: 600px) {
  .front-page__content-border::after {
    margin: 9px 0 0 0;
  }
}

.front-page__about {
  background-color: #F4ECDD;
}

.front-page__about-container {
  padding: 90px 20px;
}

@media only screen and (min-width: 1050px) {
  .front-page__about-container {
    width: 760px;
    margin: 0 auto;
    padding: 120px 0 120px 0;
    font-size: 20px;
    line-height: 2.5;
  }
}

.front-page__about-logo {
  display: block;
  width: 67px;
  height: 75px;
  margin: 0 auto 8px auto;
}

@media only screen and (min-width: 600px) {
  .front-page__about-logo {
    width: 220px;
    height: 248px;
    margin: 0 auto 15px auto;
  }
}

.front-page__about-description-en-title {
  display: block;
  margin-bottom: 28px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 14px;
  text-align: center;
  color: #C4AC7A;
}

@media only screen and (min-width: 600px) {
  .front-page__about-description-en-title {
    margin-bottom: 100px;
    font-size: 22px;
    letter-spacing: 4px;
  }
}

.front-page__headline-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 10px;
  background-color: #e2e1db;
  margin: 0 0 15px 0;
}

@media only screen and (min-width: 1050px) {
  .front-page__headline-container {
    padding: 10px 20px;
  }
}

.front-page__headline-icon {
  width: 10px;
  height: 30px;
}

.front-page__headline {
  display: block;
  margin: 0;
  padding: 0 0 0 15px;
  font-size: 18px;
  color: #443c35;
  line-height: 1;
}

.front-page__about-inner {
  padding: 10px;
  font-size: 16px;
}

.front-page__sub-headline {
  display: block;
  margin: 0 0 30px 0;
  padding-bottom: 6px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  line-height: 1.2;
  border-bottom: 1px solid rgba(178, 147, 83, 0.4);
  position: relative;
}

@media only screen and (min-width: 600px) {
  .front-page__sub-headline {
    font-size: 20px;
  }
}

.front-page__sub-headline::before {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  border-bottom: 1px solid rgba(178, 147, 83, 0.4);
  position: absolute;
  bottom: -4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.front-page__sub-headline::after {
  display: block;
  content: '';
  width: 100%;
  height: 1px;
  border-bottom: 1px solid rgba(178, 147, 83, 0.4);
  position: absolute;
  bottom: -7px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.front-page__about-txt {
  margin-bottom: 45px;
  font-family: 'Noto Serif JP', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 2;
}

@media only screen and (min-width: 600px) {
  .front-page__about-txt {
    margin-bottom: 100px;
  }
}

.front-page__logo-info {
  width: 150px;
  height: auto;
  display: block;
  margin: 0 auto 15px auto;
}

.front-page__banner-txt {
  margin-bottom: 0;
}

.front-page__banner-box {
  margin: 40px 0 60px 0;
}

@media only screen and (min-width: 600px) {
  .front-page__banner-box {
    margin: 50px 0 100px 0;
  }
}

.front-page__banner-link {
  display: block;
  margin: 0 auto 25px auto;
}

.front-page__banner-img {
  display: block;
  margin: 0 auto 15px auto;
}

/******************************************************************

Stylesheet: 年表スライダーメニューに適用

******************************************************************/
.chronology-menu {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 1000;
  -webkit-filter: drop-shadow(0 -1px 4px rgba(0, 0, 0, 0.5));
          filter: drop-shadow(0 -1px 4px rgba(0, 0, 0, 0.5));
  /*
    =========================================
        年表スライダーメニューのタイトル
    =========================================
    */
  /*
    =========================================
        日本・八戸の年表切替ボタン(スマホのみ)
    =========================================
    */
  /*
    ========================================
        年表スライダーメニュー本体
    =========================================
    */
}

.chronology-menu--hide {
  display: none;
}

.chronology-menu__wrapper {
  position: relative;
  z-index: 1;
  background-color: #433d36;
}

@media only screen and (min-width: 1050px) {
  .chronology-menu__wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0;
  }
}

.chronology-menu__title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 430px;
  height: 0;
  margin: 0 auto;
  padding: 0 15px;
  line-height: 30px;
  border-bottom: 30px solid #433d36;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
}

.chronology-menu__title {
  width: 126.5px;
  height: 30px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 126.5px;
          flex: 0 0 126.5px;
  font-size: 16px;
  text-align: right;
  color: #fff;
}

.chronology-menu__pc-icon {
  width: 127px;
  height: 30px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 127px;
          flex: 0 0 127px;
  padding: 10px 20px;
}

.chronology-menu__pc-icon-line {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  margin-bottom: 2px;
}

.chronology-menu__title-en {
  width: 126.5px;
  height: 30px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 126.5px;
          flex: 0 0 126.5px;
  font-size: 16px;
  color: #fff;
  text-align: left;
}

.chronology-menu__switch-btn-container {
  width: 100%;
  padding: 12px 7.5% 10px 7.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.chronology-menu .chronology-menu__japan-btn, .chronology-menu .chronology-menu__hachinohe-btn {
  display: inline-block;
  -ms-flex-preferred-size: 47%;
      flex-basis: 47%;
  border: 1px solid #fff;
  border-radius: 3px;
  font-size: 19px;
  color: #fff;
  text-align: center;
}

.chronology-menu__japan-btn {
  background-color: #433d36;
}

.chronology-menu__japan-btn--active {
  background-color: #70655b;
}

.chronology-menu__hachinohe-btn {
  background-color: #433d36;
}

.chronology-menu__hachinohe-btn--active {
  background-color: #5f6f7d;
}

.chronology-menu__slider-outside-container {
  width: 100%;
  padding: 15px 0 15px 0;
  -webkit-box-shadow: 0 10px 10px 10px #26221e;
          box-shadow: 0 10px 10px 10px #26221e;
}

@media only screen and (min-width: 600px) {
  .chronology-menu__slider-outside-container {
    max-width: 1050px;
    margin: 0 auto;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.chronology-menu__slider-container {
  width: 85%;
  margin: 0 auto;
}

@media only screen and (min-width: 600px) {
  .chronology-menu__slider-container {
    width: 95%;
  }
}

@media only screen and (min-width: 600px) {
  .chronology-menu__age-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media only screen and (min-width: 600px) {
  .chronology-menu__age-title, .chronology-menu__age-title--last {
    width: 38px;
  }
}

.chronology-menu__age-link {
  position: relative;
  padding: 8px 4px;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 18px;
  line-height: 1;
  color: #433d36;
  background-color: #fff;
}

.chronology-menu__age-link--active {
  background-color: #70655b !important;
  color: #fff !important;
}

.chronology-menu__age-link--android {
  font-weight: normal;
}

@media only screen and (min-width: 600px) {
  .chronology-menu__age-link {
    padding: 14px 6px;
    font-size: 24px;
  }
}

.chronology-menu__age-link:hover {
  cursor: pointer;
}

.chronology-menu__age-title::after {
  content: "";
  width: calc(100% - 32px);
  height: 1px;
  position: absolute;
  top: 50%;
  right: 2px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background-color: #fff;
}

@media only screen and (min-width: 600px) {
  .chronology-menu__age-title::after {
    content: "";
    width: 22px;
    height: 1px;
    position: absolute;
    top: 42px;
    right: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
    background-color: #fff;
  }
}

.chronology-menu__age-title--last {
  margin-right: 0;
}

.chronology-menu__age-title--last::after {
  display: none;
}

.chronology-menu__age-en-title {
  font-size: 12px;
  line-height: 1;
  color: #fff;
}

/******************************************************************

Stylesheet: ヘッダー スマホ用スライドメニュー

******************************************************************/
.chronology {
  /*
    ========================================
        年表本体外枠
    =========================================
    */
  /*
    ========================================
        年表本体内枠
    =========================================
    */
  /*
    ========================================
        年表レイアウト外枠（行方向）
    =========================================
    */
  /*
    ========================================
        日本の年表列（内枠）
    =========================================
    */
  /*
    ========================================
        八戸の年表列（内枠）
    =========================================
    */
  /*
    =============================================
        日本、八戸 年表列内（ 年代タイトル、説明文スタイル）
    =============================================
    */
  /*
    ========================================
        文化財画像列（文化財画像スタイル）
    =========================================
    */
}

.chronology__container {
  width: 100%;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .chronology__container {
    max-width: 1050px;
    margin: 0 auto;
    padding-bottom: 200px;
  }
}

.chronology .chronology__japan-line, .chronology .chronology__hachinohe-line {
  width: 10px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 2;
  background-color: #e2e1db;
}

.chronology .chronology__japan-subline, .chronology .chronology__hachinohe-subline {
  width: 3px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  background-color: #e2e1db;
}

.chronology__japan-line {
  -webkit-box-shadow: 6px 0 3px -3px rgba(0, 0, 0, 0.4);
          box-shadow: 6px 0 3px -3px rgba(0, 0, 0, 0.4);
  left: 0;
}

.chronology__japan-line--non-display {
  display: none;
}

.chronology__japan-subline {
  -webkit-box-shadow: 2px 0 2px 0px rgba(0, 0, 0, 0.5);
          box-shadow: 2px 0 2px 0px rgba(0, 0, 0, 0.5);
  left: calc(100% - (19% + 10px));
}

@media only screen and (min-width: 600px) {
  .chronology__japan-subline {
    left: calc(100% - (55% + 10px));
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

.chronology__japan-subline--non-display {
  display: none;
}

.chronology__hachinohe-line {
  -webkit-box-shadow: -6px 0 3px -3px rgba(0, 0, 0, 0.4);
          box-shadow: -6px 0 3px -3px rgba(0, 0, 0, 0.4);
  right: 0;
  display: none;
}

@media only screen and (min-width: 600px) {
  .chronology__hachinohe-line {
    display: block;
  }
}

.chronology__hachinohe-line--non-display {
  display: none;
}

.chronology__hachinohe-subline {
  -webkit-box-shadow: -2px 0 2px 0px rgba(0, 0, 0, 0.5);
          box-shadow: -2px 0 2px 0px rgba(0, 0, 0, 0.5);
  right: 0;
  display: none;
}

@media only screen and (min-width: 600px) {
  .chronology__hachinohe-subline {
    display: block;
    right: calc(100% - (55% + 10px));
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

.chronology__hachinohe-subline--non-display {
  display: none;
}

.chronology__cultural-line {
  display: block;
  width: 19%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: url("images/cultural_property_line.png") top center/contain repeat-y;
  z-index: 1;
}

@media only screen and (min-width: 600px) {
  .chronology__cultural-line {
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@media only screen and (min-width: 600px) {
  .chronology__cultural-line {
    width: 10%;
    right: 50%;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

.chronology__cultural-column-icon {
  display: block;
  width: calc(19% * 0.5);
  height: auto;
  margin: 0 0 0 85.5%;
  position: -webkit-sticky;
  position: sticky;
  top: 70px;
  background-color: #433d36;
  border-radius: 4px;
  -webkit-box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.6);
          box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.6);
  z-index: 10;
}

@media only screen and (min-width: 600px) {
  .chronology__cultural-column-icon {
    width: 55px !important;
    margin: 0 auto;
  }
}

.chronology__inner {
  margin-top: -100px;
  position: relative;
  z-index: 1;
}

@media only screen and (min-width: 600px) {
  .chronology__inner {
    margin-top: -170px;
  }
}

.chronology__row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

.chronology__row--ct {
  display: none;
}

@media only screen and (min-width: 600px) {
  .chronology__row--ct {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.chronology .chronology__japan-container::before, .chronology .chronology__japan-container::after, .chronology .chronology__hachinohe-container::before, .chronology .chronology__hachinohe-container::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  background-color: #faf7ee;
  mix-blend-mode: multiply;
}

.chronology .chronology__japan-container {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - (19% + 20px));
          flex: 0 0 calc(100% - (19% + 20px));
  width: calc(100% - (19% + 20px));
  margin-right: 10px;
  margin-left: 10px;
  position: relative;
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
}

@media only screen and (min-width: 600px) {
  .chronology .chronology__japan-container {
    display: block;
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}

@media only screen and (min-width: 600px) {
  .chronology .chronology__japan-container {
    -ms-flex-preferred-size: calc(100% - (55% + 20px));
        flex-basis: calc(100% - (55% + 20px));
  }
}

.chronology__japan-container::before {
  left: 0;
  width: 15px;
}

.chronology__japan-container::after {
  right: 0;
  width: 10px;
}

.chronology__japan-container--active {
  -webkit-box-ordinal-group: 1 !important;
      -ms-flex-order: 0 !important;
          order: 0 !important;
}

.chronology__japan-container--inactive {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.chronology .chronology__hachinohe-container {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - (19% + 20px));
          flex: 0 0 calc(100% - (19% + 20px));
  width: calc(100% - (19% + 20px));
  margin-right: 10px;
  margin-left: 10px;
  position: relative;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

@media only screen and (min-width: 600px) {
  .chronology .chronology__hachinohe-container {
    display: block;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media only screen and (min-width: 600px) {
  .chronology .chronology__hachinohe-container {
    -ms-flex-preferred-size: calc(100% - (55% + 20px));
        flex-basis: calc(100% - (55% + 20px));
  }
}

.chronology__hachinohe-container::before {
  left: 0;
  width: 15px;
}

@media only screen and (min-width: 600px) {
  .chronology__hachinohe-container::before {
    width: 10px;
  }
}

.chronology__hachinohe-container::after {
  right: 0;
  width: 10px;
}

@media only screen and (min-width: 600px) {
  .chronology__hachinohe-container::after {
    width: 15px;
  }
}

.chronology__hachinohe-container--active {
  -webkit-box-ordinal-group: 1 !important;
      -ms-flex-order: 0 !important;
          order: 0 !important;
}

.chronology__hachinohe-container--inactive {
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
}

.chronology__cultural-container {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 19%;
          flex: 0 0 19%;
  width: 19%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

@media only screen and (min-width: 600px) {
  .chronology__cultural-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

@media only screen and (min-width: 600px) {
  .chronology__cultural-container {
    -ms-flex-preferred-size: 10%;
        flex-basis: 10%;
  }
}

.chronology__cultural-container--active {
  padding: 3px 0 3px 0;
}

.chronology .chronology__japan-inner--age, .chronology .chronology__japan-inner--subage, .chronology .chronology__hachinohe-inner--age, .chronology .chronology__hachinohe-inner--subage {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 8px 6%;
}

.chronology .chronology__japan-inner--explanation, .chronology .chronology__hachinohe-inner--explanation {
  width: 100%;
  height: calc(100% - 32px);
  padding: 8px 6%;
}

.chronology .chronology__japan-inner--cultural, .chronology .chronology__hachinohe-inner--cultural {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  height: 100%;
}

.chronology__bottom-age-line {
  width: 100%;
  height: 1px;
  margin-top: 2px;
  background-color: #433d36;
}

.chronology__inner-height {
  height: calc(100% - 0.5px) !important;
}

.chronology__japan-inner--age {
  border-bottom: 1px solid #433d36;
  background-color: #70655b;
}

.chronology__japan-inner--subage {
  background-color: #b3a090;
}

.chronology__japan-inner--explanation {
  background-color: #e2e1db;
}

.chronology__japan-inner--cultural {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.chronology__hachinohe-inner--age {
  background-color: #5f6f7d;
}

.chronology__hachinohe-inner--subage {
  background-color: #646668;
}

.chronology__hachinohe-inner--explanation {
  background-color: #bfc5cb;
}

.chronology__hachinohe-inner--cultural {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

@media only screen and (min-width: 600px) {
  .chronology__hachinohe-inner--cultural {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.chronology__column-icon-box {
  display: block;
  width: 100%;
  height: auto;
  padding: 30px 6% 2px 6%;
  background-color: #fff;
}

.chronology__column-icon {
  display: block;
  width: 280px;
  height: auto;
  margin: 0 auto;
}

.chronology__age-title {
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.2px;
  color: #fff;
}

.chronology__age-title-link {
  margin-left: 4px;
}

.chronology__age-title-link-icon {
  width: 20px;
  padding-bottom: 1px;
}

.chronology__age-title-en {
  margin-left: auto;
  font-size: 12px;
  line-height: 1;
  color: #fff;
}

.chronology__age-ad-box {
  display: block;
  width: 100%;
  height: 32px;
  padding: 10px 6% 2px 6%;
  font-size: 20px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1;
  color: #89757a;
  background-color: #fff;
}

.chronology__agebox-height {
  height: 0.5px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.chronology__explanation-txt {
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  color: #000;
}

.chronology__explanation-en-txt {
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  word-break: break-all;
  color: #000;
}

.chronology__explanation-en-space {
  padding-top: 8px;
}

.chronology__cultural-name-instr {
  color: #70655b;
  padding-bottom: 1px;
  border-bottom: 1px solid #70655b;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.chronology__cultural-name-instr:hover {
  opacity: 0.7;
  cursor: pointer;
}

.chronology__cultural-keyword-instr {
  padding-bottom: 1px;
  border-bottom: 1px dashed #8f432b;
  color: #8f432b;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.chronology__cultural-keyword-instr--active {
  padding: 2px !important;
  color: #fff !important;
  background-color: #8f432b;
}

.chronology__cultural-keyword-instr:hover {
  opacity: 1;
  color: #8f432b;
  padding-bottom: 1px;
  border-bottom: 1px dashed #8f432b;
  cursor: pointer;
}

.chronology__keyword-tooltip {
  position: fixed;
  z-index: 100;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  color: #000;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
          box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.chronology__keyword-tooltip-arrow {
  position: fixed;
  z-index: 110;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 10px 6px 0 6px;
}

.chronology__close-keyword-tooltip {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

.chronology__close-keyword-tooltip--active {
  display: block;
}

.chronology__explanation-modal-link-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.chronology__explanation-modal-link {
  display: inline-block;
  margin-left: auto;
}

.chronology__explanation-modal-link:hover {
  opacity: 0.7;
  color: #fff;
  cursor: pointer;
}

.chronology__explanation-modal-icon {
  height: 18px;
}

.chronology__japan-cultural-name, .chronology__hachinohe-cultural-name {
  display: inline-block;
  max-width: 95%;
  margin: 10px 0;
  padding: 6px 14px;
  font-size: 18px;
  line-height: 1.5;
  vertical-align: middle;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #70655b;
  color: #fff;
  -webkit-transition: all 0.3ms;
  transition: all 0.3ms;
}

.chronology__japan-cultural-name:hover, .chronology__hachinohe-cultural-name:hover {
  opacity: 1;
  cursor: pointer;
  color: #fff;
  background-color: #433d36;
}

.chronology__japan-cultural-name {
  border-radius: 8px 0 0 8px;
  -webkit-box-shadow: -1px 3px 4px 0 rgba(0, 0, 0, 0.5);
          box-shadow: -1px 3px 4px 0 rgba(0, 0, 0, 0.5);
}

.chronology__hachinohe-cultural-name {
  border-radius: 8px 0 0 8px;
  -webkit-box-shadow: 1px 3px 4px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 1px 3px 4px 0 rgba(0, 0, 0, 0.5);
}

@media only screen and (min-width: 600px) {
  .chronology__hachinohe-cultural-name {
    border-radius: 0 8px 8px 0;
  }
}

.chronology__cultural-name-en {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-top: 6px;
  padding-right: 8px;
  font-size: 12px;
  text-align: right;
  color: #000;
}

.chronology__cultural-img-box {
  display: block;
  width: 94%;
  margin: 0 auto;
  border-radius: 50%;
  position: relative;
  background-color: #61584e;
  mix-blend-mode: multiply;
}

.chronology__cultural-imglink {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 10;
}

.chronology__cultural-imglink:hover {
  opacity: 0.7;
  cursor: pointer;
}

.chronology__cultural-assets-img {
  width: 84%;
  height: 84%;
  position: absolute;
  top: 50%;
  right: 50%;
  -webkit-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  border: 2px solid #fff;
}

/******************************************************************

Stylesheet: モーダル（sweetAlert2）の共通スタイル

******************************************************************/
.modal {
  outline: none !important;
}

.modal__container {
  padding: 50px 10px 44px 10px !important;
  border-radius: 10px !important;
}

@media only screen and (min-width: 1050px) {
  .modal__container {
    padding: 100px 10px 44px 10px !important;
  }
}

.modal__popup {
  width: 85% !important;
  padding: 0 !important;
  -webkit-box-shadow: 10px 10px 15px -5px rgba(0, 0, 0, 0.8) !important;
          box-shadow: 10px 10px 15px -5px rgba(0, 0, 0, 0.8) !important;
  border-radius: 10px !important;
}

@media only screen and (min-width: 1050px) {
  .modal__popup {
    width: 670px !important;
  }
}

.modal__content {
  padding: 0 !important;
  text-align: justify;
  border-radius: 10px !important;
}

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

.modal__close-button {
  width: 48px !important;
  height: 48px !important;
  top: -18px !important;
  right: -18px !important;
}

.modal__confirm-button:focus {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

/******************************************************************

Stylesheet: 文化財詳細ページ、モーダル（ポップアップ）のスタイル

******************************************************************/
.cultural-content {
  /*
    ========================================
        文化財画像container
    =========================================
    */
  /*
    ========================================
        解説container
    =========================================
    */
  /*
    ========================================
        関連文化財container
    =========================================
    */
  /*
    ========================================
        関連マップ container
    =========================================
    */
}

.cultural-content__img-container {
  margin-bottom: 10px;
  border-radius: 10px 10px 0 0;
}

.cultural-content__slider-container {
  border-radius: 10px 10px 0 0;
}

.cultural-content__slide-img-container {
  width: 100%;
  height: 350px;
  border-radius: 10px 10px 0 0;
  position: relative;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}

@media only screen and (max-width: 330px) {
  .cultural-content__slide-img-container {
    height: 300px;
  }
}

.cultural-content__slide-img-container::before {
  display: block;
  content: "";
  width: 100%;
  height: 350px;
  position: absoulte;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  z-index: -1;
  background: inherit;
  -webkit-filter: brightness(80%) blur(10px);
          filter: brightness(80%) blur(10px);
}

@media only screen and (max-width: 330px) {
  .cultural-content__slide-img-container::before {
    height: 300px;
  }
}

.cultural-content__slide-img-container--ie::before {
  background: rgba(0, 0, 0, 0.7);
}

.cultural-content__slide-img {
  width: 100%;
  height: 350px;
  border-radius: 10px 10px 0 0;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media only screen and (max-width: 330px) {
  .cultural-content__slide-img {
    height: 300px;
  }
}

.cultural-content__imginfo-container {
  margin: 10px 25px;
  font-size: 16px;
  color: #535352;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  line-height: 1.5;
}

.cultural-content__img-title {
  font-size: 18px;
}

.cultural-content__img-info {
  font-size: 16px;
}

.cultural-content__thumbs-slider-container {
  margin: 0 25px;
}

.cultural-content__thumbs-slide::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
}

.cultural-content__thumbs-slide.swiper-slide-thumb-active::before {
  background-color: rgba(0, 0, 0, 0);
}

.cultural-content__explanation-container {
  text-align: justify;
  margin-bottom: 15px;
  padding: 15px 25px;
}

.cultural-content__explanation-container .cultural-content__age-container, .cultural-content__explanation-container .cultural-content__category-container, .cultural-content__explanation-container .map-content__age-container, .cultural-content__explanation-container .map-content__category-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.cultural-content__explanation-container .cultural-content__age-ad, .cultural-content__explanation-container .cultural-content__term-link, .cultural-content__explanation-container .map-content__age-ad, .cultural-content__explanation-container .map-content__term {
  display: inline-block;
  margin: 0 4px 5px 0;
  padding: 4px 8px;
  line-height: 1;
  border: solid 1px #c1c1c1;
  font-size: 14px;
  color: #535353;
}

.cultural-content__explanation-title {
  margin-bottom: 12px;
  font-size: 24px;
  color: #534741;
  line-height: 1.3;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.cultural-content__age-ad {
  border: none !important;
}

.cultural-content__term-link:hover {
  background-color: #534741;
  color: #fff;
}

.cultural-content__explanation {
  margin: 15px 0;
  padding: 15px 0;
  border-top: 1px solid #c1c1c1;
  border-bottom: 1px solid #c1c1c1;
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #231815;
}

.cultural-content__explanation h1 {
  font-size: 24px;
}

.cultural-content__explanation h2 {
  font-size: 20px;
}

.cultural-content__explanation h3 {
  font-size: 18px;
}

.cultural-content__explanation h4,
.cultural-content__explanation h5 {
  font-size: 16px;
}

.cultural-content__explanation a {
  color: #8f432b;
  padding-bottom: 1px;
  border-bottom: 1px dashed #8f432b;
}

.cultural-content__explanation a:hover {
  opacity: 0.7;
}

.cultural-content__explanation img {
  width: 100%;
  height: auto;
}

.cultural-content__writer, .cultural-content__reference, .cultural-content__recommendations {
  margin-bottom: 3px;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #433d36;
}

.cultural-content__relational-cultural-container {
  width: 100%;
  height: auto;
  background-color: #e2e1db;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.cultural-content__relational-cultural-container-title {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.cultural-content__relational-cultural-line {
  -ms-flex-preferred-size: 40px;
      flex-basis: 40px;
  background: url("images/relational_cultural_property_line.png") top center/contain repeat-y;
  overflow-y: hidden;
}

.cultural-content__relational-cultural-inner {
  -ms-flex-preferred-size: calc(100% - 80px);
      flex-basis: calc(100% - 80px);
  padding: 20px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (min-width: 600px) {
  .cultural-content__relational-cultural-inner {
    padding: 20px 15px 0 15px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.cultural-content__relational-cultural-card {
  width: 75%;
  margin: 0 auto 15px auto;
  margin: 0 auto 15px auto;
  text-align: justify;
}

@media only screen and (min-width: 600px) {
  .cultural-content__relational-cultural-card {
    width: 45%;
    margin: 0 auto 25px auto;
  }
}

.cultural-content__relational-cultural-link {
  display: block;
  color: #534741;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.cultural-content__relational-cultural-link:hover {
  opacity: 0.8;
}

.cultural-content__relational-cultural-img {
  width: 100%;
  height: auto;
  margin-bottom: 5px;
}

.cultural-content__relational-cultural-name {
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.5;
  text-decoration: underline;
  text-align: justify;
  color: #595249;
}

.cultural-content__map-inner {
  height: 350px;
}

.cultural-content__map-title {
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.cultural-content__map {
  width: 100%;
  height: 350px;
}

.cultural-content__map-inner img[src*="uploads/"] {
  padding: 2px !important;
  border-radius: 40px !important;
  border: 4px solid #61584e !important;
  background-color: #fff !important;
}

.cultural-content__map-window {
  width: auto !important;
  max-width: 85%;
  border-radius: 6px;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 6px gray;
          box-shadow: 2px 2px 6px gray;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}

.cultural-content__map-window img[src*="modal_close_icon"] {
  width: 30px;
  height: 30px;
}

.cultural-content__map-window-inner {
  padding: 7px 10px 7px 10px;
}

.cultural-content__map-window-title {
  font-size: 18px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

.cultural-content__map-window-content {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #c1c1c1;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

/******************************************************************

Stylesheet: 年表ページでの、年代、年表内説明の詳細コンテンツモーダル（ポップアップ）のスタイル

******************************************************************/
.modal-chronology-content {
  /*
    ========================================
        解説container
    =========================================
    */
  /*
    ========================================
        年代主要文化財container
    =========================================
    */
  /*
    ========================================
        関連マップ container
    =========================================
    */
}

.modal-chronology-content__explanation-container {
  text-align: justify;
  word-break: break-all;
  padding: 20px 25px;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en {
  margin: 15px 0;
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #231815;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation h1, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age h1, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en h1 {
  font-size: 24px;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation h2, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age h2, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en h2 {
  font-size: 20px;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation h3, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age h3, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en h3 {
  font-size: 18px;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation h4, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age h4, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en h4,
.modal-chronology-content__explanation-container .modal-chronology-content__explanation h5,
.modal-chronology-content__explanation-container .modal-chronology-content__explanation--age h5,
.modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en h5 {
  font-size: 16px;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation a, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age a, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en a {
  color: #8f432b;
  padding-bottom: 1px;
  border-bottom: 1px dashed #8f432b;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation a:hover, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age a:hover, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en a:hover {
  opacity: 0.7;
}

.modal-chronology-content__explanation-container .modal-chronology-content__explanation img, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age img, .modal-chronology-content__explanation-container .modal-chronology-content__explanation--age-en img {
  width: 100%;
  height: auto;
}

.modal-chronology-content__age-name {
  margin-bottom: 4px;
  font-size: 24px;
  color: #000;
  line-height: 1.5;
}

.modal-chronology-content__age-name-en {
  margin: 0;
  font-size: 18px;
  color: #000;
  line-height: 1.3;
}

.modal-chronology-content__explanation--age-en {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid #c1c1c1;
}

.modal-chronology-content__age-cultural-container {
  width: 100%;
  height: auto;
  background-color: #e2e1db;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.modal-chronology-content__age-cultural-container-title {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.modal-chronology-content__age-cultural-line {
  -ms-flex-preferred-size: 40px;
      flex-basis: 40px;
  background: url("images/relational_cultural_property_line.png") top center/contain repeat-y;
  overflow-y: hidden;
}

.modal-chronology-content__age-cultural-inner {
  -ms-flex-preferred-size: calc(100% - 80px);
      flex-basis: calc(100% - 80px);
  padding: 20px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (min-width: 600px) {
  .modal-chronology-content__age-cultural-inner {
    padding: 20px 15px 0 15px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.modal-chronology-content__age-cultural-card {
  width: 75%;
  margin: 0 auto 15px auto;
  text-align: justify;
}

@media only screen and (min-width: 600px) {
  .modal-chronology-content__age-cultural-card {
    width: 45%;
    margin: 0 auto 25px auto;
  }
}

.modal-chronology-content__age-cultural-link {
  display: block;
  color: #534741;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.modal-chronology-content__age-cultural-link:hover {
  opacity: 0.8;
}

.modal-chronology-content__age-cultural-img {
  width: 100%;
  height: auto;
  margin-bottom: 5px;
}

.modal-chronology-content__age-cultural-name {
  display: inline;
  padding-bottom: 1px;
  border-bottom: 1px solid #595249;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.5;
  text-align: justify;
  color: #595249;
}

.modal-chronology-content__age-cultural-list-link {
  display: inline-block;
  margin: 25px 4% 35px 4%;
  padding: 10px;
  border-radius: 8px;
  font-size: 16px;
  line-height: 1.3;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #fff;
  background-color: #595249;
}

@media only screen and (min-width: 600px) {
  .modal-chronology-content__age-cultural-list-link {
    width: 100%;
    margin: 25px 10% 35px 10%;
  }
}

.modal-chronology-content__map-inner {
  height: 350px;
}

.modal-chronology-content__map-title {
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.modal-chronology-content__map {
  width: 100%;
  height: 350px;
}

.modal-chronology-content__map-inner img[src*="uploads/"] {
  padding: 2px !important;
  border-radius: 40px !important;
  border: 4px solid #61584e !important;
  background-color: #fff !important;
}

.modal-chronology-content__map-window {
  width: auto !important;
  max-width: 85%;
  border-radius: 6px;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 6px gray;
          box-shadow: 2px 2px 6px gray;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}

.modal-chronology-content__map-window img[src*="modal_close_icon"] {
  width: 30px;
  height: 30px;
}

.modal-chronology-content__map-window-inner {
  padding: 7px 10px 7px 10px;
}

.modal-chronology-content__map-window-title {
  font-size: 18px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

.modal-chronology-content__map-window-content {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #c1c1c1;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

/******************************************************************

Stylesheet: 文化財検索ボックスのスタイル

******************************************************************/
.cultural-search {
  width: 100%;
  margin: 15px 0 20px 0;
  /*
    ========================================
        検索ボタン
    =========================================
    */
}

.cultural-search__form {
  margin-bottom: 10px;
  border-radius: 10px 10px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.cultural-search__keyword-container {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  position: relative;
}

.cultural-search__keyword {
  width: 100%;
  padding: 8px 15px;
  border: 1px solid #443c35;
  border-radius: 8px 8px 0 0;
  font-size: 16px;
  color: #71645a;
  outline: none;
}

.cultural-search__select-container {
  width: 100%;
  position: relative;
}

@media only screen and (min-width: 600px) {
  .cultural-search__select-container {
    width: 50%;
  }
}

.cultural-search__select-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 10px 15px;
  border-left: 1px solid #443c35;
  border-right: 1px solid #443c35;
  border-bottom: 1px solid #443c35;
  font-size: 16px;
  color: #71645a;
  position: relative;
}

.cultural-search__select-form:hover {
  opacity: 0.7;
  cursor: pointer;
}

@media only screen and (min-width: 600px) {
  .cultural-search__select-form--age {
    border-right: unset;
  }
}

@media only screen and (min-width: 600px) {
  .cultural-search__select-form--type {
    border-right: unset;
    border-radius: 0 0 0 8px;
  }
}

.cultural-search__select-form--facility {
  border-radius: 0 0 8px 8px;
}

@media only screen and (min-width: 600px) {
  .cultural-search__select-form--facility {
    border-radius: 0 0 8px 0;
  }
}

.cultural-search__select-title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 96px;
          flex: 0 0 96px;
}

.cultural-search__select-str {
  height: 24px;
  padding-right: 30px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(100% - 96px);
          flex: 0 0 calc(100% - 96px);
  overflow: hidden;
}

.cultural-search__arrow-icon {
  width: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.cultural-search__arrow-icon--open {
  -webkit-transform: scale(-1, 1) rotate(180deg) translateY(50%);
          transform: scale(-1, 1) rotate(180deg) translateY(50%);
}

.cultural-search__select-items-container {
  width: 100%;
  height: 200px;
  border-left: 1px solid #443c35;
  border-right: 1px solid #443c35;
  border-bottom: 1px solid #443c35;
  background-color: #fff;
  overflow-y: scroll;
  position: absolute;
  z-index: 10;
  bottom: 0;
  left: 0;
  opacity: 0;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.cultural-search__select-items-container--open {
  opacity: 1;
  -webkit-transform: translateY(100%) scaleY(1);
          transform: translateY(100%) scaleY(1);
}

.cultural-search__select-item {
  width: 100%;
  margin: 0;
  padding: 8px 15px 8px 30px;
  font-size: 16px;
  color: #71645a;
  position: relative;
}

.cultural-search__select-item:hover {
  background-color: #c2b4a9;
  cursor: pointer;
}

.cultural-search__subterm-icon {
  margin-right: 2px;
  margin-left: 15px;
}

.cultural-search__select-input:checked + .cultural-search__select-item {
  background-color: #71645a;
  color: #fff;
}

.cultural-search__select-input:checked + .cultural-search__select-item:before {
  content: "";
  width: 10px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg) translateY(-70%);
          transform: rotate(-45deg) translateY(-70%);
  position: absolute;
  top: 50%;
  left: 15px;
}

.cultural-search__button-container {
  width: 100%;
  margin: 30px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cultural-search__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 45%;
          flex: 0 0 45%;
  padding: 5px 15px;
  border-bottom: 5px solid #433d33;
  border-radius: 8px;
  background-color: #726459;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}

@media only screen and (min-width: 600px) {
  .cultural-search__button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%;
  }
}

.cultural-search__button:hover {
  opacity: 1;
  margin-top: 3px;
  border-bottom: 2px solid #433d33;
}

.cultural-search__button-txt {
  font-size: 20px;
  line-height: 1.5;
  color: #fff;
}

.cultural-search__search-icon {
  width: 33px;
  height: 18px;
  padding-left: 15px;
}

/******************************************************************

Stylesheet: 文化財一覧ページ共通（アーカイブ、タクソノミーアーカイブ、検索結果）

******************************************************************/
.cultural-archive__header {
  width: 100%;
  height: 200px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("images/category_header.png") center center/cover no-repeat;
}

.cultural-archive__header::before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.cultural-archive__title {
  margin: 0;
  position: relative;
  font-size: 18px;
  color: #fff;
}

.cultural-archive__container {
  width: 100%;
  padding: 15px 15px;
}

@media only screen and (min-width: 1050px) {
  .cultural-archive__container {
    width: 900px;
    padding: 15px 0;
    margin: 40px auto 0 auto;
  }
}

.cultural-archive__list-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 15px 0 30px 0;
  padding: 10px 20px;
  background-color: #e2e1db;
}

@media only screen and (min-width: 1050px) {
  .cultural-archive__list-header {
    width: 100%;
    margin: 15px 0 45px 0;
  }
}

.cultural-archive__list-header-icon {
  width: 10px;
  height: 40px;
}

.cultural-archive__list-title {
  display: block;
  margin: 0;
  padding: 0 0 0 15px;
  font-size: 18px;
  color: #433d36;
  line-height: 1;
}

.cultural-archive__list-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.cultural-archive__list-posts-info, .cultural-archive__list-page-info {
  font-size: 14px;
  color: #433d36;
  line-height: 1;
}

.cultural-archive__list-posts-info {
  margin-right: auto;
}

.cultural-archive__list-page-info {
  margin-left: auto;
}

@media only screen and (min-width: 1050px) {
  .cultural-archive__list-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
  }
}

.cultural-archive__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 15px;
}

.cultural-archive__pagination .page-numbers {
  margin: 0 4px 0 4px;
  padding: 8px;
  font-size: 14px;
  line-height: 1;
  color: #433d36;
  background-color: #e0dfd8;
}

.cultural-archive__pagination .page-numbers.current {
  color: #fff;
  background-color: #6f645b;
}

.cultural-archive__pagination .next.page-numbers,
.cultural-archive__pagination .prev.page-numbers {
  width: 10px;
  padding: 0;
  background-color: transparent;
}

.cultural-archive__pagination .next.page-numbers {
  margin-left: 10px;
}

.cultural-archive__pagination .prev.page-numbers {
  margin-right: 10px;
}

.cultural-archive__pagination-icon {
  height: 24px;
}

/******************************************************************

Stylesheet: 文化財のリスト表示（カード）

******************************************************************/
.cultural-card {
  width: 100%;
  padding: 15px 20px;
  margin: 0 0 25px 0;
  background-color: #f2f1ee;
  border-radius: 8px;
  -webkit-box-shadow: 5px 5px 10px -2px #a3a3a3;
          box-shadow: 5px 5px 10px -2px #a3a3a3;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

@media only screen and (min-width: 600px) {
  .cultural-card {
    width: 49%;
    padding: 20px;
  }
}

.cultural-card:hover {
  opacity: 1;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}

.cultural-card__link {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.cultural-card__link:hover {
  opacity: 1;
}

.cultural-card__link:hover .cultural-card__cultural-img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.cultural-card__figure {
  margin: 2px 0 0 0;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 31%;
          flex: 0 0 31%;
  overflow: hidden;
}

@media only screen and (min-width: 600px) {
  .cultural-card__figure {
    margin: 0 0 8px 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 40%;
            flex: 0 1 40%;
  }
}

.cultural-card__cultural-img {
  width: 100%;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.cultural-card__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 64%;
          flex: 0 0 64%;
}

@media only screen and (min-width: 600px) {
  .cultural-card__content {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 55%;
            flex: 0 1 55%;
  }
}

.cultural-card__main-tag-container {
  margin-bottom: 5px;
}

.cultural-card .cultural-card__tag, .cultural-card .cultural-card__tag--category, .cultural-card .cultural-card__tag--age {
  display: inline-block;
  margin: 0 4px 5px 0;
  padding: 4px 8px;
  line-height: 1;
  border-radius: 8px;
  border: solid 1.5px #6f645b;
  font-size: 14px;
}

.cultural-card__tag--category {
  background-color: #6f645b;
  color: #fff;
}

.cultural-card__tag--age {
  background-color: #fff;
  color: #6f645b;
}

.cultural-card__title {
  margin: 0 0 8px 0;
  font-size: 18px;
  color: #231815;
  line-height: 1.5;
}

.cultural-card__info-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cultural-card__info-title {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5;
  color: #6f645b;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.cultural-card__info-str {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5;
  color: #6f645b;
}

/******************************************************************

Stylesheet: 文化財詳細ページ

******************************************************************/
.cultural-single-post {
  width: 100%;
  padding: 25px 20px;
  /*
    ========================================
        文化財 term container
    =========================================
    */
  /*
    ========================================
        文化財画像container
    =========================================
    */
  /*
    ========================================
        解説container
    =========================================
    */
  /*
    ========================================
        関連マップ container
    =========================================
    */
  /*
    ========================================
        関連文化財 aside
    =========================================
    */
  /*
    ========================================
        ページ下部のリンクボタン
    =========================================
    */
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post {
    width: 1050px;
    min-height: calc(100vh - 95px);
    margin: 0 auto;
    padding: 45px 0;
    position: relative;
  }
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post::before, .cultural-single-post::after {
    content: "";
    display: block;
    width: 10px;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 2;
    background-color: #e2e1db;
  }
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post::before {
    -webkit-box-shadow: 6px 0 3px -3px rgba(0, 0, 0, 0.4);
            box-shadow: 6px 0 3px -3px rgba(0, 0, 0, 0.4);
    left: 0;
  }
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post::after {
    -webkit-box-shadow: -6px 0 3px -3px rgba(0, 0, 0, 0.4);
            box-shadow: -6px 0 3px -3px rgba(0, 0, 0, 0.4);
    right: 0;
  }
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__article {
    width: 800px;
    margin: 0 auto 0 auto;
  }
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__main-container {
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.cultural-single-post .cultural-single-post__headline-container, .cultural-single-post .cultural-single-post__headline-container--map, .cultural-single-post .cultural-single-post__headline-container--relational-cultural {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 10px;
  background-color: #e2e1db;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post .cultural-single-post__headline-container, .cultural-single-post .cultural-single-post__headline-container--map, .cultural-single-post .cultural-single-post__headline-container--relational-cultural {
    padding: 10px 20px;
  }
}

.cultural-single-post__headline-container {
  margin: 0 0 15px 0;
}

.cultural-single-post__headline-container--relational-cultural {
  margin: 0 0 25px 0;
}

.cultural-single-post__headline-icon {
  width: 10px;
  height: 30px;
}

.cultural-single-post__headline {
  display: block;
  margin: 0;
  padding: 0 0 0 15px;
  font-size: 18px;
  color: #443c35;
  line-height: 1.5;
}

.cultural-single-post__term-container {
  width: 100%;
  margin: 0 0 25px 0;
  padding: 0 10px;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__term-container {
    padding: 0 20px;
    margin: 0 0 45px 0;
  }
}

.cultural-single-post__term-link {
  display: inline-block;
  margin: 0 4px 5px 0;
  padding: 4px 8px;
  line-height: 1;
  border-radius: 8px;
  border: solid 1.5px #6f645b;
  color: #6f645b;
  font-size: 14px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.cultural-single-post__term-link:hover {
  opacity: 1;
  background-color: #534741;
  color: #fff;
}

.cultural-single-post__img-container {
  margin-bottom: 10px;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__img-container {
    width: 52%;
    margin-bottom: 0;
  }
}

.cultural-single-post__slide-img-container {
  width: 100%;
  height: 350px;
  position: relative;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}

@media only screen and (max-width: 330px) {
  .cultural-single-post__slide-img-container {
    height: 300px;
  }
}

.cultural-single-post__slide-img-container::before {
  display: block;
  content: "";
  width: 100%;
  height: 350px;
  position: absoulte;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  z-index: -1;
  background: inherit;
  -webkit-filter: brightness(80%) blur(10px);
          filter: brightness(80%) blur(10px);
}

@media only screen and (max-width: 330px) {
  .cultural-single-post__slide-img-container::before {
    height: 300px;
  }
}

.cultural-single-post__slide-img-container--ie::before {
  background: rgba(0, 0, 0, 0.7);
}

.cultural-single-post__slide-img {
  width: 100%;
  height: 350px;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media only screen and (max-width: 330px) {
  .cultural-single-post__slide-img {
    height: 300px;
  }
}

.cultural-single-post__imginfo-container {
  margin: 10px 10px;
  font-size: 16px;
  color: #535352;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  line-height: 1.5;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__imginfo-container {
    margin: 10px 25px;
  }
}

.cultural-single-post__img-title {
  font-size: 18px;
}

.cultural-single-post__img-info {
  font-size: 16px;
}

.cultural-single-post__thumbs-slider-container {
  margin: 0 10px;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__thumbs-slider-container {
    margin: 0 25px;
  }
}

.cultural-single-post__thumbs-slide::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
}

.cultural-single-post__thumbs-slide.swiper-slide-thumb-active::before {
  background-color: rgba(0, 0, 0, 0);
}

.cultural-single-post__explanation-container {
  width: 100%;
  text-align: justify;
  margin-bottom: 15px;
  padding: 15px 0;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__explanation-container {
    padding: 0;
    width: 45%;
  }
}

.cultural-single-post__explanation-title {
  margin-bottom: 12px;
  font-size: 24px;
  color: #534741;
  line-height: 1.3;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.cultural-single-post__info-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cultural-single-post__info-title {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5;
  color: #6f645b;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.cultural-single-post__info-str {
  display: inline-block;
  font-size: 14px;
  line-height: 1.5;
  color: #6f645b;
}

.cultural-single-post__explanation {
  margin: 15px 0;
  padding: 15px 0;
  border-top: 1px solid #c1c1c1;
  border-bottom: 1px solid #c1c1c1;
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #231815;
}

.cultural-single-post__explanation h1 {
  font-size: 24px;
}

.cultural-single-post__explanation h2 {
  font-size: 20px;
}

.cultural-single-post__explanation h3 {
  font-size: 18px;
}

.cultural-single-post__explanation h4,
.cultural-single-post__explanation h5 {
  font-size: 16px;
}

.cultural-single-post__explanation a {
  color: #8f432b;
  padding-bottom: 1px;
  border-bottom: 1px dashed #8f432b;
}

.cultural-single-post__explanation a:hover {
  opacity: 0.7;
}

.cultural-single-post__explanation img {
  width: 100%;
  height: auto;
}

.cultural-single-post__writer, .cultural-single-post__reference, .cultural-single-post__recommendations {
  margin-bottom: 3px;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #433d36;
}

.cultural-single-post__map-container {
  width: 100%;
  margin-bottom: 30px;
}

.cultural-single-post__map-title {
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.cultural-single-post__map-inner {
  height: 350px;
}

.cultural-single-post__map {
  width: 100%;
  height: 350px;
}

.cultural-single-post__map-inner img[src*="uploads/"] {
  padding: 2px !important;
  border-radius: 40px !important;
  border: 4px solid #61584e !important;
  background-color: #fff !important;
}

.cultural-single-post__map-window {
  width: auto !important;
  max-width: 85%;
  border-radius: 6px;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 6px gray;
          box-shadow: 2px 2px 6px gray;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}

.cultural-single-post__map-window img[src*="modal_close_icon"] {
  width: 30px;
  height: 30px;
}

.cultural-single-post__map-window-inner {
  padding: 7px 10px 7px 10px;
}

.cultural-single-post__map-window-title {
  font-size: 18px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

.cultural-single-post__map-window-content {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #c1c1c1;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

.cultural-single-post__aside {
  width: 100%;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__aside {
    width: 800px;
    margin: 60px auto 45px auto;
  }
}

.cultural-single-post__aside-title {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.cultural-single-post__relational-cultural-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__relational-cultural-container {
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.cultural-single-post__link-container {
  width: 100%;
  margin: 30px auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.cultural-single-post__archive-link {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 45%;
          flex: 0 0 45%;
  padding: 5px 15px;
  font-size: 16px;
  background-color: #e0dfd8;
  color: #6f645b;
  line-height: 1.5;
  text-align: center;
}

@media only screen and (min-width: 1050px) {
  .cultural-single-post__archive-link {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 30%;
            flex: 0 0 30%;
  }
}

/******************************************************************

Stylesheet: ヒストリアマップページ用スタイル（全体マップ）

******************************************************************/
.historia-map {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 100;
}

/******************************************************************

Stylesheet: ヒストリアマップ メニュー スタイル（全体マップ）

******************************************************************/
.map-menu {
  /*
    ========================================
        各種操作ボタン（現在地取得、拡大、縮小）
    =========================================
    */
  /*
    ========================================
        マップ フリーワード検索
    =========================================
    */
  /*
    ========================================
        マップ content
    =========================================
    */
  /*----------------------------------------
        マップタブメニュー
    ----------------------------------------*/
  /*----------------------------------------
        設定・検索ボックスタイトル
    ----------------------------------------*/
  /*----------------------------------------
        マップ・旧市町村情報box
    ----------------------------------------*/
  /*----------------------------------------
        マップ・区分フィルターbox
    ----------------------------------------*/
  /*----------------------------------------
        マップ・リストbox
    ----------------------------------------*/
  /*----------------------------------------
        マップ・ヘルプbox
    ----------------------------------------*/
}

.map-menu__current-button {
  display: block;
  position: fixed;
  z-index: 100;
  bottom: 80px;
  right: 20px;
  width: 30px;
  height: 30px;
}

@media only screen and (min-width: 1050px) {
  .map-menu__current-button {
    bottom: 60px;
    right: 25px;
  }
}

.map-menu__current-icon {
  display: block;
  width: 30px;
  height: 30px;
}

.map-menu__zoomup-button {
  display: none;
}

@media only screen and (min-width: 1050px) {
  .map-menu__zoomup-button {
    display: block;
    position: fixed;
    z-index: 100;
    bottom: 140px;
    right: 25px;
    width: 30px;
    height: 30px;
  }
}

.map-menu__zoomup-icon {
  display: block;
  width: 30px;
  height: 30px;
}

.map-menu__zoomdown-button {
  display: none;
}

@media only screen and (min-width: 1050px) {
  .map-menu__zoomdown-button {
    display: block;
    position: fixed;
    z-index: 100;
    bottom: 105px;
    right: 25px;
    width: 30px;
    height: 30px;
  }
}

.map-menu__zoomdown-icon {
  display: block;
  width: 30px;
  height: 30px;
}

.map-menu__map-form {
  display: none;
}

@media only screen and (min-width: 1050px) {
  .map-menu__map-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 340px;
    padding: 15px;
    position: fixed;
    top: 100px;
    left: 40px;
    z-index: 100;
    background-color: #423D37;
    border-radius: 10px 10px 0 0;
  }
}

.map-menu__map-form-keyword-container {
  display: block;
  width: calc(100% - 35px);
}

.map-menu__map-form-keyword {
  display: block;
  width: 100%;
  padding: 4px;
  border-radius: 10px;
  background-color: #4E4A49;
  color: #fff;
  border: 0;
  font-size: 14px;
}

.map-menu__map-form-button-container {
  display: block;
  width: 35px;
  position: relative;
}

.map-menu__map-form-button {
  display: block;
  margin: 0 0 0 auto;
}

.map-menu__map-form-search-icon {
  width: 29px;
  height: 28px;
  margin: 0 auto;
}

.map-menu__map-form-reset {
  display: none;
  position: absolute;
  z-index: 1000;
  top: 4px;
  left: -35px;
  width: 22px;
  height: 22px;
  margin-left: auto;
  border: 0;
  border-radius: 50%;
  background-color: #C6C6C6;
}

.map-menu__map-form-reset--active {
  display: inline-block;
}

.map-menu__map-form-reset-icon {
  position: relative;
  display: inline-block;
  width: 12px;
  height: 2px;
  top: -2.5px;
  line-height: 1;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.map-menu__map-form-reset-icon::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: inherit;
  border-radius: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.map-menu__content {
  width: 100%;
  height: 100%;
  display: none;
  opacity: 0;
  background: #fff;
}

@media only screen and (min-width: 1050px) {
  .map-menu__content--map {
    display: block;
    opacity: 1;
  }
}

.map-menu__content--municipality {
  overflow-y: scroll !important;
}

@media only screen and (min-width: 1050px) {
  .map-menu__content--municipality {
    position: fixed;
    width: 340px;
    height: 400px;
    top: 210px;
    left: 40px;
    z-index: 100;
    display: none;
    opacity: 0;
    border-radius: 0 0 10px 10px;
  }
}

.map-menu__content--filter {
  overflow-y: scroll !important;
}

@media only screen and (min-width: 1050px) {
  .map-menu__content--filter {
    position: fixed;
    width: 340px;
    height: 400px;
    top: 210px;
    left: 40px;
    z-index: 100;
    display: none;
    opacity: 0;
    border-radius: 0 0 10px 10px;
  }
}

.map-menu__content--list {
  overflow-y: scroll !important;
}

@media only screen and (min-width: 1050px) {
  .map-menu__content--list {
    position: fixed;
    width: 340px;
    height: 400px;
    top: 210px;
    left: 40px;
    z-index: 100;
    display: none;
    opacity: 0;
    border-radius: 0 0 10px 10px;
  }
}

.map-menu__content--help {
  overflow-y: scroll !important;
}

@media only screen and (min-width: 1050px) {
  .map-menu__content--help {
    position: fixed;
    width: 340px;
    height: 400px;
    top: 210px;
    left: 40px;
    z-index: 100;
    display: none;
    opacity: 0;
    border-radius: 0 0 10px 10px;
  }
}

.map-menu__content--active {
  display: block;
  /*表示*/
  -webkit-animation-name: displayAnime;
          animation-name: displayAnime;
  /*ふわっと表示させるためのアニメーション*/
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.map-menu__control-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 10px 15px 10px 15px;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 100;
  background-color: #423D37;
}

@media only screen and (min-width: 1050px) {
  .map-menu__control-box {
    width: 340px;
    padding: 5px 15px 10px 15px;
    top: 159px;
    bottom: auto;
    left: 40px;
  }
}

.map-menu__control-item {
  width: 25%;
  padding: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (min-width: 1050px) {
  .map-menu__control-item {
    width: 33%;
  }
}

.map-menu__control-item:hover {
  cursor: pointer;
  opacity: 0.8;
}

@media only screen and (min-width: 1050px) {
  .map-menu__control-item--map {
    display: none;
  }
}

.map-menu__control-icon {
  display: block;
  width: 22px;
  height: 22px;
  margin-bottom: 5px;
}

.map-menu__control-icon--active {
  display: none;
  width: 22px;
  height: 22px;
  margin-bottom: 5px;
}

.map-menu__control-text {
  display: block;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
  color: #757575;
}

.map-menu__control-item--active .map-menu__control-icon {
  display: none;
}

.map-menu__control-item--active .map-menu__control-icon--active {
  display: block;
}

.map-menu__control-item--active .map-menu__control-text {
  color: #0A84FF;
}

.map-menu__box-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin-bottom: 25px;
}

.map-menu__box-title-icon {
  display: block;
  width: 30px;
  height: 30px;
  margin-right: 8px;
}

.map-menu__box-title {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 16px;
  font-weight: bold;
}

.map-menu__municipality-box {
  width: 100%;
  padding: 35px 35px;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
}

@media only screen and (min-width: 1050px) {
  .map-menu__municipality-box {
    padding: 35px 25px;
  }
}

.map-menu__municipality-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0 10px 20px;
  position: relative;
}

.map-menu__municipality-item:hover {
  cursor: pointer;
  opacity: 0.7;
}

.map-menu__municipality-item::before {
  display: block;
  content: '';
  width: 5px;
  height: 60%;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.map-menu__municipality-item--1::before {
  background-color: #B3A584;
}

.map-menu__municipality-item--2::before {
  background-color: #B1B6B0;
}

.map-menu__municipality-item--3::before {
  background-color: #EDB685;
}

.map-menu__municipality-item--4::before {
  background-color: #EAC66D;
}

.map-menu__municipality-item--5::before {
  background-color: #C3DEE8;
}

.map-menu__municipality-item--6::before {
  background-color: #A3C2DE;
}

.map-menu__municipality-item--7::before {
  background-color: #C59C96;
}

.map-menu__municipality-item--8::before {
  background-color: #E6A49D;
}

.map-menu__municipality-item--9::before {
  background-color: #FDF2B4;
}

.map-menu__municipality-item--10::before {
  background-color: #D9E49E;
}

.map-menu__municipality-item--11::before {
  background-color: #BFABCE;
}

.map-menu__municipality-item--12::before {
  background-color: #E9BDD3;
}

.map-menu__municipality-item--13::before {
  background-color: #B8D8CD;
}

.map-menu__municipality-item--14::before {
  background-color: #B7D6B0;
}

.map-menu__municipality-text-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0 10px 0;
}

.map-menu__municipality-name {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 4px;
  font-weight: bold;
}

.map-menu__municipality-en-icon {
  display: inline-block;
  width: 30px;
  height: 16px;
  margin: 0 2px 2px 5px;
}

.map-menu__municipality-address {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  font-weight: normal;
  color: #0A84FF;
}

.map-menu__municipality-info-icon {
  display: block;
  width: 37.5px;
  height: 37.5px;
}

.map-menu__filter-box {
  width: 100%;
  padding: 35px 35px;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
}

@media only screen and (min-width: 1050px) {
  .map-menu__filter-box {
    padding: 35px 25px;
  }
}

.map-menu__filter-item {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 0 10px 0;
}

.map-menu__filter-icon {
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 15px 0 auto;
}

.map-menu__filter-switch {
  position: relative;
  width: 60px;
  height: 30px;
}

.map-menu__filter-input {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
}

.map-menu__filter-label {
  width: 60px;
  height: 30px;
  background: #ccc;
  position: relative;
  display: inline-block;
  border-radius: 46px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.map-menu__filter-label:after {
  content: "";
  position: absolute;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  left: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  background: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.map-menu__filter-input:checked + .map-menu__filter-label {
  background-color: #0A84FF;
}

.map-menu__filter-input:checked + .map-menu__filter-label:after {
  left: 32px;
}

.map-menu__list-box {
  width: 100%;
  padding: 35px 35px;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
}

@media only screen and (min-width: 1050px) {
  .map-menu__list-box {
    padding: 35px 25px;
  }
}

.map-menu__list-item {
  display: none;
}

.map-menu__list-item--display {
  display: block;
}

.map-menu__list-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 0 10px 0;
}

.map-menu__list-inner:hover {
  cursor: pointer;
  opacity: 0.7;
}

.map-menu__list-text-box {
  width: 85%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
}

.map-menu__list-name {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 4px;
  font-weight: bold;
}

.map-menu__list-enrollment {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  font-weight: normal;
  color: #0A84FF;
}

.map-menu__list-ico--open {
  display: block;
  width: 12px;
  height: 12px;
}

.map-menu__list-ico--close {
  display: none;
  width: 12px;
  height: 12px;
}

.map-menu__list-inner--open .map-menu__list-ico--open {
  display: none;
}

.map-menu__list-inner--open .map-menu__list-ico--close {
  display: block;
}

.map-menu__list-content {
  display: none;
  width: 100%;
  margin: 0 0 10px 0;
}

.map-menu__map-item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 8px 0 8px 0;
  border-top: 1px solid #CBCBCB;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px 0 10px 0;
}

.map-menu__map-item:hover {
  opacity: 0.7;
  cursor: pointer;
}

.map-menu__map-item-name {
  display: block;
  width: 80%;
  padding: 0 0 0 30px;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  position: relative;
}

.map-menu__map-item-name::before {
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  content: '';
  width: 10px;
  height: 1px;
  background-color: #3C3C3C;
}

.map-menu__help-box {
  width: 100%;
  padding: 35px 35px;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff;
}

@media only screen and (min-width: 1050px) {
  .map-menu__help-box {
    padding: 35px 25px;
  }
}

.map-menu__help-heading {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 15px;
  line-height: 1.2;
  margin-bottom: 4px;
  font-weight: bold;
}

.map-menu__help-text {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 30px;
  font-weight: normal;
}

.map-menu__help-text-icon {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin: 0 2px 0 2px;
}

.map-menu__dotted-line {
  height: 1px;
  position: relative;
}

.map-menu__dotted-line::before {
  content: "";
  background-image: linear-gradient(to right, #D3D3D3, #D3D3D3 3px, transparent 3px, transparent 8px);
  background-size: 8px 1px;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/******************************************************************

Stylesheet: ヒストリアマップ検索ボックス用スタイル

******************************************************************/
.map-search {
  margin-bottom: 50px;
}

.map-search__toggle-container {
  width: 100%;
  padding: 15px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.map-search__toggle-item {
  margin-bottom: 15px;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.map-search__toggle-switch {
  position: relative;
  width: 75px;
  height: 42px;
}

.map-search__toggle-input {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  opacity: 0;
  cursor: pointer;
}

.map-search__toggle-label {
  width: 75px;
  height: 42px;
  background: #ccc;
  position: relative;
  display: inline-block;
  border-radius: 46px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.map-search__toggle-label:after {
  content: "";
  position: absolute;
  width: 42px;
  height: 42px;
  border-radius: 100%;
  left: 0;
  top: 0;
  z-index: 2;
  background: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.map-search__toggle-input:checked + .map-search__toggle-label {
  background-color: #71645a;
}

.map-search__toggle-input:checked + .map-search__toggle-label:after {
  left: 40px;
}

/******************************************************************

Stylesheet: ヒストリアマップ（全体マップ）のマーカー説明モーダルのスタイル

******************************************************************/
.map-content {
  /*
    ========================================
        文化財画像container
    =========================================
    */
  /*
    ========================================
        解説container
    =========================================
    */
  /*
    ========================================
        関連文化財container
    =========================================
    */
  /*
    ========================================
        関連マップ container
    =========================================
    */
  /*
    ========================================
        施設・主要所蔵品紹介一覧
    =========================================
    */
  /*
    ========================================
        施設・主要所蔵品紹介 詳細画面
    =========================================
    */
}

.map-content__img-container {
  margin-bottom: 10px;
  border-radius: 10px 10px 0 0;
}

.map-content__slider-container {
  border-radius: 10px 10px 0 0;
}

.map-content__slide-img-container {
  width: 100%;
  height: 320px;
  border-radius: 10px 10px 0 0;
  position: relative;
  z-index: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
}

@media only screen and (max-width: 330px) {
  .map-content__slide-img-container {
    height: 300px;
  }
}

.map-content__slide-img-container::before {
  display: block;
  content: "";
  width: 100%;
  height: 320px;
  position: absoulte;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  z-index: -1;
  background: inherit;
  -webkit-filter: brightness(80%) blur(10px);
          filter: brightness(80%) blur(10px);
}

@media only screen and (max-width: 330px) {
  .map-content__slide-img-container::before {
    height: 300px;
  }
}

.map-content__slide-img-container--ie::before {
  background: rgba(0, 0, 0, 0.7);
}

.map-content__slide-img {
  width: 100%;
  height: 350px;
  border-radius: 10px 10px 0 0;
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

@media only screen and (max-width: 330px) {
  .map-content__slide-img {
    height: 300px;
  }
}

.map-content__imginfo-container {
  margin: 10px 25px;
  font-size: 16px;
  color: #535352;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: justify;
  line-height: 1.5;
}

.map-content__img-title {
  font-size: 16px;
}

@media only screen and (min-width: 600px) {
  .map-content__img-title {
    font-size: 18px;
  }
}

.map-content__img-info {
  font-size: 14px;
}

@media only screen and (min-width: 600px) {
  .map-content__img-info {
    font-size: 16px;
  }
}

.map-content__thumbs-slider-container {
  margin: 0 25px;
}

.map-content__thumbs-slide::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
}

.map-content__thumbs-slide.swiper-slide-thumb-active::before {
  background-color: rgba(0, 0, 0, 0);
}

.map-content__explanation-container {
  text-align: justify;
  margin-bottom: 15px;
  padding: 15px 25px;
}

.map-content__explanation-container .cultural-content__age-container, .map-content__explanation-container .cultural-content__category-container, .map-content__explanation-container .map-content__age-container, .map-content__explanation-container .map-content__category-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.map-content__explanation-container .cultural-content__age-ad, .map-content__explanation-container .cultural-content__term-link, .map-content__explanation-container .map-content__age-ad, .map-content__explanation-container .map-content__term {
  display: inline-block;
  margin: 0 4px 5px 0;
  padding: 4px 8px;
  line-height: 1;
  border: solid 1px #c1c1c1;
  font-size: 14px;
  color: #535353;
}

.map-content__explanation-title {
  margin-bottom: 12px;
  font-size: 18px;
  color: #534741;
  line-height: 1.3;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

@media only screen and (min-width: 600px) {
  .map-content__explanation-title {
    font-size: 24px;
  }
}

.map-content__age-ad {
  border: none !important;
}

.map-content__explanation {
  margin: 15px 0;
  padding: 15px 0;
  border-top: 1px solid #c1c1c1;
  border-bottom: 1px solid #c1c1c1;
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #231815;
}

.map-content__explanation h1 {
  font-size: 24px;
}

.map-content__explanation h2 {
  font-size: 20px;
}

.map-content__explanation h3 {
  font-size: 18px;
}

.map-content__explanation h4,
.map-content__explanation h5 {
  font-size: 16px;
}

.map-content__explanation a {
  color: #8f432b;
  padding-bottom: 1px;
  border-bottom: 1px dashed #8f432b;
}

.map-content__explanation a:hover {
  opacity: 0.7;
}

.map-content__explanation img {
  width: 100%;
  height: auto;
}

.map-content__writer, .map-content__reference, .map-content__recommendations {
  margin-bottom: 3px;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #433d36;
}

.map-content__relational-cultural-container {
  width: 100%;
  height: auto;
  background-color: #e2e1db;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.map-content__relational-cultural-container-title {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.map-content__relational-cultural-line {
  -ms-flex-preferred-size: 40px;
      flex-basis: 40px;
  background: url("images/relational_cultural_property_line.png") top center/contain repeat-y;
  overflow-y: hidden;
}

.map-content__relational-cultural-inner {
  -ms-flex-preferred-size: calc(100% - 80px);
      flex-basis: calc(100% - 80px);
  padding: 20px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media only screen and (min-width: 600px) {
  .map-content__relational-cultural-inner {
    padding: 20px 15px 0 15px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.map-content__relational-cultural-card {
  width: 75%;
  margin: 0 auto 15px auto;
  margin: 0 auto 15px auto;
  text-align: justify;
}

@media only screen and (min-width: 600px) {
  .map-content__relational-cultural-card {
    width: 45%;
    margin: 0 auto 25px auto;
  }
}

.map-content__relational-cultural-link {
  display: block;
  color: #534741;
  -webkit-transition: 0.3ms;
  transition: 0.3ms;
}

.map-content__relational-cultural-link:hover {
  opacity: 0.8;
}

.map-content__relational-cultural-img {
  width: 100%;
  height: auto;
  margin-bottom: 5px;
}

.map-content__relational-cultural-name {
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.5;
  text-decoration: underline;
  text-align: justify;
  color: #595249;
}

.map-content__map-inner {
  height: 350px;
}

.map-content__map-title {
  margin-bottom: 0;
  background-color: #595249;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  color: #fff;
}

.map-content__map {
  width: 100%;
  height: 350px;
}

.map-content__map-inner img[src*="uploads/"] {
  padding: 2px !important;
  border-radius: 40px !important;
  border: 4px solid #61584e !important;
  background-color: #fff !important;
}

.map-content__map-window {
  width: auto !important;
  max-width: 85%;
  border-radius: 6px;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 6px gray;
          box-shadow: 2px 2px 6px gray;
  -webkit-transform: translateX(-50%) !important;
          transform: translateX(-50%) !important;
}

.map-content__map-window img[src*="modal_close_icon"] {
  width: 30px;
  height: 30px;
}

.map-content__map-window-inner {
  padding: 7px 10px 7px 10px;
}

.map-content__map-window-title {
  font-size: 18px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

.map-content__map-window-content {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #c1c1c1;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.4;
  text-align: justify;
  color: #231815;
}

.map-content__collection-menu-title {
  display: block;
  width: 100%;
  margin: 0 0 15px 0;
  font-size: 16px;
  color: #534741;
  line-height: 1;
  text-align: center;
}

.map-content__collection-ul {
  padding: 15px 25px;
}

.map-content__collection-li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 0 10px 0;
  margin: 0 0 10px 0;
  border-bottom: 1px solid #c1c1c1;
}

.map-content__collection-li:hover {
  opacity: 0.8;
  cursor: pointer;
}

.map-content__collection-li-img {
  display: block;
  width: 30%;
}

.map-content__collection-li-name {
  display: block;
  width: 70%;
  margin: 0;
  padding: 0 15px 0 15px;
  font-size: 16px;
  line-height: 1.8;
  text-align: left;
  color: #231815;
  position: relative;
}

.map-content__collection-li-name::after {
  display: block;
  content: '';
  border-top: solid 1px #c1c1c1;
  border-right: solid 1px #c1c1c1;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}

.map-content__collection-explanation-container {
  padding: 15px 25px;
}

.map-content__collection-explanation-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0 0 20px 0;
}

.map-content__collection-back-btn {
  border-top: solid 1px #c1c1c1;
  border-left: solid 1px #c1c1c1;
  width: 15px;
  height: 15px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.map-content__collection-img-container {
  width: 100%;
  height: 250px;
  margin: 0 0 15px 0;
}

.map-content__collection-img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.map-content__collection-thumbs-container {
  margin: 0 0 20px 0;
}

.map-content__collection-name {
  display: block;
  margin: 0 0 5px 0;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #231815;
  text-align: left;
}

.map-content__collection-explanation-text {
  font-size: 16px;
  line-height: 1.8;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #231815;
  text-align: justify;
}

.municipality-modal {
  display: none;
}

.municipality-modal--open {
  display: block;
}

.municipality-modal__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  overflow-x: hidden;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.8);
}

.municipality-modal__header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
  padding: 0 30px 0 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.municipality-modal__header-icon {
  display: block;
  width: 37.5px;
  height: 37.5px;
  margin-right: 20px;
}

.municipality-modal__header-text-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.municipality-modal__header-name {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 16px;
  line-height: 1;
  margin-bottom: 4px;
  font-weight: bold;
}

.municipality-modal__header-address {
  display: block;
  width: 100%;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  font-weight: normal;
  color: #0A84FF;
}

.municipality-modal__container {
  position: relative;
  display: block;
  width: calc(100% - 40px);
  padding: 35px 25px 35px 25px;
  margin: 40px auto 20px;
  background-color: #fff;
  border-radius: 10px;
}

@media only screen and (min-width: 1050px) {
  .municipality-modal__container {
    width: 100%;
    max-width: 720px;
    padding: 35px 35px 35px 35px;
    margin: 50px auto 40px;
  }
}

.municipality-modal__inner {
  font-size: 16px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  line-height: 2;
  margin-bottom: 50px;
}

.municipality-modal__close {
  display: inline-block;
  position: absolute;
  top: 16px;
  right: 12px;
  width: 35px;
  height: 35px;
  margin-left: auto;
  border: 0;
  border-radius: 50%;
  background-color: #C6C6C6;
}

.municipality-modal__close:hover {
  background-color: #423D37;
}

.municipality-modal__close-icon {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 2px;
  top: -1px;
  line-height: 1;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 1px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.municipality-modal__close-icon::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: inherit;
  border-radius: inherit;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.municipality-modal__close--bottom {
  position: static;
  display: block;
  margin: 25px auto 0 auto;
  width: 192px;
  height: 38px;
  padding: 0;
  border-radius: 40px;
  text-align: center;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial;
  font-size: 14px;
  line-height: 1;
  margin-bottom: 4px;
  font-weight: normal;
  color: #fff;
  background-color: #C6C6C6;
}

.municipality-modal__close--bottom:hover {
  background-color: #423D37;
}

/******************************************************************

Stylesheet: 文化譚

******************************************************************/
.cultural-column {
  /*
    ========================================
        各種操作ボタン（現在地取得、拡大、縮小）
    =========================================
    */
}

.cultural-column__wrapper {
  display: block;
  min-height: calc(100vh - 95px);
  max-width: 1000px;
  margin: 0 auto;
  padding: 95px 0 55px 0;
}

@media only screen and (min-width: 600px) {
  .cultural-column__wrapper {
    padding: 130px 0 55px 0;
  }
}

.cultural-column__relation-section {
  margin: 100px 0 0 0;
}

.cultural-column__wrapper .wp-block-column p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1px;
}

.cultural-column__relation-section-title {
  margin: 0 0 20px 0;
  padding: 0 0 5px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1px;
  position: relative;
}

.cultural-column__relation-section-title::after {
  display: block;
  content: '';
  width: 300px;
  height: 3px;
  background-color: #423D37;
  position: absolute;
  left: 0;
  bottom: -5px;
}

.cultural-column__card-list {
  margin: -10px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.cultural-column__card-link {
  width: calc((100% - 90px) / 4);
  margin: 40px 0 0 30px;
  color: #423D37;
  text-decoration: none;
}

.cultural-column__card-link:nth-child(4n + 1) {
  margin: 40px 0 0 0;
}

.cultural-column__card-link:hover {
  opacity: 0.7;
}

.cultural-column__card-title {
  margin: 0 0 20px 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1px;
}

.cultural-column__card-text {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1px;
}

.cultural-column__post-title {
  margin: 0 0 30px 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.cultural-column__post-content p {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 1px;
}
/*# sourceMappingURL=style.css.map */