@charset "utf-8";
/* PCでは非表示。SPでは .l-header__btns（fixed）の中に並ぶ赤い丸ボタン */
#menu-button {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  border: none;
  cursor: pointer;
}

@media screen and (max-width: 680px) {
  body #menu-button {
    display: flex;
    width: 13.33vw;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--c-red-cta);
  }

  /* 3本線 */
  #menu-button .c-menu-btn__lines {
    position: relative;
    width: 6.4vw;
    height: 4.8vw;
  }
  #menu-button .c-menu-btn__lines span,
  #menu-button .c-menu-btn__lines::before,
  #menu-button .c-menu-btn__lines::after {
    content: "";
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 5px;
    border-radius: 1px;
    background-color: #fff;
    transition: 0.3s ease;
  }
  #menu-button .c-menu-btn__lines::before {
    top: 0;
  }
  #menu-button .c-menu-btn__lines span {
    top: 50%;
    transform: translateY(-50%);
  }
  #menu-button .c-menu-btn__lines::after {
    bottom: 0;
  }

  /* 開いた状態：中央のバーを消して上下をXに */
  #menu-button.is-active .c-menu-btn__lines span {
    opacity: 0;
  }
  #menu-button.is-active .c-menu-btn__lines::before {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  #menu-button.is-active .c-menu-btn__lines::after {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }

  /*-------drawer----*/
  /* 右端に幅90%のパネル。閉じている間は右外に逃がしておく */
  body #main-menu-container {
    position: fixed;
    z-index: 700;
    top: 0;
    left: auto;
    right: -90%;
    bottom: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10.67vw;
    width: 90%;
    height: 100vh;
    overflow-y: auto;
    transition: 0.3s linear;
    /* 白地の上にテクスチャを60%で重ねる
       ＝ 白40%のレイヤーをテクスチャに被せるのと同じ結果になる */
    background:
      linear-gradient(rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4)),
      url("../img/drawer-bg.jpg") center / cover no-repeat,
      #fff;
  }
  #main-menu-container.is-active {
    right: 0;
  }

  /* ロゴ（180px）はパネル中央。ナビをロゴと同じ幅にすることで、
     項目の左端がロゴの左端に揃う（Figmaと同じ関係） */
  .c-drawer__logo {
    width: 48vw;
  }
  #main-menu-container .c-nav {
    width: 48vw;
  }
  #main-menu-container .c-nav__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 10.67vw;
  }
  #main-menu-container .c-nav a {
    display: flex;
    align-items: center;
    gap: 1.33vw;
    font-family: "Noto Serif JP", serif;
    font-size: 4.8vw;
    font-weight: 600;
    line-height: 1.2;
    text-shadow: none;
  }
  /* 装飾：項目頭の「>」 */
  #main-menu-container .c-nav a::before {
    content: "";
    width: 1.6vw;
    aspect-ratio: 1;
    border-top: 0.4vw solid currentColor;
    border-right: 0.4vw solid currentColor;
    transform: rotate(45deg);
  }

  /* ドロワーを開いている間はtelボタンを隠す（デザインでは×だけ残る） */
  body.is-active .c-btn-tel {
    display: none;
  }
}
