.show-pc {
  display: inherit;
}
@media screen and (max-width: 820px) {
  .show-pc {
    display: none;
  }
}
.show-sp {
  display: none;
}
@media screen and (max-width: 820px) {
  .show-sp {
    display: inherit;
  }
}
.toggle {
  width: 36px;
  height: 36px;
  background: #3f84a7;
  border-radius: 100%;
  position: absolute;
  bottom: 50%;
  right: 30px;
}
@media screen and (max-width: 820px) {
  .toggle {
    width: 30px;
    height: 30px;
    right: 15px;
    bottom: auto;
    top: 0;
  }
}
.toggle:before,
.toggle:after {
  content: "";
  display: block;
  background: #fff;
  width: 20px;
  height: 3px;
  position: absolute;
  bottom: 44%;
  right: 8px;
}
@media screen and (max-width: 820px) {
  .toggle:before,
  .toggle:after {
    bottom: auto;
    top: 14px;
    width: 16px;
    right: 7px;
  }
}
.toggle:before {
  transform: rotate(90deg);
  transition: transform 0.3s;
}
.toggle:after {
  transform: rotate(0deg);
}
/* ========================================================================
   Component: content
========================================================================== */
.wrapper {
  background: #f4f4f4;
}
.content-inner {
  width: 100%;
  max-width: 1120px;
  padding: 0 20px;
  margin: 0 auto;
  padding: 60px 20px;
}
.content-title {
  font-size: 4.6rem;
  font-weight: bold;
  text-align: center;
  padding: 60px 0;
}
@media screen and (max-width: 767px) {
  .content-title {
    font-size: 3.2rem;
    padding: 30px 0;
  }
}
.content-subtitle {
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 10px;
}
.content-service {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .content-service {
    font-size: 2rem;
    display: block;
    margin-top: 10px;
  }
}
.category-select {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.category-select-title {
  font-size: 1.4rem;
  color: #696969;
}
.category-select-title:after {
  content: "：";
  margin-right: 0.3em;
}
.category-select-text {
  font-size: 2.8rem;
  font-weight: bold;
}
.qa-inner {
  padding-top: 40px;
}
@media screen and (min-width: 821px) {
  .qa-inner {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-top: 40px;
  }
}
@media screen and (min-width: 821px) {
  .qa-content {
    width: 75%;
  }
}
@media screen and (max-width: 820px) {
  .qa-content {
    padding-top: 40px;
  }
}
@media screen and (min-width: 821px) {
  .qa-category {
    width: 20%;
  }
}
@media screen and (max-width: 820px) {
  .qa-category {
    border: 1px solid #dbdbdb;
  }
}
@media screen and (max-width: 820px) {
  .qa-category-lists {
    display: flex;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 820px) {
  .qa-category-list {
    margin-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  .qa-category-list {
    margin-right: 20px;
  }
}
.qa-category-list .category-button {
  font-size: 1.8rem;
  font-weight: bold;
  color: #3f84a7;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .qa-category-list .category-button {
    font-size: 1.6rem;
  }
}
.qa-category-title {
  font-size: 1.4rem;
  color: #696969;
  margin-bottom: 40px;
}
@media screen and (max-width: 820px) {
  .qa-category-title {
    padding: 15px;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 820px) {
  .qa-category-detail {
    padding: 15px 15px 0 15px;
    border-top: 1px solid #dbdbdb;
  }
}
.qa-tab {
  display: flex;
}
.qa-tab-col {
  width: 100%;
  font-size: 2rem;
  color: #3f84a7;
  font-weight: bold;
  text-align: center;
  background: #fff;
  padding: 15px;
}
@media screen and (max-width: 767px) {
  .qa-tab-col {
    font-size: 1.4rem;
    padding: 15px 5px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.qa-tab-col.active {
  background: #3f84a7;
  color: #fff;
}
.qa-tab-col a {
  display: block;
}
.qa-box {
  margin-bottom: 40px;
  background: #fff;
}
.qa-question p,
.qa-answer p {
  position: relative;
}
@media screen and (min-width: 768px) {
  .qa-question p,
  .qa-answer p {
    padding-left: 40px;
  }
}
.qa-question p:before,
.qa-answer p:before {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  position: absolute;
  left: 0;
}
@media screen and (max-width: 767px) {
  .qa-question p:before,
  .qa-answer p:before {
    font-size: 2.8rem;
  }
}
.qa-question a,
.qa-answer a {
  text-decoration: underline;
}
.qa-question a:hover,
.qa-answer a:hover {
  text-decoration: none;
}
.qa-question a[href^="tel:"],
.qa-answer a[href^="tel:"] {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .qa-question a[href^="tel:"],
  .qa-answer a[href^="tel:"] {
    text-decoration: underline;
  }
}
.qa-question {
  cursor: pointer;
  padding: 0 80px 30px 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .qa-question {
    padding: 0 50px 15px 15px;
  }
}
.qa-question p {
  font-size: 2.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .qa-question p {
    font-size: 1.8rem;
  }
}
.qa-question p:before {
  content: "Q";
  color: #696969;
}
@media screen and (min-width: 768px) {
  .qa-question p:before {
    margin-top: -5px;
  }
}
@media screen and (max-width: 767px) {
  .qa-question p:before {
    top: -1.3em;
  }
}
.qa-question.active .toggle:before {
  transform: rotate(180deg);
}
.qa-answer {
  display: none;
  padding: 10px 60px 30px 30px;
}
@media screen and (max-width: 767px) {
  .qa-answer {
    padding: 40px 15px 15px 15px;
  }
}
.qa-answer p {
  line-height: 2;
}
.qa-answer p:before {
  content: "A";
  color: #f37a6a;
  top: 0;
}
@media screen and (max-width: 767px) {
  .qa-answer p:before {
    top: -1.2em;
  }
}
.qa-tag {
  font-size: 1.8rem;
  color: #b1b1b1;
  margin-bottom: 15px;
  position: relative;
  z-index: 1;
  padding: 30px 30px 0;
}
@media screen and (max-width: 767px) {
  .qa-tag {
    font-size: 1.4rem;
    padding: 15px 15px 0 55px;
    display: block;
    width: 100%;
  }
}
body[data-category="全て"] .qa-category-list:first-child .category-button {
  color: #d11b0b;
}
body[data-category="店舗環境"] .qa-category-list:nth-child(2) .category-button {
  color: #d11b0b;
}
body[data-category="契約関連"] .qa-category-list:nth-child(3) .category-button {
  color: #d11b0b;
}
body[data-category="機能"] .qa-category-list:nth-child(4) .category-button {
  color: #d11b0b;
}
body[data-category="体制・保守"] .qa-category-list:nth-child(5) .category-button {
  color: #d11b05;
}
.is-animate {
  opacity: 1;
  -webkit-animation: 1s zoom-in;
  animation: 1s zoom-in;
}
@-webkit-keyframes zoom-in {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes zoom-in {
  0% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
