@charset "utf-8";

* {
  word-break: break-all;
}

*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*ここからモーダル*/
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 74%;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 45%;
    transform: translate(-50%,-50%);
    width: 50%;
}
.page_list a.js-modal-close {
  display: inline-block;
  width: 80px;
  text-align: center;
  padding: 4px 8px;
  border-radius: 5px;
  background-color: #004098;
  color: #fff;
  font-size: 14px;
  margin-top: 1rem !important;
  float: right;
}
.modal-title {
  margin-bottom: 1rem;
  font-weight: bold;
}
/*モーダルここまで*/

.link_tp_container {
  width: 90%;
  margin: 40px auto 120px;
}

.link_tp_attention h5 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #fcfcfc;
  padding: 0.5em;
  display: inline-block;
  line-height: 1.7;
  background: #f7b2b2;
  vertical-align: middle;
  border-radius: 25px 0px 0px 25px;
}

.link_tp_attention h5:before {
  content: '●';
  color: white;
  margin-right: 8px;
}

.link_tp_attention a.link_tp_pdf, .link_tp_attention a.link_tp_page {
  display: inline-block;
  color: red;
  position: relative;
  padding-left: 21px;
  line-height: 1.6;
  margin-bottom: 20px;
  border-bottom: 1px solid red;
}

.link_tp_attention a.link_tp_pdf:hover, .link_tp_attention a.link_tp_page:hover {
  opacity: .6;
}

.link_tp_attention a.link_tp_pdf::before {
  content: '';
  background-image:url(../img/icon_pdf.jpg);
  background-repeat: no-repeat;
  position: absolute;
  width: 14px;
  height: 21px;
  left: 0px;
  top: 3px;
}

.link_tp_attention a.link_tp_page::before {
  content: '';
  background-image:url(../img/icon_hot.png);
  background-repeat: no-repeat;
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0px;
  top: 4px;
}

.pager_wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.pager_wrap ul li a {
  display: inline-block;
  padding: 6px;
  color: #004098;
  font-size: 14px;
}

.page_activ {
  font-weight: bold;
  color: #004098;
  border: 1px solid #004098;
}

.pager_wrap ul li a.btn_prev, .pager_wrap ul li a.btn_next {
  background-color: #004098;
  color: #fff;
  margin-right: 10px;
  font-size: 14px;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

li {
  list-style: none;
}

ol> li {
  list-style-type: decimal;
}

a {
  text-decoration: none;
  border-radius: none !important;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

a:hover {
  opacity: .6;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.btn_menu p {
  margin-bottom: 0rem !important;
}

.login_content_wrap:hover, .login_content_wrap_dan:hover, .regist_content_wrap:hover, .main_menu ul li a:hover, .user_menu ul li a:hover{
  opacity: .6;
}

.mini_menu ul li a:hover {
  color: #fff;
}

.btn_sg:hover {
  font-weight: bold;
}

html {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  line-height: 1.6;
}

#wrap {
  overflow: hidden;
  background: #fcfcfc;
}

#container {
  max-width: 1366px;
  margin: 0 auto;
  overflow-y: hidden;
  overflow-x: hidden;
}

#header_wrap {
  position: fixed;
  background: #fff;
  width: 26%;
  height: 100vh;
  -webkit-box-shadow: 0 5px 10px -3px rgba(0,0,0,0.5);
          box-shadow: 0 5px 10px -3px rgba(0,0,0,0.5);
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  -ms-overflow-style: none;    /* IE, Edge 対応 */
  scrollbar-width: none;       /* Firefox 対応 */
  z-index: 999;
  max-width: 360px;
}

#header_wrap::-webkit-scrollbar {  /* Chrome, Safari 対応 */
  display:none;
}

.logo_hd {
  display: block;
  padding-top: 44px;
  padding-bottom: 44px;
  margin: auto;
  max-width: 226px;
  width: 80%;
}

.logo_hd a img {
  display: block;
  width: 100%;
}

.btn_menu {
  display: none;
}

.header_second_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 300px;
  margin: auto;
  width: 96%;
}

.login_content_wrap, .regist_content_wrap {
  padding: 11px 13px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid #004098 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.login_content_wrap_dan {
  padding: 11px 13px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid #62ff00 3px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.regist_content_wrap {
  border: solid #E06A3B 3px;
  background-color: #eb6100;
  margin-top: 11px;
}

.login_content_wrap img, .login_content_wrap_dan img, .regist_content_wrap img {
  display: block;
  width: 48px;
  height: 48px;
  margin-right: 10px;
}

.login_text, .regist_text {
  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: left;
  color: #004098;
}

.login_text_dan {
  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: left;
  color: #62ff00;
}


.regist_text {
  color: #fff;
}

.login_text h4, .regist_text h4 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 6px;
  margin-top: 6px;
}

.login_text_dan h4 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 6px;
  margin-top: 6px;
}


.login_text p, .regist_text p {
  font-size: 14px;
}

.login_text_dan p{
  font-size: 14px;
}


.main_menu {
  background-color: #004098;
  margin-top: 1rem;
}

.user_menu, .c_owner_menu {
  border-left: 10px solid #eb6100;
  margin-bottom: -1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.c_owner_menu {
  border-left: 10px solid #215f20;
}

.admin_menu {
  border-left: 10px solid #434343;
  margin-bottom: -1rem;
}

.main_menu ul, .mini_menu ul, .menu_ft, .user_menu ul, .admin_menu ul  {
  width: 90%;
  margin:auto;
}

.user_menu ul, .admin_menu ul {
  width: 100%;
}

.user_menu ul li {
  border-bottom: 1px solid #eb6100;
}

.user_menu ul li:first-child {
  border-top: 1px solid #eb6100;
}

.c_owner_menu ul li:first-child {
  border-top: 1px solid #215f20;
  border-bottom: 1px solid #215f20;
}

.admin_menu ul li:first-child {
  border-top: 1px solid #434343;
  border-bottom: 1px solid #434343;
}

.user_menu ul li:last-child {
  border-bottom: none;
}

.main_menu ul li a, .user_menu ul li a, .c_owner_menu ul li a, .admin_menu ul li a {
  display: block;
  color: #fff;
  padding: 23px 6px;
  font-size: 16px;
  line-height: 1.6;
}

.user_menu ul li a {
  color: #eb6100;
}

.c_owner_menu ul li a {
  color: #215f20;
}

.admin_menu ul li a {
  color: #434343;
}

.user_menu ul li a::before {
  content: "〉";
  color: #eb6100;
  margin-left: 16px;
}

.user_menu ul li a.ico10::before {
  content: url(../img/icon10.png);
  margin-left: 8px;
  margin-right: 8px;
}

.c_owner_menu ul li a.ico11::before {
  content: url(../img/icon11.png);
  margin-left: 8px;
  margin-right: 8px;
}

.admin_menu ul li a.ico12::before {
  content: url(../img/icon12.png);
  margin-left: 8px;
  margin-right: 8px;
}

.mini_menu ul li a {
  display: block;
  color: #004098;
  font-size: 16px;
  padding: 14px 6px;
  line-height: 1.6;
}

.ico03::before {
  content: url(../img/icon03.png);
  margin-right: 10px;
}
.ico04::before {
  content: url(../img/icon04.png);
  margin-right: 10px;
}
.ico05::before {
  content: url(../img/icon05.png);
  margin-right: 10px;
}
.ico06::before {
  content: url(../img/icon06.png);
  margin-right: 10px;
}
.ico07::before {
  content: url(../img/icon07.png);
  margin-right: 10px;
}

.mini_menu {
  background: #CAE7F2;
}

.mini_menu ul li a::before {
  content: url(../img/icon08.png);
  margin-right: 10px;
}

.mini_menu ul li:first-child {
  padding-top: 2rem;
}

.mini_menu ul li:last-child {
  padding-bottom: 2rem;
}

.menu_ft {
  margin-top: 2rem;
  padding-bottom: 2rem;
}

.menu_ft p {
  color: #888888;
  font-size: 10px;
  padding-bottom: 10px;
  letter-spacing: 2px;
}

.menu_ft span {
  font-weight: bold;
  color: #000;
  font-size: 10px;
}

#page {
  width: 74%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  overflow-x: auto;
  float: right;
}

