/* 新しい強みページ専用 */
.ae-strengths-new-page {
    color: #080b20;
    background: var(--ae-dot-background);
    background-attachment: fixed;
    animation: ae-dot-background-drift 20s ease-in-out infinite;
    font-family: var(--font-family-base);
    font-size: 16px;
    line-height: 1.85;
    overflow-x: clip;
}
.ae-sn, .ae-sn *, .ae-sn-retro, .ae-sn-retro * { box-sizing: border-box; }
.ae-sn {
    width: calc(100% - 80px);
    max-width: 1280px;
    margin: 0 auto;
    padding-bottom: 48px;
}
.ae-sn a { color: #064bfa; text-decoration: none; }
.ae-sn__bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    padding: 24px 0;
    border-bottom: 0;
}
.ae-sn .ae-sn__brand { color:#080b20; font:700 28px/1.2 Arial,sans-serif; }
.ae-sn__back { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:44px; padding:10px 22px; border:1px solid #064bfa; border-radius:999px; background:#fff; font-weight:700; font-size:14px; }
.ae-sn__hero {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 32px;
    padding: 48px 0 40px;
}
.ae-sn__copy { min-width:0; }
.ae-sn__eyebrow {
    margin: 0 0 18px;
    color: #080b20;
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: 0.08em;
}
.ae-sn .ae-sn__hero h1 {
    margin: 0 0 24px;
    color: #080b20;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(48px, 6vw, 92px);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.06em;
}
.ae-sn__hero h1 span { color:#064bfa; }
.ae-sn .ae-sn__hero h2 {
    margin: 0;
    color: #080b20;
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}
.ae-sn__lead {
    margin: 20px 0 24px;
    font-size: 14px;
    line-height: 1.9;
}
.ae-sn__visual {
    position: relative;
    isolation: isolate;
    width: 100%;
    transform: translate(12px, 10px);
}

/* PCとマウスの足元に落ちる影 */
.ae-sn__visual::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 10%;
    bottom: 1%;
    width: 83%;
    height: 9%;
    border-radius: 50%;
    background: radial-gradient(
        ellipse,
        rgba(25, 30, 38, .28) 0%,
        rgba(25, 30, 38, .13) 45%,
        transparent 72%
    );
    filter: blur(6px);
    pointer-events: none;
}

.ae-sn__visual > img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
}
/* 画像のCRT画面部分だけをクリックできる入口にする */
.ae-sn__screen { position:absolute; z-index:2; left:25%; top:8%; width:44%; height:45%; padding:0; border:0; background:transparent; clip-path:polygon(0 6%,100% 0,100% 96%,0 100%); cursor:pointer; }
.ae-sn__screen:focus-visible { outline: none; }
.ae-sn a:focus-visible, .ae-sn summary:focus-visible, .ae-sn-retro button:focus-visible { outline:3px solid #064bfa; outline-offset:4px; }
/* 3つの強み */
.ae-sn__topics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
    scroll-margin-top: 24px;
}

.ae-sn__topics > .ae-sn__detail-heading {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.ae-sn__topic {
    min-width: 0;
    align-self: start;
    border: 1px solid #80afff;
    border-radius: 12px;
    background-color: #fff;
    background-image: radial-gradient(
        circle,
        rgba(137, 193, 255, .35) 3px,
        transparent 3.5px
    );
    background-size: 28px 28px;
    box-shadow:
        4px 5px 0 #d8e8ff,
        0 12px 24px rgba(6, 75, 250, .05);
}

/* 横並びでは、開いたカードの外枠をそろえる */
.ae-sn__topic[open] {
    align-self: stretch;
}

.ae-sn__topic summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 144px;
    padding: 24px;
    list-style: none;
    cursor: pointer;
    color: #080b20;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.ae-sn__topic summary::-webkit-details-marker {
    display: none;
}

.ae-sn__number {
    grid-column: 1 / -1;
    justify-self: start;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #064bfa;
    font: 700 28px/1 Arial, sans-serif;
}

.ae-sn__plus {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #064bfa;
    border-radius: 50%;
    background: #064bfa;
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
}

.ae-sn__topic[open] .ae-sn__plus {
    transform: rotate(45deg);
}

.ae-sn__topic-body {
    margin: 0 24px;
    padding: 20px 0 28px;
}

.ae-sn__topic-body .ae-sn__topic-message {
    margin: 0 0 20px;
    color: #080b20;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.75;
}

.ae-sn__topic-body ul {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0 0 0 1.2em;
    list-style: disc;
}

.ae-sn__topic-body li {
    margin: 0;
    padding: 0;
    color: #080b20;
    font-size: 16px;
    line-height: 1.85;
    word-break: normal;
    overflow-wrap: anywhere;
    line-break: strict;
}

.ae-sn__topic-body li::marker {
    color: #064bfa;
}
/* レトロ画面をブラウザーの表示領域いっぱいに開く */
.ae-sn-retro {
    position: fixed;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #d7d7d7;
    box-shadow: none;
    overflow: auto;
    overscroll-behavior: contain;
}
.ae-sn-retro::backdrop {
    background: var(--modal-backdrop);
}
.ae-sn-retro__bar {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: var(--modal-header-background);
    color: var(--modal-white);
}
.ae-sn-retro__bar h2 { margin:0; color:white; font-size:16px; }
.ae-sn-retro__bar button { min-height:44px; border:0; border-radius:999px; padding:10px 18px; background:white; color:#064bfa; cursor:pointer; font:inherit; }
.ae-sn-retro .ae-strengths { min-height:0; }
.ae-sn-retro .ae-retro { width:calc(100% - 24px); }
html.ae-sn-retro-open { overflow:hidden; }
/* 相談ページと同じ、軽く浮き上がる動き */
@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-sn__visual {
        transition: translate 240ms ease;
    }

    .ae-sn__visual:hover {
        translate: 0 -6px;
    }

    .ae-sn__topic,
    .ae-sn__quality-flow > li,
    .ae-sn__info-card,
    .ae-sn__back {
        transition:
            transform 240ms ease,
            box-shadow 240ms ease,
            border-color 240ms ease;
    }

    .ae-sn__topic:hover,
    .ae-sn__quality-flow > li:hover,
    .ae-sn__info-card:hover {
        transform: translateY(-4px);
        border-color: #064bfa;
        box-shadow:
            4px 8px 0 #d8e8ff,
            0 16px 28px rgba(6, 75, 250, .10);
    }

    .ae-sn__back:hover {
        transform: translateY(-4px);
        background: #eef5ff;
    }

    /* カード内のボタンは、カードと一緒に浮かせる */
    .ae-sn__info-card .ae-sn__back:hover {
        transform: none;
    }
}
@media (max-width:1100px) {
    .ae-sn__hero {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
        padding: 44px 0 80px;
    }

    .ae-sn__visual {
        max-width: 740px;
        justify-self: center;
        transform: none;
    }
    .ae-sn__topic summary { padding:20px; font-size:18px; }
}
@media (max-width:700px) {
    .ae-sn { width:calc(100% - 32px); padding-bottom:32px; }
.ae-sn__bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    padding: 24px 0;
    border-bottom: 0;
}
    .ae-sn .ae-sn__brand { font-size:22px; }
    .ae-sn__bar .ae-sn__back { padding:8px 12px; gap:8px; font-size:12px; }
    .ae-sn__hero { padding:24px 0 64px; }
    .ae-sn .ae-sn__hero h1 { font-size:clamp(36px,10.5vw,68px); }
    .ae-sn .ae-sn__hero h2 { font-size:clamp(22px,6vw,30px); }
    .ae-sn__lead { font-size:15px; }
    .ae-sn__topics { grid-template-columns:minmax(0,1fr); gap:14px; }
    .ae-sn__topic summary { min-height:100px; grid-template-columns:44px minmax(0,1fr) auto; gap:12px; padding:20px; }
    .ae-sn__number { grid-column:auto; font-size:28px; }

}
/* 本文下の案内ボタン：会社紹介と統一 */
.ae-sn__copy > .ae-sn__back {
    gap: 24px;
    min-height: 48px;
    padding: 12px 24px;
    background: transparent;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

/* スマホの日本語見出し・説明文も統一 */
@media (max-width: 700px) {
    .ae-sn .ae-sn__hero h2 {
        font-size: 24px;
    }

    .ae-sn__lead {
        font-size: 14px;
    }
}
/* 900px以下は1列にし、内容に応じた高さにする */
@media (max-width: 900px) {
    .ae-sn__topics {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .ae-sn__topic summary {
        grid-template-columns: 44px minmax(0, 1fr) auto;
        gap: 12px;
        min-height: 100px;
        padding: 20px;
    }

    .ae-sn__number {
        grid-column: auto;
        font-size: 28px;
    }

    .ae-sn__topic-body {
        margin-inline: 20px;
    }
}
/* カード下の詳しい説明：番号・英語・日本語の順で統一 */
.ae-sn__detail {
    margin-top: 0;
    padding: 48px 0 64px;
    border-top: none;
    scroll-margin-top: calc(
        var(--wp-admin--admin-bar--height, 0px) + 24px
    );
}

/* セクション間のモチーフ */
.ae-sn__flow {
    --flow-size: clamp(125px, 14vw, 200px);
    --flow-gap: clamp(24px, 2.8vw, 44px);

    width: 100vw;
    margin-inline: calc(50% - 50vw);
}

/* 下段：採用ページ下段と同じ間隔 */
.ae-sn__flow--reverse {
    --flow-gap: clamp(32px, 3.5vw, 60px);
}

/* 下段は左から右へ */
.ae-sn__flow--reverse .ae-works-flow__track {
    animation-direction: reverse;
}

/* 画像の中心をそろえる */
.ae-sn__flow .ae-works-flow__item img {
    transform: none;
}
.ae-sn__detail-heading {
    margin-bottom: 28px;
}

.ae-sn__detail-heading .ae-sn__eyebrow {
    margin-bottom: 12px;
}

/* スマホ：枠外の見出しラベルを統一 */
@media (max-width: 600px) {
    .ae-sn .ae-sn__detail-heading > .ae-sn__eyebrow {
        margin: 0 0 6px;
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: .04em;
    }
}

.ae-sn .ae-sn__detail-en {
    margin: 0;
    color: #080b20;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(36px, 4vw, 64px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.06em;
    word-break: normal;
    overflow-wrap: normal;
}

.ae-sn__detail h2 {
    margin: 24px 0 0;
    color: #080b20;
    font-size: clamp(19px, 2vw, 28px);
    font-weight: 700;
    line-height: 1.5;
}

.ae-sn__detail-lead {
    max-width: 52em;
    margin: 20px 0 0;
    color: #080b20;
    font-size: 16px;
    line-height: 1.9;
}

.ae-sn__detail--team .ae-sn__detail-lead {
    max-width: none;
}

/* セクション番号に短い青線を添える */
.ae-sn__detail-heading .ae-sn__eyebrow {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #064bfa;
}

.ae-sn__detail-heading .ae-sn__eyebrow::after {
    content: "";
    width: 64px;
    height: 1px;
    background: #9cbdff;
}

/* チーム：文章と画像1枚をまとめた大きなパネル */
.ae-sn__team-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: center;
    gap: 40px;
    padding: 40px;
    border: 1px solid #064bfa;
    border-radius: 16px;
    background-color: #073ba7;
    background-image: radial-gradient(
        circle,
        rgba(255, 255, 255, .05) 1.5px,
        transparent 1.5px
    );
    background-size: 26px 26px;
    color: #fff;
}

.ae-sn__team-points {
    min-width: 0;
    margin: 0;
}

/* 枠で囲まず、縦線と丸で3つの場面を整理 */
.ae-sn__team-points > div {
    position: relative;
    margin: 0 0 28px;
    padding: 0 0 0 24px;
    border-left: 2px solid rgba(255, 255, 255, .28);
}

.ae-sn__team-points > div:last-child {
    margin-bottom: 0;
}

.ae-sn__team-points > div::before {
    content: "";
    position: absolute;
    top: 11px;
    left: -6px;
    width: 10px;
    height: 10px;
    border: 2px solid #073ba7;
    border-radius: 50%;
    background: #a8d7ff;
    box-sizing: border-box;
}

.ae-sn__team-points dt {
    margin: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
}

/* 参画前・参画中・継続フォロー */
.ae-sn__team-points dt > span {
    display: table;
    margin-bottom: 10px;
    padding: 4px 12px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .06em;
}

/* 本文は通常の太さにして、見出しとの差を出す */
.ae-sn__team-points dd {
    margin: 10px 0 0;
    color: #f0f6ff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.ae-sn__team-visual {
    display: grid;
    place-items: center;
    min-width: 0;
}

.ae-sn__team-visual > img {
    display: block;
    width: 100%;
    max-width: 580px;
    height: auto;
    transform-origin: 50% 80%;
}

/* マウス操作時：人物が軽く浮き、少し傾く */
@media (hover: hover) and (pointer: fine)
       and (prefers-reduced-motion: no-preference) {
    .ae-sn__team-visual > img {
        transition: transform .35s ease;
    }

    .ae-sn__team-visual:hover > img {
        transform: translateY(-6px) rotate(-1deg) scale(1.025);
    }
}
/* 技術：これまでの経験と、これからの挑戦 */
.ae-sn__detail--technology .ae-sn__info-card:last-child {
    background: linear-gradient(145deg, #f8fcff, #e4f1ff);
}

/* 事例：見出し帯の下にイラストを配置 */
.ae-sn__case-art {
    display: grid;
    justify-items: center;
    margin: -24px -24px 24px;
    padding: 24px 20px 12px;
    border-bottom: 1px solid #d7e5fb;
    background: radial-gradient(ellipse at center, #fff, #edf5ff);
}

.ae-sn__case-art img {
    display: block;
    width: 100%;
    max-width: 280px;
    height: 230px;
    object-fit: contain;
}

.ae-sn__case-art figcaption {
    margin-top: 8px;
    color: #45536a;
    font-size: 11px;
    line-height: 1.6;
}

/* 事例への入口を強調 */
.ae-sn__detail--cases .ae-sn__back {
    background: #064bfa;
    color: #fff;
    box-shadow: 3px 3px 0 #c3d9ff;
}

/* 品質の図と、追加セクションのカード */
.ae-sn__quality-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ae-sn__info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.ae-sn__info-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ae-sn__quality-flow > li,
.ae-sn__info-card {
    position: relative;
    min-width: 0;
    padding: 28px 24px;
    border: 1px solid #9cbdff;
    border-radius: 12px;
    background: #fff;
    box-shadow:
        4px 5px 0 #d8e8ff,
        0 12px 24px rgba(6, 75, 250, .05);
}

.ae-sn__info-card {
    display: flex;
    flex-direction: column;
}

.ae-sn__quality-flow > li:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 24px;
    right: -23px;
    color: #064bfa;
    font-size: 20px;
    line-height: 1;
}

.ae-sn__step {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: -28px -24px 24px;
    padding: 12px 16px;
    border-radius: 11px 11px 0 0;
    background: #064bfa;
    color: #fff;
    font: 700 12px/1.6 "Courier New", monospace;
    letter-spacing: .06em;
}

/* ウィンドウを思わせる小さな3つの点 */
.ae-sn__step::after {
    content: "";
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    margin-left: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: -10px 0 0 #ffffffb3, -20px 0 0 #ffffff66;
}
/* 品質カードのドット絵：透明な余白の違いも調整 */
.ae-sn__quality-art {
    --quality-art-size: 160px;
    position: relative;
    height: 128px;
    margin-bottom: 20px;
    overflow: hidden;
}

.ae-sn__quality-art > img {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: var(--quality-art-size);
    max-width: none;
    height: auto;
    transform: translate(-50%, -50%);
    filter: brightness(1.12) contrast(1.06);
}

/* 横長の絵は少し大きく表示 */
.ae-sn__quality-art--review {
    --quality-art-size: 180px;
}

.ae-sn__quality-art--gate {
    --quality-art-size: 220px;
}
.ae-sn__quality-flow h3,
.ae-sn__info-card h3 {
    margin: 0 0 12px;
    color: #080b20;
    font-size: 19px;
    line-height: 1.6;
}

.ae-sn__quality-flow p,
.ae-sn__info-card p,
.ae-sn__case-data dd {
    margin: 0;
    color: #080b20;
    font-size: 16px;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

/* 事例は「課題」と「取り組み」を分けて表示 */
.ae-sn__case-data {
    margin: 8px 0 24px;
}

.ae-sn__case-data dt {
    margin: 0 0 6px;
    color: #064bfa;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
}

.ae-sn__case-data dd + dt {
    margin-top: 18px;
}

.ae-sn__info-card > .ae-sn__back {
    align-self: flex-start;
    max-width: 100%;
    margin-top: auto;
}

.ae-sn__detail-note {
    margin: 20px 0 0;
    color: #45536a;
    font-size: 14px;
    line-height: 1.85;
}

@media (max-width: 900px) {
    .ae-sn__team-panel {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .ae-sn__team-visual > img {
        max-width: 440px;
    }

    .ae-sn__quality-flow,
    .ae-sn__info-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .ae-sn__quality-flow > li:not(:last-child)::after {
        content: "↓";
        top: auto;
        right: auto;
        bottom: -24px;
        left: 24px;
    }
}

@media (max-width: 700px) {
        .ae-sn__team-panel {
        padding: 28px 20px;
    }

    .ae-sn__team-points dt {
        font-size: 18px;
    }

    .ae-sn__team-visual > img {
        max-width: 340px;
    }

    .ae-sn__case-art img {
        height: 190px;
    }

    .ae-sn__detail {
        padding: 36px 0 48px;
    }

    .ae-sn__detail-heading {
        margin-bottom: 24px;
    }

    .ae-sn .ae-sn__detail-en {
        font-size: clamp(30px, 8vw, 42px);
    }

    .ae-sn__detail h2 {
        margin-top: 18px;
        font-size: 22px;
    }
}
/* 相談ページと同じ固定目次 */
.ae-strengths-new-page {
    --sn-nav-admin-offset: 0px;
}

.ae-strengths-new-page.admin-bar {
    --sn-nav-admin-offset: 32px;
}

@media (max-width: 782px) {
    .ae-strengths-new-page.admin-bar {
        --sn-nav-admin-offset: 46px;
    }
}

.ae-sn__floating-nav {
    position: fixed;
    top: calc(var(--sn-nav-admin-offset) + 14px);
    right: clamp(16px, 2.5vw, 40px);
    z-index: 1000;
    max-width: calc(100% - 32px);
}

.ae-sn__floating-links {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px;
    border: 1px solid #d2e2ff;
    border-radius: 32px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 3px 10px rgba(6, 75, 250, .05);
}

.ae-sn__floating-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 24px;
    color: #064bfa;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    white-space: nowrap;
}

.ae-sn__floating-links a[aria-current="location"] {
    border-color: #80afff;
    background: linear-gradient(180deg, #f3f8ff, #deecff);
    box-shadow: inset 0 1px 2px #fff,
                0 2px 5px rgba(6, 75, 250, .08);
}

.ae-sn__floating-toggle {
    display: none;
}

/* 移動後の見出しが目次に隠れないようにする */
.ae-sn__detail,
.ae-sn__topics {
    scroll-margin-top: calc(var(--sn-nav-admin-offset) + 84px);
}

@media (hover: hover) and (pointer: fine) {
    .ae-sn__floating-links a:hover {
        border-color: #bad2ff;
        background-color: #eef5ff;
    }
}

@media (max-width: 650px) {
    .ae-sn__floating-nav {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 10px;
        width: min(280px, calc(100% - 32px));
    }

    .ae-sn__floating-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        min-height: 44px;
        padding: 9px 16px;
        border: 1px solid #80afff;
        border-radius: 22px;
        background: #fff;
        color: #064bfa;
        box-shadow: 0 4px 12px rgba(6, 75, 250, .1);
        font: inherit;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.5;
        cursor: pointer;
    }

    .ae-sn__floating-toggle[aria-expanded="true"] {
        background: #064bfa;
        color: #fff;
    }

    .ae-sn__floating-links {
        display: grid;
        gap: 8px;
        width: 100%;
        padding: 10px;
        border-color: #a9caff;
        border-radius: 18px;
        background: linear-gradient(180deg, #fff, #e7f1ff);
        box-shadow: 0 5px 16px rgba(6, 75, 250, .1);
        max-height: calc(100dvh - var(--sn-nav-admin-offset) - 90px);
        overflow-y: auto;
    }

    .ae-sn__floating-links a {
        justify-content: flex-start;
        padding-inline: 14px;
        border-radius: 12px;
    }
}

.ae-sn__floating-nav[hidden],
.ae-sn__floating-links[hidden] {
    display: none;
}
/* 短文と品質の開閉説明はスマホだけ表示 */

.ae-sn__topic-short,
.ae-sn__hero-short,
.ae-sn__quality-short,
.ae-sn__team-short,
.ae-sn__technology-short,
.ae-sn__cases-short,
.ae-sn__quality-note {
    display: none;
}
/* 強みページ：スマホの説明文・カード・画像 */
@media (max-width: 650px) {
    body.ae-strengths-new-page .ae-sn__topic-full {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn__topic-short {
        display: block;
        margin: 0;
        font-size: 13px;
        line-height: 1.7;
    }
    /* スマホの冒頭：SCROLLまでで最低1画面分 */
    body.ae-strengths-new-page .ae-page-first-screen {
        display: flex;
        flex-direction: column;
        min-height: calc(
            100svh - var(--wp-admin--admin-bar--height, 0px)
        );
    }

    /* 上段の共通ボタン用の余白 */
    body.ae-strengths-new-page .ae-sn__bar {
        flex: 0 0 auto;
        min-height: 72px;
        padding: 0;
    }

    body.ae-strengths-new-page
    .ae-page-first-screen > .ae-sn__hero {
        flex: 1 0 auto;
    }

    body.ae-strengths-new-page
    .ae-page-first-screen > .ae-page-scroll-guide {
        margin-top: auto;
    }

    body.ae-strengths-new-page .ae-site-menu {
        top: var(--ae-return-admin, 0px);
        left: 0;
        bottom: auto;
        width: 48px;
        height: 48px;
    }

    body.ae-strengths-new-page .ae-site-menu__trigger {
        width: 48px;
        height: 48px;
    }

    body.ae-strengths-new-page .ae-showcase-return {
        top: 12px;
        right: 12px;
    }

    body.ae-strengths-new-page .ae-showcase-return__link {
        gap: 6px;
        min-height: 44px;
        padding: 8px 12px;
        font-size: 11px;
    }

    body.ae-strengths-new-page .ae-sn__hero {
        grid-template-rows: auto auto;
        align-items: start;
        align-content: space-between;
        gap: 32px;
        padding: 0 0 24px;
    }

    body.ae-strengths-new-page
    .ae-sn__copy > .ae-sn__eyebrow {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn .ae-sn__hero h1 {
        margin: 0 0 4px;
        font-size: clamp(28px, 8.5vw, 34px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    body.ae-strengths-new-page .ae-sn .ae-sn__hero h2 {
        margin: 0;
        font-size: 18px;
        line-height: 1.4;
    }

    body.ae-strengths-new-page .ae-sn__hero-full {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn__hero-short {
        display: inline;
    }

body.ae-strengths-new-page .ae-sn__lead {
    display: block;
    margin: 8px 0;
    font-size: 11px;
    line-height: 1.7;
    letter-spacing: 0;
    text-align: left;
}

    body.ae-strengths-new-page .ae-sn__lead br {
        display: initial;
    }

    body.ae-strengths-new-page .ae-sn__visual {
        width: calc(100% + 48px);
        max-width: none;
        justify-self: center;
    }

    body.ae-strengths-new-page .ae-sn .ae-sn__back {
        gap: 16px;
        width: fit-content;
        max-width: 100%;
        min-height: 36px;
        padding: 6px 12px;
        font-size: 13px;
        line-height: 1.6;
        white-space: normal;
    }

    body.ae-strengths-new-page .ae-sn__back > span {
        flex-shrink: 0;
    }

    /* 冒頭の案内ボタン：開発相談ページと統一 */
    body.ae-strengths-new-page
    .ae-sn .ae-sn__copy > .ae-sn__back {
        width: fit-content;
        max-width: 100%;
        min-height: 30px;
        margin: 0;
        border: 1px solid #064bfa;
        border-radius: 999px;
        padding: 4px 10px;
        gap: 10px;
        background: transparent;
        color: #064bfa;
        box-shadow: none;
        font-size: 11px;
        line-height: 1.6;
    }

    /* 3つの強み：移動先と見出しを共通基準に統一 */
    body.ae-strengths-new-page .ae-sn__topics {
        gap: 12px;
        padding: 72px 0 24px;
        scroll-margin-top: var(--sn-nav-admin-offset, 0px);
    }

    body.ae-strengths-new-page
    .ae-sn__topics > .ae-sn__detail-heading {
        margin: 0;
    }

    body.ae-strengths-new-page
    .ae-sn__topics .ae-sn__detail-heading > .ae-sn__eyebrow {
        margin: 0 0 6px;
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: 0.04em;
    }

    body.ae-strengths-new-page
    .ae-sn__topics .ae-sn__detail-en {
        font-size: clamp(28px, 8.5vw, 34px);
        line-height: 1.02;
        letter-spacing: -0.045em;
    }

    body.ae-strengths-new-page #ae-sn-topics-title {
        margin: 4px 0 0;
        color: #080b20;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.4;
    }

    body.ae-strengths-new-page .ae-sn__topic summary {
        grid-template-columns: 30px minmax(0, 1fr) 26px;
        gap: 8px;
        min-height: 56px;
        padding: 12px 16px 8px;
        font-size: 14px;
    }

    body.ae-strengths-new-page .ae-sn__number {
        padding: 0;
        border-radius: 0;
        font-size: 17px;
    }

    body.ae-strengths-new-page .ae-sn__plus {
        width: 26px;
        height: 26px;
        font-size: 16px;
    }

    body.ae-strengths-new-page .ae-sn__topic-body {
        margin-inline: 16px;
        padding: 0 0 16px;
    }

    body.ae-strengths-new-page .ae-sn__topic-message {
        margin-bottom: 8px;
        font-size: 14px;
        line-height: 1.7;
    }

    body.ae-strengths-new-page .ae-sn__topic-body ul {
        gap: 8px;
    }

    body.ae-strengths-new-page .ae-sn__topic-body li {
        font-size: 13px;
        line-height: 1.9;
    }

    /* 日本語見出し → 説明文 → カードを8pxに */
    body.ae-strengths-new-page .ae-sn {
        padding-bottom: 8px;
    }

    /* 技術紹介から開発事例までの余白 */
    body.ae-strengths-new-page #ae-sn-technology {
        padding-bottom: 24px;
    }

    body.ae-strengths-new-page #ae-sn-cases {
        padding-top: 24px;
        padding-bottom: 16px;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__cases-full {
        display: none;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__cases-short {
        display: inline;
    }

body.ae-strengths-new-page #ae-sn-cases .ae-sn__detail-lead {
    font-size: 11px;
    line-height: 1.7;
}

    body.ae-strengths-new-page .ae-sn__detail-heading {
        margin-bottom: 8px;
    }

    body.ae-strengths-new-page .ae-sn__detail-lead {
        margin-top: 4px;
        font-size: 11px;
        line-height: 1.9;
        letter-spacing: 0;
        text-align: left;
    }

    body.ae-strengths-new-page .ae-sn__detail-lead br {
        display: none;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__detail-lead .ae-sn__technology-short > br {
        display: inline;
    }

    body.ae-strengths-new-page .ae-sn__detail-note {
        margin-top: 12px;
        font-size: 12px;
        line-height: 1.9;
    }

    /* 品質管理からチーム体制までの余白 */
    body.ae-strengths-new-page #ae-sn-quality {
        padding-bottom: 24px;
    }

    body.ae-strengths-new-page #ae-sn-team {
        padding-top: 24px;
    }

    body.ae-strengths-new-page .ae-sn__quality-note {
        display: block;
        margin-top: 12px;
    }

    body.ae-strengths-new-page .ae-sn__quality-note > summary {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: fit-content;
        max-width: 100%;
        margin-left: auto;
        gap: 8px;
        min-height: 36px;
        color: #064bfa;
        font-size: 12px;
        font-weight: 700;
        list-style: none;
        cursor: pointer;
    }

    body.ae-strengths-new-page
    .ae-sn__quality-note > summary::-webkit-details-marker {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn__quality-note > summary::after {
        content: "＋";
        display: grid;
        place-items: center;
        flex: 0 0 24px;
        height: 24px;
        border: 1px solid #9cbdff;
        border-radius: 50%;
        font-size: 16px;
        line-height: 1;
    }

    body.ae-strengths-new-page
    .ae-sn__quality-note[open] > summary::after {
        content: "−";
    }

    body.ae-strengths-new-page
    .ae-sn__quality-note > summary:focus-visible {
        outline: 2px solid #064bfa;
        outline-offset: 3px;
    }

    body.ae-strengths-new-page
    .ae-sn__quality-note > .ae-sn__detail-note {
        margin: 6px 0 0;
        font-size: clamp(9px, 2.66vw, 11px);
        line-height: 1.6;
        letter-spacing: 0;
    }

    /* 品質管理：スマホ用の短文 */
    body.ae-strengths-new-page
    #ae-sn-quality .ae-sn__quality-full {
        display: none;
    }

    body.ae-strengths-new-page
    #ae-sn-quality .ae-sn__quality-short {
        display: inline;
    }

body.ae-strengths-new-page
#ae-sn-quality .ae-sn__detail-lead {
    font-size: 11px;
    line-height: 1.7;
}

    /* 技術・事例カード */
    body.ae-strengths-new-page .ae-sn__info-card {
        padding: 16px;
    }

    /* 技術紹介：スマホ用の短文 */
    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__technology-full {
        display: none;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__technology-short {
        display: inline;
    }

body.ae-strengths-new-page
#ae-sn-technology .ae-sn__detail-lead {
    font-size: 11px;
    line-height: 1.7;
}

    /* 他ページと共通のウィンドウ風カード */
    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__info-grid {
        gap: 16px;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__info-card {
        padding: 3px 3px 12px;
        border: 2px solid #064bfa;
        border-radius: 0;
        background: #fff;
        box-shadow:
            4px 5px 0 #b0d3ff,
            0 18px 36px #0063ff12;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__step {
        align-self: stretch;
        width: auto;
        margin: 0 0 10px;
        padding: 6px 10px;
        border-radius: 0;
        background: #064bfa;
        color: #fff;
        font-size: 10px;
        line-height: 1.6;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__step::after {
        content: "•••";
        display: block;
        flex: 0 0 auto;
        width: auto;
        height: auto;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: #fff;
        letter-spacing: 3px;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__info-card h3 {
        margin: 0 10px 6px;
        font-size: 15px;
        line-height: 1.5;
    }

    body.ae-strengths-new-page
    #ae-sn-technology .ae-sn__info-card p {
        margin: 0 10px;
        font-size: 13px;
        line-height: 1.7;
    }

    /* 品質カード：左に画像、右にラベル・見出し・本文 */
    body.ae-strengths-new-page .ae-sn__quality-flow {
        gap: 10px;
    }

    body.ae-strengths-new-page .ae-sn__quality-flow > li {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        align-items: start;
        gap: 3px 8px;
        padding: 8px 10px;
        border: 1px solid #c4dcff;
        border-left: 3px solid #3874ff;
        border-radius: 4px 10px 10px 4px;
        background: linear-gradient(
            90deg,
            #f0f6ff 0,
            #f0f6ff 58px,
            #ffffff 58px,
            #ffffff 100%
        );
        box-shadow: 0 2px 6px rgba(6, 75, 250, .04);
    }

    body.ae-strengths-new-page
    .ae-sn__quality-flow > li:not(:last-child)::after {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn__step {
        grid-column: 2;
        grid-row: 1;
        align-self: end;
        width: fit-content;
        margin: 0;
        padding: 3px 7px;
        border-radius: 4px;
        background: #edf4ff;
        color: #064bfa;
        font-size: 10px;
        line-height: 1.4;
    }

    body.ae-strengths-new-page .ae-sn__step::after {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn__quality-art {
        grid-column: 1;
        grid-row: 1 / 4;
        align-self: center;
        height: 48px;
        margin: 0;
        overflow: visible;
    }

    body.ae-strengths-new-page .ae-sn__quality-art > img {
        position: static;
        width: 100%;
        max-width: 100%;
        height: 100%;
        object-fit: contain;
        transform: none;
    }

    body.ae-strengths-new-page .ae-sn__quality-flow > li > h3 {
        grid-column: 2;
        grid-row: 2;
        align-self: start;
        margin: 0;
        font-size: 15px;
        line-height: 1.5;
    }

    body.ae-strengths-new-page .ae-sn__quality-flow > li > p {
        grid-column: 2;
        grid-row: 3;
        margin: 0;
        font-size: clamp(9px, 2.66vw, 11px);
        line-height: 1.6;
        letter-spacing: 0;
    }

    body.ae-strengths-new-page
    :is(.ae-sn__quality-flow, .ae-sn__info-card) h3 {
        margin-bottom: 8px;
        font-size: 16px;
        line-height: 1.6;
    }

    body.ae-strengths-new-page
    :is(
        .ae-sn__quality-flow p,
        .ae-sn__info-card p,
        .ae-sn__case-data dd
    ) {
        font-size: 13px;
        line-height: 1.9;
    }

    /* チーム体制：スマホ用の見出し・説明 */
    body.ae-strengths-new-page #ae-sn-team .ae-sn__team-full {
        display: none;
    }

    body.ae-strengths-new-page #ae-sn-team .ae-sn__team-short {
        display: inline;
    }

body.ae-strengths-new-page #ae-sn-team .ae-sn__detail-lead {
    font-size: 11px;
    line-height: 1.7;
}

    /* 青いパネル内に、3つの白いカードを配置 */
    body.ae-strengths-new-page .ae-sn__team-panel {
        gap: 16px;
        padding: 12px;
        border-radius: 12px;
    }

    body.ae-strengths-new-page .ae-sn__team-points > div {
        margin: 0 0 10px;
        padding: 12px;
        border: 1px solid #d4e2ff;
        border-radius: 8px;
        background: #fff;
    }

    body.ae-strengths-new-page
    .ae-sn__team-points > div:last-child {
        margin-bottom: 0;
    }

    body.ae-strengths-new-page .ae-sn__team-points > div::before {
        display: none;
    }

    body.ae-strengths-new-page .ae-sn__team-points dt {
        color: #080b20;
        font-size: 15px;
        line-height: 1.4;
    }

    body.ae-strengths-new-page .ae-sn__team-points dt > span {
        margin-bottom: 4px;
        padding: 3px 9px;
        border: 1px solid #c4dcff;
        border-radius: 4px;
        background: #edf4ff;
        color: #064bfa;
        font-size: 11px;
        line-height: 1.4;
    }

    body.ae-strengths-new-page .ae-sn__team-points dd {
        margin: 4px 0 0;
        color: #25344b;
        font-size: clamp(9px, 2.66vw, 11px);
        font-weight: 400;
        line-height: 1.6;
        letter-spacing: 0;
    }

    body.ae-strengths-new-page .ae-sn__team-visual > img {
        max-width: 280px;
    }

    /* 開発事例：スマホは1枚ずつ横スライド */
    body.ae-strengths-new-page #ae-sn-cases .ae-sn__info-grid {
        display: grid;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 100%;
        align-items: stretch;
        gap: 16px;
        min-width: 0;
        padding: 4px 0 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    body.ae-strengths-new-page
    #ae-sn-cases .ae-sn__info-grid::-webkit-scrollbar {
        display: none;
    }

    /* 開発事例の操作ボタンはpickup.cssのスマホ共通指定を使用 */

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__info-card {
        min-width: 0;
        padding: 3px 3px 12px;
        border: 2px solid #064bfa;
        border-radius: 0;
        background: #fff;
        box-shadow: 4px 5px 0 #b0d3ff;
        scroll-snap-align: start;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__step {
        display: block;
        align-self: stretch;
        width: auto;
        margin: 0;
        padding: 7px 10px;
        border-radius: 0;
        background: #064bfa;
        color: #fff;
        font-family: var(--font-family-base);
        font-size: 11px;
        line-height: 1.5;
        letter-spacing: 0;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__step::after {
        display: none;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__case-art {
        margin: 0 0 12px;
        padding: 10px;
        border-bottom: 1px solid #d7e5fb;
        background: #f3f8ff;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__case-art img {
        height: 120px;
    }

    body.ae-strengths-new-page
    #ae-sn-cases .ae-sn__case-art figcaption {
        margin-top: 4px;
        font-size: 10px;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__info-card h3 {
        margin: 0 10px 8px;
        font-size: 15px;
        line-height: 1.5;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__case-data {
        margin: 0 10px 12px;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__case-data dt {
        margin: 0 0 4px;
        color: #064bfa;
        font-size: 11px;
        line-height: 1.5;
    }

    body.ae-strengths-new-page #ae-sn-cases .ae-sn__case-data dd {
        font-size: 12px;
        line-height: 1.7;
    }

    body.ae-strengths-new-page
    #ae-sn-cases .ae-sn__case-data dd + dt {
        margin-top: 10px;
    }

    body.ae-strengths-new-page
    #ae-sn-cases .ae-sn__info-card > .ae-sn__back {
        margin-right: 10px;
        margin-left: 10px;
    }

    body.ae-strengths-new-page .ae-sn__flow {
        --flow-size: 100px;
        --flow-gap: 24px;
    }
    body.ae-strengths-new-page .ae-sn__detail h2 {
        margin: 4px 0 0;
    }
}
/* レトロ画面を開いている間だけ、共通MENUを非表示 */
html:has(#ae-sn-retro[open]) .ae-site-menu {
    display: none;
}

/* 上部：レトロ風のタイトルバー */
#ae-sn-retro .ae-sn-retro__bar {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    border-bottom: 2px solid #777;
    background: #0000aa;
    color: #fff;
}

#ae-sn-retro .ae-sn-retro__bar h2 {
    flex: 1;
    min-width: 0;
    max-width: none;
    margin: 0;
    font-family: Arial, "MS PGothic", Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.4;
}

/* 右上：昔のウィンドウ風ボタン */
#ae-sn-retro .ae-sn-retro__bar [data-retro-close] {
    flex: 0 0 auto;
    min-height: 32px;
    margin-left: auto;
    border: 2px solid;
    border-color: #fff #666 #666 #fff;
    border-radius: 0;
    padding: 5px 10px;
    background: #e5e5e5;
    color: #000080;
    box-shadow: 1px 1px 0 #000;
    font-family: Arial, "MS PGothic", Meiryo, sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    cursor: pointer;
}

#ae-sn-retro .ae-sn-retro__bar [data-retro-close]:active {
    border-color: #666 #fff #fff #666;
    box-shadow: none;
}

#ae-sn-retro .ae-sn-retro__bar [data-retro-close]:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

/* 本文：PCは16px */
#ae-sn-retro .ae-retro__section :is(p, li, dt, dd):not(.ae-retro__next-text):not(.ae-retro__next-label) {
    font-size: 16px;
    line-height: 1.8;
}

@media (max-width: 650px) {
    #ae-sn-retro .ae-sn-retro__bar {
        gap: 8px;
        padding: 8px;
    }

    #ae-sn-retro .ae-sn-retro__bar h2 {
        font-size: 12px;
    }

    #ae-sn-retro .ae-sn-retro__bar [data-retro-close] {
        font-size: 11px;
        padding: 5px 8px;
    }

    /* 本文：開発相談のスマホ本文と同じ11px */
    #ae-sn-retro .ae-retro__section :is(p, li, dt, dd):not(.ae-retro__next-text):not(.ae-retro__next-label) {
        font-size: 11px;
        line-height: 1.75;
    }
}
/* 上部バー：昔のWindows風の立体枠 */
#ae-sn-retro .ae-sn-retro__bar {
    gap: 8px;
    padding: 5px 6px;
    border: 3px solid;
    border-color: #fff #666 #666 #fff;
    background: linear-gradient(90deg, #000080, #1084d0);
    box-shadow: 0 1px 0 #000;
}

