@charset "utf-8";

#sitemap .inner {
  margin: 0 auto 120px;
}

#sitemap .top-links {
  margin: 60px 0 0;
  display: inline-block;
  text-decoration: underline;
  color: #333;
}

#sitemap .top-links:hover {
  color: var(--link);
}

#sitemap .top-links i {
  color: var(--link);
  margin: 0 5px 0 0;
}

/* -----------------------------------------------------------
    リンク共通
-------------------------------------------------------------- */
#sitemap .sitemap-btm-item a,
#sitemap .sitemap-wrap .sitemap-btm-l a {
  align-items: center;
  color: #333;
  display: flex;
  width: 100%;
  position: relative;
  line-height: 1.4;
  transition: 0.3s all;
}

#sitemap .sitemap-btm-item a::before,
#sitemap .sitemap-wrap .sitemap-btm-l a::before {
  content: "\f061";
  color: var(--main);
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.4rem;
  font-weight: 900;
  font-family: var(--webicon);
  transition: 0.3s all;
}

#sitemap .sitemap-btm-item a:hover,
#sitemap .sitemap-wrap .sitemap-btm-l a:hover {
  color: var(--main);
}

#sitemap .sitemap-btm-item a:hover::before,
#sitemap .sitemap-wrap .sitemap-btm-l a:hover::before {
  right: 15px;
}

/* -----------------------------------------------------------
    住宅の断熱リフォーム
-------------------------------------------------------------- */
#sitemap .service-sitemap-wrap {
  margin: 25px 0 0;
  background: var(--beige);
  border-radius: 8px;
  padding: 40px;
}

#sitemap .sitemap-btm-l.service {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 0 0 0 16px;
  border-left: solid 4px var(--main);
}

#sitemap .sitemap-btm {
  margin: 25px 0 0;
  display: flex;
  gap: 15px 30px;
  justify-content: flex-start;
  flex-wrap: wrap;
}

#sitemap .sitemap-btm-item {
  width: calc((100% - 60px) / 3);
  display: flex;
}

#sitemap .sitemap-btm-item a {
  background: #fff;
  border-radius: 5px;
  font-weight: bold;
  padding: 20px 45px 20px 20px;
}

/* -----------------------------------------------------------
    その他のページ
-------------------------------------------------------------- */
#sitemap .sitemap-group-wrap {
  padding: 0 40px;
}

#sitemap .sitemap-group {
  margin: 45px 0 0;
}

#sitemap .sitemap-ttl {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 0 0 0 14px;
  border-left: solid 4px var(--main);
}

#sitemap .sitemap-wrap {
  margin: 5px 0 0;
  display: flex;
  gap: 0 30px;
  justify-content: flex-start;
  flex-wrap: wrap;
}

#sitemap .sitemap-wrap .sitemap-btm-l {
  width: calc((100% - 60px) / 3);
  display: flex;
}

#sitemap .sitemap-wrap .sitemap-btm-l a {
  padding: 20px 45px 20px 5px;
  border-bottom: solid 1px var(--border2);
}

#sitemap .sitemap-wrap .sitemap-btm-l a:hover {
  border-color: var(--main);
}

@media screen and (max-width: 768px) {
  #sitemap .inner {
    margin: 0 auto 60px;
  }

  #sitemap .top-links {
    margin: 30px 0 0;
  }

  #sitemap .sitemap-btm-item a::before,
  #sitemap .sitemap-wrap .sitemap-btm-l a::before {
    right: 12px;
  }

  #sitemap .sitemap-btm-item a:hover::before,
  #sitemap .sitemap-wrap .sitemap-btm-l a:hover::before {
    right: 12px;
  }

  #sitemap .service-sitemap-wrap {
    margin: 20px 0 0;
    padding: 25px 15px;
  }

  #sitemap .sitemap-btm-l.service {
    font-size: 1.8rem;
    padding: 0 0 0 12px;
  }

  #sitemap .sitemap-btm {
    margin: 18px 0 0;
    gap: 8px;
  }

  #sitemap .sitemap-btm-item {
    width: 100%;
  }

  #sitemap .sitemap-btm-item a {
    padding: 15px 35px 15px 15px;
  }

  #sitemap .sitemap-group-wrap {
    padding: 0 15px;
  }

  #sitemap .sitemap-group {
    margin: 30px 0 0;
  }

  #sitemap .sitemap-ttl {
    font-size: 1.6rem;
    padding: 0 0 0 12px;
  }

  #sitemap .sitemap-wrap {
    margin: 0;
    gap: 0;
  }

  #sitemap .sitemap-wrap .sitemap-btm-l {
    width: 100%;
  }

  #sitemap .sitemap-wrap .sitemap-btm-l a {
    padding: 15px 35px 15px 0;
  }
}
