@charset "UTF-8";
/* ===============================================
  * Header - ヘッダーのスタイル *
=============================================== */
.global-header {
  --header-color-border: var(--color-gray-600);
  --header-color-section-title-bg: var(--color-primary);
  --header-color-section-title-color: var(--color-white);
  --border-style: solid 1px var(--header-color-border);
  /* --brand-logo-width: 6.6rem; */
  --brand-logo-width: 11.3rem;
  --link-arrow: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMy4yMTUiIGhlaWdodD0iOC4yNSIgdmlld0JveD0iMCAwIDEzLjIxNSA4LjI1Ij4gPGcgaWQ9Ikljb25fZmVhdGhlci1hcnJvdy1yaWdodCIgZGF0YS1uYW1lPSJJY29uIGZlYXRoZXItYXJyb3ctcmlnaHQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuNDY2IDAuNSkiPiA8cGF0aCBpZD0i44OR44K5XzgwOTQ2IiBkYXRhLW5hbWU9IuODkeOCuSA4MDk0NiIgZD0iTTE5LjcxNSwxOC41SDcuNWEuNS41LDAsMCwxLDAtMUgxOS43MTVhLjUuNSwwLDAsMSwwLDFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTIuNDY2IC0xNC4zNzUpIiBmaWxsPSIjMjkzMTMwIi8+IDxwYXRoIGlkPSLjg5HjgrlfODA5NDciIGRhdGEtbmFtZT0i44OR44K5IDgwOTQ3IiBkPSJNMTgsMTUuMjVhLjUuNSwwLDAsMS0uMzU0LS44NTRsMy4yNzEtMy4yNzFMMTcuNjQ2LDcuODU0YS41LjUsMCwwLDEsLjcwNy0uNzA3bDMuNjI1LDMuNjI1YS41LjUsMCwwLDEsMCwuNzA3TDE4LjM1NCwxNS4xQS41LjUsMCwwLDEsMTgsMTUuMjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTQuMzc1IC03LjUpIiBmaWxsPSIjMjkzMTMwIi8+IDwvZz48L3N2Zz4=");
  --link-arrow-offset: 0.75px;
}

.global-header summary {
  cursor: pointer;
}

.global-header summary::marker,
.global-header summary::-webkit-details-marker {
  display: none;
}

.global-header__text--link {
  color: var(--color-text-default);
  font-size: 1.4rem;
  letter-spacing: .05em;
  line-height: 1.7142857143;
  text-decoration: none;
}

.global-header__search-container {
  position: relative;
}

.global-header__search-form input {
  width: 100%;
  padding-right: calc(
    var(--padding-horizontal) * 2 + var(--search-button-width)
  );
  padding-left: var(--padding-horizontal);
  border: none;
  box-sizing: border-box;
}

.global-header__search-form input::placeholder {
  color: var(--color-gray-400);
}

.global-header__search-form input,
.global-header__search-form input::placeholder {
  letter-spacing: 0.05em;
}

.global-header__search-button {
  position: absolute;
  top: 0;
  right: var(--padding-horizontal);
  bottom: 0;
  display: grid;
  place-content: center;
  grid-template-columns: 100%;
  width: var(--search-button-width);
  aspect-ratio: 1;
  margin: auto;
  color: var(--color-text-default);
}

.global-header__search-button a {
  --color-textlink: var(--color-text-default);
}

/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .global-header__search-container {
    --search-button-width: 2.5rem;
    --padding-horizontal: 1.8rem;
  }
  .global-header__search-form input,
  .global-header__search-form input::placeholder {
    font-size: 2.1rem;
  }
}

/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .global-header__search-container {
    --search-button-width: 1.6rem;
    --padding-horizontal: 1.5rem;
  }
  .global-header__search-form input,
  .global-header__search-form input::placeholder {
    font-size: 1.4rem;
  }
}

.global-header .header__content-wrapper--ticker {
  background-color: var(--color-black);
}

.global-header .header__content-wrapper--primary {
  background-color: var(--color-white);
}

@media screen and (min-width: 768px) {
  .global-header .header__content-wrapper--primary {
    border-bottom: var(--border-style);
  }
}

