@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;

700&display=swap);@charset "UTF-8";
html,
body,
main,
div,
span,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
em,
img,
q,
b,
u,
i,
button,
small,
strong,
sub,
sup,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
menu,
nav,
section,
time,
mark,
audio,
video,
picture {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline;
  font-family: "Noto Sans JP", "\30D2\30E9\30AE\30CE\89D2\30B4   ProN W3", "Hiragino Kaku Gothic ProN", 游ゴシック, YuGothic, メイリオ, Meiryo, sans-serif;
  font-size: 16px;
  color: #0F0C29;
  font-display: swap;
}

@media only screen and (max-width: 768px) {
  html,
  body,
  main,
  div,
  span,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  address,
  cite,
  code,
  em,
  img,
  q,
  b,
  u,
  i,
  button,
  small,
  strong,
  sub,
  sup,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  menu,
  nav,
  section,
  time,
  mark,
  audio,
  video,
  picture {
    font-size: 14px;
  }
}

span,
strong {
  font: inherit;
}

html,
body {
  width: 100vw;
  overflow-x: hidden;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

a {
  text-decoration: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

pre {
  white-space: pre-wrap;
}

img {
  width: 100%;
}

body {
  background-color: #F6F8F9;
  overflow-x: hidden;
}

main {
  padding-top: 55px;
}

.main-container {
  padding-left: 240px;
}

@media only screen and (max-width: 1366px) {
  .main-container {
    padding-left: 200px;
  }
}

@media only screen and (max-width: 1024px) {
  .main-container {
    padding-left: 0;
  }
}

section {
  width: 1000px;
  margin: 40px auto;
}

@media only screen and (max-width: 1366px) {
  section {
    width: 800px;
  }
}

@media only screen and (max-width: 1024px) {
  section {
    width: 96vw;
  }
}

.page-article {
  position: relative;
  width: 1000px;
  margin: 40px auto;
  background-color: #fff;
  box-shadow: 2px 2px 2px #CBD4D8;
  padding: 60px;
}

@media only screen and (max-width: 1366px) {
  .page-article {
    width: 800px;
  }
}

@media only screen and (max-width: 1024px) {
  .page-article {
    width: 96vw;
    margin: 20px auto;
    padding: 40px 2vw;
  }
}

@media only screen and (max-width: 768px) {
  .page-article {
    padding: 20px 4vw;
  }
}

.col-2 {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.col-2 .col {
  width: 48%;
}

.app-message {
  border: 1px solid #1389CB;
  padding: 20px 40px;
  margin: 10px auto;
  width: 1000px;
  color: #1389CB;
  transition: 0.2s ease;
  background-color: #fff;
  box-shadow: 2px 2px 2px #CBD4D8;
  transition: 0.5s ease;
}

@media only screen and (max-width: 1366px) {
  .app-message {
    width: 800px;
  }
}

@media only screen and (max-width: 1024px) {
  .app-message {
    width: 96vw;
    padding: 10px 20px;
    font-size: 14px;
  }
}

.app-message:first-child {
  margin-top: 40px;
}

.app-message a {
  color: #1389CB;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
}

.app-message a:hover,
.app-message a:active,
.app-message a:focus {
  color: #55b8ef;
}

header {
  position: fixed;
  height: 55px;
  width: 100%;
  background-color: #0F0C29;
  z-index: 200;
}

.gnav {
  width: 100%;
  padding: 0 30px;
  margin: 0 auto;
  box-sizing: border-box;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .gnav {
    padding: 0 4vw;
  }
}

.gnav-logo {
  display: inline;
  margin-top: 12px;
  height: 40px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

@media only screen and (max-width: 768px) {
  .gnav-logo {
    margin-top: 16px;
  }
}

.gnav-logo img {
  width: 180px;
}

@media only screen and (max-width: 768px) {
  .gnav-logo img {
    width: 150px;
  }
}

.gnav-logo:hover {
  opacity: 0.8;
}

.header-user-info {
  position: relative;
  display: block;
  padding-top: 5px;
  height: 55px;
}

@media only screen and (max-width: 1024px) {
  .header-user-info {
    display: none;
  }
}

.header-user-info img {
  position: relative;
  top: 8px;
  width: 30px;
  margin-right: 8px;
  border-radius: 50%;
}

.header-user-info p {
  top: 4px;
  color: #F6F8F9;
  display: inline;
}

.header-user-menu {
  position: absolute;
  width: 140px;
  right: 18px;
  top: 48px;
  visibility: hidden;
  background-color: #fff;
  box-shadow: 2px 2px 4px #CBD4D8;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.header-user-menu a {
  display: block;
  padding: 16px;
  border-bottom: 1px solid #CBD4D8;
  transition: background-color 0.2s ease;
}

.header-user-menu a:last-child {
  border: none;
}

.header-user-menu a:hover {
  background-color: #F6F8F9;
}

.header-user-menu a img {
  position: relative;
  display: inline-block;
  top: 4px;
  width: 20px;
  margin-right: 3px;
}

.header-user-menu a p {
  display: inline-block;
  color: #6F7782;
  font-size: 14px;
}

.header-user-info:hover + div,
.header-user-menu:hover {
  opacity: 1;
  visibility: visible;
}

#nav-sp-btn {
  display: none;
  position: relative;
  margin-top: 20px;
  width: 34px;
  height: 18px;
}

@media only screen and (max-width: 1024px) {
  #nav-sp-btn {
    display: block;
  }
}

#nav-sp-btn .nav-sp-bar {
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #F6F8F9;
  transition: 0.2s ease;
}

#nav-sp-btn .nav-sp-bar:nth-of-type(1) {
  top: 0;
}

