@charset "UTF-8";
/* stylelint-disable color-hex-case */
/**
 * 本文（通常）
 */
/**
 * リンク
 */
/**
 * 大見出し（h2）
 */
/**
 * 研究開発（/rd/ 配下）・知財創出体制ページ共通
 */
/* 長音・小書きの仮名を行頭に置かない（Figma の改行に合わせる） */
.p-rd,
.p-rdField,
.p-rdProcess,
.p-rdDevelopmentSystem,
.p-intellectualProperty {
  line-break: strict;
}

/**
 * Override: HeadingSection（ページタイトル .-h1.rd）
 * 既存との差分: PC 文字サイズ 100px・字間 -2px、行間 0.924
 * 既存の -h1 の指定より詳細度を上げ、CSS の読み込み順に左右されないようにする
 * SP の文字サイズは既存（56px）のままだが、PageRdSection のセクション見出し用の .rd（SP 28px）が当たらないよう明示する
 */
.c-headingSection.-h1.rd .c-headingSection-title {
  line-height: 0.924;
}
@media screen and (min-width: 768px) {
  .c-headingSection.-h1.rd .c-headingSection-title {
    font-size: 6.25rem;
    letter-spacing: -0.125rem;
  }
}
@media screen and (max-width:767px) {
  .c-headingSection.-h1.rd .c-headingSection-title {
    font-size: 4rem;
  }
}

/**
 * Override: LinkArrowUnderline（.rd）
 * 既存との差分: 文字の行の高さを Figma（1.8）に合わせる
 * ホバー時に文字を 1.35em 送るため、行の高さ（1.35）は変えず、切り抜き範囲の外側に上下の余白を足す
 */
.c-linkArrowUnderline.rd .c-linkArrowUnderline-text-wrapper {
  margin-block: 0.225em;
}

/*
 * 導入画像のイントロモーション（IntroImage.ts）の開始状態
 * スクリプトの実行前に画像が一瞬表示されないよう CSS で隠しておく。動きを減らす設定では最初から表示する
 */
@media (prefers-reduced-motion: no-preference) {
  [data-intro-image] img {
    opacity: 0;
    transform: translate3d(0, 0, 0) scale(1.2);
    backface-visibility: hidden;
  }
}
/*
 * ベールが剥がれるように表示するモーション（VeilReveal.ts）
 * 左上が不透明・右下が透明の斜めのマスクを要素の 2.2 倍の大きさで敷き、右下（透明）から左上（不透明）へ動かす。
 * 2.2 倍にすると、境目（ぼかし幅を含む）が要素の左上の角のすぐ外から動き出し、右下の角のすぐ外で止まる（動き出しの待ちがない）。
 * 時間・緩急は導入画像のイントロモーション（IntroImage.ts の縮小: 2.5秒・expo.out）と同じ。動きを減らす設定では最初から表示する
 */
