@charset "UTF-8";

/* ==========================================================================
   JT統合報告書2026 個別CSS
   ir2026.css
   ========================================================================== */

/* --------------------------------------------------
   ベース
   -------------------------------------------------- */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow-x: hidden;
  font-family: 'Noto Sans JP', sans-serif;
  color: #033824;
  overflow-x: hidden;
}

.ir-header {
  box-shadow: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  background-color: #fff;
}

/* ヘッダー固定分のオフセット ※CMS版ではCMSが管理するため0 */
body {
  padding-top: 0;
}

/* パンくずが MV（margin-top: -80px）の裏に隠れるのを防止 */
.jtweb-topic-path {
  position: relative;
  z-index: 1;
}

/* 取締役座談会 各人物ブロック */
.ir-key-messages__person {
  position: absolute;
  z-index: 1;
  text-align: left;
}

.ir-key-messages__item--discussion .ir-key-messages__person .ir-key-messages__name {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  line-height: 1.3;
  margin: 0;
  position: static;
}

.ir-key-messages__item--discussion .ir-key-messages__person .ir-key-messages__role {
  font-size: 12px;
  font-weight: 600;
  color: #000;
  line-height: 1.4;
  margin: 0;
  position: static;
  letter-spacing: normal;
}

.ir-key-messages__person--1 {
  left: 15%;
  top: 24.46%;
}

.ir-key-messages__person--2 {
  left: 75.78%;
  top: 24.46%;
}

.ir-key-messages__person--2 .ir-key-messages__name,
.ir-key-messages__person--2 .ir-key-messages__role {
  /* color: #fff !important; */
}

.ir-key-messages__person--3 {
  left: 13.05%;
  top: 85.60%;
}

.ir-key-messages__person--4 {
  left: 39.48%;
  top: 85.60%;
}

.ir-key-messages__person--5 {
  left: 64.93%;
  top: 85.60%;
}


/* 左右カラムを横並びにするコンテナ */
.ir-header__inner {
  max-width: none;
  margin: 0;
  padding: 0 clamp(20px, 9.4vw, 118px);
  display: flex;
  align-items: stretch;
}

/* 左カラム：ロゴを縦中央に配置 */
.ir-header__left {
  display: flex;
  align-items: center;
  padding: 16px clamp(16px, 3.2vw, 40px) 16px 0;
  flex-shrink: 0;
}

.ir-header__logo {
  display: inline-block;
  line-height: 1;
}

.ir-header__logo img {
  width: 51px;
  height: auto;
  display: block;
}

/* 右カラム：サブナビ（上）＋グローバルナビ（下）を縦積み */
.ir-header__right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  padding: 12px 0;
}

/* 右上：サブナビ */
.ir-header__subnav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(8px, 1.3vw, 16px);
  font-size: clamp(10px, 1.0vw, 12px);
  color: #033824;
  padding-top: 4px;
}

.ir-header__subnav a {
  color: #033824;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.ir-header__subnav a:hover {
  text-decoration: underline;
}

/* GLOBAL SITE 別窓アイコン */
.ir-header__subnav-blank {
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  vertical-align: middle;
  position: relative;
  top: -1px;
}

/* 区切り線 */
.ir-header__subnav-divider {
  color: #ccc;
  font-size: 14px;
  line-height: 1;
}

/* 検索ボタン */
.ir-header__search-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: #033824;
}

.ir-header__search-btn svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #033824;
  stroke-width: 2;
}

/* 右下：グローバルナビ */
.ir-header__nav {
  display: flex;
  justify-content: flex-end;
  margin-top: 5px;
}

.ir-gnav {
  display: flex;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ir-gnav__item a {
  display: block;
  padding: 4px clamp(6px, 1.1vw, 14px);
  font-size: clamp(12px, 1.35vw, 16px);
  color: #033824;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.ir-gnav__item:last-child a {
  padding-right: 0;
}

.ir-gnav__item a:hover {
  color: #00a273;
}

/* CMS共通CSSのjtweb-wrapper-content デフォルトpadding打ち消し */
.new-responsive-template #jtweb-site-area-content #jtweb-wrapper-content {
  position: relative;
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: clamp(50px, 5.6vw + 20px, 120px);
}

@media screen and (max-width: 767px) {
  .new-responsive-template #jtweb-site-area-content #jtweb-wrapper-content {
    padding-bottom: 0;
  }
}

/* CMS共通CSSのテキスト下線・リンク色打ち消し */
.new-responsive-template #jtweb-main-content a,
.new-responsive-template #jtweb-main-content a:link,
.new-responsive-template #jtweb-main-content a:visited {
  text-decoration: none !important;
  color: #033824;
}
.new-responsive-template #jtweb-main-content a:hover,
.new-responsive-template #jtweb-main-content a:active {
  text-decoration: none !important;
  color: #05A173;
  opacity: 1 !important;
}

.new-responsive-template #jtweb-main-content button:hover {
  opacity: 0.7 !important;
  color: #033824 !important;
  transition: opacity 0.2s ease !important;
}

/* --------------------------------------------------
   ヒーローエリア
   -------------------------------------------------- */
.ir-hero {
  position: relative;
  width: 100%;
  height: 701px;
  overflow: hidden;
  background-image: url('/investors/library/integratedreport/report/2026/img/hero/img_hero_pc.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 1920px 701px;
  background-color: #fff;
  display: flex;
  align-items: flex-start;
}

.ir-hero.is-animated {
  background-image: none;
}

.ir-hero__canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 701px;
  display: block;
}

