/* ---------- メディアページのスタイル ---------- */
/* ページ共通 - 表示切替 */
.ec-hide {
  display: none!important;
}
.ec-show.ec-show {
  display: block!important;
}
.ec-preLoad {
  display: none!important;
}

/* ページ共通 - タイトル */
.ec-botcamp__title {
  border-left: var(--clamp-10sp) solid var(--blue);
  padding-left: var(--clamp-16sp);
}
.ec-botcamp__title h2 {
  font-size: var(--clamp-22sp);
  font-weight: bold;
  color: var(--blue);
}

/* ページ共通 - ページネーション */
.ec-pagination {
  display: flex;
  justify-content: center;
  gap: var(--clamp-12sp);
  margin-top: var(--clamp-40sp);
}
.ec-pagination .page-numbers {
  width: 40px;
  height: 40px;
  color: var(--blue);
  border: 1px solid var(--blue)!important;
  border-radius: 0;
  background-color: var(--white);
}
.ec-pagination .page-numbers.current {
  background-color: var(--blue);
}
.ec-pagination .page-numbers.current:hover {
  background-color: unset!important;
  color: var(--blue)!important;
}
@media all and (min-width: 744px) {
  .ec-pagination {
    margin-top: var(--clamp-40);
  }
}

/* ページ共通 - パンくずリスト */
.ec-header__breadcrumb--list_item {
  color: var(--gray);
}

/* メインビジュアル */
.ec-mv {
  width: 100%;
  margin-top: var(--clamp-8sp);
  padding: var(--clamp-178sp) 0 var(--clamp-24sp);
  background-image: url(../../images/media/botcamp/mv_bg_sp@3x.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.ec-mv__title {
  width: var(--clamp-360sp);
  margin: 0 auto;
  padding: var(--clamp-10sp) var(--clamp-10sp) var(--clamp-18sp);
  background-color: var(--light-blue);
}
.ec-mv__title-sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--clamp-8sp);
  padding: var(--clamp-16sp) var(--clamp-8sp);
  background-color: var(--white);
}
.ec-mv__title-sub img {
  width: 32px;
  height: 32px;
}
.ec-mv__title-sub p {
  font-size: var(--clamp-12sp);
  font-weight: bold;
  color: var(--light-blue);
  letter-spacing: calc(var(--clamp-05sp) * -1);
  white-space: nowrap;
}
.ec-mv__title-text {
  margin-top: var(--clamp-8sp);
  text-align: center;
}
.ec-mv__title-text h1 {
  font-size: var(--clamp-32sp);
  font-weight: bold;
  color: var(--white);
}
.ec-mv__pickup {
  margin-top: var(--clamp-52sp);
}
.ec-mv__pickup-title {
  text-align: center;
}
.ec-mv__pickup-title p {
  display: inline-block;
  padding: var(--clamp-4sp) var(--clamp-24sp);
  background-color: var(--white);
  border-radius: 100px;
}
.ec-mv__pickup-item-img,
.ec-mv__pickup-item-img img {
  width: 100%;
}
.ec-mv__pickup-item-text {
  padding: var(--clamp-10sp) var(--clamp-10sp) var(--clamp-16sp);
  text-align: center;
}
.ec-mv__pickup-item-text p {
  font-size: var(--clamp-20sp);
  font-weight: bold;
  color: var(--gray);
}
/* slick.js */
.slick-slider {
  margin-top: var(--clamp-22sp);
  padding: 0 var(--clamp-56sp);
}
.slick-list {
  padding: 0!important;
}
.slick-track {
  display: flex!important;
  gap: var(--clamp-40sp);
}
.slick-slide {
  display: block;
  width: calc(100vw - var(--clamp-56sp) * 2);
  height: auto !important;
  background-color: var(--white);
  box-sizing: border-box;
}
.slick-arrow {
  width: var(--clamp-40sp)!important;
  height: 100%!important;
  background-color: var(--arrow-gray)!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
  z-index: 10;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25)!important;
}
.slick-arrow::before {
  content: ''!important;
}
.slick-prev {
  left: var(--clamp-4sp)!important;
  background-image: url(../../images/media/botcamp/icon_arrowPrev.svg)!important;
}
.slick-next {
  right: var(--clamp-4sp)!important;
  background-image: url(../../images/media/botcamp/icon_arrowNext.svg)!important;
}

