@charset "UTF-8";
/* entryTitle */
.entryTitle {
  position: relative;
  min-width: 1280px;
  width: 100%;
  height: 260px;
  margin: auto;
  background: #53433e;
  overflow: hidden;
}
.entryTitle h1 {
  position: relative;
  width: 1280px;
  height: 260px;
  margin: auto;
}
.entryTitle h1 a {
  text-decoration: none;
  position: absolute;
  top: 120px;
  left: 350px;
  padding-left: 40px;
  margin: 0;
  z-index: 2;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.2em;
  font-size: 36px;
  color: #fff;
  background: url(../images/icon/iconGlobalNav_a.svg) no-repeat top 21px left;
  background-size: 24px;
}
.entryTitle h1 a span {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.1em;
  font-size: 15px;
  margin-top: 0.5em;
}
.entryTitle::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 260px;
  background: url(../images/Film.png) repeat-y left top, url(../images/Film.png) repeat-y right top;
}
.entryTitle .entry {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

/*--- breadcrumb ---*/
.breadcrumb {
  width: 100%;
  font-size: 12px;
  background: #231815;
  color: #fff;
}
.breadcrumb ol {
  width: 1280px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  list-style: none;
  padding: 20px 40px;
  margin: auto;
}
.breadcrumb ol li a {
  display: block;
  font-weight: normal;
  color: #fff;
}
.breadcrumb ol li a::after {
  content: "";
  display: inline-block;
  color: #fff;
  margin: 0 10px;
  width: 12px;
  height: 8px;
  background: url(../images/icon/iconArrow05.svg) no-repeat center;
  background-size: 100%;
  transform: rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .breadcrumb ol li a:hover {
    color: #900808;
  }
}
.breadcrumb ol li:last-child::after {
  display: none;
}

/*--- important ---*/
.important {
  color: #b80c0c;
}

.under {
  background: linear-gradient(transparent 70%, #fbd6e8 70%);
}

.container {
  max-width: 1920px;
  min-width: 1280px;
  padding: 80px 0;
  margin: auto;
}

/*--- main ---*/
main {
  /*--- flexBox ---*/
  /*--- area01 ---*/
  /*--- index_menu ---*/
  /*--- table ---*/
  /*--- table ---*/
  /*--- gmap ---*/
  /*================================ photoGallery ===============================*/
  /*--- photoGallery ---*/
  /*================================ contents_sub_navi01 ===============================*/
  /* sns */
  /*================================pagenation================================*/
  /*==SP==*/
  /*--- pagenation ---*/
}
main .inner {
  width: 1280px;
  margin: auto;
  padding: 0 40px;
}
main section {
  margin: 0;
}
main p {
  line-height: 1.8;
  margin: 0.5em 0;
}
main .catch {
  color: #231815;
  font-size: 20px;
  font-weight: bold;
  font-family: "游ゴシック体", Yu Gothic, YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  line-height: 1.3;
  margin: 0 0 10px 0;
  padding: 0 15px;
}
main .lead {
  font-size: 16px;
  padding: 0 15px 30px;
  line-height: 2;
}
main .bld {
  font-weight: bold;
}
main .tCenter {
  text-align: center;
  margin: 80px auto;
}
main .inlineB {
  text-align: center;
}
main .inlineB p {
  display: inline-block;
  text-align: left;
}
main .imgC {
  display: block;
  margin: 50px auto;
}
main .imgF {
  display: block;
  margin: 50px auto;
  width: 100%;
  max-width: 1000px;
}
main ol {
  margin: 10px 0;
  padding-left: 2em;
}
main ol li {
  line-height: 1.5;
}
main ul li {
  line-height: 2;
}
main ul.listD {
  padding-left: 2em;
  margin: 0.5em 0;
  list-style-type: disc;
}
main .fs {
  margin: 0 0 20px;
}
main h2 {
  position: relative;
  text-align: center;
}
main h2 p {
  display: flex;
  justify-content: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-weight: bold;
  padding: 60px 0;
  margin: 0;
  background: url(../images/decH03.svg) no-repeat top center;
  line-height: 1.3;
}
main h2 p .locationNum {
  min-width: 4em;
  font-family: "Josefin Sans", sans-serif;
  display: inline-block;
  background: #231815;
  color: #fff;
  font-size: 20px;
  padding: 10px 13px 6px 15px;
  margin-right: 15px;
  border-radius: 4px;
  letter-spacing: 0.2em;
}
main h3 {
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  width: 100%;
  display: block;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding: 15px 20px;
  margin: 80px 0 30px;
  line-height: 1.3;
  border-style: solid;
  border-width: 7px;
  border-image: url(../images/9patch05.png) 7 repeat repeat;
  border-image-slice: 7 fill;
}
main h4 {
  position: relative;
  text-align: left;
  color: #231815;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 15px 15px 45px;
  margin: 1.5em 0 1em;
  background: url(../images/bgH4.png) no-repeat left bottom;
}
main h4::after {
  position: absolute;
  left: 8px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 25px;
  height: 25px;
  content: "";
  background: url(../images/icon/iconFilm.svg) no-repeat left center;
  background-size: 100% auto;
}
main h4 .txts {
  font-size: 16px;
}
main h5 {
  display: block;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  padding: 35px 15px 15px;
  border-bottom: 2px dotted #d5cbd9;
  margin: 1.5em 0 1em;
}
main h6 {
  display: block;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  margin: 1.5em 0 1em;
}
main .flexBox {
  display: flex;
  align-items: flex-start;
}
main .areaBox01 {
  width: 1200px;
  margin: 30px auto;
  border: 5px solid #c1aece;
  text-align: center;
  background: url(../images/bgCommon.png) repeat;
  border-style: solid;
  border-width: 32px;
  border-image: url(../images/9patch06.png) 32 repeat repeat;
  border-image-slice: 32 fill;
}
main .areaBox01 h3 {
  margin: 0 0 1em;
}
main .areaBox01 h4 {
  margin: 0 0 1em;
}
main .areaBox01 h5 {
  margin: 0 0 1em;
}
main .areaBox01 p {
  text-align: left;
}
main .areaBox01 .tx_l {
  font-weight: bold;
  display: inline-block;
  text-align: left;
}
main .areaBox01 .tel {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 40px;
  line-height: 1.2;
  text-decoration: none;
  color: #222;
}
main .areaBox01 .fax {
  display: block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 24px;
  line-height: 1.2;
  text-decoration: none;
  color: #222;
  text-align: center;
}
main .areaBox01 object {
  text-align: center;
  pointer-events: none;
}
main .btn {
  text-align: center;
  margin: 50px 0;
}
main .btn a {
  position: relative;
  display: block;
  width: 332px;
  color: #231815;
  text-align: center;
  text-decoration: none;
  padding: 4px;
  margin: 0 auto 0;
  border-style: solid;
  border-width: 12px 12px 12px 12px;
  border-image: url(../images/9patch03.png) 12 12 12 12 repeat repeat;
  border-image-slice: 12 fill;
  font-size: 16px;
  font-weight: bold;
  transition: 0.3s;
}
main .btn a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
  width: 18px;
  height: 18px;
  margin: auto;
  background: #fff url(../images/icon/iconArrow05.svg) no-repeat right center;
  transform: rotate(-90deg);
}
@media screen and (min-width: 768px) {
  main .btn a:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
}
main .index_menu .index_menu_wrap {
  width: calc(100% - 30px);
  margin: 0 40px 40px;
}
main .index_menu .index_menu_wrap a {
  position: relative;
  display: flex;
  color: #231815;
  width: 100%;
  text-decoration: none;
  padding: 0;
  background: url(../images/bgCommon.png) repeat;
  border-style: solid;
  border-width: 32px;
  border-image: url(../images/9patch02.png) 32 repeat repeat;
}
main .index_menu .index_menu_wrap a .photoImage {
  position: relative;
}
main .index_menu .index_menu_wrap a .photoImage::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 9px;
  width: 100%;
  height: 100%;
  background: url(../images/bgDotted01.gif) repeat;
}
main .index_menu .index_menu_wrap a .photoImage img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  main .index_menu .index_menu_wrap a:hover .image_wrap {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu .index_menu_wrap a .wrap {
  text-align: center;
  width: calc(100% - 400px);
  padding: 0 40px 0 60px;
}
main .index_menu .index_menu_wrap a .wrap .title {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  padding: 20px 0 20px;
  border: none;
  margin: 0;
}
main .index_menu .index_menu_wrap a .wrap p {
  text-align: left;
}
@media screen and (min-width: 768px) {
  main .index_menu .index_menu_wrap a:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu .index_menu_wrap a .btn {
  min-width: 380px;
  color: #fff;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 5px 20px;
  border-style: solid;
  border-width: 12px 12px 12px 12px;
  border-image: url(../images/9patch01.png) 12 12 12 12 repeat repeat;
  border-image-slice: 12 fill;
  font-size: 14px;
  transition: 0.3s;
}
main .index_menu .index_menu_wrap_col2 {
  width: calc(100% / 2 - 20px);
  margin: 0 10px 20px;
}
main .index_menu .index_menu_wrap_col2 a {
  height: 100%;
  position: relative;
  display: block;
  color: #231815;
  width: 100%;
  text-decoration: none;
  padding: 0;
  background: url(../images/bgCommon.png) repeat;
  border-style: solid;
  border-width: 32px;
  border-image: url(../images/9patch02.png) 32 repeat repeat;
  text-align: center;
}
main .index_menu .index_menu_wrap_col2 a .photoImage {
  position: relative;
  overflow: hidden;
  background-color: #333;
  width: 100%;
}
main .index_menu .index_menu_wrap_col2 a .photoImage::before {
  content: "";
  display: block;
  padding-top: 75%;
}
main .index_menu .index_menu_wrap_col2 a .photoImage img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  line-height: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  main .index_menu .index_menu_wrap_col2 a:hover .image_wrap {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu .index_menu_wrap_col2 a .title {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  padding: 20px 0 10px;
  border: none;
  margin: 0;
}
main .index_menu .index_menu_wrap_col2 a p {
  text-align: left;
}
@media screen and (min-width: 768px) {
  main .index_menu .index_menu_wrap_col2 a:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu .index_menu_wrap_col2 a .btn {
  min-width: 380px;
  color: #fff;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 5px 20px;
  border-style: solid;
  border-width: 12px 12px 12px 12px;
  border-image: url(../images/9patch01.png) 12 12 12 12 repeat repeat;
  border-image-slice: 12 fill;
  font-size: 14px;
  transition: 0.3s;
}
main .index_menu .index_menu_wrap_col3 {
  width: calc(100% / 3 - 20px);
  margin: 0 10px 20px;
}
main .index_menu .index_menu_wrap_col3 a {
  height: 100%;
  position: relative;
  display: block;
  color: #231815;
  width: 100%;
  text-decoration: none;
  padding: 0;
  background: url(../images/bgCommon.png) repeat;
  border-style: solid;
  border-width: 32px;
  border-image: url(../images/9patch02.png) 32 repeat repeat;
  text-align: center;
}
main .index_menu .index_menu_wrap_col3 a .photoImage {
  position: relative;
  overflow: hidden;
  background-color: #333;
  width: 100%;
}
main .index_menu .index_menu_wrap_col3 a .photoImage::before {
  content: "";
  display: block;
  padding-top: 75%;
}
main .index_menu .index_menu_wrap_col3 a .photoImage img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  line-height: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  main .index_menu .index_menu_wrap_col3 a:hover .image_wrap {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu .index_menu_wrap_col3 a .title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 20px 0 0;
  border: none;
  margin: 0;
}
main .index_menu .index_menu_wrap_col3 a .title .locationNum {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  background: #231815;
  min-width: 4em;
  color: #fff;
  font-family: "Josefin Sans", sans-serif;
  font-size: small;
  padding: 3px 3px 2px 4px;
  margin: auto;
  border-radius: 4px;
  letter-spacing: 0.2em;
  border: 2px solid #fff;
}
main .index_menu .index_menu_wrap_col3 a p {
  text-align: left;
}
@media screen and (min-width: 768px) {
  main .index_menu .index_menu_wrap_col3 a:hover {
    opacity: 0.7;
    transition: 0.3s;
  }
}
main .index_menu .index_menu_wrap_col3 a .btn {
  min-width: 380px;
  color: #fff;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  padding: 5px 20px;
  border-style: solid;
  border-width: 12px 12px 12px 12px;
  border-image: url(../images/9patch01.png) 12 12 12 12 repeat repeat;
  border-image-slice: 12 fill;
  font-size: 14px;
  transition: 0.3s;
}
main table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  border-style: solid;
  border-width: 7px;
  border-image: url(../images/9patch05.png) 7 repeat repeat;
  border-image-slice: 7 fill;
  line-height: 1.5;
}
main table thead th {
  color: #fff;
  text-align: center;
  background: #34323d;
  padding: 15px 0;
}
main table thead th:last-child {
  border-right: none;
}
main table tbody th, main table tbody td {
  color: #333;
  padding: 15px 16px;
}
main table tbody th {
  width: 25%;
  font-weight: bold;
  text-align: left;
  background: #e7e4dc;
}
main table tbody td {
  background: #f5f6f8;
}
main table tbody td h5 {
  display: block;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  padding: 30px 0 5px;
  border-bottom: 1px dotted #d5cbd9;
  margin-bottom: 15px;
}
main table tbody td h6 {
  display: block;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  padding: 1em 0 0.5em;
}
main .gMap iframe {
  width: 100%;
  height: 600px;
  margin: 30px 0;
  border: 1px solid #ccc !important;
}
main .photoGallery {
  position: relative;
  background: #241917 url(../images/bgContents.jpg) no-repeat;
  padding: 50px 0;
}
main .photoGallery .inner::after {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/Film.png) repeat-y left top, url(../images/Film.png) repeat-y right top;
}
main .photoGallery .inner ul {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: auto;
}
main .photoGallery .inner ul li {
  width: calc(100% / 4 - 10px);
  margin: 5px;
  height: auto;
  border: 6px solid #fff;
}
main .photoGallery .inner ul li img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  main .photoGallery .inner ul li:hover {
    opacity: 0.5;
  }
}
main .photoGallery #loading {
  padding: 100px 0;
  background: url(../images/icon_loader.gif) no-repeat center;
  background-size: 33px;
}
main .photoGallery #loading img {
  width: 33px;
  height: 33px;
}
main .contents_sub_navi01 {
  margin: 50px 0 0;
}
main .contents_sub_navi01 .inner {
  position: relative;
  width: 1280px;
  margin: auto;
  text-align: center;
}
main .contents_sub_navi01 .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 20px;
}
main .contents_sub_navi01 .inner ul li {
  width: calc(100% / 4 - 10px);
  margin: 5px;
}
main .contents_sub_navi01 .inner ul li.act a {
  color: #fff;
  background: #302521;
}
main .contents_sub_navi01 .inner ul li.act a::after {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 12px;
  height: 18px;
  background: url(../images/icon/iconArrow02.svg) no-repeat right center;
}
main .contents_sub_navi01 .inner ul li a {
  text-decoration: none;
  position: relative;
  display: block;
  color: #231815;
  font-weight: bold;
  text-decoration: none;
  outline-style: none;
  text-align: center;
  padding: 20px 10px;
  font-size: 14px;
  background: url(../images/btnLocationNav_a.png);
  letter-spacing: 0;
  border: 4px solid #e8eae0;
}
main .contents_sub_navi01 .inner ul li a::after {
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 12px;
  height: 18px;
  background: url(../images/icon/iconArrow03.svg) no-repeat right center;
}
main .sns {
  display: flex;
  flex-wrap: wrap;
}
main .sns li {
  width: 30px;
  margin: 0 15px 0 0;
}
main .sns li img {
  width: 100%;
}
main .pager {
  padding: 50px 0;
  overflow: hidden;
}
main .pager ul {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}
main .pager ul li {
  margin: 4px;
  position: relative;
  left: -50%;
  float: left;
}
main .pager ul li span,
main .pager ul li a {
  font-family: "Jost", sans-serif;
  display: block;
  font-size: 15px;
  padding: 10px 15px;
  background: #f6f5f0;
  color: #000;
  text-decoration: none;
  transition: 0.6s;
  border-radius: 3px;
}
main .pager ul li.current span {
  background: #333;
  color: #fff;
  font-weight: bold;
}
main .pager ul li.prev a, main .pager ul li.next a {
  display: block;
  font-size: 15px;
  padding: 10px 15px;
  background: #f6f5f0;
  text-decoration: none;
}
main .pager ul li a:hover {
  background: #ffc8c3;
  transition: 0.1s;
}
@media (max-width: 767px) {
  main .pager {
    padding: 20px 0;
    overflow: hidden;
  }
}

