@charset "UTF-8";
.wholewrapper {
  background-image: url(../media/images/bg_wrapper_lower.gif);
}
@media screen and (max-width: 767px) {
  .wholewrapper {
    background: #fff;
  }
}

@media screen and (max-width: 767px) {
  .footer_wrapper {
    margin-top: 0;
  }
}

.clear {
  clear: both;
}

.content_wrap {
  display: flex;
  flex-flow: row nowrap;
}
@media screen and (max-width: 767px) {
  .content_wrap {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .content_wrap {
    padding: 20px 15px 0;
  }
}
.content_wrap .contents {
  padding: 20px 20px 50px;
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  .content_wrap .contents {
    padding: 0 0 50px;
    background: #fff;
    width: 100%;
  }
}
.content_wrap .side {
  flex: 0 0 23%;
  padding: 20px 21px;
}
@media screen and (max-width: 767px) {
  .content_wrap .side {
    margin: 30px -15px 0;
    padding: 0;
    width: 100vw;
  }
}
.content_wrap .side.none {
  display: none;
}
.content_wrap .side img {
  display: block;
  width: 100%;
}

.lower_caption {
  background: url(../media/images/bg_lower_caption.png);
  width: 1000px;
  height: 122px;
  line-height: 115px;
  text-indent: 30px;
  font-size: 20px;
  color: #fff;
  font-weight: normal;
  background-position: right;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 1024px) {
  .lower_caption {
    max-width: 100%;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .lower_caption {
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    padding: 20px 20px;
    line-height: 1.6;
    text-indent: 0;
    font-size: 15px;
  }
}
.lower_caption .pls_title:empty + .plg_title {
  display: inline;
}
.lower_caption .plg_title {
  display: none;
}

.side h2.top_title a {
  display: block;
  height: 36px;
  line-height: 36px;
  color: #fff;
  font-weigth: bold;
  font-size: 15px;
  border: 1px solid #168ecc;
  background: url(../media/images/bg_snavi.png);
  text-decoration: none;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .side h2.top_title a {
    height: auto;
    background: #2f7cc1;
  }
}
.side ul.depth1 li.depth1 {
  padding: 0;
  background: #e0f0ff;
}
.side ul.depth1 li.depth1 a {
  display: block;
  height: auto;
  line-height: 1.2;
  font-size: 13px;
  border: none;
  text-decoration: none;
  padding: 7px 10px 5px;
  background: #e0f0ff;
  color: #055B87;
}
@media screen and (max-width: 767px) {
  .side ul.depth1 li.depth1 a {
    padding: 10px;
  }
}
@media print, screen and (min-width: 1025px) {
  .side ul.depth1 li.depth1 a:hover {
    background: #EFF7FF;
    color: #003853;
  }
}
.side ul.depth1 > li.active > a {
  background: #409CF8;
  color: white;
}
@media print, screen and (min-width: 1025px) {
  .side ul.depth1 > li.active > a:hover {
    background: #409CF8;
    color: white;
  }
}
.side ul.depth2 {
  padding: 5px 0 0 15px;
}
.side ul.depth2 li.depth2 a {
  padding: 5px 8px;
  background: #EBF0F4;
}
@media screen and (max-width: 767px) {
  .side ul.depth2 li.depth2 a {
    padding: 10px;
  }
}
@media print, screen and (min-width: 1025px) {
  .side ul.depth2 li.depth2 a:hover {
    background: #E4ECF2;
  }
}
.side ul.depth2 li.active > a {
  background: #CDE3F8;
  color: #055B87;
}
@media print, screen and (min-width: 1025px) {
  .side ul.depth2 li.active > a:hover {
    background: #CDE3F8;
    color: #055B87;
  }
}

#main.contents > *:first-child {
  margin-top: 0;
}
#main.contents > *:last-child {
  margin-bottom: 0;
}

