diff --git a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/controller/ToDoController.java b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/controller/ToDoController.java
index 6b20956..a42cedb 100644
--- a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/controller/ToDoController.java
+++ b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/controller/ToDoController.java
@@ -7,10 +7,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.*;
 
 import jp.ac.kobe_u.cs.itspecialist.todoapp.dto.LoginForm;
 import jp.ac.kobe_u.cs.itspecialist.todoapp.dto.ToDoForm;
@@ -100,4 +97,14 @@ public class ToDoController {
         tService.done(mid, seq);
         return "redirect:/" + mid + "/todos";
     }
+
+    /**
+     * 背景色の更新.更新終了後,ユーザページへリダイレクト.
+     */
+    @PutMapping("/{mid}/todos/{seq}/background")
+    String updateBackground(@PathVariable String mid, @PathVariable Long seq,
+                            @Validated @ModelAttribute(name="ToDoForm") ToDoForm form, Model model) {
+        tService.updateBackground(mid, seq, form.getBackground());
+        return "redirect:/" + mid + "/todos";
+    }
 }
diff --git a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/dto/ToDoForm.java b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/dto/ToDoForm.java
index b2f6fc4..cd0c2f9 100644
--- a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/dto/ToDoForm.java
+++ b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/dto/ToDoForm.java
@@ -17,11 +17,16 @@ public class ToDoForm {
     @Size(min=1, max=64)
     String title; //ToDo題目
 
+    @NotBlank
+    @Size(min=6, max=8)
+    String background; // 背景色
+
     public ToDo toEntity() {
         ToDo t = new ToDo();
         t.setTitle(title);
         t.setCreatedAt(new Date());
         t.setDone(false);
+        t.setBackground(background);
         return t;
     }
 }
diff --git a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/entity/ToDo.java b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/entity/ToDo.java
index c0f901f..637ed8c 100644
--- a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/entity/ToDo.java
+++ b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/entity/ToDo.java
@@ -31,4 +31,5 @@ public class ToDo {
     Date createdAt;   //作成日時
     @Temporal(TemporalType.TIMESTAMP)
     Date doneAt;      //完了日時
+    String background; //背景色
 }
diff --git a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/service/ToDoService.java b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/service/ToDoService.java
index 57a6371..ace1243 100644
--- a/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/service/ToDoService.java
+++ b/src/main/java/jp/ac/kobe_u/cs/itspecialist/todoapp/service/ToDoService.java
@@ -106,13 +106,31 @@ public class ToDoService {
         ToDo todo = getToDo(seq);
         //Doneの認可を確認する.他人のToDoを更新したらダメ.
         if (!mid.equals(todo.getMid())) {
-            throw new ToDoAppException(ToDoAppException.INVALID_TODO_OPERATION, mid 
-            + ": Cannot update other's todo of " + todo.getMid());
+            throw new ToDoAppException(ToDoAppException.INVALID_TODO_OPERATION, mid
+                    + ": Cannot update other's todo of " + todo.getMid());
         }
         todo.setTitle(form.getTitle()); //タイトルを更新
         return tRepo.save(todo);
     }
 
+    /**
+     * 背景色を更新する.
+     * @param mid 更新者
+     * @param seq 更新するToDo番号
+     * @param background 新しい背景色
+     * @return
+     */
+    public ToDo updateBackground(String mid, Long seq, String background) {
+        ToDo todo = getToDo(seq);
+        //Doneの認可を確認する.他人のToDoを更新したらダメ.
+        if (!mid.equals(todo.getMid())) {
+            throw new ToDoAppException(ToDoAppException.INVALID_TODO_OPERATION, mid
+                    + ": Cannot update other's todo of " + todo.getMid());
+        }
+        todo.setBackground(background);
+        return tRepo.save(todo);
+    }
+
     /**
      * ToDoを削除する
      * @param mid 削除者
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index e07c446..fcc0913 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -9,3 +9,7 @@ spring.datasource.password=todotodo
 # Spring-JPA: DBのテーブルを自動作成してくれる機能
 # create: 新規作成, update: なければ新規作成, create-drop: 新規作成し終了時に削除
 spring.jpa.hibernate.ddl-auto=update
+# HTML から PUT, DELETE リクエスを投げるために必要.
+# ただし,MultipartFileがリクエストに含まれると時間がかかるらしい.
+# https://qiita.com/kazuhiro1982/items/b8b9965fddf9c5507517
+spring.mvc.hiddenmethod.filter.enabled=true
diff --git a/src/main/resources/templates/alllist.html b/src/main/resources/templates/alllist.html
index 8580517..3a7d4ca 100644
--- a/src/main/resources/templates/alllist.html
+++ b/src/main/resources/templates/alllist.html
@@ -21,7 +21,7 @@
             <th>作成日時</th>
         </tr>
         <tr th:each="todo: ${todos}">
-            <td>[[${todo.seq}]]</td>
+            <td th:style="'background-color: ' + ${todo.background}">[[${todo.seq}]]</td>
             <td>[[${todo.title}]]</td>
             <td>[[${todo.mid}]]</td>
             <td>[[${todo.createdAt}]]</td>
@@ -37,7 +37,7 @@
             <th>完了日時</th>
         </tr>
         <tr th:each="done: ${dones}">
-            <td>[[${done.seq}]]</td>
+            <td th:style="'background-color: ' + ${done.background}">[[${done.seq}]]</td>
             <td>[[${done.title}]]</td>
             <td>[[${done.mid}]]</td>
             <td>[[${done.doneAt}]]</td>
diff --git a/src/main/resources/templates/list.html b/src/main/resources/templates/list.html
index a2939b9..c4e90bc 100644
--- a/src/main/resources/templates/list.html
+++ b/src/main/resources/templates/list.html
@@ -21,10 +21,15 @@
             <th>コマンド</th>
         </tr>
         <tr th:each="todo: ${todos}">
-            <td>[[${todo.seq}]]</td>
+            <td th:style="'background-color: ' + ${todo.background}">[[${todo.seq}]]</td>
             <td>[[${todo.title}]]</td>
             <td>[[${todo.createdAt}]]</td>
             <td>
+                <form th:object="${ToDoForm}" th:action="@{/{mid}/todos/{seq}/background(mid=${member.mid},seq=${todo.seq})}" th:method="put">
+                    <input type="hidden" name="title" th:value="${todo.title}"/>
+                    <input type="color" name="background" th:value="${todo.background}" />
+                    <input type="submit" value="更新" />
+                </form>
                 <a th:href="@{/{mid}/todos/{seq}/done(mid=${member.mid},seq=${todo.seq})}">完了</a>
             </td>
         </tr>
@@ -35,6 +40,7 @@
             <td colspan="3">
                 <form role="form" th:action="@{/{mid}/todos(mid=${member.mid})}" th:object="${ToDoForm}" method="post">
                     <input type="text" required th:field="*{title}" />
+                    <input type="color" required name="background" th:value="*{background == null ? '#ffffff': background}" />
                     <input type="submit" value="新規作成" />
                     <div th:if="${#fields.hasErrors('title')}" th:errors="*{title}" style="color: red"></div>
                 </form>
@@ -51,7 +57,7 @@
             <th>完了日時</th>
         </tr>
         <tr th:each="done: ${dones}">
-            <td>[[${done.seq}]]</td>
+            <td th:style="'background-color: ' + ${done.background}">[[${done.seq}]]</td>
             <td>[[${done.title}]]</td>
             <td>[[${done.createdAt}]]</td>
             <td>[[${done.doneAt}]]</td>