:root {
    --graph1-color: #0072b2;
    --graph2-color: #e69f00;
    --graph3-color: #009e73;
    --graph4-color: #cc79a3;
    --graph5-color: #cbf266;
    --graph6-color: #edc18f;
    --graph7-color: #ffd1d1;
    --graph8-color: #b4ebfa;
    --graph9-color: #7f878f;
    --graph-arrow-color: #ff9900;
    --graph-bg-color: #f2f9ff;
    --graph-frame-color: #c3d8ec;
}

#breadcrumb div,
#inner-content-area {
    max-width: var(--max-width2);
    width: auto;
    margin: 0 auto;
}
#breadcrumb a:last-child{
    pointer-events:none;
}

#breadcrumb a:last-child::after{
    display:none;
}


.section {
    margin-bottom: 60px;
}

.section_in {
    margin-bottom: 50px;
}

#leftNav2 {
    grid-area: leftNav;
}

#rightContent {
    grid-area: rightContent;
    width: 100%;
    min-width: 0;
    padding: 0;
}

.teiden-alert #inner-content-area {
    margin-top: 0;
}

@scope(#content) {
    :scope#content {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
        grid-template-areas: "rightContent""leftNav";

        --font-sizeM: 14px;
        --font-sizeL: calc(var(--font-sizeM) * 1.142);
        --font-sizeS: calc(var(--font-sizeM) * 0.86);
        --font-sizeXL: calc(var(--font-sizeM) * 1.285);
        --contents-color1: #4378c4;
        --contents-color2: #d3e0f1;
        --contents-color3: #f2f2f2;
        --span: 2em;
    }

    .inner {
        max-width: 100%;
    }

    * {
        font-family: var(--main-font-family) !important;
        box-sizing: border-box;
    }

    img {
        vertical-align: middle;
    }

    @scope(.adjust-height) {
        :scope {
            align-items: stretch;
        }

        @media screen and (min-width:50em) {
            :scope>figure {
                flex: 1;
                margin: 0;
                display: flex;
                flex-direction: column;
                background-color: var(--contents-color3);
                padding: 1em 2em;
                margin: 1em;
            }



            :scope figure>div,
            :scope figure>div>div,
            :scope figure>img {
                flex-grow: 1;
                max-height: 250px;
                display: flex;
            }

            :scope figure>div>div {
                flex: 1;
            }

            :scope img {
                width: 100%;
                height: 100%;
                max-height: 100%;
                object-fit: contain;
            }
        }

    }

    .midashi4 {
        font-size: var(--font-sizeL);
        border-bottom: solid 1px #dddddd;
        padding-bottom: .5em;
        margin-bottom: 1em;
    }

    .list_dot .item {
        text-indent: -1em;
        padding-left: 1em;
        margin-bottom: .5em;
    }

    .list_dot .item::before {
        content: "";
        display: inline-block;
        aspect-ratio: 1/1;
        vertical-align: middle;
        background: var(--category-color);
        width: .5em;
        border-radius: 50%;
        margin-right: .5em;
    }

    .note {
        display: flex;
        justify-content: flex-end;
        text-indent: -1em;
        padding-left: 1em;
    }

    @keyframes spin {
        to {
            transform: rotate(360deg);
        }
    }


    @scope(.button-type1) {

        :scope {
            display: inline-block;
            background-color: #4279c5 !important;

            padding: 1em 2em !important;
            color: #ffffff;
            font-weight: bold;
            border-radius: 6px;
            box-shadow: 0 0 10px rgba(0, 0, 0, .3);
            text-align: center;
            font-size: 116%;
            line-height: 1.3;
        }

        .filesize {
            font-weight: normal;
            font-size: smaller;
        }

        :scope[href*=".pdf"] {
            display: inline-grid;
            grid-template-columns: auto 1.5em;
            background-image: none;
            align-items: center;
            grid-template-areas:
                "title icon"
                "font-size icon";
            grid-gap: .25em;
        }
    }

    .button-type1::after {
        content: url("/share/images/icon_pdf_s.gif");
        grid-area: icon;
        display: inline-block;
        width: 100%;
    }

    @scope(#contents-list .bg) {
        :scope {
            background: #f8f8f8;
        }
    }

    @scope (.grid-list) {
        :scope {
            display: grid;
            grid-gap: 1.5em;
            padding: 1em;
            grid-template-rows: max-content 1fr;
            margin-top: 1em;
            grid-template-columns: repeat(auto-fill, minmax(var(--box-size, 10em), 1fr));
            background-color: var(--background-color, #f4f4f4);
        }

        @media screen and (min-width: 20em) {
            :scope {
                --box-size: 20em;
                padding: 3em 2em;
            }
        }

        @media screen and (min-width:82em) {
            :scope {
                --box-size: 21em;
            }
        }

        :scope .item {
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center center;
            display: contents;
            font-size: var(--font-sizeM);
        }

        :scope .item .card {
            position: relative;
            display: grid;
            background: #ffffff;
            overflow: hidden;
            border-radius: 4px;
            grid-template-rows: auto 1fr;
            box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
        }

        :scope .item .card:hover {
            text-decoration: none;
            opacity: .8;
        }

        :scope .item .card .image {
            aspect-ratio: 604/375;
            display: block;
            overflow: hidden;
            grid-row: 1;
            position: relative;
            border-radius: 4px;
        }

        :scope .item .card .image img {
            object-fit: cover;
            width: 100%;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
        }

        :scope .item .card .text {
            line-height: 1.2;
            display: block;
            color: #383838;
            padding: 1em 1.25em 2em;
            margin-top: .25em;
            bottom: 0;
            grid-row: 2;
            background: #ffffff;
        }

        :scope .item .card .text .title {
            font-weight: bold;
            margin: .5em 0 .25em !important;
            font-size: var(--font-sizeL);
            padding-bottom: .25em;
            word-break: keep-all;
            overflow-wrap: anywhere;
        }

        :scope .item .card .text .outline {
            line-height: 1.5;
            font-size: 96%;
        }

        :scope .badge {
            position: relative;
            bottom: -.5em;
            padding: .5em 1em;
            display: inline-block;
            background: #4279c5cf;
            color: #ffffff;
            line-height: 1;
            font-weight: bold;
        }

    }

    @scope (.related-link) {
        @scope (.grid-list) {
            :scope {
                grid-template-columns: repeat(auto-fill, minmax(17em, 1fr));
                padding: 0;
                --background-color: transparent;
            }

            :scope {
                margin-bottom: .5em !important;
                font-weight: bold;
                font-size: 116%;
                color: #4f4f4f;
                padding-top: .5em;
            }

            .item .card {
                border: solid 1px #acacac;
                box-shadow: none !important;
            }

            :scope .text {
                font-size: 80%;

            }
        }
    }

    @media screen and (min-width:980px) {

        :scope#content {
            --font-sizeM: clamp(11px, 1.17vw, 14px);
            grid-template-columns: 200px 1fr;
            grid-template-areas: "leftNav rightContent";
        }
    }

    @scope(main[data-page^="article"]) {
        :scope {
            --midashi2-background-color: rgba(255, 255, 255, .95);
            font-size: calc(var(--font-sizeM) * 1.1);
        }

        @media(orientation: portrait) {
            .midashi2-wrapper {
                aspect-ratio: auto;
            }
        }


        .midashi2-type2 {
            line-height: 1.2;
            background: linear-gradient(90deg, var(--contents-color1) 50%, rgb(141 160 185 / 83%) 100%), var(--background-image);
            background-size: cover;
            background-position: center;
            align-items: center;
            mix-blend-mode: multiply;
            --padding: clamp(20px, 2.8vw, 36px);
            border-radius: 6px;
        }

        .midashi2-type2 span {
            border: solid 1px #ffffff;
            display: block;
            padding: clamp(1em, 2vw, 3em);
            font-size: calc(var(--padding) * .8);
            color: #fff;
        }




        @scope(article) {
            :scope {
                margin: 3em auto 3em;
            }

            .midashi3 {
                background: none;
                margin-bottom: 1em;
                font-size: clamp(20px, 2vw, 30px);
                padding: 0;
                line-height: 1.3;
            }

            .midashi3::before {
                display: none;

            }

            figcaption {
                font-weight: bold;
                margin: .25em 0;
            }

            figure img {
                max-height: 100%;
            }

            figure.is-portrait img {
                width: auto;
                max-height: 360px;
            }
        }


        @scope(.interviewee) {
            :scope {
                display: grid;
                max-width: 65em;
                align-items: flex-start;
                grid-gap: 0 2em;
                margin: 0 auto;
                grid-template-columns: 1fr;
                grid-template-rows: auto auto;
            }

            figure img {
                max-width: 100%;
                height: 100%;
                max-height: 10em;
                aspect-ratio: 1/1;
                clip-path: circle(50%);
                object-fit: cover;
                grid-column: 1;
                grid-row: 1;
            }

            figcaption {
                line-height: 1.3;
                margin-top: 1em;
                font-size: var(--font-sizeS);
            }

            .portrait {
                min-width: max-content;
                margin: 0 auto;
            }

            .portrait figure {
                text-align: center;
            }

            .portrait figcaption {
                text-align: left;
            }

            .portrait figcaption .name {
                font-size: larger;

                font-weight: bold;
            }

            .comment {
                flex: 1 1 35em;
                background-color: var(--contents-color2);
                padding: clamp(1em, 2.2vw, 2em);
                border-radius: 10px;
                position: relative;
                margin-bottom: 1em;
            }

            .comment::before {
                content: "";
                display: inline-block;
                position: absolute;
                background: var(--contents-color2);
                width: 2em;
                height: 1em;
                top: -1em;
                left: calc(50% - 2em);
                clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0);
            }

            @media screen and (min-width:45em) {
                .comment::before {
                    top: 1.5em;
                    left: -2em;
                    width: 2em;
                    height: 2em;
                    clip-path: polygon(0 50%, 100% 5%, 100% 95%, 0 50%);
                }
                :scope{
                    grid-template-columns:max-content 1fr;
                }
            }
        }

    }

    @scope(.other-article) {
        .grid-list {
            grid-gap: .5em !important;
        }

        .item a {
            padding: .5em;
        }

        .current a {
            pointer-events: none;
            color: #333333;
            font-weight: bold;
        }

        .current a::after {
            border-color: transparent;
        }
    }

    @scope(main[data-page="topics"]) {


        .bar-curr-full-forecast {
            fill-opacity: 0;
            stroke: var(--bar-forecast-stroke);
            stroke-width: var(--bar-forecast-stroke-width);
            stroke-dasharray: var(--bar-forecast-dash);
        }


        .annual-topics {
            position: relative;
            margin-bottom: 5em;
        }

        .monthly-topics {
            position: relative;
            display: grid;
            grid-template-columns: max-content 1fr;
            align-items: start;
            grid-gap: 0 var(--span);
            --month-font-size: clamp(10px, 1.3vw, 18px);
            --month-padding: 1em;
        }

        .monthly-topics:nth-last-of-type(1)::after {
            content: "";
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            --arrow-size: clamp(10px, 2vw, 14px);
            border-right: var(--arrow-size) solid transparent;
            border-left: var(--arrow-size) solid transparent;
            border-top: var(--arrow-size) solid var(--contents-color1);
            border-bottom: 0;
            position: relative;
            left: 50%;
            margin-left: calc(var(--arrow-size) * -1);
        }

        .month {
            grid-column: 1;
            align-self: start;
            position: relative;
            z-index: 2;
            grid-row: 1/-1;
            height: 100%;
        }

        .month .month-inner {
            display: flex;
            justify-content: center;
            align-items: center;
            aspect-ratio: 1/1;
            background-color: var(--contents-color1);
            border-radius: 50%;
            background-image: linear-gradient(90deg, #3e67a0 50%, var(--contents-color1) 50%);
            color: #ffffff;
            font-weight: bold;
            padding: var(--month-padding);
            font-size: var(--month-font-size);
        }

        .month .month-inner>span {
            min-width: 3.1em;
            display: inline-block;
            text-align: center;
        }

        .month strong {
            font-size: 160%;
            font-weight: bold;
        }

        .monthly-topics .month::before {
            content: '';
            position: absolute;
            top: calc(var(--month-font-size) + 20px);
            bottom: 0;
            --border-width: clamp(2px, .9vw, 7px);
            width: var(--border-width);
            background: var(--contents-color1);
            left: 50%;
            margin-left: calc(var(--border-width) / 2 * -1);
            z-index: -1;
        }



        .image-area img {
            max-height: 200px;
        }

        @scope(.topics) {
            :scope {
                margin-top: clamp(1em, 1.9vw, 2em);
            }

            .box {
                position: relative;
                border: solid 2px var(--contents-color2);
                margin-bottom: 1.5em;
                --line-width: 2px;
            }

            .box::before,
            .box::after {
                content: '';
                position: absolute;
                background: var(--contents-color2);
                display: inline-block;
            }

            .box::before {
                left: calc(var(--span) * -1 - var(--line-width));
                top: 0.8em;
                width: var(--span);
                height: var(--line-width);
            }

            .box:nth-of-type(n+2)::before {
                width: calc(var(--span) * .75);
                left: calc(var(--span) * .75 * -1);
            }

            .box:not(:nth-last-of-type(1))::after {
                height: calc(100% - 2em);
                width: var(--line-width);
                left: calc(var(--span) * -1 + .5em);
                height: calc(100% + var(--span));
                top: 0.8em;
            }

            .box .title {
                font-weight: bold;
                font-size: clamp(14px, 4.1vw, var(--font-sizeXL));
                line-height: 1.4;
            }

            .box .description {
                margin-top: .5em;
            }

            .box:not(:has(.link_arrow_pos_r)) .box-inner {
                margin: 2em;
            }

            .box:has(.link_arrow_pos_r) .description {
                margin: 0 2em 2em;
            }

            .box .link_arrow_pos_r {
                padding: 1.5em;
                background-image: none;
            }

            .box .link_arrow_pos_r:hover {
                text-decoration: none;
                background: var(--contents-color2);
            }

        }

    }

    @scope(main[data-page="financial-highlights"]) {

        :scope {


            --bar-prev-q2-default-fill: #ff0000;
            --bar-prev-full-default-fill: #cccccc;
            --bar-curr-q2-default-fill: #00ff00;
            --bar-curr-full-default-fill: #0000ff;

            --bar-prev-q2-fill: var(--graph1-color);
            --bar-prev-full-fill: #cccccc;
            --bar-curr-q2-fill: var(--graph1-color);
            --chart-area-bg: #f2f9ff;
            --chart-gridlines-color: var(--graph-frame-color);

            --bar-curr-full-fill: var(--graph2-color);
            --bar-curr-full-stroke-color: var(--graph2-color);
            --bar-curr-full-stroke-width: 2;
            --bar-curr-full-fill-opacity: 1;
            --bar-curr-full-line-dash: 0 0;

            --annotation-font-size: var(--font-sizeS);
            --focus-top: 30;
            --focus-box-padding: 5;
            --focus-line-width: 2;
            --focus-color: var(--bar-curr-full-fill);
            --bar-focus-fill: var(--focus-color);

            --chart-vAxis-font-size: 12;
            --chart-hAxis-font-size: 15;

        }

        :scope:has(.chart-box.forecast) {

            --bar-curr-full-fill: #fffffe;
            --bar-curr-full-fill-opacity: 0.4;
            --bar-curr-full-stroke-color: #999999;
            --bar-curr-full-stroke-width: 2;
            --bar-curr-full-line-dash: 6 4;
            --bar-curr-full-border: dashed 1px var(--bar-curr-full-stroke-color);
            --bar-curr-full-legend-border-style: dashed;
            --focus-color: var(--bar-curr-q2-fill);
        }

        .graph-wrapper {
            margin-bottom: 40px !important;
            max-width: 460px;
            margin: 0 auto;
        }

        .graph-wrapper .midashi4 {
            margin-bottom: 0;
        }

        @scope(.tablePattern01) {
            th {
                text-align: center !important;
                font-weight: bold !important;
                line-height: 1.3;
            }
        }


        .table-wrapper {
            max-width: 65em;
            margin-left: auto;
            margin-right: auto;
        }

        .kpi-card-table {
            width: max-content !important;
            margin: 0 auto;
            min-width: 100%;
        }

        .kpi-footnote {
            display: flex;
            column-gap: 1em;
            row-gap: .2em;
            flex-wrap: wrap;
        }

        .kpi-footnote>li {
            white-space: normal;
            overflow-wrap: anywhere;
        }

        @scope(.point) {
            :scope {
                max-width: 65em;
                margin: 2em auto;
                background: var(--contents-color3);
                padding: 2em 2em 1em;
            }

            .title {
                font-size: var(--font-sizeL);
            }

        }

        @scope(.legend) {
            :scope {
                top: 10px;
                left: 0;
                position: absolute;
                z-index: 3;
                display: grid;
                grid-template-columns: auto auto;
                grid-gap: 0 1em;
            }

            .mark {
                display: grid;
                grid-gap: .25em;
                --columns: 1em 1em auto;
                grid-template-columns: var(--columns);
                align-items: center;
                font-size: var(--font-sizeS);
                grid-gap: .5em;
            }

            .mark::before,
            .mark::after {
                content: "";
                display: inline-block;
                width: 100%;
                aspect-ratio: 1.5/1;
                grid-row: 1;
                background-color: var(--mark-color);
                border: var(--border-style, solid) 1px var(--border-color);
            }

            .mark::before {
                --mark-color: var(--bar-prev-q2-fill);
                grid-column: 1;
                --border-color: var(--bar-prev-q2-fill);
            }

            .mark::after {
                --mark-color: var(--bar-curr-q2-fill);
                grid-column: 2;
                order: 2;
                --border-color: var(--bar-curr-q2-fill);
            }

            .q2 {
                --columns: 1em auto;
            }

            .q2::after {
                display: none;
            }

            .full::before {
                --mark-color: var(--bar-prev-full-fill);
                --border-color: var(--bar-prev-full-fill);
            }

            .full::after {
                --mark-color: var(--bar-curr-full-fill);
                --border-color: var(--bar-curr-full-stroke-color);
                --border-style: var(--bar-curr-full-legend-border-style);
            }

        }

        .unit {
            opacity: 0;
        }

        .chart-box-wrapper {
            position: relative;
        }

        @scope(.chart-box) {
            :scope {
                aspect-ratio: 1/1.618;
                max-height: 380px;
                width: 100%;
                position: relative;
                text-align: center;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .unit {
                position: absolute;
                z-index: 3;
                font-size: var(--font-sizeS);
                opacity: 1;
            }

            .unit.period {
                right: 0;
                bottom: -0.35em;
            }

            .unit.en {
                top: calc(var(--en-top, 0) - 2em);
                left: 0;
            }

            svg text {
                dominant-baseline: central;
            }

            .bar {
                stroke: var(--stroke-color, #cccccc);
                fill: var(--bar-fill, #cccccc);
            }

            .bar-prev-q2 {
                --stroke-fill: var(--bar-prev-q2-fill);
                --bar-fill: var(--bar-prev-q2-fill);
            }

            .bar-prev-full {
                --stroke-fill: var(--bar-prev-full-fill);
                --bar-fill: var(--bar-prev-full-fill);
            }

            .bar-curr-q2 {
                --stroke-fill: var(--bar-curr-q2-fill);
                --bar-fill: var(--bar-curr-q2-fill);
            }

            .bar-curr-full {
                stroke-dasharray: var(--bar-curr-full-line-dash);
                stroke: var(--bar-curr-full-stroke-color);
                fill: var(--bar-curr-full-fill);
                stroke-width: var(--bar-curr-full-line-dash);
                fill-opacity: var(--bar-curr-full-fill-opacity);
            }

            rect[fill="#f2f9ff"] {
                stroke-width: 1px;
                stroke: var(--graph-frame-color);
            }

            rect[fill="#c3d8ec"] {
                width: 10px;
            }

            .num-text text {
                font-weight: bold;
                font-size: var(--font-sizeM);
                fill: #333333;
            }

            .num-text text:not(.annotation) {
                stroke: var(--graph-bg-color);
                stroke-width: 5px;
                paint-order: stroke;
            }

            @scope(g.focus) {
                .num-large {
                    font-size: 150%;
                }

                tspan {
                    font-size: var(--font-sizeS);
                }

                .box {
                    stroke-width: 2px;
                    stroke: var(--focus-color);
                }

                .line {
                    fill: var(--focus-color);
                    fill-opacity: 1;
                }
            }
        }

        .chart-box::before {
            content: "";
            display: inline-block;
            width: 40px;
            height: 40px;
            border: 4px solid rgba(0, 0, 0, 0.1);
            border-radius: 50%;
            border-top-color: var(--corporate-color);
            animation: spin 1s ease-in-out infinite;
        }

        .chart-box:has(svg)::before {
            display: none;
        }

        @scope(.kpi-card-table) {
            :scope {
                border: none !important;
                min-width: 50em;
            }

            .unit {
                opacity: 1;
                font-size: 86%;
                margin-left: .25em;
            }

            em.num {
                color: var(--text-color);
                font-size: 116%;
            }

            .kpi-diagonal {
                border: none !important;
                background: none !important;
            }

            .no-border {
                border: none !important;
            }
        }

        @scope(.business-summary) {

            :scope {
                display: grid;
                --box-size: 20em;
                grid-template-columns: repeat(auto-fill, minmax(var(--box-size), 1fr));
                gap: 3em 2em;
            }

            @media screen and (min-width:50em) {
                :scope {
                    --box-size: 30em;
                }
            }

            .business-card {
                flex-grow: 1;
                flex-shrink: 1;
            }

            .business-card:nth-of-type(1) {
                --category-color: var(--graph1-color);
                --color-1: var(--category-color);
            }

            .business-card:nth-of-type(2) {
                --category-color: var(--graph2-color);
                --color-2: var(--category-color);
            }

            .business-card:nth-of-type(3) {
                --category-color: var(--graph3-color);
                --color-3: var(--category-color);
            }

            .business-card:nth-of-type(4) {
                --category-color: var(--graph4-color);
                --color-4: var(--category-color);
            }

            .business-card:nth-of-type(5) {
                --category-color: var(--graph5-color);
                --color-5: var(--category-color);
            }

            .business-card:nth-of-type(6) {
                --category-color: var(--graph6-color);
                --color-6: var(--category-color);
            }

            .business-card:nth-of-type(7) {
                --category-color: var(--graph7-color);
                --color-7: var(--category-color);
            }

            .business-card:nth-of-type(8) {
                --category-color: var(--graph8-color);
                --color-8: var(--category-color);
            }

            .business-card:nth-of-type(9) {
                --category-color: var(--graph9-color);
                --color-9: var(--category-color);
            }

            .business-card__metrics {
                display: grid;
                grid-template-columns: repeat(2, minmax(max-content, 1fr));
                grid-gap: 0 1em;
            }

            .business-card__title {
                color: var(--category-color);
                font-size: var(--font-sizeL);
                padding: 1em 1em 0 0;
                margin-bottom: .5em;
                border-top: solid 2px var(--category-color);
            }

            .ratio__value {
                font-size: 126%;
            }

            .metric {
                margin-bottom: 0 !important;
            }

            .metric__title {
                font-weight: bold;
                text-align: center;
                color: var(--category-color);
                margin-bottom: 1em;
                border-bottom: dotted 1px;
            }

            .metric__diff {
                text-align: center;
                margin: .5em auto 1em !important;
            }

            .metric__diff .value {
                text-align: center;
                display: inline-block;
                padding: .25em 1em 0;
                background: var(--category-color);
                color: #ffffff;
                font-weight: bold;
                position: relative;
                line-height: 1;
                padding-bottom: .75em;
                clip-path: polygon(0 0, 100% 0, 100% 1.25em, 50% 100%, 0 1.25em, 0 0);
            }


            .metric__year {
                display: grid;
                grid-template-columns: 3.5em max-content;
                align-items: center;
                grid-gap: 0 .5em;
                justify-content: space-evenly;
            }

            .metric__year-label {
                line-height: 1.2;
                text-align: center;

                padding: .5em;
                font-size: 86%;
                font-weight: bold;
                color: #666666;
            }

            .metric__year .metric__year-label {
                color: var(--category-color);
                position: relative;
            }

            .metric__year .metric__year-label::before {
                content: "";
                display: block;
                left: 0;
                top: 0;
                background: var(--category-color);
                width: 100%;
                height: 100%;
                position: absolute;
                z-index: 1;
                opacity: .2;
            }

            .metric__year:nth-of-type(1) {
                --category-color: #666666;
            }

            .metric__value {
                text-align: right;
                font-size: 80%;
            }

            .metric__value {
                color: var(--gray3);
                min-width: 7em;
            }

            .metric .metric__year:nth-of-type(2) .metric__value {
                color: var(--category-color);
            }

            .metric__value strong {
                margin-right: .25em;
                text-align: center;
                font-size: 167%;
            }

            .per {
                font-size: 60%;
            }

            strong {
                font-size: larger;
                font-weight: bold;
            }

            .business-card__ratio {
                text-align: center;
                position: relative;
                height: 95%;
            }

            .pie-chart-box {
                --pie-color: #dddddd;
                height: 100%;
            }

            .pie-chart-box svg {
                width: 100%;
                height: 100%;
            }

            .pie-chart-box svg circle {
                stroke: #ffffff;
            }

            .pie-chart-label {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }

            .ratio__label {
                font-size: 86%;
                font-weight: bold;
                border-bottom: solid 2px var(--category-color);
                display: inline-block;
            }

            .ratio__value {
                font-weight: bold;
                color: var(--category-color);
            }

            .business-card__body {
                display: flex;
                align-items: center;
                grid-gap: 1em;
                flex-wrap: wrap;
                justify-content: center;
            }

            .business-card__ratio {
                min-width: 13em;
                flex: 1 1;
            }

            .business-card__metrics {
                flex: 1 1;
            }
        }
    }

    @scope(.swipe_wrap) {
        .swipe {
            padding: 15px 10px 10px;
            overflow-y: hidden;
            overflow-x: auto;
            position: relative;
            max-width: 100%;
        }

        .swipe_annotation {
            font-size: 12px;
            display: none;
            text-align: center;
            line-height: 1;
            position: relative;
            top: 0;
            left: 0;
            background: #ccc;
        }

        .swipe_annotation span {
            background-color: #fff;
            padding: 0 15px;
            position: relative;
            z-index: 1;
        }

        .swipe_annotation::before,
        .swipe_annotation::after {
            display: block;
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            position: absolute;
            top: -4px;
            z-index: 1;
        }

        .swipe_annotation::before {
            border-width: 10px 12px 10px 0;
            border-color: #fff #ccc #fff #fff;
            left: 0;
        }

        .swipe_annotation::after {
            border-width: 10px 0 10px 12px;
            border-color: #fff #fff #fff #ccc;
            right: 0;
        }

        p.swipe_annotation {
            padding: 0
        }
    }

    .swipe_wrap:has(.is-overflowing) .swipe_annotation {
        display: block;
    }
}