#header_wrap {
  z-index: 2;
}

#kv {
  width: 100%;
  height: auto;
  margin-bottom: 40px;
}

.carousel-item img {
  display: block;
  width: 100%;
  height: 680px;
  object-fit: cover;
}

.carousel {
  position: relative;
  z-index: 0;
}

.kv_txt_wrap {
  position: absolute;
  top: 10%;
  left: 5%;
  z-index: 1;
}

.kv_txt_wrap img {
  max-width: 480px;
  min-width: 320px;
}

.carousel-indicators {
  flex-direction: column;
  position: absolute;
  top: 50px;
  bottom: 50px;
  right: 0;
  margin-left: 95%;
}

.carousel-indicators li {
  width: 5px;
  height: 30px;
}

.carousel-indicators li{
  list-style-type:none;
}

#tablefix {
  max-width: initial;
}

.attendance ,.attendance td,.attendance th, .attendance tbody tr,.attendance thead th {
  border: 1px solid #595959;
  border-collapse: separate;
}
.attendance td, .attendance th {
  padding: 3px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 12px;
}
.attendance.rec td, .attendance.rec th {
  padding: 3px;
  width: 30px;
  line-height: 30px;
  font-size: 12px;
  min-width: 100px;
  text-align: center;
}
.attendance th {
  background: #f0e6cc;
}
tbody tr th.at_name {
  display: block;
  width: 160px !important;
  text-align: left;
  font-size: 12px;
  padding: 4px 4px 4px 16px;
  height: auto;
  background-color: #D1F1CC;
}
select {
  width: 100%;
}
.attendance .even {
  background: #fbf8f0;
}
.attendance .odd {
  background: #fefcf9;
}
.attendance thead th.th_first {
  text-align: right;
  padding-right: 1rem;
}
.memo {
  width: 200px;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.2;
}

.kv_txt01 {
  display: inline-block;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4;
  color: #FFF;
  letter-spacing: 2px;
  margin-bottom: 30px;
}

.kv_p_wrap {
  width: 90%;
  padding: 20px 0;
  background: rgba(255,255,255,.8);
  border-top: 2px solid #004098;
  border-bottom: 2px solid #004098;
  margin: auto;
  margin-bottom: 80px;
}

.gray_txt {
  font-size: 12px;
  color: #999;
}

.search_wrap {
  display: block;
  padding: 20px;
  border: 5px solid #D1F1CC;
  border-radius: 20px;
  margin: 40px 0;
}

.kv_p_wrap h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #232323;
  padding: 0.5em;
  display: inline-block;
  line-height: 1.7;
  background: #dbebf8;
  vertical-align: middle;
  border-radius: 25px 0px 0px 25px;
}

.kv_p_wrap h3:before {
  content: '●';
  color: white;
  margin-right: 8px;
}

.kv_txt03 {
  line-height: 1.7;
  font-size: 16px;
  font-weight: 700;
  margin-top: 8px;
  color: #004098;
  margin-bottom: 10px;
}

@media screen and (max-width:810px) {
.kv_txt01 {
  font-size: 14px;
}
.kv_txt02 {
  font-size: 24px;
}
.kv_txt03 {
  font-size: 16px;
  line-height: 1.6;
}
}

.btn_top_kv {
  display: inline-block;
  width: 280px;
  height: 51px;
  line-height: 51px;
  background-color: #004098;
  color: #fff;
  text-align: center;
  margin-top: 16px;
  margin-bottom: 20px;
}

.btn_top_kv::before {
  content: "〉";
}

section.top_list_container, section.page_container {
  width: 94%;
  max-width: 920px;
  margin: 2rem auto 8rem;
}

section.top_list_container {
  margin: 4rem auto 7rem;
}

.top_list_wrap {
  max-width: 920px;
  height: 87px;
  background-color: #004098;
  margin: auto;
  position: relative;
}

.top_list_title {
  position: absolute;
  padding: 27px;
  display: inline-block;
  background-color: #fff;
  min-width: 248px;
  -webkit-box-shadow: 0 5px 10px -3px rgba(0,0,0,0.5);
          box-shadow: 0 5px 10px -3px rgba(0,0,0,0.5);
  top: -20px;
  left: -10px;
}

/*.top_list_title::before {
  position: absolute;
  content: "";
  background-image: url(../img/deco01.png);
  width: 45px;
  height: 45px;
  background-size: contain;
  background-repeat: no-repeat;
  top: -5px;
  left:-5px;
}
*/
.top_list_title h2 {
  font-size: 24px;
  font-weight: bold;
  color: #004098;
}

.top_list_title p {
  display: block;
  font-size: 13px;
  color: black;
  margin-top: 7px;
}

.btn_page {
  padding: 18px 21px;
  background-color: #fff;
  position: absolute;
  right: 10px;
  top: 18px;
}

.btn_page a {
  color: #004098;
  font-size: 16px;
}

.btn_page a:hover {
  font-weight: bold;
}

.btn_page a::before {
/*  content: url(../img/icon09.png);
  margin-right: 10px;
  position: relative;
  top: 2px;*/
  content: "〉";
  color: #004098;
}

.list_title {
  margin-top: 6px;
  overflow: hidden;
}

.list_title dt, .course_list dt {
  float: left;
  font-size: 14px;
  text-align: center;
  color: #000;
  padding: 9px 0;
  background: #CAE7F2;
  border-bottom: 3px solid #6CBAD8;
}

.list_title dt:first-child {
  width: 25%;
}

.list_title dt:last-child {
  width: 73%;
  margin-left: 2%;
}

.list_title dd {
  float: left;
  width: 72%;
  margin-left: 3%;
  margin-top: 9px;
  color: #515151;
  font-weight: normal;
}

