/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/scss/footer.scss ***!
  \***************************************************************************************************************/
@charset "UTF-8";
/**
* @mixin heightControl
* @param {Number} $height - 高さの値（デフォルトは100）
* 
* ビューポートの高さに基づいて要素の高さを設定します。
* モバイルブラウザの動的なビューポート高さに対応するためにdvh単位を使用します。
*/
.footer {
  padding: 120px 40px 30px;
  background: linear-gradient(0.25turn, var(--fd-dark-blue), var(--fd-light-blue));
}
.footer__inner {
  max-width: 295px;
  width: 100%;
  margin: 0 auto;
}
.footer__title {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: var(--fd-light-gray);
  text-box: trim-both cap alphabetic;
}
.footer__content {
  margin-top: 60px;
}
.footer__logo svg {
  width: 100%;
  height: auto;
  display: block;
}
.footer__nav {
  margin-top: 60px;
  padding-left: 30px;
  border-left: solid 2px var(--fd-light-gray);
}
.footer__nav-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin: 0;
  padding: 0;
}
.footer__nav-list .menu-item {
  line-height: 1;
}
.footer__nav-list a {
  color: var(--fd-light-gray);
  font-weight: bold;
}
@media (hover: hover) {
  .footer__nav-list a {
    transition: color 0.3s ease;
  }
  .footer__nav-list a:hover {
    color: var(--fd-yellow);
  }
}
.footer__address {
  margin-top: 60px;
  font-weight: bold;
  color: var(--fd-light-gray);
}
.footer__address span {
  display: inline-block;
}
.footer .link-group {
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.footer__copyright {
  margin-top: 120px;
  text-align: center;
  color: var(--fd-light-gray);
  font-size: 14px;
  font-weight: bold;
}

@media (min-width: 768px) {
  .footer {
    padding: 120px 60px 30px;
  }
  .footer__inner {
    max-width: none;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
  }
  .footer__title {
    text-align: left;
  }
  .footer__content {
    margin: 0;
  }
  .footer__nav-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 960px) {
  .footer__copyright {
    margin-top: 160px;
  }
}
@media (min-width: 1024px) {
  .footer {
    padding-top: 160px;
  }
  .footer__inner {
    max-width: 1280px;
    width: 100%;
    margin: 0 auto;
  }
  .footer__title {
    font-size: 60px;
  }
  .footer__content {
    display: grid;
    grid-template-areas: "logo logo" "nav address" "nav more";
    grid-template-columns: 1fr 1fr;
    gap: 30px 30px;
  }
  .footer__logo {
    grid-area: logo;
    padding-bottom: 30px;
  }
  .footer__logo svg {
    height: 40px;
    width: auto;
  }
  .footer__nav {
    grid-area: nav;
    margin: 0;
    padding: 0;
    border: none;
  }
  .footer__nav-list {
    grid-template-columns: 1fr;
  }
  .footer__address {
    grid-area: address;
    margin: 0;
  }
  .footer .link-group {
    grid-area: more;
    margin: 0;
  }
  .footer .link-group .view-more {
    text-align: left;
  }
  .footer__copyright {
    font-size: 16px;
  }
}