/*--- main ---*/
/*================================ locationNav ===============================*/
.locationNavSp {
  display: none;
}

.locationNav {
  position: relative;
  max-width: 1920px;
  margin: auto;
  padding: 45px 0 50px;
  background: #231815;
}
.locationNav .inner {
  width: 1200px;
  margin: auto;
}
.locationNav .inner h2 {
  position: absolute;
  top: -124px;
  left: 0;
  right: 0;
  text-align: center;
  margin: auto;
  width: 1260px;
  height: 124px;
  padding-top: 80px;
  background: url(../images/bgLocationNav.png) no-repeat top center;
}
.locationNav .inner h2 a {
  display: inline-block;
  text-decoration: none;
}
.locationNav .inner h2 p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
}
.locationNav .inner h2 p span {
  font-family: "Josefin Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 0;
  display: block;
}
.locationNav .inner ul:nth-child(1) {
  width: 1200px;
  display: flex;
  justify-content: space-between;
}
.locationNav .inner ul:nth-child(1) > li {
  position: relative;
  z-index: 1;
}
.locationNav .inner ul:nth-child(1) > li::after {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  z-index: 2;
  margin: auto;
  content: "";
  width: 60px;
  height: 60px;
}
.locationNav .inner ul:nth-child(1) > li.period::after {
  content: "";
  background: url(../images/icon/iconPeriod.svg) no-repeat;
  background-size: 100% auto;
}
.locationNav .inner ul:nth-child(1) > li.performance::after {
  content: "";
  background: url(../images/icon/iconPerformance.svg) no-repeat;
  background-size: 100% auto;
}
.locationNav .inner ul:nth-child(1) > li.building_scenery::after {
  content: "";
  background: url(../images/icon/iconBuildingScenery.svg) no-repeat;
  background-size: 100% auto;
}
.locationNav .inner ul:nth-child(1) > li.freeword::after {
  content: "";
  background: url(../images/icon/iconFreeword.svg) no-repeat;
  background-size: 100% auto;
}
.locationNav .inner ul:nth-child(1) > li > a {
  text-align: center;
  position: relative;
  text-decoration: none;
  display: block;
  width: 297px;
  height: 140px;
  z-index: 2;
  background: url(../images/icon/iconArrow01.svg) no-repeat center bottom 10px, url(../images/btnLocationNav_a.png) repeat top center;
  border: 6px solid #fff;
}
.locationNav .inner ul:nth-child(1) > li > a p {
  color: #333;
  font-weight: bold;
  font-size: 20px;
  padding-top: 50px;
}
.locationNav .inner ul:nth-child(1) > li > a p span {
  display: block;
  color: #e83929;
  font-size: 8px;
}
@media screen and (min-width: 768px) {
  .locationNav .inner ul:nth-child(1) > li:hover ul {
    position: absolute;
    top: 140px;
    z-index: 1;
    opacity: 1;
    width: 297px;
    transition: 0.2s;
  }
}
.locationNav .inner ul:nth-child(1) > li:hover ul a {
  pointer-events: fill;
}
.locationNav .inner ul:nth-child(1) > li ul {
  position: absolute;
  top: 0;
  opacity: 0;
  pointer-events: none;
}
.locationNav .inner ul:nth-child(1) > li ul li {
  width: 297px;
}
.locationNav .inner ul:nth-child(1) > li ul li a {
  display: block;
  padding: 15px 30px 15px 15px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: url(../images/icon/iconArrow02.svg) no-repeat right 10px center, url(../images/btnLocationNav_b.png) repeat top center;
  border: 4px solid #ebeae3;
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .locationNav .inner ul:nth-child(1) > li ul li a:hover {
    padding: 20px 30px 20px 15px;
    transition: 0.2s;
  }
}
.locationNav .inner ul:nth-child(1) > li ul li p {
  display: block;
  padding: 15px 20px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: url(../images/icon/iconArrow02.svg) no-repeat right 10px center, url(../images/btnLocationNav_b.png) repeat top center;
  border: 4px solid #ebeae3;
  transition: 0.2s;
}

