@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* -----------------------------------------------
common
----------------------------------------------- */
html,
body {
  font-family: 'Noto Sans JP', sans-serif;
  width: 100%;
  overflow-x: hidden;
  position: relative;
}
body {
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
}
.inner__wrap {
  margin-inline: auto;
}

@media (max-width: 767px) {
  :root {
    --vw: calc(100vw / ●●●); /* ●●● = 基準値、vwの計算に使用：calc(var(--vw) * px) */
  }
  .pc__only {
    display: none;
  }
  body {
    font-size: 14px;
  }
  .inner__wrap {
    width: %;
  }
}

@media (min-width: 768px) {
  :root {
    --vw: calc(100vw / ●●●); /* ●●● = 基準値、vwの計算に使用：calc(var(--vw) * px) */
  }
  .sp__only {
    display: none;
  }
  body {
    font-size: 16px;
  }
  .inner__wrap {
    width: 100%;
    max-width: calc(px + 40px);
    padding: 0 20px;
  }
}

@media (any-hover: hover) {
  a,
  button {
    transition: all .3s;
  }
  a:hover,
  button:hover {
    opacity: 0.8;
  }
}

/* -----------------------------------------------
header
----------------------------------------------- */
@media (max-width: 767px) {
  /* ハンバーガー */
  header {
    position: relative;
    width: 100%;
    height: 75px;
  }
  /* html:has(body.menu__open),
  body.menu__open {
    height: 100%;
    overflow: hidden;
  } */
  #nav__toggle {
    width: 75px;
    height: 75px;
    position: absolute;
    top: 0px;
    right: 0;
    z-index: 10;
    background: none;
    border: none;
    padding: 0;
  }
  #nav__toggle span {
    width: 25px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    background: #F177A6;
    position: absolute;
    transition: transform .6s ease-in-out, top .5s ease;
  }
  #nav__toggle span:nth-child(1) {
    top: 28px;
  }
  #nav__toggle span:nth-child(2) {
    top: 36px;
  }
  #nav__toggle span:nth-child(3) {
    top: 44px;
  }
  body.menu__open #nav__toggle span:nth-child(1) {
    top: 35px;
    transform: translateX(-50%) rotate(45deg);
  }
  body.menu__open #nav__toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  body.menu__open #nav__toggle span:nth-child(3) {
    top: 35px;
    transform: translateX(-50%) rotate(-45deg);
  }
  .header__nav__wrap {
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
    transition: all 0.5s;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 calc(50% - 50vw);
    padding: 75px 4% 150px;
    overflow-y: scroll;
    z-index: 9;
  }
  body.menu__open .header__nav__wrap {
    transform: translateX(0);
    -webkit-transform: translateX(0);
  }
}




@media (prefers-color-scheme: dark) {

  body {
    background: #111827; /* 濃いネイビーグレー */
    color: #e5e7eb;      /* 明るめの灰色 */
  }

}