@charset "UTF-8";
body, *, :before, :after {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

@media (max-width: 830px) {
  .hp_spNone {
    display: none !important;
  }
  .bl_Breadcrumb {
    font-size: 2.1686746988vw;
    margin: 1.2048192771vw 0 7.2289156627vw 2.4096385542vw;
    display: flex;
  }
  .bl_Breadcrumb .current-item {
    color: #808080;
  }
  .bl_archive_info {
    margin-bottom: 6.25rem;
  }
  .bl_archive_info ul {
    width: 87.9518072289vw;
    margin: 0 auto 7.2289156627vw;
  }
  .bl_companyInfo_list {
    width: 100%;
  }
  .bl_companyInfo_list .el_info_time {
    font-size: 3.6144578313vw;
  }
  .el_arrow_right.bl_companyInfo_list::before {
    left: 25.3012048193vw;
    width: 20.4819277108vw;
    text-align: center;
    top: 4.8192771084vw;
  }
  .bl_event_info_wrapper {
    padding-top: 12.0481927711vw;
    /* ===== 背景ベース + ノイズ ===== */
    background-color: #e6e6e6;
    padding-top: 6.25rem;
    background-image: linear-gradient(rgba(230, 230, 230, 0.8117647059), rgba(230, 230, 230, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
    position: relative;
    z-index: 0;
    /* 格子背景 */
  }
  .bl_event_info_wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(to right, rgba(170, 170, 170, 0.25) 1px, transparent 1px), linear-gradient(to bottom, rgba(170, 170, 170, 0.25) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: 0.8;
  }
  .bl_event_info_wrapper > * {
    position: relative;
    z-index: 2;
  }
  .bl_archive_info_ttl {
    font-size: 10.2409638554vw;
    font-weight: bold;
    color: #030303;
    margin: 0 0 2.4096385542vw 2.4096385542vw;
    padding-bottom: 1.2048192771vw;
  }
  .bl_archive_info_ttl span {
    font-size: 3.8554216867vw;
    font-weight: bold;
    margin-left: 1.8072289157vw;
  }
  .wp-pagenavi {
    display: flex;
    justify-content: center;
    margin-top: 9.6385542169vw;
  }
  .wp-pagenavi .pages {
    display: none;
  }
  .wp-pagenavi span.current {
    background: #030303;
    color: #fff;
  }
  .wp-pagenavi span,
  .wp-pagenavi a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    height: 6.0240963855vw;
    width: 6.0240963855vw;
    background: #f0f0f0;
    color: #030303;
  }
  .wp-pagenavi a.nextpostslink,
  .wp-pagenavi a.previouspostslink {
    background: #fff;
  }
  .bl_info_sidebar_list {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    opacity: 0;
  }
  .bl_info_sidebar_list li {
    display: inline-block;
    border: 1px solid #030303;
    width: 28.9156626506vw;
    text-align: center;
    margin: 1.2048192771vw 1.2048192771vw 0 0;
    border-radius: 2.4096385542vw;
    padding: 0.6024096386vw 0;
  }
  .bl_info_sidebar_ttl {
    width: 48.1927710843vw;
    margin: 0 auto 6.0240963855vw;
    text-align: center;
    border-radius: 6.0240963855vw;
    font-size: 4.3373493976vw;
    border: 1px solid #030303;
    font-weight: bold;
    padding: 2.4096385542vw 0;
  }
  .bl_info_sidebar_ttl.is-open ~ .bl_info_sidebar_list {
    max-height: 1000px;
    opacity: 1;
  }
  .bl_info_sidebar_ttl {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
  }
  .bl_info_sidebar_ttl.is-open .bl_info_sidebar_toggle_icon {
    transform: rotate(45deg);
    transition: transform 0.3s ease;
  }
}
.bl_companyInfo_list {
  position: relative;
  width: clamp(320px, 60vw, 920px);
  margin: 0 auto;
  border-bottom: 1px solid #7d7d7d;
  padding: clamp(18px, 4vw, 28px) 0;
}
.bl_companyInfo_list::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 0;
  color: #0076CC;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .bl_companyInfo_list:hover:hover::after {
    right: clamp(-6px, -1.5vw, -10px);
  }
}
.bl_companyInfo_list.__update::before {
  content: "更新情報";
  font-size: clamp(10px, 1vw, 12px);
}
.bl_companyInfo_list.__announce::before {
  content: "お知らせ";
}
.bl_companyInfo_list::before {
  position: absolute;
  display: inline-block;
  left: clamp(70px, 12vw, 110px);
  top: clamp(15px, 2vw, 23px);
  border: 1px solid #808080;
  border-radius: clamp(10px, 1.5vw, 15px);
  padding: clamp(3px, 0.5vw, 5px) clamp(10px, 2.5vw, 15px);
}
.bl_companyInfo_list:nth-last-of-type(1) {
  border-bottom: 1px solid #7d7d7d;
}

