/* ===== e経審 ヘルプ 共通CSS ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Meiryo UI', 'メイリオ', 'MS UI Gothic', sans-serif;
    font-size: 14px;
    line-height: 1.75;
    color: #2c2c2c;
    background: #f0f4f8;
}

a { text-decoration: none; color: inherit; }

/* ===== レイアウト ===== */
.help-container { display: flex; min-height: 100vh; }

/* ===== サイドナビ ===== */
.help-nav {
    width: 230px;
    min-width: 230px;
    background: #1a3a5c;
    color: #d0dce8;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    flex-shrink: 0;
}

.help-nav-title {
    background: #0d2540;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    padding: 14px 16px;
    border-bottom: 2px solid #f5a623;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    gap: 8px;
}

.help-nav-group { border-bottom: 1px solid #2a4d72; }

.help-nav-group-title {
    font-size: 10px;
    color: #8aabcc;
    padding: 10px 16px 4px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: bold;
}

.help-nav a {
    display: block;
    color: #c5d8ea;
    text-decoration: none;
    padding: 6px 16px 6px 20px;
    font-size: 12px;
    border-left: 3px solid transparent;
    transition: all 0.15s;
}

.help-nav a:hover { background: #234e74; color: #fff; }

.help-nav a.active {
    background: #1e4570;
    color: #fff;
    border-left-color: #f5a623;
    font-weight: bold;
}

.help-nav a.nav-l2 { padding-left: 28px; font-size: 12px; color: #a0bccc; }
.help-nav a.nav-l3 { padding-left: 38px; font-size: 11px; color: #8aabcc; }

/* ===== メインコンテンツ ===== */
.help-main { flex: 1; min-width: 0; }

/* ===== ページヘッダー ===== */
.help-page-header {
    background: linear-gradient(135deg, #1a3a5c 0%, #2a5a8c 100%);
    color: #fff;
    padding: 22px 36px;
    border-bottom: 3px solid #f5a623;
}

.help-breadcrumb { font-size: 11px; color: #8aabcc; margin-bottom: 8px; }
.help-breadcrumb a { color: #8aabcc; }
.help-breadcrumb span { margin: 0 6px; }

.help-page-title { font-size: 20px; font-weight: bold; letter-spacing: 0.03em; }
.help-page-desc { font-size: 12px; color: #b0ccde; margin-top: 6px; }

/* ===== コンテンツエリア ===== */
.help-content-area { padding: 28px 36px; max-width: 820px; }

/* ===== セクション ===== */
.help-section { margin-bottom: 32px; }

.help-section-title {
    font-size: 16px;
    font-weight: bold;
    color: #1a3a5c;
    border-left: 4px solid #f5a623;
    padding: 6px 12px;
    background: #eef2f7;
    margin-bottom: 14px;
}

.help-section-subtitle {
    font-size: 15px;
    font-weight: bold;
    color: #2a5a8c;
    margin: 16px 0 8px;
    padding-bottom: 4px;
    border-bottom: 2px solid #f5a623;  /* Gold実線 */
}

/* help-section-title 強調版（黄色系・下線付き） */
.help-section-title--accent {
    background: #fffdf5;
    color: #2a5a8c;
    border-left: 4px solid #ffc107;
    border-bottom: 1px solid #ffc107;
    border-radius: 0;
}

/* ===== コンテンツ内要素 ===== */
.help-content-area p { margin-bottom: 10px; }

.help-content-area img {
    width: auto;       /* 元サイズを維持 */
    height: auto;
    max-width: 100%;   /* コンテンツ幅を超えた場合のみ縮小 */
}

.help-content-area h2 {
    font-size: 14px;
    font-weight: bold;
    color: #1a3a5c;
    border-left: 4px solid #f5a623;
    padding: 6px 12px;
    background: #eef2f7;
    margin: 20px 0 12px;
}

.help-content-area h3 {
    font-size: 13px;
    font-weight: bold;
    color: #2a5a8c;
    margin: 16px 0 8px;
    padding-bottom: 4px;
    border-bottom: 1px dashed #b0c8e0;
}

.help-content-area ul, .help-content-area ol {
    margin: 8px 0 10px 24px;
}

.help-content-area li { margin: 4px 0; }

/* ===== 画像ブロック ===== */
.help-image-block {
    margin: 16px 0;
    background: #f0f4f8;
    border: 1px solid #d0dae5;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    padding: 12px 12px 12px 12px;
    text-align: center;
}

.help-image-block img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 0 auto 8px; /* 中央寄せ＋下余白 */
}

.help-image-caption {
    font-size: 11px;
    color: #666;
    background: #f0f4f8;
    padding: 6px 12px;
    border-top: 1px solid #d0dae5;
}

/* ===== 手順ステップ ===== */
.help-steps { counter-reset: step-counter; list-style: none; margin: 12px 0; }

.help-steps li {
    counter-increment: step-counter;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}

.help-steps li::before {
    content: counter(step-counter);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 26px;
    background: #1a3a5c;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 1px;
}

.help-steps li .step-body { flex: 1; }
.help-steps li .step-label { font-weight: bold; color: #1a3a5c; margin-bottom: 4px; }

/* ===== ノート・警告 ===== */
.help-note {
    background: #fff8e6;
    border: 1px solid #f5a623;
    border-left: 4px solid #f5a623;
    border-radius: 3px;
    padding: 10px 14px;
    margin: 12px 0;
    font-size: 13px;
}

.help-note-title { font-weight: bold; color: #b36b00; margin-bottom: 4px; }

.help-info {
    background: #e8f4fd;
    border: 1px solid #5b9bd5;
    border-left: 4px solid #2a5a8c;
    border-radius: 3px;
    padding: 10px 14px;
    margin: 12px 0;
    font-size: 13px;
}

.help-info-title { font-weight: bold; color: #1a3a5c; margin-bottom: 4px; }

.help-warn {
    background: #fdecea;
    border: 1px solid #e74c3c;
    border-left: 4px solid #e74c3c;
    border-radius: 3px;
    padding: 10px 14px;
    margin: 12px 0;
    font-size: 13px;
}

.help-warn-title { font-weight: bold; color: #c0392b; margin-bottom: 4px; }

/* ===== テーブル ===== */
.help-table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 13px; }
.help-table th { background: #1a3a5c; color: #fff; padding: 7px 12px; text-align: left; font-weight: bold; }
.help-table td { padding: 6px 12px; border-bottom: 1px solid #d0dae5; vertical-align: top; }
.help-table tr:nth-child(even) td { background: #f5f8fc; }
.help-table tr:hover td { background: #eaf0f8; }

/* ===== リンク ===== */

/* 通常リンク */
.help-content-area a {
    color: #2a5a8c;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.help-content-area a:hover {
    color: #f5a623;
    text-decoration: underline;
}

/* 外部リンク（アイコン付き） */
.help-content-area a.help-link-ext::after {
    content: ' ↗';
    font-size: 10px;
    color: #8aabcc;
}

/* 画面項目名・メニュー名の強調表示（クリック可能に見せる） */
.menu-label {
    display: inline-block;
    background: #ffffff;
    color: #2a5a8c;
    font-size: 12px;
    padding: 1px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
    border: 1.5px solid #2a5a8c;
    text-decoration: underline;
    text-decoration-color: #1a3a5c;  /* 紺 */
    text-decoration-style: solid;
    text-underline-offset: 2px;
    letter-spacing: 0.02em;
}

/* ===== インライン強調 ===== */
.hl { background: #fffacc; padding: 0 3px; border-radius: 2px; font-weight: bold; }

/* ボタン表示（濃い紺・白文字）：ヘルプ内のリンクや強調用 */
.btn-label {
    display: inline-block;
    background: #1a3a5c;
    color: #fff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
}

/* ボタン表示（Gold背景・紺文字） */
.btn-label-gold {
    display: inline-block;
    background: #f5a623;
    color: #0d2540;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
    border: 1.5px solid #d4891a;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    letter-spacing: 0.03em;
}

/* ボタン表示（白抜き・黒文字）：e経審のボタン風 */
.btn-label-white {
    display: inline-block;
    background: #ffffff;
    color: #1a1a1a;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
    border: 1.5px solid #888;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    letter-spacing: 0.03em;
}

/* ボタン表示（濃い緑・白文字） */
.btn-label-green {
    display: inline-block;
    background: #1a5c2a;
    color: #ffffff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
    border: 1.5px solid #144820;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    letter-spacing: 0.03em;
}

/* ボタン表示（濃い茶色・白文字） */
.btn-label-brown {
    display: inline-block;
    background: #5c3010;
    color: #ffffff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
    border: 1.5px solid #3e200a;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    letter-spacing: 0.03em;
}

/* ボタン表示（赤：Windowsの閉じるボタン用・白文字） */
.btn-label-red {
    display: inline-block;
    background: #c42b1c;
    color: #ffffff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: bold;
    vertical-align: middle;
    border: 1.5px solid #a02318;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
    letter-spacing: 0.03em;
}

/* ===== ステップリスト（◆マーカー） ===== */
.help-steps-diamond {
    list-style: none;
    margin: 12px 0;
}

.help-steps-diamond li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px dashed #d0dae5;
}

.help-steps-diamond li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.help-steps-diamond li::before {
    content: '◆';
    color: #1a3a5c;
    font-size: 13px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ===== ステップリスト（●マーカー） ===== */
.help-steps-bullet {
    list-style: none;
    margin: 12px 0;
}

.help-steps-bullet li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px dashed #d0dae5;
}

.help-steps-bullet li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.help-steps-bullet li::before {
    content: '●';
    color: #f5a623;
    font-size: 13px;
    flex-shrink: 0;
    margin-top: 2px;
}

/* ===== 画像＋右テキスト（横並び）===== */

/* help-image-block に --side を追加すると画像右にテキストが入る */
.help-image-block--side {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    text-align: left;
}

.help-image-block--side img {
    flex-shrink: 0;
    width: auto;
    max-width: 45%;
    display: block;
    margin: 0;
}

.help-image-block--side .help-image-side-text {
    flex: 1;
    font-size: 13px;
    line-height: 1.8;
    color: #333;
}

/* ===== タブボタン ===== */

.help-tab-group {
    display: flex;
    gap: 0;
    margin: 16px 0 0;
    border-bottom: 2px solid #0d2540;
}

.help-tab {
    display: inline-block;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: bold;
    color: #2a5a8c;
    background: #e8eef4;
    border: 1px solid #b0c8e0;
    border-bottom: none;
    cursor: default;
    margin-right: 2px;
    border-radius: 3px 3px 0 0;
    vertical-align: bottom;
    text-decoration: none;
}

.help-tab.active,
.help-tab--active {
    background: #ffffff;
    color: #0d2540;
    border-color: #0d2540;
    border-bottom: 2px solid #ffffff;
    margin-bottom: -2px;
    position: relative;
    z-index: 1;
}

/* ===== ラジオボタン風表示（画面説明用・動作なし） ===== */

.help-radio-group {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    background: #f5f7fa;
    border: 1px solid #d0dae5;
    border-radius: 4px;
    padding: 4px 12px;
    margin: 8px 0;
}

.help-radio-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #333;
    cursor: default;
    white-space: nowrap;
}

/* ラジオボタン本体 */
.help-radio-item::before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    border: 1.5px solid #888;
    background: #fff;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* 選択中（青丸） */
.help-radio-item.checked::before {
    border-color: #0066cc;
    background: radial-gradient(circle, #0066cc 45%, #fff 46%);
}

/* ラジオボタン風・インライン版（●に続きテキストを書ける） */
.help-radio-inline {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    vertical-align: middle;
    margin-right: 4px;
    background: #f5f7fa;
    border: 1px solid #d0dae5;
    border-radius: 4px;
    padding: 3px 10px;
}

.help-radio-inline .help-radio-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #333;
    cursor: default;
    white-space: nowrap;
}

/* ===== コンボボックス風表示（画面説明用・動作なし） ===== */

.help-combo {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    background: #ffffff;
    border: 1px solid #888;
    border-radius: 2px;
    padding: 2px 4px 2px 6px;
    font-size: 12px;
    color: #333;
    white-space: nowrap;
    min-width: 80px;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.08);
    cursor: default;
}

/* ▼ドロップダウン矢印 */
.help-combo::after {
    content: '';
    display: inline-block;
    width: 18px;
    height: 100%;
    min-height: 20px;
    margin-left: 6px;
    border-left: 1px solid #aaa;
    background: linear-gradient(to bottom, #f0f0f0, #d8d8d8);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='20' viewBox='0 0 18 20'%3E%3Cpolygon points='4,7 14,7 9,13' fill='%23555'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

/* ===== 文字色ユーティリティ ===== */
.text-red   { color: #cc0000; }
.text-blue  { color: #2a5a8c; }
.text-green { color: #196b24; }
.text-gold  { color: #f5a623; }
.text-gray  { color: #666666; }

/* ===== ユーティリティ ===== */

/* 左余白を20px追加（任意のブロックに付与可） */
.help-indent {
    margin-left: 20px;
}

/* 画像＋説明文を横並びにする */
.help-image-text {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin: 12px 0;
}

.help-image-text img {
    flex-shrink: 0;
    width: auto;
    max-width: 50%;
}

.help-image-text .help-image-text-body {
    flex: 1;
    font-size: 13px;
    line-height: 1.8;
    color: #333;
}

/* ===== ページナビ ===== */
.help-nav-bottom {
    display: flex;
    gap: 16px;
    padding: 16px 0;
    margin-top: 24px;
    border-top: 1px solid #d0dae5;
}

.help-nav-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    border: 1px solid #2a5a8c;
    border-radius: 3px;
    color: #2a5a8c;
    font-size: 12px;
    background: #fff;
    transition: all 0.15s;
}

.help-nav-btn:hover { background: #1a3a5c; color: #fff; border-color: #1a3a5c; }

/* ===== フッター ===== */
.help-footer {
    padding: 12px 36px;
    border-top: 1px solid #d0dae5;
    font-size: 11px;
    color: #999;
    display: flex;
    justify-content: space-between;
    max-width: 820px;
}
