.footer_block12{ position: relative;}
.footer_block12::before,
.footer_block12::after{ content: '';display: block;width: 100%; height: 100%;position: absolute;top: 0;right: 0;z-index: 1;
    background: url(../images/footer_bg1.png) no-repeat left center/auto 100%;}
.footer_block12::after{ background: url(../images/footer_bg2.png) no-repeat right center/auto 100%;}
.footer_block12 .footer{ position: relative; z-index: 2; padding: 50px 0 60px; max-width: 900px; margin: 0 auto;}
.footer_block12 .footer .gp-container{max-width: 680px;}
.ft-logo{font-size: 0;text-align: center;}
.ft-logo a{ display: block;}
.ft-logo img{ max-height: 97px;}

.textAlignCenter{ width: auto; margin: 0 auto;}
.ft-flex{ display: flex; display: -ms-flexbox; justify-content: flex-start;}
.flexAlignCenter{ align-items: center;}
.contact{ flex-shrink: 0; margin-top: 20px;}
.contact li{ display: flex; display: -ms-flexbox; line-height: 1.3; margin-bottom: 10px;}
.contact li:last-child{ margin-bottom: 0;}
.contact span{ text-shadow: 0px 0px 0px rgba(0,0,0,1); color: rgba(255,255,255,0.7);
    filter: drop-shadow(0 -2px 0 #000) drop-shadow(2px 0 0 #000) drop-shadow(0 2px 0 #000) drop-shadow(-2px 0 0 #000);}
.contact li .label{ flex-shrink: 0; min-width: 90px;}
.contact li .con{ position: relative; flex: 1; min-width: unset;}
.contact li .con::before{ content: '：';display: inline-block;position: absolute;top: 0;left: 0;transform: translateX(-100%);}

.ft-logo2{ margin-left: 40px;}
.ft-logo2 a{ display: block; margin-right: 15px;}
.ft-logo2 a:last-child{ margin-right: 0;}
.ft-logo2 img{ max-height: 90px;}

@media screen and (max-width: 1280px) {
    .footer_block12 .footer{ padding: 40px 0 40px;}
}
@media screen and (max-width: 998px) {
    .footer_block12::before,
    .footer_block12::after{ opacity: 0.5;}
    .footer_block12 .footer{ width: 100%; padding-left: 30px; padding-right: 30px;}
}
@media screen and (max-width: 768px) {
    .footer_block12 .footer{ padding: 20px 30px;}
    .footer .ft-flex.flexAlignCenter{ flex-direction: column; align-items: flex-start;}
    .footer_block12 .footer a{ text-align: center;}
    .contact{ max-width: 500px; margin: 10px auto 0;}
    .ft-logo2{ width: 100%; margin-left: 0; margin-top: 20px; justify-content: center;}
    .ft-logo2 a{ display: inline-block;}
}
@media screen and (max-width: 479px) {
    .contact li .label{ min-width: 80px;}
}