@charset "UTF-8";
/* =========================
変数 
============================*/
body {
  --s-val: 10px;
  --pdg-inline-common: calc(var(--s-val) * 3.8);
  --base-color: #000;
  --color-neutral-pink: #ece0df;
  --color-pink-brown: #b38686;
  --color-salmon-pink: #f0b0aa;
  --color-rose-brown: #8f6163;
  --color-muted-pink: #c28686;
  --color-green-olive: #b1b74e;
  --color-green-soft: #d7daa4;
  --color-green-pale: #d8daa6;
  --color-gray: #f2f2f2;
  --color-gray-deep: #555555;
  --header-line-gray: #999;
}

/* レスポンシブ */
@media screen and (max-width: 1330px) {
  body {
    --s-val: 0.7vw;
  }
}
@media screen and (max-width: 780px) {
  body {
    --s-val: 1.45vw;
  }
}
@media screen and (max-width: 540px) {
  body {
    --s-val: 1.5vw;
  }
}
/* === このCSSは全ページ共通です === */
/* =========================
フッター
============================*/
.g-footer {
  padding: calc(var(--s-val) * 6) calc(var(--s-val) * 6) calc(var(--s-val) * 6);
  position: relative;
}
.g-footer::before {
  content: "";
  display: block;
  width: calc(var(--s-val) * 19);
  aspect-ratio: 391/598;
  background: url(../images/common/footer_bg.webp) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: calc(var(--s-val) * 16.3);
  right: 0;
  z-index: -10;
}
.g-footer__inner {
  max-width: 1330px;
  margin-inline: auto;
}
.g-footer__logo {
  display: block;
  max-width: 102px;
}
.g-footer__menu-block {
  -webkit-margin-before: calc(var(--s-val) * 6);
          margin-block-start: calc(var(--s-val) * 6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8.5%;
}
.g-footer__menu:not(:first-of-type) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.g-footer__menu-title {
  color: var(--color-pink-brown);
  font-size: calc(var(--s-val) * 1.9);
  font-weight: 600;
  letter-spacing: 0.05em;
}
.g-footer__menu-list {
  -webkit-margin-before: calc(var(--s-val) * 2);
          margin-block-start: calc(var(--s-val) * 2);
  font-size: calc(var(--s-val) * 1.9);
  font-weight: 600;
  letter-spacing: 0.05em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: calc(var(--s-val) * 1.2) calc(var(--s-val) * 5);
}
.g-footer__menu-list--col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.g-footer__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: calc(var(--s-val) * 2);
}
.g-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(var(--s-val) * 2);
}
.g-footer__sns-logo {
  display: block;
  width: 100%;
  max-width: 50px;
  aspect-ratio: 1/1;
  background-color: #000;
  border-radius: 100%;
}
.g-footer__sns-logo svg {
  display: block;
  width: 100%;
  fill: #fff;
}
.g-footer__copyright {
  margin-block-start: calc(var(--s-val) * 4);
  font-size: calc(var(--s-val) * 1.8);
  font-weight: 600;
  letter-spacing: 0.11em;
  text-align: right;
}

/* レスポンシブ ============= */
@media screen and (max-width: 780px) {
  .g-footer {
    padding: calc(var(--s-val) * 7) calc(var(--s-val) * 7) calc(var(--s-val) * 7);
  }
  .g-footer::before {
    top: calc(var(--s-val) * 19.8);
    bottom: auto;
    width: calc(var(--s-val) * 27);
  }
  .g-footer__logo {
    max-width: 100%;
    width: calc(var(--s-val) * 10);
  }
  .g-footer__menu-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(var(--s-val) * 7);
  }
  .g-footer__menu-title {
    font-size: calc(var(--s-val) * 2.3);
  }
  .g-footer__menu-list {
    -webkit-margin-before: calc(var(--s-val) * 2);
            margin-block-start: calc(var(--s-val) * 2);
    font-size: calc(var(--s-val) * 2.2);
    gap: calc(var(--s-val) * 1.5) calc(var(--s-val) * 3);
  }
  .g-footer__menu-list:not(.g-footer__menu-list--col) .g-footer__menu-item {
    min-width: calc(50% - var(--s-val) * 2.5);
  }
  .g-footer__meta {
    gap: calc(var(--s-val) * 5);
  }
  .g-footer__sns {
    gap: calc(var(--s-val) * 1.2);
  }
  .g-footer__sns-logo {
    max-width: 100%;
    width: calc(var(--s-val) * 6.8);
  }
  .g-footer__copyright {
    font-size: calc(var(--s-val) * 1.3);
    text-align: left;
  }
}