@charset "UTF-8";

.ws_mv {
  background-image: url(workshop_mv.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  max-width: 1400px;
  height: 360px;
  margin-bottom: 20px;
  position: relative;
}

.ws_mv table {
  position: absolute;
  top: 8rem;
  left: 2.8rem;
  width: calc(100% - 5.6rem);
  border-collapse: separate;
  border-spacing: 4px;
}

.ws_mv table tr th {
  text-align: left;
  width: 180px;
  padding: 12px;
  font-size: 1rem;
  font-weight: bold;
  background-color: #fff;
  opacity: 0.7;
}

.ws_mv table tr td {
  text-align: left;
  max-width: 1100px;
  padding: 12px;
  font-size: 1rem;
  font-weight: bold;
  background-color: #fff;
  opacity: 0.7;
}

.ws_titlebox {
  position: absolute;
  top: 1.6rem;
  left: 2.8rem;
}

.ws_sub {
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 8px;
  color: #fff;
  text-shadow: 2px 2px 10px #303030;
}

.ws_title {
  font-size: 3rem;
  line-height: 3rem;
  font-weight: bold;
  text-shadow: 2px 2px 10px #303030;
  color: #fff;
}

.presen {
  position: absolute; 
  top: 10rem; 
  left: 2.8rem; 
  width: calc(100% - 5.6rem);
  background-color: white; 
  opacity: 0.8;
  padding: 1rem; 
}


.committie {
  max-width: 1600px;
  padding: 0 2.8rem;
  font-weight: bold;
}

.cohost {
  max-width: 1400px;
  padding: 0 2.8rem 2rem;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.4rem;
}

.toc {
  max-width: 1600px;
  padding: 1.2rem 2.8rem;
  margin-bottom: 30px;
  background-color: #f6f6f6;
}

.toc p {
  font-size: 1.1rem;
  line-height: 2rem;
}

.toc p a {
  color: #303030;
  text-decoration: underline;
  /*
  text-wrap: nowrap;
  */
}

.ws_pres {
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background: #1f4e79;
  margin: 0.4rem 0 1.2rem;
  padding: 0.4rem 0.6rem;
}

.lead {
  margin-bottom: 1.8rem;
  padding: 0;
}

.schedule {
  max-width: 1400px;
  width: 100%;
  border: 1px solid #707070;
  margin: 1rem 0 2rem;
}

.schedule tr th {
  width: 160px;
  background-color: #E2E2E2;
  padding: 8px 20px;
  border: 1px solid #707070;
  font-weight: normal;
}

.schedule tr td {
  padding: 8px 20px;
  border: 1px solid #707070;
}

.schedule tr .time {
  width: 180px;
  background-color: #F1F1F1;
}

.lect {
  max-width: 1400px;
  width: 100%;
  border: 1px solid #707070;
  margin: 1rem 0 2rem;
}

.lect tr th {
  width: 230px;
  background-color: #E2E2E2;
  padding: 8px 20px;
  border: 1px solid #707070;
  font-weight: normal;
}

.lect tr .speaker {
  width: 140px;
  background-color: #F1F1F1;
}

.lect tr td {
  padding: 8px 20px;
  border: 1px solid #707070;
}

.team_container {
  width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
}

.team {
  width: calc((100% - 40px) / 2 );
  min-height: 300px;
  background-color: #EBF3FB;
  padding: 16px;
  margin-bottom: 40px;
}

.teamname {
  background-color: #1F4E79;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4rem;
  padding: 12px;
  margin-bottom: 16px;
}

.teamlead {
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4rem;
}

.teamtxt {
  font-size: 1rem;
  line-height: 1.4rem;
}

a.pr_btn {
	display: block;
	text-decoration: none;
	width: 220px;
	margin: 10px 0;
	padding: 0.4rem 1rem;
  font-size: 14px;
	font-weight: bold;
	border-radius: 0.3rem;
	border-bottom: 8px solid #3C6023;
	background: #7EA861;
	color: #fff;
}

a.pr_btn:before {
  content: "\f1c1";
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  font-size: 1.4rem;
  margin-right: 4px;
  color: #fff;
}

a.pr_btn:hover {
	margin: 16px 0 10px;
	border-bottom: 2px solid #3C6023;
	color: #fff;
  opacity: 1;
}

.ws5days_btn {
  display: block;
	text-decoration: none;
  width: fit-content;
	margin: 30px 0 50px;
	padding: 0.6rem 1rem;
  font-size: 14px;
	border-radius: 0.3rem;
	background: #3C6023;
	color: #fff;
}

a.ws5days_btn:before {
  content: "\f1c1";
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  font-size: 1.4rem;
  margin-right: 4px;
  color: #fff;
}

.univ {
  max-width: 1400px;
  width: 100%;
  border: 1px solid #707070;
}

.univ tr th {
  width: 150px;
  background-color: #E2E2E2;
  padding: 8px 20px;
  border: 1px solid #707070;
  font-weight: normal;
}

.univ tr .student {
  background-color: #F1F1F1;
  border: 1px solid #707070;
  padding: 8px 20px;
}


.underlined {
  text-decoration: underline;
}

.tiny {
  max-width: 1400px;
  padding-bottom: 2rem;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.4rem;
}

.bargraph_container {
  display: flex;
  margin-bottom: 20px;
}

.bargraph_container img {
  max-width: 600px;
}

.pie_container {
  display: flex;
  max-width: 1400px;
  justify-content: space-between;
  flex-wrap: wrap;
}

.pie_box {
  width: calc((100% - 60px) / 2);
  max-width: 670px;
  margin-bottom: 30px;
}

.pie_box img {
  width: 100%;
}

.red {
  color: red;
}


.wsbtn {
  color: #fff;
  background-color: #92C21D;
  border-bottom: 6px solid #678816;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1.2rem 5rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, .3);
  box-shadow: 0 4px 6px rgba(0, 0, 0, .3);
  margin: 10px;
}

.wsbtn:hover {
  margin-top: 13px;
  color: #fff;
  background: #92C21D;
  border-bottom: 2px solid #678816;
  opacity: 1;
}

.wsbtn::after {
  position: absolute;
  right: 1.4rem;
  margin: auto;
  font-family: "Font Awesome 6 Free";
  content: "\f08e";
  font-weight: 900;
  color: #fff;
  vertical-align: middle;
}

.schebtn {
  color: #fff;
  background-color: #eb6100;
  border-bottom: 6px solid #b84c00;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1.2rem 5rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border-radius: 0.5rem;
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, .3);
  box-shadow: 0 4px 6px rgba(0, 0, 0, .3);
  margin: 10px;
}