@media (prefers-reduced-motion: no-preference) {
  [data-veil-reveal] {
    mask-image: linear-gradient(135deg, #000 46%, transparent 54%);
    mask-repeat: no-repeat;
    mask-position: 100% 100%;
    mask-size: 220% 220%;
    transition: mask-position 2.5s cubic-bezier(0.16, 1, 0.3, 1);
  }
  [data-veil-reveal].is-revealed {
    mask-position: 0 0;
  }
}
/**
 * Component
 * PC: 見出し列（345px）+ 本文列（最大920px） / SP: 縦積み
 */
@media screen and (min-width: 768px) {
  .p-pageRdSection {
    display: grid;
    grid-template-columns: min(23.96vw, 21.5625rem) minmax(0, 57.5rem);
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSection {
    display: flex;
    flex-direction: column;
    gap: 4.2857142857rem;
  }
}

/**
 * Children
 */
@media screen and (min-width: 768px) {
  .p-pageRdSection-head {
    max-width: 14.375rem;
    padding-right: 1.25rem;
  }
}

.p-pageRdSection-body {
  min-width: 0;
}

/**
 * Override: HeadingSection（.rd）
 * medium との差分 PC: サブタイトル 14px / SP: タイトル 28px
 */
@media screen and (min-width: 768px) {
  .c-headingSection.rd .c-headingSection-subtitle {
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  .c-headingSection.rd .c-headingSection-title {
    font-size: 2rem;
  }
}

/**
 * Children
 */
.p-pageRdSectionOverview-content {
  display: flex;
  flex-direction: column;
  font-family: "midashi", "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionOverview-content {
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionOverview-content {
    gap: 2.8571428571rem;
  }
}

.p-pageRdSectionOverview-title {
  color: #000;
  line-height: 1.49;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionOverview-title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionOverview-title {
    font-size: 2rem;
  }
}

.p-pageRdSectionOverview-text {
  color: #242424;
  font-feature-settings: "palt" 1;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionOverview-text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionOverview-text {
    font-size: 1.2857142857rem;
  }
}

/* SP 用の改行は 500px 以下でのみ適用する */
@media screen and (min-width: 501px) {
  .p-pageRdSectionOverview-brSp {
    display: none;
  }
}

/*
 * Override: ベールのモーション（VeilReveal.ts / PageRdCommon.scss）
 * 既存との差分: 緩急。共通の expo.out だとこの文章は早く現れすぎるため、少しゆっくりな easeOutQuart にする（時間は共通の 2.5 秒のまま）
 */
@media (prefers-reduced-motion: no-preference) {
  .p-pageRdSectionOverview-content[data-veil-reveal] {
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  }
}
/**
 * Component
 */
@media screen and (max-width:767px) {
  .p-pageRdSectionPublication {
    gap: 2.8571428571rem;
  }
}
.p-pageRdSectionPublication {
  /* SP の見出しは他セクションより大きい（32px / 行間 0.924） */
}
@media screen and (max-width:767px) {
  .p-pageRdSectionPublication .c-headingSection.rd .c-headingSection-title {
    font-size: 2.2857142857rem;
    line-height: 0.924;
  }
}

/**
 * Children
 */
.p-pageRdSectionPublication-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-pageRdSectionPublication-button {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionPublication-button {
    justify-content: flex-end;
    margin-top: 3.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionPublication-button {
    margin-top: 4.2857142857rem;
  }
}

/**
 * Override: ListItemNews（.rd）
 * 既存との差分: 日付列の幅・左余白・日付と本文の間隔、SP の日付サイズ
 */
.c-listItemNews.rd .c-listItemNews-content {
  grid-template-columns: max-content 1fr;
  padding-right: 0;
}
@media screen and (min-width: 768px) {
  .c-listItemNews.rd .c-listItemNews-content {
    align-items: center;
    column-gap: 3.75rem;
  }
}
@media screen and (max-width:767px) {
  .c-listItemNews.rd .c-listItemNews-content {
    column-gap: 2.8571428571rem;
    margin-block: 1.0714285714rem 1.1428571429rem;
  }
}
.c-listItemNews.rd .c-listItemNews-date {
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .c-listItemNews.rd .c-listItemNews-date {
    line-height: 0.924;
  }
}
@media screen and (max-width:767px) {
  .c-listItemNews.rd .c-listItemNews-date {
    font-size: 1rem;
  }
}

/* 最終行の下余白はボタンとの間隔（60px）に含める */
.p-pageRdSectionPublication-listItem:last-child .c-listItemNews.rd .c-listItemNews-content {
  margin-bottom: 0;
}

/* リンク（inline-grid）のベースライン揃えで行の下に隙間ができないようにする（一覧とボタンの間を 60px にそろえる） */
.p-pageRdSectionPublication-listItem .c-listItemNews.rd,
.p-pageIntellectualPropertyNews-listItem .c-listItemNews.rd {
  vertical-align: top;
}

/**
 * Override: ButtonArrow（.rd）
 * 既存との差分: 最小幅 PC 270px / SP 264px
 */
@media screen and (min-width: 768px) {
  .c-buttonArrow.rd {
    min-width: 16.875rem;
  }
}
@media screen and (max-width:767px) {
  .c-buttonArrow.rd {
    min-width: 18.8571428571rem;
  }
}

/*
 * カードが1列になる画面幅（タブレット〜PC 1408px）
 * PC のカードは 478px 固定で、2列に並ぶのは画面幅がおよそ 1386px（スクロールバーなし）〜1409px（17px）以上のとき。
 * スクロールバーの幅を含めても1列のままの範囲をすべて対象にする
 */
/**
 * Override: TheRelated（.rd）
 * 既存との差分: 上下余白、PC の中身の最大幅、カード高さ 180px・正方形画像、矢印をカード右下に配置、説明文のウェイト
 */
@media screen and (min-width: 768px) {
  .c-theRelated.rd {
    padding: 7.5rem 0 7.5625rem 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .c-theRelated.rd {
    margin-top: 0;
    padding: 4.5714285714rem 1.7142857143rem 5.7142857143rem;
  }
}
.c-theRelated.rd {
  /* 1列のとき: 右側にも 40px の余白を取る */
}
@media screen and (min-width: 768px) and (max-width: 1408px) {
  .c-theRelated.rd {
    padding-right: 2.5rem;
  }
}
.c-theRelated.rd {
  /* PC: 見出しをページ本文（左 40px）と同じ位置から始め、カードの右端を本文の右端にそろえる */
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-theRelated-inner {
    max-width: 87.5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-theRelated-list {
    gap: 3.75rem;
  }
}
.c-theRelated.rd {
  /* 1列のとき: 各カードの横幅を「研究開発 TOP」と同じ全幅にそろえる */
}
@media screen and (min-width: 768px) and (max-width: 1408px) {
  .c-theRelated.rd .c-theRelated-listItem {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks {
    height: 11.25rem;
  }
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks {
    height: auto;
  }
}
.c-theRelated.rd {
  /* 説明文を折り返すため、本文エリアを縮めて残り幅に収める */
}
.c-theRelated.rd .c-cardCorporateInfoLinks-content {
  flex-shrink: 1;
  min-width: 0;
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-content {
    padding-top: 0.7142857143rem;
  }
}
.c-theRelated.rd .c-cardCorporateInfoLinks-main {
  justify-content: flex-start;
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-main {
    position: static;
    margin-top: 0.2857142857rem;
  }
}
.c-theRelated.rd .c-cardCorporateInfoLinks-main .c-boxArrow {
  order: 1;
  align-self: flex-end;
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-main .c-boxArrow {
    width: 3.375rem;
    height: 1.75rem;
    padding: 0;
  }
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-main .c-boxArrow {
    position: static;
    margin-top: 0.7142857143rem;
  }
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-titleWrapper {
    padding-right: 0;
  }
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-title {
    line-height: 0.9;
    margin-block: -0.25rem;
  }
}
.c-theRelated.rd .c-cardCorporateInfoLinks-description {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-description {
    margin-top: 1rem;
  }
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-description {
    font-size: 0.6428571429rem;
    margin-top: 0.5714285714rem;
  }
}
.c-theRelated.rd .c-cardCorporateInfoLinks-image {
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-image {
    width: 11.25rem;
  }
}
@media screen and (max-width:767px) {
  .c-theRelated.rd .c-cardCorporateInfoLinks-image {
    width: 6.4285714286rem;
  }
}

/**
 * Variants: TOP リンク付き（先頭カードを全幅にする）
 */
.c-theRelated.rd.-withTop {
  /* 2列のとき: 右端を2列目のカードの右端にそろえる（カード 478px × 2 + 列の間隔）。1列のときは全幅 */
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd.-withTop .c-theRelated-listItem:first-child {
    width: calc(956px + 3.75rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1408px) {
  .c-theRelated.rd.-withTop .c-theRelated-listItem:first-child {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .c-theRelated.rd.-withTop .c-theRelated-listItem:first-child .c-cardCorporateInfoLinks-title {
    font-size: 2rem;
  }
}

/**
 * Component
 * PC: 本文列（見出し列 345px の右）に配置
 */
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionIntro {
    max-width: 57.5rem;
    margin-left: min(23.96vw, 21.5625rem);
  }
}

/**
 * Children
 */
.p-pageRdFieldSectionIntro-content {
  display: flex;
  flex-direction: column;
  color: #000;
  font-family: "midashi", "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionIntro-content {
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionIntro-content {
    gap: 2.8571428571rem;
  }
}

.p-pageRdFieldSectionIntro-title {
  line-height: 1.49;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionIntro-title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionIntro-title {
    font-size: 2rem;
  }
}

.p-pageRdFieldSectionIntro-text {
  font-feature-settings: "palt" 1;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionIntro-text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionIntro-text {
    color: #242424;
    font-size: 1.2857142857rem;
  }
}

@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionIntro-figure {
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionIntro-figure {
    margin-top: 4.2857142857rem;
  }
}
.p-pageRdFieldSectionIntro-figure {
  /* SP 画像（500px 以下で切り替え）の表示サイズ */
}
@media screen and (max-width: 500px) {
  .p-pageRdFieldSectionIntro-figure {
    width: 100%;
    max-width: 100%;
    margin-left: -0.5rem;
  }
}
.p-pageRdFieldSectionIntro-figure .c-imagePicture-img {
  display: block;
  width: 100%;
  height: auto;
}

/**
 * Children
 */
.p-pageRdFieldSectionApproach-intro {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-intro {
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-intro {
    flex-direction: column;
    align-items: center;
    gap: 4.2857142857rem;
  }
}

.p-pageRdFieldSectionApproach-introText {
  display: flex;
  flex-direction: column;
  color: #242424;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt" 1;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-introText {
    max-width: 41.9375rem;
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-introText {
    width: 100%;
    gap: 1.4285714286rem;
  }
}

@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-heading {
    font-size: 2rem;
    line-height: 1.44;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-heading {
    font-size: 1.7142857143rem;
    line-height: 1.6;
  }
}

.p-pageRdFieldSectionApproach-lead {
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-lead {
    font-size: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-lead {
    font-size: 1.1428571429rem;
  }
}

.p-pageRdFieldSectionApproach-badge {
  flex-shrink: 0;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-badge {
    width: 12.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-badge {
    width: 13.7142857143rem;
  }
}
.p-pageRdFieldSectionApproach-badge .c-imagePicture-img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-pageRdFieldSectionApproach-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-list {
    gap: 3.125rem;
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-list {
    gap: 2.8571428571rem;
    margin-top: 4.2857142857rem;
  }
}

.p-pageRdFieldSectionApproach-item {
  border-top: 1px dashed #7B7B7B;
  color: #242424;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt" 1;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.5rem;
    padding: 1.875rem 0 0 0.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-item {
    display: flex;
    flex-direction: column;
    gap: 0.5714285714rem;
    padding: 1.4285714286rem 0 0 0.2857142857rem;
  }
}

.p-pageRdFieldSectionApproach-itemHead {
  display: flex;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-itemHead {
    flex: 0 1 27.25rem;
    align-items: flex-start;
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-itemHead {
    flex-direction: column;
  }
}

.p-pageRdFieldSectionApproach-itemNumber {
  flex-shrink: 0;
  color: #7B7B7B;
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 2.1;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-itemNumber {
    width: 1rem;
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-itemNumber {
    margin-bottom: -0.1428571429rem;
    font-size: 0.8571428571rem;
  }
}

.p-pageRdFieldSectionApproach-itemTitle {
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-itemTitle {
    font-size: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-itemTitle {
    font-size: 1.2857142857rem;
  }
}

.p-pageRdFieldSectionApproach-itemText {
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-itemText {
    flex: 0 1 27.5625rem;
    font-size: 1rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-itemText {
    font-size: 0.9285714286rem;
  }
}

.p-pageRdFieldSectionApproach-image {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionApproach-image {
    aspect-ratio: 920/360;
    margin-top: 5rem;
    border-radius: 0.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionApproach-image {
    aspect-ratio: 327/218;
    margin-top: 4.2857142857rem;
    border-radius: 0.2857142857rem;
  }
}
.p-pageRdFieldSectionApproach-image {
  /*
   * 動かしても上下に余白が出ないよう、移動量（枠の高さ × rate）の分だけ画像を高くし、半分だけ上にずらす
   * rate は data-scroll-parallax-rate / data-scroll-parallax-rate-sp（PC・SP とも 0.1）に合わせる
   */
}
.p-pageRdFieldSectionApproach-image .c-imagePicture-img {
  display: block;
  position: relative;
  width: 100%;
  top: -5%;
  height: 110%;
  object-fit: cover;
}

/**
 * パララックス用ラッパー（ScrollTriggerHandlerParallax が translateY を適用）
 */
.p-pageRdFieldSectionApproach-imageParallax {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-pageRdFieldSectionApproach-imageParallax .c-imagePicture {
  display: block;
  height: 100%;
}

/**
 * Component
 */
.p-pageRdFieldSectionAchievements {
  /* SP の見出しは他セクションより大きい（32px / 行間 0.924） */
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements .c-headingSection.rd .c-headingSection-title {
    font-size: 2.2857142857rem;
    line-height: 0.924;
  }
}

/**
 * Children
 */
.p-pageRdFieldSectionAchievements-lead {
  color: #242424;
  font-family: "midashi", "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt" 1;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-lead {
    font-size: 1.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-lead {
    font-size: 1.2857142857rem;
  }
}

.p-pageRdFieldSectionAchievements-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3.75rem 2.5rem;
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-list {
    display: flex;
    flex-direction: column;
    gap: 2.1428571429rem;
    margin-top: 4.2857142857rem;
  }
}

.p-pageRdFieldSectionAchievements-item {
  display: flex;
  flex-direction: column;
  color: #242424;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-item {
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-item {
    gap: 1.7142857143rem;
  }
}

.p-pageRdFieldSectionAchievements-itemHead {
  display: flex;
  flex-direction: column;
  border-top: 1px dashed #7B7B7B;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemHead {
    gap: 0.75rem;
    padding: 1.875rem 0 0 0.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemHead {
    gap: 0.4285714286rem;
    padding: 1.7142857143rem 0 0 0.2857142857rem;
  }
}

.p-pageRdFieldSectionAchievements-itemLabel {
  display: flex;
  align-items: flex-end;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemLabel {
    gap: 0.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemLabel {
    gap: 0.5714285714rem;
    font-size: 1.1428571429rem;
  }
}

.p-pageRdFieldSectionAchievements-itemNote {
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemNote {
    font-size: 0.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemNote {
    font-size: 0.7142857143rem;
  }
}

.p-pageRdFieldSectionAchievements-itemDetail {
  color: #7B7B7B;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemDetail {
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemDetail {
    font-size: 0.8571428571rem;
  }
}

.p-pageRdFieldSectionAchievements-itemValue {
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemValue {
    gap: 0.6875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemValue {
    gap: 0.7857142857rem;
  }
}

.p-pageRdFieldSectionAchievements-itemNumber {
  font-family: "Roboto", "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 200;
  letter-spacing: -0.03em;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemNumber {
    font-size: 7.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemNumber {
    font-size: 5.7142857143rem;
  }
}

.p-pageRdFieldSectionAchievements-itemUnit {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-itemUnit {
    font-size: 2rem;
    line-height: 2.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-itemUnit {
    font-size: 1.7142857143rem;
    line-height: 2.5rem;
  }
}

/* 一覧の下の注記（※2026年6月末現在） */
.p-pageRdFieldSectionAchievements-note {
  color: #242424;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-pageRdFieldSectionAchievements-note {
    margin-top: 2.5rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdFieldSectionAchievements-note {
    margin-top: 2.2857142857rem;
    font-size: 0.8571428571rem;
  }
}

/**
 * R&D Achievements の数値用（このページでのみ読み込む）
 */
@font-face {
  font-family: Roboto;
  src: url("/assets/font/Roboto-ExtraLight.woff2") format("woff2"), url("/assets/font/Roboto-ExtraLight.woff") format("woff"), url("/assets/font/Roboto-ExtraLight.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@media screen and (min-width: 768px) {
  .p-rdField {
    padding-bottom: 20.625rem;
  }
}
@media screen and (max-width:767px) {
  .p-rdField {
    padding-bottom: 8.5714285714rem;
  }
}

.p-rdField-inner {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-rdField-inner {
    max-width: 90rem;
    padding: 6.25rem 2.5rem 0;
  }
}
@media screen and (max-width:767px) {
  .p-rdField-inner {
    padding: 5.7142857143rem 1.7142857143rem 0;
  }
}
@media screen and (min-width: 768px) {
  .p-rdField-inner .p-pageRdFieldSectionIntro {
    margin-top: 7.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-rdField-inner .p-pageRdFieldSectionIntro {
    margin-top: 8.5714285714rem;
  }
}

.p-rdField-approaches {
  display: flex;
  flex-direction: column;
  border-bottom: 1px dashed #7B7B7B;
}
@media screen and (min-width: 768px) {
  .p-rdField-approaches {
    gap: 10rem;
    max-width: 79.0625rem;
    margin-top: 12.5rem;
    padding-bottom: 10rem;
  }
}
@media screen and (max-width:767px) {
  .p-rdField-approaches {
    gap: 8.5714285714rem;
    margin-top: 8.5714285714rem;
    padding-bottom: 8.5714285714rem;
  }
}

.p-rdField-sections {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-rdField-sections {
    gap: 10rem;
    margin-top: 10rem;
  }
}
@media screen and (max-width:767px) {
  .p-rdField-sections {
    gap: 8.5714285714rem;
    margin-top: 8.5714285714rem;
  }
}