@charset "UTF-8";

/* ===============================================
  * Footer - フッターのスタイル *
=============================================== */

footer.m-global-footer.is-fullWide {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 8rem;
}

@media (min-width: 768px) {
  footer.m-global-footer.is-fullWide {
    margin-top: 6rem;
  }
}

.m-global-footer {
  --spacer-regular: 5rem;
  --spacer-medium: 4rem;
  --border-style: solid 1px var(--color-gray-300);
  --color-default-text: var(--color-white);
  --sns-icon-width: 3rem;
  --brand-logo-width: 15rem;
  background-color: var(--color-primary);
}

.m-global-footer a {
  color: var(--color-default-text);
  text-decoration: none;
}

.m-global-footer__inner {
  display: grid;
  row-gap: var(--spacer-regular);
  padding-top: var(--spacer-medium);
  padding-bottom: var(--spacer-medium);
}

.m-global-footer__inner--bottom {
  display: grid;
  row-gap: var(--spacer-medium);
}

.m-global-footer .m-static-page__link-list > li {
  border-bottom: var(--border-style);
}

.m-global-footer .m-static-page__link-text {
  --padding-vertical: 1.7rem;
  --padding-horizontal: 0.8rem;
  --arrow-width: 1.2rem;
  display: grid;
  align-items: center;
  column-gap: var(--arrow-width);
  grid-template-columns: 1fr var(--arrow-width);
  padding: var(--padding-vertical) var(--padding-horizontal)
    var(--padding-vertical) 0;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.m-global-footer .m-static-page__link-text::after {
  content: "";
  width: var(--arrow-width);
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.021%22%20height%3D%2212.021%22%20viewBox%3D%220%200%2012.021%2012.021%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_66359%22%20data-name%3D%22%E3%83%91%E3%82%B9%2066359%22%20d%3D%22M4753.778%2C638.215h-8.5v-8.5h1v7.5h7.5Z%22%20transform%3D%22translate(2916.153%203812.715)%20rotate(-135)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.m-global-footer .m-brand-sns__link-list {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--sns-icon-width) / 2) var(--sns-icon-width);
  justify-content: center;
}

.m-global-footer .m-brand-sns__link-list-item {
  width: var(--sns-icon-width);
  aspect-ratio: 1;
}

@media screen and (min-width: 768px) {
  .m-global-footer {
    display: grid;
    place-items: center;
  }

  .m-global-footer__inner {
    padding-top: var(--spacer-regular);
    padding-bottom: var(--spacer-regular);
  }

  .m-global-footer__inner--bottom {
    align-items: flex-start;
    column-gap: 5%;
    grid-template-columns: 1fr auto;
    padding-top: 3.5rem;
    border-top: var(--border-style);
  }

  .m-global-footer .m-static-page__link-list {
    display: flex;
    flex-wrap: wrap;
  }

  .m-global-footer .m-static-page__link-list > li {
    display: flex;
    align-items: center;
    border-bottom: none;
  }

  .m-global-footer .m-static-page__link-list > li:not(:last-of-type)::after {
    content: "|";
    margin: 0 3rem;
    color: var(--color-default-text);
  }

  .m-global-footer .m-static-page__link-text {
    display: inline;
    padding: 0;
  }

  .m-global-footer .m-static-page__link-text::after {
    content: none;
  }

  .m-global-footer .law-page__link-list {
    display: flex;
    gap: 2rem;
  }
}

.m-global-footer {
  --border-style: solid 1px var(--color-project-sub);
}

.m-global-footer__inner {
  row-gap: 0;
  padding: 0;
}

@media (max-width: 767px) {
  .m-global-footer__inner > *:not(:last-child) {
    border-bottom: var(--border-style);
  }
}

@media (min-width: 768px) {
  .m-global-footer__inner {
    grid-template-areas: "logo social links copyright";
    grid-template-columns: calc(260 / 1400 * 100%) calc(300 / 1400 * 100%) 1fr calc(
        248 / 1400 * 100%
      );
    width: 100%;
  }

  .m-global-footer__inner > *:not(:last-child) {
    display: grid;
    place-content: center;
    border-right: var(--border-style);
  }

  .m-global-footer__content-wrapper--logo {
    grid-area: logo;
  }

  .m-global-footer__content-wrapper--social {
    grid-area: social;
  }

  .m-global-footer__content-wrapper--links {
    grid-area: links;
  }

  .m-global-footer__content-wrapper--copyright {
    grid-area: copyright;
  }
}

.m-global-footer__content-wrapper--logo a {
  display: grid;
  place-content: center;
  padding: 2.8rem 10.7rem;
}

@media (min-width: 768px) {
  .m-global-footer__content-wrapper--logo a {
    padding-block: 7.8rem;
    /* padding-inline: calc((49 / 250 * 100%) / 2); */
    padding-inline: calc((49 / 1400 * 100vw) / 2);
  }
}

/* ソーシャル */

.m-global-footer__content-wrapper--social {
  display: grid;
  grid-template-columns: 1fr auto;
}

@media (min-width: 768px) {
  .m-global-footer__content-wrapper--social {
    grid-template-columns: initial;
    justify-content: center;
    row-gap: 2rem;
    padding-block: 6rem;
    /* padding-inline: calc((60 / 300 * 100%) / 2); */
    padding-inline: calc((60 / 1400 * 100vw) / 2);
  }
}

