@charset "UTF-8";

.lorder-wrap {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  overflow: hidden;
  pointer-events: auto;
  opacity: 1;
}

.lorder-wrap.-is-hide {
  pointer-events: none;
  opacity: 0;
  transition: opacity 2s;
}

.lorder-inner {
  background-image: url('../img/footer/lorder-bg-sp.png');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  width: 100vw;
  height: 100vh;
  filter: blur(0);
}

.loader-img-box {
  position: absolute;
  inset: 0;
  margin: auto;
  width: fit-content;
  height: fit-content;
  opacity: 0;
  transition: opacity 2s;
  transition-delay: 0.1s;
  filter: blur(0);
}

.loader-img-box > img {
  width: 140px;
}

.lorder-wrap.-is-logo-visible .loader-img-box {
  opacity: 1;
}

/* 消えるときだけぼかす */
@keyframes logoBlurOut {
  0% {
    filter: blur(0);
  }
  50% {
    filter: blur(5px);
  }
  100% {
    filter: blur(10px);
  }
}

@keyframes bgBlurOut {
  from {
    filter: blur(0);
  }
  to {
    filter: blur(30px);
  }
}

.lorder-wrap.-is-logo-out .loader-img-box {
  animation: logoBlurOut 2s ease forwards;
}

.lorder-wrap.-is-bg-out {
  animation: bgBlurOut 2s ease forwards;
}

@media print,
screen and (min-width: 768px) {
  .lorder-wrap {
    background-image: url('../img/footer/lorder-bg-pc.png');
  }

  .loader-img-box > img {
    width: 200px;
  }
}

/*
  フッタースタイル指定
*/

/* フッター枠 */
.footer-wrap {
  background-color: var(--color-bg-black);
}

.footer-contents {
  padding: 60px 20px 0;
}

@media print,
screen and (min-width: 768px) {

  /* MD */
  .footer-contents {
    max-width: 1140px;
    padding: 60px 20px 40px;
    margin-inline: auto;
  }
}

/* フッターボタン */
.footer-btn-item > a {
  display: block;
  text-decoration: none;
  background-color: var(--color-main-blue);
  font-size: 15px;
  font-weight: 700;
  color: var(--color-white);
}

.footer-btn-item.-is-mail > a {
  background-image: url('data:image/svg+xml;utf8,<svg width="29.62" height="21" viewBox="0 0 29.62 21" xmlns="http://www.w3.org/2000/svg"><path d="M29.28,9.75L18.42.25c-.42-.36-1.05-.32-1.41.09-.36.42-.32,1.05.09,1.41l8.85,7.74H1c-.55,0-1,.45-1,1s.45,1,1,1h24.96l-8.86,7.75c-.42.36-.46,1-.09,1.41.2.23.47.34.75.34.23,0,.47-.08.66-.25l10.85-9.5c.22-.19.34-.46.34-.75s-.12-.56-.34-.75Z" fill="%23FFFFFF"/></svg>');
  background-size: 24px auto;
  background-repeat: no-repeat;
  background-position: right 23px center;
  display: grid;
  place-content: center;
  border-radius: 500px;
  min-height: 72px;
}

.footer-btn-item.-is-mail > a > span {
  display: inline-block;
  background-image: url('data:image/svg+xml;utf8,<svg width="44.61" height="29.31" viewBox="0 0 44.61 29.31" xmlns="http://www.w3.org/2000/svg"><path d="M44.56,28.29c.03-.12.06-.24.06-.37V1.4c0-.14-.03-.26-.06-.39,0-.01,0-.03,0-.04,0-.01-.01-.02-.02-.03-.04-.12-.1-.24-.18-.35-.01-.02-.02-.03-.04-.04-.07-.09-.16-.18-.25-.25-.01-.01-.03-.02-.04-.03-.1-.07-.22-.13-.34-.17-.03,0-.05-.02-.08-.02-.13-.04-.26-.06-.39-.06H1.4c-.14,0-.27.03-.39.06-.03,0-.05.01-.08.02-.12.04-.23.1-.34.17-.02.01-.03.02-.04.03-.09.07-.18.16-.25.25-.01.01-.02.03-.04.04-.08.11-.13.22-.18.35,0,.01-.01.02-.02.03,0,.01,0,.03,0,.04-.04.12-.06.25-.06.39v26.52c0,.13.02.25.06.37,0,.02,0,.03.01.04.05.17.14.32.24.46,0,0,0,0,0,0,0,0,0,0,.01.01.06.08.13.14.21.2,0,0,0,0,0,0,.24.18.53.29.85.29h41.82c.43,0,.81-.2,1.07-.51,0,0,0,0,0,0,0,0,0,0,0,0,.11-.14.2-.29.25-.47,0-.01,0-.02.01-.04ZM30.21,15.37c-.6-.49-1.47-.41-1.97.19-.49.59-.41,1.47.19,1.97l10.91,9H5.27l10.91-9c.59-.49.68-1.37.19-1.97-.49-.59-1.37-.68-1.97-.19L2.79,24.95V4.12l18.7,13.48c.24.18.53.26.82.26s.57-.09.82-.26l18.7-13.48v20.83l-11.61-9.58ZM38.9,2.79l-16.59,11.96L5.72,2.79h33.18Z" fill="%23FFFFFF"/></svg>');
  background-size: 22px auto;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 26px;
}

