@media screen and (min-width: 769px), print {
  .faq {
    padding: 0 0;
    font-size: 1.6rem;
  }
  .faq_ttl h2 {
    text-align: center;
    font-size: 3.6rem;
    line-height: 1;
    color: #fff;
    font-weight: bold;
    padding: 82px 0 83px;
    background: #d70c19;
  }
  .faq_row {
    padding: 90px 50px 65px;
  }
  .faq .accordion {
    font-size: 1.6rem;
    font-weight: 400;
    position: relative;
    display: block;
    cursor: pointer;
  }
  .faq .accordion.hidden {
    display: none;
  }
  .faq .accordion .accordion__answer {
    display: block;
    overflow: hidden;
  }
  .faq .accordion .accordion__answer__inner {
    padding: 40px 90px;
    border: 3px solid #d70c19;
    background-color: #ffebeb;
    position: relative;
  }
  .faq .accordion .accordion__answer__inner:before {
    content: 'A';
    color: #d70c19;
    font-size: 3.8rem;
    font-weight: bold;
    position: absolute;
    left: 42px;
    top: 24px;
    font-family: "Roboto", sans-serif;
  }
  .faq .accordion .accordion__answer__inner a {
    text-decoration: underline;
  }
  .faq .accordion + .accordion {
    margin-top: 30px;
  }
  .faq .accordion__target {
    list-style: none;
    cursor: pointer;
    font-size: 2rem;
    font-weight: 700;
    line-height: 150%;
    padding: 25px 90px;
    border: 2px solid #dadbdc;
  }
  .faq .accordion__target:before {
    content: "Q";
    color: #d70c19;
    font-size: 4.8rem;
    font-weight: bold;
    position: absolute;
    left: 35px;
    top: 24px;
    font-family: "Roboto", sans-serif;
  }
  .faq .accordion__target:after {
    content: "";
    position: absolute;
    display: block;
    width: 9px;
    height: 9px;
    border-bottom: 3px solid #d70c19;
    border-right: 3px solid #d70c19;
    right: 35px;
    top: 35px;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .faq .accordion[open] .accordion__target:after {
    -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotate(-135deg);
    top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .faq {
    padding: 0 0;
    font-size: 3.64583vw;
  }
  .faq_ttl {
    height: 32.55208vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #d70c19;
  }
  .faq_ttl h2 {
    font-size: 7.8125vw;
    line-height: 1;
    color: #fff;
    font-weight: bold;
  }
  .faq_row {
    padding: 11.71875vw 3.90625vw;
  }
  .faq .accordion {
    font-size: 3.64583vw;
    font-weight: 400;
    position: relative;
    display: block;
    cursor: pointer;
  }
  .faq .accordion.hidden {
    display: none;
  }
  .faq .accordion .accordion__answer {
    display: block;
    overflow: hidden;
  }
  .faq .accordion .accordion__answer__inner {
    padding: 3.90625vw 1.30208vw 3.90625vw 10.28646vw;
    border: 0.52083vw solid #d70c19;
    background-color: #ffebeb;
    position: relative;
    -moz-border-radius: 0 0 2.60417vw 2.60417vw;
         border-radius: 0 0 2.60417vw 2.60417vw;
  }
  .faq .accordion .accordion__answer__inner:before {
    content: 'A';
    color: #d70c19;
    font-size: 7.8125vw;
    font-weight: bold;
    position: absolute;
    left: 2.60417vw;
    top: 1.30208vw;
    font-family: "Roboto", sans-serif;
  }
  .faq .accordion .accordion__answer__inner a {
    text-decoration: underline;
  }
  .faq .accordion + .accordion {
    margin-top: 30px;
  }
  .faq .accordion__target {
    list-style: none;
    cursor: pointer;
    font-size: 2rem;
    font-weight: 700;
    line-height: 150%;
    padding: 3.25521vw 11.71875vw;
    border: 0.39063vw solid #dadbdc;
    -moz-border-radius: 2.60417vw;
         border-radius: 2.60417vw;
  }
  .faq .accordion__target:before {
    content: "Q";
    color: #d70c19;
    font-size: 9.11458vw;
    font-weight: bold;
    position: absolute;
    left: 2.60417vw;
    top: 3.90625vw;
    font-family: "Roboto", sans-serif;
  }
  .faq .accordion__target:after {
    content: "";
    position: absolute;
    display: block;
    width: 2.34375vw;
    height: 2.34375vw;
    border-bottom: 0.78125vw solid #d70c19;
    border-right: 0.78125vw solid #d70c19;
    right: 4.55729vw;
    top: 5.20833vw;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .faq .accordion[open] .accordion__target {
    -moz-border-radius: 2.60417vw 2.60417vw 0 0;
         border-radius: 2.60417vw 2.60417vw 0 0;
  }
  .faq .accordion[open] .accordion__target:after {
    -webkit-transform: rotate(-135deg);
       -moz-transform: rotate(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotate(-135deg);
    top: 6.51042vw;
  }
}
