/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Page Style

/////////////////////////////////////////////////////////////////////////////////////////////////*/

.cat-list { 
  display: flex; flex-wrap: wrap; justify-content: flex-start; 
  padding: 50px;
  margin-bottom: -30px;
  border-top: #f0f0f0 2px solid;
}
.cat-list > div { 
  width: calc((100% - 60px)/3); 
  margin: 0 30px 30px 0;
  border: #eaeaea 2px solid;
  position: relative;
}
.cat-list > div:nth-child(3n) { margin-right: 0;}

.cat-list .img-block { padding: 20px;}

.cat-list .cat-btn {
  display: flex; align-items: center;
  height: 70px;
  padding: 0 20px;
  font-size: 2.8rem; font-weight: 500;
  border-top: #eaeaea 2px solid;
  cursor: pointer;
  position: relative;
  transition: all 300ms;
}
.cat-list .cat-btn.open { background: #f0f0f0;}
.cat-list .cat-btn::after {
  content: "";
  display: block;
  width: 10px; height: 10px;
  border-right: #000 2px solid;
  border-bottom: #000 2px solid;
  transform: rotate(45deg);
  position: absolute; top: 26px; right: 30px;
  transition: all 200ms;
}
.cat-list .cat-btn.open::after {
  transform: rotate(-135deg);
  top: 32px;
}

.cat-list ul { 
  display: none;
  width: calc(100% + 4px);
  position: absolute; bottom: -2px; left: -2px; z-index: 999;
  transform: translateY(100%);
}
.cat-list li a {
  display: flex; align-items: center;
  width: 100%;
  height: 70px;
  background: #fff;
  padding: 0 25px 0 20px;
  font-size: 2.4rem; line-height: 1.2;
  border: #eaeaea 2px solid;
  border-top: none;
}
.cat-list li a em { flex: 1;}

@media screen and (min-width:768px){
  .cat-list .cat-btn:hover { background: #f0f0f0;}
}


/* [SP] */
@media screen and (max-width: 767px) {

  .cat-list { padding: 30px 20px; margin-bottom: 0;}
  .cat-list > div { width: 100%; margin: 0 0 20px; border-width: 1px;}
  .cat-list > div:last-child { margin-bottom: 0;}
  .cat-list .img-block { padding: 0;}
  .cat-list .cat-btn { height: 50px; padding: 0 15px; border-width: 1px; font-size: 1.8rem;}
  .cat-list .cat-btn::after { top: 16px; right: 20px; border-width: 1px;}
  .cat-list .cat-btn.open::after { top: 22px;}
  .cat-list ul { display: none; width: 100%; position: static; transform: none;}
  .cat-list li a {
    height: 50px;
    padding: 5px 55px 5px 15px !important;
    border: none;
    border-top: #eaeaea 1px solid;
    font-size: 1.6rem;
  }
  .cat-list li a .arrow { right: 15px;}

}
