@media screen and (min-width: 769px), print {
    .companies {
        padding: 80px 0 100px;
        background: #e7eef6;
    }
    .companies__accordion {
        background: #fff;
        -moz-box-shadow: 0 10px 20px rgba(0, 64, 121, 0.13);
            box-shadow: 0 10px 20px rgba(0, 64, 121, 0.13);
    }
    .companies__accordion:not(:last-child) {
        margin-bottom: 20px;
    }
    .companies__accordion .accordion__trigger {
        position: relative;
        padding: 25px 68px 27px 40px;
        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-transition: opacity .3s ease-out;
        -moz-transition: opacity .3s ease-out;
        transition: opacity .3s ease-out;
    }
    .companies__accordion .accordion__trigger:hover {
        opacity: 0.7;
    }
    .companies__accordion .accordion__trigger .companies__logo {
        -ms-flex-negative: 0;
            flex-shrink: 0;
        margin-right: 20px;
        width: 107px;
    }
    .companies__accordion .accordion__trigger .companies__logo img {
        width: auto;
    }
    .companies__accordion .accordion__trigger .companies__ttl {
        font-size: 2.4rem;
        font-weight: 500;
        color: #005bab;
        letter-spacing: .075em;
    }
    .companies__accordion .accordion__trigger .companies__area {
        border: 2px solid #005bab;
        -moz-border-radius: 5px;
            border-radius: 5px;
        -moz-box-sizing: border-box;
            box-sizing: border-box;
        color: #005bab;
        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;
        font-size: 1.4rem;
        font-weight: 500;
        height: 35px;
        letter-spacing: 1.2px;
        margin: 0 20px 0 auto;
        width: 125px;
    }
    .companies__accordion .accordion__trigger:after {
        content: '';
        display: block;
        width: 18px;
        height: 11px;
        background: url("/img/accordion_arrow.png") 0 0/100% no-repeat;
        position: absolute;
        top: 36px;
        right: 40px;
        -webkit-transform: scaleY(-1);
            -moz-transform: scaleY(-1);
            -ms-transform: scaleY(-1);
                transform: scaleY(-1);
        -webkit-transition: -webkit-transform .3s ease-out;
        transition: -webkit-transform .3s ease-out;
        -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
        transition: transform .3s ease-out;
        transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
    }
    .companies__accordion .accordion__trigger.open:after {
        -webkit-transform: scaleY(1);
            -moz-transform: scaleY(1);
            -ms-transform: scaleY(1);
                transform: scaleY(1);
    }
    .companies__accordion .accordion__inner {
        border-top: 1px solid #ccc;
        padding: 40px 40px 35px;
    }
    .companies__accordion .accordion__inner .companies__ttl {
        font-size: 2rem;
        line-height: 1.2;
        font-weight: 500;
        color: #005bab;
        letter-spacing: .1em;
        position: relative;
        padding-left: 20px;
        margin-bottom: 7px;
    }
    .companies__accordion .accordion__inner .companies__ttl:before {
        content: '';
        display: block;
        width: 5px;
        background: #005bab;
        -moz-border-radius: 99px;
            border-radius: 99px;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
    }
    .companies__accordion .accordion__inner .companies__text {
        margin-bottom: 22px;
        padding-left: 23px;
    }
    .companies__accordion .accordion__inner .box--gray {
        padding: 30px 38px 35px;
        background: #f1f1f1;
        margin-bottom: 20px;
    }
    .companies__accordion .accordion__inner .box--gray .box__ttl {
        font-weight: 500;
        font-size: 1.8rem;
        margin-bottom: 5px;
        letter-spacing: .1em;
    }
    .companies__accordion .accordion__inner .box__link {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -moz-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
    }
    .companies__accordion .accordion__inner .box__link li {
        letter-spacing: .05em;
    }
    .companies__accordion .accordion__inner .box__link li:not(:last-child) {
        margin-right: 18px;
    }
    .companies__accordion .accordion__inner .box__link a {
        display: block;
        color: #005bab;
        -webkit-transition: opacity .3s ease-out;
        -moz-transition: opacity .3s ease-out;
        transition: opacity .3s ease-out;
    }
    .companies__accordion .accordion__inner .box__link a:hover {
        opacity: 0.7;
    }
    .companies__accordion .accordion__inner .box__link a[target='_blank'] {
        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;
    }
    .companies__accordion .accordion__inner .box__link a[target='_blank']:before {
        content: '';
        display: block;
        width: 16px;
        height: 14px;
        margin-right: 8px;
        background: url("/img/icon_window.png") 0 0/100% no-repeat;
    }
    .companies__list {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 768px) {
    .companies {
        padding: 15.625vw 0 15.625vw;
        background: #e7eef6;
    }
    .companies__accordion {
        background: #fff;
        -moz-box-shadow: 0 1.30208vw 2.60417vw rgba(0, 64, 121, 0.13);
            box-shadow: 0 1.30208vw 2.60417vw rgba(0, 64, 121, 0.13);
    }
    .companies__accordion:not(:last-child) {
        margin-bottom: 7.55208vw;
    }
    .companies__accordion .accordion__trigger {
        position: relative;
        padding: 7.8125vw 13.02083vw 5.46875vw 6.38021vw;
    }
    .companies__accordion .accordion__trigger .companies__logo {
        display: block;
        line-height: 1;
        margin-bottom: 2.73438vw;
    }
    .companies__accordion .accordion__trigger .companies__logo img {
        width: 19.66146vw;
    }
    .companies__accordion .accordion__trigger .companies__ttl {
        font-size: 4.6875vw;
        line-height: 1.2;
        font-weight: 500;
        color: #005bab;
        letter-spacing: .075em;
    }
    .companies__accordion .accordion__trigger .companies__area {
        border: 1px solid #005bab;
        -moz-border-radius: 5px;
            border-radius: 5px;
        -moz-box-sizing: border-box;
            box-sizing: border-box;
        color: #005bab;
        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;
        font-size: 3.125vw;
        font-weight: 500;
        height: 6.51042vw;
        letter-spacing: 0.15625vw;
        position: absolute;
        top: 6.51042vw;
        right: 6.51042vw;
        width: 22.13542vw;
    }
    .companies__accordion .accordion__trigger:after {
        content: '';
        display: block;
        width: 3.25521vw;
        height: 1.95312vw;
        background: url("/img/accordion_arrow.png") 0 0/100% no-repeat;
        position: absolute;
        top: 16.92708vw;
        right: 6.51042vw;
        -webkit-transform: scaleY(-1);
            -moz-transform: scaleY(-1);
            -ms-transform: scaleY(-1);
                transform: scaleY(-1);
        -webkit-transition: -webkit-transform .3s ease-out;
        transition: -webkit-transform .3s ease-out;
        -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
        transition: transform .3s ease-out;
        transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
    }
    .companies__accordion .accordion__trigger.open:after {
        -webkit-transform: scaleY(1);
            -moz-transform: scaleY(1);
            -ms-transform: scaleY(1);
                transform: scaleY(1);
    }
    .companies__accordion .accordion__inner {
        border-top: 1px solid #ccc;
        padding: 7.8125vw 6.25vw;
    }
    .companies__accordion .accordion__inner .companies__ttl {
        font-size: 3.90625vw;
        line-height: 1.15;
        font-weight: 500;
        color: #005bab;
        letter-spacing: .1em;
        position: relative;
        padding-left: 2.21354vw;
        margin-bottom: 3.64583vw;
    }
    .companies__accordion .accordion__inner .companies__ttl:before {
        content: '';
        display: block;
        width: 0.65104vw;
        background: #005bab;
        -moz-border-radius: 12.89062vw;
            border-radius: 12.89062vw;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
    }
    .companies__accordion .accordion__inner .companies__text {
        margin-bottom: 4.16667vw;
    }
    .companies__accordion .accordion__inner .box--gray {
        padding: 5.20833vw 2.60417vw 5.20833vw 5.20833vw;
        background: #f1f1f1;
        margin-bottom: 3.51562vw;
    }
    .companies__accordion .accordion__inner .box--gray p {
        line-height: 1.5;
    }
    .companies__accordion .accordion__inner .box--gray .box__ttl {
        font-weight: 500;
        font-size: 3.64583vw;
        margin-bottom: 1.43229vw;
        letter-spacing: .1em;
    }
    .companies__accordion .accordion__inner .box__link li {
        display: block;
        text-align: right;
        letter-spacing: .05em;
    }
    .companies__accordion .accordion__inner .box__link a {
        display: inline-block;
        color: #005bab;
    }
    .companies__accordion .accordion__inner .box__link a[target='_blank'] {
        display: -webkit-inline-box;
        display: -moz-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -moz-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    .companies__accordion .accordion__inner .box__link a[target='_blank']:before {
        content: '';
        display: block;
        width: 3.125vw;
        height: 2.73438vw;
        margin-right: 1.69271vw;
        background: url("/img/icon_window.png") 0 0/100% no-repeat;
    }
    .companies__list {
        margin-bottom: 11.71875vw;
    }
}