#nav-sp-btn .nav-sp-bar:nth-of-type(2) {
  top: 7px;
}

#nav-sp-btn .nav-sp-bar:nth-of-type(3) {
  bottom: 0;
}

#nav-sp-btn.active span:nth-of-type(1) {
  transform: translateY(7px) rotate(-45deg);
}

#nav-sp-btn.active span:nth-of-type(2) {
  opacity: 0;
}

#nav-sp-btn.active span:nth-of-type(3) {
  transform: translateY(-7px) rotate(45deg);
}

.nav-sp-open {
  transform: translateX(0%) !important;
}

footer {
  text-align: center;
  margin: 60px 0;
}

footer small {
  font-family: Arial, Helvetica, sans-serif;
  color: #6F7782;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  footer small {
    font-size: 12px;
  }
}

.sidebar {
  position: fixed;
  background-color: #0F0C29;
  width: 240px;
  height: 100vh;
  z-index: 100;
}

@media only screen and (max-width: 1366px) {
  .sidebar {
    width: 200px;
  }
}

@media only screen and (max-width: 1024px) {
  .sidebar {
    width: 100vw;
    height: 100vh;
    transform: translateX(-100%);
  }
}

.sidebar-lists {
  margin-top: 24px;
}

@media only screen and (max-width: 768px) {
  .sidebar-lists {
    margin-top: 20px;
  }
}

.sidebar-lists:first-of-type {
  margin-top: 55px;
  border-top: 1px solid #0D114E;
}

.sidebar-list {
  transition: 0.2s ease;
}

.sidebar-list a {
  position: relative;
  top: -3px;
  display: inline-block;
  width: 100%;
  padding: 8px 20px;
}

@media only screen and (max-width: 1024px) {
  .sidebar-list a {
    padding: 6px 2vw;
  }
}

.sidebar-list a img {
  position: relative;
  top: 5px;
  width: 22px;
  margin: 0 10px;
}

.sidebar-list a p {
  display: inline-block;
  color: #F6F8F9;
  font-size: 14px;
}

.sidebar-list:hover {
  background-color: #0D114E;
}

.sidebar-list-current {
  background-color: #0D114E;
}

.sidebar-lists-sp {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .sidebar-lists-sp {
    display: block;
  }
}

.sidebar-mylist-img {
  border-radius: 50%;
}

.fv {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .fv {
    display: block;
  }
}

.fv .fv-copy {
  width: 50%;
  height: auto;
  margin: auto 0;
}

@media only screen and (max-width: 768px) {
  .fv .fv-copy {
    width: 100%;
    margin-bottom: 16px;
  }
}

.fv .fv-copy .fv-catch {
  font-weight: 700;
  font-size: 26px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 1366px) {
  .fv .fv-copy .fv-catch {
    font-size: 22px;
  }
}

@media only screen and (max-width: 768px) {
  .fv .fv-copy .fv-catch {
    font-size: 18px;
  }
}

.fv .fv-copy .fv-body {
  color: #6F7782;
}

.fv .fv-links {
  width: 50%;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .fv .fv-links {
    width: 100%;
  }
}

.fv .fv-links .fv-link {
  width: 48%;
  padding: 20px;
  background-color: #fff;
  text-align: center;
  transition: opacity 0.2s ease;
}

@media only screen and (max-width: 768px) {
  .fv .fv-links .fv-link {
    padding: 2vw;
  }
}

.fv .fv-links .fv-link:hover {
  opacity: 0.7;
}

.fv .fv-links .fv-link h2 {
  font-size: 18px;
  margin: 5px 0;
  color: #0F0C29;
}

@media only screen and (max-width: 768px) {
  .fv .fv-links .fv-link h2 {
    font-size: 15px;
  }
}

.fv .fv-links .fv-link p {
  font-size: 14px;
  color: #6F7782;
  margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
  .fv .fv-links .fv-link p {
    font-size: 12px;
  }
}

@media only screen and (max-width: 768px) {
  .fv .fv-links .fv-link img {
    width: 50%;
  }
}

.auth-container {
  width: 800px;
  background-color: #fff;
  box-shadow: 2px 2px 2px #CBD4D8;
  padding: 60px 120px;
}

@media only screen and (max-width: 1024px) {
  .auth-container {
    width: 92vw;
  }
}

@media only screen and (max-width: 768px) {
  .auth-container {
    padding: 60px 4vw;
  }
}

