@charset "utf-8";

/* ============================================
   統合レポート 専用スタイル
   ============================================ */

/* 統合レポート メインビジュアル */
* {
    font-family: 'Noto Sans JP', sans-serif;
}
.rp-mv {
    padding: var(--space-300) 0 var(--space-400);
    color: var(--color-white);
    background-color: var(--color-surface-blue);
}
.rp-mv .common-section_box {
    padding-top: 0;
    padding-bottom: 0;
}
/* 上段：INTEGRATED REPORT 2026 + オンライン版ラベル */
.rp-mv_head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-75) 3rem;
}
.common-main .rp-mv_title {
    margin: 0 !important;
    font-family: 'Roboto', sans-serif;
    font-size: 4rem !important;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: .02em;
    white-space: nowrap;
    color: var(--color-white);
}
.rp-mv_year {
    color: inherit;
}
/* 下段：リード（左）+ PDFダウンロード（右）。PDFは右端に寄せず、帯の幅の約2/3の位置から始める */
.rp-mv_layout {
    display: flex;
    gap: var(--space-300);
    justify-content: flex-start;
    align-items: center;
    margin-top: var(--space-300);
}
.common-main .rp-mv_lead {
    font-family: 'Roboto', sans-serif;
    font-size: 60px;
    font-weight: 100;
    line-height: 1.15;
    color: var(--color-white);
}
.common-main .rp-mv_sub {
    margin-top: 1rem;
    font-size: 1.7rem;
    font-weight: normal;
    line-height: 1.6;
    color: var(--color-white);
}
.rp-mv_main {
    flex: 0 1 58%;
    min-width: 0;
}
/* PDFダウンロードは見出し・リンクが折り返さないよう中身の幅に合わせる */
.rp-mv_side {
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 5.5rem;
    color: var(--color-white);
}
.common-main .rp-mv_heading {
    margin: 0;
    font-size: 2rem;
    font-weight: bold;
    line-height: var(--typo-lh-demi-small);
    color: var(--color-white);
}
.rp-mv_download {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin-top: 1.5rem;
}
.common-main .rp-mv_download a.ir-pdfLink {
    gap: 1.4rem;
    align-items: center;
    color: var(--color-white);
}
.rp-mv_download .ir-pdfLink_icon {
    width: 3.2rem;
    height: 3.2rem;
    padding: .3rem;
    color: var(--color-text-blue);
    background-color: var(--color-white);
}
.rp-mv_download .ir-pdfLink_label {
    padding-top: 0;
    font-size: 1.7rem;
    font-weight: normal;
}

/* 統合レポート CEOメッセージ */
.rp-ceo {
    background-color: #EBF2FA;
    background-image: url("/jp/ja/integrated_report/assets/image/ceo_mv_bg.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.rp-ceo .common-section_box {
    padding-bottom: 0;
    padding-top: 0;
}
.rp-ceo_layout {
    display: flex;
    justify-content: space-between;
}
.rp-ceo_contents {
    padding: var(--space-300) 0;
}
.common-main .rp-ceo_title {
    margin: 0;
    font-size: var(--typo-size-400);
    font-weight: var(--typo-weight-medium);
    line-height: var(--typo-lh-demi-small);
}
.common-main .rp-ceo_catch {
    margin-top: var(--space-200);
    font-size: var(--typo-size-300);
    font-weight: var(--typo-weight-demi);
    line-height: 1.5;
    color: var(--color-text-blue);
}
/* 「結果」に拘る は途中で折り返さない（タブレット幅で「「結果」／に拘る」と割れるのを防ぐ） */
.rp-ceo_catchPhrase {
    white-space: nowrap;
}
.common-main .rp-ceo_name {
    display: flex;
    flex-wrap: wrap;
    column-gap: var(--space-100);
    align-items: baseline;
    margin-top: var(--space-100);
}
/* 役職・名前は経営チームのカード（.rp-card_position / .rp-card_person）と同じサイズに揃える */
.rp-ceo_position {
    font-size: var(--typo-size-100);
}
.rp-ceo_person {
    font-size: 3rem;
    line-height: var(--typo-lh);
}
.rp-ceo_button {
    margin-top: var(--space-250);
}
.rp-ceo_image {
    flex-shrink: 0;
    align-self: flex-end;
    width: 36rem;
    margin-top: var(--space-200);
}
.rp-ceo_image img {
    display: block;
    width: 100%;
    height: auto;
}

/* 統合レポート 経営チームからのメッセージ */
.rp-cardList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-300);
}
.rp-card,
.rp-gov {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background-color: #EBF2FA;
}
/* 背景画像：ホバーで人物と一緒に拡大するため疑似要素に配置（::before の人物より背面） */
.rp-card::after,
.rp-gov::after {
    position: absolute;
    inset: 0;
    z-index: -1;
    content: "";
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.rp-card {
    min-height: 40rem;
    padding: var(--space-300) var(--space-250) var(--space-250);
}
/* 経営チームカード 背景画像 */
.rp-card::after {
    background-image: url("/jp/ja/integrated_report/assets/image/rp_card_bg_stripe.png");
}
/* 人物画像：右下に配置（画像は人物部分で切り抜いたもの。高さはカードに対する割合） */
.rp-card::before {
    position: absolute;
    inset: 0;
    content: "";
    background-repeat: no-repeat;
    background-position: right -1.0rem bottom;
    background-size: auto 88%;
}
.rp-card > * {
    position: relative;
}
/* 人物・背景画像のホバー拡大（CTA のホバーと同じ速度・イージング） */
.rp-card::before,
.rp-card::after,
.rp-gov::before,
.rp-gov::after {
    transition: transform var(--anim-duration) var(--anim-easing);
    /* ホバー解除後に描画レイヤーが外れて画像が1px未満ずれる（カクつく）のを防ぐ */
    will-change: transform;
}
/* 人物が右下にあるカードは右下を起点に拡大（中心起点だと人物が枠外へずれるだけに見えるため） */
.rp-card::before,
.rp-card::after,
.rp-gov.-chairman::before,
.rp-gov.-chairman::after {
    transform-origin: right bottom;
}
/* 経営チームカード 人物画像 */
.rp-card.-cfo::before {
    background-image: url("/jp/ja/integrated_report/assets/image/cfo_card_img.png");
}
.rp-card.-cdxo::before {
    background-image: url("/jp/ja/integrated_report/assets/image/cdxo_card_img.png");
}
.rp-card.-cto::before {
    background-image: url("/jp/ja/integrated_report/assets/image/cto_card_img.png");
}
.rp-card.-cio::before {
    background-image: url("/jp/ja/integrated_report/assets/image/cio_card_img.png");
    background-size: auto 90%;
}
.rp-card.-chro::before {
    background-image: url("/jp/ja/integrated_report/assets/image/chro_card_img.png");
    background-size: auto 91.5%;
}
.common-main .rp-card_title,
.common-main .rp-gov_title {
    margin: 0;
    font-size: var(--typo-size-200);
    line-height: 1.25;
}
.common-main .rp-card_position,
.common-main .rp-gov_position {
    margin-top: var(--space-350);
    font-size: var(--typo-size-100);
    line-height: 1.35;
}
.common-main .rp-card_person,
.common-main .rp-gov_person {
    margin-top: .6rem;
    font-size: 3rem;
    line-height: var(--typo-lh-demi-small);
}
.rp-card_buttons {
    display: flex;
    flex-direction: column;
    gap: var(--space-75);
    align-items: flex-start;
    margin-top: auto;
    padding-top: var(--space-200);
}
/* 複数ボタンの幅を揃える（common-button のラベルに最小幅を指定） */
.rp-card_buttonLabel {
    display: inline-block;
    min-width: 7.8em;
}

/* 統合レポート ガバナンス */
.rp-govList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-300);
}
.rp-gov {
    min-height: 32.4rem;
    padding: var(--space-250) var(--space-200) var(--space-250);
}
/* ガバナンスカード 背景画像 */
.rp-gov.-chairman::after {
    background-image: url("/jp/ja/integrated_report/assets/image/governance_Interview_bg.png");
}
/* 人物画像：右下に配置（画像は人物部分で切り抜いたもの。高さはカードに対する割合） */
.rp-gov.-chairman::before {
    position: absolute;
    inset: 0;
    content: "";
    background-image: url("/jp/ja/integrated_report/assets/image/governance_card_img.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 94%;
}
.rp-gov.-chairman > * {
    position: relative;
}
/* 座談会：出席者5名の写真を横に並べた1枚画像 */
.rp-gov.-roundtable::after {
    /* 1層目：写真をカード幅に合わせ下端揃え（左右を切らない）
       2層目：同じ画像の上端（壁）を縦に引き伸ばし、写真の上に空く部分を埋める */
    background-image:
        url("/jp/ja/integrated_report/assets/image/governance_roundtable.png"),
        url("/jp/ja/integrated_report/assets/image/governance_roundtable.png");
    background-position: center bottom, center top;
    background-size: 100% auto, 100% 1000%;
    background-repeat: no-repeat;
}
.rp-gov.-roundtable > * {
    position: relative;
}
.common-main .rp-gov_title {
    font-weight: var(--typo-weight-demi);
}
.common-main .rp-gov_position {
    margin-top: var(--space-250);
}
.common-main a.rp-pdfButton {
    display: inline-flex;
    gap: var(--space-75);
    align-items: center;
    margin-top: auto;
    padding: .8rem 1.4rem .8rem 1rem;
    color: var(--color-white);
    background-color: var(--color-surface-blue);
    border-radius: .6rem;
    position: relative;
    overflow: hidden;
}
/* 押下後（PDFを別タブで開いて戻った時など）に共通のフォーカス枠（白い外枠）が出ないようにする */
.common-main a.rp-pdfButton:focus,
.common-main a.rp-pdfButton:focus-visible {
    outline: none;
    box-shadow: none;
}
/* ホバー時のグラデーション（common-button と同じ挙動。分割ダウンロードのバーも共通） */
.common-main a.rp-pdfButton::before,
.common-main a.ir-pdfLink.-bar::before {
    position: absolute;
    inset: 0;
    content: "";
    background: var(--color-gradation);
    opacity: 0;
    transition: opacity var(--anim-duration) var(--anim-easing);
    pointer-events: none;
}
.rp-pdfButton_icon,
.rp-pdfButton_label {
    position: relative;
}
/* 矢印アイコン（common-circle はホバーで背景が青くなるため、白丸のまま固定） */
.rp-pdfButton_circle {
    position: relative;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    overflow: hidden;
    color: var(--color-text-blue);
    background-color: var(--color-surface-white);
    border-radius: 50%;
}
.rp-pdfButton_circle svg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2.4rem;
    height: 2.4rem;
    transform: translate(-50%, -50%);
}
.rp-pdfButton_icon {
    flex-shrink: 0;
    width: 3.2rem;
    height: 3.2rem;
}
.rp-pdfButton_label {
    font-size: var(--typo-size-100);
    line-height: var(--typo-lh);
}

