/* ==========================================================
   グローバルナビ（.l-gnav）
   和文（Zen Maru Gothic）＋英字（Segoe Script）。項目の間に斜めの線。
   --fix：固定ヘッダー（少し小さく）
   --footer：フッターの緑帯（白文字・中央揃え）
   ========================================================== */
.l-gnav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.l-gnav__item {
  position: relative;
}

/* 項目の間の「/」（リンクの左余白の中央に置く） */
.l-gnav__item + .l-gnav__item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 27px;
  width: 1px;
  height: 20px;
  background: currentColor;
  color: #312922;
  transform: rotate(25deg);
}

.l-gnav__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 0 0 54px;
}

.l-gnav__item:first-child .l-gnav__link {
  padding-left: 0;
}

.l-gnav__label {
  color: #312922;
  font-family: var(--font-maru);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .05em;
  white-space: nowrap;
}

.l-gnav__en {
  margin-top: 1px;
  color: var(--color-main);
  font-family: var(--font-script);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
}

@media (max-width: 1279px) {
  .l-gnav__link {
    padding-left: 36px;
  }

  .l-gnav__item + .l-gnav__item::before {
    left: 18px;
  }

  .l-gnav__label {
    font-size: 16px;
  }
}

/* ---------- 固定ヘッダー ---------- */
.l-gnav--fix .l-gnav__link {
  padding-left: 40px;
}

.l-gnav--fix .l-gnav__item:first-child .l-gnav__link {
  padding-left: 0;
}

.l-gnav--fix .l-gnav__item + .l-gnav__item::before {
  left: 20px;
}

.l-gnav--fix .l-gnav__label {
  font-size: 16px;
}

@media (max-width: 1279px) {
  .l-gnav--fix .l-gnav__link {
    padding-left: 28px;
  }

  .l-gnav--fix .l-gnav__item + .l-gnav__item::before {
    left: 14px;
  }

  .l-gnav--fix .l-gnav__label {
    font-size: 14px;
  }
}

/* ---------- フッター ---------- */
.l-gnav--footer .l-gnav__list {
  justify-content: center;
}

.l-gnav--footer .l-gnav__item + .l-gnav__item::before {
  color: #fff;
}

.l-gnav--footer .l-gnav__label {
  color: #fff;
}

.l-gnav--footer .l-gnav__en {
  color: rgba(255, 255, 255, .56);
}

@media (max-width: 1023px) {
  /* フッターのナビは 3 列 → SP は 2 列（斜め線は使わない） */
  .l-gnav--footer .l-gnav__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px 0;
  }

  .l-gnav--footer .l-gnav__link,
  .l-gnav--footer .l-gnav__item:first-child .l-gnav__link {
    padding: 0 6px;
  }

  .l-gnav--footer .l-gnav__item + .l-gnav__item::before {
    content: none;
  }
}

@media (max-width: 767px) {
  .l-gnav--footer .l-gnav__list {
    grid-template-columns: repeat(2, 1fr);
  }

  .l-gnav--footer .l-gnav__label {
    font-size: 15px;
    white-space: normal;
    text-align: center;
  }

  .l-gnav--footer .l-gnav__en {
    font-size: 11px;
  }
}