.cat_bunya {
  display: inline-block;
  margin: 8px 0;
  background-color: #009944;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  padding: 4px 6px;
}

.top_list_course .title {
  margin-top: 9px;
  margin-bottom: 8px;
  font-weight: bold;
}

.top_list_course .txt {
  line-height: 1.6;
  margin-bottom: 14px;
  color: #515151;
}

.top_list_course .btn_sg {
  float: none;
}


.top_list> li{
  border-bottom: 0.25px solid #c1ffbf;
  padding: 1rem 1rem 28px 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.top_list> li:fist-child {
  margin-top: 2rem;
}

.date {
  width: 25%;
  font-size: 14px;
  color: #515151;
}

.list_cont {
  display: block;
  width: 73%;
  margin-left: 2%;
}

.list_cont_txtarea {
  float: left;
}

.title {
  margin-bottom: 1rem;
  color: #000;
  font-weight: 700;
  line-height: 1.7;
}

.txt {
  font-size: 15px;
  line-height: 1.6;
  color: #515151;
  margin-bottom: 8px;
}

.txt_br {
  white-space: pre-wrap !important;
}

.txt_danger {
  background-color: darkred;
  color: white;
  
}

.btn_sg {
  font-size: 16px;
  padding: 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #004098;
  border: solid 2px #004098;
  right: 1rem;
  float: right;
}

.btn_sg::before {
  content: "〉";
  font-size: 16px;
  margin-right: 4px;
}

.pagination {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: .25rem;
  margin-top: 22px;
  margin-bottom: 22px;
}

.page-link {
    position: relative;
    display: block;
    padding: .5rem .75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6;
}

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6;
}

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem;
}

.page-item:last-child .page-link {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem;
}

.course {
  color: #004098;
  font-family: 'Noto Serif JP', sans-serif;
  font-weight: 500;
  font-size: 18px;
  padding: 10px 0;
  line-height: 1.8;
}

