見出し画像

KintoneのToDo管理完全ガイド|無料で始める10ステップ構築法

「Kintoneを導入したけれど、ToDo管理アプリをどう作ればいいかわからない」
「Excelでのタスク管理から脱却したいが、具体的な移行方法がわからない」
「無料でガントチャートやカンバン表示ができるか知りたい」

といった悩みをお持ちではありませんか?

実は、KintoneでのToDo管理システムの構築は、適切な手順を知らないと非常に複雑に感じられる作業です。

プラグインの選び方を間違えたり、通知設定を誤ったりすると、せっかくの導入効果が半減してしまいます。

特に、35,000社以上が導入している現在、他社の成功事例から学ばずに独自に構築を進めると、多くの時間と労力を無駄にしてしまう可能性があります。

この記事では、30日間の無料トライアルを最大限活用する方法から、標準機能だけで作るシンプルなToDo管理、無料プラグインを使ったカンバン・ガントチャート表示の実装方法まで、画面キャプチャを想定した具体的な10ステップで解説します。

さらに、営業チームが売上30%向上を実現した運用方法や、年間30,000時間の業務削減に成功した東京電力エナジーパートナーの事例など、実践的なノウハウも紹介しています。

この記事を読めば、プログラミング知識がなくても、Kintoneで本格的なToDo管理システムを構築し、チーム全体の生産性を飛躍的に向上させることができるようになります。

無料版から有料版への移行判断基準も明確になり、投資対効果を最大化する導入戦略を立てられるでしょう。

最終更新日:2026年9月9日(初回公開:2025年12月2日)


AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

1.KintoneのToDo管理を始める3つの方法|無料で使える機能を徹底解説

<この章でわかること>
(1)標準機能で作るシンプルなToDo管理
(2)カンバン方式で視覚的にタスクを管理
(3)ガントチャートでプロジェクト全体を俯瞰

KintoneのToDo管理を始める3つの方法
KintoneのToDo管理を始める3つの方法

(1)標準機能で作るシンプルなToDo管理

Kintoneの標準機能だけで、追加費用なしに充実したToDo管理システムを構築できる。

2025年現在、35,000社以上が導入するKintoneでは、ノーコード環境で業務アプリを作成できる。

タスク管理に必要な基本フィールドとして、以下の設定を推奨する。

  1. タスク名フィールドの設定

    • フィールドタイプ:文字列(1行)

    • フィールドコード:task_title

    • 文字数制限:100文字

    • 必須項目:はい

    • 初期値:なし

  2. 期限日フィールドの設定

    • フィールドタイプ:日付

    • フィールドコード:due_date

    • 必須項目:はい

    • 初期値:TODAY() + 7(7日後)

  3. 優先度フィールドの設定

    • フィールドタイプ:ドロップダウン

    • 選択肢:緊急・高・中・低

    • 初期値:中

    • 色分け設定:緊急(赤)、高(オレンジ)、中(黄)、低(緑)

  4. ステータスフィールドの設定

    • フィールドタイプ:ドロップダウン

    • 選択肢:未着手・処理中・レビュー待ち・完了・保留

    • 初期値:未着手

  5. 担当者フィールドの設定

    • フィールドタイプ:ユーザー選択

    • フィールドコード:assignee

    • 初期値:ログインユーザー

    • 複数選択:可能(最大3名)

計算フィールドを活用した残日数の自動表示も可能だ。

javascriptIF(ステータス != "完了",
IF(期限日 >= TODAY(),
期限日 - TODAY() & "日",
"期限超過" & ABS(期限日 - TODAY()) & "日"),
"完了済み")

条件付き書式を設定することで、期限が迫ったタスクを視覚的に警告できる。

期限3日前でフィールド背景を黄色、期限当日で赤色、期限超過で深紅色に変更する設定により、優先度の高いタスクが一目で判別可能となる。

(2)カンバン方式で視覚的にタスクを管理

Trelloのようなカンバンボード表示は、Kintoneの標準機能とカスタマイズで実現できる。

レコード一覧のカスタマイズビュー設定

グループ化機能を使用してステータス別にタスクを表示する。

表示設定:

  • グループ化フィールド:ステータス

  • 表示順序:未着手→処理中→レビュー待ち→完了

  • 1グループあたりの表示件数:20件

  • 折りたたみ設定:完了のみ初期折りたたみ

JavaScriptカスタマイズによる簡易カンバン実装も可能だ。

javascript(function() {
'use strict';

 kintone.events.on('app.record.index.show', function(event) {
    // ステータス別にレコードを分類
    const statuses = ['未着手', '処理中', 'レビュー待ち', '完了'];
    const kanbanContainer = document.createElement('div');
    kanbanContainer.className = 'kanban-board';
    
    statuses.forEach(status => {
        const column = createKanbanColumn(status, event.records);
        kanbanContainer.appendChild(column);
    });
    
    // 既存の一覧を置き換え
    const recordList = document.getElementById('record-list');
    recordList.parentNode.replaceChild(kanbanContainer, recordList);
 });
})();

CSSによるカード型表示の実装により、視認性が大幅に向上する。

css.task-card {
  background: white;
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  cursor: move;
}

.priority-urgent {
  border-left: 4px solid #ff4444;
}

.priority-high {
  border-left: 4px solid #ff8800;
}

ドラッグ&ドロップ機能の実装には、HTML5のDrag and Drop APIを活用する。

(3)ガントチャートでプロジェクト全体を俯瞰

プロジェクト全体のタイムライン管理には、ガントチャート表示が効果的だ。

必要なフィールド構成

  • 開始日:日付フィールド(必須)

  • 終了日:日付フィールド(必須)

  • 進捗率:数値フィールド(0-100%)

  • 依存タスク:関連レコード一覧

  • マイルストーン:チェックボックス

カスタムビューでの時系列表示設定により、簡易的なガントチャートを実現できる。

期間計算フィールドで工数を自動算出する。

IF(終了日 >= 開始日,
終了日 - 開始日 + 1,
"エラー:終了日が開始日より前")

Chart.jsライブラリを使用した高度な可視化も実装可能だ。

javascript// ガントチャート描画用のデータ準備
  const ganttData = records.map(record => ({
  task: record.タスク名.value,
  start: new Date(record.開始日.value),
  end: new Date(record.終了日.value),
  progress: record.進捗率.value,
  assignee: record.担当者.value[0].name
}));

サイボウズ社が提供する公式ガイドブックでは、プロセス管理を活用した承認経路の設定方法が詳しく解説されている。

「チームのタスク管理は、単なるタスクやプロジェクト管理ではなく、会社に属する個人や部署・プロジェクトなどチームごとに、それぞれ適切にタスクの見える化をし管理するマネジメントシステムである」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この考え方は、Kintoneでのタスク管理にも通じる重要な視点である。

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

2.【完全無料】30日間でKintoneのToDo管理を体験する始め方

<この章でわかること>
(1)5分で完了!無料アカウントの作成と初期設定
(2)無料期間中に試すべき5つの活用ポイント

30日間でKintoneのToDo管理を体験する始め方
30日間でKintoneのToDo管理を体験する始め方

(1)5分で完了!無料アカウントの作成と初期設定

Kintoneの30日間無料トライアルは、スタンダードコースの全機能が制限なしで利用可能だ。

アカウント作成の具体的手順

  1. 公式サイトにアクセス

  2. 「30日間無料お試し」ボタンをクリック

  3. 必要情報の入力:

    • 会社名:正式名称を入力

    • 業種:プルダウンから選択

    • 従業員数:5つの選択肢から選択

    • お名前:漢字とカナで入力

    • メールアドレス:受信可能なアドレス必須

    • 電話番号:ハイフン不要で入力

  4. 利用規約への同意チェック

  5. 「申し込む」ボタンをクリック

登録完了後、即座にアクセスURLとログイン情報がメールで送信される。

初回ログイン時の重要設定

管理者パスワード設定:

  • 8文字以上

  • 英数字混在必須

  • 記号1文字以上推奨

サブドメイン設定:

  • 3-32文字

  • 半角英数字とハイフンのみ

  • 例:companyname.cybozu.com

最初に作成すべきユーザーとグループ

管理者アカウントの他に、テスト用ユーザーを3-5名作成することを推奨する。

ユーザー作成例:

  • admin(管理者)

  • manager01(マネージャー)

  • member01-03(一般メンバー)

グループ設定により、権限管理が効率化される。

グループ構成例:

  • 経営層グループ(閲覧のみ)

  • 管理職グループ(編集可能)

  • 一般社員グループ(追加・編集可能)

ToDo管理アプリの即座の追加

アプリストアから「ToDo」サンプルアプリを追加する手順:

  • ポータル画面から「アプリ」をクリック

  • 「+」アイコンから「アプリストアから選ぶ」を選択

  • 「ToDo」で検索

  • 「このアプリを追加」をクリック

  • アプリ名を「タスク管理_試用版」に変更

  • 「追加する」で完了

初期データのインポート設定も重要だ。

csvタスク名,期限日,優先度,ステータス,担当者
"システム導入検討",2025-10-15,"高","未着手","manager01"
"要件定義書作成",2025-10-20,"中","処理中","member01"
"デモ環境構築",2025-10-25,"高","未着手","member02"

(2)無料期間中に試すべき5つの活用ポイント