.global-header .header__content-wrapper--primary .header__content-inner {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto 1fr;
  padding: 1.3rem 1.6rem;
}

.global-header .header__content-wrapper--global-nav {
  position: relative;
  background-color: var(--color-white);
}

.global-header .header__content-wrapper--global-nav::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  border-bottom: var(--border-style);
  pointer-events: none;
}

.global-header .header__content-wrapper--global-nav .header__content-inner {
  display: grid;
}

.global-header .ticker__list-item {
  --color-text: var(--color-white);
  --color-bg: var(--color-black);
}

.global-header .ticker__list-item > * {
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  padding: 0.25rem 1.6rem;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: var(--height-ticker);
  text-align: center;
  text-decoration: none;
}

.global-header .header-primary__hamburger-menu-container {
  justify-self: flex-start;
}

.global-header .header-primary__hamburger-menu-container button {
  font-size: 3rem;
}

.global-header .header-primary__brand-logo-wrapper {
  width: var(--brand-logo-width);
}

.global-header
  .header-primary__navigation-container
  .header-primary__navigation-contents-wrapper {
  display: flex;
  gap: 1.8rem;
  justify-content: flex-end;
  padding-inline-end: .6rem;
}

.global-header
  .header-primary__navigation-container
  .header-primary__navigation-contents-wrapper:has(
    .global-header__search-container
  ) {
  padding-inline-end: 0.8rem;
}

.global-header
  .header-primary__navigation-container
  .header-primary__navigation-contents-wrapper
  [class*="header-primary__navigation-item-wrapper"] {
  width: 2.2rem;
  aspect-ratio: 1;
}

.global-header .header-primary__navigation-item-wrapper--cart {
  --count-num-width: 1.6rem;
  --indicator-width: 0.8rem;
  position: relative;
}

.global-header
  .header-primary__navigation-item-wrapper--cart[data-cart-indicator="count"]
  .cart-state--dot {
  display: none !important;
}

.global-header
  .header-primary__navigation-item-wrapper--cart[data-cart-indicator="dot"]
  .cart-state--count {
  display: none !important;
}

.global-header
  .header-primary__navigation-item-wrapper--cart
  .cart-state--count {
  position: absolute;
  top: calc(var(--count-num-width) / 2 * -1);
  /* right: calc(var(--count-num-width) / 2 * -1); */
  right: -1rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: var(--count-num-width);
  aspect-ratio: 1;
  background-color: var(--color-emphasis);
  border-radius: 50%;
  overflow: hidden;
  color: var(--color-white);
  font-family: var(--font-en);
  font-size: 1rem;
  letter-spacing: 0.03em;
  line-height: 1;
  pointer-events: none;
}

.global-header
  .header-primary__navigation-item-wrapper--cart
  .cart-state--count
  > span {
  margin: var(--adjust-position-top, 0px) var(--adjust-position-right, 0px)
    var(--adjust-position-bottom, 0px) var(--adjust-position-left, 0px);
}

.global-header .header-primary__navigation-item-wrapper--cart .cart-state--dot {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  width: var(--indicator-width);
  aspect-ratio: 1;
  background-color: var(--color-emphasis);
  border-radius: 50%;
  overflow: hidden;
  pointer-events: none;
}

/* ===============================================
  * ヘッダーの固定方式 *
=============================================== */
.global-header {
  position: relative;
  z-index: var(--zindex-header);
}

.global-header[data-stick-header] {
  position: sticky;
  top: calc(var(--height-ticker) * -1);
}

.global-header[data-variable-header] {
  position: sticky;
  top: calc(var(--height-ticker) * -1);
}

.global-header[data-variable-header] [data-header-area="primary"] {
  position: relative;
  z-index: 2;
}

.global-header[data-variable-header] [data-header-area="global-nav"] {
  transition: translate var(--transition-default);
}

.global-header[data-variable-header][data-scroll-direction="down"]
  [data-header-area="global-nav"] {
  z-index: -1;
  translate: 0 -100%;
}

