.minato-lp-page .minato-market {
    background: #edf5f7;
    color: var(--minato-deep);
}
.minato-market .minato-kicker {
    color: var(--minato-teal);
}
.minato-market .minato-section-head h2 {
    color: var(--minato-deep);
}
.minato-market .minato-section-head--split > p {
    color: var(--minato-muted);
}

.minato-data-layout {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.85fr);
    margin-top: 48px;
}
.minato-chart-card,
.minato-table-card,
.minato-demography-card {
    background: #fff;
    color: var(--minato-ink);
    min-width: 0;
    padding: 30px;
}
.minato-market .minato-chart-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--minato-line);
}
.minato-card-head {
    align-items: end;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}
.minato-card-head span,
.minato-card-head strong {
    display: block;
}
.minato-card-head span {
    color: var(--minato-muted);
    font-size: 14px;
    line-height: 1.8;
}
.minato-card-head strong {
    color: var(--minato-deep);
    font-size: 17px;
    font-weight: 500;
    margin-top: 6px;
}
.minato-card-head .minato-unit {
    font-size: 14px;
    white-space: nowrap;
}
.minato-chart-card--rent .minato-card-head span {
    color: var(--minato-muted);
}
.minato-chart-card--rent .minato-card-head strong {
    color: var(--minato-deep);
}
.minato-chart-scroll {
    margin-top: 24px;
    overflow-x: auto;
    scrollbar-color: #82949f transparent;
    scrollbar-width: thin;
}
.minato-chart-scroll-hint {
    display: none;
}
.minato-chart-card {
    container-type: inline-size;
}
@container (max-width: 679px) {
    .minato-lp .minato-chart-scroll-hint {
        color: var(--minato-muted);
        display: block;
        font-size: 14px;
        line-height: 1.8;
        margin-top: 22px;
    }
}
.minato-chart-card--rent .minato-chart-scroll {
    margin-block: auto;
    padding-block: 24px;
}
.minato-rent-chart,
.minato-population-chart {
    display: block;
    height: auto;
    min-width: 680px;
    width: 100%;
}
.minato-chart-grid line {
    stroke: #d8e0e3;
    stroke-dasharray: 3 6;
    stroke-width: 0.75;
}
.minato-rent-chart .minato-chart-grid line {
    stroke: #d8e4e8;
}
.minato-chart-baseline {
    stroke: #8a9ca9;
    stroke-width: 1;
}
.minato-chart-labels text {
    fill: var(--minato-muted);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
}
.minato-rent-gradient-start {
    stop-color: #719cad;
}
.minato-rent-gradient-end {
    stop-color: #416f80;
}
.minato-chart-bar {
    fill: url("#minato-rent-gradient");
}
.minato-chart-bars .minato-chart-value {
    fill: var(--minato-deep);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-anchor: middle;
}
.minato-chart-category {
    fill: var(--minato-muted);
    font-family: "Manrope", "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 500;
    text-anchor: middle;
}

.minato-table-scroll {
    overflow-x: auto;
}
.minato-table-scroll table {
    border-collapse: collapse;
    width: 100%;
}
.minato-table-scroll caption {
    color: var(--minato-deep);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    padding-bottom: 20px;
    text-align: left;
}
.minato-table-scroll th,
.minato-table-scroll td {
    border-bottom: 1px solid var(--minato-line);
    font-size: 16px;
    line-height: 1.7;
    padding: 16px 8px;
    text-align: left;
}
.minato-table-scroll thead th {
    background: var(--minato-cream);
    color: var(--minato-muted);
    font-size: 14px;
    font-weight: 500;
}
.minato-table-scroll tbody th {
    font-weight: 500;
}
.minato-table-scroll td {
    color: var(--minato-deep);
    font-size: 16px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}