.auth-header {
  text-align: center;
  font-size: 30px;
  font-weight: 800;
  margin-bottom: 40px;
}

@media only screen and (max-width: 1024px) {
  .auth-header {
    font-size: 24px;
  }
}

.auth-header img {
  position: relative;
  top: 8px;
  width: 40px;
  margin-right: 10px;
}

#login .form-container {
  margin: 30px 0;
}

#login .form-container input {
  line-height: 26px;
  font-size: 18px;
}

.login-forget {
  display: block;
  text-align: center;
  font-size: 14px;
  margin-top: 40px;
  color: #6F7782;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
}

.login-forget:hover,
.login-forget:active,
.login-forget:focus {
  color: #a5aab2;
}

.user-header {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.user-header .user-header-img {
  width: 30%;
}

@media only screen and (max-width: 768px) {
  .user-header .user-header-img {
    width: 35%;
  }
}

.user-header .user-header-img img {
  border-radius: 50%;
}

.user-header .user-header-txt {
  width: 60%;
  height: auto;
  margin: auto 0;
}

.user-header .user-header-txt h1 {
  font-size: 28px;
}

@media only screen and (max-width: 768px) {
  .user-header .user-header-txt h1 {
    font-size: 16px;
    margin-bottom: 4px;
  }
}

@media only screen and (max-width: 768px) {
  .user-header .user-header-txt .div-header {
    margin: 5px 0;
    font-size: 14px;
    line-height: 14px;
  }
}

@media only screen and (max-width: 768px) {
  .user-header .user-header-txt p {
    font-size: 12px;
    line-height: 14px;
  }
}

.line-coordination-area {
  text-align: center;
}

.line-coordination-button {
  display: inline-block;
  text-align: center;
  min-width: 200px;
  border-radius: 50px;
  background-color: #81B663;
  margin: 8px 0;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: bold;
  color: white;
}

.line-coordination-caption {
  color: #666;
}

.contact-info {
  margin-top: 10px;
}

@media only screen and (max-width: 768px) {
  .contact-info {
    margin-top: 0;
  }
}

.contact-info li {
  margin: 8px 0;
}

@media only screen and (max-width: 768px) {
  .contact-info li {
    font-size: 12px;
    padding: 2px 0;
  }
}

#users .page-article {
  padding: 30px;
}

@media only screen and (max-width: 768px) {
  #users .page-article {
    padding: 10px 2vw;
  }
}

#users .div-header {
  margin-bottom: 0;
}