#main p,
#main div,
.cke_show_borders p,
.cke_show_borders div {
  line-height: 1.6;
  font-size: 14px;
}
#main p + p,
#main p + div:not([class]),
#main div + p,
#main div + div:not([class]),
.cke_show_borders p + p,
.cke_show_borders p + div:not([class]),
.cke_show_borders div + p,
.cke_show_borders div + div:not([class]) {
  margin-top: 1em;
}
#main p + h4,
#main div + h4,
.cke_show_borders p + h4,
.cke_show_borders div + h4 {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  #main p + h4,
  #main div + h4,
  .cke_show_borders p + h4,
  .cke_show_borders div + h4 {
    margin-top: 15px;
  }
}
#main img,
.cke_show_borders img {
  max-width: 100%;
}
#main h2,
.cke_show_borders h2 {
  background: #0889d3;
  color: #fff;
  padding: 5px 8px;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  #main h2,
  .cke_show_borders h2 {
    margin-bottom: 10px;
    padding: 8px;
    font-size: 17px;
  }
}
#main h2 + h3,
.cke_show_borders h2 + h3 {
  margin-top: 30px;
}
#main h3,
.cke_show_borders h3 {
  margin: 30px 0 15px;
  border-bottom: 2px solid #0889d3;
  color: #0889d3;
  padding: 3px 5px;
  font-size: 18px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  #main h3,
  .cke_show_borders h3 {
    font-size: 17px;
  }
}
#main h4,
.cke_show_borders h4 {
  color: #0889d3;
  padding: 15px 0 0;
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  #main h4,
  .cke_show_borders h4 {
    font-size: 15px;
  }
}
#main h5,
.cke_show_borders h5 {
  color: #333;
  padding: 3px 0;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 15px;
}
#main h6,
.cke_show_borders h6 {
  color: #333;
  padding: 3px 5px;
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 15px;
}
#main ol,
.cke_show_borders ol {
  list-style: decimal;
  list-style-type: decimal;
  margin-left: 15px;
  font-size: 14px;
  line-height: 1.4;
}
#main ol li,
.cke_show_borders ol li {
  list-style: decimal;
  list-style-type: decimal;
  margin-left: 15px;
  font-size: 14px;
  line-height: 1.4;
}
#main ul,
.cke_show_borders ul {
  list-style: disc;
  list-style-type: disc;
  margin-left: 15px;
  font-size: 14px;
  line-height: 1.4;
}
#main ul li,
.cke_show_borders ul li {
  list-style: disc;
  list-style-type: disc;
  margin-left: 15px;
  font-size: 14px;
  line-height: 1.4;
}
#main a.caution,
.cke_show_borders a.caution {
  display: table;
  padding: 5px 10px;
  text-decoration: none;
  border: 1px solid red;
  color: red;
}
#main a.caution::after,
.cke_show_borders a.caution::after {
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  padding-left: 5px;
}
#main .meibolist table,
.cke_show_borders .meibolist table {
  border: 1px solid #acacac;
  width: 100%;
  border-collapse: collapse;
}
#main .meibolist table thead th,
.cke_show_borders .meibolist table thead th {
  background: #a5d7ff;
  border: 1px solid #d6d6d6;
  padding: 5px;
  font-weight: normal;
  font-size: 13px;
}
#main .meibolist table tbody td,
.cke_show_borders .meibolist table tbody td {
  border: 1px solid #d6d6d6;
  padding: 5px;
  font-size: 13px;
}
#main .meibolist table tbody td.regist,
.cke_show_borders .meibolist table tbody td.regist {
  text-align: center;
}
#main ul.pic_list,
.cke_show_borders ul.pic_list {
  display: flex;
  list-style: none;
}
@media screen and (max-width: 767px) {
  #main ul.pic_list,
  .cke_show_borders ul.pic_list {
    display: block;
  }
}
#main ul.pic_list li,
.cke_show_borders ul.pic_list li {
  flex: 1 1 auto;
  list-style: none;
}
@media screen and (max-width: 767px) {
  #main ul.pic_list li,
  .cke_show_borders ul.pic_list li {
    margin: 0;
  }
  #main ul.pic_list li + li,
  .cke_show_borders ul.pic_list li + li {
    margin-top: 30px;
  }
}
#main ul.pic_list li img,
.cke_show_borders ul.pic_list li img {
  margin: 0;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  #main ul.pic_list li img,
  .cke_show_borders ul.pic_list li img {
    width: 100%;
  }
}
#main dl,
#main dd,
#main dt,
.cke_show_borders dl,
.cke_show_borders dd,
.cke_show_borders dt {
  padding: 0;
  margin: 0;
}
#main .font-small,
.cke_show_borders .font-small {
  font-size: 0.85em;
}
#main .font-small li,
.cke_show_borders .font-small li {
  font-size: inherit;
}
#main .font-large,
.cke_show_borders .font-large {
  font-size: 1.2em;
}
#main .font-large li,
.cke_show_borders .font-large li {
  font-size: inherit;
}
#main .docs_files,
.cke_show_borders .docs_files {
  padding-left: 0;
  list-style: none;
}
#main .docs_files > li,
.cke_show_borders .docs_files > li {
  list-style: none;
}
#main .docs_files > li a[href$=".pdf"]::after,
.cke_show_borders .docs_files > li a[href$=".pdf"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: red;
}
#main .docs_files > li a[href$=".xls"]::after,
.cke_show_borders .docs_files > li a[href$=".xls"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: #107c41;
}
#main .docs_files > li a[href$=".doc"]::after, #main .docs_files > li a[href$=".docx"]::after,
.cke_show_borders .docs_files > li a[href$=".doc"]::after,
.cke_show_borders .docs_files > li a[href$=".docx"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: #185ABD;
}
#main .docs_files > li + li,
.cke_show_borders .docs_files > li + li {
  margin-top: 10px;
}
#main .docs_files > li a,
.cke_show_borders .docs_files > li a {
  display: table;
  padding-left: 1em;
  text-indent: -1em;
  color: #333;
  text-decoration: none;
}
#main .docs_files > li a::before,
.cke_show_borders .docs_files > li a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 6px;
  padding-left: 0;
  content: "";
}
@media print, screen and (min-width: 1025px) {
  #main .docs_files > li a,
  .cke_show_borders .docs_files > li a {
    transition: 0.3s;
  }
  #main .docs_files > li a:hover,
  .cke_show_borders .docs_files > li a:hover {
    color: #2f7cc1;
  }
}
#main .docs_file,
.cke_show_borders .docs_file {
  display: table;
  margin: 15px 0;
  min-width: 350px;
}
#main .docs_file a[href$=".pdf"]::after,
.cke_show_borders .docs_file a[href$=".pdf"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: red;
}
#main .docs_file a[href$=".xls"]::after,
.cke_show_borders .docs_file a[href$=".xls"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: #107c41;
}
#main .docs_file a[href$=".doc"]::after, #main .docs_file a[href$=".docx"]::after,
.cke_show_borders .docs_file a[href$=".doc"]::after,
.cke_show_borders .docs_file a[href$=".docx"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: #185ABD;
}
#main .docs_file a,
.cke_show_borders .docs_file a {
  display: block;
  padding: 5px;
  text-decoration: none;
  border: 1px solid #2f7cc1;
  color: #2f7cc1;
}
@media print, screen and (min-width: 1025px) {
  #main .docs_file a,
  .cke_show_borders .docs_file a {
    transition: 0.3s;
  }
}
#main .square_list > li,
.cke_show_borders .square_list > li {
  margin-left: 0;
  list-style: none;
}
#main .square_list > li a[href$=".pdf"]::after,
.cke_show_borders .square_list > li a[href$=".pdf"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: red;
}
#main .square_list > li a[href$=".xls"]::after,
.cke_show_borders .square_list > li a[href$=".xls"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: #107c41;
}
#main .square_list > li a[href$=".doc"]::after, #main .square_list > li a[href$=".docx"]::after,
.cke_show_borders .square_list > li a[href$=".doc"]::after,
.cke_show_borders .square_list > li a[href$=".docx"]::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  padding-right: 0;
  padding-left: 10px;
  content: "";
  color: #185ABD;
}
#main .square_list > li + li,
.cke_show_borders .square_list > li + li {
  margin-top: 10px;
}
#main .square_list > li a,
.cke_show_borders .square_list > li a {
  display: table;
  padding-left: 1em;
  text-indent: -1em;
  color: #333;
  text-decoration: none;
}
#main .square_list > li a::before,
.cke_show_borders .square_list > li a::before {
  content: "❏ ";
}
@media print, screen and (min-width: 1025px) {
  #main .square_list > li a,
  .cke_show_borders .square_list > li a {
    transition: 0.3s;
  }
  #main .square_list > li a:hover,
  .cke_show_borders .square_list > li a:hover {
    color: #2f7cc1;
  }
}
#main .soshikizu,
.cke_show_borders .soshikizu {
  text-align: center;
}
#main .pt20,
.cke_show_borders .pt20 {
  padding-top: 20px;
}
#main .pb20,
.cke_show_borders .pb20 {
  padding-bottom: 20px;
}
#main .pl10,
.cke_show_borders .pl10 {
  padding-left: 10px;
}
#main .pl20,
.cke_show_borders .pl20 {
  padding-left: 20px;
}
#main .pl30,
.cke_show_borders .pl30 {
  padding-left: 30px;
}
#main .pl1em,
.cke_show_borders .pl1em {
  padding-left: 1em;
}
#main ul.nonmarker,
.cke_show_borders ul.nonmarker {
  margin-left: 0px;
}
#main ul.nonmarker li,
.cke_show_borders ul.nonmarker li {
  list-style-type: none;
  margin-left: 0px;
}
#main ul.nonmarker li.li_child,
.cke_show_borders ul.nonmarker li.li_child {
  padding-left: 30px;
}
#main .guide_box,
.cke_show_borders .guide_box {
  padding-left: 45px;
}
@media screen and (max-width: 767px) {
  #main .guide_box,
  .cke_show_borders .guide_box {
    padding-left: 20px;
  }
}
#main .guide_box + h3,
.cke_show_borders .guide_box + h3 {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #main .guide_box + h3,
  .cke_show_borders .guide_box + h3 {
    margin-top: 20px;
  }
}
#main .acourse_dl dd,
.cke_show_borders .acourse_dl dd {
  padding-left: 95px;
}
@media screen and (max-width: 767px) {
  #main .acourse_dl dd,
  .cke_show_borders .acourse_dl dd {
    padding-left: 20px;
  }
}
#main table.guide_table,
.cke_show_borders table.guide_table {
  width: 100%;
  border-collapse: collapse;
}
#main table.guide_table th,
.cke_show_borders table.guide_table th {
  padding: 5px;
  font-weight: normal;
  font-size: 14px;
  white-space: nowrap;
  vertical-align: top;
}
#main table.guide_table td,
.cke_show_borders table.guide_table td {
  padding: 5px;
  font-size: 14px;
  line-height: 1.6;
}
#main p.sign,
.cke_show_borders p.sign {
  margin-left: 340px;
}
#main .ti1em,
.cke_show_borders .ti1em {
  text-indent: 1em;
}
#main .ti2em,
.cke_show_borders .ti2em {
  text-indent: 2em;
}
#main .ti3em,
.cke_show_borders .ti3em {
  text-indent: 3em;
}
#main .ti-1em,
.cke_show_borders .ti-1em {
  text-indent: -1em;
}
#main .shibutyo,
.cke_show_borders .shibutyo {
  float: left;
  padding-right: 10px;
  width: 150px;
}
#main .shibutyo img,
.cke_show_borders .shibutyo img {
  display: block;
  width: 100%;
}
#main .indent_box,
.cke_show_borders .indent_box {
  padding-left: 20px;
}
#main .indent_box p,
.cke_show_borders .indent_box p {
  margin-bottom: 1em;
}
#main .indent_box > p:not(.noindent),
.cke_show_borders .indent_box > p:not(.noindent) {
  text-indent: 1em;
}
#main .indent_box.align-box p,
.cke_show_borders .indent_box.align-box p {
  padding-left: 1em;
  text-indent: -1em;
}
#main .nowrap p,
.cke_show_borders .nowrap p {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #main .nowrap p,
  .cke_show_borders .nowrap p {
    white-space: normal;
  }
}
#main ul,
.cke_show_borders ul {
  margin: 20px 0;
}
#main ul li + li,
.cke_show_borders ul li + li {
  margin-top: 0.5em;
}
#main ol li + li,
.cke_show_borders ol li + li {
  margin-top: 0.5em;
}
#main span.bold,
.cke_show_borders span.bold {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #main .local_navigation,
  .cke_show_borders .local_navigation {
    display: none;
  }
}
#main h2 + h2.top_title,
.cke_show_borders h2 + h2.top_title {
  display: none;
}
#main .greeting,
.cke_show_borders .greeting {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  #main .greeting,
  .cke_show_borders .greeting {
    margin-bottom: 30px;
  }
}
#main .greeting p,
.cke_show_borders .greeting p {
  text-indent: 1em;
}
#main .greeting .greeting_name,
.cke_show_borders .greeting .greeting_name {
  margin-top: 30px;
}
#main .greeting .greeting_name > div:nth-child(2),
.cke_show_borders .greeting .greeting_name > div:nth-child(2) {
  margin-top: 0;
}
#main .greeting .shibutyo,
.cke_show_borders .greeting .shibutyo {
  margin: 0 20px 30px 0;
}
#main .soshikizu img,
.cke_show_borders .soshikizu img {
  display: block;
  width: 100%;
}
#main .chart_title,
.cke_show_borders .chart_title {
  margin: 40px 0 30px;
}
@media screen and (max-width: 767px) {
  #main .chart_title,
  .cke_show_borders .chart_title {
    margin: 30px 0 20px;
  }
}
#main .organizatio_list,
.cke_show_borders .organizatio_list {
  margin-top: 60px;
}
#main .organizatio_list h2,
.cke_show_borders .organizatio_list h2 {
  margin-bottom: 30px;
}
#main .organizatio_list h3 span,
.cke_show_borders .organizatio_list h3 span {
  float: right;
  font-size: 13px;
  font-weight: normal;
  color: #000;
}
#main .organizatio_list table,
.cke_show_borders .organizatio_list table {
  margin: 30px 0 50px;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
#main .organizatio_list table thead th,
.cke_show_borders .organizatio_list table thead th {
  background: #0889d3;
  color: #fff;
}
#main .organizatio_list table th,
#main .organizatio_list table td,
.cke_show_borders .organizatio_list table th,
.cke_show_borders .organizatio_list table td {
  padding: 4px 10px;
  border: 1px solid #ccc;
}
#main .kenkyukai,
.cke_show_borders .kenkyukai {
  margin-bottom: 0;
}
#main .listbox,
.cke_show_borders .listbox {
  margin: 0;
}
#main .listbox ul,
.cke_show_borders .listbox ul {
  margin: 20px 0;
}
#main .listbox ul li,
.cke_show_borders .listbox ul li {
  margin: 10px 0 10px 15px;
}
#main .listbox ul li span.date,
.cke_show_borders .listbox ul li span.date {
  color: #666;
}
#main .entry_introduction,
.cke_show_borders .entry_introduction {
  margin: 40px 0;
}
#main .entry_introduction p,
.cke_show_borders .entry_introduction p {
  text-indent: 1em;
  margin: 1em 0;
}
#main .entry_introduction h3 span.sub,
.cke_show_borders .entry_introduction h3 span.sub {
  color: #666;
  font-size: 16px;
  display: block;
  font-weight: normal;
}
#main .signature,
.cke_show_borders .signature {
  text-align: right;
  font-size: 13px;
}
#main div.list-des,
.cke_show_borders div.list-des {
  margin: 0 0 25px;
}
#main div.list-des p,
.cke_show_borders div.list-des p {
  margin-top: 5px;
}
#main .button,
.cke_show_borders .button {
  display: table;
  margin: 30px auto;
  max-width: 240px;
}
#main .button a,
.cke_show_borders .button a {
  display: block;
  padding: 15px 25px;
  border-radius: 4px;
  background-color: #0889d3;
  font-size: 15px;
  text-decoration: none;
  color: #fff;
}
@media print, screen and (min-width: 1025px) {
  #main .button a,
  .cke_show_borders .button a {
    transition: 0.5s;
  }
  #main .button a:hover,
  .cke_show_borders .button a:hover {
    filter: contrast(1.75);
  }
}
#main .table,
.cke_show_borders .table {
  margin: 30px 0;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
#main .table th, #main .table td,
.cke_show_borders .table th,
.cke_show_borders .table td {
  padding: 4px 10px;
  border: 1px solid #ccc;
  font-size: 14px;
  line-height: 1.6;
}
#main .table th,
.cke_show_borders .table th {
  vertical-align: top;
  font-weight: 400;
  text-align: left;
}
#main .table.table-02 th,
.cke_show_borders .table.table-02 th {
  white-space: nowrap;
  color: #000;
  background-color: rgba(8, 137, 211, 0.1);
}
#main .table.table_seminar th,
.cke_show_borders .table.table_seminar th {
  background-color: #0889d3;
  color: #fff;
}
#main .table.table_seminar td,
.cke_show_borders .table.table_seminar td {
  background-color: #fff;
}
#main .table.table_seminar td[rowspan],
.cke_show_borders .table.table_seminar td[rowspan] {
  white-space: nowrap;
}
#main .table.table_seminar tr.table_bg td,
#main .table.table_seminar td.table_bg,
.cke_show_borders .table.table_seminar tr.table_bg td,
.cke_show_borders .table.table_seminar td.table_bg {
  background-color: rgba(8, 137, 211, 0.3);
}
#main blockquote,
.cke_show_borders blockquote {
  margin: 40px 0;
  padding: 15px;
  background-color: #f9f9f9;
  font-size: 14px;
  line-height: 1.65;
}
@media screen and (max-width: 767px) {
  #main blockquote,
  .cke_show_borders blockquote {
    margin: 25px 0;
    padding: 10px;
  }
}

/*# sourceMappingURL=lower_2022.css.map */
