@charset "UTF-8";
:root {
  --content_max_width:1200px;
  --content_width:890px;
  --content_header_m_t:50px;
  --content_m_b:150px;
  --main_color:#008200;
  --main_color_clam:#5aa15a;
  --main_color_font:#fff;
  --sub_color:#d3426d;
  --sub_color_font:#fff;
}

html {
  overflow-x: hidden;
  overflow-wrap: break-word;
  background: #eee;
  font-family: 'Tahoma';
  scroll-behavior: smooth;
}

p {
  /*white-space: pre-wrap;*/
  overflow-wrap: break-word;
  line-height: 1.6em;
}

h1, h2, h3, h4 {
  font-family: 'Tahoma';
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

a {
  cursor: pointer;
}

header {
  position: fixed;
  z-index: 10;
  width: 100%;
  /*padding:30px 0;*/
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
  -webkit-transition: background 0.3s,color 0.3s,padding 0.3s;
  transition: background 0.3s,color 0.3s,padding 0.3s;
  background: rgba(255, 255, 255, 0.8);
  background: #fff;
}

body {
  position: relative;
  /*font-family: 'Noto Sans JP', sans-serif;*/
  font-family: 'Tahoma';
  letter-spacing: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  min-height: 100vh;
  color: #666;
}

footer {
  padding: 10px 0;
  background: #ddd;
  color: #666;
  text-align: center;
}

#content_outer {
  width: 100%;
}

#side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#side #content_outer {
  padding-left: 320px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#side .side_menu {
  position: fixed;
  display: block;
  width: 300px;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #f5f5f5;
  margin: 0 20px 10px 0;
}

#side .side_menu h2 {
  margin-bottom: 10px;
}

#side .side_menu dt {
  font-size: 14px;
  color: #000;
  font-weight: bold;
  margin-bottom: 5px;
}

#side .side_menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: -10px;
}

#side .side_menu ul li {
  display: block;
  width: 48%;
  margin-bottom: 5px;
}

#side .side_menu ul li a {
  border: 1px solid #ccc;
  border-radius: 5px;
  display: block;
  width: 100%;
  color: var(--main_color);
  font-weight: bold;
  text-align: center;
  font-size: 12px;
  padding: 5px;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background .2s;
  transition: background .2s;
}

#side .side_menu ul li a:hover {
  background-color: #fff;
}

#side .side_menu ul li a figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: auto;
  max-width: 100%;
  min-width: 50px;
  min-height: 50px;
  max-height: 100%;
  padding: 0 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 10px;
}

#side .side_menu ul li a figure img {
  width: 32px;
  height: 32px;
  background: #fff;
  padding: 5px;
}

main {
  width: auto;
  min-width: 850px;
  max-width: 98%;
  margin: var(--content_header_m_t) auto 10px;
  background: #fff;
  padding: 20px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: calc(100vh - 96px);
}

/*input text*/
input {
  border: 1px solid #666;
  padding: 5px;
}

input[type='file'] {
  border: none;
  padding: 0;
}

