.ga-case-detail {
    --ga-case-blue: #15b9f5;
    --ga-case-blue-dark: #33a4ce;
    --ga-case-ink: #121212;
    --ga-case-muted: #e3eaec;
    --ga-case-line: #e4e4e4;
    background: #fff;
    color: var(--ga-case-ink);
    font-family: "Noto Sans JP", sans-serif;
    /* E01: shared 46px + this 56px = 102px at 1440px */
    /* 1440px: 56px / 1920px: 74.667px */
    margin-bottom: clamp(6px, 3.888889vw, 74.667px);
    overflow: hidden;
}

body.single-case .ga-case-detail + * {
    margin-top: clamp(24px, calc(2.5806vw + 2.8387px), 40px);
}

#fixed_side_banner,
[id^="fixed_side_banner"],
.ga-sidebanner,
[class*="fixed_side_"] {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.ga-case-detail *,
.ga-case-detail *::before,
.ga-case-detail *::after {
    box-sizing: border-box;
}

.ga-case-detail a {
    color: inherit;
    text-decoration: none;
}

.ga-case-detail img {
    display: block;
    max-width: 100%;
}

.ga-case-detail figure,
.ga-case-detail h1,
.ga-case-detail h2,
.ga-case-detail h3,
.ga-case-detail p,
.ga-case-detail dl,
.ga-case-detail dd,
.ga-case-detail ol,
.ga-case-detail ul {
    margin: 0;
}

.ga-case-detail ol,
.ga-case-detail ul {
    list-style: none;
    padding: 0;
}

.ga-case-detail__inner {
    margin-inline: auto;
    max-width: 1440px;
    /* 820pxのSP値から1440pxのPC値まで滑らかに変化 */
    padding-top: clamp(96px, calc(19.3548vw - 62.7097px), 216px);
}

.ga-case-detail__eyebrow {
    align-items: center;
    color: #313131;
    display: flex;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: clamp(15px, calc(0.8065vw + 8.3871px), 20px);
    font-style: normal;
    font-weight: 400;
    gap: clamp(8px, calc(0.3226vw + 5.3548px), 10px);
    letter-spacing: 1px;
    line-height: 18px;
    padding: 0 max(clamp(20px, 2.7778vw, 40px), calc((100% - 1280px) / 2)) clamp(18px, calc(1.129vw + 8.7419px), 25px);
    position: relative;
    width: 100%;
}

.ga-case-detail__eyebrow::after {
    background: #e6e6e6;
    bottom: 0;
    content: "";
    height: 1px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 100vw;
}

.ga-case-detail__eyebrow-icon {
    display: block;
    flex: 0 0 19px;
    height: 19px;
    width: 19px;
}

.ga-case-detail__eyebrow-icon svg {
    display: block;
    height: 19px;
    width: 19px;
}

.ga-case-detail__breadcrumb {
    margin: 12px auto 0;
    max-width: 1280px;
    width: min(calc(100% - clamp(40px, 5.5556vw, 80px)), 1280px);
}

.ga-case-detail__breadcrumb-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: flex-end;
}

.ga-case-detail__breadcrumb-list li {
    align-items: center;
    color: #313131;
    display: flex;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 13px;
}

.ga-case-detail__breadcrumb-list li + li::before {
    background: #15b9f5;
    border-radius: 50%;
    content: "";
    height: 4px;
    margin-right: 15px;
    width: 4px;
}

.ga-case-detail__article {
    margin-inline: auto;
    max-width: 1280px;
    width: min(calc(100% - clamp(40px, 5.5556vw, 80px)), 1280px);
}

.ga-case-detail__header {
    margin-top: clamp(48px, calc(6.129vw - 2.2581px), 86px);
}

.ga-case-detail__title {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(26px, calc(1.9355vw + 10.129px), 38px);
    font-style: normal;
    font-weight: 700;
    line-height: clamp(35.1px, calc(0.4677vw + 31.2645px), 38px);
}

.ga-case-detail .ga-case-detail__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: clamp(18px, calc(1.6129vw + 4.7742px), 28px);
}

.ga-case-detail__category {
    align-items: center;
    border: 1px solid var(--ga-case-line);
    border-radius: 20px;
    color: var(--ga-case-blue);
    display: inline-flex;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    gap: 10px;
    justify-content: center;
    letter-spacing: 0.65px;
    line-height: 16px;
    padding: 5px 8px 7px;
}