.user-lists {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.user-lists .user-list {
  width: 18%;
  text-align: center;
  margin: 20px 0;
  margin-right: 2%;
}

@media only screen and (max-width: 768px) {
  .user-lists .user-list {
    width: 24%;
    margin: 10px 0;
    margin-right: 1%;
  }
}

.user-lists .user-list:last-of-type {
  margin-right: 0;
}

.user-lists .user-list img {
  border-radius: 50%;
}

.user-lists .user-list p {
  font-size: 13px;
  color: #6F7782;
}

@media only screen and (max-width: 768px) {
  .user-lists .user-list p {
    font-size: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .user-lists .user-list h3 {
    font-size: 12px;
  }
}

.user-lists .user-list a {
  transition: 0.2s ease;
}

.user-lists .user-list a:hover {
  opacity: 0.8;
}

.task-article {
  padding-top: 70px;
}

.task-article .task-header h1 {
  font-size: 28px;
  padding-right: 100px;
}

@media only screen and (max-width: 1024px) {
  .task-article .task-header h1 {
    padding-right: 0;
    font-size: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .task-article .task-header h1 {
    font-size: 18px;
  }
}

.task-article .task-client-info {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  margin: 40px 0;
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info {
    margin: 20px 0;
  }
}

.task-article .task-client-info .task-client {
  text-align: center;
  width: 18%;
  transition: 0.2s ease;
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client {
    width: 30%;
  }
}

.task-article .task-client-info .task-client:hover {
  opacity: 0.8;
}

.task-article .task-client-info .task-client:hover p {
  color: #6F7782;
}

.task-article .task-client-info .task-client img {
  width: 100%;
  border-radius: 50%;
}

.task-article .task-client-info .task-client p {
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s ease;
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client p {
    font-size: 11px;
  }
}

.task-article .task-client-info .task-client p:first-of-type {
  font-size: 16px;
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client p:first-of-type {
    font-size: 11px;
  }
}

.task-article .task-client-info .task-client-contact {
  width: 78%;
  padding: auto 0;
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client-contact {
    width: 66%;
  }
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client-contact .div-header {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client-contact .info-title {
    display: block;
  }
}

@media only screen and (max-width: 768px) {
  .task-article .task-client-info .task-client-contact li {
    margin: 2px 0 5px;
  }
}

.task-table {
  margin: 40px 0;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .task-table {
    margin: 20px 0;
  }
}

.task-table tr {
  border-top: 1px solid #CBD4D8;
  border-bottom: 1px solid #CBD4D8;
}

.task-table td {
  padding: 10px 20px;
  color: #6F7782;
}

@media only screen and (max-width: 768px) {
  .task-table td {
    padding: 8px;
    font-size: 13px;
  }
}

.task-table td:first-of-type {
  background-color: #F6F8F9;
  width: 20%;
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .task-table td:first-of-type {
    width: 24%;
  }
}

.task-updated {
  font-size: 13px;
  color: #6F7782;
  margin-left: 10px;
}

@media only screen and (max-width: 768px) {
  .task-updated {
    font-size: 12px;
  }
}

.task-status {
  position: absolute;
  top: 30px;
  left: 60px;
  border: 1px solid #0F0C29;
  padding: 2px 16px;
  font-weight: 700;
}

@media only screen and (max-width: 1024px) {
  .task-status {
    left: 2vw;
  }
}

.task-status-id3 {
  background-color: #1389CB;
  color: #fff;
  border: none;
}

.task-status-id4 {
  color: #6F7782;
  border: 1px solid #6F7782;
}

.status-numbers {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

.status-numbers .status-number {
  width: 50%;
  border: 1px solid #CBD4D8;
  padding: 20px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .status-numbers .status-number {
    padding: 10px;
  }
}

.status-numbers .status-number h3 {
  font-size: 14px;
}

.status-numbers .status-number .applieduser {
  color: #1389CB;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
  text-align: left;
  font-size: 13px;
  display: inline-block;
}

.status-numbers .status-number .applieduser:hover,
.status-numbers .status-number .applieduser:active,
.status-numbers .status-number .applieduser:focus {
  color: #55b8ef;
}

.status-numbers .status-number .applieduser::after {
  content: ",";
  margin: 0 5px;
}

.status-numbers .status-number .applieduser:last-of-type::after {
  content: "";
  margin: 0;
}

.status-numbers .recruit-number {
  width: 100%;
}

.related-users {
  background-color: #F6F8F9;
  padding: 20px;
  margin: 20px 0;
}

.related-user {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  margin: 20px 0;
  padding: 10px 0;
}

@media only screen and (max-width: 768px) {
  .related-user {
    padding: 0;
    display: block;
    margin-bottom: 0;
  }
}

.related-user .related-user-img {
  width: 25%;
}

.related-user .related-user-img img {
  border-radius: 50%;
  transition: 0.2s ease;
}

@media only screen and (max-width: 768px) {
  .related-user .related-user-img img {
    display: block;
    width: 50%;
    margin: 0 auto;
  }
}

.related-user .related-user-img img:hover {
  opacity: 0.8;
}

.related-user .related-user-info {
  width: 40%;
  height: auto;
  margin: auto 0;
  color: #6F7782;
}

@media only screen and (max-width: 1366px) {
  .related-user .related-user-info {
    width: 30%;
  }
}

@media only screen and (max-width: 768px) {
  .related-user .related-user-info {
    width: 100%;
  }
}

.related-user .related-user-info h4 {
  color: #0F0C29;
  margin-top: 10px;
  font-size: 14px;
}

.related-user .related-user-info h4:first-of-type {
  margin: 0;
}

.related-user .related-user-info p {
  font-size: 14px;
  color: #6F7782;
}

.related-user .task-controls {
  width: 30%;
  position: relative;
  height: auto;
  margin: auto 0;
}

@media only screen and (max-width: 1366px) {
  .related-user .task-controls {
    width: 36%;
  }
}

@media only screen and (max-width: 768px) {
  .related-user .task-controls {
    width: 100%;
  }
}

.related-user .task-controls button {
  width: 200px;
  margin: 5px 0;
  padding: 10px;
  cursor: pointer;
  box-shadow: 2px 2px 2px #CBD4D8;
  transition: 0.2s ease;
}

.related-user .task-controls button:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 768px) {
  .related-user .task-controls button {
    width: 100%;
  }
}

.related-user .task-controls .btn-contract {
  background-color: #1389CB;
  color: #fff;
  margin-top: 20px;
}

.related-user .task-controls .btn-cancel {
  color: #fff;
}

.task-article-type {
  position: absolute;
  top: 0;
  right: 0;
  padding: 5px 10px;
  border: none;
}

.task-article-type p {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

.task-type-id1 {
  background-color: #1389CB;
}

.task-type-id2 {
  background-color: #FF8A68;
}

.task-lists {
  margin: 20px 0;
}

.task-lists .task-list {
  position: relative;
  background-color: #fff;
  border-left: 2px solid #0F0C29;
  box-shadow: 2px 2px 4px #6F7782;
  padding: 14px 32px;
  margin-bottom: 16px;
  transition: 0.2s ease;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list {
    padding: 10px 20px;
  }
}

.task-lists .task-list:hover {
  opacity: 0.7;
  background-color: #F6F8F9;
}

.task-lists .task-list:last-of-type {
  margin-bottom: 40px;
}

.task-lists .task-list h2 {
  font-size: 20px;
  padding-right: 50px;
  color: #0D114E;
}

@media only screen and (max-width: 1366px) {
  .task-lists .task-list h2 {
    font-size: 18px;
  }
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list h2 {
    font-size: 15px;
  }
}

.task-lists .task-list .task-list-info {
  margin: 6px 0;
  font-weight: 700;
  line-height: 15px;
  font-size: 14px;
  color: #6F7782;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-info {
    font-size: 12px;
    line-height: 12px;
  }
}

.task-lists .task-list .task-list-info .info-title {
  background-color: #0F0C29;
  font-size: 13px;
  line-height: 15px;
  width: 80px;
  margin-right: 10px;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-info .info-title {
    font-size: 12px;
    line-height: 12px;
    margin-right: 5px;
    width: 60px;
  }
}

.task-lists .task-list .task-list-info .task-status-id3 {
  background-color: #1389CB;
  border: none;
}

.task-lists .task-list .task-list-info .task-status-id4 {
  background-color: #6F7782;
  color: #F6F8F9;
  border: none;
}

.task-lists .task-list .task-list-user {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  width: 100%;
  margin-top: 10px;
}

.task-lists .task-list .task-list-user .task-list-user-img {
  width: 9%;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-user .task-list-user-img {
    width: 16%;
  }
}

.task-lists .task-list .task-list-user .task-list-user-img img {
  border-radius: 50%;
}

.task-lists .task-list .task-list-user .task-list-user-txt {
  width: 90%;
  font-weight: 700;
  height: auto;
  margin: auto 0;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-user .task-list-user-txt {
    width: 82%;
    position: relative;
    top: -2px;
  }
}

.task-lists .task-list .task-list-user .task-list-user-txt h3 {
  font-size: 14px;
  color: #6F7782;
  border: 1px solid #6F7782;
  display: inline-block;
  padding: 0 5px;
  margin-bottom: 2px;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-user .task-list-user-txt h3 {
    margin-bottom: 0;
    font-size: 12px;
  }
}

.task-lists .task-list .task-list-user .task-list-user-txt p {
  font-size: 14px;
  color: #6F7782;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-user .task-list-user-txt p {
    font-size: 12px;
    line-height: 15px;
  }
}

.task-lists .task-list .task-list-supplement {
  position: absolute;
  bottom: 20px;
  right: 40px;
  text-align: right;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-supplement {
    position: relative;
    top: -38px;
    margin-bottom: -38px;
    right: 0;
  }
}

.task-lists .task-list .task-list-supplement p {
  font-size: 14px;
  color: #6F7782;
  text-align: right;
  line-height: 24px;
}

@media only screen and (max-width: 768px) {
  .task-lists .task-list .task-list-supplement p {
    font-size: 12px;
    line-height: 18px;
  }
}

.task-lists .task-status-id3 {
  border-left: 2px solid #1389CB;
}

.task-lists .task-status-id4 {
  border-left: 2px solid #6F7782;
}

.task-list-type {
  position: absolute;
  top: 0;
  right: 0;
  padding: 5px 10px;
}

.task-list-type p {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}

.contract-users {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  margin: 40px 0;
}

.contract-users .contract-user {
  width: 45%;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .contract-users .contract-user {
    display: block;
  }
}

.contract-users .contract-user img {
  width: 40%;
  height: auto;
  border-radius: 50%;
}

@media only screen and (max-width: 768px) {
  .contract-users .contract-user img {
    width: 100%;
  }
}

.contract-users .contract-user .contract-user-info {
  width: 50%;
  margin: auto 0;
  height: auto;
}

@media only screen and (max-width: 768px) {
  .contract-users .contract-user .contract-user-info {
    width: 100%;
    text-align: center;
  }
}

.contract-users .contract-user .contract-user-info h2,
.contract-users .contract-user .contract-user-info p {
  color: #6F7782;
}

@media only screen and (max-width: 1366px) {
  .contract-users .contract-user .contract-user-info h2,
  .contract-users .contract-user .contract-user-info p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 768px) {
  .contract-users .contract-user .contract-user-info h2,
  .contract-users .contract-user .contract-user-info p {
    font-size: 12px;
  }
}

.contract-users .arrow-right {
  width: 30px;
}

@media only screen and (max-width: 1366px) {
  .contract-users .arrow-right {
    width: 20px;
  }
}

.payment-controls {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .payment-controls {
    display: block;
  }
}

.payment-controls .btn-container {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  width: 48%;
}

@media only screen and (max-width: 768px) {
  .payment-controls .btn-container {
    display: block;
    margin: 16px 0;
    width: 100%;
  }
}

.payment-controls .btn-container .btn {
  font-size: 14px;
  border-radius: 0;
  height: 60px;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .payment-controls .btn-container .btn {
    min-width: auto;
    width: 100%;
    padding: 10px 0;
  }
}

.contract-status {
  display: inline-block;
  background-color: #6F7782;
  padding: 2px 16px;
  font-size: 14px;
  margin-bottom: 5px;
  color: #fff;
}

.contract-list-status {
  display: inline-block;
  border: 1px solid #6F7782;
  text-align: center !important;
  font-size: 14px;
  color: #fff;
  width: 90px;
}

@media only screen and (max-width: 768px) {
  .contract-list-status {
    width: 80px;
  }
}

.payment-section {
  background-color: #fff;
  padding: 40px;
  box-shadow: 2px 2px 4px #6F7782;
  width: 1000px;
}

@media only screen and (max-width: 1366px) {
  .payment-section {
    width: 800px;
  }
}

@media only screen and (max-width: 768px) {
  .payment-section {
    width: 94vw;
    padding: 20px 0;
  }
}

.payment-table {
  width: 100%;
  margin: 20px 0;
}

.payment-table tr {
  border-top: 1px solid #CBD4D8;
}

.payment-table tr:last-of-type {
  border-bottom: 1px solid #CBD4D8;
}

.payment-table tr:nth-of-type(odd) {
  background-color: #F6F8F9;
}

.payment-table tr a {
  color: #0D114E;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
  font-size: 14px;
}

.payment-table tr a:hover,
.payment-table tr a:active,
.payment-table tr a:focus {
  color: #1c24a5;
}

@media only screen and (max-width: 768px) {
  .payment-table tr a {
    font-size: 10px;
  }
}

.payment-table tr th,
.payment-table tr td {
  text-align: left;
  font-size: 13px;
  padding: 16px 10px;
  color: #6F7782;
  vertical-align: middle;
  width: 11%;
  word-break: break-all;
}

@media only screen and (max-width: 1600px) {
  .payment-table tr th,
  .payment-table tr td {
    letter-spacing: -1px;
  }
}

@media only screen and (max-width: 768px) {
  .payment-table tr th,
  .payment-table tr td {
    font-size: 8px;
    padding: 6px 2px;
  }
}

.payment-table tr th:nth-of-type(3),
.payment-table tr td:nth-of-type(3) {
  width: 25%;
}

.payment-table tr td:nth-of-type(6) {
  text-align: right;
}

.payment-table tr th:nth-of-type(7),
.payment-table tr td:nth-of-type(7),
.payment-table tr th:nth-of-type(8),
.payment-table tr td:nth-of-type(8) {
  text-align: center;
}

.payment-pdf {
  width: 20px;
  text-align: center;
}

.payment-notice {
  font-size: 14px;
  color: #6F7782;
}

.register-notification-container {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 780px;
  width: 100%;
  padding: 60px 12px;
  margin: auto;
  background-color: white;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}

.register-notification-body {
  text-align: center;
}

.register-notification-body h1 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 10px;
}

.register-notification-body-caption {
  font-size: 14px;
  color: #666;
}

.register-notification-error-description {
  color: black;
  font-size: 18px;
}

.form-container {
  margin: 24px 0;
}

.form-container input,
.form-container textarea {
  line-height: 22px;
  padding: 10px 20px;
  color: #6F7782;
  box-shadow: 2px 2px 4px #CBD4D8;
  background: none;
  border-width: 1px;
  border-radius: 4px;
  border-style: solid;
  border-color: #CBD4D8;
  box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .form-container input,
  .form-container textarea {
    padding: 8px 12px;
  }
}

.form-container input::-moz-placeholder, .form-container textarea::-moz-placeholder {
  color: #CBD4D8;
  font-family: "Noto sans JP", sans-serif;
}

.form-container input:-ms-input-placeholder, .form-container textarea:-ms-input-placeholder {
  color: #CBD4D8;
  font-family: "Noto sans JP", sans-serif;
}

.form-container input::placeholder,
.form-container textarea::placeholder {
  color: #CBD4D8;
  font-family: "Noto sans JP", sans-serif;
}

.form-container label {
  line-height: 26px;
  color: #0F0C29;
}

.form-date {
  min-height: 40px;
}

select {
  display: block;
  line-height: 22px;
  padding: 12px 20px;
  width: 100%;
  margin: 10px 0;
  color: #6F7782;
  box-shadow: 2px 2px 4px #CBD4D8;
  background: none;
  border-width: 1px;
  border-radius: 4px;
  border-style: solid;
  border-color: #CBD4D8;
}

.form-item {
  margin: 15px 0;
}

.form-item input,
.form-item textarea {
  width: 100%;
  margin: 5px 0;
}

.form-item textarea {
  height: 200px;
}

@media only screen and (max-width: 768px) {
  .form-item textarea {
    height: 120px;
  }
}

.form-item small {
  font-size: 13px;
  color: #6F7782;
}

.user-img-input {
  width: 500px;
}

@media only screen and (max-width: 768px) {
  .user-img-input {
    width: 100%;
  }
}

.user-img-input #file_photo {
  width: 80%;
  margin: 20px 0;
}

@media only screen and (max-width: 768px) {
  .user-img-input #file_photo {
    width: 100%;
  }
}

