@charset "UTF-8";

@media (max-width: 780px) {
  .main {
    padding-bottom: 40px;
  }
}

.faq_box {
  background-color: #fff;
  border-radius: 30px;
  padding: 100px 97px;
}

.faq_item {
  padding: 35px 0;
  position: relative;
}

.faq_item::after {
  background-image: radial-gradient(circle, #dcedc5 3px, transparent 3px);
  background-size: 8px 6px;
  background-repeat: repeat-x;
  content: "";
  width: 100%;
  height: 6px;
  position: absolute;
  left: 0;
  bottom: 0;
}

.faq_item dt {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 20px;
  line-height: 1.4;
  padding-right: 100px;
  position: relative;
}

.faq_item dt::after {
  background-image: url(/common_osaka/images/faq/plus.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.faq_item dt.active::after {
  background-image: url(/common_osaka/images/faq/minus.png);
  width: 15px;
  height: 3px;
  right: -4px;
}

.faq_q,
.faq_a {
  color: #f28f9d;
  font-size: 1rem;
  font-weight: 500;
}

.faq_heading {
  font-size: 1.25rem;
}

.faq_item dd {
  display: flex;
  gap: 40px;
  padding-top: 24px;
  padding-right: 100px;
}

.faq_text {
  font-size: 1.25rem;
  line-height: 1.4;
}

.faq_text .paragraph {
  display: block;
  margin-bottom: 1.5em;
}

.faq_text .paragraph:last-child {
  margin-bottom: 0;
}

.gap_tight {
  gap: 20px;
}

@media (max-width: 780px) {
  .faq_box {
    padding: 20px 25px 40px;
  }

  .faq_item {
    padding: 20px 0;
  }

  .faq_item dt {
    align-items: flex-start;
    padding-right: 30px;
  }

  .faq_heading,
  .faq_text {
    font-size: 1.125rem;
  }

  .faq_item dd {
    gap: 30px;
    padding-right: 0;
  }
  .faq_ls_tight {
    letter-spacing: -3px;
    display: inline-block;
  }
}
