@charset "UTF-8";
/* CSS Document */
/* CSS Document */
* {
  box-sizing: border-box;
  z-index: 0;
  margin: 0;
  padding: 0;
}

.red {
  color: #f00;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.0rem;
  /*10px*/
  font-family: 'Noto Sans JP',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",'Open Sans','Noto Sans JP', sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.75;
  position: relative;
  color: #574d4f;
}

#pan {
  margin: 0 0 20px;
  font-size: 1.4rem;
  padding: 0;
  background: #fff;
}
#pan ul {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  font-size: 1.4rem;
  padding: 0;
  margin: 0 auto;
  line-height: 2;
  overflow-x: auto;
  white-space: nowrap;
  list-style: none;
  overflow-y: hidden;
}
#pan ul li {
  display: inline-block;
  position: relative;
  padding: 0;
}
#pan ul li + li::before {
  content: ">";
}

.contents {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
.contents .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contents .title h1 {
  color: #0071bb;
  font-size: 2.8rem;
  margin: 10px;
}

#header {
  border-bottom: 3px solid #0071bb;
}
#header .header_inner {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: 220px auto;
  grid-template-rows: 80px 50px;
  gap: 0px 0px;
  grid-template-areas: "logo upper" "lower lower";
}
#header .header_inner .logo {
  grid-area: logo;
  display: flex;
  align-items: center;
}
#header .header_inner .logo h1 img {
  display: block;
}
#header .header_inner .upper {
  grid-area: upper;
  display: flex;
  justify-content: space-between;
  font-size: 1.4rem;
  align-items: center;
}
#header .header_inner .upper .button_block {
  font-size: 1.2rem;
}
#header .header_inner .upper .button_block ul {
  list-style-type: none;
}
#header .header_inner .upper .button_block ul li a {
  text-decoration: none;
  display: block;
  border: 1px solid #0071bb;
  border-radius: 4px;
  color: #000;
  padding: 2px 10px;
  margin: 4px;
  text-align: center;
  transition: all .3s;
}
#header .header_inner .upper .button_block ul li a:hover {
  color: #fff;
  background: #0071bb;
}
#header .header_inner .lower {
  grid-area: lower;
  transform: translate3d(0px, 0px, 10px);
  z-index: 1;
}
#header .header_inner .lower ul {
  display: flex;
  list-style-type: none;
  line-height: 1.2;
}
#header .header_inner .lower ul li {
  width: 20%;
  height: 50px;
  border-left: 1px solid #0071bb;
  background-color: #bbe4ff;
  position: relative;
  transition: all .3s;
}
#header .header_inner .lower ul li:hover {
  background-color: #0071bb;
}
#header .header_inner .lower ul li:hover a {
  color: #fff;
}
#header .header_inner .lower ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #1b4059;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 600;
  transition: all .3s;
}
#header .header_inner .lower ul li ul {
  display: none;
  /*デフォルトでは非表示の状態にしておく*/
  width: 100%;
  position: absolute;
  top: 50px;
  left: 0;
}
#header .header_inner .lower ul li ul li {
  background-color: #005288;
  height: 50px;
  width: 100%;
  transition: all .3s;
  position: relative;
}
#header .header_inner .lower ul li ul li:hover {
  background-color: #00436f;
}
#header .header_inner .lower ul li ul li a {
  display: flex;
  align-items: center;
  color: #fff;
  text-decoration: none;
  position: relative;
  justify-content: start;
  padding: 0 0 0 5px;
  font-size: 1.4rem;
}
#header .header_inner .lower ul li ul li a span {
  font-size: 1.0rem;
}
#header .header_inner .lower ul li:hover ul {
  display: block;
}
@media (min-width: 768px) {
  #header .header_inner {
    grid-template-areas: "logo upper" "logo lower";
  }
}

.menu {
  display: flex;
  justify-content: flex-end;
}
.menu .btn {
  margin: 5px;
}

