@charset "UTF-8";
/* map */
.map {
  width: 100%;
  background-color: #ebebeb;
  background-image: url("../img/feature2_left@2.webp"), url("../img/feature2_right@2.webp"); /* 右側の画像 */
  background-repeat: no-repeat, no-repeat;
  background-position: left 20px top, right 20px top;
  background-size: 10%, 10%;
}
.map__wrap {
  width: 100%;
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;
  padding-top: 180px;
  padding-bottom: 150px;
}
.map__title {
  font-family: "Zen Old Mincho", serif;
  font-weight: bold;
  font-size: 30px;
  font-style: normal;
  text-align: center;
  margin-bottom: 39px;
  letter-spacing: 0.03em;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}
.map__title-2 {
  margin-bottom: 48px;
}
.map__title-3 {
  margin-bottom: 48px;
}
.map__title-3--sub {
  display: block;
  margin: 20px auto 0;
  text-align: center;
  font-size: 17px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 30px;
  padding: 0 30px;
}
.map__title-3--sub br {
  display: none;
}
.map__title-4 {
  margin-bottom: 47px;
}
.map__scroll {
  display: none;
}
.map__box {
  margin-bottom: 95px;
}
.map__box img {
  width: 100%;
}
.map__table {
  width: 100%;
  margin-bottom: 100px;
}
.map__table-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.map__table-left, .map__table-right {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  box-sizing: border-box;
}
.map__table-left th, .map__table-right th {
  width: 60px;
  font-size: 18px;
  background-color: #f19eb4;
  color: #3b4043;
}
.map__table-left th,
.map__table-left td, .map__table-right th,
.map__table-right td {
  height: 50px;
  vertical-align: middle;
  letter-spacing: 0.05rem;
  font-weight: 500;
}
.map__table-left td, .map__table-right td {
  text-align: left;
  padding-left: 30px;
  background-color: #fff;
}
.map__table-left td a, .map__table-right td a {
  color: #bc0000;
}
.map__table-left td a:hover, .map__table-right td a:hover {
  transition: 0.3s;
  opacity: 0.6;
}
.map__table-left tr:first-child th, .map__table-right tr:first-child th {
  font-size: 14px;
  color: #2c2c2c;
}
.map__table-left tr:first-child td, .map__table-right tr:first-child td {
  font-size: 14px;
  text-align: center;
  padding-left: 0;
  background-color: #efd6d7;
  color: #2c2c2c;
}
.map__table-left tr .table__black, .map__table-right tr .table__black {
  background-color: #adddf2;
  color: #3b4043;
}
.map__table-left tr:first-child .table__black, .map__table-right tr:first-child .table__black {
  color: #3b4043;
}
.map__table-left tr:first-child .table__gray, .map__table-right tr:first-child .table__gray {
  background-color: #e0f7ff;
  color: #3b4043;
}
.map__table-left th,
.map__table-left td {
  border: 1px solid #707070;
  box-sizing: border-box;
}
.map__table-right th,
.map__table-right td {
  border: 1px solid #707070;
  box-sizing: border-box;
}
.map__table-right th:first-child,
.map__table-right td:first-child {
  border-left: none;
}

/* ===== 単一テーブル用（ConceptGallery） ===== */
.map__table.is-single .map__table-wrap {
  display: block;
}

.map__table-single {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  box-sizing: border-box;
}
.map__table-single th,
.map__table-single td {
  border: 1px solid #707070;
  height: 50px;
  vertical-align: middle;
  letter-spacing: 0.05rem;
  box-sizing: border-box;
  font-weight: 500;
}
.map__table-single th.table__black {
  font-size: 18px;
  background-color: #f4a467;
  color: #3b4043;
  text-align: center;
}
.map__table-single td {
  text-align: left;
  padding-left: 30px;
  background-color: #fff;
}
.map__table-single td a {
  color: #bc0000;
}
.map__table-single td a:hover {
  transition: 0.3s;
  opacity: 0.6;
}
.map__table-single td.table__period {
  padding: 0 20px;
  text-align: center;
}
.map__table-single tr:first-child th.table__black {
  font-size: 14px;
  color: #2c2c2c;
}
.map__table-single tr:first-child td.table__gray {
  font-size: 14px;
  text-align: center;
  padding-left: 0;
  background-color: #ffd3b2;
  color: #2c2c2c;
}
.map__table-single th.table__black {
  width: 60px;
  font-weight: 500;
}

/* ===== SP（801px以下）：ConceptGallery 単一テーブルを横スクロール表示 ===== */
@media screen and (max-width: 801px) {
  .map__wrap {
    width: calc(100% - 0px); /* 参照CSSに合わせる */
  }
  .map__table {
    margin-right: auto;
    margin-left: auto;
  }
  .map__table.is-single {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .map__table.is-single .map__table-single {
    width: calc(100% - 30px);
    margin: 0 auto;
  }
  .map__table.is-single .map__table-single td {
    padding-left: 14px;
    padding-right: 14px;
    font-size: 14px;
  }
  .map__table.is-single .map__table-single th.table__black {
    font-size: 14px;
  }
}/*# sourceMappingURL=map.css.map */