/* ご相談の吹き出し：改行はスマホだけ */
.ae-ai__talk-chat-break {
    display: none;
}
/* 説明文：通常はPC用を表示 */
.ae-ai .ae-ai__copy-mobile {
    display: none;
}

/* スマホ：本文の見出しを開発相談ページに合わせる */
@media (max-width: 650px) {
    body.ae-ai-page .ae-ai {
        padding-bottom: 8px;
    }
    body.ae-ai-page .ae-ai
    :is(.ae-ai__section-heading, .ae-ai__experiment-heading)
    > div > .ae-ai__eyebrow,
    body.ae-ai-page .ae-ai .ae-ai__talk-eyebrow {
        margin: 0 0 6px;
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: .04em;
    }

    body.ae-ai-page .ae-ai
    :is(#ai-why, #ai-experiment, #ai-prompt, #ai-roles, #ai-record, #ai-guide)
    .ae-ai__section-en,
    body.ae-ai-page .ae-ai .ae-ai__talk-en {
        margin: 0;
        font-family: Arial, Helvetica, sans-serif;
        font-size: clamp(36px, 7.5vw, 60px);
        font-weight: 700;
        line-height: .98;
        letter-spacing: -.06em;
        overflow-wrap: normal;
        word-break: normal;
        text-align: left;
    }

    body.ae-ai-page .ae-ai
    :is(#ai-why, #ai-experiment, #ai-prompt, #ai-roles, #ai-record, #ai-guide)
    :is(.ae-ai__section-heading, .ae-ai__experiment-heading) h2,
    body.ae-ai-page .ae-ai #ai-why #ai-why-title,
    body.ae-ai-page .ae-ai .ae-ai__talk-heading h2 {
        max-width: none;
        margin: 4px 0 0;
        font-size: 19px;
        font-weight: 700;
        line-height: 1.5;
        text-align: left;
    }

    body.ae-ai-page .ae-ai
    > :is(#ai-why, #ai-experiment, #ai-prompt, #ai-roles, #ai-record) {
        padding: 36px 0 48px;
    }

    body.ae-ai-page .ae-ai > #ai-why {
        padding-top: 56px;
        padding-bottom: 28px;
    }

    body.ae-ai-page .ae-ai > #ai-experiment {
        margin-top: 0;
    }

    body.ae-ai-page .ae-ai .ae-ai__copy-desktop {
        display: none;
    }

    body.ae-ai-page .ae-ai .ae-ai__copy-mobile {
        display: inline;
    }
}

