/* ▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼
            footer
▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼ */

footer {
    position: relative;
    padding-top: 56px;
    background-color: #f8f8f8;
  }
  footer::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: 37.5%;
    height: 100%;
    background-color: #eef1f2;
    z-index: 2;
  }
  
  .footerInner {
    position: relative;
    max-width: 996px;
    margin: 0 auto;
    display: flex;
    z-index: 2;
    padding-bottom: 56px;
  }
  
  /* ===== 左 ===== */
  
  .footerLeft {
    width: 25%;
    margin-right: 7.847vw;
  }
  
  .footerLogo {
    width: 135px;
    margin-bottom: 40px;
  }
  
  .LeftList {
    margin-bottom: 30px;
  }
  
  .LeftList li:last-child {
    border-bottom: solid 1px #cccccc;
  }
  
  .LeftListItem {
    border-top: solid 1px #cccccc;
  }
  
  .LeftListItem > a > span {
      position: relative;
      width: 100%;
      display: inline-block;
      padding: 15px 40px 15px 24px;
  }
  
  .LeftListItem > a > span::before {
      content: "";
      display: inline-block;
      position: absolute;
      top: 20px;
      left: 0px;
      background: url(../img/footer/icon-blog.svg) center no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
  }
  
  .LeftListItem > a > span::after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 20px;
      right: 6px;
      background: url(../img/icon-Tab.svg) center no-repeat;
      background-size: contain;
      width: 20px;
      height: 20px;
  }
  
  .LeftListItem.speedia span::before{
      background: url(../img/footer/icon-homepage.svg) center no-repeat;
  }
  
  .LeftListItem.X span::before{
      background: url(../img/footer/icon-X-black.svg) center no-repeat;
  }
  
  /* ===== 右 ===== */
  
  .footerRight {
    width: 65%;
    display: grid;
  }
  
  .RightList{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1.5vw;
    margin-bottom: 40px;
  }
  
  .RightList:last-child {
    margin-bottom: 0;
  }
  
  .RightList > li {
    width: 208px;
    font-size: 1.2rem;
    font-weight: 500;
  }
  @media screen and (min-width: 1550px) {
    .footerLeft{
        margin-right: 113px;
    }
  }
  @media screen and (max-width: 1100px) {
      .RightList > li{
      width: 20vw;
  }
  }
  @media all and (max-width: 800px) { 
      .footerLeft {
          margin-right: 7vw;
      }
    }
    @media all and (min-width: 768px) {
      .footerListName::before, .footerListName::after{
          display: none;
      }
    }
    .footerListName .doorText {
      font-weight: 400;
      display: inline-block;
      font-size: 1.2rem;
  }
  
  .footerListName {
    font-size: 1.6rem;
    margin-bottom: 10px;
    color: #52b133;
  }
  .footerList {
    margin-left: 11px;
  }
  .footerList > li {
    margin-bottom: 10px;
  }
  
  .footerList > li:last-child {
    margin-bottom: 0;
  }
  
  .footerList > li a {
    position: relative;
    padding-left: 17px;
  
    transition: transform 0.2s;
  }
  
  .footerList > li a::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 10px;
    left: 0;
    width: 10px;
    height: 1px;
    background-color: #333;
    transition: all 0.2s;
  }
  
  .footerList > li a:hover {
    transform: translateX(8px);
  }
  
  .footerList > li a:hover::before {
    transform: translateX(-8px);
    width: 15px;
  }
  
  .coList > li {
    font-weight: 600;
    margin-bottom: 8px;
    transition: opacity 0.2s;
  }
  .coList > li:last-child {
    margin-bottom: 0;
  }
  
  .coList > li:hover {
    opacity: 0.7;
  }
  
  .coListItem a {
    position: relative;
  }
  
  .coListItem--btab a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -25px;
    background: url(../img/icon-Tab.svg) center no-repeat;
    background-size: contain;
    width: 16px;
    height: 16px;
  }
  
  /* ==== コピーライト ==== */
  
  .Copy {
    position: relative;
    width: 100%;
    padding: 0px 0 40px 0;
    z-index: 3;
  }
  
  .Copy small {
    display: block;
    max-width: 996px;
    margin: 0 auto;
    font-size: 1rem;
  }
  .u-mgtFooter {
    margin-top: 120px;
  }

  .sp_only {
    display: none !important;
  }

  .footerList > li.coListItem--btab > a {
      display: inline-block;
  }

  .footerList > li.coListItem--btab > a::after {
      content: "";
      display: inline;
      margin-left: 5px;
      background: url(../img/icon-Tab.svg) no-repeat center / contain;
      padding-right: 12px;
  }

  .footerHead {
      font-weight: 700;
      margin-bottom: 5px;
  }

  .footerDesc {
      font-size: 1.2rem;
      font-weight: 500;
      line-height: 1.667;
      padding-bottom: 15px;
  }
  
  /* ----- フッターブレイクポイント ----- */
  @media screen and (max-width: 1300px) {
    .footerInner,
    .Copy small {
      width: 90%;
    }
    footer::before {
      width: 33%;
    }
  }
  @media screen and (max-width: 1120px) {
    .footerInner,
    .Copy small {
      width: 90%;
    }
    footer::before {
      width: 30%;
    }
  }
  @media screen and (max-width: 970px) {
    .footerInner,
    .Copy small {
      width: 95%;
    }
    footer::before {
      width: 29%;
    }
  }