30日間を最大限活用するための段階的アプローチを紹介する。

基本操作の習得(Day 1-5)

最初の5日間で押さえるべき操作:

  • レコードの追加・編集・削除

  • 一覧画面でのフィルタリング

  • CSVインポート・エクスポート

  • 簡単な検索と並び替え

  • コメント機能の活用

カスタマイズ機能の検証(Day 6-10)

フィールド追加とレイアウト変更:

追加推奨フィールド:

  • 予定工数(数値):時間単位で入力

  • 実績工数(数値):実際の作業時間

  • 進捗率(数値):0-100%で管理

  • カテゴリ(ドロップダウン):業務分類

  • 添付ファイル:関連資料の管理

プロセス管理の実装(Day 11-15)

承認フローの設定例:

ステータス遷移:
新規 → [申請] → 承認待ち → [承認/差戻] → 処理中 → [完了申請] → 完了

承認者設定:

  • 承認待ち:manager01(固定)

  • 完了確認:作成者の上長(動的)

通知とワークフローのテスト(Day 16-20)

リマインダー通知の設定:

javascript// 通知条件
期限日 == TODAY() + 1 AND ステータス != "完了"
// 通知時刻:9:00
// 通知先:担当者
// 件名:【リマインド】明日期限のタスク:{タスク名}

メール通知のカスタマイズ:

本文テンプレート:

{担当者}様

以下のタスクの期限が近づいています。

タスク名:{タスク名}
期限日:{期限日}
優先度:{優先度}
現在のステータス:{ステータス}

詳細はこちら:{レコードURL}

実データでの運用シミュレーション(Day 21-30)

実際の業務データを使用した検証項目:

  • 10名以上での同時利用テスト

  • 100件以上のタスク登録と管理

  • モバイルアプリでの操作確認

  • 権限設定の妥当性検証

  • パフォーマンス測定

トライアル期間の注意事項

重要な制限事項を把握しておく必要がある:

  • 期間:30日間(延長不可)

  • データ保持:終了後30日間

  • 移行期限:終了後30日以内に本契約必須

  • アプリ数:最大1,000個

  • ユーザー数:制限なし

  • ストレージ:5GB×ユーザー数

トライアル終了前のチェックリスト:

  • 全アプリのテンプレート化

  • 重要データのバックアップ

  • カスタマイズ内容の文書化

  • ユーザーフィードバックの収集

  • 本契約への移行判断

「社長の役割はリーダーシップとマネジメントである。マネジメントはシステムに代替されて、社長の役割はリーダーシップだけになる」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この視点からも、Kintoneによるタスク管理システムの導入は、経営層がより戦略的な業務に集中できる環境を作る第一歩となる。

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

3.基本のKintoneのToDo管理アプリを10ステップで作成

<この章でわかること>
(1)Step1-3:アプリ作成と必須フィールドの設定
(2)Step4-6:ステータス管理とプロセス設定
(3)Step7-10:通知設定とビューのカスタマイズ

基本のKintoneのToDo管理アプリを10ステップで作成
基本のKintoneのToDo管理アプリを10ステップで作成

(1)Step1-3:アプリ作成と必須フィールドの設定

Excel管理から脱却し、本格的なタスク管理システムを構築する具体的な手順を解説する。

Step1:アプリの新規作成

  • Kintoneポータル画面にログイン

  • 「アプリ」セクションの「+」アイコンをクリック

  • 「はじめから作成」を選択(テンプレートを使わない場合)

アプリ名の設定:

  • アプリ名:ToDo管理システム

  • アイコン:タスクアイコンを選択

  • 説明:チーム全体のタスク進捗を管理

Step2:必須フィールドの配置と詳細設定

フィールドの配置は、ドラッグ&ドロップで直感的に行える。

javascript// タスクタイトル
フィールドタイプ: 文字列(1行)
フィールドコード: task_title
文字数: 100文字まで
必須: ○
値の重複を禁止: ×
初期値: なし

// 期限日時
フィールドタイプ: 日時
フィールドコード: deadline
デフォルト値: レコード追加日時の7日後
必須: ○

// 優先度
フィールドタイプ: ラジオボタン
選択肢: 
  - 緊急(値:1)
  - 高(値:2)
  - 中(値:3)
  - 低(値:4)
初期値: 中

// カテゴリ
フィールドタイプ: ドロップダウン
選択肢:
  - 開発
  - 営業
  - マーケティング
  - 管理
  - その他

Step3:詳細情報フィールドの追加

業務に応じた追加フィールドの設定例:

javascript// 詳細説明
フィールドタイプ: 文字列(複数行)
フィールドコード: description
行数: 5行
リッチエディター: 有効

// 添付ファイル
フィールドタイプ: 添付ファイル
フィールドコード: attachments
最大ファイルサイズ: 10MB
最大ファイル数: 5

// 予定工数
フィールドタイプ: 数値
フィールドコード: estimated_hours
単位: 時間
小数点: 1桁まで
最小値: 0.5
最大値: 999

// 実績工数
フィールドタイプ: 数値
フィールドコード: actual_hours
単位: 時間
小数点: 1桁まで

// 進捗率
フィールドタイプ: 数値
フィールドコード: progress
単位: %
最小値: 0
最大値: 100
関連レコードフィールドで親子タスクの管理も可能だ:
javascript// 親タスク
フィールドタイプ: 関連レコード一覧
参照先アプリ: 同一アプリ(ToDo管理システム)
表示フィールド: タスクタイトル、ステータス
フィルター条件: 親タスクID = レコード番号

(2)Step4-6:ステータス管理とプロセス設定

タスクの進捗を管理するワークフロー設定の詳細を解説する。

Step4:ステータスフィールドの設定

プロセス管理で使用するステータスの定義:

javascript// ステータスマスタ
未着手: {
  color: "#808080",
  next_action: ["開始"],
  assignee: "作成者"
}
処理中: {
  color: "#0066CC",
  next_action: ["完了", "保留", "差戻"],
  assignee: "担当者"
}
レビュー待ち: {
  color: "#FF9900",
  next_action: ["承認", "差戻"],
  assignee: "レビュアー"
}
完了: {
  color: "#00AA00",
  next_action: [],
  assignee: null
}

Step5:プロセス管理の有効化と設定

アプリ設定画面での手順:

  • 設定タブから「プロセス管理」を選択

  • 「プロセス管理を有効にする」にチェック

ステータス設定:

  • 初期ステータス: 未着手

  • 中間ステータス: 処理中、レビュー待ち、保留

  • 最終ステータス: 完了、キャンセル

アクション設定:

javascript// 「開始」アクション
From: 未着手
To: 処理中
実行者: 担当者フィールドのユーザー
条件: なし

// 「レビュー依頼」アクション
From: 処理中
To: レビュー待ち
実行者: 全員
条件: 進捗率 >= 80

// 「承認」アクション
From: レビュー待ち
To: 完了
実行者: 管理職グループ
条件: なし

Step6:条件分岐とエスカレーション設定

高度なワークフロー制御の実装:

javascript// 自動エスカレーション設定
kintone.events.on('app.record.create.submit', function(event){
  const record = event.record;
  const priority = record.優先度.value;
  const deadline = new Date(record.期限日時.value);
  const today = new Date();const daysUntilDeadline = (deadline - today) / (1000 * 60 * 60 * 24);

  // 緊急かつ期限3日以内の場合、管理者を自動追加
  if (priority === '緊急' && daysUntilDeadline <= 3) {
      record.担当者.value.push({
          code: 'manager01',
          type: 'USER'
      });
  }

  return event;
});

「タスクの見える化をすることで、経営戦略の観点から行うべきタスクが抜け漏れなく設定できているか、そのタスクに担当が決められて役割分担ができているかなどを把握することができるようになる」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この観点から、ステータス管理は単なる進捗把握を超えて、組織全体の業務可視化につながる重要な機能である。

(3)Step7-10:通知設定とビューのカスタマイズ

効率的な情報共有とタスク管理を実現する設定を解説する。

Step7:リマインダー通知の詳細設定

期限管理を確実にする通知パターン:

javascript// 事前通知(3日前)
通知名: 期限事前通知
条件: 期限日時 == TODAY() + 3
時刻: 9:00
通知先: 担当者
件名: 【事前通知】3日後に期限のタスク
本文: 
{担当者}様

以下のタスクの期限まで3日です。
・タスク名:{タスクタイトル}
・期限:{期限日時}
・優先度:{優先度}
・進捗率:{進捗率}%

// 当日通知
通知名: 期限当日通知
条件: 期限日時 == TODAY() AND ステータス != "完了"
時刻: 9:00, 13:00, 17:00(3回送信)
通知先: 担当者、作成者

// 期限超過通知
通知名: 期限超過アラート
条件: 期限日時 < TODAY() AND ステータス != "完了"
時刻: 10:00(毎日)
通知先: 担当者、上長、管理者

Step8:カスタムビューの作成

業務シーンに応じた表示設定:

javascript// 「今日のタスク」ビュー
名前: 今日のタスク
フィルター条件: 
  - 期限日時 >= TODAY() AND 期限日時 < TODAY() + 1
  - ステータス != "完了"
  - 担当者 = ログインユーザー
表示フィールド: 
  - タスクタイトル
  - 優先度
  - 期限日時(時刻まで表示)
  - 進捗率
ソート: 優先度(昇順)→ 期限日時(昇順)

