@charset "utf-8";
header {
  width: 100%;
  height: 220px;
  position: relative;
  background: url("../images/header_contents_bk.png") 0 100% var(--main-color) no-repeat;
  background-size: contain;
}
h1 {
  position: absolute;
  left: 20px;
  top: 20px;
}
h1 a {
  display: flex;
  align-items: center;
}
h1 a img:nth-child(1) {
  width: 320px;
}
h1 a img:nth-child(2) {
  width: 220px;
  margin-left: 30px;
}
@media screen and (max-width:768px) {
  header {
    height: 140px;
    background: url("../images/header_contents_bk.png") 0 100% var(--main-color) no-repeat;
    background-size: cover;
  }
  h1 {
    left: 15px;
    top: 15px;
  }
  h1 a {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  h1 a img:nth-child(1) {
    width: 200px;
  }
  h1 a img:nth-child(2) {
    width: 120px;
    margin: 10px 0 0;
  }
}
#wrap {
  border-bottom: #fff 1px solid;
}
#wrap_r {
  padding-left: 10px;
}
#window_wrap {
  width: 800px;
  margin: 20px auto;
  text-align: left;
  background-color: #fff;
  box-shadow: 1px 1px 20px 7px rgba(0, 0, 0, 0.1);
}
#lang_btn {
	right: 15px;
	top: 15px;
}
#contents {
  min-height: 1060px;
  margin: 0 0 30px;
  padding: 30px;
  background-color: #fff;
}
@media screen and (max-width:768px) {
  #wrap_r {
    padding-left: 0;
  }
  #contents {
    min-height: 300px;
    margin: 0 0 15px;
    padding: 15px;
  }
  #window_wrap {
    width: 100%;
    margin: 0 auto;
  }
  #lang_btn {    
		right: 50px;
		top: 10px;
  }
}
/***** タイトル *****/
#page_ttl {
  margin-bottom: 30px;
  padding: 25px;
  background-color: var(--sub-color);
  border-left: var(--main-color) 7px solid;
}
#page_ttl h2 {
  letter-spacing: 0.1em;
  font-size: 2.7rem;
  font-weight: 700;
  color: var(--point-color);
}
/*#page_ttl h2:first-letter {
	color: var(--sub-color);
}*/
.ttl {
  margin-bottom: 30px;
  padding: 15px;
  display: flex;
  background-color: var(--bk-color-bl);
  border-bottom: var(--main-color) 1px solid;
}
.ttl.center {
  text-align: center;
  display: block;
}
.ttl_spa_bw {
  justify-content: space-between;
  align-items: center;
}
.ttl h3 {
  font-size: 2.1rem;
  text-align: left;
  color: var(--main-color);
}
.ttl.center h3 {
  text-align: center;
}
.ttl_btn a {
  padding: 7px 10px;
  font-size: 1.3rem;
  text-decoration: none;
  color: #fff;
  background-color: var(--main-color);
  border-radius: 100px;
  border: var(--main-color) 1px solid;
  transition: 0.5s;
}
.ttl_btn a:hover {
  color: var(--main-color);
  background: none;
}
.ttl_open {
  margin-left: 15px;
  padding: 3px 5px;
  font-size: 1.5rem;
  color: #fff;
  background-color: #bf1920;
}
.ttl_in {
  margin-bottom: 20px;
  padding: 7px 10px;
  font-size: 2.1rem;
  color: var(--main-color);
  border-left: var(--main-color) 3px solid;
  background-color: var(--bk-color-bl);
}
.sub_ttl {
  margin: 20px 0;
  padding: 10px;
  font-size: 1.9rem;
  color: var(--main-color);
  background-color: var(--bk-color-bl);
  border-bottom: var(--main-color) 1px solid;
}
.sub_ttl_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.details_under {
  padding: 3px 5px;
  font-size: 1.4rem;
  font-weight: 700;
  font-family: 'Noto Sans JP', sans-serif;
  color: #fff;
  background-color: #c50019;
}
.caption {
  margin: 20px 0;
  padding: 0 0 10px 15px;
  font-size: 1.8rem;
  color: var(--main-color);
  border-bottom: var(--main-color) 1px solid;
  position: relative;
}
.caption::before {
  content: "";
  height: 85%;
  position: absolute;
  left: 0;
  bottom: 5px;
  border-left: #bf1920 4px solid;
  display: block;
}
.sub_caption {
  margin: 15px 0 10px;
  padding-bottom: 7px;
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: #000 1px dotted;
  position: relative;
}
.sub_caption::before, .sub_caption::after {
  content: "";
  clear: both;
  display: block;
}
.box_ttl {
  margin: 15px 0;
  padding-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #cc0000;
  border-bottom: #ccc 1px solid;
}
.box_ttl2 {
  margin: 15px 0;
  padding-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #cc0000;
  border-bottom: #cc0000 1px dotted;
}
.box_ttl_bl {
  margin: 15px 0;
  padding-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #005d90;
  border-bottom: #ccc 1px solid;
}
.box_cap {
  margin: 15px 0 10px;
  padding-bottom: 5px;
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: #ccc 1px solid;
}
.box .box_ttl:first-child, .box_dot .box_ttl:first-child, .box_dou .box_ttl:first-child, .box_sol .box_ttl:first-child, .box .box_ttl2:first-child, .box_dot .box_ttl2:first-child, .box_dou .box_ttl2:first-child, .box_sol .box_ttl2:first-child, .box .box_ttl_bl:first-child, .box_dot .box_ttl_bl:first-child, .box_dou .box_ttl_bl:first-child, .box_sol .box_ttl_bl:first-child, .box .box_cap:first-child, .box_dot .box_cap:first-child, .box_dou .box_cap:first-child, .box_sol .box_cap:first-child {
  margin-top: 0;
}
@media screen and (max-width:768px) {
  #page_ttl {
    padding: 10px;
    border-left: var(--sub-color) 4px solid;
  }
  #page_ttl h2 {
    font-size: 2.2rem;
  }
  .ttl {
    margin-bottom: 20px;
    display: block;
  }
  .ttl h3 {
    font-size: 2rem;
  }
  .ttl_btn {
    margin-top: 5px;
  }
  .ttl_btn a {
    padding: 5px 10px;
    font-size: 1.3rem;
    text-decoration: none;
    color: #fff;
    background-color: var(--main-color);
    border-radius: 100px;
    border: var(--main-color) 1px solid;
    transition: 0.5s;
  }
  .ttl_btn a:hover {
    color: var(--main-color);
    background: none;
  }
  .ttl_in {
    padding: 5px 7px;
    font-size: 1.8rem;
  }
  .sub_ttl {
    padding: 5px;
    font-size: 1.7rem;
  }
  .sub_ttl_flex {
    display: block;
  }
  .details_under {
    margin-left: 10px;
    padding: 3px 5px;
    font-size: 1.2rem;
  }
  .box_ttl, .box_ttl2 {
    margin: 10px 0;
    padding-bottom: 5px;
    font-size: 1.7rem;
  }
  .box_cap {
    margin: 10px 0;
    padding-bottom: 5px;
    font-size: 1.6rem;
  }
  .caption {
    margin: 10px 0;
    font-size: 1.6rem;
  }
}
/***** ボックス *****/
.inner {
  margin-bottom: 50px;
}
#contents .inner:last-child {
  margin-bottom: 0;
}
.inner_item {
  margin-bottom: 40px;
}
.inner .inner_item:last-child {
  margin-bottom: 0;
}
#under {
  margin-top: 150px;
  text-align: center;
}
.box {
  margin: 15px 0;
  padding: 20px;
}
.inner .box:first-child, .inner_item .box:first-child {
  margin-top: 0;
}
.inner .box:last-child, .inner_item .box:last-child {
  margin-bottom: 0;
}
.inner .inner_item:last-child {
  margin-bottom: 0;
}
.box_bk_gr {
  background-color: #f5f5f5;
}
.box_bk_pk {
  background-color: #fdf3f6;
}
.box_bk_yl {
  background-color: #ffff00;
}
.box_bk_yl2 {
  background-color: #fafad2;
}
.box_bk_gre {
  background-color: #dbffdb;
}
.box_sol {
  padding: 20px;
  border-width: 2px;
  border-style: solid;
}
.box_dot {
  padding: 20px;
  border-width: 2px;
  border-style: dotted;
}
.box_dou {
  padding: 20px;
  border-width: 3px;
  border-style: double;
}
.box_pk {
  border-color: #f6c6d6;
}
.box_rd {
  border-color: #cc0000;
}
.box_bl {
  border-color: #005d90;
}
.box_gr {
  border-color: #ddd;
}
@media screen and (max-width:768px) {
  .inner {
    margin-bottom: 30px;
  }
  .inner_item {
    margin-bottom: 20px;
  }
  #under {
    margin: 50px 0 150px;
    text-align: center;
  }
  .box {
    margin: 15px 0;
    padding: 10px;
  }
  .box_sol {
    padding: 10px;
    border-width: 1px;
    border-style: solid;
  }
  .box_dot {
    padding: 10px;
    border-width: 1px;
    border-style: dotted;
  }
  .box_dou {
    padding: 10px;
  }
}
/***** ページリンク *****/
.page_link {
  display: flex;
  flex-wrap: wrap;
}
.page_link li {
  margin-bottom: 5px;
  margin-right: 15px;
  padding-left: 15px;
  position: relative;
}
.page_link li::before {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0.5em;
  display: block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid var(--main-color);
}
.page_link2 li {
  margin-bottom: 5px;
  padding-left: 15px;
  position: relative;
}
.page_link2 li::before {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0.5em;
  display: block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid var(--main-color);
}
/***** イメージ *****/
.full_fig img {
  width: 100%;
}
/***** テーブル *****/
.tb1 th {
  padding: 10px;
  border: #ccc 1px solid;
  font-weight: normal;
  background-color: #f9eaec;
}
.tb1 td {
  padding: 10px;
  border: #ccc 1px solid;
}
.tb2 th {
  padding: 5px;
  border: #ccc 1px solid;
  font-weight: normal;
  background-color: #f9eaec;
}
.tb2 td {
  padding: 5px;
  border: #ccc 1px solid;
}
.td_cap {
  background-color: #f5f5f5;
}
@media screen and (max-width:768px) {
  .tb1 th {
    padding: 5px;
  }
  .tb1 td {
    padding: 5px;
  }
}
/***** 挨拶関連 *****/
#greeting_name_box {
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
}
#greeting_name_box .greeting_movie_btn {
  margin: 0 20px 0 0;
  order: 1;
}
#greeting_name {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  order: 2;
  flex: 1;
}
#greeting_name dl {
  text-align: right;
  order: 1;
  flex: 1;
}
#greeting_name dt {
  font-size: 1.4rem;
}
#greeting_name dd {
  font-size: 1.4rem;
}
#greeting_name dd strong {
  font-size: 1.8rem;
}
#greeting_name figure {
  width: 110px;
  margin-left: 20px;
  order: 2;
}
#greeting_name figure img {
  width: 100%;
}
#unei_name {
  margin: 30px 0 0 auto;
}
#unei_name th {
  padding: 3px 30px 3px 0;
  text-align: left;
}
#unei_name td {
  padding: 3px 0;
  text-align: right;
}
.greeting_ttl {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 700;
}
.greeting_com {
  text-indent: 1em;
  line-height: 1.8;
}
.greeting_box {
  margin-bottom: 30px;
  display: flex;
}
.greeting_box_in {
  flex: 1;
}
.greeting_box_in a {
  padding: 15px;
  text-decoration: none;
  color: #000;
  display: flex;
  justify-content: space-between;
  transition: 0.5s;
}
.greeting_box_in a:hover {
  opacity: 0.6;
}
.greeting_box_in h3 {
  margin-bottom: 10px;
  font-size: 1.7rem;
  font-weight: 700;
}
.greeting_box_in figure {
  width: 120px;
  margin-right: 20px;
}
.greeting_box_in figure img {
  width: 100%;
}
.greeting_box_in div {
  flex: 1;
}
.greeting_box_in dt {
  width: 3em;
  padding-top: 1px;
  font-size: 1.6rem;
  float: left;
  clear: left;
}
.greeting_box_in dd {
  padding-left: 3em;
  font-size: 1.7rem;
}
.greeting_box_in dd span {
  font-size: 1.4rem;
}
.greeting_box_in1 {
  border: #7fc21b 3px solid;
}
.greeting_box_in2 {
  border: #33bbee 3px solid;
}
.greeting_box_in3 {
  border: #ee6699 3px solid;
}
.greeting_box_in4 {
  border: #f7c600 3px solid;
}
.greeting_box_in5 {
  border: #ee6633 3px solid;
}
.greeting_movie_btn {
  width: 135px;
  margin-left: 20px;
}
.greeting_movie_btn a {
  text-decoration: none;
  transition: 0.5s;
}
.greeting_movie_btn a:hover {
  opacity: 0.7;
}
.greeting_movie_btn figure {
  width: 100%;
}
.greeting_movie_btn img {
  height: 156px
}
.greeting_movie_btn p {
  height: 32px;
  padding-left: 15px;
  font-size: 1.4rem;
  text-decoration: none;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--main-color);
  position: relative;
}
.greeting_movie_btn p::before {
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.greeting_movie_btn p::after {
  left: 30px;
  box-sizing: border-box;
  width: 3px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 3px solid var(--main-color);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
@media screen and (max-width:768px) {
  #greeting_name_box {
    margin-bottom: 20px;
    display: block;
  }
  #greeting_name_box .greeting_movie_btn {
    margin: 20px auto 0;
  }
  #greeting_name {
    text-align: center;
    display: block;
  }
  #greeting_name figure {
    width: 110px;
    margin: 0 auto;
  }
  #greeting_name dl {
    margin-top: 15px;
    text-align: center;
  }
  #unei_name {
    margin: 20px 0 0 0;
  }
  #unei_name th {
    margin-top: 5px;
    padding: 0;
    display: block;
  }
  #unei_name td {
    padding: 0;
    text-align: left;
    display: block;
  }
  .greeting_box {
    margin-bottom: 20px;
    display: block;
  }
  .greeting_box_in a {
    padding: 10px;
  }
  .greeting_box_in a:hover {
    opacity: 0.6;
  }
  .greeting_box_in h3 {
    margin-bottom: 5px;
    font-size: 1.6rem;
  }
  .greeting_box_in figure {
    width: 100px;
    margin-right: 10px;
  }
  .greeting_box_in div {
    flex: 1;
  }
  .greeting_box_in dt {
    width: 2.5em;
    padding-top: 2px;
    font-size: 1.4rem;
    float: left;
    clear: left;
  }
  .greeting_box_in dd {
    padding-left: 2.5em;
    font-size: 1.7rem;
  }
  .greeting_box_in dd span {
    font-size: 1.4rem;
  }
  .greeting_movie_btn {
    width: 135px;
    margin: 20px auto 40px;
  }
}
/***** 演題 *****/
.endai_category_ttl {
  margin: 20px 0 10px;
  padding: 7px;
  font-weight: 700;
  border: #ccc 3px solid;
}
.endai_category_list {
  display: flex;
  flex-wrap: wrap;
}
.endai_category_list li {
  margin-right: 13px;
}
.endai_category_list li:last-child {
  margin-right: 0;
}
.endai_category {
  font-weight: 700;
}
.endai_category_a {
  color: #7fc21b;
}
.endai_category_b {
  color: #33bbee;
}
.endai_category_c {
  color: #ee6699;
}
.endai_category_d {
  color: #f7c600;
}
.endai_category_e {
  color: #ee6633;
}
.endai_tb_ttl {
  margin: 15px 0 10px;
  padding-bottom: 5px;
  font-size: 1.6rem;
  font-weight: 700;
  border-bottom: var(--main-color) 1px solid;
}
.endai_tb_cap {
  margin: 10px 0 5px;
  font-size: 1.6rem;
  font-weight: 700;
}
.endai_tb2 td .endai_tb_ttl:first-child {
  margin-top: 0;
}
.endai_tb_list {
  display: flex;
  justify-content: space-between;
}
.endai_tb_list ul {
  width: 49%;
}
.endai_tb_list ul li {
  margin-bottom: 5px;
  display: flex;
}
.endai_tb_list ul p:nth-child(1) {
  width: 2.5em;
  margin-right: 5px;
  text-align: right;
}
.endai_tb_list ul p:nth-child(2) {
  flex: 1;
}
.endai_tb1 {
  width: 100%;
}
.endai_tb1 th {
  width: 30%;
  text-align: center;
}
.endai_tb2 {
  width: 100%;
}
.endai_tb2 th {
  font-size: 1.4rem;
  text-align: center;
}
.endai_tb2 td {
  font-size: 1.4rem;
}
.endai_tb2 tr td:first-child {
  width: 25%;
  vertical-align: top;
  background-color: #f5f5f5;
}
.endai_check_list {
  display: flex;
  flex-wrap: wrap;
}
.endai_check_list li {
  width: 30%;
  margin-bottom: 5px;
  font-size: 1.5rem;
  font-weight: 700;
}
.endai_check_list li:nth-child(1), .endai_check_list li:nth-child(4) {
  width: 40%;
}
.endai_check_list_ttl {
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  border-bottom: #ccc 1px solid;
}
.endai_check_list_cap {
  margin: 25px 0 20px;
}
.endai_check_list_cap span {
  padding: 5px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  background-color: #3399cc;
}
.endai_check_icon {
  padding-left: 1.2em;
  position: relative;
}
.endai_check_icon::before {
  content: "□";
  position: absolute;
  left: 0;
  top: 0;
}
.endai_check_icon_list {
  margin-left: 1.2em;
}
.endai_check_icon_list li {
  padding-left: 1.2em;
  position: relative;
}
.endai_check_icon_list li::before {
  content: "□";
  position: absolute;
  left: 0;
  top: 0;
}
.endai_operation {
  font-weight: 700;
}
.endai_operation dd {
  margin: 0 0 5px 4em;
}
.endai_operation dd:last-child {
  margin-bottom: 0;
}
.os_dl dt {
  width: 6em;
  float: left;
  clear: left;
}
.os_dl .windows {
  color: #186c9a;
}
.os_dl .mac {
  color: #da1861;
}
.os_dl dd {
  padding-left: 6em;
}
.font_dl dt {
  width: 4em;
  float: left;
  clear: left;
}
.font_dl dd {
  padding-left: 4em;
}
.endai_btn1 {
  margin: 30px 0;
  display: flex;
  justify-content: space-between;
}
.endai_btn1 li {
  width: 48%;
}
.endai_btn1 li a {
  padding: 20px 0;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: #fff;
  display: block;
  background-color: var(--main-color);
  border-radius: 5px;
  transition: 0.5s;
  border: var(--main-color) 2PX solid;
}
.endai_btn1 li a span {
  margin-right: 10px;
  padding: 2px 5px;
  font-size: 1.4rem;
  color: var(--main-color);
  background-color: #fceb1d;
}
.endai_btn1 li a:hover {
  color: var(--main-color);
  background-color: #fff;
}
.endai_btn_box_out {
  display: flex;
  justify-content: space-between;
}
.endai_btn_box {
  margin-top: 20px;
  padding: 10px;
  text-align: center;
  background-color: #ececec;
  border: #ddd 1px solid;
}
.endai_btn_box dt {
  font-weight: 700;
}
.endai_btn_box ul {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
}
.endai_btn_box ul li a {
  padding: 10px 0;
  font-size: 1.5rem;
  text-align: center;
  text-decoration: none;
  color: #fff;
  display: block;
  background-color: var(--main-color);
  border-radius: 5px;
  transition: 0.5s;
  border: var(--main-color) 1PX solid;
}
.endai_btn_box ul li a:hover {
  color: var(--main-color);
  background-color: #fff;
}
.endai_btn_box1 {
  width: 49%;
}
.endai_btn_box1 ul {
  justify-content: center;
}
.endai_btn_box1 ul li {
  width: 48%;
}
.endai_btn_box2 ul li {
  margin-right: 10px;
  flex: auto;
}
.endai_btn_box2 ul li:last-child {
  margin-right: 0;
}
.endai_back_btn a {
  width: 40%;
  margin: 30px auto 0;
  padding: 10px 15px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f7cdd4;
  border-radius: 100px;
  transition: 0.5s;
}
.endai_back_btn a::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 15px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(-135deg);
  transition: 0.5s;
}
.endai_back_btn a:hover {
  color: #fff;
  background-color: #DC667A;
}
.endai_back_btn a:hover::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media screen and (max-width:768px) {
  .endai_category_ttl {
    margin: 15px 0 10px;
    padding: 5px;
    border: #ccc 2px solid;
  }
  .endai_category_list li {
    margin-right: 10px;
  }
  .endai_tb_ttl {
    font-size: 1.5rem;
  }
  .endai_tb_cap {
    font-size: 1.5rem;
  }
  .endai_tb_list {
    display: block;
  }
  .endai_tb_list ul {
    width: 100%;
  }
  .endai_tb_list ul li {
    margin-bottom: 5px;
    display: flex;
  }
  .endai_tb_list ul p:nth-child(1) {
    width: 2.5em;
    margin-right: 5px;
    text-align: right;
  }
  .endai_tb_list ul p:nth-child(2) {
    flex: 1;
  }
  .endai_tb1 th {
    width: 43%;
    font-size: 1.5rem;
    text-align: left;
  }
  .endai_tb1 td {
    font-size: 1.5rem;
  }
  .endai_tb2 tr td:first-child {
    width: 30%;
  }
  .endai_check_list {
    display: block;
  }
  .endai_check_list li {
    width: 100%;
  }
  .endai_check_list li:nth-child(1), .endai_check_list li:nth-child(4) {
    width: 100%;
  }
  .endai_check_list_ttl {
    text-align: left;
  }
  .endai_check_list_cap {
    margin: 25px 0 20px;
  }
  .endai_check_list_cap span {
    display: block;
  }
  .endai_operation dd {
    margin: 0 0 5px 1.5em;
  }
  .endai_btn1 {
    margin: 20px 0;
    display: block;
  }
  .endai_btn1 li {
    width: 100%;
    margin-bottom: 10px;
  }
  .endai_btn1 li:last-child {
    margin-bottom: 0;
  }
  .endai_btn1 li a {
    padding: 15px 0;
  }
  .endai_btn_box_out {
    display: block;
  }
  .endai_btn_box1 {
    width: 100%;
  }
  .endai_btn_box ul {
    display: block;
  }
  .endai_btn_box ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  .endai_btn_box ul li:last-child {
    margin-bottom: 0;
  }
  .endai_btn_box2 ul li {
    margin-right: 0;
  }
  .endai_back_btn a {
    width: 100%;
    margin: 20px auto 0;
    padding: 10px 0;
    justify-content: center;
  }
  .endai_back_btn a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(-135deg);
    transition: 0.5s;
  }
  .endai_back_btn a:hover {
    color: #fff;
    background-color: #DC667A;
  }
  .endai_back_btn a:hover::before {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }
}
/***** 倫理 *****/
#rinri_wrap {
  min-height: 100vh;
  max-height: 100%;
  background-color: #fff;
}
#rinri_wrap > div {
  max-width: 960px;
  margin: 0 auto;
  padding: 30px 0;
}
#rinri_wrap > div img {
  width: 100%;
}
#rinri_wrap > div p {
  margin-top: 30px;
}
#rinri_wrap > div p a {
  padding: 20px;
  font-size: 2rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
  display: block;
  background-color: var(--main-color);
  border: var(--main-color) 3px solid;
  transition: 0.5s;
}
#rinri_wrap > div p a:hover {
  color: var(--main-color);
  background-color: #fff;
}
.rinri_ttl {
  margin: 20px 0 10px;
  padding: 7px 10px;
  font-size: 1.8rem;
  color: var(--main-color);
  border: var(--main-color) 1px solid;
}
.rinri_cap {
  margin: 30px 0 20px 0;
  padding: 10px 0 10px 1em;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--main-color);
  text-indent: -1em;
  border-top: var(--main-color) 1px solid;
  border-bottom: var(--main-color) 1px solid;
}
.rinri_full_box {
  position: relative;
}
.rinri_full_box a {
  width: 100%;
  height: 100%;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  transition: 0.5s;
}
.rinri_full_box a:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.rinri_full_box a p {
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  color: var(--main-color);
}
.rinri_full_box img {
  width: 100%;
}
.rinri_dl dt {
  margin-bottom: 10px;
  padding-bottom: 5px;
  font-weight: 700;
  border-bottom: #000 1px dotted;
}
.rinri_dl dd {
  margin-bottom: 15px;
}
.rinri_dl dd:last-child {
  margin-bottom: 0;
}
.qanda_inner {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: #000 1px dotted;
}
.qanda_border {
  padding-bottom: 50px;
  border-bottom: #aaa 15px solid;
}
.question, .answer {
  display: flex;
  align-items: flex-start;
}
.question {
  margin-bottom: 15px
}
.question > p, .answer > p {
  width: 3em;
  margin-right: 15px;
  padding: 5px 0;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
.question > p {
  background-color: var(--main-color);
}
.answer > p {
  background-color: var(--sub-color);
}
.question > div, .answer > div {
  padding-top: 5px;
  flex: 1;
}
.question > div > p {
  font-weight: 700;
}
.rinri_ex_box {
  margin-bottom: 20px;
  padding: 20px;
  border: #ddd 3px solid;
}
.rinri_ex_box:last-child {
  margin-bottom: 0;
}
.title_kasen {
  margin-bottom: 10px;
}
.wrapper_category p {
  margin-bottom: 10px;
}
.wrapper_category p:last-child {
  margin-bottom: 0;
}
.note_tb {
  width: 100%;
  margin-top: 15px;
}
.note_tb th {
  width: 3em;
  padding: 0 10px 8px 0;
  vertical-align: top;
  font-weight: 700;
  white-space: nowrap;
}
.note_tb td {
  padding-bottom: 8px;
  vertical-align: top;
}
.rinri_ex_ttl {
  margin-bottom: 10px;
}
.rinri_ex_ttl > div {
  color: #366e09;
  display: flex;
}
.rinri_ex_ttl > div p {
  font-weight: 700;
}
.rinri_ex_ttl > div div {
  flex: 1;
}
.rinri_ex_ttl > div h4 {
  margin-bottom: 5px;
  font-weight: 700;
}
.rinri_ex_ttl h5 {
  padding-left: 2.5em;
  font-weight: 700;
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.rinri_ex_ttl h5::before {
  content: "";
  width: 1.5em;
  height: 5px;
  transform: skew(45deg);
  position: absolute;
  left: 0;
  top: 15px;
}
.rinri_ex_ttl h5 strong {
  font-size: 2rem;
  font-weight: 700;
  text-decoration: underline;
}
.rinri_ex_ttl .rinri_ex_ttl1 {
  color: #cc0000;
}
.rinri_ex_ttl .rinri_ex_ttl1::before {
  border-bottom: 1px solid #cc0000;
  border-right: 1px solid #cc0000;
}
.rinri_ex_ttl .rinri_ex_ttl2, .rinri_ex_ttl .rinri_ex_ttl2::before {
  color: #0b55a8;
}
.rinri_ex_ttl .rinri_ex_ttl2::before {
  border-bottom: 1px solid #0b55a8;
  border-right: 1px solid #0b55a8;
}
.rinri_ex_cap {
  margin-bottom: 15px;
  padding: 10px;
  border: var(--main-color) 1px solid;
  display: flex;
}
.rinri_ex_cap dt {
  width: 3em;
  font-weight: 700;
  color: var(--main-color);
}
.rinri_ex_cap dd {
  font-weight: 700;
  color: var(--main-color);
  flex: 1;
}
.rinri_ex_dl dt {
  margin-bottom: 5px;
}
.rinri_ex_dl dd {
  margin-bottom: 20px;
}
.rinri_ex_dl dd:last-child {
  margin-bottom: 0;
}
@media screen and (max-width:768px) {
  #rinri_wrap > div {
    padding: 10px;
  }
  #rinri_wrap > div p {
    margin-top: 10px;
  }
  #rinri_wrap > div p a {
    padding: 5px;
    font-size: 1.6rem;
  }
  .rinri_ex_box {
    padding: 10px;
    border: #ddd 2px solid;
  }
  .rinri_ex_dl dd {
    margin-bottom: 15px;
  }
}
@media print {
  #rinri_wrap > div p {
    display: none;
  }
}
/***** プログラム *****/
.program_link {
  padding: 20px 20px 15px;
  border: #ddd 3px solid;
  display: flex;
  flex-wrap: wrap;
}
.program_link li {
  margin-right: 15px;
  padding-left: 15px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #999;
  position: relative;
}
.program_link li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 5px;
  height: 5px;
  border-bottom: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  display: inline-block;
  vertical-align: middle;
}
.program_link li a {
  font-size: 1.4rem;
  text-decoration: none;
  color: #333;
}
.program_link li a:hover {
  text-decoration: underline;
}
.pro_icon_list dt {
  width: 6em;
  float: left;
  clear: left;
}
.pro_icon_list dd {
  margin-left: 6em;
}
.pro_icon_list dd ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.pro_icon_list dd li {
  width: 50%;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
}
.pro_icon_list dd li span {
  width: 60px;
  margin-right: 10px;
  padding: 5px 0;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
}
.pro_icon_list dd li:nth-child(1) span {
  background-color: #7fc21b;
}
.pro_icon_list dd li:nth-child(2) span {
  background-color: #33bbee;
}
.pro_icon_list dd li:nth-child(3) span {
  background-color: #ee6699;
}
.pro_icon_list dd li:nth-child(4) span {
  background-color: #f7c600;
}
.pro_icon_list dd li:nth-child(5) span {
  background-color: #ee6633;
}
.pro_icon_list dd li:nth-child(6) span {
  background-color: #bb77ee;
}
.pro_icon {
  width: 60px;
  margin-right: 20px;
}
.pro_icon li {
  margin-bottom: 3px;
  padding: 5px 0;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
}
.pro_icon li:last-child {
  margin-bottom: 0;
}
.pro_icon1 {
  background-color: #7fc21b;
}
.pro_icon2 {
  background-color: #33bbee;
}
.pro_icon3 {
  background-color: #ee6699;
}
.pro_icon4 {
  background-color: #f7c600;
}
.pro_icon5 {
  background-color: #ee6633;
}
.pro_icon6 {
  background-color: #bb77ee;
}
.pro_inner {
  margin-bottom: 30px;
  display: flex;
}
.inner .pro_inner:last-child {
  margin-bottom: 0;
}
.pro_inner_item {
  flex: 1;
}
.pro_ttl {
  margin-bottom: 15px;
  display: flex;
  flex-wrap: wrap;
}
.pro_ttl p {
  padding-top: 2px;
  font-size: 1.4rem;
}
.pro_ttl_p_m {
  width: 130px;
}
.pro_ttl_p_ms {
  width: 115px;
}
.pro_ttl_p_s {
  width: 100px;
}
.pro_ttl_p_ss {
  width: 60px;
}
.pro_ttl_p_sss {
  width: 50px;
}
.pro_ttl_p_full {
  width: 100%;
  margin-bottom: 3px;
}
.pro_ttl h4 {
  font-weight: 700;
  color: var(--main-color);
  flex: 1;
}
.pro_ttl_ml {
  margin-left: 50px;
}
.session_change {
  padding: 15px;
  color: #fff;
  background: #cc0000;
}
.session_change dt {
  margin-bottom: 5px;
  font-weight: 700;
}
.change_icon {
  padding: 1px 5px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  background-color: #cc0000;
}
.pro_cate {
  margin: 10px 0 15px;
  font-weight: 700;
  color: #bf1920;
}
.pro_date_box {
  margin-bottom: 15px;
}
.pro_date_box::before {
  content: "";
  display: block;
  clear: both;
}
.pro_date_box::after {
  content: "";
  display: block;
  clear: both;
}
.pro_date {
  margin-left: 10px;
  float: right;
}
.pro_date span {
  padding: 3px 7px;
  font-size: 1.3rem;
  border: #ccc 1px solid;
}
.pro_kobo {
  float: right;
}
.pro_kobo span {
  padding: 3px 7px;
  font-size: 1.3rem;
  border: #f3d1dd 1px solid;
  background-color: #fbe7ee;
}
.pro_name, .pro_name_l {
  margin-top: 5px;
}
.pro_name dt, .pro_name_l dt {
  width: 3em;
  float: left;
  clear: left;
}
.pro_name dd, .pro_name_l dd {
  margin-left: 3em;
  display: flex;
}
.pro_name dd p:nth-child(1) {
/*  width: 140px;*/
  width: 230px;
  font-weight: 700;
}
.pro_name dd p:nth-child(2), .pro_name_l dd p:nth-child(2) {
  padding-top: 2px;
  font-size: 1.4rem;
  flex: 1;
}
.pro_name_l dd p:nth-child(1) {
/*  width: 250px;*/
  width: 230px;
  font-weight: 700;
}
.pro_name dd p:nth-child(1) span, .pro_name_l dd p:nth-child(1) span {
  margin-left: 5px;
  font-size: 1.4rem;
  color: #0066CC;
}
.pro_name dd p:nth-child(1) span a, .pro_name_l dd p:nth-child(1) span a {
  color: #0066CC;
}
.pro_name dd p:nth-child(1) span a:hover, .pro_name_l dd p:nth-child(1) span a:hover {
  text-decoration: none;
}
.message_btn {
  margin-bottom: 10px;
}
.message_btn a {
  width: 6.5em;
  padding: 5px 10px 5px 20px;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: #bf1920;
  border: #bf1920 2px solid;
  display: block;
  position: relative;
  transition: 0.5s;
}
.message_btn a:hover {
  background-color: #ffe2e3;
}
.message_btn a::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 37%;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #bf1920;
  display: block;
}
.inner_message {
  padding: 30px;
  border: #eee 2px solid;
}
#message_wrap {
  width: 800px;
  margin: 20px auto;
  text-align: left;
  background-color: #fff;
  box-shadow: 1px 1px 20px 7px rgba(0, 0, 0, 0.1);
}
.s_detail_ttl {
  margin: 15px 0 10px;
  display: flex;
  align-items: flex-start;
}
.s_detail_ttl p {
  width: 100px;
  margin-right: 10px;
  padding: 3px;
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
  background-color: var(--main-color);
}
.s_detail_ttl p a {
  color: #fff;
}
.s_detail_ttl p a:hover {
  text-decoration: none;
}
.s_detail_ttl h5 {
  color: var(--main-color);
  flex: 1;
}
.s_detail_ttl h5 a {
  color: var(--main-color);
}
.s_detail_ttl h5 a:hover {
  text-decoration: none;
}
.s_detail_name {
  margin-left: 110px;
}
.s_detail_name dd {
  display: flex;
}
.s_detail_name dd p:nth-child(1) {
  width: 120px;
  font-weight: 700;
}
.s_detail_name dd p:nth-child(2) {
  padding-top: 2px;
  font-size: 1.4rem;
  flex: 1;
}
.medical_d_name dt {
  width: 100px;
  text-align: right;
  float: left;
  clear: left;
}
.medical_d_name dd {
  margin-left: 110px;
  display: flex;
}
.medical_d_name dd p:nth-child(1) {
  width: 120px;
  font-weight: 700;
}
.medical_d_name dd p:nth-child(2) {
  padding-top: 2px;
  font-size: 1.4rem;
  flex: 1;
}
.medical_date {
  margin-bottom: 15px;
  font-size: 1.4rem;
}
@media screen and (max-width:768px) {
  .program_link {
    padding: 10px 10px 5px;
    border: #ddd 2px solid;
  }
  .pro_icon_list dt {
    width: 100%;
    margin-bottom: 10px;
    float: none;
  }
  .pro_icon_list dd {
    margin-left: 0;
  }
  .pro_icon_list dd ul {
    display: block;
  }
  .pro_icon_list dd li {
    width: 100%;
    margin: 5px 0;
  }
  .pro_ttl {
    display: block;
  }
  .pro_ttl p {
    padding-top: 0;
  }
  .pro_ttl_p_m, .pro_ttl_p_s, .pro_ttl_p_ss, .pro_ttl_p_sss {
    width: 100%;
  }
  .pro_ttl_ml {
    margin-left: 0;
  }
  .pro_date_box {
    text-align: right;
  }
  .pro_date {
    float: none;
  }
  .pro_date.medical_date span {
    display: block;
  }
  .pro_kobo {
    margin-top: 10px;
    float: none;
  }
  .pro_name dd, .pro_name_l dd {
    display: block;
    margin-bottom: 5px;
  }
  .pro_name dd p:nth-child(1) {
    width: 100%;
  }
  .pro_name dd p:nth-child(2), .pro_name_l dd p:nth-child(2) {
    padding-top: 0;
    font-size: 1.3rem;
  }
  .pro_name_l dd p:nth-child(1) {
    width: 100%;
  }
  .inner_message {
    padding: 0;
    border: none;
  }
  #message_wrap {
    width: 100%;
    margin: 0 auto;
  }
  .s_detail_ttl {
    margin: 15px 0 5px;
    display: block;
  }
  .s_detail_ttl p {
    margin-right: 0;
    margin-bottom: 5px;
  }
  .s_detail_ttl h5 {
    color: var(--main-color);
    flex: 1;
  }
  .s_detail_name {
    margin-left: 0;
  }
  .s_detail_name dt {
    width: 100%;
    float: none;
  }
  .s_detail_name dd {
    display: block;
    margin-bottom: 5px;
    margin-left: 0;
  }
  .medical_d_name dt {
    width: 3.5em;
    text-align: left;
  }
  .medical_d_name dd {
    margin-left: 3.5em;
    margin-bottom: 5px;
    display: block;
  }
  .medical_d_name dd p:nth-child(1) {
    width: 100%;
  }
  .medical_d_name dd p:nth-child(2) {
    padding-top: 2px;
    font-size: 1.4rem;
    flex: 1;
  }
}
.cv_box {
  padding: 20px;
  border: #ddd 1px solid;
}
.cv_box h4 {
  margin: 15px 0 10px;
  font-weight: 700;
}
.cv_box h4:nth-child(1) {
  margin-top: 0;
}
.cv_box li {
  margin-bottom: 5px;
}
.cv_name {
  display: flex;
  align-items: flex-end;
}
.cv_name figure {
  width: 120px;
  margin-right: 20px;
}
.cv_name figure img {
  width: 100%;
}
.cv_name dl {
  flex: 1;
}
.cv_name dt {
  font-weight: 700;
}
.cv_name dd {
  margin-top: 5px;
}
.cv_tb td {
  padding-bottom: 5px;
}
.cv_tb1 tr td:nth-child(1) {
  padding-right: 15px;
  white-space: nowrap;
  vertical-align: top;
}
.cv_tb2 tr td:nth-child(1) {
  padding-right: 10px;
  white-space: nowrap;
  vertical-align: top;
}
.cv_tb2 tr td:nth-child(2) {
  padding-right: 15px;
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb3 tr td:nth-child(1) {
  white-space: nowrap;
  vertical-align: top;
}
.cv_tb3 tr td:nth-child(2) {
  padding-right: 10px;
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb3 tr td:nth-child(3) {
  padding-right: 15px;
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb4 tr td:nth-child(1) {
  white-space: nowrap;
  vertical-align: top;
}
.cv_tb4 tr td:nth-child(2) {
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb4 tr td:nth-child(3) {
  padding-right: 15px;
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb5 tr td:nth-child(1) {
  white-space: nowrap;
  vertical-align: top;
}
.cv_tb5 tr td:nth-child(2) {
  padding-right: 15px;
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb6 tr td:nth-child(1) {
  white-space: nowrap;
  vertical-align: top;
}
.cv_tb6 tr td:nth-child(2) {
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb6 tr td:nth-child(3) {
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
.cv_tb6 tr td:nth-child(4) {
  padding-right: 15px;
  white-space: nowrap;
  vertical-align: top;
  text-align: right;
}
@media screen and (max-width:768px) {
  .cv_box {
    padding: 10px;
  }
  .cv_tb1 tr td:nth-child(1) {
    padding-right: 10px;
  }
  .cv_tb2 tr td:nth-child(1) {
    padding-right: 5px;
  }
  .cv_tb2 tr td:nth-child(2) {
    padding-right: 10px;
  }
}
/***** ハンズオン *****/
.handson_ttl {
  border-bottom: none;
}
.handson_ttl1 {
  background-color: #7fc21b;
}
.handson_ttl2 {
  background-color: #33bbee;
}
.handson_ttl3 {
  background-color: #ee6699;
}
.handson_ttl4 {
  background-color: #f7c600;
}
.handson_ttl h3 {
  color: #fff;
}
.handson_caption {
  margin-bottom: 15px;
  padding: 10px;
  font-size: 1.9rem;
  color: var(--main-color);
  display: flex;
  justify-content: space-between;
  background-color: var(--bk-color-bl);
  border-bottom: var(--main-color) 1px solid;
}
.handson_sub_caption {
  margin: 15px 0 10px;
  padding-left: 10px;
  border-left: #000 4px solid;
}
.handson_name1 {
  margin-left: auto;
  margin-right: 0;
}
.handson_name1 th {
  vertical-align: top;
}
.handson_name1 ul li {
  margin-bottom: 3px;
  display: flex;
}
.handson_name1 ul li p:nth-child(1) {
  width: 120px;
}
.handson_name1 ul li p:nth-child(2) {
  flex: 1;
}
.handson_name2 {
  margin: 25px 0 5px;
}
.handson_name2 + .handson_name2 {
  margin: 5px 0 30px;
}
.handson_name2 dt {
  width: 9em;
  float: left;
  clear: left;
}
.handson_name2 dd {
  margin: 0 0 3px 9em;
  display: flex;
}
.handson_name2 dd p:nth-child(1) {
  width: 120px;
}
.handson_name2 dd p:nth-child(2) {
  flex: 1;
}
.handson_box {
  margin-top: 15px;
  padding: 20px;
  border: #eee 3px solid;
}
.handson_box dt {
  margin-bottom: 10px;
  padding-left: 10px;
  font-weight: 700;
  border-left: #000 4px solid;
}
.handson_pro_dl dd {
  margin-bottom: 10px;
}
.handson_pro_dl dd ul {
  margin-top: 5px;
}
.handson_pro_dl dd li {
  margin-bottom: 3px;
  display: flex;
}
.handson_deadline tr td:nth-child(2) {
  padding-right: 10px;
}
@media screen and (max-width:768px) {
  .handson_caption {
    padding: 5px;
    font-size: 1.7rem;
    display: block;
  }
  .handson_caption + .pro_date {
    margin: 0;
  }
  .handson_caption + .pro_date span {
    width: 100%;
    display: block;
  }
  .handson_name1 ul li {
    display: block;
  }
  .handson_name1 {
    margin: 0;
  }
  .handson_name1 th {
    white-space: nowrap;
  }
  .handson_name2 dd {
    display: block;
  }
  .handson_pro_dl dd li p:nth-child(2) {
    flex: 1;
  }
  .handson_box {
    padding: 10px;
  }
  .handson_deadline td {
    display: block;
  }
  .handson_deadline tr td:nth-child(2) {
    padding-right: 0;
  }
}
/***** 日程 *****/
#nittei_btn {
  display: flex;
  justify-content: space-between;
}
#nittei_btn li {
  width: calc(94% / 4);
}
#nittei_btn li a {
  padding: 15px 10px;
  font-weight: 700;
  display: block;
  text-align: center;
  text-decoration: none;
  letter-spacing: normal;
  color: #fff;
  background-color: var(--main-color);
  border: var(--main-color) 2px solid;
  transition: all 0.4s;
}
#nittei_btn li a:hover {
  color: var(--main-color);
  background-color: #fff;
}
#nittei_btn li a span {
  margin-top: 5px;
  padding: 3px 0;
  font-size: 1.3rem;
  font-weight: normal;
  color: var(--main-color);
  border: var(--main-color) 1px solid;
  display: block;
  background-color: #fff;
}
#nittei_btn2 {
  display: flex;
}
#nittei_btn2 li {
  width: calc(94% / 4);
  margin-right: 2%;
}
#nittei_btn2 li a {
  padding: 15px 10px;
  font-weight: 700;
  display: block;
  text-align: center;
  text-decoration: none;
  letter-spacing: normal;
  color: #fff;
  background-color: var(--main-color);
  border: var(--main-color) 2px solid;
  transition: all 0.4s;
}
#nittei_btn2 li a:hover {
  color: var(--main-color);
  background-color: #fff;
}
#nittei_btn2 li a span {
  margin-top: 5px;
  padding: 3px 0;
  font-size: 1.1rem;
  font-weight: normal;
  color: var(--main-color);
  border: var(--main-color) 1px solid;
  display: block;
  background-color: #fff;
}
.kaikoku_box {
  margin-top: 30px;
  padding: 30px;
  border: #e4d9c6 3px solid;
}
.kaikoku_box h3 {
  margin-bottom: 30px;
  text-align: center;
}
.kaikoku_box h4 {
  margin: 20px 0 10px;
  font-weight: 700;
  color: var(--main-color);
}
.kaisoku_box_in {
  padding: 20px;
  text-align: center;
  background-color: #f3f3f3;
  border-radius: 5px;
}
.kaikoku_pw {
  margin: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kaikoku_pw p {
  font-weight: 700;
}
.kaikoku_pw ul {
  margin-left: 20px;
  padding: 10px 30px;
  display: flex;
  align-items: center;
  border: #cc0000 2px solid;
}
.kaikoku_pw ul li:last-child {
  margin-left: 30px;
}
@media screen and (max-width:768px) {
  #nittei_btn {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #nittei_btn li {
    width: 49%;
    margin-bottom: 2%;
  }
  #nittei_btn2 {
    display: block;
  }
  #nittei_btn2 li {
    width: 100%;
    margin-bottom: 2%;
  }
  #nittei_btn li a, #nittei_btn2 li a {
    padding: 10px;
    font-weight: 700;
    display: block;
    text-align: center;
    text-decoration: none;
    letter-spacing: normal;
    color: #fff;
    background-color: var(--main-color);
    border: var(--main-color) 2px solid;
    transition: all 0.4s;
  }
  #nittei_btn li a span, #nittei_btn2 li a span {
    margin-top: 5px;
    padding: 3px;
    font-size: 1.4rem;
    font-weight: normal;
    color: var(--main-color);
    border: var(--main-color) 1px solid;
    display: block;
    background-color: #fff;
  }
  .kaikoku_box {
    margin-top: 20px;
    padding: 15px;
  }
  .kaikoku_box h3 {
    margin-bottom: 20px;
    text-align: center;
  }
  .kaikoku_box h4 {
    margin: 15px 0 10px;
  }
  .kaisoku_box_in {
    padding: 20px;
    text-align: center;
    background-color: #f3f3f3;
    border-radius: 5px;
  }
  .kaikoku_pw {
    margin: 20px 0;
    display: block;
  }
  .kaikoku_pw p {
    text-align: center;
  }
  .kaikoku_pw ul {
    margin-left: 0;
    margin-top: 10px;
    padding: 10px 0;
    display: flex;
    justify-content: center;
    border: #cc0000 1px solid;
  }
  .kaikoku_pw ul li:last-child {
    margin-left: 10px;
  }
}
/***** お知らせ *****/
.oshirase_schedule dt {
  width: 18em;
  float: left;
  clear: left;
}
.oshirase_schedule dd {
  margin-bottom: 5px;
  padding-left: 18em;
}
.oshirase_flow_box_sin {
  padding: 20px;
  text-align: center;
  border: #333 1px solid;
}
.oshirase_flow_box_sin h4 {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #005d90;
}
.oshirase_flow_box_sin h5 {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}
.oshirase_flow_box_dou {
  display: flex;
  justify-content: space-between;
}
.oshirase_flow_box_dou p {
  width: 48%;
  padding: 20px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  border: #333 1px solid;
}
.oshirase_flow_arr {
  margin: 15px 0;
  display: flex;
  justify-content: space-between;
}
.oshirase_flow_arr dl, .oshirase_flow_arr li {
  width: 48%;
}
.oshirase_flow_arr dt {
  margin-bottom: 10px;
  text-align: center;
  color: #005d90;
}
.oshirase_flow_arr dd, .oshirase_flow_arr p {
  width: 0;
  height: 0;
  margin: 0 auto;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-top: 20px solid #bad3e0;
}
.oshirase_tb1 {
  width: 100%;
}
.oshirase_tb1 th {
  width: 25%;
  text-align: center;
  vertical-align: top;
}
.oshirase_tb2 {
  width: 100%;
}
.oshirase_tb2 th {
  width: 30%;
  text-align: left;
  vertical-align: top;
}
.oshirase_tb2 tr td:nth-last-child(2) {
  text-align: center;
  background-color: #f5f5f5;
}
.oshirase_tb3 {
  width: 100%;
}
.oshirase_tb3 th {
  text-align: center;
}
.oshirase_tb3 td {
  text-align: center;
}
.unit_tb {
  width: 100%;
}
.unit_tb th {
  font-size: 1.5rem;
  text-align: center;
}
.unit_tb td {
  font-size: 1.5rem;
  text-align: center;
}
.unit_tb tr th:nth-last-child(1) {
  width: 12%;
}
.unit_tb tr th:nth-last-child(2) {
  width: 18%;
}
.unit_tb tr th:nth-last-child(3) {
  width: 17%;
}
.unit_tb tr th:nth-last-child(4) {
  width: 7%;
}
.unit_tb .td_cap {
  text-align: left;
}
.oshirase_time dt {
  width: 8em;
  float: left;
  clear: left;
}
.oshirase_time dd {
  padding-left: 8em;
}
.oshirase_operation dd {
  margin: 0 0 5px 3em;
}
.oshirase_operation dd:last-child {
  margin-bottom: 0;
}
.oshirase_slide_box {
  margin: 15px 0;
  display: flex;
  justify-content: space-between;
}
.oshirase_slide_box dl {
  flex: 1;
}
.oshirase_slide_box dt {
  margin-bottom: 5px;
  padding-left: 15px;
  font-weight: 700;
  position: relative;
}
.oshirase_slide_box dt::before {
  content: "●";
  font-size: 1rem;
  color: #bf1920;
  position: absolute;
  left: 0;
  top: 0.5em;
}
.oshirase_slide_box figure {
  margin-left: 10px;
}
.crown {
  padding-left: 18px;
  background: url("../images/icon_crown.png") 0 50% no-repeat;
}
.ribbon {
  padding-left: 18px;
  background: url("../images/icon_ribbon.png") 0 50% no-repeat;
}
.medal {
  padding-left: 18px;
  background: url("../images/icon_medal.png") 0 50% no-repeat;
}
.oshirase_contact dt {
  margin-top: 15px;
}
.oshirase_contact dd {
  margin-left: 1em;
}
@media screen and (max-width:768px) {
  .oshirase_schedule dt {
    width: 100%;
    float: none;
  }
  .oshirase_schedule dd {
    padding-left: 0;
  }
  .oshirase_flow_box_sin {
    padding: 10px;
    text-align: left;
  }
  .oshirase_flow_box_sin h4 {
    font-size: 1.6rem;
  }
  .oshirase_flow_box_sin h5 {
    font-size: 1.5rem;
  }
  .oshirase_flow_box_sin p {
    font-size: 1.3rem;
  }
  .oshirase_flow_box_dou p {
    width: 48%;
    padding: 10px;
    font-size: 1.3rem;
    text-align: center;
    border: #333 1px solid;
  }
  .oshirase_flow_arr {
    margin: 10px 0;
  }
  .oshirase_flow_arr dt {
    font-size: 1.4rem;
  }
  .oshirase_flow_arr dd, .oshirase_flow_arr p {
    border-left: 50px solid transparent;
    border-right: 50px solid transparent;
    border-top: 12px solid #bad3e0;
  }
  .oshirase_tb2 th {
    width: 25%;
  }
  .oshirase_tb2 tr td:nth-last-child(2) {
    width: 25%;
  }
  .oshirase_tb3 {
    width: 730px;
  }
  .oshirase_tb3 th {
    font-size: 1.4rem;
  }
  .oshirase_tb3 td {
    font-size: 1.4rem;
  }
  .unit_tb {
    width: 730px;
  }
  .unit_tb th {
    font-size: 1.4rem;
  }
  .unit_tb td {
    font-size: 1.4rem;
  }
  .oshirase_slide_box {
    display: block;
  }
  .oshirase_slide_box dl {
    margin-bottom: 10px;
  }
  .oshirase_slide_box figure {
    margin-left: 0;
  }
  .oshirase_slide_box figure img {
    width: 100%;
  }
}
/***** 展示 *****/
.tenji_com {
  margin-top: 15px;
  text-indent: 1em;
}
.tenji_link li {
  margin-top: 10px;
}
.tenji_link li {
  color: #005d90;
  border: #005d90 2px solid;
}
.tenji_link.no_link li {
  padding: 15px;
}
.tenji_link li a {
  padding: 15px 15px 15px 30px;
  text-decoration: none;
  display: block;
  position: relative;
  transition: 0.5s;
}
.tenji_link li a::before {
  content: "";
  width: 0;
  height: 0;
  position: absolute;
  left: 15px;
  top: 40%;
  display: block;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #666;
}
.tenji_link li a:hover {
  background-color: #e8f3f9;
}
@media screen and (max-width:768px) {
  .tenji_link li a {
    padding: 10px 10px 10px 20px;
    border: #005d90 1px solid;
  }
  .tenji_link li a::before {
    left: 10px;
    top: 1.2em;
    display: block;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 5px solid #666;
  }
}
/***** 広告 *****/
.koukoku_tb {
  width: 100%;
}
.koukoku_tb th {
  width: 30%;
}
.koukoku_dl1 dt {
  width: 9em;
  float: left;
  clear: left;
}
.koukoku_dl1 dd {
  margin: 0 0 3px 9em;
}
@media screen and (max-width:768px) {
  .koukoku_tb th {
    width: 28%;
  }
  .koukoku_dl1 dt {
    width: 100%;
    float: none;
  }
  .koukoku_dl1 dd {
    margin: 0 0 5px 1em;
  }
}
/***** movie *****/
#movie_container {
  width: 1000px;
  margin: 20px auto 0;
  padding: 10px;
  background-color: #fff;
  box-shadow: 1px 1px 20px 7px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width:768px) {
  #movie_container {
    width: 100%;
    margin: 0 auto;
  }
}
#movie_container video {
  width: 100%;
}
/***** 市民公開講座 *****/
.public_ttl {
  margin-bottom: 10px;
  color: var(--main-color);
}
.public_poster {
  width: 170px;
  margin-left: 30px;
  float: right;
}
.public_poster img {
  width: 100%;
}
.public_poster a {
  margin-top: 5px;
  padding: 5px 0;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  color: #fff;
  display: block;
  background-color: #bf1920;
  border-radius: 100px;
  border: #bf1920 2px solid;
  transition: 0.5s;
}
.public_poster a:hover {
  color: #bf1920;
  background-color: #fff;
}
.public_dl1 dt {
  width: 100px;
  padding: 5px 0;
  font-size: 1.4rem;
  text-align: center;
  color: var(--main-color);
  float: left;
  clear: left;
  border: var(--main-color) 1px solid;
}
.public_dl1 dd {
  margin: 0 0 20px 110px;
  padding-top: 4px;
  display: flex;
}
.public_dl1 dd p:nth-child(1) {
  width: 100px;
}
.public_dl1 dd p:nth-child(2) {
  padding-top: 2px;
  font-size: 1.4rem;
  flex: 1;
}
@media screen and (max-width:768px) {
  .public_poster {
    width: 60%;
    margin: 0 auto 30px;
    float: none;
  }
  .public_dl1 dt {
    width: 100%;
    margin-bottom: 5px;
    text-align: center;
    float: none;
  }
  .public_dl1 dd {
    margin: 0 0 20px 0;
    padding-top: 0;
    display: flex;
  }
  .public_dl1 dd p:nth-child(1) {
    width: 100px;
  }
  .public_dl1 dd p:nth-child(2) {
    padding-top: 2px;
    font-size: 1.4rem;
  }
  .public_poster a {
    margin-top: 10px;
    padding: 5px 0;
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    color: #fff;
    display: block;
    background-color: #bf1920;
    border-radius: 100px;
    border: #bf1920 2px solid;
    transition: 0.5s;
  }
  .public_poster a:hover {
    color: #bf1920;
    background-color: #fff;
  }
}
@media screen and (max-width:768px) {
  .press_fig img {
    width: 100%;
  }
}
/***** スポンサーイベント *****/
.spo_link {
  width: 100%;
}
.spo_link th {
  padding: 10px;
  font-size: 1.5rem;
  text-align: center;
  background-color: #f9eaec;
  border: #ccc 1px solid;
}
.spo_link td {
  width: 20%;
  padding: 10px;
  font-size: 1.5rem;
  text-align: center;
  border: #ccc 1px solid;
}
.spo_link td:nth-child(1) {
  width: 40%;
  text-align: left;
  background-color: #f5f5f5;
}
.spo_cate {
  margin-top: 10px;
  font-weight: 700;
}
/***** 教育 *****/
.kyouiku_tb1 {
  margin-top: 10px;
}
.kyouiku_tb1 th {
  width: 25%;
}
.kyouiku_line {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: #ccc 1px solid;
}
@media screen and (max-width:768px) {
  .kyouiku_tb1 th {
    width: 35%;
  }
  .kyouiku_line {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
}