/* イベント共通パーツ */
body {
    background-attachment:fixed;

    /** ページ全体の背景色 **/
    background-color: #EFEFEF;

}

/* メイン領域の背景色 */
#pageW1 {
    /* メイン領域の背景色の透明度を加え、rgba()で指定する */
    background-color:rgba(239,239,239,1);



    /* 透明度をOpacityに変換するサンプル
    {Opacity} = (100 - {透明度})/100;
    */
}

/* ヘッダー領域*/
#SDEventHeadBody {
    /** ヘッダー背景色 **/
    background-color:#FFFFFF;
}

#SDEventHeadBody h2,
#SDEventHeadBody h3,
#SDEventHeadBody p {
    color:#333333;
}

/* 文字色 */
.CL1 .ticket_type,
.CL1 .ticket_type div,
.SDEvent1,
.SDEvent1 .CD1,
.SLEv1,
.SDEventContact1 .CL1,
.SLSocialForm1 li .ttl,
.SLSocialForm1 li .question,
.SLSocialForm1 li .ttl.required,
.SLSocialForm1 li .question.required,
#section .SDEvent1 .CDallR,
.CD1.eventDetailBlock,
.erInquiryBlockBody,
.SDEvent1 .CD1 .newsBlock,
.user_organization_description,
input.strA
.SLSocialForm1 .data .notein,
.SLSocialForm1 li .ttl,
.SLSocialForm1 li .question,
.includeTerm.noborder,
.inquiryCheckBox
 {
    color:#333333;
}

.SDEvent1 .CD1 a,
input.strB {
    color:#239CC9;
}

.SDEvent1 .CH1,
.SDEventContact1 .CH1 {
    color:#333333;
}

/* ボーダー */
#promotionCodeBLock.typeB,
.eventListA li,
.eventListB li,
.SLEv1 li .CLHead1,
.SLEv1 li .CL1,
.SLSocialImport1,
.SDEventContact1 .CL1 li.heading {
    border-bottom-color:#FFFFFF;
}

#promotionCodeBLock,
.CDSubmit1 {
    border-top-color:#FFFFFF;
}

.SDEvent1,
.boxC,
.boxC .bbA,
.inputBoxB,
.inputBoxB h3,
.heading h3,
.selectSessionBlock .selectSessionBody,
.selectSessionBlock .selectSessionBody table,
.selectSessionBlock .selectSessionBody table th,
.selectSessionBlock .selectSessionBody table td,
#section .SDEvent1 .CDallR table,
.CD1.eventDetailBlock table,
.erInquiryBlockBody table,
.SDEvent1 .CD1 .newsBlock table,
#privacyBodyArea table,
.user_organization_description table,
#section .SDEvent1 .CDallR table td,
.CD1.eventDetailBlock table td,
.erInquiryBlockBody table td,
.SDEvent1 .CD1 .newsBlock table td,
#privacyBodyArea table td,
.user_organization_description table td,
#section .SDEvent1 .CDallR table th,
.CD1.eventDetailBlock table th,
.erInquiryBlockBody table td,
.SDEvent1 .CD1 .newsBlock table th,
#privacyBodyArea table th,
.user_organization_description table th,
.SDEventContact1,
.SDEvent1.mobileQRBlock,
.ticketSelectBlock {
    border-color:#FFFFFF;
}

#section .SDEvent1 .CDallR hr,
.CD1.eventDetailBlock hr,
.erInquiryBlockBody hr,
.SDEvent1 .CD1 .newsBlock hr,
#privacyBodyArea hr,
.user_organization_description hr {
    background-color:#FFFFFF;
}

/* 「枠線なし」の場合、以下を指定する */
.SDEvent1,
.SDEventContact1 {
    border:none !important;
}

/* 背景色 */
.SDEvent1 .CH1,
.SDEventContact1 .CH1 {
    background-color:#EFEFEF;
}

.SDEvent1 .CD1,
.fb-like-box,
.fb-comments,
input.strA,
.SDEventContact1,
.SDEventRt1,
.SDEvent1.mobileQRBlock {
    background-color:#FFFFFF;
}

/**************************************************
* EventRegistのスタイル上書き
***************************************************/
#SDEventHead h2::after {
  content: linear-gradient(#ffffff, #ffffff);
  display: block;
  height: 10px;
  border-bottom: 1px solid #a0a0a0;
}

.SDEvent1 {
  background-color: #ffffff !important;
}

.SDEvent1 .CH1 {
  display: inline-block !important;
  font-size: 17px !important;
  font-weight: bold !important;
  color: #333333 !important;
  letter-spacing: 0.05em !important;
  text-align: left !important;
  width: auto !important;
  padding: 0.6em 1.6em 0.6em 1em !important;
  margin-top: 20px !important;
  border-radius: 0 1.5em 1.5em 0 !important;
}

/**************************************************
* 共通
***************************************************/

.wrapper {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  padding: 10px;
  color: #333333;
  background-color: #ffffff;
}

@media screen and (max-width: 768px) {
  .wrapper {
    padding: 5px;
  }
}

@media screen and (max-width: 460px) {
  .wrapper {
    padding: 0px;
  }
}

.wrapper * {
  display: block;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  color: #333333;
  background-color: transparent;
  font-size: 14px;
  text-align: left;
}

.section {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  margin-bottom: 60px;
}

.section-title {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #ffffff;
  margin-bottom: 40px;
}