@media all and (min-width: 744px) {
  .ec-mv {
    margin-top: var(--clamp-10);
    padding: var(--clamp-168) 0 var(--clamp-24);
    text-align: center;
  }
  .ec-mv__title {
    display: inline-block;
    width: auto;
  }
  .ec-mv__title-sub {
    padding: var(--clamp-16) var(--clamp-32);
    gap: var(--clamp-24);
  }
  .ec-mv__title-sub img {
    width: 63px;
    height: 63px;
  }
  .ec-mv__title-sub p {
    font-size: var(--clamp-24);
    text-align: left;
  }
  .ec-mv__title-text {
    margin-top: var(--clamp-8);
  }
  .ec-mv__title-text h1 {
    font-size: var(--clamp-42);
  }
  .ec-mv__pickup {
    margin-top: var(--clamp-32);
  }
  .ec-mv__pickup-title p {
    padding: var(--clamp-4) var(--clamp-24);
    font-size: var(--clamp-16);
  }
  .ec-mv__pickup-item-text p {
    font-size: var(--clamp-20);
  }
  /* slick.js */
  .slick-slider {
    margin-top: var(--clamp-12);
    padding: 0 var(--clamp-60);
  }
  .slick-track {
    gap: var(--clamp-40);
  }
  .slick-slide {
    width: var(--clamp-280);
  }
  .slick-arrow {
    width: var(--clamp-40)!important;
  }
  .slick-prev {
    left: var(--clamp-40)!important;
  }
  .slick-next {
    right: var(--clamp-40)!important;
  }
}

