dl.faq {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-bottom: 3rem;
  word-break: break-word; }
  dl.faq dt {
    font-size: 1.8rem;
    position: relative;
    display: block;
    margin: 0;
    padding: 20px 20px 20px 50px;
    cursor: pointer;
    background-color: #FAFAFA;
    font-weight: 600;
    margin-top: 10px; }
    dl.faq dt:after {
      color: #003366;
      content: "+";
      font-size: 2.0em;
      line-height: 1;
      position: absolute;
      left: 14px;
      top: 50%;
      -webkit-transition: 0.2s ease;
      transition: 0.2s ease;
      margin-top: -20px; }
    dl.faq dt.active:after {
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
  dl.faq dd {
    display: none;
    padding: 10px 20px 40px 50px;
    line-height: 2; }
    dl.faq dd > a {
      color: #016FB9;
      font-weight: bold; }

dl.faq dd p:not([class]) + p:not([class]) {
  margin-top: 1em; }
dl.faq dd a.url {
  word-break: break-all;
  color: #001C4E;
  font-weight: bold;
  position: relative;
  display: block;
  padding-left: 1.8rem; }
  dl.faq dd a.url:before {
    content: "";
    background: url("../img/icon_blank.svg") no-repeat;
    width: 1.2rem;
    height: 1.2rem;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0.8em;
    margin-top: -0.4rem; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

dl.faq .pcimage {
  display: block;
  float: right; }
dl.faq .spimage {
  display: none; }
dl.faq img {
  margin: 1.0em;
  max-width: 320px; }

.body a.url {
  display: block;
  margin-top: 1.0em; }

@media screen and (max-width: 768px) {
  dl.faq a.image {
    pointer-events: none; }
  dl.faq .pcimage {
    display: none; }
  dl.faq .spimage {
    display: block; }
  dl.faq img {
    margin: 0;
    margin-top: 1.0em;
    max-width: none;
    width: 100%; } }