// 「チーム全体ダッシュボード」ビュー
名前: チーム全体状況
表示形式: カスタマイズビュー
集計設定:
  - ステータス別タスク数(円グラフ)
  - 担当者別タスク数(棒グラフ)
  - 期限別タスク分布(ヒートマップ)

Step9:カレンダービューの設定

視覚的な期限管理の実装:

javascript// カレンダー表示設定
日付フィールド: 期限日時
タイトル: タスクタイトル
開始時刻: 9:00(デフォルト)
終了時刻: 18:00(デフォルト)
色分け条件:
  if (優先度 == "緊急") return "#FF0000";
  if (優先度 == "高") return "#FF6600";
  if (優先度 == "中") return "#FFCC00";
  if (優先度 == "低") return "#00CC00";

Step10:アプリの最終調整と公開

本番運用前のチェックリスト:

  1. フィールド権限の確認

    • 管理者: すべて編集可能

    • 一般ユーザー: 作成者・担当者フィールド以外編集可能

    • 閲覧者: 閲覧のみ

  2. レコード権限の設定

    • 自分が作成: 編集・削除可能

    • 自分が担当: 編集可能

    • その他: 閲覧・コメントのみ

  3. API権限の設定

    • APIトークン生成: 管理者のみ

    • Webhook設定: 管理者のみ

    • JavaScriptカスタマイズ: 開発者グループ

  4. パフォーマンステスト

    • 1000レコードでの表示速度確認

    • 同時10ユーザーアクセステスト

    • モバイルアプリでの動作確認

  5. 運用ルールの文書化

    • タスク登録ルール

    • ステータス更新タイミング

    • エスカレーション基準

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

4.無料プラグインで実現するKintoneのToDo管理の機能拡張

<この章でわかること>
(1)カンバン表示プラグインの導入と活用方法
(2)無料で使えるガントチャートプラグイン3選
(3)タスクボードon Kintone(無料版)の設定手順

無料プラグインで実現するKintoneのToDo管理の機能拡張
無料プラグインで実現するKintoneのToDo管理の機能拡張

(1)カンバン表示プラグインの導入と活用方法

Kintoneの標準機能を大幅に強化する無料カンバンプラグインの実装方法を解説する。

公式「Kanban Ver. 1.5.2」プラグインのインストール

  • Kintone管理画面にログイン

  • 「kintoneシステム管理」→「プラグイン」を選択

  • 「読み込む」ボタンをクリック

  • プラグインファイル(kanban.zip)を選択

  • 「読み込む」で完了

カンバンプラグインの詳細設定

javascript// 基本設定
カード表示フィールド: タスクタイトル
ステータスフィールド: ステータス
レーン設定: 
  - 未着手(グレー)
  - 処理中(青)
  - レビュー待ち(オレンジ)
  - 完了(緑)

// 表示オプション
カード内表示項目:
  - 担当者アイコン: 有効
  - 期限日: 有効(期限3日前で赤表示)
  - 優先度ラベル: 有効
  - 進捗バー: 有効

// ドラッグ&ドロップ設定
移動可能条件: ステータス != "完了"
移動時アクション: プロセス管理連動
Sazae Kanbanプラグイン(無料版)の特徴
オーストラリアのSazae Pty Ltdが提供する高機能プラグイン:
javascript// インストール手順
1. 公式サイトから無料版をダウンロード
2. プラグイン管理画面でインポート
3. 対象アプリで有効化

// 独自機能
- 定期タスクの自動生成
- WIP(Work In Progress)制限
- サイクルタイム計測
- バーンダウンチャート表示

// 設定例
WIP制限: {
  "処理中": 5,
  "レビュー待ち": 3
}

サイクルタイム計測:

開始: ステータスが"処理中"に変更
終了: ステータスが"完了"に変更

カスタムカンバンビューの実装

JavaScriptとCSSで独自のカンバン表示を作成:

javascript(function() {
    'use strict';
    
    // カンバンボード生成
    kintone.events.on('app.record.index.show', function(event) {
        const records = event.records;
        const kanbanHTML = generateKanbanHTML(records);
        
        // 既存ビューを置換
        const viewElement = kintone.app.getHeaderSpaceElement();
        viewElement.innerHTML = kanbanHTML;
        
        // ドラッグ&ドロップ実装
        enableDragAndDrop();
        
        return event;
    });
    
    function generateKanbanHTML(records) {
        const lanes = ['未着手', '処理中', 'レビュー待ち', '完了'];
        let html = '<div class="kanban-board">';
        
        lanes.forEach(lane => {
            html += `
                <div class="kanban-lane" data-status="${lane}">
                    <h3>${lane}</h3>
                    <div class="kanban-cards">
            `;
            
            records.filter(r => r.ステータス.value === lane)
                   .forEach(record => {
                       html += createCardHTML(record);
                   });
            
            html += '</div></div>';
        });
        
        return html + '</div>';
    }
})();

(2)無料で使えるガントチャートプラグイン3選

プロジェクト管理に最適な無料ガントチャートプラグインを比較検証する。

1.TIS「日程・工程・稼働表作成プラグイン」

javascript// 特徴
- 完全無料
- 日本語対応
- 稼働率表示機能

// 必要フィールド
開始日: 日付型(必須)
終了日: 日付型(必須)
担当者: ユーザー選択型
進捗率: 数値型(0-100)

// 設定方法
プラグイン設定画面で以下を指定:
{
    "startDateField": "開始日",
    "endDateField": "終了日",
    "titleField": "タスクタイトル",
    "progressField": "進捗率",
    "assigneeField": "担当者"
}

2.「Gantt for kintone」(無料版)

javascript// 機能制限(無料版)
- 表示レコード数: 50件まで
- エクスポート: 不可
- 依存関係線: 不可

// 設定例
{
    "view": {
        "scale": "days", // days, weeks, months
        "startDate": "auto", // 最も早い開始日
        "endDate": "auto", // 最も遅い終了日
    },
    "colors": {
        "緊急": "#FF0000",
        "高": "#FF9900",
        "中": "#FFCC00",
        "低": "#00CC00"
    }
}

3.カスタムChart.js実装(完全無料)

javascript// Chart.jsを使用した独自実装
(function() {
    'use strict';
    
    kintone.events.on('app.record.index.show', function(event) {
        // Chart.jsライブラリの読み込み
        const script = document.createElement('script');
        script.src = 'https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.min.js';
        document.head.appendChild(script);
        
        script.onload = function() {
            createGanttChart(event.records);
        };
    });
    
    function createGanttChart(records) {
        const ctx = document.getElementById('ganttChart').getContext('2d');
        
        const data = records.map(record => ({
            x: [new Date(record.開始日.value), new Date(record.終了日.value)],
            y: record.タスクタイトル.value,
            progress: record.進捗率.value
        }));
        
        new Chart(ctx, {
            type: 'bar',
            data: {
                datasets: [{
                    label: 'タスク期間',
                    data: data,
                    backgroundColor: function(context) {
                        const progress = context.raw.progress;
                        if (progress === 100) return 'green';
                        if (progress >= 50) return 'yellow';
                        return 'red';
                    }
                }]
            },
            options: {
                indexAxis: 'y',
                scales: {
                    x: {
                        type: 'time',
                        time: {
                            unit: 'day'
                        }
                    }
                }
            }
        });
    }
})();

プラグイン選択の判断基準

評価項目と推奨度:

評価項目と推奨度
評価項目と推奨度

(3)タスクボードon Kintone(無料版)の設定手順

人気のタスク管理プラグイン「タスクボードon Kintone」の実装手順を詳説する。

インストールと初期設定

  • 公式サイトから無料版をダウンロード(.zipファイル)

  • Kintone管理画面でプラグインをインポート

  • 対象アプリでプラグインを有効化

  • プラグイン設定画面を開く

詳細設定パラメータ

javascript// 基本設定
{
  "boardType": "kanban", // kanban or scrum
  "statusField": "ステータス",
  "titleField": "タスクタイトル",
  "descriptionField": "詳細説明",
  "assigneeField": "担当者",
  "priorityField": "優先度",

  // 表示設定
  "cardSize": "medium", // small, medium, large
  "showAvatar": true,
  "showDeadline": true,
  "showProgress": true,

  // レーン設定
  "lanes": [
      {
          "name": "Backlog",
          "status": "未着手",
          "color": "#95A5A6",
          "limit": null
      },
      {
          "name": "In Progress",
          "status": "処理中",
          "color": "#3498DB",
          "limit": 5
      },
      {
          "name": "Review",
          "status": "レビュー待ち",
          "color": "#F39C12",
          "limit": 3
      },
      {
          "name": "Done",
          "status": "完了",
          "color": "#27AE60",
          "limit": null
      }
  ]
  }

無料版の制限事項と回避策

javascript// 制限事項
- レコード数: 100件まで
- ユーザー数: 10名まで
- カスタムフィールド: 5個まで
- エクスポート機能: なし

// 回避策
// 100件制限の対処
フィルター設定: ステータス != "完了" OR 更新日時 >= TODAY() - 30
// これにより、完了タスクを30日で自動除外

// ユーザー数制限の対処
グループ設定: 
  - チームAグループ(5名)
  - チームBグループ(5名)
// グループ単位で切り替えて使用

高度なカスタマイズ例

