@charset "UTF-8";
/* ------------------------------
	レスポンシブ
------------------------------ */
/* ------------------------------
	フォント
------------------------------ */
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
/* ------------------------------
	カラー
------------------------------ */
/* ------------------------------
	.mirai
------------------------------ */
.mirai {
  position: relative;
  z-index: 101;
  padding: 16rem 0 19rem;
}
@media screen and (max-width: 768px) {
  .mirai {
    padding: 10rem 0 6.5rem;
  }
}
.mirai .page_ttl_box {
  margin-bottom: 4rem;
}
@media screen and (max-width: 768px) {
  .mirai .page_ttl_box {
    margin-bottom: 3.5rem;
  }
}
.mirai .page_ttl_box .page_ttl_num {
  margin-bottom: 2.5rem;
  text-align: center;
}
.mirai .page_ttl_box .page_ttl_num img {
  width: 7rem;
}
@media screen and (max-width: 768px) {
  .mirai .page_ttl_box .page_ttl_num img {
    width: 5rem;
  }
}
.mirai .page_ttl_box .page_ttl {
  text-align: center;
  font-size: 8rem;
  color: #f50000;
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .mirai .page_ttl_box .page_ttl {
    font-size: 3.7rem;
  }
}
.mirai .page_ttl_box .page_ttl .min {
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .mirai .page_ttl_box .page_ttl .min {
    font-size: 2.5rem;
  }
}
.mirai .lead .txt {
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .mirai .lead .txt {
    text-align: justify;
    margin-bottom: 3rem;
  }
}
.mirai .mirai_map .wrap {
  max-width: 110rem;
}
.mirai .mirai_map .num_hide_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18rem;
  height: 3.9rem;
  margin-top: 2rem;
  margin-left: auto;
  border: 0.2rem dashed #451401;
  border-radius: 10rem;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media screen and (min-width: 769px) {
  .mirai .mirai_map .num_hide_btn:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .num_hide_btn {
    width: 16.5rem;
    height: 3.5rem;
    font-size: 1.4rem;
  }
}
.mirai .mirai_map .map_wrap {
  position: relative;
  overflow: hidden;
}
.mirai .mirai_map .map_wrap img {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}
.mirai .mirai_map .map_view {
  position: relative;
  width: 100%;
  text-align: center;
  overflow: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_view {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_view.is-zoom {
    overflow: hidden;
  }
}
.mirai .mirai_map .map_view::-webkit-scrollbar {
  display: none;
}
.mirai .mirai_map .map_content {
  position: relative;
  transform-origin: 0 0;
  user-select: none;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_content {
    width: 82.5rem;
  }
}
.mirai .mirai_map .map_content img {
  display: block;
  width: 100%;
  height: auto;
}
.mirai .mirai_map .map_content.noline .map_link {
  border-color: transparent;
}
.mirai .mirai_map .map_content.noline .map_link .ico {
  display: none;
}
.mirai .mirai_map .map_content .map_link {
  position: absolute;
  z-index: 2;
  display: block;
  border: 0.3rem dashed #e50012;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_content .map_link {
    border-width: 0.2rem;
  }
}
.mirai .mirai_map .map_content .map_link .ico {
  position: absolute;
  z-index: 2;
  top: -1.5rem;
  left: -1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 0.2rem solid #e50012;
  border-radius: 50%;
  background: #fff;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_content .map_link .ico {
    top: -1rem;
    left: -1rem;
    width: 2rem;
    height: 2rem;
    border-width: 0.1rem;
  }
}
.mirai .mirai_map .map_content .map_link .ico img {
  width: auto;
  height: 1rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_content .map_link .ico img {
    height: 0.7rem;
  }
}
.mirai .mirai_map .map_content .map_link:hover {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .mirai .mirai_map .map_content .map_link:hover .ico {
    background: #fff380;
  }
}
.mirai .mirai_map .map_content .map_link.map_link01 {
  top: 48.39%;
  left: 67.8%;
  width: 7.72%;
  height: 10.93%;
}
.mirai .mirai_map .map_content .map_link.map_link02 {
  top: 55.96%;
  left: 36.18%;
  width: 8.2%;
  height: 4.89%;
}
.mirai .mirai_map .map_content .map_link.map_link03 {
  top: 70.01%;
  left: 19.09%;
  width: 8.3%;
  height: 7.5%;
}
.mirai .mirai_map .map_content .map_link.map_link04 {
  z-index: 1;
  top: 63.19%;
  left: 62.72%;
  width: 24%;
  height: 28.82%;
}
.mirai .mirai_map .map_content .map_link.map_link05 {
  top: 46.27%;
  left: 23.01%;
  width: 6.96%;
  height: 11.71%;
}
.mirai .mirai_map .map_content .map_link.map_link06 {
  top: 44.47%;
  left: 54.1%;
  width: 6.09%;
  height: 5.92%;
}
.mirai .mirai_map .map_content .map_link.map_link07 {
  top: 42.02%;
  left: 60.57%;
  width: 5.89%;
  height: 5.94%;
}
.mirai .mirai_map .map_content .map_link.map_link08 {
  top: 43.67%;
  left: 47.48%;
  width: 4.38%;
  height: 5.52%;
}
.mirai .mirai_map .map_content .map_link.map_link09 {
  top: 45.55%;
  left: 31.36%;
  width: 4.45%;
  height: 7.91%;
}
.mirai .mirai_map .map_content .map_link.map_link10 {
  top: 66.92%;
  left: 60.3%;
  width: 5.35%;
  height: 5.88%;
}
.mirai .mirai_map .map_content .map_link.map_link11 {
  top: 24.83%;
  left: 17.81%;
  width: 9.35%;
  height: 9.13%;
}
.mirai .mirai_map .map_content .map_link.map_link12 {
  top: 79.86%;
  left: 9.47%;
  width: 8.05%;
  height: 6.8%;
}
.mirai .mirai_map .map_content .map_link.map_link13 {
  top: 48.5%;
  left: 16.85%;
  width: 5.84%;
  height: 6.8%;
}
.mirai .mirai_map .map_content .map_link.map_link14 {
  top: 44.88%;
  left: 41.83%;
  width: 4.21%;
  height: 4.72%;
}
.mirai .mirai_map .map_content .map_link.map_link15 {
  top: 50.06%;
  left: 37.22%;
  width: 6.5%;
  height: 4.5%;
}
.mirai .mirai_map .map_content .map_link.map_link16 {
  z-index: 1;
  top: 41.64%;
  left: 21.1%;
  width: 26.08%;
  height: 20.36%;
}
.mirai .mirai_map .map_scrollbar {
  position: relative;
  width: 100%;
  height: 0.6rem;
  margin-top: 0.5rem;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  touch-action: none;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_scrollbar {
    opacity: 1;
  }
}
.mirai .mirai_map .map_scrollbar.active {
  opacity: 1;
}
.mirai .mirai_map .map_scrollbar .map_scrollbar_thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #E2E2E2;
  border-radius: 10px;
  cursor: grab;
}
.mirai .mirai_map .map_control {
  position: absolute;
  right: 1.7rem;
  bottom: 8.7rem;
  border: 0.3rem solid #e50012;
  border-radius: 1.2rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_control {
    right: 1.3rem;
    bottom: 7.9rem;
    border-radius: 1.2rem;
  }
}
.mirai .mirai_map .map_control .map_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.4rem;
  height: 5.4rem;
  background: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_control .map_btn {
    width: 4rem;
    height: 4rem;
    border-width: 0.2rem;
  }
}
.mirai .mirai_map .map_control .map_btn + .map_btn {
  height: 5.7rem;
  border-top: 0.3rem solid #e50012;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_map .map_control .map_btn + .map_btn {
    height: 4.2rem;
    border-width: 0.2rem;
  }
}
.mirai .mirai_map .map_control .map_btn.off {
  background: rgba(200, 200, 200, 0.8);
  cursor: default;
}
@media screen and (min-width: 769px) {
  .mirai .mirai_map .map_control .map_btn:hover:not(.off) {
    background: #fff;
  }
}
.mirai .mirai_map .map_control .map_btn img {
  width: 2rem;
}
.mirai .mirai_wrap {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap {
    margin-top: 5rem;
  }
}
.mirai .mirai_wrap .wrap {
  max-width: 110rem;
}
.mirai .mirai_wrap .ttl {
  padding-bottom: 1.5rem;
  margin-bottom: 4rem;
  text-align: center;
  background: url(../img/mirai/line01.svg) no-repeat center bottom;
  background-size: 32.2rem;
  font-size: 2.5rem;
  color: #e50012;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .ttl {
    background-size: 25.2rem;
    padding-bottom: 0.8rem;
    margin-bottom: 3rem;
    font-size: 2rem;
  }
}
.mirai .mirai_wrap .mirai_list {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem 4rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_list {
    flex-direction: column;
    gap: 2rem;
  }
}
.mirai .mirai_wrap .mirai_box {
  display: flex;
  align-items: center;
  gap: 2rem;
  width: calc(50% - 2rem);
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box {
    gap: 1.5rem;
    width: 100%;
  }
}
.mirai .mirai_wrap .mirai_box .img {
  flex-shrink: 0;
  width: 24.5rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box .img {
    width: 14rem;
  }
}
.mirai .mirai_wrap .mirai_box .num {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box .num {
    margin-bottom: 0.8rem;
  }
}
.mirai .mirai_wrap .mirai_box .num img {
  height: 2.2rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box .num img {
    height: 1.4rem;
  }
}
.mirai .mirai_wrap .mirai_box .txt_box .txt {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box .txt_box .txt {
    font-size: 1.4rem;
  }
}
.mirai .mirai_wrap .mirai_box#mirai16 {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box#mirai16 {
    flex-direction: column;
  }
}
.mirai .mirai_wrap .mirai_box#mirai16 .img {
  width: 55rem;
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box#mirai16 .img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .mirai .mirai_wrap .mirai_box#mirai16 .txt_box {
    display: flex;
    gap: 1rem;
  }
}
.mirai .mirai_wrap .mirai_box#mirai16 .txt_box .num {
  flex-shrink: 0;
}
.mirai .profile {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .mirai .profile {
    margin-top: 5rem;
  }
}
.mirai .profile .wrap {
  position: relative;
}
.mirai .profile .profile_box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .mirai .profile .profile_box {
    align-items: flex-start;
    gap: 1.2rem;
  }
}
.mirai .profile .img {
  flex-shrink: 0;
  width: 14rem;
}
@media screen and (max-width: 768px) {
  .mirai .profile .img {
    width: 9.2rem;
  }
}
.mirai .profile .txt_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 56.6rem;
  height: 14.2rem;
  padding: 0 3rem;
  background: url(../img/mirai/profile_bg01.svg) no-repeat left center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .mirai .profile .txt_box {
    width: 100%;
    height: 18rem;
    padding: 0 1.7rem;
    background: url(../img/mirai/profile_bg01_sp.svg) no-repeat left center;
    background-size: 100%;
  }
}
.mirai .profile .txt_box .txt {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .mirai .profile .txt_box .txt {
    font-size: 1.3rem;
    text-align: justify;
  }
}
.mirai .profile .txt_box .txt a {
  position: relative;
  display: inline-block;
  border-bottom: 1px solid #451401;
}
.mirai .profile .txt_box .txt a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -3.8rem;
  margin: auto;
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: url(../img/mirai/ico_arw01.svg) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .mirai .profile .txt_box .txt a::before {
    right: -2rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.mirai .profile .txt_box .txt + .txt {
  margin-top: 0.8rem;
}
@media screen and (max-width: 768px) {
  .mirai .profile .txt_box .txt + .txt {
    margin-top: 1rem;
  }
}
.mirai .profile .pagetop_btn {
  position: absolute;
  bottom: -10.5rem;
  right: -13.5rem;
}
@media screen and (max-width: 768px) {
  .mirai .profile .pagetop_btn {
    bottom: -8rem;
    right: -1rem;
  }
}
.mirai .profile .pagetop_btn img {
  width: 8.2rem;
}
@media screen and (max-width: 768px) {
  .mirai .profile .pagetop_btn img {
    width: 6.2rem;
  }
}