/* 統合レポート 見出し */
.common-main .ir-heading {
    position: relative;
    margin: 0 0 var(--space-250);
    padding-bottom: var(--space-100);
    font-size: var(--typo-size-350);
    font-weight: var(--typo-weight-demi);
    line-height: var(--typo-lh-demi-small);
    /* 共通CSSの balance（行長をそろえる折り返し）をやめ、成り行きで折り返す。
       改行は単語の途中を避けて文節の切れ目で行う（auto-phrase：Chrome・Edge。非対応ブラウザは通常の折り返し） */
    text-wrap: wrap;
    word-break: auto-phrase;
}
.common-main .ir-heading::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 8.4rem;
    height: .4rem;
    content: "";
    background-color: var(--color-border-blue);
    clip-path: polygon(0 0, 100% 0, calc(100% - .4rem) 100%, 0 100%);
}
.common-main .ir-heading.-line {
    border-bottom: 2px solid var(--color-border-gray);
}
.common-main .ir-heading.-line::after {
    bottom: -2px;
    width: 10.8rem;
    height: 2px;
    clip-path: none;
}
/* 本文中の小見出し：見出しから本文までの空きを大見出し（PC 5rem／SP 3.2rem）と揃える。
   本文ブロックの gap が加わるため、その分を差し引く */
.common-main .ir-article_body > .ir-heading.-line {
    margin-bottom: calc(5rem - var(--space-250));
    /* 見出し文字から下線までの空きも大見出しと揃える */
    padding-bottom: 2.8rem;
}
.common-main .ir-heading.-thick {
    padding-bottom: 2.2rem;
}
.common-main .ir-heading.-thick::after {
    width: 18rem;
    height: .6rem;
    clip-path: polygon(0 0, 100% 0, calc(100% - .6rem) 100%, 0 100%);
}
.common-main .ir-heading.-plain {
    padding-bottom: 0;
}
.common-main .ir-heading.-plain::after {
    display: none;
}

/* 統合レポート PDFリンク */
.common-main a.ir-pdfLink {
    display: inline-flex;
    gap: var(--space-50);
    align-items: flex-start;
    color: var(--color-text);
    text-decoration: underline;
    text-underline-offset: .3rem;
    font-size: var(--typo-size-100);
    line-height: var(--typo-lh-demi-small);
}
.ir-pdfLink_icon {
    flex-shrink: 0;
    width: 3.2rem;
    height: 3.2rem;
    color: var(--color-text-blue);
}
.ir-pdfLink_label {
    padding-top: .6rem;
    font-size: 16.8px;
}
.common-main a.ir-pdfLink.-bar {
    display: flex;
    align-items: center;
    width: 100%;
    padding: .8rem 1.2rem;
    color: var(--color-white);
    text-decoration: none;
    background-color: var(--color-surface-blue);
    border-radius: .6rem;
    position: relative;
    overflow: hidden;
}
.ir-pdfLink.-bar .ir-pdfLink_icon,
.ir-pdfLink.-bar .ir-pdfLink_label {
    position: relative;
}
.ir-pdfLink.-bar .ir-pdfLink_icon {
    width: 3.2rem;
    height: 3.2rem;
    color: var(--color-white);
}
.ir-pdfLink.-bar .ir-pdfLink_label {
    flex: 1;
    padding-top: 0;
}

