@charset "UTF-8";

/* --- 1. 基本設定と最適化（魔法のコード込み） --- */
.pws_tabs_container {
  width: 100%;
  box-sizing: border-box;
  /* レイアウト計算をスキップさせる最適化 */
  contain: paint;
  content-visibility: auto;
}
.pws_tabs_container *, .pws_tabs_container *:before, .pws_tabs_container *:after {
  box-sizing: border-box;
}
.pws_tabs_list, .pws_tab_single {
  display: block;
  transition: none !important; /* 無駄なアニメーション計算を完全破棄 */
}

/* --- 2. タブコントローラー（ボタン部分） --- */
.pws_tabs_container ul.pws_tabs_controll {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pws_tabs_container ul.pws_tabs_controll li {
  display: inline-block;
}
.pws_tabs_container ul.pws_tabs_controll li a {
  display: block;
  background-color: #9bd7d5;
  padding: 15px 20px;
  font-size: 16px;
  text-decoration: none;
  color: #fff;
  margin-right: 3px;
  cursor: pointer;
}
.pws_tabs_container ul.pws_tabs_controll li a:hover {
  background-color: #70c5c2;
}
.pws_tabs_container ul.pws_tabs_controll li a.pws_tab_active {
  background-color: white;
  color: #505050;
}

/* --- 3. タブの中身（リスト部分） --- */
.pws_tabs_list {
  background-color: #fff;
  height: auto;
  padding: 15px 5px;
  overflow: hidden;
  position: relative;
}
.pws_tabs_container.pws_none .pws_hide {
  display: none !important;
}
.pws_tabs_container.pws_none .pws_show {
  display: block !important;
}

/* --- 4. レスポンシブ（スマホ対応） --- */
@media only screen and (max-width: 60em) {
  .pws_tabs_container.pws_tabs_responsive ul.pws_tabs_controll { width: 100%; }
  .pws_tabs_container.pws_tabs_responsive ul.pws_tabs_controll li { text-align: center; }
  .pws_tabs_container.pws_tabs_responsive ul.pws_tabs_controll li a { margin: 0; line-height: 1.125em; }
}
@media screen and (max-device-width: 960.9px){
  .pws_tabs_container ul.pws_tabs_controll li a {
  padding: 15px 15px;
  font-size: 14px;
  }
}