@charset "utf-8";

/* =============================================
  特集TOP
============================================= */
.filter-list,
.in-charge__list{
  display: flex;
  flex-wrap: wrap;   
  gap: 5px;
  align-items: center;
  justify-content: start;
}
.filter-list li,
.in-charge__list li{
  flex: 0 0 auto; /* 幅を内容に合わせる */
  padding: 0;
  white-space: nowrap; /* 改行させない */
}
.stus-main .pickup-img img{
  min-width: auto;
}
.filter-cont__main{
  margin: 0 0 20px;
}
.filter-list li a,
.in-charge__list li a,
.filter-reset button{
  position: relative;
  display: inline-block;
  padding: 10px 20px 10px 10px;
  font-size: 1.5rem;
  line-height: 1.0;
  color: #333;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
  transition: all 0.2s ease;
}
.filter-list li a::before,
.filter-reset button::before{
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  content: '';
  border: 0;
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  transform: rotate(45deg);
}
.in-charge__list a::before{
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  content: '';
  border: 0;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: rotate(45deg);
}
.filter-list li a:hover::before,
.in-charge__list li a:hover::before,
.filter-reset button:hover::before{
  border-color: var(--stus-red);
}
.filter-list li a:hover,
.in-charge__list li a:hover,
.filter-reset button:hover{
  color:  var(--stus-red);
  border: 1px solid var(--stus-red);
}
.filter-list li a.active{
  color: #fff;
  background-color: var(--stus-dark-bg);
}
.filter-list li a.active::before {
  border-right: solid 1px #fff;
  border-bottom: solid 1px #fff;
}
.filter-header{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--font-dark);
}
.filter-cont__box:not(:last-child){
  margin-bottom: 15px;
}
.filter-cont{
  margin: 0;
  background-color: #fff;
  border-radius: 20px;
}
.filter-cont__open{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.4;
  color: var(--font-dark);
  text-align: center;
}
.filter-cont__open a{
  display: block;
  padding: 20px;
  color: var(--font-dark);
  transition: all 0.2s ease;
}
.filter-cont__open a span{
  position: relative;
  display: inline-block;
  padding-right: 24px;
  transition: opacity 0.2s ease;
}
.filter-cont__open a span::before{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 22px;
  height: 22px;
  margin: auto 0;
  content: ' ';
  background: url(../img/open.svg) no-repeat right center;
  background-size: 16px 16px;
  transform-origin:center center;
  transition: opacity 0.2s ease, transform 0.1s ease; 
}
.filter-cont__open a.open span::before{
  transform:rotate(45deg); 
}
@media (hover: hover) {
  .filter-cont__open a:hover{
    opacity: 0.8;
  }
}
.filter-cont__wrap{
  display: none;
  padding: 0 20px 20px;
  margin-top: 5px;
}

/* 記事 */
.index-ttl{
  margin: 30px 0 20px;
  font-size: 2.0rem;
  text-align: center;
}
#listTitle {
  position: relative;
  margin: -10px 0 10px;
  overflow: hidden;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  color: var(--font-dark);
  text-align: center;
  opacity: 0;
}
#listTitle.show {
 opacity: 0;
}
#listTitle.animate {
  opacity: 1;
  animation: title-fadeIn 0.3s ease-in 0s forwards;
}

@keyframes title-fadeIn{
  0%{
    display: none;
    height: 0;
    opacity: 0;
  }
  1%{
    display: flex;
    height: 100%;
    opacity: 0;
  }
  100%{
    display: flex;
    height: 100%;
    opacity: 1;
  }
}

/* 記事リスト内 */
.stories-ttl{
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.4;
  color: var(--font-dark);
}
.qualification{
  font-size: 2.0rem;
  font-weight: bold;
}
.date{
  font-size: 1.3rem;
}
.event-archive__ttl{
  margin: 50px 0 60px;
  font-size: 2.3rem;
  text-align: center;
}
.stus-content-index__event-archive{
  border-top: 1px solid #333;
}
.text-link-box{
  margin-top: 70px;
}
.text-link-box a .link-name p.link-name__s{
  padding-top: 8px;
  padding-bottom: 7px;
  line-height: 1;
}
.content-tab__btm ul{
  margin-top: 50px;
}

/* ===========================================
	MediaQueries
=========================================== */

/* スマホ----------------------------- */
@media screen and (width <= 767px){
  .filter-header{
    margin-bottom: 5px;
  }
  .text-link-box a .link-name{
    flex-wrap: nowrap;
  }
  .link-name__main{
    flex:none;
  }
}

/* PC----------------------------- */
@media screen and (width >= 768px){
  .filter-cont__main{
    display: flex;
  }
  .filter-header{
    width: 9em;
    border-right: 1px dotted #333;
  }
  .filter-main{
    flex: 1; 
    padding: 0 0 0 20px;
  }
  .filter-cont{
    max-width: 1350px;
    margin: 0 auto;
  }
  .filter-cont__wrap{
    padding: 0 30px 20px;
  }
  .in-charge__select{
    display: flex;
  }
 .stus-content-index__event-archive{
    width: 100%;
    max-width: 1350px;
    margin: 0 auto;
    border-top: 1px solid #333;
  }
  .event-archive__ttl{
    margin: 60px 0 70px;
    font-size: 2.3rem;
  }
  .stories-ttl{
    font-size: 1.6rem;
  }
}