@charset "utf-8";

/*-----------------------------------------------
  サブページ共通
-----------------------------------------------*/
.title > a {
  color: #fff;
  text-shadow: 1px 1px 2px #b19275;
}

.title > a:visited {
  color: #fff;
  text-shadow: 1px 1px 2px #b19275;
}

.title > a:hover {
  color: #fff;
  text-shadow: 1px 1px 2px #927860;
}

/* sidenav無し (form/) */
.section-title {
  letter-spacing: 1px;
  color: #111 /*#00b050*/; /* #990000 */
  border-bottom: #ccc 1px solid;
  padding: 0 0 1rem 2rem;
  margin: 0 0 1rem 0;
}

/* sidenav有り */
.section-title-sidebox {
  margin: 0;
}

/* sidenav無し (form/) */
.section-inner-title {
  letter-spacing: 1px;
  color: #3d7ab4;
  padding: 0 0 0 0.7rem;
  margin: 0 0 1.4rem 0;
}

.section-form-title {
  font-size: 110%;
  letter-spacing: 2px;
  color: #222;
  background: #efefef;
  padding: 5px 0 5px 20px;
  margin-bottom: 20px;
  border-bottom: #334d55 1px solid;
}

/* sidenav有り */
.main-content-inner-box-sub .section-inner-title {
  padding: 0;
  margin: 0 0 1rem 0;
}

.section-inner-subtitle,
.section-inner-content-title {
  letter-spacing: 1px;
  color: #333;
}

.section-inner-content-title,
.section-inner-content-item-title,
.section-inner-content-item-subtitle {
  margin-bottom: 0.5rem;
}

.section-inner-content-item-title {
  font-size: 120%;
  color: #333;
}

.section-inner-content-item-title .fa-circle {
  color: #ccc;
}

.section-inner-content-item-subtitle {
  font-size: 120%;
  color: #444;
}

/* sidenav無し (form/) */
.main-content-box .section-inner-subtitle {
  background: #efefef;
  padding: 0.3rem 0 0.2rem 1em;
  border-bottom: #334d55 1px solid;
}

/* sidenav有り */
.main-content-inner-box-sub .section-inner-subtitle {
  margin-bottom: 1rem;
}

.section-inner-item-title {
  font-size: 110%;
}

.char-small {
  font-size: 90%;
}

