@media screen and (min-width: 769px), print {
  .ttl {
    margin-bottom: 17px;
  }
  .topics {
    padding-bottom: 90px;
  }
  .topics .top {
    background: #f3f3f3;
    padding: 16px 60px 20px;
    margin-bottom: 30px;
  }
  .topics .top .check > label {
    width: 164px;
  }
  .topics .top .check .wrap {
    width: -webkit-calc(100% - 164px);
    width: -moz-calc(100% - 164px);
    width: calc(100% - 164px);
  }
  .topics .top .check.fa_01 .wrap > ul > li {
    width: auto;
    margin-right: 16px;
    margin-bottom: 5px;
  }
  .topics .top .check.fa_02 .wrap > ul > li {
    width: auto;
    margin-right: 21px;
    margin-bottom: 5px;
  }
  .detail {
    padding: 16px 75px 100px;
  }
  .detail .title {
    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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 10px;
  }
  .detail .title span {
    height: 18px;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 18px;
    color: #000000;
    letter-spacing: 0.7px;
    text-align: center;
    padding: 0 7px;
  }
  .detail .title span.note_01 {
    background: #ccecff;
    margin-right: 3px;
  }
  .detail .title span.note_02 {
    background: #8b8b8b;
    min-width: 89px;
  }
  .detail h3 {
    font-size: 2.4rem;
    line-height: 32px;
    letter-spacing: -0.3px;
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 14px;
    margin-left: -3px;
    margin-bottom: 5px;
  }
  .detail .date {
    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: end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 21px;
  }
  .detail .date time {
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 32px;
    letter-spacing: 0.8px;
    margin-left: 32px;
  }
  .detail .block {
    margin-bottom: 60px;
  }
  .detail .block:last-of-type {
    margin-bottom: 0;
  }
  .detail .block figure {
    width: 100%;
    text-align: center;
  }
  .detail .block figure img {
    max-width: 100%;
    display: block;
  }
  .detail .block p {
    font-size: 1.5rem;
    line-height: 24px;
    letter-spacing: -1.1px;
    margin: 24px 0 16px;
  }
  .detail .block .top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .detail .block .bottom {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: 20px;
  }
  .detail .block .left {
    overflow: hidden;
  }
  .detail .block .left figure {
    float: left;
    margin-right: 20px;
    width: 50%;
  }
  .detail .block .left p {
    margin-top: 0;
  }
  .detail .block .right {
    overflow: hidden;
  }
  .detail .block .right figure {
    float: right;
    margin-left: 20px;
    width: 50%;
  }
  .detail .block .right p {
    margin-top: 0;
  }
  .detail .block a {
    color: #3aa6df;
  }
  .detail a._btn {
    margin-top: 48px;
  }
}

@media screen and (max-width: 768px) {
  .topics {
    padding: 6.90104vw 0 15.10417vw;
  }
  .topics .ttl {
    margin-bottom: 5.07812vw;
  }
  .topics .top {
    background: #f3f3f3;
    padding: 5.46875vw 2.60417vw 6.51042vw;
    margin: 0 -2.60417vw 6.51042vw;
  }
  .topics .top .btn_list {
    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: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 5.20833vw;
  }
  .topics .top .btn_list button {
    display: block;
    width: 45.96354vw;
    height: 10.41667vw;
    background: #005ead;
    font-size: 3.64583vw;
    line-height: 10.41667vw;
    color: #fff;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
  }
  .topics .top .btn_list button.bg_gray {
    background: #606060;
  }
  .detail {
    padding: 8.33333vw 0 15.625vw;
  }
  .detail .title {
    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;
    margin-bottom: 2.08333vw;
  }
  .detail .title span {
    height: 4.6875vw;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 3.125vw;
    line-height: 4.6875vw;
    color: #000000;
    letter-spacing: 0.13021vw;
    text-align: center;
    padding: 0 1.95312vw;
  }
  .detail .title span.note_01 {
    background: #ccecff;
    margin-right: 4px;
  }
  .detail .title span.note_02 {
    background: #8b8b8b;
    min-width: 23.95833vw;
  }
  .detail h3 {
    font-size: 4.6875vw;
    line-height: 5.20833vw;
    letter-spacing: -0.16927vw;
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 2.47396vw;
    margin-bottom: 2.08333vw;
  }
  .detail .date {
    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;
    margin-bottom: 4.6875vw;
  }
  .detail .date time {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 3.125vw;
    line-height: 3.90625vw;
    letter-spacing: 0.19531vw;
    margin-right: 2.60417vw;
  }
  .detail .date time span {
    letter-spacing: 0;
  }
  .detail .block {
    margin-bottom: 60px;
  }
  .detail .block:last-of-type {
    margin-bottom: 0;
  }
  .detail .block figure {
    width: 100%;
    text-align: center;
  }
  .detail .block figure img {
    max-width: 100%;
    display: block;
    width: auto;
  }
  .detail .block p {
    font-size: 3.64583vw;
    line-height: 5.72917vw;
    letter-spacing: -0.13021vw;
    margin: 4.03646vw 0 3.38542vw;
  }
  .detail .block .top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .detail .block .bottom {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-bottom: 20px;
  }
  .detail .block .left {
    overflow: hidden;
  }
  .detail .block .left figure {
    float: left;
    margin-right: 20px;
    width: 50%;
  }
  .detail .block .left p {
    margin-top: 0;
  }
  .detail .block .right {
    overflow: hidden;
  }
  .detail .block .right figure {
    float: right;
    margin-left: 20px;
    width: 50%;
  }
  .detail .block .right p {
    margin-top: 0;
  }
  .detail .block a {
    color: #3aa6df;
  }
  .detail a._btn {
    margin-top: 8.33333vw;
  }
}