.ga-case-detail__gallery {
    display: grid;
    gap: clamp(8px, calc(2.5806vw - 13.1613px), 24px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* 1440px: 68px / 1920px: 90.667px */
    margin-top: clamp(40px, 4.722222vw, 90.667px);
}

.ga-case-detail__gallery-item {
    aspect-ratio: 87 / 55;
    background: lightgray;
    overflow: hidden;
}

.ga-case-detail__gallery-item img {
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
}

.ga-case-detail__overview {
    display: grid;
    grid-template-columns: 190px minmax(0, 920px);
    margin-top: clamp(48px, calc(9.6774vw - 31.3548px), 108px);
}

.ga-case-detail__section-title {
    color: var(--ga-case-blue);
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(22px, calc(0.6452vw + 16.7097px), 26px);
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1.3px;
    line-height: clamp(27px, calc(-0.4355vw + 33.271px), 29.7px);
}

.ga-case-detail__overview-text {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(15px, calc(0.1613vw + 13.6774px), 16px);
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.48px;
    line-height: 27px;
    margin-top: 0;
    max-width: 920px;
}

.ga-case-detail__overview-text p + p,
.ga-case-detail__data-row dd p + p,
.ga-case-detail__episode-text p + p {
    margin-top: 1em;
}

.ga-case-detail__data {
    align-items: start;
    display: grid;
    grid-template-columns: 190px minmax(0, 920px);
    /* 1440px: 93px / 1920px: 124px */
    margin-top: clamp(48px, 6.458333vw, 124px);
}

.ga-case-detail__section-title--en {
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
}

.ga-case-detail__data .ga-case-detail__section-title {
    color: #15b9f5;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 20px;
}

.ga-case-detail__data-list {
    margin-left: 0;
    margin-top: 6px;
    max-width: 920px;
    width: 100%;
}

.ga-case-detail__data-row {
    align-items: center;
    border-top: 1px solid var(--ga-case-line);
    display: grid;
    gap: clamp(16px, calc(3.2258vw - 10.4516px), 36px);
    grid-template-columns: 142px minmax(0, 1fr);
    padding: clamp(20px, calc(0.9677vw + 12.0645px), 26px) 0;
}

.ga-case-detail__data-row:last-child {
    border-bottom: 1px solid var(--ga-case-line);
}

.ga-case-detail__data-row dt {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.7px;
    line-height: 14px;
}

.ga-case-detail__data-row dd {
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.42px;
}

.ga-case-detail__data-row--challenges dd,
.ga-case-detail__data-row--features dd {
    font-family: "Noto Sans JP", sans-serif;
    line-height: 24px;
}

.ga-case-detail__data-row--challenges {
    min-height: 132px;
}

.ga-case-detail__data-row--equipment {
    min-height: 77px;
    padding-block: 22px;
}

.ga-case-detail__data-row--features {
    min-height: 135px;
}

.ga-case-detail__data-row--duration dd {
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    line-height: 14px;
}

.ga-case-detail__data-row--duration {
    min-height: 77px;
}

.ga-case-detail__equipment-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}

.ga-case-detail .ga-case-detail__equipment-list .ga-case-detail__equipment-item {
    align-items: center;
    background-color: #e3eaec;
    border: 1px solid #bccace;
    border-radius: 6px;
    color: #000;
    display: inline-flex;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    gap: 10px;
    justify-content: center;
    letter-spacing: 0.42px;
    line-height: 14px;
    padding: 7px 10px 9px;
}

.ga-case-detail__lower {
    background: var(--ga-case-muted);
    margin-left: calc(50% - 50vw);
    /* 1440px: 103px / 1920px: 137.333px */
    margin-top: clamp(64px, 7.152778vw, 137.333px);
    padding: clamp(56px, calc(3.871vw + 24.2581px), 80px) max(clamp(20px, 2.7778vw, 40px), calc((100vw - 1280px) / 2)) clamp(56px, calc(7.0968vw - 2.1935px), 100px);
    width: 100vw;
}

.ga-case-detail__episode,
.ga-case-detail__staff,
.ga-case-detail__post-nav {
    margin-inline: auto;
    max-width: 1280px;
}