/* 統合レポート 分割ダウンロード */
.ir-pdfList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--space-300);
    row-gap: var(--space-300);
}
.ir-pdfList_item.-full {
    grid-column: 1 / -1;
}
.ir-pdfList_item.-full .ir-pdfLink.-bar {
    width: calc((100% - var(--space-300)) / 2);
}
.ir-pdfList_contents {
    margin-top: var(--space-75);
    padding-left: 4rem;
}
.common-main .ir-pdfList_contents li {
    font-size: var(--typo-size-50);
    font-weight: var(--typo-weight-demi);
    line-height: 2.2;
}
/* 2列：左列から縦に流す（4行×2列）。列幅は中身に合わせ、長い項目が折り返さないようにする */
.common-main .ir-pdfList_contents.-col2 {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
    justify-content: start;
    column-gap: var(--space-250);
}
.ir-pdfList_contents li::before {
    content: "・";
}

/* 統合レポート その他の開示情報 */
.common-section_box.ir-disclosure {
    padding-top: var(--space-400);
    padding-bottom: var(--space-400);
}
.ir-disclosure_group + .ir-disclosure_group {
    margin-top: var(--space-320);
}
.common-main .ir-disclosure_title {
    margin: 0;
    font-size: var(--typo-size-200);
    font-weight: var(--typo-weight-medium);
    line-height: var(--typo-lh);
}
.ir-disclosure_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--space-300);
    margin-top: var(--space-50);
}

/* 統合レポート バックナンバー */
.common-section_box.ir-backnumber {
    padding-top: var(--space-400);
    padding-bottom: var(--space-400);
}
.ir-backnumber_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-300);
}
.ir-backnumber_image {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 22rem;
}
.ir-backnumber_image img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
}
.ir-backnumber_title {
    margin-top: var(--space-200);
    font-size: 21px ! important;
    font-weight: 600;
    line-height: var(--typo-lh);
}
.ir-backnumber_links {
    display: flex;
    gap: var(--space-75);
    margin-top: var(--space-75);
}
.common-main .ir-backnumber_links li {
    font-size: var(--typo-size-100);
    line-height: var(--typo-lh);
}
.ir-backnumber_links a {
    font-weight: bold;
}

@media (hover: hover) {
    .common-main a.ir-pdfLink:hover,
    .common-main .ir-backnumber_links a:hover {
        color: var(--color-text-blue-hover);
    }
    .common-main .rp-mv_download a.ir-pdfLink:hover {
        color: var(--color-white);
        opacity: .7;
    }
    .common-main a.ir-pdfLink.-bar:hover,
    .common-main a.rp-pdfButton:hover {
        color: var(--color-white);
    }
    .common-main a.ir-pdfLink.-bar:hover::before,
    .common-main a.rp-pdfButton:hover::before {
        opacity: 1;
    }
}
/* スクロール連動のフェードイン（report.js で .is-inview を付与）。JS が無効な環境では常に表示 */
@media (scripting: enabled) and (prefers-reduced-motion: no-preference) {
    .js-fadein {
        opacity: 0;
        transform: translateY(5rem);
        transition:
            opacity .8s cubic-bezier(.32, .13, .21, .99),
            transform .8s cubic-bezier(.32, .13, .21, .99);
    }
    .js-fadein.is-inview {
        opacity: 1;
        transform: none;
    }
}
/* PC：カード内のボタンにホバーした時に画像全体（背景＋人物）を少し拡大 */
@media (hover: hover) and (min-width: 64em) {
    .rp-card:has(common-button:hover)::before,
    .rp-card:has(common-button:hover)::after,
    .rp-gov:has(.rp-pdfButton:hover)::before,
    .rp-gov:has(.rp-pdfButton:hover)::after {
        transform: scale(1.05);
    }
}
@media print, all and (min-width: 75em) {
    .rp-mv {
        padding: 5rem 0 8rem;
    }
    .common-main .rp-mv_title {
        font-size: 4.4rem !important;
    }
    .rp-ceo_layout {
        min-height: 45rem;
    }
    .rp-ceo_contents {
        padding: 5rem 0 var(--space-300);
    }
    .common-main .rp-ceo_title {
        font-size: var(--typo-size-500);
        font-weight : bold;
    }
    .common-main .rp-ceo_catch {
        margin-top: var(--space-250);
        font-size: var(--typo-size-500);
        line-height: 1.4;
    }
    .common-main .rp-ceo_name {
        margin-top: var(--space-150);
    }
    .rp-ceo_button {
        margin-top: var(--space-300);
    }
    /* 写真は見本サイズ（52rem）で固定し右下に配置（頭頂が見出しの高さ付近）。
       右側の透過余白ははみ出させて overflow: hidden で切る。
       画面幅が狭まってもテキストを押し出さない（重なるのは写真左側の透過部分のみ） */
    .rp-ceo_layout {
        position: relative;
        overflow: hidden;
    }
    .rp-ceo_contents {
        position: relative;
        z-index: 1;
    }
    .rp-ceo_image {
        position: absolute;
        right: 2rem;
        bottom: 0;
        width: 52rem;
        margin: 0;
    }
    .common-main .ir-heading.-thick {
        margin-bottom: 6rem;
    }
    .common-main .ir-heading.-thick::after {
        width: 28.4rem;
    }
    .rp-cardList {
        grid-template-columns: repeat(3, 1fr);
    }
    .rp-card {
        min-height: 40.4rem;
        padding: 4.6rem var(--space-250) var(--space-250);
    }
    /* 見出しが2行のカードは1行分上へ伸ばし、役職・名前の高さを1行見出しのカード（CFO等）に揃える */
    .common-main .rp-card.-chro .rp-card_title {
        margin-top: -1.25em;
    }
    .rp-gov {
        padding: 3.6rem 2.8rem 3rem;
    }
    .common-main .rp-gov_position {
        margin-top: var(--space-300);
    }
    .common-main .ir-heading {
        margin-bottom: var(--space-350);
        font-size: var(--typo-size-500);
    }
    .ir-pdfLink_icon {
        width: 4rem;
        height: 4rem;
    }
    .common-main a.ir-pdfLink {
        gap: var(--space-100);
    }
    .ir-pdfList_contents {
        padding-left: 5.6rem;
    }
    .common-main .ir-pdfList_contents li {
        font-size: var(--typo-size-100);
        line-height: 2;
    }
    .common-section_box.ir-disclosure {
        padding-top: var(--space-500);
        padding-bottom: var(--space-500);
    }
    .ir-disclosure_group + .ir-disclosure_group {
        margin-top: var(--space-400);
    }
    .common-main .ir-disclosure_title {
        font-size: 2.2rem;
    }
    .ir-disclosure_list {
        margin-top: var(--space-100);
    }
    .common-section_box.ir-backnumber {
        padding-top: var(--space-450);
        padding-bottom: var(--space-450);
    }
    .ir-backnumber_item {
        padding: 0 var(--space-400);
    }
    .ir-backnumber_image {
        height: 29rem;
    }
    .ir-backnumber_title {
        margin-top: var(--space-300);
    }
    .ir-backnumber_links {
        margin-top: var(--space-100);
    }
    .ir-backnumber_links .ir-pdfLink_icon {
        width: 3.6rem;
        height: 3.6rem;
    }
}