textarea {
  width: 100%;
  border: 1px solid #666;
  padding: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* チェックボックス*/
.input_check {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}

.input_check:before {
  background: #fff;
  border: 1px solid #231815;
  content: '';
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

.input_check:after {
  border-right: 3px solid #ed7a9c;
  border-bottom: 3px solid #ed7a9c;
  content: '';
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 5px;
}

input[type=checkbox] {
  display: none;
}

input[type=checkbox]:checked + .input_check::after {
  opacity: 1;
}

input[type=checkbox]:disabled + .input_check {
  color: #999;
}

input[type=checkbox]:disabled + .input_check:before {
  border: 1px solid #ccc;
}

/*チェックボックス　end*/
/*セレクト*/
select::-ms-expand {
  display: none;
}

select {
  display: block;
  width: 100%;
  min-width: 200px;
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 5px 25px 5px 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 16px;
  line-height: 1em;
  border: 1px solid #666;
  background-color: #fff0;
  z-index: 2;
}

.select_content {
  position: relative;
  display: inline-block;
  width: auto;
  max-width: 100%;
  background: #fff;
}

.select_content::after {
  content: '▼';
  font-size: 14px;
  font-weight: bold;
  color: #999;
  position: absolute;
  right: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/*セレクト　end*/
.center {
  text-align: center !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
}

.move_link {
  position: relative;
  display: inline-block;
  padding: 10px 10px 15px 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: var(--main_color);
  margin-bottom: 20px;
  border-radius: 5px;
  -webkit-transition: .2s;
  transition: .2s;
}

.move_link::before {
  position: absolute;
  left: 25px;
  bottom: 10px;
  content: '';
  width: 80px;
  border-bottom: 2px solid var(--main_color);
  -webkit-transition: .4s;
  transition: .4s;
}

.move_link::after {
  position: absolute;
  left: 15px;
  bottom: 14px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  content: '';
  width: 20px;
  height: 20px;
  border-bottom: 2px solid var(--main_color);
  -webkit-transition: .4s;
  transition: .4s;
}

.move_link:hover {
  background-color: var(--main_color_clam);
  color: var(--main_color_font);
}

.move_link:hover::before {
  left: 10px;
  border-bottom: 2px solid var(--main_color_font);
}

.move_link:hover::after {
  position: absolute;
  left: 0px;
  border-bottom: 2px solid var(--main_color_font);
}

input[type="radio"] {
  display: none;
}

input[type="radio"] + label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  padding: 5px;
  position: relative;
  width: auto;
}

input[type="radio"] + label:before {
  content: '';
  width: 1em;
  height: 1em;
  background: #fff;
  border-radius: 100%;
  border: 1px solid #bfbfbf;
  display: inline-block;
  cursor: pointer;
  margin-right: 5px;
}

input[type="radio"]:checked + label:before {
  background-color: #ed7a9c;
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
}

input[type="radio"]:focus + label:before {
  outline: none;
  border-color: #ed7a9c;
}

input[type="radio"]:disabled + label:before {
  -webkit-box-shadow: inset 0 0 0 4px #fff;
          box-shadow: inset 0 0 0 4px #fff;
  border-color: #bfbfbf;
  background: #bfbfbf;
}

input[type="radio"] + label:empty:before {
  margin-right: 0;
}

.flex {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.flex div {
  width: 100%;
}

.text_area {
  margin-bottom: 20px;
}

.text_area pre {
  font-size: 16px;
  line-height: 1.3em;
  padding: 10px;
  white-space: pre-wrap;
  background-color: #fff;
  white-space: pre-line;
}

/*欲張りセット用*/
.anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

.source_code {
  background: #000;
  padding: 10px;
}

.source_code code {
  display: block;
  line-height: 1.2em;
  color: #fff;
  text-align: left;
}

/*header*/
.header_nav_bg {
  background: rgba(255, 255, 255, 0.95);
  color: #666;
  -webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}

.header_nav_bg .h1_outer {
  padding: 10px 0 10px 10px !important;
}

.header_nav_bg .header_nav .gNav-menu li a {
  padding: 15px 10px;
}

.header_inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header_inner .h1_outer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--main_color);
  padding: 10px 0 10px 10px;
  -webkit-transition: background 0.3s,color 0.3s,padding 0.3s;
  transition: background 0.3s,color 0.3s,padding 0.3s;
}

.header_inner .h1_outer h1 a {
  font-size: 20px;
  display: inline-block;
  font-weight: bold;
  color: var(--main_color_font);
}

.header_inner .h1_outer h1 a img {
  width: auto;
  max-width: 200px;
  height: auto;
  max-height: 25px;
}

.header_inner .header_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 800px;
  height: 100%;
}

.header_inner .header_nav ul li {
  width: 100%;
}

.header_inner .header_nav ul li a {
  position: relative;
  z-index: 2;
  background-color: #fff;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #486177;
  text-align: center;
  padding: 30px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.header_inner .header_nav ul li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--main_color);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.header_inner .header_nav ul li a:hover {
  color: #fff;
}

.header_inner .header_nav ul li a:hover:after {
  bottom: 0;
}

/*ハンバーガーメニュー*/
.btn-gNav {
  display: none;
}

#hamburger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#hamburger .btn-gNav {
  display: block;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 29px;
  height: 24px;
  z-index: 3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

#hamburger .btn-gNav:before {
  content: "";
  display: block;
  position: absolute;
  top: -8px;
  left: -6px;
  width: 40px;
  height: 40px;
}

#hamburger .btn-gNav span {
  z-index: 20;
  position: absolute;
  width: 100%;
  height: 4px;
  background: #fff;
  border-radius: 10px;
  -webkit-transition: all 400ms;
  transition: all 400ms;
}

#hamburger .btn-gNav span:nth-child(1) {
  top: 0;
}

#hamburger .btn-gNav span:nth-child(2) {
  top: 10px;
}

#hamburger .btn-gNav span:nth-child(3) {
  top: 20px;
}

#hamburger .btn-gNav.open span:nth-child(1) {
  /*background: #fff;*/
  top: 10px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#hamburger .btn-gNav.open span:nth-child(2), #hamburger .btn-gNav.open span:nth-child(3) {
  top: 10px;
  /*background: #fff;*/
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#gNav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 50%;
  height: 100%;
  overflow-y: auto;
  background: #444;
  font-size: 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  z-index: 2;
  padding-top: 50px;
  -webkit-transition: .3s;
  transition: .3s;
}

#gNav .gNav-menu {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}

#gNav .gNav-menu li {
  display: block;
  width: 100%;
  border-left: none;
  border-bottom: 1px solid #ccc;
}

#gNav .gNav-menu li:last-child {
  border-bottom: none;
}

#gNav .gNav-menu li a {
  color: #ddd;
  text-align: left;
  text-decoration: none;
  width: 100%;
  background: #444;
  display: block;
  padding: 20px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#gNav.open {
  right: 0px;
}

/*header end*/
/*汎用*/
.link_btn {
  display: block;
  width: 200px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: var(--main_color_clam);
  border: 3px solid var(--main_color_clam) !important;
  border-radius: 5px;
  color: var(--main_color_font);
  margin: 0 auto;
}

.link_btn:hover {
  color: var(--main_color_clam) !important;
  background: #fff !important;
}

.small_link_btn {
  display: block;
  width: 150px;
  text-align: center;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: var(--main_color_clam);
  border: 3px solid var(--main_color_clam) !important;
  border-radius: 5px;
  font-size: 16px;
  color: var(--main_color_font);
  margin: 0 auto;
}