javascript// 自動色分け機能の実装
kintone.events.on('app.record.index.show', function(event) {
    const cards = document.querySelectorAll('.task-card');
    
    cards.forEach(card => {
        const deadline = new Date(card.dataset.deadline);
        const today = new Date();
        const daysLeft = (deadline - today) / (1000 * 60 * 60 * 24);
        
        if (daysLeft < 0) {
            card.style.borderColor = '#E74C3C'; // 期限超過:赤
        } else if (daysLeft <= 3) {
            card.style.borderColor = '#F39C12'; // 期限間近:オレンジ
        } else if (daysLeft <= 7) {
            card.style.borderColor = '#F1C40F'; // 1週間以内:黄
        }
    });
});

「オペレーションの改善には、タスクの定型化、廃止化、外注化、集約化、簡素化、標準化、そして、システム化と7つのアプローチがある」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この観点から、プラグイン導入は「システム化」のアプローチに該当し、タスク管理の効率化に直結する。

なお、より高度なタスク管理機能を求める場合、経営支援クラウド「スーツアップ」も選択肢となる。

エクセルライクなインターフェースで直感的に操作でき、タスクひな型機能により入力作業を大幅に削減できる。

ITリテラシーが高くない人でも、弁護士・会計士・経営コンサルタントが作成したタスクテンプレートを活用して、すぐに本格的なタスク管理を開始できる点が特徴だ。

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

5.ビュー機能を活用した効率的なKintoneのToDo管理

<この章でわかること>
(1)カレンダービューで期限管理を最適化
(2)一覧ビューのフィルター活用で優先度別管理

ビュー機能を活用した効率的なKintoneのToDo管理
ビュー機能を活用した効率的なKintoneのToDo管理

(1)カレンダービューで期限管理を最適化

Kintoneのカレンダービューを活用することで、期限管理の精度を飛躍的に向上させることができる。

基本的なカレンダービュー設定

javascript// カレンダー設定
表示形式: カレンダー
日付フィールド: 期限日
タイトルフィールド: タスクタイトル
開始時刻: 9:00(デフォルト)
終了時刻: 18:00(デフォルト)

// 詳細表示設定
サブタイトル: 担当者
ツールチップ表示:
  - 優先度
  - ステータス
  - 進捗率
  - 詳細説明(最初の50文字)

条件付き色分け設定の実装

javascript// カスタムJavaScriptによる色分け
(function() {
    'use strict';
    
    kintone.events.on('app.record.index.show', function(event) {
        if (event.viewType !== 'calendar') return;
        
        // カレンダーイベントの色分け
        setTimeout(function() {
            const calendarEvents = document.querySelectorAll('.fc-event');
            
            calendarEvents.forEach(function(event) {
                const recordId = event.dataset.recordId;
                const record = getRecordById(recordId);
                
                // 優先度による色分け
                const priority = record.優先度.value;
                const deadline = new Date(record.期限日.value);
                const today = new Date();
                const daysLeft = Math.ceil((deadline - today) / (1000 * 60 * 60 * 24));
                
                // 色設定ロジック
                if (daysLeft < 0) {
                    event.style.backgroundColor = '#E74C3C'; // 期限切れ:赤
                    event.style.borderColor = '#C0392B';
                } else if (daysLeft <= 1) {
                    event.style.backgroundColor = '#E67E22'; // 当日・翌日:オレンジ
                    event.style.borderColor = '#D35400';
                } else if (daysLeft <= 3) {
                    event.style.backgroundColor = '#F39C12'; // 3日以内:黄
                    event.style.borderColor = '#E67E22';
                } else if (priority === '緊急') {
                    event.style.backgroundColor = '#9B59B6'; // 緊急:紫
                    event.style.borderColor = '#8E44AD';
                } else if (priority === '高') {
                    event.style.backgroundColor = '#3498DB'; // 高優先度:青
                    event.style.borderColor = '#2980B9';
                } else {
                    event.style.backgroundColor = '#95A5A6'; // 通常:グレー
                    event.style.borderColor = '#7F8C8D';
                }
            });
        }, 1000);
    });
})();

週次・月次ビューの切り替え設定

javascript// ビュー切り替えボタンの実装
const viewButtons = {
    day: {
        label: '日',
        view: 'agendaDay'
    },
    week: {
        label: '週',
        view: 'agendaWeek'
    },
    month: {
        label: '月',
        view: 'month'
    },
    list: {
        label: 'リスト',
        view: 'listWeek'
    }
};

// カスタムヘッダーへのボタン追加
function addViewSwitcher() {
    const headerSpace = kintone.app.getHeaderSpaceElement();
    const buttonGroup = document.createElement('div');
    buttonGroup.className = 'view-switcher';
    
    Object.keys(viewButtons).forEach(key => {
        const button = document.createElement('button');
        button.textContent = viewButtons[key].label;
        button.onclick = () => switchCalendarView(viewButtons[key].view);
        buttonGroup.appendChild(button);
    });
    
    headerSpace.appendChild(buttonGroup);
}

期限切れタスクの強調表示

javascript// 期限切れタスクのハイライト機能
function highlightOverdueTasks() {
    const records = kintone.app.getQuery();
    const overdueFilter = '期限日 < TODAY() and ステータス not in ("完了", "キャンセル")';
    
    kintone.api('/k/v1/records', 'GET', {
        app: kintone.app.getId(),
        query: overdueFilter
    }).then(function(resp) {
        const overdueCount = resp.records.length;
        
        if (overdueCount > 0) {
            // 警告バナーの表示
            const banner = document.createElement('div');
            banner.className = 'overdue-warning';
            banner.innerHTML = `
                <i class="fa fa-exclamation-triangle"></i>
                <strong>警告:${overdueCount}件の期限切れタスクがあります</strong>
                <button onclick="showOverdueTasks()">詳細を表示</button>
            `;
            banner.style.cssText = `
                background: #E74C3C;
                color: white;
                padding: 10px;
                text-align: center;
                position: fixed;
                top: 0;
                width: 100%;
                z-index: 1000;
            `;
            
            document.body.appendChild(banner);
        }
    });
}

(2)一覧ビューのフィルター活用で優先度別管理

高度なフィルタリングにより、タスクの優先順位付けと効率的な処理を実現する。

複数条件フィルターの設定例

javascript// 「今週の重要タスク」フィルター
フィルター名: 今週の重要タスク
条件式:
期限日 >= LAST_WEEK_SUNDAY(TODAY()) and 
期限日 <= LAST_WEEK_SUNDAY(TODAY()) + 6 and
優先度 in ("緊急", "高") and
ステータス not in ("完了", "キャンセル")

// 「自分の未完了タスク」フィルター
フィルター名: マイタスク
条件式:
担当者 in (LOGINUSER()) and
ステータス != "完了" and
ステータス != "キャンセル"
ソート: 期限日(昇順), 優先度(昇順)

// 「チーム別タスク分布」フィルター
フィルター名: チーム別状況
グループ化: 担当者の所属部署
集計: COUNT(レコード番号)
条件: 作成日時 >= THIS_MONTH()

動的フィルターの実装

javascript// ユーザーごとにカスタマイズされた動的フィルター
(function() {
    'use strict';
    
    kintone.events.on('app.record.index.show', function(event) {
        // ログインユーザーの役職を取得
        const user = kintone.getLoginUser();
        
        kintone.api('/v1/user', 'GET', {
            code: user.code
        }).then(function(resp) {
            const userRole = resp.organizationRank;
            
            // 役職に応じたフィルター適用
            let customFilter = '';
            
            if (userRole === 'マネージャー') {
                // 部下のタスクも含む
                customFilter = `
                    (担当者 in (LOGINUSER()) or 
                     作成者の上長 in (LOGINUSER())) and
                    ステータス != "完了"
                `;
            } else if (userRole === '一般社員') {
                // 自分のタスクのみ
                customFilter = `
                    担当者 in (LOGINUSER()) and
                    ステータス != "完了"
                `;
            }
            
            // フィルター適用
            const query = kintone.app.getQuery();
            if (query) {
                kintone.app.setQuery(customFilter);
            }
        });
        
        return event;
    });
})();

保存済みフィルターの管理と共有


javascript// フィルター設定の保存と共有
const filterPresets = {
    "緊急対応": {
        query: '優先度 = "緊急" and ステータス != "完了"',
        sort: '期限日 asc',
        fields: ['タスクタイトル', '期限日', '担当者', 'ステータス'],
        shared: true,
        owner: 'admin'
    },
    "週次レビュー": {
        query: 'ステータス = "レビュー待ち"',
        sort: '更新日時 desc',
        fields: ['タスクタイトル', '担当者', '進捗率', '更新日時'],
        shared: true,
        owner: 'manager'
    },
    "個人タスク": {
        query: '担当者 in (LOGINUSER())',
        sort: '優先度 asc, 期限日 asc',
        fields: ['タスクタイトル', '期限日', '優先度', '進捗率'],
        shared: false,
        owner: 'LOGINUSER'
    }
};

// フィルター適用関数
function applyFilterPreset(presetName) {
    const preset = filterPresets[presetName];
    if (!preset) return;
    
    // クエリ適用
    kintone.app.setQuery(preset.query);
    
    // ソート適用
    kintone.app.setOrderBy(preset.sort);
    
    // フィールド表示設定
    preset.fields.forEach(field => {
        kintone.app.setFieldShown(field, true);
    });
    
    // ビューを再読み込み
    location.reload();
}

