@charset "UTF-8";
/* ==========================================================

title : 日本地図からお城検索
scope :

last modify : 2018/06/18 Chau

========================================================== */
/* .content
========================================================== */
.content {
  display: block;
  font-size: 15px;
  margin: 5px auto 0;
  position: relative;
  width: 1000px;
}

.content a:link, .content a:visited {
  color: #3535ce;
}

.content a:hover {
  color: #ea2020;
}

.mod_lead {
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 1.6em;
  margin: 25px auto 23px;
  text-align: left;
  width: 660px;
}

.mo_box.bc28 {
  padding: 35px 45px;
  text-align: center;
}

.mapbox {
  background: url(/castle/castle_map/image/bg-map.jpg) no-repeat 0 0;
  min-height: 650px;
}

.mapbox_area {
  position: relative;
  z-index: 3;
}

.mapbox_ttl {
  background: #0c5175;
  color: #fff;
  font-size: 28px;
  line-height: 1.2;
  padding: 10px 5px 8px 61px;
  position: relative;
}

.mapbox_ttl:before {
  background: url(/castle/castle_map/image/ico-search.png) no-repeat 0 0;
  content: "";
  display: block;
  height: 31px;
  left: 18px;
  position: absolute;
  top: 10px;
  width: 31px;
}

.mapbox_body {
  position: relative;
}

.mapbox_body_ttl {
  left: 52px;
  position: absolute;
  top: 19px;
}

.mapbox_desc {
  padding: 121px 0 0 30px;
}

.mapbox_desc:before {
  background: url(/castle/castle_map/image/ico-owl.png) no-repeat 0 0;
  content: "";
  display: block;
  height: 96px;
  left: 0;
  margin: 61px 0 0 188px;
  position: absolute;
  top: 0;
  width: 115px;
}

.mapbox_desc:after {
  background: url(/castle/castle_map/image/img-map.png) no-repeat 0 0;
  content: "";
  display: block;
  height: 629px;
  left: 54px;
  position: absolute;
  top: -44px;
  width: 910px;
}

.mapbox_desc_txt {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 0 10px #98c0c5;
  font-size: 16px;
  letter-spacing: -0.02em;
  line-height: 1.6;
  margin: 8px;
  padding: 8px 12px 5px;
  position: relative;
  text-align: center;
  width: 420px;
  z-index: 2;
}

.mapbox_desc_txt:after {
  background: url(/castle/castle_map/image/bg-map-cloud.png) no-repeat 0 0;
  content: "";
  display: block;
  height: 115px;
  left: -38px;
  position: absolute;
  top: 37px;
  width: 224px;
}

.mapbox_area .area {
  position: absolute;
  width: 214px;
}

.mapbox_area .area_ttl {
  border-bottom: 2px solid #384fc1;
  line-height: 0;
  margin-left: 2px;
}

.mapbox_area .area_ttl span {
  background: #384fc1;
  color: #fff;
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  height: 21px;
  line-height: 1;
  min-width: 59px;
  padding: 4px 5px 3px 11px;
  position: relative;
  text-align: center;
}

.mapbox_area .area_ttl span:after {
  border-bottom: 21px solid #384fc1;
  border-right: 9px solid transparent;
  content: "";
  display: block;
  font-size: 0px;
  height: 0;
  line-height: 0%;
  position: absolute;
  right: -9px;
  top: 0;
  width: 0;
  width: 0px;
}

.mapbox_area .area_lst {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3px -2px 0 0;
}

.mapbox_area .area_lst li {
  font-weight: bold;
  margin: 0 3px 4px 0;
  width: 69px;
}

.mapbox_area .area_lst li a {
  background: #fff url(/castle/castle_map/image/bg-line-area1.png) no-repeat 0 0;
  border: 1px solid #8398b4;
  box-shadow: 0 0 3px rgba(142, 142, 142, 0.5);
  color: #222;
  display: block;
  font-size: 17px;
  line-height: 1.2;
  margin: 2px;
  padding: 7px 0 3px;
  text-align: center;
}

.mapbox_area .area_lst li a:hover {
  opacity: 0.7;
}

.mapbox_area .area_1col {
  overflow: hidden;
  width: 67px;
}

.mapbox_area .area_1col .area_ttl span {
  padding: 4px 0 3px 0;
  width: 65px;
}

.mapbox_area .area_1col .area_lst {
  margin-right: -5px;
}

.mapbox_area .area_2col {
  overflow: hidden;
  width: 144px;
}

.mapbox_area .area_01 {
  right: 58px;
  top: calc(134px - 201px);
}

.mapbox_area .area_02 {
  left: 804px;
  top: calc(218px - 201px);
}

.mapbox_area .area_02 .area_ttl {
  border-bottom-color: #0072ba;
}

.mapbox_area .area_02 .area_ttl span {
  background: #0072ba;
}

.mapbox_area .area_02 .area_ttl span:after {
  border-bottom-color: #0072ba;
}

.mapbox_area .area_02 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area2.png);
}

.mapbox_area .area_03 {
  left: 732px;
  top: calc(442px - 201px);
}

.mapbox_area .area_03 .area_ttl {
  border-bottom-color: #29a2a7;
}

.mapbox_area .area_03 .area_ttl span {
  background: #29a2a7;
}

.mapbox_area .area_03 .area_ttl span:after {
  border-bottom-color: #29a2a7;
}

.mapbox_area .area_03 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area3.png);
}

.mapbox_area .area_04 {
  left: 610px;
  top: calc(60px - 201px);
}

.mapbox_area .area_04 .area_ttl {
  border-bottom-color: #08916c;
}

.mapbox_area .area_04 .area_ttl span {
  background: #08916c;
}

.mapbox_area .area_04 .area_ttl span:after {
  border-bottom-color: #08916c;
}