.hamburger-menu__header {
  display: grid;
  grid-template-columns: 13.8rem auto;
  justify-content: space-between;
  align-items: center;
  padding-block: 1.6rem;
  padding-inline: 1.6rem;
  border-bottom: 1px solid var(--color-tertiery);
}

.hamburger-menu__member-auth-section {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 0.6rem;
}

.hamburger-menu__text--section-title {
  font-size: 1.6rem;
  font-weight: var(--fw-medium);
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-align: center;
}

.hamburger-menu__text--section-title[data-title-bg="active"] {
  padding: var(--padding-content);
  background-color: var(--header-color-section-title-bg);
  color: var(--header-color-section-title-color);
  text-align: left;
}

.hamburger-menu__text--link {
  --color-textlink: var(--color-black);
  display: grid;
  align-items: center;
  column-gap: 1ch;
  grid-template-columns: 1fr 1.222rem;
  padding: var(--padding-content);
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  font-weight: var(--fw-medium);
  text-decoration: none;
}

.hamburger-menu__text--link::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: var(--link-arrow);
  background-position-y: calc(50% + var(--link-arrow-offset));
  background-repeat: no-repeat;
  background-size: contain;
}

.hamburger-menu__wrapper {
  --hamburger-icon-width: 1.5rem;
  --hamburger-icon-position: 2rem;
  --padding-content: 2.4rem 2.4rem;
}

.hamburger-menu__toggle-button {
  --hamburger-transition-duration: 300ms;
  --hamburger-transition-default: var(--hamburger-transition-duration) ease;
  --hamburger-transition-delay: var(--hamburger-transition-duration);
  --icon-width: 2.2rem;
  --icon-height: .8rem;
  --icon-border-height: 0.2rem;
  display: grid;
  place-content: center;
  width: var(--icon-width);
  aspect-ratio: 22 / 8;
  padding: 0;
  background-color: transparent;
  overflow: hidden;
  transition: translate var(--hamburger-menu-transition);
}

.hamburger-menu__toggle-button-inner {
  position: relative;
  display: block;
  width: var(--icon-width);
  height: var(--icon-height);
}

.hamburger-menu__toggle-button-inner > span {
  position: absolute;
  display: block;
  width: 100%;
  height: var(--icon-border-height);
  border-radius: 50vh;
  background-color: var(--color-text-default);
  transform-origin: center;
}

.hamburger-menu__toggle-button-inner > span:first-of-type {
  top: 0;
  transition: rotate var(--hamburger-transition-default),
    translate var(--hamburger-transition-default)
      var(--hamburger-transition-delay);
}
[aria-expanded="true"]
  .hamburger-menu__toggle-button-inner
  > span:first-of-type {
  top: calc(var(--icon-border-height) / 2 * -1);
  translate: 0 calc(var(--icon-height) / 2);
  rotate: 45deg;
  transition: translate var(--hamburger-transition-default),
    rotate var(--hamburger-transition-default) var(--hamburger-transition-delay);
}

.hamburger-menu__toggle-button-inner > span:last-of-type {
  bottom: 0;
  transition: rotate var(--hamburger-transition-default),
    translate var(--hamburger-transition-default)
      var(--hamburger-transition-delay);
}
[aria-expanded="true"]
  .hamburger-menu__toggle-button-inner
  > span:last-of-type {
  bottom: calc(var(--icon-border-height) / 2 * -1);
  translate: 0 calc(var(--icon-height) / 2 * -1);
  rotate: -45deg;
  transition: translate var(--hamburger-transition-default),
    rotate var(--hamburger-transition-default) var(--hamburger-transition-delay);
}

.hamburger-menu__contents-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--zindex-hamburgermenu-contents);
  width: calc(
    100% - (var(--hamburger-icon-width) + var(--hamburger-icon-position) * 3)
  );
  height: 100dvh;
  padding-bottom: 2.8rem;
  background-color: var(--color-white);
  overflow-y: auto;
}

.hamburger-menu__search-field {
  padding-block: 1.5rem;
  padding-inline: 2.5rem;
  background-color: var(--color-gray-100);
}

.hamburger-menu__search-title {
  font-size: 1.4rem;
  font-weight: var(--fw-medium);
  color: var(--color-primary);
}

