/* /privacy — トップ・お問合せと同系の青基調 */
body.page-privacy {
    --page-bg: #ffffff;
    --page-accent: #3ea8f2;
    --page-accent-soft: #b3ddf9;
    --page-text: #1a1a1a;
    --page-text-body: #5c5c5c;
    --page-accent-rgb: 62, 168, 242;
    --page-gradient: linear-gradient(135deg, #3ea8f2 0%, #5eb8f5 100%);
    --page-header-icon-filter: hue-rotate(-6deg) saturate(1.12) brightness(1.02);
    --page-header-logo-filter: hue-rotate(-6deg) saturate(1.1) brightness(1.02);

    background-color: var(--page-bg);
}

body.page-privacy #header.header-transparent {
    background: transparent;
    box-shadow: none;
}

body.page-privacy main {
    width: 100%;
    max-width: 100%;
    background-color: transparent;
}

body.page-privacy #header .common-logo__img {
    filter: var(--page-header-logo-filter);
}

body.page-privacy #header .global-nav__icon-img,
body.page-privacy #header .global-nav__cta-img {
    filter: var(--page-header-icon-filter);
}

body.page-privacy #header .global-nav__title {
    color: var(--page-text);
}

body.page-privacy #header .global-nav__text {
    color: var(--page-text-body);
}

body.page-privacy #header .global-nav__link:hover,
body.page-privacy #header .global-nav__link:focus-visible {
    background: rgba(var(--page-accent-rgb), 0.08);
}

body.page-privacy #header .global-nav__cta--estimate {
    background-image: var(--page-gradient), var(--page-gradient);
    box-shadow: 0 2px 12px rgba(var(--page-accent-rgb), 0.22);
}

body.page-privacy #header .global-nav__cta--contact {
    background-color: var(--page-bg);
    border-color: rgba(var(--page-accent-rgb), 0.35);
    color: var(--page-accent);
}

.privacy-page {
    padding: clamp(140px, 16vh, 180px) 0 clamp(56px, 6vh, 80px);
    font-family: 'Noto Sans JP', sans-serif;
}

/* /service .service-hero__layout と同じ見出し位置 + タイトル上を少し広めに */
.privacy-page__header {
    margin-top: 80px;
}

/* パンくずあり時は breadcrumb 分だけ上余白を詰め、見出しの縦位置を揃える */
body.page-privacy main:has(.breadcrumb-front-wrap) .privacy-page {
    padding-top: clamp(108px, calc(14vh - 12px), 148px);
}

.privacy-page__inner {
    max-width: 800px;
}

.privacy-page__heading .small {
    color: var(--page-text);
}

.privacy-page__heading .large {
    color: var(--page-accent);
}

.privacy-page__intro {
    margin: clamp(24px, 4vw, 36px) 0 0;
    font-size: clamp(0.9375rem, 2.2vw, 1rem);
    line-height: 1.9;
    color: var(--page-text-body);
}

.privacy-page__body {
    margin-top: clamp(40px, 6vw, 56px);
}

.privacy-page__section + .privacy-page__section {
    margin-top: clamp(32px, 5vw, 44px);
    padding-top: clamp(32px, 5vw, 44px);
    border-top: 1px solid rgba(var(--page-accent-rgb), 0.15);
}

.privacy-page__section-title {
    margin: 0 0 16px;
    font-size: clamp(1.0625rem, 2.6vw, 1.25rem);
    font-weight: 700;
    line-height: 1.5;
    color: var(--page-text);
}

.privacy-page__text {
    margin: 0 0 12px;
    font-size: clamp(0.875rem, 2.1vw, 0.9375rem);
    line-height: 1.9;
    color: var(--page-text-body);
}

.privacy-page__text:last-child {
    margin-bottom: 0;
}

.privacy-page__list {
    margin: 12px 0 0;
    padding-left: 1.25em;
    font-size: clamp(0.875rem, 2.1vw, 0.9375rem);
    line-height: 1.9;
    color: var(--page-text-body);
}

.privacy-page__list li + li {
    margin-top: 8px;
}

.privacy-page__contact {
    margin: 16px 0 0;
}

.privacy-page__contact-row {
    display: grid;
    grid-template-columns: 6.5em 1fr;
    gap: 8px 16px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(var(--page-accent-rgb), 0.1);
    font-size: clamp(0.875rem, 2.1vw, 0.9375rem);
    line-height: 1.7;
}

.privacy-page__contact-row:last-child {
    border-bottom: none;
}

.privacy-page__contact-row dt {
    margin: 0;
    font-weight: 700;
    color: var(--page-text);
}

.privacy-page__contact-row dd {
    margin: 0;
    color: var(--page-text-body);
}

.privacy-page__contact-row a {
    color: var(--page-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.privacy-page__contact-row a:hover,
.privacy-page__contact-row a:focus-visible {
    opacity: 0.85;
}

.privacy-page__updated {
    margin: clamp(40px, 6vw, 56px) 0 0;
    font-size: 0.8125rem;
    color: #888;
    text-align: right;
}

@media (max-width: 599px) {
    .privacy-page__contact-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}
