@charset "UTF-8";

/* 共通ベース（PC/Mobile 共通） */
.faq {
  max-width: 1120px;
  margin: 0 auto;
  padding: 70px 0;
}

.faq > section {
  margin-bottom: 50px;
}

.category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 16px;
  margin-bottom: 5%;
}

.category-list > li {
  margin: 0;
}

.category-list > li > a {
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.category-list > li > a::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 3px;
  transform: translateY(-50%) rotate(45deg);
  width: 7px;
  height: 7px;
  border-right: 2px solid #E75400;
  border-bottom: 2px solid #E75400;
}

.accordion-faq {
  max-width: 900px;
  margin: 0 auto 15px;
  border-radius: 5px;
  box-shadow: 0 7px 15px -5px rgba(0,0,0,0.05);
  background-color: #fff;
  font-size: 16px;
  line-height: 1.75;
}

/* summary の既定マーカーをクロスブラウザで非表示にする */
.accordion-faq summary::-webkit-details-marker { display: none; }
.accordion-faq summary::marker { display: none; }
.accordion-faq summary::-moz-list-bullet { display: none; }

/* summary 本体 */
.accordion-faq summary {
  display: block;
  position: relative;
  padding: 1em 3em 1em 2em;
  font-weight: bold;
  cursor: pointer;
  line-height: 1.4;
}

/* プラス */
.accordion-faq summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%) rotate(45deg);
  width: 9px;
  height: 9px;
  border-right: 3px solid #EF6D00;
  border-bottom: 3px solid #EF6D00;
  /*transition: transform .3s;*/
  pointer-events: none; 
  z-index: 2;
}

/* 展開時の矢印回転 */
.accordion-faq[open] summary::after {
  transform: translateY(-50%) rotate(225deg);
}

/* 回答部分のアニメーション */
.accordion-faq p {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 2em 1.5em;
  transition: transform .5s, opacity .5s;
}

.accordion-faq[open] p {
  transform: none;
  opacity: 1;
}

.accordion-faq p a{
  color: #EF6D00;
}

@media screen and (max-width: 767px) {
  .faq {
    padding: 15px 4.26666vw;
  }
  
  .category-list {
  	display: block;
  	font-size: 14px;
	margin-bottom: 10%;

  }

  .category-list > li {
  	display: inline-block;
	margin: 0 0.75rem 0.75rem 0;
  }
  
  .category-list > li > a {
	padding-left: 16px;
  }
  
  .category-list > li > a::before {
  	top: 0.5rem;
  	left: 3px;
  	width: 6px;
  	height: 6px;
  }

  .accordion-faq {
    font-size: 15px;
    line-height: 1.5;
  }

  .accordion-faq summary {
    padding: 1em 2.5em 1em 1em;
  }

  .accordion-faq summary::after {
    right: 0.9rem;
    width: 7px;
    height: 7px;
    border-right-width: 2.5px;
    border-bottom-width: 2.5px;
  }
}
