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

title : 【刀剣ワールド】全国の古戦場一覧
scope : 【刀剣ワールド】全国の古戦場一覧

memo：

last modify : 2020/09/30 TCI福岡／WEB2TCI-13946 全国の古戦場一覧／地図アイコンにリンクを付与

2020/09/10 TCI福岡_sakaguchi 古戦場紹介／SP版の崩れ改修
2020/08/17 TCI福岡_sakaguchi 共通tableクラスの導入

========================================================== */

/*--- メインタイトル ---*/
.breadcrumbs {
  margin: 15px auto 36px;
}

.banner_h1.kv_large__wrap h1 {
  background: url(/wp/wp-content/themes/wp-templ/tips/image/ttl-header-tips.png) no-repeat;
  background-size: 100% 100%;
  height: 80px;
  padding: 18px 0 17px;
}

.banner_h1.kv_large__wrap .txth1 {
  font-size: 38px;
  position: static;
  top: auto;
  left: auto;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  -o-transform: translate(0);
  transform: translate(0);
  line-height: 1.2;
}

.box01 {
  max-width: 48.4375em;
}

.box__txt {
  margin-bottom: 30px;
  margin-top: 1.666em;
}

.none {
  display: none;
}

/*--- main__content ---*/
.box__main {
  max-width: 49.5em;
}

.box__main .title_h2cmn {
  margin-bottom: .666em;
}

.box__main .title_h2cmn >span >span {
  letter-spacing: .15em;
}

.box_img {
  padding: 0 3.125em 3.125em;
}

.anchor_cmn {
  margin-bottom: 0;
  max-width: 46.875em;
}

.anchor_cmn ul li a {
  letter-spacing: 0;
}

/* note */
.note {
  font-size: 1.6rem;
  letter-spacing: .1em;
  line-height: 1.4;
  margin: 0 auto .2em;
  max-width: 56.25em;
  text-align: right;
}

/*--- テーブル ---*/
.tablescroll {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;

}

.anchor__content {
  margin-bottom: 3.125em;
}

.anchor__content:last-child {
  margin-bottom: 0;
}

.anchor__content .anchor__title .title {
  background: url(../image/bkg07.png) repeat 0 0;
  background-size: 40px auto;
  font-size: 2.2rem;
  height: auto;
  line-height: 1.6;
  padding: 7px 0 8px;
}

.anchor__content .anchor__title .title span {
  display: inline-block;
  padding: 0 40px;
  position: relative;
}

.anchor__content .anchor__title .title span::before,
.anchor__content .anchor__title .title span::after {
  background: url("../image/ico-ttl-table.png") no-repeat 0 0;
  background-size: cover;
  bottom: 0;
  content: "";
  height: 22px;
  margin: auto;
  position: absolute;
  top: 0;
  width: 22px;
}

.anchor__content .anchor__title .title span::before {
  left: 10px;
}

.anchor__content .anchor__title .title span::after {
  right: 10px;
}

.anchor__content table {
  table-layout: fixed;
}

.tb_header_box .cmn_table_border.type01 {
  border-bottom: none;
  border-color: #b28e5f;
  border-top: none;
}

.anchor__content th {
  font-size: 1.8rem;
  line-height: 1.8;
}

.anchor__content th:nth-child(2),
.anchor__content th:nth-child(3),
.anchor__content th:nth-child(5) {
  letter-spacing: .3em;
  text-indent: .3em;
}

.anchor__content td {
  background: #fffef0;
  font-size: 1.7rem;
  padding-bottom: 1.1765em;
  padding-top: 1.1765em;
}

.anchor__content tr:first-of-type th:nth-child(1) {
  width: 13.4rem;
}

.anchor__content .pref:nth-child(1) {
  width: 13.4rem;
  font-weight: normal;
}

.anchor__content tr:first-of-type th:nth-child(2),
.anchor__content tr:first-of-type td:nth-child(2) {
  width: 31.6rem;
}

