@charset "UTF-8";
@font-face {
  font-family: "Helvetica";
  src: url("../font/Helvetica.ttf") format("truetype");
}
#sitemap .sitemap {
  background: #F8F8F8;
  padding-block: 79rem 136rem;
}
@media screen and (max-width: 767px) {
  #sitemap .sitemap {
    padding-block: 60rem;
  }
}
#sitemap .sitemap__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #sitemap .sitemap__main {
    display: grid;
    grid-template-areas: "top top" "topics company" "product company" "contact contact";
  }
}
#sitemap .sitemap__main {
  padding-inline: 20rem;
  gap: 35rem;
}
@media screen and (max-width: 767px) {
  #sitemap .sitemap__item.--top {
    grid-area: top;
  }
  #sitemap .sitemap__item.--topics {
    grid-area: topics;
  }
  #sitemap .sitemap__item.--company {
    grid-area: company;
  }
  #sitemap .sitemap__item.--product {
    grid-area: product;
    margin-top: auto;
  }
  #sitemap .sitemap__item.--contact {
    grid-area: contact;
  }
}
@media (any-hover: hover) {
  #sitemap .sitemap__item a:hover .sitemap__item-title,
  #sitemap .sitemap__item a:hover .sitemap__item-sub-title {
    color: #DE0A0A;
  }
  #sitemap .sitemap__item a:hover .sitemap__item-title::after,
  #sitemap .sitemap__item a:hover .sitemap__item-sub-title::after {
    width: 100%;
  }
}
#sitemap .sitemap__item-title {
  color: #DE0A0A;
  font-family: "Outfit", sans-serif;
  font-size: max(20px, 22rem);
  font-weight: 700;
  line-height: 1.3636363636;
}
#sitemap .sitemap__item-sub-title {
  font-size: max(12px, 12rem);
  line-height: 1.4166666667;
  margin-top: max(3px, 3rem);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#sitemap .sitemap__item-title,
#sitemap .sitemap__item-sub-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
#sitemap .sitemap__item-title::after,
#sitemap .sitemap__item-sub-title::after {
  content: "";
  width: 0;
  height: max(1px, 1rem);
  background: #DE0A0A;
  position: absolute;
  top: 100%;
  left: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#sitemap .sitemap__item-title::after {
  top: 92%;
}
#sitemap .sitemap__item-list-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40rem;
}
@media screen and (max-width: 767px) {
  #sitemap .sitemap__item-list-wrap {
    gap: 33rem;
  }
}
#sitemap .sitemap__item-list-wrap::after {
  content: "";
  width: 100%;
  height: max(1px, 1rem);
  background: #EFEAEA;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
#sitemap .sitemap__item-list-wrap .sitemap__item-list:last-child {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  margin-top: unset;
}
#sitemap .sitemap__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: max(13px, 13rem);
  margin-top: 24rem;
}
#sitemap .sitemap__item-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  font-size: max(13px, 16rem);
  line-height: 1.3125;
  letter-spacing: 0.02em;
  position: relative;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #sitemap .sitemap__item-list li a {
    font-size: max(12px, 14rem);
  }
}
#sitemap .sitemap__item-list li a::before {
  content: "・";
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
#sitemap .sitemap__item-list li a::after {
  content: "";
  width: 0;
  height: max(1px, 1rem);
  background: #DE0A0A;
  position: absolute;
  top: 108%;
  left: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  #sitemap .sitemap__item-list li a:hover {
    color: #DE0A0A;
  }
  #sitemap .sitemap__item-list li a:hover::after {
    width: 100%;
  }
}