.minato-data-note,
.minato-source-line {
    color: var(--minato-muted);
    font-size: 14px;
    line-height: 1.9;
}
.minato-lp .minato-data-note {
    margin-top: 22px;
}
.minato-data-note a,
.minato-source-line a {
    color: var(--minato-teal);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.minato-lp-page .minato-population {
    background: var(--minato-cream);
}
.minato-population-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr);
    margin-top: 48px;
}
.minato-chart-card--population,
.minato-demography-card {
    border: 1px solid var(--minato-line);
}
.minato-chart-insight {
    align-items: baseline;
    border-top: 1px solid var(--minato-line);
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    justify-content: space-between;
    margin-top: 24px;
    padding-top: 18px;
}
.minato-chart-insight span {
    color: var(--minato-muted);
    font-size: 14px;
}
.minato-chart-insight strong {
    color: var(--minato-teal);
    font-family: "DM Serif Display", "Noto Serif JP", serif;
    font-size: 38px;
    font-weight: 400;
}
.minato-population-chart {
    shape-rendering: geometricPrecision;
}
.minato-population-gradient-start {
    stop-color: #668d9e;
    stop-opacity: 0.3;
}
.minato-population-gradient-end {
    stop-color: #668d9e;
    stop-opacity: 0;
}
.minato-population-line-gradient-start {
    stop-color: #668d9e;
}
.minato-population-line-gradient-end {
    stop-color: #335d72;
}
.minato-population-halo-gradient-start {
    stop-color: #b88e52;
    stop-opacity: 0.25;
}
.minato-population-halo-gradient-end {
    stop-color: #b88e52;
    stop-opacity: 0;
}
.minato-population-area {
    fill: url("#minato-population-gradient");
}
.minato-population-line {
    fill: none;
    stroke: url("#minato-population-line-gradient");
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
}
.minato-population-guide {
    stroke: #b88e52;
    stroke-dasharray: 3 6;
    stroke-width: 1;
}
.minato-population-halo {
    fill: url("#minato-population-halo-gradient");
}
.minato-population-points circle {
    fill: #fff;
    stroke: var(--minato-teal);
    stroke-width: 2.5;
}
.minato-population-points .minato-population-point--latest {
    fill: #b88e52;
    stroke: #fff;
    stroke-width: 3;
}
.minato-population-value-bg {
    fill: #fff;
}
.minato-population-value-bg--latest {
    fill: var(--minato-deep);
}
.minato-population-values text {
    fill: var(--minato-deep);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-anchor: middle;
}
.minato-population-values .minato-chart-value-label--latest {
    fill: #fff;
}
.minato-chart-labels--years text {
    fill: var(--minato-muted);
    font-size: 14px;
    text-anchor: middle;
}
.minato-table-scroll--compact {
    border-top: 1px solid var(--minato-line);
    margin-top: 24px;
    padding-top: 20px;
}
.minato-table-scroll--compact caption {
    font-size: 14px;
}
.minato-table-scroll--compact tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.minato-table-scroll--compact thead {
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}
.minato-table-scroll--compact tr {
    display: flex;
    justify-content: space-between;
}
.minato-table-scroll--compact th,
.minato-table-scroll--compact td {
    display: block;
    font-size: 16px;
    padding: 10px 6px;
}

