@charset "utf-8";
/* CSS Document */

/* 校正用：参加登録本文を表示 */
#sanka_higo { display: block !important; }
#sanka_pre { display: none !important; }
/* 参加登録ページ：サイトの青系デザインに合わせて情報の階層を明確化 */
#sanka_higo { line-height: 1.65; }
#sanka_higo h3 {
  margin: 20px 0 9px !important;
  padding: 8px 12px !important;
  background: #176b9c;
  color: #fff;
  border-radius: 3px;
  font-weight: bold;
}
#sanka_higo h4 {
  margin: 12px 0 6px !important;
  padding: 5px 9px !important;
  background: #e8f4fa;
  color: #145f8c;
  border-left: 5px solid #2b82b5;
  font-weight: bold;
}
#sanka_higo p { margin: 0 0 6px !important; padding: 0 !important; }
#sanka_higo p.mt20 { margin-top: 8px !important; }
#sanka_higo .sage10 { margin: 3px 0 6px 0 !important; padding-left: 0 !important; text-indent: 0 !important; font-size: 0.94em; }
#sanka_higo .box {
  margin: 6px 0 8px !important;
  padding: 9px 12px !important;
  background: #eef7fb;
  border: 1px solid #c5e2ef;
  border-left: 5px solid #2b82b5;
  box-sizing: border-box;
}
#sanka_higo .heisai-box {
  text-align: left !important;
}
#sanka_higo .heisai-box p {
  text-align: left !important;
  font-size: 0.95em;
  line-height: 1.65;
  margin: 0 0 8px !important;
}
#sanka_higo .heisai-box p:last-child {
  margin-bottom: 0 !important;
}
#sanka_higo .heisai-box strong {
  font-weight: 700;
}
#sanka_higo table { width: 100%; margin: 6px 0 9px !important; border-collapse: collapse; }
#sanka_higo table th {
  padding: 7px 8px !important;
  background: #287dac !important;
  color: #fff !important;
  text-align: center;
  font-weight: bold;
}
#sanka_higo table td { padding: 7px 8px !important; background: #fff; }
#sanka_higo table tr:nth-child(odd) td { background: #f4f8fa; }
#sanka_higo ul, #sanka_higo ol { margin-top: 4px !important; margin-bottom: 8px !important; }
#sanka_higo li { margin-top: 0 !important; margin-bottom: 3px !important; }
#sanka_higo .red.bold {
  margin: 8px 0 !important;
  padding: 8px 10px !important;
  background: #fff5f2;
  border-left: 5px solid #d85d45;
}
/* 改行が消える不具合のため削除：#sanka_higo br + br { display: none; } */


/* 項目名とコロン位置を縦に揃える */
#sanka_higo .detail-list {
  margin: 0 0 6px !important;
}
#sanka_higo .detail-list {
  display: grid;
  grid-template-columns: max-content 1em minmax(0, 1fr);
  row-gap: 2px;
}
#sanka_higo .detail-row { display: contents; }
#sanka_higo .detail-label {
  font-weight: bold;
  white-space: nowrap;
}
#sanka_higo .detail-colon { text-align: left; }
#sanka_higo .detail-row > span:last-child { min-width: 0; padding-left: .5em; }

/* 下部の不要な空白を詰める */
#sanka_higo {
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.con_temp .jimu {
  margin-top: 18px !important;
  padding-top: 0 !important;
}

#sanka_higo .registration-button-wrap {
  margin: 10px 0 12px !important;
  text-align: center;
}
#sanka_higo .registration-start-button {
  display: inline-block;
  min-width: 280px;
  padding: 11px 24px;
  background: #2f7ea8;
  color: #fff !important;
  text-decoration: none !important;
  border: 2px solid #2b5f7a;
  border-radius: 6px;
  font-weight: bold;
  line-height: 1.35;
  box-sizing: border-box;
}
#sanka_higo .registration-start-button span {
  display: block;
  margin-top: 3px;
  font-size: 0.84em;
  font-weight: normal;
}
#sanka_higo .registration-start-button.disabled {
  background: #7f9fb3;
  border-color: #5b7180;
  cursor: default;
  opacity: 1;
}
@media screen and (max-width: 480px) {
  #sanka_higo h3 { padding: 7px 9px !important; }
  #sanka_higo table th, #sanka_higo table td { padding: 6px 5px !important; font-size: 0.92em; }
}