.el_info_time {
  color: #C30000;
  font-weight: bold;
  font-size: clamp(12px, 1vw, 15px);
  margin-bottom: clamp(12px, 3vw, 20px);
}

.bl_info_pic_title {
  margin-bottom: clamp(10px, 1.5vw, 20px);
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: bold;
}

.bl_info_pic_title,
.bl_info_postContents p {
  color: #030303;
}

.bl_info_postContents p {
  font-size: clamp(14px, 1vw, 16px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.bl_companyInfo_contents.company li {
  margin-bottom: clamp(20px, 4vw, 30px);
}

.bl_companyInfo_list a {
  font-size: clamp(12px, 1.8vw, 14px);
  text-decoration: none;
}

@media (min-width: 831px) and (max-width: 1024px) {
  /* footer */
  .bl_footer {
    font-size: 0.8125rem;
  }
  .bl_footer_contentBottom ul:nth-last-of-type(1) {
    padding-right: 0;
  }
  .el_border.__bigBorder::before {
    height: 4.375rem;
  }
  .el_border::before {
    content: "";
    position: absolute;
    text-align: center;
    display: block;
    border-left: 1px solid #fff;
    height: 2.4375rem;
    left: 0.3125rem;
    top: 2.1875rem;
    text-align: center;
  }
}
@media (min-width: 831px) {
  .hp_pcNone {
    display: none !important;
  }
  .bl_archive_info {
    margin-bottom: clamp(100px, 15vw, 200px);
  }
  .bl_info_main {
    padding-top: clamp(70px, 10vw, 120px);
  }
  /* ===== イベント一覧背景 ===== */
  .bl_event_info_wrapper {
    padding: clamp(60px, 10vw, 100px) 0 clamp(3px, 0.3vw, 5px);
    /* 背景ベース + ノイズ */
    background-color: #e6e6e6;
    background-image: linear-gradient(rgba(230, 230, 230, 0.8117647059), rgba(230, 230, 230, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
    z-index: 0;
    position: relative;
    /* 格子背景 */
  }
  .bl_event_info_wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(to right, rgba(170, 170, 170, 0.25) 1px, transparent 1px), linear-gradient(to bottom, rgba(170, 170, 170, 0.25) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: 0.8;
  }
  .bl_event_info_wrapper > * {
    position: relative;
    z-index: 2;
  }
  /* ===== タイトル ===== */
  .bl_archive_info_ttl {
    font-size: clamp(80px, 12vw, 142px);
    font-weight: bold;
    color: #030303;
    margin: clamp(60px, 10vw, 120px) 0 clamp(10px, 2vw, 20px) clamp(40px, 6vw, 80px);
  }
  .bl_archive_info_ttl span {
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: bold;
    margin-left: clamp(10px, 1.5vw, 15px);
  }
  /* ===== ページネーション ===== */
  .wp-pagenavi {
    display: flex;
    justify-content: center;
    margin-top: clamp(60px, 8vw, 100px);
  }
  .wp-pagenavi .pages {
    display: none;
  }
  .wp-pagenavi span.current {
    background: #030303;
    color: #fff;
  }
  .wp-pagenavi span,
  .wp-pagenavi a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    height: clamp(30px, 5vw, 40px);
    width: clamp(30px, 5vw, 40px);
    background: #f0f0f0;
    color: #030303;
  }
  .wp-pagenavi a.nextpostslink,
  .wp-pagenavi a.previouspostslink {
    background: #fff;
  }
  .bl_info_wrapper {
    position: relative;
  }
  .bl_info_wrapper .bl_info_sidebar {
    position: absolute;
    top: 0;
    right: clamp(20px, 2.5vw, 40px);
    width: clamp(6.25rem, 14vw, 15.625rem);
  }
  .bl_info_wrapper .bl_info_sidebar .bl_info_sidebar_ttl {
    font-size: clamp(16px, 2vw, 22px);
    font-weight: bold;
    padding-bottom: clamp(10px, 2vw, 20px);
    margin-bottom: clamp(10px, 2vw, 20px);
    border-bottom: 1px solid #ccc;
    color: #030303;
  }
  .bl_info_wrapper .bl_info_sidebar .bl_info_sidebar_list li {
    margin-bottom: clamp(6px, 1.5vw, 10px);
  }
  .bl_info_wrapper .bl_info_sidebar .bl_info_sidebar_toggle_icon {
    display: none;
  }
}
