/* テーブル内要素の上寄せクラス */

.vertical-top td {
vertical-align: top;
}

/* コンテンツ切り替えタブが下のコンテンツと近すぎるのを回避 */
.switch-content-chip-tab-wrapper{
margin-bottom: 10px;
}

/*非リンク目次*/

nav#contents .separator {
    font-weight: 600;
        line-height: 2.5;
}

.text_change td {
    font-size: 12px;
}

.kamigame-layout-main > .article {
background: repeat-y center/100% auto url("/img/bluearchive/bluearchive_bg.png");
border: 1px solid #efefef;
box-sizing: border-box;
}

.kamigame-dropmenu {
background-color: transparent;
}

.game-header-wrapper {
background: #44435f;
}

.main__article {
padding: 0;
}

.article-header {
padding: 30px 30px 15px 30px;
}

.article-inner {
padding: 15px;
background-color: rgba(255, 255, 255, 0.7);
}

nav#contents {
border: 1px solid #d4d4d4;
}

nav#contents h2 {
box-shadow: none;
text-shadow: none;
}

.kamigame-layout-main h2 {
color: #fff;
padding: 12px 10px 12px 20px;
background: no-repeat center/100% 100% url("/img/bluearchive/bluearchive_h2.png");
position: relative;
line-height: 1;
text-shadow: 0 0 3px #000;
}

@media screen and (max-width: 728px) {
.kamigame-layout-main h2,
#priority_side .side-block h2 {
padding: 12px 10px 12px 15px;
}
}

@media screen and (max-width: 728px) {
#priority_side .side-block h2 {
color: #fff;
background: no-repeat center/100% 100% url("/img/bluearchive/bluearchive_h2.png");
position: relative;
line-height: 1;
text-shadow: 0 0 3px #000;
}
}

@media screen and (max-width: 728px) {
#priority_side .side-block h2::before {
content: none;
}
}

@media screen and (max-width: 728px) {
#priority_side .side-block h2 {
color: #fff;
padding: 12px 10px 12px 20px;
background: no-repeat center/100% 100% url("/img/bluearchive/bluearchive_h2.png");
position: relative;
line-height: 1;
text-shadow: 0 0 3px #000;
}
}

@media screen and (max-width: 728px) {
#priority_side .side-block h2::before {
content: none;
}
}

.kamigame-layout-main h3 {
border-bottom: 2px solid #495880;
padding: 5px 15px 6px 20px;
}

@media screen and (max-width: 728px) {
.kamigame-layout-main h3 {
  padding: 4px 10px 4px 15px;
}
}

.kamigame-layout-main h3:before {
top: 0;
content: "";
display: block;
width: 100%;
background-image: url("/img/bluearchive/bluearchive_h3.png");
width: 10px;
height: 36px;
background-size: 10px 36px;
background-repeat: no-repeat;
}

@media screen and (max-width: 728px) {
.kamigame-layout-main h3:before {
  width: 8px;
  height: 33px;
  background-size: 8px 33px;
}
}

.kamigame-layout-main h4:before {
position: absolute;
content: "";
display: block;
width: 100%;
background-image: url("/img/bluearchive/bluearchive_h4.png");
width: 22px;
height: 22px;
background-size: 22px 22px;
background-repeat: no-repeat;
}

.kamigame-layout-main th,
.kamigame-layout-main table.matrix_rowspan_table tr:first-child td:first-child,
.kamigame-layout-main table.matrix_table td:first-child, .side-block table.matrix_table td:first-child, .side_block table.matrix_table td:first-child {
background-color: #edf4fa;
}

.kamigame-layout-main td {
background: #fff;
}