.anchor__content tr:first-of-type th:nth-child(3),
.anchor__content tr:first-of-type td:nth-child(3) {
  width: 16.8rem;
}

.anchor__content tr:first-of-type th:nth-child(4),
.anchor__content tr:first-of-type td:nth-child(4) {
  width: 21rem;
}

.anchor__content tr:first-of-type th:last-child {
  width: 16.9rem;
}

.anchor__content tr:first-of-type td:last-child {
  width: 16.9rem;
}

.anchor__content th:last-child,
.anchor__content td:last-child {
  max-width: none;
  min-width: auto;
}

.tb_header_box th:first-of-type {
  border-right-width: 2px;
}

.anchor__content .pref {
  background: url("../image/bg-ttl-table-brown.png") repeat 0 0;
  background-size: 117px 76px;
  border-right-width: 2px;
  color: #fff;
}

.tbl_scroll table {
  border-color: #b28e5f;
  border-top: none;
}

.tbl_scroll tr:last-of-type td {
  border-bottom: none;
}

.tbl_scroll_box .battle_name {
  font-weight: 600;
}

/* btn */
.anchor__content .cmn_link_btn {
  width: 8.5em;
}
.anchor__content .cmn_link_btn_text {
  font-size: 15px;
  padding-top: 3px;
  padding-bottom: 3px;
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
  .anchor__content .pref {
    font-weight: 600;
  }
  .anchor_cmn ul li a {
    font-weight: 600;
  }
}

/* メインイメージ動画用 */
.kv_large.movie-wrap {
  position: relative;
  background: #fff;
}
.kv_large video {
  width: 100%;
}
#end-image {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

@media (max-width: 767px) {
  #end-image:before {
    content: "";
    background: url(/image_cmn/ico_play.png) no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 54px;
    height: 54px;
    opacity: 0.8;
  }
  #end-image.played:before {
    content: none;
  }
}

/*--- バナー ---*/
.box_bnr {
  margin-bottom: 46px;
}
.box_bnr_item {
  margin: 0 auto;
  max-width: 500px;
}
.box_bnr_item a {
  display: block;
}
.box_bnr_item a:hover {
  opacity: .5;
  transition: .3s;
}
.box_bnr_cap {
  letter-spacing: .06em;
  margin-top: 7px;
}

