/* ページトップ */
#toTop {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 64px;        /* ← 大きさ */
  height: auto;
  cursor: pointer;
  display: none;     /* 最初は非表示 */
  z-index: 9999;
  opacity: 0;
transition: opacity .8s ease;
}
#toTop.show {
  display: block;
  opacity: 1;
}

/* 見出し */
.accordion-title, .accordion-subtitle {
  cursor: pointer;
  padding: 21px 10px 21px 20px;
  background: #fff;
  border-bottom: 0.5px solid #ddd;
}

.accordion-subcontent {
  cursor: pointer;
  background: #fff;
  border-bottom: 0.5px solid #ddd;
}

/* 中身 */
.accordion-content {
  display: none;
  padding: 0px;
}

/* 開いている状態 */
.accordion-title.is-open {
  background: #fff;
}

/* 第2階層対応 */
.accordion-content,
.accordion-subcontent {
  display: none;
}
/* アイコン */
.accordion-title,
.accordion-subtitle {
  position: relative;
}
.accordion-icon {
  position: absolute;
  right: 22px;
  top: 50%;
  width: 20px;
  height: 20px;
  background: url("../../images/exp2.png") no-repeat center / contain;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0s ease;
}

.accordion-title.is-open .accordion-icon,
.accordion-subtitle.is-open .accordion-icon {
  transform: translateY(-50%) rotate(180deg);
}

/* 階層なし */
.accordion-subtitle.single .accordion-icon,
.accordion-title.single .accordion-icon {
  display: none;
}

/* リンクを全面クリックにする */
.accordion-title.single a,
.accordion-subtitle.single a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

/* ========== 二階層アイコン ========== */

.single ul,
.single2 ul{ 
	margin: 0 0 0 10px;
	padding: 1px 0;
}
.single3 ul{ 
	margin: 0 0 0 26px;
}
.single li,
.single2 li,
.single3 li{
	background:url("../../images/icon_arrow_02.png") no-repeat 0 0;
	background-size:auto 6px;
	background-position: 0px 6px;
	padding: 0 10px 0 10px;
	font-size: 85%;
}


/* 第1階層が開いている */
.accordion-title.is-open,
.accordion-subtitle.is-open {
  color: #ef2f21;
}

/* 第2階層が開いているときの親 */
.accordion-title.is-child-open {
  color: #ef2f21;
}

/* なめらかに */
.accordion-title {
  transition: color 0.2s ease;
}
/* ホバー時 */
.accordion-title:hover,
.accordion-subtitle:hover,
.single li:hover {
  color: #ef2f21;
	opacity: 0.50;
}
/* 二階層後のメニュー */
.accordion-subitem {
	padding: 20px;
  background: #fff;
  border-bottom: 0.5px solid #ddd;
}
.partitionsidebar a {
  text-decoration: none;
  color: #000000;
}
.accordion-subcontent a:hover {
  opacity: 0.50;
}
/* 飛んだ先の色指定 */
.is-current {
  color: #ef2f21;
}



/* 以下スマホ用メニュー */
/* 共通 */
.partitionsidebar {
	background: #fff;
}

/* ハンバーガーボタン */
.menu-toggle {
  display: none;
  font-size: 30px;
  background: none;
  border: none;
}

/* オーバーレイ */
.menu-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
    z-index: 10000;
}
.sp-menu{
  display: none;
}
/* ===== スマホ ===== */
@media (max-width: 768px) {

.sp-menu{
  display: block;
}
  .menu-toggle {
    display: block;
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 100001;

  width: 50px;
  height: 50px;
  font-size: 30px;
  line-height: 1;
  background: #000;
  color: #fff;
  border: none; 
  }
.menu-toggle:focus,
.menu-toggle:active,
.menu-toggle:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
  .partitionsidebar {
    position: fixed;
    top: 0;
    left: -380px;
    width: 360px;
    height: 100%;
    overflow-y: auto;
    z-index: 99999;
    transition: left 0.3s ease;
  }

  .partitionsidebar.is-open {
    left: 0;
  }

  .menu-overlay.is-open {
    display: block;
  }

}
