@charset "utf-8";

/* --modal ------------------------------------------------------- */

.btn_close {
	display: block;
	text-decoration: none;
	background: #000;
	color: #fff;
	text-align: center;
	padding: 20px 40px;
	width: 200px;
	margin: 0 auto;
  border: none !important;
}

.btn_close:hover {
	background: #ff0000;
  border: none !important;
}

.modal-body p.title{
  font-size: clamp(1rem, 0.9rem + 0.5vw, 1.5rem) !important;
  font-weight: bold;
  margin-bottom: 25px;
}

.modal-body p.lead{
  font-size: clamp(0.938rem, 0.925rem + 0.06vw, 1rem) !important;
}

.modal-body p.lead > span{
  display: inline-block;
}

.btn_close{
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem)!important;
  font-weight: bold;
}

.modal {
  background-color: rgba(0, 0, 0, 0.8); /* 背景色を暗くするためのRGBA値 */
}


/* --プログラム ------------------------------------------------------- */
.session {
  padding: 0;
  margin: 0;
}

.session li {
  list-style: none;
}

.session li.organizer {
  padding: 0.75rem 0 1.25rem 0.65rem;
  line-height: 1.1 !important;
  letter-spacing: 0.15rem;
  color: #333;
}

.session li.subject {
  font-weight: 500;
  color: #111;
  letter-spacing: 0.05rem;
  line-height: 1.45;
  margin-bottom: 0.45rem !important;
}

.session li > ol {
  margin: 0;
  padding: 0;
  display: flex;
}

.session li > ol > li {
  font-size: 0.95rem;
  padding: 0.75rem 0 0 0.25rem;
  margin-top: -0.45rem !important;
  line-height: 1.45 !important;
  letter-spacing: 0.15rem;
}

.session li > ol > li:first-child {
  white-space: nowrap;
}

.session li > ol > li > span {
  display: inline-block;
  font-weight: 500;
}

.session li > ol > li > span:nth-child(2) {
  font-size: 0.8rem;
  padding: 0;
  color: #555;
  letter-spacing: 0.05rem;
  font-weight: 300;
}

.kyousai {
  margin: 1rem 0.25rem !important;
}

.kyousai > li {
  display: inline;
  border: solid 1px #ccc;
  font-size: 0.9rem;
  letter-spacing: 0.05rem;
  padding: 0.15rem 0.35rem;
  line-height: 1;
}

.h3-5,
.h3-5-02,
.h3-5-03,
.h3-5-04,
.h3-5-05,
.h3-5-06,
.h3-5-07,
.h3-5-08,
.h3-5-09,
.h3-5-10,
.h3-5-11,
.h3-5-12 {
  padding: 0;
  font-weight: bold;
  /* box-shadow: 1px 1px 2px rgb(179, 179, 179); */
  margin-bottom: 1rem;
  margin-top: 1rem;
  border-bottom: solid 3px #cce4ff;
  position: relative;
}

.h3-5 > span,
.h3-5-02 > span,
.h3-5-03 > span,
.h3-5-04 > span,
.h3-5-05 > span,
.h3-5-06 > span,
.h3-5-07 > span,
.h3-5-08 > span,
.h3-5-09 > span,
.h3-5-10 > span,
.h3-5-11 > span,
.h3-5-12 > span {
  font-size: 1.1rem;
  font-weight: 700 !important;
}

.kaisaibi {
  position: absolute;
  right: 0;
  bottom: 0;
}

.h3-5:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #00bb85;
  bottom: -3px;
  width: 25%;
}

.h3-5-02:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #ff9500;
  bottom: -3px;
  width: 25%;
}

.h3-5-03:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #009bbf;
  bottom: -3px;
  width: 25%;
}

.h3-5-04:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #f62e36;
  bottom: -3px;
  width: 25%;
}

.h3-5-05:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #d7c447;
  bottom: -3px;
  width: 25%;
}

.h3-5-06:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9b7cb6;
  bottom: -3px;
  width: 25%;
}

.h3-5-07:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #814721;
  bottom: -3px;
  width: 25%;
}

.h3-5-08:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #0078ba;
  bottom: -3px;
  width: 25%;
}

.h3-5-09:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #e85298;
  bottom: -3px;
  width: 25%;
}

.h3-5-10:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #019a66;
  bottom: -3px;
  width: 25%;
}

.h3-5-11:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9caeb7;
  bottom: -3px;
  width: 25%;
}

.h3-5-12:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #363636;
  bottom: -3px;
  width: 25%;
}

.centered-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.custom-icon {
  font-size: 24px;
}

.ls10{
  letter-spacing: -0.19rem !important;
}

@media only screen and (min-width: 400px) {
  .ls10{
    letter-spacing: initial !important;
  }
}

a.alink{
  color: #007bff;
  text-decoration: none;
}

a.alink:hover{
  color: #0068d8;
  text-decoration: underline;
}