.ga-case-detail__episode > .ga-case-detail__section-title {
    align-items: center;
    border-left: 6px solid var(--ga-case-blue);
    color: #000;
    display: flex;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: clamp(24px, calc(0.9677vw + 16.0645px), 30px);
    font-style: normal;
    font-weight: 500;
    height: 43px;
    letter-spacing: 1.5px;
    line-height: clamp(27px, calc(-0.2903vw + 31.1806px), 28.8px);
    padding-left: 15px;
}

.ga-case-detail__episode-body {
    margin-top: clamp(56px, calc(10.3226vw - 28.6452px), 120px);
    max-width: 920px;
    margin-inline: auto;
}

.ga-case-detail__episode-block + .ga-case-detail__episode-block {
    /* 1440px: 90px / 1920px: 120px */
    margin-top: clamp(56px, 6.25vw, 120px);
}

.ga-case-detail__episode-heading {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(20px, calc(0.9677vw + 12.0645px), 26px);
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.78px;
    line-height: clamp(27px, calc(-0.4839vw + 33.9677px), 30px);
}

.ga-case-detail__episode-text {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0.45px;
    line-height: 29px;
    margin-top: clamp(20px, calc(1.6129vw + 6.7742px), 30px);
}

.ga-case-detail__episode-text p + p {
    margin-top: clamp(20px, calc(1.6129vw + 6.7742px), 30px);
}

.ga-case-detail__episode-images {
    display: grid;
    gap: clamp(16px, calc(1.2903vw + 5.4194px), 24px);
    margin-top: clamp(36px, calc(8.7097vw - 35.4194px), 90px);
}

.ga-case-detail__episode-image {
    aspect-ratio: 672 / 425;
    margin-inline: auto;
    max-width: 672px;
    overflow: hidden;
    width: 100%;
}

.ga-case-detail__episode-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

@media screen and (min-width: 1280px) {
    .ga-case-detail__episode-image {
        /* 1440px: 672px / 1920px: 896px */
        max-width: none;
        width: clamp(672px, 46.666667vw, 896px);
    }
}

.ga-case-detail__staff {
    background: #fff;
    height: auto;
    margin-top: clamp(64px, calc(9.0323vw - 10.0645px), 120px);
    min-height: 211px;
    padding: clamp(56px, calc(0.6452vw + 50.7097px), 60px) clamp(16px, calc(2.2581vw - 2.5161px), 30px) clamp(24px, calc(0.9677vw + 16.0645px), 30px);
    position: relative;
    width: 100%;
}

.ga-case-detail__staff-title {
    align-items: center;
    background: var(--ga-case-blue-dark);
    border-radius: 0 0 10px 0;
    color: #fff;
    display: flex;
    font-size: clamp(14px, calc(0.3226vw + 11.3548px), 16px);
    font-weight: 700;
    height: 41px;
    left: 0;
    line-height: 1;
    padding-inline: 20px;
    position: absolute;
    top: 0;
    white-space: nowrap;
    width: 232px;
}

.ga-case-detail__staff-link {
    align-items: center;
    display: flex;
    gap: clamp(16px, calc(2.2581vw - 2.5161px), 30px);
}

.ga-case-detail__staff-image {
    flex: 0 0 130px;
    height: 121px;
    overflow: hidden;
    width: 130px;
}

.ga-case-detail__staff-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.ga-case-detail__staff-content {
    align-items: center;
    display: grid;
    gap: 16px 12px;
    grid-template-columns: max-content minmax(0, 1fr);
    min-width: 0;
    width: 100%;
}

.ga-case-detail__staff-name {
    color: #000;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: clamp(16px, calc(0.3226vw + 13.3548px), 18px);
    font-style: normal;
    font-weight: 500;
    grid-column: 1 / -1;
    line-height: 16px;
}

.ga-case-detail__staff-position {
    align-items: center;
    border: 1px solid var(--ga-case-line);
    color: #000;
    display: inline-flex;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: clamp(13px, calc(0.4839vw + 9.0323px), 16px);
    font-style: normal;
    font-weight: 500;
    justify-content: center;
    line-height: 16px;
    min-height: 32px;
    min-width: 64px;
    padding: 7px 8px;
    white-space: nowrap;
    width: auto;
}

