@charset "UTF-8";
#contents {
  font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #000;
  font-weight: 500;
}
#contents * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
}
#contents img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
#contents .js-fadeIn.animatable {
  position: relative;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: transform 0.6s, opacity 0.6s;
  transition: transform 0.6s, opacity 0.6s, -webkit-transform 0.6s;
  opacity: 0;
}
@media print {
  #contents .js-fadeIn.animatable {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#contents .js-fadeIn.animated {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
#contents .p-top__title {
  padding: 45px 0 22px 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px 0;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#contents .p-top__title span {
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 2px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.14em;
  font-family: "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "MSゴシック", sans-serif;
  color: #504e42;
  border-bottom: 1px solid #bbb;
}
#contents .p-top__mv img {
  width: 100%;
}
#contents .p-top__mv .splide__arrow {
  width: 48px;
  height: 48px;
  top: 100%;
  opacity: 1;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: 48px 48px;
}
#contents .p-top__mv .splide__arrow svg {
  display: none;
}
#contents .p-top__mv .splide__arrow--prev {
  left: inherit;
  right: 75px;
  background-image: url(../img/top/slider_prev.png);
}
#contents .p-top__mv .splide__arrow--next {
  right: 18px;
  background-image: url(../img/top/slider_next.png);
}
#contents .p-top__about {
  width: 594px;
  margin: 0 auto;
  padding-top: 76px;
}
#contents .p-top__about .p-top__about--text {
  margin-top: 47px;
  font-size: 13px;
  line-height: 1.75;
  letter-spacing: 0.14em;
  text-align: justify;
}
#contents .p-top__about .p-top__about--profile {
  margin-top: 68px;
  padding: 29px 210px 28px 32px;
  border: 1px solid #b4b4b4;
  position: relative;
}
#contents .p-top__about .p-top__about--profile h4 {
  display: inline-block;
  padding: 5px 13px 6px;
  position: absolute;
  left: 30px;
  top: -15px;
  background: #837150;
  border: 0.7px solid #beae8b;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: #fff;
}
#contents .p-top__about .p-top__about--profile .p-top__about--profileName {
  font-size: 16.08px;
}
#contents .p-top__about .p-top__about--profile .p-top__about--profileText {
  margin-top: 5px;
  font-size: 12px;
  letter-spacing: 0.18em;
  line-height: 1.75;
}
#contents .p-top__about .p-top__about--profile img {
  position: absolute;
  bottom: 0;
  right: 64px;
}
#contents .p-top__archive {
  width: 846px;
  margin: 0 auto;
  padding-top: 102px;
}
#contents .p-top__archive h3 {
  text-align: center;
}
#contents .p-top__archive ul {
  margin-top: 90px;
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-family: "Hiragino Kaku Gothic ProN W3", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "MSゴシック", sans-serif;
}
#contents .p-top__archive ul li:nth-child(2n) {
  margin-left: 30px;
}
#contents .p-top__archive ul li:nth-child(n+3) {
  margin-top: 60px;
}
#contents .p-top__archive ul li .p-top__archive--text {
  margin-top: 17px;
  padding: 27px 0 24px;
  border-top: 1px solid #e2e2e2;
  border-bottom: 1px solid #e2e2e2;
}
#contents .p-top__archive ul li .p-top__archive--text div {
  font-size: 21px;
  line-height: 1.476;
  letter-spacing: 0.1em;
}
#contents .p-top__archive ul li .p-top__archive--text span {
  min-height: 28px;
  margin-top: 20px;
  padding: 5px 12px;
  display: inline-block;
  border: 1px solid #000;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.15em;
  text-indent: 0.15em;
  color: #3f3f3f;
}
#contents .p-top__archive ul li .p-top__archive--btn {
  margin-top: 14px;
}
#contents .p-top__lead {
  margin-top: 67px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: url(../img/top/lead_bg.jpg) no-repeat 50% 50%;
}
#contents .p-top__lead > div {
  min-height: 689px;
  width: 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-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contents .p-top__lead > div h3 {
  width: 100%;
  text-align: center;
  margin-bottom: 46px;
}
#contents .p-top__lead > div p {
  font-size: 18px;
  line-height: 2.24;
  letter-spacing: 0.25em;
  color: #fff;
  text-align: center;
}
#contents .p-top__image > p {
  padding: 92px 0;
  text-align: center;
  z-index: 1;
}
#contents .p-top__image > div {
  position: relative;
  z-index: 1;
}
#contents .p-top__image > div img {
  position: relative;
  z-index: 1;
}
#contents .p-top__image > div:after {
  content: "";
  display: block;
  width: 814px;
  height: 494px;
  position: absolute;
  top: 67px;
  right: 0;
  background-color: #e9e8e7;
}
#contents .p-top__image > div span {
  min-height: 20px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 10px 0 10px;
  position: absolute;
  left: 1px;
  bottom: 1px;
  background-color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  font-weight: 500;
  color: #000;
  z-index: 5;
}
#contents .p-top__logo {
  margin-top: 152px;
  text-align: center;
}
#contents .p-top__area {
  margin-top: 65px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #473e2b;
  color: #fff;
  text-align: center;
}
#contents .p-top__area > div {
  width: 100%;
  min-height: 580px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#contents .p-top__area > div h3 {
  width: 100%;
  margin-bottom: 42px;
  font-size: 20.67px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.36em;
}
#contents .p-top__area > div h3 sup {
  font-size: 0.37em;
  letter-spacing: 0.2em;
  vertical-align: super;
  position: relative;
  top: -5px;
  margin-right: 5px;
}
#contents .p-top__area > div h3 > span {
  margin-top: 5px;
  display: inline-block;
  letter-spacing: 0.26em;
  line-height: 1.75;
}
#contents .p-top__area > div h3 > span > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 10px;
}
#contents .p-top__area > div h3 > span > span > span {
  text-align: left;
}
#contents .p-top__area > div h3 > span > span > span:first-child {
  min-width: 5.4em;
}
#contents .p-top__area > div h3 > span > span > span:last-child {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
#contents .p-top__area > div h3 > span > span:last-child > span:first-child {
  letter-spacing: 0.86em;
  margin-right: -0.18em;
}
#contents .p-top__area > div h3 > span > span:last-child > span:last-child {
  letter-spacing: 0.364em;
}
#contents .p-top__area > div p {
  font-size: 18px;
  line-height: 2.3888;
  font-weight: 500;
  letter-spacing: 0.025em;
}
#contents .p-top__area > div p sup {
  font-size: 0.583em;
  vertical-align: super;
  position: relative;
  top: -1px;
  margin-right: 4px;
  margin-left: 2px;
}
#contents .p-top__map div {
  position: relative;
}
#contents .p-top__map div img {
  width: 100%;
  height: auto;
}
#contents .p-top__map div span {
  min-width: 100px;
  padding: 2px 10px 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 11px;
  font-weight: 500;
  background-color: rgba(255, 255, 255, 0.5);
}

#TB_ajaxContent {
  background-color: transparent !important;
}
#TB_ajaxContent .p-top__movie-close {
  width: 100%;
  top: 0;
  left: 0;
  text-align: right;
}
#TB_ajaxContent .p-top__movie-close span {
  width: 60px;
  height: 60px;
  display: inline-block;
  position: relative;
  cursor: pointer;
}
#TB_ajaxContent .p-top__movie-close span:before, #TB_ajaxContent .p-top__movie-close span:after {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background-color: #fff;
}
#TB_ajaxContent .p-top__movie-close span:before {
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#TB_ajaxContent .p-top__movie-close span:after {
  bottom: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#TB_ajaxContent .js-movie-thickbox {
  width: min(100%, 910px);
  max-width: 910px;
}