:root {
  --text-font-family: "Noto Sans JP", Helvetica;
  --text-default-font-weight: 400;
  --text-bold-font-weight: 700;
  --text-heading-line-height: 150%;
  --text-line-height: 180%;
  --text-small-font-size: 12px;
  --text-default-font-size: 16px;

  --text-heading-h2-font-size: 32px;
  --text-heading-h3-font-size: 24px;
  --text-heading-h4-font-size: 20px;
  --1-gray-04: rgba(255, 255, 255, 1);
  --1-txt-02: rgba(85, 85, 85, 1);
  --1-txt-01: rgba(51, 51, 51, 1);
  --1-primary-01: rgba(15, 88, 164, 1);
  --1-gray-03: rgba(217, 217, 217, 1);
  --1-green-01: rgba(76, 175, 80, 1);
  --1-red-01: rgba(252, 231, 231, 1);
  --1-red-02: rgba(229, 39, 35, 1);
}

.breadCrumb__list a {
  text-decoration: underline !important;
}

main a {
  cursor: pointer;
  text-decoration: none;
}

.bottom__area a {
  cursor: pointer;
  text-decoration: none;
}

/* メイン部分 */
/* タグカラー */
.accept-open {
  background-color: var(--1-green-01);
  color: var(--1-gray-04);
}

.accept-close {
  background-color: var(--1-red-01);
  color: var(--1-red-02);
}

.event-end {
  background-color: var(--1-gray-03);
  color: var(--1-txt-02);
}

/* イベント詳細 */
.mainContents__wrapper {
  display: flex;
  width: 100%;
  justify-content: center;
  gap: 64px;
  position: relative;
  flex: 0 0 auto;
}

.eventDetail__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 40px;
  position: relative;
  flex: 1;
  flex-grow: 1;
}

/* header　サムネ */
.eventDetail__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.eventDetail__header--textarea {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.accept-tag {
  display: flex;
  width: 72px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 2px 8px;
  position: relative;
  flex: 0 0 auto;
  border-radius: 4px;
  margin-top: -1.00px;
  font-weight: 700;
  font-size: 14px;
  line-height: 25.2px;
  white-space: nowrap;
  font-family: "Noto Sans JP", Helvetica;
}

.eventDetail__title {
  position: relative;
  align-self: stretch;
  font-family: var(--text-font-family);
  font-weight: var(--text-bold-font-weight);
  color: var(--1-txt-01);
  font-size: var(--text-heading-h2-font-size);
  line-height: var(--text-heading-line-height);
}

.eventDetail__textarea--footer {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  position: relative;
  flex: 0 0 auto;
}

.eventDetail__date--open-hold {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: -1.00px;
  font-weight: 500;
  color: #696969;
  font-size: 13px;
  line-height: 13px;
  white-space: nowrap;
  position: relative;
  font-family: "Noto Sans JP", Helvetica;
}

.tagsWrapper {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  position: relative;
  flex: 0 0 auto;
}

.articleTags__wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 1px 8px;
  position: relative;
  flex: 0 0 auto;
  border-radius: 4px;
  border: 1px solid;
  border-color: var(--1-primary-01);
}

.articleTags__text {
  width: fit-content;
  margin-top: -1.00px;
  font-weight: 400;
  color: var(--1-primary-01);
  font-size: 12px;
  line-height: 21.6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  position: relative;
  font-family: "Noto Sans JP", Helvetica;
}

.eventDetail__thumbnail {
  position: relative;
  align-self: stretch;
  width: 100%;
  aspect-ratio: 1.76;
}

/* 注．EntryBodyのイベント詳細(event-detail-main.html)は/assets/css/qbookplus.cssに記載 */

/* サイドバー */
.side {
  width: 300px;
  flex-direction: column;
  align-self: stretch;
}

.side--no-sticky {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  position: relative;
  margin-bottom: 20px;
}

.side--sticky {
  display: none;
  align-items: flex-start;
  justify-content: center;
  position: sticky;
  /* top: 170px; */
  top: 0px;
}

/* サイドバー　申込 */
.sideReception__wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  position: relative;
  flex: 0 0 auto;
  background-color: var(--1-gray-04);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0px 1px 4px #0000004c;
}