.small_link_btn:hover {
  color: var(--main_color_clam);
  background: #fff;
}

.back_btn {
  display: inline-block;
  position: relative;
  width: auto;
  padding: 12px 10px 10px 30px;
  border: var(--sub_color);
  color: var(--sub_color);
  line-height: 1em;
  border: 2px solid var(--sub_color);
  border-radius: 10px;
  margin-bottom: 20px;
}

.back_btn::before {
  position: absolute;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 10px 5px 0;
  border-color: transparent var(--sub_color) transparent transparent;
}

.back_btn:hover {
  background: var(--sub_color);
  color: var(--sub_color_font);
}

.back_btn:hover::before {
  border-color: transparent var(--sub_color_font) transparent transparent;
}

.info_list {
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  margin-bottom: 20px;
}

.info_list h3 {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 20px;
}

.info_list ul {
  margin-bottom: 30px;
}

.info_list ul li {
  border-bottom: 1px solid #ddd;
}

.info_list ul li a {
  display: block;
  color: #666;
  padding: 10px;
}

.info_list ul li a:hover {
  background: #eee;
}

.info_list ul li a time {
  text-align: right;
  font-size: 13px;
  color: #bbb;
  display: block;
}

.general {
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
}

.general .general_title {
  border-bottom: 1px solid #ddd;
  padding-bottom: 20px;
  margin-bottom: 40px;
}

.general .general_title h2 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px;
}

.general .general_title time {
  font-size: 14px;
  color: #ccc;
}

.general .general_inner {
  padding: 0 20px;
  margin-bottom: 30px;
}

.general h3 {
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 20px;
}

.general p {
  margin-bottom: 20px;
}

.general ul {
  margin-bottom: 20px;
}

.general ul li {
  position: relative;
  padding: 5px 0 5px 20px;
  line-height: 1.4em;
}

.general ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background: var(--sub_color);
}

.general dl {
  margin-top: 40px;
  margin-bottom: 20px;
}

.general dl:first-child {
  margin-top: 0;
}

.general dl dt {
  font-size: 16px;
  font-weight: bold;
  font-family: 'Tahoma';
  margin-bottom: 20px;
}

.general dl dd p {
  margin-bottom: 20px !important;
}

.general strong {
  font-size: 20px;
  color: red;
  font-weight: bold;
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}

.pagination li {
  margin-right: 10px;
}

.pagination li:last-of-type {
  margin-right: 0;
}

.pagination li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
}

.pagination .now {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #fff;
  background: var(--main_color);
  color: var(--main_color_font);
  border: none;
}

.title {
  position: relative;
  font-size: 22px;
  font-weight: bold;
  padding: 0px 10px 10px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 1px solid #666;
  margin-bottom: 20px;
}

.title::before {
  content: '';
  position: absolute;
  left: 10px;
  top: -5px;
  width: 10px;
  height: 30px;
  background: var(--main_color);
}

/*汎用 end*/
#login {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: auto;
  background: #fff;
}

#login article {
  margin: 0 auto;
}

#login .logo {
  padding-top: 20px;
}

#login .logo figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto 30px;
}

#login .logo figure img {
  max-width: 100%;
  max-height: 100%;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

#login .alert {
  width: 90%;
  display: block;
  padding: 20px 10px;
  background: red;
  color: #fff;
  font-weight: bold;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 20px;
}

#login .form {
  width: 500px;
  margin: 0 auto;
}

#login .form dt {
  font-weight: bold;
  width: 80%;
  margin: 0 auto 5px;
}

#login .form input[type="text"], #login .form input[type="password"] {
  display: block;
  width: 80%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  margin: 0 auto 20px;
}

#login .form input[type="button"] {
  border: none;
}

#login .form input[type="button"]:hover {
  border: 1px solid var(--main_color_clam);
}

#main_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#main_menu dl {
  width: 100%;
  background: #f7f7f7;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-right: 30px;
}

#main_menu dl:last-child {
  margin-right: 0;
}

#main_menu dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}

#main_menu dl dt span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: var(--sub_color);
  width: 52px;
  height: 52px;
  border-radius: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-right: 10px;
}

#main_menu dl dt span img {
  width: 32px;
  height: 32px;
}

#main_menu dl dd ul {
  /*display: flex;*/
}

#main_menu dl dd ul li {
  margin-bottom: 20px;
}

#main_menu dl dd ul li a {
  position: relative;
  width: 100%;
  display: inline-block;
  font-weight: bold;
  color: #444;
  background: #fff;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all .1s;
  transition: all .1s;
}

#main_menu dl dd ul li a:hover {
  background: var(--main_color_clam);
  color: var(--main_color_font);
}

#main_menu dl dd ul li a:hover::after {
  border-color: transparent transparent transparent #fff;
}

#main_menu dl dd ul li a::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 10px;
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7.5px 0 7.5px 13.0px;
  border-color: transparent transparent transparent var(--main_color);
}

#main_menu dl dd ul li p {
  padding: 0 10px;
  letter-spacing: 0.1em;
  line-height: 1.2em;
  margin-top: 10px;
}

/*全体*/
.search_content {
  padding: 0;
  text-align: right;
}

