@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);
  }
}
/**
 * Children
 */
.p-pageRdSectionProduct-intro {
  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-pageRdSectionProduct-intro {
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-intro {
    gap: 1.4285714286rem;
  }
}

@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-title {
    font-size: 2.25rem;
    line-height: 1.1;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-title {
    font-size: 1.7142857143rem;
    line-height: 1.6;
  }
}

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

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

.p-pageRdSectionProduct-itemHead {
  display: flex;
  flex-direction: column;
  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-pageRdSectionProduct-itemHead {
    gap: 0.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemHead {
    gap: 0.5714285714rem;
  }
}

.p-pageRdSectionProduct-itemLabel {
  display: flex;
  align-items: flex-end;
  color: #7B7B7B;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemLabel {
    gap: 0.5rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemLabel {
    gap: 0.5714285714rem;
    font-size: 0.7142857143rem;
  }
}

.p-pageRdSectionProduct-itemNumber {
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1.08;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemNumber {
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemNumber {
    font-size: 0.8571428571rem;
  }
}

.p-pageRdSectionProduct-itemTitle {
  color: #242424;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemTitle {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemTitle {
    font-size: 1.4285714286rem;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemBody {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 1.875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemBody {
    display: flex;
    flex-direction: column;
    gap: 1.7142857143rem;
    margin-top: 2.8571428571rem;
  }
}

.p-pageRdSectionProduct-itemImage {
  overflow: hidden;
  aspect-ratio: 600/400;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemImage {
    width: 65.2173913043%;
    border-radius: 0.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemImage {
    width: 100%;
    border-radius: 0.2857142857rem;
  }
}
.p-pageRdSectionProduct-itemImage .c-imagePicture-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemContent {
    width: 27.1739130435%;
  }
}

.p-pageRdSectionProduct-itemText {
  color: #242424;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-feature-settings: "palt" 1;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdSectionProduct-itemText {
    font-size: 0.875rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdSectionProduct-itemText {
    font-size: 0.9285714286rem;
  }
}

/**
 * Override: LinkArrowUnderline（.rd）
 * 既存との差分: 本文との間隔 40px
 */
@media screen and (min-width: 768px) {
  .c-linkArrowUnderline.rd {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .c-linkArrowUnderline.rd {
    margin-top: 2.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-pageRdProcessIntro {
    max-width: 57.5rem;
    margin-left: min(23.96vw, 21.5625rem);
  }
}

/**
 * Children
 */
.p-pageRdProcessIntro-content {
  display: flex;
  flex-direction: column;
  font-family: "midashi", "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-pageRdProcessIntro-content {
    gap: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessIntro-content {
    gap: 2.8571428571rem;
  }
}

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

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

.p-pageRdProcessIntro-image {
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessIntro-image {
    aspect-ratio: 920/360;
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessIntro-image {
    aspect-ratio: 600/400;
    margin-top: 4.2857142857rem;
    border-radius: 0.2857142857rem;
  }
}
.p-pageRdProcessIntro-image .c-imagePicture {
  display: block;
  height: 100%;
}
.p-pageRdProcessIntro-image .c-imagePicture-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 図中の線・矢印の色（Figma: 線 #A8A8A8 / 矢印 #E94D3F） */
/**
 * Children
 */
.p-pageRdProcessSectionInHouse-blocks {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-blocks {
    gap: 12.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-blocks {
    gap: 8.5714285714rem;
  }
}

.p-pageRdProcessSectionInHouse-block {
  display: flex;
  flex-direction: column;
}

.p-pageRdProcessSectionInHouse-blockHead {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-blockHead {
    gap: 0.625rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-blockHead {
    gap: 0.4285714286rem;
  }
}

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

.p-pageRdProcessSectionInHouse-blockTitle {
  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-pageRdProcessSectionInHouse-blockTitle {
    font-size: 2rem;
    line-height: 1.44;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-blockTitle {
    font-size: 1.7142857143rem;
    line-height: 1.6;
  }
}

.p-pageRdProcessSectionInHouse-blockText {
  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;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-blockText {
    margin-top: 2.5rem;
    font-size: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-blockText {
    margin-top: 1.4285714286rem;
    font-size: 1.1428571429rem;
  }
}
@media screen and (min-width: 768px) {
  .-flow .p-pageRdProcessSectionInHouse-blockText {
    max-width: 49.125rem;
  }
}

/* 図（画像） */
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-figure {
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-figure {
    margin-top: 4.2857142857rem;
  }
}
.p-pageRdProcessSectionInHouse-figure .c-imagePicture-img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-figure.-flow .c-imagePicture-img {
    border-radius: 0.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-figure.-flow .c-imagePicture-img {
    border-radius: 0.2857142857rem;
  }
}

.p-pageRdProcessSectionInHouse-note {
  color: #7B7B7B;
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-note {
    margin-top: 1.25rem;
    font-size: 0.75rem;
    text-align: right;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-note {
    margin-top: 2.8571428571rem;
    font-size: 0.8571428571rem;
  }
}

/* 写真 */
.p-pageRdProcessSectionInHouse-photo {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-photo {
    aspect-ratio: 920/360;
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-photo {
    aspect-ratio: 350.26/233.51;
    margin-top: 4.2857142857rem;
    border-radius: 0.2857142857rem;
  }
}
.p-pageRdProcessSectionInHouse-photo .c-imagePicture-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* リンク（LinkArrowUnderline.rd の上余白 40px と合わせて PC 80px / SP 60px） */
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-link {
    display: flex;
    justify-content: flex-end;
    margin-top: 2.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-link {
    margin-top: 1.4285714286rem;
  }
}
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-link .c-linkArrowUnderline.rd {
    width: 15.625rem;
  }
}

/* 知的財産の役割・機能 */
/* 知的財産の役割・機能（画像） */
@media screen and (min-width: 768px) {
  .p-pageRdProcessSectionInHouse-roles {
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-pageRdProcessSectionInHouse-roles {
    margin-top: 4.2857142857rem;
  }
}
.p-pageRdProcessSectionInHouse-roles .c-imagePicture-img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .p-rdProcess {
    padding-bottom: 15rem;
  }
}
@media screen and (max-width:767px) {
  .p-rdProcess {
    padding-bottom: 8.5714285714rem;
  }
}

.p-rdProcess-inner {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-rdProcess-inner {
    max-width: 90rem;
    padding: 2.5rem 2.5rem 0;
  }
}
@media screen and (max-width:767px) {
  .p-rdProcess-inner {
    padding: 1.4285714286rem 1.7142857143rem 0;
  }
}
@media screen and (min-width: 768px) {
  .p-rdProcess-inner .p-pageRdProcessIntro {
    margin-top: 8.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-rdProcess-inner .p-pageRdProcessIntro {
    margin-top: 8.5714285714rem;
  }
}

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