.user-img-input small {
  display: block;
}

#user-img {
  margin: 20px 0;
}

#user-img .user-img-wrapper {
  width: 200px;
  height: 200px;
}

@media only screen and (max-width: 768px) {
  #user-img .user-img-wrapper {
    margin: 0 auto;
  }
}

#user-img .user-img-wrapper img {
  height: 200px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50%;
     object-position: 50%;
  border-radius: 50%;
}

.company-lists {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 10px 0;
}

.company-lists .company-list {
  width: 50%;
}

.company-lists .company-list label {
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .company-lists .company-list label {
    font-size: 11px;
    letter-spacing: -0.5px;
  }
}

@media only screen and (max-width: 768px) {
  .contract-company-dropdown .form-rule {
    display: block;
    margin-left: 0;
  }
}

.form-inner {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
}

@media only screen and (max-width: 768px) {
  .form-inner {
    display: block;
  }
}

.form-inner input {
  width: 65%;
}

@media only screen and (max-width: 768px) {
  .form-inner input {
    width: 100%;
    margin-top: 10px;
  }
}

.form-inner label {
  width: 25%;
  position: relative;
  top: 10px;
}

@media only screen and (max-width: 768px) {
  .form-inner label {
    width: 100%;
    position: static;
  }
}

.invalid-feedback {
  background-color: #FF8A68;
  width: 100%;
  padding: 8px 16px;
  margin: 20px 0;
  transition: 0.2s ease;
}