.underline-red {
  font-size: 105%;
  background: linear-gradient(transparent 85%, #ffdcdc 85%);
}

.char-strong {
  font-weight: bold;
  letter-spacing: 1px;
}

.char-red {
  color: #cc0000;
}

.text-dark {
  color: #333;
}

.fa-external-link {
  margin-left: 0.25rem;
}

/*
.apply-closed p,*/
.char-emphasis,
.char-closed {
  font-weight: bold;
  text-decoration: underline;
  color: #cc3300;
}

.table-box {
  border: #ccc 1px solid;
  border-collapse: collapse;
}

.table-box th,
.table-box td {
  border: #ccc 1px solid;
}

/* 期限 */
.time-limit-table {
  width: 70%;
}

.time-limit-table,
.time-limit-table > dl > dt,
.time-limit-table > dl > dd {
  border: none;
}

.time-limit-table > dl > dt {
  font-weight: normal;
  text-align: left;
}

/* javascript使用の注意書き */
.js-used {
  padding: 10px;
  box-shadow: 0 0 0 1px #ccc, 0 0 0 3px #fff, 0 0 0 4px #ccc;
}

.js-used p,
.table-fees {
  font-size: 90%;
}

/*-----------------------------------------------
  開催プログラム(program/)
-----------------------------------------------*/
.schedule-table {
  width: 100%;
}

.schedule-table,
.schedule-table th,
.schedule-table td {
  border: #999 1px solid;
  border-collapse: collapse;
}

.schedule-table .bg-light-red {
  background-color: #fdf0e7;
}

.main-content-inner-box-sub .schedule-table .bg-light-yellow {
  background-color: #fff8cc;
}

.main-content-inner-box-sub .schedule-table .bg-light-green2 {
  background-color: #eeefda;
}

.main-content-inner-box-sub .schedule-table .td-lunchTime {
  border-bottom: #ccc 1px solid;
}

.schedule-table th,
.schedule-table td {
  padding: 0.75rem 0.5rem;
}

.schedule-content-box > p > a,
.schedule-table td p:not(.schedule-content-title) > a {
  color: #0066cc;
}

.schedule-table td:first-child {
  letter-spacing: normal;
}

.schedule-table tr:nth-child(odd) td {
  background: #fafafa;
}

.schedule-item-head {
  font-size: bold;
  background: #efefef;
}

.schedule-item-head-char,
.course-content-head-char {
  letter-spacing: 0.5rem;
}

.schedule-item-time-title {
  width: 4.25rem;
}

.schedule-content-title {
  font-weight: bold;
  color: #006699;
}

.schedule-content-title a {
  color: #006699;
}

.schedule-content-title,
.schedule-content-subtitle {
  letter-spacing: 1px;
}

.schedule-content-box,
.schedule-content-title-box {
  margin-bottom: 0.5rem;
}

.schedule-content-box:last-child {
  margin-bottom: 0;
}

/* 登壇者、講師 */
.lecturer,
.schedule-table .lecturer-list li {
  list-style-type: none;
  padding-left: 0;
  font-size: 95%;
  color: #444;
}

.lecturer-list li:before {
  content: "・";
}

.course-content-table-box .lecturer-list li {
  margin-left: -0.5rem;
}

.lecturer-list-typeNone li:before {
  content: "";
}

/* 補足 */
.supplement {
  font-size: 95%;
}

.main-section-box-sub {
  width: 95%;
  margin: 0 auto 2rem;
}

.course-content-table-box {
  line-height: 1.6;
  width: 100%;
}

.course-content-table-box dt,
.course-content-table-box dd {
  border: #999 1px solid;
}

.course-content-table-box dt {
  width: 5rem;
  background: #fbfbfb;
}

.course-content-inner-list {
  list-style-position: inside;
}

/* ワークショップ（前半・後半） */
.section-inner-content-title-first-second-half {
  font-weight: bold;
  text-align: center;
}

.main-content-inner-box-sub {
  counter-reset: section;
  list-style-type: none;
}

.section-number-title:before {
  counter-increment: section;
  content: counters(section, ".") "";
}

.unsettled-sentence {
  font-size: 90%;
  text-indent: 1rem;
  color: #13648a;
}

.schedule-table .live-lecture-box {
  position: relative;
}

.btn-live {
  font-size: 90%;
  color: #fff;
  border-radius: 7px;
  position: relative;
  display: inline-block;
  text-align: center; /*中身を中央寄せ*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat; /*グラデーション①*/
  overflow: hidden; /*はみ出た部分を隠す*/
  text-decoration: none; /*下線は消す*/
  position: absolute;
  top: 0.75rem;
  right: 0.5rem;
}

.btn-live:before {
  /*グラデーション②*/
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; /*全体を覆う*/
  height: 100%; /*全体を覆う*/
  background: -webkit-linear-gradient(
      15deg,
      #ffdb2c,
      rgb(249, 118, 76) 25%,
      rgba(255, 77, 64, 0) 50%
    )
    no-repeat;
  background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%)
    no-repeat;
}

.btn-live span {
  /*テキスト*/
  display: inline-block;
  position: relative;
  transition: 0.5s;
}

.btn-live:hover span {
  color: #fff;
}

/*-----------------------------------------------
登壇者紹介(lecturer/)
-----------------------------------------------*/
.lecturer-top {
  display: block;
  width: 100%;
}

.lecture-title {
  color: #fff;
  background-color: #006699;
  text-align: center;
  min-height: 4rem;
}

.lecture-title:nth-of-type(2) {
  line-height: 4rem;
}

.lecturer-content-area,
.lecturer-content-coordinator,
.lecturer-content-panelist,
.lecturer-content-panelist-detail {
  margin-bottom: 1rem;
}

.lecturer-content-inner {
  padding-bottom: 1rem;
  border-bottom: #ccc 1px solid;
}

.lecturer-content-inner:last-of-type {
  border-bottom: none;
}

.lecturer-affiliation {
  font-size: 95%;
}

.img-lecturer {
  display: block;
  max-width: 220px;
  width: 27.5%;
}

.lecturer-profile {
  width: 67.5%;
}

.lecturer-name {
  font-weight: bold;
  font-size: 160%;
}

/*-----------------------------------------------
  研究・実践発表(presentation/)
-----------------------------------------------*/
.presentation-content-box {
  counter-reset: item-subtitle;
  margin-left: 1.75rem;
}

.section-inner-content-item-subtitle:before {
  counter-increment: item-subtitle; /* section カウンタを増加 */
  content: "(" counter(item-subtitle) ")"; /* カウンタを表示 */
  margin-right: 0.1rem;
}

.presentation-content-list {
  counter-reset: section;
  list-style-type: none;
}

.presentation-content-list li {
  position: relative;
  padding-left: 0.5rem;
  margin: 0 0 1rem 1rem;
}

