@charset "UTF-8";
html {
  overflow-x: hidden;
}

body {
  background-color: #fff;
}

main.dom-contents {
  overflow-x: hidden;
}

.toppan {
  font-family: toppan-bunkyu-mincho-pr6n, serif;
  font-weight: 400;
  font-style: normal;
}

.min {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.pconly {
  display: block;
}

.pconly_inline {
  display: inline;
}

.sponly {
  display: none;
}

.sponly_inline {
  display: none;
}

.mv_wrap {
  position: relative;
  min-width: 970px;
  margin-bottom: 32px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
}

@media all and (-ms-high-contrast: none) {
  .mv_wrap {
    font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  }
}

.mv_wrap .main_ttl {
  position: absolute;
  top: .7em;
  left: 1em;
  font-size: 78px;
  color: #fff;
  line-height: 1.4;
  z-index: 2;
}

.mv_wrap .main_ttl .second_line {
  padding-left: .2em;
}

.mv_wrap .main_ttl strong {
  font-size: 1.4em;
  line-height: 1;
}

.mv_wrap .main_ttl .main_ttl_eng {
  display: block;
  position: relative;
  padding-left: .5em;
  margin-top: .5em;
  font-size: 27px;
  letter-spacing: .15em;
}

.mv_wrap .main_ttl .main_ttl_eng::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: calc(100% - 15em);
  height: 2px;
  margin: auto;
  background-color: #fff;
}

.mv_wrap .national_park_link {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  z-index: 2;
  transition: .3s;
}

.mv_wrap .national_park_link:hover {
  opacity: .8;
}

.mv_wrap .scroll_txt {
  position: absolute;
  bottom: 0;
  left: 200px;
  height: 144px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  z-index: 2;
}

.mv_wrap .scroll_txt::before {
  content: "";
  position: absolute;
  top: -12px;
  right: -12px;
  width: 12px;
  height: 12px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  animation: scroll_circle  1.2s infinite ease-in-out;
}

.mv_wrap .scroll_txt::after {
  content: "";
  position: absolute;
  top: 0;
  right: -6.5px;
  width: 2px;
  height: 100%;
  background-color: #fff;
}

.mv_wrap button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.mv_wrap .mv_dots {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  margin: auto;
}

.mv_wrap .mv_dots li {
  display: inline-block;
  margin: 0 18px;
}

.mv_wrap .mv_dots li button {
  position: relative;
  text-indent: -9999px;
  cursor: pointer;
}

.mv_wrap .mv_dots li button:before {
  content: '';
  text-indent: 0px;
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.8);
}

.mv_wrap .mv_dots li.slick-active button:before {
  background-color: rgba(77, 77, 77, 0.8);
}

