.sitemap-header {
    text-align: center;
    margin-bottom: 80px;
}

@media screen and (max-width: 1024px) {
    .sitemap-header {
        margin-bottom: 60px;
    }
}

.sitemap-header__title {
    font-weight: bold;
    font-size: 40px;
    letter-spacing: 2px;
    line-height: calc(60 / 40);
    margin-bottom: 18px;
}

@media screen and (max-width: 1024px) {
    .sitemap-header__title {
        font-size: 32px;
        letter-spacing: 3.2px;
        line-height: calc(60 / 32);
        margin-bottom: 8px;
    }
}

.sitemap-header__subtitle {
    font-weight: bold;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: calc(45 / 16);
    color: #2B9B7D;
}

@media screen and (max-width: 1024px) {
    .sitemap-header__subtitle {
        letter-spacing: 1.6px;
    }
}

/* コンテンツ部分 */
.sitemap-list {
    display: flex;
    gap: 40px 60px;
    flex-wrap: wrap;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 1.6px;
    line-height: 2;
}

@media screen and (max-width: 1024px) {
    .sitemap-list {
        flex-direction: column;
        gap: 16px;
    }
}

.sitemap-list__item,
.sitemap-list__group {
    width: calc((100% - 60px) / 2);
}

@media screen and (max-width: 1024px) {

    .sitemap-list__item,
    .sitemap-list__group {
        width: unset;
    }
    
    .sitemap-list__group {
        margin-top: 8px;
    }
}

.sitemap-list__link {
    position: relative;
    display: inline-block;
    text-indent: 1em;
}

.sitemap-list__link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: #2B9B7D;
}

.sitemap-list__group-title {
    color: #2B9B7D;
    border-bottom: 1px solid #2B9B7D;
    margin-bottom: 19px;
}

@media screen and (max-width: 1024px) {
    .sitemap-list__group-title {
        margin-bottom: 16px;
    }
}

.sitemap-list__child {
    display: flex;
    flex-wrap: wrap;
    gap: 17px 72px;
    padding-left: 1em;
}

@media screen and (max-width: 1024px) {
    .sitemap-list__child {
        flex-direction: column;
        padding-left: unset;
        gap: 16px;
    }
}

.sitemap-list__child-item {
    width: calc((100% - 72px) / 2);
}

@media screen and (max-width: 1067px) {
    .sitemap-list__child-item {
        width: unset;
    }
}