@charset "utf-8";

.header{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}


.header a:has(.header-logo){
  position: fixed;
  z-index:9999;
  top: 3rem;
  left:0 ;
  background:#99DDDD;
  padding:0px 24px 0px 5.5%;
  box-shadow:0px 3px 6px rgba(0,0,0,0.16);
  border-radius:5px 5px 0 0;
  width: 25%;
  max-width: 480px;
}

.hamBtn {
  position: fixed;
  z-index:9999;
  top: 3.5rem;
  right:5% ;
  cursor: pointer;
  z-index: 9999;
  transition: all .5s;
  display:block;
  width: 10%;
}

.hamBar {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  font-size:clamp(0.938rem, 0.278rem + 2.2vw, 2.75rem);
}

.hamBar p{
  line-height:1;
}

.hamBar>div {
  position:relative;
}

.hamBar>div img:last-child{
  position:absolute;
  width:85%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(-1, 1);
  -webkit-transform: translate(-50%, -50%) scale(-1, 1);
  -ms-transform: translate(-50%, -50%) scale(-1, 1);
  transition:0.3s ease-in-out;
}

.hamBtn:hover  .hamBar>div img:last-child{
  width:95%;
}

.sp__menu {
  background-color: #fff;
  position: absolute;
  border:3px solid #0B1E39;
  top: 50%;
  opacity: 0;
  width:275px;
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items:center;
  transition: 1s;
  z-index:-100;
  border-radius:8px;
  padding: 55% 1rem 1rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  visibility: hidden;
}

.sp__menu .btn{
  font-size:18px;
}

.sp__menu.active {
  opacity: 1;
  visibility: visible;
  z-index: -1;
}

.close-btn{
  width:95px;
  margin:0 auto;
}

.ham-wrap{
  margin: 2rem auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.ham-wrap > p{
  color:#ACACAC;
  font-size:14px;
  font-weight:bold;
  margin-top:8px;
}

.ham-wrap > a{
  font-weight:bold;
  display: block;
  width: fit-content;
}

.ham-wrap > a:hover{
  color:#A38370;
}

.sp__menu .hamBtn{
  top: 28px;
  right: calc(2.5% + 4px);
}

@media (max-width: 1600px) {
  .header a:has(.header-logo){
    width: 25%;
  }
}

@media (max-width: 1400px) {
  .header a:has(.header-logo){
    width: 25%;
  }
  .sp__menu{
    width: 230px;
  }
  .ham-wrap{
    gap: 0.5rem;
    font-size: 14px;
    margin: 1rem auto;
  }
}

@media (max-width: 1279px) {
  .sp__menu {
    width: 200px;
  }
}

@media (max-width: 1024px) {
  .header a:has(.header-logo){
    top:2rem;
    padding: 0px 0px 0px 3%;
  }
  .hamBtn{
    top: 1.5rem;
    right: 2.5%;
  }
  .sp__menu{
    transform:none;
    left: auto;
    right: 0;
  }
}


@media (max-width: 767px) {
  .sp__menu{
    width:270px;
  }
  .header a:has(.header-logo) {
    top: 1.5rem;
    padding: 0px 0px 0px 5%;
    width: 285px;
  }
  .hamBtn {
    top: 1rem;
    right: 2.5%;
    width: 4rem;
  }
  .ham-wrap{
    margin: 0rem auto 2rem;
    gap: 1rem;
    font-size: 1rem;
  }
  .sp__menu{
    padding: 3rem 1rem 1rem;
  }
}


#header.UpMove{
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

