/*------
 .c-header 
 -------*/

.c-header {
}

.c-header__pc {
  position: absolute;
  right: 40px;
  top: 20px;
  z-index: 1000;
}

@media screen and (max-width: 1200px) {
  .c-header__pc {
    position: absolute;
    right: 60px;
  }
}


.c-header__sp {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 390px;
  width: 100%;
  display: none;
}

@media screen and (max-width: 1000px)  {
  .c-header__pc{
    display: none;
  }
  .c-header__sp {
    display: block;
  }
}

.c-header__wrap {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;

  height: 64px;
  padding: 0 10px;
}

.c-header__sp-logo-rkb {
  max-width: 55px;
}

.c-header__sp-logo-fes {
  max-width: 128px;
}
/*------
.c-header__menu
 -------*/
.c-header__menu {
  position: fixed;
  z-index: 1001;
  top: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 390px;
  height: 100dvh;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: all 0.4s;
}

@media screen and (max-width: 1000px) {
  .c-header__menu {
    top: 65px;
  }
}

.c-header__menu.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

.c-header__menu-wrap {
	position: relative;
    border-top: 2px solid #e45c40;
    background-color: #fff;
    padding: 5px 48px 30px;
	height: 100%;

}

.c-header__menu-main-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 0;
  border-bottom: 2px solid #e45c40;

}

.c-header__menu-main-link-wrap {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex: 1;
}

.c-header__menu-main-link-wrap p {
  font-weight: bold;
  font-size: 14px;
  color: #463e42;

}
.c-header__menu-main-link-wrap img {
  height: 11px;
  width: auto;
}

.c-header__menu-main-link-arrow {
  max-width: 16px;
}

.c-header__menu-sub {
  border-bottom: 2px solid #e45c40;
  padding: 17px 0 26px;

}

.c-header__menu-sub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}

.c-header__deco {
	position: absolute;
    max-width: 54px;
    margin: 0 auto;
	right: 44%;
    bottom: 60px;
}

/*------
 .c-header__btn 
 -------*/

.c-header__btn {
  width: 41px;
  height: 41px;
  border: 2px solid #e45c40;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.c-header__btn-wrap {
  width: 19px;
  height: 14px;
  position: relative;
}

.c-header__btn-wrap span {
  height: 2px;
  width: 100%;
  background: #e45c40;
  display: inline-block;
  position: absolute;
  left: 0;
  transition: all 0.4s;
}

.c-header__btn-wrap span:nth-child(1) {
  top: 0;
}

.c-header__btn-wrap span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}

.c-header__btn-wrap span:nth-child(3) {
  bottom: 0;
}

/* クリック時（.is-active付与時） */
.c-header__btn.is-active .c-header__btn-wrap span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.c-header__btn.is-active .c-header__btn-wrap span:nth-child(2) {
  opacity: 0;
}

.c-header__btn.is-active .c-header__btn-wrap span:nth-child(3) {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}