.ga-case-detail__staff-introduction {
    color: #000;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: clamp(12px, calc(0.6452vw + 6.7097px), 16px);
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
}

.ga-case-detail__post-nav {
    align-items: center;
    display: grid;
    gap: clamp(10px, calc(3.2258vw - 16.4516px), 30px);
    grid-template-columns: 154px minmax(0, 1fr) 154px;
    margin-top: clamp(56px, calc(3.871vw + 24.2581px), 80px);
}

.ga-case-detail__post-nav-item {
    min-height: 60px;
}

.ga-case-detail__post-nav-item a {
    align-items: center;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #000;
    display: flex;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: clamp(14px, calc(0.3226vw + 11.3548px), 16px);
    font-style: normal;
    font-weight: 500;
    height: 60px;
    line-height: 16px;
    padding: 10px;
    position: relative;
    width: 154px;
}

.ga-case-detail__post-nav-arrow {
    background-color: var(--ga-case-blue);
    border-radius: 5px;
    height: 40px;
    overflow: hidden;
    position: absolute;
    top: 9px;
    width: 40px;
}

.ga-case-detail__post-nav-arrow-icon {
    align-items: center;
    display: flex;
    height: 40px;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 40px;
}

.ga-case-detail__post-nav-arrow-icon svg {
    fill: none;
    height: 12px;
    overflow: visible;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    width: 13px;
}

.ga-case-detail__post-nav-item--previous a {
    justify-content: flex-end;
    padding-right: 15px;
}

.ga-case-detail__post-nav-item--previous .ga-case-detail__post-nav-arrow {
    left: 9px;
}

.ga-case-detail__post-nav-item--previous .ga-case-detail__post-nav-arrow-icon--incoming {
    transform: translateX(100%);
}

.ga-case-detail__post-nav-item--next a {
    justify-content: flex-start;
    padding-left: 15px;
}

.ga-case-detail__post-nav-item--next .ga-case-detail__post-nav-arrow {
    right: 9px;
}

.ga-case-detail__post-nav-item--next .ga-case-detail__post-nav-arrow-icon--incoming {
    transform: translateX(-100%);
}

@media (hover: hover) and (pointer: fine) {
    .ga-case-detail__post-nav-item--previous a:hover .ga-case-detail__post-nav-arrow-icon--current,
    .ga-case-detail__post-nav-item--previous a:focus-visible .ga-case-detail__post-nav-arrow-icon--current {
        animation: ga-case-arrow-out-left 0.6s cubic-bezier(0.45, 0, 0.55, 1) both;
    }

    .ga-case-detail__post-nav-item--previous a:hover .ga-case-detail__post-nav-arrow-icon--incoming,
    .ga-case-detail__post-nav-item--previous a:focus-visible .ga-case-detail__post-nav-arrow-icon--incoming {
        animation: ga-case-arrow-in-from-right 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0.2s both;
    }

    .ga-case-detail__post-nav-item--next a:hover .ga-case-detail__post-nav-arrow-icon--current,
    .ga-case-detail__post-nav-item--next a:focus-visible .ga-case-detail__post-nav-arrow-icon--current {
        animation: ga-case-arrow-out-right 0.6s cubic-bezier(0.45, 0, 0.55, 1) both;
    }

    .ga-case-detail__post-nav-item--next a:hover .ga-case-detail__post-nav-arrow-icon--incoming,
    .ga-case-detail__post-nav-item--next a:focus-visible .ga-case-detail__post-nav-arrow-icon--incoming {
        animation: ga-case-arrow-in-from-left 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0.2s both;
    }
}

@keyframes ga-case-arrow-out-left {
    from { transform: translateX(0); }
    to { transform: translateX(-100%); }
}