.section-title-line {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  height: 2px;
  min-height: 2px !important;
  width: 100%;
  min-width: 100% !important;
  background-color: #333333;
  z-index: 50;
}

.section-title-text-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: auto;
  background-color: #ffffff;
  z-index: 100;
}

.section-title-text {
  display: inline-block;
  width: auto;
  font-size: 18px;
  font-weight: bold;
  padding: 0em 1em;
}

@media screen and (max-width: 460px) {
  .section-title-text {
    font-size: 16px;
  }
}

.section-title-deco {
  position: relative;
  display: block;
  width: 32px;
  min-width: 32px !important;
  height: 32px;
  min-height: 32px !important;
  background-color: #ffffff;
}

.section-title-deco.left {
  transform: scale(1, 1);
}
.section-title-deco.right {
  transform: scale(-1, 1);
}

.section-title-deco-line {
  transform-origin: bottom right;
  display: block;
  width: 3px;
  min-width: 3px !important;
  background-color: #cf7828;
}

.section-title-deco-line.long {
  position: absolute;
  top: -4px;
  left: 100%;
  height: 100%;
  min-height: 100% !important;
  transform: rotate(-20deg);
}

.section-title-deco-line.short {
  position: absolute;
  top: calc(50% - 2px);
  left: calc(100% - 6px);
  height: 50%;
  min-height: 50% !important;
  transform: rotate(-35deg);
}

.section-contents-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}

.section-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 40px;
}

/**************************************************
* リード文
***************************************************/
.lead-content {
  display: block;
  font-size: 15px;
  font-weight: normal;
  text-align: left;
  width: 100%;
  padding: 0;
  margin: 0;
}

@media screen and (max-width: 460px) {
  .wrapper {
    padding: 14px;
  }
}

/**************************************************
* こんな方におすすめ
***************************************************/
.recommend-lists-wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}

.recommend-list {
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  margin-bottom: 50px;
}

.recommend-list-title-wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: auto;
}

.recommend-list-title {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-bottom: 25px;
  margin-left: 0;
  margin-right: auto;
}

.recommend-list-title-deco {
  display: block;
  width: 40px;
  min-width: 40px !important;
  height: 40px;
  min-height: 40px !important;
  margin-right: 8px;
  background: url(https://er-static.s3.amazonaws.com/uploads/event_image/33c811c3610baf7f301227202abf3744/b43ec51ebce23b58e7cf1b73dcdbf02f94b67a75.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.recommend-list-title-text {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  color: #333333;
  text-align: left;
  width: auto;
  padding: 0.3em 0em;
  border-bottom: 2px dashed #333333;
}

.recommend-list img {
  width: 100%;
  margin: 0 auto;
}

@media screen and (max-width: 460px) {
  .recommend-list-title-text {
    font-size: 14px;
  }
}

/**************************************************
* タイムスケジュール
***************************************************/
.section.schedule {
  margin-bottom: 80px;
}

.schedule-lists-wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}

.schedule-list {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  background-color: #efefef;
  padding: 34px 25px 25px 25px;
  margin-top: 64px;
}

.schedule-list:first-of-type {
  margin-top: 20px;
}

.schedule-list-line {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  display: block;
  width: 4px;
  height: 60px;
  border-right: 4px dotted #333333;
}

.schedule-list:first-of-type .schedule-list-line {
  display: none;
}

.schedule-list-time {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 0;
  left: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
  color: #ffffff;
  background-color: #333333;
  padding: 0.4em 1em;
  border-radius: 3em;
  width: auto;
  min-width: 145px;
}

.schedule-list-content {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

.schedule-list-title {
  font-size: 14px;
  font-weight: bold;
  text-align: left;
}

.schedule-list-content.short .schedule-list-title {
  display: inline-block;
  width: auto;
}

.schedule-list-content.long .schedule-list-title {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}

/**************************************************
* 講師プロフィール
***************************************************/
.profile-lists-wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}

.profile-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 30px;
  margin-bottom: 30px;
  border: 2px solid #efefef;
}

.profile-img-wrapper {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 240px !important;
}

.profile-img-wrapper img {
  display: block;
  width: 100%;
  min-width: 100% !important;
}

.profile-name {
  display: inline;
  width: auto;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  padding: 0;
  margin-top: 20px;
}

.profile-name-uji {
  display: inline-block;
  font-size: 13px;
  margin-left: 0.2em;
}

.profile-description {
  display: block;
  width: 100%;
  font-size: 14px;
  text-align: left;
  margin-top: 20px;
}

/**************************************************
* 協賛企業
***************************************************/
.corp-lists-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.corp-list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 200px;
  padding: 0;
  margin: 15px;
  margin-bottom: 30px;
}

.corp-list_2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80%;
  max-width: 150px;
  padding: 0;
  margin: 15px;
  margin-bottom: 30px;
}


.corp-list-img {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
}

/**************************************************
* 参加案内
***************************************************/
.info-content {
  display: block;
  font-size: 15px;
  font-weight: normal;
  text-align: left;
  padding: 0;
  margin-bottom: 20px;
}

.info-note {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  padding: 30px;
  margin-bottom: 30px;
  border: 2px solid #efefef;
}

.info-note-title {
  display: block;
  font-size: 13px;
  font-weight: bold;
  text-align: left;
  padding: 0;
  margin-bottom: 0.2em;
}

.info-note-description {
  display: block;
  font-size: 12px;
  font-weight: normal;
  text-align: left;
  padding: 0;
  margin: 0;
}