/* 投稿の絞り込み */
.ec-filterPost {
  margin-top: var(--clamp-52sp);
  padding: 0 var(--clamp-16sp);
}
.ec-filterPost__filter {
  display: flex;
  gap: var(--clamp-40sp);
  margin-top: var(--clamp-40sp);
}
.ec-filterPost__filter button {
  padding: var(--clamp-8sp) var(--clamp-20sp);
  background-color: var(--white);
  border-radius: 100px;
  border: 1px solid var(--light-gray);
  font-size: var(--clamp-16sp);
  font-weight: bold;
  color: var(--light-gray);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.ec-filterPost__filter button.ec-checked  {
  background-color: var(--gray);
  border: 1px solid var(--gray);
  color: var(--white);
}
.ec-filterPost__hr {
  margin-top: var(--clamp-24sp);
  border-top: 1px solid var(--light-gray);
}
.ec-filterPost__selectWrap {
  margin-top: var(--clamp-24sp);
  position: relative;
}
.ec-filterPost__selectWrap::after {
  content: url(../../images/media/botcamp/icon_arrowSelect.svg);;
  display: block;
  width: 32px;
  height: 32px;
  margin: auto 0;
  position: absolute;
  right: var(--clamp-24sp);
  top: 0;
  bottom: 0;
}
.ec-filterPost__select {
  width: 100%;
  padding: var(--clamp-8sp) calc(var(--clamp-24sp) + var(--clamp-32sp)) var(--clamp-8sp) var(--clamp-24sp);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.ec-filterPost__select::-ms-expand {
  display: none; /* デフォルトの矢印を無効(IE用) */
}
.ec-filterPost__arrow {
  margin-top: var(--clamp-24sp);
  text-align: center;
}
.ec-filterPost__list {
  margin-top: var(--clamp-40sp);
}
.ec-filterPost__list-count {
  font-size: var(--clamp-16sp);
  font-weight: bold;
}
.ec-filterPost__list-itemWrap {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-24sp);
  margin-top: var(--clamp-24sp);
}
.ec-filterPost__list-item {
  border-radius: 20px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}
.ec-filterPost__list-item a {
  display: block;
  padding: var(--clamp-24sp);
}
.ec-filterPost__list-item-title {
  display: flex;
  gap: var(--clamp-16sp);
}
.ec-filterPost__list-item-title-img {
  width: var(--clamp-24sp);
  height: var(--clamp-24sp);
}
.ec-filterPost__list-item-title-img img {
  width: 100%;
  height: 100%;
}
.ec-filterPost__list-item-title-text {
  width: calc(100% - var(--clamp-24sp) - var(--clamp-16sp));
}
.ec-filterPost__list-item-title-text p {
  font-size: var(--clamp-16sp);
  font-weight: bold;
  color: var(--gray);
}
.ec-filterPost__list-item-category {
  padding-top: var(--clamp-16sp);
}
.ec-filterPost__list-item-category p {
  font-size: var(--clamp-14sp);
  font-weight: 300;
  color: var(--gray);
}
.ec-filterPost__list-item-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--clamp-16sp);
  align-items: flex-end;
  padding-top: var(--clamp-8sp);
}
.ec-filterPost__list-item-info-date {
  display: flex;
  align-items: center;
  gap: var(--clamp-4sp);
}
.ec-filterPost__list-item-info-date img {
  width: var(--clamp-16sp);
  height: var(--clamp-16sp);
}
.ec-filterPost__list-item-info-date p {
  font-size: var(--clamp-14sp);
  font-weight: 300;
  color: var(--gray);
}
.ec-filterPost__list-item-info-icon {
  text-align: right;
}
.ec-filterPost__list-item-info-icon img {
  width: var(--clamp-24sp);
  height: var(--clamp-24sp);
  vertical-align: bottom;
}
.ec-filterPost__list-more {
  margin-top: var(--clamp-24sp);
  text-align: center;
}
.ec-filterPost__list-more button {
  padding: var(--clamp-8sp) var(--clamp-24sp);
  border-radius: 100px;
  font-size: var(--clamp-14sp);
  font-weight: bold;
  color: var(--white);
  background-color: var(--gray);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

@media all and (min-width: 744px) {
  .ec-filterPost {
    margin-top: 0;
    padding: 0;
  }
  .ec-botcamp__title {
    border-left: var(--clamp-10) solid var(--blue);
    padding-left: var(--clamp-16);
  }
  .ec-botcamp__title h2 {
    font-size: var(--clamp-26);
  }
  .ec-filterPost__filter {
    margin-top: var(--clamp-40);
    gap: var(--clamp-16);
  }
  .ec-filterPost__filter button {
    padding: var(--clamp-8) var(--clamp-24);
    font-size: var(--clamp-16);
  }
  .ec-filterPost__hr {
    margin-top: var(--clamp-24);
  }
  .ec-filterPost__category {
    margin-top: var(--clamp-24);
  }
  .ec-filterPost__category-item {
    display: inline-block;
    font-weight: bold;
    color: var(--light-blue);
    background-color: var(--white);
    border: 2px solid var(--light-blue);
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    cursor: pointer;
  }
  .ec-filterPost__category-item:hover {
    opacity: 0.7;
  }
  .ec-filterPost__category-item.ec-selected {
    color: var(--white);
    background-color: var(--light-blue);
  }
  .ec-filterPost__category-item-all {
    padding: var(--clamp-8) var(--clamp-24);
    font-size: var(--clamp-16);
  }
  .ec-filterPost__category-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--clamp-16);
    margin-top: var(--clamp-16);
  }
  .ec-filterPost__category-item-detail {
    display: flex;
    gap: var(--clamp-10);
    align-items: center;
    width: calc((100% - var(--clamp-16) * 3) / 4);
    padding: var(--clamp-26) var(--clamp-16);
    font-size: var(--clamp-14);
    word-break: break-all;
  }
  .ec-filterPost__category-item-detail img {
    width: var(--clamp-24);
    height: var(--clamp-24);
  }
  .ec-filterPost__arrow {
    margin-top: var(--clamp-24);
  }
  .ec-filterPost__arrow img {
    width: var(--clamp-32);
    height: var(--clamp-32);
  }
  .ec-filterPost__list {
    margin-top: var(--clamp-40);
  }
  .ec-filterPost__list-count {
    font-size: var(--clamp-16);
  }
  .ec-filterPost__list-itemWrap {
    margin-top: var(--clamp-24);
    padding: 0 var(--clamp-10);
  }
  .ec-filterPost__list-item a {
    grid-template-columns: 40px 1fr 40px;
    grid-template-rows: repeat(2, auto);
    padding: var(--clamp-24);
  }
  .ec-filterPost__list-item-img img {
    width: 100%;
    height: 100%;
  }
  .ec-filterPost__list-item-title {
    gap: var(--clamp-16);
  }
  .ec-filterPost__list-item-title-img {
    width: var(--clamp-40);
    height: var(--clamp-40);
  }
  .ec-filterPost__list-item-title p {
    font-size: var(--clamp-20);
  }
  .ec-filterPost__list-item-inner {
    display: flex;
    justify-content: right;
    align-items: flex-end;
    gap: var(--clamp-16);
    margin-top: var(--clamp-16);
  }
  .ec-filterPost__list-item-category {
    padding-top: 0;
  }
  .ec-filterPost__list-item-category p {
    font-size: var(--clamp-14);
  }
  .ec-filterPost__list-item-info {
    display: flex;
    gap: var(--clamp-16);
    padding-top: 0;
  }
  .ec-filterPost__list-item-info-date p {
    font-size: var(--clamp-14);
  }
  .ec-filterPost__list-item-info-icon img {
    width: var(--clamp-40);
    height: var(--clamp-40);
  }
  .ec-filterPost__list-more {
    margin-top: var(--clamp-24);
  }
  .ec-filterPost__list-more button {
    padding: var(--clamp-8) var(--clamp-24);
    font-size: var(--clamp-14);
  }
}