.footer-btn-item.-is-tel {
  margin-top: 30px;
}

.footer-btn-item.-is-tel > a {
  border-radius: 500px;
  min-height: 72px;
  display: grid;
  place-content: center;
}

.footer-btn-tel {
  width: 240px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, auto);
  place-items: center;
}

.footer-btn-tel-title {
  grid-area: 1 / 1 / 2 / 3;
  text-align: center;
}

.footer-btn-tel-title > span {
  display: inline-block;
  background-image: url('data:image/svg+xml;utf8,<svg width="40.47" height="40.48" viewBox="0 0 40.47 40.48" xmlns="http://www.w3.org/2000/svg"><path d="M25.5,40.48c-1.66,0-3.33-.36-4.89-1.08-8.57-3.97-15.49-10.88-19.48-19.44,0,0-.04-.09-.04-.09-1.66-3.56-1.41-7.68.66-11.02l1.8-2.92c.31-.5.71-.93,1.19-1.27,1.99-1.42,4.76-.96,6.18,1.03l2.88,4.04c1.33,1.86,1.27,4.41-.13,6.22l-.63.81c-1.19,1.53-1.23,3.7-.11,5.27,1.52,2.13,3.37,3.98,5.5,5.5,1.57,1.12,3.74,1.08,5.27-.11l.81-.63c1.8-1.4,4.36-1.45,6.21-.13l4.04,2.88c.48.34.89.77,1.2,1.28,1.29,2.08.64,4.82-1.44,6.1l-2.93,1.81c-1.87,1.16-3.99,1.75-6.12,1.75ZM7.32,6.62c-.33,0-.66.1-.95.31-.18.13-.33.28-.44.47l-1.8,2.92c-1.58,2.54-1.77,5.67-.5,8.38,0,0,.04.09.04.09,3.71,7.96,10.15,14.38,18.12,18.08,2.7,1.25,5.83,1.06,8.36-.51l2.93-1.82c.77-.48,1.01-1.49.53-2.26-.12-.19-.27-.35-.45-.48,0,0,0,0,0,0l-4.04-2.88c-.87-.62-2.03-.6-2.88.06l-.81.63c-2.49,1.94-6.03,2.01-8.61.17-2.38-1.7-4.45-3.77-6.15-6.15-1.84-2.57-1.77-6.11.17-8.61l.63-.81c.65-.84.67-2.02.06-2.88l-2.88-4.04c-.32-.45-.83-.69-1.34-.69Z" fill="%23FFFFFF"/><path class="cls-1" d="M39.08,25.09c-.77,0-1.4-.62-1.4-1.4,0-11.52-9.38-20.9-20.9-20.9-.77,0-1.4-.62-1.4-1.4s.62-1.4,1.4-1.4c13.06,0,23.69,10.63,23.69,23.69,0,.77-.62,1.4-1.4,1.4Z" fill="%23FFFFFF"/><path class="cls-1" d="M32.63,23.87c-.77,0-1.4-.62-1.4-1.4,0-7.3-5.94-13.23-13.23-13.23-.77,0-1.4-.62-1.4-1.4s.62-1.4,1.4-1.4c8.84,0,16.03,7.19,16.03,16.03,0,.77-.62,1.4-1.4,1.4Z" fill="%23FFFFFF"/><path class="cls-1" d="M26.82,22.29c-.77,0-1.4-.62-1.4-1.4,0-3.23-2.62-5.85-5.85-5.85-.77,0-1.4-.62-1.4-1.4s.62-1.4,1.4-1.4c4.77,0,8.64,3.88,8.64,8.64,0,.77-.62,1.4-1.4,1.4Z" fill="%23FFFFFF"/></svg>');
  background-size: 20px auto;
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 26px;
}

