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

title : 全国の刀剣関連施設
scope : 全国の刀剣関連施設

memo：

last modify : 2021/01/12 TCI福岡_yoneshima／WEB2TCI-14361 レイアウト変更

2020/11/09 TCI福岡_yoneshima／WEB2TCI-14361 新規作成

========================================================== */
/* ------------------------------------ */
/* ▼ 共通 上書き */
/* ------------------------------------ */
/* - cmn_bnr_area -- */
.cmn_bnr_area a {
  font-size: 0;
}

.cmn_bnr_area.col02 {
  justify-content: center;
}

@media (min-width: 768px) {
  .cmn_anchor>ul>li>a {
    padding: .72em 10px .64em .7em;
  }
}

/* ------------------------------------ */
/* ▼ page common */
/* ------------------------------------ */
/* - sp_pt -- */
@media (min-width: 768px) {
  .sp_pt {
    display: none;
  }
}

@media (max-width: 767px) and (orientation: landscape) {
  .sp_pt {
    display: none;
  }
}

/* ------------------------------------ */
/* ▼ h1 */
/* ------------------------------------ */
.banner_h1 {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

/* ------------------------------------ */
/* ▼ h2 */
/* ------------------------------------ */
.cmn_h2_01 {
  max-width: 864px;
}

/* ------------------------------------ */
/* ▼ cmn_intro_read */
/* ------------------------------------ */
.cmn_intro_read {
  max-width: 760px;
}

/* ------------------------------------ */
/* ▼ section */
/* ------------------------------------ */
/* - section -- */
@media (min-width: 768px) {
  .cmn_section {
    margin-top: 60px;
  }

  .cmn_section:first-of-type {
    margin-top: 45px;
  }
}

@media (max-width: 767px) {
  .cmn_section {
    margin-top: 25px;
  }
}

/* - section_list_block -- */
@media (min-width: 768px) {
  .section_list_block {
    margin-top: 25px;
  }
}

@media (max-width: 767px) {
  .section_list_block {
    margin-top: 20px;
  }
}

/* ------------------------------------ */
/* ▼ desc */
/* ------------------------------------ */
.section_content_desc {
  margin: 0 auto;
}

.section_facility_map_desc {
  max-width: 680px;
}

@media (min-width: 768px) {
  .section_content_desc {
    margin-top: 15px;
    padding-left: 32px;
  }

  .section_related_org_desc {
    max-width: 704px;
    padding: 0 10px;
    letter-spacing: .06em;
  }
}

@media (max-width: 767px) {
  .section_content_desc {
    margin-top: 10px;
    padding: 0 10px;
  }
}

/* ------------------------------------ */
/* ▼ facility_map_block */
/* ------------------------------------ */
.facility_map_block {
  margin: 0 auto;
  max-width: 865px;
}

.facility_map_block_list_inner {
  display: flex;
  flex-wrap: wrap;
}

.facility_map_block_item {
  font-weight: 600;
}

.facility_map_block_name_text.lts_0 {
  letter-spacing: 0;
}

.facility_map_region {
  position: relative;
  text-align: center;
}

.facility_map_region::before {
  border-style: solid;
  content: "";
  display: block;
  height: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
}

.facility_map_region.lts_0 {
  letter-spacing: 0;
}

.facility_map_region a,
.facility_map_region span {
  display: block;
}

@media (min-width: 768px) {
  .facility_map_block {
    background: url("../image/bg-facility-map.png") right 0 top 0 / contain no-repeat;
    padding: 45px 20px 20px;
  }

  .facility_map_block_inner {
    position: relative;
  }

  .facility_map_block_item {
    align-items: center;
    display: flex;
  }

  .facility_map_block_item:not(:first-of-type) {
    margin-top: 15px;
  }

  .facility_map_block_name {
    color: #fff;
    letter-spacing: .06em;
    min-width: 150px;
    padding: 3px 10px 2px;
    text-align: center;
  }

  .facility_map_block_list {
    display: block !important;
    margin-left: 25px;
  }

  .facility_map_region {
    letter-spacing: .06em;
  }

  .facility_map_region:not(:first-of-type) {
    margin-left: 12px;
  }

  .facility_map_region::before {
    border-width: 5px 0 5px 8px;
  }

  .facility_map_region a,
  .facility_map_region span {
    color: #000;
    padding: 2px 0 2px 15px;
  }

  .facility_map_block_item.region01 .facility_map_region::before {
    border-color: transparent transparent transparent #4e71a9;
  }

  .facility_map_block_item.region01 .facility_map_block_name {
    background: #4e71a9;
  }

  .facility_map_block_item.region02 .facility_map_region::before {
    border-color: transparent transparent transparent #5799a3;
  }

  .facility_map_block_item.region02 .facility_map_block_name {
    background: #5799a3;
  }

  .facility_map_block_item.region03 .facility_map_region::before {
    border-color: transparent transparent transparent #3c9064;
  }

  .facility_map_block_item.region03 .facility_map_block_name {
    background: #3c9064;
  }

  .facility_map_block_item.region04 .facility_map_region::before {
    border-color: transparent transparent transparent #779323;
  }

  .facility_map_block_item.region04 .facility_map_block_name {
    background: #779323;
  }

  .facility_map_block_item.region05 .facility_map_region::before {
    border-color: transparent transparent transparent #b8932f;
  }

  .facility_map_block_item.region05 .facility_map_block_name {
    background: #b8932f;
  }

  .facility_map_block_item.region06 .facility_map_region::before {
    border-color: transparent transparent transparent #b3573c;
  }

  .facility_map_block_item.region06 .facility_map_block_name {
    background: #b3573c;
  }

  .facility_map_block_item.region07 .facility_map_region::before {
    border-color: transparent transparent transparent #c05e71;
  }

  .facility_map_block_item.region07 .facility_map_block_name {
    background: #c05e71;
  }

  .facility_map_block_item.region08 .facility_map_region::before {
    border-color: transparent transparent transparent #845c8b;
  }

  .facility_map_block_item.region08 .facility_map_block_name {
    background: #845c8b;
  }

  .facility_map_block_item .facility_map_region.region_gr {
    background-color: #ccc;
  }
}

@media (min-width: 768px) and (max-width: 1000px) {
  .facility_map_block_item {
    font-size: 1.8vw;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .facility_map_region:hover::before {
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .facility_map_block {
    width: 80%;
  }

  .facility_map_block_item {
    border-top: 1px solid #fff;
  }

  .facility_map_block_name .cmn_link_btn_text {
    font-size: 16px;
  }

  .facility_map_block_list {
    display: none;
  }

  .facility_map_region {
    border-top: 1px solid #fff;
    width: 50%;
  }

  .facility_map_region:nth-of-type(2n) {
    border-left: 1px solid #fff;
  }

  .facility_map_region::before {
    border-color: transparent transparent transparent #fff;
    border-width: 4px 0 4px 5px;
    right: 10px;
  }

  .facility_map_region a,
  .facility_map_region span {
    color: #fff;
    padding: 8px 30px;
  }

  .facility_map_block_item.region01 .facility_map_region {
    background: #4e71a9;
  }

  .facility_map_block_item.region02 .facility_map_region {
    background: #5799a3;
  }

  .facility_map_block_item.region03 .facility_map_region {
    background: #3c9064;
  }

  .facility_map_block_item.region04 .facility_map_region {
    background: #779323;
  }

  .facility_map_block_item.region05 .facility_map_region {
    background: #b8932f;
  }

  .facility_map_block_item.region06 .facility_map_region {
    background: #b3573c;
  }

  .facility_map_block_item.region07 .facility_map_region {
    background: #c05e71;
  }

  .facility_map_block_item.region08 .facility_map_region {
    background: #845c8b;
  }

  .facility_map_block_item .facility_map_region.region_gr {
    background: #666;
  }
}

/* ------------------------------------ */
/* ▼ facility_info_block */
/* ------------------------------------ */
.facility_info_block_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
}

.facility_info_block_list {
  background: #fcf6ea;
  border: 1px solid #98853f;
}

.facility_info_block_item {
  height: 100%;
}

.facility_item_link_block {
  display: block;
  height: 100%;
  position: relative;
}

.facility_item_link_block::after {
  background: url("../image/ico-arrow-item01.png") top right / contain no-repeat;
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
}

.facility_item_title_wrap {
  background: url("../image/bg-box-title01.png") top right / contain;
  display: flex;
}

.facility_item_title_img {
  font-size: 0;
  width: 46.502%;
}

.facility_item_title {
  align-items: center;
  display: flex;
  line-height: 1.364;
  width: 53.498%;
}

.facility_item_title_text {
  color: #fff;
  font-weight: 600;
}

.facility_item_text {
  color: #000;
  letter-spacing: .04em;
}

@media (min-width: 768px) {
  .facility_info_block_inner {
    background: url("../image/img-spacer-item01.png") bottom 35px right 9.2% / 35.449% auto no-repeat;
    max-width: 914px;
  }

  .facility_info_block_list {
    width: 48.688%;
  }

  .facility_info_block_list:nth-of-type(n+3) {
    margin-top: 24px;
  }

  .facility_item_link_block::after {
    height: 33px;
    width: 33px;
  }

  .facility_item_title {
    padding: 5px 15px 5px 20px;
  }

  .facility_item_title_text {
    font-size: 22px;
  }

  .facility_item_text_wrap {
    min-height: 90px;
    padding: 15px 20px 25px;
  }

  .facility_item_text {
    font-size: 16px;
  }
}

@media (min-width: 768px) and (max-width: 1000px) {
  .facility_item_title_text {
    font-size: 2.2vw;
  }
}

@media (max-width: 767px) {
  .facility_info_block_inner {
    max-width: 450px;
  }

  .facility_info_block_list {
    width: 100%;
  }

  .facility_info_block_list:not(:first-of-type) {
    margin-top: 15px;
  }

  .facility_item_link_block::after {
    height: 20px;
    width: 20px;
  }

  .facility_item_title {
    padding: 5px 10px 5px 15px;
  }

  .facility_item_title_text {
    font-size: 18px;
  }

  .facility_item_text {
    font-size: 14px;
  }

  .facility_item_text_wrap {
    padding: 10px 15px 20px;
  }
}

/* ------------------------------------ */
/* ▼ related_org_block */
/* ------------------------------------ */
.related_org_block .cmn_bnr_area.col03 {
  margin-top: 24px;
}

@media (min-width: 768px) {
  .related_org_block .cmn_bnr_area.col03.cmn_has_spacer {
    background: url(../image/img-menu-org-spacer.png) no-repeat right 1.7% bottom 68px;
    background-size: 31.3% auto!important;
  }

  .related_org_block .cmn_bnr_area.col03 {
    max-width: 885px;
  }

  .related_org_block .cmn_bnr_area.col03 figure {
    margin-left: 1.95%;
    max-width: 277px;
    width: 32.03%;
  }

  .related_org_block .cmn_bnr_area.col03 figure:nth-of-type(3n+1) {
    margin-left: 0;
  }

  .related_org_block .cmn_bnr_area.col03 .cmn_bnr_cap {
    margin-top: 10px;
    letter-spacing: .06em;
    line-height: 1.3;
    padding-right: 8px;
  }
}

@media (max-width: 767px) {
  .related_org_block .cmn_bnr_area {
    max-width: 574px;
  }
}