.mv_wrap img {
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

@keyframes scroll_circle {
  0% {
    top: -12px;
  }
  20% {
    top: -8px;
  }
  100% {
    top: 100%;
  }
}

.about {
  position: relative;
  min-width: 970px;
  margin-bottom: -73px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
}

@media all and (-ms-high-contrast: none) {
  .about {
    font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  }
}

.about .about_inner {
  position: relative;
  width: 85%;
}

.about .about_inner .about_ttl {
  position: absolute;
  top: 3em;
  right: 0;
  height: 80%;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 40px;
  font-weight: 600;
  color: #248b90;
  letter-spacing: .2em;
  z-index: 3;
}

@media screen and (max-width: 1200px) {
  .about .about_inner .about_ttl {
    top: .5em;
  }
}

.about .about_inner .about_ttl .about_ttl_eng {
  display: block;
  padding-left: .3em;
  border-left: 1px solid #4a4a4a;
  margin-left: .5em;
  font-size: 19px;
  font-weight: normal;
  color: #4a4a4a;
  letter-spacing: .1em;
}

.about .about_inner .about_img {
  position: relative;
  width: 81%;
}

.about .about_inner .about_img .about_img_cap {
  position: absolute;
  font-size: 13px;
  bottom: .5em;
  left: 1em;
  color: #fff;
  text-shadow: black 1px 1px 0px, black -1px 1px 0px,black 1px -1px 0px, black -1px -1px 0px;
}

.about .about_txt {
  position: relative;
  top: -6.5em;
  width: 55.7%;
  padding: 2em 20% 2em 2em;
  margin-left: auto;
  font-size: 20px;
  color: #4a4a4a;
  text-align: justify;
  line-height: 1.75em;
  background-color: #fff;
  z-index: 2;
}

.about img {
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

.dom-contents-body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
}

@media all and (-ms-high-contrast: none) {
  .dom-contents-body {
    font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  }
}

.bg_area {
  padding: 23px 0 50px;
  margin: 50px 0;
  background: url(../images/bg_area.jpg) center/cover no-repeat;
}

.japan_map {
  position: relative;
  max-width: 622px;
  margin: 0 auto 47px;
}

.japan_map .pin_list li {
  position: absolute;
  width: 5%;
}

.japan_map .pin_list li.pin01 {
  top: -1%;
  left: 71.9%;
}

.japan_map .pin_list li.pin02 {
  top: 4%;
  left: 92.5%;
}

.japan_map .pin_list li.pin03 {
  top: 8.6%;
  left: 85.8%;
}

.japan_map .pin_list li.pin04 {
  top: 11%;
  left: 89.2%;
}

.japan_map .pin_list li.pin05 {
  top: 9.8%;
  left: 80.4%;
}

.japan_map .pin_list li.pin06 {
  top: 14.8%;
  left: 69%;
}

.japan_map .pin_list li.pin07 {
  top: 32.6%;
  left: 66.9%;
}

.japan_map .pin_list li.pin08 {
  top: 37.5%;
  left: 72.9%;
}

.japan_map .pin_list li.pin09 {
  top: 43.7%;
  left: 61.5%;
}

.japan_map .pin_list li.pin10 {
  top: 51%;
  left: 62.9%;
}

.japan_map .pin_list li.pin11 {
  top: 52.5%;
  left: 59.8%;
}

.japan_map .pin_list li.pin12 {
  top: 52.6%;
  left: 55.7%;
}

.japan_map .pin_list li.pin13 {
  top: 51.2%;
  left: 51.2%;
}

.japan_map .pin_list li.pin14 {
  top: 58.1%;
  left: 55.4%;
}

.japan_map .pin_list li.pin15 {
  top: 81.6%;
  left: 77.4%;
}

.japan_map .pin_list li.pin16 {
  top: 64%;
  left: 54.9%;
}

.japan_map .pin_list li.pin17 {
  top: 55%;
  left: 47.5%;
}

.japan_map .pin_list li.pin18 {
  top: 54.8%;
  left: 43%;
}

.japan_map .pin_list li.pin19 {
  top: 60.6%;
  left: 51.1%;
}

.japan_map .pin_list li.pin20 {
  top: 67%;
  left: 42.6%;
}

.japan_map .pin_list li.pin21 {
  top: 72.5%;
  left: 35.9%;
}

.japan_map .pin_list li.pin22 {
  top: 60%;
  left: 30.9%;
}

.japan_map .pin_list li.pin23_kinki {
  top: 65.6%;
  left: 25.1%;
}

.japan_map .pin_list li.pin23_chushikoku {
  top: 66.6%;
  left: 20.1%;
}

.japan_map .pin_list li.pin23_kyusyu {
  top: 67.5%;
  left: 15.4%;
}

.japan_map .pin_list li.pin24 {
  top: 61.4%;
  left: 21.95%;
}

.japan_map .pin_list li.pin25 {
  top: 76.7%;
  left: 17.3%;
}

.japan_map .pin_list li.pin26 {
  top: 74%;
  left: -2%;
}

.japan_map .pin_list li.pin27 {
  top: 77.5%;
  left: 1.9%;
}

.japan_map .pin_list li.pin28 {
  top: 75%;
  left: 7.5%;
}

.japan_map .pin_list li.pin29 {
  top: 84.5%;
  left: 6.2%;
}

.japan_map .pin_list li.pin30 {
  top: 91.8%;
  left: 3.9%;
}

.japan_map .pin_list li.pin31 {
  top: 19.8%;
  left: 35.3%;
}

.japan_map .pin_list li.pin32 {
  top: 29.3%;
  left: 30.8%;
}

.japan_map .pin_list li.pin33 {
  top: 32.2%;
  left: 24.8%;
}

.japan_map .pin_list li.pin34 {
  top: 42.6%;
  left: 5.2%;
}

.japan_map .pin_list li a.pin_link {
  display: block;
}

.japan_map .pin_list li a.pin_link::before {
  content: attr(data-park_name);
  position: absolute;
  display: block;
  top: -3em;
  right: 0;
  left: -5.5em;
  min-width: 13em;
  border: 1px solid #000;
  border-radius: 5px;
  padding: .5em;
  margin: auto;
  font-size: 12px;
  color: #000;
  text-align: center;
  white-space: nowrap;
  background-color: #fff;
  opacity: 0;
  transition: .3s;
  z-index: 2;
  pointer-events: none;
}

.japan_map .pin_list li a.pin_link:hover::before {
  opacity: 1;
}

.bg_hokkaido {
  color: #fff;
  background-color: #47345e;
}

.park_area.bg_hokkaido {
  color: #fff;
  background-color: #47345e;
}

.park_name .park_name_num.bg_hokkaido {
  color: #fff;
  background-color: #47345e;
}

.bg_hokkaido_light {
  color: #fff;
  background-color: rgba(71, 52, 94, 0.1);
}

.font_hokkaido {
  color: #47345e;
}

a.font_hokkaido {
  color: #47345e;
}

.park_info_hokkaido .park_area {
  color: #fff;
  background-color: #47345e;
}

.park_info_hokkaido .park_name {
  color: #47345e;
}

.park_info_hokkaido .park_name .park_name_num {
  color: #fff;
  background-color: #47345e;
}

.park_info_hokkaido a.activity_link,
.park_info_hokkaido a.plan_link,
.park_info_hokkaido a.access_link {
  color: #fff;
  background-color: #47345e;
}

.bg_tohoku {
  color: #fff;
  background-color: #bc560f;
}

.park_area.bg_tohoku {
  color: #fff;
  background-color: #bc560f;
}

.park_name .park_name_num.bg_tohoku {
  color: #fff;
  background-color: #bc560f;
}

.bg_tohoku_light {
  color: #fff;
  background-color: rgba(188, 86, 15, 0.1);
}

.font_tohoku {
  color: #bc560f;
}

a.font_tohoku {
  color: #bc560f;
}

.park_info_tohoku .park_area {
  color: #fff;
  background-color: #bc560f;
}

.park_info_tohoku .park_name {
  color: #bc560f;
}

.park_info_tohoku .park_name .park_name_num {
  color: #fff;
  background-color: #bc560f;
}

.park_info_tohoku a.activity_link,
.park_info_tohoku a.plan_link,
.park_info_tohoku a.access_link {
  color: #fff;
  background-color: #bc560f;
}

.bg_kanto {
  color: #fff;
  background-color: #08893c;
}

.park_area.bg_kanto {
  color: #fff;
  background-color: #08893c;
}

.park_name .park_name_num.bg_kanto {
  color: #fff;
  background-color: #08893c;
}

.bg_kanto_light {
  color: #fff;
  background-color: rgba(8, 137, 60, 0.1);
}

.font_kanto {
  color: #08893c;
}

a.font_kanto {
  color: #08893c;
}

.park_info_kanto .park_area {
  color: #fff;
  background-color: #08893c;
}

.park_info_kanto .park_name {
  color: #08893c;
}

.park_info_kanto .park_name .park_name_num {
  color: #fff;
  background-color: #08893c;
}

.park_info_kanto a.activity_link,
.park_info_kanto a.plan_link,
.park_info_kanto a.access_link {
  color: #fff;
  background-color: #08893c;
}

.bg_chubu {
  color: #fff;
  background-color: #911328;
}

.park_area.bg_chubu {
  color: #fff;
  background-color: #911328;
}

.park_name .park_name_num.bg_chubu {
  color: #fff;
  background-color: #911328;
}

.bg_chubu_light {
  color: #fff;
  background-color: rgba(145, 19, 40, 0.1);
}

.font_chubu {
  color: #911328;
}

a.font_chubu {
  color: #911328;
}

.park_info_chubu .park_area {
  color: #fff;
  background-color: #911328;
}

.park_info_chubu .park_name {
  color: #911328;
}

.park_info_chubu .park_name .park_name_num {
  color: #fff;
  background-color: #911328;
}

.park_info_chubu a.activity_link,
.park_info_chubu a.plan_link,
.park_info_chubu a.access_link {
  color: #fff;
  background-color: #911328;
}

.bg_kinki {
  color: #fff;
  background-color: #00476e;
}

.park_area.bg_kinki {
  color: #fff;
  background-color: #00476e;
}

.park_name .park_name_num.bg_kinki {
  color: #fff;
  background-color: #00476e;
}

.bg_kinki_light {
  color: #fff;
  background-color: rgba(0, 71, 110, 0.1);
}

.font_kinki {
  color: #00476e;
}

a.font_kinki {
  color: #00476e;
}

.park_info_kinki .park_area {
  color: #fff;
  background-color: #00476e;
}

.park_info_kinki .park_name {
  color: #00476e;
}

.park_info_kinki .park_name .park_name_num {
  color: #fff;
  background-color: #00476e;
}

.park_info_kinki a.activity_link,
.park_info_kinki a.plan_link,
.park_info_kinki a.access_link {
  color: #fff;
  background-color: #00476e;
}

.bg_chushikoku {
  color: #fff;
  background-color: #6c6222;
}

.park_area.bg_chushikoku {
  color: #fff;
  background-color: #6c6222;
}

.park_name .park_name_num.bg_chushikoku {
  color: #fff;
  background-color: #6c6222;
}

.bg_chushikoku_light {
  color: #fff;
  background-color: rgba(108, 98, 34, 0.1);
}

.font_chushikoku {
  color: #6c6222;
}

a.font_chushikoku {
  color: #6c6222;
}

.park_info_chushikoku .park_area {
  color: #fff;
  background-color: #6c6222;
}

.park_info_chushikoku .park_name {
  color: #6c6222;
}

.park_info_chushikoku .park_name .park_name_num {
  color: #fff;
  background-color: #6c6222;
}

.park_info_chushikoku a.activity_link,
.park_info_chushikoku a.plan_link,
.park_info_chushikoku a.access_link {
  color: #fff;
  background-color: #6c6222;
}

.bg_kyusyu {
  color: #fff;
  background-color: #009fa8;
}

.park_area.bg_kyusyu {
  color: #fff;
  background-color: #009fa8;
}

.park_name .park_name_num.bg_kyusyu {
  color: #fff;
  background-color: #009fa8;
}

.bg_kyusyu_light {
  color: #fff;
  background-color: rgba(0, 159, 168, 0.1);
}

.font_kyusyu {
  color: #009fa8;
}

a.font_kyusyu {
  color: #009fa8;
}

.park_info_kyusyu .park_area {
  color: #fff;
  background-color: #009fa8;
}

.park_info_kyusyu .park_name {
  color: #009fa8;
}

.park_info_kyusyu .park_name .park_name_num {
  color: #fff;
  background-color: #009fa8;
}

.park_info_kyusyu a.activity_link,
.park_info_kyusyu a.plan_link,
.park_info_kyusyu a.access_link {
  color: #fff;
  background-color: #009fa8;
}

.area_list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  max-width: 924px;
  margin: 0 auto;
}