.search_content .open_btn {
  display: inline-block;
  position: relative;
  padding: 15px 15px 15px 55px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
  border: 2px solid #f5f5f5;
  background: #fff;
  border-radius: 5px;
  cursor: pointer;
  -webkit-transition: .3s;
  transition: .3s;
}

.search_content .open_btn:before {
  position: absolute;
  top: 8px;
  left: 15px;
  display: inline-block;
  content: '';
  width: 32px;
  height: 32px;
  background: url(../images/search.png);
  background-size: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.search_content .open_btn:hover {
  background: #f5f5f5;
}

.search_content .source_btn {
  margin-top: 50px;
}

.search_content .source_btn:before {
  position: absolute;
  top: 8px;
  left: 15px;
  display: inline-block;
  content: '';
  width: 32px;
  height: 32px;
  background: url(../images/source_icon.png);
  background-size: 100%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.search_content .hidden_show {
  height: 0;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  /*検索内容*/
}

.search_content .d_none {
  display: none;
}

.search_content .d_none:checked ~ .open_btn {
  border-radius: 5px 5px 0 0;
  background: #f5f5f5;
}

.search_content .d_none:checked ~ .open_btn:before {
  -webkit-transform: rotateZ(90deg);
          transform: rotateZ(90deg);
  color: #668ad8;
}

.search_content .d_none:checked ~ .source_btn {
  border-radius: 5px 5px 0 0;
  background: var(--main_color);
  color: #fff;
}

.search_content .d_none:checked ~ .source_btn:before {
  -webkit-transform: rotateZ(360deg);
          transform: rotateZ(360deg);
  color: #668ad8;
}

.search_content .d_none:checked ~ .hidden_show {
  height: auto;
  opacity: 1;
}

.form_content {
  width: 100%;
  background: #f5f5f5;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 30px;
}

.form_content form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto;
}

.form_content form p {
  width: 100%;
  text-align: center;
  font-weight: bold;
  display: block;
  margin-bottom: 20px;
}

.form_content form dl {
  width: 48%;
  min-width: 350px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 20px 0;
}

.form_content form dl dt {
  width: 150px;
  background: var(--main_color);
  color: var(--main_color_font);
  font-weight: bold;
  line-height: 1em;
  text-align: center;
  padding: 5px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-right: 10px;
}

.form_content form dl dd {
  width: calc(100% - 160px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
}

.form_content form dl dd p {
  text-align: left;
  font-weight: normal;
}

.form_content form dl dd input[type="text"], .form_content form dl dd textarea {
  width: 100%;
  height: auto;
}

.form_content form dl dd label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 20px;
}

.form_content form dl dd label:last-child {
  margin-right: 0;
}

.btn_area {
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
}

.btn_area:last {
  margin-bottom: 0;
}

.btn_area input[type="submit"] {
  display: inline-block;
  padding: 10px 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: var(--main_color);
  color: var(--main_color_font);
  border: 2px solid var(--main_color);
  font-weight: bold;
  margin: 0 auto;
  -webkit-transition: .1s;
  transition: .1s;
}

.btn_area input[type="submit"]:hover {
  background-color: #fff;
  color: var(--main_color);
}

.list_content {
  width: 100%;
  text-align: center;
}

.list_content h3 {
  padding: 20px 20px 10px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  text-align: left;
}

.list_content .list_inner {
  display: inline-block;
  /*background: #f5f5f5;*/
  width: auto;
  max-width: 100%;
  padding: 20px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  /*セルタイトルと新規登録*/
  /*セルサイズ管理用*/
}

.list_content .list_inner .title_new-edit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.list_content .list_inner .title_new-edit a {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px 20px 20px 50px;
  background: var(--main_color);
  color: var(--main_color_font);
  font-weight: bold;
  margin-right: 1px;
  border-radius: 5px 5px 0 0;
  border-bottom: 1px solid #fff;
}

.list_content .list_inner .title_new-edit a::before {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  content: "+";
  background: var(--main_color_font);
  color: var(--main_color);
  font-weight: bold;
  line-height: 1em;
  letter-spacing: 0;
}

.list_content .list_inner .grid_wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  height: auto;
  max-height: 70vh;
  min-height: 70vh;
  overflow-x: auto;
  /*box-shadow: 0px 0px 10px #b4b4b4;*/
  background: #ddd;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 40px;
}

.list_content .list_inner .grid_wrap:last-of-type {
  margin-bottom: 0;
}

.list_content .list_inner .grid_wrap .list {
  margin-bottom: 0px !important;
  position: absolute;
  top: 50px;
}

.list_content .list_inner .grid_wrap .list:last-of-type {
  margin-bottom: 30px;
}

.list_content .list_inner .grid_wrap .list .new_make {
  background: #fafbda !important;
}

.list_content .list_inner .grid_wrap .list .list_li {
  background: #fff;
  border-bottom: 1px solid #ccc;
}

.list_content .list_inner .grid_wrap .list .list_li:nth-child(2n) {
  background: #f7f7f7;
}

