@charset "UTF-8";

h2 {
  font-size: 1.215rem !important;
  font-weight: 700;
  padding: 0.5em;
  color: #333;
  background: #f0f0f0;
  /* border-left: solid 5px #9dc93a;  */
  border-left: solid 5px #1565c0;
}

/* -- greeting -------------------------------------------------------------------------------------------- */
.img-container {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  text-align: right;
}

@media screen and (max-width: 575px) {
  .img-container {
    justify-content: flex-start;
    text-align: left;
  }
}

.img-container ul {
  margin: 0;
  padding: 0;
}

.img-container ul li {
  list-style: none;
  line-height: 1.65;
  font-size: 105%;
  /* color: #333; */
}

.img-container ul li:nth-child(1) {
  font-size: 105%;
  line-height: 1.65;
  /* color: #111; */
}

.img-container ul li:nth-child(3) {
  font-size: 85%;
  color: #555;
  line-height: 1.45;
}

@media screen and (max-width: 500px) {
  .img-container {
    display: block;
  }
  .img-container ul {
    margin: 10px 0 0;
    padding: 0;
  }
}

/* -- sponsor-note ------------------------------------------------------- */

.tbl_sponsor th,
.tbl_sponsor td {
  /* font-size: 0.9rem; */
  padding: 0.5rem 1.5rem;
  vertical-align: middle;
}
@media screen and (max-width: 575px) {
  .tbl_sponsor th,
  .tbl_sponsor td {
    padding: 0.5rem 0.5rem;
  }
}
.tbl_sponsor tr td:nth-child(2) {
  white-space: nowrap;
}

.tbl_sponsor th {
  white-space: nowrap;
  background-color: #f8f9fa;
  text-align: center;
}

.sponsor-btn {
  width: 100%;
  max-width: 300px;
  padding: 12px;
}

/* -- 演題登録 -------------------------------------------------------------------------------------------- */

.cfa-note {
  margin: 0 0 35px 0;
  padding: 0 0 0 10px;
}

.cfa-note p {
  margin: 0;
  padding: 0;
  text-align: justify;
  text-justify: inter-ideograph;
}

.cfa-table th {
  vertical-align: top;
  padding: 0.25em 0;
}

.cfa-table td {
  vertical-align: top;
  padding: 0.25em 0.5em;
  text-align: justify;
  text-justify: inter-ideograph;
}

.cfa-note p.text-indent {
  font-size: 0.95em;
}

.cfa-note dl dd {
  text-align: justify;
  text-justify: inter-ideograph;
}

/* -- 参加登録 -------------------------------------------------------------------------------------------- */

.reg-note {
  margin: 0 0 35px 0;
  padding: 0 10px;
}

@media screen and (max-width: 575px) {
  .reg-note {
    padding: 0 0;
  }
}

.reg-note p {
  margin: 0;
  padding: 0;
  text-align: justify;
  text-justify: inter-ideograph;
}

.reg-note p.text-indent {
  font-size: 0.95em;
}

.reg-note dl dd {
  text-align: justify;
  text-justify: inter-ideograph;
}

.reg-table {
  font-size: 0.95em;
  min-width: 550px;
}

.reg-table th {
  vertical-align: middle !important;
  text-align: center;
  background: #f4f5f7;
  font-size: 0.95em;
  line-height: 1.45;
}

.reg-table td {
  vertical-align: middle;
  text-align: justify;
  text-justify: inter-ideograph;
}

.reg-table tr > td:last-child,
.reg-table tr > td:nth-last-child(2) {
  text-align: right;
  white-space: nowrap;
}

.highlight-bg {
  background: linear-gradient(transparent 60%, #ffff88 60%);
  display: inline;
  font-weight: 500 !important;
}

h3 {
  line-height: 2;
}

.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 {
  font-size: clamp(0.969rem, 0.912rem + 0.28vw, 1.125rem) !important;
  padding: 0 0 0 1rem;
  text-indent: -1rem;
  color: #123a68;
  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;
}

.kaisaibi {
  position: absolute;
  right: 0;
  bottom: 0;
}

.h3-5:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #00bb85;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-02:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #ff9500;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-03:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #009bbf;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-04:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #f62e36;
  left: 0;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-05:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #d7c447;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-06:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9b7cb6;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-07:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #814721;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-08:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #0078ba;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-09:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #e85298;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-10:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #019a66;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-11:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #9caeb7;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.h3-5-12:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #363636;
  left: 0;
  bottom: -3px;
  width: 20%;
}

