@charset "utf-8";
/* CSS Document */

table{ margin-bottom: 30px; }
thead{ background: #417680; color: #fff; }
th,td{ padding:10px 20px ; border: 1px solid #dedede;}
th{ text-align: center; font-weight: 600; }
td span{ font-size: 0.85em; }

th:first-child{ width: 110px; }

h3{  padding: 10px; text-align: center;
font-size: 1.2em; margin-bottom: 10px;}

#programabout{ margin-bottom: 50px; background: #f3f7f8;   padding: 10px;}
#programabout dl{ display: flex; }

#programabout dt,#programabout dd{ padding:10px 25px; box-sizing: border-box;}

#programabout dt{ color: #429795; width: 130px;  }
#programabout dd span{ font-size: 0.9em; }

.icon-external::before{ font-size: 0.75em;  top: 18px; position: absolute; margin-left: 8px; }

#programMenu { margin:0 auto 5%; }
#programMenu a{ color:#121212; display: block; }
#programMenu a:hover{ color:#c23c3c;}
#programMenu li{ margin-bottom:10px; position: relative; padding:0 20px;}
#programMenu li:before,
#programMenu li a:after, .detail:before{  position: absolute; }

#programMenu li:before, .detail:before{ content:"・"; left:0; top:0; color:#ef9284; }
#programMenu li a:after{ content:""; right:0;  bottom: 50%;
  border-right: 2px solid #ef9284;
  border-bottom: 2px solid #ef9284;
  height: 7px;
  width: 7px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
}




.programBox { margin-bottom:70px } 
.programTitle{ font-size:1.4em; margin-bottom:20px;
  color:#c23c3c;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 10px;
}
.programTitle span{ background:#fdf7f6; color:#db5f53; padding:3px 9px; margin-right:10px; font-size: 0.7em; }

.school{ font-size:0.9em; }

.moderator{ display: flex; margin-bottom:10px }
.mc{ background:#eee; padding:1px 7px;width:50px; display: inline-block; }
.word{ text-indent: 1em; position: relative; padding: 10px 15px;
  line-height: 1.8em;
}

.mcword{ padding-top:15px; margin-bottom:15px; text-align: center; font-size: 1.1em; }

.word:before, .word:after{ position:absolute; content:"";  border-style: solid; border-color:#ddd;
  width: 15px;
  height: 15px;
}
.word:before{ border-width:2px 0 0 2px; top:0; left:0 }
.word:after{  border-width: 0 2px 2px 0;bottom: 0; right:0  }

 .scheduleWrap dl:nth-child(even){ background:#fff5f3; }
 .scheduleWrap dl dl:nth-child(even){ background: inherit; }
 .scheduleBox{ padding: 15px 20px; line-height:1.8em; }
 .scheduleBox p{ line-height: 1.6em; margin-bottom: 10px; }
 .scheduleBox dd a{ text-decoration: none;  position: relative; }
 .scheduleBox dd a .icon-external::before{ top:5px }
 .scheduleBox a,
#linktxt a{ color:#db5f53; text-decoration: underline;}
.scheduleBox a:hover,
#linktxt a:hover{ color:#c23c3c; }

 .scheduleTitle{ color:#db5f53; width: 120px; }



 
.lecture{ color: #db5f53; margin-right: 8px; }
#programList li{ margin-bottom:10px; }
/*#programList li:nth-child(2n){ margin-bottom:20px; padding-top:5px }*/

.redTxt{ font-weight: 700; color:#c23c3c; }

.scheduleBox .externalIcon i::before,
.scheduleWrap .externalIcon i::before{ height: 8px; }

.detail{ position: relative; padding-left: 20px; }

#workshop{ width:100% }
#workshopCont li{ margin-bottom: 5px; }

#special{ margin-top: 30px; }

#diploma{ margin-top:20px }


@media screen and (min-width: 1060px) {
.btn a{ width: 80%; margin: 20px auto 100px; }
}

@media screen and (min-width: 641px) and (max-width: 1059px) {
    
}


@media screen and (min-width: 751px) {
  #programMenu { width:80%; }
 .scheduleBox{ display:flex; }
 .scheduleBox dd{ width: 80%; }
 .scheduleBox dd dd{ width: 20%; }
.due dt br{ display: none;  }
}


@media screen and (min-width: 581px) {
#special li .lecture{width: 20%; display: inline-block;}
}




/*pc--------------------------------------------*/
@media screen and (min-width: 1060px) {
  .btn a{  margin: 20px auto 0; }
}