.minato-donut {
    align-items: center;
    background: conic-gradient(var(--minato-teal) 0 13.3%, var(--minato-sky) 13.3% 82.5%, var(--minato-warm) 82.5% 100%);
    border-radius: 50%;
    display: flex;
    height: 220px;
    justify-content: center;
    margin: 38px auto;
    position: relative;
    width: 220px;
}
.minato-donut::before {
    border: 1px solid var(--minato-line);
    border-radius: 50%;
    content: "";
    inset: -9px;
    position: absolute;
}
.minato-donut::after {
    background: #fff;
    border-radius: 50%;
    content: "";
    height: 174px;
    position: absolute;
    width: 174px;
}
.minato-donut > span {
    color: var(--minato-muted);
    font-size: 14px;
    position: relative;
    text-align: center;
    z-index: 1;
}
.minato-donut strong {
    color: var(--minato-deep);
    display: block;
    font-family: "DM Serif Display", serif;
    font-size: 32px;
    font-weight: 400;
    margin-top: 6px;
}
.minato-demography-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.minato-demography-list__item {
    align-items: center;
    border-top: 1px solid var(--minato-line);
    display: grid;
    gap: 8px;
    grid-template-columns: 10px 1fr auto;
    padding: 14px 0;
}
.minato-demography-list__item::before {
    background: var(--minato-teal);
    border-radius: 50%;
    content: "";
    height: 7px;
    width: 7px;
}
.minato-demography-list__item--2::before {
    background: var(--minato-sky);
}
.minato-demography-list__item--3::before {
    background: var(--minato-warm);
}
.minato-demography-list__item span,
.minato-demography-list__item small {
    color: var(--minato-muted);
    font-size: 14px;
}
.minato-demography-list__item small {
    grid-column: 2 / 4;
}
.minato-demography-list__item strong {
    color: var(--minato-deep);
    font-size: 21px;
    font-weight: 500;
}
.minato-lp .minato-source-line {
    margin-top: 28px;
}

.minato-lp-page .minato-education {
    background: var(--minato-paper);
}
.minato-education__layout {
    align-items: start;
    display: grid;
    gap: 64px;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}