優先度マトリクスビューの実装

javascript// 緊急度×重要度マトリクス表示
function createPriorityMatrix(records) {
    const matrix = {
        '緊急かつ重要': [],
        '重要だが緊急でない': [],
        '緊急だが重要でない': [],
        '緊急でも重要でもない': []
    };
    
    records.forEach(record => {
        const priority = record.優先度.value;
        const deadline = new Date(record.期限日.value);
        const daysLeft = Math.ceil((deadline - new Date()) / (1000 * 60 * 60 * 24));
        
        let category;
        if (priority === '緊急' || priority === '高') {
            if (daysLeft <= 3) {
                category = '緊急かつ重要';
            } else {
                category = '重要だが緊急でない';
            }
        } else {
            if (daysLeft <= 3) {
                category = '緊急だが重要でない';
            } else {
                category = '緊急でも重要でもない';
            }
        }
        
        matrix[category].push(record);
    });
    
    // マトリクス表示
    displayMatrix(matrix);
}

「タスクの見える化をすれば、会社内で、『誰が、どのようなタスクを、いつまでに実行しなければならないか』を把握することができる」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この観点から、ビュー機能の活用は組織全体の透明性を高め、業務効率を大幅に向上させる重要な要素となる。

集計ビューによる分析機能

javascript// タスク分析ダッシュボード
const analytics = {
    // 担当者別負荷分析
    workloadByAssignee: function(records) {
        const workload = {};
        records.forEach(record => {
            const assignee = record.担当者.value[0].name;
            if (!workload[assignee]) {
                workload[assignee] = {
                    total: 0,
                    urgent: 0,
                    overdue: 0
                };
            }
            workload[assignee].total++;
            
            if (record.優先度.value === '緊急') {
                workload[assignee].urgent++;
            }
            
            const deadline = new Date(record.期限日.value);
            if (deadline < new Date() && record.ステータス.value !== '完了') {
                workload[assignee].overdue++;
            }
        });
        
        return workload;
    },
    
    // カテゴリ別進捗分析
    progressByCategory: function(records) {
        const categories = {};
        records.forEach(record => {
            const category = record.カテゴリ.value;
            if (!categories[category]) {
                categories[category] = {
                    total: 0,
                    completed: 0,
                    inProgress: 0,
                    notStarted: 0
                };
            }
            categories[category].total++;
            
            switch(record.ステータス.value) {
                case '完了':
                    categories[category].completed++;
                    break;
                case '処理中':
                case 'レビュー待ち':
                    categories[category].inProgress++;
                    break;
                case '未着手':
                    categories[category].notStarted++;
                    break;
            }
        });
        
        return categories;
    }
};

これらの高度なビュー機能により、チーム全体のタスク状況を多角的に把握し、適切な優先順位付けと効率的なリソース配分が可能となる。

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

6.KintoneのToDo管理|チーム導入の成功事例

<この章でわかること>
(1)営業チームが売上30%向上させた運用方法
(2)開発チームのプロジェクト管理効率化事例
(3)リモートワークでの情報共有活用法

KintoneのToDo管理|チーム導入の成功事例
KintoneのToDo管理|チーム導入の成功事例

(1)営業チームが売上30%向上させた運用方法

株式会社成田デンタルの事例は、KintoneのToDo管理が営業活動にもたらす劇的な効果を示している。

導入前の課題と背景

成田デンタルは従業員252名(うち8割が営業系)の歯科医院向け営業商社だ。

課題:

  • 1日30-40件の歯科医院訪問

  • 営業報告の入力率が20%未満

  • 情報共有の遅延による機会損失

  • マネジメント層の状況把握困難

KintoneでのToDo管理システム構築

javascript// 営業活動管理アプリの構成
フィールド構成:
{
    "訪問予定日": "日付",
    "医院名": "文字列(ルックアップ)",
    "訪問目的": "ドロップダウン",
    "商談ステータス": "ドロップダウン",
    "次回アクション": "文字列(複数行)",
    "見込み金額": "数値",
    "成約確度": "ラジオボタン(A/B/C)",
    "競合情報": "文字列(複数行)"
}

// 自動タスク生成ルール
IF (商談ステータス == "提案済み") {
    3日後にフォロータスク自動生成
}
IF (成約確度 == "A" AND 見込み金額 >= 500000) {
    上長承認タスク即時生成
}

成功の3つの仕組み

共感を得る仕組み

  1. 現場対話:週次で営業メンバーと改善点をヒアリング

  2. 付加価値提供:入力データから自動で営業レポート生成

  3. 実画面提示:実際の操作画面で効果を可視化

人を動かす4つの仕掛け

javascript// 居住性向上
- モバイル最適化で外出先からの入力を簡易化
- 音声入力対応で車内からの報告を可能に

// データの自分ごと化
- 個人の成績ダッシュボード自動生成
- チーム内ランキング表示

// 競争意識の醸成
- リアルタイム受注速報
- 月間MVP自動選出

KPI設定と効果測定

測定指標:

  • 営業報告数:導入前比5.5倍(月間1,000件→5,500件)

  • リードタイム:7日→2日(71%短縮)

  • 成約率:15%→22%(7ポイント向上)

  • 売上:前年比130%達成

運用ルールとガイドライン

日次ルール:

  • 9:00 当日の訪問予定確認

  • 訪問後30分以内に結果入力

  • 17:00 翌日のタスク確認

週次ルール:

  • 月曜9:00 週次目標設定

  • 水曜15:00 進捗確認会議

  • 金曜17:00 週次レビュー

月次ルール:

  • 月初:個人目標設定

  • 15日:中間レビュー

  • 月末:振り返りと改善提案

(2)開発チームのプロジェクト管理効率化事例

システムバンク株式会社(従業員55名、7割がエンジニア)の導入事例から、開発チームでの活用方法を解説する。

アジャイル開発への適用

javascript// スプリント管理の実装
const sprintManagement = {
    // スプリント設定
    sprint: {
        duration: 14, // 2週間スプリント
        startDay: 'Monday',
        ceremonies: {
            planning: 'Day 1 10:00',
            dailyStandup: 'Every day 9:30',
            review: 'Day 14 15:00',
            retrospective: 'Day 14 16:00'
        }
    },
    
    // ストーリーポイント管理
    storyPoints: {
        fibonacci: [1, 2, 3, 5, 8, 13, 21],
        velocityTracking: true,
        burndownChart: true
    },
    
    // タスク自動生成
    taskGeneration: {
        fromUserStory: true,
        template: {
            development: '開発',
            codeReview: 'コードレビュー',
            testing: 'テスト',
            documentation: 'ドキュメント作成'
        }
    }
};

GitHub連携による自動化

javascript// Webhook設定でGitHubと連携
kintone.events.on('app.record.create.submit', function(event) {
    const record = event.record;
    
    // GitHubイシュー自動作成
    if (record.タスクタイプ.value === 'バグ' || 
        record.タスクタイプ.value === '機能追加') {
        
        const githubIssue = {
            title: record.タスクタイトル.value,
            body: record.詳細説明.value,
            labels: [record.優先度.value, record.カテゴリ.value],
            assignees: [record.担当者.value[0].code]
        };
        
        // GitHub API呼び出し
        createGitHubIssue(githubIssue).then(response => {
            record.GitHubイシュー番号.value = response.number;
            record.GitHubURL.value = response.html_url;
        });
    }
    
    return event;
});

効果測定データ

導入効果(年間):

  • 工数削減:30,000時間(約15人年相当)

  • バグ発見率:導入前の2.3倍

  • リリースサイクル:月1回→週2回

  • 顧客満足度:72%→89%

品質指標:

  • コードカバレッジ:45%→78%

  • 技術的負債:40%削減

  • ドキュメント化率:30%→85%

スクラムイベントの管理

javascript// デイリースクラムの自動化
function createDailyScrumTasks() {
    const team = ['developer1', 'developer2', 'developer3'];
    const today = new Date();
    
    team.forEach(member => {
        const task = {
            タスクタイトル: `デイリースクラム_${member}_${formatDate(today)}`,
            タスクタイプ: 'ミーティング',
            期限日: today,
            担当者: [{code: member, type: 'USER'}],
            チェックリスト: [
                '昨日やったこと',
                '今日やること',
                '障害事項'
            ]
        };
        
        kintone.api('/k/v1/record', 'POST', {
            app: kintone.app.getId(),
            record: task
        });
    });
}

(3)リモートワークでの情報共有活用法

星野リゾート(全国70施設以上、従業員5,000人以上)の10年間の活用実績から、リモートワーク環境での最適な運用方法を紹介する。

全社横断的なタスク管理体制

組織構造:

  • 本社:200名

  • 施設:各50-100名×70施設

  • リモートワーカー:約1,000名

アプリ構成:

  • 総アプリ数:800個以上

  • 施設共通アプリ:50個

  • 施設独自アプリ:各10-20個

COVID-19対応での緊急システム構築

