/* フォント */
.txt-ffffff { color:#ffffff; }
.txt-ff0000 { color:#ff0000; }
.txt-0000ff { color:#0000ff; }
.txt-008000 { color:#008000; }
.txt-808080 { color:#808080; }
.txt-aaaaaa { color:#aaaaaa; }
.txt-000000 { color:#000000; }
.txt-666666 { color:#666666; }
.txt-3366cc { color:#3366cc; }
.txt-336699 { color:#336699; }
.bg-ldgreen3 { background-color: #a8d5b6 }
.bg-ldgreen3 { background-color: #d8ecde }

/* 背景色 */
.bg-000000 { background-color:#000000!important; }
.bg-808080 { background-color:#808080!important; }
.bg-bbbbbb { background-color:#bbbbbb!important; }
.bg-cccccc { background-color:#cccccc!important; }
.bg-dddddd { background-color:#dddddd!important; }
.bg-eeeeee { background-color:#eeeeee!important; }
.bg-ffffff { background-color:#ffffff!important; }

.bg-f8f8ff { background-color:#f8f8ff!important; }  /* GhostWhite : SU */
.bg-fbe1ea { background-color:#fbe1ea!important; }  /* ピンク : UM */
.bg-c1daf2 { background-color:#c1daf2!important; }  /* 水色 : class1 */
.bg-ddeeff { background-color:#ddeeff!important; }  /* 薄い水色 */
.bg-ffffdd { background-color:#ffffdd!important; }  /* 薄黄色 : class2 */
.bg-eeffee { background-color:#eeffee!important; }  /* 薄緑 : class3 */
.bg-ffcc99 { background-color:#ffcc99!important; }  /* オレンジ : ssu */
.bg-ffeedd { background-color:#ffeedd!important; }  /* 薄いオレンジ */
.bg-0072bc { background-color:#0072bc!important; }  /* 濃い青 */

/*余白*/
.m0 {
    margin: 0px !important;
}

.errcode {
    color: #808080;
    padding: 5px;
}

.th-btn1 {
    width: 70px;
}

.th-btn2 {
    width: 140px;
}

.th-btn3 {
    width: 210px;
}

/* td自体を縦中央＆横中央に */
td.td-btn{
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;      /* 折り返したくない場合は付ける */
}
  
/* 2個目以降だけ隙間を付ける（くっつき防止） */
.td-btn input[type="button"] + input[type="button"]{
    margin-inline-start: 8px; /* LTR/RTL両対応。必要なら margin-left でもOK */
}

td.td-search{
    width: 95%;
    vertical-align: middle;
    text-align: left;
    white-space: nowrap;      /* 折り返したくない場合は付ける */
}
  
/* 2個目以降の “表示される” input にだけ余白 */
.td-search input:not([type="hidden"]) + input:not([type="hidden"]) {
    margin-inline-start: 8px; /* LTR/RTL両対応。必要なら margin-left でもOK */
}

/* td.td-search の “すぐ右となり” のセルを右寄せ */
td.td-search + td {
    text-align: right;
}

.note{
    position:relative;
    padding-left:1.5em;       /* ※ のぶんだけ字下げ */
    line-height:1.7;
}
.note::before{
    content:"※";             /* 先頭の ※ を1回だけ表示 */
    position:absolute;
    left:0; top:0;
}

.bar .seg{
    flex: var(--w,0) 0 0%; height:100%;
}  /* ← --w が“重み” */

table.basic-left {
	margin-left: 0;
}

.txt-msg {
    /*  font-size:84%;*/
    line-height:180%;
    margin-bottom:20px;
}

.txt-msg p {
    line-height:180%;
}

.txt-msg-fix {
    line-height:130%;
    font-size:84%;
    margin-bottom:5px;
}

.comp-msg {
    color: #0064D2;
}

.report-list {
    display: inline-table;
    width: max-content !important;   /* または fit-content */
    min-width: 800px !important;
    max-width: 100% !important;  
    align-self: flex-start;
}
.report-graph-blue {
    background-color: #0072bc;
    height: 15px;
}

.report-graph-pink {
    background-color: #c14895;
    height: 15px;
}

.report-graph-orange {
    background-color: #c15700;
    height: 15px;
}

#url-list > dl dt {
    /* float: left; */
    padding: 10px 0 5px 0;
}

#url-list > dl dd {
    margin: auto;
}

.mailbody {
    line-height: 130%;
    background-color: #F5F5F8;
    border: solid 1px #9292AC;
    padding: 10px;
    overflow-wrap: anywhere;    /* 必要な時だけ途中で折り返す */
}

input[type="text"][name="sort"][maxlength="4"], input[type="text"].text_input_sort {
    width: 40px !important;
}

table.basic td .mailbody {
    border: none;
}

table.basic td:has(.mailbody) {
    padding: 0 !important;
}

/* 完全に折り返し禁止 */
.no-wrap {
    white-space: nowrap;
}

table.no-border {
    border-collapse: collapse;
    border: none;
}
  
table.no-border th,
table.no-border td {
    border: none;
}

table.tbl-outer {
    border: 1px solid #333;      /* 外枠だけ線を引く */
}
  
/* セルには線を付けない */
table.tbl-outer th,
table.tbl-outer td {
    border: none;
}
  
.display-flex{
    display: flex;
}

tr.display-flex-row {
    display: flex;
    flex-direction: row;
}

.header-announce {
	display: flex;
	font-size: 14px;
	font-weight: bold;
	margin-left: 30px;
}
.header-announce p {
	display: flex;
	align-items: center;
    color: #767676;
    margin: initial;
}

.w-auto-min30px {
    width: auto !important;
    min-width: 30px !important;
}
.w-auto-min40 {
    width: auto !important;
    min-width: 40% !important;
}

/* デフォルトでは label は pointer にしない */
label {
    cursor: default;
}
/* 内側に radio / checkbox がある label だけ pointer にする */
label:has(> input[type="radio"]),
label:has(> input[type="checkbox"]) {
    cursor: pointer;
}
/* クリックできる要素たち */
input[type="radio"],
input[type="checkbox"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="image"],
a,
button,
select {
    cursor: pointer;
}
/* disabled は通常カーソルに戻す */
input[type="radio"]:disabled,
input[type="checkbox"]:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="image"]:disabled,
button:disabled,
select:disabled,
a[aria-disabled="true"] {
    cursor: default;
}
/* 操作不可用 */
.button_gray {
    cursor: default !important;
}
/* 汎用の「ポインタカーソル」クラス */
.cursor-pointer {
    cursor: pointer;
}
.cursor-default {
    cursor: default;
}

.text-break {
    word-break: break-all;
    overflow-wrap: anywhere;
}

.account-prod-list {
    margin: 0px;
    padding: 0 0 5px 20px;
    line-height: 130%;
}
.account-prod {
    padding-bottom: 5px;
}
.account-pcate1,
.account-pcate2 {
    display: block;          /* ← これで縦並び */
    width: fit-content;      /* ← 文字分だけの横幅（背景が広がらない） */
    padding: 3px 10px;
    margin: 5px 0 5px -18px;
    background: #f3f6fb;
    border-radius: 3px;
    font-weight: 700;
    white-space: nowrap;        /* ← 折り返したくないとき */
/*    margin-top: 10px;*/
}

/* 大分類：赤 */
.account-pcate1 {
    color: #cc3333;
    border-left: 4px solid #cc3333;
}

/* 中分類：青 */
.account-pcate2 {
    color: #0044aa;
    border-left: 4px solid #0044aa;
}

/* 「セット」の下に少しだけ余白を足したいなら */
.account-pcate1 + .account-pcate2 {
    margin-right: 8px;
}

.caption-right-btn {
    caption-side: top;
    text-align: right;
    padding-bottom: 10px;
}