.minato-education-facts {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.minato-education-facts article {
    border-top: 2px solid var(--minato-warm);
    padding: 28px 0;
}
.minato-education-facts strong {
    color: var(--minato-deep);
    display: block;
    font-family: "DM Serif Display", "Noto Serif JP", serif;
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 400;
}
.minato-education-facts h3 {
    color: var(--minato-deep);
    font-size: 16px;
    line-height: 1.8;
    margin-top: 18px;
}
.minato-education-facts p {
    color: var(--minato-muted);
    font-size: 16px;
    line-height: 1.9;
    margin-top: 12px;
}
.minato-lp-page .minato-search-guide {
    background: var(--minato-mint);
}
.minato-point-grid {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 48px 0 0;
    padding: 0;
}
.minato-point-grid li {
    border-top: 1px solid #b8c5cb;
    padding-top: 24px;
}
.minato-point-grid li > span {
    color: #647f8f;
    font-family: "DM Serif Display", serif;
    font-size: 40px;
}
.minato-point-grid h3 {
    color: var(--minato-deep);
    font-size: 18px;
    line-height: 1.8;
    margin-top: 16px;
}
.minato-point-grid p {
    color: var(--minato-muted);
    font-size: 16px;
    line-height: 2;
    margin-top: 16px;
}
.minato-lp-page .minato-faq {
    background: #fff;
}
.minato-faq__layout {
    align-items: start;
    display: grid;
    gap: 64px;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
}
.minato-faq-title__line {
    display: block;
}
.minato-faq__list details {
    border-bottom: 1px solid var(--minato-line);
}
.minato-faq__list details:first-child {
    border-top: 1px solid var(--minato-line);
}
.minato-faq__list summary {
    color: var(--minato-deep);
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.9;
    list-style: none;
    padding: 26px 34px 26px 0;
    position: relative;
}
.minato-faq__list summary::-webkit-details-marker {
    display: none;
}
.minato-faq__list summary::after {
    color: var(--minato-teal);
    content: "+";
    font-size: 24px;
    position: absolute;
    right: 4px;
    top: 20px;
}
.minato-faq__list details[open] summary::after {
    content: "−";
}
.minato-faq__list summary span {
    color: var(--minato-teal);
    font-family: "DM Serif Display", serif;
    font-size: 19px;
    margin-right: 14px;
}
.minato-faq__list details > p {
    color: var(--minato-muted);
    font-size: 16px;
    line-height: 2;
    padding: 0 30px 26px;
}

.minato-lp-page .minato-consultation {
    background: linear-gradient(120deg, #eff6f4, #f8f5ed);
    border-top: 1px solid var(--minato-line);
    color: var(--minato-deep);
    padding: 86px 0;
}
.minato-consultation__inner {
    align-items: center;
    display: grid;
    gap: 70px;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
.minato-consultation .minato-kicker {
    color: var(--minato-teal);
    margin-bottom: 24px;
}
.minato-consultation h2 {
    color: var(--minato-deep);
    font-family: "Noto Serif JP", "Yu Mincho", serif;
    font-size: clamp(30px, 3.5vw, 46px);
    font-weight: 400;
    line-height: 1.7;
}
.minato-consultation__inner > div > p:not(.minato-kicker) {
    color: var(--minato-muted);
    font-size: 16px;
    line-height: 2;
    margin-top: 22px;
}
.minato-consultation__actions {
    display: flex;
    flex-direction: column;
}
.minato-button--light {
    background: #416f80;
    color: #fff;
    min-height: 64px;
}
.minato-button--light:hover {
    background: #315867;
    color: #fff;
}
.minato-line-link {
    align-items: center;
    background: #fff;
    border: 1px solid #a2b8bd;
    color: var(--minato-deep);
    display: flex;
    font-size: 16px;
    font-weight: 700;
    gap: 12px;
    justify-content: center;
    line-height: 1.6;
    margin-top: 14px;
    min-height: 60px;
    padding: 14px 18px;
    text-align: center;
    text-decoration: none;
}
.minato-line-link:hover {
    background: #e2eeed;
    color: var(--minato-deep);
}
.minato-line-link .fa-line {
    color: #06c755;
    flex: 0 0 32px;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    width: 32px;
}
.minato-consultation__actions small {
    color: var(--minato-muted);
    font-size: 14px;
    line-height: 1.8;
    margin-top: 16px;
    text-align: center;
}

@media (max-width: 1000px) {
    .minato-data-layout,
    .minato-population-grid,
    .minato-education__layout,
    .minato-faq__layout,
    .minato-consultation__inner {
        gap: 32px;
        grid-template-columns: minmax(0, 1fr);
    }
    .minato-point-grid {
        gap: 24px;
    }
    .minato-rent-chart,
    .minato-population-chart {
        max-width: 760px;
        margin-inline: auto;
    }
    .minato-demography-card {
        display: grid;
        gap: 0 32px;
        grid-template-columns: 1fr 1fr;
    }
    .minato-demography-card .minato-card-head,
    .minato-demography-card .minato-data-note {
        grid-column: 1 / -1;
    }
    .minato-demography-list {
        align-self: center;
    }
}

@media (max-width: 700px) {
    .minato-data-layout,
    .minato-population-grid,
    .minato-point-grid {
        margin-top: 32px;
    }
    .minato-chart-card,
    .minato-table-card,
    .minato-demography-card {
        padding: 22px 18px;
    }
    .minato-demography-card {
        display: block;
    }
    .minato-lp .minato-chart-scroll-hint {
        color: var(--minato-muted);
        display: block;
        font-size: 14px;
        line-height: 1.8;
        margin-top: 22px;
    }
    .minato-chart-card--rent .minato-chart-scroll-hint {
        color: var(--minato-muted);
    }
    .minato-chart-scroll-hint span {
        margin-left: 8px;
    }
    .minato-chart-scroll {
        margin-top: 12px;
        padding-bottom: 12px;
    }
    .minato-rent-chart,
    .minato-population-chart {
        min-width: 680px;
    }
    .minato-card-head {
        align-items: start;
        flex-wrap: wrap;
        gap: 8px;
    }
    .minato-chart-insight strong {
        font-size: 32px;
    }
    .minato-education-facts {
        gap: 0;
        grid-template-columns: 1fr;
    }
    .minato-education-facts strong {
        font-size: 26px;
    }
    .minato-education-facts h3 {
        font-size: 16px;
    }
    .minato-education-facts p {
        font-size: 16px;
    }
    .minato-point-grid {
        grid-template-columns: 1fr;
    }
    .minato-table-scroll--compact tbody {
        grid-template-columns: 1fr;
    }
    .minato-faq-title__line {
        display: inline;
    }
    .minato-lp-page .minato-consultation {
        padding: 64px 0;
    }
}