.presentation-content-list li:before {
  counter-increment: section;
  content: counter(section) ")";
  position: absolute;
  left: -1rem;
}

.presentation-time-table,
.presentation-time-table th,
.presentation-time-table td {
  border: #999 1px solid;
  border-collapse: collapse;
}

.presentation-time-table th,
.presentation-time-table td {
  padding: 0.1rem 0.5rem;
}

.presentation-time-table th {
  letter-spacing: 2px;
  background: #fafafa;
  width: 120px;
}

.presentation-time-table td {
  text-align: right;
}

.presentation-time-table {
  width: 250px;
  margin: 0 auto;
}

.presentation-time-table-head {
  background: #efefef;
}

/* 発表演題・分類番号については、以下の番号からお選びください */
.presentation-category-list {
  counter-reset: presentation-category;
  list-style-type: none;
}

.presentation-category-list li {
  margin: 0 0 0 2rem;
}

.presentation-category-list li:before {
  counter-increment: presentation-category;
  content: counters(presentation-category, ".") ".";
}

.data-processing-list {
  counter-reset: data-processing;
  list-style-type: none;
  margin-top: 0.5rem;
}

.data-processing-list li {
  margin: 0 0 1rem 2rem;
}

.data-processing-list li:before {
  counter-increment: data-processing;
  content: counters(data-processing, ".") ".";
}

.presentation-content-box .btn-apply-register {
  display: block;
  width: 80%;
  padding: 1rem 0;
  margin: 0 auto;
}

.main-btn-list .btn-apply-register {
  text-align: center;
}

.img-chips {
  width: 100%;
  height: auto;
}

/*-----------------------------------------------
  大会参加申込(enter/)
-----------------------------------------------*/
.aboutPersonalInformation {
  margin-bottom: 4rem;
}

