
        .canon-home-lp {
            --paper: #f8f4ed;
            --paper-soft: #fbfaf7;
            --ink: #1c1a17;
            --muted: #6f675d;
            --line: rgba(28, 26, 23, .14);
            --gold: #b89b62;
            --brown: #3a2f25;
            --cream: #efe5d6;
            --video-overlay-opacity: .80;
        }

        .canon-home-lp {
            scroll-behavior: smooth;
        }

        .canon-home-lp {
            background:
                radial-gradient(circle at 18% 8%, rgba(225, 208, 175, .48), transparent 34rem),
                radial-gradient(circle at 88% 20%, rgba(199, 186, 164, .28), transparent 30rem),
                linear-gradient(180deg, #fbfaf7 0%, #f8f4ed 50%, #fbfaf7 100%);
            color: var(--ink);
            font-family: "Hiragino Sans", "Yu Gothic", "YuGothic", system-ui, sans-serif;
            overflow-x: clip;
        }

        .canon-home-lp .serif {
            font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
        }

        .canon-home-lp .editorial-line {
            position: relative;
        }

        .canon-home-lp .editorial-line::before {
            content: "";
            position: absolute;
            left: 0;
            top: -1.5rem;
            width: 4rem;
            height: 1px;
            background: var(--ink);
            opacity: .36;
        }

        .canon-home-lp .paper-texture {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 0;
            opacity: .36;
            background-image:
                linear-gradient(rgba(28, 26, 23, .035) 1px, transparent 1px),
                linear-gradient(90deg, rgba(28, 26, 23, .025) 1px, transparent 1px);
            background-size: 42px 42px;
            mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .55), rgba(0, 0, 0, .1));
        }

        .canon-home-lp .light-orb {
            position: absolute;
            width: 22rem;
            height: 22rem;
            border-radius: 999px;
            background: radial-gradient(circle, rgba(222, 204, 164, .46), rgba(222, 204, 164, .08) 52%, transparent 70%);
            filter: blur(10px);
            animation: canonLpSlowFloat 12s ease-in-out infinite alternate;
        }

        .canon-home-lp .story-video-stage {
            position: sticky;
            top: 0;
            height: 100vh;
            overflow: hidden;
            pointer-events: none;
        }

        .canon-home-lp .story-video-stage video {
            width: 100%;
            height: 100%;
            object-fit: cover;
            opacity: 1;
            transition: opacity .35s ease;
        }

        /* iOS Safariの背景動画にネイティブの再生ボタンを重ねない */
        .canon-home-lp .story-video-stage video::-webkit-media-controls-start-playback-button {
            display: none !important;
            -webkit-appearance: none;
        }

        .canon-home-lp .story-video-stage video.is-switching {
            opacity: 0;
        }

        .canon-home-lp .story-video-overlay {
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 18% 8%, rgba(244, 237, 224, .28), transparent 34rem),
                rgba(251, 250, 247, var(--video-overlay-opacity));
        }

        .canon-home-lp .story-video-content {
            position: relative;
            margin-top: -100vh;
        }

        @keyframes canonLpSlowFloat {
            0% {
                transform: translate3d(0, 0, 0) scale(1);
            }

            100% {
                transform: translate3d(1.4rem, -1rem, 0) scale(1.04);
            }
        }

        .canon-home-lp .cta-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 3.5rem;
            padding: 0 1.65rem;
            background: var(--ink);
            color: white;
            border: 1px solid var(--ink);
            transition: transform .35s ease, background .35s ease, color .35s ease;
        }

        .canon-home-lp .cta-button:hover {
            transform: translateY(-2px);
            background: #342d27;
        }

        .canon-home-lp .ghost-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 3.25rem;
            padding: 0 1.4rem;
            border: 1px solid var(--line);
            color: var(--ink);
            background: rgba(255, 255, 255, .38);
            transition: border-color .35s ease, background .35s ease;
        }

        .canon-home-lp .ghost-button:hover {
            border-color: rgba(28, 26, 23, .42);
            background: rgba(255, 255, 255, .72);
        }

        .canon-home-lp .vertical-label {
            writing-mode: vertical-rl;
            text-orientation: mixed;
            letter-spacing: .18em;
        }

        .canon-home-lp .safety-row {
            border-top: 1px solid var(--line);
        }

        .canon-home-lp .safety-row:last-child {
            border-bottom: 1px solid var(--line);
        }

        .canon-home-lp .lp-faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height .35s ease;
        }

        .canon-home-lp .lp-faq-item.is-open .lp-faq-answer {
            max-height: 14rem;
        }

        .canon-home-lp .lp-faq-icon {
            transition: transform .35s ease;
        }

        .canon-home-lp .lp-faq-item.is-open .lp-faq-icon {
            transform: rotate(45deg);
        }

        .canon-home-lp .reveal {
            opacity: 1;
            transform: none;
        }

        @media (prefers-reduced-motion: reduce) {
            .canon-home-lp * {
                animation: none !important;
                transition: none !important;
                scroll-behavior: auto !important;
            }

            .canon-home-lp .reveal {
                opacity: 1;
                transform: none;
            }

            .canon-home-lp .story-video-stage video {
                display: none;
            }
        }
    
