:root,
        html {
            font-size: 16px !important;
            min-width: 0;
        }
        body.top-renewal-preview {
            font-family: 'Noto Sans JP', sans-serif;
            font-size: 16px !important;
            line-height: 1.5 !important;
            margin: 0 !important;
            min-width: 0 !important;
        }
        .top-renewal-preview > header {
            left: 0 !important;
            top: 0 !important;
        }
        .top-renewal-preview #mobile-menu {
            background: rgba(255, 255, 255, .94) !important;
            bottom: 0 !important;
            left: 0 !important;
            right: 0 !important;
            top: 0 !important;
        }
        @media (max-width: 767px) {
            .top-renewal-preview #mobile-menu {
                -webkit-backdrop-filter: blur(10px);
                backdrop-filter: blur(10px);
                bottom: auto !important;
                height: 100dvh !important;
                justify-content: flex-start !important;
                min-height: 100vh !important;
                overflow-y: auto !important;
                padding: 7rem 1.5rem 2.5rem !important;
                width: 100vw !important;
            }
        }
        .top-renewal-preview ::selection {
            background: #d8c39f;
            color: #1a1a1a;
        }
        .top-renewal-preview ::-moz-selection {
            background: #d8c39f;
            color: #1a1a1a;
        }
        .top-renewal-hero-bg {
            background-image: url('../img/komatugaoka44_N-TOWN/mainVisual1.webp');
        }
        .top-renewal-hero-overlay {
            background:
                linear-gradient(90deg, rgba(255, 255, 255, .88) 0%, rgba(255, 255, 255, .74) 34%, rgba(255, 255, 255, .46) 62%, rgba(255, 255, 255, .28) 100%),
                linear-gradient(180deg, rgba(255, 255, 255, .44) 0%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .5) 100%);
        }
        .top-renewal-preview .top-renewal-hero-overlay + .relative .text-sumi-500 {
            color: #3f3f3f !important;
        }
        .top-renewal-preview .top-renewal-hero-overlay + .relative .text-sumi-900 {
            color: #111111 !important;
        }
        .top-renewal-concept-image {
            aspect-ratio: 3 / 4;
            background: #f3f4f6;
        }
        .top-renewal-concept-image img {
            display: block;
            height: 100%;
            object-fit: cover;
            width: 100%;
        }
        .top-renewal-preview .bg-sumi-900 {
            background-color: #1a1a1a !important;
        }
        .top-renewal-preview .hover\:bg-sumi-900:hover {
            background-color: #1a1a1a !important;
        }
        .top-renewal-preview .bg-sumi-800 {
            background-color: #2d2d2d !important;
        }
        .top-renewal-preview .text-sumi-900 {
            color: #1a1a1a !important;
        }
        .top-renewal-preview .text-sumi-800 {
            color: #2d2d2d !important;
        }
        .top-renewal-preview .text-sumi-500 {
            color: #666666 !important;
        }
        .top-renewal-preview .text-gold-400,
        .top-renewal-preview .hover\:text-gold-400:hover {
            color: #bfa57d !important;
        }
        .top-renewal-preview .bg-gold-400,
        .top-renewal-preview .hover\:bg-gold-400:hover {
            background-color: #bfa57d !important;
        }
        .top-renewal-preview .border-sumi-900 {
            border-color: #1a1a1a !important;
        }
        .top-renewal-preview .border-gold-400,
        .top-renewal-preview .hover\:border-gold-400:hover {
            border-color: #bfa57d !important;
        }
        h1, h2, h3, .serif { font-family: 'Shippori Mincho', serif; }

        .top-renewal-sub {
            background: #ffffff !important;
            color: #2d2d2d !important;
        }
        .top-renewal-sub .c-page-sub__content {
            box-sizing: border-box;
            margin: 0 auto;
            max-width: 1200px;
            padding: 10rem 1.5rem 6rem;
            width: 100%;
        }
        .top-renewal-sub .c-page-sub__content article {
            align-items: start;
            display: grid;
            gap: 3rem;
            grid-template-columns: minmax(0, 1fr);
        }
        .top-renewal-sub .c-page-sub__content-title,
        .top-renewal-sub .c-page-sub__breadcrumb {
            grid-column: 1 / -1;
        }
        .top-renewal-sub .c-page-sub__content-title {
            background: transparent;
            margin: 0;
            padding: 2.5rem 0 1.25rem;
            text-align: left;
        }
        .top-renewal-sub .c-title-page {
            margin: 0;
            padding: 0;
        }
        .top-renewal-sub .c-title-page h1 {
            color: #1a1a1a;
            font-size: clamp(2rem, 5vw, 3.75rem);
            font-weight: 500;
            letter-spacing: .04em;
            line-height: 1.2;
            margin: 0;
        }
        .top-renewal-sub .c-title-page h1 span {
            color: #bfa57d;
            display: block;
            font-family: 'Noto Sans JP', sans-serif;
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: .2em;
            margin-top: .9rem;
            text-transform: uppercase;
        }
        .top-renewal-sub .c-nav-breadcrumb ol {
            align-items: center;
            color: #8a8a8a;
            display: flex;
            flex-wrap: wrap;
            font-size: .75rem;
            gap: .5rem;
            letter-spacing: .08em;
            list-style: none;
            margin: 0;
            padding: 0 0 1rem;
        }
        .top-renewal-sub .c-nav-breadcrumb a {
            color: #666666;
            text-decoration: none;
        }
        .top-renewal-sub .c-page-sub__content-detail {
            grid-column: 1 / -1;
            min-width: 0;
            width: 100%;
        }
        .top-renewal-sub .c-content-main {
            background: transparent;
            color: #2d2d2d;
            font-size: 1rem;
            line-height: 1.9;
        }
        .top-renewal-sub .c-content-main a {
            color: #1a1a1a;
            text-decoration-color: #bfa57d;
            text-underline-offset: .2em;
        }
        .top-renewal-sub .c-nav-local__pc {
            background: rgba(249, 249, 247, .92);
            border: 1px solid #f0f0eb;
            grid-column: 1 / -1;
            margin-top: 1rem;
            padding: 1.5rem;
            position: static;
            width: 100%;
        }
        .top-renewal-sub .c-nav-local__pc ul,
        .top-renewal-sub .c-nav-local__sp ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .top-renewal-sub .c-nav-local__pc ul {
            display: grid;
            gap: 0 1.25rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .top-renewal-sub .c-nav-local__pc li {
            border-bottom: 1px solid #e7e7df;
            margin: 0;
        }
        .top-renewal-sub .c-nav-local__pc li:last-child {
            border-bottom: 0;
        }
        .top-renewal-sub .c-nav-local__pc a {
            color: #2d2d2d;
            display: block;
            font-size: .82rem;
            font-weight: 700;
            letter-spacing: .08em;
            padding: .95rem 0;
            text-decoration: none;
            transition: color .25s ease, padding-left .25s ease;
        }
        .top-renewal-sub .c-nav-local__pc li[aria-current="page"] > a,
        .top-renewal-sub .c-nav-local__pc a:hover {
            color: #bfa57d;
            padding-left: .5rem;
        }
        .top-renewal-sub .c-nav-local__pc-4th {
            border-top: 1px solid #e7e7df;
            margin-top: 1rem;
            padding-top: 1rem;
        }
        .top-renewal-sub .c-nav-local__sp {
            display: none;
        }
        .top-renewal-sub .c-blog-sub-monthly {
            background: rgba(249, 249, 247, .92);
            border: 1px solid #f0f0eb;
            margin: 3rem auto;
            max-width: 320px;
            padding: 1.5rem;
        }
        .top-renewal-sub .c-blog-sub-monthly__title {
            color: #1a1a1a;
            font-size: 1rem;
            letter-spacing: .12em;
            margin: 0 0 1rem;
        }
        .top-renewal-sub .c-blog-sub-monthly ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .top-renewal-sub .c-blog-sub-monthly li {
            border-bottom: 1px solid #e7e7df;
            margin: 0;
        }
        .top-renewal-sub .c-blog-sub-monthly a {
            color: #2d2d2d;
            display: block;
            font-size: .85rem;
            font-weight: 700;
            padding: .75rem 0;
            text-decoration: none;
            transition: color .25s ease, padding-left .25s ease;
        }
        .top-renewal-sub .c-blog-sub-monthly a:hover {
            color: #bfa57d;
            padding-left: .5rem;
        }
        .top-renewal-sub .c-page-sub__footer {
            margin: 0;
        }
        .top-renewal-sub .c-blog-sub-header {
            margin-top: 6rem;
        }
        .top-renewal-sub .c-blog-sub-header + .c-page-sub__content {
            padding-top: 4rem;
        }
        @media (max-width: 767px) {
            .top-renewal-sub .c-page-sub__content {
                padding: 8rem 1rem 4rem;
            }
            .top-renewal-sub .c-page-sub__content article {
                display: block;
            }
            .top-renewal-sub .c-page-sub__content-title {
                padding-top: 1.5rem;
            }
            .top-renewal-sub .c-title-page h1 {
                font-size: 2rem;
            }
            .top-renewal-sub .c-nav-local__pc {
                display: none;
            }
            .top-renewal-sub .c-nav-local__sp {
                background: #f9f9f7;
                border: 1px solid #f0f0eb;
                display: block;
                margin-top: 2.5rem;
                padding: 1rem;
            }
            .top-renewal-sub .c-nav-local__sp a {
                color: #2d2d2d;
                display: block;
                font-size: .85rem;
                font-weight: 700;
                padding: .75rem 0;
                text-decoration: none;
            }
            .top-renewal-sub .c-nav-local__sp li {
                border-bottom: 1px solid #e7e7df;
            }
            .top-renewal-sub .c-nav-local__sp li:last-child {
                border-bottom: 0;
            }
        }
        
        .chart-container { 
            position: relative; 
            width: 100%; 
            max-width: 600px; 
            margin-left: auto; 
            margin-right: auto; 
            height: 300px; 
            max-height: 400px; 
        } 
        @media (min-width: 768px) { 
            .chart-container { height: 350px; } 
        }

        /* Loading Shimmer - Light Theme */
        .shimmer {
            background: #f0f0f0;
            background-image: linear-gradient(to right, #f0f0f0 0%, #e0e0e0 20%, #f0f0f0 40%, #f0f0f0 100%);
            background-repeat: no-repeat;
            background-size: 800px 100%; 
            animation: placeholderShimmer 1.5s infinite linear forwards;
        }
        @keyframes placeholderShimmer {
            0% { background-position: -468px 0; }
            100% { background-position: 468px 0; }
        }

        /* Fade In Animation */
        .fade-in-up { animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #fff; }
        ::-webkit-scrollbar-thumb { background: #ccc; }
        ::-webkit-scrollbar-thumb:hover { background: #999; }






        .top-renewal-news__block {
            border-left: 1px solid #f3f4f6;
            padding-left: 2.5rem;
        }
        .top-renewal-news__heading {
            margin-bottom: 2rem;
        }
        .top-renewal-news ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .top-renewal-news li {
            border-bottom: 1px solid #f3f4f6;
            margin: 0;
            padding: 0;
        }
        .top-renewal-news li > a,
        .top-renewal-news li.c-page-home__news-no-link {
            color: inherit;
            display: block;
            padding: 1.25rem 0;
            text-decoration: none;
            transition: color .25s ease;
        }
        .top-renewal-news li > a:hover .c-page-home__news-txt {
            color: #bfa57d;
        }
        .top-renewal-news .c-page-home__news-date {
            color: #9ca3af;
            font-size: .6875rem;
            letter-spacing: .14em;
            line-height: 1.4;
            margin: 0 0 .45rem;
            text-transform: uppercase;
        }
        .top-renewal-news .c-page-home__news-txt {
            color: #1a1a1a;
            font-size: .9375rem;
            font-weight: 500;
            line-height: 1.75;
            margin: 0;
            transition: color .25s ease;
        }
        .top-renewal-news .c-page-home__news-date-new,
        .top-renewal-news .c-page-home__news-txt-new {
            background: #bfa57d;
            color: #fff;
            display: inline-block;
            font-size: .625rem;
            font-weight: 700;
            letter-spacing: .12em;
            line-height: 1;
            margin-left: .6rem;
            padding: .25rem .4rem;
            text-transform: uppercase;
            vertical-align: middle;
        }
        .top-renewal-news .c-page-home__news-txt-new {
            display: none;
        }
        .top-renewal-news .event-list ul {
            display: grid;
            gap: 1.25rem;
        }
        .top-renewal-news .event-list li {
            border-bottom: 0;
        }
        .top-renewal-news .event-list li > a,
        .top-renewal-news .event-list li.c-page-home__news-no-link {
            border-bottom: 1px solid #f3f4f6;
            display: grid;
            gap: 1rem;
            grid-template-columns: 8rem minmax(0, 1fr);
            padding: 0 0 1.25rem;
        }
        .top-renewal-news .event-list .thum {
            aspect-ratio: 4 / 3;
            background: #f3f4f6;
            overflow: hidden;
        }
        .top-renewal-news .event-list .thum img {
            display: block;
            height: 100%;
            object-fit: cover;
            width: 100%;
        }
        .top-renewal-news__more {
            margin-top: 2rem;
        }
        .top-renewal-news__more a {
            border-bottom: 1px solid #1a1a1a;
            color: #1a1a1a;
            display: inline-block;
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: .18em;
            padding-bottom: .25rem;
            text-decoration: none;
            text-transform: uppercase;
            transition: border-color .25s ease, color .25s ease;
        }
        .top-renewal-news__more a:hover {
            border-color: #bfa57d;
            color: #bfa57d;
        }
        .top-renewal-news .no-data {
            color: #9ca3af;
            font-size: .875rem;
            margin: 0;
        }
        @media (max-width: 767px) {
            .top-renewal-news__block {
                border-left: 0;
                padding-left: 0;
            }
            .top-renewal-news .event-list li > a,
            .top-renewal-news .event-list li.c-page-home__news-no-link {
                grid-template-columns: 6.5rem minmax(0, 1fr);
            }
        }

        .top-renewal-works .c-page-home__works h2 {
            color: #1a1a1a;
            font-family: 'Shippori Mincho', serif;
            font-size: 1.875rem;
            line-height: 1.3;
            margin: 0 0 4rem;
            text-align: center;
        }
        .top-renewal-works .c-page-home__works h2 span {
            color: #bfa57d;
            display: block;
            font-family: 'Noto Sans JP', sans-serif;
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: .2em;
            margin-bottom: 1rem;
            text-transform: uppercase;
        }
        .top-renewal-works .c-page-home__works ul {
            display: grid;
            gap: 2rem;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .top-renewal-works .c-page-home__works li {
            margin: 0;
            padding: 0;
        }
        .top-renewal-works .c-page-home__works a {
            color: inherit;
            display: block;
            text-decoration: none;
        }
        .top-renewal-works .c-page-home__works figure {
            aspect-ratio: 4 / 5;
            background: #f3f4f6;
            margin: 0;
            overflow: hidden;
            position: relative;
        }
        .top-renewal-works .c-page-home__works figure > img {
            display: block;
            filter: grayscale(100%);
            height: 100%;
            object-fit: cover;
            transition: filter .7s ease, transform .7s ease;
            width: 100%;
        }
        .top-renewal-works .c-page-home__works a:hover figure > img {
            filter: grayscale(0%);
            transform: scale(1.05);
        }
        .top-renewal-works .c-page-home__works figcaption {
            background: rgba(255, 255, 255, .92);
            bottom: 0;
            color: #1a1a1a;
            display: -webkit-box;
            font-family: 'Shippori Mincho', serif;
            font-size: 1.125rem;
            height: 7.5rem;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;
            left: 0;
            line-height: 1.6;
            overflow: hidden;
            padding: 1.25rem;
            position: absolute;
            right: 0;
            transition: background .25s ease;
        }
        .top-renewal-works .c-page-home__works a:hover figcaption {
            background: rgba(255, 255, 255, .98);
        }
        .top-renewal-works .c-page-home__works figcaption span {
            color: #bfa57d;
            font-family: 'Noto Sans JP', sans-serif;
            font-size: .625rem;
            font-weight: 700;
            letter-spacing: .16em;
            margin-top: .35rem;
            text-transform: uppercase;
        }
        .top-renewal-works .c-page-home__works-btn {
            margin-top: 5rem;
            text-align: center;
        }
        .top-renewal-works .c-page-home__works-btn a {
            border-bottom: 1px solid #1a1a1a;
            color: #1a1a1a;
            display: inline-block;
            font-size: .75rem;
            font-weight: 700;
            letter-spacing: .18em;
            padding-bottom: .25rem;
            text-decoration: none;
            text-transform: uppercase;
            transition: border-color .25s ease, color .25s ease;
        }
        .top-renewal-works .c-page-home__works-btn a:hover {
            border-color: #bfa57d;
            color: #bfa57d;
        }
        @media (max-width: 767px) {
            .top-renewal-works .c-page-home__works ul {
                grid-template-columns: 1fr;
            }
            .top-renewal-works .c-page-home__works figure > img {
                aspect-ratio: auto;
            }
            .top-renewal-works .c-page-home__works figure {
                aspect-ratio: 4 / 3;
            }
        }