javascript// GoToトラベル対応システム(1-2日で構築)
const gotoSystem = {
    // 申込管理
    application: {
        fields: {
            guestName: '文字列',
            checkIn: '日付',
            checkOut: '日付',
            facility: 'ドロップダウン',
            roomType: 'ラジオボタン',
            gotoDiscount: '計算(自動)'
        },
        workflow: {
            申込: '受付確認',
            確認済: '予約確定',
            確定: '完了'
        }
    },
    
    // 自動処理
    automation: {
        // 7,000件の申込を自動処理
        bulkProcessing: true,
        emailNotification: true,
        inventoryManagement: true
    }
};

リモート環境での運用ルール

コミュニケーションルール:

  1. 朝会(9:00-9:15)

    • Kintoneでタスク確認

    • Slackで進捗共有

  2. タスク更新タイミング

    • 着手時:ステータスを「処理中」に

    • 完了時:即座に「完了」更新

    • 問題発生時:15分以内にコメント記載

  3. 情報共有の優先順位

    • 緊急:Slack + Kintoneコメント

    • 重要:Kintone更新 + メール通知

    • 通常:Kintone更新のみ

「全社員IT人材化計画」の成果

javascript// 社員のスキルレベル管理
const skillLevels = {
    beginner: {
        capabilities: ['レコード追加', '検索', 'フィルター'],
        percentage: '30%'
    },
    intermediate: {
        capabilities: ['アプリ作成', 'ビュー設定', '簡単な自動化'],
        percentage: '50%'
    },
    advanced: {
        capabilities: ['JavaScript', 'API連携', 'プラグイン開発'],
        percentage: '20%'
    }
};

// トレーニングプログラム
const training = {
    online: '月2回のウェビナー',
    hands_on: '四半期ごとのワークショップ',
    certification: '年1回の認定試験'
};

東京電力エナジーパートナーの大規模導入事例

従業員:約3,000名
導入体制:DX推進室2名(兼任)
展開方法:現場主導型

年間効果:

  • 業務時間削減:30,000時間

  • コスト削減:1.2億円

  • 新規ツール導入期間:3ヶ月→2週間

「日本の中小企業の数は全企業の99.7%を占め、従業者数でみると中小企業で働く人は全体の70%。しかし、中小企業は付加価値額が56%しか創出できていない」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

これらの成功事例は、適切なタスク管理システムの導入により、企業規模を問わず生産性向上が実現可能であることを示している。

ハイブリッドワーク対応の工夫

javascript// 出社/在宅の可視化
const hybridWorkManagement = {
    // 勤務場所フィールド
    workLocation: {
        type: 'ラジオボタン',
        options: ['オフィス', '在宅', '外出', 'その他'],
        default: '在宅'
    },
    
    // チーム稼働状況ダッシュボード
    dashboard: {
        todayStatus: '本日の出社率',
        weeklyTrend: '週次出社傾向',
        teamAvailability: 'チーム稼働状況'
    },
    
    // 自動スケジュール調整
    autoScheduling: {
        meetingOptimization: '出社日に会議集約',
        collaborationDays: 'チーム出社日の自動提案'
    }
};

これらの事例から、KintoneのToDo管理システムは、営業・開発・リモートワークという異なる業務形態においても、適切なカスタマイズにより大きな成果を生み出すことが実証されている。

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

7.KintoneのToDo管理でよくある課題と解決策

<この章でわかること>
(1)通知が届かない時の確認ポイント
(2)プラグインが動作しない場合の対処法
(3)アクセス権限エラーの解決方法

KintoneのToDo管理でよくある課題と解決策
KintoneのToDo管理でよくある課題と解決策

(1)通知が届かない時の確認ポイント

Kintone運用で最も頻繁に発生するトラブルが通知の不達問題だ。

システム的な原因から設定ミスまで、段階的に確認すべきポイントを解説する。

システム管理レベルの確認事項

javascript// 1. メール通知機能の有効化確認
管理画面パス: Kintoneシステム管理 > その他 > 機能の有効化
確認項目: 「メール通知」にチェックが入っているか

// 2. 送信サーバー設定
SMTPサーバー: mail.cybozu.com
ポート: 587 (STARTTLS)
認証: 必要(サブドメイン名とパスワード)

// 3. 送信制限の確認
1時間あたりの送信上限: 1,000通
1日あたりの送信上限: 10,000通
同一宛先への送信間隔: 最低5分
個人設定レベルの確認手順
javascript// ユーザー個人設定の確認
const checkUserSettings = {
    // アカウント設定
    accountSettings: {
        path: 'アカウント設定 > 通知',
        checkItems: [
            'メール通知を受信する: オン',
            '通知の集約: 適切な間隔',
            'タイムゾーン: 正しく設定'
        ]
    },
    
    // アプリごとの通知設定
    appNotifications: {
        path: '各アプリ > 設定 > 通知',
        checkItems: [
            '通知を受け取る: はい',
            '通知条件: 正しく設定',
            '通知先: 自分が含まれている'
        ]
    },
    
    // 通知の受信設定
    recipientSettings: {
        '宛先が自分のみ': '自分宛のみ受信',
        '宛先に自分を含む': 'すべて受信',
        '受信しない': '通知なし'
    }
};

メールサーバー側の問題と対策

よくある問題:

  1. 迷惑メールフィルター
    解決策: no-reply@cybozu.comを許可リストに追加

  2. 空のToフィールド拒否
    解決策: サーバー設定でBcc配信を許可

  3. SPF/DKIM認証失敗
    解決策: DNSレコードに以下を追加
    v=spf1 include:_spf.cybozu.com ~all

  4. 重複メール除外
    仕様: 同一内容・同一宛先の場合1通のみ送信
    リマインダー通知の詳細設定確認

javascript// リマインダー設定のデバッグ
function debugReminderSettings() {
    const reminderConfig = kintone.app.getFieldElements('reminder');
    
    console.log('リマインダー設定状況:');
    console.log('==================');
    
    // 日時フィールドの確認
    const dateField = reminderConfig.dateField;
    if (!dateField) {
        console.error('? 日時フィールドが未設定');
        return false;
    }
    
    // 通知タイミング
    const timing = reminderConfig.timing;
    console.log(`通知タイミング: ${timing.days}日前 ${timing.time}`);
    
    // 通知先の確認
    const recipients = reminderConfig.recipients;
    if (recipients.type === 'field') {
        console.log(`通知先フィールド: ${recipients.fieldCode}`);
    } else {
        console.log(`固定通知先: ${recipients.users.join(', ')}`);
    }
    
    // 条件設定
    if (reminderConfig.condition) {
        console.log(`条件: ${reminderConfig.condition}`);
    }
    
    return true;
}

トラブルシューティングフローチャート

通知が届かない

[システム設定確認]
├─NG→ メール通知を有効化
└─OK↓
[個人設定確認]
├─NG→ 受信設定を変更
└─OK↓
[アプリ設定確認]
├─NG→ 通知条件を修正
└─OK↓
[メールサーバー確認]
├─NG→ 許可リスト追加
└─OK↓
[サポート問い合わせ]

(2)プラグインが動作しない場合の対処法

プラグインの不具合は業務停止につながる重大な問題だ。

原因別の対処法を体系的に解説する。

インストールエラーの解決

javascript// MacのSafariでの自動展開問題


問題: zipファイルが自動展開されcontents.zipになる

解決手順:
1. Safari > 環境設定 > 一般
2. 「ダウンロード後、"安全な"ファイルを開く」のチェックを外す
3. プラグインを再ダウンロード
4. オリジナルのzipファイルをアップロード

// 代替方法
ターミナルでの圧縮:

$ cd plugin_folder
$ zip -r plugin.zip * -x ".*" -x "__MACOSX"
「プラグインが正しくインストールされていません」エラー
javascript// エラー解析と対処
function analyzePluginError(errorMessage) {
    // エラーメッセージからプラグインIDを抽出
    const pluginId = errorMessage.match(/\(([^)]+)\)/)[1];
    console.log(`問題のプラグインID: ${pluginId}`);
    
    // 対処手順
    const steps = [
        '1. Kintone管理 > プラグイン > プラグイン一覧をCSVダウンロード',
        `2. CSVでプラグインID「${pluginId}」を検索`,
        '3. 該当プラグインを特定',
        '4. プラグインを再インストール',
        '5. アプリ設定でプラグインを有効化',
        '6. アプリを更新'
    ];
    
    steps.forEach(step => console.log(step));
}
JavaScriptエラーによる動作不良
javascript// コンソールでのエラー確認方法
// Chrome DevTools: F12キー
// エラー例と対処法

const pluginErrors = {
    'Cannot read property of undefined': {
        原因: 'フィールドコードの誤り',
        対処: 'フィールドコードを確認し修正'
    },
    'kintone is not defined': {
        原因: 'スコープエラー',
        対処: 'イベントハンドラ内でkintone APIを使用'
    },
    'Cross-Origin Request Blocked': {
        原因: 'CORS制限',
        対処: 'プロキシサーバー経由でアクセス'
    },
    'Maximum call stack size exceeded': {
        原因: '無限ループ',
        対処: '再帰処理の終了条件を確認'
    }
};

プラグインの競合問題

