@charset "utf-8";
/* -----------------------------------------------------------------
 cmn_parts.css 上書き
----------------------------------------------------------------- */
.cmn_title02 {
  font-size: 1.15rem;
}
.cmn_bg_pale_bl02 {
  padding-bottom: var(--margin_size_S-M);
}
/* -----------------------------------------------------------------
 .cmn_layout_2col
----------------------------------------------------------------- */
@media print, screen and (min-width: 768px) {
  .cmn_layout_2col {
    display: flex;
    flex-wrap: wrap;
    gap:1rem 5rem;
  }
  .cmn_layout_2col .col_item {
    width: calc((100% - 5rem) / 2);
  }
  .cmn_layout_2col .col_item .cmn_access_body {
    margin-top: 0.5rem !important;
  }
}

/* -----------------------------------------------------------------
 .cmn_access_body（本文テキスト）
----------------------------------------------------------------- */
.cmn_access_body{
  margin-top: var(--margin_size_XS);
  line-height: 2;
  font-size: .92rem;
}
@media print, screen and (min-width: 768px) {
  .cmn_access_body{
    font-size: 1rem;
  }
}
/* -----------------------------------------------------------------
 .cmn_scroll_wrap
----------------------------------------------------------------- */
.cmn_scroll_wrap {
  width: 100%;
  margin-top: var(--margin_size_XXS);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth; 
  padding-bottom: 1rem;
}
.cmn_scroll_wrap::-webkit-scrollbar {
  height: 3px;
  background: var(--color_bg_light_bl);
}
.cmn_scroll_wrap::-webkit-scrollbar-thumb {
  background: var(--color_main);
}
.cmn_scroll_wrap::-webkit-scrollbar-thumb:hover {
  background: var(--color_main);
  cursor: grab;
}
.cmn_scroll_wrap img {
  display: block;
  height: auto;
  max-inline-size: none;
  margin-left: auto;
  margin-right:auto;
}
@media screen and (max-width: 767px) {
  .cmn_scroll_wrap {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .cmn_scroll_wrap img {
    padding-left: 4.67vw;
    padding-right: 4.67vw;
  }
  .access_public .cmn_scroll_wrap img {
    width: 1359px;
  }
  .access_car .cmn_scroll_wrap img {
    width: 936px;
  }

}
@media print, screen and (min-width: 768px) {
  .cmn_scroll_wrap {
    width: min(1510px,90.66vw);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
  .access_public .cmn_scroll_wrap img {
    width: calc(1510px * .85);
  }
  .access_car .cmn_scroll_wrap img {
    width: calc(1042px * .85);
  }
 .cmn_scroll_wrap img {
    width: 100%;
    height: auto;
  }
}
/* -----------------------------------------------------------------
 access_map
----------------------------------------------------------------- */
.access_map iframe {
  width: 100%;
  height: min(63vw, 500px);
  margin-top: var(--margin_size_XS);
  border: 0;
}

/* -----------------------------------------------------------------
 sightseeing_title
----------------------------------------------------------------- */
.sightseeing_title {
  display: flex;
  gap:.5rem;
  padding-top: var(--margin_size_S);
  font-weight: 700;
  font-size: 1.15rem;
}
.sightseeing_title .icon img {
  width: 1.33em;
  height: 1.33em;
}
@media print, screen and (min-width: 768px) {
  .sightseeing_title {
    font-size: 1.25rem;
  }
}

/* -----------------------------------------------------------------
 sightseeing_list
----------------------------------------------------------------- */
.sightseeing_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.3rem 1.54rem;
  margin-top: var(--margin_size_XXS);
}
.sightseeing_list .item {
  width: calc((100% - 1.54rem) / 2);
}
.sightseeing_list .item .title {
  margin-top: 1.3em;
  font-weight: 700;
  font-size: .92rem;
  color: var(--color_main);
}
.sightseeing_list .item .add {
  margin-top: .8em;
  font-size: .62rem;
}
.sightseeing_list .item .map_link {
  display: inline-flex;
  align-items: center;
  gap:.6em;
  margin-top: .3em;
  line-height: 1;
  font-size: .62rem;
  color: var(--color_main);
}
.sightseeing_list .item .map_link .icon {
  width: .8em;
  padding-bottom: .2em;
}
.sightseeing_list .item .body {
  margin-top: 1em;
  line-height: 1.8;
  font-size: .77rem;
}
@media print, screen and (min-width: 768px) {
  .sightseeing_list {
    margin-top: 2rem;
  }
  .sightseeing_list .item {
    width: calc((100% - (1.54rem * 3)) / 4);
  }
  .sightseeing_list .item .title {
    font-size: 1rem;
  }
  .sightseeing_list .item .add {
    font-size: .81rem;
  }
  .sightseeing_list .item .map_link {
    font-size: .81rem;
  }
  .sightseeing_list .item .body {
    font-size: .88rem;
  }

}
@media (hover: hover) and (pointer: fine) {
  .sightseeing_list .item .map_link {
    position: relative;
  }
  .sightseeing_list .item .map_link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -.1em;
    width: 100%;
    height: 1px;
    background: currentColor;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .sightseeing_list .item .map_link:hover::after {
    opacity: 1;
  }
}

/* -----------------------------------------------------------------
 area_group
----------------------------------------------------------------- */
.area_group_item {
  padding-top: var(--margin_size_XXS);
}
.area_group_item+.area_group_item {
  padding-top: var(--margin_size_XS);
}
.area_group_title {
  padding-bottom: .3rem;
  border-bottom: var(--color_main) 1px solid;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
}