/* 新規投稿 */
.ec-newPost {
  margin-top: var(--clamp-104sp);
  padding: 0 var(--clamp-16sp);
}
.ec-newPost__list {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-32sp);
  margin-top: var(--clamp-24sp);
}
.ec-newPost__item-img img {
  width: 100%;
}
.ec-newPost__item-content {
  margin-top: var(--clamp-16sp);
}
.ec-newPost__item-content-title {
  font-size: var(--clamp-18sp);
  font-weight: bold;
  color: var(--gray);
}
.ec-newPost__item-content-inner {
  display: flex;
  justify-content: space-between;
  margin-top: var(--clamp-24sp);
}
.ec-newPost__item-content-category {
  padding: var(--clamp-4sp) var(--clamp-24sp);
  font-size: var(--clamp-16sp);
  font-weight: bold;
  color: var(--white);
  background-color: var(--light-blue);
}
.ec-newPost__item-content-date {
  font-size: var(--clamp-16sp);
  font-weight: 300;
  color: var(--gray);
}
@media all and (min-width: 744px) {
  .ec-newPost {
    margin-top: var(--clamp-104);
    padding: 0;
  }
  .ec-newPost__list {
    margin-top: var(--clamp-24);
    gap: var(--clamp-32);
  }
  .ec-newPost__item a {
    display: flex;
    gap: var(--clamp-16);
  }
  .ec-newPost__item-img {
    width: var(--clamp-220);
    height: var(--clamp-165);
    flex-shrink: 0;
  }
  .ec-newPost__item-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 0;
    flex-grow: 1;
  }
  .ec-newPost__item-content-title {
    font-size: var(--clamp-20);
  }
  .ec-newPost__item-content-inner {
    align-items: center;
    margin-top: 0;
  }
  .ec-newPost__item-content-category {
    padding: var(--clamp-4) var(--clamp-24);
    font-size: var(--clamp-16);
  }
  .ec-newPost__item-content-date {
    font-size: var(--clamp-16);
  }
}