.sideReception__header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.sideReception__title {
  position: relative;
  align-self: stretch;
  margin-top: -1.00px;
  font-family: var(--text-font-family);
  font-weight: var(--text-bold-font-weight);
  color: var(--1-txt-01);
  font-size: var(--text-default-font-size);
  line-height: var(--text-line-height);
}

.sideReception__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.eachDetail__wrapper {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.sideReception__body--txt-bold {
  width: 36px;
  margin-top: -1.00px;
  font-family: var(--text-font-family);
  font-weight: var(--text-bold-font-weight);
  color: var(--1-txt-01);
  font-size: var(--text-small-font-size);
  line-height: var(--text-line-height);
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  position: relative;
}

.sideReception__body--txt {
  position: relative;
  flex: 1;
  margin-top: -1.00px;
  font-family: "Noto Sans JP", Helvetica;
  font-weight: 400;
  color: var(--1-txt-01);
  font-size: 12px;
  line-height: 21.6px;
}

.sideReception__footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.sideReception__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 0px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  border-radius: 8px;
  white-space: nowrap;
  font-weight: var(--text-bold-font-weight);
  font-size: var(--text-default-font-size);
  line-height: var(--text-line-height);
  font-family: var(--text-font-family);
}

.sideReception__date--txt {
  align-self: stretch;
  font-weight: var(--text-default-font-weight);
  color: var(--1-txt-01);
  font-size: var(--text-small-font-size);
  line-height: var(--text-line-height);
  position: relative;
  font-family: var(--text-font-family);
}

/* 開催日が近い講座 - モジュール適用 */
/* サイドバー　バルデミー */
.valdemy-wrapper {
  position: relative;
  align-self: stretch;
  width: 100%;
}

/* 新着記事　‐　モジュール適用 */
/* ページ下部 */
.bottom__area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 54px;
  padding: 80px 0;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

/* おすすめの無料イベント・セミナー */
.recommendEvent__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.bottom-title-text-wrapper {
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 24px;
  position: relative;
  border-left-width: 6px;
  border-left-style: solid;
  border-color: var(--1-primary-01);
}

.bottom-title-text {
  width: fit-content;
  margin-top: -6.00px;
  font-weight: var(--text-bold-font-weight);
  color: var(--1-primary-01);
  font-size: var(--text-heading-h3-font-size);
  line-height: var(--text-heading-line-height);
  white-space: nowrap;
  position: relative;
  font-family: var(--text-font-family);
}

.recommendEvent__wrapper {
  display: flex;
  align-items: stretch;
  gap: 16px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.recommendEvent {
  display: flex;
  flex-direction: column;
  width: calc((100% - 32px) / 3);
  align-items: flex-start;
  position: relative;
  background-color: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0px 1px 4px #0000004c;
  transition: 0.2s;
}

.recommendEvent:hover {
  box-shadow: 0px 2px 5px #000000cc;
}

.recommendEvent__img {
  width: 100%;
  aspect-ratio: 1.76;
  border-radius: 8px 8px 0 0;
}

.recommendEvent__textarea {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 20px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.recommendEvent__textarea--header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.accept-tag__eachEvent {
  display: flex;
  width: 72px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 1px 8px;
  position: relative;
  border-radius: 4px;
  margin-top: -1.00px;
  font-weight: 700;
  font-size: 12px;
  line-height: 21.6px;
  white-space: nowrap;
  font-family: "Noto Sans JP", Helvetica;
}

.recommendEvent__dateWrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.recommendEvent__date {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  position: relative;
  flex: 0 0 auto;
}

.recommendEvent__date--Ymd {
  position: relative;
  width: fit-content;
  margin-top: -1.00px;
  font-family: var(--text-font-family);
  font-weight: var(--text-bold-font-weight);
  color: var(--1-txt-02);
  font-size: var(--text-heading-h4-font-size);
  line-height: var(--text-heading-line-height);
  white-space: nowrap;
}

.recommendEvent__date--day {
  width: fit-content;
  margin-top: -0.50px;
  font-weight: var(--text-default-font-weight);
  color: var(--1-txt-02);
  font-size: var(--text-default-font-size);
  line-height: var(--text-line-height);
  white-space: nowrap;
  position: relative;
  font-family: var(--text-font-family);
}

.recommendEvent__date--time {
  width: fit-content;
  margin-top: -0.50px;
  font-weight: var(--text-bold-font-weight);
  color: var(--1-txt-02);
  font-size: var(--text-default-font-size);
  line-height: var(--text-line-height);
  white-space: nowrap;
  position: relative;
  font-family: var(--text-font-family);
}

.recommendEvent__textarea--body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.recommendEvent__title {
  align-self: stretch;
  margin-top: -1.00px;
  font-weight: 400;
  color: var(--1-txt-02);
  font-size: 14px;
  line-height: 25.2px;
  position: relative;
  font-family: "Noto Sans JP", Helvetica;
}

/* お役立ち資料 */
.material-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.article-contents-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  align-self: stretch;
  width: 100%;
  position: relative;
  flex: 0 0 auto;
}

.article-img {
  position: relative;
  align-self: stretch;
  width: 100%;
  aspect-ratio: 1.76;
}

.material-text-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.material-description-text {
  position: relative;
  align-self: stretch;
  margin: 0px;
  font-family: var(--text-font-family);
  font-weight: var(--default-font-weight);
  color: var(--1-txt-01);
  font-size: var(--default-font-size);
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 3;
}

.material-content {
  display: flex;
  flex-direction: column;
  /* width: 338px; */
  width: 416px;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
  position: relative;
  background-color: #ffffff;
  border-radius: 8px;
  overflow: hidden;
}

.material-title-text {
  align-self: stretch;
  margin: 5px;
  font-family: var(--text-font-family);
  font-weight: var(--default-font-weight);
  color: var(--1-primary-01);
  font-size: var(--middle-font-size);
  text-align: center;
  position: relative;
}

/* テストツール */
.tool-section {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  position: relative;
  align-self: stretch;
  width: 100%;
  flex: 0 0 auto;
}

.tool-contents-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  gap: 24px;
}