/* ↓ここから下は、元からあるコードをそのまま残す */
/* タブレット */
@media (max-width: 1000px) {
    .ae-ai__hero {
        gap: 24px;
    }

    .ae-ai__hero-note {
        padding-right: 18px;
    }

    .ae-ai__note {
        padding-right: 20px;
        padding-left: 40px;
    }

    .ae-ai__record-layout {
        grid-template-columns: 0.8fr 1.4fr;
        gap: 24px;
    }

    .ae-ai__switches {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ae-ai__switches--roles {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .ae-ai__prompt-layout {
        gap: 24px;
    }

    .ae-ai__guide-layout {
        gap: 24px;
    }
}

/* スマホ */
@media (max-width: 780px) {
    .ae-ai {
        width: calc(100% - 32px);
        padding-bottom: 100px;
    }

    .ae-ai__topbar {
        padding: 20px 0;
    }

    .ae-ai__brand {
        font-size: 25px;
    }

    .ae-ai__topbar > .ae-ai__text-link {
        font-size: 12px;
    }

    .ae-ai__hero {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 20px;
        margin-bottom: 12px;
        padding: 12px 0 0;
    }

    .ae-ai__hero-side {
        max-width: none;
        justify-self: stretch;
    }

    .ae-ai__hero-index {
        padding: 22px 22px 14px;
    }

    .ae-ai__hero-case-link {
        justify-self: stretch;
    }

    .ae-ai .ae-ai__hero-title {
        font-size: clamp(26px, 7vw, 32px);
        margin-bottom: 16px;
    }

    .ae-ai .ae-ai__hero-en {
        font-size: clamp(30px, 8.5vw, 64px);
        margin-bottom: 20px;
    }

    .ae-ai__hero-copy > .ae-ai__eyebrow {
        margin-bottom: 18px;
        font-size: 12px;
    }

    .ae-ai__hero-actions {
        gap: 18px;
    }

    .ae-ai__hero-note {
        padding: 16px 18px 12px;
    }

    .ae-ai__note--hero {
        min-height: 300px;
    }

    .ae-ai__pen {
        right: 0;
        width: 110px;
        height: 110px;
    }

    .ae-ai__section {
        padding: 44px 0;
    }

    .ae-ai__why-grid,
    .ae-ai__case,
    .ae-ai__section-heading,
    .ae-ai__record-layout,
    .ae-ai__prompt-layout,
    .ae-ai__role-columns,
    .ae-ai__guide-layout,
    .ae-ai__download {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ae-ai__section-heading {
        margin-bottom: 24px;
    }

    .ae-ai__section-heading br {
        display: none;
    }

    .ae-ai .ae-ai__section-en {
        font-size: clamp(27px, 7.4vw, 40px);
    }

    .ae-ai h2 {
        font-size: 22px;
    }

    .ae-ai h3 {
        font-size: 19px;
    }

    .ae-ai__record-note {
        margin: 8px 8px 16px;
    }

    .ae-ai__window-body {
        padding: 20px 16px;
    }

    .ae-ai__switches {
        gap: 8px;
    }

    .ae-ai__switches button {
        min-height: 76px;
    }

    .ae-ai__switches--two button {
        min-height: 54px;
        font-size: 13px;
    }

    .ae-ai__demo {
        margin: 8px;
        padding: 20px;
    }

    .ae-ai__switches--roles {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ae-ai__role-panel {
        padding: 24px 20px;
    }

    .ae-ai__role-columns {
        gap: 24px;
    }

    .ae-ai__book {
        width: min(78%, 300px);
        min-height: 370px;
        margin: 12px auto 24px;
    }

    .ae-ai__reader-controls {
        grid-template-columns: 36px minmax(0, 1fr) 36px;
        gap: 8px;
    }

    .ae-ai__reader-controls > button {
        height: 36px;
    }

    .ae-ai__reader-select select {
        font-size: 12px;
    }

    .ae-ai__pdf {
        height: 480px;
    }

    .ae-ai__download {
        margin-top: 28px;
        padding: 24px 20px;
    }

    .ae-ai__talk {
        width: calc(100% - 16px);
        margin-inline: auto;
        grid-template-columns: minmax(0, 1fr);
        row-gap: 24px;
        margin-top: 24px;
        margin-bottom: 48px;
        padding: 28px 20px;
    }

    .ae-ai .ae-ai__talk-en {
        font-size: clamp(36px, 7.5vw, 60px);
    }

    .ae-ai__talk-disks {
        grid-column: 1;
        grid-row: 3;
        justify-self: end;
        width: 180px;
    }

    .ae-ai__button {
        max-width: 100%;
        padding: 12px 18px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ae-ai__note--hero {
        transition: none;
    }
}
/* AIページ冒頭：コンベアは全幅、操作パネルは左下 */
@media (min-width: 1000px) and (max-height: 850px),
       (min-width: 1000px) and (min-aspect-ratio: 2/1) {
    .ae-ai-page .ae-ai__first-screen {
        grid-template-rows: auto minmax(0, 1fr) auto;
        row-gap: 0;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen > .ae-ai__topbar--with-return {
        padding-block: 12px;
    }

    .ae-ai-page .ae-ai__first-screen > .ae-ai__hero {
        position: relative;
        grid-area: 2 / 1;
        grid-template-columns: minmax(0, 1fr);
        margin-top: 8px;
        padding-top: 8px;
        /* 箱とレールが文字へ入らないための下側の領域 */
        padding-bottom: calc(16vw + 32px);
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-copy {
        grid-area: auto;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-en {
        margin-bottom: 16px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-title {
        margin-bottom: 12px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__intro {
        max-width: min(420px, calc(50vw - 140px));
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-side {
        position: static;
        grid-area: 2 / 1;
        align-self: start;
        justify-self: start;
        width: fit-content;
        max-width: 100%;
    }

    .ae-ai-page .ae-ai__first-screen > .ae-ai__factory {
        grid-area: 2 / 1;
        align-self: end;
        left: 50%;
        width: calc(100vw - var(--factory-scrollbar-width, 0px));
        margin: 0 0 4px;
        padding-bottom: 16px;
        transform: translateX(-50%);
    }

    .ae-ai-page .ae-ai__first-screen > .ae-ai__factory .ae-ai__factory-scene {
        top: 0;
        left: 0;
        width: 100%;
        margin-inline: 0;
        transform: none;
        overflow: visible;
    }
}
/* PC：コンベアをページの左右端まで表示 */
@media (min-width: 1000px) {
    .ae-ai-page .ae-ai__first-screen > .ae-ai__factory {
        left: 0;
        width: 100%;
        transform: none;
    }
}
/* 冒頭画面：タブレット・スマホの配置調整 */
@media (max-width: 1199px) {

    /* 画面下端への固定配置を解除 */
    .ae-ai-page .ae-ai__first-screen {
        display: block;
        min-height: 0;
        padding-bottom: 0;
    }

    /* 戻るリンク */
    .ae-ai-page .ae-ai .ae-ai__first-screen
    > .ae-ai__topbar--with-return {
        padding-block: 16px;
    }

    /* 説明とスイッチを縦に並べる */
    .ae-ai-page .ae-ai__first-screen > .ae-ai__hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-top: 12px;
        margin-bottom: 0;
        padding-top: 8px;
        padding-bottom: 0;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-copy {
        grid-area: auto;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-side {
        position: static;
        grid-area: auto;
        align-self: start;
        justify-self: start;
        width: fit-content;
        max-width: 100%;
    }

    /* タブレットでも見出しをしっかり見せる */
    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-en {
        font-size: clamp(48px, 6vw, 72px);
        margin-bottom: 20px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__hero-title {
        font-size: clamp(28px, 3vw, 36px);
        margin-bottom: 16px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__intro {
        max-width: 620px;
        font-size: 16px;
        line-height: 1.9;
    }

    /* コンベアは説明の下へ。表示枠は画面全幅 */
    .ae-ai-page .ae-ai__first-screen > .ae-ai__factory {
        left: 50%;
        width: calc(100vw - var(--factory-scrollbar-width, 0px));
        margin: 32px 0 0;
        padding-bottom: 16px;
        transform: translateX(-50%);
        overflow: hidden;
    }

    /* 機械を小さくしすぎず、中央を見せる */
    .ae-ai-page .ae-ai__first-screen
    > .ae-ai__factory .ae-ai__factory-scene {
        top: 0;
        left: 50%;
        width: max(100%, 1100px);
        margin-inline: 0;
        transform: translateX(-50%);
    }

    /* 操作パネル */
    .ae-ai-page .ae-ai__first-screen .ae-ai__factory-controls {
        justify-content: flex-start;
        gap: 10px;
        padding: 8px 12px;
        border-radius: 10px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__factory-status {
        font-size: 12px;
    }

    /* スイッチを指で押しやすくする */
    .ae-ai-page .ae-ai__first-screen .ae-ai__factory-toggle {
        width: 68px;
        height: 44px;
        min-height: 44px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-ai__factory-toggle-icon {
        top: 5px;
        left: 5px;
        width: 34px;
        height: 34px;
        transform: translateX(24px);
    }

    .ae-ai-page .ae-ai__first-screen
    .ae-ai__factory-toggle[aria-pressed="true"]
    .ae-ai__factory-toggle-icon {
        transform: translateX(0);
    }
}

/* スマホ：冒頭を1画面にまとめる */
@media (max-width: 600px) {
    body.ae-ai-page {
        --ae-ai-first-admin: 0px;
    }

    body.ae-ai-page.admin-bar {
        --ae-ai-first-admin: 46px;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen {
        display: flex;
        flex-direction: column;
        min-height: calc(100svh - var(--ae-ai-first-admin));
        padding: 72px 0 12px;
    }

    /* 上段の余白は外側で確保する */
    .ae-ai-page .ae-ai .ae-ai__first-screen
    > .ae-ai__topbar--with-return {
        display: none;
    }

    /* 見出しの左余白は既存の16pxを使用 */
    .ae-ai-page .ae-ai .ae-ai__first-screen > .ae-ai__hero {
        flex: 0 0 auto;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin: 0;
        padding: 0;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__hero-copy {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen
    .ae-ai__hero-copy > .ae-ai__eyebrow {
        display: none;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__hero-en {
        margin: 0;
        font-size: clamp(28px, 8.5vw, 34px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__hero-title {
        margin: 0;
        font-size: 18px;
        line-height: 1.4;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__intro {
        margin: 0;
        font-size: 12px;
        line-height: 1.7;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__intro strong {
        font-size: inherit;
        font-weight: 600;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen
    .ae-ai__intro > span:first-child {
        display: none;
        margin: 0;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen
    .ae-ai__intro br.ae-contact-mobile-break {
        display: none;
    }

    /* スマホ：操作パネルを本文の下に右寄せ */
    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__hero-side {
        justify-self: end;
        margin: 0;
        transform: none;
    }
    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__factory-controls {
        min-height: 40px;
        gap: 8px;
        padding: 6px 10px;
        border-radius: 8px;
        box-shadow: none;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen
    .ae-ai__factory-control-label {
        padding-right: 8px;
        font-size: 10px;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__factory-status {
        gap: 5px;
        font-size: 10px;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__factory-toggle {
        width: 44px;
        height: 26px;
        min-height: 26px;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen .ae-ai__factory-toggle-icon {
        top: 4px;
        left: 4px;
        width: 18px;
        height: 18px;
        transform: translateX(18px);
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen
    .ae-ai__factory-toggle[aria-pressed="true"]
    .ae-ai__factory-toggle-icon {
        transform: translateX(0);
    }

    /* 工場：拡大分の余白を確保し、残った高さの中央へ */
    .ae-ai-page .ae-ai .ae-ai__first-screen > .ae-ai__factory {
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1 0 auto;
        margin: 8px 0 0;
        padding: 24px 0 20px;
    }

    .ae-ai-page .ae-ai .ae-ai__first-screen
    > .ae-ai__factory .ae-ai__factory-scene {
        flex: 0 0 auto;
        top: 0;
        left: 0;
        width: max(100%, 760px);
        margin: 0;
        transform: scale(1.2);
        transform-origin: center;
    }

    /* SCROLLと矢印を画面内に収める */
    .ae-ai-page .ae-ai__first-screen > .ae-page-scroll-guide {
        flex: 0 0 auto;
        gap: 2px;
        margin: 0 auto;
        padding: 4px 16px 8px;
        font-size: 9px;
    }

    .ae-ai-page .ae-ai__first-screen .ae-page-scroll-guide__arrow {
        font-size: 20px;
        line-height: 1;
    }
}/* 結論：文章と人物画像のバランス */
.ae-ai .ae-ai__report-takeaway {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    column-gap: 24px;
}

.ae-ai__report-takeaway-copy {
    min-width: 0;
}

/* 画像を一回り大きく、文章側へ寄せる */
.ae-ai .ae-ai__report-takeaway-image {
    display: block;
    position: static;
    align-self: center;
    justify-self: start;
    width: 100%;
    max-width: 440px;
    height: auto;
    margin: 0;
    object-fit: contain;
    transform: translateY(0);
    transition:
        transform 400ms cubic-bezier(0.22, 1, 0.36, 1),
        filter 400ms ease;
}

/* マウスを重ねると少し浮く */
@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-ai .ae-ai__report-takeaway-image:hover {
        transform: translateY(-8px);
        filter: drop-shadow(0 12px 10px rgba(0, 15, 65, 0.2));
    }
}

/* スマホ：文章の下に中央配置 */
@media (max-width: 700px) {
    .ae-ai .ae-ai__report-takeaway {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 24px;
    }

    .ae-ai .ae-ai__report-takeaway-image {
        justify-self: center;
        width: 90%;
        max-width: 300px;
    }
}

/* 動きを抑える設定に対応 */
@media (prefers-reduced-motion: reduce) {
    .ae-ai .ae-ai__report-takeaway-image {
        transition: none;
    }
}
/* 「開発を通して得た学び」の見出し2つを黒文字に */
.ae-ai #ai-report-learning + .ae-ai__report-grid > article > h4 {
    color: #080b20;
}
/* お問い合わせ文章：指定位置でスマホだけ改行 */
br.ae-contact-mobile-break {
  display: none;
}

@media (max-width: 650px) {
  br.ae-contact-mobile-break {
    display: inline;
  }
}
/* ==================================================
   タブレット：実験以降の配置を整理
================================================== */
@media (min-width: 651px) and (max-width: 1000px) {
    body.ae-ai-page .ae-ai
    > :is(#ai-experiment, #ai-prompt, #ai-roles, #ai-record) {
        padding-block: 40px;
    }

    body.ae-ai-page
    :is(#ai-experiment, #ai-prompt, #ai-roles, #ai-record, #ai-guide)
    :is(.ae-ai__section-heading, .ae-ai__experiment-heading) {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
        margin-bottom: 16px;
    }

    body.ae-ai-page
    :is(#ai-experiment, #ai-prompt, #ai-roles, #ai-record, #ai-guide)
    .ae-ai__section-en {
        font-size: clamp(36px, 5vw, 54px);
        line-height: 1.05;
    }

    body.ae-ai-page
    :is(#ai-experiment, #ai-prompt, #ai-roles, #ai-record, #ai-guide)
    :is(.ae-ai__section-heading, .ae-ai__experiment-heading) h2 {
        margin: 4px 0 0;
        font-size: 22px;
        line-height: 1.6;
    }

    body.ae-ai-page
    :is(#ai-prompt, #ai-roles, #ai-record, #ai-guide)
    .ae-ai__section-heading > p {
        margin: 0;
        font-size: 14px;
        line-height: 1.85;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-toolbar {
        align-items: flex-start;
        gap: 12px;
    }

        /* タブレット用の指定を復元 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-scene { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    body.ae-ai-page #ai-prompt .ae-ai__jump-console { padding: 20px 16px; }
    body.ae-ai-page #ai-roles .ae-ai__role-flow { min-width: 0; max-width: 100%; }
    body.ae-ai-page #ai-roles .ae-ai__role-flow .ae-ai__switches--roles { grid-template-columns: 110px repeat(5, minmax(150px, 1fr)); max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; padding: 16px; }
    body.ae-ai-page #ai-record > .ae-ai__section-heading { grid-template-columns: minmax(0, 1fr); padding-right: 0; }
    body.ae-ai-page #ai-record .ae-ai__idea-next { grid-column: auto; grid-row: auto; min-height: 0; margin: 8px 0 0; padding: 16px 20px; }
    body.ae-ai-page #ai-record .ae-ai__case { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    body.ae-ai-page #ai-record .ae-ai__record-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    body.ae-ai-page #ai-record .ae-ai__day-group .ae-ai__switches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body.ae-ai-page #ai-guide .ae-ai__guide-layout { grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 24px; }
    body.ae-ai-page #ai-guide .ae-ai__book { width: 100%; max-width: 280px; min-height: 340px; margin-inline: auto; }
    body.ae-ai-page .ae-ai__talk { grid-template-columns: minmax(0, 1fr) 180px; gap: 20px; padding: 28px; }
    body.ae-ai-page .ae-ai__talk-disks { grid-column: 2; grid-row: 1 / 3; width: 100%; max-width: 180px; margin: 0; }
}

/* 投票・詳細画面：700px以下 */
@media (max-width: 700px) {
    body.ae-ai-page #ai-experiment .ae-ai__experiment-instruction { display: grid; grid-template-columns: minmax(0, 1fr) clamp(80px, 26vw, 104px); align-items: center; gap: 2px 8px; border: 1px solid #b7ceff; border-bottom: 0; border-radius: 10px 10px 0 0; padding: 16px; background: #fff; box-shadow: none; text-align: left; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-stickers { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-guide-label { grid-column: 1; justify-self: start; margin: 0 0 4px; border: 0; border-radius: 4px; padding: 3px 8px; box-shadow: none; font-size: 11px; letter-spacing: 0; }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-reading-question { grid-column: 1; margin: 0; color: var(--ai-ink); font-size: clamp(18px, 5.6vw, 22px); line-height: 1.25; letter-spacing: 0; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-invite-lead { grid-column: 1; margin: 0; font-size: 13px; font-weight: 400; line-height: 1.4; }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-reading-guide { grid-column: 1 / -1; max-width: none; margin: 2px 0 0; color: #526078; font-size: 9px; line-height: 1.4; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-box {
        position: relative;
        left: -6px;
        top: 8px;
        grid-column: 2;
        grid-row: 1 / 4;
        justify-self: center;
        width: 100%;
        max-width: 104px;
        margin: 0;
        filter: none;
    }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-guide-arrow { display: none; }

    body.ae-ai-page #ai-experiment .ae-ai__quiz { margin: 0 auto; border: 1px solid #b7ceff; border-top: 0; border-radius: 0 0 10px 10px; padding: 0 16px 16px; background: #fff; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-lines { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-start { width: 100%; max-width: none; border: 0; border-top: 1px solid #e0e8f5; border-radius: 0; padding: 16px 0 0; background: transparent; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-question, body.ae-ai-page #ai-experiment .ae-ai__quiz-branch .ae-ai__quiz-question { grid-template-columns: 24px minmax(0, 1fr); align-items: center; gap: 6px; min-height: 0; height: auto; margin: 0; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; color: var(--ai-ink); font-family: var(--font-family-base, sans-serif); font-size: clamp(11px, 3.7vw, 14px); font-weight: 700; line-height: 1.4; letter-spacing: 0; white-space: nowrap; overflow-wrap: normal; word-break: normal; scroll-margin-top: 76px; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-question br { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-number { width: 24px; height: 24px; margin: 0; box-shadow: none; font-size: 11px; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-root-answers, body.ae-ai-page #ai-experiment .ae-ai__quiz-answers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin: 12px 0 0; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-root-answers { margin-top: 0; border: 0; border-radius: 0; padding: 12px 0 16px; background: transparent; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-answer { flex-direction: column; gap: 1px; width: 100%; min-height: 44px; border-width: 1px; border-radius: 8px; padding: 5px 8px; font-size: 14px; line-height: 1.3; box-shadow: none; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-answer::after { font-family: var(--font-family-base, sans-serif); font-size: 10px; font-weight: 400; line-height: 1.4; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-answer[data-quiz-answer="yes"]::after { content: "そう思う"; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-answer[data-quiz-answer="no"]::after { content: "そう思わない"; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-answer[aria-pressed="true"] { border-color: var(--ai-blue); background: var(--ai-blue); color: #fff; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-branches { display: block; margin-top: 0; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-branch { display: none; border: 0; border-top: 1px solid #e0e8f5; border-radius: 0; padding: 16px 0; background: transparent; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-branch.is-active { display: block; }

    body.ae-ai-page #ai-experiment .ae-ai__poll-results { display: none; width: 100%; min-width: 0; margin: 12px 0 0; border: 1px solid #cfddf5; border-radius: 8px; padding: 14px; background: #fff; box-shadow: none; text-align: left; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-summary { display: block; margin-top: 10px; text-align: left; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-summary > button,
    body.ae-ai-page #ai-experiment .ae-ai__quiz-result-link:not([hidden]) {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        min-height: 44px;
        margin: 0;
        border: 1px solid #064bfa;
        border-radius: 999px;
        padding: 10px 14px;
        background: #fff;
        color: #064bfa;
        box-shadow: 3px 3px 0 #a9cdff;
        font-family: var(--font-family-base, sans-serif);
        font-size: 11px;
        font-weight: 700;
        line-height: 1.6;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
    }
    body.ae-ai-page.is-ai-poll-open { overflow: hidden; }
    body.ae-ai-page .ae-ai .ae-ai__poll-dialog { width: calc(100% - 24px); max-width: 600px; max-height: calc(100dvh - 24px); border: 1px solid #064bfa; border-radius: 12px; padding: 0; background: #edf5ff; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
    body.ae-ai-page .ae-ai__poll-dialog::backdrop { background: rgba(8, 20, 48, .55); }

    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__report-body { padding: 16px 14px 20px; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__report-body h2 { margin: 0; color: #064bfa; font-size: 22px; line-height: 1.5; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-dialog-lead { margin: 6px 0 14px; color: #526078; font-size: 13px; line-height: 1.7; }
    body.ae-ai-page .ae-ai #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-report-link { display: flex; align-items: center; justify-content: center; gap: 12px; box-sizing: border-box; width: 100%; min-height: 44px; margin: 16px 0 0; border: 1px solid #064bfa; border-radius: 999px; padding: 12px 16px; background: #064bfa; color: #fff; font-size: 14px; font-weight: 700; line-height: 1.6; cursor: pointer; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-results { display: block; width: 100%; margin: 12px 0 0; border: 1px solid #c8d8f5; border-radius: 8px; padding: 12px; background: #fff; box-shadow: none; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-results:first-child { margin-top: 0; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog :is(.ae-ai__poll-saved, .ae-ai__poll-heading, .ae-ai__poll-caption) { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-question { margin: 0 0 8px; border: 0; padding: 0; color: var(--ai-ink); font-size: 14px; font-weight: 700; line-height: 1.7; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-total { display: block; margin: 0; color: #526078; font-size: 12px; line-height: 1.6; text-align: right; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-total strong { color: var(--ai-ink); font-size: 14px; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-scores { gap: 8px; margin-top: 6px; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-score { grid-template-columns: minmax(0, 1fr) auto; gap: 4px; border-radius: 6px; padding: 10px 8px; background: #eef4ff; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-score--no { background: #f1f3f7; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-side { font-size: 12px; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-percent { font-size: 28px; line-height: 1.2; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-votes { font-size: 12px; line-height: 1.6; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-bar { height: 8px; margin-top: 8px; border-radius: 999px; }
    body.ae-ai-page #ai-experiment .ae-ai__poll-dialog .ae-ai__poll-your-vote { margin: 8px 0 0; border-radius: 0; padding: 0; background: transparent; color: var(--ai-blue); font-size: 12px; font-weight: 700; line-height: 1.7; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-merge { display: none; }

    body.ae-ai-page #ai-experiment .ae-ai__quiz-result { margin-top: 4px; border: 1px solid #b9d0ff; border-top: 3px solid #064bfa; border-radius: 8px; padding: 16px 12px 12px; background-color: #f4f8ff; background-image: repeating-linear-gradient(135deg, transparent 0 10px, rgba(6, 75, 250, .035) 10px 12px); box-shadow: none; text-align: left; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-result-label { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-result h3 { margin: 0 0 6px; color: var(--ai-ink); font-size: 18px; line-height: 1.6; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-result > p:not(.ae-ai__quiz-result-label):not(.ae-ai__quiz-pending) { margin: 0 0 14px; color: #526078; font-size: 13px; line-height: 1.8; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-result > p br { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__quiz-result-link > span {
        display: none;
    }

    body.ae-ai-page #ai-experiment .ae-ai__quiz-result-link:not([hidden]):hover,
    body.ae-ai-page #ai-experiment .ae-ai__poll-summary > button:not(:disabled):hover {
        background: #edf5ff;
    }

    body.ae-ai-page #ai-experiment .ae-ai__quiz-result-link:not([hidden]):focus-visible,
    body.ae-ai-page #ai-experiment .ae-ai__poll-summary > button:focus-visible {
        outline: 2px solid #064bfa;
        outline-offset: 4px;
    }

    body.ae-ai-page #ai-experiment .ae-ai__quiz-result-link:not([hidden]):active,
    body.ae-ai-page #ai-experiment .ae-ai__poll-summary > button:not(:disabled):active {
        transform: translate(2px, 2px);
        box-shadow: 1px 1px 0 #a9cdff;
    }

    body.ae-ai-page .ae-ai .ae-ai__experiment-dialog { width: calc(100% - 24px); max-width: 600px; max-height: calc(100dvh - 24px); border-width: 1px; border-radius: 12px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
    body.ae-ai-page .ae-ai__report-toolbar { flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; }
    body.ae-ai-page .ae-ai__report-toolbar > span { min-width: 0; font-size: 12px; line-height: 1.6; }
    body.ae-ai-page .ae-ai .ae-ai__report-close { min-height: 44px; margin-left: auto; padding: 8px 12px; font-size: 13px; white-space: normal; }
    body.ae-ai-page .ae-ai__report-body { overflow-wrap: break-word; word-break: normal; line-break: strict; }
    body.ae-ai-page dialog:not(#ai-experiment-report) .ae-ai__report-body { padding: 20px 16px calc(140px + env(safe-area-inset-bottom, 0px)); }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-body { padding: 20px 16px calc(20px + env(safe-area-inset-bottom, 0px)); }
    body.ae-ai-page .ae-ai .ae-ai__report-body h2 { font-size: 24px; line-height: 1.55; }
    body.ae-ai-page .ae-ai .ae-ai__report-lead { margin: 12px 0 20px; font-size: 14px; line-height: 1.85; }
    body.ae-ai-page .ae-ai__report-section { margin-top: 20px; border-top-width: 3px; border-radius: 8px; padding: 16px 12px; box-shadow: none; }
    body.ae-ai-page .ae-ai .ae-ai__report-section > h3 { font-size: 20px; line-height: 1.6; }
    body.ae-ai-page .ae-ai :is(.ae-ai__report-card, .ae-ai__report-metric) h4 { font-size: 16px; line-height: 1.6; }

    body.ae-ai-page #ai-experiment-report
:is(#ai-report-effort, #ai-report-quality, #ai-report-learning) {
    margin: 0 0 4px;
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0;
    white-space: normal;
}
    body.ae-ai-page #ai-experiment-report :is(.ae-ai__report-metric, .ae-ai__report-card) > h4 { margin: 0 0 4px; font-size: 14px; line-height: 1.5; }
    body.ae-ai-page #ai-experiment-report :is(.ae-ai__report-metric, .ae-ai__report-card) > p, body.ae-ai-page #ai-experiment-report .ae-ai__report-card li, body.ae-ai-page #ai-experiment-report .ae-ai__report-overview > p { font-size: 12px; line-height: 1.7; }

    body.ae-ai-page #ai-experiment-report #ai-report-effort + .ae-ai__report-grid > article:nth-child(1) { --art-width: 110%; --art-position: 77%; }
    body.ae-ai-page #ai-experiment-report #ai-report-effort + .ae-ai__report-grid > article:nth-child(2) { --art-width: 210%; --art-position: 47%; }
    body.ae-ai-page #ai-experiment-report #ai-report-quality + .ae-ai__report-grid > article:nth-child(1) { --art-width: 245%; --art-position: 53%; }
    body.ae-ai-page #ai-experiment-report #ai-report-quality + .ae-ai__report-grid > article:nth-child(2) { --art-width: 120%; --art-position: 29%; }
    body.ae-ai-page #ai-experiment-report #ai-report-learning + .ae-ai__report-grid > article:nth-child(1) { --art-width: 165%; --art-position: 51%; }
    body.ae-ai-page #ai-experiment-report #ai-report-learning + .ae-ai__report-grid > article:nth-child(2) { --art-width: 125%; --art-position: 58%; }

    body.ae-ai-page #ai-experiment-report .ae-ai__report-effort-section[data-effort-view="total"] .ae-ai__report-metric { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); grid-template-rows: auto auto minmax(8px, 1fr) auto auto; align-content: stretch; align-items: start; min-height: 0; gap: 0 4px; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-metric > h4 { grid-column: 1 / -1; grid-row: 1; justify-self: start; align-self: start; padding: 4px 8px; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-metric > .ae-ai__report-method { grid-column: 1 / -1; grid-row: 2; margin: 0; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-metric > .ae-ai__report-number { grid-column: 1; grid-row: 4; align-self: end; margin: 0; line-height: 1.1; text-align: left; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-number strong { font-size: 36px; line-height: 1.1; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-number span { margin-left: 4px; font-size: 12px; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-metric > p:not([class]) { grid-column: 1 / -1; grid-row: 5; margin: 3px 0 0; text-align: left; white-space: nowrap; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-metric > .ae-ai__report-figure { --figure-height: 200px; grid-column: 2; grid-row: 3 / 6; align-self: start; width: 100%; height: var(--figure-height); min-width: 0; min-height: 0; margin: 4px 0 0; background-size: min(var(--art-width), calc(var(--figure-height) * 1.333333)) auto; background-position: var(--art-position) top; background-repeat: no-repeat; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-effort-section[data-effort-view="stages"] .ae-ai__report-stage-details { margin-top: 8px; }

    body.ae-ai-page #ai-experiment-report .ae-ai__report-card { text-align: left; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-card > h4 { order: 0; }
    body.ae-ai-page #ai-experiment-report #ai-report-learning + .ae-ai__report-grid > article::before { order: -1; align-self: flex-start; margin-bottom: 6px; padding: 4px 8px; font-size: 14px; line-height: 1.5; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-card > .ae-ai__report-figure { --figure-height: 180px; order: 1; flex: 0 0 var(--figure-height); width: 100%; height: var(--figure-height); min-height: 0; margin: 8px 0 12px; background-size: min(var(--art-width), calc(var(--figure-height) * 1.333333)) auto; background-position: var(--art-position) center; background-repeat: no-repeat; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-card > :is(ul, p) { order: 2; text-align: left; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-effort-section .ae-ai__report-overview > p { font-size: 13px; line-height: 1.8; }
    body.ae-ai-page .ae-ai :is(.ae-ai__report-card, .ae-ai__report-metric) > p:not([class]), body.ae-ai-page .ae-ai .ae-ai__report-card li { font-size: 14px; line-height: 1.85; }
    body.ae-ai-page .ae-ai__report-grid:not(.ae-ai__report-slides) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-grid.ae-ai__report-slides { height: 260px; overscroll-behavior-x: contain; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-slides > :is(article, .ae-ai__report-overview) { height: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; }

    body.ae-ai-page .ae-ai__report-details { min-width: 0; }
    body.ae-ai-page .ae-ai__report-details table, body.ae-ai-page .ae-ai__report-stage-details table { width: 100%; table-layout: fixed; font-size: 13px; line-height: 1.7; }
    body.ae-ai-page .ae-ai__report-details :is(th, td), body.ae-ai-page .ae-ai__report-stage-details :is(th, td) { padding: 10px 8px; overflow-wrap: break-word; }
    body.ae-ai-page .ae-ai__report-overview-actions { flex-wrap: wrap; gap: 8px; }
    body.ae-ai-page .ae-ai .ae-ai__report-overview-actions button { min-height: 44px; font-size: 13px; }
    body.ae-ai-page .ae-ai__report-bottom {
        flex-wrap: wrap;
    }

    /* 実験結果：末尾の線と余分な間隔を解除 */
    body.ae-ai-page #ai-experiment-report .ae-ai__report-bottom {
        margin-top: 12px;
        border-top: 0;
        padding-top: 0;
    }

    /* 結論カード：画像下の大きな余白を解除 */
    body.ae-ai-page .ae-ai
    #ai-experiment-report .ae-ai__report-takeaway {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        min-height: 0;
        padding: 14px 14px 0;
    }

    body.ae-ai-page .ae-ai
    #ai-experiment-report .ae-ai__report-takeaway h4 {
        margin: 0 0 10px;
        color: #080b20;
        font-size: 16px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0;
    }

    body.ae-ai-page .ae-ai
    #ai-experiment-report .ae-ai__report-takeaway p {
        margin: 0;
        color: #080b20;
        font-family: var(--font-family-base);
        font-size: 12px;
        font-weight: 400;
        line-height: 1.7;
        letter-spacing: 0;
    }

    body.ae-ai-page .ae-ai
    #ai-experiment-report .ae-ai__report-takeaway-image {
        display: block;
        align-self: end;
        justify-self: center;
        width: min(72%, 200px);
        max-width: 200px;
        height: auto;
        margin: 0;
        padding: 0;
    }

    body.ae-ai-page #ai-experiment-report .ae-ai__report-eyebrow { margin: 0 0 8px; font-size: 10px; line-height: 1.6; letter-spacing: .02em; }
    body.ae-ai-page #ai-experiment-report #ai-experiment-report-title { margin: 0; color: #064bfa; font-size: 22px; line-height: 1.5; letter-spacing: 0; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-lead { margin: 10px 0 16px; color: #080b20; font-size: 13px; line-height: 1.8; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-prediction { border: 1px solid #c8d8f5; border-radius: 8px; padding: 14px 12px; background: #fff; box-shadow: none; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-prediction h3 { margin: 0 0 10px; color: #064bfa; font-size: 16px; line-height: 1.6; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-prediction :is([data-report-first], [data-report-second]) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 8px 0 0; border: 1px solid #d5e2fa; border-radius: 6px; padding: 10px; background: #f7faff; white-space: normal; text-align: left; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-prediction [data-report-second][hidden] { display: none; }
    body.ae-ai-page #ai-experiment-report [data-report-second]::before { content: none; }
    body.ae-ai-page #ai-experiment-report .ae-ai__prediction-question { min-width: 0; color: #143570; font-size: 13px; font-weight: 700; line-height: 1.6; }
    body.ae-ai-page #ai-experiment-report .ae-ai__prediction-number { display: block; min-height: 0; margin: 0 0 3px; color: #64748b; font-size: 10px; line-height: 1.5; }
    body.ae-ai-page #ai-experiment-report .ae-ai__prediction-question > span:last-child { display: block; white-space: normal; }
    body.ae-ai-page #ai-experiment-report .ae-ai__prediction-answer { position: static; min-width: 44px; min-height: 36px; border-radius: 6px; font-size: 14px; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-prediction .ae-ai__report-insight { margin: 10px 0 0; border: 0; border-top: 1px solid #d5e2fa; border-radius: 0; padding: 10px 0 0; background: transparent; color: #064bfa; font-size: 13px; font-weight: 700; line-height: 1.8; white-space: pre-line; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-insight::before { content: none; }
    body.ae-ai-page #ai-experiment-report .ae-ai__report-prediction small { display: block; margin-top: 8px; color: #64748b; font-size: 10px; font-weight: 400; line-height: 1.6; }

    /* ガイド詳細：スマホは短い要点に絞る */
    body.ae-ai-page #ai-guide-detail .ae-ai__report-toolbar {
        gap: 6px;
        padding: 8px 10px;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__report-toolbar > span {
        font-size: 10px;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__report-close {
        min-height: 36px;
        padding: 6px 10px;
        font-size: 11px;
    }

    body.ae-ai-page .ae-ai dialog#ai-guide-detail .ae-ai__report-body {
        padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__report-body h2 {
        margin: 0 0 10px;
        font-size: 18px;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__report-body p {
        font-size: 11px;
        line-height: 1.6;
    }

    /* 重複する説明・大きな紙面・前後ボタンを省略 */
    body.ae-ai-page #ai-guide-detail
    .ae-ai__report-body > .ae-ai__report-eyebrow,
    body.ae-ai-page #ai-guide-detail
    .ae-ai__report-body > h2 + p,
    body.ae-ai-page #ai-guide-detail
    .ae-ai__guide-topic > .ae-ai__eyebrow,
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-learning,
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-paging,
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-invite > h3,
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-invite > p {
        display: none;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
        margin: 0 0 10px;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-steps button {
        min-height: 40px;
        padding: 6px;
        font-size: 11px;
        line-height: 1.5;
        box-shadow: none;
    }

    /* テーマ位置の読み上げ通知は維持 */
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-position {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        border: 0;
        padding: 0;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-topic {
        display: block;
        min-width: 0;
        margin: 0;
        border: 1px solid #c5d9fa;
        border-radius: 8px;
        padding: 12px;
        background: #fff;
        box-shadow: none;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-topic > h3 {
        margin: 0 0 6px;
        font-size: 14px;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-guide-detail
    .ae-ai__guide-topic > p:not([class]) {
        margin: 0;
        font-size: 11px;
        line-height: 1.6;
    }

    /* 実際の紙面をコンパクトに表示 */
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-paper {
        display: block;
        box-sizing: border-box;
        width: min(100%, 210px);
        max-width: 100%;
        margin: 12px auto 0;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-paper::before {
        content: none;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-paper a {
        display: block;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-paper img {
        display: block;
        box-sizing: border-box;
        width: 100%;
        height: auto;
        border: 1px solid #c5d9fa;
        box-shadow: none;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-paper figcaption {
        margin: 6px 0 0;
        color: #56708c;
        font-size: 10px;
        line-height: 1.5;
        text-align: center;
    }

    /* 見本PDFへの補足リンク */
body.ae-ai-page #ai-guide-detail .ae-ai__guide-source {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.6;
}

body.ae-ai-page #ai-guide-detail .ae-ai__guide-source ul {
    margin: 6px 0 0;
    padding-left: 18px;
}

body.ae-ai-page #ai-guide-detail .ae-ai__guide-source li {
    margin: 0;
    padding: 3px 0;
    font-size: 11px;
    line-height: 1.6;
}

body.ae-ai-page #ai-guide-detail .ae-ai__guide-source a {
    font-size: 11px;
    line-height: 1.6;
}

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-source summary {
        min-height: 44px;
        padding: 10px 0;
    }

    /* 受付案内は青と白に統一 */
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-invite {
        margin-top: 12px;
        border: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }

    body.ae-ai-page #ai-guide-detail .ae-ai__guide-invite::before,
    body.ae-ai-page #ai-guide-detail .ae-ai__guide-invite::after {
        content: none;
    }

    body.ae-ai-page #ai-guide-detail
    .ae-ai__guide-invite > .ae-ai__button {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        min-height: 40px;
        margin: 0;
        border: 1px solid #064bfa;
        border-radius: 999px;
        padding: 8px 12px;
        background: #064bfa;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.5;
        box-shadow: none;
    }

    body.ae-ai-page #ai-guide-detail
    .ae-ai__guide-invite > .ae-ai__button:hover {
        border-color: #003bd0;
        background: #003bd0;
        color: #fff;
    }

    body.ae-ai-page #ai-guide-detail
    .ae-ai__guide-invite > .ae-ai__button:focus-visible {
        outline: 2px solid #064bfa;
        outline-offset: 3px;
    }
}

/* AIページ：スマホの説明文・カード・画像 */
@media (max-width: 650px) {
    body.ae-ai-page .ae-ai .ae-ai__first-screen > .ae-ai__topbar--with-return { min-height: 72px; padding: 0; }
    body.ae-ai-page .ae-site-menu { top: var(--ae-return-admin, 0px); left: 0; bottom: auto; width: 48px; height: 48px; }
    body.ae-ai-page .ae-site-menu__trigger { width: 48px; height: 48px; }
    body.ae-ai-page .ae-showcase-return { top: 12px; right: 12px; }
    body.ae-ai-page .ae-showcase-return__link { gap: 6px; min-height: 44px; padding: 8px 12px; font-size: 11px; }
    body.ae-ai-page .ae-ai__first-screen > .ae-ai__hero { gap: 12px; margin-top: 0; padding-top: 0; }
    body.ae-ai-page .ae-ai__first-screen .ae-ai__intro { font-size: 11px; line-height: 1.9; letter-spacing: 0; text-align: left; }

    body.ae-ai-page :is(#ai-why, #ai-prompt, #ai-roles, #ai-record, #ai-guide) .ae-ai__section-heading { gap: 4px; margin-bottom: 8px; }
    body.ae-ai-page
:is(#ai-why, #ai-prompt, #ai-roles, #ai-record, #ai-guide)
.ae-ai__section-heading > p {
    margin: 0;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
    text-align: left;
}
    body.ae-ai-page :is(#ai-why, #ai-prompt, #ai-roles, #ai-record, #ai-guide) .ae-ai__section-heading > p br { display: none; }
    body.ae-ai-page .ae-ai :is(.ae-ai__button, .ae-ai__talk-button) {
        gap: 12px;
        width: fit-content;
        max-width: 100%;
        min-height: 44px;
        padding: 10px 14px;
        font-size: 14px;
        line-height: 1.6;
        white-space: normal;
    }

    body.ae-ai-page #ai-why > .ae-ai__section-heading > p {
    line-height: 1.7;
}
    body.ae-ai-page #ai-why .ae-ai__why-grid { gap: 12px; }

    body.ae-ai-page #ai-experiment .ae-ai__experiment-heading {
    gap: 4px;
    margin-bottom: 24px;
}
    body.ae-ai-page #ai-experiment .ae-ai__experiment-summary { overflow: visible; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-window-bar { display: none; }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-summary-body { gap: 0; padding: 0; background: transparent; }
    body.ae-ai-page #ai-experiment .ae-ai__experiment-reading { margin-bottom: 16px; border: 0; border-radius: 0; padding: 0; background: transparent; box-shadow: none; }
/* スマホ：実験概要と比較項目を1枚にまとめる */
body.ae-ai-page #ai-experiment
.ae-ai__experiment-intro.ae-ai__copy-mobile {
    display: block;
    text-align: left;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-overview {
    min-width: 0;
    border: 2px solid #064bfa;
    border-radius: 6px;
    padding: 12px;
    background: #fff;
    box-shadow: 3px 3px 0 #b0d3ff;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-intro-title {
    min-height: 0;
    margin: 0 0 6px;
    padding: 0;
    background: transparent;
    color: #143570;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

body.ae-ai-page #ai-experiment .ae-ai__quiz-intro,
body.ae-ai-page #ai-experiment .ae-ai__experiment-intro p {
    margin: 0;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-matchup {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin: 10px 0 14px;
    border-radius: 0;
    padding: 0;
    background: transparent;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-matchup > div {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    min-height: 40px;
    border: 2px solid #064bfa;
    border-radius: 6px;
    padding: 7px 4px;
    background: #064bfa;
    color: #fff;
    box-shadow: 3px 3px 0 #a9cdff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-matchup > span {
    color: #143570;
    font: 700 20px/1 Arial, sans-serif;
}

body.ae-ai-page #ai-experiment
.ae-ai__experiment-intro .ae-ai__experiment-metrics-label {
    margin: 0 0 8px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #143570;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-metrics > li {
    display: grid;
    justify-items: center;
    align-content: center;
    box-sizing: border-box;
    gap: 6px;
    min-width: 0;
    min-height: 76px;
    border: 1px solid #064bfa;
    border-top: 3px solid #064bfa;
    border-radius: 6px;
    padding: 8px 3px;
    background: #fff;
    color: #143570;
    box-shadow: 2px 2px 0 #c4dcff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-metrics svg {
    display: block;
    width: 24px;
    height: 24px;
    color: #143570;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-conditions {
    margin-top: 12px;
    border: 1px solid #a9c7f5;
    border-radius: 6px;
    padding: 0;
    background: #f0f6ff;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-conditions > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 40px;
    padding: 0 10px;
    color: #064bfa;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
}
body.ae-ai-page #ai-experiment
.ae-ai__experiment-conditions > summary::-webkit-details-marker {
    display: none;
}

body.ae-ai-page #ai-experiment
.ae-ai__experiment-conditions > summary::after {
    content: "＋";
}

body.ae-ai-page #ai-experiment
.ae-ai__experiment-conditions[open] > summary::after {
    content: "−";
}

body.ae-ai-page #ai-experiment
.ae-ai__experiment-conditions > summary:focus-visible {
    outline: 2px solid #064bfa;
    outline-offset: 2px;
}

body.ae-ai-page #ai-experiment .ae-ai__experiment-conditions > div {
    border-top: 1px solid #c5d9fa;
    padding: 8px 10px;
    background: #fff;
}

body.ae-ai-page #ai-experiment
.ae-ai__experiment-conditions > div > p + p {
    margin-top: 8px;
    color: #56708c;
    font-size: 10px;
}
    body.ae-ai-page #ai-experiment .ae-ai__comparison-heading.ae-ai__copy-mobile { display: block; margin: 0 0 8px; color: var(--ai-blue); font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: 0; }
    body.ae-ai-page #ai-experiment .ae-ai__comparison-toggle::after { font-size: 13px; }

    /* 指示の体験：スマホ */
    body.ae-ai-page .ae-ai > #ai-prompt {
        padding: 12px 0 20px;
        scroll-margin-top: 52px;
    }

    body.ae-ai-page #ai-prompt .ae-ai__section-en {
        font-size: 32px;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__section-heading h2 {
        font-size: 18px;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-lab .ae-ai__window-body {
        gap: 10px;
        padding: 12px;
    }

    /* ざっくり指示：グレー系 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-lab[data-mode="vague"] {
        border-color: #9baac0;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-mode="vague"] .ae-ai__window-bar {
        background: #536985;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-mode="vague"] .ae-ai__window-body {
        background: #fbfcfe;
    }

    /* 具体的な指示：青系 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-lab[data-mode="clear"] {
        border-color: #064bfa;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-mode="clear"] .ae-ai__window-bar {
        background: #064bfa;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-mode="clear"] .ae-ai__window-body {
        background: #f5f9ff;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-toolbar {
        justify-content: flex-start;
        gap: 8px;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-invite {
        width: 100%;
        margin: 0;
        color: var(--ai-ink);
        font-size: 14px;
        line-height: 1.6;
        text-align: left;
    }

    /* JavaScriptが使えない場合の切り替え表示 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-mode-control {
        display: flex;
        justify-content: center;
        gap: 8px;
        width: 100%;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-mode-label {
        font-size: 12px;
    }

    /* スマホ：スイッチの代わりに選択ボタンを表示 */
    body.ae-ai-page #ai-prompt .has-jump-choices
    .ae-ai__jump-mode-control {
        display: none;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-choices {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px;
        width: 100%;
        border: 1px solid #d5e2fa;
        border-radius: 8px;
        padding: 3px;
        background: #f0f4fa;
    }

    body.ae-ai-page .ae-ai #ai-prompt
    .ae-ai__jump-choices > button {
        min-width: 0;
        min-height: 30px;
        margin: 0;
        border: 0;
        border-radius: 5px;
        padding: 4px 8px;
        background: transparent;
        color: #65758c;
        box-shadow: none;
        font-family: inherit;
        font-size: 12px;
        font-weight: 600;
        line-height: 1.4;
        text-align: center;
        cursor: pointer;
    }

    body.ae-ai-page .ae-ai #ai-prompt
    .ae-ai__jump-choices > button[aria-pressed="true"] {
        background: #fff;
        color: #064bfa;
        box-shadow: 0 1px 3px #14357018;
    }

    body.ae-ai-page .ae-ai #ai-prompt
    .ae-ai__jump-choices > button:disabled {
        opacity: .5;
        cursor: wait;
    }

    /* スマホ：解説の入口を1つにまとめる */
    body.ae-ai-page #ai-prompt .has-jump-dialog
    .ae-ai__jump-question + .ae-ai__jump-question {
        display: none;
    }

    /* 上段に指示文、その下にキャラクター・結果・操作 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-scene {
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        grid-template-rows: auto minmax(108px, auto) minmax(72px, auto);
        align-items: center;
        gap: 0;
        isolation: isolate;
        border: 0;
        border-radius: 0;
        background-color: transparent;
        background-image: none;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-scene::before {
        content: "";
        grid-area: 2 / 1 / 4 / -1;
        align-self: stretch;
        z-index: 0;
        border: 1px solid #c2d1e7;
        border-radius: 8px;
        background: #edf7ff;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-mode="clear"] .ae-ai__jump-scene::before {
        border-color: #739eff;
        background: #d7e8ff;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-stage {
        --jump-height: 36px;
        grid-area: 2 / 1 / 4 / 2;
        z-index: 1;
        height: 180px;
    }

    /* スマホ：キャラクター上の結果枠を非表示 */
    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-jump-result="vague"]
    .ae-ai__jump-stage::after {
        content: none;
    }

    /* 右上：操作前の案内と、操作後の結果 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-scene::after {
        content: "JUMPで体験\A動きを見てみよう。";
        position: relative;
        grid-area: 2 / 2 / 3 / 3;
        align-self: start;
        justify-self: stretch;
        z-index: 2;
        box-sizing: border-box;
        min-width: 0;
        margin: 12px 12px 0 8px;
        border: 1px solid #bfd5ee;
        border-radius: 8px;
        padding: 10px;
        background: #fff;
        color: #174c87;
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0;
        text-align: left;
        white-space: pre-line;
        word-break: normal;
        overflow-wrap: break-word;
        line-break: strict;
        pointer-events: none;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-jump-started="vague"]
    .ae-ai__jump-scene::after {
        content: "失敗の例…\A止まる条件がなく、回転しながら跳び続けます。";
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-jump-started="clear"]
    .ae-ai__jump-scene::after {
        content: "成功の例！\A 1回跳んで、元の位置で止まれました。";
        border-color: #8fb1ff;
        color: #064bfa;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-actor {
        width: min(100%, 140px);
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-console {
        display: contents;
        padding: 0;
    }

    /* 指示文：長い方の文章に合わせて高さを揃える */
    body.ae-ai-page #ai-prompt .ae-ai__jump-bubble {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-content: start;
        grid-area: 1 / 1 / 2 / -1;
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        max-height: none;
        overflow: visible;
        margin: 0 0 12px;
        border: 1px solid #d6dde7;
        border-left: 3px solid #7d8da5;
        border-radius: 8px;
        padding: 10px 12px;
        background: #f3f5f8;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-lab[data-mode="clear"] .ae-ai__jump-bubble {
        border-color: #b5cbff;
        border-left-color: #064bfa;
        background: #eaf2ff;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-bubble::before {
        content: none;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-bubble-label {
        grid-area: 1 / 1;
        margin-bottom: 5px;
        font-size: 11px;
        line-height: 1.4;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-bubble p {
        grid-area: 2 / 1;
        align-self: start;
        margin: 0;
        font-family: var(--font-family-base);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.8;
        letter-spacing: 0;
        overflow-wrap: break-word;
    }

    /* 非表示の文章で、両モード共通の高さを確保 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-bubble::after {
        content: "JUMPを1回押したら、その場で1回だけジャンプ。元の位置に着地して止まり、空中で押しても追加で跳ばない。";
        grid-area: 2 / 1;
        visibility: hidden;
        font-family: var(--font-family-base);
        font-size: 14px;
        font-weight: 500;
        line-height: 1.8;
        letter-spacing: 0;
        overflow-wrap: break-word;
        pointer-events: none;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-bubble::before {
        content: none;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-bubble-label {
        margin-bottom: 5px;
        font-size: 11px;
        line-height: 1.4;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-bubble p {
        font-size: 14px;
        line-height: 1.8;
    }

    /* 結果文と操作を別の行にして、重なりを防ぐ */
    body.ae-ai-page #ai-prompt .ae-ai__jump-controls {
        position: relative;
        grid-area: 3 / 2 / 4 / 3;
        align-self: end;
        justify-self: end;
        z-index: 1;
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: 8px;
        width: auto;
        margin: 0 12px 18px 0;
        padding: 0 0 3px;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-play {
        flex: 0 0 auto;
        width: 88px;
        min-width: 0;
        height: 44px;
        min-height: 44px;
        padding: 0 10px;
        font-size: 13px;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-reset {
        width: 44px;
        height: 44px;
        min-height: 44px;
        border-color: #a9c2e7;
        background: #fff;
        color: #28568c;
        box-shadow: 0 2px 0 #cbd9ef;
        font-size: 24px;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-reset:hover {
        background: #edf4ff;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-reset:active {
        transform: translateY(2px);
        box-shadow: none;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-key-hint {
        display: none;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-status {
        position: absolute;
        width: 1px;
        height: 1px;
        min-height: 0;
        overflow: hidden;
        margin: -1px;
        border: 0;
        padding: 0;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    /* 解説の入口：縦に2つ並べる */
    body.ae-ai-page #ai-prompt .ae-ai__jump-explanations {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-question {
        border: 1px solid #abc7ff;
        border-radius: 6px;
        background: #edf4ff;
        box-shadow: 0 2px 0 #d4e2fb;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-question summary {
        min-height: 32px;
        padding: 5px 38px 5px 10px;
        background: transparent;
        color: #174c87;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-question summary:hover {
        background: #e1edff;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-question summary > span[aria-hidden]::before {
        display: grid;
        place-items: center;
        right: 8px;
        width: 22px;
        height: 22px;
        border: 1px solid #c6d9ff;
        border-radius: 50%;
        background: #fff;
        color: #064bfa;
        font-size: 15px;
    }

    body.ae-ai-page #ai-prompt .has-jump-dialog
    .ae-ai__jump-question summary > span[aria-hidden]::before {
        content: "↗";
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-answer,
    body.ae-ai-page #ai-prompt .ae-ai__jump-answer-paper {
        padding: 10px;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-answer-paper p,
    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-answer-paper li {
        font-size: 13px;
        line-height: 1.8;
    }

    /* スマホの解説用小窓 */
    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog {
        box-sizing: border-box;
        position: fixed;
        inset: 0;
        width: calc(100% - 32px);
        max-width: 400px;
        max-height: calc(100vh - 40px);
        max-height: calc(100dvh - 40px);
        overflow: hidden;
        margin: auto;
        border: 2px solid #064bfa;
        border-radius: 8px;
        padding: 4px;
        background: linear-gradient(
            140deg,
            rgba(255, 255, 255, .97),
            rgba(238, 248, 255, .92)
        );
        backdrop-filter: blur(24px) saturate(130%);
        -webkit-backdrop-filter: blur(24px) saturate(130%);
        color: #24344b;
        box-shadow: 4px 4px 0 #8fcfff, 0 18px 52px #12396526;
        font-family: var(--font-family-base);
        font-size: 14px;
        font-weight: 400;
        line-height: 1.8;
        -webkit-font-smoothing: auto;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog[open] {
        display: flex;
        flex-direction: column;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog::backdrop {
        background: rgba(27, 48, 77, .22);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex: 0 0 auto;
        gap: 12px;
        padding: 8px 10px 8px 12px;
        background: var(--modal-header-background);
        color: #fff;
    }

    body.ae-ai-page .ae-ai #ai-prompt
    .ae-ai__jump-dialog-header > p {
        min-width: 0;
        margin: 0;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0;
    }

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-dialog-close {
        appearance: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        min-height: 44px;
        border: 1px solid #ffffff80;
        border-radius: 0;
        padding: 0 10px;
        background: transparent;
        color: #fff;
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        cursor: pointer;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog-close:hover {
        background: #ffffff30;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog-close:focus-visible {
        outline: 2px solid #fff;
        outline-offset: 2px;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-dialog-body {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-dialog-body > .ae-ai__jump-answer {
        display: grid;
        gap: 22px;
        border: 0;
        padding: 18px 12px 20px;
        background: transparent;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-help-section {
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    body.ae-ai-page .ae-ai #ai-prompt
    .ae-ai__jump-dialog .ae-ai__jump-help-section > h3 {
        margin: 0 0 10px;
        border: 0;
        padding: 0;
        color: #17385e;
        font-family: inherit;
        font-size: 15px;
        font-weight: 700;
        line-height: 1.6;
        letter-spacing: 0;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-dialog .ae-ai__jump-answer-paper {
        border: 1px solid #c2dcff;
        border-left: 3px solid #064bfa;
        border-radius: 6px;
        padding: 12px;
        background: #fff;
        box-shadow: none;
    }

body.ae-ai-page .ae-ai #ai-prompt
.ae-ai__jump-dialog .ae-ai__jump-help-section p {
    margin: 0;
    color: #24344b;
    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
    line-break: strict;
    overflow-wrap: break-word;
}

    body.ae-ai-page .ae-ai #ai-prompt
    .ae-ai__jump-dialog .ae-ai__jump-help-section
    > .ae-ai__jump-help-lead {
        margin: 0 0 12px;
        border-radius: 6px;
        padding: 10px 12px;
        background: #e4efff;
        color: #17385e;
        font-weight: 500;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-help-points {
        margin: 0;
        border: 1px solid #c2dcff;
        border-radius: 6px;
        padding: 0 12px;
        background: #fff;
    }

    body.ae-ai-page #ai-prompt .ae-ai__jump-help-points > div {
        display: grid;
        grid-template-columns: 78px minmax(0, 1fr);
        align-items: baseline;
        gap: 10px;
        padding: 12px 0;
    }

    body.ae-ai-page #ai-prompt
    .ae-ai__jump-help-points > div + div {
        border-top: 1px solid #e0eafa;
    }

body.ae-ai-page #ai-prompt .ae-ai__jump-help-points dt {
    margin: 0;
    color: #174c87;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.8;
}

body.ae-ai-page #ai-prompt .ae-ai__jump-help-points dd {
    min-width: 0;
    margin: 0;
    color: #24344b;
    font-family: inherit;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
    overflow-wrap: break-word;
}

    body.ae-ai-page .ae-ai #ai-prompt .ae-ai__jump-notice {
        font-size: 10px;
        line-height: 1.5;
    }
    /* 人とAIの役割：スマホは5工程を縦に表示 */
    body.ae-ai-page .ae-ai > #ai-roles {
        padding: 20px 0 24px;
        scroll-margin-top: 52px;
    }

    body.ae-ai-page #ai-roles .ae-ai__section-en {
        font-size: 32px;
    }

    body.ae-ai-page .ae-ai #ai-roles .ae-ai__section-heading h2 {
        display: none;
    }

    /* スマホ：工程の詳細を共通デザインの小窓で表示 */
    body.ae-ai-page #ai-roles .ae-ai__role-dialog {
        position: fixed;
        inset: 0;
        box-sizing: border-box;
        width: calc(100% - 32px);
        max-width: 420px;
        max-height: calc(100vh - 40px);
        max-height: calc(100dvh - 40px);
        overflow: hidden;
        margin: auto;
        border: 2px solid var(--modal-blue);
        border-radius: var(--modal-radius);
        padding: 0;
        background: var(--modal-tint);
        color: var(--modal-ink);
        box-shadow: var(--modal-shadow);
        font-family: var(--font-family-base);
    }

    body.ae-ai-page #ai-roles .ae-ai__role-dialog[open] {
        display: flex;
        flex-direction: column;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-dialog::backdrop {
        background: var(--modal-backdrop);
    }

    body.ae-ai-page #ai-roles .ae-ai__role-dialog-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex: 0 0 auto;
        gap: 10px;
        padding: 8px 10px 8px 14px;
        background: var(--modal-header-background);
        color: #fff;
    }

    body.ae-ai-page .ae-ai #ai-roles
    .ae-ai__role-dialog-header > p {
        min-width: 0;
        margin: 0;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.6;
    }

    body.ae-ai-page .ae-ai #ai-roles .ae-ai__role-dialog-close {
        flex: 0 0 auto;
        min-height: 44px;
        border: 1px solid var(--modal-white);
        border-radius: 999px;
        padding: 8px 12px;
        background: var(--modal-white);
        color: var(--modal-blue);
        box-shadow: none;
        font-family: inherit;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.6;
        cursor: pointer;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-dialog-close:hover {
        background: #dcecff;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog-close:focus-visible {
        outline: 3px solid var(--modal-white);
        outline-offset: 3px;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-dialog-body {
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 18px 14px 20px;
        background: var(--modal-background);
        -webkit-overflow-scrolling: touch;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__role-panel {
        margin: 0;
        border: 0;
        padding: 0;
        background: transparent;
    }

    /* 役割：独立した白いカードから、一体型の説明パネルへ */
    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__role-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        overflow: hidden;
        border: 1px solid #c7d8ef;
        border-radius: 8px;
        background: #fff;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__role-columns > div {
        min-width: 0;
        border: 0;
        border-radius: 0;
        padding: 12px;
        background: #edf4ff;
        box-shadow: none;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__role-columns > div + div {
        border: 0;
        border-top: 1px solid #c7d8ef;
        background: #f4f6fa;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__badge {
        display: flex;
        align-items: baseline;
        gap: 3px;
        min-width: 0;
        border: 0;
        border-radius: 0;
        padding: 0;
        background: transparent;
        color: #064bfa;
        font-family: inherit;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.5;
        text-align: left;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__badge::after {
        content: "が進めること";
        font-weight: 500;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__badge--human {
        background: transparent;
        color: #17385e;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-dialog .ae-ai__badge--human::after {
        content: "が確認・判断すること";
    }

    body.ae-ai-page .ae-ai #ai-roles
    .ae-ai__role-dialog .ae-ai__role-columns p {
        margin: 6px 0 0;
        color: #24344b;
        font-family: inherit;
        font-size: 12px;
        font-weight: 400;
        line-height: 1.75;
    }
    body.ae-ai-page #ai-roles .ae-ai__role-overview {
        margin-bottom: 14px;
    }

    body.ae-ai-page .ae-ai #ai-roles
    .ae-ai__role-dialog .ae-ai__role-step {
        margin: 0;
        color: #65758c;
        font-size: 11px;
        line-height: 1.5;
    }

    body.ae-ai-page .ae-ai #ai-roles
    .ae-ai__role-dialog .ae-ai__role-name {
        margin: 3px 0 10px;
        color: #17385e;
        font-size: 20px;
        font-weight: 700;
        line-height: 1.4;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-conclusion {
        display: grid;
        gap: 4px;
        border-left: 3px solid #064bfa;
        border-radius: 6px;
        padding: 10px 12px;
        background: #e4efff;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-conclusion > span {
        color: #064bfa;
        font-size: 11px;
        font-weight: 700;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-conclusion > strong {
        color: #17385e;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.7;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-flow {
        min-width: 0;
        max-width: 100%;
        border-width: 1px;
        border-radius: 8px;
        background: #f7faff;
        box-shadow: none;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        grid-auto-flow: row;
        grid-auto-rows: auto;
        max-width: 100%;
        gap: 6px;
        overflow: visible;
        margin: 0;
        padding: 10px;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles::before,
    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles::after {
        content: none;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles button[aria-pressed] {
        display: grid;
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 62px minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-content: center;
        align-items: center;
        gap: 2px 6px;
        min-width: 0;
        min-height: 68px;
        border: 1px solid #d5e2f3;
        border-radius: 6px;
        padding: 8px;
        background: #fff;
        color: #143570;
        outline: none;
        box-shadow: none;
        text-align: left;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__role-number {
        grid-area: 1 / 1;
        color: #65758c;
        font-size: 10px;
        line-height: 1.4;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles button > strong {
        grid-area: 2 / 1;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__role-task {
        display: grid;
        align-content: center;
        align-self: stretch;
        gap: 3px;
        min-width: 0;
        border: 1px solid #dce4f0;
        border-radius: 5px;
        padding: 6px 4px;
        background: #f0f3f8;
        color: #143570;
        box-shadow: none;
        text-align: center;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__role-task--ai {
        grid-area: 1 / 2 / 3 / 3;
        border-color: #c7ddff;
        background: #e5f0ff;
        color: #064bfa;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__role-task--human {
        grid-area: 1 / 3 / 3 / 4;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-task small {
        display: block;
        font-size: 10px;
        font-weight: 500;
        line-height: 1.4;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-task b {
        font-size: 12px;
        line-height: 1.5;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-task svg,
    body.ae-ai-page #ai-roles .ae-ai__role-arrow,
    body.ae-ai-page #ai-roles .ae-ai__role-more {
        display: none;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles
    button[aria-pressed="true"] {
        border-color: #064bfa;
        background: #edf4ff;
        color: #064bfa;
        outline: none;
        box-shadow: none;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles
    button[aria-pressed="false"]:hover {
        border-color: #8fb1f5;
        background: #f6f9ff;
        outline: none;
        box-shadow: none;
    }

    body.ae-ai-page #ai-roles
    .ae-ai__role-flow .ae-ai__switches--roles
    button[aria-pressed]:focus-visible {
        outline: 2px solid #064bfa;
        outline-offset: 2px;
    }
    body.ae-ai-page #ai-roles .ae-ai__role-panel {
        padding: 16px;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-panel h3 {
        margin: 0 0 12px;
        font-size: 17px;
        line-height: 1.6;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-columns {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-columns > div {
        padding: 14px;
        box-shadow: none;
    }

    body.ae-ai-page #ai-roles .ae-ai__role-columns p {
        margin: 8px 0 0;
        font-size: 14px;
        line-height: 1.85;
    }
/* 7日間の開発記録 */
body.ae-ai-page #ai-record > .ae-ai__section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    margin-bottom: 6px;
    padding-right: 0;
}

/* スマホでは開発事例を直接見せる */
body.ae-ai-page #ai-record .ae-ai__idea-next,
body.ae-ai-page #ai-record .ae-ai__hero-note {
    display: none;
}
body.ae-ai-page #ai-record .ae-ai__case {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    margin-bottom: 12px;
    border: 1px solid #8fb1ff;
    border-radius: 8px;
    padding: 16px;
    box-shadow: 0 3px 10px #064bfa0f;
}

body.ae-ai-page #ai-record .ae-ai__case-bar {
    margin: -16px -16px 0;
    border-radius: 7px 7px 0 0;
}

body.ae-ai-page #ai-record .ae-ai__case-preview figcaption {
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.4;
}

/* スマホでは間の英語ラベルを非表示 */
body.ae-ai-page #ai-record
.ae-ai__case-copy > .ae-ai__eyebrow {
    display: none;
}

/* 375px幅では18pxで、見出し全体を1行に収める */
body.ae-ai-page #ai-record .ae-ai__case-copy h3 {
    margin: 0 0 4px;
    color: #143570;
    font-size: clamp(15px, 4.8vw, 18px);
    line-height: 1.45;
    letter-spacing: 0;
    text-wrap: wrap;
    white-space: normal;
}

body.ae-ai-page #ai-record .ae-ai__case-copy h3 span {
    color: inherit;
    font-size: inherit;
}

/* 開発事例の本文だけを他の画面と統一 */
body.ae-ai-page #ai-record
.ae-ai__case-copy > p:not(.ae-ai__eyebrow) {
    margin: 0;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0;
}

body.ae-ai-page #ai-record
.ae-ai__case-copy > p:not(.ae-ai__eyebrow) br {
    display: none;
}

body.ae-ai-page #ai-record .ae-ai__case-actions {
    justify-content: flex-start;
    gap: 12px;
    padding-top: 8px;
}

body.ae-ai-page #ai-record .ae-ai__case-actions > .ae-ai__button,
body.ae-ai-page #ai-record .ae-ai__record-note > .ae-ai__button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: fit-content;
    max-width: 100%;
    min-height: 30px;
    margin: 0;
    border: 1px solid #064bfa;
    border-radius: 999px;
    padding: 4px 10px;
    background: transparent;
    color: #064bfa;
    box-shadow: none;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: none;
}

body.ae-ai-page #ai-record .ae-ai__record-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

/* プロジェクト概要は小さな補足カードにする */
body.ae-ai-page #ai-record .ae-ai__record-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    margin: 0;
    border: 1px solid #8fb1ff;
    border-left: 4px solid #064bfa;
    border-radius: 8px;
    padding: 12px;
    background: #eaf2ff;
    box-shadow: 0 2px 6px #064bfa12;
}

body.ae-ai-page #ai-record .ae-ai__record-note h3 {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
}

body.ae-ai-page #ai-record .ae-ai__record-note > .ae-ai__note-label,
body.ae-ai-page #ai-record .ae-ai__record-note > .ae-ai__record-facts,
body.ae-ai-page #ai-record .ae-ai__record-note > p,
body.ae-ai-page #ai-record .ae-ai__record-note > small {
    display: none;
}

/* スマホではDAYボタンと開発工程の詳細を非表示 */
body.ae-ai-page #ai-record .ae-ai__day-group {
    display: none;
    min-width: 0;
}

body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 6px 0 10px;
    padding: 0;
}

body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 0;
    min-height: 60px;
    margin: 0;
    border: 1px solid #b9cef3;
    border-radius: 6px;
    padding: 20px 2px 8px;
    background: linear-gradient(#dce9ff 12px, #fff 12px);
    color: #143570;
    box-shadow: none;
}

body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches button::before,
body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches button::after {
    top: -5px;
    width: 4px;
    height: 12px;
}

body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches button > strong {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0;
    white-space: nowrap;
}

body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches button > span {
    display: none;
}

body.ae-ai-page #ai-record
.ae-ai__day-group .ae-ai__switches button[aria-pressed="true"] {
    border-color: #064bfa;
    background: linear-gradient(#064bfa 12px, #eaf1ff 12px);
    color: #064bfa;
    box-shadow: inset 0 -2px 0 #064bfa;
}

/* 選んだDAYの詳細をコンパクトに */
body.ae-ai-page #ai-record .ae-ai__day-panel {
    min-width: 0;
    margin: 0;
    border-radius: 8px;
    box-shadow: none;
}

body.ae-ai-page #ai-record .ae-ai__day-panel[hidden] {
    display: none;
}

body.ae-ai-page #ai-record
.ae-ai__day-panel .ae-ai__window-bar {
    gap: 6px;
    padding: 8px 10px;
    font-size: 10px;
    line-height: 1.5;
}

body.ae-ai-page #ai-record
.ae-ai__day-panel .ae-ai__window-body {
    padding: 12px;
    background: #f7faff;
}

/* 日付は上のバーにあるため、本文側の重複を省く */
body.ae-ai-page #ai-record
.ae-ai__day-panel .ae-ai__window-body > .ae-ai__eyebrow {
    display: none;
}

body.ae-ai-page #ai-record .ae-ai__day-panel h3 {
    margin: 0 0 6px;
    color: #143570;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
}

body.ae-ai-page #ai-record .ae-ai__day-panel p {
    margin: 0 0 8px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0;
}

body.ae-ai-page #ai-record
.ae-ai__day-panel .ae-ai__checklist {
    gap: 4px;
    margin: 8px 0;
}

body.ae-ai-page #ai-record
.ae-ai__day-panel .ae-ai__checklist li {
    gap: 6px;
    border-color: #d5e2fa;
    padding: 6px 8px;
    font-size: 11px;
    line-height: 1.6;
}

body.ae-ai-page #ai-record
.ae-ai__day-panel .ae-ai__record-result {
    margin: 8px 0 0;
    padding: 8px 10px;
    font-size: 11px;
    line-height: 1.6;
}
/* プロジェクト詳細：上部の操作を整理 */
body.ae-ai-page #ai-project-detail .ae-ai__report-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
}

body.ae-ai-page #ai-project-detail .ae-ai__report-toolbar > span {
    grid-column: 1;
    grid-row: 1;
    font-size: 10px;
    line-height: 1.5;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-tools {
    display: contents;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-tools form {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-tools .ae-ai__project-download {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-height: 36px;
    padding: 6px 10px;
    font-size: 11px;
    line-height: 1.5;
}

body.ae-ai-page #ai-project-detail .ae-ai__report-close {
    min-height: 36px;
    margin: 0;
    padding: 6px 10px;
    font-size: 11px;
    line-height: 1.5;
}

/* 本文と見出し */
body.ae-ai-page .ae-ai dialog#ai-project-detail .ae-ai__report-body {
    padding: 16px 14px calc(12px + env(safe-area-inset-bottom, 0px));
}

/* 小窓末尾の操作 */
body.ae-ai-page #ai-project-detail .ae-ai__project-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px 0 0;
    padding: 0;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-footer form {
    margin: 0;
    padding: 0;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-top,
body.ae-ai-page #ai-project-detail .ae-ai__project-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    max-width: 100%;
    margin: 0;
    padding: 6px 12px;
    background: #fff;
    color: #064bfa;
    box-shadow: none;
    font: 700 11px/1.5 Arial, sans-serif;
    white-space: normal;
    cursor: pointer;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-top {
    border: 1px solid #a9c7f5;
    border-radius: 6px;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-back {
    border: 1px solid #064bfa;
    border-radius: 999px;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-top:hover,
body.ae-ai-page #ai-project-detail .ae-ai__project-back:hover {
    background: #eaf1ff;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-top:focus-visible,
body.ae-ai-page #ai-project-detail .ae-ai__project-back:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: 3px;
}

body.ae-ai-page #ai-project-detail .ae-ai__report-body h2 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0;
}

body.ae-ai-page #ai-project-detail .ae-ai__report-body h3 {
    margin: 16px 0 8px;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0;
}

body.ae-ai-page #ai-project-detail .ae-ai__report-body p {
    margin: 0 0 8px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0;
}

body.ae-ai-page #ai-project-detail .ae-ai__report-body small {
    font-size: 10px;
    line-height: 1.6;
}

body.ae-ai-page #ai-project-detail
.ae-ai__report-body > .ae-ai__report-eyebrow {
    margin: 0 0 6px;
    font-size: 8px;
    line-height: 1.5;
}
/* プロジェクト概要：青い外枠と縦横の罫線 */
body.ae-ai-page #ai-project-detail .ae-ai__record-facts {
    display: grid;
    gap: 0;
    overflow: hidden;
    margin: 0 0 8px;
    border: 2px solid #064bfa;
    border-radius: 6px;
    padding: 0;
    background: #fff;
    box-shadow: 3px 3px 0 #b0d3ff;
}

body.ae-ai-page #ai-project-detail .ae-ai__record-facts > div {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    margin: 0;
    border: 0;
    padding: 0;
}

body.ae-ai-page #ai-project-detail
.ae-ai__record-facts > div + div {
    border-top: 1px solid #8fb1ff;
}

body.ae-ai-page #ai-project-detail .ae-ai__record-facts dt,
body.ae-ai-page #ai-project-detail .ae-ai__record-facts dd {
    min-width: 0;
    margin: 0;
    padding: 9px 8px;
    font-size: 11px;
    line-height: 1.6;
}

body.ae-ai-page #ai-project-detail .ae-ai__record-facts dt {
    border-right: 1px solid #8fb1ff;
    background: #eaf2ff;
    color: #143570;
    font-weight: 700;
    white-space: nowrap;
}

body.ae-ai-page #ai-project-detail .ae-ai__record-facts dd {
    background: #fff;
    color: #080b20;
}

/* 開発工程：相談ページと同じ青枠・白背景 */
body.ae-ai-page #ai-project-detail .ae-ai__checklist {
    gap: 8px;
    margin: 0 0 12px;
}

body.ae-ai-page #ai-project-detail .ae-ai__checklist li {
    gap: 8px;
    margin: 0;
    border: 2px solid #064bfa;
    border-radius: 6px;
    padding: 8px 10px;
    background: #fff;
    color: #143570;
    box-shadow: 3px 3px 0 #b0d3ff;
    font-size: 11px;
    line-height: 1.6;
}
/* 構成図を独立したカードとして区切る */
body.ae-ai-page #ai-project-detail .ae-ai__architecture-card {
    min-width: 0;
    margin: 18px 0;
    border: 1px solid #a8c8ff;
    border-top: 3px solid #064bfa;
    border-radius: 8px;
    padding: 12px;
    background: #fff;
}

body.ae-ai-page #ai-project-detail .ae-ai__architecture-card > h3 {
    margin: 0 0 8px;
    color: #143570;
    font-size: 14px;
    line-height: 1.5;
}

body.ae-ai-page #ai-project-detail
.ae-ai__architecture-card > .ae-ai__architecture-guide {
    display: block;
    margin: 0 0 8px;
    border-radius: 4px;
    padding: 6px 8px;
    background: #eef4ff;
    color: #064bfa;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.5;
}

/* 横スクロール領域とバーを見やすくする */
body.ae-ai-page #ai-project-detail .ae-ai__project-architecture {
    min-width: 0;
    max-width: 100%;
    margin: 0 0 10px;
    border: 1px solid #d5e2fa;
    border-radius: 5px;
    padding-bottom: 6px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: auto;
    scrollbar-color: #064bfa #e2ebff;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-architecture::-webkit-scrollbar {
    height: 12px;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-architecture::-webkit-scrollbar-track {
    border-radius: 6px;
    background: #e2ebff;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-architecture::-webkit-scrollbar-thumb {
    border: 2px solid #e2ebff;
    border-radius: 6px;
    background: #064bfa;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-architecture:focus-visible {
    outline: 2px solid #064bfa;
    outline-offset: 2px;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-caption {
    margin: 0;
    border-left: 0;
    padding-left: 0;
    font-size: 11px;
    line-height: 1.6;
}
/* 青い説明カードの大きな余白を解除 */
body.ae-ai-page #ai-project-detail .ae-ai__project-insight {
    display: flow-root;
    min-height: 0;
    margin: 16px 0;
    padding: 14px;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-person {
    position: static;
    float: right;
    width: 90px;
    max-width: 35%;
    margin: 0 0 8px 10px;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-insight h3 {
    margin: 0 0 8px;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-message strong {
    margin-bottom: 4px;
    font-size: 15px;
    line-height: 1.5;
}

/* 資料案内：説明と操作を1枚にまとめる */
body.ae-ai-page #ai-project-detail .ae-ai__project-materials {
    display: block;
    min-height: 0;
    margin: 12px 0 0;
    border: 1px solid #c5d9fa;
    border-top: 3px solid #064bfa;
    border-radius: 8px;
    padding: 12px;
    background: #f7faff;
    box-shadow: none;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-materials > .ae-ai__eyebrow {
    display: block;
    width: auto;
    margin: 0 0 6px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    color: #064bfa;
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: .03em;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-materials h3 {
    margin: 0 0 8px;
    color: #143570;
    font-size: 14px;
    line-height: 1.5;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-materials > p:not(.ae-ai__eyebrow) {
    margin: 0 0 10px;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    font-size: 11px;
    line-height: 1.6;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-materials > p:not(.ae-ai__eyebrow) br {
    display: none;
}

body.ae-ai-page #ai-project-detail
.ae-ai__project-materials .ae-ai__project-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 40px;
    margin: 0;
    border: 1px solid #064bfa;
    border-radius: 999px;
    padding: 8px 14px;
    background: #064bfa;
    color: #fff;
    box-shadow: none;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-materials small {
    display: block;
    margin: 8px 0 0;
    color: #56708c;
    font-size: 10px;
    line-height: 1.6;
}

body.ae-ai-page #ai-project-detail .ae-ai__project-source {
    margin: 8px 0 0;
    color: #56708c;
    font-size: 10px;
    line-height: 1.6;
}
/* ガイドの紹介：スマホは紹介文と操作に絞る */
body.ae-ai-page .ae-ai > #ai-record {
    padding-bottom: 16px;
}

body.ae-ai-page .ae-ai > #ai-guide {
    min-width: 0;
    margin: 0 auto 16px;
    border: 1px solid #8fb1ff;
    border-radius: 8px;
    padding: 0;
    background: #fff;
    box-shadow: 0 3px 10px #064bfa0f;
}

body.ae-ai-page #ai-guide > .ae-ai__guide-bar {
    gap: 6px;
    border-radius: 7px 7px 0 0;
    padding: 8px 10px;
    font-size: 10px;
    line-height: 1.5;
}

body.ae-ai-page #ai-guide .ae-ai__guide-body {
    padding: 12px;
    background: #fff;
}

body.ae-ai-page #ai-guide .ae-ai__section-heading {
    gap: 6px;
    margin-bottom: 10px;
}

/* 英語見出し・表紙・重複する説明は省略 */
body.ae-ai-page .ae-ai #ai-guide .ae-ai__section-en,
body.ae-ai-page #ai-guide .ae-ai__section-heading > div > .ae-ai__eyebrow,
body.ae-ai-page #ai-guide .ae-ai__book,
body.ae-ai-page #ai-guide .ae-ai__guide-teaser > .ae-ai__eyebrow,
body.ae-ai-page #ai-guide .ae-ai__guide-teaser > h3,
body.ae-ai-page #ai-guide .ae-ai__guide-teaser > p,
body.ae-ai-page #ai-guide .ae-ai__guide-topics {
    display: none;
}

body.ae-ai-page .ae-ai #ai-guide .ae-ai__section-heading h2 {
    margin: 0;
    font-size: 19px;
    line-height: 1.5;
}

body.ae-ai-page #ai-guide .ae-ai__section-heading > p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
}

body.ae-ai-page #ai-guide .ae-ai__guide-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

body.ae-ai-page #ai-guide .ae-ai__guide-teaser {
    min-width: 0;
    padding: 0;
}

body.ae-ai-page #ai-guide
.ae-ai__guide-teaser > .ae-ai__button:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    min-height: 40px;
    margin: 0;
    border: 1px solid #064bfa;
    border-radius: 999px;
    padding: 8px 12px;
    background: #fff;
    color: #064bfa;
    box-shadow: none;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

/* 受付欄の重複する見出しを省略 */
body.ae-ai-page #ai-guide-download > div:first-child {
    display: none;
}
/* ダウンロード案内 */
body.ae-ai-page #ai-guide-download {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    margin-top: 14px;
    border-radius: 8px;
    padding: 12px;
}

body.ae-ai-page #ai-guide-download h3 {
    margin: 4px 0 6px;
    font-size: 16px;
    line-height: 1.5;
}

body.ae-ai-page #ai-guide-download p {
    margin: 0 0 6px;
    font-size: 11px;
    line-height: 1.6;
    overflow-wrap: break-word;
}

body.ae-ai-page #ai-guide-download
:is(input:not([type="checkbox"]):not([type="radio"])), 
body.ae-ai-page #ai-guide-download select,
body.ae-ai-page #ai-guide-download textarea {
    box-sizing: border-box;
    max-width: 100%;
    font-size: 16px;
}

/* 最後のご相談案内 */
body.ae-ai-page .ae-ai__talk {
    position: relative;
    display: grid;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr) clamp(64px, 20vw, 100px);
    align-items: center;
    column-gap: 10px;
    row-gap: 14px;
    width: calc(100% - 16px);
    margin: 16px auto 8px;
    border: 2px solid #064bfa;
    border-radius: 8px;
    padding: 24px 16px 18px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow:
        4px 4px 0 #62caff,
        8px 8px 0 rgba(6, 75, 250, 0.08);
}

body.ae-ai-page .ae-ai__talk-heading {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    margin: 0;
}

body.ae-ai-page .ae-ai .ae-ai__talk-eyebrow {
    margin: 0 0 6px;
    color: #080b20;
    font: 700 10px/1.4 "Courier New", monospace;
    letter-spacing: .04em;
}

body.ae-ai-page .ae-ai .ae-ai__talk-en {
    margin: 0;
    color: #080b20;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(36px, 7.5vw, 60px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.06em;
    overflow-wrap: normal;
    word-break: normal;
}

body.ae-ai-page .ae-ai .ae-ai__talk-heading h2 {
    margin: 4px 0 0;
    color: #080b20;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
}

body.ae-ai-page .ae-ai__talk-intro {
    display: contents;
}

body.ae-ai-page .ae-ai__talk-copy {
    grid-column: 1 / -1;
    grid-row: 2;
    min-width: 0;
    width: 100%;
}

body.ae-ai-page .ae-ai__talk-copy p {
    max-width: none;
    margin: 0;
    color: #080b20;
    font-size: clamp(11px, 2.8vw, 13px);
    line-height: 1.7;
    letter-spacing: 0;
    text-align: left;
    white-space: normal;
}

body.ae-ai-page .ae-ai__talk-copy p + p {
    margin-top: 4px;
}

body.ae-ai-page .ae-ai__talk-chat {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 5px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

body.ae-ai-page .ae-ai__talk-chat li {
    position: relative;
    isolation: isolate;
    display: block;
    box-sizing: border-box;
    flex: 1 1 0;
    min-width: 0;
    min-height: 52px;
    border: 1px solid #78b5ff;
    border-radius: 16px;
    padding: 9px 6px;
    background: linear-gradient(
        180deg,
        #fff 0%,
        #f3fbff 35%,
        #dcefff 75%,
        #c8e5ff 100%
    );
    color: #080b20;
    box-shadow:
        inset 0 2px 3px rgba(255, 255, 255, 0.95),
        inset 0 -3px 5px rgba(67, 145, 255, 0.12),
        0 5px 0 #b8d9ff,
        0 9px 15px rgba(6, 75, 250, 0.12);
    font-size: clamp(9px, 2.6vw, 11px);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: center;
    white-space: normal;
    line-break: strict;
    transform: none;
}

body.ae-ai-page .ae-ai__talk-chat li span {
    white-space: nowrap;
}

body.ae-ai-page .ae-ai__talk-chat-break {
    display: initial;
}

body.ae-ai-page .ae-ai__talk-chat li::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 5px;
    right: 14px;
    left: 14px;
    height: 40%;
    border-radius: 24px;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.9),
        rgba(255, 255, 255, 0)
    );
    pointer-events: none;
}

body.ae-ai-page .ae-ai__talk-chat li::after {
    content: "";
    position: absolute;
    left: 18px;
    bottom: -4px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #78b5ff;
    border-bottom: 1px solid #78b5ff;
    border-bottom-right-radius: 3px;
    background: #c8e5ff;
    transform: rotate(45deg);
}

body.ae-ai-page .ae-ai .ae-ai__talk-button {
    grid-column: 1;
    grid-row: 3;
    align-self: center;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    gap: 6px;
    width: 100%;
    max-width: 220px;
    min-height: 40px;
    margin: 0;
    border: 2px solid #064bfa;
    border-radius: 0;
    padding: 8px;
    background: #fff;
    color: #064bfa;
    box-shadow: 3px 3px 0 #a9cdff;
    font-size: clamp(9px, 2.6vw, 11px);
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    animation: none;
}

body.ae-ai-page .ae-ai .ae-ai__talk-button:hover {
    background: #edf5ff;
}

body.ae-ai-page .ae-ai .ae-ai__talk-button:focus-visible {
    outline: 3px solid #064bfa;
    outline-offset: 3px;
}

body.ae-ai-page .ae-ai__talk-disks {
    position: static;
    grid-column: 2;
    grid-row: 3;
    align-self: center;
    justify-self: end;
    width: 100%;
    max-width: 100px;
    height: auto;
    margin: 0;
}

body.ae-ai-page .ae-ai__bottom-nav {
    margin-top: 12px;
}

    /* 流れる画像：現在の指定を維持 */
    body.ae-ai-page .ae-ai__flow {
        --flow-size: 100px;
    }

    body.ae-ai-page
    .ae-ai__flow:is(.ae-ai__flow--experiment, .ae-ai__flow--record) {
        --flow-gap: clamp(24px, 3vw, 44px);
    }

    body.ae-ai-page
    .ae-ai__flow:is(.ae-ai__flow--experiment, .ae-ai__flow--record)
    .ae-works-flow__track {
        animation-direction: normal;
    }

    body.ae-ai-page
    .ae-ai__flow:is(.ae-ai__flow--experiment, .ae-ai__flow--record)
    .ae-works-flow__item:nth-child(n) img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        transform: none;
    }

    /* お問い合わせ上：4つのモチーフの中心の高さを統一 */
    body.ae-ai-page .ae-ai__flow--reverse
    .ae-works-flow__item:nth-child(n) img {
        transform: none;
    }

    body.ae-ai-page
    .ae-ai__flow:is(.ae-ai__flow--experiment, .ae-ai__flow--record)
    .ae-works-flow__item:nth-child(4n + 1) img,
    body.ae-ai-page
    .ae-ai__flow:is(.ae-ai__flow--experiment, .ae-ai__flow--record)
    .ae-works-flow__item:nth-child(4n + 2) img {
        width: 85%;
        height: 85%;
    }
}