.view_flex {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
}
.view_flex .directory_box {
  padding: 5px;
  font-size: 1.4rem;
  border: 1px solid #ddd;
  width: 250px;
  height: calc(100vh - 240px);
  overflow-y: auto;
}
.view_flex .view_box {
  width: calc(100% - 270px);
  font-size: 1.4rem;
}
.view_flex .view_box .path {
  cursor: pointer;
}
.view_flex .view_box .path:hover {
  text-decoration: underline;
}
.view_flex .view_box table {
  width: 100%;
  border-collapse: collapse;
}
.view_flex .view_box table thead th {
  background: #888;
  color: #fff;
  border: 1px solid #fff;
  padding: 5px;
}
.view_flex .view_box table tbody td {
  border: 1px solid #888;
  padding: 5px;
}
.view_flex .view_box table tbody td form {
  display: inline-block;
}

.dir_path {
  margin-bottom: 20px;
  font-size: 1.6rem;
}
.dir_path ul {
  list-style-type: none;
  display: flex;
}
.dir_path ul li.path {
  text-decoration: underline;
  color: #0071bb;
  cursor: pointer;
}
.dir_path ul li.path::after {
  content: " > ";
  display: inline-block;
  margin: 0 10px;
  text-align: center;
}

.search {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  width: calc(100% - 20px);
  margin-bottom: 30px;
  font-size: 1.6rem;
}
.search table {
  width: 100%;
  border-collapse: collapse;
}
.search table th {
  width: 25%;
  background: #888;
  color: #fff;
  border: 1px solid #fff;
  padding: 5px;
}
.search table td {
  border: 1px solid #888;
  padding: 5px;
}

.modal_search {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  width: calc(100% - 20px);
  margin-bottom: 30px;
  font-size: 1.6rem;
}
.modal_search table {
  width: 100%;
  border-collapse: collapse;
}
.modal_search table th {
  background: #888;
  color: #fff;
  border: 1px solid #fff;
  padding: 5px;
}
.modal_search table td {
  border: 1px solid #888;
  padding: 5px;
}

.list {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  width: calc(100% - 20px);
  font-size: 1.6rem;
}
.list table {
  width: 100%;
  border-collapse: collapse;
}
.list table thead th {
  background: #888;
  color: #fff;
  border: 1px solid #fff;
  padding: 5px;
}
.list table tbody th {
  background: #888;
  color: #fff;
  border: 1px solid #fff;
  padding: 5px;
}
.list table tbody td {
  border: 1px solid #888;
  padding: 5px;
}

.edit {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  width: calc(100% - 20px);
  font-size: 1.4rem;
}
.edit table {
  width: 100%;
  border-collapse: collapse;
}
.edit table thead th {
  background: #888;
  color: #fff;
  border: 1px solid #aaa;
  font-weight: normal;
  padding: 5px;
}
.edit table tbody th {
  background: #888;
  color: #fff;
  border: 1px solid #aaa;
  font-weight: normal;
  text-align: left;
  padding: 5px;
  position: relative;
}
.edit table tbody th.required {
  padding-right: 3em;
}
.edit table tbody th.required::after {
  position: absolute;
  right: 5px;
  padding: 0  5px;
  margin: auto;
  color: #fff;
  background: #f00;
  border-radius: 4px;
  content: "必須";
  top: 0;
  bottom: 0;
  height: 1.5em;
  line-height: 1.5em;
}
.edit table tbody td {
  border: 1px solid #aaa;
  padding: 5px;
  background: #fafafa;
}
.edit table.userlist tbody .blue td {
  background: #b0dfff;
}
.edit table.userlist tbody td {
  width: auto;
  border: 1px solid #aaa;
  padding: 5px;
  background: #fafafa;
}
.edit table.table_file tbody td {
  width: auto;
}
.edit table.red_table tbody th {
  width: 15%;
  border: 1px solid #fff;
  background: #e50044;
  color: #fff;
}
.edit table.red_table tbody td {
  width: auto;
  border: 1px solid #f00;
  padding: 5px;
  background: rgba(229, 0, 68, 0.05);
}
.edit .flex_list {
  display: flex;
  list-style-type: none;
}
.edit .flex_list li {
  min-width: 10em;
}
.edit .flex_list li label {
  display: block;
}
.edit.organization tbody td {
  width: 75%;
}
.edit.trial_data tbody td {
  width: 75%;
}
.edit.trial_data tbody td.sizeauto {
  width: auto;
}
.edit.format tbody th {
  text-align: center;
}