.list_content .list_inner .grid_wrap .list .list_li:nth-child(2) .list_order {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.list_content .list_inner .grid_wrap .list .list_li:last-of-type {
  border-bottom: 0;
}

.list_content .list_inner .grid_wrap .list .list_li:last-of-type .list_order {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.list_content .list_inner .grid_wrap .list .list_li, .list_content .list_inner .grid_wrap .list form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*順番変更矢印*/
  /**/
}

.list_content .list_inner .grid_wrap .list .list_li:first-child div, .list_content .list_inner .grid_wrap .list form:first-child div {
  border-top: none;
}

.list_content .list_inner .grid_wrap .list .list_li .list_order, .list_content .list_inner .grid_wrap .list form .list_order {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.list_content .list_inner .grid_wrap .list .list_li .list_order a, .list_content .list_inner .grid_wrap .list form .list_order a {
  height: auto !important;
  padding: 0px 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #444;
  text-align: center;
  letter-spacing: 0em;
  line-height: 1em;
  background: #eee;
  border: 1px solid #eee;
  border-radius: 0;
  box-sizing: border-box;
}

.list_content .list_inner .grid_wrap .list .list_li .list_order a:hover, .list_content .list_inner .grid_wrap .list form .list_order a:hover {
  background: #fff;
  color: var(--main_color);
}

.list_content .list_inner .grid_wrap .list .list_li div, .list_content .list_inner .grid_wrap .list form div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: left;
  border-left: 1px solid #eee;
  padding: 10px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-wrap: break-word;
  /*&:last-of-type {
                                border-right: 1px solid #ddd;
                            }*/
}

.list_content .list_inner .grid_wrap .list .list_li div .cell_inner, .list_content .list_inner .grid_wrap .list form div .cell_inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.list_content .list_inner .grid_wrap .list .list_li div input, .list_content .list_inner .grid_wrap .list form div input {
  width: 100%;
  height: 32px;
  padding: 5px 7px;
  line-height: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 16px;
}

.list_content .list_inner .grid_wrap .list .list_li div textarea, .list_content .list_inner .grid_wrap .list form div textarea {
  width: 100%;
  height: 32px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.list_content .list_inner .grid_wrap .list .list_li div a, .list_content .list_inner .grid_wrap .list .list_li div input[type="button"], .list_content .list_inner .grid_wrap .list .list_li div input[type="submit"], .list_content .list_inner .grid_wrap .list .list_li div button, .list_content .list_inner .grid_wrap .list form div a, .list_content .list_inner .grid_wrap .list form div input[type="button"], .list_content .list_inner .grid_wrap .list form div input[type="submit"], .list_content .list_inner .grid_wrap .list form div button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: auto;
  height: 32px;
  padding: 0px 15px;
  font-size: 14px;
  line-height: 1em;
  color: var(--main_color_font);
  background: var(--main_color_clam);
  border-radius: 5px;
  border: none;
  margin: 0 auto;
  white-space: nowrap;
}

.list_content .list_inner .grid_wrap .list .list_li div p, .list_content .list_inner .grid_wrap .list form div p {
  display: block;
  width: 100%;
  font-size: 16px;
  text-align: left;
  line-height: 1.2em;
  margin-bottom: 10px;
}

.list_content .list_inner .grid_wrap .list .list_li div .list_in_list, .list_content .list_inner .grid_wrap .list form div .list_in_list {
  display: block;
  width: 100%;
}

.list_content .list_inner .grid_wrap .list .list_li div .list_in_list li, .list_content .list_inner .grid_wrap .list form div .list_in_list li {
  position: relative;
  line-height: 1em;
  margin-bottom: 10px;
  padding-left: 15px;
}

.list_content .list_inner .grid_wrap .list .list_li div .list_in_list li::before, .list_content .list_inner .grid_wrap .list form div .list_in_list li::before {
  position: absolute;
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 10px;
  background: var(--sub_color);
  content: '';
  left: 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.list_content .list_inner .grid_wrap .list .list_li .cell_wrap, .list_content .list_inner .grid_wrap .list form .cell_wrap {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important;
  padding: 0 !important;
  position: relative;
  border: none !important;
}

.list_content .list_inner .grid_wrap .list .list_li .cell_wrap::before, .list_content .list_inner .grid_wrap .list form .cell_wrap::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  height: 100%;
  border-left: 1px solid #eee;
}

.list_content .list_inner .grid_wrap .list .list_li .cell_wrap div, .list_content .list_inner .grid_wrap .list form .cell_wrap div {
  height: 100%;
  border: none !important;
}

.list_content .list_inner .grid_wrap .list_head {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  height: 50px;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.list_content .list_inner .grid_wrap .list_head div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  border-left: 1px solid #eee;
  background: #ddd;
  color: #666;
  font-weight: bold;
  text-align: center;
  padding: 0 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: 3px solid #ccc;
}

.list_content .list_inner .grid_wrap .list_head div:first-child {
  border-left: none;
}

.list_content .list_inner .grid_wrap .list_head div p {
  display: block;
  width: 100%;
  overflow-wrap: break-word;
  text-align: left;
  line-height: 1.1em;
}

.list_content .list_inner .size_cell_25 {
  width: 25px;
  padding: 10px 0;
}

.list_content .list_inner .size_cell_50 {
  width: 50px;
}

.list_content .list_inner .size_cell_75 {
  width: 75px;
}

.list_content .list_inner .size_cell_100 {
  width: 100px;
}

.list_content .list_inner .size_cell_125 {
  width: 125px;
}

.list_content .list_inner .size_cell_150 {
  width: 150px;
}

.list_content .list_inner .size_cell_175 {
  width: 175px;
}

.list_content .list_inner .size_cell_200 {
  width: 200px;
}

.list_content .list_inner .size_cell_225 {
  width: 225px;
}

.list_content .list_inner .size_cell_250 {
  width: 250px;
}

.list_content .list_inner .size_cell_275 {
  width: 275px;
}

.list_content .list_inner .size_cell_300 {
  width: 300px;
}

.list_content .list_inner .size_cell_325 {
  width: 325px;
}

.list_content .list_inner .size_cell_350 {
  width: 350px;
}

.list_content .list_inner .size_cell_375 {
  width: 375px;
}

.list_content .list_inner .size_cell_400 {
  width: 400px;
}

.list_content .list_inner .size_cell_425 {
  width: 425px;
}

.list_content .list_inner .size_cell_450 {
  width: 450px;
}

.list_content .list_inner .size_cell_475 {
  width: 475px;
}

.list_content .list_inner .size_cell_500 {
  width: 500px;
}

.list_content .list_inner .size_cell_525 {
  width: 525px;
}

.list_content .list_inner .size_cell_550 {
  width: 550px;
}

.list_content .list_inner .size_cell_575 {
  width: 575px;
}

.list_content .list_inner .size_cell_600 {
  width: 600px;
}

.list_content .list_inner .size_cell_625 {
  width: 625px;
}

.list_content .list_inner .size_cell_650 {
  width: 650px;
}

.list_content .list_inner .size_cell_675 {
  width: 675px;
}

.list_content .list_inner .size_cell_700 {
  width: 700px;
}

.list_content .list_inner .size_cell_725 {
  width: 725px;
}

.list_content .list_inner .size_cell_750 {
  width: 750px;
}

.list_content .list_inner .size_cell_775 {
  width: 775px;
}

.list_content .list_inner .size_cell_800 {
  width: 800px;
}

.list_content .list_inner .size_cell_825 {
  width: 825px;
}

.list_content .list_inner .size_cell_850 {
  width: 850px;
}

.list_content .list_inner .size_cell_875 {
  width: 875px;
}

.list_content .list_inner .size_cell_900 {
  width: 900px;
}

.list_content .list_inner .size_cell_925 {
  width: 925px;
}

.list_content .list_inner .size_cell_950 {
  width: 950px;
}

.list_content .list_inner .size_cell_975 {
  width: 975px;
}

.list_content .list_inner .size_cell_1000 {
  width: 1000px;
}

.list_content .list_inner .edit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100px;
}