.schebtn:hover {
  margin-top: 13px;
  color: #fff;
  background: #eb6100;
  border-bottom: 2px solid #b84c00;
  opacity: 1;
}

.schebtn::after {
  position: absolute;
  right: 1.4rem;
  margin: auto;
  font-family: "Font Awesome 6 Free";
  content: "\f08e";
  font-weight: 900;
  color: #fff;
  vertical-align: middle;
}




/* Tabletサイズ */
@media (min-width: 481px) and (max-width: 960px) {
  #main_columns {
    width: 100%;
    margin: 1em 0;
  }

  .ws_mv {
    background-size: cover;
    height: 180px;
    position: relative;
  }
  
  .ws_titlebox {
    position: absolute;
    top: 1.2rem;
    left: 2rem;
    padding-right: 2rem;
  }

  .ws_sub {
    margin-bottom: 0;
  }

  .ws_title {
    font-size: 2.2rem;
    line-height: 2.8rem;
    font-weight: bold;
    text-shadow: 2px 2px 10px #303030;
    color: #fff;
  }

  .ws_mv table {
    position: absolute;
    top: 11.2rem;
    left: 0;
    width: 100%;
    border-spacing: 0;
  }

  .ws_mv table tr th {
    padding: 12px 12px 12px 36px;
    background-color: inherit;
    background-color: #f6f6f6;
    opacity: 1;
  }

  .ws_mv table tr td {
    padding: 12px 36px 12px 12px;
    background-color: inherit;
    background-color: #f6f6f6;
    opacity: 1;
  }

  .presen {
    position: absolute; 
    top: 7rem; 
    left: 2rem;
    width: calc(100% - 4rem);
  }

  
  .committie {
    padding: 0 2rem;
    margin-top: 13rem;
  }
  
  .cohost {
    padding: 0 2rem 2rem;
    font-size: 0.8rem;
    line-height: 1.2rem;
  } 
  
  .toc {
    padding: 1.2rem 2rem;
  }
  
  .toc p {
    line-height: 1.4rem;
  }
  
  .toc p a {
    font-size: 0.9rem;
  }
  
  .toc p br {
    display: none;
  }
  
  .ws_pres {
    padding: 0.4rem 2rem;
  }

  .lead {
    margin: 0 2rem 1.8rem;
  }

  .bodytxt {
    margin: 0 2rem;
  }

  .schedule {
    margin: 1rem 2rem 2rem;
    font-size: 0.9rem;
    width: auto;
  }

  .schedule tr th {
    width: 140px;
    padding: 8px 16px;
  }

  .schedule tr td {
    padding: 8px 16px;
  }

  .schedule tr .time {
    width: 140px;
  }

  .lect {
    width: auto;
    margin: 1rem 2rem 2rem;
    font-size: 0.9rem;
  }

  .lect tr th {
    width: 200px;
    padding: 8px 16px;
  }  

  .lect tr .speaker {
    width: 120px;
  }

  .lect tr td {
    padding: 8px 16px;
  }

  .team_container {
    width: auto;
    margin: 0 2rem;
  }

  .team {
    width: calc((100% - 20px) / 2 );
    min-height: 350px;
  }

  .teamname {
    font-size: 1rem;
    line-height: 1.2rem;
    margin-bottom: 14px;
  }

  .teamtxt br {
  display: none;
  }

  .ws5days_btn {
    margin: 30px 2rem 50px;
  }

  .univ {
    width: auto;
    margin: 0 2rem;
    font-size: 0.9rem;
  }

  .univ tr th {
    width: 130px;
    padding: 8px 16px;
  }

  .univ tr td {
    padding: 8px 16px;
  }

  .tiny {
    margin: 0 2rem;
  }

  .bargraph_container {
    margin: 0 2rem 20px;
  }

  .bargraph_container img {
    width: 50%;
    max-width: none;
  }

  .pie_container {
    display: block;
    margin: 0 2rem;
  }

  .pie_box {
    width: 64%;
  }

  .pie_box br {
    display: none;
  }

}



