@charset "UTF-8";
:root {
  --main: #2BADD7;
  --sky-blue: #B1D3EC;
  --sky-blue-d: #6395BB;
  --accent: #B13FB7;
  --base: #F7F7F7;
  --bg-gray: #D9D9D9;
  --bg-gray-l:#F7F2EF;
  --bg-blue:#7086AA;
  --bg-blue-l:#F3FAFF;
  --border-gr: linear-gradient(90deg, #FBB1FF 0%, #A6D3F4 100%);
  --border: #C4C4C4;
  --text: #333;
  --text-thin: #8A8A8A;
  --text-blue: #89B6D8;
}

.l-footer {
  position: relative;
  padding: min(5.556vw, 88px) 0;
  background-color: var(--base);
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: min(16vw, 66px) 0;
  }
}
.l-footer__inner {
  max-width: min(100vw, 1584px);
  margin-inline: auto;
  padding: 0 min(16vw, 66px);
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding: 0 5.3333333333vw;
  }
}
.l-footer__wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .l-footer__wrap {
    flex-direction: column;
    align-items: center;
  }
}
.l-footer__logo {
  width: min(6.528vw, 103.4px);
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    width: min(25.067vw, 103.4px);
  }
}
.l-footer__logo img, .l-footer__logo svg {
  transition: opacity 0.3s ease;
}
@media (hover: hover) {
  .l-footer__logo a:hover img, .l-footer__logo a:hover svg {
    opacity: 0.6;
  }
}
.l-footer__nav {
  display: flex;
  align-items: center;
  gap: min(2.222vw, 35.2px);
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    flex-direction: column;
    align-items: center;
    gap: min(6.4vw, 26.4px);
    margin-top: min(10.667vw, 44px);
  }
}
.l-footer__nav__item {
  font-size: clamp(13.6px, 1.111vw, 17.6px);
}
@media screen and (max-width: 767px) {
  .l-footer__nav__item {
    font-size: clamp(11.9px, 3.733vw, 15.4px);
  }
}
@media (hover: hover) {
  .l-footer__nav__item:hover {
    color: var(--main);
  }
}
.l-footer__nav__item a {
  opacity: 1 !important;
}
@media (hover: hover) {
  .l-footer__nav .c-button--small:hover {
    opacity: 0.6;
  }
}
.l-footer__sns {
  display: flex;
  align-items: center;
  gap: min(2.222vw, 35.2px);
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    margin-top: min(2.133vw, 8.8px);
    gap: min(6.4vw, 26.4px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__sns__item {
    width: min(6.4vw, 26.4px);
  }
}
.l-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: min(2.778vw, 44px);
  padding-top: min(2.222vw, 35.2px);
  border-top: 1px solid var(--border);
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    flex-direction: column-reverse;
    align-items: center;
    margin-top: min(10.667vw, 44px);
    padding-top: min(6.4vw, 26.4px);
  }
}
.l-footer__copy {
  color: var(--text-thin);
  font-family: "Roboto", "Noto Sans JP", YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  font-size: clamp(10.2px, 0.833vw, 13.2px);
}
@media screen and (max-width: 767px) {
  .l-footer__copy {
    margin-top: min(6.4vw, 26.4px);
    font-size: clamp(8.5px, 2.667vw, 11px);
  }
}
.l-footer__policy {
  display: flex;
  gap: min(2.778vw, 44px);
  color: var(--text-thin);
  font-weight: 500;
  font-size: clamp(10.2px, 0.833vw, 13.2px);
}
@media screen and (max-width: 767px) {
  .l-footer__policy {
    gap: min(8.533vw, 35.2px);
    font-size: clamp(10.2px, 3.2vw, 13.2px);
  }
}
.l-footer__policy__item {
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .l-footer__policy__item:hover {
    color: var(--main);
  }
}