.area_list > li {
  width: 24.8%;
  overflow: hidden;
}

.area_list > li.no_area {
  background-color: #e6e6e6;
}

.area_list > li:not(:nth-child(4n)) {
  margin-right: .266%;
}

.area_list > li:nth-child(n+5) {
  margin-top: 3px;
}

.area_list > li > a {
  display: block;
  position: relative;
  padding: .5em 0;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

.area_list > li > a::after {
  content: "";
  position: absolute;
  top: -4px;
  right: .6em;
  bottom: 0;
  width: 12px;
  height: 12px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  margin: auto;
  transform: rotate(45deg);
  transform-origin: 6px 9px;
  transition: .3s;
}

.area_list > li > a small {
  font-size: .73em;
}

.area_list > li > a:hover {
  opacity: .8;
}

.area_list > li > a.on::after {
  transform: rotate(-135deg);
}

.area_list > li .area_park_list {
  display: none;
  padding: 1em;
}

.area_list > li .area_park_list.on {
  height: 100%;
}

.area_list > li .area_park_list li:not(:last-child) {
  margin-bottom: .5em;
}

.area_list > li .area_park_list li a {
  display: block;
  position: relative;
  padding-left: 1.3em;
  font-size: 18px;
  line-height: 1.4;
  text-decoration: none;
  transition: .3s;
}

.area_list > li .area_park_list li a .park_num {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: .2em;
  left: 0;
  padding: .1em;
  border: 1px solid;
  border-radius: 50%;
  font-size: .8em;
  width: 1.5em;
  height: 1.5em;
  vertical-align: bottom;
}

.area_list > li .area_park_list li a:hover {
  text-decoration: underline;
}

.park_info_box:not(:last-child) {
  margin-bottom: 60px;
}

.park_info_box:nth-child(odd) .park_summary::after {
  left: 0;
}

.park_info_box:nth-child(even) .park_summary::after {
  right: 0;
}

.park_info_box .park_summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  max-width: 924px;
  padding: 13px 0 20px;
  margin: 0 auto 30px;
}