.hamburger-menu__search-title + * {
  margin-block-start: 1.2rem;
}

.hamburger-menu__search-field .global-header__search-container {
  border: 1px solid var(--color-primary);
  border-radius: 0.4rem;
  overflow: hidden;
}

.hamburger-menu__search-field .global-header__search-container input {
  border-radius: 0.4rem;
  line-height: 5rem;
}

.hamburger-menu__section[data-section-name="hamburger-mail-magazine"] {
  margin-top: 2.4rem;
  padding-inline: 1.6rem;
}

.hamburger-menu__section[data-section-name="hamburger-sns-area"] {
  margin-top: 3.6rem;
}

.hamburger-menu__section[data-section-name="hamburger-sns-area"]
  .brand-sns__link-list {
  --gap: 2.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--gap) / 2) var(--gap);
  justify-content: center;
  margin-top: 1.8rem;
}

.hamburger-menu__section[data-section-name="hamburger-sns-area"]
  .brand-sns__link-list-item {
  width: 3rem;
  aspect-ratio: 1;
}

.hamburger-menu__section[data-section-name="hamburger-sns-area"]
  .brand-sns__link-list-item
  a {
  color: var(--color-gray-500);
}

.hamburger-menu__content-wrapper {
  padding: var(--padding-content);
}

.hamburger-menu__content-list > li {
  border-bottom: 1px solid var(--color-gray-200);
}

.hamburger-menu__content-list[data-list-item-bg="active"] > li {
  background-color: var(--color-gray-100);
}

.hamburger-menu__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--zindex-hamburgermenu-bg);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 200ms ease-in;
}

/* ===============================================
  * ハンバーガーメニューのアニメーション *
=============================================== */
/* アニメーションの基本設定 */
[data-animation-type] {
  --hamburger-menu-transition: 300ms ease-in-out;
}

/* ハンバーガーメニューが有効になった時の設定 */
#hamburger-menu[data-state="active"] .hamburger-menu__contents-wrapper {
  opacity: 1;
  translate: 0 0;
}
#hamburger-menu[data-state="active"] .hamburger-menu__bg {
  opacity: 1;
}

/* フェードして表示 */
[data-animation-type="fade"] .hamburger-menu__contents-wrapper {
  opacity: 0;
  transition: opacity var(--hamburger-menu-transition);
}

/* 横方向にスライドして表示 */
[data-animation-type="horizontal-slide"] .hamburger-menu__contents-wrapper {
  translate: -100% 0;
  transition: translate var(--hamburger-menu-transition);
  will-change: translate;
}

/* 縦方向にスライドして表示 */
[data-animation-type="vertical-slide"] .hamburger-menu__contents-wrapper {
  translate: 0 -120%;
  transition: translate var(--hamburger-menu-transition);
  will-change: translate;
}
[data-animation-type="vertical-slide"][data-hamburgermenu-type="same-level"]
  .hamburger-menu__contents-wrapper {
  z-index: -1;
}
[data-animation-type="vertical-slide"][data-hamburgermenu-type="same-level"]
  .hamburger-menu__bg {
  z-index: -2;
}

/* ハンバーガーメニューが画面全体にオーバーレイする形式 */
[data-hamburgermenu-type="overlay"]
  .hamburger-menu__toggle-button[aria-expanded="true"] {
}
[data-hamburgermenu-type="overlay"]
  .hamburger-menu__toggle-button[aria-expanded="true"] {
  aspect-ratio: 1;
}
[data-hamburgermenu-type="overlay"]
  .hamburger-menu__toggle-button[aria-expanded="true"]
  .hamburger-menu__toggle-button-inner {
  --icon-width: 2rem;
  --icon-height: 2rem;
}
[data-hamburgermenu-type="overlay"] .hamburger-menu__contents-wrapper {
  top: 0;
  width: 100%;
  height: 100dvh;
}

