@charset "UTF-8";
@media (min-width: 769px) {
  .page_lead {
    margin-bottom: clamp(0px, 5.856515373352855vw, 80px);
  }
}
@media (max-width: 768px) {
  .page_lead {
    margin-bottom: clamp(0px, 20.51282051282051vw, 80px);
  }
}
.faq_category_title {
  border-bottom: 1px solid;
}
.faq_item {
  --tdu: 0.3s;
  font-family: var(--ja_b);
  font-weight: 700;
}
.faq_item_block {
  position: relative;
  background-color: #fafafa;
  -webkit-transition-property: color, background-color;
  -moz-transition-property: color, background-color;
  -o-transition-property: color, background-color;
  -ms-transition-property: color, background-color;
  transition-property: color, background-color;
  -webkit-transition-duration: var(--tdu);
  -moz-transition-duration: var(--tdu);
  -o-transition-duration: var(--tdu);
  -ms-transition-duration: var(--tdu);
  transition-duration: var(--tdu);
}
.faq_item_button {
  position: relative;
  width: 100%;
}
.faq_item_button_icon {
  display: block;
  position: absolute;
  background-color: #1a1a1a;
  color: #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
  top: 0;
  bottom: 0;
  margin-block: auto;
  -webkit-transition-duration: var(--tdu);
  -moz-transition-duration: var(--tdu);
  -o-transition-duration: var(--tdu);
  -ms-transition-duration: var(--tdu);
  transition-duration: var(--tdu);
  -webkit-transition-property: rotate, background-color;
  -moz-transition-property: rotate, background-color;
  -o-transition-property: rotate, background-color;
  -ms-transition-property: rotate, background-color;
  transition-property: rotate, background-color;
  font-family: var(--en_sans);
  font-weight: 700;
}
.faq_item_button_icon:before,
.faq_item_button_icon:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 44.44444444444444%;
  height: 1px;
  border-top: 1px solid;
  -webkit-transition-duration: var(--tdu);
  -moz-transition-duration: var(--tdu);
  -o-transition-duration: var(--tdu);
  -ms-transition-duration: var(--tdu);
  transition-duration: var(--tdu);
  -webkit-transition-property: rotate, color;
  -moz-transition-property: rotate, color;
  -o-transition-property: rotate, color;
  -ms-transition-property: rotate, color;
  transition-property: rotate, color;
}
.faq_item_button_icon:after {
  rotate: 90deg;
}
.faq_item_button:hover .faq_item_button_icon {
  background-color: var(--useored);
}
.faq_item_box {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.faq_item_icon {
  font-family: var(--en_sans);
  font-weight: 700;
  --ls: 0.05em;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}
.faq_item_content {
  width: 100%;
}
.faq_item_answer {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  -webkit-transition-property: grid-template-rows, visibility;
  -moz-transition-property: grid-template-rows, visibility;
  -o-transition-property: grid-template-rows, visibility;
  -ms-transition-property: grid-template-rows, visibility;
  transition-property: grid-template-rows, visibility;
  -webkit-transition-duration: var(--tdu);
  -moz-transition-duration: var(--tdu);
  -o-transition-duration: var(--tdu);
  -ms-transition-duration: var(--tdu);
  transition-duration: var(--tdu);
}
.faq_item_answer .faq_item_icon {
  margin-bottom: auto;
}
.faq_item_answer_hider {
  overflow: hidden;
}
.faq_item_answer .faq_item_content {
  position: relative;
}
.faq_item_answer .faq_item_content a {
  text-decoration: underline;
  display: inline;
}
.faq_item_answer .faq_item_content:before {
  content: "";
  display: block;
  position: absolute;
  height: 0;
  inset: 0 0 auto;
  margin: auto;
  border-top: 1px solid #8d8d8d;
}
.faq_item:not(:has(.faq_item_button.opened)) .faq_item_button:hover .faq_item_button_icon {
  rotate: 90deg;
}
.faq_item:has(.faq_item_button.opened) .faq_item_button_icon:after {
  rotate: 0deg;
}
.faq_item:has(.faq_item_button.opened) .faq_item_answer {
  grid-template-rows: 1fr;
  visibility: visible;
}
@media (min-width: 769px) {
  .faq_category +.faq_category {
    margin-top: clamp(0px, 2.928257686676428vw, 40px);
  }
  .faq_category_title {
    font-size: clamp(0rem, 1.464128843338214vw, 1.25rem);
    padding-bottom: clamp(0px, 0.732064421669107vw, 10px);
    margin-bottom: clamp(0px, 2.196193265007321vw, 30px);
  }
  .faq_category_container {
    width: clamp(0px, 71.74231332357247vw, 980px);
    margin-inline: auto;
  }
  .faq_list,
  .faq_item {
    font-size: clamp(0rem, 1.171303074670571vw, 1rem);
    line-height: clamp(0rem, 1.610541727672035vw, 1.375rem);
  }
  .faq_list +.faq_item,
  .faq_item +.faq_item {
    margin-top: clamp(0px, 0.878477306002928vw, 12px);
  }
  .faq_list_block,
  .faq_item_block {
    border-radius: clamp(0px, 1.171303074670571vw, 16px);
  }
  .faq_list_button,
  .faq_item_button {
    padding: clamp(0px, 2.562225475841874vw, 35px) clamp(0px, 6.588579795021962vw, 90px) clamp(0px, 2.562225475841874vw, 35px) clamp(0px, 3.294289897510981vw, 45px);
  }
  .faq_list_button_icon,
  .faq_item_button_icon {
    height: clamp(0px, 1.976573938506589vw, 27px);
    right: clamp(0px, 2.196193265007321vw, 30px);
  }
  .faq_list_icon,
  .faq_item_icon {
    width: clamp(0px, 4.392386530014641vw, 60px);
  }
  .faq_list_answer_inner,
  .faq_item_answer_inner {
    padding: clamp(0px, 1.830161054172767vw, 25px) clamp(0px, 6.588579795021962vw, 90px) clamp(0px, 2.928257686676428vw, 40px) clamp(0px, 3.294289897510981vw, 45px);
  }
  .faq_list_answer .faq_item_content:before,
  .faq_item_answer .faq_item_content:before {
    margin-top: clamp(-25px, -1.830161054172767vw, 0px);
  }
}
@media (max-width: 768px) {
  .faq_category +.faq_category {
    margin-top: clamp(0px, 20.51282051282051vw, 80px);
  }
  .faq_category_title {
    font-size: clamp(0rem, 4.102564102564102vw, 1rem);
    padding-bottom: clamp(0px, 2.564102564102564vw, 10px);
    margin: 0 clamp(0px, 2.564102564102564vw, 10px) clamp(0px, 5.128205128205128vw, 20px);
  }
  .faq_list {
    margin-bottom: clamp(0px, 10.256410256410255vw, 40px);
  }
  .faq_item +.faq_item {
    margin-top: clamp(0px, 1.538461538461539vw, 6px);
  }
  .faq_item_block {
    border-radius: clamp(0px, 2.051282051282051vw, 8px);
  }
  .faq_item_button {
    padding: clamp(0px, 7.692307692307693vw, 30px) clamp(0px, 15.384615384615385vw, 60px) clamp(0px, 7.692307692307693vw, 30px) clamp(0px, 5.128205128205128vw, 20px);
  }
  .faq_item_button_icon {
    height: clamp(0px, 5.384615384615385vw, 21px);
    right: clamp(0px, 5.128205128205128vw, 20px);
  }
  .faq_item_icon {
    font-size: clamp(0rem, 4.102564102564102vw, 1rem);
    line-height: clamp(0rem, 9.487179487179487vw, 2.3125rem);
    width: clamp(0px, 7.692307692307693vw, 30px);
  }
  .faq_item_content {
    font-size: clamp(0rem, 3.846153846153846vw, 0.9375rem);
  }
  .faq_item_question .faq_item_icon,
  .faq_item_question .faq_item_content {
    line-height: clamp(0rem, 5.128205128205128vw, 1.25rem);
  }
  .faq_item_answer_inner {
    padding: clamp(0px, 5.128205128205128vw, 20px) clamp(0px, 5.128205128205128vw, 20px) clamp(0px, 5.128205128205128vw, 20px) clamp(0px, 5.128205128205128vw, 20px);
  }
  .faq_item_answer .faq_item_icon,
  .faq_item_answer .faq_item_content {
    line-height: clamp(0rem, 6.153846153846154vw, 1.5rem);
  }
  .faq_item_answer .faq_item_content:before {
    margin-top: clamp(-20px, -5.128205128205128vw, 0px);
  }
}