/*--- SP ---*/
@media ( max-width: 767px ) {
  .wcm {
    padding: 0 10px;
  }
  .banner_h1 {
    padding: 0;
  }
  .banner_h1.kv_large__wrap h1 {
    background-image: url(/wp/wp-content/themes/wp-templ/tips/image/ttl-header-tips-sp.png);
    background-size: 100% auto;
    height: auto;
    padding: 18.7% 0 0 0;
    position: relative;
  }
  .banner_h1 .txth1 {
    font-feature-settings: "pkna";
  }
  .banner_h1.kv_large__wrap .txth1 {
    font-size: 5.5vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .box__txt {
    font-size: 1.6rem;
    letter-spacing: .05em;
    line-height: 1.4;
    margin: 1.25em 0;
    padding: 0 .625em;
  }
  .box_img {
    min-width: initial;
    padding-left: 0;
    padding-right: 0;
  }
  .note {
    font-size: 1.4rem;
  }
  .tablescroll {
    width: auto;
  }
  .tablescroll table {
    width: 100%;
  }
  .anchor__content .anchor__title .title {
    font-size: 1.1875em;
  }
  .anchor__content th {
    white-space: nowrap;
  }
  .anchor__content th {
    font-size: 1.4rem;
    line-height: 1;
    padding: .714em;
  }
  .anchor__content .pref {
    font-weight: normal;
  }
  .anchor__content td {
    font-size: 1.4rem;
    line-height: 1.428em;
    min-width: 6.785em;
    padding: 1.071em .833em;
  }
  .anchor__content .anchor__title {
    margin-bottom: .8125em;
  }
  .tbl_scroll_box {
    margin-right: 2.5em;
    padding-top: 3.2rem;
    position: relative;
  }
  .tbl_scroll_box.rem_space {
    margin-right: 0;
  }
  .tb_header_box {
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%;
  }
  .tbl_scroll {
    margin-bottom: 5em;
    max-height: 28.625em;
  }
  .mCSB_scrollTools.mCSB_scrollTools_horizontal {
    border: 1px solid #666;
    height: 27px;
    margin-top: 1em;
    padding: 0 1.5625em;
    position: absolute;
  }
  .mCSB_scrollTools.mCSB_scrollTools_vertical {
    border: 1px solid #666;
    padding: 1.5625em 0;
    width: 26px;
  }
  .mCustomScrollBox + .mCSB_scrollTools.mCSB_scrollTools_horizontal,
  .mCustomScrollBox + .mCSB_scrollTools + .mCSB_scrollTools.mCSB_scrollTools_horizontal {
    bottom: -2.625em;
  }
  .box_bnr {
    margin-bottom: 20px;
    padding: 0 10px;
  }
  .box_bnr_cap {
    font-size: 15px;
  }
}

/*--- btm_img ---*/
.btm_img {
  margin-top: 8.5%;
  padding-bottom: 3%;
  width: 90%;
}

/* ------------------------------------ */
/* ▼ video area 20200407_uesugi */
/* ------------------------------------ */

/* .video_sec_title */
.video_sec_title {
  display: block;
  margin: 0 auto;
  padding: 6px 0;
  position: relative;
  width: 347px;
}
.video_sec_title:before,
.video_sec_title:after {
  content: "";
  display: block;
  height: 2px;
  margin-top: -1px;
  position: absolute;
  top: 50%;
  width: 310px;
}
.video_sec_title:before {
  right: 104.5%;
}
.video_sec_title:after {
  left: 104.5%;
}
.video_sec_title>span {
  display: block;
  font-size: 0;
  padding: 2px 10px;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}
.video_sec_title>span>span {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  padding: 0 35px;
  position: relative;
  vertical-align: middle;
}
.video_sec_title>span>span:before,
.video_sec_title>span>span:after {
  background: url(../image/ico-title-deco.png) no-repeat center;
  content: "";
  display: block;
  height: 16px;
  left: 0;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 22px;
}
.video_sec_title>span>span:after {
  left: auto;
  right: 0;
}

@media (max-width: 767px) {
  .video_sec_title {
    padding: 4px 0;
    width: 258px;
  }
  .video_sec_title:before,
  .video_sec_title:after {
    width: 35px;
  }
  .video_sec_title>span {
    background-size: 100%;
    font-feature-settings: "pkna";
    padding: 6px 0;
  }
  .video_sec_title>span>span {
    font-size: 16px;
    padding: 0 25px;
    line-height: 1.2;
  }
  .video_sec_title>span>span:before,
  .video_sec_title>span>span:after {
    background-size: 100% 100%;
    margin-top: -8px;
  }
  .video_sec_title>span>span:before {
    left: 3px;
  }
  .video_sec_title>span>span:after {
    right: 3px;
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .video_sec_title>span {
    padding: 6px 10px 2px;
  }
}

/* type01 */
.video_sec_title.title_type01 {
  background:
  url(../image/bg-title01-top.png) no-repeat top center,
  url(../image/bg-title01-bottom.png) no-repeat bottom center;
  background-size: 100% auto;
}
.video_sec_title.title_type01>span {
  background: url(../image/bg-title01-center.png) repeat top left;
  background-size: 100% auto;
}
.video_sec_title.title_type01:before,
.video_sec_title.title_type01:after {
  background-color: #ab2422;
}

/* video_section */
.video_section {
  margin: 6.5% auto 0;
  width: 100%;
}
.video_read {
  margin: 16px auto 0;
  letter-spacing: .06em;
  text-align: center;
  max-width: 770px;
}

.video_section .roll:hover img {
  opacity: 1;
}

@media (max-width: 767px) {
  .video_section {
    margin-top: 40px;
    padding: 0 10px;
  }
  .video_read {
    font-size: 15px;
    margin: 15px auto 0;
  }
}

/* movie */
.grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 2% auto 0;
  max-width: 810px;
}
.grid .item {
  margin: 0 10px;
  width: calc(33.3333% - 20px);
}
.grid .item.col01:nth-of-type(n+3) {
  margin-top: 20px;
}
.grid .item.col01 {
  width: 364px;
}

.item__inner {
  position: relative;
}
.item.no_link .ic_play {
  background: none;
}
.item__inner .bximg {
  border: 2px solid #000;
  position: relative;
  min-height: 140px;
  overflow: hidden;
}
.item.col01 .item__inner .bximg {
  min-height: 205px;
}
.item__inner .bximg img {
  position: absolute;
  top: -25px;
}
.item.col01 .item__inner .bximg img {
  top: -35px;
}
.item .item__inner img.item__space {
  top: 15px;
  right: 10px;
}
.item .pmheight {
  background: url(../image/bg-move.png) repeat 0 0;
  font-size: 16px;
  padding: 23px 8px 24px;
  margin-top: -1px;/* iPad表示時のみで見られるimgとの隙間を埋めるため */
  text-align: center;
}
.item .pmheight.retouch {
  align-items: center;
  display: flex;
  justify-content: center;
  padding: 10px 8px;
}
.item .pmheight .pc {
  display: inline !important;
}
.item .pmheight a {
  color: #fff;
  display: block;
}
.item .ic_play {
  background: url(../image/ico_play.png) no-repeat center;
  background-size: 25% auto;
  bottom: 0;
  font-size: 0;
  left: 0;
  position: absolute;
  top: 0;
  right: 0;
}
.item.col01 .ic_play {
  background-size: 18% auto;
}

@media (max-width: 767px) {
  .grid {
    margin: 2% 0;
    padding: 0;
  }
  .grid .item {
    margin: 0 2%;
    width: 46%;
  }
  .grid .item.col01 {
    max-width: 364px;
    width: 80%;
  }
  .grid .item.col01:nth-of-type(n+3) {
    margin: 4% 2% 0;
  }
  .grid .item.col01:nth-of-type(n+2) {
    margin-top: 4%;
  }
  .item__inner .bximg {
    min-height: 100%;
  }
  .item.col01 .item__inner .bximg {
    min-height: 100%;
  }
  .item .item__inner img {
    display: block;
    position: relative;
    top: 0;
  }
  .item.col01 .item__inner .bximg img {
    top: 0;
  }
  .item .pmheight {
    margin-top: 0;
    padding: 4.5% 5%;
  }
  .item .pmheight.retouch {
    padding: 4.5% 5%;
  }
  .item .pmheight .pc {
    display: none !important;
  }
  .item .pmheight a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
  }
}