.canon-home-lp { position: relative; isolation: isolate; }
.canon-home-lp :where(h1,h2,h3,h4) { font-family: inherit; }
.canon-home-lp .lp-faq-item.is-open .lp-faq-answer { max-height: var(--lp-answer-height, 40rem); }

/* Editorial samples immediately after the first view. */
.canon-home-lp .canon-home-articles { padding: 4.5rem 2rem; background: rgba(251, 250, 247, .94); border-block: 1px solid var(--line); }
.canon-home-lp .canon-home-articles__inner { max-width: 1152px; margin-inline: auto; }
.canon-home-lp .canon-home-articles__eyebrow { color: #8a7b66; font-size: .75rem; letter-spacing: .16em; margin-bottom: 1rem; }
.canon-home-lp .canon-home-articles__heading h2 { font-size: clamp(1.65rem, 3.2vw, 2.5rem); line-height: 1.55; }
.canon-home-lp .canon-home-articles__sample { margin-top: .65rem; color: #6f675d; font-size: .75rem; }
.canon-home-lp .canon-home-articles__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 2rem; }
.canon-home-lp .canon-home-article { min-width: 0; }
.canon-home-lp .canon-home-article__image { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; background: #efe5d6; }
.canon-home-lp .canon-home-article__copy { min-width: 0; padding-top: 1rem; }
.canon-home-lp .canon-home-article__category { color: #7b6541; font-size: .75rem; line-height: 1.5; margin-bottom: .5rem; }
.canon-home-lp .canon-home-article h3 { font-size: 1.1rem; line-height: 1.75; font-weight: 600; overflow-wrap: anywhere; }
.canon-home-lp .canon-home-articles__footer { margin-top: 2rem; text-align: right; }
.canon-home-lp .canon-home-articles__footer a { display: inline-flex; align-items: center; gap: 1.5rem; padding-block: .5rem; font-size: .875rem; border-bottom: 1px solid #b89b62; }
.canon-home-lp .canon-home-articles__footer a:hover { color: #7b6541; }
@media (max-width: 767px) {
    .canon-home-lp .canon-home-articles { padding: 2.75rem 1.25rem; }
    .canon-home-lp .canon-home-articles__grid { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: 1.5rem; }
    .canon-home-lp .canon-home-article { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 1rem; align-items: start; }
    .canon-home-lp .canon-home-article + .canon-home-article { padding-top: 1.25rem; border-top: 1px solid var(--line); }
    .canon-home-lp .canon-home-article__image { aspect-ratio: 1; border-radius: 8px; }
    .canon-home-lp .canon-home-article__copy { padding-top: 0; }
    .canon-home-lp .canon-home-article h3 { font-size: .95rem; line-height: 1.7; }
    .canon-home-lp .canon-home-article__category { font-size: .7rem; margin-bottom: .35rem; }
    .canon-home-lp .canon-home-articles__footer { margin-top: 1.5rem; }
}

/* Conversation-first copy and the short safety entry. */
.canon-home-lp .canon-home-catch { font-size: clamp(1.75rem, 4.5vw, 4rem); }
.canon-home-lp .canon-home-closing-title { font-size: clamp(1.75rem, 3.8vw, 3rem); }
.canon-home-lp .canon-home-browser-note { margin-top: 1.5rem; font-size: .8rem; line-height: 1.9; color: #6f675d; }
.canon-home-lp .canon-home-browser-badge { display: inline-block; padding: .3rem .85rem; margin-bottom: .6rem; border: 1px solid #ddd4c5; border-radius: 999px; background: #fbfaf7; color: #3a2f25; }
.canon-home-lp .canon-home-browser-note a { margin-left: .5rem; text-decoration: underline; text-underline-offset: 3px; }
.canon-home-lp .canon-home-safety-points { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-block: 1.75rem 2rem; padding: 0; list-style: none; color: #5f574f; font-size: .875rem; }
.canon-home-lp .canon-home-safety-points li { padding-left: 1rem; position: relative; }
.canon-home-lp .canon-home-safety-points li::before { content: ''; position: absolute; left: 0; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: #b89b62; }
.canon-home-lp .canon-home-closing-note { margin-top: 1.5rem; font-size: .8rem; line-height: 1.9; color: #ffffffb8; }
.canon-home-lp .canon-home-closing-note a { display: inline-block; margin-top: .5rem; text-decoration: underline; text-underline-offset: 4px; }

@media (min-width: 768px) {
    .canon-home-lp #home-safety > .reveal { text-align: center; }
    .canon-home-lp #home-safety > .reveal > p { margin-inline: auto; }
    .canon-home-lp #home-safety .canon-home-safety-points { justify-content: center; }
}

.canon-home-lp .canon-getting-started{background:#fbfaf7;border-block:1px solid var(--line)}
.canon-home-lp .canon-getting-started-heading{text-align:center}.canon-home-lp .canon-getting-started-heading>p:last-child{max-width:720px;margin-inline:auto}
.canon-home-lp .canon-start-steps,.canon-home-lp .canon-start-features{margin-top:3.5rem;scroll-margin-top:120px}
.canon-home-lp .canon-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:0;margin:1.5rem 0 0;list-style:none}
.canon-home-lp .canon-start-grid>li,.canon-home-lp .canon-start-grid>article{min-width:0;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:14px}
.canon-home-lp .canon-start-number{display:block;color:#8a7b66;letter-spacing:.12em;font-size:.75rem;margin-bottom:1rem}
.canon-home-lp .canon-start-grid h4{font-size:1.2rem;font-weight:600;margin-bottom:.75rem;line-height:1.6}
.canon-home-lp .canon-start-grid p{font-size:.9rem;line-height:1.9;color:#5f574f;overflow-wrap:anywhere}
.canon-home-lp .canon-start-grid img{display:block;width:72px;height:72px;object-fit:contain;margin-bottom:1rem}
.canon-home-lp .canon-start-note{font-size:.75rem;line-height:1.8;color:#6f675d;margin-top:1rem}.canon-home-lp .canon-start-note a{text-decoration:underline}
.canon-home-lp .canon-start-diagnosis{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding:2rem;border:1px solid #d9cbb2;border-radius:16px;background:#efe5d655}
.canon-home-lp .canon-start-diagnosis h3{line-height:1.6}.canon-home-lp .canon-start-diagnosis>div>p:last-child{margin-top:1rem;line-height:1.9;color:#5f574f;font-size:.9rem}
.canon-home-lp .canon-start-diagnosis>a{flex-shrink:0;gap:1.5rem}
@media(max-width:767px){.canon-home-lp .canon-start-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.canon-home-lp .canon-start-diagnosis{flex-direction:column;align-items:stretch;padding:1.5rem}.canon-home-lp .canon-getting-started-heading{text-align:left}.canon-home-lp .canon-start-steps,.canon-home-lp .canon-start-features{margin-top:2.5rem}}

.canon-home-lp a.canon-home-article { display: block; color: inherit; text-decoration: none; }
.canon-home-lp a.canon-home-article:hover h3 { text-decoration: underline; text-underline-offset: 4px; }
.canon-home-lp .canon-home-article__placeholder { display: grid; place-items: center; color: #8a7b66; font-family: "Yu Mincho", serif; font-size: 1.5rem; }
.canon-home-lp .canon-home-articles__empty { margin-top: 2rem; color: #6f675d; }
@media (max-width: 767px) {
    .canon-home-lp a.canon-home-article { display: grid; }
}