.park_info_box .park_summary::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100vw;
  height: 1px;
  background-color: #4a4a4a;
}

.park_info_box .park_summary .park_name_area {
  display: flex;
  align-items: center;
}

.park_info_box .park_summary .park_name_area .park_area {
  padding: 0 .5em;
  margin-right: .5em;
  font-size: 18px;
  text-align: center;
}

.park_info_box .park_summary .park_name_area .park_area_wrap .park_area:not(:last-child) {
  margin-bottom: 5px;
}

.park_info_box .park_summary .park_name_area .park_name {
  font-size: 24px;
  font-weight: bold;
}

.park_info_box .park_summary .park_name_area .park_name .park_name_num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  position: relative;
  bottom: .2em;
  min-width: 1.5em;
  min-height: 1.5em;
  margin-right: .3em;
  font-size: .7em;
  border-radius: 50%;
}

.park_info_box .park_summary .park_link_area {
  display: flex;
  align-items: center;
}

.park_info_box .park_summary .park_link_area a {
  display: block;
  padding: .2em 1em;
  border-radius: 30px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

.park_info_box .park_summary .park_link_area a:hover {
  opacity: .8;
}

.park_info_box .park_summary .park_link_area a:not(:last-child) {
  margin-right: 5px;
}

.park_info_box .park_img_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.park_info_box .park_img_list li {
  position: relative;
  width: 32.6%;
}

.park_info_box .park_img_list li .park_img_cap {
  position: absolute;
  right: 1em;
  bottom: 1em;
  font-size: 12px;
  color: #fff;
  text-shadow: black 1px 1px 0px, black -1px 1px 0px,black 1px -1px 0px, black -1px -1px 0px;
}

.park_info_box .park_txt_area {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 924px;
  margin: 0 auto;
}

.park_info_box .park_txt_area .park_intro_txt {
  font-size: 18px;
  color: #4a4a4a;
}

.park_info_box .park_txt_area .access_link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-width: 102px;
  min-height: 102px;
  padding-top: 30px;
  border-radius: 50%;
  margin-left: 55px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

@media all and (-ms-high-contrast: none) {
  .park_info_box .park_txt_area .access_link {
    padding-top: 50px;
  }
}

.park_info_box .park_txt_area .access_link::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 0;
  left: 0;
  width: 24px;
  height: 36px;
  margin: auto;
  background: url(../images/icon_access.png) center/contain no-repeat;
}