.m-global-footer__content-wrapper--social > * {
  padding: 4rem 2rem;
}

@media (min-width: 768px) {
  .m-global-footer__content-wrapper--social > * {
    padding: 0;
    border: none;
  }
}

.m-global-footer__content-wrapper--social .m-brand-sns__link-list {
  --sns-icon-width: 2rem;
  border-right: var(--border-style);
}

@media (min-width: 768px) {
  .m-global-footer__content-wrapper--social .m-brand-sns__link-list {
    --sns-icon-width: calc(20 / 1400 * 100vw);
    justify-content: flex-start;
    border-right: none;
  }
}

.m-global-footer__content-wrapper--social .m-brand-sns__link-list-item {
  display: grid;
  place-content: center;
}

.m-global-footer__button--mail-magazine > span {
  position: relative;
  display: grid;
  grid-template-columns: 1.8rem auto;
  align-items: center;
  column-gap: 0.6rem;
  padding-bottom: 0.5rem;
  color: var(--color-white);
  font-size: 1.3rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.03em;
}

@media (min-width: 768px) {
  .m-global-footer__button--mail-magazine > span {
    width: fit-content;
  }
}

.m-global-footer__button--mail-magazine > span::before {
  content: "";
  width: 100%;
  aspect-ratio: 18.54 / 12.52;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218.54%22%20height%3D%2212.515%22%20viewBox%3D%220%200%2018.54%2012.515%22%3E%20%3Cpath%20id%3D%22Icon_zocial-email%22%20data-name%3D%22Icon%20zocial-email%22%20d%3D%22M.072%2C15.475V5.176q0-.018.054-.34l6.061%2C5.185L.144%2C15.832a1.515%2C1.515%2C0%2C0%2C1-.072-.358Zm.8-11.353a.77.77%2C0%2C0%2C1%2C.3-.054H17.5a1.012%2C1.012%2C0%2C0%2C1%2C.322.054l-6.079%2C5.2-.8.644L9.351%2C11.273%2C7.76%2C9.968l-.8-.644ZM.894%2C16.53l6.1-5.846L9.351%2C12.6l2.36-1.913%2C6.1%2C5.846a.858.858%2C0%2C0%2C1-.3.054H1.18a.81.81%2C0%2C0%2C1-.286-.054Zm11.621-6.508%2C6.043-5.185a1.067%2C1.067%2C0%2C0%2C1%2C.054.34v10.3a1.37%2C1.37%2C0%2C0%2C1-.054.358Z%22%20transform%3D%22translate(-0.072%20-4.068)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.m-global-footer__button--mail-magazine > span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-white);
}

.m-global-footer__content-wrapper--links {
  padding: 4rem 1rem;
}

@media (min-width: 768px) {
  .m-global-footer__inner > .m-global-footer__content-wrapper--links {
    place-content: initial;
    padding-block: 5rem;
    /* padding-inline: 6rem; */
    padding-inline: calc(60 / 1400 * 100vw);
  }
}

.m-global-footer__content-wrapper--links .m-static-page__link-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, 1fr);
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .m-global-footer__content-wrapper--links .m-static-page__link-list {
    grid-template-columns: repeat(2, auto);
    justify-content: space-evenly;
    column-gap: calc((60 / 470 * 100%) / 2);
    /* column-gap: calc((60 / 1400 * 100vw) / 2); */
    row-gap: 1.4rem;
    width: 100%;
  }
}

.m-global-footer__content-wrapper--links .m-static-page__link-list-item {
  display: block !important;
  border: none !important;
}

.m-global-footer__content-wrapper--links .m-static-page__link-list-item::after {
  content: none !important;
}

.m-global-footer__content-wrapper--links .m-static-page__link-text {
  display: grid;
  grid-template-columns: 0.428rem 1fr;
  align-items: center;
  column-gap: 0.9rem;
  padding: 0;
  color: var(--color-white);
  font-size: 1.2rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.05em;
}

.m-global-footer__content-wrapper--links .m-static-page__link-text::before {
  content: "";
  width: 100%;
  aspect-ratio: 4.28 / 7.14;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%224.275%22%20height%3D%227.137%22%20viewBox%3D%220%200%204.275%207.137%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_50461%22%20data-name%3D%22%E3%83%91%E3%82%B9%2050461%22%20d%3D%22M3555.356%2C453.3l-.707-.707%2C2.861-2.861-2.861-2.861.707-.707%2C3.568%2C3.568Z%22%20transform%3D%22translate(-3554.649%20-446.167)%22%20fill%3D%22%23c1c6c2%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.m-global-footer__content-wrapper--links .m-static-page__link-text::after {
  content: none;
}

/* コピーライト */

.m-global-footer__content-wrapper--copyright {
  padding-block: 4rem;
  color: var(--color-white);
  font-size: 1rem;
  font-weight: var(--fw-regular);
  letter-spacing: 0.03em;
  line-height: 1;
  text-align: center;
}

@media (min-width: 768px) {
  .m-global-footer__content-wrapper--copyright {
    display: grid;
    place-content: center;
  }
}
