diff --git a/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerScanFragment.java b/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerScanFragment.java
new file mode 100644
index 00000000..54ba513e
--- /dev/null
+++ b/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerScanFragment.java
@@ -0,0 +1,75 @@
+package one.nem.lacerta.component.scanner;
+
+import android.graphics.BitmapFactory;
+import android.os.Bundle;
+
+import androidx.constraintlayout.utils.widget.ImageFilterView;
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.websitebeaver.documentscanner.DocumentScanner;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Use the {@link ScannerScanFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class ScannerScanFragment extends Fragment {
+
+    // TODO: Rename parameter arguments, choose names that match
+    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+//    private static final String MAX_SCAN_COUNT = "max_scan_count"; // 規定値
+
+    // TODO: Rename and change types of parameters
+    private String mParam1;
+
+
+    public ScannerScanFragment() {
+        // Required empty public constructor
+    }
+
+    public static ScannerScanFragment newInstance(String param1) {
+        ScannerScanFragment fragment = new ScannerScanFragment();
+        Bundle args = new Bundle();
+//        args.putString(MAX_SCAN_COUNT, param1);
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (getArguments() != null) {
+//            mParam1 = getArguments().getString(MAX_SCAN_COUNT);
+//            scan(Integer.parseInt(mParam1));
+        }
+    }
+
+
+    public DocumentScanner getDocumentScanner() {
+        return new DocumentScanner(
+                this,
+                (croppedImageResults) -> {
+                    // display the first cropped image
+                    croppedImageView.setImageBitmap(
+                            BitmapFactory.decodeFile(croppedImageResults.get(0))
+                    );
+                    return null;
+                },
+                (errorMessage) -> {
+                    // an error happened
+                    return null;
+                },
+                () -> {
+                    // user canceled document scan
+                    return null;
+                },
+                null,
+                null,
+                null
+        );
+    }
+}
\ No newline at end of file
diff --git a/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerScanResultFragment.java b/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerScanResultFragment.java
new file mode 100644
index 00000000..beffe3d0
--- /dev/null
+++ b/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerScanResultFragment.java
@@ -0,0 +1,64 @@
+package one.nem.lacerta.component.scanner;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.Fragment;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * A simple {@link Fragment} subclass.
+ * Use the {@link ScannerScanResultFragment#newInstance} factory method to
+ * create an instance of this fragment.
+ */
+public class ScannerScanResultFragment extends Fragment {
+
+    // TODO: Rename parameter arguments, choose names that match
+    // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
+    private static final String ARG_PARAM1 = "param1";
+    private static final String ARG_PARAM2 = "param2";
+
+    // TODO: Rename and change types of parameters
+    private String mParam1;
+    private String mParam2;
+
+    public ScannerScanResultFragment() {
+        // Required empty public constructor
+    }
+
+    /**
+     * Use this factory method to create a new instance of
+     * this fragment using the provided parameters.
+     *
+     * @param param1 Parameter 1.
+     * @param param2 Parameter 2.
+     * @return A new instance of fragment ScannerScanResultFragment.
+     */
+    // TODO: Rename and change types and number of parameters
+    public static ScannerScanResultFragment newInstance(String param1, String param2) {
+        ScannerScanResultFragment fragment = new ScannerScanResultFragment();
+        Bundle args = new Bundle();
+        args.putString(ARG_PARAM1, param1);
+        args.putString(ARG_PARAM2, param2);
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (getArguments() != null) {
+            mParam1 = getArguments().getString(ARG_PARAM1);
+            mParam2 = getArguments().getString(ARG_PARAM2);
+        }
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        return inflater.inflate(R.layout.fragment_scanner_scan_result, container, false);
+    }
+}
\ No newline at end of file
diff --git a/component/scanner/src/main/res/layout/fragment_scanner_scan.xml b/component/scanner/src/main/res/layout/fragment_scanner_scan.xml
new file mode 100644
index 00000000..cf20c76f
--- /dev/null
+++ b/component/scanner/src/main/res/layout/fragment_scanner_scan.xml
@@ -0,0 +1,14 @@
+
+
+
+    
+    
+
+
\ No newline at end of file
diff --git a/component/scanner/src/main/res/layout/fragment_scanner_scan_result.xml b/component/scanner/src/main/res/layout/fragment_scanner_scan_result.xml
new file mode 100644
index 00000000..2ecaf967
--- /dev/null
+++ b/component/scanner/src/main/res/layout/fragment_scanner_scan_result.xml
@@ -0,0 +1,133 @@
+
+
+
+    
+
+    
+
+        
+
+            
+
+            
+        
+        
+
+            
+
+            
+        
+        
+
+            
+
+            
+        
+        
+
+            
+
+            
+        
+
+    
+
+    
+
+        
+
+        
+    
+
+
\ No newline at end of file