.invalid-feedback strong {
  font-weight: 700;
  color: #F6F8F9;
  font-size: 14px;
}

.alert-success {
  color: #1389CB;
}

.fee-forms {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  justify-content: flex-start;
}

@media only screen and (max-width: 768px) {
  .fee-forms {
    display: block;
  }
}

.fee-forms .form-container:first-of-type {
  width: 20%;
  margin-right: 5%;
}

@media only screen and (max-width: 768px) {
  .fee-forms .form-container:first-of-type {
    width: 100%;
    margin: 0;
  }
}

.fee-forms .form-container:last-of-type {
  position: relative;
  width: 40%;
}

@media only screen and (max-width: 768px) {
  .fee-forms .form-container:last-of-type {
    width: 100%;
  }
}

.fee-forms .form-container:last-of-type input {
  margin: 9px 0;
  font-size: 16px;
}

.fee-forms .form-container:last-of-type #unit {
  position: absolute;
  display: inline-block;
  bottom: 12px;
  font-size: 16px;
  margin-left: 10px;
}

@media only screen and (max-width: 1024px) {
  .fee-forms .form-container:last-of-type #unit {
    display: none;
  }
}

.form-recruitment-number {
  width: 20%;
  position: relative;
}

.form-recruitment-number .unit {
  position: absolute;
  display: inline-block;
  bottom: 12px;
  font-size: 16px;
  margin-left: 10px;
}