javascript// プラグイン競合の検出と解決
function detectPluginConflicts() {
    const installedPlugins = kintone.plugin.getConfig();
    const conflicts = [];
    
    // イベントリスナーの重複チェック
    const eventListeners = {};
    
    Object.keys(installedPlugins).forEach(pluginId => {
        const config = installedPlugins[pluginId];
        
        if (config.events) {
            config.events.forEach(event => {
                if (!eventListeners[event]) {
                    eventListeners[event] = [];
                }
                eventListeners[event].push(pluginId);
                
                if (eventListeners[event].length > 1) {
                    conflicts.push({
                        event: event,
                        plugins: eventListeners[event]
                    });
                }
            });
        }
    });
    
    if (conflicts.length > 0) {
        console.warn('プラグイン競合を検出:');
        conflicts.forEach(conflict => {
            console.warn(`イベント「${conflict.event}」で競合: ${conflict.plugins.join(', ')}`);
        });
    }
    
    return conflicts;
}

プラグイン復旧手順

緊急復旧プロセス:

  1. プラグインの無効化
    設定 > プラグイン > 該当プラグインをオフ

  2. キャッシュクリア
    ブラウザキャッシュをクリア
    Kintoneからログアウト・再ログイン

  3. 段階的再有効化
    プラグインを1つずつ有効化
    動作確認を都度実施

  4. 代替手段の検討
    JavaScriptカスタマイズで一時対応
    他のプラグインへの切り替え

(3)アクセス権限エラーの解決方法

「実行する権限がありません(CB_NO02)」エラーは、権限設定の不備を示す重要な警告だ。

エラーコード別の対処法

javascript// CB_NO02エラーの詳細分析
const errorCB_NO02 = {
    // パターン1: アプリレベル権限不足
    appLevel: {
        症状: 'アプリ自体にアクセスできない',
        確認: 'アプリ管理 > アクセス権',
        解決: {
            全員: '閲覧可能',
            特定部署: '該当部署を追加',
            特定ユーザー: 'ユーザーを個別追加'
        }
    },
    
    // パターン2: レコードレベル権限不足
    recordLevel: {
        症状: '特定レコードが見えない',
        確認: 'アプリ設定 > アクセス権 > レコード',
        解決: {
            作成者: '作成者に閲覧権限',
            処理者: '処理者フィールドのユーザーに権限',
            部署: '所属部署に基づく権限'
        }
    },
    
    // パターン3: フィールドレベル権限不足
    fieldLevel: {
        症状: 'フィールドが表示されない',
        確認: 'アプリ設定 > アクセス権 > フィールド',
        解決: '該当フィールドの閲覧権限を付与'
    }
};

権限マトリクスの設計

javascript// 役割別権限設定
const permissionMatrix = {
    '管理者': {
        app: 'すべて',
        record: 'すべて編集・削除可能',
        field: 'すべて編集可能',
        process: 'すべてのアクション実行可能'
    },
    'マネージャー': {
        app: '閲覧・追加・編集',
        record: '自部署のレコードのみ編集',
        field: '金額フィールド以外編集可能',
        process: '承認アクションのみ'
    },
    '一般社員': {
        app: '閲覧・追加',
        record: '自分が作成/担当のみ編集',
        field: '基本フィールドのみ編集',
        process: '申請アクションのみ'
    },
    'ゲスト': {
        app: '閲覧のみ',
        record: '公開レコードのみ',
        field: '機密以外閲覧可能',
        process: 'なし'
    }
};

動的権限制御の実装

javascript// 条件付きアクセス権の設定
kintone.events.on('app.record.detail.show', function(event) {
    const record = event.record;
    const user = kintone.getLoginUser();
    
    // ステータスに応じた編集制限
    if (record.ステータス.value === '完了') {
        // 完了済みレコードは編集不可
        record.タスクタイトル.disabled = true;
        record.詳細説明.disabled = true;
        record.期限日.disabled = true;
    }
    
    // 役職に応じたフィールド表示制御
    getUserRole(user.code).then(role => {
        if (role !== '管理者' && role !== 'マネージャー') {
            // 一般社員は予算フィールドを非表示
            kintone.app.record.setFieldShown('予算', false);
            kintone.app.record.setFieldShown('実績金額', false);
        }
    });
    
    return event;
});

権限トラブル予防策

権限設計のベストプラクティス:

  1. 最小権限の原則

    • 必要最小限の権限のみ付与

    • 定期的な権限レビュー

  2. グループ管理

    • 個人単位ではなくグループ単位で管理

    • 組織変更に柔軟に対応

  3. 権限テスト

    • 各ロールでのテストアカウント作成

    • 定期的な動作確認

  4. 監査ログ

    • アクセスログの定期確認

    • 異常アクセスの検知

「既に市場が確立したビジネスモデルにおいて、正しい経営戦略の下で、戦略に適合した組織の構築とコミュニケーションの整備をし、戦略を実現するタスクを設定しチームで管理まですれば、必ず業績が上がる」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この視点から、権限管理の適切な設定は、組織全体のタスク管理システムの成功に不可欠な要素である。

エラー通知の自動化

javascript// エラー発生時の管理者通知
function notifyAdminOnError(error) {
    const adminEmail = 'admin@company.com';
    const errorLog = {
        timestamp: new Date().toISOString(),
        user: kintone.getLoginUser().code,
        error: error.message,
        app: kintone.app.getId(),
        url: location.href
    };
    
    // 管理用アプリにエラーログを記録
    kintone.api('/k/v1/record', 'POST', {
        app: ERROR_LOG_APP_ID,
        record: errorLog
    }).then(resp => {
        // メール通知
        sendErrorNotification(adminEmail, errorLog);
    });
}

対処法を体系的に実施することで、Kintone運用における主要な技術的課題を解決し、安定的なタスク管理システムの運用が可能となる。

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

8.今すぐ使える!KintoneのToDo管理テンプレートと次のステップ

<この章でわかること>
(1)ダウンロード可能な3つのテンプレート
(2)無料版から有料版への移行プラン
(3)さらに学べるリソースと公式サポート

今すぐ使える!テンプレートと次のステップ
今すぐ使える!テンプレートと次のステップ

(1)ダウンロード可能な3つのテンプレート

業務タイプ別に最適化された実践的なテンプレートを紹介する。

1.公式「To Do - Task Management」テンプレート

Kintoneアプリストアで最も利用されているテンプレートだ。

javascript// テンプレート構成
{
    "アプリ名": "To Do - Task Management",
    "提供元": "サイボウズ株式会社",
    "カテゴリ": "プロジェクト管理",
    
    "含まれるフィールド": {
        "タスク名": "文字列(1行)",
        "詳細": "文字列(複数行)",
        "期限": "日付",
        "優先度": "ドロップダウン",
        "ステータス": "ドロップダウン",
        "担当者": "ユーザー選択",
        "進捗": "数値(%)",
        "カテゴリ": "チェックボックス",
        "添付ファイル": "添付ファイル",
        "関連タスク": "関連レコード一覧"
    },
    
    "ビュー設定": [
        "全タスク一覧",
        "自分のタスク",
        "今週の期限",
        "カレンダー表示",
        "完了タスク"
    ],
    
    "プロセス管理": "有効(承認フロー付き)"
}

インストール手順:

  1. アプリ作成画面で「アプリストアから選ぶ」

  2. 「ToDo」で検索

  3. 「このアプリを追加」をクリック

  4. 必要に応じてカスタマイズ

  5. 「アプリを作成」で完了

2.営業チーム向け「案件管理型ToDo」テンプレート

avascript// 営業特化型テンプレート設定
const salesTemplate = {
    // 基本情報
    fields: {
        // 案件情報
        "顧客名": {
            type: "文字列",
            lookup: true,
            source: "顧客マスタ"
        },
        "案件名": {
            type: "文字列",
            required: true
        },
        "見込金額": {
            type: "数値",
            format: "\#,##0"
        },
        "確度": {
            type: "ラジオボタン",
            options: ["A(80%)", "B(50%)", "C(20%)"]
        },
        
        // タスク情報
        "次回アクション": {
            type: "文字列(複数行)"
        },
        "アクション期限": {
            type: "日時"
        },
        "商談ステータス": {
            type: "ドロップダウン",
            options: [
                "リード",
                "アプローチ",
                "提案",
                "クロージング",
                "受注",
                "失注"
            ]
        }
    },
    
    // 自動化ルール
    automation: {
        // 確度Aで7日間更新なし→アラート
        alertRule1: "確度 = 'A' AND 更新日時 < TODAY() - 7",
        
        // 提案後3日でフォローリマインド
        reminderRule1: "商談ステータス = '提案' AND 更新日時 = TODAY() - 3",
        
        // 月末に全案件の棚卸しタスク生成
        monthlyTask: "LAST_DAY_OF_MONTH()"
    }
};

3.開発チーム向け「アジャイル型ToDo」テンプレート

javascript// スクラム開発用テンプレート
const scrumTemplate = {
    // ユーザーストーリー管理
    userStory: {
        "ストーリーID": "文字列(自動採番)",
        "As a": "ドロップダウン(ユーザーロール)",
        "I want": "文字列(機能要求)",
        "So that": "文字列(価値)",
        "受入基準": "文字列(複数行)",
        "ストーリーポイント": "数値(フィボナッチ数列)"
    },
    
    // タスク分解
    tasks: {
        "親ストーリー": "ルックアップ",
        "タスクタイプ": ["設計", "実装", "テスト", "レビュー"],
        "見積時間": "数値(時間)",
        "実績時間": "数値(時間)",
        "残作業": "計算(見積 - 実績)"
    },
    
    // スプリント管理
    sprint: {
        "スプリント番号": "数値",
        "開始日": "日付",
        "終了日": "日付",
        "ベロシティ": "計算(完了ポイント合計)",
        "バーンダウン": "グラフビュー"
    }
};