.tool-contents-wrapper-line {
  display: flex;
  height: 160px;
  align-items: center;
  gap: 24px;
  position: relative;
  align-self: stretch;
  width: 100%;
}

.tool-content {
  position: relative;
  flex: 1;
  width: 518px;
}

.tool-img {
  width: 100%;
}

@media screen and (max-width: 767px) {

  /* イベント詳細 */
  .mainContents__wrapper {
    justify-content: flex-start;
    gap: 0;
  }

  .eventDetail__wrapper {
    padding: 20px 0 8px;
    gap: 32px;
  }

  /* header　サムネ */
  .eventDetail__header {
    gap: 16px;
  }

  .accept-tag {
    padding: 1px 8px;
    font-size: 12px;
    line-height: 180%;
  }

  .eventDetail__title {
    font-family: var(--text-font-family);
    font-weight: var(--text-bold-font-weight);
    font-size: var(--text-heading-h4-font-size);
    line-height: var(--text-heading-line-height);
  }

  .eachDetail__wrapper {
    flex-direction: column;
    gap: 4px;
  }

  /* ページ下部 */
  .bottom__area {
    padding: 40px 0;
  }

  /* おすすめの無料イベント・セミナー */
  .bottom-title-text-wrapper {
    border-left-width: 7px;
  }

  #recommendEvent {
    padding: 8px 12px;
  }

  .bottom-title-text {
    margin-top: -2.00px;
    font-weight: var(--text-bold-font-weight);
    font-size: var(--text-heading-h4-font-size);
    line-height: var(--text-heading-line-height);
    font-family: var(--text-font-family);
  }

  .recommendEvent__wrapper {
    flex-direction: column;
  }

  .recommendEvent {
    width: 100%;
  }

  .recommendEvent:hover {
    box-shadow: 0px 2px 5px #000000cc;
  }

  /* お役立ち資料 */
  .article-contents-wrapper {
    flex-direction: column;
    margin: 0 auto;
  }

  .material-content {
    width: 342px;
    margin-bottom: 20px;
  }

  /* テストツール */
  .tool-contents-wrapper {
    gap: 0px;
  }

  .tool-contents-wrapper-line {
    display: block;
    margin-bottom: 45px;
  }

  .tool-content-wrapper {
    margin-bottom: 15px;
  }

  /* サイドバー　バルデミー */
  .valdemy-wrapper {
    width: 342px;
  }

  /* 旧セミナー概要、テーブルスタイル */
  .table__wrap {
    max-width: 342px;
  }
}