:root {
  --swl-spmenu-top: calc(var(--logo_size_sp, 60px) + var(--swl-adminbarH, 0px));
}

.p-spMenu {
  top: var(--swl-spmenu-top);
  height: calc(100% - var(--swl-spmenu-top));
}

.p-spMenu__inner {
  padding-top: 0;
}

.p-spMenu__closeBtn {
  display: none;
}

.l-header__menuBtn {
  position: relative;
  z-index: 102;
}

.c-iconBtn__icon.-spMenuBars {
  position: relative;
  display: inline-block;
  width: calc(var(--fs-fluid) * 2.4);
  height: calc(var(--fs-fluid) * 1.6);
}
.c-iconBtn__icon.-spMenuBars > span {
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--fs-fluid) * 0.2);
  background: currentColor;
  border-radius: calc(var(--fs-fluid) * 0.1);
  transition: transform 0.3s ease, opacity 0.15s ease, top 0.3s ease, bottom 0.3s ease;
}
.c-iconBtn__icon.-spMenuBars > span:nth-child(1) {
  top: 0;
}
.c-iconBtn__icon.-spMenuBars > span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.c-iconBtn__icon.-spMenuBars > span:nth-child(3) {
  bottom: 0;
}

[data-spmenu=opened] .c-iconBtn__icon.-spMenuBars > span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
[data-spmenu=opened] .c-iconBtn__icon.-spMenuBars > span:nth-child(2) {
  opacity: 0;
}
[data-spmenu=opened] .c-iconBtn__icon.-spMenuBars > span:nth-child(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}

