.hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border: 2px solid var(--TXT_COLOR_BASE);
  border-radius: 50%;
  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: 4px;
  background-color: var(--WHITE);
}
#headerarea+.hamburger{
  position: fixed;
  z-index: 2000;
}
@media screen and (min-width: 768px){
  #headerarea+.hamburger{
    width: 32px;
    height: 32px;
    top: 68px;
    right: 5%;
  }
  body.scroll #headerarea+.hamburger{
    top: 28px;
  }
}
@media screen and (max-width: 767px){
  #headerarea+.hamburger{
    width: 30px;
    height: 30px;
    top: 45px;
    right: 6%;
  }
  body.scroll #headerarea+.hamburger{
    top: 13px;
  }
}
.hamburger:before {
  content: none;
}
.hamburger:after{
  top: 108%;
}
@media (hover: hover){
  .hamburger:hover{
    background-color: var(--THEME_COLOR_1);
    --HAMBURGER_LINE_COLOR: var(--WHITE);
    border-color: var(--THEME_COLOR_1);
  }
}
.hamburger.active{
}
.hamburger.active::after{
  content: var(--ACTIVE_LABEL);
  opacity: 0;
}

.hamburger__icon {
  position: relative;
}
.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 12px;
  height: 1.5px;
  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);
}
@media screen and (min-width: 768px){
  .fat-nav {
    top: 0;
    right: -150%;
    z-index: 1001;
    position: fixed;
    display: none;
    max-width: 375px;
    height: 100%;
    background: #fff;   
    -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;
    transition-duration: 0.3s;
    overflow-y: auto;
    overflow-x: hidden;
    transition: all 0.3s;
  }
  .fat-nav__wrapper {
    margin:0 auto;
    height: 100%;
    padding: 70px 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 {
    right: 0;
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
      -webkit-transition: all 1.2s ease;
    -moz-transition: all 1.2s ease;
    -o-transition: all 1.2s ease;
    transition: all  1.2s;
  }
  body.no-scroll{
    overflow: hidden;
  }
  body.no-scroll::before {
    background: rgba(0,0,0,.5);
    content: '';
    display: block;
    height: 100%;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
    transition: all 0.3s;
    opacity: 0;
      animation: var(--ANIME_FADEIN);
  }
}
@media screen and (max-width: 767px){
  .fat-nav {
    top: 0;
    left: 0;
    z-index: 1001;
    position: fixed;
    display: none;  
    width: 100%;
    height: 100%;
    background: #fff;   
    -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 {
    margin:0 auto;
    height: 100%;
    padding: 70px 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-logo{
  width: 77px;
  margin: 0 auto;
}

.fn-user__name{
  width: fit-content;
  margin: 45px auto 30px;
  font-weight: var(--FF_W_M);
  font-size: 14px;
  position: relative;
}
.fn-user__name::after{
  content: "";
  display: inline-block;
  background: url(../images/common/fukidashi.svg) no-repeat center center / 100%;
  aspect-ratio: 1/1;
  width: 15px;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(110%, -60%);
}
.fn-btnContainer{
  max-width: 280px;
  margin: 27px auto 0;
}
.fn-user .fn-btnContainer .g-btn{
  width: 100%;
  max-width: unset;
}
.fn-user .fn-btnContainer{
  margin-bottom: 20px;
}
.fn-topBtn{
  display: flex;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  gap: 20px;
  margin-left: 15px;
}
.fn-topBtn li a{
  display: grid;
  align-items: center;
  grid-template-columns: 42px 1fr;
  gap: 9px;
  position: relative;
}
.fn-topBtn li a .fs-client-cart-count{
  top: -3px;
  left: 28px;
}
.fn-topBtn li a::before{
  content: "";
  display: inline-block;
  background: var(--TXT_COLOR_BASE) var(--ICON) no-repeat center center / 40%;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
.fn-topBtn__label > span{
  display: block;
}
.fn-topBtn__label__en{
  font-family: var(--FF_EN);
  font-size: 18px;
  line-height: 1.2;
}
.fn-topBtn__label__ja{
  font-weight: var(--FF_W_M);
  font-size: 10px;
}
.fn-searchForm{
  position: relative;
  margin: 20px auto 10px;
}
.fn-searchForm input[type="text"]{
  width: 100%;
  background-color: var(--BGCOLOR_GRAY_1);
  height: 50px;
  padding: 0 35px 0 20px;
}
.fn-searchForm button[type="submit"]{
  display: block;
  --ICON: url(../images/common/hdr-icon_search.svg);
  --MASK: var(--ICON) no-repeat center center / 100%;
  mask: var(--MASK);
  -webkit-mask: var(--MASK);
  background-color: var(--GRAY03);
  aspect-ratio: 1/1;
  width: 25px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
}
.fn-keywords{
  display: flex;
  overflow-x: auto;
  flex-wrap: nowrap;
  padding-left: calc((100% - var(--INNER_WIDTH)) / 2);
  margin-bottom: 35px;
}
.fn-keywords li{
  display: inline-block;
	flex: 0 0 auto;
	margin-right: 10px;
}
.fn-keywords li a{
  font-size: 13px;
}
.fn-history{
  margin-bottom: 40px;
}
.fn-history:not(:has(.fr3-productListStatic)){
  display: none;
}
.fn-history__heading{
  font-size: 18px;
  margin-bottom: 10px;
}
.fn-history__heading__en{
  font-family: var(--FF_EN);
  font-size: 18px;
  line-height: 1;
}
.fn-history__heading__ja{
  font-size: 12px;
  display: block;
}
.fn-btnContainer--col2{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 20px;
  margin-bottom: 45px;
}
.fn-btnContainer--col2 .g-btn{
  width: 100%;
}
.fn-btnContainer--col2 .g-btn__anime--topLeft,
.fn-btnContainer--col2 .g-btn__anime--bottomRight{
  width: calc(100% - 10px);
}
.fn-btnContainer--col2 .g-btn__anime--topRight,
.fn-btnContainer--col2 .g-btn__anime--bottomLeft{
  height: calc(100% - 10px);
}
.fn-btnContainer--sample{
  margin: 40px auto;
}
.fn-btnContainer--sample .g-btn{
  width: 100%;
  max-width: unset;
}
.fn-link{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 10px;
  margin-bottom: 40px;
}
.fn-link li a{
  font-size: 12px;
}
.fn-footer{
  background-color: var(--GRAY04);
  padding: 50px 0;
}
.fn-footer__inner{
  display: grid;
  align-items: flex-end;
  grid-template-columns: 1fr auto;
}
.fn-footer__link{
  display: grid;
  gap: 10px;
}
.fn-footer__link li a{
  color: var(--WHITE);
  font-size: 12px;
}
.fn-footer__inner .ft-sns{
  margin: 0;
}