@media screen and (min-width: 769px), print {
  .c_ttl {
    margin-bottom: 50px;
  }
  figure {
    margin: 0;
  }
  .box_flex {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: 1.8rem;
  }
  .box_flex .txtBox {
    width: 100%;
  }
  .box_flex .name_CEO {
    width: 180px;
    width: 126px;
    margin-left: auto;
    margin-top: 12px;
  }
  .certification {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-top: 70px;
  }
  .certification > li {
    width: auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .certification > li .logo {
    width: 137px;
  }
  .certification > li .certificate {
    width: 356px;
    border: 1px solid #e4e4e4;
    margin-left: 20px;
  }
  .certification > li + li .logo {
    width: 97px;
  }
  .block:not(:last-child) {
    margin-bottom: 60px;
  }
  .detail_info {
    font-size: 1.8rem;
  }
  .detail_info:not(:last-child) {
    margin-bottom: 100px;
  }
  .list {
    margin-top: 1em;
  }
  .list > li {
    padding-left: 1em;
    text-indent: -1em;
  }
  .list > li + li {
    margin-top: 16px;
    margin-top: 8px;
  }
  .img_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 30px;
  }
  .img_list li {
    height: 263px;
  }
  .img_list li:not(:last-of-type) {
    margin-right: 24px;
  }
  .img_list li img {
    max-width: 100%;
    max-height: 100%;
  }
  .img_list.type_01 > li {
    height: 273px;
  }
  .img_list.type_02 > li {
    height: 346px;
  }
  .for-resolution {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 30px;
  }
  .for-resolution > li {
    width: 49%;
    padding: 20px;
    border: 1px solid #e92550;
    -moz-border-radius: 8px;
         border-radius: 8px;
  }
  .for-resolution > li > dl dt {
    font-weight: bold;
  }
  .for-resolution > li > dl dd {
    margin-top: 8px;
  }
  .for-resolution > li > figure {
    margin-top: 16px;
  }
  .for-resolution > li:nth-of-type(n+3) {
    margin-top: 22px;
  }
  .for-resolution > li .resolution_02_images {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 70px;
  }
  .for-resolution > li .resolution_02_images > figure {
    height: 280px;
  }
  .for-resolution > li .resolution_02_images > figure img {
    max-height: 100%;
  }
  .organization_chart {
    width: 920px;
    margin: 40px auto 0;
  }
  .strategy_map {
    width: 100%;
    margin: 40px auto 0;
  }
  .strategy_map figcaption {
    text-align: right;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  figure {
    margin: 0;
  }
  .box_flex {
    font-size: 3.38542vw;
  }
  .box_flex .txtBox {
    width: 100%;
  }
  .box_flex .name_CEO {
    width: 20.83333vw;
    margin-left: auto;
  }
  .certification {
    margin-top: 9.11458vw;
  }
  .certification > li {
    width: auto;
    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;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .certification > li .logo {
    width: 40%;
    margin: 0 auto 5.20833vw;
  }
  .certification > li .certificate {
    width: 90%;
    border: 1px solid #e4e4e4;
    margin-left: 0;
  }
  .certification > li + li {
    margin-top: 7.8125vw;
  }
  .certification > li + li .logo {
    width: 29%;
  }
  .block:not(:last-child) {
    margin-bottom: 9.11458vw;
  }
  .detail_info:not(:last-child) {
    margin-bottom: 13.02083vw;
  }
  .list {
    margin-top: 1em;
  }
  .list > li {
    padding-left: 1em;
    text-indent: -1em;
  }
  .list > li + li {
    margin-top: 3.64583vw;
    margin-top: 1.82292vw;
  }
  .img_list {
    margin-top: 5.20833vw;
  }
  .img_list li {
    margin-bottom: 3.90625vw;
  }
  .img_list li img {
    width: 100%;
  }
  .for-resolution {
    margin-top: 5.20833vw;
  }
  .for-resolution > li {
    width: 100%;
    padding: 2.60417vw;
    border: 1px solid #e92550;
    -moz-border-radius: 1.04167vw;
         border-radius: 1.04167vw;
  }
  .for-resolution > li > dl dt {
    font-weight: bold;
  }
  .for-resolution > li > dl dd {
    margin-top: 1.5625vw;
  }
  .for-resolution > li > figure {
    margin-top: 2.08333vw;
  }
  .for-resolution > li + li {
    margin-top: 3.90625vw;
  }
  .for-resolution > li .resolution_02_images {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 2.08333vw;
  }
  .for-resolution > li .resolution_02_images > figure {
    height: 48.56771vw;
  }
  .for-resolution > li .resolution_02_images > figure img {
    max-height: 100%;
  }
  .mt_map {
    margin-top: 6.51042vw;
  }
  .organization_chart {
    margin: 6.51042vw auto 0;
  }
  .strategy_map {
    margin: 6.51042vw auto 0;
  }
  .strategy_map figcaption {
    text-align: right;
    margin-bottom: 1.30208vw;
  }
}