/* 統合レポート タブレット（768〜1023px） */
@media screen and (48em <= width < 64em) {
    /* メインビジュアル：右カラムが細くなりすぎるため縦積みに */
    .rp-mv_layout {
        flex-direction: column;
        align-items: stretch;
        margin-top: var(--space-400);
    }
    .rp-mv_main {
        flex: none;
    }
    .rp-mv_side {
        width: 100%;
        margin-top: 0;
    }
    /* 細字（100）は字幅が狭いので、1行が画面幅に収まる最大サイズまで大きくする */
    .common-main .rp-mv_lead {
        font-size: min(60px, calc((100vw - 8rem) / 9.4));
    }

    /* 経営チーム：2カラムのまま、文字と人物を小さくして重なりを防ぐ */
    .rp-card {
        min-height: 36rem;
        padding: var(--space-250) var(--space-200) var(--space-200);
    }
    .rp-card::before {
        background-size: auto 78%;
    }
    .rp-card.-cio::before {
        background-size: auto 80%;
    }
    .rp-card.-chro::before {
        background-size: auto 80%;
    }
    .common-main .rp-card_title {
        font-size: 1.8rem;
    }
    .common-main .rp-card_position {
        margin-top: var(--space-200);
        font-size: var(--typo-size-50);
    }
    .common-main .rp-card_person {
        font-size: 2.6rem;
    }
    .rp-ceo_position {
        font-size: var(--typo-size-50);
    }
    .rp-ceo_person {
        font-size: 2.6rem;
    }

    /* ガバナンス：1カラム */
    .rp-govList {
        grid-template-columns: 1fr;
        gap: var(--space-250);
    }
    /* 座談会：1カラムで横長になりすぎると写真の上下が切れすぎるため比率を固定 */
    .rp-gov.-roundtable {
        aspect-ratio: 9 / 5;
    }

    /* 分割ダウンロード：カード内の項目は1列に */
    .common-main .ir-pdfList_contents.-col2 {
        display: block;
    }
}

/* 統合レポート 小さめのPC・横向きタブレット（1024〜1199px） */
@media screen and (64em <= width < 75em) {
    /* MV：リードが2行に収まるよう、右のPDFダウンロード分（約50rem＋間隔4rem）を除いた幅に合わせて縮める */
    .common-main .rp-mv_lead {
        font-size: min(60px, calc((100vw - 8rem - 54rem) / 9.4));
    }
    /* 左右に余裕がないため、PDFダウンロードは右端に寄せる */
    .rp-mv_main {
        flex: 1;
    }
    .rp-mv_side {
        align-self: center;
        margin-top: 0;
    }
    .rp-mv_layout {
        margin-top: var(--space-400);
    }
    /* CEO：写真を固定幅で右下に配置（テキストを押し出さない） */
    .rp-ceo_layout {
        position: relative;
        overflow: hidden;
        min-height: 40rem;
    }
    .rp-ceo_contents {
        position: relative;
        z-index: 1;
        padding: var(--space-400) 0;
    }
    .rp-ceo_image {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 46rem;
        margin: 0;
    }
}

/* 統合レポート 分割ダウンロード：2カラムのカードが狭い幅（1024〜1279px）では項目リストを1列に */
@media screen and (64em <= width < 80em) {
    .common-main .ir-pdfList_contents.-col2 {
        display: block;
    }
}

/* 統合レポート SP */
@media screen and (width < 48em) {
    /* メインビジュアル */
    .rp-mv {
        padding: var(--space-250) 0 var(--space-300);
    }
    .common-main .rp-mv_title {
        font-size: 2.2rem !important;
    }
    .rp-mv_layout {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-250);
        margin-top: var(--space-300);
    }
    .rp-mv_main {
        flex: none;
    }
    .rp-mv_side {
        width: 100%;
        margin-top: 0;
    }
    .common-main .rp-mv_lead {
        font-size: min(60px, calc((100vw - 4.8rem) / 9.4));
    }
    .common-main .rp-mv_sub {
        margin-top: var(--space-100);
        font-size: 1.4rem;
    }

    /* CEOメッセージ */
    .rp-ceo_layout {
        flex-direction: column;
    }
    .rp-ceo_contents {
        padding: var(--space-300) 0 0;
    }
    .common-main .rp-ceo_title {
        font-size: 2.8rem;
        font-weight: bold;
    }
    .common-main .rp-ceo_catch {
        margin-top: var(--space-150);
        font-size: 28px;
    }
    .common-main .rp-ceo_name {
        margin-top: var(--space-75);
    }
    .rp-ceo_position {
        font-size: var(--typo-size-50);
    }
    .rp-ceo_person {
        font-size: 2.6rem;
    }
    .rp-ceo_button {
        margin-top: var(--space-200);
    }
    .rp-ceo_image {
        align-self: center;
        width: min(40rem, 100%);
        margin-top: var(--space-200);
    }

    /* 見出し */
    .common-main .ir-heading {
        margin-bottom: var(--space-250);
        font-size: 2.2rem;
        word-break: keep-all;
        overflow-wrap: anywhere;
    }
    .common-main .ir-heading.-thick {
        margin-bottom: var(--space-250);
        padding-bottom: var(--space-100);
    }
    .common-main .ir-heading.-thick::after {
        width: 12rem;
        height: .4rem;
        clip-path: polygon(0 0, 100% 0, calc(100% - .4rem) 100%, 0 100%);
    }

    /* 経営チームからのメッセージ：1カラム */
    .rp-cardList {
        grid-template-columns: 1fr;
        gap: var(--space-200);
    }
    .rp-card {
        min-height: 34.4rem;
        padding: var(--space-250) var(--space-200) var(--space-200);
    }
    .common-main .rp-card_title {
        font-size: 1.8rem;
    }
    .common-main .rp-card_position {
        margin-top: var(--space-250);
        font-size: var(--typo-size-50);
    }
    .common-main .rp-card_person {
        font-size: 2.6rem;
    }

    /* ガバナンス：1カラム */
    .rp-govList {
        grid-template-columns: 1fr;
        gap: var(--space-200);
    }
    /* 座談会：横長になりすぎないよう高さを幅の 1/1.8 以上に（最小高さ 22rem は維持） */
    .rp-gov.-roundtable {
        min-height: max(22rem, calc((100vw - 4.8rem) / 1.8));
    }
    .rp-gov {
        min-height: 22rem;
        padding: var(--space-250) var(--space-200) var(--space-200);
    }
    .common-main .rp-gov_title {
        font-size: 1.8rem;
    }
    .common-main .rp-gov_position {
        margin-top: var(--space-150);
        font-size: var(--typo-size-50);
    }
    .common-main .rp-gov_person {
        font-size: 2.6rem;
    }
    /* 議長インタビュー：人物はテキストの下に配置 */
    .rp-gov.-chairman {
        padding-bottom: 24rem;
    }
    .rp-gov.-chairman::before {
        background-size: auto 22rem;
    }
    .rp-gov.-chairman .rp-pdfButton {
        margin-top: var(--space-200);
    }

    /* 分割ダウンロード：1カラム */
    .ir-pdfList {
        grid-template-columns: 1fr;
        row-gap: var(--space-250);
    }
    .ir-pdfList_item.-full .ir-pdfLink.-bar {
        width: 100%;
    }
    .ir-pdfList_contents {
        padding-left: var(--space-300);
    }
    .common-main .ir-pdfList_contents.-col2 {
        display: block;
    }

    /* その他の開示情報 */
    .common-main .ir-disclosure_title {
        font-size: 1.8rem;
    }
    .ir-disclosure_list {
        grid-template-columns: 1fr;
    }

    /* バックナンバー */
    .ir-backnumber_list {
        grid-template-columns: 1fr;
        gap: var(--space-400);
    }
    .ir-backnumber_image {
        height: 20rem;
    }
}

