@charset "UTF-8";

@media (min-width: 768px) {
  .qa {}
  .qa .inner {
    width: 81.8vw;
    margin: 0 auto 9.0vw;
  }
  .qa h2 {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1AAEFA;
    color: #fff;
    font-size: 2.22vw;
    font-weight: bold;
    width: max-content;
    height: 5.7vw;
    line-height: 5.7vw;
    padding: 0 2.1vw;
    transform: rotate(-2.98deg);
    margin: 0 0 0 -3.125vw;
  }

  .qa .faq {
    position: relative;
    z-index: 1;
    margin-top: -1.5vw;
  }

  .faq-item {
    margin-bottom: 1.8vw;
    background: #FAFAFA;
    padding: 3.5vw 5.2vw 3.5vw 2.9vw;
    overflow: hidden;
  }

  .faq-toggle {
    position: relative;
    width: 100%;
    padding: 0;
    border: none;
    text-align: left;
    /*
    font-size: 1.94vw;
    */
    font-size: 1.25vw;
    font-weight: 500;
    cursor: pointer;
  }
  .faq-toggle span {
    /*
    font-size: 2.5vw;
    */
    font-size: 1.38vw;
    font-weight: bold;
  }
  .faq-toggle::after {
    position: absolute;
    display: block;
    content: "";
    width: 2.6vw;
    height: 2.6vw;
    right: -2.6vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/qa/icon_toggle.png) no-repeat center;
    background-size: 100% 100%;
  }
  .faq-item.open .faq-toggle::after {
    background: url(../img/qa/icon_open.png) no-repeat;
    background-size: 100% 100%;
  }
  .faq-content {
    display: none;
    width: 67.7vw;
    margin: 2.19vw 0 2.56vw;
    padding: 1.83vw 0 0;
    font-size: 1.11vw;
    font-weight: 500;
    line-height: 2.0;
  }
  .faq-content p {
    display: flex;
    align-items: flex-start;
  }
  .faq-content span {
    /*
    font-size: 1.75vw;
    */
    font-size: 1.38vw;
    font-weight: bold;
    color: #67B7E1;
    line-height: 1;
    margin-right: 0.5em;
  }
  .faq-content p.txt_link a {
    display: flex;
    flex-direction: column;
    margin: 2.0vw 0 0 2.0vw;
  }
  .faq-content p.txt_link a {
    color: #000;
    transition: all 0.5s;
  }
  .faq-content p.txt_link a span.txt_jp {
    /*
    font-size: 1.38vw;
    */
    font-weight: bold;
    font-size: 1.11vw;
    color: #000;
  }
  .faq-content p.txt_link a span.txt_en {
    /*
    font-size: 0.90vw;
    */
    font-size: 0.83vw;
    font-weight: bold;
    color: #000;
    line-height: 2.6;
  }
  .faq-content p.txt_link a:hover span.txt_jp,
  .faq-content p.txt_link a:hover span.txt_en {
    color: #1AAEFA;
  }

  .faq-item.open .faq-toggle {
  }

}

@media (max-width: 767px) {
  .qa {}
  .qa .inner {
    width: 82.6vw;
    margin: 0 auto 21.3vw;
  }
  .qa h2 {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1AAEFA;
    color: #fff;
    font-size: 5.33vw;
    font-weight: bold;
    width: max-content;
    height: 14.6vw;
    line-height: 14.6vw;
    padding: 0 8.0vw;
    transform: rotate(-2.98deg);
    margin: 0 0 0 -5.3vw;
  }

  .qa .faq {
    position: relative;
    z-index: 1;
    margin-top: -1.5vw;
  }

  .faq-item {
    margin-bottom: 5.3vw;
    background: #FAFAFA;
    padding: 8.0vw 4.0vw 8.0vw 5.3vw;
    overflow: hidden;
  }

  .faq-toggle {
    position: relative;
    width: calc(100% - 10.3vw);
    padding: 0;
    border: none;
    text-align: left;
    /*
    font-size: 4.26vw;
    */
    font-size: 4.0vw;
    font-weight: 500;
    cursor: pointer;
    padding: 0 10.3vw 0 0;
    display: flex;
  }
  .faq-toggle span {
    /*
    font-size: 4.26vw;
    */
    font-size: 4.2vw;
    font-weight: bold;
  }
  .faq-toggle::after {
    position: absolute;
    display: block;
    content: "";
    width: 7.2vw;
    height: 7.2vw;
    right: 0vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(../img/qa/icon_toggle.png) no-repeat center;
    background-size: 100% 100%;
  }
  .faq-item.open .faq-toggle::after {
    background: url(../img/qa/icon_open.png) no-repeat;
    background-size: 100% 100%;
  }
  .faq-content {
    display: none;
    width: 65.3vw;
    margin: 12vw 0 0vw;
    padding: 0vw 0 0;
    font-size: 3.73vw;
    font-weight: 500;
    line-height: 2.0;
  }
  .faq-content p {
    display: flex;
    align-items: flex-start;
    font-size: 3.73vw;
  }
  .faq-content span {
    /*
    font-size: 5.33vw;
    */
    font-size: 3.73vw;
    font-weight: bold;
    color: #67B7E1;
    line-height: 1;
    margin-right: 0.5em;
  }
  .faq-content p.txt_link a {
    display: flex;
    flex-direction: column;
    margin: 8.0vw 0 0 5.8vw;
  }
  .faq-content p.txt_link a {
    color: #000;
  }
  .faq-content p.txt_link a span.txt_jp {
    /*
    font-size: 4.26vw;
    */
    font-size: 4.2vw;
    font-weight: bold;
    color: #000;
  }
  .faq-content p.txt_link a span.txt_en {
    /*
    font-size: 2.93vw;
    */
    font-size: 2.93vw;
    font-weight: bold;
    color: #000;
    line-height: 2.6;
  }

  .faq-item.open .faq-toggle {
  }
}