/* ハンバーガーメニューがヘッダーの下に表示される形式 */
[data-hamburgermenu-type="same-level"] .hamburger-menu__contents-wrapper {
  top: var(--height-header);
  width: calc(
    100% - (var(--hamburger-icon-width) + var(--hamburger-icon-position) * 3)
  );
  height: calc(100dvh - var(--height-header));
}
[data-hamburgermenu-type="same-level"] .hamburger-menu__bg {
  top: var(--height-header);
  height: calc(100dvh - var(--height-header));
}
[data-state-sticky="active"] [data-hamburgermenu-type="same-level"] {
  --height-header: calc(
    var(--height-header-primary) + var(--height-header-global-nav)
  );
}

.accordion__details {
  --accordion-icon-width: 1.4rem;
}

.accordion__summary {
  grid-template-columns: 1fr var(--accordion-icon-width);
  background-color: var(--color-white);
  transition: background var(--transition-default);
}
[data-state-accordion="opened"] > .accordion__summary {
  background-color: #fafafa;
}

.accordion__summary::after {
  content: none;
}

.accordion__icon-wrapper {
  position: relative;
  display: block;
  width: var(--accordion-icon-width);
  aspect-ratio: 1;
}

.accordion__icon-wrapper::before,
.accordion__icon-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: var(--color-text-default);
}

.accordion__icon-wrapper::before {
  rotate: 90deg;
  transition: rotate var(--transition-default);
}
[data-state-accordion="opened"]
  > .accordion__summary
  .accordion__icon-wrapper::before {
  rotate: 180deg;
}

.accordion__content {
  border-top: var(--border-style);
}

.accordion__content [data-structure="child"] .hamburger-menu__text--link {
  font-size: 0.846em;
}

.global-nav__text--link {
  position: relative;
  display: grid;
  place-content: center;
  padding: 2.4rem 0;
  color: var(--color-text-default);
  font-size: 1.6rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-decoration: none;
  overflow: hidden;
}

.global-nav__text--link--mega-menu::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 1.3rem;
  height: 1.2rem;
  margin: auto;
  background-image: url(../Contents/ThemeImage/icon/icon-triangle.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-color: var(--color-white);
  translate: 0 100%;
  transition: translate var(--transition-default);
  pointer-events: none;
  z-index: var(--zindex-floating-element);
}

.global-nav__wrapper .mega-menu__text--link {
  /* display: grid;
  align-items: center;
  column-gap: var(--megamenu-spacer, 2ch);
  grid-template-columns: 1fr 0.56rem; */
  --color-textlink: var(--color-text-default);
  width: fit-content;
  font-size: 1.6rem;
  line-height: 1.5;
  text-decoration: none;
}

/* .global-nav__wrapper .mega-menu__text--link::after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: var(--link-arrow);
  background-position-y: calc(50% + var(--link-arrow-offset));
  background-repeat: no-repeat;
  background-size: contain;
  transition: translate var(--animation-hover), scale var(--animation-hover);
  transform-origin: left center;
  transition-timing-function: linear;
  pointer-events: none;
} */

.global-nav__wrapper
  .mega-menu__wrapper[data-state="active"]
  .mega-menu__content-inner {
  translate: 0 0;
}

.global-nav__wrapper .mega-menu__wrapper[data-state="active"] .mega-menu__bg {
  opacity: 1;
}

.global-nav__wrapper .mega-menu__content {
  --megamenu-escape-area: 5svh;
  --megamenu-spacer: 1.6rem;
  position: absolute; /* MEMO: global-nav__wrapperにrelativeを設定しているため、親要素にpositionを付与しないように注意してください。 */
  top: 100%;
  left: 0;
  z-index: -1;
  width: 100%;
}

.global-nav__wrapper .mega-menu__content-inner {
  max-height: calc(100svh - var(--megamenu-escape-area) - var(--height-header));
  /* padding-top: 5svh;
  padding-bottom: 5svh; */
  padding-block: 2.4rem;
  background-color: var(--color-white);
  overflow-y: auto;
  overscroll-behavior: contain;
  translate: 0 -100%;
  transition: translate var(--transition-default);
}

.global-nav__wrapper .mega-menu__content-list[data-structure="parent"] {
  /* display: grid; */
  display: flex;
  flex-wrap: wrap;
  column-gap: 4.8rem;
  /* row-gap: calc(var(--megamenu-spacer) * 3); */
  row-gap: 2.4rem;
}