.top_list_course {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.top_list_course li {
  width: 30%;
  margin-bottom: 30px;
}

.top_list_course li a {
  display: block;
}

.top_list_course::after {
  content: "";
  display: block;
  width: 30%;
}

.thumb_couse {
  width: 100%;
  height: 0px;
  padding-bottom: 65%;
  margin-bottom: 12px;
  overflow: hidden;
}

.thumb_couse img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition-duration: 0.3s;
       -o-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.thumb_couse img:hover {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition-duration: 0.3s;
       -o-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

.bread_wrap {
  background: #004098;
}

.bread_wrap p {
  width: 94%;
  max-width: 920px;
  color: #fff;
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.8;
  margin: 0 auto;
  padding: 20px 0;
  font-weight: 400;
}

.bread_wrap p a {
  color: #fff;
  border-bottom: 1px solid #fff;
}

#footer {
background: rgb(26,96,193);
background: -o-linear-gradient(left, rgba(26,96,193,1) 0%, rgba(30,100,205,1) 35%, rgba(149,255,215,1) 100%);
background: -webkit-gradient(linear, left top, right top, from(rgba(26,96,193,1)), color-stop(35%, rgba(30,100,205,1)), to(rgba(149,255,215,1)));
background: linear-gradient(90deg, rgba(26,96,193,1) 0%, rgba(30,100,205,1) 35%, rgba(149,255,215,1) 100%);
}

.footer_innar {
  width: 94%;
  max-width: 920px;
  margin: 0 auto;
  color: #fff;
  font-size: 14px;
  padding: 24px 0;
  overflow: hidden;
}

.footer_innar h5::before {
  content: "|";
  margin-right: 4px;
}

.footer_innar ul {
  float: left;
  padding: 8px 4rem 16px 0;
}

.footer_innar ul li a {
  display: block;
  font-size: 14px;
  color: #fff;
  line-height: 36px;
  font-weight: 400;
}

.footer_innar ul li a::before {
  content: "-";
  margin-right: 4px;
}

.footer_innar ul li a:hover {
  color: #004098;
}

.footer_innar2 {
  clear:both;
  border-radius: 5px;
  padding: 4px 8px;
  min-height: 30px;
  overflow:hidden;
  background:#fff;
}

.info_link {
  display: inline-block;
  float: left;
}

.info_link a {
  display: inline-block;
  color: #000;
  margin-right: 2rem;
  font-size: 13px;
  height: 24px;
  line-height: 24px;
}

.info_link a::before {
  content:"〉";
}

.info_link a:hover {
  color: #004098;
}

.ad {
  float: right;
  color: #555555;
  line-height: 24px;
  height: 24px;
  font-size: 13px;
}

.ad p {
  display: inline-block;
  font-weight: 400;
}

.logo_ft {
  float: right;
  margin-bottom: 8px;
}

.f_cp {
  text-align: right;
  font-size: 10px;
  letter-spacing: 5px;
  padding: 16px 0;
  color: #004098;
  clear: both;
}

.bunya_wrap {
  position: relative;
  width: 100%;
  margin-bottom: 6rem;
}

.bunya_wrap img {
  display: block;
  width: 78%;
  margin: 0 auto;
}

.btn_college {
  position: absolute;
  width: 280px;
  height: 51px;
  line-height: 51px;
  background-color: #004098;
  color: #fff;
  text-align: center;
  right: 0;
  left:0;
  margin: auto;
  bottom: 1rem;
}

.btn_archive {
  display: block;
  width: 280px;
  height: 51px;
  line-height: 51px;
  background-color: #004098;
  color: #fff;
  text-align: center;
  margin-top: 30px;
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
}

.btn_college::before, .btn_archive::before{
  content: "〉";
}

.user_name {
  margin-left: 16px;
  margin-bottom: 1.8rem;
}

.user_name p {
  margin-bottom: 6px;
  letter-spacing: 2px;
}

.user_name p:first-child{
  font-weight: bold;
}

.btn_logout a {
  display: inline-block;
  color: #004098;
  font-size: 14px;
  padding: 4px 8px;
  border: 1px solid #004098;
}

h2.user_tt, h2.normal_tt, h1.normal_tt, h1.public_tt, h2.public_tt, h2.c_owner_tt, h2.admin_tt {
  height: 42px;
  line-height: 42px;
  font-weight: bold;
  color: #eb6100;
  font-size: 18px;
  border-left: 4px solid #eb6100;
  border-bottom: 1px solid #eb6100;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 8px;
}

h2.normal_tt, h1.normal_tt, h1.public_tt, h2.public_tt  {
  color: #000;
}

h2.c_owner_tt {
  color: #215f20;
  border-left: 4px solid #215f20;
  border-bottom: 1px solid #215f20;
}

h1.public_tt, h2.public_tt {
  border-left: 4px solid #004098;
  border-bottom: 1px solid #004098;
}

h2.admin_tt {
  color: #434343;
  border-left: 4px solid #434343;
  border-bottom: 1px solid #434343;
}

.absent_tt::before {
  content: "講座名";
  padding-right: 10px;
  color: #777;
  font-size: 12px;
}

.absent_tt {
  color: #000;
}

.re_pw {
  padding: 6px;
  font-size: 14px;
  display: inline-block;
  border: 2px solid #004098;
  border-radius: 10px;
  color: #004098 !important;
}

.re_pw:hover {
  background-color: #004098;
  color: #fff !important;
}

.user_list_wrap {
  margin-top: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.user_list_wrap li {
  min-width: 184px;
  width: 20%;
  background-color: #eb6100;
  margin-bottom: 1rem;
  margin-right: 1rem;
}

.user_list_wrap li a {
  color: #fff;
}

.user_list_wrap h3 {
  font-size: 22px;
  line-height: 1.2;
  text-align: center;
  font-weight: bold;
  margin-top: 36px;
  margin-bottom: 22px;
  text-align: center;
}

.user_list_wrap p {
  width: 78%;
  margin: 0 auto;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 2rem;
}

.user_list_wrap p:nth-child(3) {
  background-color: #fff;
  text-align: center;
  padding: 4px 0;
  margin-bottom: 22px;
  color: #eb6100;
}

.user_list_wrap p:nth-child(3)::before {
  content: "〉";
  margin-right: 4px;
}

.page_container > .txt {
  font-size: 16px;
  padding: 20px 0;
}

.errorarea li {
  color: red;
  padding: 11px 22px;
  background-color: #fff799;
}

.errorarea li:first-child {
  margin-top: 12px;
}

.owner_li {
  margin: 45px 0 0 35px;
}

.link_li {
  margin: 2rem 10px;
}

.owner_li li a, .link_li li a {
  display: inline-block;
  font-weight: bold;
  color: #004098;
  padding: 22px 0;
}

.link_li li a {
  font-size: 15px;
  line-height: 1.2;
  padding: 18px 0;
}

.link_li_url {
  display: none;
}

.link_li_url_deco {
  font-weight: normal;
  margin-left: 8px;
}

.owner_li li a:hover, .link_li li a:hover {
  opacity: .6;
}

.owner_li li a::before, .link_li li a::before {
  content: "〉";
  margin-right: 8px;
}

.course_list dl{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-top: 4px;
}

.course_list dt {
  margin-right: 2px;
}

.course_list dt:last-child {
  margin-right: 0px;
}

.row1 {width: 20%; color:#004098;}
.row2 {width: 20%;}
.row3 {width: 10%;}
.row4 {width: 10%;}
.row5 {width: 5%; text-align: center;}
.row6 {width: 10%;}
.row7 {width: 10%;}
.row8 {width: 5%; text-align: center;}
.row9 {width: 10%; text-align: right;}
.row10 {width: 40%; color:#004098;}
.row11 {width: 40%;  white-space: pre-wrap !important;}
.row12 {width: 20%;text-align: center;}
.row13 {width: 20%;}
.row14 {width: 30%;}
.row15 {width: 30%;}
.row16 {width: 20%;}
.row17 {width: 20%;}
.row18 {width: 10%; text-align: center;}
.row19 {width: 90%;}

#mycourse .row1 {width: 5%; text-align: center;}
#mycourse .row2 {width: 20%;}
#mycourse .row3 {width: 10%;}
#mycourse .row4 {width: 35%;}
#mycourse .row5 {width: 30%;}
#mycourse .row6 {width: 30%;}
#mycourse .row20 {width: 33%; text-align: center;}
#mycourse .row21 {width: 33%; text-align: center;}
#mycourse .row22 {width: 33%; text-align: center;}

#usermanage .row1 {width: 5%; text-align: center;}
#usermanage .row2 {width: 5%; text-align: center;}
#usermanage .row3 {width: 5%; text-align: center;}
#usermanage .row4 {width: 5%; text-align: center;}
#usermanage .row5 {width: 10%; text-align: center;}
#usermanage .row6 {width: 20%; text-align: center;}
#usermanage .row7 {width: 20%; text-align: center;}
#usermanage .row8 {width: 20%; text-align: center;}
#usermanage .row9 {width: 10%; text-align: center;}
#usermanage .row10 {width: 30%; text-align: center;}
#usermanage .row11 {width: 35%; text-align: center;}
#usermanage .row10 {width: 30%; text-align: center;}
#usermanage .row11 {width: 35%; text-align: center;}
#usermanage .row12 {width: 20%; text-align: center;}
#usermanage .row13 {width: 50%; text-align: center;}

#c_owner  .row1 {width: 20%; text-align: center;}
#c_owner  .row2 {width: 20%; text-align: center;}
#c_owner  .row3 {width: 10%;}
#c_owner  .row4 {width: 35%;}
#c_owner  .row5 {width: 35%;}
#c_owner  .row6 {width: 5%;}
#c_owner  .row7 {width: 20%;}

.page_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  padding: 1rem 0 1rem 0;
}

.page_list a {
  display: block;
  width: 100%;
  color: #000;
}

#course_list .page_list li {
  border-bottom: 0.25px solid #c1ffbf;
}

#course_list .page_list a {
  display: inherit;
}

#course_list .page_list li:hover {
  background-color: rgba(0,0,0,.07);
  position: relative;
}

#course_list .page_list li.question_li:hover {
  background-color: rgba(0,0,0,0);
}

#course_list .page_list li a:hover::before{
  content: "詳細を見る";
  color: #004098;
  font-weight: bold;
  position: absolute;
  top: 45%;
  left: 45%;
}


#usermanage .page_list p a, #mycourse .page_list p a, #c_owner .page_list p a {
  display: inline-block;
  width: 100%;
  color: #004098;
  font-weight: bold;
}

#usermanage .page_list p a:hover, #mycourse .page_list p a:hover, #c_owner .page_list p a:hover {
  opacity: .6;
}

#usermanage .page_list p {
  padding: 10px 0;
}

#usermanage .page_list p.row10,
#usermanage .page_list p.row11,
#usermanage .page_list p.row12,
#usermanage .page_list p.row13,
#c_owner .page_list p.row5 {
  text-align:left;
  color: #000;
}

#usermanage .page_list p.row9 a {
  color: #004098;
  text-decoration: underline;
  padding: 0;
}

#usermanage .page_list a {
  border-bottom: none;
}

#usermanage .page_list a:hover::before {
  content: "";
}

#usermanage .page_list li, #mycourse .page_list li, #c_owner .page_list li{
  border-bottom: 0.25px solid #c1ffbf;
}

.page_list li p, #mycourse .page_list li p, #usermanage .page_list li p, #c_owner .page_list li p{
  font-size: 14px;
  line-height: 1.6;
  margin-right: 2px;
}

.page_list li p.row2,.page_list li p.row3, .page_list li p.row4,.page_list li p.row6,.page_list li p.row7 {
  font-size: 14px;
  line-height: 1.6;
}

#mycourse .page_list li p.row5 {
  text-align: left;
}