.list_content .list_inner .edit a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 32px;
}

.list_content .list_inner .edit .link_btn {
  font-weight: normal;
}

.height_fit_list_content .list_inner .grid_wrap {
  display: -ms-grid;
  display: grid;
  height: auto;
  min-height: auto;
  max-height: inherit;
}

.height_fit_list_content .list_inner .grid_wrap .list {
  position: relative;
  top: initial;
}

.pagenation ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 500px;
  max-width: 100%;
  margin: 20px auto 30px;
}

.pagenation ul li {
  margin-right: 5px;
}

.pagenation ul li:last-of-type {
  margin-right: 0;
}

.pagenation ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 30px;
  height: 20px;
  border: 1px solid #ccc;
  color: var(--main_color);
  letter-spacing: 0em;
  line-height: 1em;
}

.pagenation ul li a:hover {
  border: 1px solid var(--main_color);
}

.pagenation ul li .now {
  background: var(--main_color);
  color: var(--main_color_font);
  border: 1px solid var(--main_color);
  pointer-events: none;
}

.back_btn_area {
  margin-bottom: 20px;
}

.back_btn_area a {
  position: relative;
  display: inline-block;
  color: var(--main_color);
  font-weight: bold;
  line-height: 1em;
  padding: 10px 20px 10px 35px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-image: linear-gradient(to right, var(--main_color), var(--main_color) 2px, transparent 2px, transparent 8px);
  background-size: 5px 2px;
  background-position: left 3px bottom 3px;
  background-repeat: repeat-x;
  -webkit-transition: .2s;
  transition: .2s;
}

.back_btn_area a::before {
  position: absolute;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 10px 5px 0;
  border-color: transparent var(--main_color) transparent transparent;
  -webkit-transition: .2s;
  transition: .2s;
}