.park_info_box .park_txt_area .access_link:hover {
  opacity: .8;
}

a.environment_link {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  position: relative;
  max-width: 560px;
  min-height: 100px;
  padding: 0 3em 0 5em;
  border: 1px solid #009480;
  border-radius: 12px;
  margin: 148px auto 0;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: #4a4a4a;
  text-decoration: none;
  transition: .3s;
}

a.environment_link::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: .5em;
  width: 109px;
  height: 67px;
  margin: auto;
  background: url(../images/icon_environment.png) center/contain no-repeat;
}

a.environment_link::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  width: 34px;
  height: 34px;
  margin: auto;
  background: url(../images/arrow_environment.png) center/contain no-repeat;
}

a.environment_link:hover {
  opacity: .8;
}

.fixed_btn .map_link {
  position: fixed;
  right: 2em;
  bottom: 90px;
  padding: 2em 1em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  background-color: rgba(145, 141, 73, 0.8);
  text-decoration: none;
  z-index: 10;
}

.fixed_btn .map_link::before {
  content: "";
  position: absolute;
  right: 0;
  top: 1em;
  left: 0;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  margin: auto;
  opacity: 0;
  transform: rotate(-45deg);
  transition: .3s;
}

.fixed_btn .map_link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1em;
  left: 0;
  width: 8px;
  height: 8px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin: auto;
  opacity: 0;
  transform: rotate(45deg);
  transition: .3s;
}

.fixed_btn .map_link.up::before {
  opacity: 1;
}