/* ボタンの指定 ピンク色 */
.wrap-main-box-sub-enter .main-btn-apply-box .btn-apply-register {
  -moz-box-shadow: inset 0px 1px 3px 0px #f0f7fa;
  -webkit-box-shadow: inset 0px 1px 3px 0px #f0f7fa;
  box-shadow: inset 0px 1px 3px 0px #f0f7fa;
  background: linear-gradient(to bottom, #f4cafc 5%, #eea1fc 100%);
  background-color: #f4cafc;
  width: 90%;
  padding: 1rem 0 1rem 0.3rem;
  margin-right: auto;
  margin-left: auto;
  border: 1px solid #eea1fc;
  display: block;
  cursor: pointer;
  color: #fff;
  text-decoration: none;
  text-shadow: -1px -1px #333, 1px -1px #333, -1px 1px #333, 1px 1px #333;
  letter-spacing: 0.1em;
}

.wrap-main-box-sub-enter .main-btn-apply-box .btn-apply-register:hover {
  background: linear-gradient(to bottom, #eea1fc 5%, #f4cafc 100%);
  color: #fff;
  text-shadow: -1px -1px #666, 1px -1px #666, -1px 1px #666, 1px 1px #666;
}

.enter-content-box .btn-document {
  width: 90%;
  display: block;
  margin: 0 auto;
}

/* 参加費 */
.entry-fee-box {
  display: table;
}

.entry-fee-box,
.entry-fee-sentence,
.box-lunch-sentence {
  margin-left: 1.2em;
}

.entry-fee-list {
  display: table-row;
}

.entry-fee-list dt,
.entry-fee-list dd {
  display: table-cell;
  vertical-align: top;
}

.entry-fee-list dt,
.entry-fee-list dd,
.entry-fee-sentence,
.box-lunch-sentence {
  font-weight: bold;
  letter-spacing: 2px;
}

.entry-fee-list:first-child dd {
  padding-bottom: 0.5rem;
}

.entry-fee-2line-box .entry-fee-list:first-child dd {
  padding-bottom: 0;
}

.flow-participation-box {
  padding-left: 0.5rem;
  border-left: #f3f3f3 5px solid;
}

.enter-procedure-method li {
  margin: 0 0 0 1rem;
}

.enter-notice-list {
  counter-reset: enter-notice-section;
  list-style-type: none;
  margin-top: 0.5rem;
}

.enter-notice-list > li {
  margin: 0 0 1rem 1rem;
  padding-left: 1rem;
}

.enter-notice-list > li:before {
  counter-increment: enter-notice-section;
  content: "(" counters(enter-notice-section, ".") ")";
  margin-left: -2rem;
}

.wrap-main-box-sub-enter .section-inner-content-item-subtitle:before {
  content: "";
}

.necessary-expenditure-table,
.necessary-expenditure-table th,
.necessary-expenditure-table td {
  border: #999 1px solid;
  border-collapse: collapse;
}

.necessary-expenditure-table th,
.necessary-expenditure-table td {
  padding: 0.5rem;
}

.necessary-expenditure-table th {
  font-size: bold;
  text-align: left;
  background: #efefef;
}

.necessary-expenditure-table th .notice-sentence {
  font-weight: normal;
}

.necessary-expenditure-table td:first-child {
  letter-spacing: normal;
}

.necessary-expenditure-table tr:nth-child(odd) th,
.necessary-expenditure-table tr:nth-child(odd) td {
  background: #fafafa;
}

.necessary-expenditure-item-head-char {
  letter-spacing: 0.5rem;
}

.necessary-expenditure-item-participation-cost-title {
  width: 40%;
}

.necessary-expenditure-item-participation-cost-content {
  width: 35%;
}

.necessary-expenditure-item-part {
  width: 25%;
}

.necessary-expenditure-item-part:first-child {
  width: 30%;
}

.necessary-expenditure-item-part:last-child {
  width: 20%;
}

.necessary-expenditure-item-period {
  width: 25%;
}

.necessary-expenditure-table .necessary-expenditure-item-participation-cost-title:first-child,
.necessary-expenditure-item-fee-title,
.necessary-expenditure-item-part {
  background: #f6f6f6;
}

.yen {
  letter-spacing: 0.1em;
}

.enter-content-inner-box .section-inner-item-title {
  color: #666;
}

.char-hotel {
  text-align: center;
}

/*-----------------------------------------------
  会場交通案内(map/)
-----------------------------------------------*/
.access-content-inner-box {
  margin-left: 1rem;
}

.wrap-main-box-sub-access .section-inner-content-item-subtitle:before {
  content: "";
}

.iframe-google-map {
  width: 100%;
  height: 400px;
  border: 0;
}

.access-train-table-box,
.access-train-table-box dt,
.access-train-table-box dd {
  padding: 0;
  border: none;
}

.access-train-table-box dt {
  text-align: left;
  width: 4rem;
}

.access-train-table-box dd p {
  padding-left: 1rem;
}

.access-train-table-box dd p:before {
  content: "…";
  color: #666;
  margin-left: -1rem;
}

.wrap-main-box-sub-access .fa-square {
  color: #56abd5;
}

.access-content-box .section-inner-item-title {
  color: #333;
}

.img-access-map {
  display: block;
  max-width: 530px;
  height: auto;
  width: 100%;
  margin: 0 auto;
}

.access-list li {
  list-style-type: disc;
  margin-bottom: 1rem;
}

/*-----------------------------------------------
  お問い合せ(contact/)
-----------------------------------------------*/
.wrap-main-box-sub-contact {
  counter-reset: contact-section;
}

.wrap-main-box-sub-contact .section-inner-content-item-title:before {
  counter-increment: contact-section; /* contact-section カウンタを増加 */
  content: counter(contact-section) ". "; /* カウンタを表示 */
}

.contact-content-box .section-inner-content-item-subtitle:before {
  content: "";
}

.contact-content-box .section-inner-content-item-subtitle {
  font-size: 110%;
  color: #444;
}

.contact-agent-title {
  margin-bottom: 0;
}

.contact-content-inner-box,
.contact-content-list {
  list-style-type: none;
  margin-left: 1rem;
}

/*-----------------------------------------------
  最新情報(news/)
-----------------------------------------------*/
.news__wrap {
  background-color: #fafafa;
  width: 100%;
  padding: 1rem;
}

/*-----------------------------------------------
  送信完了(form/submit.html)
  送信エラー(form/error.html)
  送信完了(form/file_error.html)
-----------------------------------------------*/
.sent-complete-content-inner-box,
.send-error-content-inner-box,
.send-file-error-content-inner-box {
  margin-left: 1rem;
}

/*-----------------------------------------------
  オンライン視聴(online/)
-----------------------------------------------*/
.login__form-box {
  max-width: 400px;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.login__table td {
  padding: 0.25rem;
}

.login__form-box .login__form-btn {
  text-align: center;
}

.login__invalid {
  color: red;
  text-align: center;
}

.logout__btn-box {
  margin-top: 5rem;
}

.online-notice-box {
  margin-left: 2.5rem;
}

/* 重要な注意事項（赤太字・下線） */
.text-important {
  color: #dc3545 !important;
  font-weight: bold !important;
  text-decoration: underline !important;
}

/* 太字・下線 */
.text-bold-underline {
  font-weight: bold !important;
  text-decoration: underline !important;
}