#usermanage .page_list li p.row9::after {
  content:none;
}

.course_title p {
  font-size: 14px;
  color: #515151;
  margin-bottom: 14px;
}

.course_title h1 {
  font-size: 32px;
  color: #004098;
  padding-bottom: 8px;
  border-bottom: 1px solid #004098;
  line-height: 1.8;
}

.course_title_info1 {
  padding: 10px 0 10px 0;
  font-size: 14px;
  line-height: 1.4;
}

.course_image {
  display: block;
  width: 100%;
  margin-top: 1rem;
}

.course_image img{
  max-width: 80%;
}

.specific_info {
  margin-top: 1rem;
}

.specific_info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  word-break: break-all;
}

.specific_info dt{
  width: 30%;
  margin-right: 3%;
  padding-left: 6px;
  border-bottom: 0.25px solid #c1ffbf;
  min-height: 60px;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 14px;
  color: #515151;
}

.specific_info dd, .textarea_rows {
  width: 67%;
  line-height: 1.6;
  font-weight: 500;
  font-size: 16px;
  border-bottom: 0.25px solid #f4f4f4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 10px;
  padding-bottom: 18px;
  white-space: pre-wrap;
}

.textarea_rows {
  width: 100% !important;
  height: auto !important;
  border:none;
  font-family: 'Noto Sans JP', sans-serif;
}

.sibodouki dd{
  margin: 8px 0px;
  border: 0.25px solid #c1ffbf;
  padding: 8px;
}

.sibodouki span {
  color: #fff;
  background-color: #ff0000;
  font-size: 12px;
  padding: 4px;
  float: right;
}

.important {
    color: #fff;
    background-color: #ff0000;
    font-size: 12px;
    padding: 4px;
}

.specific_info dd a {
  display: block;
  color: #004098;
  text-decoration: underline;
  padding-bottom: 10px;
}

.specific_info dd.bunya {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
}

.link_pdf::before {
  content: url(../img/icon_pdf.jpg);
  position: relative;
  top:4px;
  margin-right: 4px;
}

.link_ex::before {
  content: url(../img/icon_ex.jpg);
  position: relative;
  top:4px;
  margin-right: 4px;
}

.bunya p.cat_bunya {
  display: inline;
  text-align: center;
  margin-right: 4px;
}

.course_info_wrap {
 margin-top: 4rem;
}

.course_info_wrap dt {
  width: 25%;
  margin-right: 0;
  padding-left: 0;
  min-height: 20px;
  color: #000;
  border-bottom: 3px solid #6CBAD8;
}

.course_info_wrap dd {
  width: 73%;
  margin-left: 2%;
  min-height: 20px;
}

.btnarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 3rem;
}

.btn_back, .btn_apply, .btn_manage, .btn_topback, .btn_acd, .btn_danger {
  width: 120px;
  text-align: center;
  font-size: 14px;
  height: 46px;
  line-height: 46px;
  margin: 4px;
  color: #004098;
  border: solid 0.25px #004098;
  font-weight: 700;
  background-color: #ffffff;
}

.btn_apply, .btn_manage, .btn_acd{
  color: #fff;
  background-color: #0068b7;
  border:none;
}

.btn_acd {
  /* background-color: #009250; */
  background-color: deepskyblue;
}

.btn_danger_area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  margin-top: 0rem;
}

.btn_danger {
  color: #fff;
  background-color: darkred;
  border:none;
  font-weight: bold;

}

.btn_topback {
  width: 160px;
}

.errorarea {
  margin-bottom: 1rem;
}

.specific_info dd iframe {
  width: 100%;
}

.coursenews_check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 16px 0 16px 0;
}

.coursenews_check dt {
  background: #004098;
  color: #fff;
  padding: 8px;
}

.coursenews_check dd {
  padding: 8px;
  font-size: 14px;
  border: 1px solid #004098;
  border-right: none;
}

.coursenews_check dd:last-child {
  border-right: 1px solid #004098;
}

/*form 共通*/

#form {
  width: 100%;
  margin-bottom: 20px;
}
#form tr {
    border-bottom: 0.25px solid #c1ffbf;
}
#form th{
    width: 30%;
    vertical-align: middle;
    font-weight: 700;
    text-align: left;
    font-size: 14px;
}

#form span.important {
    float: right;
}

#form td {
    width: 70%;
    word-wrap: break-word;
    padding: 10px 16px;
}

.form_input {
    width: 290px;
    max-width: 100%;
    border: 1px solid #c8c8c8;
    padding: 10px 3px;
    font-size: 16px;
    line-height: 1.4;
}

.form_input_large {
  width: 100%;
  max-width: 100%;
}

.form_textarea, .form_textarea_question {
    width: 400px;
    max-width: 100%;
    border: 1px solid #c8c8c8;
    padding: 10px 3px;
    font-size: 16px;
    line-height: 1.4;
}

.page_list li .question_wrap,
.form_textarea_question {
    width: 100% !important;
}

.question_wrap p {
  font-size: 16px !important;
}

.question_form_p {
  font-weight: bold;
  margin-bottom: 8px;
}

.form_textarea a {
    width: 100%;
    height: 200px;
    padding: 4px 8px;
    resize: vertical;
    min-height: 200px;
    max-height: 800px;
    font-size: 16px !important;
    line-height: 1.2;
}

.form_textarea_cont {
    height: 225px;
    min-height: 225px;
}

.form_textarea_cancel, .form_textarea_large {
    height: 400px;
    min-height: 400px;
}

.form_input_name {
    width: 230px;
    margin-bottom: 4px;
}

.form_input_attend {
    width: auto;
    font-size: 14px;
}

.form_input_number {
    width: 140px;
    margin-bottom: 4px;
    margin-right: 4px;
}

.btn_select {
  height: 20px;
  background-color: #fcfcfc;
  width: 100%;
}

.outline_wrap {
  width: 98%;
  max-width: 920px;
  margin: 20px auto;
  background-image: url(../img/outline03.png);
  background-repeat: no-repeat;
  background-position: right bottom;
}

.outline_wrap .outline_top {
  word-wrap: break-word;
  width: 98%;
  margin:0 auto;
  color: #004098;
  font-size: 18px;
  text-align: left;
  padding-top: 20px;
  font-weight: bold;
  line-height: 1.8;
}

.outline_logo {
  height: 60px;
}

.outline_logo img {
  display: inline-block;
  width: auto;
  height: 60px;
}

.sec {
  padding-top: 10px;
}

.outline_inner {
  margin-bottom: 40px;
}

.outline_inner h3 {
  display: inline-block;
  padding: 10px;
  line-height: 1.8;
  font-size: 18px;
  font-weight: bold;
  color: #004098;
  background-color: #fff;
  border-bottom: 3px dashed #004098;
  -webkit-box-shadow: 0px 6px 13px 0px rgba(153,153,153,1);
  box-shadow: 0px 6px 13px 0px rgba(153,153,153,1);
  margin-bottom: 20px;
}