.kamigame-layout-main .button_navigation a {
background: linear-gradient(to bottom, #d1fbfe, #9ff4f7);
border: 2px solid #617fd4;
color:#484764;
}

.kamigame-layout-main .button_navigation a:after,
.kamigame-layout-main .button_navigation a:hover:after {
border-bottom: 2px solid #484764;
border-right: 2px solid #484764;
}

.kamigame-layout-main .button_navigation a:hover {
opacity: 0.7;
background: linear-gradient(to bottom, #d1fbfe, #9ff4f7);
color:#484764;
}

#article_comment {
padding: 15px;
}

.article-inner-widget {
padding: 15px;
}

#enquete .enquete_box .enquete_bar {
background-color: #fff;
}

.enquete_button_box > .button_navigation > a {
border: 2px solid #617fd4;
color: #484764;
}

.enquete_button_box > .button_navigation > a:before {
background: none;
}

.side-block h2, .side_block h2 {
position: relative;
background: linear-gradient(to right, #44435f, #6f6e91);
background-size: 100% 100%;
padding: 5px 5px 5px 15px;
}

.side-block h2:before, .side_block h2:before {
position: absolute;
left: 0;
top: 0;
border: none;
content: "";
width: 5px;
height: 100%;
background: #617fd4;
}

.side-block h2:after, .side_block h2:after {
border: none;
border-bottom: 3px solid transparent;
border-right: 5px solid #617fd4;
content: "";
left: 0;
position: absolute;
top: 100%;
}

@media screen and (max-width: 768px) {
.side-block h2:after, .side_block h2:after {
border: none;
}
}

.side-block h3:after {
border-bottom: 3px solid #617fd4;
}

.side-block h4 {
border-left: 4px solid #617fd4;
}

.kamigame-layout-main table.step_table .chart_number {
background: #d6f2f9;
color: #333;
}

.kamigame-layout-main table.point_table td:before {
border: 8px solid #d6f2f9;
}

.kamigame-layout-main table.point_table td:after {
border: solid #333;
border-width: 0 2px 2px 0;
}

.kamigame-table-of-contents {
background-color: #fff;
}

.kamigame-layout-main .related_links::after {
background: #d6f2f9;
color: #333;
font-weight: 700;
}

.kamigame-layout-main table.sidebar_ranking .rank_other, .side-block table.sidebar_ranking .rank_other, .side_block table.sidebar_ranking .rank_other {
background-color: #495880;
}

.table_search_form {
background-color: #efefef;
}

.kamigame-layout-main table.pagination td, .side-block table.pagination td, .side_block table.pagination td{
border: 2px solid #484764;
}

.kamigame-layout-main table.pagination td:first-child:before, .side-block table.pagination td:first-child:before, .side_block table.pagination td:first-child:before,
.kamigame-layout-main table.pagination td:first-child:hover:before, .side-block table.pagination td:first-child:hover:before, .side_block table.pagination td:first-child:hover:before {
border-left: 2px solid #484764;
border-top: 2px solid #484764;
}

.kamigame-layout-main table.pagination td:last-child:before, .side-block table.pagination td:last-child:before, .side_block table.pagination td:last-child:before,
.kamigame-layout-main table.pagination td:last-child:hover:before, .side-block table.pagination td:last-child:hover:before, .side_block table.pagination td:last-child:hover:before {
border-bottom: 2px solid #484764;
border-right: 2px solid #484764;
}

.kamigame-layout-main table.pagination td:first-child, .side-block table.pagination td:first-child, .side_block table.pagination td:first-child, .kamigame-layout-main table.pagination td:last-child, .side-block table.pagination td:last-child, .side_block table.pagination td:last-child {
background: #9ff4f7;
}

.kamigame-layout-main table.pagination td a, .side-block table.pagination td a, .side_block table.pagination td a {
color:#484764;
}

.kamigame-layout-main table.pagination td a:hover, .side-block table.pagination td a:hover, .side_block table.pagination td a:hover {
opacity: 0.7;
background: #9ff4f7;
color: #484764;
}

.user-saiten-tool {
background-color: #fff;
}

.side-block .custom_header_table, .side_block .custom_header_table, .kamigame-layout-main .custom_header_table {
background-color: #fff;
border: 2px solid #6d68cd;
border-radius: 5px;
box-shadow: 0 0 10px -4px #6d68cd;
}

.kamigame-layout-main .custom_header_table th>strong, .side-block .custom_header_table th>strong, .side_block .custom_header_table th>strong {
color: #6d68cd;
}

.kamigame-layout-main .custom_header_table td:before, .side-block .custom_header_table td:before, .side_block .custom_header_table td:before {
background: url("/img/bluearchive/bluearchive_h4.png");
background-size: 12px 12px;
border-radius: unset;
width: 12px;
height: 12px;
}

.side-block .custom_header_table td:before, .side_block .custom_header_table td:before, .kamigame-layout-main .custom_header_table td:before {
top: 50%;
left: 11px;
transform: translateY(-50%);
}

.kamigame-layout-main .custom_header_table td a, .side-block .custom_header_table td a, .side_block .custom_header_table td a {
padding: 5px 10px 5px 26px;
}
.kamigame-layout-main .custom_header_table tr:last-child td a, .side-block .custom_header_table tr:last-child td a, .side_block .custom_header_table tr:last-child td a {
padding: 5px 10px 10px 26px;
}

/* STRIKER と SPECIAL のタブの色を変える */
.switch-content-text-tab-tab-wrapper:has(#最強-STRIKER:checked),
.switch-content-text-tab-tab-wrapper:has(#おすすめキャラ-STRIKER:checked) {
    border-bottom-color: #ca160c;
}
.switch-content-text-tab-tab-wrapper #最強-STRIKER:checked + .tab,
.switch-content-text-tab-tab-wrapper #おすすめキャラ-STRIKER:checked + .tab {
    background-color: #ca160c;
}
.switch-content-text-tab-tab-wrapper:has(#最強-SPECIAL:checked),
.switch-content-text-tab-tab-wrapper:has(#おすすめキャラ-SPECIAL:checked) {
    border-bottom-color: #0076ff;
}
.switch-content-text-tab-tab-wrapper #最強-SPECIAL:checked + .tab,
.switch-content-text-tab-tab-wrapper #おすすめキャラ-SPECIAL:checked + .tab {
    background-color: #0076ff;
}

/* タグ_攻撃 */
.tag_attack {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #ffad6c;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_バフ */
.tag_buff {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #ff938e;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_デバフ */
.tag_debuff {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #7ee2ff;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_回復・緑 */
.tag_recovery-green {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #98f693;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_CC */
.tag_cc {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #ddbeff;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_回復・ピンク */
.tag_recovery-pink {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #ffaad9;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_コストサポート */
.tag_cost-support {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #fff776;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_耐久 */
.tag_endurance {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #cececf;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* タグ_その他 */
.tag_others {
display: inline-block;
text-align: center;
font-size: 1.2rem;
line-height: 1;
font-weight: 700;
background-color: #dae1be;
margin: 0px 2px;
padding: 3px 5px;
border-radius: 3px;
}

/* チャート記法をタイムラインっぽくする 〜ここから〜 */
.chart ul>li {
  overflow: hidden;
  margin: 0 0 0 10px;
  position: relative;
  padding: 0 !important;
  border-left: none !important;
  background-color: #fff;
}

.chart ul>li::after {
  content: '';
  width: 3px;
  background: #e7e7eb;
  display: block;
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 5px;
}

.chart .chart__subject {
  margin: 0 !important;
  padding: 2px 6px 2px 20px !important;
  font-weight: 600;
  font-size: 12px;
  color: #333;
  border: none !important;
  width: max-content;
  line-height: 18px;
  position: relative;
}

.chart .chart__subject::before {
  content: '';
  width: 16px;
  height: 16px;
  position: absolute;
  display: inline-block;
  top: 50%;
  transform: translateY(-50%);
  margin-left: -17px;
}

.chart .chart__subject.time::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%236bb6ff" d="M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M19.03,7.39L20.45,5.97C20,5.46 19.55,5 19.04,4.56L17.62,6C16.07,4.74 14.12,4 12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C17,22 21,17.97 21,13C21,10.88 20.26,8.93 19.03,7.39M11,14H13V8H11M15,1H9V3H15V1Z" /></svg>') no-repeat center center;
}

.chart .chart__subject.condition::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%236bb6ff" d="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z" /></svg>') no-repeat center center;
}

.chart .chart__subject.cost::before {
  background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%236bb6ff" d="M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z" /></svg>') no-repeat center center;
}

.chart .chart__subject.timebar {
  margin: 0 !important;
  padding: 1px 5px 1px 1px !important;
  font-weight: 600;
  font-size: 12px;
  border: none !important;
  width: 95%;
  line-height: 18px;
  text-align: center;
  color: #fff;
  background-color: #4682b4;
  border-radius: 0;
}

.chart ul>li p {
  display: flex;
  align-items: center;
  margin: 0 0 4px 0 !important;
  padding-left: 16px !important;
  font-size: 12px;
}

.chart ul>li p:last-child {
  margin-bottom: 10px !important;
}

.chart ul>li p span[class^="icon"] {
  display: flex;
  align-items: center;
}
/* チャート記法をタイムラインっぽくする 〜ここまで〜 */

/* キャラクター ティア表 〜ここから〜 */
.switch-content-text-tab-tab-wrapper:has(+ .switch-content-text-tab > .bluearchive-tier-table-row) {
  margin-bottom: 0;
}

.switch-content-text-tab:has(.bluearchive-tier-table-row) {
  background-color: #353535;
  padding: 4px;
  box-shadow: 0 0 10px -4px #6d68cd;
  border-radius: 0 0 10px 10px;
}

.bluearchive-tier-table-row {
  display: flex;
  width: 100%;
  margin-bottom: 4px;
}

.bluearchive-tier-table-row:last-child {
  margin-bottom: 0;
}

:root {
  --ss-rgb: 255, 127, 128;
  --splus-rgb: 255, 160, 128;
  --s-rgb: 255, 193, 127;
  --a-rgb: 191, 255, 127;
  --b-rgb: 129, 255, 254;
  --c-rgb: 127, 191, 255;
  --d-rgb: 222, 130, 219;
}

.bluearchive-tier-row-header {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 10%;
  border-radius: 6px 0 0 6px;
  padding: 4px;
  background-color: rgba(var(--d-rgb), 1);
}

.bluearchive-tier-table-row.ss > .bluearchive-tier-row-header {
  background-color: rgba(var(--ss-rgb), 1);
}

.bluearchive-tier-table-row.splus > .bluearchive-tier-row-header {
  background-color: rgba(var(--splus-rgb), 1);
}

.bluearchive-tier-table-row.s > .bluearchive-tier-row-header {
  background-color: rgba(var(--s-rgb), 1);
}

.bluearchive-tier-table-row.a > .bluearchive-tier-row-header {
  background-color: rgba(var(--a-rgb), 1);
}

.bluearchive-tier-table-row.b > .bluearchive-tier-row-header {
  background-color: rgba(var(--b-rgb), 1);
}

.bluearchive-tier-table-row.c > .bluearchive-tier-row-header {
  background-color: rgba(var(--c-rgb), 1);
}

.bluearchive-tier-row-header > span {
  font-size: 2rem;
  font-weight: bold;
  margin: 0;
  line-height: 1;
}

.bluearchive-tier-inline-box {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  grid-column-gap: 5px;
  row-gap: 5px;
  place-items: center;
  width: 100%;
  padding: 6px;
  border: 1.5px solid rgba(var(--c-rgb), 1);
  border-radius: 0 6px 6px 0;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
.bluearchive-tier-inline-box {
  grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
  grid-column-gap: 6px;
}
}

@media screen and (max-width: 320px) {
.bluearchive-tier-inline-box {
  grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
  grid-column-gap: 6px;
}
}

.bluearchive-tier-table-row.ss > .bluearchive-tier-inline-box {
  border-color: rgba(var(--ss-rgb), 1);
}

.bluearchive-tier-table-row.splus > .bluearchive-tier-inline-box {
  border-color: rgba(var(--splus-rgb), 1);
}

.bluearchive-tier-table-row.s > .bluearchive-tier-inline-box {
  border-color: rgba(var(--s-rgb), 1);
}

.bluearchive-tier-table-row.a > .bluearchive-tier-inline-box {
  border-color: rgba(var(--a-rgb), 1);
}

.bluearchive-tier-table-row.b > .bluearchive-tier-inline-box {
  border-color: rgba(var(--b-rgb), 1);
}
.bluearchive-character-wrap {
  border-radius: 5px;
  padding: 2px;
}

.bluearchive-character-wrap.blue {
  background: #226f9d;
}

.bluearchive-character-wrap.red {
  background: #851815;
}

.bluearchive-character-wrap.purple {
  background: #8e4ba9;
}

.bluearchive-character-wrap.yellow {
  background: #b8892e;
}

.bluearchive-character-icon {
  width: 100%;
  position: relative;
}

.bluearchive-character-image {
  display: block;
  width: 100%;
  height: auto;
  min-height: 70px;
  border-radius: 3px;
}

@media screen and (max-width: 768px) {
.bluearchive-character-image {
min-height: 60px;
}
}

@media screen and (max-width: 320px) {
.bluearchive-character-image {
min-height: 50px;
}
}

.bluearchive-character-label-container {
  display: flex;
  justify-content: center;
}

.bluearchive-character-label-text {
  font-size: 1.2rem;
  font-weight: 700;
  background: #e4f6fa;
  border: .5px solid #3b3b3b;
  border-radius: 3px;
  color: #333;
  line-height: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  letter-spacing: -0.4px;
  margin: 2px 0 0;
  padding: 2px 0;
  width: 100%;
  text-align: center;
}

.bluearchive-character-icon-container {
  display: flex;
  justify-content: center;
}

.bluearchive-character-icon-text {
  width: 49%;
  border: .5px solid #3b3b3b;
  border-radius: 3px;
  margin: 1px 0 0;
  padding: 2px;
}

.bluearchive-character-icon-container img {
  display: block;
  margin: 0 auto;
  width: 14px;
  height: 14px;
  text-align: center;
}

.bluearchive-character-icon-text.blue {
  background: #226f9d;
}

.bluearchive-character-icon-text.red {
  background: #851815;
}

.bluearchive-character-icon-text.purple {
  background: #8e4ba9;
}

.bluearchive-character-icon-text.yellow {
  background: #b8892e;
}

.badge-right {
  box-sizing: border-box;
  display: block;
  z-index: 10;
  padding: 3px 4px 4px;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.5);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  min-width: 18px;
  height: 18px;
  text-align: center;
}

.badge-right {
  position: absolute;
  right: -4px;
  top: -4px;
}

.badge-right.up {
  background: #004bd0;
}

.badge-right.up::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("https://kamigame.jp/img/up_white.svg") no-repeat;
  background-size: 12px 12px;
}

.badge-right.down {
  background: #0034be;
}

.badge-right.down::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background: url("https://kamigame.jp/img/down_white.svg") no-repeat;
  background-size: 12px 12px;
}

.badge-right.new {
  background: #7be7b4;
  color: #333;
}

.badge-left {
  box-sizing: border-box;
  display: block;
  z-index: 10;
  padding: 3px 4px 4px;
  background: #b3291d;
  border-radius: 3px;
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.5);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  min-width: 18px;
  height: 18px;
  text-align: center;
  position: absolute;
  left: -4px;
  top: -4px;
}
/* キャラクター ティア表 〜ここまで〜 */

/* レア度ごとに枠の色を変える */
.icon_edging_purple {
  display: inline-block;
  position: relative;
  background: linear-gradient(135deg, #a763fe, #f096ee) border-box border-box;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  margin: 2px;
  text-align: center;
  vertical-align: middle;
}

.icon_edging_blue {
  display: inline-block;
  position: relative;
  background: linear-gradient(135deg, #75b3fc, #a4d8fb) border-box border-box;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  margin: 2px;
  text-align: center;
  vertical-align: middle;
}

.icon_edging_orange {
  display: inline-block;
  position: relative;
  background: linear-gradient(135deg, #eda04f, #f7e574) border-box border-box;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  margin: 2px;
  text-align: center;
  vertical-align: middle;
}

.icon_edging_gray {
  display: inline-block;
  position: relative;
  background: linear-gradient(135deg, #b7cedb, #dee7ee) border-box border-box;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  margin: 2px;
  text-align: center;
  vertical-align: middle;
}

.icon_edging_purple img,
.icon_edging_blue img,
.icon_edging_orange img,
.icon_edging_gray img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
}

/* タブカラー変更 */ 
.kamigame-layout-main .tab-wrapper input:checked+.tab, .side-block .tab-wrapper input:checked+.tab, .side_block .tab-wrapper input:checked+.tab, .kamigame-layout-main .switch-content-text-tab-tab-wrapper input:checked+.tab, .side-block .switch-content-text-tab-tab-wrapper input:checked+.tab, .side_block .switch-content-text-tab-tab-wrapper input:checked+.tab {
background-color: #585858;
}

.kamigame-layout-main .tab-wrapper, .side-block .tab-wrapper, .side_block .tab-wrapper, .kamigame-layout-main .switch-content-text-tab-tab-wrapper, .side-block .switch-content-text-tab-tab-wrapper, .side_block .switch-content-text-tab-tab-wrapper {
border-bottom: 3px solid #58dafa;
}

/* キャラ役割アイコン */
.bluearchive-character-function {
  display: inline-block;
  position: relative;
  margin: 4px 7px 20px 7px;
  width: 55px;
  height: 55px;
}

@media screen and (max-width: 768px) {
  .bluearchive-character-function {
    margin: 4px 6px 18px 6px;
    width: 60px;
  height: 60px;
  }
}

.bluearchive-character-function__wrapper {
  display: block;
  border-radius: 8px;
  position: absolute;
  border-radius: 5px;
  overflow: hidden;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.bluearchive-charactor-function__wrapper img {
  border-radius: 8px;
}

.bluearchive-character-function__label__attacker {
  background: linear-gradient(to bottom, #fa9faf, #e6798d );
  position: absolute;
  display: inline-block;
  color: #000;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 4px;
  border-radius: 3px;
  line-height: 1;
  white-space: nowrap;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 1px 2px #333;
  z-index: 100;
  font-feature-settings: "palt";
}

.bluearchive-character-function__label__tank {
  background: linear-gradient(to bottom, #98e1f8, #7cd7f6 );
  position: absolute;
  display: inline-block;
  color: #000;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 4px;
  border-radius: 3px;
  line-height: 1;
  white-space: nowrap;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 1px 2px #333;
  z-index: 100;
  font-feature-settings: "palt";
}

.bluearchive-character-function__label__healer {
  background: linear-gradient(to bottom, #a7f1a8, #7be67c );
  position: absolute;
  display: inline-block;
  color: #000;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 4px;
  border-radius: 3px;
  line-height: 1;
  white-space: nowrap;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 1px 2px #333;
  z-index: 100;
  font-feature-settings: "palt";
}

.bluearchive-character-function__label__supporter {
  background: linear-gradient(to bottom, #fff7ad, #efe05d );
  position: absolute;
  display: inline-block;
  color: #000;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 4px;
  border-radius: 3px;
  line-height: 1;
  white-space: nowrap;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 1px 2px #333;
  z-index: 100;
  font-feature-settings: "palt";
}

/* ブルアカ ポイントテーブル */
.kamigame-layout-main table.point_table {
background: #f1f6f7!important;
border: 3px solid #4063d2;
}

.side-block table.point_table th, .side_block table.point_table th, .kamigame-layout-main table.point_table th {
background: #f1f6f7!important;
border-bottom: none!important;
color:#4063d2;
text-align: center;
padding: 10px 10px 0 10px!important;
}

.kamigame-layout-main table.point_table th:before,
.kamigame-layout-main table.point_table th:after {
content: "";
background: url("/img/bluearchive/bluearchive_h4.png") no-repeat 0% / 20px 20px;
width: 20px;
height: 20px;
display: inline-block;
vertical-align: middle;
}

.kamigame-layout-main table.point_table th:before {
margin-right: 5px;
}

.kamigame-layout-main table.point_table th:after {
margin-left: 5px;
transform: scaleX(-1);
}

.side-block table.point_table tbody tr:first-child td, .side_block table.point_table tbody tr:first-child td, .kamigame-layout-main table.point_table tbody tr:first-child td,.side-block table.point_table td, .side_block table.point_table td, .kamigame-layout-main table.point_table td {
background-color: #f1f6f7!important;
}

.side-block table.point_table tbody tr:first-child td, .side_block table.point_table tbody tr:first-child td, .kamigame-layout-main table.point_table tbody tr:first-child td {
padding: 10px 10px 5px 26px;
}

.side-block table.point_table tbody tr:first-child td:before, .side_block table.point_table tbody tr:first-child td:before, .kamigame-layout-main table.point_table tbody tr:first-child td:before {
top: 24px;
}

.side-block table.point_table td:before, .side_block table.point_table td:before, .kamigame-layout-main table.point_table td:before {
border: 3px solid #4063d2;
top: 19px;
}

.side-block table.point_table td, .side_block table.point_table td, .kamigame-layout-main table.point_table td {
padding: 5px 10px 5px 26px;
}

.side-block table.point_table tbody tr:last-child td, .side_block table.point_table tbody tr:last-child td, .kamigame-layout-main table.point_table tbody tr:last-child td {
padding: 5px 10px 12px 26px;
}

.side-block table.point_table tbody tr:only-child td, .side_block table.point_table tbody tr:only-child td, .kamigame-layout-main table.point_table tbody tr:only-child td {
padding: 12px 10px 12px 26px;
}

.kamigame-layout-main table.point_table td:after {
border: none;
}

/* ガチャ結果 ブルアカ */
.kamigame-layout-main .tweet-image, .side-block .tweet-image, .side_block .tweet-image {
background: linear-gradient(to bottom, #49557d, #617fd4)!important;
}
.kamigame-layout-main .tweet-image__inner, .side-block .tweet-image__inner, .side_block .tweet-image__inner {
background: #fff!important;
}

.kamigame-layout-main .tweet-image__title, .side-block .tweet-image__title, .side_block .tweet-image__title {
background: #56dafa!important;
box-shadow: 0 0 2px rgba(0, 0, 0, 0.2)!important;
color: #000!important;
}


/*役割ラベル*/
.star1_label {
  position: relative;
  display: inline-block;
  overflow: hidden; /* ::after がはみ出る場合、見えなくなる可能性があるので注意 */
  top: 9px; /* この値はレイアウトによって調整が必要な場合があります */
  /* ラベル自体のスタイル（必要であれば） */
  /* 例: margin-right: 5px; */
}

.star1_label::after {
  position: absolute;
  content: attr(data-label); /* data-label属性の値を表示 */
  top: 0px;
  left: 0px;
  background-color: #21A0DB;
  font-size: 8px; /* テキストの長さに応じて調整が必要な場合があります */
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 0px 2px; /* テキストの長さに応じて調整が必要な場合があります */
  white-space: nowrap; /* テキストが長い場合に改行させない */
  border-radius: 2px;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, .25);
}