@charset "UTF-8";

.zeal-footer {
  --color-white: #ffffff;
  --color-bg-footer: #2b2b2b;
  --color-bg-rightgray: #f0f0f0;
  --color-text-footer-gray: #9c9c9c;
  --animation-duration: 0.4s;
  --font-base: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
}

.zeal-footer {
  font-family: var(--font-base);
  font-weight: 500;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.zeal-footer *,
.zeal-footer *::before,
.zeal-footer *::after {
  box-sizing: border-box;
  border: 0 solid;
}

.zeal-footer ul,
.zeal-footer p {
  margin: 0;
  padding: 0;
}

.zeal-footer ul {
  list-style: none;
}

.zeal-footer a {
  color: inherit;
  text-decoration: inherit;
}

.zeal-footer img {
  display: block;
  max-width: 100%;
  height: auto;
}

.zeal-footer button {
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.zeal-footer .footer { overflow:hidden }
.zeal-footer .footer { background:#2b2b2b;background:var(--color-bg-footer) }
.zeal-footer .footer__inner { margin:0 auto;max-width:1280px;padding:76px 48px 42px;position:relative }
@media (max-width:1023px) {
  .zeal-footer .footer__inner { padding:44px 30px 42px }
}
.zeal-footer .footer__inner:before { background:url(../img/footer/text-create-fun.png) no-repeat 50%/contain;bottom:-10px;content:"";display:block;height:438px;position:absolute;right:-40px;width:806px;z-index:0 }
@media (max-width:1023px) {
  .zeal-footer .footer__inner:before { bottom:111px;height:160px;right:-10px;width:285px }
}
.zeal-footer .footer__logo { -webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:53px;position:relative;width:450px }
@media (max-width:1023px) {
  .zeal-footer .footer__logo { margin-bottom:42px;width:233px }
}
.zeal-footer .footer__list { -webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:20px 43px;margin-top:31px;max-width:800px;padding-left:2px;position:relative;z-index:1 }
@media (max-width:1023px) {
  .zeal-footer .footer__list { -webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:15px;padding-left:0 }
}
@media (max-width:767px) {
  .zeal-footer .footer__list { padding-left:7px }
}
@media (min-width:1024px) {
  .zeal-footer .footer__item:hover { text-decoration:underline }
}
.zeal-footer .footer__item a { color:#fff;color:var(--color-white);display:block;font-size:14px;font-weight:500;height:100%;letter-spacing:.06em;line-height:1.8 }
.zeal-footer .footer__snsList { display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:11px }
@media (max-width:767px) {
  .zeal-footer .footer__snsList { gap:16px }
}
.zeal-footer .footer__container { margin-top:226px;position:relative;z-index:0 }
@media (max-width:1023px) {
  .zeal-footer .footer__container { margin-top:47px }
}
.zeal-footer .footer__middle { -webkit-box-align:end;-ms-flex-align:end;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-align-items:flex-end;align-items:flex-end;border-bottom:1px solid #9c9c9c;border-bottom:1px solid var(--color-text-footer-gray);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between;margin-bottom:22px;padding-bottom:22px;position:relative;-webkit-transition:padding-bottom .4s;transition:padding-bottom .4s;-webkit-transition:padding-bottom var(--animation-duration);transition:padding-bottom var(--animation-duration);z-index:10 }
@media (max-width:1023px) {
  .zeal-footer .footer__middle { -webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:11px;padding-bottom:19px }
}
.zeal-footer .footer__sns { -webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-align-items:center;align-items:center;background:#f0f0f0;background:var(--color-bg-rightgray);border-radius:50%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:34px;-webkit-justify-content:center;justify-content:center;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s;-webkit-transition:-webkit-transform var(--animation-duration);transition:-webkit-transform var(--animation-duration);transition:transform var(--animation-duration);transition:transform var(--animation-duration),-webkit-transform var(--animation-duration);width:34px }
@media (max-width:1023px) {
  .zeal-footer .footer__sns { height:38px;width:38px }
}
@media (min-width:1024px) {
  .zeal-footer .footer__sns:hover { -webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1) }
}
.zeal-footer .footer__sns.is-x img { width:23.5px }
.zeal-footer .footer__sns.is-fb img { width:25.2px }
.zeal-footer .footer__sns.is-ig img { width:27.2px }
.zeal-footer .footer__sns.is-yt img { width:23.5px }
.zeal-footer .footer__totop { cursor:pointer;height:58px;position:relative;width:58px }
@media (max-width:1023px) {
  .zeal-footer .footer__totop { margin:0 0 0 auto }
}
@media (min-width:1024px) {
  .zeal-footer .footer__totop:hover:before { opacity:0 }
  .zeal-footer .footer__totop:hover:after { opacity:1 }
}
.zeal-footer .footer__totop button { display:block;height:100%;width:100% }
.zeal-footer .footer__totop:after, .zeal-footer .footer__totop:before { content:"";display:block;height:100%;left:-3px;position:absolute;top:-3px;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-transition:opacity var(--animation-duration);transition:opacity var(--animation-duration);width:100%;z-index:-1 }
@media (max-width:767px) {
  .zeal-footer .footer__totop:after, .zeal-footer .footer__totop:before { left:0;top:0 }
}
.zeal-footer .footer__totop:before { background:url(../img/footer/icon-totop.svg) no-repeat 50%/contain }
.zeal-footer .footer__totop:after { background:url(../img/footer/icon-totop-hover.svg) no-repeat 50%/contain;opacity:0 }
.zeal-footer .footer__snsTitle { color:#fff;color:var(--color-white);font-size:16px;font-weight:500;letter-spacing:.1em;line-height:1.8;margin-bottom:14px }
@media (max-width:1023px) {
  .zeal-footer .footer__snsTitle { font-size:12px;letter-spacing:.1em;line-height:1.8 }
}
.zeal-footer .footer__bottom { -webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;justify-content:space-between;padding-left:5px }
@media (max-width:1023px) {
  .zeal-footer .footer__bottom { -webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:15px }
}
@media (max-width:767px) {
  .zeal-footer .footer__bottom { gap:9px;padding-left:0 }
}
.zeal-footer .footer__bottomItem { color:#9c9c9c;color:var(--color-text-footer-gray);font-size:14px;font-weight:500;letter-spacing:.06em;line-height:1.42857;text-decoration:underline }
@media (max-width:767px) {
  .zeal-footer .footer__bottomItem { font-size:10px;letter-spacing:.06em;line-height:1.4 }
}
@media (min-width:1024px) {
  .zeal-footer .footer__bottomItem:hover { text-decoration:none }
}
.zeal-footer .footer__bottomInner { -webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:20px }
@media (max-width:1279px) {
  .zeal-footer .footer__bottomInner { -webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:5px 20px }
}
.zeal-footer .footer__copyright { color:#9c9c9c;color:var(--color-text-footer-gray);font-size:14px;font-weight:500;letter-spacing:0;line-height:1.42857 }
@media (max-width:767px) {
  .zeal-footer .footer__copyright { font-size:11px;letter-spacing:0;line-height:1.81818 }
}

.zeal-footer .ml-3px { margin-left:3px }
.zeal-footer .mt-52px { margin-top:52px }
.zeal-footer .max-w-52px { max-width:52px }
@media (min-width:1024px) {
  .zeal-footer .lg-over\:hidden { display:none }
}
@media (max-width:1023px) {
  .zeal-footer .md-under\:mt-32px { margin-top:32px }
  .zeal-footer .md-under\:hidden { display:none }
}