/* 第三層 */

/* 第三層 コンテンツ幅 */
.common-section_inner.ir-inner {
    max-width: 128rem;
}

/* 第三層 メインビジュアル */
.ir-cxoMv {
    background-color: #EBF2FA;
    background-image: url("/jp/ja/integrated_report/assets/image/ceo_mv_bg.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.ir-cxoMv_layout {
    display: flex;
    justify-content: space-between;
    min-height: 64rem;
}
.ir-cxoMv_contents {
    padding: 8.2rem 0 6.4rem;
}
.common-main .ir-cxoMv_title {
    margin: 0;
    font-size: 40px;
    font-weight: bold;
    line-height: 1.4;
}
.common-main .ir-cxoMv_catch {
    margin-top: 7rem;
    font-size: 5rem;
    font-weight: 600;
    line-height: 1.54;
    color: var(--color-text-blue);
    /* 画面幅で折り返す際に「ビジネスモ／デル」のように語の途中で切れないよう、文節単位で折り返す */
    word-break: auto-phrase;
}
.ir-cxoMv_name {
    display: flex;
    /* 役職と氏名が横に収まらない幅では、氏名を役職の下の行へ送る（氏名自体は改行しない） */
    flex-wrap: wrap;
    gap: var(--space-100);
    /* 役職が2行のページも、CEOと同様に氏名を役職の最終行のベースラインに揃える */
    align-items: last baseline;
    margin-top: 8rem;
}
/* 役職が2行のページは氏名が役職の1行目の高さまでかかるため、役職との間隔を広めにとる */
.ir-cxoMv_name.-multiline {
    column-gap: var(--space-250);
}
.ir-cxoMv_position {
    font-size: 2.2rem;
}
.ir-cxoMv_person {
    font-size: var(--typo-size-500);
    line-height: var(--typo-lh);
    /* 氏名は途中で改行しない（役職が長いページで「衣川 正／吾」のように割れるのを防ぐ） */
    white-space: nowrap;
}
/* CEOキャッチ：SPのみの改行 */
.rp-ceo_catch br.-sp,
.ir-cxoMv_catch br.-sp {
    display: none;
}
.ir-cxoMv_image {
    flex-shrink: 0;
    align-self: flex-end;
    width: 44rem;
    margin-right: 2.2rem;
}
.ir-cxoMv_image img {
    display: block;
    width: 100%;
}
/* CEO：写真を大きく（人物が帯の高さの約9割、人物の右端を本文幅の右端に合わせる）。PCのみ
   写真右側の透明部分（約4.5rem）は本文幅の外（左右余白）へ出し、左側の約2remはテキスト側に重ねる。
   キャッチが折り返さないよう画面幅に応じて 44〜56rem で伸縮 */
@media print, all and (min-width: 64em) {
    .ir-cxoMv.-ceo .ir-cxoMv_image {
        width: clamp(44rem, calc(100vw - 84rem), 56rem);
        margin-right: -4.5rem;
        margin-left: -2rem;
    }
}

/* CTO：写真に両肩が入るよう横幅を広げる（人物の大きさは他のCxOと同じ。右端は本文幅の右端に合わせ、広げた分は左側へ） */
.ir-cxoMv.-cto .ir-cxoMv_image {
    width: 49.3rem;
    margin-right: 0;
}

/* 第三層 ページ内リンク（SPのみ追従固定。PCは追従させない） */
.nav-fixed {
    /* ヘッダー高さ + 1px。report.js がこの値を参照する */
    --nav-fixed-top: 121px;
}
.nav-fixed.fixed {
    position: fixed;
    top: var(--nav-fixed-top);
    right: 0;
    left: 0;
    z-index: 9;
    background-color: var(--color-bg-white);
}

/* 第三層 ページ内リンク SP用開閉バー（PCでは非表示） */
.ir-anchor_bar {
    display: none;
}

/* 第三層 ページ内リンク */
.ir-anchor_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 5.6rem;
    padding: 1.4rem 0;
    border-bottom: 2px solid #e5e5e5;
}
.ir-anchor_list + .ir-anchor_list {
    padding-top: .8rem;
}
.common-main a.ir-anchor_link {
    display: flex;
    gap: var(--space-75);
    align-items: center;
    color: var(--color-text);
    text-align: center;
    font-size: var(--typo-size-100);
    font-weight: bold;
    line-height: var(--typo-lh);
    letter-spacing: .05em;
}
.ir-anchor_icon {
    flex-shrink: 0;
    line-height: 1;
    color: var(--color-text-blue);
}

/* ページ内リンクで移動先へフォーカスを移した際（report.js）、セクション全体にフォーカス枠を出さない */
.common-section.ir-article[tabindex="-1"]:focus {
    outline: none;
    box-shadow: none;
}