/* .global-nav__wrapper .mega-menu__content-list[data-structure="parent"] > li {
  display: grid;
  align-items: flex-start;
  column-gap: 3%;
  grid-template-columns: 30% 1fr;
} */

.global-nav__wrapper
  .mega-menu__content-list[data-structure="parent"]
  > li
  > a {
  font-weight: var(--fw-medium);
}

.global-nav__wrapper .mega-menu__content-list[data-structure="child"] {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--megamenu-spacer);
  padding: 2ch;
  background-color: var(--color-gray-100);
  border-radius: 8px;
}

.global-nav__wrapper .mega-menu__content-list[data-structure="child"] > li > * {
  padding: 0 var(--megamenu-spacer);
}

.global-nav__wrapper
  .mega-menu__content-list[data-structure="child"]
  > li:not(:last-of-type) {
  border-right: var(--border-style);
}

.global-nav__wrapper .mega-menu__bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 200ms ease-in;
  pointer-events: none;
}

.global-nav__content-list {
  display: flex;
  column-gap: 4.6rem;
}

/* ===============================================
  * Footer - フッターのスタイル *
=============================================== */
.global-footer {
  --border-style: solid 1px var(--color-gray-300);
  --color-default-text: var(--color-white);
  --sns-icon-width: 2.4rem;
  background-color: var(--color-black);
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .global-footer {
    --brand-logo-width: 15.3rem;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .global-footer {
    --brand-logo-width: 18.9rem;
  }
}
.global-footer a {
  text-decoration: none;
}
.global-footer .common-menu__text--link {
  --color-textlink: #B5BEBD;
}

.global-footer__inner {
  display: grid;
  row-gap: var(--spacer-regular);
  padding-top: var(--spacer-footer-top);
  padding-bottom: var(--spacer-footer-bottom);
  font-size: 1.4rem;
  font-weight: var(--fw-medium);
}

.global-footer__nav-section {
  line-height: 1.7142857143;
}

.global-footer__nav-title {
  color: var(--color-white);
  letter-spacing: 0.12em;
}

.global-footer__nav-title + * {
  margin-block-start: 2.2rem;
}

.global-footer__nav-section > ul {
  display: grid;
  grid-template-columns: repeat(var(--nav-column-length), auto);
  row-gap: var(--footer-navigation-vertical-gap, 2rem);
  column-gap: var(--footer-navigation-horizontal-gap, 2.4rem);
  justify-content: start;
  letter-spacing: 0.04em;
}

.global-footer__nav-section .static-page__link-list {
  --footer-navigation-horizontal-gap: 3rem;
  letter-spacing: .12em;
}

.global-footer__nav-section .static-page__link-list-item--ja {
  letter-spacing: .005em;
}

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

.global-footer .static-page__link-text {
  --color-textlink: var(--color-white);
}

.global-footer .brand-sns__wrapper {
  display: grid;
  align-items: center;
  justify-items: center;
  row-gap: var(--spacer-medium);
}

.global-footer .brand-sns__link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}

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

.global-footer .law-page__link-wrapper {
  --color-textlink: var(--color-white);
  display: grid;
  row-gap: 5rem;
  letter-spacing: .04em;
  font-weight: var(--fw-regular);
}

.global-footer .law-page__link-list {
  --font-size: 1.2rem;
  --line-height: calc(13 / 12);
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.2em;
  row-gap: 1.2rem;
  font-size: var(--font-size);
  line-height: var(--line-height);
}

.global-footer .law-page__link-list * {
  font-size: var(--font-size);
  line-height: var(--line-height);
}

.global-footer .law-page__link-list-item {
  position: relative;
}

.global-footer .law-page__link-list-item:not(:last-child) {
  border-right: 1px solid var(--color-white);
  padding-inline-end: 1em;
}

.global-footer .law-page__link-text {
  --color-textlink: var(--color-white);
}