.fixed_btn .map_link.up::after {
  opacity: 0;
}

.fixed_btn .map_link.down::before {
  opacity: 0;
}

.fixed_btn .map_link.down::after {
  opacity: 1;
}

.fixed_btn .dom__btn-page-top a {
  width: 70px;
}

.fixed_btn .dom__btn-page-top a img {
  width: 100%;
}

.fixed_btn .dom__btn-page-top a:before {
  content: none;
}

/* モーダル コンテンツエリア */
.modal_overlay {
  z-index: 3;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
}

.modal_content {
  display: none;
}

.modal_content.access_map {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 90%;
  max-width: 922px;
  max-height: 90vh;
  overflow: auto;
  padding: 42px 50px;
  border: 2px solid #333;
  border-radius: 10px;
  z-index: 15;
  background-color: #fff;
  transform: translate(-50%, -50%);
}

.modal_content.access_map .modal_close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 34px;
  cursor: pointer;
}

.modal_content.access_map .modal_close img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

.modal_content.access_map .access_ttl_area {
  display: flex;
  align-items: center;
  min-width: 818px;
  padding-bottom: 1em;
  border-bottom: 1px solid #333;
  margin-bottom: 55px;
}

.modal_content.access_map .access_ttl_area .access_area {
  padding: .2em .5em;
  margin-right: .5em;
  font-size: 18px;
  color: #fff;
  text-align: center;
}

.modal_content.access_map .access_ttl_area .access_park_name {
  font-size: 24px;
  font-weight: bold;
}

.modal_content.access_map .access_ttl_area .access_park_name small {
  font-size: .75em;
}

.modal_content.access_map .access_ttl_area .access_area_wrap .access_area:not(:last-child) {
  margin-bottom: .3em;
}

.modal_content.access_map .access_img {
  min-width: 818px;
  margin-bottom: 44px;
}

.modal_content.access_map .access_img img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

.modal_content.access_map .access_gmap_link {
  display: block;
  position: relative;
  max-width: 17em;
  border-radius: 19px;
  padding: .4em 1.5em;
  margin: 0 auto 36px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .3s;
}

.modal_content.access_map .access_gmap_link::before {
  content: "";
  display: inline-block;
  width: 13px;
  height: 11px;
  margin-right: .5em;
  background: url(../images/icon_gmap_link.png) center/contain no-repeat;
}

.modal_content.access_map .access_gmap_link:hover {
  opacity: .8;
}

.modal_content.access_map .access_note {
  min-width: 818px;
  font-size: 15px;
  text-align: center;
}

.access_map_hokkaido .access_ttl_area .access_area {
  background-color: #47345e;
}

.access_map_hokkaido .access_ttl_area .access_park_name {
  color: #47345e;
}

.access_map_hokkaido .access_gmap_link {
  background-color: #47345e;
}

.access_map_tohoku .access_ttl_area .access_area {
  background-color: #bc560f;
}

.access_map_tohoku .access_ttl_area .access_park_name {
  color: #bc560f;
}

.access_map_tohoku .access_gmap_link {
  background-color: #bc560f;
}

.access_map_kanto .access_ttl_area .access_area {
  background-color: #08893c;
}

.access_map_kanto .access_ttl_area .access_park_name {
  color: #08893c;
}

.access_map_kanto .access_gmap_link {
  background-color: #08893c;
}

.access_map_chubu .access_ttl_area .access_area {
  background-color: #911328;
}

.access_map_chubu .access_ttl_area .access_park_name {
  color: #911328;
}

.access_map_chubu .access_gmap_link {
  background-color: #911328;
}

.access_map_kinki .access_ttl_area .access_area {
  background-color: #00476e;
}

.access_map_kinki .access_ttl_area .access_park_name {
  color: #00476e;
}

.access_map_kinki .access_gmap_link {
  background-color: #00476e;
}

.access_map_chushikoku .access_ttl_area .access_area {
  background-color: #6c6222;
}

.access_map_chushikoku .access_ttl_area .access_park_name {
  color: #6c6222;
}

.access_map_chushikoku .access_gmap_link {
  background-color: #6c6222;
}

.access_map_kyusyu .access_ttl_area .access_area {
  background-color: #009fa8;
}

.access_map_kyusyu .access_ttl_area .access_park_name {
  color: #009fa8;
}

.access_map_kyusyu .access_gmap_link {
  background-color: #009fa8;
}