#ae-sn-retro .ae-sn-retro__bar h2 {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: "MS PGothic", Meiryo, sans-serif;
    font-size: 12px;
    line-height: 1.3;
}

/* 左端の小さなウィンドウアイコン */
#ae-sn-retro .ae-sn-retro__bar h2::before {
    content: "";
    flex: 0 0 14px;
    width: 14px;
    height: 12px;
    border: 1px solid #fff;
    background: linear-gradient(
        to bottom,
        #000080 0 3px,
        #c0c0c0 3px 100%
    );
    box-shadow: 1px 1px 0 #000;
}

#ae-sn-retro .ae-sn-retro__bar [data-retro-close] {
    min-height: 28px;
    padding: 3px 8px;
    background: #c0c0c0;
    color: #000;
    font-size: 11px;
    line-height: 1.3;
}

/* スマホ：本文と余白をコンパクトに */
@media (max-width: 650px) {
    /* 本文：開発相談と同じ11px */
    #ae-sn-retro .ae-retro :is(p, li, dt, dd):not(.ae-retro__next-text):not(.ae-retro__next-label) {
        font-size: 11px;
        line-height: 1.6;
    }

    /* お知らせのリンクも同じサイズ */
    #ae-sn-retro .ae-retro__news-row > a {
        font-size: 11px;
        line-height: 1.6;
    }

    /* 本文の段落間 */
    #ae-sn-retro .ae-retro__section p {
        margin-top: 4px;
        margin-bottom: 4px;
    }

    /* 各項目の上下 */
    #ae-sn-retro .ae-retro__section {
        padding-top: 8px;
        padding-bottom: 10px;
    }

    #ae-sn-retro .ae-retro__section-title {
        margin-bottom: 6px;
    }

    #ae-sn-retro .ae-retro__development-layout {
        gap: 10px;
    }

    /* 上部メニューの上下 */
    #ae-sn-retro .ae-retro__nav a {
        min-height: 32px;
        padding: 4px 8px;
    }

    /* サービス案内ボタンの間隔と内側 */
    #ae-sn-retro .ae-retro__service-buttons {
        margin-top: 6px;
        gap: 5px;
    }

    #ae-sn-retro .ae-retro__service-buttons a {
        padding: 4px;
        font-size: 11px;
        line-height: 1.5;
    }

    #ae-sn-retro .ae-retro__news-row {
        padding-top: 5px;
        padding-bottom: 5px;
    }
}
@media (max-width: 650px) {
    /* 黄色部分：小見出しを少し小さく、上下も詰める */
    #ae-sn-retro .ae-retro__cards h4 span {
        font-size: 13px;
        line-height: 1.35;
        padding: 7px 8px;
    }

    /* カード同士の間隔：12px → 8px */
    #ae-sn-retro .ae-retro__cards {
        gap: 8px;
    }

    /* 本文の行間・枠線との間隔 */
    #ae-sn-retro .ae-retro__section .ae-retro__cards article > p {
        margin: 0;
        padding: 7px 8px 7px 0;
        font-size: 11px;
        line-height: 1.5;
    }

    /* 画像の上下余白：14px → 7px */
    #ae-sn-retro .ae-retro__cards h4 .ae-retro__support-icon {
        margin: 7px auto;
    }
}