@layer component {
    .p-sitemap {
        margin-top: calc(9 * var(--base-unit));
        margin-bottom: calc(12.5 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-sitemap {
            margin-inline: auto;
            margin-top: calc(4.6 * var(--base-unit));
            margin-bottom: calc(5 * var(--base-unit));
            width: calc(302 / 375 * 100%);
        }
    }
    .p-link01 {
        line-height: 1.66 !important;
    }
    @media screen and (max-width: 767px) {
        .p-link01 {
            margin-top: calc(1.3 * var(--base-unit));
        }
    }
   
    @media screen and (max-width: 767px) {
        .p-link01--sitemap2 {
            white-space: nowrap;
        }
    }
    .p-link01--ttl a {
        font-size: calc(2.8 * var(--base-unit));
        line-height: 1;
        font-weight: 400 !important;
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl a {
            font-size: calc(2.2 * var(--base-unit));
        }
    }
    .p-link01--ttl a::after {
        width: calc(2 * var(--base-unit));
        height: calc(2 * var(--base-unit));
        vertical-align: inherit !important;
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl a::after {
            vertical-align: calc(-0.32 * var(--base-unit)) !important;
        }
    }
    .p-link01--ttl .p-link01__ico {
        vertical-align: inherit !important;
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl .p-link01__ico {
            vertical-align: calc(-0.35 * var(--base-unit)) !important;
        }
    }
    .p-link01--ttl-2 a {
        font-size: calc(1.8 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl-2 a {
            font-size: calc(1.5 * var(--base-unit));
        }
    }
    .p-link01--ttl-s {
        margin-left: 1em;
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl-s {
            line-height: 1.39 !important;
            margin-left: 0.5em;
        }
    }
    .p-link01--ttl-s a {
        font-size: calc(1.6 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl-s a {
            font-size: calc(1.3 * var(--base-unit));
        }
    }
    .p-link01--ttl-s + .p-link01--ttl-s {
        margin-top: calc(1 * var(--base-unit)) !important;
    }
    .p-link01--ttl-s:first-of-type {
        margin-top: calc(2 * var(--base-unit)) !important;
    }
    @media screen and (max-width: 767px) {
        .p-link01--ttl-s:first-of-type {
            margin-top: calc(1.5 * var(--base-unit));
        }
    }
    .p-link01--ttl-s2 {
        margin-top: calc(1.5 * var(--base-unit)) !important;
    }
    .p-link01--long a {
        white-space: nowrap;
    }
    @media screen and (max-width: 767px) {
        .p-link01--long a {
            white-space: normal;
        }
    }
    .p-sitemap-block {
        margin-inline: auto;
        width: var(--width-contents);
    }
    .p-sitemap-block + .p-sitemap-block {
        margin-top: calc(9 * var(--base-unit));
    }
    @media screen and (max-width: 767px) {
        .p-sitemap-block + .p-sitemap-block {
            margin-top: calc(3.3 * var(--base-unit));
        }
    }
    .p-sitemap-block__ttl {
        font-size: calc(2.8 * var(--base-unit));
        line-height: 1;
        letter-spacing: 0.1em;
        font-weight: 400;
        color: #333;
    }
    @media screen and (max-width: 767px) {
        .p-sitemap-block__ttl {
            font-size: calc(2.2 * var(--base-unit));
            line-height: 1.4;
        }
    }
    .p-sitemap-block__inner {
        margin-top: calc(3 * var(--base-unit));
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: calc(24 / 1200 * 100%);
    }
    @media screen and (max-width: 1199px) {
        .p-sitemap-block__inner {
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media screen and (max-width: 767px) {
        .p-sitemap-block__inner {
            display: block;
            margin-top: calc(0.8 * var(--base-unit));
        }
    }
    .p-sitemap-block__item {
        border-top: calc(0.1 * var(--base-unit)) solid #D5D5D5;
    }
    @media screen and (max-width: 767px) {
        .p-sitemap-block__item + .p-sitemap-block__item {
            margin-top: calc(1.8 * var(--base-unit));
        }
    }
    .p-sitemap-block-icon {
        width: calc(2 * var(--base-unit));
        height: calc(2 * var(--base-unit));
        display: inline-block;
        padding-right: 0.5em;
        line-height: 1;
        vertical-align: middle;
    }
    .p-sitemap-country-name {
        display: inline-block;
        line-height: 2;
    }
    @media screen and (max-width: 767px) {
        .p-sitemap-country-name {
            line-height: 1.67;
        }
    }
}