.footer_t {width: 100%; margin: 0 auto; border-top: 1px solid #e1e1e1; padding: 25px 5%; display:flex; flex-flow: row wrap; justify-content:flex-start; font-size: 13px; line-height: 18px; color: #555; position: relative;}
.footer_t a {font-size: 12px;}
.footer_logo {flex:1 1 auto; position: relative; margin-right: 7%;}
.footer_txt {flex:6 1 auto;}
.footer_sns {flex:1 1 auto; text-align:right;}
.footer_sns a {display: inline-block; font-size: 36px; color: #212121; margin-left: 10px;}

.footer_logo img {width: 100%; max-width:90px;}
.footer_logo p {margin-top: 10px; position: absolute; bottom: 0; white-space: nowrap;}
.footer_logo p span {display: block;}
.footer_txt .footer_link {margin-bottom: 10px;}
.footer_txt .footer_link a {font-size: 14px; color: #212121; margin-right: 30px;}
.footer_txt .copy {display: block; margin-top: 10px;}


@media(max-width:1440px){
.footer_t {padding: 3%;}
.footer_logo {flex:2 1 auto;}
.footer_txt {flex:6 1 auto;}
}

@media(max-width:768px){
.footer_t {font-size: 2.5vw; line-height: 4vw; display: block;}
.footer_logo p {position: relative;}
.footer_logo p span {display: inline;}
.footer_txt .footer_link a {font-size: 2.5vw;}
.footer_sns {position: absolute; right: 3%; top: 11vw;}
.footer_sns a {font-size: 30px; margin-left: 5px;}
}

@media(max-width:640px){
.footer_t {font-size: 3vw; line-height: 4.5vw; display: block;}
.footer_logo {display: none;}
.footer_txt .footer_link a {font-size: 3vw;}
.footer_sns {position: absolute; right: 3%; top: 2vh;}
.footer_sns a {font-size: 6vw;}
.footer_sns a img {width: 100%;}
}