/*
  Responsive Menu 4.x 対応
  3.x 時代（#responsive-menu-*）と同じ見た目・動きにする 2026-10-22
---------------------------------*/

/* ボタン：テーマの MENU ボタン（#js-menu-btn）の上に透明で重ねる */
button.rmp_menu_trigger {
  position: fixed !important;
  top: 13px !important;
  right: 20px !important;
  left: auto !important;
  width: 55px !important;
  height: 55px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  z-index: 99999 !important;
}

button.rmp_menu_trigger:focus:not(:focus-visible) {
  outline: none !important;
}

button.rmp_menu_trigger .rmp-trigger-box,
button.rmp_menu_trigger .rmp-trigger-label {
  opacity: 0 !important;
}

/* メニュー本体：紫の角丸パネルを右上から拡大表示 */
.rmp-container {
  top: 80px !important;
  bottom: auto !important;
  left: 0 !important;
  right: auto !important;
  width: calc(100% - 40px) !important;
  min-width: 0 !important;
  max-width: none !important;
  height: fit-content !important;
  max-height: calc(100vh - 100px) !important;
  margin: 0 20px !important;
  padding: 40px !important;
  border-radius: 50px;
  background: var(--color-site-accent) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  transform-origin: top right !important;
  transform: scale(0) !important;
  transition: transform .3s ease !important;
  z-index: 99998 !important;
}

.rmp-container.rmp-menu-open {
  transform: scale(1) !important;
  scrollbar-gutter: stable;
}

.rmp-container .rmp-menu-wrap,
.rmp-container .rmp-menu,
.rmp-container .rmp-submenu {
  background: transparent !important;
}

.rmp-container .rmp-menu {
  margin: 0 !important;
  padding: 0 !important;
}

/* 項目 */
.rmp-container li.rmp-menu-item {
  position: relative;
  padding: 0 !important;
  list-style: none;
}

.rmp-container li.rmp-menu-item .rmp-menu-item-link {
  display: block;
  height: 50px !important;
  padding: 0 5% !important;
  border-top: 1px solid rgba(255, 255, 255, .5) !important;
  border-bottom: none !important;
  background-color: transparent !important;
  color: #fff !important;
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 50px !important;
  text-align: left !important;
  text-decoration: none;
}

.rmp-container .rmp-menu > li.rmp-menu-item:first-child > .rmp-menu-item-link {
  border-top: none !important;
}

.rmp-container .rmp-menu > li#rmp-menu-item-440 > .rmp-menu-item-link {
  border-bottom: 1px solid rgba(255, 255, 255, .5) !important;
}

/* 子メニュー */
.rmp-container ul.rmp-submenu {
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(255, 255, 255, .5) !important;
}

.rmp-container ul.rmp-submenu li.rmp-menu-item:first-child .rmp-menu-item-link {
  border-top: none !important;
}

.rmp-container ul.rmp-submenu li.rmp-menu-item .rmp-menu-item-link {
  padding-left: 10% !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.rmp-container ul.rmp-submenu li.rmp-menu-current-item.menu-bold > .rmp-menu-item-link {
  padding-left: 5% !important;
}

/* 子メニューの開閉：行全体をタップで開閉、右端に＋／－ */
.rmp-container li.rmp-menu-item-has-children > .rmp-menu-subarrow {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  height: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 0 !important;
  cursor: pointer;
}

.rmp-container li.rmp-menu-item-has-children > .rmp-menu-subarrow > * {
  display: none !important;
}

.rmp-container li.rmp-menu-item-has-children > .rmp-menu-subarrow::before {
  content: "+";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 20px;
  height: 20px;
  margin-top: -8px;
  color: #fff;
  font-size: 18px;
  line-height: 20px;
}

.rmp-container li.rmp-menu-item-has-children > .rmp-menu-subarrow.rmp-menu-subarrow-active::before {
  content: "－";
}

/* お問い合わせ：白いボタン */
.rmp-container .rmp-menu > li#rmp-menu-item-90 {
  display: block !important;
  text-align: center;
}

.rmp-container .rmp-menu > li#rmp-menu-item-90 > .rmp-menu-item-link {
  width: 250px;
  height: 55px !important;
  margin: 32px auto 0;
  border: 1px solid #fff !important;
  border-radius: 50px;
  background: #fff !important;
  color: var(--color-site-accent) !important;
  line-height: 55px !important;
  text-align: center !important;
}

/* LANGUAGE は 3.x 同様に非表示 */
.rmp-container .rmp-menu > li#rmp-menu-item-245 {
  display: none !important;
}