.back_btn_area a:hover {
  background-color: var(--main_color_clam);
  color: #fff;
  background-image: linear-gradient(to right, #fff, #fff 2px, transparent 2px, transparent 8px);
}

.back_btn_area a:hover::before {
  border-color: transparent #fff transparent transparent;
}

.edit_contents_outer {
  width: 100%;
  max-width: 1000px;
  background: #f5f5f5;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto 50px;
}

.edit_contents_outer h3 {
  display: block;
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 2px solid #ccc;
  margin-bottom: 20px;
}

.edit_contents_outer dl {
  width: 100%;
  padding-bottom: 20px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

.edit_contents_outer dl:last-of-type {
  padding-bottom: 0;
  border: none;
}

.edit_contents_outer dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  color: var(--main_color);
  padding: 10px 10px 5px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
  line-height: 1em;
}

.edit_contents_outer dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 5px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.edit_contents_outer dl dd input {
  width: 100%;
  max-width: 500px;
  margin-right: 20px;
}

.edit_contents_outer dl dd input:last-of-type {
  margin-right: 0;
}

.edit_contents_outer dl dd textarea {
  min-height: 100px;
}

.edit_contents_outer .flex {
  border-bottom: 1px solid #ccc;
}

.edit_contents_outer .flex:last-child {
  border: none;
}

.edit_contents_outer .flex dl {
  width: 100%;
  border: none;
}

.edit_contents_outer .flex dl dt {
  width: auto;
}

.edit_contents_outer .flex dl dd {
  width: 100%;
}

.edit_contents_outer .form_outer {
  margin-bottom: 30px;
}

.print_btn_area {
  text-align: center;
  margin-bottom: 20px;
}

.print_btn_area .print_btn {
  position: relative;
  display: inline-block;
  padding: 20px 20px 20px 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px;
  border: none;
  background: #eee;
  -webkit-transition: background .2s;
  transition: background .2s;
}

.print_btn_area .print_btn:hover {
  background-color: #ccc;
}

.print_btn_area .print_btn::before {
  content: '';
  position: absolute;
  display: inline-block;
  left: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/print_icon.png);
  background-size: cover;
  width: 32px;
  height: 32px;
}

.timeline_table_outer {
  width: 100%;
  height: auto;
}

.timeline_table_outer .table_title {
  width: 1600px;
  max-width: 100%;
  margin: 0 auto;
}

.timeline_table_outer .table_title span {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  line-height: 1em;
  padding: 10px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #666;
  color: #fff;
}

.timeline_table_outer .search_area {
  margin-bottom: 20px;
}

.timeline_table_outer .week_select ul {
  width: 100%;
  max-width: 1600px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin: 0 auto;
}

.timeline_table_outer .week_select ul li {
  display: block;
  width: calc(100% / 7);
  text-align: center;
  border-radius: 10px 10px 0 0;
}

.timeline_table_outer .week_select ul li a {
  display: block;
  width: 100%;
  padding: 12px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px 10px 0 0;
  background: #ccc;
  color: #222;
  font-weight: bold;
  -webkit-transition: .2s;
  transition: .2s;
}

.timeline_table_outer .week_select ul li a:hover {
  padding: 25px 0;
  background: var(--main_color_clam);
  color: var(--main_color_font);
}

.timeline_table_outer .week_select ul .active {
  z-index: 2;
}

.timeline_table_outer .week_select ul .active a {
  background: #ea7d7d;
  color: #fff;
  padding: 25px 0;
  cursor: default !important;
}

.timeline_table_outer .week_select ul .active a:hover {
  background: #ea7d7d;
  color: var(--main_color_font);
  pointer-events: none;
}

.timeline_table_outer .week_select ul .sunday a {
  background-color: #e3bfbf;
}

.timeline_table_outer .week_select ul .saturday a {
  background-color: #bfcde3;
}

.timeline_table_outer .timeline_table {
  position: relative;
  overflow-x: auto;
  width: 1800px;
  max-width: 100%;
  margin: 0 auto 20px;
}

.timeline_table_outer .timeline_table table {
  width: 1800px;
  margin: 0 auto;
  table-layout: fixed;
}

.timeline_table_outer .timeline_table table tr {
  border-top: 2px solid #dedede;
}

.timeline_table_outer .timeline_table table tr:first-of-type {
  border-top: 0;
}

.timeline_table_outer .timeline_table table tr:nth-child(2) {
  border-top: 1px solid #ddd;
}

.timeline_table_outer .timeline_table table tr:last-of-type {
  border-bottom: 1px solid #ddd;
}

.timeline_table_outer .timeline_table table tr th {
  vertical-align: middle;
  font-size: 14px;
  border-left: 1px solid #ddd;
  padding: 5px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  z-index: 2;
}

.timeline_table_outer .timeline_table table tr th:last-of-type {
  border-right: 1px solid #ddd;
}

.timeline_table_outer .timeline_table table tr td {
  border-left: 1px solid #e9e9e9;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #f3f3f3;
}

.timeline_table_outer .timeline_table table tr td:last-of-type {
  border-right: 1px solid #dedede;
}

.timeline_table_outer .timeline_table table tr td ul {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}

.timeline_table_outer .timeline_table table tr td ul li {
  padding: 5px 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.timeline_table_outer .timeline_table table .table_head th {
  position: relative;
  background: #aaa;
  color: #fff;
  border-top: 0;
  width: 120px;
  /*&:nth-child(3) {
                        width: 85px;
                    }*/
}

.timeline_table_outer .timeline_table table .table_head th::after {
  content: '時台';
  font-size: 12px;
  color: #ddd;
  position: absolute;
  right: 6%;
  bottom: 20%;
}

.timeline_table_outer .timeline_table table .table_head .cell_info {
  width: auto;
  background: #eee;
  color: #666;
}

.timeline_table_outer .timeline_table table .table_head .cell_info::after {
  content: '';
}

.timeline_table_outer .timeline_table table .table_timeline th {
  height: 40px;
  vertical-align: middle;
  background: #eef3ff;
  border-top: 1px solid #ccc;
}

.timeline_table_outer .timeline_table table .table_timeline th span {
  display: block;
  font-size: 12px;
  color: #bbb;
  margin-bottom: 5px;
}

.timeline_table_outer .timeline_table table .table_timeline td {
  width: calc(120px / 12);
}

.timeline_table_outer .timeline_table table .table_timeline td dl {
  position: relative;
  z-index: 3;
}

.timeline_table_outer .timeline_table table .table_timeline td dl .course_name {
  font-size: 12px;
  padding: 10px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  background-color: var(--main_color_clam);
  color: var(--main_color_font);
}

.timeline_table_outer .timeline_table table .table_timeline td dl .time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 12px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5px 0;
  background: #fff;
  border-bottom: 1px solid #ccc;
}