.c-spnav .menu-item-has-children > .p-spMenu__accRow {
  display: flex;
  align-items: center;
  border-bottom: calc(var(--fs-fluid) * 0.1) solid var(--color_border);
}
.c-spnav .menu-item-has-children > .p-spMenu__accRow > a {
  flex: 1 1 auto;
  border-bottom: none;
}
.c-spnav .p-spMenu__accToggle {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.c-spnav .p-spMenu__accToggle svg {
  display: block;
  transition: transform 0.3s ease;
}
.c-spnav .menu-item-has-children.is-open > .p-spMenu__accRow .p-spMenu__accToggle svg {
  transform: rotate(180deg);
}
.c-spnav .menu-item-has-children.-toggleLink > .p-spMenu__accRow > a {
  cursor: pointer;
}
.c-spnav .sub-menu {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  padding-bottom: 0 !important;
}
.c-spnav .sub-menu::after {
  content: "";
  display: block;
  height: calc(var(--fs-fluid) * 2);
}
@media (min-width: 768px) {
  .c-spnav .sub-menu::after {
    display: none;
  }
}
.c-spnav .sub-menu .menu-item:not(.menu-item-has-children) > a,
.c-spnav .sub-menu .menu-item-has-children > .p-spMenu__accRow > a {
  display: flex;
  align-items: center;
  gap: calc(var(--fs-fluid) * 0);
}
.c-spnav .sub-menu .menu-item:not(.menu-item-has-children) > a .c-solution-item__arrow,
.c-spnav .sub-menu .menu-item-has-children > .p-spMenu__accRow > a .c-solution-item__arrow {
  flex: 0 0 auto;
  margin-left: auto;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: calc(var(--fs-fluid) * 0.2);
  padding-right: calc(var(--fs-fluid) * 0.2);
  margin-top: calc(var(--fs-fluid) * -1.2);
  margin-bottom: calc(var(--fs-fluid) * -1.2);
  border-bottom: calc(var(--fs-fluid) * 0.1) solid #c6000c;
}
@media (min-width: 768px) {
  .c-spnav .sub-menu .menu-item:not(.menu-item-has-children) > a .c-solution-item__arrow,
  .c-spnav .sub-menu .menu-item-has-children > .p-spMenu__accRow > a .c-solution-item__arrow {
    margin-top: calc(var(--fs-fluid) * -1.2);
    margin-bottom: calc(var(--fs-fluid) * -1.2);
  }
}
.c-spnav .sub-menu .menu-item:not(.menu-item-has-children) > a .c-solution-item__arrow svg,
.c-spnav .sub-menu .menu-item-has-children > .p-spMenu__accRow > a .c-solution-item__arrow svg {
  display: block;
  width: calc(var(--fs-fluid) * 0.81);
}

.beforeFooterMenu .menu-item-has-children > .p-spMenu__accRow {
  display: flex;
  align-items: center;
  border-bottom: calc(var(--fs-fluid) * 0.1) solid var(--color_border);
}
.beforeFooterMenu .menu-item-has-children > .p-spMenu__accRow > a {
  flex: 1 1 auto;
  border-bottom: none;
}
.beforeFooterMenu .p-spMenu__accToggle {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.beforeFooterMenu .p-spMenu__accToggle svg {
  display: block;
  transition: transform 0.3s ease;
}
.beforeFooterMenu .menu-item-has-children.is-open > .p-spMenu__accRow .p-spMenu__accToggle svg {
  transform: rotate(180deg);
}
.beforeFooterMenu .menu-item-has-children.-toggleLink > .p-spMenu__accRow > a {
  cursor: pointer;
}
.beforeFooterMenu .sub-menu {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  padding-bottom: 0 !important;
}
.beforeFooterMenu .sub-menu::after {
  content: "";
  display: block;
  height: calc(var(--fs-fluid) * 2);
}
@media (min-width: 768px) {
  .beforeFooterMenu .sub-menu::after {
    display: none;
  }
}
.beforeFooterMenu .sub-menu .menu-item:not(.menu-item-has-children) > a,
.beforeFooterMenu .sub-menu .menu-item-has-children > .p-spMenu__accRow > a {
  display: flex;
  align-items: center;
  gap: calc(var(--fs-fluid) * 0);
}
.beforeFooterMenu .sub-menu .menu-item:not(.menu-item-has-children) > a .c-solution-item__arrow,
.beforeFooterMenu .sub-menu .menu-item-has-children > .p-spMenu__accRow > a .c-solution-item__arrow {
  flex: 0 0 auto;
  margin-left: auto;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: calc(var(--fs-fluid) * 0.2);
  padding-right: calc(var(--fs-fluid) * 0.2);
  margin-top: calc(var(--fs-fluid) * -1.2);
  margin-bottom: calc(var(--fs-fluid) * -1.2);
  border-bottom: calc(var(--fs-fluid) * 0.1) solid #c6000c;
}
@media (min-width: 768px) {
  .beforeFooterMenu .sub-menu .menu-item:not(.menu-item-has-children) > a .c-solution-item__arrow,
  .beforeFooterMenu .sub-menu .menu-item-has-children > .p-spMenu__accRow > a .c-solution-item__arrow {
    margin-top: calc(var(--fs-fluid) * -1.2);
    margin-bottom: calc(var(--fs-fluid) * -1.2);
  }
}
.beforeFooterMenu .sub-menu .menu-item:not(.menu-item-has-children) > a .c-solution-item__arrow svg,
.beforeFooterMenu .sub-menu .menu-item-has-children > .p-spMenu__accRow > a .c-solution-item__arrow svg {
  display: block;
  width: calc(var(--fs-fluid) * 0.81);
}
.beforeFooterMenu .menu-item a {
  display: block;
  color: inherit;
  text-decoration: none;
  line-height: 1.4;
  font-weight: 700;
  padding: calc(var(--fs-fluid) * 1.6) 0;
  border-bottom: calc(var(--fs-fluid) * 0.1) solid var(--color_border);
}
.beforeFooterMenu .menu-item a:hover {
  background-color: inherit;
}
.beforeFooterMenu .menu-item a::before {
  display: none;
}
.beforeFooterMenu .menu-item-has-children > .p-spMenu__accRow > a {
  border-bottom: none;
}
.beforeFooterMenu .sub-menu {
  padding-left: calc(var(--fs-fluid) * 2.9);
}
.beforeFooterMenu .sub-menu a {
  font-weight: 400;
  padding: calc(var(--fs-fluid) * 1.1) 0;
}
@media (min-width: 768px) {
  .beforeFooterMenu .p-spMenu__accToggle {
    display: none;
  }
  .beforeFooterMenu .sub-menu {
    max-height: none !important;
    overflow: visible;
  }
}

/*# sourceMappingURL=sp-menu.css.map */
