@charset "Shift_JIS";
/* --------------------------------------------------------------------
「JS連動コンテンツ」用CSS
--------------------------------------------------------------------- */
/*--------------------- PC -------------------------------------------------*/

/* 【JS】タブ切り替えコンテンツ（.js-tab-switch）(JS連動コンテンツ)
================================================== */
/* ナビボタン */
.mainframe_ .js-tab-switch {
  margin: 40px 0 30px 0;
}

.mainframe_ .js-tab-switch div {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: auto;
}

.mainframe_ .js-tab-switch button {
  width: 100%;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
}

/* 子要素のイベント伝播OFF */
.mainframe_ .js-tab-switch button * {
  pointer-events: none;
}

.mainframe_ .js-tab-switch button a {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 3em;
  padding: 0.3em 0;
  border-bottom: 4px solid #ccc;
  font-size: 2.0rem;
  font-weight: bold;
  color: #777;
  line-height: 1.2em;
  text-decoration: none;
  opacity: 1;
  letter-spacing: 0.08em;
  transition: border-bottom 0.3s ease, color 0.3s ease;
}

.mainframe_ .js-tab-switch button a .num {
  font-size: 1.6rem;
  transition: none;
}

/* アクティブ状態の管理 */
.mainframe_ .js-tab-switch button.active-item a {
  border-color: #333;
  color: #333;
}


/*--------------------- SP -------------------------------------------------*/

/* 【JS】タブ切り替えコンテンツ（.js-tab-switch）(JS連動コンテンツ)
================================================== */
.wrapper_:not(:has(.mainframe_)) .js-tab-switch {
  margin: 40px 0 30px 0;
}

.wrapper_:not(:has(.mainframe_)) .js-tab-switch div {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: auto;
}

.wrapper_:not(:has(.mainframe_)) .js-tab-switch button {
  width: 100%;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
}

/* 子要素のイベント伝播OFF */
.wrapper_:not(:has(.mainframe_)) .js-tab-switch button * {
  pointer-events: none;
}

.wrapper_:not(:has(.mainframe_)) .js-tab-switch button a {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 4em;
  padding: 0.3em 0;
  border-bottom: 4px solid #ccc;
  font-size: 1.6rem;
  font-weight: bold;
  color: #777;
  line-height: 1.2em;
  text-decoration: none;
  opacity: 1;
  letter-spacing: 0.08em;
  transition: border-bottom 0.3s ease, color 0.3s ease;
}

.wrapper_:not(:has(.mainframe_)) .js-tab-switch button a .num {
  font-size: 1.4rem;
  transition: none;
}

/* アクティブ状態の管理 */
.wrapper_:not(:has(.mainframe_)) .js-tab-switch button.active-item a {
  border-color: #333;
  color: #333;
}