/* locationNav */
/* bannerArea */
.bannerArea {
  max-width: 1920px;
  margin: auto;
  padding: 60px 0;
  background: url(../images/bgCommon.png) repeat;
}
.bannerArea .inner {
  width: 1200px;
  margin: auto;
  text-align: center;
}
.bannerArea .inner ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.bannerArea .inner ul li {
  width: calc(100% / 4 - 30px);
  margin: 15px;
}
.bannerArea .inner ul li a {
  transition: 0.3s;
}
.bannerArea .inner ul li a img {
  width: 100%;
  height: auto;
}
.bannerArea .inner ul li a:hover {
  transition: 0.3s;
  opacity: 0.7;
}

/* tag */
.tag {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0 0;
}
.tag object {
  margin: 5px;
}
.tag object a {
  display: block;
  color: #fff;
  font-size: small;
  background: #302521;
  padding: 5px 20px;
  text-decoration: none;
  border-radius: 4px;
  transition: 0.3s;
}
.tag object a::before {
  content: "#";
}
@media screen and (min-width: 768px) {
  .tag object a:hover {
    background: #794747;
    transition: 0.3s;
  }
}

/* floating_menu */
.floating_menu {
  display: none;
}

@media only screen and (max-width: 767px) {
  /* entryTitle */
  .entryTitle {
    position: relative;
    min-width: 100%;
    width: 100%;
    height: auto;
    margin-top: 60px;
  }
  .entryTitle h1 {
    width: 100%;
    height: auto;
    padding-top: 30%;
  }
  .entryTitle h1 a {
    word-break: keep-all;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -20%);
    padding-left: 25px;
    margin: auto;
    font-size: 15px;
    background: url(../images/icon/iconGlobalNav_a.svg) no-repeat top 12px left;
    background-size: 16px;
  }
  .entryTitle h1 a span {
    font-size: x-small;
    margin-top: 0.3em;
    overflow: hidden;
  }
  .entryTitle .entry {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
    width: 100%;
    height: auto;
  }
  .entryTitle::after {
    content: "";
    background: url(../images/Film.png) repeat-y left top, url(../images/Film.png) repeat-y right top;
    background-size: 30px auto;
    height: 100%;
  }

  /*--- breadcrumb ---*/
  .breadcrumb {
    width: 100%;
    font-size: x-small;
  }
  .breadcrumb ol {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 10px 15px;
  }
  .breadcrumb ol li {
    margin: 2px 0;
  }

  .container {
    max-width: 100%;
    min-width: 100%;
    padding: 30px 0;
  }

  /*--- main ---*/
  main {
    /*--- inner ---*/
    /*--- p ---*/
    /*--- p ---*/
    /* h */
    /*--- flexBox ---*/
    /*--- area01 ---*/
    /*--- index_menu ---*/
    /*--- table ---*/
    /*--- gmap ---*/
    /*================================ photoGallery ===============================*/
    /*--- photoGallery ---*/
    /*================================ contents_sub_navi ===============================*/
    /* photo */
    /* sns */
    /*================================pagenation================================*/
  }
  main .inner {
    width: 100%;
    margin: auto;
    padding: 0 15px;
  }
  main p {
    line-height: 1.5;
  }
  main .catch {
    font-size: 0.9rem;
    line-height: 1.3;
    margin: 20px 0 0;
    padding: 0;
  }
  main .lead {
    font-size: small;
    line-height: 1.5;
    margin: 20px 0;
    padding: 0;
  }
  main section {
    margin: 0;
  }
  main .tCenter {
    text-align: left;
  }
  main .imgC {
    width: 100%;
  }
  main h2 {
    text-align: center;
  }
  main h2 p {
    display: block;
    font-size: 16px;
    font-weight: bold;
    padding: 30px 0;
  }
  main h2 p .locationNum {
    display: block;
    width: 4em;
    font-family: "Josefin Sans", sans-serif;
    font-size: small;
    padding: 5px 6px 4px 8px;
    margin: 0 auto 10px;
  }
  main h3 {
    letter-spacing: 1px;
    text-align: left;
    font-size: 15px;
    padding: 5px 15px;
    margin: 50px 0 20px;
  }
  main h3.fs {
    margin: 0 0 20px;
  }
  main h4 {
    font-size: small;
    padding: 15px 10px 15px 40px;
  }
  main h5 {
    font-size: small;
    padding: 25px 10px 10px;
    border-bottom: 2px dotted #d5cbd9;
    margin-bottom: 10px;
  }
  main h6 {
    font-size: small;
    padding: 0;
  }
  main .flexBox {
    display: block;
  }
  main .areaBox01 {
    width: 100%;
    padding: 10px;
  }
  main .areaBox01 h4 {
    margin: 0 0 10px;
  }
  main .areaBox01 h5 {
    padding: 10px 0;
    margin: 0 0 10px;
  }
  main .areaBox01 .tx_l {
    font-weight: bold;
    display: inline-block;
    text-align: left;
    padding: 0 10px;
  }
  main .areaBox01 .tel {
    font-family: "Josefin Sans", sans-serif;
    font-size: 24px;
    text-decoration: none;
    color: #222;
  }
  main .areaBox01 object {
    padding: 15px 0;
    pointer-events: painted;
  }
  main .btn {
    text-align: center;
    margin: 10px auto 30px;
  }
  main .btn a {
    width: 100%;
    padding: 15px 15px;
    margin: 30px auto 0;
    background: url(../images/btnArrow01.svg) no-repeat center right 15px;
    background-size: 25px auto;
    font-size: small;
  }
  main .backBtn {
    margin: 50px auto 50px;
  }
  main .backBtn a {
    padding: 10px 30px 10px 50px;
    background: url(../images/btnArrow02.svg) no-repeat center left;
    background-size: 30px auto;
    font-size: 16px;
  }
  main .index_menu {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
  }
  main .index_menu .index_menu_wrap {
    width: 100%;
    margin: 0 0 15px;
  }
  main .index_menu .index_menu_wrap a {
    display: block;
    width: 100%;
  }
  main .index_menu .index_menu_wrap a .photoImage {
    position: relative;
  }
  main .index_menu .index_menu_wrap a .wrap {
    width: 100%;
    padding: 0;
  }
  main .index_menu .index_menu_wrap a .wrap .title {
    font-size: 16px;
    padding: 20px 0 10px;
  }
  main .index_menu .index_menu_wrap a .btn {
    max-width: 380px;
    min-width: 100%;
    font-size: small;
    padding: 5px 20px;
  }
  main .index_menu .index_menu_wrap_col2 {
    width: 100%;
    margin: 0 0 15px;
  }
  main .index_menu .index_menu_wrap_col2 a {
    display: block;
    width: 100%;
  }
  main .index_menu .index_menu_wrap_col2 a .photoImage {
    position: relative;
  }
  main .index_menu .index_menu_wrap_col2 a .title {
    font-size: 16px;
    padding: 20px 0 10px;
  }
  main .index_menu .index_menu_wrap_col2 a .btn {
    max-width: 380px;
    min-width: 100%;
    font-size: small;
    padding: 5px 20px;
  }
  main .index_menu .index_menu_wrap_col3 {
    width: 100%;
    margin: 0 0 15px;
  }
  main .index_menu .index_menu_wrap_col3 a {
    display: block;
    width: 100%;
  }
  main .index_menu .index_menu_wrap_col3 a .photoImage {
    position: relative;
  }
  main .index_menu .index_menu_wrap_col3 a .title {
    font-size: 16px;
    padding: 20px 0 10px;
  }
  main .index_menu .index_menu_wrap_col3 a .btn {
    max-width: 380px;
    min-width: 100%;
    font-size: small;
    padding: 5px 20px;
  }
  main table {
    width: 100%;
    margin: 15px 0;
    line-height: 1.3;
    font-size: 0.7rem;
    letter-spacing: 1px;
  }
  main table thead th {
    padding: 10px;
  }
  main table tbody th, main table tbody td {
    color: #333;
    padding: 10px;
  }
  main table tbody th {
    width: 30%;
  }
  main table tbody td h5 {
    display: block;
    font-size: 0.75rem;
    font-weight: bold;
    text-align: left;
    padding: 20px 0 5px;
    border-bottom: 2px dotted #d5cbd9;
    margin-bottom: 0;
  }
  main table tbody td h6 {
    display: block;
    font-size: 0.7rem;
    font-weight: bold;
    text-align: left;
    padding: 1em 0 0.2em;
  }
  main .gMap iframe {
    width: 100%;
    height: 300px;
    margin: 10px 0;
  }
  main .photoGallery {
    margin: auto;
    padding: 20px 0;
  }
  main .photoGallery .inner {
    width: 100%;
    padding: 0 30px;
  }
  main .photoGallery .inner::after {
    background: url(../images/Film.png) repeat-y left top, url(../images/Film.png) repeat-y right top;
    background-size: 30px auto;
  }
  main .photoGallery .inner ul li {
    width: calc(100% / 2 - 8px);
    margin: 4px;
    height: auto;
    border: 3px solid #fff;
  }
  main .contents_sub_navi01 {
    background: #fff;
    margin: 30px 0 30px;
  }
  main .contents_sub_navi01 .inner {
    margin: auto;
    width: 100%;
  }
  main .contents_sub_navi01 .inner dl {
    padding: 15px;
  }
  main .contents_sub_navi01 .inner dl dt {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50px);
    font-size: 14px;
    padding: 50px 15px 30px;
    height: 32px;
    background: #fff url(../images/iconSearch.svg) no-repeat top center;
    background-size: 40px;
  }
  main .contents_sub_navi01 .inner ul {
    display: block;
    padding: 0;
  }
  main .contents_sub_navi01 .inner ul li {
    width: 100%;
    margin: 5px 0;
  }
  main .contents_sub_navi01 .inner ul li a {
    padding: 8px 10px;
  }
  main .photo {
    margin: 20px 0 20px;
  }
  main .photo li {
    width: calc(100% / 2 - 8px);
    margin: 0 4px 4px;
  }
  main .sns {
    margin-top: 5px;
  }
  main .sns ul {
    justify-content: center;
  }
  main .sns ul li {
    margin: 0 15px 8px 0;
  }
  main .pager {
    padding: 30px 0;
    overflow: hidden;
  }
  main .pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left;
  }
  main .pager ul li {
    margin: 2px;
    position: relative;
    left: -50%;
    float: left;
  }
  main .pager ul li span,
