@charset "utf-8";
/* CSS Document */
:root{
  --font-Zenmaru: "Zen Maru Gothic", sans-serif;
}

.mkh_spbr{
  display: inline-block;
}


/* header */
.mkh_map_logo{
  position: absolute;
  display: flex;
  align-items: center;
  top: clamp(0.625rem, -0.25rem + 1.46vw, 1.5rem);/* 10-24 960-1920 */
  left: clamp(1rem, -1.5rem + 4.17vw, 3.5rem);/* 16-56 960-1920 */
  z-index: 999;
}
.mkh_map_logo a:first-of-type{
  display: inline-block;
  max-width: clamp(94px,7.64vw,164px);
  margin-right: clamp(6px, 1vw, 19px);
}
.mkh_map_logo a:nth-of-type(2){
  display: inline-block;
  max-width: clamp(150px,13.42vw,288px);
  padding: 4px 0 2px clamp(6px, 1vw, 19px);
  border-left: 2px solid #231815;
}
.mkh_top_block{
  background-color: transparent;
}


/* footer */
.mkh_map_footer{
  font-family: var(--font-Zenmaru);
  background-color: #295267;
}
.mkh_map_footer_wrap{
  max-width: 1072px;
  margin: auto;
  margin-top: clamp(2rem, -7.796rem + 16.33vw, 5rem);/* 32-80 960-1254 */
  padding: clamp(1.5rem, -9.929rem + 19.05vw, 5rem) 16px clamp(3.5rem, -12.622rem + 26.87vw, 8.438rem);/* 24-80 960-1254 *//* 56-135 960-1254 */
}
.mkh_map_footer_wrap h3{
  width: fit-content;
  margin: 0 auto 44px;
  padding-bottom: 16px;
  font-size: clamp(1em, -0.447em + 5.38vw, 1.875em);/* 16-30 430-690 */
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #FFFFFF;
  border-bottom: 3px solid #E1C569;
}
.mkh_map_footer_content{
  position: relative;
  max-width: 886px;
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: space-between;
  gap: clamp(3.5rem, 2.514rem + 2.29vw, 4rem) 32px;/* 56-64 690-1040 */
}
.mkh_map_liner{
  position: absolute;
  display: block;
  content: '';
  height: clamp(8.625rem, 1.144rem + 17.35vw, 10.75rem);
  bottom: 0;
  left: 0;
  width: 100%;
}
.mkh_map_liner::before{
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-bottom: 8px solid #86ABB6;
}
.mkh_map_footerLink{
  position: relative;
  display: block;
  max-width: clamp(8.625rem, 1.144rem + 17.35vw, 10.75rem);/* 138-172 690-886 */
  z-index: 2;
}
.mkh_map_footerLink h4{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 34px;
  padding: 2px 2px 2px 12px;
  font-family: var(--font-Zenmaru);
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.064em;
  font-size: 1em;
  color: #295267;
  border-radius: 12px;
  background-color: #E1C569;
}
.mkh_map_footerArrow {
  display: inline-block;
  width: 8px;
  height: 6px;
  margin-left: 8px;
  transition: transform 0.2s ease;
}
.mkh_map_footerArrow img{
  display: block;
}
.mkh_map_footerImg{
  margin-top: 4px;
  height: fit-content;
  align-content: center;
  aspect-ratio: 1;
  border-radius: 12px;
  background-color: #FFFFFF;
}
.mkh_map_footerImg img{
  position: relative;
  transform: scale(1.1);
  transition: transform 0.2s ease;
  z-index: 3;
}
/* mkh_map_footerTxt-wrap */
.mkh_map_footerTxt-wrap{
  padding: 24px 16px;
}
.mkh_map_footerTxt-flx{
  position: relative;
  display: flex;
  align-items: center;
  max-width: 886px;
  margin-inline: auto;
}
.mkh_map_plane{
  position: absolute;
  left: -200px;
  left: clamp(-200px, calc(0px + (-200) * ((100vw - 820px) / 480)), 0px);;/* 0 -200 820-1300*/
  bottom: 0;
  max-width: clamp(10.5rem, -4.661rem + 29.58vw, 19.375rem);/* 168-310 820-1300 */
}
.mkh_logo_ChizaiMap{
  flex: 1 1 auto;
  max-width: clamp(11.625rem, -4.177rem + 30.83vw, 20.875rem);/* 186-334 820-1300*/
  height: 72px;
  box-sizing: content-box;
  padding-right: clamp(1.125rem, -1.224rem + 4.58vw, 2.5rem);/* 18-40 820-1300 */
  padding-left: clamp(0px, calc(80px - 80 * ((100vw - 690px) / 610)), 80px);/* 80-0 690-1300*/
  align-content: center;
  border-right: 2px solid #231815;
}
.mkh_details_block{
  flex: 0 0 auto;
  margin-left: 18px;
}

.mkh_cooperation{
  font-size: clamp(0.625em, 0.3494em + 1.0256vw, 0.875em);
  font-weight: 600;
}

.mkh_footerSitemap-linkWrap{
  max-width: 886px;
  margin-inline: auto;
  margin-top: clamp(0px, calc(12px - 12 * ((100vw - 820px) / 480)), 12px);;/* 12-0 820-1300 */
}
a.mkh_footerSitemap-link .mkh_linkTxt{
  font-size: 0.75em;
}
.mkh_coryRight{
  margin-top: 32px;
  font-size: clamp(0.625em, 0.3494em + 1.0256vw, 0.875em);/* 10-14 430-820 */
  font-weight: 500;
  text-align: center;
}


@media screen and (min-width:821px){
  /* footer */
  .mkh_map_footerLink:hover h4 .mkh_map_footerArrow{
    transform: translateX(4px);
  }
  .mkh_map_footerLink:hover .mkh_map_footerImg img{
    transform: scale(1.2);
  }
}
@media screen and (max-width:1300px){
  /* mkh_map_footerTxt-wrap */
  .mkh_map_plane{
    top: clamp(-154px, calc(-80px - 74 * ((100vw - 820px) / 480)), -80px);/* -80 -154 820-1300 */
  }
}
@media screen and (max-width:960px){
  /* footer */
  .mkh_map_footerLink h4{
    font-weight: 900;
  }
}
@media screen and (max-width:820px){
  /* mkh_map_footerTxt-wrap */
  .mkh_map_footerTxt-flx{
    flex-wrap: wrap;
  }
  .mkh_logo_ChizaiMap{
    border-right: unset;
  }
  .mkh_details_block{
    margin-left: 0;
  }
}
@media screen and (max-width:690px){
  /* footer */
  .mkh_map_footerLink{
    max-width: fit-content;
  }
  .mkh_map_footerLink:first-child::after{
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    right: -100%;
    bottom: 50%;
    transform: translateY(24px);
    border-top: 8px solid #86ABB6;
  }
  .mkh_map_footerLink:nth-child(3):after{
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    right: -100%;
    bottom: 50%;
    transform: translateY(24px);
    border-top: 8px solid #86ABB6;
  }
  .mkh_map_liner {
    height: 100%;
    bottom: unset;
    top: 50%;
    transform: translateY(-47%);
  }
  .mkh_map_liner::before{
    height: 50%;
    border-bottom: unset;
    background-image: url(../img/deco_footer_line.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .mkh_map_footer_content{
    grid-template-columns: repeat(2, minmax(138px, 200px));
    justify-content: center;
    padding: 0 16px;
  }
  .mkh_cooperation{
    margin-top: 1em;
  }
}