@charset "UTF-8";

#page-title-block + .wrapper {
	padding-bottom: var(--space8);
}

:not(#Top) .wrapper {
	padding-bottom: var(--space8);
}

.faq-cat-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space6);
}

.faq-cat-title {
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
}

.faq-cat-title::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 3px;
  background: var(--color01);
  margin-right: 0.3em;
}

.qa-item {
  background: var(--color_white);
  border-radius: var(--radius-min);
  overflow: hidden;
  cursor: pointer;
  border: 1px solid var(--color01);
  border-radius: var(--radius-min);
}

.qa-item:hover {
  box-shadow: 0 3px 6px 0 var(--color02);
}
.qa-item + .qa-item {
  margin-top: var(--space1);
}

/* Question */
.qa-question {
  display: block;
  flex: 1;
  padding: 1em;
  display: flex;
  align-items: baseline;
  transition: 0.35s ease-out;
}

.qa-question::before {
  content: "Q.";
  display: block;
  width: 1em;
  height: 100%;
  color: var(--color01);
  font-weight: var(--fw_medium);
  font-size: 1.5em;
  margin-right: 0.2em;
}

.qa-item:hover .qa-question {
  background: var(--color02);
}
.qa-question abbr[title] {
  flex-shrink: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.5em;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background: var(--color02);
  border-radius: 50%;
  color: var(--color_white);
  line-height: 0.5;
  padding-bottom: 0.2em;
  font-weight: 600;
}
.qa-question::after {
  content: "＋";
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  vertical-align: middle;
  border-radius: 50%;
  color: var(--color01);
  font-family: "Montserrat";
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1;
  margin-left: auto;
  padding-left: 1em;
}
.qa-item.opened .qa-question {
  background: var(--color02);
}
.qa-item.opened .qa-question::after {
  content: "ー";
}
/* Answer */
.qa-answer {
  display: none;
  overflow: hidden;
  padding: 1em;
}

.qa-answer p {
  display: grid;
  grid-template-columns: 2em 1fr;
}

.qa-answer p:first-child::before {
  content: "A.";
  display: inline;
  width: 2em;
  height: 100%;
  color: var(--color05);
  font-family: "Montserrat";
  font-weight: var(--fw_medium);
  font-size: 1.5em;
  margin-right: 0.2em;
  line-height: 1.2;
}

.qa-answer p:not(:first-child) {
  grid-template-columns: 1fr;
  padding-left: 2em;
}

.qa-answer-content {
  display: flex;
  align-items: center;
}

.qa-answer abbr[title] {
  flex-shrink: 0;
  display: inline-flex;
  justify-content: center;
  align-items: baseline;
  margin-right: 0.5em;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background: var(--color01);
  border-radius: 50%;
  color: var(--color_white);
  line-height: 0.5;
  padding-bottom: 0.2em;
  font-weight: 600;
}

.qa-paragraph {
  flex: 1;
}
.qa-answer-sub {
  display: block;
  font-size: 1.125em;
  padding-bottom: 0.5em;
}