/* SPサイズ */
@media (max-width: 480px) 
{
  .ws_mv {
    background-size: cover;
    height: 160px;
    margin-bottom: 20px;
    position: relative;
    display: block;
  }

  .ws_titlebox {
    position: absolute;
    top: 1rem;
    left: 1rem;
    padding-right: 1rem;
  }

  .ws_sub {
    font-size: 1.2rem;
    margin-bottom: 0;
  }

  .ws_title {
    font-size: 1.6rem;
    line-height: 2rem;
    text-shadow: 2px 2px 10px #303030;
  }

  .ws_mv table {
  top: 8rem;
  left: 0;
  width: 100%;
  border-spacing: 0;
  line-height: 1.2rem;
  }

  .ws_mv table tr th {
    display: block;
    width: 100%;
    padding: 10px 16px 0;
    background-color: inherit;
    background-color: #f6f6f6;
    opacity: 1;
    font-size: 0.8rem;
  }

  .ws_mv table tr td {
    display: block;
    width: 100%;
    padding: 0 16px 10px;
    background-color: inherit;
    background-color: #f6f6f6;
    opacity: 1;
    font-size: 0.8rem;
  }

  .ws_mv table tr td br {
    display: inherit;
  }


  .presen {
    position: absolute; 
    top: 7rem; 
    left: 0;
    width: 100%;
    font-size: 14px;
    line-height: 18px;
  }

  .committie {
    padding: 1.6rem 1rem 0.4rem;
    margin-top: 10rem;
    font-size: 0.8rem;
  }

  .cohost {
    padding: 0 1rem 2rem;
    font-size: 0.8rem;
    line-height: 1.2rem;
  } 

  .toc {
    padding: 1rem 1.8rem;
  }

  .toc p {
    line-height: 1.4rem;
  }

  .toc p a {
    font-size: 0.9rem;
  }

  .ws_pres {
    font-size: 1rem;
    padding: 0.4rem 1rem;
    margin: 0.4rem 0 1.2rem;
  }

  .lead {
    margin: 0 1rem 1.8rem;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }

  .bodytxt {
    margin: 0 1rem;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }

  .schedule {
    margin: 1rem 1rem 2rem;
    font-size: 0.8rem;
    width: auto;
  }

  .schedule tr th {
    width: 80px;
    padding: 8px 10px;
  }

  .schedule tr td {
    padding: 8px 10px;
  }

  .schedule tr .time {
    width: 90px;
  }

  .lect {
    width: auto;
    margin: 1rem 1rem 2rem;
    font-size: 0.8rem;
  }

  .lect tr th {
    width: 96px;
    padding: 8px 10px;
  }  

  .lect tr .speaker {
    width: 100px;
  }

  .lect tr td {
    padding: 8px 10px;
  }

  .team_container {
    width: auto;
    margin: 0 1rem;
  }

  .team {
    width: 100%;
    min-height: inherit;
  }

  .teamname {
    font-size: 0.9rem;
    line-height: 1.2rem;
    margin-bottom: 14px;
  }

  .teamlead {
    font-size: 0.9rem;
  }

  .teamlead br {
    display: none;
    }

  .teamtxt br {
  display: none;
  }

  .ws5days_btn {
    margin: 30px 1rem 50px;
  }

  .univ {
    width: auto;
    margin: 0 1rem;
    font-size: 0.8rem;
  }

  .univ tr th {
    width: 80px;
    padding: 8px 10px;
  }

  .univ tr td {
    padding: 8px 10px;
  }

  .tiny {
    margin: 0 1rem;
    font-size: 0.8rem;
  }

  .bargraph_container {
    display: block;
    margin: 0 1rem 20px;
  }

  .bargraph_container img {
    width: 90%;
    max-width: none;
  }

  .pie_container {
    display: block;
    margin: 0 1rem;
  }

  .pie_box {
    width: 100%;
    margin-bottom: 20px;
  }

  .pie_box p {
    font-size: 0.9rem;
  }

  .pie_box br {
    display: none;
  }

}


