/*common*/
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}

/*voice_2*/
.category-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 24px;
}

@media screen and (max-width: 768px) {
  .category-list {
    -webkit-flex-flow: column;
        -ms-flex-flow: column;
            flex-flow: column;
    margin-top: 6%;
  }
}

.category-list__item {
  position: relative;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 30%;
}

.category-list__item:nth-of-type(2) {
  margin: 0 5%;
}

@media screen and (max-width: 768px) {
  .category-list__item:nth-of-type(2) {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .category-list__item {
    width: 100%;
  }
  .category-list__item:last-of-type {
    margin-top: 5%;
  }
  .category-list__item:first-of-type {
    margin-top: 0;
  }
}

.category-list__text {
  position: absolute;
  width: 100%;
  height: auto;
  font-size: 1.6rem;
  line-height: 1.2;
  z-index: 9;
  color: #fff;
  padding: 2%;
  bottom: 0;
}

.category-list__img {
  position: relative;
  height: auto;
  display: inline-block;
  max-width: 300px;
}

@media screen and (max-width: 768px) {
  .category-list__img {
    max-width: 100%;
  }
}

.category-list__img:before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.3);
}

@media screen and (max-width: 768px) {
  .category-menu {
    margin: 0 18px;
    border: 1px solid #71b7e8;
    border-radius: 4px;
    overflow: hidden;
  }
}

/*override*/
.anchor__list {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

@media screen and (max-width: 768px) {
  .anchor__list {
    position: relative;
    width: 100%;
    margin-top: 0;
    background: linear-gradient(180deg, #e3f2fc, #ffffff);
    border-bottom: 1px solid #71b7e8;
  }
  .anchor__list::before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  .anchor__list::before {
    right: 6%;
    width: 8px;
    height: 8px;
    border-top: 1px solid #3499de;
    border-right: 1px solid #3499de;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
  }
  .anchor__list a {
    display: block;
    width: 100%;
    text-align: left;
    color: #71b7e8;
    padding: 4% 3%;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .anchor__list__item:before {
    display: none;
  }
}

/*default setting*/
body#voice_2 .anchor {
  margin-top: 0;
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  body#voice_2 .anchor {
    padding: 0;
    background: none;
    margin-bottom: 0;
  }
  body#voice_2 .anchor:last-of-type li:last-of-type {
    border-bottom: none;
  }
}

body#voice_2 .section {
  margin-top: 30px;
}

body#voice_2 .section .list dt {
  margin-top: 20px;
  color: #339EDD;
  font-weight: 500;
  letter-spacing: .05em;
  position: relative;
  margin-left: 16px;
  font-size: 1.6rem;
}

body#voice_2 .section .list dt::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #9CD5F1;
  position: absolute;
  top: 8px;
  left: -16px;
}

body#voice_2 .section .list dd {
  margin-top: 10px;
}

body#voice_2 .section .list dd a {
  color: #ED6A0F;
  text-decoration: underline;
}

body#voice_2 .section .list dd .col2 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 5px;
}

body#voice_2 .section:not(:first-of-type) {
  margin-top: 40px;
}

body#voice_2 .section:last-of-type {
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  body#voice_2 .section {
    margin-top: 60px;
  }
}

@media screen and (min-width: 768px) {
  body#voice_2 .section .list dt {
    font-size: 1.9rem;
    margin-top: 40px;
    margin-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  body#voice_2 .section .list dt::before {
    width: 12px;
    height: 12px;
    top: 11px;
    left: -20px;
  }
}

@media screen and (min-width: 768px) {
  body#voice_2 .section .list dd {
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px) {
  body#voice_2 .section:not(:first-of-type) {
    margin-top: 48px;
  }
}

@media screen and (min-width: 768px) {
  body#voice_2 .section:last-of-type {
    margin-bottom: 120px;
  }
  body#voice_2 .section:first-of-type {
    margin-top: 80px;
  }
}