.organisers-link {
  line-height: 1;
  font-size: clamp(0.844rem, 0.8rem + 0.22vw, 0.938rem);
  font-weight: 600;
}

.h3-3 {
  position: relative;
  padding: 0.35rem 0.5rem;
  font-weight: bold;
  font-size: 1.05rem !important;
  margin-bottom: 0.75rem !important;
}

.h3-3:before {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-image: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#90a1bb),
    to(#f5f7fa)
  );
  background-image: -webkit-linear-gradient(right, #90a1bb 0%, #f5f7fa 110%);
  background-image: linear-gradient(135deg, #90a1bb 0%, #f5f7fa 110%);
}

.h3-3:after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-image: -webkit-gradient(
    linear,
    right top,
    left top,
    from(#90a1bb),
    to(#f5f7fa)
  );
  background-image: -webkit-linear-gradient(right, #90a1bb 0%, #f5f7fa 110%);
  background-image: linear-gradient(135deg, #90a1bb 0%, #f5f7fa 110%);
}

.h3-3:before {
  top: 0;
}

.h3-3:after {
  bottom: 0;
}

ul.custom-list {
  list-style: none;
  padding-left: 0;
  margin-left: 11px;
}

ul.custom-list li {
  counter-increment: section;
  margin-bottom: 10px;
  padding-left: 30px; /* インデントを調整 */
  position: relative;
  line-height: 1.45;
}

ul.custom-list li::before {
  content: "（" counter(section) "） ";
  position: absolute; /* 番号をテキストから分離して配置 */
  left: 0; /* 番号を左に揃える */
}

ol.custom-list {
  list-style: none;
  counter-reset: section; /* カウンタのリセット */
  padding-left: 0;
  font-weight: normal !important;
  margin-left: 0.25rem;
}

ol.custom-list li {
  counter-increment: section;
  margin-bottom: 0 !important;
  padding-left: 20px;
  padding-bottom: 10px !important;
  position: relative;
  font-weight: normal !important;
  color: #333 !important;
  font-size: 1rem !important;
}

ol.custom-list li::before {
  content: counter(section) "．"; /* 番号の表示 */
  position: absolute;
  left: 0;
  font-weight: normal !important;
}

ol.custom-list li.indent {
  text-indent: 0;
  padding-left: 20px;
}

/* -- program-note-------------------------------------------------------------------------------------------- */

.program-note {
  margin: 0 0 25px;
  padding: 5px 10px 12px;
}

.program-note h3 {
  font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem) !important;
}

.program-note h3.h3-fs1 {
  font-size: 1.05rem !important;
  color: initial !important;
  font-weight: bold !important;
  line-height: 1.65 !important;
  /* letter-spacing: 0.1rem !important; */
}

.program-note > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.title-line {
  position: relative;
  display: inline-block;
  padding: 0 210px 0 20px;
}

.title-line:before {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 15px;
  height: 1px;
  background-color: #666;
}

.title-line:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 200px;
  height: 1px;
  background-color: #666;
}

.title-line:before {
  left: 0;
}

.title-line:after {
  right: 0;
}

.program-dl-title {
  font-size: 1rem;
  font-weight: bold;
  /* font-style: italic; */
  padding-left: 1rem;
  margin: 0;
  line-height: 1.45;
  letter-spacing: 0.15rem;
  /* text-decoration: underline; */
}

.program-item {
  margin-bottom: 1.5rem;
}

/* 写真のサイズを固定したい場合 */
.program-photo img {
  margin-top: 2px;
  width: 100px;
  /* height: 100px;
  object-fit: cover; */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* スマホでは写真を非表示にする例 */
@media (max-width: 576px) {
  .program-photo {
    display: none;
  }
}

.subheading {
  font-size: 1.05rem !important;
  font-weight: bold !important;
  color: #333 !important;
  line-height: 1.65 !important;
  margin: -5px 0 5px 0 !important;
}

.program-dl {
  margin: 0;
  padding: 0;
  width: 100%;
  display: table;
}

.program-dl > dt {
  border: solid 1px #ccc;
  margin: 0;
  padding: 0.075rem 7px 0.075rem;
  letter-spacing: 0.01rem;
  font-weight: 500;
  font-size: 0.85rem;
  background-color: #fcfcfc;
  width: 3rem;
  text-align: justify;
  text-align-last: justify;
  display: table-cell;
  vertical-align: middle;
}

.program-dl > dd {
  margin: 0;
  padding: 0.15rem 0 0 10px;
  font-size: 1rem;
  display: table-cell;
  width: calc(100% - 3rem);
  line-height: 1.45;
}

.program-dl > dd > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.program-dl > dd > ul > li {
  line-height: 1.35;
  padding: 0;
  margin: 7px 0;
  color: #000;
}

.program-dl > dd > ul > li > span:nth-child(2) {
  font-size: 0.875rem;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
  color: #5c5c5c !important;
  letter-spacing: -0.01em;
}

.program-dl > dd > span > small.sat {
  font-size: 0.8rem;
  color: #2c41ff !important;
}

.program-dl > dd > span > small.sun {
  font-size: 0.8rem;
  color: #ff2c2c !important;
}

.program-dl > dd > span,
.program-dl > dd > ul > li > span {
  display: inline-block;
}

.program-dl > dd > ul > li > span:first-child {
  padding-right: 0;
  width: 5.35em !important;
  text-align: justify;
  text-align-last: justify;
  font-weight: 500 !important;
  color: #333 !important;
}

.program-dl > dd > ul > li > span:nth-child(2)::before {
  content: "(";
  padding-right: 0.15rem;
}
.program-dl > dd > ul > li > span:nth-child(2)::after {
  content: ")";
  padding-left: 0.15rem;
}

.program-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #123a68 !important;
  line-height: 1.65;
  letter-spacing: 0.05rem;
  /* padding-left: 1rem;
  text-indent: 1rem; */
}

.program-title span {
  display: inline-block;
}

.program-title span:first-child {
  margin-right: 0.5rem;
}

.program-title-en {
  font-size: 1rem !important;
  font-weight: bold;
  color: #123a68 !important;
  line-height: 1.35;
  padding-bottom: 0 !important;
  margin-bottom: 1px !important;
}

.unit > li {
  color: #dd0a0a !important;
  font-size: 0.9rem !important;
  line-height: 1.25;
}

.w475 {
  width: 4.75rem !important;
}

.wc475 {
  width: calc(100% - 4.75rem) !important;
  padding: 0 0 0 10px !important;
}

.program-dl-t {
  margin: 0;
  padding: 0;
  width: 100%;
}

.program-dl-t > dt {
  margin: 0;
  padding: 0;
  letter-spacing: 0.01rem;
  font-weight: bold;
  font-size: 0.8rem;
  color: #5c5c5c;
  /* font-style: italic; */
  text-decoration: underline;
}

.program-dl-t > dd > ul {
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
}

.program-dl-t > dd > ul > li:first-child {
  line-height: 1.25;
  padding-left: 0.5rem;
  text-indent: -0.5rem;
  font-weight: bold;
  margin: 0;
  padding-bottom: 0;
}

.program-dl-t > dd > ul > li:nth-child(2) {
  margin: 0 0 0.15rem;
  padding: 0;
}

.program-dl-t > dd > span > small,
.program-dl-t > dd > ul > li > small {
  font-size: 0.8rem;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
  color: #4c4c4c !important;
}

/*アコーディオン全体*/
.slide-accordion-area {
  list-style: none;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.slide-accordion-area li {
  margin: 10px 0;
}

.slide-accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.title-slide {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: clamp(1.063rem, 0.994rem + 0.34vw, 1.25rem) !important;
  /* font-weight: normal; */
  padding: 12px 12px 12px 50px !important;
  margin: 0;
  transition: all 0.5s ease;
  font-weight: 700 !important;
}

@media screen and (max-width: 768px) {
  .title-slide {
    font-size: 0.9rem;
  }
}

.title-slide:hover {
  background-color: #f3f3f3;
}
.slide-close {
  background-color: #f3f3f3;
}

/*アイコンの＋と×*/
.title-slide::before,
.title-slide::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}
.title-slide::before {
  top: 48%;
  left: 15px;
  transform: rotate(0deg);
}
.title-slide::after {
  top: 48%;
  left: 15px;
  transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/

.title-slide.slide-close::before {
  transform: rotate(45deg);
}

.title-slide.slide-close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box-slide {
  display: none; /*はじめは非表示*/
  /* background: #f3f3f3; */
  margin: 0 1% 1% 1%;
  padding: 0 2% 2%;
}

.dinb {
  display: inline-block !important;
}

.small02 {
  font-size: 0.9rem !important;
}