// インポート用JSON形式
const templateJSON = {
    "version": "1.0",
    "app": {
        "name": "アジャイル型ToDo管理",
        "fields": { /* フィールド定義 */ },
        "views": { /* ビュー定義 */ },
        "process": { /* プロセス定義 */ }
    }
};

(2)無料版から有料版への移行プラン

30日の無料期間終了後の移行戦略を段階的に解説する。

料金プランの詳細比較

javascript// 2025年現在の価格体系(税別)
const pricingPlans = {
    // ライトコース(廃止済み)
    light: {
        status: "2024年12月販売終了",
        price: "月額780円/ユーザー",
        note: "既存契約のみ継続可能"
    },
    
    // スタンダードコース
    standard: {
        price: "月額1,800円/ユーザー",
        minUsers: 10,
        features: {
            apps: 900,
            spaces: 300,
            recordsPerApp: 50000,
            apiCallsPerDay: 10000,
            storagePerUser: "5GB",
            externalUsers: "有料(ゲストスペース)"
        }
    },
    
    // 年間契約割引
    annual: {
        discount: "15%OFF",
        example: "10ユーザーで年間27万円(通常32.4万円)"
    },
    
    // 特別プラン
    special: {
        education: "学校法人向け特別価格",
        nonprofit: "NPO向け割引",
        government: "政府・自治体向けプラン"
    }
};

移行タイミングの判断基準

javascript// ROI計算シート
function calculateROI() {
    // コスト
    const costs = {
        monthly: 1800 * 10, // 最小10ユーザー
        annual: 18000 * 12,
        implementation: 50000, // 初期設定サポート
        training: 30000 // トレーニング費用
    };
    
    // 期待効果(年間)
    const benefits = {
        timeSaving: {
            hours: 30000, // 東電EPの事例
            costPerHour: 3000,
            value: 30000 * 3000
        },
        errorReduction: {
            incidents: 100,
            costPerIncident: 50000,
            value: 100 * 50000
        },
        salesIncrease: {
            rate: 0.3, // 30%向上
            currentSales: 100000000,
            value: 100000000 * 0.3
        }
    };
    
    const totalCost = costs.annual + costs.implementation + costs.training;
    const totalBenefit = Object.values(benefits).reduce((sum, b) => sum + b.value, 0);
    const roi = ((totalBenefit - totalCost) / totalCost) * 100;
    
    return {
        投資額: totalCost,
        期待リターン: totalBenefit,
        ROI: roi + '%',
        回収期間: (totalCost / (totalBenefit / 12)) + 'ヶ月'
    };
}

段階的移行プラン

Phase 1: 評価期間(無料30日)

  • 基本機能の習得

  • POC(概念実証)の実施

  • ROI試算

Phase 2: 限定導入(1-3ヶ月)

  • 10ユーザーで開始

  • 1部署でパイロット運用

  • 効果測定とフィードバック

Phase 3: 部門展開(4-6ヶ月)

  • ユーザー数を段階的に拡大

  • 部門間連携の構築

  • カスタマイズの実施

Phase 4: 全社展開(7-12ヶ月)

  • 全社員への展開

  • 既存システムからの移行

  • 運用ルールの確立

(3)さらに学べるリソースと公式サポート

Kintoneマスターへの道筋となる学習リソースを体系的に紹介する。

公式ドキュメントとヘルプ

基本リソース:

  1. Kintoneヘルプ
    URL: https://jp.cybozu.help/k/ja/
    内容: 操作マニュアル、FAQ、トラブルシューティング

  2. 開発者ネットワーク
    URL: https://cybozu.dev/ja/
    内容: API仕様、JavaScriptサンプル、プラグイン開発

  3. 動画学習
    URL: https://kintone.cybozu.co.jp/seminar/ondemand.html
    内容: 基礎から応用まで段階的な動画教材

  4. kintoneの歩き方
    URL: https://kintone.cybozu.co.jp/support/arukikata/
    内容: 実践的な活用事例とTips

認定資格と学習パス

javascript// Kintone認定資格体系
const certifications = {
    // アソシエイト(初級)
    associate: {
        level: "初級",
        対象: "基本操作を習得した方",
        内容: [
            "アプリ作成基礎",
            "フィールド設定",
            "ビュー作成",
            "権限管理"
        ],
        試験: "オンライン60分",
        費用: "11,000円(税込)"
    },
    
    // アプリデザインスペシャリスト(中級)
    appDesigner: {
        level: "中級",
        対象: "業務アプリ設計者",
        内容: [
            "プロセス管理",
            "複雑な権限設定",
            "アプリ間連携",
            "パフォーマンス最適化"
        ],
        試験: "オンライン90分",
        費用: "16,500円(税込)"
    },
    
    // カスタマイズスペシャリスト(上級)
    developer: {
        level: "上級",
        対象: "開発者",
        内容: [
            "JavaScript API",
            "REST API",
            "プラグイン開発",
            "外部連携"
        ],
        試験: "実技含む120分",
        費用: "22,000円(税込)"
    }
};

コミュニティとサポート

  1. cybozu developer network

    • 月次オンラインミートアップ

    • 技術ブログ投稿

    • Q&Aフォーラム

  2. kintone hive

    • 年次カンファレンス

    • 地域ユーザー会

    • 事例共有セッション

  3. 公式サポート

    • スタンダードサポート(契約に含む)

    • プレミアサポート(別途契約)

    • 導入支援サービス

  4. パートナー企業

    • 認定パートナー一覧

    • 業界別ソリューション

    • カスタマイズ支援

「日本は人口減で労働時間も減っているため、労働者一人当たりで生み出す付加価値額に関心を示さなければならない」

(小松裕介.1+1が10になる組織のつくりかた チームのタスク管理による生産性向上.実業之日本社,2025)

この観点から、Kintoneのようなツールを活用した業務効率化は、日本企業にとって必須の取り組みとなっている。

次世代タスク管理への発展

なお、KintoneのようなSaaS型以外にも、経営支援クラウド「スーツアップ」のような選択肢も存在する。

特にITリテラシーに不安がある組織では、エクセルやスプレッドシートのような使い慣れたインターフェースで、すぐに使い始められる点が評価されている。

弁護士、会計士、経営コンサルタントなどのプロフェッショナルとAIが共同制作したタスクひな型機能により、入力項目を最小限に抑えながら、本格的なタスク管理が実現できる。

特に入力補助機能が充実しており、継続的な利用を支援する設計となっている点が特徴的だ。

今後の展望

javascript// 2025年以降のロードマップ
const futureFeatures = {
    AI統合: {
        自然言語でのタスク生成: "2025 Q3",
        自動優先度判定: "2025 Q4",
        予測分析: "2026 Q1"
    },
    
    連携強化: {
        Microsoft365完全統合: "2025 Q2",
        Slack/Teams双方向連携: "2025 Q3",
        外部AI連携API: "2026 Q2"
    },
    
    モバイル強化: {
        オフライン対応: "2025 Q4",
        音声入力強化: "2025 Q3",
        AR/VR対応: "2026以降"
    }
};

KintoneのToDo管理システムは、適切な実装と運用により、組織の生産性を飛躍的に向上させる可能性を秘めている。

本ガイドで紹介した手法を段階的に実践することで、確実な成果を得ることができるだろう。

【オススメの関連記事】

  1. Kintoneのプロジェクト管理完全ガイド|ガントチャート作成から実践的な活用方法まで徹底解説!

  2. Kintone(キントーン)タスク管理の使い方完全ガイド|30分で作れる実践的アプリ設計から無料プラグイン活用まで

  3. ChatworkのToDo管理完全ガイド|タスク作成から自動化まで徹底解説

AIタスク管理ツール「スーツアップ」
AIタスク管理ツール「スーツアップ」

著者について

小松裕介(こまつ・ゆうすけ)

株式会社スーツ 代表取締役社長CEO
2013年3月に、新卒で入社したソーシャル・エコロジー・プロジェクト株式会社(現社名:伊豆シャボテンリゾート株式会社、東証スタンダード上場企業)の代表取締役社長に就任。同社グループを7年ぶりの黒字化に導く。2014年12月に株式会社スーツ設立と同時に代表取締役に就任。2016年4月より総務省地域力創造アドバイザー及び内閣官房地域活性化伝道師。2019年6月より国土交通省PPPサポーター。2020年10月にYouTuber事務所の株式会社VAZの代表取締役社長に就任。月次黒字化を実現し、2022年1月に上場企業の子会社化を実現。2022年12月にスーツ社を新設分割し同社を商号変更、新たに株式会社スーツ設立と同時に代表取締役社長CEOに就任。
現在、スーツ社では、チームのタスク管理ツール「スーツアップ」の開発・運営を行い、中小企業から大企業のチームまで、日本社会全体の労働生産性の向上を目指している。

「全社タスク管理」「全社プロジェクト管理」「チームのタスク管理」「チームのプロジェクト管理」「タスクの見える化」「タスク雛型」「ワークマネジメントツール」「タスクマネジメントツール」「タスク管理ツール」及び「プロジェクト管理ツール」はスーツ社の登録商標です。

いいなと思ったら応援しよう!

この記事が参加している募集