@keyframes ga-case-arrow-in-from-right {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

@keyframes ga-case-arrow-out-right {
    from { transform: translateX(0); }
    to { transform: translateX(100%); }
}

@keyframes ga-case-arrow-in-from-left {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .ga-case-detail__post-nav-arrow-icon {
        animation: none;
    }
}

.ga-case-detail__archive-link {
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: clamp(13px, calc(0.4839vw + 9.0323px), 16px);
    font-style: normal;
    font-weight: 500;
    justify-self: center;
    line-height: 13px;
    text-align: center;
    text-decoration-line: underline;
    text-decoration-skip-ink: auto;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
    text-underline-position: from-font;
}

/* ===== Case detail: smartphone ===== */
@media screen and (max-width: 767px) {
    .ga-case-detail {
        margin-bottom: 6px;
    }

    body.single-case .ga-case-detail + * {
        margin-top: 24px;
    }

    .ga-case-detail__inner {
        max-width: none;
        padding-top: 96px;
    }

    .ga-case-detail__eyebrow {
        font-size: 15px;
        gap: 8px;
        line-height: 18px;
        padding: 0 clamp(20px, 2.7778vw, 40px) 18px;
    }

    .ga-case-detail__eyebrow-icon,
    .ga-case-detail__eyebrow-icon svg {
        flex-basis: 16px;
        height: 16px;
        width: 16px;
    }

    .ga-case-detail__breadcrumb {
        margin-top: 12px;
        max-width: none;
        overflow: hidden;
        width: min(calc(100% - clamp(40px, 5.5556vw, 80px)), 1280px);
    }

    .ga-case-detail__breadcrumb-list {
        column-gap: 8px;
        flex-wrap: wrap;
        justify-content: flex-start;
        min-width: 0;
        row-gap: 8px;
    }

    .ga-case-detail__breadcrumb-list li {
        flex: 0 0 auto;
        font-size: 15px;
        line-height: 16px;
    }

    .ga-case-detail__breadcrumb-list li + li::before {
        height: 3px;
        margin-right: 8px;
        width: 3px;
    }

    .ga-case-detail__breadcrumb-list li:last-child {
        align-items: flex-start;
        flex: 0 1 auto;
        line-height: 1.6;
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .ga-case-detail__breadcrumb-list li:last-child::before {
        flex: 0 0 3px;
        margin-top: 10.5px;
    }

    .ga-case-detail__article {
        max-width: none;
        width: min(calc(100% - clamp(40px, 5.5556vw, 80px)), 1280px);
    }

    .ga-case-detail__header {
        margin-top: 48px;
    }

    .ga-case-detail__title {
        font-size: 26px;
        letter-spacing: 0.02em;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    .ga-case-detail .ga-case-detail__categories {
        margin-top: 18px;
    }

    .ga-case-detail__category {
        font-size: 12px;
        line-height: 15px;
        padding: 5px 8px 6px;
    }

    .ga-case-detail__gallery {
        gap: 8px;
        margin-top: 40px;
    }

    .ga-case-detail__overview {
        display: block;
        margin-top: 48px;
    }

    .ga-case-detail__section-title {
        font-size: 22px;
        letter-spacing: 0.05em;
        line-height: 1.35;
    }

    .ga-case-detail__overview-text {
        font-size: 15px;
        letter-spacing: 0.03em;
        line-height: 1.8;
        margin-top: 20px;
        max-width: none;
    }

    .ga-case-detail__data {
        display: block;
        margin-top: 48px;
    }

    .ga-case-detail__data .ga-case-detail__section-title {
        font-size: 20px;
        line-height: 1;
    }

    .ga-case-detail__data-list {
        margin-top: 28px;
        max-width: none;
    }

    .ga-case-detail__data-row,
    .ga-case-detail__data-row--challenges,
    .ga-case-detail__data-row--equipment,
    .ga-case-detail__data-row--features,
    .ga-case-detail__data-row--duration {
        gap: 16px;
        grid-template-columns: 88px minmax(0, 1fr);
        min-height: 0;
        padding: 20px 0;
    }

    .ga-case-detail__data-row dt {
        font-size: 15px;
        letter-spacing: 0.04em;
        line-height: 1.5;
    }

    .ga-case-detail__data-row dd,
    .ga-case-detail__data-row--challenges dd,
    .ga-case-detail__data-row--features dd,
    .ga-case-detail__data-row--duration dd {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 15px;
        letter-spacing: 0.03em;
        line-height: 1.8;
        min-width: 0;
    }

    .ga-case-detail__equipment-list {
        gap: 8px;
    }

    .ga-case-detail .ga-case-detail__equipment-list .ga-case-detail__equipment-item {
        font-size: 12px;
        line-height: 14px;
        padding: 7px 9px 8px;
    }

    .ga-case-detail__lower {
        margin-top: 64px;
        padding: 56px clamp(20px, 2.7778vw, 40px) 56px;
    }

    .ga-case-detail__episode,
    .ga-case-detail__staff,
    .ga-case-detail__post-nav {
        max-width: none;
    }

    .ga-case-detail__episode > .ga-case-detail__section-title {
        border-left-width: 4px;
        font-size: 24px;
        height: auto;
        line-height: 1.2;
        min-height: 36px;
        padding-left: 12px;
    }

    .ga-case-detail__episode-body {
        margin-top: 56px;
        max-width: none;
    }

    .ga-case-detail__episode-block + .ga-case-detail__episode-block {
        margin-top: 56px;
    }

    .ga-case-detail__episode-heading {
        font-size: 20px;
        letter-spacing: 0.03em;
        line-height: 1.5;
    }

    .ga-case-detail__episode-text {
        font-size: 15px;
        letter-spacing: 0.03em;
        line-height: 1.9;
        margin-top: 20px;
    }

    .ga-case-detail__episode-text p + p {
        margin-top: 20px;
    }

    .ga-case-detail__episode-images {
        gap: 16px;
        margin-top: 36px;
    }

    .ga-case-detail__episode-image {
        max-width: none;
    }

    .ga-case-detail__staff {
        height: auto;
        margin-top: 64px;
        min-height: 196px;
        padding: 56px 16px 24px;
    }

    .ga-case-detail__staff-title {
        font-size: 14px;
        height: 38px;
        padding-inline: 16px;
        width: 210px;
    }

    .ga-case-detail__staff-link {
        align-items: start;
        display: grid;
        gap: 16px;
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .ga-case-detail__staff-image {
        flex-basis: 96px;
        height: 96px;
        width: 96px;
    }

    .ga-case-detail__staff-content {
        display: block;
        min-width: 0;
    }

    .ga-case-detail__staff-name {
        font-size: 16px;
        line-height: 1.4;
        margin-bottom: 10px;
    }

    .ga-case-detail__staff-position {
        font-size: 13px;
        height: auto;
        line-height: 1.4;
        max-width: 100%;
        min-height: 28px;
        min-width: 56px;
        padding: 5px 8px;
        white-space: normal;
        width: auto;
    }

    .ga-case-detail__staff-introduction {
        font-family: "Noto Sans JP", sans-serif;
        font-size: 15px;
        font-weight: 400;
        line-height: 1.7;
        margin-top: 12px;
        min-width: 0;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .ga-case-detail__post-nav {
        gap: 10px;
        grid-template-columns: 112px minmax(0, 1fr) 112px;
        margin-top: 56px;
    }

    .ga-case-detail__post-nav-item {
        min-height: 52px;
    }

    .ga-case-detail__post-nav-item a {
        font-size: 14px;
        height: 52px;
        line-height: 14px;
        padding: 9px;
        width: 112px;
    }

    .ga-case-detail__post-nav-arrow {
        height: 32px;
        top: 9px;
        width: 32px;
    }

    .ga-case-detail__post-nav-arrow-icon {
        height: 32px;
        width: 32px;
    }

    .ga-case-detail__post-nav-item--previous .ga-case-detail__post-nav-arrow {
        left: 9px;
    }

    .ga-case-detail__post-nav-item--previous a {
        padding-right: 12px;
    }

    .ga-case-detail__post-nav-item--next .ga-case-detail__post-nav-arrow {
        right: 9px;
    }

    .ga-case-detail__post-nav-item--next a {
        padding-left: 12px;
    }

    .ga-case-detail__archive-link {
        font-size: 13px;
        line-height: 1.3;
    }
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
    .ga-case-detail__breadcrumb-list li,
    .ga-case-detail__data-row dt,
    .ga-case-detail__data-row dd,
    .ga-case-detail__data-row--challenges dd,
    .ga-case-detail__data-row--features dd,
    .ga-case-detail__data-row--duration dd,
    .ga-case-detail__staff-introduction {
        font-size: 15px;
    }
}

@media screen and (max-width: 380px) {
    .ga-case-detail__post-nav {
        grid-template-columns: 104px minmax(0, 1fr) 104px;
    }

    .ga-case-detail__post-nav-item a {
        width: 104px;
    }
}