.timeline_table_outer .timeline_table table .table_timeline td dl .time span {
  display: block;
  min-width: 20px;
  text-align: center;
}

.timeline_table_outer .timeline_table table .table_timeline td dl .student ul li {
  position: relative;
  font-size: 12px;
  letter-spacing: 0em;
  padding: 8px 5px 8px 10px;
}

.timeline_table_outer .timeline_table table .table_timeline td dl .student ul li::before {
  content: '';
  position: absolute;
  left: 3px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3px;
  height: 60%;
  background: var(--main_color);
  line-height: 0;
}

.timeline_table_outer .timeline_table table .table_timeline td dl .teacher {
  padding: 5px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 15px;
  text-align: center;
  background-color: #999;
}

.timeline_table_outer .timeline_table table .table_timeline td dl .teacher span {
  display: inline-block;
  background: #fff;
  padding: 2px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: 0em;
  margin: 0 5px;
  color: #666;
}

.timeline_table_outer .timeline_table .border_overwrap {
  position: absolute;
  top: 0;
  left: 239px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1561px;
  height: 100%;
}

.timeline_table_outer .timeline_table .border_overwrap div {
  border-left: 2px solid #c9c9c9;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 60px;
  height: 100%;
}

.timeline_table_outer .timeline_table .border_overwrap div:nth-child(2n) {
  border-left: 2px solid #dedede;
}

.timeline_table_outer .timeline_table .border_overwrap div:last-of-type {
  border-right: 2px solid #c9c9c9;
}

.page_move_link {
  margin-bottom: 30px;
}

@media screen and (max-width: 900px) {
  main {
    width: 100%;
    min-width: auto;
  }
  #main_menu {
    display: block;
  }
  #main_menu dl {
    margin: 0 0 30px;
  }
  .form_content form {
    display: block;
  }
  .form_content form dl {
    width: 100%;
    min-width: 100%;
    display: block;
  }
  .form_content form dl dt {
    margin-bottom: 20px;
  }
  .form_content form dl dd {
    width: 100%;
  }
  .form_content form dl dd input {
    width: 100%;
  }
  .edit_contents_outer form dl {
    display: block;
  }
  .edit_contents_outer form dl dt {
    width: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .edit_contents_outer form dl dd {
    width: 100%;
  }
  .edit_contents_outer form dl dd input {
    width: 100%;
  }
  .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.anchor .edit_contents_outer {
  margin: 0 auto 200px;
}

.right {
  text-align: right !important;
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important;
}

.delete_btn {
  position: relative;
  display: inline-block !important;
  padding: 10px 10px 10px 35px !important;
  border-radius: 5px;
  background: #a23131 !important;
  color: #fff;
  font-weight: bold;
}

.delete_btn::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/delete.png);
  background-size: cover;
  width: 24px;
  height: 24px;
}

/* 印刷用調整 */
@media print {
  @page {
    size: A4 landscape;
    margin: 0;
  }
  html {
    width: 1850px;
    zoom: 0.8;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    -webkit-print-color-adjust: exact;
  }
  html, body {
    height: auto;
    min-height: auto;
  }
  #header, footer, .search_area, .back_btn_area, .print_btn_area {
    display: none !important;
  }
  main {
    padding: 0;
    margin: 0 auto;
  }
  h2 {
    margin-top: 20px;
  }
}

/*独自デザイン用*/
.student_link {
  position: relative;
  padding: 10px 10px 10px 32px !important;
  margin-bottom: 10px !important;
}

.student_link::before {
  content: '';
  display: block;
  position: absolute;
  left: -8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: var(--main_color_clam);
  width: 40px;
  height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 40px;
}

.student_link::after {
  content: '';
  display: block;
  position: absolute;
  left: 3px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/student_icon.png);
  background-size: 100%;
  width: 16px;
  height: 16px;
}

/*コース詳細用モーダル*/
#dialog-overlay {
  width: 100%;
  height: 100%;
  filter: alpha(opacity=50);
  opacity: 0.5;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3000;
  display: none;
}

#dialog-box {
  background: #eee;
  position: absolute;
  z-index: 5000;
  display: none;
  overflow: auto;
}

#dialog-box .dialog-content {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: #fff;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 700px;
  font-size: 18px;
}

#dialog-box .dialog-content p {
  font-weight: 700;
  margin: 0;
}

#dialog-box table {
  width: 100%;
}

#dialog-message {
  max-height: 80vh;
  overflow-y: auto;
  margin-bottom: 20px;
}

#dialog-message tr {
  border-bottom: 1px solid #ccc;
}

#dialog-message tr td {
  display: block;
  padding: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#dialog-message tr td:hover {
  cursor: pointer;
  color: #fff;
  background: #5aa15a;
}
/*# sourceMappingURL=style.css.map */