/* 第三層 本文 */
.common-section.ir-article {
    margin-top: 14.6rem;
    scroll-margin-top: 12rem;
}
.common-section.ir-article ~ .common-section.ir-article {
    margin-top: 4.5rem;
}
.common-section.ir-article > .common-section_box {
    padding-top: 0;
    padding-bottom: 0;
}
.common-main .ir-heading.-large {
    margin-bottom: 5rem;
    padding-bottom: 2.8rem;
    font-size: var(--typo-size-500);
    line-height: 1.6;
}
.common-main .ir-heading.-large::after {
    width: 28.4rem;
    height: .6rem;
    clip-path: polygon(0 0, 100% 0, calc(100% - .6rem) 100%, 0 100%);
}
.ir-article_body {
    display: flex;
    flex-direction: column;
    gap: var(--space-250);
}
.common-main .ir-article_text {
    font-size: var(--typo-size-100);
    line-height: 2;
    letter-spacing: .02em;
    color: var(--color-text);
}
.ir-article_sideBySide {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-300);
    align-items: start;
}

/* 図を右に浮かせ、続く複数の段落を図の左に回り込ませる（図が本文より背が高い場合） */
.ir-article_sideBySide.-wrap {
    display: flow-root;
}
.ir-article_sideBySide.-wrap > .ir-pointImage {
    float: right;
    width: 40%;
    margin: .6rem 0 var(--space-150) var(--space-300);
}
.ir-article_sideBySide.-wrap > p + p {
    margin-top: var(--space-250);
}
@media screen and (width < 48em) {
    /* SP：最初の段落 → 図 → 残りの段落 の順に縦に並べる */
    .ir-article_sideBySide.-wrap {
        display: flex;
        flex-direction: column;
        gap: var(--space-200);
    }
    .ir-article_sideBySide.-wrap > .ir-pointImage {
        order: 1;
        float: none;
        width: 100%;
        margin: 0;
    }
    .ir-article_sideBySide.-wrap > .ir-pointImage + p ~ p {
        order: 2;
        margin-top: 0;
    }
}

/* 第三層 数値ハイライト */
.ir-pointImage {
    margin-top: var(--space-200);
}
/* HTML上は画像が先。PC・SPでは本文の後（右／下）に表示する */
.ir-article_sideBySide > .ir-pointImage {
    order: 1;
}
.ir-pointImage img {
    display: block;
    width: 100%;
    height: auto;
}
/* 第三層 画像・図版 */
.common-main .ir-photo {
    margin: 2.4rem 0 0;
}
.ir-photo_image img {
    display: block;
    width: 100%;
    height: 63rem;
    object-fit: cover;
}
/* 元画像が小さい写真は切り抜かず原寸（最大で本文幅）で全体を表示 */
.ir-photo.-natural .ir-photo_image img {
    width: auto;
    max-width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
}
/* 第三層 注釈（本文より小さく、番号付きの項目は縦に並べる）
   共通CSSが p に直接 1.6rem を指定しているため、p・li にも明示する */
.common-main .ir-article_note,
.common-main .ir-article_note p,
.common-main .ir-article_note li {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: .02em;
    color: var(--color-text);
}
.common-main .ir-article_noteList {
    margin: .4rem 0 0;
    padding: 0;
    list-style: none;
}
/* 「①」の幅（全角1文字分）だけ字下げし、2行目以降を項目の頭にそろえる */
.common-main .ir-article_noteList li {
    padding-left: 1em;
    text-indent: -1em;
}
.ir-figureImage {
    margin-top: 1.6rem;
}
.ir-figureImage img {
    display: block;
    width: 100%;
    height: auto;
}

/* 第三層 PDFリンクボックス */
.ir-pdfBox {
    margin-top: 5rem;
    padding: 4.9rem var(--space-200) 4.5rem;
    background-color: #EEF5FB;
}
/* PDFリンクは関連リンク（.ir-related_list）と同じくグリッドを中央に置いて並べる。
   PCは1行に横並び（幅が足りない場合はリンク文字を折り返す）、タブレットは2列、SPは1列。
   列ごとに先頭が揃う */
.ir-pdfBox_list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, max-content);
    justify-content: center;
    align-items: center;
    column-gap: 4rem;
    row-gap: 1rem;
}
.common-main .ir-pdfBox_list li {
    line-height: var(--typo-lh);
}
.common-main .ir-pdfBox .ir-pdfLink {
    align-items: center;
    text-decoration: none;
}
.common-main .ir-pdfBox .ir-pdfLink_label {
    padding-top: 0;
}
.ir-pdfBox .ir-pdfLink_icon {
    width: 7.4rem;
    height: auto;
}

/* 第三層 関連コンテンツ */
.ir-related {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top: 5rem;
    padding: 5.1rem 7rem 5rem;
    background-color: var(--color-bg-blue);
}
/* 本文内に置いた場合は本文の行間（gap）を差し引く */
.ir-article_body > .ir-pdfBox,
.ir-article_body > .ir-related {
    margin-top: 1.8rem;
}
.ir-related:has(> .ir-related_list.-col2),
.ir-related:has(> .ir-related_list.-col3) {
    padding: 4.7rem 7rem 4.4rem;
}
/* 統合レポート トップへ（関連コンテンツの下）：関連コンテンツと「その他の開示情報」の間の中央に置く
   （下側の余白はセクションの padding で決まるため、上を広げた分だけ下を詰める） */
.common-main .common-buttonBox.ir-backToTop {
    margin-top: 9.6rem;
    margin-bottom: -5.6rem;
}
@media screen and (width < 48em) {
    .common-main .common-buttonBox.ir-backToTop {
        margin-top: 5.2rem;
        margin-bottom: -1.2rem;
    }
}
/* 関連コンテンツ（CXOメッセージ一覧） */
.ir-related.-contents {
    margin-top: 11.9rem;
    padding: 4rem 7rem 5.2rem;
}
.ir-related_title {
    flex-shrink: 0;
    width: 22rem;
    white-space: nowrap;
    font-size: 22px;
    font-weight: bold;
    line-height: var(--typo-lh);
}
.ir-related_list {
    display: grid;
    grid-template-columns: repeat(4, 22rem);
    column-gap: 2.4rem;
    row-gap: 2.5rem;
    padding-top: var(--space-5);
}
.ir-related.-contents .ir-related_list {
    column-gap: 0;
}
.ir-related_list.-col3 {
    grid-template-columns: repeat(3, auto);
    column-gap: 5.8rem;
    row-gap: .7rem;
}
.ir-related_list.-col2 {
    grid-template-columns: repeat(2, 24.3rem);
    row-gap: .7rem;
}
/* リンクが1件だけの場合は、空の列ができて左に寄らないよう1列にして中央に置く（全幅共通） */
.ir-related_list:has(> li:only-child) {
    grid-template-columns: max-content;
}
.common-main a.ir-related_link {
    display: inline-flex;
    gap: var(--space-50);
    align-items: center;
    color: var(--color-text);
}
.ir-related_label {
    white-space: nowrap;
    font-size: var(--typo-size-100);
    font-weight: var(--typo-weight-medium);
    line-height: var(--typo-lh);
}
/* 関連コンテンツ：種類ごとにまとめた表示（SPのみ） */
.ir-relatedGroup {
    display: none;
}
.ir-tag {
    display: block;
    flex-shrink: 0;
    width: 7.4rem;
    height: auto;
}