.mapbox_area .area_04 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area4.png);
}

.mapbox_area .area_05 {
  left: 525px;
  top: calc(99px - 201px);
}

.mapbox_area .area_05 .area_ttl {
  border-bottom-color: #c09e00;
}

.mapbox_area .area_05 .area_ttl span {
  background: #c09e00;
}

.mapbox_area .area_05 .area_ttl span:after {
  border-bottom-color: #c09e00;
}

.mapbox_area .area_05 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area5.png);
}

.mapbox_area .area_06 {
  left: 577px;
  top: calc(481px - 201px);
}

.mapbox_area .area_06 .area_ttl {
  border-bottom-color: #7c9b29;
}

.mapbox_area .area_06 .area_ttl span {
  background: #7c9b29;
}

.mapbox_area .area_06 .area_ttl span:after {
  border-bottom-color: #7c9b29;
}

.mapbox_area .area_06 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area6.png);
}

.mapbox_area .area_07 {
  left: 278px;
  top: calc(218px - 201px);
}

.mapbox_area .area_07 .area_ttl {
  border-bottom-color: #e47b00;
}

.mapbox_area .area_07 .area_ttl span {
  background: #e47b00;
}

.mapbox_area .area_07 .area_ttl span:after {
  border-bottom-color: #e47b00;
}

.mapbox_area .area_07 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area7.png);
}

.mapbox_area .area_08 {
  left: 48px;
  top: calc(218px - 201px);
}

.mapbox_area .area_08 .area_ttl {
  border-bottom-color: #e65f35;
}

.mapbox_area .area_08 .area_ttl span {
  background: #e65f35;
}

.mapbox_area .area_08 .area_ttl span:after {
  border-bottom-color: #e65f35;
}

.mapbox_area .area_08 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area8.png);
}

.mapbox_area .area_09 {
  left: 422px;
  top: calc(481px - 201px);
}

.mapbox_area .area_09 .area_ttl {
  border-bottom-color: #d95593;
}

.mapbox_area .area_09 .area_ttl span {
  background: #d95593;
}

.mapbox_area .area_09 .area_ttl span:after {
  border-bottom-color: #d95593;
}

.mapbox_area .area_09 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area9.png);
}

.mapbox_area .area_10 {
  left: 48px;
  top: calc(336px - 201px);
}

.mapbox_area .area_10 .area_ttl {
  border-bottom-color: #d2485f;
}

.mapbox_area .area_10 .area_ttl span {
  background: #d2485f;
}

.mapbox_area .area_10 .area_ttl span:after {
  border-bottom-color: #d2485f;
}

.mapbox_area .area_10 .area_lst li a {
  background-image: url(/castle/castle_map/image/bg-line-area10.png);
}

.mapbox_area .area .area_lst li.item_gray span {
  background: #999 url(/castle/castle_map/image/bg-line-gray.png) no-repeat 0 0;
  background-color: #999;
  border: 1px solid #8398b4;
  box-shadow: 0 0 3px rgba(142, 142, 142, 0.5);
  color: #fff;
  display: block;
  font-size: 17px;
  line-height: 1.2;
  margin: 2px;
  padding: 7px 0 3px;
  text-align: center;
}

#hmr_movgallery {
  margin: 53px auto;
  width: 900px;
}

#hmr_movgallery h2 {
  background: url("/castle/castle_map/image/bg-ttl-video.png") no-repeat 0 0;
  height: 45px;
  margin-bottom: 25px;
}

#hmr_movgallery h2 span {
  color: #fff;
  display: inline-block;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 45px;
  position: relative;
  text-align: center;
  text-indent: 64px;
}

#hmr_movgallery h2 span:before {
  background: url(/castle/castle_map/image/ico-note.png) no-repeat 0 0;
  content: "";
  height: 24px;
  left: 22px;
  position: absolute;
  top: 10px;
  width: 24px;
}

#hmr_movgallery .lead {
  letter-spacing: 0.05em;
  margin-bottom: 15px;
  text-align: center;
}

.list_video {
  display: table;
  margin: 0 auto;
  width: 626px;
}

.list_video li {
  display: table-cell;
  font-size: inherit;
  vertical-align: top;
  width: 293px;
}

.list_video li a.video {
  color: #fff;
  display: block;
}

.list_video li a.video .spr {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.list_video li a.video .spr:after {
  background: url(/castle/castle_map/image/btn-play.png) no-repeat center;
  background-size: cover;
  bottom: 0;
  content: "";
  height: 45px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 45px;
}

.list_video li a.video:hover .spr {
  opacity: 0.7;
}

.list_video li .video {
  background-color: #a260b2;
  background-color: #a260b2;
  border-radius: 5px 5px 0 0;
  box-shadow: 0 0 8px rgba(150, 150, 150, 0.35);
  color: #fff;
  min-height: 200px;
  padding-bottom: 1px;
  text-align: center;
  width: 283px;
}

.list_video li .video img {
  vertical-align: top;
}

.list_video li .video .ttl {
  display: block;
  font-size: 18px;
  line-height: 1.7;
  min-height: 40px;
  padding: 5px 0;
}

.list_video li .more {
  display: block;
  font-size: 15px;
  margin-top: 14px;
  padding-right: 15px;
  text-align: right;
}

.list_video li .more span {
  background: url(/castle/castle_map/image/ico-arrow01.gif) no-repeat right center;
  padding-right: 15px;
}

.list_video .item_r {
  padding-left: 50px;
}

.list_video .item_r .video {
  background-color: #d84848;
  box-shadow: 0 0 8px rgba(150, 150, 150, 0.35);
}

.list_video .item_r .more span {
  background-image: url(/castle/castle_map/image/ico-arrow02.gif);
}