.ir-hero__svg {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

@media screen and (min-width: 1920px) {
  .ir-hero {
    background-size: cover;
    background-position: center;
  }
}

.ir-hero__inner {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 232px 118px 40px 235px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.ir-hero__title-wrap {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.ir-hero__title {
  width: 357px;
  height: auto;
  display: block;
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 1.0)) drop-shadow(0 0 24px rgba(255, 255, 255, 0.65));
}

.ir-hero__title--sp {
  display: none;
}

/* --------------------------------------------------
   下層ページ：メッセージ系 メインビジュアル（共通）
   -------------------------------------------------- */

/* ヒーロー全体：背景画像は全幅cover */
.ir-message-mv {
  position: relative;
  width: 100%;
  height: clamp(360px, 37.5vw, 480px);
  overflow: hidden;
  background-color: #f0f0ee;
  display: flex;
  align-items: center;
}

/* CEO専用背景 */
.ir-message-mv--ceo {
  background-image: url('/investors/library/integratedreport/report/2026/message/ceo/img/bg_kv_ceo.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* 取締役座談会専用背景 */
.ir-message-mv--discussion {
  background-image: url('/investors/library/integratedreport/report/2026/contents/discussion/img/kv_discussion.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.ir-message-mv--discussion .ir-message-mv__subtitle {
  margin-bottom: 0;
}

/* --------------------------------------------------
   座談会メンバー紹介
   -------------------------------------------------- */
.ir-discussion-members {
  background: #fff;
}

.ir-discussion-members__inner {
  max-width: 1258px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-left: clamp(20px, 9.4vw, 118px);
  padding-right: clamp(20px, 9.4vw, 118px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0;
  padding-top: clamp(24px, 3.8vw, 48px);
  padding-bottom: clamp(24px, 3.8vw, 48px);
  min-height: 0;
}

.ir-discussion-members__caption {
  font-size: clamp(12px, 1.27vw, 16px);
  font-weight: 400;
  color: #000;
  white-space: nowrap;
  margin: 0;
  padding-right: clamp(12px, 1.9vw, 24px);
}

.ir-discussion-members__caption:first-child {
  padding-left: 0;
}

.ir-discussion-members__group {
  display: flex;
  gap: clamp(24px, 3.8vw, 48px);
}

.ir-discussion-members__group + .ir-discussion-members__caption {
  padding-left: clamp(36px, 5.9vw, 74px);
}

.ir-discussion-members__person {
  display: flex;
  flex-direction: column;
  gap: 4px;
  white-space: nowrap;
}

.ir-discussion-members__role {
  font-size: clamp(12px, 1.27vw, 16px);
  font-weight: 400;
  color: #000;
  margin: 0;
}

.ir-discussion-members__name {
  font-size: clamp(14px, 1.59vw, 20px);
  font-weight: 700;
  color: #000;
  margin: 0;
}

.ir-discussion-lead {
  margin-bottom: 64px !important;
  display: block;
}

.ir-discussion-img {
  margin-top: 48px;
  margin-bottom: 48px;
}

.ir-discussion-img img {
  width: 100%;
  height: auto;
  display: block;
}

.ir-discussion-img05 {
  margin-bottom: 40px;
  display: block;
}

.ir-discussion-speaker {
  font-weight: 700;
  display: inline-block;
  color: #fff;
  padding: 0 0.25em;
  margin-right: 0.25em;
  line-height: 1.3;
}

.ir-discussion-speaker--terahata { background-color: #00a272; }
.ir-discussion-speaker--asakura  { background-color: #977845; }
.ir-discussion-speaker--kidera   { background-color: #00a0e9; }
.ir-discussion-speaker--okamoto  { background-color: #0079bc; }
.ir-discussion-speaker--uchida   { background-color: #e1827e; }

/* CFO専用背景 */
.ir-message-mv--cso {
  background-image: url('/investors/library/integratedreport/report/2026/message/cso/img/bg_kv_cso.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.ir-message-mv--cso .ir-message-mv__title,
.ir-message-mv--cso .ir-message-mv__subtitle,
.ir-message-mv--cso .ir-message-mv__role,
.ir-message-mv--cso .ir-message-mv__name {
  color: #000;
}

.ir-message-mv--cso .ir-message-mv__person {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

/* CFO専用背景 */
.ir-message-mv--cfo {
  background-image: url('/investors/library/integratedreport/report/2026/message/cfo/img/bg_kv_cfo.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* CFO：テキストを右半分に配置 */
.ir-message-mv--cfo .ir-message-mv__inner {
  justify-content: flex-start;
}

.ir-message-mv--cfo .ir-message-mv__text {
  margin-left: calc(50% + 100px);
  width: fit-content;
}

.ir-message-mv--cfo .ir-message-mv__person {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

/* HR：PC時タイトルフォントサイズ固定 */
.ir-message-mv--hr .ir-message-mv__title {
  font-size: calc(clamp(20px, 2.5vw, 32px) * 0.8);
  color: #000;
}

.ir-message-mv--hr .ir-message-mv__text {
  color: #000;
}

.ir-message-mv--hr .ir-message-mv__subtitle,
.ir-message-mv--hr .ir-message-mv__role,
.ir-message-mv--hr .ir-message-mv__name {
  color: #000;
}

/* HR専用背景 */
.ir-message-mv--hr {
  background-image: url('/investors/library/integratedreport/report/2026/contents/hr/img/bg_kv_jinji.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.ir-message-mv--hr .ir-message-mv__person {
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}


.ir-message-mv--plan {
  background-image: url('/investors/library/integratedreport/report/2026/cat_assets/img/common/bg_kv.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* --------------------------------------------------
   下層ページ：ページMV（画像なし・タイトル中央）
   -------------------------------------------------- */
.ir-page-mv {
  position: relative;
  width: 100%;
  height: 264px;
  overflow: hidden;
  background-color: #f0f0ee;
}

.ir-page-mv--plan,
.ir-page-mv--sustainability {
  background-image: url('/investors/library/integratedreport/report/2026/cat_assets/img/common/bg_kv.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

/* --------------------------------------------------
   スペシャルフィーチャー KV
   -------------------------------------------------- */

.ir-page-mv--special {
  background-image: url('/investors/library/integratedreport/report/2026/contents/special-feature/img/img_kv.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: clamp(240px, 32vw, 480px);
  overflow: hidden;
}

.ir-page-mv--special .ir-page-mv__inner--special {
  display: flex;
  align-items: center;
  gap: 48px;
  height: 100%;
  max-width: 1494px;
  margin: 0 auto;
  padding: 0 clamp(20px, 9.4vw, 118px);
  box-sizing: border-box;
}

.ir-special-kv__left {
  flex: 740 0 0;
  min-width: 0;
  box-sizing: border-box;
}

.ir-special-kv__label {
  font-size: 26px;
  font-weight: 400;
  color: #000;
  margin: 0 0 8px;
}

.ir-special-kv__title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: clamp(24px, 5.4vw, 88px) !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.24 !important;
  margin: 0 !important;
}

.ir-special-kv__right {
  flex: 506 0 0;
  min-width: 0;
  box-sizing: border-box;
}

.ir-special-kv__lead {
  font-size: clamp(14px, 1.47vw, 22px);
  font-weight: 700;
  color: #000;
  line-height: 1.8;
  margin: 0;
}


.ir-page-mv__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 264px;
}

.ir-page-mv__title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 48px !important;
  font-weight: 400 !important;
  color: #000 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
  text-align: center;
}

/* --------------------------------------------------
   planページ：各事業の役割および目標 見出し
   -------------------------------------------------- */
.ir-plan-business-name {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #5C7364 !important;
  line-height: 32px !important;
  margin: 50px 0 0 !important;
}

.ir-plan-business-name:first-of-type {
  margin-top: 0;
}

.ir-plan-business-name--mt24 {
  margin-top: 36px !important;
}

.ir-plan-business-role {
  font-size: 18px;
  font-weight: 700;
  color: #033824;
  line-height: 32px;
  margin: 0;
}

.ir-plan-business-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 7px 10px 10px 10px;
  height: 34px;
  box-sizing: border-box;
  background: var(--JT-green-30, rgba(0, 162, 115, 0.30));
  font-size: 14px;
  font-weight: 700;
  color: #000;
  text-decoration: underline;
}

.ir-plan-business-link:hover {
  background: rgba(0, 162, 115, 0.45);
}

.ir-plan-business-link--sp-only {
  display: none !important;
}

.ir-plan-business-link--pdf::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 16px;
  background: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
  flex-shrink: 0;
  margin-left: 8px;
  vertical-align: middle;
}

/* 詳しくはこちら + テキストリンク */
.ir-detail-link-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 16px;
}

/* 横並び複数リンク用ラッパー */
.ir-detail-link-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  margin-top: 16px;
}

.ir-detail-link-row .ir-detail-link-wrap {
  margin-top: 0;
}

/* テキストのみのラップ（PCはflexアイテムとして横並び） */
.ir-detail-link-wrap--text-only {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  /* SPはgridに切り替え：1列目=ボタン幅固定、2列目=テキスト */
  .ir-detail-link-row {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 10px 16px;
  }
  .ir-detail-link-row .ir-detail-link-wrap {
    grid-column: 1 / -1;
    display: contents;
  }
  .ir-detail-link-row .ir-detail-link-wrap .ir-detail-btn {
    grid-column: 1;
  }
  .ir-detail-link-row .ir-detail-link-wrap .ir-detail-link {
    grid-column: 2;
  }
  .ir-detail-link-wrap--text-only {
    grid-column: 2;
    margin-top: 0;
  }
}

.ir-detail-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  height: 36px;
  background: rgba(0, 162, 115, 0.50);
  color: var(--gray-000000, #000);
  font-size: 15px;
  font-weight: 700;
  line-height: 16px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

@media screen and (max-width: 767px) {
  .ir-detail-btn {
    font-size: 14px;
    gap: 4px;
    padding: 0 10px;
    height: 30px;
  }
}

.ir-detail-btn:hover {
  background: rgba(0, 162, 115, 0.50);
  cursor: default;
}

.ir-detail-btn__icon {
  width: 21px;
  height: 16px;
  flex-shrink: 0;
}

.ir-detail-link {
  color: var(--gray-000000, #000);
  font-size: 16px;
  font-weight: 700;
  line-height: 16px;
  text-decoration: underline;
  background: none;
  padding: 0;
  margin: 0;
}

.ir-detail-link:hover {
  text-decoration: none;
  color: #033824;
}

@media screen and (max-width: 767px) {
  .ir-detail-link {
    line-height: 20px;
  }
}

.ir-detail-link.ir-plan-business-link--pdf::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 16px;
  background: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
  flex-shrink: 0;
  margin-left: 8px;
  vertical-align: middle;
}

.ir-plan-lead {
  margin-bottom: 80px;
}

.ir-plan-lead__text {
  font-size: 16px;
  font-weight: 400;
  color: #444;
  line-height: 32px;
  margin: 0;
}

/* --------------------------------------------------
   planページ：サブ見出し（緑背景帯）
   -------------------------------------------------- */
.ir-plan-sub-heading {
  font-family: 'Noto Sans JP', sans-serif !important;
  min-height: 34px;
  padding: 5px 0 10px 20px !important;
  background: rgba(0, 162, 115, 0.15);
  margin: 56px 0 24px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #000 !important;
  line-height: normal !important;
  display: flex;
  align-items: center;
}

.ir-plan-sub-heading--food {
  font-family: 'Noto Sans JP', sans-serif !important;
  min-height: 34px;
  padding: 5px 0 10px 20px !important;
  background: rgba(0, 162, 115, 0.15);
  margin: 40px 0 24px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #000 !important;
  line-height: normal !important;
  display: flex;
  align-items: center;
}

.ir-plan-sub-heading--tobacco {
  font-family: 'Noto Sans JP', sans-serif !important;
  min-height: 34px;
  padding: 5px 0 10px 20px !important;
  background: rgba(0, 162, 115, 0.15);
  margin: 40px 0 24px !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #000 !important;
  line-height: normal !important;
  display: flex;
  align-items: center;
}

.ir-article__section-heading + .ir-plan-sub-heading,
.ir-article__section-heading + .ir-plan-sub-heading--food,
.ir-article__section-heading + .ir-plan-sub-heading--tobacco {
  margin-top: 0;
}

.ir-article__text + .ir-plan-sub-heading {
  margin-top: 56px;
}

.ir-plan-sub-heading + .ir-article__subsection-heading,
.ir-plan-sub-heading--food + .ir-article__subsection-heading {
  margin-top: 16px;
}

.ir-article__subsection-heading + .ir-article__subsection-heading {
  margin-top: 0;
}

.ir-plan-sub-heading ~ .ir-article__subsection-heading,
.ir-plan-sub-heading--food ~ .ir-article__subsection-heading {
  padding-left: 44px;
}

.ir-plan-sub-heading ~ .ir-article__subsection-heading::before {
  left: 20px;
}

sup {
  line-height: 0;
  font-size: 0.75em;
  vertical-align: 0.4em;
}

@media screen and (max-width: 767px) {
  .ir-page-mv {
    height: auto;
    overflow: hidden;
    background-color: #fff;
    margin-top: -16vw;
  }

  .ir-page-mv--plan,
  .ir-page-mv--sustainability {
    background-image: none;
  }

  .ir-page-mv--special {
    background-image: none;
    height: auto;
    overflow: hidden;
    position: relative;
  }

  .ir-page-mv--special::before {
    content: '';
    display: block;
    width: 100%;
    height: 616px;
    background-image: url('/investors/library/integratedreport/report/2026/contents/special-feature/img/img_kv_sp.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }

  .ir-page-mv--special .ir-page-mv__inner--special {
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    gap: 0;
    padding: 154px 16px 32px;
    position: relative;
    z-index: 1;
    min-height: 616px;
  }

  .ir-special-kv__title {
    font-size: 40px !important;
    line-height: 1.3 !important;
  }

  .ir-special-kv__label {
    font-size: 20px;
  }

  .ir-special-kv__left {
    flex: none;
    width: 100%;
  }

  .ir-special-kv__right {
    flex: none;
    width: 100%;
    margin-top: 24px;
  }

  .ir-special-kv__lead {
    font-size: 16px;
    line-height: 1.8;
  }

  .ir-page-mv--plan::before,
  .ir-page-mv--sustainability::before {
    content: '';
    display: block;
    height: 200px;
    background-image: url('/investors/library/integratedreport/report/2026/cat_assets/img/common/bg_kv_sp.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
  }

  .ir-page-mv__inner {
    height: auto;
    min-height: unset;
    padding: calc(16vw + 30px) 16px 0;
    justify-content: flex-start;
    box-sizing: border-box;
  }

  .ir-page-mv__title {
    font-size: 36px !important;
    text-align: left;
    position: static;
    top: auto;
    padding: 0 0 38px !important;
    width: 100%;
  }

  .ir-page-mv__title br {
    display: none;
  }
}

/* インナー：1258px中央寄せ・左テキスト＋右画像 */
.ir-message-mv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 80px clamp(20px, 9.4vw, 118px) 0;
}

/* テキストブロック（左・縦中央） */
.ir-message-mv__text {
  flex: 0 0 auto;
  width: fit-content;
  padding: 24px;
  background: rgba(255, 255, 255, 0.72);
  color: #033824;
}

/* カテゴリラベル（小さめ・通常色） */
.ir-message-mv__category {
  font-size: clamp(11px, 1.0vw, 13px);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #033824;
  margin: 0 0 8px;
  line-height: 1.5;
}

/* ページタイトル h1（中サイズ） */
.ir-message-mv__title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: clamp(24px, 2.5vw, 32px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  color: #000 !important;
  margin: 0 0 12px !important;
  line-height: 1.4 !important;
}

/* サブタイトル（緑・大きめ・目立つ） */
.ir-message-mv__subtitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: clamp(16px, 2.4vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  color: #000 !important;
  margin: 0 0 32px !important;
  line-height: 1.3 !important;
}

/* 人物情報ブロック */
.ir-message-mv__person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 24px;
}

.ir-message-mv__person-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* 役職 */
.ir-message-mv__role {
  font-size: clamp(12px, 1.3vw, 18px);
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #000;
  margin: 0;
  line-height: 1.5;
}

/* 氏名 */
.ir-message-mv__name {
  font-size: clamp(20px, 2.3vw, 32px);
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #000;
  margin: 0;
  line-height: 1.4;
}

/* サイン画像 */
.ir-message-mv__name-sign {
  display: inline-flex;
  align-items: center;
}

.ir-message-mv__name-sign img {
  width: 264px;
  height: 74px;
  aspect-ratio: 132 / 37;
  display: block;
}

/* 人物画像（右・下揃え） */
.ir-message-mv__img-wrap {
  position: static;
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
}

.ir-message-mv__img {
  content: url('/investors/library/integratedreport/report/2026/message/ceo/img/img_ceo01.png');
  display: block;
  height: 480px;
  width: auto;
  object-fit: contain;
  object-position: bottom;
}

/* --------------------------------------------------
   下層ページ：戻るボタン余白
   -------------------------------------------------- */
.ir-article + .ir-back-btn-wrap {
  margin-top: clamp(60px, 9vw, 130px);
  margin-bottom: clamp(18px, 2.7vw, 39px);
  opacity: 1;
  transform: none;
}

.new-responsive-template .ir-message-mv ~ .ir-sp-library,
.new-responsive-template .ir-local-nav ~ .ir-sp-library,
.new-responsive-template .ir-article ~ .ir-sp-library,
.new-responsive-template .ir-back-btn-wrap + .ir-sp-library,
.new-responsive-template .ir-back-btn-wrap ~ .ir-sp-library {
  opacity: 1;
  transform: none;
}

/* --------------------------------------------------
   下層ページ：ローカルナビ
   -------------------------------------------------- */
.ir-local-nav {
  background-color: #fff;
  height: auto;
}

.ir-local-nav__inner {
  max-width: 1258px;
  margin: 0 auto;
  padding: clamp(20px, 2.5vw, 32px) clamp(20px, 9.4vw, 118px);
  min-height: 120px;
  display: flex;
  align-items: stretch;
  gap: 0;
}

.ir-local-nav__label {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(12px, 1.4vw, 18px);
  font-weight: 700;
  letter-spacing: 0;
  color: #033824;
  white-space: nowrap;
  padding: 0 32px 0 0;
  border-right: 1px solid #033824;
  margin: 0;
  display: flex;
  align-items: center;
  align-self: stretch;
}

.ir-local-nav__list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 32px !important;
  display: grid;
  grid-template-columns: minmax(0, 526px) minmax(0, 526px);
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 0;
  column-gap: 48px;
  row-gap: 0;
  align-content: center;
  flex: 1;
}

.ir-local-nav--cso .ir-local-nav__list {
  grid-template-rows: repeat(3, auto);
}

.ir-local-nav--hr .ir-local-nav__list,
.ir-local-nav--plan .ir-local-nav__list {
  grid-template-rows: repeat(2, auto);
}

.ir-local-nav--2col .ir-local-nav__list {
  grid-template-rows: auto;
  grid-auto-flow: row;
}

.ir-local-nav--food .ir-local-nav__list {
  grid-template-rows: repeat(2, auto);
  grid-template-columns: minmax(0, 526px) minmax(0, 526px);
  grid-template-areas:
    "a b"
    "c b";
}

.ir-local-nav--food .ir-local-nav__item:nth-child(1) { grid-area: a; }
.ir-local-nav--food .ir-local-nav__item:nth-child(2) { grid-area: c; }
.ir-local-nav--food .ir-local-nav__item:nth-child(3) { grid-area: b; align-self: start; }

.ir-local-nav--tobacco .ir-local-nav__list {
  grid-template-rows: repeat(2, auto);
  grid-template-columns: minmax(0, 526px) minmax(0, 526px);
  grid-template-areas:
    "a b"
    "c b";
}

.ir-local-nav--tobacco .ir-local-nav__item:nth-child(1) { grid-area: a; }
.ir-local-nav--tobacco .ir-local-nav__item:nth-child(2) { grid-area: c; }
.ir-local-nav--tobacco .ir-local-nav__item:nth-child(3) { grid-area: b; align-self: start; }

.ir-local-nav__item {
  display: flex;
  align-items: center;
  border-bottom: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='358' height='1' viewBox='0 0 358 1' fill='none'%3E%3Cpath d='M0 0.5H358' stroke='black' stroke-dasharray='1 1'/%3E%3Cpath d='M0 0.5H358' stroke='%235C7364' stroke-dasharray='1 1'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto 1px;
  padding: 10px 0;
}

.ir-local-nav__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  font-size: clamp(12px, 1.4vw, 18px);
  font-weight: 400;
  color: #033824;
  text-decoration: none;
  line-height: 1.5;
  transition: color 0.2s;
}

.ir-local-nav__link svg {
  flex-shrink: 0;
}

.ir-local-nav__link:hover {
  color: #00a273;
}

/* --------------------------------------------------
   下層ページ：記事本文エリア
   -------------------------------------------------- */
.ir-article {
}

.ir-article__inner {
  max-width: 1258px;
  margin: 0 auto;
  padding: 0 clamp(20px, 9.4vw, 118px);
}

.ir-article__section {
  margin-bottom: 64px;
}

.ir-article__section:first-child {
  margin-top: 0;
}

.ir-article__section-heading {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: #5C7364 !important;
  line-height: 1.5 !important;
  margin: 0 0 25px !important;
  padding-top: 25px !important;
  position: relative;
  border-top: none;
}

.ir-article__section-heading::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 4px;
  background-color: #00A273;
}

.ir-article__section-heading::after {
  content: '';
  position: absolute;
  top: 1.5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #00A273;
}

/* --------------------------------------------------
   事業Purpose ブロック
   -------------------------------------------------- */
.ir-biz-purpose {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 16px 0 80px;
}

.ir-biz-purpose__label {
  font-size: 16px;
  font-weight: 700;
  color: #5C7364;
  margin: 0;
  white-space: nowrap;
}

.ir-biz-purpose__divider {
  width: 1px;
  height: 64px;
  background: #5C7364;
  margin: 0 22px;
  flex-shrink: 0;
}

.ir-biz-purpose__text {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 32px;
  font-weight: 500;
  color: #000;
  margin: 0;
  line-height: 1.4;
}

/* --------------------------------------------------
   加工食品事業：サブ事業（冷食・調味料）共通
   -------------------------------------------------- */
.ir-food-sub-heading {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #5C7364 !important;
  margin: 0 0 4px !important;
  line-height: 32px !important;
}

.ir-food-sub-heading--mt20 {
  margin-top: 20px !important;
}


/* 左テキスト＋右画像 2カラム */
.ir-food-2col {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-top: 24px;
}

.ir-food-2col__text {
  flex: 1;
}

.ir-food-2col--float-img {
  display: block;
}

.ir-food-2col--float-img .ir-food-2col__img-wrap {
  float: right;
  width: 48%;
  margin-left: 40px;
  margin-bottom: 16px;
  flex: none;
}

.ir-food-2col--float-img .ir-food-2col__text {
  float: none;
  flex: none;
  width: auto;
  min-width: 0;
}

.ir-food-2col--float-img::after {
  content: '';
  display: table;
  clear: both;
}

.ir-food-2col--ks {
  gap: 48px;
  margin-top: 48px;
}

.ir-food-2col--ks .ir-food-2col__text {
  flex: 860 1 0;
  min-width: 0;
}

.ir-food-2col__text .ir-article__footnote {
  margin-bottom: 0;
}

.ir-food-2col--ks .ir-food-2col__img-wrap {
  flex: 0 0 339px;
  width: 339px;
}

.ir-food-2col--tm {
  gap: 48px;
}

.ir-food-2col--tm .ir-food-2col__text {
  flex: 860 1 0;
  min-width: 0;
}

.ir-food-2col--tm .ir-food-2col__img-wrap {
  flex: 0 0 322px;
  width: 322px;
}

.ir-food-2col--arise {
  gap: 48px;
}

.ir-food-2col--arise .ir-food-2col__text {
  flex: 810 1 0;
  min-width: 0;
}

.ir-food-2col--arise .ir-food-2col__img-wrap {
  flex: 0 0 400px;
  width: 400px;
}

.ir-food-2col--perf {
  gap: 48px;
  align-items: flex-start;
}

.ir-food-perf-wrap {
  width: 600px;
  max-width: 100%;
  margin-top: 16px;
  margin-left: auto;
  margin-right: auto;
}

.ir-food-perf-img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 8px;
}

.ir-food-2col--perf .ir-food-2col__text {
  flex: 860 1 0;
  min-width: 0;
}

.ir-food-2col--perf .ir-food-2col__img-wrap {
  flex: 0 0 377px;
  width: 377px;
}

.ir-food-2col--perf .ir-food-2col__img {
  width: 100%;
  height: auto;
}

.ir-swot-wrap + .ir-plan-sub-heading,
.ir-swot-wrap + .ir-plan-sub-heading--food {
  margin-top: 0;
}

.ir-food-safe + .ir-plan-sub-heading,
.ir-food-safe + .ir-plan-sub-heading--food,
.ir-food-2col + .ir-plan-sub-heading,
.ir-food-2col + .ir-plan-sub-heading--food {
  margin-top: 40px;
}

.ir-food-graph__label {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  line-height: 32px;
  margin: 0 0 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ir-food-graph__label--mt15 {
  margin-top: 20px;
}

.ir-food-graph__label--mt20 {
  margin-top: 30px;
}

.ir-food-graph__label-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #00A273;
  flex-shrink: 0;
}

.ir-food-graph__label-unit {
  font-size: 14px;
  font-weight: 300;
}

.ir-special-graph {
  max-width: 1000px;
  margin: 0 auto;
}

.ir-special-graph-wrap {
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .ir-special-graph-wrap--sp-mt20 {
    margin-top: 40px;
  }
}


.ir-special-graph-wrap--centered {
  max-width: 800px;
}

.ir-special-graph__img {
  width: 100%;
  height: auto;
  margin-top: 8px;
}

.ir-special-graph__img--04,
.ir-special-graph__img--05 {
  width: 100%;
  height: auto;
  margin-top: 8px;
}

.ir-special-graph__img--04 {
  max-width: 1258px;
}

.ir-special-graph__img--05 {
  max-width: 1000px;
}

.ir-special-graph:has(.ir-special-graph__img--04),
.ir-special-graph:has(.ir-special-graph__img--05) {
  max-width: 1258px;
}

.ir-food-img-caption {
  font-size: 12px;
  font-weight: 400;
  color: #444;
  line-height: 1.6;
  margin-top: 0;
}

.ir-food-img-caption--mt10 {
  margin-top: 10px;
}

.ir-food-img-caption__note {
  display: flex;
  gap: 0;
}

.ir-food-img-caption__note-label {
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

.ir-food-img-caption__note-body {
  flex: 1;
}

.ir-food-img-caption__note-body ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ir-food-img-caption__note-body ol li {
  display: flex;
  gap: 0.25em;
}

.ir-food-img-caption__note-body ol li::before {
  content: none;
}


.ir-special-text--mt56 {
  margin-top: 56px;
}

.ir-article__text.ir-special-text--mt56 {
  margin-top: 56px;
}

.ir-special-full-img {
  display: block;
  width: 100%;
  max-width: 1258px;
  height: auto;
  margin-top: 40px;
}

.ir-food-graph__label--left {
  margin-top: 40px;
}

.ir-food-2col__img-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ir-food-2col__img {
  width: 100%;
  height: auto;
  display: block;
}

/* --------------------------------------------------
   D-LAB
   -------------------------------------------------- */
.ir-dlab-full-img {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 32px;
}

.ir-dlab-full-img--sp {
  display: none;
}

.ir-dlab-person__img-wrap {
  gap: 0;
}

.ir-dlab-person__name {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: var(--p-honbun, #444) !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  margin: 12px 0 0 !important;
  line-height: 1.2 !important;
}

.ir-dlab-person__title {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: var(--p-honbun, #444) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  margin: 3px 0 0 !important;
  line-height: 1.2 !important;
}

.ir-dlab-fig-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #000 !important;
  margin: 40px 0 0 !important;
}

.ir-dlab-2col {
  display: flex;
  gap: 56px;
  align-items: center;
  justify-content: center;
  margin-top: 32px;
}

.ir-dlab-2col__img-wrap {
  flex: 0 0 510px;
}

.ir-dlab-2col__img {
  width: 100%;
  height: auto;
}

.ir-dlab-2col__text {
  flex: 0 0 360px;
}

/* --------------------------------------------------
   加工食品事業：SWOT分析
   -------------------------------------------------- */
.ir-swot-wrap {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-top: 32px;
  margin-bottom: 40px;
}

.ir-swot-wrap--tobacco {
  gap: 48px;
}

.ir-swot-wrap--text-only {
  flex-direction: column;
  gap: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.ir-swot-wrap--1col {
  flex-direction: column;
  gap: 16px;
  align-items: center;
}

.ir-swot-wrap--1col .ir-swot-wrap__img-wrap {
  flex: none;
  width: min(700px, 100%);
}

.ir-swot-wrap--1col .ir-swot-wrap__footnote {
  flex: none;
  width: min(700px, 100%);
}

.ir-swot-wrap--tobacco .ir-swot-wrap__img-wrap {
  flex: none;
  width: min(700px, 55%);
}

.ir-tobacco-wide-img {
  display: block;
  width: min(1000px, 100%);
  height: auto;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
}

.ir-tobacco-wide-wrap {
  margin-top: 40px;
  width: min(1000px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.ir-tobacco-wide-wrap .ir-tobacco-wide-img {
  margin-top: 0;
}

.ir-tobacco-info-box {
  border-top: 1px solid #00A273;
  border-left: 1px solid #00A273;
  padding: 24px 0 0 32px;
  margin-top: 40px;
}

.ir-tobacco-info-box__heading {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #00A273 !important;
  margin: 0 0 8px !important;
  line-height: normal !important;
}

.ir-tobacco-info-box .ir-article__text {
  margin-top: 0;
}

.ir-tobacco-graph-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin-top: 32px;
}

.ir-tobacco-graph-item img {
  width: 100%;
  height: auto;
}

.ir-tobacco-img-scroll {
  display: block;
}

.ir-food-img-scroll {
  display: block;
}

.ir-tobacco-graph-item .ir-food-graph__label--left {
  margin-top: 0;
}

.ir-tobacco-info-box .ir-plan-business-link {
  margin-top: 24px;
  display: inline-flex;
}

.ir-tobacco-info-box .ir-science-link-sp {
  display: none !important;
}

@media (max-width: 767px) {
  .ir-tobacco-info-box .ir-science-link-pc {
    display: none !important;
  }

  .ir-food-2col--science .ir-science-link-sp {
    display: flex !important;
    align-self: flex-start;
    margin-bottom: 16px;
  }


  .ir-tobacco-graph-wrap {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .ir-tobacco-graph-item {
    min-width: 0;
  }

  .ir-tobacco-img-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #00A273 #d9ede8;
    padding-bottom: 5px;
    width: 100%;
  }

  .ir-tobacco-img-scroll::-webkit-scrollbar {
    height: 6px;
  }

  .ir-tobacco-img-scroll::-webkit-scrollbar-track {
    background: #d9ede8;
  }

  .ir-tobacco-img-scroll::-webkit-scrollbar-thumb {
    background: #00A273;
    border-radius: 3px;
  }

  .ir-tobacco-img-scroll--wide img,
  .ir-tobacco-wide-wrap .ir-tobacco-img-scroll--wide img {
    width: auto !important;
    height: 300px !important;
  }

  .ir-tobacco-img-scroll--graph04 img,
  .ir-tobacco-graph-item .ir-tobacco-img-scroll--graph04 img {
    width: auto !important;
    height: 185px !important;
  }

  .ir-tobacco-img-scroll--graph05 img,
  .ir-tobacco-graph-item .ir-tobacco-img-scroll--graph05 img {
    width: auto !important;
    height: 290px !important;
  }

  .ir-tobacco-img-scroll .ir-tobacco-wide-img {
    width: auto;
  }

  .ir-food-img-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #00A273 #d9ede8;
    padding-bottom: 5px;
    width: 100%;
    min-width: 0;
  }

  .ir-food-img-scroll::-webkit-scrollbar {
    height: 6px;
  }

  .ir-food-img-scroll::-webkit-scrollbar-track {
    background: #d9ede8;
  }

  .ir-food-img-scroll::-webkit-scrollbar-thumb {
    background: #00A273;
    border-radius: 3px;
  }

  .ir-food-img-scroll img {
    width: auto !important;
    max-width: none !important;
    height: 330px !important;
  }

  .ir-tobacco-info-box {
    padding: 12px 0 0 16px;
    margin-top: 20px;
  }

  .ir-tobacco-info-box .ir-plan-business-link {
    margin-top: 0;
  }

  .ir-food-2col--arise .ir-food-2col__img-wrap {
    flex: none;
    width: 100%;
  }
}

.ir-swot-wrap__left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ir-swot-wrap__text {
  flex: 606 1 0;
  min-width: 0;
  font-size: 16px;
  font-weight: 400;
  color: #444;
  line-height: 32px;
  margin: 0;
}

.ir-swot-wrap__img-wrap {
  flex: 604 1 0;
  min-width: 0;
}

.ir-swot-wrap__footnote {
  flex: 606 1 0;
  min-width: 0;
}

.ir-swot-wrap__footnote p {
  font-size: 12px;
  color: #5C7364;
  margin: 0;
  line-height: 1.7;
}

.ir-swot-wrap__footnote .ir-article__footnote__item {
  font-size: 12px;
  color: #5C7364;
  line-height: 1.7;
}

.ir-swot-wrap__img {
  width: 100%;
  height: auto;
  display: block;
}


.ir-swot-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  position: relative;
}

/* 4象限セル共通 */
.ir-swot-cell {
  border: 1px solid #ccc;
  padding: 24px 20px 28px;
  background: #fff;
}

.ir-swot-cell--s { border-color: #00A273; }
.ir-swot-cell--w { border-color: #ccc; }
.ir-swot-cell--o { border-color: #ccc; }
.ir-swot-cell--t { border-color: #ccc; }

/* 象限タイトル行 */
.ir-swot-cell__heading {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  margin: 0 0 16px !important;
  line-height: 1 !important;
}

.ir-swot-cell__letter {
  font-family: 'Cormorant Garamond', serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}

.ir-swot-cell--s .ir-swot-cell__letter { color: #00A273; }
.ir-swot-cell--w .ir-swot-cell__letter { color: #033824; }
.ir-swot-cell--o .ir-swot-cell__letter { color: #033824; }
.ir-swot-cell--t .ir-swot-cell__letter { color: #033824; }

.ir-swot-cell__name {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #033824 !important;
}

/* リスト */
.ir-swot-cell__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ir-swot-cell__list li {
  font-size: 14px;
  font-weight: 400;
  color: #444;
  line-height: 1.7;
  padding-left: 16px;
  position: relative;
}

.ir-swot-cell__list li::before {
  content: '■';
  position: absolute;
  left: 0;
  font-size: 8px;
  top: 6px;
  color: #444;
}

/* 中央バッジ */
.ir-swot-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  background: #00A273;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.ir-swot-badge__text {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}

.ir-swot-badge__sub {
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  text-align: center;
}

.ir-sustainability-img-wrap {
  text-align: center;
  margin-top: 40px;
  margin-bottom: 50px;
}

.ir-sustainability-img {
  width: 100%;
  height: auto;
}

/* --------------------------------------------------
   Materiality グリッド・カード
   -------------------------------------------------- */
.ir-materiality-grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 48px;
}

.ir-materiality-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.ir-materiality-row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.ir-materiality-row .ir-materiality-card {
  flex: 1;
}

.ir-materiality-note-text {
  font-size: 16px;
  color: #333;
  line-height: 1.8;
  margin: 0;
}

.ir-materiality-card--col2 {}
.ir-materiality-card--col1 {}
.ir-materiality-card--empty {
  background-color: transparent;
  border-top: none;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}

.ir-materiality-card:nth-child(1) { grid-area: unset; }
.ir-materiality-card:nth-child(2) { grid-area: unset; }
.ir-materiality-card:nth-child(3) { grid-area: unset; }
.ir-materiality-card:nth-child(4) { grid-area: unset; }
.ir-materiality-card:nth-child(5) { grid-area: unset; }

.ir-materiality-card {
  background-color: rgba(0, 162, 115, 0.20);
  border-top: 8px solid #00A273;
  padding: clamp(12px, 2vw, 24px) clamp(16px, 2.5vw, 32px) clamp(16px, 2.5vw, 32px);
  display: flex;
  flex-direction: column;
}

.ir-materiality-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.ir-materiality-card__icon {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
}

.ir-materiality-card__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #033824;
  margin: 0;
}

.ir-materiality-card__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 32px;
  color: #444;
  margin: 0 0 16px;
}

.ir-materiality-card__note {
  font-size: 12px;
  line-height: 1.7;
  color: #555;
  margin: 0 0 16px;
}

.ir-materiality-card__link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background-color: #fff;
  color: #000;
  font-size: 14px;
  font-weight: 700;
  padding: 8px 10px;
  text-decoration: none;
  transition: background 0.2s;
}

.ir-materiality-card__link-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

.ir-materiality-card__link:hover {
  background: rgba(0, 162, 115, 0.30);
}

.ir-materiality-card__link + .ir-materiality-card__link {
  margin-top: 0;
}

.ir-materiality-card__link svg {
  flex-shrink: 0;
}

.ir-materiality-card__link-text {
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.ir-materiality-card__pdf-icon {
  width: 15px;
  height: 16px;
}

.ir-article__subsection-heading {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #444 !important;
  line-height: 32px !important;
  margin: 24px 0 0 !important;
  padding-left: 0 !important;
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.ir-article__subsection-heading::before {
  content: '■';
  color: #00A273;
  font-size: 16px;
  font-weight: 400;
  position: static;
  flex-shrink: 0;
}

.ir-article__subsection-heading--food {
  margin: 32px 0 0 !important;
}

.ir-article__subsection-heading--food + .ir-article__subsection-heading--food {
  margin-top: 0;
}

.ir-article__subsection-heading--food-last {
  margin-bottom: 32px !important;
}

.ir-article__text {
  font-size: 16px;
  font-weight: 400;
  color: #444;
  line-height: 32px;
  margin: 0;
}

.ir-article__text--mt-line {
  margin-top: 32px;
}

.ir-article__text:last-child {
  margin-bottom: 0;
}

.ir-article__footnote {
  margin: 16px 0 56px;
}

.ir-article__footnote p {
  font-size: 12px;
  color: #5C7364;
  margin: 0;
  line-height: 1.7;
}

.ir-article__footnote p:last-child {
  margin-bottom: 0;
}

.ir-article__footnote__item {
  display: flex;
  font-size: 12px;
  color: #5C7364;
  line-height: 1.7;
  margin: 0;
}

.ir-article__footnote__item-num {
  white-space: nowrap;
  flex-shrink: 0;
}

.ir-article__footnote__item-text {
  flex: 1;
}

.ir-footnote-bullet {
  font-size: 50%;
  vertical-align: 0.3em;
}

.ir-article__link {
  color: #444;
  text-decoration: underline;
  text-decoration-color: #00A273;
}

.ir-article__link:hover {
  opacity: 0.75;
}

.ir-article__link-ref {
  margin: 24px 0 0;
}

.ir-article__link-ref a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: clamp(12px, 1.0vw, 14px);
  font-weight: 500;
  color: #5C7364;
  text-decoration: underline;
  line-height: 1.6;
  transition: opacity 0.2s;
}

.ir-article__link-ref a:hover {
  opacity: 0.75;
}

/* READ MORE（details/summary） */
.ir-article__readmore {
  /* PC：summary・CLOSEボタンを隠してコンテンツをそのまま表示 */
}

.ir-article__readmore-btn {
  display: none; /* PC非表示 */
}

.ir-article__readmore-btn--close {
  display: none; /* PC非表示 */
}

.ir-article__readmore-body {
  /* PC：常に表示 */
  display: block;
}

/* PC：previewのグラデーション非表示 */
.ir-article__readmore-preview::after {
  display: none;
}

/* 経営資源配分方針ボックス */
.ir-article__img-wrap {
  margin: 80px 0;
  text-align: center;
}

.ir-article__img {
  display: block;
  width: 736px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.ir-article__img--full {
  width: 100%;
  max-width: 1258px;
  margin-top: 32px;
  margin-bottom: 64px;
}

.ir-article__img--mb-sm {
  margin-bottom: 32px;
}

.ir-article__img--80 {
  width: 80%;
}

/* SP専用改行 */
.ir-sp-br {
  display: none;
}

.ir-pc-br {
  display: block;
}

.ir-sp-only {
  display: none;
}

.ir-sp-only--block {
  display: none;
}

.ir-pc-only {
  /* PC: display は要素本来の値を維持（flex/block等を上書きしない） */
}

@media screen and (max-width: 767px) {
  .ir-pc-br {
    display: none;
  }
  .ir-sp-only {
    display: inline;
  }
  .ir-sp-only--block {
    display: block;
  }
  .ir-plan-business-link--sp-only {
    display: flex !important;
  }
  .ir-pc-only {
    display: none !important;
  }
}

/* CEOプロフィールボックス */
.ir-ceo-profile {
  display: flex;
  background: rgba(0, 162, 115, 0.15);
  margin-top: 56px;
}

.ir-ceo-profile__img-sp {
  display: none;
}

.ir-ceo-profile__img {
  flex: 0 0 auto;
  width: 50%;
}

.ir-ceo-profile__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ir-ceo-profile__body {
  flex: 1;
  padding: 40px 48px;
}

.ir-ceo-profile__name {
  font-size: 24px;
  font-weight: 700;
  color: #000;
  margin: 0 0 24px;
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.ir-ceo-profile__title {
  font-size: 14px;
  font-weight: 400;
}

.ir-ceo-profile__label {
  font-size: 18px;
  font-weight: 700;
  color: #00A273;
  margin: 0 0 16px;
}

.ir-ceo-profile__text {
  font-size: 16px;
  line-height: 32px;
  color: #444;
  margin: 0;
}

/* 加工食品：食の安全 */
.ir-food-safe {
  display: flex;
  gap: 4.4%;
  align-items: flex-start;
  margin-top: 32px;
}

.ir-article__text--food-safe {
  margin: 0;
}

.ir-article__text--mb24 {
  margin-bottom: 24px;
}

.ir-food-safe__text {
  flex: 64 1 0;
  font-size: 16px;
  font-weight: 400;
  color: #444;
  line-height: 32px;
  margin: 0;
}

.ir-food-safe__grid {
  flex: 36 1 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 16px;
}

.ir-food-safe__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.ir-food-safe__img {
  width: 192px;
  height: 119px;
  display: block;
  object-fit: cover;
}

.ir-food-safe__label {
  font-size: 16px;
  font-weight: 700;
  color: var(--p-honbun, #444);
  line-height: 1.6;
  margin: 0;
  text-align: center;
}

/* 経営資源配分方針ボックス */
.ir-article__policy-box {
  margin: 0 0 130px;
  padding: 24px 40px;
  border-radius: 4px;
  background-color: rgba(0, 162, 115, 0.15);
}

.ir-article__policy-box-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #00A273 !important;
  line-height: 32px !important;
  margin: 0 0 16px !important;
}

.ir-article__policy-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.ir-article__policy-list li {
  font-size: 16px;
  font-weight: 400;
  color: #444;
  line-height: 32px;
  letter-spacing: normal;
  padding-left: 0;
  position: static;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.ir-article__policy-list li::before {
  content: '■';
  color: #00A273;
  font-size: 16px;
  font-weight: 400;
  flex-shrink: 0;
}

/* --------------------------------------------------
   パンくず
   -------------------------------------------------- */
.jtweb-topic-path {
  max-width: none;
  margin: 0;
  padding: 0;
}

.l-breadcrumb {
  height: 60px;
  display: flex;
  align-items: center;
  padding: 0 clamp(20px, 9.4vw, 118px);
}

.l-breadcrumb__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}

.l-breadcrumb__itm {
  display: flex;
  align-items: center;
  font-size: clamp(11px, 1.1vw, 14px);
  color: #033824;
  font-weight: 400;
  letter-spacing: 0.04em;
}

/* 区切り矢印 */
.l-breadcrumb__itm + .l-breadcrumb__itm::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 10px;
  margin: 0 clamp(4px, 0.5vw, 6px);
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M0.353546 0.353516L5.35355 5.35352L0.353546 10.3535' stroke='%235C7364' stroke-width='1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.l-breadcrumb__itm a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}

.l-breadcrumb__itm a:hover {
  text-decoration-line: underline;
  color: #00a273;
}

/* 現在ページ：太字・下線なし */
.l-breadcrumb__itm--current {
  font-weight: 700;
  white-space: nowrap;
}

/* --------------------------------------------------
   セクション共通見出し
   -------------------------------------------------- */
.ir-section-heading {
  font-family: 'Google Sans', sans-serif !important;
  font-size: 32px !important;
  font-weight: 500 !important;
  background: linear-gradient(90deg, var(--color-spring-green-3570, rgba(28, 152, 100, 0.70)) 0%, var(--color-azure-3870, rgba(11, 124, 185, 0.70)) 25%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 0.04em;
  margin: 0 0 32px !important;
  line-height: 1.2 !important;
}

/* --------------------------------------------------
   Key Messages
   -------------------------------------------------- */
.ir-key-messages {
  padding-top: 120px;
}

.ir-key-messages__inner {
  max-width: 1258px;
  margin: 0 auto;
  padding: 0 20px;
}

/* グリッド：1列目は大バナーフル幅、2・3行目は2列 */
.ir-key-messages__grid {
  container-type: inline-size;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

/* 大バナーは2列分フル幅 */
.ir-key-messages__item--large {
  grid-column: 1 / -1;
}


/* CEOプロフィールボックス SP */
@media screen and (max-width: 767px) {
  .ir-ceo-profile {
    display: block;
    background: none;
  }

  .ir-ceo-profile__img-sp {
    display: block;
    width: 100%;
    height: auto;
  }

  .ir-ceo-profile__img {
    display: none;
  }

  .ir-ceo-profile__body {
    padding: 24px 20px;
    background: rgba(0, 162, 115, 0.15);
  }

  .ir-ceo-profile__name {
    font-size: 20px;
    gap: 12px;
  }

  .ir-ceo-profile__text {
    font-size: 14px;
    line-height: 26px;
  }
}


/* フェードイン初期状態 */
.ir-key-messages__item,
.ir-special-feature__inner,
.ir-contents__text-area,
.ir-contents__banner,
.new-responsive-template .ir-sp-library,
.ir-back-btn-wrap {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ir-key-messages__item.is-visible,
.ir-special-feature__inner.is-visible,
.ir-contents__text-area.is-visible,
.ir-contents__banner.is-visible,
.new-responsive-template .ir-sp-library.is-visible,
.ir-back-btn-wrap.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.ir-key-messages__link {
  display: block;
  position: relative;
  text-decoration: none;
  color: #000;
  overflow: hidden;
  border-radius: 20px;
  background-color: #f0f0f0;
  background-size: 100% auto;
  background-position: left top;
  background-repeat: no-repeat;
}

.ir-key-messages__link--ceo        { background-image: url('/investors/library/integratedreport/report/2026/img/top/img_ceo.jpg'); }
.ir-key-messages__link--cfo        { background-image: url('/investors/library/integratedreport/report/2026/img/top/img_cfo.jpg'); }
.ir-key-messages__link--cso        { background-image: url('/investors/library/integratedreport/report/2026/img/top/img_cso.jpg'); }
.ir-key-messages__link--discussion { background-image: url('/investors/library/integratedreport/report/2026/img/top/img_zadankai.jpg'); }
.ir-key-messages__link--hr         { background-image: url('/investors/library/integratedreport/report/2026/img/top/img_jinji.jpg'); }

.ir-key-messages__link::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 162, 115, 0);
  transition: background-color 0.4s ease;
  border-radius: 20px;
  pointer-events: none;
  z-index: 0;
}

.ir-key-messages__link:hover::after {
  background-color: rgba(0, 0, 0, 0.40);
}

.ir-key-messages__body,
.ir-key-messages__sub,
.ir-key-messages__person {
  z-index: 2;
}

.ir-key-messages__link:hover .ir-key-messages__title,
.ir-key-messages__link:hover .ir-key-messages__role,
.ir-key-messages__link:hover .ir-key-messages__name {
  color: #fff;
}

.ir-key-messages__item--large .ir-key-messages__link {
  aspect-ratio: 1258 / 520;
  height: auto;
}

.ir-key-messages__item--medium .ir-key-messages__link {
  aspect-ratio: 613 / 368;
  height: auto;
}

/* テキストエリア：右下固定 */
.ir-key-messages__body {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 24px 56px 28px 24px;
  text-align: right;
  z-index: 1;
}

/* ホバーテキスト：デフォルト非表示（opacityでフェード） */
.ir-key-messages__title--hover {
  display: block;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}

.ir-key-messages__title--default {
  display: block;
  opacity: 1;
  transition: opacity 0.4s ease;
}

/* --------------------------------------------------
   CEOバナー（large）テキスト配置
   -------------------------------------------------- */

/* 通常時：「CEOメッセージ」 top:214px left:100px */
.ir-key-messages__item--large .ir-key-messages__title--default {
  position: absolute;
  top: 41.15%;
  left: 7.95%;
  z-index: 2;
  margin: 0;
}

/* 通常時：「執行役員社長 / 筒井 岳彦」 CEOメッセージから下90px・同じ左位置 */
.ir-key-messages__item--large .ir-key-messages__body {
  position: absolute;
  top: 68.65%;
  left: 7.95%;
  right: auto;
  bottom: auto;
  display: block;
  padding: 0;
  z-index: 2;
  text-align: left;
}

.ir-key-messages__item--large .ir-key-messages__role {
  font-size: clamp(13px, 1.48cqw, 18px);
  font-weight: 600;
  line-height: 1.5;
  color: #000;
  margin: 0 0 4px;
  text-align: left;
}

.ir-key-messages__item--large .ir-key-messages__name {
  font-size: clamp(22px, 2.63cqw, 32px);
  font-weight: 600;
  line-height: 1.3;
  color: #000;
  margin: 0;
  text-align: left;
}

/* ホバー時：通常テキスト非表示 */
.ir-key-messages__item--large .ir-key-messages__link:hover .ir-key-messages__title--default {
  opacity: 0;
}

.ir-key-messages__item--large .ir-key-messages__link:hover .ir-key-messages__role,
.ir-key-messages__item--large .ir-key-messages__link:hover .ir-key-messages__name {
  color: #fff;
}

/* ホバー時：ホバーテキストを「CEOメッセージ」と同じtop位置を中心に中央表示 */
.ir-key-messages__item--large .ir-key-messages__title--hover {
  position: absolute;
  top: calc(175 / 520 * 100%);
  left: 7.95%;
  right: 0;
  z-index: 2;
  margin: 0;
  transform: none;
  text-align: left;
  color: #fff;
}

.ir-key-messages__item--large .ir-key-messages__link:hover .ir-key-messages__title--hover {
  opacity: 1;
}

/* medium系バナー：defaultとhoverをgridで重ねてフェード切り替え */
.ir-key-messages__item--medium .ir-key-messages__body,
.ir-key-messages__item--discussion .ir-key-messages__body {
  display: grid;
}

.ir-key-messages__item--medium .ir-key-messages__title--hover,
.ir-key-messages__item--medium .ir-key-messages__title--default,
.ir-key-messages__item--discussion .ir-key-messages__title--hover,
.ir-key-messages__item--discussion .ir-key-messages__title--default {
  grid-area: 1 / 1;
  margin: 0;
}

/* --------------------------------------------------
   mediumバナー テキスト配置
   -------------------------------------------------- */
.ir-key-messages__item--medium .ir-key-messages__body {
  left: 51.9%;
  top: 38%;
  right: auto;
  bottom: auto;
  padding: 0;
  text-align: left;
}

.ir-key-messages__item--medium .ir-key-messages__link:hover .ir-key-messages__title--default {
  opacity: 0;
}

.ir-key-messages__item--medium .ir-key-messages__link:hover .ir-key-messages__title--hover {
  opacity: 1;
  color: #fff;
}

.ir-key-messages__item--medium .ir-key-messages__link:hover .ir-key-messages__body {
  left: 7%;
  top: 50%;
  transform: translateY(-50%);
}

/* CFO：ホバー時テキスト位置 */
.ir-key-messages__item--cfo .ir-key-messages__link:hover .ir-key-messages__body {
  left: 51.9%;
  top: 27.17%;
  transform: none;
  text-align: left;
}

/* 人事担当役員：ホバー時テキスト位置 */
.ir-key-messages__item--hr .ir-key-messages__link:hover .ir-key-messages__body {
  left: 8.2%;
  top: 31.52%;
  transform: translateY(calc(-30% + 0.5em));
  text-align: left;
}

.ir-key-messages__item--medium .ir-key-messages__sub {
  position: absolute;
  left: 63.0%;
  top: 63%;
  text-align: left;
  z-index: 1;
}

/* CSOバナー：メッセージ・役職・名前を左44px統一 */
.ir-key-messages__item--cso .ir-key-messages__body {
  left: 51.9%;
}

.ir-key-messages__item--cso .ir-key-messages__sub {
  left: 51.9%;
}

.ir-key-messages__item--cso .ir-key-messages__link:hover .ir-key-messages__body {
  left: 51.9%;
  top: 27.17%;
  transform: none;
}

.ir-key-messages__item--medium .ir-key-messages__role {
  color: #000;
  font-size: clamp(11px, 1.31cqw, 16px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
  position: static;
  text-align: left;
}

.ir-key-messages__item--medium .ir-key-messages__name {
  color: #000;
  font-size: clamp(18px, 2.46cqw, 30px);
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  position: static;
  text-align: left;
}

/* CEOバナー右下ボタン画像 */
.ir-key-messages__btn-arrow-ceo {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  pointer-events: none;
  width: 7.63%;
  height: auto;
}

/* その他バナー右下ボタン画像 */
.ir-key-messages__btn-arrow-other {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  display: block;
  pointer-events: none;
  width: 15.66%;
  height: auto;
}

/* 取締役座談会のみ左上＋左下 */
.ir-key-messages__item--discussion .ir-key-messages__body {
  text-align: left;
  right: auto;
  left: 7.7%;
  top: 9.2%;
  bottom: auto;
  display: block;
  padding: 0;
}

/* 取締役座談会：ホバー時テキスト切り替え（位置はそのまま） */
.ir-key-messages__item--discussion .ir-key-messages__link:hover .ir-key-messages__title--default {
  opacity: 0;
}

.ir-key-messages__item--discussion .ir-key-messages__link:hover .ir-key-messages__title--hover {
  opacity: 1;
  color: #fff;
}

/* 取締役座談会：ホバー時もbody位置を通常時と同じに維持 */
.ir-key-messages__item--discussion .ir-key-messages__link:hover .ir-key-messages__body {
  left: 7.7%;
  top: calc(5.2% + 0.65em);
  transform: translateY(-50%);
}

/* 人事担当役員メッセージ */
.ir-key-messages__item--hr .ir-key-messages__body {
  left: 8.2%;
  top: 31.52%;
  right: auto;
  bottom: auto;
  padding: 0;
  text-align: left;
}

.ir-key-messages__item--hr .ir-key-messages__title--default {
  color: #fff;
}

/* 人事担当役員：ホバー時テキスト切り替え（位置はそのまま） */
.ir-key-messages__item--hr .ir-key-messages__link:hover .ir-key-messages__title--default {
  opacity: 0;
}

.ir-key-messages__item--hr .ir-key-messages__link:hover .ir-key-messages__title--hover {
  opacity: 1;
  color: #fff;
}

.ir-key-messages__item--hr .ir-key-messages__sub {
  position: absolute;
  left: 8.2%;
  top: 64.7%;
}

.ir-key-messages__item--hr .ir-key-messages__role,
.ir-key-messages__item--hr .ir-key-messages__name {
  color: #fff;
}

.ir-key-messages__title,
.ir-key-messages__role,
.ir-key-messages__name {
  transition: color 0s;
}

.ir-key-messages__title {
  font-size: clamp(20px, 2.30cqw, 28px);
  font-weight: 700;
  color: #000;
  letter-spacing: 0.04em;
  margin: 0 0 10px;
  line-height: 1.3;
  text-shadow: none;
}

.ir-key-messages__item--large .ir-key-messages__title {
  font-size: clamp(28px, 3.61cqw, 44px);
  font-weight: 700;
}

.ir-special-feature__title {
  font-size: clamp(28px, 3.61vw, 44px);
  font-weight: 700;
}

.ir-key-messages__item--large .ir-key-messages__title {
  line-height: normal;
  letter-spacing: normal;
}

.ir-special-feature__title {
  color: #fff;
  text-align: center;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  margin: 0;
  line-height: normal;
}

/* SP用CEOバナー：PC非表示 */
.ir-key-messages__banner--sp {
  display: none;
}

/* --------------------------------------------------
   Special Feature（構造）
   -------------------------------------------------- */
.ir-special-feature {
  padding: 120px 0 0;
}

.ir-special-feature__inner {
  max-width: 1258px;
  margin: 0 auto;
  padding: 0 20px;
}

.ir-special-feature__link {
  display: flex;
  align-items: center;
  text-decoration: none;
  background-color: #00a273;
  background-image: url('/investors/library/integratedreport/report/2026/img/top/bnr_top.jpg');
  background-size: 100% 100%;
  background-position: left top;
  background-repeat: no-repeat;
  border-radius: 20px;
  padding: 0 clamp(20px, 4.9vw, 60px);
  position: relative;
  overflow: hidden;
  height: clamp(120px, 19.1vw, 240px);
}

.ir-special-feature__link::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 162, 115, 0);
  transition: background-color 0.4s ease;
  border-radius: 20px;
  pointer-events: none;
  z-index: 0;
}

.ir-special-feature__link:hover::after {
  background-color: rgba(0, 0, 0, 0.40);
}

.ir-special-feature__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* SP用Special Featureバナー：PC非表示 */
.ir-special-feature__link--sp {
  display: none;
}

/* --------------------------------------------------
   Contents
   -------------------------------------------------- */
.ir-contents {
  padding: 120px 0 0;
}

.ir-contents__inner {
  max-width: 1258px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 3列×2行グリッド：均等3列 */
.ir-contents__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
}

/* 左上：テキストエリア（バナーと同セルサイズ） */
.ir-contents__text-area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  height: 232px;
  box-sizing: border-box;
}

/* バナー配置（nth-childはtext-areaが1番目） */
.ir-contents__banner:nth-child(2) { grid-column: 2; grid-row: 1; }
.ir-contents__banner:nth-child(3) { grid-column: 3; grid-row: 1; }
.ir-contents__banner:nth-child(4) { grid-column: 1; grid-row: 2; }
.ir-contents__banner:nth-child(5) { grid-column: 2; grid-row: 2; }
.ir-contents__banner:nth-child(6) { grid-column: 3; grid-row: 2; }

.ir-contents__text-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ir-contents__text-item {
  display: block;
}

.ir-contents__text-link {
  display: flex;
  width: 100%;
  height: 72px;
  padding: 19px 20px;
  justify-content: space-between;
  align-items: center;
  border-radius: 16px;
  border: 2px solid #00a273;
  background: #fff;
  font-size: 18px;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  letter-spacing: 0.04em;
  line-height: 1.5;
  box-sizing: border-box;
  transition: background 0.2s;
}

.ir-contents__text-link span {
  background: linear-gradient(0deg, #033824 0%, #033824 100%), linear-gradient(0deg, #5C7364 0%, #5C7364 100%), #000;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ir-contents__text-link:hover {
  background: rgba(0, 162, 115, 0.30);
}

.ir-contents__text-link svg {
  flex-shrink: 0;
}

/* バナー共通 */
.ir-contents__banner {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  overflow: hidden;
  border-radius: 20px;
  background: var(--green-blue, linear-gradient(90deg, var(--color-spring-green-3570, rgba(28, 152, 100, 0.70)) 0%, var(--color-azure-3870, rgba(11, 124, 185, 0.70)) 100%));
  color: #fff;
}

.ir-contents__banner-body {
  position: relative;
  z-index: 1;
  height: 88px;
  padding: 14px 24px 0;
  box-sizing: border-box;
  flex-shrink: 0;
  flex-grow: 0;
}

.ir-contents__banner-img {
  display: block;
  width: 100%;
  height: 144px;
  object-fit: cover;
  flex-shrink: 0;
  flex-grow: 0;
}

.ir-contents__banner-en {
  font-family: 'Google Sans', sans-serif;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  margin: 0 0 4px;
  letter-spacing: 0.02em;
}

.ir-contents__banner-ja {
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  text-align: center;
  color: rgba(255,255,255,0.9);
  margin: 0;
  letter-spacing: 0.06em;
}

.ir-contents__banner-body--other {
  padding-top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 88px;
}
.ir-contents__banner-plus {
  position: absolute;
  z-index: 2;
  right: 16px;
  top: 86px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-color: #00a273;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 100;
  color: #fff;
  line-height: 1;
}

/* --------------------------------------------------
   Corporate Strategy アコーディオン
   -------------------------------------------------- */

.ir-contents__banner--accordion {
  cursor: default;
  text-decoration: none;
  position: relative;
  overflow: visible;
}

.ir-contents__banner-trigger {
  position: relative;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  overflow: visible;
  border-radius: 20px;
  background: var(--green-blue, linear-gradient(90deg, var(--color-spring-green-3570, rgba(28, 152, 100, 0.70)) 0%, var(--color-azure-3870, rgba(11, 124, 185, 0.70)) 100%));
}

.ir-contents__banner-trigger::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 144px;
  background-color: rgba(0, 0, 0, 0);
  transition: background-color 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.ir-contents__banner-img-wrap {
  overflow: hidden;
  border-radius: 0 0 20px 20px;
}

/* アコーディオンパネル：triggerの上に重なり下方向にはみ出す */
.ir-contents__accordion-panel {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background-color: #b3e4d5;
  border-radius: 20px;
  overflow: visible;
  display: flex;
  flex-direction: column;
  padding: 0 0 16px;
}

.ir-contents__accordion-panel[hidden] {
  display: none;
}

/* パネルヘッダー：濃い緑背景 */
.ir-contents__accordion-header {
  background: var(--green-blue, linear-gradient(90deg, var(--color-spring-green-3570, rgba(28, 152, 100, 0.70)) 0%, var(--color-azure-3870, rgba(11, 124, 185, 0.70)) 100%));
  border-radius: 20px 20px 0 0;
  padding: 14px 24px;
  text-align: center;
  min-height: 88px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ir-contents__accordion-header .ir-contents__banner-en {
  font-family: 'Google Sans', sans-serif;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 500;
  color: #fff;
  margin: 0 0 4px;
  line-height: 1.2;
  letter-spacing: 0.02em;
}

.ir-contents__accordion-header .ir-contents__banner-ja {
  font-size: 16px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  margin: 0;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

/* マイナスボタン */
.ir-contents__banner-plus--minus {
  position: absolute;
  z-index: 2;
  right: 16px;
  top: 86px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 100;
  color: #00a273;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
}

/* リンクリスト */
.ir-contents__accordion-list {
  list-style: none;
  margin: 0 !important;
  padding: 8px 22px 8px !important;
  flex: 1;
}

.ir-contents__accordion-list li {
  border-bottom: none;
}

.ir-contents__accordion-list a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 0 4px;
  color: #033824;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.ir-contents__accordion-list a::after {
  content: '→';
  flex-shrink: 0;
  margin-left: 8px;
  font-size: 14px;
  color: #033824;
}

/* PDFリンク：→を非表示にしてPDFアイコンを表示 */
.ir-contents__accordion-list .ir-contents__link--pdf::after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 16px;
  background: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
  vertical-align: middle;
  flex-shrink: 0;
  margin-left: 8px;
}

/* text-link（アコーディオン外）のPDFリンク：SVGアイコンを非表示にしてPDFアイコン表示 */
.ir-contents__text-link.ir-contents__link--pdf svg {
  display: none;
}

.ir-contents__text-link.ir-contents__link--pdf::after {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
  vertical-align: middle;
  flex-shrink: 0;
  margin-left: 8px;
}

.ir-contents__accordion-list a:hover {
  opacity: 1;
  color: #00a273;
}

.ir-contents__accordion-list a:hover::after {
  color: #00a273;
}

/* --------------------------------------------------
   ページトップへ戻るボタン
   -------------------------------------------------- */
.ir-pagetop {
  position: fixed;
  right: clamp(20px, 9.4vw, 118px);
  bottom: 16px;
  z-index: 999;
  display: block;
  width: 40px;
  height: 40px;
  transition: opacity 0.2s;
}

.ir-pagetop img {
  width: 40px;
  height: 40px;
}

.ir-pagetop:hover {
  opacity: 0.75;
}

/* --------------------------------------------------
   戻るボタン
   -------------------------------------------------- */
.ir-back-btn-wrap {
  margin-top: 105px;
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
}

.ir-back-btn {
  display: inline-flex;
  width: 474px;
  height: 64px;
  padding: 24px 52px 24px 32px;
  align-items: center;
  gap: 8px;
  border-radius: 40px;
  border: 2px solid #00a273;
  background: #fff;
  text-decoration: none;
  color: #444;
  font-size: 16px;
  font-weight: 600;
  box-sizing: border-box;
  transition: background 0.2s;
}

.ir-back-btn svg {
  flex-shrink: 0;
}

.ir-back-btn span {
  flex: 1;
  text-align: center;
}

.ir-back-btn:hover {
  background: rgba(0, 162, 115, 0.30);
}

/* --------------------------------------------------
   Scrollインジケーター（SP Hero下部）
   -------------------------------------------------- */
.ir-hero__scroll {
  display: none;
}

.ir-hero__scroll-text {
  display: none;
}

/* PC版Scrollのみ表示 */
@media screen and (min-width: 768px) {
  .ir-hero__scroll--pc {
    display: flex;
  }
  .ir-hero__scroll--sp {
    display: none;
  }
}

@keyframes scroll-line {
  0% {
    transform: scaleY(0) translateY(0);
    transform-origin: top center;
    opacity: 1;
    background: linear-gradient(to bottom, #033824, #00a273);
  }
  60% {
    transform: scaleY(1) translateY(0);
    transform-origin: top center;
    opacity: 1;
    background: linear-gradient(to bottom, #033824, #00a273);
  }
  80% {
    transform: scaleY(1) translateY(15px);
    transform-origin: top center;
    opacity: 0;
    background: linear-gradient(to bottom, #033824, #00a273);
  }
  81% {
    transform: scaleY(0) translateY(0);
    transform-origin: top center;
    opacity: 0;
    background: linear-gradient(to bottom, #033824, #00a273);
  }
  100% {
    transform: scaleY(0) translateY(0);
    transform-origin: top center;
    opacity: 1;
    background: linear-gradient(to bottom, #033824, #00a273);
  }
}

@keyframes scroll-arrowhead {
  0% {
    bottom: 0;
    opacity: 0;
    border-color: #00a273;
  }
  50% {
    opacity: 0;
    border-color: #00a273;
  }
  60% {
    bottom: 0;
    opacity: 1;
    border-color: #00a273;
  }
  80% {
    bottom: -15px;
    opacity: 0;
    border-color: #00a273;
  }
  81% {
    bottom: 0;
    opacity: 0;
    border-color: #00a273;
  }
  100% {
    bottom: 0;
    opacity: 0;
    border-color: #00a273;
  }
}

@media screen and (max-width: 767px) {
  /* SP版Scrollのみ表示・フローで配置 */
  .ir-hero__scroll--pc {
    display: none;
  }
  .ir-hero__scroll--sp {
    display: flex;
  }

  .ir-hero__scroll-text {
    display: block;
  }

  .ir-hero__scroll {
    position: relative;
    transform: none;
    margin-top: 24px;
  }

  .ir-hero__scroll-arrow {
    display: block;
    width: 1px;
  height: 34px;
    background-color: rgba(3, 56, 36, 0.15);
    position: relative;
    flex-shrink: 0;
    overflow: visible;
  }

  /* アニメーションするライン */
  .ir-hero__scroll-arrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #033824, #00a273);
    transform: scaleY(0);
    transform-origin: top center;
    animation: scroll-line 2s ease-in-out infinite;
  }

  /* アニメーションする矢印先端 */
  .ir-hero__scroll-arrow::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-right: 1px solid #00a273;
    border-bottom: 1px solid #00a273;
    opacity: 0;
    animation: scroll-arrowhead 2s ease-in-out infinite;
  }

  .ir-hero__scroll-text {
    font-family: 'Google Sans', sans-serif;
    font-size: 11px;
    font-weight: 400;
    color: #033824;
    letter-spacing: 0.05em;
    line-height: 1;
    white-space: nowrap;
    position: absolute;
    left: 18px;
    top: 0;
    transform: rotate(90deg);
    transform-origin: left top;
    display: block;
  }
}

/* --------------------------------------------------
   SP対応（767px以下）
   -------------------------------------------------- */
@media screen and (max-width: 767px) {

  /* SP：パンくず非表示 */
  .l-breadcrumb {
    display: none;
  }

  /* SP：Heroエリア */
  .ir-hero {
    background-image: url('/investors/library/integratedreport/report/2026/img/hero/img_hero_sp.jpg');
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100vw auto;
    background-color: #fff;
    min-height: 0;
    height: clamp(820px, 210vw, 1650px);
    width: 100%;
    overflow: hidden;
  }

  .ir-hero.is-animated {
    background-image: none;
  }

  .ir-hero__canvas {
    width: 100vw;
    height: auto;
    aspect-ratio: 390 / 603;
  }

  .ir-hero__inner {
    padding: calc(210vw * 0.668) 25px 40px;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    box-sizing: border-box;
  }

  .ir-hero__title--pc {
    display: none;
  }

  .ir-hero__title--sp {
    display: block;
    width: 216px;
    height: auto;
  }

  /* SP：セクション見出し */
  .ir-section-heading {
    font-size: clamp(24px, 2.5vw, 32px) !important;
    margin: clamp(32px, 6.6vw, 60px) 0 20px !important;
    padding-bottom: 0;
  }

  /* SP：CEOバナー PC版を非表示、SP版を表示 */
  .ir-key-messages__item--large .ir-key-messages__link:not(.ir-key-messages__link--sp),
  .ir-key-messages__item--medium .ir-key-messages__link {
    display: none;
    margin: 0;
    padding: 0;
  }

  .ir-key-messages__banner--sp {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: clamp(260px, 92vw, 360px);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
  }

  .ir-key-messages__banner--sp-ceo {
    background-image: url('/investors/library/integratedreport/report/2026/img/top/img_ceo_sp.jpg');
  }

  .ir-key-messages__banner--sp-cso {
    background-image: url('/investors/library/integratedreport/report/2026/img/top/img_cso_sp.jpg');
  }

  .ir-key-messages__banner--sp-cfo {
    background-image: url('/investors/library/integratedreport/report/2026/img/top/img_cfo_sp.jpg');
  }

  .ir-key-messages__banner--sp-discussion {
    background-image: url('/investors/library/integratedreport/report/2026/img/top/img_zadankai_sp.jpg');
  }

  .ir-key-messages__banner--sp-hr {
    background-image: url('/investors/library/integratedreport/report/2026/img/top/img_jinji_sp.jpg');
  }

  /* 座談会：3名横並び */
  .ir-key-messages__sp-persons {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
    gap: 8px;
  }

  .ir-key-messages__sp-person-item {
    flex: 1;
    text-align: center;
  }

  .ir-key-messages__sp-person-item .ir-key-messages__sp-name {
    font-size: clamp(12px, 4.1vw, 16px);
    font-weight: 700;
    color: #000 !important;
    margin: 0 0 2px;
    line-height: 1.3;
  }

  .ir-key-messages__sp-person-item .ir-key-messages__sp-role {
    font-size: clamp(10px, 3.1vw, 12px);
    font-weight: 500;
    color: #000 !important;
    margin: 0;
    line-height: 1.4;
  }

  /* 人事：sp-top全体レイアウト調整 */
  .ir-key-messages__sp-top--hr {
    justify-content: space-between;
  }

  .ir-key-messages__sp-top--hr .ir-key-messages__sp-category {
    text-align: right;
  }

  /* 上部エリア */
  .ir-key-messages__sp-top {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 16px 16px 0;
    min-height: 0;
  }

  .ir-key-messages__sp-category {
    font-size: clamp(14px, 5.1vw, 20px);
    font-weight: 700;
    color: #000 !important;
    text-align: right;
    margin: 0;
    line-height: 1.3;
  }

  /* CEO・CSO・HR・座談会は左寄せ */
  .ir-key-messages__item--large .ir-key-messages__sp-category,
  .ir-key-messages__item--cso .ir-key-messages__sp-category,
  .ir-key-messages__item--hr .ir-key-messages__sp-category,
  .ir-key-messages__item--discussion .ir-key-messages__sp-category {
    text-align: left;
  }

  .ir-key-messages__item--cso .ir-key-messages__sp-category,
  .ir-key-messages__item--cso .ir-key-messages__sp-role,
  .ir-key-messages__item--cso .ir-key-messages__sp-name,
  .ir-key-messages__item--hr .ir-key-messages__sp-category,
  .ir-key-messages__item--hr .ir-key-messages__sp-role,
  .ir-key-messages__item--hr .ir-key-messages__sp-name {
    color: #fff !important;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }

  .ir-key-messages__sp-person {
    text-align: right;
    padding-bottom: 16px;
  }

  /* CEO・CSOは左寄せ・左20px */
  .ir-key-messages__item--large .ir-key-messages__sp-person,
  .ir-key-messages__item--cso .ir-key-messages__sp-person {
    text-align: left;
  }

  .ir-key-messages__item--large .ir-key-messages__sp-top,
  .ir-key-messages__item--cso .ir-key-messages__sp-top,
  .ir-key-messages__item--hr .ir-key-messages__sp-top,
  .ir-key-messages__item--discussion .ir-key-messages__sp-top {
    padding-left: 20px;
  }

  .ir-key-messages__sp-person.ir-key-messages__sp-person--left {
    text-align: left;
    padding: 0 0 16px 0;
  }

  .ir-key-messages__item--hr .ir-key-messages__sp-person {
    text-align: left;
  }

  .ir-key-messages__sp-role {
    font-size: clamp(11px, 3.6vw, 14px);
    font-weight: 500;
    color: #000 !important;
    margin: 0 0 4px;
    line-height: 1.4;
  }

  .ir-key-messages__sp-name {
    font-size: clamp(17px, 5.6vw, 22px);
    font-weight: 700;
    color: #000 !important;
    margin: 0;
    line-height: 1.3;
  }

  /* 下部帯：#00a273 80% 高さ144px */
  .ir-key-messages__sp-bottom {
    height: clamp(110px, 37vw, 144px);
    flex-shrink: 0;
    background: var(--green-blue, linear-gradient(90deg, var(--color-spring-green-3570, rgba(28, 152, 100, 0.70)) 0%, var(--color-azure-3870, rgba(11, 124, 185, 0.70)) 100%));
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 12px 20px 16px;
    box-sizing: border-box;
  }

  .ir-key-messages__sp-message {
    font-size: clamp(15px, 5.1vw, 20px);
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.5;
    letter-spacing: 0.02em;
  }

  .ir-key-messages__sp-arrow {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    align-self: flex-end;
  }

  /* SP：Key Messages */
  .ir-key-messages {
    padding: 40px 0 20px;
  }

  .ir-key-messages__inner {
    padding: 0 16px;
  }

  .ir-key-messages__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .ir-key-messages__item--large {
    grid-column: auto;
  }

  /* SP：バナー共通 – aspect-ratio はそのまま、絶対配置を上書き */
  .ir-key-messages__item--large .ir-key-messages__link,
  .ir-key-messages__item--medium .ir-key-messages__link {
    border-radius: 16px;
  }

  /* SP：CEOバナー – テキストを左下に固定 */
  .ir-key-messages__item--large .ir-key-messages__body {
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    padding: 12px 16px 12px 20px;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
  }

  .ir-key-messages__item--large .ir-key-messages__title {
    position: static;
    transform: none;
    font-size: 16px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    margin-bottom: 4px;
  }

  .ir-key-messages__item--large .ir-key-messages__role,
  .ir-key-messages__item--large .ir-key-messages__name {
    position: static;
    left: auto;
    top: auto;
  }

  .ir-key-messages__item--large .ir-key-messages__role {
    font-size: 11px;
    color: rgba(255,255,255,0.9);
  }

  .ir-key-messages__item--large .ir-key-messages__name {
    font-size: 14px;
    color: #fff;
  }

  /* SP：中バナー（CSO・CFO・座談会・人事） – 左下グラデオーバーレイ */
  .ir-key-messages__item--medium .ir-key-messages__body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    padding: 12px 16px;
    text-align: left;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
  }

  /* SP：CSOのみ左20px */
  .ir-key-messages__item--cso .ir-key-messages__body {
    padding-left: 20px;
  }

  .ir-key-messages__item--cso .ir-key-messages__sub {
    left: 20px;
  }

  .ir-key-messages__item--medium .ir-key-messages__sub {
    position: absolute;
    left: 16px;
    bottom: 12px;
    top: auto;
  }

  /* SP：座談会 */
  .ir-key-messages__item--discussion .ir-key-messages__body {
    left: 0;
    top: auto;
    bottom: 0;
    right: 0;
    padding: 12px 16px;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
  }

  /* SP：人事 */
  .ir-key-messages__item--hr .ir-key-messages__body {
    left: 0;
    top: auto;
    bottom: 0;
    right: 0;
    padding: 12px 16px;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
  }

  .ir-key-messages__item--hr .ir-key-messages__sub {
    left: 16px;
    bottom: 12px;
    top: auto;
  }

  /* SP：取締役座談会の人物名を非表示（狭すぎる） */
  .ir-key-messages__item--discussion .ir-key-messages__person {
    display: none;
  }

  /* SP：すべてのタイトルテキスト */
  .ir-key-messages__title {
    font-size: 15px;
    margin-bottom: 4px;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  }

  .ir-key-messages__role {
    font-size: 11px;
    color: rgba(255,255,255,0.9);
  }

  .ir-key-messages__name,
  .ir-key-messages__item--medium .ir-key-messages__name {
    font-size: 13px;
    color: #fff;
  }

  .ir-key-messages__item--medium .ir-key-messages__role {
    font-size: 11px;
    color: rgba(255,255,255,0.9);
  }

  .ir-key-messages__names-multi span {
    font-size: 12px;
  }

  /* SP：Special Feature */
  .ir-special-feature {
    padding-top: 32px;
    padding-bottom: 32px;
  }

  .ir-special-feature__inner {
    padding: 0 16px;
  }

  /* PC版バナーをSPで非表示 */
  .ir-special-feature__link {
    display: none;
  }

  /* SP版バナーを表示 */
  .ir-special-feature__link--sp {
    display: flex;
    align-items: center;
    text-decoration: none;
    background-image: url('/investors/library/integratedreport/report/2026/img/top/bnr_top_sp.jpg');
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    width: 100%;
    aspect-ratio: 716 / 256;
    box-sizing: border-box;
  }

  /* 左：特集ラベル＋縦線 */
  .ir-special-feature__sp-left {
    display: flex;
    align-items: center;
    height: 80px;
    padding: 16px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    flex-shrink: 0;
    box-sizing: border-box;
  }

  .ir-special-feature__sp-label {
    font-size: clamp(13px, 4.1vw, 16px);
    font-weight: 700;
    color: #fff;
    writing-mode: horizontal-tb;
    letter-spacing: 0.08em;
  }

  /* 右：テキスト */
  .ir-special-feature__sp-body {
    flex: 1;
    padding: 0 16px;
  }

  .ir-special-feature__sp-title {
    font-size: clamp(16px, 5.1vw, 20px);
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }

  .ir-special-feature__title {
    font-size: clamp(14px, 4vw, 18px);
    line-height: 1.4;
  }

  /* SP：Contents */
  .ir-contents {
    padding-top: 32px;
  }

  .ir-contents__inner {
    padding: 0 16px;
  }

  .ir-contents__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 12px;
  }

  /* テキストエリア：フル幅 */
  .ir-contents__text-area {
    grid-column: 1;
    grid-row: auto;
    height: auto;
    gap: 8px;
  }

  .ir-contents__text-link {
    height: 72px;
    font-size: clamp(14px, 4.6vw, 18px);
    padding: 12px 16px;
    border-radius: 12px;
  }

  /* バナー：全て自動配置（1列） */
  .ir-contents__banner:nth-child(2) { grid-column: auto; grid-row: auto; }
  .ir-contents__banner:nth-child(3) { grid-column: auto; grid-row: auto; }
  .ir-contents__banner:nth-child(4) { grid-column: auto; grid-row: auto; }
  .ir-contents__banner:nth-child(5) { grid-column: auto; grid-row: auto; }
  .ir-contents__banner:nth-child(6) { grid-column: auto; grid-row: auto; }

  .ir-contents__banner {
    border-radius: 16px;
  }

  .ir-contents__banner-trigger {
    border-radius: 16px;
  }

  .ir-contents__banner-body {
    height: clamp(64px, 20vw, 80px);
    padding: 0 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .ir-contents__accordion-header {
    min-height: clamp(64px, 20vw, 80px);
    height: clamp(64px, 20vw, 80px);
    padding: 12px 16px;
    border-radius: 16px 16px 0 0;
    justify-content: center;
  }

  /* SP：banner-body と accordion-header のテキストを完全統一 */
  .ir-contents__banner-body .ir-contents__banner-en,
  .ir-contents__accordion-header .ir-contents__banner-en {
    font-size: clamp(14px, 7.2vw, 28px);
    line-height: 1.2;
    margin: 0 0 4px;
  }

  .ir-contents__banner-body .ir-contents__banner-ja,
  .ir-contents__accordion-header .ir-contents__banner-ja {
    font-size: clamp(12px, 4.1vw, 16px);
    line-height: 1.4;
    margin: 0;
  }

  .ir-contents__banner-img {
    height: clamp(120px, 41vw, 160px);
  }

  .ir-contents__banner-en {
    font-size: clamp(14px, 7.2vw, 28px);
  }

  .ir-contents__banner-ja {
    font-size: clamp(12px, 4.1vw, 16px);
  }

  .ir-contents__banner-plus {
    top: clamp(64px, 20vw, 80px);
    right: 12px;
    width: 40px;
    height: 40px;
    font-size: 28px;
    transform: translateY(-50%);
  }

  .ir-contents__banner-plus--minus {
    top: 78px;
    right: 12px;
    width: 32px;
    height: 32px;
    font-size: 0;
    color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
  }

  .ir-contents__banner-plus--minus::before {
    content: '×';
    font-size: 20px;
    font-weight: 400;
    color: #00a273;
    line-height: 1;
  }

  .ir-contents__banner-plus--minus::after {
    content: none;
  }

  .ir-contents__accordion-header .ir-contents__banner-en {
    font-size: clamp(14px, 7.2vw, 28px);
  }

  .ir-contents__accordion-header .ir-contents__banner-ja {
    font-size: clamp(12px, 4.1vw, 16px);
  }

  .ir-contents__accordion-list {
    padding: 4px 16px 8px;
  }

  .ir-contents__banner--accordion {
    overflow: visible;
    background-color: transparent;
  }

  .ir-contents__banner-img-wrap {
    border-radius: 0 0 16px 16px;
    overflow: hidden;
  }

  /* SP：戻るボタン */
  .ir-back-btn-wrap,
  .ir-article + .ir-back-btn-wrap {
    padding: 16px 16px 64px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .ir-back-btn {
    width: 100%;
    max-width: 100%;
    height: clamp(56px, 18vw, 72px);
    font-size: clamp(13px, 4.1vw, 16px);
    padding: 12px 24px;
    border-radius: 9999px;
  }

  /* SP：ページトップボタン */
  .ir-pagetop {
    width: 40px;
    height: 40px;
    right: 22px;
    bottom: 22px;
  }

  .ir-pagetop img {
    width: 40px;
    height: 40px;
  }

  /* SP：innerをシンプルな横並びに */
  .ir-header__inner {
    padding: 16px 25px;
    align-items: center;
    min-height: auto;
  }

  .ir-header {
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.10);
  }

  /* SP：左カラムのpadding調整 */
  .ir-header__left {
    padding: 0;
  }

  .ir-header__logo img {
    width: 38px;
  }

  /* SP：PC用右カラムを非表示 */
  .ir-header__right {
    display: none;
  }

  /* SP：右側アイコン（検索＋ハンバーガー）を表示 */
  .ir-header__sp-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-left: auto;
  }

  .ir-header__search-btn svg {
    width: 20px;
    height: 20px;
  }

  /* SP：ハンバーガーボタン */
  .ir-header__hamburger {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 25px;
    height: 24px;
  }

  .ir-header__hamburger span {
    display: block;
    width: 25px;
    height: 2px;
    background-color: #033824;
    border-radius: 1px;
  }

}

/* タブレット：Contentsを2列レイアウト */
@media screen and (min-width: 768px) and (max-width: 1049px) {

  .ir-contents__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  /* ボタンエリア：1行目左 */
  .ir-contents__text-area {
    grid-column: 1;
    grid-row: 1;
    height: 232px;
    justify-content: space-between;
  }

  .ir-contents__text-area .ir-contents__text-link {
    height: calc((232px - 24px) / 3);
    padding: 0 16px;
    font-size: clamp(13px, 1.8vw, 18px);
    align-items: center;
  }

  /* Corporate Strategy：1行目右 */
  .ir-contents__banner:nth-child(2) { grid-column: 2; grid-row: 1; }

  /* 残り4バナー：2行目以降2列 */
  .ir-contents__banner:nth-child(3) { grid-column: 1; grid-row: 2; }
  .ir-contents__banner:nth-child(4) { grid-column: 2; grid-row: 2; }
  .ir-contents__banner:nth-child(5) { grid-column: 1; grid-row: 3; }
  .ir-contents__banner:nth-child(6) { grid-column: 2; grid-row: 3; }

}

/* PC：SP用アイコンを非表示 */
@media screen and (min-width: 768px) {
  .ir-header__sp-actions {
    display: none;
  }
  /* フッターアコーディオンボタン：PC非表示、リストは常に表示 */
  .ir-footer__acc-btn {
    display: none;
  }
  .ir-footer__link-list[hidden] {
    display: flex;
  }
}

/* ==========================================================================
   SP用 統合報告書ライブラリーパーツ（モバイルのみ表示）
   ========================================================================== */

.new-responsive-template .ir-sp-library {
  display: none !important;
}

.new-responsive-template .ir-sp-library__spacer {
  display: none !important;
}

@media screen and (max-width: 767px) {

  .new-responsive-template .ir-sp-library__spacer {
    display: block !important;
    height: 16px;
    background-color: #ffffff;
  }
  .new-responsive-template .ir-sp-library {
    display: block !important;
    background-color: #f1f4f3;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5;
  }

  /* ヘッダー行 */
  .new-responsive-template .ir-sp-library__header {
    padding: 20px 16px;
    position: relative;
  }

  .new-responsive-template .ir-sp-library__header::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 16px;
    right: 16px;
    height: 1px;
    background-color: #05A173;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__header-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #033824;
    text-decoration: none !important;
    letter-spacing: 0.05em;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__header-link:hover {
    text-decoration: underline;
    opacity: 1 !important;
  }

  /* アコーディオンリスト */
  .new-responsive-template .ir-sp-library__nav {
    padding: 0 16px;
  }

  .new-responsive-template .ir-sp-library__item {
  }

  /* 上部ダイレクトリンク（→／PDFアイコン付き） */
  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 17px 0;
    font-size: 15px;
    font-weight: 400;
    color: #033824;
    text-decoration: none !important;
    border-bottom: 1px solid #d9e2e0;
  }
  /* CMSのtarget=_blankアイコン打ち消し（自前で矢印/PDFアイコンを制御するため） */
  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct::after,
  #jtweb-layout-main.new-responsive-template .ir-sp-library__btn::after,
  #jtweb-layout-main.new-responsive-template .ir-sp-library__header-link::after,
  #jtweb-layout-main.new-responsive-template .ir-sp-library__title::after {
    content: none !important;
    display: none !important;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct:last-of-type {
    border-bottom: none;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct:hover {
    opacity: 0.7 !important;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct-group {
    border-bottom: 1px solid #d9e2e0;
    margin-bottom: 0;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct--pdf .ir-sp-library__direct-icon {
    display: none;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct--pdf::after {
    content: '' !important;
    display: inline-block !important;
    width: 24px;
    height: 24px;
    background: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
    flex-shrink: 0;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 17px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5;
    color: #033824;
    letter-spacing: 0.05em;
    text-align: left;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__btn:hover {
    opacity: 0.7 !important;
    color: #033824 !important;
    transition: opacity 0.2s ease !important;
    white-space: nowrap;
    text-decoration: none !important;
  }

  /* +アイコン */
  .new-responsive-template .ir-sp-library__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    position: relative;
  }

  .new-responsive-template .ir-sp-library__icon::before,
  .new-responsive-template .ir-sp-library__icon::after {
    content: '';
    display: block;
    position: absolute;
    background-color: #05A173;
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }

  .new-responsive-template .ir-sp-library__icon::before {
    width: 14px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .new-responsive-template .ir-sp-library__icon::after {
    width: 2px;
    height: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__btn[aria-expanded="true"] .new-responsive-template .ir-sp-library__icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
  }

  /* パネル */
  .new-responsive-template .ir-sp-library__panel {
    list-style: none;
    margin: 0;
    padding: 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .new-responsive-template .ir-sp-library__panel[hidden] {
    display: none;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__panel a {
    display: flex;
    align-items: center;
    min-height: 36px;
    font-size: 13px;
    color: #707f89;
    text-decoration: none !important;
    font-weight: 500;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__panel a:hover {
    text-decoration: underline;
    opacity: 1 !important;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__panel a[href$=".pdf"]::after,
  #jtweb-layout-main.new-responsive-template .ir-sp-library__panel a.ir-contents__link--pdf::after {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-left: 6px;
    background-color: #707f89;
    mask: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
    -webkit-mask: url('/investors/library/integratedreport/report/2026/img/top/icon_pdf.svg') no-repeat center / contain;
  }

  /* タイトルエリア */
  .new-responsive-template .ir-sp-library__title {
    display: block;
    padding: 17px 16px 54px;
    text-decoration: none !important;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__title-sub {
    font-size: 26px;
    font-weight: 700;
    color: #00A273;
    margin: 0;
    letter-spacing: 0.05em;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__title-year {
    font-size: 42px;
    font-weight: 700;
    color: #5C7364;
    margin: 0;
    line-height: 1.1;
    letter-spacing: -0.02em;
  }

  #jtweb-layout-main.new-responsive-template .ir-sp-library__direct--pdf::after {
    width: 18px;
    height: 18px;
  }
}

/* ==========================================================================
   JT CMS共通CSS 打ち消し（意図しない枠線・下線の解除）
   ========================================================================== */

/* MV・SPライブラリ内の意図しない枠線を打ち消し */
.ir-hero *,
.ir-hero *::before,
.ir-hero *::after,
.ir-message-mv *,
.ir-message-mv *::before,
.ir-message-mv *::after,
.new-responsive-template .ir-sp-library *,
.new-responsive-template .ir-sp-library *::before,
.new-responsive-template .ir-sp-library *::after {
  outline: none !important;
}

.ir-hero img,
.ir-hero picture,
.ir-message-mv img,
.ir-message-mv picture {
  border: none !important;
}

/* ==========================================================================
   フッター
   ========================================================================== */
.ir-footer {
  background-color: #f1f4f3;
  padding: 64px 0 40px;
}

.ir-footer__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ナビゲーション：8コラム統合 */
.ir-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding-bottom: 40px;
}

/* PC（1050px以上）：5列レイアウト */
@media screen and (min-width: 1050px) {
  .ir-footer__nav {
    grid-template-columns: repeat(5, 1fr);
  }

  /* 中段の区切り（採用情報の後ろから改行） */
  .ir-footer__nav .ir-footer__col:nth-child(6),
  .ir-footer__nav .ir-footer__col:nth-child(7),
  .ir-footer__nav .ir-footer__col:nth-child(8) {
    padding-top: 40px;
  }
}

/* 列タイトル */
.ir-footer__col-title {
  font-size: 16px;
  font-weight: 500;
  color: #033824;
  letter-spacing: 0.8px;
  margin: 0 0 20px;
  line-height: 1.5;
}

.ir-footer__col-title a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #033824;
  text-decoration: none;
}

.ir-footer__col-title a:hover {
  text-decoration: underline;
}

/* リンクリスト */
.ir-footer__link-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ir-footer__link-list a {
  font-size: 14px;
  font-weight: 500;
  color: #707f89;
  letter-spacing: 0.7px;
  text-decoration: none;
  line-height: 1.6;
}

.ir-footer__link-list a:hover {
  text-decoration: underline;
}

/* 下段：SNS＋コピーライト */
.ir-footer__bottom {
  display: flex;
  align-items: flex-end;
  padding-top: 32px;
}

.ir-footer__bottom-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

/* SNSアイコンとGLOBAL SITEを同じ行に */
.ir-footer__sns-row {
  display: flex;
  align-items: center;
  gap: 0;
}

.ir-footer__sns {
  display: flex;
  align-items: center;
  gap: 20px;
}

.ir-footer__bottom-right {
  flex-shrink: 0;
  margin-left: 48px;
}

.ir-footer__logo {
  width: 80px;
  height: auto;
  display: block;
}

.ir-footer__sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.ir-footer__sns-link:hover {
  opacity: 1;
}

.ir-footer__util {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
}

.ir-footer__util a,
.ir-footer__global-site {
  font-size: 12px;
  font-weight: 500;
}

.ir-footer__util a {
  color: #033824;
  letter-spacing: 0.6px;
  text-decoration: none;
}

.ir-footer__util a:hover {
  text-decoration: underline;
}

.ir-footer__util span {
  color: #ccd9d4;
  font-size: 12px;
}

.ir-footer__global-site {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 16px;
  color: #033824;
  letter-spacing: 0.08em;
  text-decoration: none;
}

.ir-footer__global-site:hover {
  text-decoration: underline;
}

.ir-footer__copy {
  font-size: 10px;
  color: #707f89;
  letter-spacing: 0.5px;
  margin: 0;
  white-space: nowrap;
}

.ir-footer__copy br {
  display: none;
}

/* ==========================================================================
   ローカルナビ：2列が収まらない幅で1列に切り替え
   ========================================================================== */
@media screen and (max-width: 1100px) {
  .ir-local-nav {
    height: auto;
    min-height: 112px;
  }

  .ir-local-nav__list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    column-gap: 0;
  }

  .ir-local-nav--food .ir-local-nav__list {
    grid-template-areas: none;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .ir-local-nav--food .ir-local-nav__item:nth-child(1),
  .ir-local-nav--food .ir-local-nav__item:nth-child(2),
  .ir-local-nav--food .ir-local-nav__item:nth-child(3) {
    grid-area: auto;
  }

  .ir-local-nav--tobacco .ir-local-nav__list {
    grid-template-areas: none;
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .ir-local-nav--tobacco .ir-local-nav__item:nth-child(1),
  .ir-local-nav--tobacco .ir-local-nav__item:nth-child(2),
  .ir-local-nav--tobacco .ir-local-nav__item:nth-child(3) {
    grid-area: auto;
  }
}

@media screen and (max-width: 1100px) {
  .ir-local-nav__list {
    padding: 0 !important;
  }
}

/* ==========================================================================
   下層ページ：メッセージMV SP（〜767px）
   ========================================================================== */
@media screen and (max-width: 767px) {

  /* ヒーローエリア SP */
  .ir-message-mv--ceo {
    background-image: url('/investors/library/integratedreport/report/2026/message/ceo/img/bg_kv_ceo_sp.jpg');
    background-size: cover;
    background-position: center;
  }

  .ir-message-mv--discussion {
    background-image: url('/investors/library/integratedreport/report/2026/contents/discussion/img/kv_discussion_sp.jpg');
    background-size: cover;
    background-position: center;
  }

  .ir-message-mv--discussion .ir-message-mv__title,
  .ir-message-mv--discussion .ir-message-mv__subtitle {
    color: #000;
    padding-bottom: 6px;
  }

  .ir-message-mv--discussion .ir-message-mv__text {
    top: 76px;
    bottom: auto;
    padding: 16px 16px 0;
  }

  .ir-message-mv--cso .ir-message-mv__title,
  .ir-message-mv--cso .ir-message-mv__subtitle,
  .ir-message-mv--cso .ir-message-mv__role,
  .ir-message-mv--cso .ir-message-mv__name {
    color: #000;
  }

  .ir-message-mv--hr .ir-message-mv__title,
  .ir-message-mv--hr .ir-message-mv__subtitle,
  .ir-message-mv--hr .ir-message-mv__role,
  .ir-message-mv--hr .ir-message-mv__name {
    color: #000;
  }

  .ir-message-mv--cfo {
    background-image: url('/investors/library/integratedreport/report/2026/message/cfo/img/bg_kv_cfo_sp.jpg');
    background-size: cover;
    background-position: center;
  }

  .ir-message-mv--hr {
    background-image: url('/investors/library/integratedreport/report/2026/contents/hr/img/bg_kv_jinji_sp.jpg');
    background-size: cover;
    background-position: center;
  }

  .ir-message-mv--cso {
    background-image: url('/investors/library/integratedreport/report/2026/message/cso/img/bg_kv_cso_sp.jpg');
    background-size: cover;
    background-position: center;
  }

  .ir-message-mv--plan {
    background-image: url('/investors/library/integratedreport/report/2026/cat_assets/img/common/bg_kv_sp.jpg');
    background-size: cover;
    background-position: center;
  }

  .ir-message-mv__inner {
    position: relative;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
    padding: calc(16vw + 24px) 16px 0;
    min-height: 0;
    height: clamp(309px, 111vw, 580px);
    gap: 0;
  }

  .ir-message-mv__text {
    position: absolute;
    bottom: 24px;
    left: 16px;
    z-index: 2;
    padding: 10px 16px 16px;
    background: rgba(255, 255, 255, 0.72);
    color: #033824;
    flex: none;
  }

  .ir-message-mv {
    position: relative;
    height: auto;
    margin-top: -16vw;
  }

  .ir-message-mv__img-wrap {
    position: absolute;
    right: 40px;
    bottom: 0;
    z-index: 1;
    width: 68vw;
    height: 87%;
    display: block;
    background-image: url('/investors/library/integratedreport/report/2026/message/ceo/img/img_ceo01_sp.png');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
  }

  .ir-message-mv__img {
    display: none;
  }

  .ir-message-mv__subtitle {
    display: none;
  }

  .ir-message-mv__category {
    font-size: 11px;
    margin-bottom: 12px;
  }

  .ir-message-mv__title {
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #000 !important;
    line-height: 36px !important;
    margin-bottom: 10px !important;
  }

  .ir-message-mv__role {
    font-size: 12px;
    font-weight: 600;
    color: #000;
    line-height: 12px;
  }

  .ir-message-mv__name {
    font-size: 24px;
    font-weight: 600;
    color: #000;
    line-height: 24px;
    gap: 10px;
  }

  /* SP用サイン画像サイズ */

  .ir-message-mv__person {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 6px;
  }

  .ir-message-mv__name-sign img {
    height: auto;
    width: 176px;
  }

  .ir-message-mv--cfo .ir-message-mv__text {
    margin-left: 0 !important;
    width: fit-content !important;
  }

  .ir-message-mv--cfo .ir-message-mv__title {
    text-align: left !important;
    margin-bottom: 40px !important;
    color: #000 !important;
  }

  .ir-message-mv--cfo .ir-message-mv__subtitle {
    display: none !important;
  }

  .ir-message-mv--cfo .ir-message-mv__person {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .ir-message-mv--cfo .ir-message-mv__role,
  .ir-message-mv--cfo .ir-message-mv__name {
    color: #000 !important;
    line-height: 1.5 !important;
  }

  /* CSO MV SP */
  /* CSO MV SP */
  .ir-message-mv--cso .ir-message-mv__title {
    text-align: left !important;
    margin-bottom: 40px !important;
  }

  .ir-message-mv--cso .ir-message-mv__subtitle {
    display: none !important;
  }

  .ir-message-mv--cso .ir-message-mv__person {
    flex-direction: column !important;
  }

  .ir-message-mv--cso .ir-message-mv__role {
    line-height: 1.5 !important;
  }

  /* HR MV SP */
  .ir-message-mv--hr .ir-message-mv__title {
    text-align: left !important;
    margin-bottom: 10px !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  .ir-message-mv--hr .ir-message-mv__subtitle {
    display: none !important;
  }

  .ir-message-mv--hr .ir-message-mv__person {
    flex-direction: column !important;
  }

  .ir-message-mv--hr .ir-message-mv__role {
    line-height: 1.5 !important;
    color: #000 !important;
  }

  .ir-message-mv--hr .ir-message-mv__name {
    color: #000 !important;
  }

  /* ローカルナビ SP */
  .ir-local-nav__inner {
    flex-direction: column;
    padding: 0 16px;
  }

  .ir-local-nav {
    margin-top: 0;
    margin-bottom: 8px;
  }

  .ir-local-nav__label {
    padding: 16px 0 12px;
    border-right: none;
    font-size: 16px;
    line-height: 16px;
  }

  .ir-local-nav__list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    width: 100%;
    padding: 0;
  }

  .ir-local-nav__item {
    width: 100%;
    border-bottom: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='358' height='1' viewBox='0 0 358 1' fill='none'%3E%3Cpath d='M0 0.5H358' stroke='black' stroke-dasharray='1 1'/%3E%3Cpath d='M0 0.5H358' stroke='%235C7364' stroke-dasharray='1 1'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: auto 1px;
  }

  .ir-local-nav__item:last-child {
    background-image: none;
  }

  .ir-local-nav--2col .ir-local-nav__item:last-child {
    background-image: none;
  }

  .ir-local-nav--tobacco .ir-local-nav__item:last-child,
  .ir-local-nav--food .ir-local-nav__item:last-child,
  .ir-local-nav--plan .ir-local-nav__item:last-child {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='358' height='1' viewBox='0 0 358 1' fill='none'%3E%3Cpath d='M0 0.5H358' stroke='black' stroke-dasharray='1 1'/%3E%3Cpath d='M0 0.5H358' stroke='%235C7364' stroke-dasharray='1 1'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: auto 1px;
  }

  .ir-local-nav--tobacco,
  .ir-local-nav--food:not(.ir-local-nav--no-last-border),
  .ir-local-nav--plan {
    margin-bottom: 30px;
  }

  .ir-local-nav--no-last-border .ir-local-nav__item:last-child {
    background-image: none;
  }

  .ir-local-nav__link {
    width: 100%;
    padding: 2px 0;
    font-size: 14px;
    line-height: 20px;
    border-right: none;
    align-items: flex-start;
    text-decoration: none;
  }

  .ir-local-nav__link svg {
    margin-left: auto;
    flex-shrink: 0;
    margin-top: 4px;
  }

  /* 記事本文 SP */
  .ir-article {
    padding: 0;
  }

  .ir-page-mv + .ir-local-nav + .ir-article {
    padding-top: 0;
  }

  .ir-plan-lead {
    margin-bottom: 0;
  }

  .ir-plan-sub-heading {
    height: auto;
    min-height: 34px;
    padding: 8px 16px 8px 20px !important;
  }

  .ir-plan-sub-heading--food {
    height: auto;
    min-height: 34px;
    padding: 8px 16px 8px 20px !important;
  }

  .ir-plan-sub-heading ~ .ir-article__subsection-heading,
  .ir-plan-sub-heading--food ~ .ir-article__subsection-heading {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  .ir-plan-sub-heading + .ir-article__subsection-heading,
  .ir-plan-sub-heading--food + .ir-article__subsection-heading {
    margin-top: 0;
  }

  .ir-article__subsection-heading + .ir-article__subsection-heading {
    margin-top: 0;
  }

  .ir-plan-sub-heading ~ .ir-article__subsection-heading::before,
  .ir-plan-sub-heading--food ~ .ir-article__subsection-heading::before {
    left: 0;
  }

  .ir-plan-lead__text br {
    display: none;
  }

  .ir-plan-lead__text {
    margin-bottom: 64px;
  }

  .ir-plan-business-link {
    margin-top: 0;
  }

  .ir-article__inner {
    padding: 0 16px;
  }

  .ir-article__section {
    margin-top: 0;
    margin-bottom: 48px;
  }

  .ir-article__section:first-child {
    margin-top: 0;
  }

  /* SP専用改行 */
  .ir-sp-br {
    display: block;
  }

  .ir-article__section-heading {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: normal !important;
    margin-bottom: 20px !important;
    padding-left: 0 !important;
  }

  .ir-article__section-heading--discussion {
    font-size: 22px !important;
  }

.ir-materiality-card--empty {
  background-color: transparent;
  border-top: none;
  padding: 0;
  pointer-events: none;
  visibility: hidden;
}

.ir-materiality-card--col2 {
}

.ir-materiality-card--col1 {
}



.ir-article__subsection-heading {
    font-size: 16px !important;
    margin: 36px 0 16px !important;
    padding-left: 0 !important;
  }

  .ir-article__text {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #444;
    line-height: 30px;
    margin-bottom: 20px;
  }

  .ir-article__text--food-safe {
    margin: 0 0 20px;
  }

  .ir-article__policy-box {
    padding: 20px;
    margin-bottom: 0;
  }

  /* READ MORE SP */
  .ir-article__readmore {
    display: block;
    border: none;
    margin: 0;
    padding: 0;
  }

  /* section body: 7行分でクリップ */
  .ir-section01-body .ir-article__readmore-preview,
  .ir-section-body .ir-article__readmore-preview {
    max-height: 210px;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }

  /* planページ: 他ページと同じ高さでクリップ */
  .ir-section-body--plan .ir-article__readmore-preview {
    max-height: 210px;
  }

  /* 閉じているときのフェードグラデーション */
  .ir-article__readmore-preview {
    position: relative;
  }

  .ir-article__readmore-preview::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
  }

  /* 展開後はグラデーション非表示 */
  .ir-article__readmore-preview:has(+ .ir-article__readmore[aria-expanded="true"])::after {
    display: none;
  }

  /* 展開後はpreviewのmax-heightも解除（readmore-bodyが空の場合に全文表示するため） */
  .ir-section-body .ir-article__readmore-preview:has(+ .ir-article__readmore[aria-expanded="true"]) {
    max-height: 3000px;
  }

  /* summaryのデフォルトmarker非表示 */
  .ir-article__readmore-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 20px 0 4px !important;
    list-style: none;
    cursor: pointer;
    background: none;
    border: none;
    color: #033824;
    font-family: 'Noto Sans JP', sans-serif;
  }

  .ir-article__readmore-btn::-webkit-details-marker {
    display: none;
  }

  /* 矢印アイコン */
  .ir-article__readmore-btn::before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #033824;
    border-bottom: 2px solid #033824;
    transition: transform 0.3s ease;
  }

  /* MORE：下向き矢印（∨） */
  .ir-article__readmore-btn--more::before {
    transform: rotate(45deg);
    margin-bottom: 2px;
  }

  /* CLOSE：上向き矢印（∧） */
  .ir-article__readmore-btn--close::before {
    transform: rotate(-135deg);
    margin-top: 6px;
  }

  /* テキスト */
  .ir-article__readmore-label {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #5C7364;
  }

  /* 開いたらMOREボタン非表示 */
  .ir-article__readmore[aria-expanded="true"] .ir-article__readmore-btn--more {
    display: none;
  }

  /* CLOSEボタンはデフォルト非表示・展開時表示 */
  .ir-article__readmore-btn--close {
    display: none;
    margin: 7px auto 0;
  }

  .ir-article__readmore[aria-expanded="true"] .ir-article__readmore-btn--close {
    display: flex;
  }

  /* 本文エリア：閉じた状態では非表示 */
  .ir-article__readmore-body {
    display: none;
    padding-top: 20px;
  }

  .ir-article__readmore-body > *:last-child {
    margin-bottom: 0;
  }

  .ir-article__readmore-body > *:last-child .ir-article__footnote:last-child,
  .ir-article__readmore-body > .ir-article__footnote:last-child {
    margin-bottom: 0;
  }

  .ir-article__readmore-body > *:last-child .ir-article__img--full,
  .ir-article__readmore-body > .ir-article__img--full:last-child {
    margin-bottom: 0;
  }

  /* 開いたら表示（JSがない場合のフォールバック不要のため削除） */

}

/* ==========================================================================
   フッター SP（〜767px）
   ========================================================================== */
@media screen and (max-width: 767px) {

  .ir-footer {
    padding: 0 0 40px;
  }

  .ir-footer__inner {
    padding: 0;
  }

  /* ナビゲーション：1列積み */
  .ir-footer__nav {
    display: block;
    padding-bottom: 0;
    border-top: none;
  }

  /* 各カテゴリ行 */
  .ir-footer__col {
    margin: 0 25px;
    border-bottom: 1px solid #ccd9d4;
  }

  .ir-footer__col:first-child {
    border-top: none;
  }

  .ir-footer__col-title a svg {
    display: none;
  }

  /* キャンペーンなど単体リンク行：>アイコンを右端に表示 */
  .ir-footer__col--link .ir-footer__col-title {
    justify-content: space-between;
  }

  .ir-footer__col--link .ir-footer__col-title::after {
    content: '';
    display: flex;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background-color: #033824;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='5' height='8' viewBox='0 0 5 8'%3E%3Cpath d='M3.493 3.999L0.184 0.974A0.626 0.626 0 0 1 0.627 0a0.626 0.626 0 0 1 .442.167L4.818 3.594a0.626 0.626 0 0 1 0 .81L1.072 7.834A0.626 0.626 0 0 1 0 7.43a0.626 0.626 0 0 1 .184-.457L3.493 3.999Z' fill='%23033824'/%3E%3C/svg%3E") center / 8px 13px no-repeat;
    clip-path: none;
  }

  /* タイトル行：横並び・左テキスト・右ボタン */
  .ir-footer__col-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: static;
    margin: 0;
    padding: 16px 0;
    font-size: 18px;
    color: #033824;
    margin-right: auto;
  }

  .ir-footer__col-title a {
    font-size: 18px;
    color: #033824;
    margin-right: auto;
  }

  /* SP用トグルボタン（+/-）：flex末尾に固定 */
  .ir-footer__acc-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    transform: none;
    flex-shrink: 0;
    margin-left: auto;
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    position: relative;
  }

  /* + アイコン（横線） */
  .ir-footer__acc-btn::before,
  .ir-footer__acc-btn::after {
    content: '';
    display: block;
    position: absolute;
    background-color: #033824;
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }

  /* 横線 */
  .ir-footer__acc-btn::before {
    width: 14px;
    height: 2px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* 縦線（開いたら消える） */
  .ir-footer__acc-btn::after {
    width: 2px;
    height: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* 開いた状態：縦線を消す（×にせず横線だけ残す） */
  .ir-footer__acc-btn[aria-expanded="true"]::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg);
  }

  /* リンクリスト：展開パネル */
  .ir-footer__link-list {
    padding: 0 0 20px;
    gap: 16px;
  }

  /* hidden属性でアニメーションなしで非表示（シンプル対応） */
  .ir-footer__link-list[hidden] {
    display: none;
  }

  .ir-footer__link-list a {
    font-size: 13px;
  }

  /* 下部：左側縦積み＋ロゴ右下 */
  .ir-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 25px 40px;
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
    position: relative;
  }

  .ir-footer__bottom-left {
    flex: unset;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
  }

  .ir-footer__bottom-right {
    position: absolute;
    right: 25px;
    bottom: 40px;
    margin-right: 0;
    align-self: unset;
    flex-shrink: unset;
  }

  .ir-footer__logo {
    width: 42px;
  }

  /* SNSアイコン：1行横並び・折り返しなし */
  .ir-footer__sns {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    align-items: center;
  }

  .ir-footer__sns-row {
    display: contents;
  }

  .ir-footer__sns-link img {
    width: 30px;
    height: 30px;
  }

  /* GLOBAL SITE */
  .ir-footer__global-site {
    margin-left: 0;
    margin-top: 0;
    font-size: 12px;
  }

  /* ユーティリティリンク：折り返し・区切り線表示 */
  .ir-footer__util {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 4px;
  }

  .ir-footer__util span {
    display: none;
  }

  .ir-footer__util span.ir-footer__util-divider {
    display: inline;
    color: #ccd9d4;
    font-size: 12px;
  }

  .ir-footer__util a:first-child,
  .ir-footer__util-block {
    width: 100%;
  }

  .ir-footer__util a {
    font-size: 11px;
  }

  /* コピーライト */
  .ir-footer__copy {
    font-size: 10px;
    line-height: 1.6;
  }

  /* PCではボタン非表示 */

  /* Sustainability 画像 SP */
  .ir-sustainability-img-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #00A273 #d9ede8;
    margin-top: 20px;
    margin-bottom: 0;
  }

  .ir-sustainability-img-wrap::-webkit-scrollbar {
    height: 6px;
  }

  .ir-sustainability-img-wrap::-webkit-scrollbar-track {
    background: #d9ede8;
  }

  .ir-sustainability-img-wrap::-webkit-scrollbar-thumb {
    background: #00A273;
    border-radius: 3px;
  }

  .ir-sustainability-img {
    width: auto;
    height: 382px;
  }

  .ir-special-graph-wrap {
    max-width: none;
  }

  .ir-special-graph__scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #00A273 #d9ede8;
    padding-bottom: 5px;
    margin-top: 0;
  }

  .ir-special-graph__scroll-wrap::-webkit-scrollbar {
    height: 6px;
  }

  .ir-special-graph__scroll-wrap::-webkit-scrollbar-track {
    background: #d9ede8;
  }

  .ir-special-graph__scroll-wrap::-webkit-scrollbar-thumb {
    background: #00A273;
    border-radius: 3px;
  }

  .ir-special-graph__scroll-wrap .ir-special-graph__img {
    width: auto;
    height: 261px;
  }

  .ir-special-graph__scroll-wrap img {
    width: auto;
    height: 260px;
  }

  .ir-plan-business-link--special {
    display: inline-flex;
    margin-top: 0;
  }

  .ir-plan-business-link--pc-only {
    display: none !important;
  }

  .ir-plan-business-link--special {
    margin-bottom: 34px;
  }

  .ir-plan-business-link--special-tobacco {
    margin-top: 16px;
    margin-bottom: 20px;
  }

  .ir-article__text + .ir-plan-business-link--special {
    margin-top: 0;
  }

  .ir-article__text:has(+ .ir-plan-business-link--special) {
    margin-bottom: 8px;
  }

  .ir-special-graph__scroll-wrap .ir-special-graph__img--02 {
    height: 380px;
  }

  .ir-special-full-img {
    margin-top: 0;
  }

  .ir-article__text.ir-special-text--mt56 {
    margin-top: 0;
  }

  .ir-tobacco-info-box .ir-plan-business-link--special {
    margin-bottom: 0;
  }

  .ir-tobacco-info-box + .ir-article__text {
    margin-top: 20px;
  }

  .ir-plan-sub-heading {
    margin: 40px 0 24px;
  }

  .ir-article__text + .ir-plan-sub-heading {
    margin-top: 40px;
  }

  /* planページ: ir-plan-business-nameをSPでir-plan-sub-headingと同等の上余白に */
  .ir-section-body--plan .ir-article__readmore-preview .ir-plan-business-name:first-of-type {
    margin-top: 40px;
  }

  .ir-special-graph__scroll-wrap .ir-special-graph__img--04 {
    width: auto;
    height: 415px;
  }

  .ir-special-graph__scroll-wrap .ir-special-graph__img--05 {
    width: auto;
    height: 276px;
  }

  /* Materiality SP */
  .ir-materiality-grid {
    gap: 16px;
  }

  .ir-article__readmore-body .ir-materiality-grid {
    margin-top: 0;
  }

  /* 加工食品事業：SWOT SP */
  .ir-dlab-sp-card {
    display: block;
    border-radius: 8px;
    background: rgba(0, 162, 115, 0.15);
    padding: 16px;
    margin-top: 16px;
  }

  .ir-dlab-full-img--pc {
    display: none;
  }

.ir-dlab-sp-card {
  display: none;
}

.ir-dlab-sp-card__header {
  margin-bottom: 12px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .ir-dlab-sp-card__logo {
    width: 100%;
    height: auto;
  }
}

.ir-dlab-sp-card__text {
  color: #000;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  margin: 0;
}

.ir-dlab-sp-card__note {
  font-size: 14px;
}

.ir-dlab-full-img--sp {
    display: block;
  }

  .ir-dlab-full-img--last {
    margin-top: 0;
  }

  .ir-dlab-2col {
    flex-direction: column;
    gap: 24px;
  }

  .ir-dlab-2col__img-wrap {
    flex: none;
    width: 100%;
  }

  .ir-dlab-2col__text {
    flex: none;
    width: 100%;
  }

  .ir-swot-wrap {
    flex-direction: column;
    gap: 24px;
  }

  .ir-article__readmore-preview .ir-swot-wrap:last-child {
    margin-bottom: 0;
  }

  .ir-article__readmore-preview > *:last-child .ir-article__footnote:last-child,
  .ir-article__readmore-preview > .ir-article__footnote:last-child {
    margin-bottom: 0;
  }

  .ir-swot-wrap__text {
    flex: none;
    width: 100%;
    margin-right: 0;
  }

  .ir-swot-wrap__img-wrap {
    flex: none;
    width: 100%;
  }

  .ir-swot-wrap--tobacco .ir-swot-wrap__img-wrap {
    width: 100%;
  }

  .ir-swot-wrap__footnote {
    flex: none;
    width: 100%;
    margin-left: 0;
  }

  .ir-food-2col {
    flex-direction: column;
    gap: 0;
  }

  .ir-food-2col--float-img .ir-food-2col__img-wrap {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-top: 16px;
    order: 2;
  }

  .ir-food-2col--float-img {
    display: flex;
    flex-direction: column;
  }

  .ir-food-2col--float-img .ir-food-2col__text {
    order: 1;
    flex: none;
    width: 100%;
    min-width: 0;
  }

  .ir-food-2col__text {
    flex: none;
    width: 100%;
    margin-right: 0;
  }

  .ir-food-2col__img-wrap {
    flex: none;
    width: 100%;
    margin-top: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .ir-food-2col--ks .ir-food-2col__img-wrap,
  .ir-food-2col--tm .ir-food-2col__img-wrap,
  .ir-food-2col--perf .ir-food-2col__img-wrap {
    flex: none !important;
    width: 100% !important;
    order: 1;
    align-items: center;
  }

  .ir-food-2col--ks.ir-food-2col--float-img .ir-food-2col__img-wrap,
  .ir-food-2col--tm.ir-food-2col--float-img .ir-food-2col__img-wrap,
  .ir-food-2col--arise.ir-food-2col--float-img .ir-food-2col__img-wrap {
    order: 2;
  }

  .ir-food-2col--perf .ir-food-2col__img-wrap {
    order: 2;
    align-items: stretch;
  }

  .ir-food-2col--perf .ir-food-2col__text {
    order: 1;
  }

  .ir-food-2col--perf .ir-food-graph__label {
    text-align: left;
  }

  .ir-dlab-person__title {
    margin-bottom: 24px;
  }

  .ir-food-2col__img-wrap.ir-dlab-person__img-wrap {
    align-items: flex-start;
  }

  .ir-food-2col__img-wrap--ks {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .ir-food-2col .ir-food-2col__img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
  }

  .ir-food-2col .ir-food-2col__img--sm,
  .ir-food-2col--ks .ir-food-2col__img--sm {
    width: 80% !important;
    max-width: 80% !important;
  }

  .ir-food-graph__label {
    text-align: center;
    font-size: 18px;
  }

  .ir-food-graph__label--left {
    text-align: left;
    display: block;
    padding-left: 18px;
    position: relative;
    align-items: unset;
    line-height: 24px;
    font-size: 18px;
    margin-top: 0;
  }

  .ir-food-graph__label--left .ir-food-graph__label-dot {
    display: none;
  }

  .ir-food-graph__label--left::before {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
  background-color: #00AC7C;
    position: absolute;
    left: 0;
    top: 6px;
  }

  /* 加工食品：食の安全 SP */
  .ir-food-safe {
    flex-direction: column;
    gap: 24px;
  }

  .ir-food-safe__text {
    flex: none;
    width: 100%;
  }

  .ir-food-safe__grid {
    flex: none;
    width: 100%;
  }

  .ir-food-safe__img {
    width: 100%;
    height: auto;
  }

  /* 加工食品：テキスト・見出し SP */
  .ir-food-sub-heading {
    font-size: 17px !important;
    margin-top: 0 !important;
  }

  /* 加工食品：事業Purpose SP */
.ir-biz-purpose {
    flex-direction: column;
    gap: 8px;
    text-align: center;
    margin: 0 0 48px;
  }

  .ir-biz-purpose__divider {
    display: none;
  }

  .ir-biz-purpose__text {
    font-size: 22px;
  }

  .ir-swot-wrap__left {
    flex: none;
    width: 100%;
  }

  .ir-swot-cell__letter {
    font-size: 36px;
  }

  .ir-swot-badge {
    width: 56px;
    height: 56px;
  }

  .ir-swot-badge__text {
    font-size: 11px;
  }

  .ir-swot-badge__sub {
    font-size: 9px;
  }

  /* 投資家との対話状況テーブル SP */
  .ir-dialog-table__row {
    flex-direction: column;
    gap: 4px;
  }

  .ir-dialog-table__label {
    width: 100%;
    padding: 10px 20px 10px 0 !important;
  }

  .ir-dialog-table__body {
    padding: 0 0 10px !important;
  }

  .ir-dialog-table__body--split {
    flex-direction: column;
    gap: 8px;
  }

  .ir-dialog-table__col {
    width: 100%;
  }

}

/* ========== CSOサステナビリティ戦略全体像 ========== */
.ir-cso-strategy {
  max-width: 600px;
  margin: 32px auto 20px;
  padding: 1px 20px 20px;
  background: #f1f1f1;
}

.ir-cso-strategy__title {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 24px;
  color: #000;
}

.ir-cso-strategy__block {
  overflow: hidden;
}

.ir-cso-strategy__head {
  background-color: #00AC7C;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  padding: 10px 20px;
  text-align: center;
}

.ir-cso-strategy__body {
  padding: 8px 20px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.7;
  color: #333;
  background: #a1e0b5;
}

.ir-cso-strategy__arrow {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #00A273;
  margin: 0 auto;
}


.ir-dialog-table {
  width: 100%;
  font-size: 16px;
  line-height: 1.7;
  margin-top: 80px;
}

.ir-dialog-table__head {
  background-color: #999;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  padding: 12px 20px;
}

.ir-dialog-table__row {
  display: flex;
  border-bottom: 1px solid #ddd;
}

.ir-dialog-table__label {
  width: 200px;
  flex-shrink: 0;
  padding: 20px 20px 20px 0;
  color: #00A273;
  font-weight: 600;
  font-size: 16px;
  white-space: nowrap;
}

.ir-dialog-table__body {
  flex: 1;
  padding: 20px 0;
}

.ir-dialog-table__body--split {
  display: flex;
  gap: 40px;
}

.ir-dialog-table__col {
  flex: 1;
}

.ir-dialog-table__item {
  display: flex;
  gap: 6px;
  margin-bottom: 4px;
  align-items: baseline;
  color: #000;
  font-weight: 700;
}

.ir-dialog-table__item::before {
  content: '■';
  color: #aaa;
  flex-shrink: 0;
  font-size: 10px;
  line-height: 1;
  margin-top: 0.35em;
}

.ir-dialog-table__sub {
  padding-left: 16px;
  color: #555;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 4px;
}

/* CSO サステナビリティ検討会ボックス */
.ir-cso-meeting-box {
  padding: 32px 40px 36px;
  margin: 32px auto 0;
  max-width: 760px;
  background: #f1f1f1;
}

.ir-cso-meeting-box__title {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 24px;
  color: #000;
}

.ir-cso-meeting-box__list {
  list-style: none;
  margin: 0;
  padding: 16px 20px;
  background: #fff;
}

.ir-cso-meeting-box__item {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #000;
}

.ir-cso-meeting-box__item::before {
  content: '■';
  color: #00A273;
  flex-shrink: 0;
  font-size: 14px;
}

.ir-cso-meeting-box__sublist {
  list-style: none;
  margin: 8px 0 0 0;
  padding: 0 0 0 1em;
}

.ir-cso-meeting-box__subitem {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #000;
}

.ir-cso-meeting-box__subitem::before {
  content: '●';
  color: #00A273;
  flex-shrink: 0;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .ir-cso-strategy__title {
    font-size: 17.6px !important;
  }
  .ir-cso-strategy__head {
    font-size: 14.4px !important;
  }
  .ir-cso-strategy__body {
    font-size: 14.4px !important;
  }
  .ir-cso-meeting-box__title {
    font-size: 17.6px !important;
    margin: 0 0 12px !important;
  }
  .ir-cso-meeting-box__item {
    font-size: 12.8px !important;
    flex-wrap: wrap !important;
  }
  .ir-cso-meeting-box__sublist {
    width: 100%;
  }
  .ir-cso-meeting-box__subitem {
    font-size: 12.8px !important;
  }
  .ir-cso-meeting-box {
    padding: 10px 20px 20px !important;
  }
}

/* HR img_jinji03 横スクロール（SP） */
.ir-hr-img-scroll-wrap {
  margin-top: 32px;
}

.ir-hr-img-scroll {
  display: block;
  width: 80%;
  max-width: 1258px;
  margin: 0 auto;
}

.ir-hr-theme-heading {
  font-size: 22px;
  font-weight: 700;
  color: #00A273;
  padding: 0;
}

.ir-hr-theme-block {
  margin-top: 24px;
}

.ir-hr-square-list {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}.ir-hr-square-list__item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  line-height: 1.75;
  color: #333;
}

.ir-hr-square-list__item::before {
  content: '■';
  color: #999;
  font-size: 9px;
  flex-shrink: 0;
  margin-top: 5px;
}

/* HR ジェンダーエクイティ テーブル */
.ir-hr-theme-block__footnote {
  margin-bottom: 20px;
}

.ir-hr-theme-block .ir-plan-business-link,
.ir-food-2col__text .ir-plan-business-link,
.ir-article__readmore-body > .ir-plan-business-link {
  margin-top: 16px;
}

.ir-plan-business-link--mt-half {
  margin-top: 4px !important;
}

.ir-hr-gender-wrap {
  max-width: 800px;
  margin: 24px auto 0;
}

.ir-hr-gender-unit {
  text-align: right;
  font-size: 13px;
  color: #333;
  margin: 0 0 4px;
}

.ir-hr-gender-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.6;
}

.ir-hr-gender-table th:first-child,
.ir-hr-gender-table td:first-child {
  border-left: none;
}

.ir-hr-gender-table th:last-child,
.ir-hr-gender-table td:last-child {
  border-right: none;
}

.ir-hr-gender-table th {
  background-color: #b7b7b7;
  color: #fff;
  font-weight: 700;
  padding: 5px 10px;
  text-align: center;
  border: 1px solid #231815;
}

.ir-hr-gender-table td {
  padding: 5px 10px;
  border: 1px solid #231815;
  text-align: center;
  color: #333;
}

.ir-hr-gender-table__th-item {
  color: #00A273;
}

.ir-hr-gender-table td.ir-hr-gender-table__cat {
  font-weight: 700;
  color: #00A273;
  text-align: left;
}

.ir-hr-gender-table td.ir-hr-gender-table__sub {
  font-weight: 700;
  color: #00A273;
  text-align: left;
}

.ir-hr-gender-table td.ir-hr-gender-table__sub--green {
  font-weight: 700;
  color: #00A273;
  text-align: left;
}

.ir-hr-gender-table td.ir-hr-gender-table__num {
  text-align: right;
}

.ir-hr-gender-footnote {
  font-size: 13px;
  color: #333;
  margin: 8px 0 0;
}

@media (max-width: 767px) {
  .ir-hr-theme-block .ir-food-graph__label,
  .ir-food-2col .ir-food-graph__label {
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .ir-hr-theme-block .ir-food-graph__label-dot,
  .ir-food-2col .ir-food-graph__label-dot {
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  .ir-hr-gender-wrap {
    overflow-x: visible;
  }

  .ir-hr-gender-table {
    font-size: calc(11px * 1.3);
  }

  .ir-hr-gender-table th,
  .ir-hr-gender-table td {
    padding: 4px 6px;
  }
}

@media (max-width: 767px) {
  .ir-hr-img-scroll-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #00A273 #d9ede8;
    margin-top: 20px;
  }

  .ir-hr-img-scroll-wrap::-webkit-scrollbar {
    height: 6px;
  }

  .ir-hr-img-scroll-wrap::-webkit-scrollbar-track {
    background: #d9ede8;
  }

  .ir-hr-img-scroll-wrap::-webkit-scrollbar-thumb {
    background: #00A273;
    border-radius: 3px;
  }

  .ir-hr-img-scroll {
    width: auto;
    height: 500px;
  }

  .ir-discussion-members__inner {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-top: 0;
    padding-bottom: 20px;
  }

  .ir-discussion-members__caption {
    text-align: center;
    padding-right: 0;
    margin-bottom: 4px;
  }

  .ir-discussion-members__group {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
  }

  .ir-discussion-members__group + .ir-discussion-members__caption {
    padding-left: 0;
  }

  .ir-discussion-members__person {
    flex-direction: row;
    align-items: baseline;
    gap: 16px;
    white-space: nowrap;
  }
}

/* ===== hr: テーブル列幅 ===== */
.ir-hr-gender-table--5col col:nth-child(1) { width: 25%; }
.ir-hr-gender-table--5col col:nth-child(2) { width: 33%; }
.ir-hr-gender-table--5col col:nth-child(3) { width: 14%; }
.ir-hr-gender-table--5col col:nth-child(4) { width: 14%; }
.ir-hr-gender-table--5col col:nth-child(5) { width: 14%; }

.ir-hr-gender-table--4col col:nth-child(1) { width: 46%; }
.ir-hr-gender-table--4col col:nth-child(2) { width: 18%; }
.ir-hr-gender-table--4col col:nth-child(3) { width: 18%; }
.ir-hr-gender-table--4col col:nth-child(4) { width: 18%; }
