
body * {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* sideTower */
body div#main div#container div#sideTower {
    line-height: 150%;
}


.arrow {
    position: relative;
    color: #333;
    text-decoration: none;
    padding-left: 16px;
}
.arrow::before {
    content: '';
    width: 8px; /* 矢印の大きさの指定 */
    height: 8px; /* 矢印の大きさの指定 */
    border-top: 2px solid #333; /* 矢印の太さの指定 */
    border-left: 2px solid #333; /* 矢印の太さの指定 */
}
.arrow--left::before {
    transform: translateY(-50%) rotate(135deg);
    position: absolute; /* 矢印の位置の指定 */
    top: 50%; /* 矢印の位置の指定 */
    left: 0;
}
.arrow--left:hover {
    text-decoration: underline;
}

/* navbar */
.navbar a.navbar-brand img {
    margin-right: 0.4rem;
    vertical-align: -10%;
    height: 20px;
}
.navbar-title {
    display: inline-block;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap;
}
.bg-cosmos { background-color:#0058a0 !important}

#panList ul {
    padding-left: 0;
    margin-bottom: 0;
}

/* button */
a.btn-cosmos {
    background: none;
}
a.btn-cosmos:hover {
    opacity: 0.8;
    zoom: 1;
    background-color: #253d7d;
    border-color: 253d7d;
}

/* ------------------ */
/* table */
/* ------------------ */
.table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* スマホでもスムーズスクロール */
}

.table-equal {
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    width: auto;
    min-width: max-content;
    
}

/* 1列目（thとtd両方）を固定 */
.table-equal th:first-child,
.table-equal td:first-child {
    position: sticky;
    left: 0;
    z-index: 1; /* 通常のセルより前面へ */
    background-color: #f5f5f5; /* 重要: 背景色を塗らないと後ろの文字が透けます */
}

/* 1列目の一番上（左上角）の重なりを最優先にする */
.table-equal thead th:first-child {
    z-index: 2; /* 1列目のデータセル(z-index:1)よりも前面へ */
}

.table-equal th,
.table-equal td {
    border-left: none !important;
    border-right: none !important;
    border-bottom: none;
    border-top: 1px solid #dee2e6;
    overflow-wrap: break-word; /* 長い文字列をセル内で折り返す */
    word-break: break-word;    /* 日本語も折り返す */
}

.table-equal th:first-child {
    white-space: nowrap;
    width: 170px;
}

/* ホバー時の背景色もsticky要素に適用 */
.table-equal td.col-hover:first-child,
.table-equal th.col-hover:first-child {
    background-color: rgba(var(--bs-emphasis-color-rgb), 0.1) !important;
}

.table-equal td:not(:first-child),
.table-equal th:not(:first-child) {
    text-align: left;
    width: 200px;
}

.table-equal td.col-hover,
.table-equal th.col-hover {
    background-color: rgba(var(--bs-emphasis-color-rgb), 0.075);
}

/* ------------------ */
/* table */
/* ------------------ */
body .bs .table {
    width: 100% !important;
    margin-bottom: 1rem !important;
    color: #212529 !important;
    border-collapse: collapse !important;
    table-layout: fixed;
}
body .bs .table th,
body .bs .table td {
    padding: 0.75rem !important;
    vertical-align: top !important;
    border-top: 1px solid #dee2e6 !important;
}
body .bs .table th {
    width: 150px;
    white-space: nowrap;
}
body .bs .table td {
    text-align: left;
    overflow-wrap: break-word;
    word-break: break-word;
}

body .bs .table.table-bordered th,
body .bs .table.table-bordered td {
    border: 1px solid #dee2e6 !important;
}
body .bs .table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075) !important;
}
.row-header {
    position: sticky;
    left: 0;
    z-index: 1;
}

/* タブ */
body .bs .nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    border-bottom: 1px solid #dee2e6 !important;
    margin: 0 !important;   /* bizvektor css 解除 */
}

body .bs .nav-item {
    margin-bottom: -1px !important;
}

body .bs .nav-link {
    display: block !important;
    padding: 0.5rem 1rem !important;
    line-height: 1.25 !important;
    color: #777 !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-top-left-radius: .25rem !important;
    border-top-right-radius: .25rem !important;
}

body .bs .nav-link:hover {
    background-color: #ddd !important;
    color: #777 !important;
}

body .bs .nav-link.active {
    font-weight: bold !important;
    color: #495057 !important;
    background-color: #fff !important;
    border-color: #dee2e6 #dee2e6 #fff !important;
}

/* tab content */
body .bs .tab-content {
    display: block !important;
    overflow: visible !important;
    opacity: 1 !important;
    height: auto !important;
}

body .bs .tab-pane {
    display: none !important;
    opacity: 0 !important;
    height: auto !important;
}

body .bs .tab-pane.show {
    display: block !important;
    opacity: 1 !important;
}

/* fade */
body .bs .tab-pane.fade {
    opacity: 0 !important;
    transition: opacity .15s linear !important;
}
body .bs .tab-pane.fade.show {
    opacity: 1 !important;
}

/* nav */
body .bs .nav-link {
    font-size: 1rem !important;
    text-align: center !important;
    border-radius: .25rem !important;
    cursor: pointer !important;
}

body .bs .nav-item {
    display: block !important;
}

/* タブの下の余白 */
body .bs .nav-tabs {
    padding-bottom: 0 !important;
    
}

/* タブ内容の背景と枠 */
body .bs .tab-content {
    border: 1px solid #dee2e6 !important;
    border-top: none !important;
    padding: 1rem !important;
    background: #fff !important;
}

/* タブのactive時の色 */
body .bs .nav-link.active {
    background-color: #fff !important;
}

/* 余計なBizVektorのボタンスタイルが当たっている場合 */
body .bs .nav-link {
    background-image: none !important;
    box-shadow: none !important;
}