.file {
  display: inline-block;
  overflow: hidden;
  position: relative;
  padding: .5em;
  background: #d0f2ff;
  border: 2px solid #c0eeff;
  clear: both;
  font-size: 1.5em;
  border-radius: 8px;
  margin: 0 10px 0 0;
  float: left;
}
.file input[type="file"] {
  opacity: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
  position: absolute;
  right: 0;
  top: 0;
  margin: 0;
  width: 100%;
  height: 30px;
  cursor: pointer;
}

.flex_btn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.flex_btn p {
  margin: 5px;
}

.btn {
  text-decoration: none;
  display: inline-block;
  border: 1px solid #0071bb;
  background: #0071bb;
  border-radius: 4px;
  color: #fff;
  padding: 2px 10px;
  margin: 4px auto;
  text-align: center;
  font-size: 1.6rem;
  transition: all .3s;
  line-height: 1.5;
}
.btn.disabled {
  background: #fafafa;
  color: #ccc;
  border: 1px solid #ccc;
}
.btn:disabled {
  background: #fafafa;
  color: #ccc;
  border: 1px solid #ccc;
}
.btn.red {
  border: 1px solid #e50044;
  background: #e50044;
}
.btn.red:disabled {
  background: #fafafa;
  color: #ccc;
  border: 1px solid #ccc;
}
.btn.green {
  border: 1px solid forestgreen;
  background: forestgreen;
}
.btn.green:disabled {
  background: #fafafa;
  color: #ccc;
  border: 1px solid #ccc;
}

.c {
  text-align: center;
}
.c button, .c a {
  margin: 5px;
}

.r {
  text-align: right;
}
.r button, .r a {
  margin: 5px;
}

.stepBar {
  display: flex;
  max-width: 100%;
  position: relative;
  margin: 20px auto;
  text-align: center;
  padding: 0;
}
.stepBar li {
  font-size: 12px;
  list-style: none;
  position: relative;
  width: 33.333%;
}
.stepBar li:after {
  background: #D0E1F9;
  content: "";
  width: calc(100% - 24px);
  height: 4px;
  position: absolute;
  left: calc(-50% + 12px);
  top: 10px;
}
.stepBar li:first-child:after {
  display: none;
}
.stepBar li span {
  background: #D0E1F9;
  color: #ffffff;
  display: inline-block;
  height: 24px;
  margin-bottom: 5px;
  line-height: 24px;
  width: 24px;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
.stepBar .visited span {
  background: #4D648D;
}
.stepBar .visited::after {
  background: #4D648D;
}

.jstree.jstree-default .jstree-anchor {
  height: auto;
}
.jstree.jstree-default .d_name {
  color: #999;
  font-size: 1.2rem;
  display: block;
}

tr.over td {
  border-bottom: 1px solid #fff !important;
  background: #eec4ff !important;
}

#footer {
  background: #0071bb;
  background: linear-gradient(180deg, rgba(0, 113, 187, 0.7) 0%, #005288 100%);
}

.color_1 td {
  background: #def !important;
}

.handle {
  font-size: 2em;
  cursor: move;
  text-align: center;
}

.handle span {
  background: rgba(0, 0, 0, 0) url("/img/narabikae.png") no-repeat scroll center center/20px auto;
  cursor: move;
  display: block;
  height: 20px;
  margin: 0 auto;
  text-indent: -9999px;
  width: 30px;
}

.handle:before {
  font-family: 'LigatureSymbols';
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

.handle:before {
  content: attr(title);
  font-size: 130%;
}
