@charset "UTF-8";
.footer_section {
     width: 100vw;
     height: auto;
     background-color: #FFFFFF;
}

.footer_inner_whole {
     width: 100%;
     height: auto;
     margin: 0 auto;
}

.footer_top_whole {
     width: calc(100% - 40px);
     height: auto;
     margin: 0 auto;
     padding: 30px 20px;
     border-top: 1px solid #ACACAC;
     border-bottom: 1px solid #ACACAC;
}

.footer_top_a {
     width: 100%;
     height: auto;
     margin: 0 auto 20px auto;
}

.footer_top_a a {
     display: block;
     width: max-content;
     font-size: 14px;
     line-height: 20px;
     font-weight: 400;
     color: #616161;
     text-align: center;
     margin: 0 16px 0 0;
}

.footer_top_a a:nth-child(4) {
     margin-right: 0;
}

.footer_top_a a:last-child {
     width: 100%;
     margin: 10px auto 0 auto;
}


.footer_top_sns {
     width: 100%;
     height: auto;
     margin: 20px auto 0 auto;
}

.footer_top_sns a {
     display: block;
     min-width: 40px;
     width: 40px;
     max-width: 40px;
     min-height: 40px;
     height: 40px;
     max-height: 40px;
     background-color: #F8F8F8;
     border-radius: 20px;
}

.footer_top_sns a:hover {
     background-color: #ebebeb;
}

.footer_top_sns a + a {
     margin-left: 10px;
}

.footer_top_sns a img {
     display: block;
     width: 16px;
     height: 16px;
     background-size: contain;
     margin: 12px;
}


.footer_bottom_whole {
     width: calc(100% - 40px);
     height: auto;
     padding: 60px 20px;
}

.footer_bottom_whole img {
     width: auto;
     height: 32px;
     background-size: contain;
     margin: 0 auto 20px 0;
}

.footer_bottom_txt {
     width: 100%;
     height: auto;
     margin: 0 auto;
}

.footer_bottom_txt span {
     display: inline-block;
     width: 100%;
     font-size: 12px;
     line-height: 18px;
     font-weight: 400;
     color: #8D92A5;
     margin-bottom: 8px;
}

.footer_bottom_txt span span {
     display: inline-block;
     width: 1px;
     height: 10px;
     background-color: #8D92A5;
     margin: 0 6px;
}

.company_info_btn {
     display: block;
     width: max-content;
     height: auto;
     font-size: 12px;
     line-height: 18px;
     font-weight: 500;
     color: #8D92A5;
     margin: -1px auto 0 0;
     text-decoration: underline;
}

p.footer_copyright_txt {
     font-size: 12px;
     line-height: 18px;
     font-weight: 400;
     color: #8D92A5;
     margin: 29px auto 0 0;
}

.footer_bottom_right {
     display: none;
}

.footer_inner_common {
     width: 100%;
     max-width: 1600px;
     height: auto;
     margin: 0 auto;
}



@media (min-width: 1024px) {
     .footer_top_whole {
          width: calc(100% - 100px);
          padding: 20px 50px;
     }

     .footer_top_a {
          width: 100%;
          margin-bottom: 0;
     }

     .footer_top_a a {
          font-size: 18px;
          line-height: 27px;
          margin-right: 40px;
     }

     .footer_top_a a:last-child {
          width: max-content;
          margin: 0 0 0 40px;
     }

     .footer_top_a a:last-child span {
          display: none;
     }

     .footer_top_sns {
          min-width: max-content;
          width: max-content;
          margin: 0;
     }

     .footer_top_sns a img {
          width: 18px;
          height: 18px;
          margin: 11px;
     }


     .footer_bottom_whole {
          width: calc(100% - 100px);
          padding: 100px 50px 104px 50px;
     }

     .footer_bottom_whole img {
          height: 40px;
          margin-bottom: 28px;
     }

     .footer_bottom_txt span {
          font-size: 14px;
          line-height: 20px;
     }

     p.footer_copyright_txt {
          font-size: 14px;
          line-height: 20px;
          font-weight: 400;
          margin-top: 24px;
     }


     .footer_bottom_right {
          display: block;
     }

     .footer_bottom_right p:nth-child(1) {
          font-size: 18px;
          line-height: 27px;
          font-weight: bold;
          color: #F05612;
     }

     .footer_bottom_right a {
          display: block;
          min-width: max-content;
          font-size: 32px;
          line-height: 47px;
          font-weight: bold;
          color: #333544;
          margin: -1px 0 5px 0;
     }

     .footer_bottom_right p:nth-child(3),
     .footer_bottom_right p:nth-child(4) {
          font-size: 18px;
          line-height: 27px;
          font-weight: 400;
          color: #616161;
          margin-bottom: 5px;
     }
}



@media (min-width: 1300px) {
     .footer_top_whole {
          width: calc(100% - 200px);
          padding: 20px 100px;
     }

     .footer_bottom_whole {
          width: calc(100% - 200px);
          padding: 100px 100px 104px 100px;
     }
}