.outline_inner ul {
  text-indent: -18px;
}

.outline_inner ul li {
  line-height: 1.8;
  font-size: 18px;
  color: #555555;
  margin-left: 18px;
}

.outline_inner ul li:before {
  content: "■";
  color: #004098;
  font-size: 18px;
  margin-right: 4px;
}

.outline_deco {
  display: block;
  padding: 4px;
  width: 178px;
  text-align: center;
  background-color: #eb6100;
  font-size: 14px;
  color: #fff;
}

.outline_img img{
  display: block;
  height: 90px;
  margin-bottom: 20px;
}

.btn_link_outline {
  margin-top: 20px;
  width: 280px;
  height: auto;
}
.btn_link_outline:hover {
  opacity: .6;
}
.btn_link_outline a {
  display: block;
  width: 100%;
  height: 100%;
}
.btn_link_outline a figure img{
  display: block;
  width: 100%;
}

.btn_link_outline figcaption {
  font-size: 16px;
  color: #004098;
  text-decoration: underline;
  padding-top: 8px;
}

.pw_txt {
  font-weight: 400;
  line-height: 1.4;
  color: #515151;
}

.policy_tt {
  color: #515151;
  font-weight: 700;
  font-size: 18px;
  padding: 40px 0 20px 0;
}

.pl {
  margin-left: 22px;
}

.pl li, .pl_p {
  line-height: 1.4;
  font-weight: 400;
}

.check_bunya label {
  display: block;
  margin: 4px 0;
}

.th_br_txt {
  font-weight: normal;
  font-size: 14px;
  line-height: 1.6;
  color: green;
}
#date_deco{
  font-size: 12px;
  text-align: center;
  color: #515151;
  padding: 4px 4px;
  background: #CAE7F2;
  border-left: 3px solid #6CBAD8;
  margin-right: 4px;
  display: inline-block;
}

.map_wrap {
  display: block;
  width: 100%;
  margin: 3rem auto;
}

.map_wrap_title {
  font-size: 15px;
  padding: 14px 0;
  font-weight: bold;
  font-size: 14px;
  text-align: center;
  color: #000;
  background: #CAE7F2;
  border-bottom: 3px solid #6CBAD8;
}

.map_iframe iframe {
  width: 100%;
  height: 450px;
}

.preview {
  width: 100%;
  padding: 12px 0;
  text-align: center;
  color: #fff;
  background: green;
  margin: 1rem 0;
}

.ft input {margin-bottom: 1rem;}

.dd_date {
  font-size: 15px;
}
.dd_date input {
  width: 200px;
  height: 40px;
  margin-bottom: 1rem;
}

.pdf_image_wrap {
  width: 100%;
  max-width: 920px;
  margin: 2rem auto;
}
.pdf_image_wrap img {
  display: block;
  width: 100%;
  margin-bottom: 1rem;
}

.csv_table_wrap {
  width: 700px;
  margin-top: 2rem;
  padding: 20px;
  border: solid 1px #C9E8F1;
}

.csv_tt {
  width: 200px;
  background-color: #C9E8F1;
  padding: 20px 0 20px 20px;
}

.csv_item {
  padding: 20px;
}

.csv_item input {
  margin-right: 8px;
}

.calender_wrap {
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 100%;
  max-width: 920px;
  text-align: center;
  border: 1px solid #99CFE5;

}

.calender_wrap th {
  width: 14.2857%;
  padding: 10px;
  border: 1px solid #99CFE5;
  background-color: #fcfcfc;
}

.calender_wrap td {
  min-height: 100px;
  height: 14vh;
  border: 1px solid #99CFE5;
}

.calender_wrap th.sun {
  background-color: #F3C0AB;
}

.calender_wrap th.sat {
  background-color: #C9E8F1; 
}

.calender_c_name {
  display: block;
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.4;
  color: #004098;
  text-decoration: underline;
  text-align: left;
  padding: 0px 2px;
}

.today {
  background-color: #FFF7AA;
}

.calender_now_tt {
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 1rem;
  line-height: 40px;
  font-size: 24px;
  letter-spacing: 1px;
}

.calender_prev, .calender_next {
  display: inline-block;
  width: 60px;
  height: 40px;
  color: #004098;
  font-size: 14px;
  line-height: 40px;
  margin-right: 10px;
}

.calender_next {
  margin-left: 10px;
}

/*ここから検索アコーディオンのCSS*/
.acd-check{
    display: none;
}
.acd-label{
    /* background: #009250; */
    background: lightskyblue;
    color: #fff;
    display: block;
    margin-bottom: 20px;
    padding: 15px;
    position: relative;
    text-align: center;
}
.acd-label:after{
    /* background: #23AC0E; */
    background: deepskyblue;
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-weight: bold;
    font-family: "Font Awesome 5 Free";
    padding: 15px 20px;
    position: absolute;
    right: 0;
    top: 0px;
}
.acd-content{
    display: block;
    height: 0;
    padding: 0 10px;
    visibility: hidden;
    background-color: #fcfcfc;
    margin-bottom: 40px;
}
.acd-check:checked + .acd-label:after{
    content: '\f068';
    font-weight: bold;
}
.acd-check:checked + .acd-label + .acd-content{
    height: auto;
    padding: 10px;
    visibility: visible;
}
/*終了 検索アコーディオンのCSS*/

.summary_section {
  padding: 40px 0 50px;
}

.summary_section h3 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #232323;
  padding: 0.5em;
  display: inline-block;
  line-height: 1.7;
  background: #dbebf8;
  vertical-align: middle;
  border-radius: 25px 0px 0px 25px;
}

.summary_section h3:before {
  content: '●';
  color: white;
  margin-right: 8px;
}

.summary_section p {
  line-height: 1.6;
}

.summary_img_wrapper {
  width: 96%;
  margin: auto;
  margin-top: 40px;
}

.summary_img_wrapper img {
  width: 96%;
  height: auto;
  text-align: center;
}




@media screen and (max-width:1170px) {
.ad {
  float: left;
}
}


@media screen and (max-width:1140px) {

.list_title dt:first-child {
  width: 15%;
}

.list_title dt:last-child {
  width: 83%;
}

.top_list> li {
  padding: 8px 8px 16px 8px;
}

.date {
  width: 15%;
}

.list_cont {
  width: 83%;
}

.list_title dd {
  width: 100%;
}

.top_list_course .list_title dt:first-child {
  width: 23%;
}

.top_list_title::before {
  width: 30px;
  height: 30px;
}

.btn_college {
  margin-bottom: -2rem;
}

.list_title dd {
  margin-left: 0;
}
}