/* ------------------------------------ */
/* ▼ Map pan zoom */
/* ------------------------------------ */
.map_plot_wrap {
  margin: 0 auto 50px;
  max-width: 890px;
  position: relative;
  width: 100%;
}

.map_plot_title {
  font-weight: 600;
  font-size: 24px;
  text-align: center;
}

.map_plot_inner {
  height: 500px;
  margin-top: 5px;
  outline: none;
  overflow: hidden;
  position: relative;
}

.map_plot_scroll {
  cursor: move;
  position: relative;
  height: 1829px;
  width: 1780px;
}

.map_plot_img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.ico_map_wrap {
  transform-origin: 0 0;
  transform: none;
}

.ico_map_wrap>a {
  position: relative;
  transition: none;
}

.ico_map_wrap>a:hover {
  background-color: #fff;
  color:#0d53de;
}

.ico_map_wrap>a img:hover {
  opacity: .5;
}

.ico_map_wrap img {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  vertical-align: bottom;
  width: 100%;
}

.ico_map_wrap .ico_large,
.ico_map_wrap .ico_small {
  display: block;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
}

.ico_map_wrap .ico_large {
  width: 26px;
}

.ico_map_wrap .ico_small {
  border-radius: 50%;
  width: 16px;
}

.ico_map_wrap>a.show_tooltip {
  z-index: 10!important;
}

