html,
body {
  position: relative;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

/* Swiper コンテナを画面いっぱいの高さに設定 */
.swiper {
  width: 100%;
  height: calc(100vh - 80px);
  /* ヘッダーの高さ分スライドを下げる */
  box-sizing: border-box;
}

/* 各スライドの高さと表示崩れ防止 */
.swiper-slide {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 100%;
}

/* ページネーション（右側ドット） */
.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical > .swiper-pagination-bullets {
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.swiper-pagination-bullet {
  margin: 6px 0 !important;
}

.swiper-pagination-bullet-active {
  background-color: #00c8a0;
}

table{
  border-collapse: separate;
  overflow: hidden;
  border-spacing: 0;
  text-align: center;
  border-radius: 12px;
  border: 1px solid #ccc;
  font-size: medium;
  
  th {
    vertical-align: middle;
    border: none;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    padding: 15px 20px;
  }

  td {
    vertical-align: middle;
    border: none;
    border-bottom: 1px solid #ccc;
    padding: 15px 20px;
  }

  tr:last-child th{
    border: none;
    border-right: 1px solid #ccc;
  }

  tr:last-child td{
    border: none;
  }

  th {
    background: #D2E7E1;
  }

  td {
    background: #fff;
    text-align: left;
  }
}

.aboutus_map {
  width: 70%;
  max-width: 100%;
}

.text_align_center {
  text-align: center;
}