#annai_higo { display: block !important; line-height: 1.65; }
#annai_higo_pre { display: none !important; }
/* 参加者へのご案内：参加登録ページと共通の青系デザイン */
#annai_higo h3 {
  margin: 20px 0 9px !important;
  padding: 8px 12px !important;
  background: #176b9c;
  color: #fff;
  border-radius: 3px;
  font-weight: bold;
}
#annai_higo h4 {
  margin: 12px 0 6px !important;
  padding: 5px 9px !important;
  background: #e8f4fa;
  color: #145f8c;
  border-left: 5px solid #2b82b5;
  font-weight: bold;
}
#annai_higo p { margin: 0 0 6px !important; padding: 0 !important; }
#annai_higo p.mt20 { margin-top: 8px !important; }
#annai_higo .sage10 { margin: 3px 0 6px 0 !important; padding-left: 0 !important; text-indent: 0 !important; font-size: 0.94em; }
#annai_higo .box {
  width: 100% !important;
  max-width: none !important;
  margin: 6px 0 8px !important;
  padding: 10px 14px !important;
  background: #eef7fb;
  border: 1px solid #c5e2ef;
  border-left: 5px solid #2b82b5;
  box-sizing: border-box;
  text-align: left !important;
}
#annai_higo .box p {
  text-align: left !important;
  line-height: 1.6 !important;
  margin: 0 0 5px !important;
}
#annai_higo .box p:last-child {
  margin-bottom: 0 !important;
}
/* ランチョンセミナー：事前申込案内 */
#annai_higo .lunch-note {
  margin: 8px 0 10px !important;
  padding: 10px 14px !important;
  background: #f8fbfd;
  border: 1px solid #b9dbea;
  border-left: 4px solid #2b82b5;
  border-radius: 4px;
  box-sizing: border-box;
}
#annai_higo .lunch-note p {
  margin: 0 0 5px !important;
  line-height: 1.65 !important;
}
#annai_higo .lunch-note .lunch-period {
  margin: 8px 0 0 !important;
  padding-top: 7px !important;
  border-top: 1px solid #d7e8f0;
}
#annai_higo table { width: 100%; margin: 6px 0 9px !important; border-collapse: collapse; }
#annai_higo table th {
  padding: 7px 8px !important;
  background: #287dac !important;
  color: #fff !important;
  text-align: center;
  font-weight: bold;
}
#annai_higo table td { padding: 7px 8px !important; background: #fff; }
#annai_higo table tr:nth-child(odd) td { background: #f4f8fa; }
#annai_higo ul, #annai_higo ol { margin-top: 4px !important; margin-bottom: 8px !important; }
#annai_higo li { margin-top: 0 !important; margin-bottom: 3px !important; }
/* 改行が消える不具合のため削除：#annai_higo br + br { display: none; } */

/* 項目名・コロン・内容の位置をそろえる（コロンの後は半角スペース分を空ける） */
#annai_higo .detail-list {
  display: grid;
  grid-template-columns: max-content 1em minmax(0, 1fr);
  row-gap: 2px;
  margin: 0 0 6px !important;
}
#annai_higo .detail-row { display: contents; }
#annai_higo .detail-label { white-space: nowrap; }
#annai_higo .detail-colon { text-align: left; }
#annai_higo .detail-value { min-width: 0; padding-left: .5em; }

/* 赤字校正の「改行」指示を確実に反映 */
#annai_higo .detail-line { display: block; }
#annai_higo .detail-lines { line-height: 1.65; }



/* 会員懇親会：定員・参加費を強調 */
#annai_higo .party-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 8px 0 10px !important;
}
#annai_higo .party-point {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 12px;
  border-radius: 5px;
  font-weight: bold;
  line-height: 1.35;
  box-sizing: border-box;
}
#annai_higo .party-point.capacity {
  background: #fff2e8;
  border: 1px solid #efb789;
  color: #a84808;
}
#annai_higo .party-point.fee {
  background: #edf8f1;
  border: 1px solid #9fd2b0;
  color: #176f3d;
}
#annai_higo .party-point .label {
  font-size: 0.92em;
}
#annai_higo .party-point .value {
  font-size: 1.12em;
}
@media screen and (max-width: 480px) {
  #annai_higo .party-points { gap: 6px; }
  #annai_higo .party-point { padding: 7px 10px; }
}

