/**
* Sitemap
**/

.p-sitemap__inner {
  max-width: 780px;
  margin: 0 auto;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__inner {
    padding: 0 5vw;
  }
}

.p-sitemap__menu {
  display: flex;
  flex-flow: column wrap;
  height: 400px;
  gap: 0 20px;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu {
    display: block;
    height: inherit;
  }
}

.p-sitemap__menu a {
  display: inline-block;
  text-decoration: underline;
  line-height: 1.4;
}

.p-sitemap__menu > li {
  margin-top: 18px;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li {
    margin-top: 4vw;
  }
}

.p-sitemap__menu > li > a {
  font-size: 1.125rem;
  color: #182886;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > a {
    font-size: 4vw;
  }
}

.p-sitemap__menu > li > ul {
  margin-top: 12px;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul {
    padding: 0 2.8vw;
    margin-top: 2.8vw;
  }
}

.p-sitemap__menu > li > ul > li {
  margin-top: 4px;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul > li {
    margin-top: 1.4vw;
  }
}

.p-sitemap__menu > li > ul > li > a {
  font-size: 0.875rem;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul > li > a {
    font-size: 3.4vw;
  }
}

.p-sitemap__menu > li > ul > li > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 4px;
  padding: 18px;
  background: #E8F5FF;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul > li > ul {
    gap: 2.8vw;
    margin-top: 1.2vw;
    padding: 2.8vw;
  }
}

.p-sitemap__menu > li > ul > li > ul > li {
  width: calc((100% - 48px) / 5);
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul > li > ul > li {
    width: calc((100% - 2.8vw) / 2);
  }
}

.p-sitemap__menu > li > ul > li > ul > li > a {
  font-size: 0.875rem;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul > li > ul > li > a {
    font-size: 3.4vw;
  }
}

.p-sitemap__menu > li > ul > li > ul > li > ul > li a {
  font-size: 0.75rem;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__menu > li > ul > li > ul > li > ul > li a {
    font-size: 3vw;
  }
}

.p-sitemap__top {
  margin: 0 auto 40px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-sitemap__top {
    margin: 0 auto 5vw;
  }
}

.p-sitemap__top h2 {
  max-width: 343px;
  margin: 0 auto 20px;
} 

@media only screen and (max-width: 767px) {
  .p-sitemap__top h2 {
    margin: 0 auto 2.8vw;
  }
}

.p-sitemap__top p {
  font-size: 1.5rem;
} 