@media only screen and (max-width: 1024px) {
  .form-recruitment-number .unit {
    display: none;
  }
}

.btn-container {
  width: 100%;
  text-align: center;
  margin: 20px 0;
}

.btn-container .btn {
  padding: 16px;
  min-width: 240px;
  border-radius: 50px;
  color: #F6F8F9;
  font-weight: 700;
  box-shadow: 2px 2px 4px #CBD4D8;
  cursor: pointer;
  transition: 0.2s ease;
}

@media only screen and (max-width: 768px) {
  .btn-container .btn {
    font-size: 14px;
  }
}

.btn-container .btn:hover {
  opacity: 0.8;
}

.btn-container .btn-notice {
  display: block;
  margin-top: 12px;
  font-size: 14px;
  color: #6F7782;
}

.btn:disabled {
  background-color: #6F7782 !important;
  cursor: auto;
}

.btn:disabled:hover {
  opacity: 1;
}

.edit-btn-container {
  position: absolute;
  top: 60px;
  right: 60px;
}

@media only screen and (max-width: 1024px) {
  .edit-btn-container {
    right: 4vw;
    top: 24px;
  }
}

.edit-btn-container .edit-btn {
  padding: 8px 16px 10px;
  background-color: #0F0C29;
  border-radius: 20px;
  transition: opacity 0.2s ease;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .edit-btn-container .edit-btn {
    font-size: 12px;
    padding: 4px 10px 6px;
    border-radius: 10px;
  }
}

.edit-btn-container .edit-btn img {
  display: inline-block;
  position: relative;
  top: 4px;
  margin-right: 5px;
  width: 20px;
}

@media only screen and (max-width: 768px) {
  .edit-btn-container .edit-btn img {
    width: 16px;
  }
}

.edit-btn-container .edit-btn p {
  display: inline-block;
  font-size: 15px;
  line-height: 26px;
  color: #F6F8F9;
}

@media only screen and (max-width: 768px) {
  .edit-btn-container .edit-btn p {
    font-size: 12px;
  }
}

.edit-btn-container .edit-btn:hover {
  opacity: 0.8;
}

.btn-col-2 {
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  justify-content: center;
}

@media only screen and (max-width: 768px) {
  .btn-col-2 {
    display: block;
  }
}

.btn-col-2 .col {
  width: 30%;
  text-align: center;
}