@media screen and (max-width:1000px) {

.top_list_title {
  padding:16px;
}

.btn_page {
  padding: 12px 16px;
  top: 40px;
}

.top_list_course li {
  width: 48%;
  margin-bottom: 1.8rem;
}

.top_list_course {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.course {
  line-height: 1.4;
  font-size: 18px;
}
.title, .txt {
  margin-bottom: 8px;
}
.link_li li a {
  font-size: 14px;
}

.link_li_url {
  display: block;
}
}


@media screen and (max-width:768px) {

.bread_wrap {
  margin-top: 10px;
}
.login_text h4, .regist_text h4 {
  margin-top: 0px;
}

.login_text_dan h4 {
  margin-top: 0px;
}


.page_list a:hover::before {
  content:"";
}

.pc {
  display: none !important;
}

.sp {
  display: block !important;
}

.pagination {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
}

#page {
  max-width: 1026px;
  width: 100%;
  float: none;
}


#header_wrap{
    width: 100%;
    max-width: 100%;
    height: 60px;
    z-index: 1;
    overflow-y: visible;
  }

  .logo_hd{
    padding: 0;
    float: left;
    width: 190px;
    margin: 12px 0 0 10px;
  }

  .header_second_wrap{
    position: fixed;
    top: 60px;
    background: #fff;
    width: 100%;
    max-width: 100%;
    height: 60px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }

  .login_wrap,
  .regist_wrap{
    width: 50%;
  }

  .login_content_wrap,
  .login_content_wrap_dan,
  .regist_content_wrap{
    padding: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }

  .regist_content_wrap{
    margin-top: 0;
  }

  .login_text h4,
  .regist_text h4{
    font-size: 11px;
  }
  
  .login_text_dan h4{
    font-size: 11px;
  }


  .login_text p,
  .regist_text p{
    font-size: 10px;
  }
  
  .login_text_dan p{
    font-size: 10px;
  }


  .login_content_wrap img,
  .login_content_wrap_dan img,
  .regist_content_wrap img {
    width: 30px;
    height: 30px;
    margin-right: 5px;
  }


  .user_name{
    position: fixed;
    top: 60px;
    background: #eef2ff;
    width: 100%;
    height: 50px;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 10px;
  }

  .user_name p{
    font-size: 12px;
    margin: 0;
  }

  .user_name p:last-child{
    margin-left: auto;
  }

  .btn_menu {
    position: fixed;
    width: 110px;
    height: 60px;
    right: 0;
    top: 0;
    display: block;
    background: #004098;
    border: none;
    padding: 0 0 0 45px;
    color: #fff;
    font-size: 12px;
  }

  .btn_menu span {
    position: absolute;
    left: 15px;
    width: 30px;
    height: 5px;
    background: #fff;
    -webkit-transition: all .4s;
    -o-transition: all .4s;
    transition: all .4s;
  }

  .btn_menu span:nth-of-type(1) {
    top: 17px;
  }

  .btn_menu span:nth-of-type(2) {
    top: 28px;
  }

  .btn_menu span:nth-of-type(3) {
    bottom: 17px;
  }

  .btn_menu.is-open span:nth-of-type(1) {
      -webkit-transform: translateY(10.5px) rotate(-45deg);
          -ms-transform: translateY(10.5px) rotate(-45deg);
              transform: translateY(10.5px) rotate(-45deg);
  }

  .btn_menu.is-open span:nth-of-type(2) {
    opacity: 0;
  }

  .btn_menu.is-open span:nth-of-type(3) {
    -webkit-transform: translateY(-10.5px) rotate(45deg);
        -ms-transform: translateY(-10.5px) rotate(45deg);
            transform: translateY(-10.5px) rotate(45deg);
  }

  .menu_wrap{
    position: fixed;
    overflow-y: scroll;
    top: 60px;
    height: calc(100% - 60px);
    background: #fff;
    -webkit-transition: right .4s;
    -o-transition: right .4s;
    transition: right .4s;
    width: 300px;
    right: -300px;
  }

  .menu_wrap.is-open{
    right: 0;
  }

  .main_menu{
    margin-top: 0;
    padding: 0 0 1rem 0;
  }

  .main_menu ul,
  .mini_menu ul,
  .menu_ft,
  .user_menu ul,
  .admin_menu ul{
    width: 100%;
  }

  .main_menu ul li a{
    font-size: 14px;
    padding: 15px 20px;
  }

  .user_menu ul li a,
  .c_owner_menu ul li a,
  .admin_menu ul li a{
    font-size: 14px;
    padding: 15px 5px;
  }

  .mini_menu ul li:first-child{
    padding-top: 1rem;
  }

  .mini_menu ul li a {
    font-size: 14px;
    padding: 15px 20px;
  }

  .user_menu,
  .c_owner_menu{
    margin-bottom: 0;
  }

  .menu_ft {
    margin-top: 1rem;
    padding: 0 0 1rem 1rem;
  }

  #page{
    padding-left: 0;
      margin-top: 110px;
  }

.btn_menu {
  display: block;
}

#page {
  padding-left: 0;
  max-width: 100%;
}

.bunya_wrap img {
  width: 100%;
}

.date, .title,.btn_page a,.course {
  font-weight: normal;
}

.title,.btn_page a,.course {
  font-weight: 600;
}

.top_list_title h2 {
  font-size: 18px;
}

.title, .btn_page a {
  font-size: 14px;
}

.txt, .btn_sg {
  font-size: 14px;
}

.date {
  font-size: 12px;
}

.list_title dd {
  color: #515151;
  margin-left: 0;
}


section.top_list_container {
  margin: 2rem auto 7rem
}

section.page_container {
  margin: 2rem auto 3rem;
}

.course {
  font-size: 1rem;
}

.course_list dl {
  display: none;
}

.page_list li {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.page_list li p {
  text-align: left !important;
  width: 100%;
  margin-bottom: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 2.1;
}
.page_list li p:last-child {
  margin-bottom: 40px;
}

.page_list li p.row1::before,
.page_list li p.row2::before,
.page_list li p.row3::before,
.page_list li p.row4::before,
.page_list li p.row5::before,
.page_list li p.row6::before,
.page_list li p.row7::before,
.page_list li p.row8::before,
.page_list li p.row9::before,
.page_list li p.row10::before,
.page_list li p.row11::before,
.page_list li p.row12::before,
.page_list li p.row13::before,
.page_list li p.row14::before,
.page_list li p.row15::before,
.page_list li p.row16::before,
.page_list li p.row17::before,
.page_list li p.row18::before,
.page_list li p.row19::before,
.page_list li p.row20::before,
.page_list li p.row21::before,
.page_list li p.row22::before
{
  content: "タイトル";
  font-size: 12px;
  text-align: center;
  color: #515151;
  padding: 4px 4px;
  background: #CAE7F2;
  border-left: 3px solid #6CBAD8;
  margin-right: 4px;
  display: block;
}

.page_list li p.row1{
  color: #004098;
}
.page_list li p.row2::before {
  content: '講座内容\A';
  white-space: pre;
  display: block;
}
.page_list li p.row3::before {
  content: "講座開始日";
  display: inline-block;
}

.page_list li p.row4::before {
  content: "講座終了日";
  display: inline-block;
}

.page_list li p.row5::before {
  content: "回数";
  display: inline-block;
}

.page_list li p.row6::before {
  content: "時間";
  display: inline-block;
}

.page_list li p.row7::before {
  content: "会場";
  display: inline-block;
}

.page_list li p.row8::before {
  content: "定員";
  display: inline-block;
}

.page_list li p.row9::before {
  content: "費用";
  display: inline-block;
}
.page_list li p.row10::before {
  content: 'タイトル\A';
  white-space: pre;
}
.page_list li p.row11::before {
  content: 'お知らせ内容\A';
  white-space: pre;
}
.page_list li p.row12::before {
  content: "掲載日";
  display: inline-block;
}

.page_list li p.row13::before {
  content: "講座開催期間";
}
.page_list li p.row14::before {
  content: '団体名\A';
  white-space: pre;
}
.page_list li p.row15::before {
  content: '団体活動概要\A';
  white-space: pre;
}
.page_list li p.row16::before {
  content: "ジャンル";
  display: inline-block;
}
.page_list li p.row17::before {
  content: "活動内容";
  display: inline-block;
}
.page_list li p.row18::before {
  content: "No.";
  display: inline-block;
}
.page_list li p.row19::before {
  content: "質問";
  display: inline-block;
}
.page_list li p.row20::before {
  content: "日付";
  display: inline-block;
}
.page_list li p.row21::before {
  content: "時間";
  display: inline-block;
}
.page_list li p.row22::before {
  content: "出欠";
  display: inline-block;
}

#course_list .page_list a {
  position: relative;
  display: block;
  padding-bottom: 1.2rem;
}

