@charset "UTF-8";
/* basic layout */
/* 全体の設定
---------------------------------------------------------------------------*/
/* 基本設定
---------------------------------------------------------------------------*/
/* responsive */
/* サイズ */
/* flexbox */
/* フォント */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* medium: 500, bold: 700, black: 900 */
/* regular: 400, medium: 500, semibold: 600, bold: 700 */
/* regular: 400 */
/* 色 */
/* グラデ背景色 */
/* 中央揃え */
/* objectfit */
/* ホバーアクション */
/* 角丸 */
/* ボタン */
/* ボタンの中のspan */
/* フォントサイズ */
/* 余白 */
/* 縦書き */
/* 内径 */
/* faq
---------------------------------------------------------------------------*/
.faq {
  /* 1080 */
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 200; }
  @media screen and (max-width: 1300px) {
    .faq {
      width: 83.0769230769vw; } }
  @media screen and (max-width: 480px) {
    .faq {
      width: 86.6666666667vw; } }
  .faq dl {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 0 64px; }
    @media screen and (max-width: 1300px) {
      .faq dl {
        border-radius: 0.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .faq dl {
        border-radius: 3.2vw; } }
    @media screen and (max-width: 1300px) {
      .faq dl {
        padding: 0 4.9230769231vw; } }
    @media screen and (max-width: 480px) {
      .faq dl {
        padding: 0 5.3333333333vw; } }
    .faq dl + dl {
      margin-top: 24px; }
      @media screen and (max-width: 1300px) {
        .faq dl + dl {
          margin-top: 1.8461538462vw; } }
      @media screen and (max-width: 480px) {
        .faq dl + dl {
          margin-top: 3.2vw; } }
    .faq dl dt > *, .faq dl dd > * {
      position: relative;
      padding-left: 84px; }
      @media screen and (max-width: 1300px) {
        .faq dl dt > *, .faq dl dd > * {
          padding-left: 6.4615384615vw; } }
      @media screen and (max-width: 480px) {
        .faq dl dt > *, .faq dl dd > * {
          padding-left: 8.5333333333vw; } }
      .faq dl dt > *::after, .faq dl dd > *::after {
        position: absolute;
        left: 0;
        top: -30px;
        font-size: 80px;
        font-family: "Roboto Condensed", sans-serif;
        font-optical-sizing: auto;
        font-weight: 800;
        font-style: italic;
        letter-spacing: .05em;
        line-height: 1.2; }
        @media screen and (max-width: 1300px) {
          .faq dl dt > *::after, .faq dl dd > *::after {
            font-size: 6.1538461538vw; } }
        @media screen and (max-width: 480px) {
          .faq dl dt > *::after, .faq dl dd > *::after {
            font-size: 18.9629546667vw; } }
        @media screen and (max-width: 1300px) {
          .faq dl dt > *::after, .faq dl dd > *::after {
            top: -2.3076923077vw; } }
        @media screen and (max-width: 480px) {
          .faq dl dt > *::after, .faq dl dd > *::after {
            top: -1.3333333333vw;
            font-size: 10.6666666667vw; } }
    .faq dl dt {
      color: #0F478B;
      padding-top: 28px;
      padding-bottom: 28px; }
      @media screen and (max-width: 1300px) {
        .faq dl dt {
          padding-top: 2.1538461538vw; } }
      @media screen and (max-width: 480px) {
        .faq dl dt {
          padding-top: 3.7333333333vw; } }
      @media screen and (max-width: 1300px) {
        .faq dl dt {
          padding-bottom: 2.1538461538vw; } }
      @media screen and (max-width: 480px) {
        .faq dl dt {
          padding-bottom: 3.7333333333vw; } }
      .faq dl dt p {
        line-height: 2.2222;
        padding-right: 70px; }
        @media screen and (max-width: 1300px) {
          .faq dl dt p {
            padding-right: 5.3846153846vw; } }
        @media screen and (max-width: 480px) {
          .faq dl dt p {
            padding-right: 9.3333333333vw; } }
        .faq dl dt p::after {
          content: "Q";
          color: #7CADDB; }
    .faq dl dd {
      border-top: 1px solid #ADCBE8;
      font-size: 18px;
      line-height: 2.2222;
      padding-top: 32px;
      padding-bottom: 32px; }
      @media screen and (max-width: 1300px) {
        .faq dl dd {
          font-size: 1.3846153846vw; } }
      @media screen and (max-width: 480px) {
        .faq dl dd {
          font-size: 4.2666648vw; } }
      @media screen and (max-width: 1300px) {
        .faq dl dd {
          padding-top: 2.4615384615vw; } }
      @media screen and (max-width: 480px) {
        .faq dl dd {
          padding-top: 4.2666666667vw; } }
      @media screen and (max-width: 1300px) {
        .faq dl dd {
          padding-bottom: 2.4615384615vw; } }
      @media screen and (max-width: 480px) {
        .faq dl dd {
          padding-bottom: 4.2666666667vw; } }
      .faq dl dd div::after {
        content: "A";
        color: #577EAE; }
  .faq .opennext {
    position: relative;
    width: 100%;
    transition-property: all;
    transition-duration: 0.3s;
    transition-timing-function: ease; }
    @media (hover: hover) {
      .faq .opennext:hover {
        cursor: pointer;
        opacity: 0.6; } }
    .faq .opennext::after, .faq .opennext::before {
      position: absolute;
      content: "";
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      width: 22px;
      height: 22px;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      transition-property: all;
      transition-duration: 0.3s;
      transition-timing-function: ease; }
      @media screen and (max-width: 1300px) {
        .faq .opennext::after, .faq .opennext::before {
          width: 1.6923076923vw;
          height: 1.6923076923vw; } }
      @media screen and (max-width: 480px) {
        .faq .opennext::after, .faq .opennext::before {
          width: 5vw;
          height: 5vw; } }
    .faq .opennext::before {
      background-image: url(../img/faq/opennext-hor.png); }
    .faq .opennext::after {
      background-image: url(../img/faq/opennext-ver.png); }
    .faq .opennext.active::after {
      opacity: 0; }
    .faq .opennext-body {
      display: none; }
