.header {
  position: sticky;
  top: 0;
  background-color: #fff;
  z-index: 9999;
}
html{
  scroll-behavior: smooth;
}
.header_logo_img {
  width: 16.479rem;
  height: 6.261rem;
  object-fit: cover;
  margin-left: 0.5rem;
}

.info_logo {
  width: 2.6rem;
  height: 2.6rem;
  object-fit: cover;
}

.info_text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  line-height: 125%;
  letter-spacing: calc(2rem * 0.02);
  color: #ffffff;
  background-image: linear-gradient(to right, #F9BDC5, #0A435F);
  padding: 0.9rem 1rem 0.6rem 1.1rem;
}

.header_flex {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 76.721rem;
  height: 8.9rem;
  padding-bottom: 1.639rem;
}

.hamburger {
  width: 7.42rem;
  height: 3.429rem;
  position: relative;
  cursor: pointer;
}

.hamburger span {
  width: 7.42rem;
  height: 0.2rem;
  background-color: #323232;
  /* 線の色 */
  position: absolute;
  top: -0.7rem;
  left: 0;
  transition: all 0.3s;
  /* アニメーション用 */
}

/* 1本目：上 */
.hamburger span,
.hamburger span::before,
.hamburger span::after {
  content: "";
  display: block;
  height: 0.2rem;
  width: 7.2rem;
  background-color: #323232;
  transition: 0.2s ease;
  position: absolute;
}

/* 2本目：中 */
.hamburger span::before {
  top: 1.642rem;
  left: 2.9rem;
  width: 4.343rem;
}

/* 3本目：下 */
.hamburger span::after {
  bottom: calc(1.642rem * -2);
  left: 2.9rem;
  width: 4.343rem;
}

.hamburger.active {
  z-index: 9999;
}

.hamburger.active {
  background-image: linear-gradient(to right, #F9BDC5, #468DAF);
  height: 7.2rem;
  top: 1rem;

}

.hamburger.active span {
  width: 7.2rem;
  left: 0;
  top: 0rem;
  background: transparent;

}

.hamburger.active span::before,
.hamburger.active span::after {
  width: 7.2rem;
  left: 0;
  top: 3.4rem;
  background-color: #ffffff;
}

.hamburger.active span::before {
  
  transform: rotate(45deg);
  z-index: 9999;
}

.hamburger.active span::after {
  
  transform: rotate(-45deg);
  z-index: 9999;
}

.free_info.active {
  opacity: 0;
}

.nav_content {
  width: 66.5rem;
  height: 100dvh;
  max-height: 100dvh;
  background-color: #f0f0f0;
  position: fixed;
  top: 0;
  left: 50%;
  right: 0;
  bottom: 0;
  z-index: 99;
  overflow-y: auto;
  overscroll-behavior: contain;
  box-sizing: border-box;

  opacity: 0;
  visibility: hidden;
  transform: scale(0.98);

  transition: opacity 0.4s ease,
    transform 0.4s ease,
    visibility 0.4s;
}


/* 表示 */
.nav_content.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

body.menu_open {
  /* overflow: hidden; */
   position: fixed;
  width: 100%;
  overflow: hidden;
}




.nav_item {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 130%;

  width: fit-content;

  color: #323232;
  padding-bottom: 3rem;
}

.nav_item:hover {
  color: #F9BDC5;
}

.nav_item a {
  position: relative;
}

.nav_item a::before {
  content: "";
  width: 1.246rem;
  height: 0.1rem;
  background-color: #0A435F;
  position: absolute;
  top: 1rem;
  left: -2.8rem;
  transform: rotate(45deg);
  display: inline;
}

.nav_item a::after {
  content: "";
  width: 1.246rem;
  height: 0.1rem;
  background-color: #0A435F;
  position: absolute;
  top: 1.8rem;
  left: -2.8rem;
  transform: rotate(-45deg);
  display: inline;
}

.nav_wrap {
  margin-left: 7.5rem;
  margin-top: clamp(4rem, 8vh, 8.7rem);
  padding-bottom: 4rem;
}




.info_content img {
  width: 16.479rem;
  height: 6.261rem;
  object-fit: cover;
  margin-bottom: 1.4rem;
}

.info_content p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 1.7rem;
  line-height: 147%;
  letter-spacing: calc(1.7rem * 0.04);
  color: #323232;
  padding-bottom: 0.2rem;
}

.info_content {
  margin-top: 1.5rem;
  margin-left: -2.6rem;
}

.info_flex {
  display: flex;
  gap: 3.8rem;
}


@media screen and (max-width: 699.98px) {
  .header_flex {
    gap: 4.835rem;
    height: 6.9rem;
    padding-bottom: 1.139rem;
  }

  .info_logo {
    width: 1.806rem;
    height: 1.806rem;
  }

  .info_text {
    font-size: 1.389rem;
    padding: 0.4rem 0.729rem 0.43rem 0.764rem;
    display: block;
    margin-top: 1.3rem;
    /* width: 12rem; */
  }

  .info_flex {
    gap: 1.2rem;
  }

  .header_logo_img {
    width: 11.465rem;
    height: 4.338rem;
  }

  .hamburger span {
    width: 4.37rem;
    top: 1.3rem;
  }

  .hamburger span::before {
    top: 1.2rem;
  }

  .hamburger span::after {
    top: 2.2rem;
  }

  .hamburger span::before,
  .hamburger span::after {
    width: 2.64rem;
    left: 1.8rem;
  }

  .hamburger.active {
    height: 4.7rem;
    top: 0.4rem;
    left: -0.4rem;
  }
  .hamburger.active span{
    width: 4.2rem;
  }

  .hamburger.active span::before,
  .hamburger.active span::after {
    width: 5.04rem;
    left: 0;
    top: 2.4rem;
    background-color: #ffffff;
  }

  .nav_wrap {
    margin-left: 4.2rem;
    margin-top: 10.6rem;
  }

  .nav_item {
    font-size: 1.373rem;
    padding-bottom: 2.4rem;
  }
.nav_item a::before{
  width: 1rem;
  top: 0.6rem;
}
.nav_item a::after{
  width: 1rem;
  top: 1.3rem;
}
  .nav_content {
    width: 100%;
    height: 100%;
    left: 0%;
  }

  .hamburger {
    width: 4.7rem;
    height: 4.7rem;
    margin-right: 0.3rem;
  }

  .info_content img {
    width: 13.35rem;
    height: 5.036rem;
    object-fit: cover;
    margin-top: 2rem;
  }
.info_content p{
  font-size: 1.373rem;
}



}