.hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--HEADER_ICON_SIZE);
  height: var(--HEADER_ICON_SIZE);
  position: fixed;
  top: 17px;
  right: 15px;
  z-index: 998;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  --HAMBURGER_LINE_COLOR: var(--TXT_COLOR_BASE);
  --HAMBURGER_LINE_PS: 7px;
}
/*
.hamburger:before {
    content: "MENU";
    position: absolute;
    top: 42px;
    right: 19px;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 0;
    color: #000;
}
*/

.hamburger__icon {
  position: relative;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 18px;
  height: 1px;
  background-color: var(--HAMBURGER_LINE_COLOR);
  -moz-transition-property: background-color, -moz-transform;
  -o-transition-property: background-color, -o-transform;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}
.hamburger .hamburger__icon:before{
	width: 100% !important;
}
.hamburger .hamburger__icon:after {
	width: 100% !important;
}
.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}
.hamburger__icon:before {
  top: calc(0px - var(--HAMBURGER_LINE_PS));
}
.hamburger__icon:after {
  top: var(--HAMBURGER_LINE_PS);
}
.hamburger.active .hamburger__icon {
  background-color: transparent;
}
.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: var(--HAMBURGER_LINE_COLOR);
}
.hamburger.active .hamburger__icon:before {
  transform: translateY(var(--HAMBURGER_LINE_PS)) rotate(45deg);
  background-color: var(--HAMBURGER_LINE_COLOR);
}
.hamburger.active .hamburger__icon:after {
  transform: translateY(calc(0px - var(--HAMBURGER_LINE_PS))) rotate(-45deg);
  background-color: var(--HAMBURGER_LINE_COLOR);
}
.fat-nav {
  top: 0;
  left: 0;
  z-index: 996;
  position: fixed;
  display: none;  
  width: 100%;
  height: 100%;
  background: var(--WHITE) no-repeat center center / cover;
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
  -moz-transition-property: -moz-transform;
  -o-transition-property: -o-transform;
  -webkit-transition-property: -webkit-transform;
  transition-property: transform;
  -moz-transition-duration: 0.4s;
  -o-transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
.fat-nav__wrapper {
  height: 100%;
  padding: 60px 0% 50px;
  max-width:1100px;
  -webkit-box-sizing: border-box;
         -moz-box-sizing: border-box;
           -o-box-sizing: border-box;
          -ms-box-sizing: border-box;
              box-sizing: border-box;
}
.fat-nav.active {
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -webkit-transform: scale(1);
  transform: scale(1);
}

.fn-searchForm{
  width: 300px;
  margin: 0 auto 15px;
}
.fn-searchForm.formReset input[type="text"]{
  background-color: var(--GRAY01);
  height: 50px;
  padding: 0 40px 0 15px;
}
.fn-searchForm.formReset input[type="text"]::placeholder{
  color: var(--GRAY03);
}
.fn-searchForm.formReset button[type="submit"]{
  background-color: var(--TXT_COLOR_BASE);
  width: 16px;
  right: 20px;
}
.fn-user{
  margin-bottom: 38px;
}
.fn-block{
  width: var(--INNER_WIDTH);
  padding: 40px 15px 0;
  margin: 40px auto 0;
  border-top: 1px solid var(--GRAY03);
}
.fn-ttl{
  font-size: 16px;
  text-align: center;
  margin-bottom: 20px;
}
.fn-block .g-search__itemList--brand{
  grid-template-columns: repeat(3,1fr);
  gap: 10px 7px;
}
.fn-block .g-search__itemList__name{
  font-size: 12px;
  margin-top: 5px;
}
.fn-block .g-search__itemList--brand li:nth-of-type(n+6) .g-search__itemList__name small{
  display: none;
}
.fn-link{
  display: grid;
  gap: 15px;
}
.fn-link li a{
  display: block;
  position: relative;
}
.fn-link li a::after{
  content: "";
  display: inline-block;
  background: url(../images/common/slider-part.svg) no-repeat right center / 100%;
  aspect-ratio: 1/1;
  width: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  right: 0;
}
.fn-link li:has(a[href="/p/about/terms"]){
  margin-top: 30px;
}
.fn-sns{
  padding: 40px 0;
  justify-content: center;
}
.fn-sns li a{
  background-color: var(--GOLD02);
}
@media screen and (max-width: 767px){
  .g-nav > li{
    padding: 0 10px 15px 10px;
  }
  .g-nav > li:not(:last-child){
    border-bottom: 1px solid var(--GRAY02);
    margin-bottom: 15px;
  }
  .g-nav__item{
    font-size: 16px;
    position: relative;
  }
  .g-nav__item::before,
  .g-nav__item::after{
    content: "";
    display: inline-block;
    background: var(--TXT_COLOR_BASE);
    width: 10px;
    height: 1px;
    position: absolute;
    right: 10px;
    top: 15px;
    transition: .3s;
  }
  .g-nav__item::before{
    transform: rotate(90deg);
  }
  .g-nav__item.is-active::before{
    transform: rotate(0deg);
  }
  .g-nav__dropdownContainer{
    display: none;
    padding: 20px 0;
  }
}