.global-footer .law-page__copyright-text {
  color: var(--color-white);
  font-size: 1.2rem;
  line-height: 1;
}
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .global-footer {
    --spacer-regular: 3.5rem;
    --spacer-footer-top: 4rem;
    --spacer-footer-bottom: 3.2rem;
  }
  .global-footer__logo-wrapper {
    width: var(--brand-logo-width);
    margin-inline: auto;
  }
  .global-footer__nav-section--narrow {
    padding-inline: .8rem;
  }
  .global-footer__nav-section + * {
    margin-block-start: var(--spacer-regular);
  }
  .global-footer__nav-section > ul {
    --nav-column-length: 3;
  }
  .global-footer .global-nav__button--mail + * {
    margin-block-start: 2.4rem;
  }
  .global-footer .law-page__link-list {
    padding-block-start: .6rem;
  }
  .global-footer .law-page__copyright-text {
    text-align: center;
  }
}
/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .global-footer {
    --spacer-regular: 4.4rem;
    --spacer-footer-top: 5.6rem;
    --spacer-footer-bottom: 4rem;
  }
  .global-footer__inner--top {
    display: grid;
    grid-template-columns: auto auto auto 34rem;
    justify-content: space-between;
  }
  .global-footer__logo-wrapper {
    width: var(--brand-logo-width);
  }
  .global-footer__nav-section > ul:not(.static-page__link-list) {
    grid-template-rows: repeat(var(--nav-rows-length), auto);
    grid-auto-flow: column;
  }
  .global-footer__nav-section--category > ul {
    --nav-column-length: 2;
  }
  .global-footer__nav-section--scene > ul {
    --nav-column-length: 3;
  }
  .global-footer .global-nav__button--mail {
    justify-self: end;
  }
  .global-footer .global-nav__button--mail + * {
    margin-block-start: 3rem;
  }
  .global-footer .law-page__link-wrapper {
    justify-content: space-between;
    grid-template-columns: repeat(2, auto);
  }
}
@media screen and (min-width: 768px) {
  .global-header {
    --brand-logo-width: 19.4rem;
  }
  .global-header .header__content-wrapper--primary .header__content-inner {
    display: flex;
    justify-content: space-between;
    padding-block: 2.1rem;
  }
  .global-header
    .header__content-wrapper--primary
    .header__content-inner
    .global-header__search-container {
    --padding-horizontal: 1.2rem;
    min-width: 21.2rem;
    padding: 0.6rem 0;
    background-color: var(--color-gray-100);
  }
  .global-header
    .header__content-wrapper--primary
    .header__content-inner
    .global-header__search-container
    input {
    /* width: calc(100% - (var(--search-button-width) + 1ch)); */
    background-color: inherit;
    line-height: 1.7142857143;
    letter-spacing: 0.05em;
  }
  .global-header .header-primary__navigation-container {
    display: flex;
    align-items: center;
    column-gap: 2.4rem;
    flex-shrink: 0;
  }
  .global-header
    .header-primary__navigation-container
    .header-primary__navigation-contents-wrapper {
    gap: 2.4rem;
    padding-inline-end: 1.1rem;
  }
  .global-header
    .header-primary__navigation-container
    .header-primary__navigation-contents-wrapper
    [class*="header-primary__navigation-item-wrapper"] {
    width: 2.6rem;
  }
  .global-header
    .header-primary__navigation-container
    .header-primary__navigation-contents-wrapper
    .global-header__text--link {
    font-weight: bold;
  }
}
@media (hover: none) {
  .global-nav__wrapper .mega-menu__text--link {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .global-nav__wrapper .mega-menu__text--link:active::after {
    scale: 1.3;
    translate: 50%;
  }
  .global-nav__content-list-item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .global-nav__content-list-item:active .global-nav__text--link::after {
    translate: 0 0;
  }
}
@media (-ms-high-contrast: none),
  (-ms-high-contrast: active),
  (-moz-touch-enabled: 0),
  (hover: hover) {
  .global-nav__wrapper .mega-menu__text--link:hover::after {
    scale: 1.3;
    translate: 50%;
  }
  .global-nav__content-list-item:hover .global-nav__text--link {
    color: var(--color-primary);
  }
  .global-nav__content-list-item:hover .global-nav__text--link--mega-menu::after {
    translate: 0 0;
  }
}

.global-nav__button--mail {
  --mail-icon-width: 3.2rem;
  --color-textlink: var(--color-black);
  display: grid;
  align-items: center;
  column-gap: 3.4rem;
  justify-content: center;
  grid-template-columns: var(--mail-icon-width) auto;
  width: 100%;
  margin: auto;
  padding-block: 2.6rem;
  border: 1px solid var(--color-gray-600);
  background-color: var(--color-white);
  text-decoration: none;
}

.global-nav__button--mail::before {
  content: "";
  aspect-ratio: 30 / 24;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIyNiIgdmlld0JveD0iMCAwIDMyIDI2Ij4gPGcgaWQ9Ikljb25fZmVhdGhlci1tYWlsIiBkYXRhLW5hbWU9Ikljb24gZmVhdGhlci1tYWlsIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMiAtNSkiPiA8cGF0aCBpZD0i44OR44K5XzgwOTQ5IiBkYXRhLW5hbWU9IuODkeOCuSA4MDk0OSIgZD0iTTYsNUgzMGE0LDQsMCwwLDEsNCw0VjI3YTQsNCwwLDAsMS00LDRINmE0LDQsMCwwLDEtNC00VjlBNCw0LDAsMCwxLDYsNVpNMzAsMjlhMiwyLDAsMCwwLDItMlY5YTIsMiwwLDAsMC0yLTJINkEyLDIsMCwwLDAsNCw5VjI3YTIsMiwwLDAsMCwyLDJaIiBmaWxsPSIjMDA2NjM3Ii8+IDxwYXRoIGlkPSLjg5HjgrlfODA5NTAiIGRhdGEtbmFtZT0i44OR44K5IDgwOTUwIiBkPSJNMTgsMjAuNWExLDEsMCwwLDEtLjU3My0uMTgxbC0xNS0xMC41QTEsMSwwLDAsMSwzLjU3Myw4LjE4MUwxOCwxOC4yNzlsMTQuNDI3LTEwLjFhMSwxLDAsMCwxLDEuMTQ3LDEuNjM4bC0xNSwxMC41QTEsMSwwLDAsMSwxOCwyMC41WiIgZmlsbD0iIzAwNjYzNyIvPiA8L2c+PC9zdmc+");
  background-repeat: no-repeat;
  background-size: contain;
}

.global-nav__button--mail > span {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 0.8rem;
  font-size: 1.8rem;
  font-weight: var(--fw-medium);
  letter-spacing: 0.12em;
}

.global-nav__button--mail > span > small {
  font-size: calc(14 / 18 * 1em);
  letter-spacing: 0.04em;
}

/**
 * 共通化メニュー
 *（ヘッダー用スタイルはそれぞれ.mega-menu__content-list, humberger-menu__content-list以下を踏襲）
 */
/* --- for small viewport --- */
@media screen and (max-width: 767px) {
  .hamburger-menu__contents-wrapper .common-menu__content-list > li {
    border-bottom: 1px solid var(--color-gray-200);
  }
  .hamburger-menu__contents-wrapper .common-menu__text--link {
    display: grid;
    align-items: center;
    column-gap: 1ch;
    grid-template-columns: 1fr 1.222rem;
    padding: var(--padding-content);
    color: var(--color-black);
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    line-height: 1.7142857143;
    font-weight: var(--fw-medium);
    text-decoration: none;
  }
  .hamburger-menu__contents-wrapper .common-menu__text--link::after {
    content: "";
    width: 100%;
    height: 100%;
    background-image: var(--link-arrow);
    background-position-y: calc(50% + var(--link-arrow-offset));
    background-repeat: no-repeat;
    background-size: contain;
  }
}

/* --- for large viewport --- */
@media screen and (min-width: 768px) {
  .global-nav__wrapper .common-menu__content-list[data-structure="parent"] {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4.8rem;
    row-gap: 2.4rem;
  }
  .global-nav__wrapper .common-menu__content-list[data-structure="parent"] > li > a {
    font-weight: var(--fw-medium);
  }
  .global-nav__wrapper .common-menu__text--link {
    --color-textlink: var(--color-text-default);
    width: fit-content;
    font-size: 1.6rem;
    line-height: 1.5;
    text-decoration: none;
  }
}