@media only screen and (max-width: 1366px) {
  .btn-col-2 .col {
    width: 80%;
  }
}

@media only screen and (max-width: 768px) {
  .btn-col-2 .col {
    width: 100%;
  }
}

.btn-col-2 .col .btn-container {
  margin: 0;
}

.btn-delete {
  background-color: #FF8A68;
}

.btn-delete-small {
  font-size: 13px;
  color: #6F7782;
  display: block;
  text-align: center;
}

.btn-submit-icon {
  width: 20px;
  position: relative;
  top: 4px;
  margin-right: 5px;
  line-height: 20px;
}

@media only screen and (max-width: 768px) {
  .btn-submit-icon {
    width: 16px;
    top: 2px;
  }
}

.btn-cancel {
  margin-top: 20px;
  background-color: #6F7782;
}

.btn-submit {
  background-color: #1389CB;
  margin-top: 20px;
}

.btn-receipt {
  font-size: 13px;
  background-color: #1389CB;
  border-radius: 5px;
  padding: 5px;
  cursor: pointer;
  color: #fff;
}

.btn-receipt:hover {
  opacity: 0.8;
}

hr {
  background-color: #CBD4D8;
  height: 1px;
  border: 0;
  margin: 40px 0;
}

.file-icon {
  width: 16px;
  position: relative;
  top: 2px;
  margin-right: 5px;
}

.doc-format {
  margin-top: 10px;
  font-size: 14px;
}

.doc-format a {
  color: #1389CB;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
}

.doc-format a:hover,
.doc-format a:active,
.doc-format a:focus {
  color: #55b8ef;
}

.page-header {
  width: 1000px;
  margin: 40px auto 20px;
  font-size: 26px;
  border-bottom: 1px solid #CBD4D8;
  color: #6F7782;
  padding-bottom: 10px;
}

@media only screen and (max-width: 1366px) {
  .page-header {
    width: 800px;
  }
}

@media only screen and (max-width: 1024px) {
  .page-header {
    width: 92vw;
    font-size: 20px;
    padding-bottom: 6px;
  }
}

.div-header {
  border-left: 5px solid #0F0C29;
  font-size: 20px;
  line-height: 24px;
  font-weight: 700;
  margin: 20px 0 8px;
  padding-left: 10px;
}

@media only screen and (max-width: 768px) {
  .div-header {
    font-size: 15px;
    line-height: 20px;
    margin: 16px 0;
    padding-left: 5px;
  }
}

.info-title {
  display: inline-block;
  width: 140px;
  background-color: #6F7782;
  color: #fff;
  text-align: center;
  margin-right: 16px;
  padding: 5px 0;
  font-size: 14px;
}

@media only screen and (max-width: 768px) {
  .info-title {
    font-size: 11px;
    width: 80px;
    letter-spacing: -1px;
    line-height: 12px;
    margin-right: 5px;
    padding: 4px 0;
  }
}

strong {
  font-weight: 700;
  color: #1389CB;
  font-size: 18px;
}

@media only screen and (max-width: 768px) {
  strong {
    font-size: 15px;
  }
}

.file-link {
  color: #0D114E;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
}

.file-link:hover,
.file-link:active,
.file-link:focus {
  color: #1c24a5;
}

.cancel-link {
  color: #6F7782;
  text-decoration: underline;
  transition: 0.2s ease;
  cursor: pointer;
  display: block;
  margin-top: 10px;
  font-size: 14px;
}

.cancel-link:hover,
.cancel-link:active,
.cancel-link:focus {
  color: #a5aab2;
}

.control-panel-header {
  font-size: 24px;
  color: #1389CB;
}

.form-rule {
  display: inline;
  font-size: 13px;
  color: #6F7782;
  margin-left: 10px;
}

.required {
  font-size: 13px;
  color: #1389CB;
  margin-left: 10px;
}

.mailsend-lists {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.mailsend-lists .mailsend-list {
  width: 32%;
  margin-right: 1%;
}

@media only screen and (max-width: 768px) {
  .mailsend-lists .mailsend-list {
    width: 100%;
    margin-right: 0;
  }
}

.mailsend-header {
  margin: 12px 0 6px;
  padding-bottom: 5px;
  border-bottom: 1px solid #CBD4D8;
}

.mailsend-header img {
  width: 12px;
  margin-right: 10px;
}

.mailsend-header p {
  display: inline-block;
  color: #6F7782;
  font-size: 13px;
}

.mailsend-users {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  position: relative;
  left: -5px;
}

.mailsend-users .mailsend-user {
  width: 50%;
}

.mailsend-users input {
  margin-right: 0;
}

.mailsend-users label {
  font-size: 13px;
  color: #6F7782;
  margin-left: 5px;
}

@media only screen and (max-width: 768px) {
  .mailsend-users label {
    font-size: 12px;
    margin-left: 3px;
  }
}

.notice-user-all {
  display: block;
  margin-top: 12px;
  margin-left: -5px;
}

.notice-user-all label {
  font-size: 13px;
}

