RehabComparison.tsx 編集ガイド ファイル: src/RehabComparison.tsx | 介護リハビリ比較動画の構成と編集方法

目次 1. ファイル全体構成 2. STYLES定数(フォント・色・間隔) 3. 共通コンポーネント 4. シーン一覧とタイムライン 5. 各シーンの詳細と編集箇所 6. よくある編集パターン 7. レンダリングコマンド

1. ファイル全体構成

src/RehabComparison.tsx は1ファイルに以下が含まれます:

行番号内容種別
1-35import文依存関係
36-60STYLES 定数スタイル
68-81ScreenLayout共通
88-107HeadingLine共通
115-137TextLine共通
144-172ConclusionBox共通
179-210SectionIntro共通
217-280TitleScene(シーン1)シーン
287-390MedicalVsCareRehabScene(シーン2)シーン
398-566CareServiceOverviewScene(シーン3)シーン
572-660TwoTypesScene(シーン4)シーン
665-737OutpatientRehabScene(シーン6)シーン
758-831HomeRehabScene(シーン8)シーン
852-985TimeScene(シーン10)シーン
987-1049ComparisonScene(シーン12)シーン
1055-1132ConclusionScene(シーン13)シーン
1139-1195ClinicInfoScene(シーン14)シーン
1202-1237SourceScene(シーン15)シーン
1244-1321RehabComparison(メイン構成)エントリポイント

2. STYLES定数(行36-60)

全シーンで共通使用されるデザイン設定です。ここを変更すると全シーンに影響します。

フォントサイズ(fontSize)

プロパティ現在の値用途最小推奨
title72pxページタイトル80px以上
heading60px見出し60px以上
body48px本文48px以上
small40px補足テキスト40px以上
caption36pxキャプション36px以上

間隔(spacing)

プロパティ現在の値用途
sectionGap50pxセクション間の間隔
itemGap32px項目間の間隔
boxPadding"36px 48px"ボックスの内側余白

色(colors)

プロパティ用途
primary#0366d6メイン(青)通所系
secondary#22863aサブ(緑)訪問系
warning#cb2431強調・警告(赤)
text#333本文
textLight#666薄い文字
textMuted#888最も薄い文字

3. 共通コンポーネント

ScreenLayout(行68-81)

全シーンの土台。背景白、余白 50px 70px

プロパティ説明デフォルト
verticalAlign縦方向の配置方法"flex-start"(上揃え)

選択肢: "flex-start", "center", "space-between", "space-evenly"

// 使用例: 要素を均等配置
<ScreenLayout verticalAlign="space-evenly">
  ...コンテンツ...
</ScreenLayout>

HeadingLine(行88-107)

シーンの見出し行。左に緑丸ドット付き。フォントサイズ: STYLES.fontSize.heading(60px)。

<HeadingLine delay={0}>見出しテキスト</HeadingLine>

TextLine(行115-137)

本文テキスト。フォントサイズ: STYLES.fontSize.body(48px)。左寄せ・左パディング60px。

<TextLine delay={30} highlight={true}>強調テキスト</TextLine>

ConclusionBox(行144-172)重要

黄色の結論ボックス。各シーンの最下部に配置。フォントサイズ: 36px

注意: marginTop: 24 で位置調整。テキストが長すぎると画面外に出る可能性あり。

<ConclusionBox delay={380}>
  結論テキスト(短く簡潔に)
</ConclusionBox>

SectionIntro(行179-210)

セクション導入画面。アイコン+タイトル+サブタイトルを中央配置。

<SectionIntro icon="🏥" title="タイトル" subtitle="説明" color="#0366d6" />

4. シーン一覧とタイムライン(30fps)

総フレーム数: 6570(約219秒 = 3分39秒)

シーン1: TitleScene
開始: 0f (0秒) | 長さ: 360f (12秒) | 行: 217-280
シーン2: MedicalVsCareRehabScene
開始: 360f (12秒) | 長さ: 600f (20秒) | 行: 287-390
シーン3: CareServiceOverviewScene
開始: 960f (32秒) | 長さ: 660f (22秒) | 行: 398-566
シーン4: TwoTypesScene
開始: 1620f (54秒) | 長さ: 540f (18秒) | 行: 572-660
シーン5: IntroOutpatient(導入)
開始: 2160f (72秒) | 長さ: 120f (4秒)
シーン6: OutpatientRehabScene
開始: 2280f (76秒) | 長さ: 600f (20秒) | 行: 665-737
シーン7: IntroHomeRehab(導入)
開始: 2880f (96秒) | 長さ: 120f (4秒)
シーン8: HomeRehabScene
開始: 3000f (100秒) | 長さ: 660f (22秒) | 行: 758-831
シーン9: IntroComparison(導入)
開始: 3660f (122秒) | 長さ: 120f (4秒)
シーン10: TimeScene
開始: 3780f (126秒) | 長さ: 540f (18秒) | 行: 852-985
シーン11: CostScene
開始: 4320f (144秒) | 長さ: 540f (18秒)
シーン12: ComparisonScene
開始: 4860f (162秒) | 長さ: 540f (18秒) | 行: 987-1049
シーン13: ConclusionScene
開始: 5400f (180秒) | 長さ: 480f (16秒) | 行: 1055-1132
シーン14: ClinicInfoScene
開始: 5880f (196秒) | 長さ: 450f (15秒) | 行: 1139-1195
シーン15: SourceScene
開始: 6330f (211秒) | 長さ: 240f (8秒) | 行: 1202-1237

