@charset "utf-8";
@media screen and (min-width: 769px) {

  .site-footer {
    width: 100vw;
    margin: 0 auto;
  }

  .footer-main {
    background-color: #fff;
    padding: 30px 0 10px;
    width: 100%;
    box-sizing: border-box;
  }

    .footer-main-inner {
        width: 100%;
        max-width: 1760px;
        box-sizing: border-box;
        margin: 0 auto;
        display: flex;
        align-items: flex-start;
        gap: clamp(20px, 5vw, 140px);
        padding: 0 clamp(12px, 2vw, 20px);
    }

  .footer-logo {
    flex: 0 0 300px;
    min-width: 280px;
  }

  .footer-logo img {
    width: 100%;
    min-width: 280px;
    max-width: 365px;
    height: auto;
  }

  .footer-columns {
    display: grid;
    grid-template-columns: repeat(5, max-content);
    column-gap: clamp(14px, 2.6vw, 75px);
    row-gap: 0;
    flex: 1;
    align-items: start;
    justify-content: flex-start;
  }

  .footer-col {
    min-width: 0;
  }

  .footer-col h4 {
    margin: 0 0 10px;
    font-size: 21px;
    color: #1F5EA8;
    white-space: nowrap;
  }

  .footer-col ul {
    position: relative;
    margin: 0;
    padding: 0 0 0 18px;
    list-style: none;
  }

  .footer-col ul::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 1px;
    background-color: #D3D3D3;
  }

  .footer-col li {
    margin-bottom: 6px;
    white-space: nowrap;
  }

  .site-footer .footer-col h4 a,
  .site-footer .footer-col h4 a:visited,
  .site-footer .footer-col h4 a:hover,
  .site-footer .footer-col h4 a:active,
  .site-footer .footer-col h4 a:focus {
   color: #1F5EA8;
   text-decoration: none;
  }

  .site-footer .footer-col > ul > li > a,
  .site-footer .footer-col > ul > li > a:visited,
  .site-footer .footer-col > ul > li > a:hover,
  .site-footer .footer-col > ul > li > a:active,
  .site-footer .footer-col > ul > li > a:focus {
   margin: 0 0 10px;
   text-decoration: none;
   color: #607d8b;
   white-space: nowrap;
  }

  .site-footer .footer-col > ul > li > a:hover {
   color: #191919;
  }

  .footer-col a:hover {
    text-decoration: underline;
  }

  .footer-copy {
    text-align: center;
    color: #9D9D9D;
    font-size: 12px;
    margin: 20px 0 0;
  }

  .footer-information {
    padding: 20px 0;
    width: 100%;
    background-color: #fff;
    font-size: 14px;
    margin: 0 auto !important;
  }

  .footer-information .footer-guide {
    margin: 0;
    padding: 0;
    text-align: center;
  }


  .footer-information .footer-guide li {
    margin: auto;
    display: inline;
  }

  .footer-information .footer-guide a {
    font-size: 15px;
    position: relative;
    padding-left: 40px;
  }

  .footer-information .footer-guide a:hover {
    text-decoration: underline;
  }

  .footer-menu-area {
    background-color: #fff;
    /*height: 40px;*/
  }

  .footer-menu-area .footer-menu-area-inner {
    width: 760px;
    margin: 0 auto;
    text-align: center;
  }

  .footer-menu-area ul {
    margin: 0;
  }

  .footer-menu-area .menu-item {
    display: inline-block;
  }


  .footer-menu-area .menu-item a,
  .footer-menu-area p {
    color: #9D9D9D;
    font-size: 12px;
    line-height: 40px;
    border-left: 1px solid #fff;
    padding: 0 10px;
  }

  .footer-menu-area .menu-item:last-child a {
    border-right: 1px solid #fff;
  }

  .footer-menu-area .menu-item a:hover {
    text-decoration: underline;
  }

  .footer-menu-area .copyright {
    display: inline-block;
    font-size: 13px;
    text-align: center;
    color: #9D9D9D;
    border: none;
  }

  .content-footer-menu p {
    margin-bottom: 40px;
  }

  .content-footer-menu p.footer-menu-introduction {
    margin-bottom: 60px;
  }

  .content-footer-menu table th {
    width: 200px;
  }

  .content-footer-menu table th,
  .content-footer-menu table td {
    text-align: left;
    vertical-align: top;
    padding: 10px 0;
  }

  .content-footer-menu table tr {
    border-bottom: 1px solid #4d4d4d;
  }


  /* ãƒ—ãƒ©ã‚¤ãƒã‚·ãƒ¼ãƒžãƒ¼ã‚¯ã€€*/
  .privacymark {
    background: #fff;
    padding: 30px 10%;
    overflow: hidden;
  }

  .privacymark p {
    width: 65%;
    margin-left: 30px;
    color: #3287D3;
    font-size: 12px;
    float: left;
    line-height: 2;
  }

  .privacymark img {
    width: 7%;
    float: left;
  }

}

@media screen and (min-width: 769px) and (max-width: 979px) {}

@media screen and (max-width: 768px) {

  .site-footer {
    background-color: #fff;
    width: 100%;
    margin: 0 auto;
  }

  .footer-information {
    margin-bottom: 30px;
  }

  .footer-information .footer-information-inner {
    float: left;
    width: 430px;
    margin: 0 25px;
  }

  .footer-information h4 {
    color: #4d4d4d;
    background-color: #ccc;
    border-radius: 3px;
    font-size: 15px;
    text-align: center;
    line-height: 2.0;
  }

  .footer-information .col {
    position: relative;
    padding: 0 10px;
    margin-bottom: 0;
  }

  .footer-information .col-box {
    margin-bottom: 10px;
  }

  .footer-information .col.col-one .col-box {
    padding: 0 5px;
  }

  .footer-information .col.col-two .col-box {
    padding: 0 5px;
  }

  .footer-information .footer-guide a:hover {
    text-decoration: underline;
  }

  .footer-menu-area {
    background-color: #f2f2f2;
    padding: 20px 0 50px;
  }

  .footer-menu-area ul {
    text-align: center;
    margin: 0;
    padding: 0 4em 0 2em;
  }

  .footer-menu-area .menu-item {
    float: left;
  }

  .footer-menu-area .menu-item a {
    color: #4d4d4d;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    border-left: 1px solid #4d4d4d;
    padding: 0 10px;
  }

  .footer-menu-area .menu-item:first-child a {
    border-left: none;
  }

  .copylight-sp {
    background-color: #fff;
    line-height: 40px;
    text-align: center;
  }

  .copylight-sp p {
    color: #9D9D9D;
    font-size: 10px;
    margin: 0;
    line-height: 4;
  }

  .privacymark {
    background: #fff;
    text-align: center;
    margin: 15px;
  }

  .privacymark p {
    color: #3287D3;
    text-align: left;
  }

  .privacymark img {
    width: 22%;
    padding: 24px 0;
  }

}
