diff --git a/frontend/src/components/form/error.tsx b/frontend/src/components/form/error.tsx
deleted file mode 100644
index cba24612fde18d6089b5cb108e2c5dd4fdbbd491..0000000000000000000000000000000000000000
--- a/frontend/src/components/form/error.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import styled from '@emotion/styled/macro'
-
-
-const StyledValidationError = styled.span`
-  color: "red"
-`
-
-export default StyledValidationError
\ No newline at end of file
diff --git a/frontend/src/components/form/fnr.tsx b/frontend/src/components/form/fnr.tsx
deleted file mode 100644
index ee7cd1f2a920bc3b443d11f4c5a084f0321b5065..0000000000000000000000000000000000000000
--- a/frontend/src/components/form/fnr.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import React from 'react'
-
-import { UseFormReturn } from 'react-hook-form'
-import { isValidFnr } from 'utils'
-
-interface FnrProps extends Partial<Pick<UseFormReturn, 'register'>> {
-  name: string
-  errors?: any
-}
-
-function Fnr(props: FnrProps) {
-  const { register, name, errors } = props
-  if (register === undefined) {
-    return <></>
-  }
-
-  return (
-    <>
-      <input
-        type="text"
-        placeholder={name}
-        // eslint-disable-next-line react/jsx-props-no-spreading
-        {...register(name, {
-          required: 'Fnr is required',
-          validate: isValidFnr,
-        })}
-        id="fnr"
-      />
-      {errors.fnr && errors.fnr.message}
-      {errors.fnr && errors.fnr.type === 'validate' && 'Invalid fnr'}
-    </>
-  )
-}
-
-Fnr.defaultProps = {
-  errors: {},
-}
-
-export default Fnr
diff --git a/frontend/src/components/form/form.tsx b/frontend/src/components/form/form.tsx
deleted file mode 100644
index 2964e7f2591152ec5e6fb2d5e83fe2ac40861538..0000000000000000000000000000000000000000
--- a/frontend/src/components/form/form.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import React from 'react'
-import { useForm } from 'react-hook-form'
-
-interface FormProps {
-  children: any
-  onSubmit: any
-}
-
-export default function Form(props: FormProps) {
-  const { children, onSubmit } = props
-  const methods = useForm()
-  const {
-    handleSubmit,
-    formState: { errors },
-  } = methods
-  return (
-    <form onSubmit={handleSubmit(onSubmit)}>
-      {React.Children.map(children, (child) =>
-        child.props.name
-          ? React.createElement(child.type, {
-              // eslint-disable-next-line react/jsx-props-no-spreading
-              ...{
-                // eslint-disable-next-line react/jsx-props-no-spreading
-                ...child.props,
-                control: methods.control,
-                register: methods.register,
-                errors,
-                key: child.props.name,
-              },
-            })
-          : child
-      )}
-    </form>
-  )
-}
diff --git a/frontend/src/components/form/index.tsx b/frontend/src/components/form/index.tsx
deleted file mode 100644
index 1d3d7430ae22ba5e53a288393dc725ec272d84da..0000000000000000000000000000000000000000
--- a/frontend/src/components/form/index.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import Form from './form'
-import Input from './input'
-import Select from './select'
-import Fnr from './fnr'
-
-export { Fnr, Form, Input, Select }
diff --git a/frontend/src/components/form/input.tsx b/frontend/src/components/form/input.tsx
deleted file mode 100644
index 4d589d2682b2f7d23945ef150c747bef24c759c0..0000000000000000000000000000000000000000
--- a/frontend/src/components/form/input.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import React from 'react'
-import styled from '@emotion/styled/macro'
-import { UseFormReturn } from 'react-hook-form'
-
-interface InputProps
-  extends Partial<React.InputHTMLAttributes<HTMLInputElement>>,
-    Partial<UseFormReturn> {
-  name: string
-  errors?: any
-  type?: 'text' | 'email' | 'number'
-}
-
-export const StyledInput = styled.input`
-  width: 50%;
-  border: 1px solid;
-  border-width: 0.013rem;
-  border-radius: 0.3rem;
-  border-color: #ccc;
-  box-shadow: inset 0 0 0 0.013rem #4d4d4d;
-  padding: 0.625rem;
-`
-
-export const StyledLabel = styled.label`
-  display: block;
-  font-size: 1rem;
-  padding: 0.3rem 0 0.3rem 0;
-`
-function Input(props: InputProps) {
-  // eslint-disable-next-line react/jsx-props-no-spreading
-  const { register, name, errors, type, ...rest } = props
-  if (register === undefined) {
-    return <></>
-  }
-  // eslint-disable-next-line react/jsx-props-no-spreading
-  return <StyledInput {...register(name)} {...rest} />
-}
-
-Input.defaultProps = {
-  type: 'text',
-  errors: {},
-}
-
-export default Input
diff --git a/frontend/src/components/form/select.tsx b/frontend/src/components/form/select.tsx
deleted file mode 100644
index e5eadbd4a9ce5ad91738f41946c79404eb99132a..0000000000000000000000000000000000000000
--- a/frontend/src/components/form/select.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import React from 'react'
-import { UseFormReturn } from 'react-hook-form'
-
-interface SelectProps extends Partial<Pick<UseFormReturn, 'register'>> {
-  options: Array<string>
-  name: string
-  type?: 'text' | 'email' | 'number'
-}
-
-function Select(props: SelectProps) {
-  const { register, options, name, ...rest } = props
-  if (register === undefined) {
-    return <></>
-  }
-  return (
-    // eslint-disable-next-line react/jsx-props-no-spreading
-    <select {...register(name)} {...rest}>
-      {options.map((value) => (
-        <option key={value} value={value}>
-          {value}
-        </option>
-      ))}
-    </select>
-  )
-}
-
-Select.defaultProps = {
-  type: 'text',
-}
-
-export default Select