/* カテゴリー */
.ec-category {
  margin-top: var(--clamp-104sp);
  padding: 0 var(--clamp-16sp);
}
.ec-category__listParent {
  display: flex;
  flex-direction: column;
  gap: var(--clamp-40sp);
  margin-top: var(--clamp-24sp);
}
.ec-category__listParent-href {
  padding: var(--clamp-8sp) var(--clamp-24sp);
  font-size: var(--clamp-22sp);
  font-weight: bold;
  color: var(--white);
  background-color: var(--light-blue);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
.ec-category__listChild {
  display: flex;
  flex-wrap: wrap;
  gap: var(--clamp-8sp);
  margin-top: var(--clamp-24sp);
  padding: 0 var(--clamp-24sp);
}
.ec-category__listChild-href {
  display: block;
  padding: var(--clamp-8sp) var(--clamp-24sp);
  font-size: var(--clamp-16sp);
  font-weight: bold;
  color: var(--light-blue);
  border: 2px solid var(--light-blue);
  background-color: var(--white);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

@media all and (min-width: 744px) {
  .ec-category {
    margin-top: var(--clamp-104);
    padding: 0;
  }
  .ec-category__listParent {
    gap: var(--clamp-40);
    margin-top: var(--clamp-24);
  }
  .ec-category__listParent-href {
    padding: var(--clamp-8) var(--clamp-24);
    font-size: var(--clamp-22);
  }
  .ec-category__listChild {
    gap: var(--clamp-8);
    margin-top: var(--clamp-24);
    padding: 0 var(--clamp-24);
  }
  .ec-category__listChild-href {
    padding: var(--clamp-8) var(--clamp-24);
    font-size: var(--clamp-16);
  }
}

/* ---------- カテゴリ一覧のスタイル ---------- */
.l-header {
  border-top: solid 4px var(--blue);
}
.c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
  border-bottom: solid 1px var(--blue);
}
[class*=page-numbers].current,
[class*=page-numbers]:hover {
  background-color: var(--blue)!important;
}
.c-widget__title.-side {
  background-color: var(--blue);
}
.widget_swell_popular_posts .p-postList__item:not(:first-child)::before {
  background-color: var(--light-blue)!important;
}
.c-tabBody .p-postList__body::after, .p-searchContent .p-postList__body::after {
  box-shadow: 0 0 0 2px var(--blue)!important;
  color: var(--blue)!important;
}
.c-tabBody .p-postList__link:hover .p-postList__body::after,
.p-searchContent .p-postList__link:hover .p-postList__body::after {
  background-color: var(--blue)!important;
  color: var(--white)!important;
}

/* ---------- 記事詳細のスタイル ---------- */
.top-category {
  display: none!important;
}
.-capbox.p-toc {
  border-color: var(--blue);
}
.p-toc.-capbox .p-toc__ttl {
  background-color: var(--blue);
}
.c-secTitle {
  border-left: 3px solid var(--blue)!important;
  color: var(--blue)!important;
}
.post_content h2 {
  background-color: var(--blue);
}
.post_content h2::before {
  border-top-color: var(--blue)!important;
}
.post_content h3::before {
  background: repeating-linear-gradient(90deg, var(--blue) 0%, var(--blue) 29.3%, rgba(150,150,150,.2) 29.3%, rgba(150,150,150,.2) 100%)
}
.post_content thead td, .post_content thead th {
  background-color: var(--pale-blue)!important;
}
.c-widget__title.-spmenu {
  background-color: var(--blue);
}
.c-fixBtn {
  border-color: var(--blue);
  color: var(--blue);
}