5. 各シーンの詳細と編集箇所

シーン3: CareServiceOverviewScene(行398-566)

介護保険サービスの全体像。通所サービスと訪問サービスを2列で表示。

要素現在の設定変更のポイント
タイトル422-433fontSize: 64タイトル文字サイズ
2列の間隔435gap: 30列間のスペース
左列幅(通所)437width: 600テキストが改行する場合は拡大
右列幅(訪問)493width: 600同上
サービスボックス411-418fontSize: 32, padding: 16px 24pxボックス内テキストサイズ
ConclusionBox561-563delay: 520表示タイミング

テキスト改行防止: whiteSpace: "nowrap" が各テキスト要素に設定済み。幅が足りないとはみ出すので width で調整。

シーン6: OutpatientRehabScene(行665-737)

通所リハビリ(デイケア)の説明。集団・個別リハビリの2ボックス+補足テキスト。

要素現在の設定変更のポイント
2ボックスの間隔681gap: 30ボックス間のスペース
ボックス幅689, 709minWidth: 550テキスト改行時は拡大
ボックス内タイトル692, 712fontSize: 40「集団リハビリ」等のサイズ
ボックス内テキスト695, 715fontSize: 32箇条書きのサイズ
補足テキスト724-729fontSize: 32下部の説明文
ConclusionBox732-734delay: 380表示タイミング

テキスト改行防止: whiteSpace: "nowrap"minWidth で制御。

シーン8: HomeRehabScene(行758-831)

訪問リハビリの比較表。訪問看護ST vs 医療機関・老健。

要素現在の設定変更のポイント
表全体の幅791width: "95%"表が狭い場合は拡大
セルのパディング76822px 36pxセル内の余白
セルのフォント769STYLES.fontSize.small (40px)表のテキストサイズ
列幅(項目)796width: 200列幅調整
列幅(左)797width: 400列幅調整
列幅(右)798width: 400列幅調整
ConclusionBox826-828delay: 450表示タイミング

シーン10: TimeScene(行852-985)

訪問リハビリの提供時間。40分 vs 60分の大きなカード表示。

要素現在の設定変更のポイント
カード間の間隔864gap: 802つのカード間のスペース
カードのパディング871, 88948px 80pxカード内の余白
大きい数字サイズ876, 894fontSize: 110「40分」「60分」のサイズ

シーン12: ComparisonScene(行987-1049)

3つのリハビリサービスの比較表。

要素現在の設定変更のポイント
セルのパディング99524px 40pxセル内の余白
セルのフォント996STYLES.fontSize.small (40px)テキストサイズ
列幅(サービス名)1019width: 300列幅調整
列幅(特徴)1020width: 360列幅調整
列幅(おすすめ)1021width: 400列幅調整
ConclusionBox1044-1046delay: 380表示タイミング

シーン14: ClinicInfoScene(行1139-1195)

「当院のご案内」。医療機関名・連絡先・住所を表示。

編集頻度が高い: 医療機関の情報を変更する場合はここを編集。

6. よくある編集パターン

テキストが途中で改行される場合

対処法(以下の順に試す):

  1. テキスト要素に whiteSpace: "nowrap" を追加
  2. 親ボックスの width または minWidth を拡大
  3. フォントサイズを縮小
  4. テキスト内容を短くする
// 例: ボックス幅を600→700に拡大
<div style={{ width: 700 }}>

ConclusionBoxが画面外に切れる場合

  1. ScreenLayoutの padding を縮小(例: "40px 60px"
  2. コンテンツ量を減らす(テキスト短縮、項目数削減)
  3. ConclusionBoxの fontSize を小さくする(現在36px)
  4. ConclusionBoxの marginTop を小さくする(現在24px)

シーンの表示時間を変更する場合

RehabComparison(行1244-1321)内の Sequence を編集。

// シーン3の表示時間を22秒→25秒に変更する例
<Sequence from={960} durationInFrames={750}> // 660→750 (25秒×30fps)
  <CareServiceOverviewScene />
</Sequence>

// 注意: 後続シーンのfromも合わせて調整が必要!
// シーン4: from={1620} → from={1620 + 90} = from={1710}

テキスト内容を変更する場合

各シーンのJSX内のテキストを直接編集。

// 例: ConclusionBoxのテキスト変更(行561-563)
<ConclusionBox delay={520}>
  新しい結論テキスト
</ConclusionBox>

全体のフォントサイズを変更する場合

STYLES.fontSize(行42-48)を変更すれば全シーンに反映。

注意: 一部のシーンでは STYLES.fontSize.body ではなく固定値(例: 32)を使っている箇所あり。

7. レンダリングコマンド

プレビュー確認

npm start

ブラウザでRemotionStudioが開き、リアルタイムにプレビュー確認できます。

特定フレームのスクリーンショット

# frame番号 = シーンの開始frame + シーン内での経過frame
npx remotion still RehabComparison --frame=1350 --output=screenshots/check.png

各シーンの開始フレームは上記タイムラインを参照。

動画レンダリング

npx remotion render RehabComparison out/rehab_comparison.mp4

または render_video.bat をダブルクリック。

高齢者対応チェックリスト