/* 第三層 その他の開示情報・バックナンバー */
.common-section_box.ir-disclosure.-cxo {
    padding-top: 15.3rem;
    padding-bottom: 16.4rem;
}
.ir-disclosure.-cxo .ir-heading {
    margin-bottom: 4.6rem;
}
.ir-disclosure.-cxo .ir-disclosure_group + .ir-disclosure_group {
    margin-top: 5.4rem;
}
.ir-disclosure.-cxo .ir-disclosure_list {
    margin-top: 2.5rem;
}
.common-section_box.ir-backnumber.-cxo {
    padding-top: 5.9rem;
    padding-bottom: 8.9rem;
}
.ir-backnumber.-cxo .ir-heading {
    margin-bottom: 4.4rem;
}

@media (hover: hover) {
    .common-main a.ir-anchor_link:hover,
    .common-main a.ir-related_link:hover,
    .common-main a.ir-relatedGroup_link:hover {
        color: var(--color-text-blue-hover);
    }
}

/* 第三層 ヘッダーがSP型になる幅（1024px未満）：ページ内リンクを開閉メニューに */
@media screen and (width < 64em) {
    /* ページ内リンク：開閉メニュー（追従）。ヘッダーがSP型になる 1024px 未満で適用 */
    .nav-fixed {
        position: relative;
        z-index: 9;
        background-color: var(--color-bg-white);
    }
    .ir-anchor_bar {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        height: 5.6rem;
    }
    .ir-anchor_toggle {
        display: grid;
        place-items: center;
        width: 3.6rem;
        height: 3.6rem;
        padding: 0;
        border: 0;
        border-radius: var(--size-r);
        background-color: var(--color-surface-blue-light);
        color: var(--color-text-blue);
        cursor: pointer;
    }
    .ir-anchor_toggleIcon {
        width: 2.4rem;
        height: 2.4rem;
        fill: currentColor;
    }
    .ir-anchor_toggle[aria-expanded="false"] .ir-anchor_toggleIcon.-close,
    .ir-anchor_toggle[aria-expanded="true"] .ir-anchor_toggleIcon.-open {
        display: none;
    }
    .ir-anchor {
        display: none;
        position: absolute;
        top: 5.6rem;
        right: 0;
        left: 0;
        max-height: calc(100dvh - var(--nav-fixed-top, 0px) - 5.6rem);
        overflow-y: auto;
        padding: 0 var(--space-gutter) var(--space-150);
        background-color: var(--color-bg-white);
        box-shadow: 0 .8rem 1.6rem rgb(0 0 0 / 8%);
    }
    .ir-anchor.is-open {
        display: block;
    }
    .ir-anchor_list {
        display: block;
        padding: 0;
        border-bottom: 0;
    }
    .ir-anchor_list + .ir-anchor_list {
        padding-top: 0;
    }
    .common-main a.ir-anchor_link {
        justify-content: flex-start;
        padding: var(--space-150) 0;
        text-align: left;
        font-size: var(--typo-size-50);
        letter-spacing: .02em;
    }
    .ir-anchor_label br {
        display: none;
    }
}

/* 第三層 タブレット（768〜1023px） */
@media screen and (48em <= width < 64em) {
    /* メインビジュアル：キャッチと名前が細切れに折り返さないよう縮小 */
    .ir-cxoMv_layout {
        gap: var(--space-200);
        min-height: 0;
    }
    .ir-cxoMv_contents {
        flex: 1;
        min-width: 0;
        padding: 6rem 0 5rem;
    }
    .common-main .ir-cxoMv_title {
        font-size: 3.2rem;
    }
    .common-main .ir-cxoMv_catch {
        margin-top: var(--space-300);
        font-size: 3.4rem;
    }
    .ir-cxoMv_catch br.-sp {
        display: inline;
    }
    .ir-cxoMv_name {
        margin-top: var(--space-300);
        white-space: nowrap;
    }
    .ir-cxoMv_position {
        font-size: 1.8rem;
    }
    .ir-cxoMv_person {
        font-size: 2.8rem;
    }
    .ir-cxoMv_image {
        width: 34rem;
        margin-right: 0;
    }
    .ir-cxoMv.-cto .ir-cxoMv_image {
        width: 38.1rem;
    }

    /* 本文と数値画像の横並び：画像を右に浮かせ、画像の下にも本文を回り込ませる */
    .ir-article_sideBySide {
        display: flow-root;
    }
    .ir-article_sideBySide > .ir-pointImage {
        float: right;
        width: calc(50% - var(--space-150));
        margin: .6rem 0 var(--space-100) var(--space-300);
    }

    /* 本文：ページ内リンクが開閉メニューになった分、最初のセクションまでの余白を詰める */
    .common-section.ir-article {
        margin-top: var(--space-450);
    }
}

/* 第三層 PCヘッダーだが幅が足りない帯（1024〜1279px）：ページ内リンクを3カラムの枠に揃える */
@media screen and (64em <= width < 80em) {
    /* 3カラム相当の幅で並べ、項目が3つに満たない段（CIO・CROなど2項目）は中央に寄せる */
    .ir-anchor_list {
        column-gap: var(--space-200);
    }
    .ir-anchor_list > li {
        flex: 0 1 calc((100% - var(--space-200) * 2) / 3);
    }
    .common-main a.ir-anchor_link {
        justify-content: center;
        font-size: 1.5rem;
        letter-spacing: .02em;
    }
    /* 見出しの意図した改行（br）を活かし、それでも収まらない場合は文節単位で行長を揃えて折り返す */
    .ir-anchor_label {
        word-break: auto-phrase;
        text-wrap: balance;
    }
}

/* 第三層 関連コンテンツ：4カラムが収まらない幅（768〜1119px） */
@media screen and (48em <= width < 70em) {
    .ir-pdfBox_list {
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, max-content));
        column-gap: var(--space-300);
    }
    .ir-pdfBox_list:has(> li:only-child) {
        grid-template-columns: minmax(0, max-content);
    }
    .ir-related,
    .ir-related:has(> .ir-related_list.-col2),
    .ir-related:has(> .ir-related_list.-col3) {
        padding-right: var(--space-300);
        padding-left: var(--space-300);
    }
    .ir-related_list {
        grid-template-columns: repeat(3, auto);
        column-gap: var(--space-300);
    }
    /* CXOメッセージ一覧：見出しを上に置き、一覧を3カラムに */
    .ir-related.-contents {
        flex-direction: column;
    }
    .ir-related.-contents .ir-related_title {
        width: auto;
        margin-bottom: var(--space-150);
    }
    .ir-related.-contents .ir-related_list {
        grid-template-columns: repeat(3, auto);
        column-gap: var(--space-450);
    }
}

