
        html,
        body {
            overscroll-behavior: none;
            background-color: #FFFFFF;
            font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
        }

        h1,
        h2,
        h3,
        h4 {
            font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
        }

        @media (prefers-reduced-motion: no-preference) {
            [data-float] {
                animation: canonFloat 4.8s ease-in-out infinite;
            }

            [data-float="slow"] {
                animation-duration: 6.2s;
            }

            [data-float="large"] {
                animation: canonFloatLarge 5.4s ease-in-out infinite;
            }

            [data-pulse] {
                animation: canonPulse 2.6s ease-in-out infinite;
            }

            /* data-lift のホバー演出は一旦無効化（2026-09-04） */

            @keyframes canonFloat {

                0%,
                100% {
                    transform: translateY(0);
                }

                50% {
                    transform: translateY(-10px);
                }
            }

            @keyframes canonFloatLarge {

                0%,
                100% {
                    transform: translateY(0) rotate(0deg);
                }

                50% {
                    transform: translateY(-22px) rotate(-1.2deg);
                }
            }

            @keyframes canonPulse {

                0%,
                100% {
                    transform: scale(1);
                    box-shadow: 0 10px 24px rgba(242, 99, 111, 0.24);
                }

                50% {
                    transform: scale(1.025);
                    box-shadow: 0 16px 36px rgba(242, 99, 111, 0.34);
                }
            }
        }

        .faq-answer {
            overflow: hidden;
        }

        .faq-toggle {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            text-align: left;
        }

        .faq-icon {
            flex: 0 0 auto;
            font-size: 1.4rem;
            line-height: 1;
            color: #F2636F;
            transition: transform 0.25s ease;
        }

        .faq-toggle[aria-expanded="true"] .faq-icon {
            transform: rotate(45deg);
        }

        /* Renewal v2 — 明るく、実際に会うサービスへ */
        :root {
            --coral: #ff5869;
            --ink: #172333;
            --yellow: #ffd95a;
        }

        body {
            color: var(--ink);
            background: #fff;
        }

        #siteHeader {
            background: rgba(255, 255, 255, .92);
            backdrop-filter: blur(16px);
        }

        #siteHeader a {
            font-weight: 700;
        }

        #siteHeader a[href*="signup"],
        #siteHeader a[href*="signin"],
        .canon-home>section a[href*="signup"] {
            border-radius: 999px;
            background: #2C3F59;
            box-shadow: 0 12px 30px rgba(44, 63, 89, .24);
        }

        #siteHeader a[href*="signin"] {
            background: #F2636F;
        }

        .canon-home>section:first-of-type {
            min-height: calc(100vh - 80px);
            background-image: linear-gradient(90deg, rgba(255, 250, 244, .98) 0%, rgba(255, 250, 244, .88) 33%, rgba(255, 250, 244, .08) 65%), url('../images/hero.png');
            background-position: center;
            background-size: cover;
            padding: 5rem 1.5rem;
        }

        .canon-home>section:first-of-type>div {
            max-width: 1160px;
            text-align: left;
        }

        .canon-home>section:first-of-type img {
            display: none !important;
        }

        .renewal-hero-copy {
            max-width: 620px;
        }

        .renewal-kicker {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            padding: .45rem .85rem;
            border-radius: 999px;
            background: white;
            color: #e74355;
            font-size: .75rem;
            font-weight: 900;
            box-shadow: 0 8px 24px rgba(23, 35, 51, .08);
        }

        .renewal-kicker:before {
            content: "";
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--coral);
        }

        .renewal-title {
            margin: 1.4rem 0;
            font-size: clamp(3rem, 6.5vw, 5.2rem);
            line-height: 1.12;
            letter-spacing: -.06em;
            font-weight: 900;
        }

        .renewal-title span {
            display: block;
            color: var(--coral);
        }

        .renewal-lead {
            max-width: 38rem;
            margin: 0 0 2rem;
            font-size: 1.12rem;
            line-height: 2;
            font-weight: 600;
            text-wrap: balance;
        }

        .canon-home>section h2 {
            text-wrap: balance;
        }

        .canon-home>section p {
            text-wrap: wrap;
        }

        .canon-home>section p.text-center,
        .canon-home>section .text-center>p,
        .canon-home>section p[class*="max-w-"] {
            max-width: 50rem;
            text-wrap: balance;
        }

        .canon-home>section:nth-of-type(10) .space-y-3 {
            width: min(100%, 42rem);
            max-width: none;
            margin-left: auto;
            margin-right: auto;
            text-align: left;
            font-size: 1rem;
            line-height: 2;
        }

        .canon-home>section:nth-of-type(10) .space-y-3 p {
            width: 100%;
            max-width: none;
            margin-left: 0;
            margin-right: 0;
            font-size: 1rem;
            line-height: 2;
            text-align: left;
            text-wrap: wrap;
        }

        .canon-home>section:first-of-type .mb-10.static {
            width: min(620px, 100%);
            margin-left: 0;
            margin-right: auto;
            text-align: left;
        }

        .canon-home>section:first-of-type .mb-10.static>a {
            margin-left: 0;
            margin-right: auto;
        }

        .canon-home>section:first-of-type .mb-10.static>p {
            text-align: left;
        }

        .canon-home>section:nth-of-type(3) {
            background: #2C3F59 !important;
            background-image: none !important;
            color: white;
        }

        .canon-home>section:nth-of-type(3) h2,
        .canon-home>section:nth-of-type(3) p {
            color: white !important;
        }

        .canon-home>section:nth-of-type(3) h2 {
            max-width: 17em;
            font-size: clamp(1.85rem, 2.7vw, 2.65rem);
            line-height: 1.45;
            letter-spacing: -.025em;
        }

        .canon-home>section:nth-of-type(3) .space-y-3 {
            max-width: 36rem;
            font-size: 1rem;
            line-height: 1.95;
        }

        .canon-home>section:nth-of-type(3) .grid {
            gap: 4.5rem;
        }

        .canon-home>section:nth-of-type(3) img {
            border-radius: 2.5rem .5rem 2.5rem .5rem;
            box-shadow: 0 25px 70px rgba(15, 25, 38, .24);
        }

        .canon-home>section:nth-of-type(4) {
            padding-top: 7rem;
            padding-bottom: 7rem;
        }

        .canon-home>section:nth-of-type(4)>div>.grid>div {
            border: 0;
            border-radius: 1.75rem;
            box-shadow: 0 20px 55px rgba(23, 35, 51, .1);
            padding: 0 0 2rem;
            overflow: hidden;
        }

        .canon-home>section:nth-of-type(4)>div>.grid>div img {
            width: 100%;
            border-radius: 0;
            margin-bottom: 1.5rem;
        }

        .canon-home>section:nth-of-type(4)>div>.grid>div h3,
        .canon-home>section:nth-of-type(4)>div>.grid>div p {
            margin-left: 1.7rem;
            margin-right: 1.7rem;
        }

        .canon-home>section:nth-of-type(5) {
            padding-top: 7rem;
            padding-bottom: 7rem;
            background: #fff7ee;
        }

        .canon-home>section:nth-of-type(5) h2 {
            font-size: clamp(2rem, 4vw, 3.4rem);
            letter-spacing: -.04em;
        }

        .canon-home>section:nth-of-type(5)>div>p:nth-of-type(3) {
            display: flex;
            width: max-content;
            margin-left: auto;
            margin-right: auto;
            padding: 1rem 1.5rem;
            border-radius: 999px;
            background: #fff;
            box-shadow: 0 14px 40px rgba(23, 35, 51, .08);
            font-size: 1rem;
        }

        .canon-home>section:nth-of-type(5)>div>p:nth-of-type(3) span:not(:first-child) {
            font-size: 1.25rem;
            font-weight: 900;
        }

        .canon-home>section:nth-of-type(5)>div>div {
            background: #fff;
            border: 0;
            border-radius: 1.75rem;
            box-shadow: 0 18px 55px rgba(23, 35, 51, .08);
        }

        .canon-home>section:nth-of-type(5) .h-2 {
            height: .75rem;
        }

        .canon-home #how-it-works {
            background: var(--ink) !important;
            color: white;
        }

        .canon-home #how-it-works h2,
        .canon-home #how-it-works h3,
        .canon-home #how-it-works p {
            color: white !important;
        }

        .canon-home #how-it-works .grid>div {
            background: rgba(255, 255, 255, .06) !important;
            border-color: rgba(255, 255, 255, .15) !important;
            border-radius: 1.5rem;
        }

        .canon-home>section:nth-of-type(9) {
            background: #f6f7f9;
        }

        .canon-home>section:nth-of-type(10) {
            background: linear-gradient(135deg, #eef4f8 0%, #f7f4ee 58%, #fff 100%);
            color: #2C3F59;
            position: relative;
            overflow: hidden;
        }

        .canon-home>section:nth-of-type(10)::before,
        .canon-home>section:nth-of-type(10)::after {
            content: "";
            position: absolute;
            border-radius: 50%;
            background: rgba(44, 63, 89, .06);
            pointer-events: none;
        }

        .canon-home>section:nth-of-type(10)::before {
            width: 28rem;
            height: 28rem;
            left: -12rem;
            top: -17rem;
        }

        .canon-home>section:nth-of-type(10)::after {
            width: 22rem;
            height: 22rem;
            right: -8rem;
            bottom: -14rem;
        }

        .canon-home>section:nth-of-type(10)>div {
            position: relative;
            z-index: 1;
        }

        .canon-home>section:nth-of-type(10) img {
            display: none;
        }

        .canon-home>section:nth-of-type(10) h2,
        .canon-home>section:nth-of-type(10) p {
            color: #2C3F59 !important;
        }

        .canon-home>section:nth-of-type(10) h2 {
            max-width: 18em;
            margin-left: auto;
            margin-right: auto;
            font-size: clamp(2.25rem, 4vw, 3.25rem);
            line-height: 1.35;
            letter-spacing: -.035em;
        }

        .canon-home>section:nth-of-type(10) a[href*="signup"] {
            background: #2C3F59;
            color: #fff;
            box-shadow: 0 16px 40px rgba(44, 63, 89, .22);
        }

        .canon-home>section:nth-of-type(10) .mb-16 {
            margin-top: 2.25rem;
        }

        .canon-home>section:nth-of-type(10) .mb-16>p {
            font-size: .75rem;
            line-height: 1.7;
        }

        [data-float],
        [data-pulse] {
            animation: none !important;
            transform: none !important;
        }

        [data-pulse] {
            box-shadow: none !important;
        }

        footer {
            background: #111923 !important;
        }

        /* Final normalization */
        .canon-home>section {
            padding-top: 6rem;
            padding-bottom: 6rem;
        }

        .canon-home>section:nth-of-type(2) .overflow-x-auto {
            padding-left: 24px;
            padding-right: 24px;
            scroll-padding-left: 24px;
            scroll-padding-right: 24px;
        }

        .canon-home>section h2 {
            font-size: clamp(1.8rem, 2.8vw, 2.5rem);
            line-height: 1.45;
            letter-spacing: -.025em;
        }

        .canon-home>section p {
            font-size: 1rem;
            line-height: 1.9;
        }

        .canon-home>section:first-of-type {
            min-height: 680px;
            padding: 0;
            background: #fff;
            overflow: hidden;
        }

        .canon-home>section:first-of-type::before {
            content: "";
            position: absolute;
            inset: 0;
            background: url('../images/hero.png') center/cover no-repeat;
        }

        .canon-home>section:first-of-type::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .92) 34%, rgba(255, 255, 255, .3) 58%, rgba(255, 255, 255, 0) 76%);
        }

        .canon-home>section:first-of-type>div {
            position: relative;
            z-index: 2;
            max-width: 1160px;
            text-align: left;
        }

        .canon-home>section:first-of-type .renewal-hero-copy {
            display: block;
            max-width: 500px;
        }

        .canon-home>section:first-of-type .renewal-title {
            font-size: clamp(3rem, 5vw, 4.5rem);
        }

        .canon-home>section:first-of-type .renewal-lead {
            max-width: 31rem;
            font-size: 1rem;
            line-height: 1.9;
            text-wrap: wrap;
        }

        .canon-home>section:first-of-type .mb-10.static {
            width: 500px;
            max-width: 100%;
            margin-left: 0;
            text-align: left;
        }

        .canon-home>section:first-of-type .mb-10.static>a {
            margin-left: 0;
        }

        .canon-home>section:first-of-type .mb-10.static>p {
            text-align: left;
        }

        .canon-home>section:nth-of-type(3) {
            background: #f7f4ef !important;
            color: #2C3F59;
        }

        .canon-home>section:nth-of-type(3) h2,
        .canon-home>section:nth-of-type(3) p {
            color: #2C3F59 !important;
        }

        .canon-home>section:nth-of-type(3) h2 {
            font-size: clamp(1.85rem, 2.7vw, 2.5rem);
        }

        .canon-home>section:nth-of-type(3) .space-y-3 {
            font-size: 1rem;
            line-height: 1.9;
        }

        .canon-home #how-it-works {
            background: #f5f7f9 !important;
            color: #2C3F59;
            border-radius: 2rem;
            padding-top: 4rem;
            padding-bottom: 4rem;
        }

        .canon-home #how-it-works h2,
        .canon-home #how-it-works h3,
        .canon-home #how-it-works p {
            color: #2C3F59 !important;
        }

        .canon-home #how-it-works .grid>div {
            background: #fff !important;
            border: 1px solid #e1e5ea !important;
            border-radius: 1.25rem;
            box-shadow: none;
        }

        .canon-home>section:nth-of-type(10) .space-y-3 {
            width: min(100%, 46rem);
            text-align: center;
        }

        .canon-home>section:nth-of-type(10) .space-y-3 p {
            text-align: center;
            font-size: 1rem;
            line-height: 1.9;
        }

        .canon-home>section:nth-of-type(10) h2 {
            font-size: clamp(2rem, 3vw, 2.75rem);
        }

        .canon-home>section .rounded-2xl,
        .canon-home>section .rounded-3xl {
            box-shadow: none;
        }

        html {
            background: #f5f6f8;
        }

        body {
            position: relative;
            isolation: isolate;
            background: transparent;
        }

        body::before {
            content: "";
            position: fixed;
            z-index: -2;
            inset: 0;
            width: 100%;
            height: 100vh;
            background: linear-gradient(145deg, #f3f6fa 0%, #fffaf4 42%, #f5f3ef 70%, #eef4f3 100%);
            background-repeat: no-repeat;
            pointer-events: none;
        }

        .canon-home>section:nth-of-type(n+2):nth-of-type(-n+9) {
            background: transparent !important;
            background-image: none !important;
        }

        .canon-home>section:nth-of-type(10) {
            background: rgba(255, 255, 255, .42);
        }

        .canon-home>section:nth-of-type(10)>div {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr);
            grid-template-rows: auto auto auto;
            column-gap: 4.5rem;
            align-items: center;
            max-width: 1100px;
            text-align: left;
        }

        .canon-home>section:nth-of-type(10)>div>img {
            display: block;
            grid-column: 2;
            grid-row: 1 / 4;
            width: 100%;
            max-width: 430px;
            margin: 0 auto;
            filter: drop-shadow(0 24px 32px rgba(44, 63, 89, .16));
        }

        .canon-home>section:nth-of-type(10)>div>h2 {
            grid-column: 1;
            grid-row: 1;
            max-width: 15em;
            margin: 0 0 1.75rem;
            text-align: left;
        }

        .canon-home>section:nth-of-type(10) .space-y-3 {
            grid-column: 1;
            grid-row: 2;
            width: 100%;
            margin: 0;
            text-align: left;
        }

        .canon-home>section:nth-of-type(10) .space-y-3 p {
            text-align: left;
        }

        .canon-home>section:nth-of-type(10) .mb-16 {
            grid-column: 1;
            grid-row: 3;
            width: 100%;
            margin: 2rem 0 0;
            text-align: left;
        }

        .canon-home>section:nth-of-type(10) .mb-16>a {
            margin-left: 0;
            margin-right: auto;
        }

        .canon-home>section:nth-of-type(10) .mb-16>p {
            text-align: left;
        }

        .canon-home>section+section {
            border-top: 1px solid rgba(44, 63, 89, .055);
        }

        .canon-home>section:nth-of-type(3) h2,
        .canon-home>section:nth-of-type(3) p {
            color: #2C3F59 !important;
        }

        @media(max-width:767px) {
            .canon-home>section {
                padding-top: 4.5rem;
                padding-bottom: 4.5rem;
            }

            .canon-home>section:nth-of-type(2) .overflow-x-auto {
                padding-left: 16px;
                padding-right: 16px;
                scroll-padding-left: 16px;
                scroll-padding-right: 16px;
            }

            .canon-home>section:first-of-type {
                min-height: auto;
                padding-top: 86vw;
                background: #fff;
            }

            .canon-home>section:first-of-type::before {
                inset: 0 0 auto 0;
                height: 86vw;
                background-position: 68% center;
            }

            .canon-home>section:first-of-type::after {
                background: linear-gradient(0deg, #fff 0%, rgba(255, 255, 255, 0) 34%);
                height: 86vw;
            }

            .canon-home>section:first-of-type>div {
                padding-bottom: 3.5rem;
            }

            .renewal-title {
                font-size: 2.65rem;
            }

            .renewal-lead {
                font-size: .96rem;
            }

            .canon-home>section:first-of-type .mb-10.static>a[href*="signup"] {
                width: 100%;
            }

            .canon-home>section:nth-of-type(3) {
                padding-top: 5rem;
                padding-bottom: 5rem;
            }

            .canon-home #how-it-works {
                border-radius: 0;
                padding-left: 1rem;
                padding-right: 1rem;
            }

            .canon-home>section:nth-of-type(10)>div {
                display: flex;
                flex-direction: column;
                gap: 0;
                text-align: center;
            }

            .canon-home>section:nth-of-type(10)>div>img {
                order: 1;
                width: min(82vw, 360px);
                margin: 0 auto 2.5rem;
            }

            .canon-home>section:nth-of-type(10)>div>h2 {
                order: 2;
                margin: 0 auto 1.5rem;
                text-align: center;
            }

            .canon-home>section:nth-of-type(10) .space-y-3 {
                order: 3;
                text-align: left;
            }

            .canon-home>section:nth-of-type(10) .mb-16 {
                order: 4;
                text-align: center;
            }

            .canon-home>section:nth-of-type(10) .mb-16>a {
                margin-left: auto;
            }

            .canon-home>section:nth-of-type(10) .mb-16>p {
                text-align: center;
            }
        }
    