.ico_map_tooltip {
  background-color: #fff;
  border: solid 1px #555;
  font-size: 15px;
  letter-spacing: .03em;
  line-height: 1.2;
  max-width: 10em;
  padding: .5em .5em;
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translate3d(-50%, 0, 0);
  text-align: center;
  width: 20em;
  z-index: 2;
}

.ico_map_tooltip:hover {
  color:#dd0000;
}

.ico_map_wrap>a:not(.show_tooltip) .ico_map_tooltip {
  display: none;
}

.ico_map_tooltip::before,
.ico_map_tooltip::after {
  border-style: solid;
  border-width: 12px 10px 0 10px;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
}

.ico_map_tooltip::before {
  border-color: #555 transparent transparent transparent;
  top: calc(100% + 1px);
}

.ico_map_tooltip::after {
  border-color: #fff transparent transparent transparent;
  top: calc(100% - 1px);
}

.map_plot_desc_wrap {
  margin: 0 auto 30px;
  max-width: 820px;
  padding: 0px 15px;
  width: 100%;
}

.map_plot_border_warp {
  border: solid 1px #b28e5f;
  margin-top: 30px;
  padding: .7em 1em;
}

.map_plot_desc {
  font-size: 1.6rem;
}

.map_plot_desc_indent {
  display: inline-block;
  padding-top: 2px;
  padding-left: 6em;
  text-indent: -6em;
}

.map_plot_desc_icon {
  background-image: url(../image/ico_large.png);
  background-position: 1px center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
  padding: .1em 0 .1em 1.4em;
}

.map_plot_desc_symbol {
  background-position: 1px center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  padding-left: 1.2em;
}

.map_plot_desc_symbol.is_plus {
  background-image: url(../image/zoom-in.png);
}

.map_plot_desc_symbol.is_minus {
  background-image: url(../image/zoom-out.png);
}

.map_plot_desc_symbol_inner {
  font-size: 0;
}

body:not(.is_touch_not_supported) .display_mouse_only {
  display: none;
}

body:not(.is_touch_supported) .display_touch_supported {
  display: none;
}

/* 「.map_plot_inner」内にボタンを配置するとIE11で「dblclick」が取得できなくなります */
.map_plot_control {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 40px;
  z-index: 1;
}

body:not(.is_touch_not_supported) .map_plot_control {
  display: none;
}

button.map_zoom_btn {
  background-color: #fff;
  border: solid 1px #ccc;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  height: 40px;
  letter-spacing: 0;
  line-height: 1;
  outline: none;
  padding: 0;
  position: relative;
  width: 40px;
  -webkit-appearance: none;
}

.map_zoom_btn::before,
.map_zoom_btn::after {
  background-color: #000;
  content: "";
  display: block;
  height: 2px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 40%;
}

.map_zoom_btn.map_zoom_in::after {
  transform: rotate(90deg);
}

button.map_zoom_btn.inactive {
  background-color: #999;
  border-color: #999;
  cursor: initial;
}

.map_zoom_btn.inactive::before,
.map_zoom_btn.inactive::after {
  background-color: #666;
}

@media (min-width: 768px) {
  .map_zoom_out {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .map_plot_wrap {
    margin-bottom: 30px;
    padding: 0 10px;
  }

  .map_plot_inner {
    height: 400px;
  }

  .map_plot_desc_wrap {
    padding: 0 10px;
  }

  .map_plot_border_warp {
    margin-top: 20px;
  }

  .map_plot_desc {
    font-size: 1.5rem;
  }

  .map_plot_desc_icon {
    background-size: 16px 16px;
    padding: .1em 0 .1em 1.2em;
  }

  .map_plot_control {
    right: 20px;
  }

  .map_zoom_out {
    margin-top: 10px;
  }
}