main .pager ul li a {
    font-size: 12px;
    padding: 5px 10px;
  }
  main .pager ul li.current a {
    background: #fbd6e8;
  }
  main .pager ul li.prev a, main .pager ul li.next a {
    font-size: 12px;
    padding: 5px 10px;
  }

  /*--- main ---*/
  /* bannerArea */
  .bannerArea {
    max-width: 100%;
    padding: 20px;
  }
  .bannerArea .inner {
    width: 100%;
  }
  .bannerArea .inner ul li {
    width: calc(100% / 2 - 10px);
    max-width: 280px;
    margin: 5px;
  }

  /* tag */
  .tag {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 0;
  }
  .tag object {
    margin: 3px;
  }
  .tag object a {
    font-size: x-small;
    padding: 5px 15px;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
  }
  .tag object a::before {
    content: "#";
  }

  /* floating_menu */

  /* floating_menu */
}
@media only screen and (max-width: 767px) and (min-width: 768px) {
  .tag object a:hover {
    background: #794747;
    transition: 0.3s;
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu {
    display: block;
    opacity: 1;
    width: 100%;
    height: 80px;
    position: fixed;
    bottom: -100px;
    z-index: 99;
    transition: 0.5s;
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: rgba(255, 255, 255, 0.8);
    padding: 4px 4px 10px 4px;
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu li {
    width: calc(100% / 2 - 6px);
    margin: 3px;
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu a {
    color: #fff;
    position: relative;
    padding: 12px 10px;
    font-size: small;
    font-family: "Josefin Sans", sans-serif;
    font-style: italic;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    display: block;
    text-decoration: none;
    border: 3px solid #e5d671;
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu.smaller {
    position: fixed;
    bottom: 0;
    transition: 0.5s;
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu .c01 a {
    background: url(../images/bgFloating01.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu .c02 a {
    background: url(../images/bgFloating02.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu li.c01 a::after {
    content: "";
    position: absolute;
    right: 7px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 6px;
    height: 6px;
    border-top: solid 2px #e5d671;
    border-right: solid 2px #e5d671;
    transform: rotate(45deg);
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu li.c02 a::after {
    content: "";
    position: absolute;
    right: 7px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 6px;
    height: 6px;
    border-top: solid 2px #e5d671;
    border-right: solid 2px #e5d671;
    transform: rotate(45deg);
  }
}
@media only screen and (max-width: 767px) {
  .floating_menu li.c03 a::after {
    content: "";
    position: absolute;
    right: 7px;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
    width: 6px;
    height: 6px;
    border-top: solid 2px #c9bd7d;
    border-right: solid 2px #c9bd7d;
    transform: rotate(45deg);
  }
}