.footer-btn-tel-num {
  grid-area: 2 / 1 / 3 / 2;
  font-size: 21px;
  font-weight: 500;
  font-family: var(--font-roboto);
}

.footer-btn-tel-text {
  grid-area: 2 / 2 / 3 / 3;
  font-size: 10px;
  font-weight: 500;
  font-family: var(--font-roboto);
  align-items: center;
}

@media print,
screen and (min-width: 768px) {

  /* MD */
  .footer-btn {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 40px;
  }

  .footer-btn-item > a {
    font-size: 22px;
    transition: opacity;
    transition-duration: var(--hover-duration);
    transition-timing-function: var(--hover-timing);
  }

  .footer-btn-item > a:hover {
    opacity: var(--hover-opacity);
  }

  .footer-btn-item.-is-mail > a {
    background-size: 30px auto;
    background-position: right 36px center;
    min-height: 104px;
  }

  .footer-btn-item.-is-mail > a > span {
    background-size: 30px auto;
    padding-left: 36px;
  }

  .footer-btn-item.-is-tel {
    margin-top: 0;
  }

  .footer-btn-item.-is-tel > a {
    min-height: 104px;
    pointer-events: none;
  }

  .footer-btn-tel {
    width: 340px;
  }

  .footer-btn-tel-title > span {
    background-size: 27px auto;
    padding-left: 34px;
  }

  .footer-btn-tel-num {
    font-size: 34px;
  }

  .footer-btn-tel-text {
    font-size: 12px;
  }
}

/* フッターメイン */
.footer-main {
  margin-top: 50px;
}

.footer-logo a {
  display: block;
  width: 190px;
}

.footer-logo a img {
  vertical-align: bottom;
}

.footer-address {
  margin-top: 30px;
  font-size: 12px;
  color: var(--color-white);
  font-family: var(--font-roboto);
  line-height: 1.6;
  font-weight: 400;
}

.footer-menu > ul {
  margin: 0;
  padding: 0;
}

.footer-menu > ul > li {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.footer-menu > ul > li > a {
  display: block;
  text-decoration: none;
  color: var(--color-white);
  font-size: 12px;
}

@media print,
screen and (min-width: 768px) {

  /* MD */
  .footer-main {
    margin-top: 54px;
    display: grid;
    grid-template-columns: 29.09% 26% auto;
    align-items: flex-end;
    column-gap: 16px;
  }

  .footer-logo a {
    width: 100%;
    transition: opacity;
    transition-duration: var(--hover-duration);
    transition-timing-function: var(--hover-timing);
  }

  .footer-logo a:hover {
    opacity: var(--hover-opacity);
  }

  .footer-address {
    margin-top: 0;
  }

  .footer-menu > ul {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 10px;
  }

  .footer-menu > ul > li {
    margin: 0;
  }

  .footer-menu > ul > li > a {
    transition-duration: var(--hover-duration);
    transition-timing-function: var(--hover-timing);
  }

  .footer-menu > ul > li > a:hover {
    opacity: var(--hover-opacity);
  }
}

/* フッターサブ */
.footer-sub {
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid var(--color-white);
}

.footer-note {
  font-size: 2.4vw;
  color: var(--color-white);
  font-weight: 400;
  line-height: 2.2;
}

.footer-copyright {
  font-size: 2.2vw;
  color: var(--color-white);
  font-family: var(--font-noto-sans);
  text-align: center;
  padding: 20px 0 10px;
}

@media print,
screen and (min-width: 768px) {

  /* MD */
  .footer-sub {
    margin-top: 20px;
    padding-top: 20px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
  }

  .footer-note {
    font-size: 12px;
  }

  .footer-copyright {
    font-size: 10px;
    text-align: right;
    padding: 0;
  }
}