#course_list .page_list a::after {
content: "〉詳細を見る";
position: absolute;
bottom: 10px;
right: 10px;
color: #004098;
border: 0.25px solid #004098;
padding: 8px 8px 8px 8px;
font-size: 14px;
}

.top_list> li {
  padding: 16px 0px 16px 0px;
}


#mycourse .page_list li p {
  text-align: left !important;
  width: 100%;
  margin-bottom: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#mycourse >.page_list li p.row1::before,#mycourse >.page_list li p.row2::before,#mycourse >.page_list li p.row3::before,#mycourse >.page_list li p.row4::before,#mycourse >.page_list li p.row5::before,#mycourse >.page_list li p.row6::before,#mycourse >.page_list li p.row7::before,#mycourse >.page_list li p.row8::before,#mycourse >.page_list li p.row9::before         {
  content: "選択";
  font-size: 12px;
  text-align: center;
  color: black;
  padding: 4px 4px;
  background: #CAE7F2;
  margin-right: 4px;
  color: #515151;
  display: inline-block;
}

#mycourse >.page_list li p.row2::before {
  content: "申込日";
}
#mycourse >.page_list li p.row3::before {
  content: "状態";
}

#mycourse >.page_list li p.row4::before {
  content: 'タイトル\A';
  white-space: pre;
  display: block;
}

#mycourse >.page_list li p.row5::before {
  content: '講座内容\A';
  white-space: pre;
  display: block;
}

/* sei add 2020-12-17 */
#mycourse .row7 {width: 5%;}
#mycourse >.page_list li p.row7::before {
  content: "出欠";
}

#usermanage .page_list p a, #mycourse .page_list p a, #c_owner .page_list p a {
  display: block;
}

.footer_innar ul li a {
  font-size: 13px;
  font-weight: normal;
}

.btnarea {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}


#form th, #form td {
  display: block;
  width: 100%;
}

#form th {
  padding: 20px 0px 14px 0;
}

#form td {
  padding: 10px 0px;
}

#form span.important {
    float: none;
}

.form_input, .form_textarea, .form_input_name, .form_input_number{
  width: 100%;
  margin-bottom: 4px !important;
}

.course_title h1 {
  font-size: 18px;
  font-weight: bold;
}

.outline_inner h3 {
  font-size: 18px;
}

.outline_inner ul li, .outline_inner ul li:before {
  font-size: 16px;
  line-height: 1.8
}

.outline_img img{
  display: block;
  width: 100%;
  height: auto;
}

.carousel-item {
  margin-top: .6rem;
}

.carousel-item img {
  height: 520px;
}

.kv_txt_wrap {
  top: 15%;
}
}

@media screen and (max-width:481px) {

.kv_txt02 {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 2px;
  margin: 10px 0;
}

.link_tp_attention {
  padding: 10px;
}

.top_list_title h2 {
  font-size: 18px;
  font-weight: bold;
}

.top_list_course {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.top_list_course li {
  width: 100%;
}

.specific_info dl {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.course_info_wrap .list_title {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.specific_info dt {
  width: 100%;
  min-height: 0px;
  padding-left: 0;
}

.specific_info dd, .textarea_rows {
  width: 100%;
  margin-bottom: 2rem;
  font-size: 14px;
}

aside .specific_info dt {
  width: 5% !important;
}
aside .specific_info dd {
  width: 73% !important;
}

.user_list_wrap li {
  min-width: 168px;
  width: 100%;
}

.course_title h1 {
  font-size: 16px;
  font-weight: bold;
}

.outline_wrap .outline_top {
  font-size: 16px;
  line-height: 1.4;
  padding-top: 10px;
}

.outline_logo img {
  height: 40px;
}
.outline_inner h3 {
  font-size: 16px;
  padding: 10px 5px;
}

.btn_college {
  margin-bottom: -3rem;
}

.footer_innar2 {
  min-height: 80px;
}
.login_content_wrap img, .login_content_wrap_dan img, .regist_content_wrap img {
  width: 20px;
  height: 20px;
}


.calender_now_tt {
  font-size: 16px;
}

.kv_txt02 {
  font-size: 22px;
}

.summary_section h3 {
  font-size: 18px;
}

.summary_img_wrapper img {
  width: 100%;
}

}

@media screen and (max-width:320px) {
.btn_top_kv, .btn_college {
  font-size: 14px;
  width: 96%;
  max-width: 240px;
}
}

/* sei add */
.table_question {
  width: 100%;
}
.question_area {
  width: 90%;
}
.button_area {
  width: 10%;
  text-align: center;
  vertical-align: middle;
  padding: 2px 2px 2px 2px;
}
.question_area > textarea {
  width: 100%;
  min-width: 50%;
  max-width: 100%;
  height: 100px;
  min-height: 100px;
  max-height: 400px;
  resize: vertical;
  border: 1px solid #c8c8c8;
  margin: 2px 2px 2px 2px;
  padding: 5px 5px;
  font-size: 16px;
  line-height: 1.4;
}

.question_list {
  margin-top: 5px;
  margin-left: 20px;
  padding-left: 5px;
  padding-bottom: 10px;
  border-bottom: thin solid #c1ffbf;
}

.csvSelectAll {
  margin-left: 2em;
  margin-top: 1em;
}
.csvCond_line {
  margin-left: 2em;
}
.csvCond {
  padding-left: 2em;
  height: 2em;
}
.csvCond_val {
  padding-left: 2em;
}