/* 第三層 SP */
@media screen and (width < 48em) {
    /* メインビジュアル */
    .ir-cxoMv_layout {
        flex-direction: column;
        min-height: 0;
    }
    .ir-cxoMv_contents {
        padding: var(--space-300) 0 0;
    }
    .common-main .ir-cxoMv_title {
        font-size: 2.8rem;
    }
    .common-main .ir-cxoMv_catch {
        margin-top: var(--space-150);
        font-size: 28px;
    }
    /* CEOキャッチ（第二層・第三層共通。基本指定より後に置く）：SPのみ改行し、行間を広げ、行頭の “ の空きを詰めて揃える */
    .rp-ceo_catch br.-sp,
    .ir-cxoMv_catch br.-sp {
        display: inline;
    }
    .common-main .rp-ceo_catch,
    .common-main .ir-cxoMv_catch {
        line-height: 1.6;
        font-feature-settings: "palt";
    }
    .ir-cxoMv_name {
        flex-wrap: wrap;
        column-gap: var(--space-100);
        margin-top: var(--space-150);
    }
    .ir-cxoMv_name.-multiline {
        column-gap: var(--space-150);
    }
    .ir-cxoMv_position {
        font-size: var(--typo-size-20);
    }
    .ir-cxoMv_person {
        font-size: 2.4rem;
    }
    .ir-cxoMv_image {
        align-self: center;
        width: 26rem;
        margin: var(--space-200) 0 0;
    }
    .ir-cxoMv.-cto .ir-cxoMv_image {
        width: 29.1rem;
        margin: var(--space-200) 0 0;
    }


    /* 本文 */
    .common-section.ir-article {
        margin-top: var(--space-400);
    }
    .common-section.ir-article ~ .common-section.ir-article {
        margin-top: var(--space-400);
    }
    .common-main .ir-heading.-large {
        margin-bottom: var(--space-250);
        padding-bottom: var(--space-100);
        font-size: 2.4rem;
        line-height: 1.5;
    }
    .common-main .ir-heading.-large::after {
        width: 12rem;
        height: .4rem;
        clip-path: polygon(0 0, 100% 0, calc(100% - .4rem) 100%, 0 100%);
    }
    .common-main .ir-heading.-large br {
        display: none;
    }
    .ir-article_body {
        gap: var(--space-200);
    }
    .common-main .ir-article_body > .ir-heading.-line {
        margin-bottom: calc(3.2rem - var(--space-200));
        padding-bottom: var(--space-100);
    }
    .common-main .ir-article_text {
        font-size: 1.5rem;
        line-height: 1.9;
    }
    .ir-article_sideBySide {
        grid-template-columns: 1fr;
        gap: var(--space-200);
    }
    .ir-pointImage {
        margin-top: 0;
    }
    .ir-photo_image img {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    /* PDFリンクボックス */
    .ir-pdfBox {
        margin-top: var(--space-300);
        padding: var(--space-250) var(--space-150);
    }
    .ir-pdfBox_list {
        grid-auto-flow: row;
        grid-template-columns: minmax(0, max-content);
    }
    .ir-article_body > .ir-pdfBox,
    .ir-article_body > .ir-related {
        margin-top: var(--space-100);
    }
    /* Web/PDFアイコン：SPは 60px に統一 */
    .ir-tag,
    .ir-pdfBox .ir-pdfLink_icon {
        width: 6rem;
    }
    /* まとめた表示は上揃えのうえ、1行目の行ボックスと上下中央を合わせる（(行高 - アイコン高) / 2） */
    .ir-relatedGroup_row .ir-tag {
        margin-top: calc((var(--typo-size-50) * var(--typo-lh) - 6rem * 23 / 74) / 2);
    }
    .common-main .ir-pdfBox .ir-pdfLink_label {
        font-size: var(--typo-size-50);
    }

    /* 関連コンテンツ：1カラム */
    .ir-related,
    .ir-related:has(> .ir-related_list.-col2),
    .ir-related:has(> .ir-related_list.-col3) {
        flex-direction: column;
        margin-top: var(--space-300);
        padding: var(--space-250) var(--space-150);
    }
    .ir-related_list,
    .ir-related_list.-col2,
    .ir-related_list.-col3 {
        grid-template-columns: 1fr;
        row-gap: var(--space-75);
        column-gap: 0;
        margin: 0 auto;
    }
    /* 関連コンテンツ：種類ごとにまとめた表示 */
    .ir-related:has(> .ir-relatedGroup) > .ir-related_list {
        display: none;
    }
    .ir-relatedGroup {
        display: grid;
        row-gap: var(--space-100);
    }
    .ir-relatedGroup_row {
        display: flex;
        gap: var(--space-60);
        align-items: flex-start;
    }
    .ir-relatedGroup_list {
        display: flex;
        flex-wrap: wrap;
        gap: .4rem .6rem;
        margin: 0;
        padding: 0;
        list-style: none;
        /* 行ボックスの高さをリンク文字に合わせる（親の文字サイズを継承させない） */
        font-size: var(--typo-size-50);
        line-height: var(--typo-lh);
    }
    .ir-relatedGroup_list li:not(:last-child)::after {
        content: "/";
        margin-left: .6rem;
        color: var(--color-text-light);
    }
    .common-main a.ir-relatedGroup_link {
        color: var(--color-text);
        font-size: var(--typo-size-50);
        font-weight: var(--typo-weight-medium);
        line-height: var(--typo-lh);
    }
    /* 関連コンテンツ（CXOメッセージ一覧）：左右の余白を詰めて2カラム */
    .ir-related.-contents {
        margin-top: var(--space-400);
        padding: var(--space-250) var(--space-150);
    }
    .ir-related.-contents .ir-related_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: var(--space-100);
        width: 100%;
        margin: 0;
    }
    .ir-related.-contents .common-link {
        font-size: var(--typo-size-50);
    }
    .ir-related_title {
        width: auto;
        margin-bottom: var(--space-100);
        font-size: 1.8rem;
    }
    .ir-related_label {
        white-space: normal;
        font-size: var(--typo-size-50);
    }

    /* その他の開示情報・バックナンバー */
    .common-section_box.ir-disclosure.-cxo {
        padding-top: var(--space-400);
        padding-bottom: var(--space-400);
    }
    .ir-disclosure.-cxo .ir-heading {
        margin-bottom: var(--space-200);
    }
    .ir-disclosure.-cxo .ir-disclosure_group + .ir-disclosure_group {
        margin-top: var(--space-300);
    }
    .ir-disclosure.-cxo .ir-disclosure_list {
        margin-top: var(--space-50);
    }
    .common-section_box.ir-backnumber.-cxo {
        padding-top: var(--space-400);
        padding-bottom: var(--space-400);
    }
    .ir-backnumber.-cxo .ir-heading {
        margin-bottom: var(--space-250);
    }
    .ir-pdfLink_label {
        font-size: 14px;
    }
    .ir-backnumber_title {
        font-size: 18px !important; 
    } 
    .ir-backnumber_links a {
        font-size : 14px;
    } 
}