/* オンデマンド配信期間：数字だけが大きくなりすぎないよう調整 */
#annai_higo .kikan {
  margin: 2px 0 8px !important;
  font-size: 1.25em !important;
  line-height: 1.5 !important;
  font-weight: bold !important;
  color: #08753f !important;
  letter-spacing: 0 !important;
}
#annai_higo .kikan span {
  font-size: 1em !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  vertical-align: baseline !important;
}

/* 下部の不要な空白を詰める */
#annai_higo {
  min-height: 0 !important;
  height: auto !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.con_temp .jimu {
  margin-top: 18px !important;
  padding-top: 0 !important;
}
@media screen and (max-width: 480px) {
  #annai_higo h3 { padding: 7px 9px !important; }
  #annai_higo table th, #annai_higo table td { padding: 6px 5px !important; font-size: 0.92em; }
}


#unit { display:block !important; line-height:1.7; }
#unit h3 {
  margin:22px 0 10px !important;
  padding:8px 12px !important;
  background:#176b9c;
  color:#fff;
  border-radius:3px;
  font-weight:bold;
}
#unit h4 {
  margin:16px 0 7px !important;
  padding:6px 10px !important;
  background:#e8f4fa;
  color:#145f8c;
  border-left:5px solid #2b82b5;
  font-weight:bold;
}
#unit p { margin:0 0 8px !important; padding:0 !important; }
#unit ul { margin:6px 0 12px 1.5em !important; }
#unit li { margin-bottom:4px; }
#unit .unit-box {
  width:100%;
  margin:8px 0 14px;
  padding:12px 15px;
  background:#eef7fb;
  border:1px solid #c5e2ef;
  border-left:5px solid #2b82b5;
  box-sizing:border-box;
}
#unit .caution {
  margin:10px 0 14px;
  padding:10px 14px;
  background:#fff8e8;
  border-left:4px solid #d6a53a;
  box-sizing:border-box;
}
#unit .meta { margin-bottom:8px !important; }
#unit .note { font-size:.94em; }
/* 項目名・コロン・内容の位置をブロック内でそろえる（コロンの後は半角スペース分を空ける） */
#unit .detail-list {
  display:grid;
  grid-template-columns:max-content 1em minmax(0,1fr);
  row-gap:4px;
  margin:0 0 8px;
}
#unit .detail-list:last-child { margin-bottom:0; }
#unit .detail-row { display:contents; }
#unit .detail-label { font-weight:bold; white-space:nowrap; }
#unit .detail-colon { text-align:left; }
#unit .detail-value { min-width:0; padding-left:.5em; }
#unit .detail-sep { grid-column:1 / -1; height:6px; }
#unit .unit-box > :last-child { margin-bottom:0 !important; }
#unit .unit-tags {
  display:inline-flex;
  flex-wrap:wrap;
  gap:5px;
  margin-left:8px;
  vertical-align:middle;
}
#unit .unit-tag {
  display:inline-block;
  padding:2px 8px;
  border-radius:12px;
  font-size:.76em;
  line-height:1.45;
  font-weight:bold;
  white-space:nowrap;
  box-sizing:border-box;
}
#unit .unit-tag.onsite {
  background:#eaf5ff;
  color:#0f5d91;
  border:1px solid #9bc8e8;
}
#unit .unit-tag.ondemand {
  background:#fff0e8;
  color:#a34c16;
  border:1px solid #e7ad85;
}
/* 青見出し（h3）の配下は同じインデント位置に統一 */
#unit > ul,
#unit > p,
#unit > .detail-list,
#unit > h4,
#unit > .unit-box,
#unit > .caution {
  margin-left:1.5em !important;
  width:calc(100% - 1.5em);
  box-sizing:border-box;
}
@media screen and (max-width:480px) {
  #unit h3 { padding:7px 9px !important; }
  #unit .unit-box, #unit .caution { padding:9px 10px; }
  #unit .unit-tags { display:flex; margin:5px 0 0; gap:4px; }
  #unit .unit-tag { font-size:.74em; padding:2px 7px; }
  #unit > ul,
  #unit > p,
  #unit > .detail-list,
  #unit > h4,
  #unit > .unit-box,
  #unit > .caution {
    margin-left:.8em !important;
    width:calc(100% - .8em);
  }
}


