/*
:root {
    --main-bg-color: olivedrab;
    --main-context-bg-color: rgb(252, 255, 240);
    --input-bg-color: #fefefe;
    --input-selected-bg-color: olivedrab;
    --input-focused-color: orange;
    --glass-pane-bg-color: rgba(252, 255, 240, 0.95);
    --block-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
    --input-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25) inset;
    --panel-shadow: 0px 0px 6px rgba(0, 0, 0, 0.25);
    --selected-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);

    --max-content-width: 1280px;
}
*/
/* :root {
    --main-bg-color: hsl(0, 0%, 10%); 
    --main-context-bg-color: hsl(0, 0%, 10%); 
    --main-text-color: hsl(0, 0%, 80%);
    --title-text-color: hsl(0, 0%, 80%);
    --input-bg-color: hsl(0, 0%, 20%);
    --input-selected-bg-color: hsl(333, 49%, 37%);
    --input-focused-color: hsl(38, 49%, 50%);
    --inpub-disabled-bg-color: hsl(0, 0%, 10%);
    --glass-pane-bg-color: hsla(0, 0%, 10%, 0.95);
    --block-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
    --input-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25) inset;
    --panel-shadow: 0px 0px 6px rgba(0, 0, 0, 0.25);
    --selected-shadow: 0px 0px 10px rgba(0, 0, 0, 0.75);

    --color-gray: gray;
    --fieldset-border-color: #999;
    --max-content-width: 98vw;

    scroll-behavior: smooth;
}
*/

:root {
    --base-color: hsl(333, 49%, 37%);
    --base-bg-color: hsl(33, 100%, 95%);
    --base-fg-color: hsl(0, 0%, 10%);
    --base-shadow-color: rgba(0, 0, 0, 0.5);

    --main-bg-color: var(--base-color);
    --main-context-bg-color: var(--base-bg-color);
    --main-text-color: var(--base-fg-color);

    --border-color: hsl(0, 0%, 75%);
    --border-weak-color: hsl(0, 0%, 90%);

    --text-strong-color: var(--main-text-color);
    --text-weak-color: hsl(0, 0%, 75%);
    --text-disabled-color: hsl(0, 0%, 75%);

    --input-bg-color: hsl(0, 0%, 97%);
    --input-text-color: var(--main-text-color);
    --input-border-color: var(--border-color);
    --input-selected-bg-color: var(--main-bg-color);
    --input-selected-text-color: hsl(0, 0%, 90%);
    --input-focused-color: hsl(38, 49%, 50%);
    --input-disabled-bg-color: var(--main-context-bg-color);
    --input-disabled-text-color: var(--text-disabled-color);

    --button-bg-color: var(--main-context-bg-color);
    --button-text-color: var(--main-text-color);
    --button-border-color: inherit;
    --button-disabled-bg-color: var(--input-disabled-bg-color);
    --button-disabled-text-color: var(--input-disabled-text-color);

    --title-text-color: var(--main-context-bg-color);
    --title-bg-color: var(--main-bg-color);

    --glass-pane-bg-color: hsla(33, 100%, 95%, 0.95);
    --block-shadow: 2px 2px 4px var(--base-shadow-color);
    --input-shadow: 2px 2px 4px var(--base-shadow-color) inset;
    --panel-shadow: 0px 0px 6px var(--base-shadow-color);
    --selected-shadow: 0px 0px 10px var(--base-shadow-color);
    --layerd-shadow: 0px 0px 5px var(--base-shadow-color);
    --layerd-shadow-bottom: 0px 0px 5px var(--base-shadow-color);

    --overlay-ba-color: var(--base-shadow-color);
    --overlay-text-color: hsla(0, 0%, 50%, 0.75);
    --dialog-bg-color: var(--base-shadow-color);

    --error-text-color: red;
    --odd-bg-color: hsl(33, 100%, 93%);
    --modest-bg-color: hsl(33, 100%, 93%);
    --modest-odd-bg-color: hsl(33, 100%, 91%);
    --scrollbar-thumb-bg-color: rgba(127, 127, 127, 0.5);

    --color-gray: gray;
    --fieldset-border-color: var(--border-color);
    --max-content-width: 98vw;

    --children-filter: hue-rotate(0deg) grayscale(50%) brightness(90%);
    --total-filter: hue-rotate(0deg) grayscale(50%) brightness(90%);
}

:root[theme="dark"] {
    --base-color: hsl(333, 30%, 30%);
    --base-bg-color: hsl(0, 0%, 17%);
    --base-fg-color: hsl(0, 0%, 80%);
    --base-shadow-color: rgba(0, 0, 0, 0.25);

    --main-bg-color: var(--base-color);
    --main-context-bg-color: var(--base-bg-color);
    --main-text-color: var(--base-fg-color);

    --border-color: hsl(0, 0%, 40%);
    --border-weak-color: hsl(0, 0%, 30%);

    --text-strong-color: var(--main-text-color);
    --text-weak-color: hsl(0, 0%, 50%);
    --text-disabled-color: hsl(0, 0%, 30%);

    --input-bg-color: hsl(0, 0%, 14%);
    --input-text-color: var(--main-text-color);
    --input-border-color: var(--border-color);
    --input-selected-bg-color: var(--base-color);
    --input-selected-text-color: var(--base-fg-color);
    --input-focused-color: hsl(38, 49%, 50%);
    --input-disabled-bg-color: var(--main-context-bg-color);
    --input-disabled-text-color: var(--text-disabled-color);

    --button-bg-color: var(--main-context-bg-color);
    --button-text-color: var(--main-text-color);
    --button-border-color: inherit;
    --button-disabled-bg-color: var(--input-disabled-bg-color);
    --button-disabled-text-color: var(--input-disabled-text-color);

    --title-text-color: var(--base-fg-color);
    --title-bg-color: var(--base-color);

    --glass-pane-bg-color: hsla(0, 0%, 17%, 0.95);
    --block-shadow: 2px 2px 4px var(--base-shadow-color);
    --input-shadow: 2px 2px 4px var(--base-shadow-color) inset;
    --panel-shadow: 0px 0px 6px var(--base-shadow-color);
    --selected-shadow: 0px 0px 10px var(--base-shadow-color);
    --layerd-shadow: 0px 0px 5px var(--base-shadow-color);
    --layerd-shadow-bottom: 0px 0px 5px var(--base-shadow-color);

    --overlay-ba-color: var(--base-shadow-color);
    --overlay-text-color: hsla(0, 0%, 50%, 0.75);
    --dialog-bg-color: var(--base-shadow-color);

    --error-text-color: red;
    --odd-bg-color: hsl(0, 0%, 15%);
    --modest-bg-color: hsl(0, 0%, 15%);
    --modest-odd-bg-color: hsl(0, 0%, 12%);
    --scrollbar-thumb-bg-color: rgba(127, 127, 127, 0.5);

    --color-gray: gray;
    --fieldset-border-color: var(--border-color);
    --max-content-width: 98vw;

    --children-filter: hue-rotate(0deg) grayscale(50%) brightness(90%);
    --total-filter: hue-rotate(0deg) grayscale(50%) brightness(90%);
}

* {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

body {
    color: var(--main-text-color);
    transition: 0.5s;
    overflow-y: scroll;
    background-color: var(--main-context-bg-color);
}

.svgbutton {
    color: var(--button-text-color);
}
.svgbutton .iconName {
    color: var(--button-text-color);
}
.actionButton .txt {
    color: var(--button-text-color);
}

a {
    color: var(--main-text-color);
}

a:hover {
    color: var(--text-strong-color);
}
a:active {
    color: var(--text-strong-color);
}
a:visited {
    color: var(--main-text-color);
}

input[type="text"],
input[type="number"],
textarea {
    -webkit-appearance: none;
    background-color: var(--input-bg-color);
    background-image: none;
    border-radius: 4px;
    border: 2px solid var(--input-border-color);
    box-sizing: border-box;
    color: var(--input-text-color);
    display: inline-block;
    font-size: inherit;
    height: 40px;
    line-height: 40px;
    padding: 0 30px 0 15px;
    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    box-shadow: var(--input-shadow);
}

input:focus,
button:focus,
textarea:focus {
    border: 2px solid var(--input-focused-color);
    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
textarea {
    height: auto;
    resize: none;
    line-height: 1.2em;
    padding-top: 10px;
    padding-bottom: 10px;
}
*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
    cursor: default !important;
}
*::-webkit-scrollbar-track {
    border-radius: 10px;
    cursor: default !important;
}
*::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-thumb-bg-color);
    border-radius: 10px;
    cursor: default !important;
}
*::-webkit-scrollbar-corner {
    background-color: inherit;
}

input[type="number"] {
    text-align: right;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

h1 {
    font-weight: normal;
    font-size: 1.2em;
}
/* --- table --- */
table {
    /* width: (100vw - 20px); */
    margin: 0 10px;
    border-collapse: collapse;
}
table th {
    font-weight: normal;
}
table thead th {
    /* display: none; */
    border-bottom: 2px solid var(--border-color);
    white-space: nowrap;
    font-size: 0.75em;
}
table tr {
    width: 100%;
}
table td,
table th {
    padding: 5px 8px;
    border: 1px solid var(--border-color);
    white-space: nowrap;
    max-width: 50vw;
    overflow: hidden;
    text-overflow: ellipsis;
}
table tr *:first-child {
    border-left-style: none;
}
table tr *:last-child {
    border-right-style: none;
}
table tr:first-child * {
    border-top-style: none;
}
table tr th:first-child.rownum {
    border-style: none;
    font-size: 0.75em;
    color: var(--text-weak-color);
    text-align: right;
    padding-right: 15px;
}
table tr th:first-child.rownum + * {
    border-left-style: none;
}

.amount {
    text-align: right;
}
table td.date,
table td.id,
table td.code {
    text-align: center;
}

table td {
    /* display: block;
    text-align: right;
    width: 100%; */
}
table td:first-child {
    /* background: #e9727e;
    color: #fff;
    font-weight: bold;
    text-align: center; */
}
table td:before {
    /* content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 10px; */
}
button {
    background-color: var(--button-bg-color);
    border-radius: 5px;
    border: 2px solid var(--button-border-color);
    padding: 5px 10px;
    box-shadow: var(--block-shadow);
    cursor: pointer;
    color: var(--button-text-color);
}
button:active {
    box-shadow: none;
}

fieldset {
    border-radius: 5px;
    border: 1px solid var(--fieldset-border-color);
}
legend {
    padding: 0 10px;
}

/* ----- */

.op-textfield-inner {
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}
/*
.op-textfield {
    position: relative;
    height: 40px;
} */

.input-number {
    text-align: right;
}

.op-textfield .prefix {
    position: absolute;
    top: 0;
    left: 10px;
    z-index: 2;
    padding: 10px 0;
    /* color: gray; */
}

.op-textfield .suffix {
    position: absolute;
    top: 0;
    right: 30px;
    z-index: 2;
    padding: 10px 0;
    /* color: gray; */
}

.op-textfield .readonly-field {
    border-radius: 4px;
    border: 1px solid var(--border-weak-color);
    box-sizing: border-box;
    color: var(--text-disabled-color);
    display: inline-block;
    font-size: inherit;
    height: 40px;
    line-height: 40px;
    padding: 0 30px 0 15px;
    width: 100%;
}

.op-textfield-clear-button {
    z-index: 2;
    position: absolute;
    right: 5px;
    top: 5px;
    border-style: none;
    padding: 2px;
    margin: 3px;
    box-shadow: none;
}
.op-textfield-open-button {
    z-index: 2;
    position: absolute;
    right: 5px;
    top: 5px;
    border-style: none;
    box-shadow: none;
}
.op-textfield-search-button {
    z-index: 2;
    position: absolute;
    right: 5px;
    top: 5px;
    border-style: none;
    box-shadow: none;
    padding-left: 2px;
    padding-right: 2px;
}
.op-textfield-clear-button:focus,
.op-textfield-open-button:focus,
.op-textfield-search-button:focus {
    border-style: none;
}
.op-search-textfield .op-textfield-inner {
    padding-right: 60px;
}
.op-search-textfield .op-textfield-clear-button {
    right: 40px;
}

.op-select-customer {
    display: inline-block;
}

.op-date-textfield {
    max-width: 20ex;
}
.op-date-textfield-readonly {
    max-width: 20ex;
    width: 100%;
}
.op-date-textfield-readonly .form-field-input {
    padding: 10px 15px;
    color: var(--input-text-color);
    border: 1px solid var(--border-weak-color);
    border-radius: 4px;
    height: 40px;
}

/* --- checkbox --- */
.op-checkbox input[type="checkbox"] {
    position: absolute;
    left: -99999px;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    box-shadow: var(--input-shadow);
}
.op-checkbox input[type="checkbox"]:checked {
    border-style: none;
    background-color: var(--input-bg-color);
}

.op-checkbox {
    position: relative;
    padding-top: 10px;
}
.op-checkbox .form-field-input {
    padding-top: 3px;
    height: 1.25rem;
    display: inline-block;
}

/*  見やすいチェックボックス */

.op-checkbox.form-field input[type="checkbox"] + label {
    padding-left: 1.75rem;
    display: inline-block;
    vertical-align: middle;
}
.op-checkbox.form-field input[type="checkbox"] + label:before {
    position: absolute;
    top: 0px;
    left: 0;
    display: inline-block;
    content: " ";
    width: 1.25rem;
    height: 1.25rem;
    background-color: var(--input-bg-color);
    border: 2px solid var(--input-border-color);
    margin-right: -1.2rem;
    margin-bottom: -0.25rem;
    border-radius: 25%;
}

.op-checkbox.form-field input[type="checkbox"]:focus + label:before {
    border: 2px solid var(--input-focused-color);
}
.op-checkbox.status-value {
    padding-top: 0px;
}
.op-checkbox.form-field input[type="checkbox"] + label > *:first-child:before {
    position: absolute;
    top: -5px;
    left: 5px;
    display: inline-block;
    content: "✔";
    font-size: 1.75rem;
    padding-right: 0.25rem;
    color: transparent;
    vertical-align: middle;
}
.op-checkbox.form-field
    input[type="checkbox"]:checked
    + label
    > *:first-child:before {
    color: var(--input-text-color);
    vertical-align: middle;
}

.op-multi-selector .items {
    display: flex;
    flex-direction: row;
}
.op-multi-selector .items > .op-checkbox {
    margin-left: 1rem;
}
.op-multi-selector .items > .op-checkbox:first-child {
    margin-left: 0;
}

/*  まるで囲むパターン */
.op-multi-selector .items > .op-checkbox input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    border: 2px dotted var(--border-color);
    border-radius: 50%;
    padding: 5px 10px;
    color: var(--input-text-color);
}
.op-multi-selector .items > .op-checkbox input[type="checkbox"]:focus + label {
    border: 2px dotted var(--input-focused-color);
}
/* .op-checkbox input[type="checkbox"]:checked + label {
    border: 2px solid var(--input-selected-bg-color);
} */
.op-multi-selector
    .items
    > .op-checkbox
    input[type="checkbox"]:checked
    + label {
    color: var(--input-text-color);
}
.op-multi-selector
    .items
    > .op-checkbox
    input[type="checkbox"]:checked
    + label:after {
    border: 3px solid var(--input-selected-bg-color);
    border-radius: 50%;
    position: absolute;
    top: -1px;
    left: 0;
    width: 90%;
    height: 90%;
    content: " ";
    color: var(--input-selected-text-color);
}
.op-multi-selector
    .op-checkbox:nth-child(2n - 1)
    input[type="checkbox"]:checked
    + label:after {
    border-top-left-radius: 70% 70%;
    border-bottom-right-radius: 70% 70%;
}
.op-multi-selector
    .op-checkbox:nth-child(2n)
    input[type="checkbox"]:checked
    + label:after {
    border-top-left-radius: 60% 70%;
    border-bottom-right-radius: 80% 70%;
}
.op-multi-selector
    .op-checkbox:nth-child(3n - 2)
    input[type="checkbox"]:checked
    + label:after {
    border-top-right-radius: 70% 60%;
    border-bottom-left-radius: 60% 50%;
}
.op-multi-selector
    .op-checkbox:nth-child(3n - 1)
    input[type="checkbox"]:checked
    + label:after {
    border-top-right-radius: 60% 50%;
    border-bottom-left-radius: 50% 70%;
}
.op-multi-selector
    .op-checkbox:nth-child(3n)
    input[type="checkbox"]:checked
    + label:after {
    border-top-right-radius: 50% 70%;
    border-bottom-left-radius: 50% 70%;
}

.op-multi-selector .items {
    display: flex;
    flex-direction: row;
}
.op-multi-selector .items > .op-checkbox {
    margin-left: 0.5rem;
}
.op-multi-selector .items > .op-checkbox:first-child {
    margin-left: 0;
}

/* --- */

:focus {
    border-color: var(--input-focused-color);
    outline: none;
    /* outline: lightsalmon;
    outline-width: medium;
    outline-style: dashed; */
}

#main {
    position: relative;
    /* padding-top: 50px; */
    z-index: 0;
}

/* .userinfo {
    position: fixed;
    top: 5px;
    right: 10px;
    z-index: 5;
    padding: 10px 15px;
    border-radius: 20px;
    height: 40px;
} */
/* -- -- */
.overlay {
    z-index: 20;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--overlay-ba-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.innerframe {
    position: fixed;
    background-color: var(--main-context-bg-color);
    border: 1px solid var(--border-color);
    padding: 0px;
    border-radius: 5px;
    min-width: 400px;
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 60px);
    margin-bottom: -30px;
    text-align: left;
}

.innerframe > .innerframe-header {
    position: relative;
    font-size: 1.2rem;
    display: block;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 5px;
    background-color: var(--title-bg-color);
    color: var(--title-text-color);
    padding: 10px 20px 5px 10px;
    border-radius: 5px 5px 0 0;
}

.innerframe > .innerframe-header .svgbutton .iconName {
    color: var(--title-text-color);
}
.innerframe .steps {
    display: inline-block;
    margin-left: 1rem;
}
.innerframe > .content {
    position: relative;
    background-color: inherit;
    max-height: calc(100vh - 120px);
    overflow-y: scroll;
    padding: 5px 5px 0 5px;
    border-radius: 0 0 5px 5px;
    margin: 0 5px 5px 5px;
}

.innerframe .close-button {
    position: absolute;
    top: 0;
    right: 0;
    border-style: none;
    z-index: 2;
    box-shadow: none;
    background-color: transparent;
    color: var(--title-text-color);
}

.dialog {
    z-index: 20;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--dialog-bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.dialog .content {
    background-color: var(--main-context-bg-color);
}

.grandlayer {
    z-index: 0;
}

.navilayer {
    z-index: 30;
}

.framelayer {
    z-index: 50;
}

.glasslayer {
    z-index: 100;
}

/* --- */
.view-page h1 {
    display: inline-block;
    padding: 5px 15px;
}
.view-page .add-button {
}

/* ----- */
.content {
    font-size: 1rem;
}
.content > .item,
.content > .sysinfo > .item {
    padding: 5px 10px;
}

.content > .item > .title,
.content > .sysinfo > .item > .title {
    font-size: 0.7rem;
    display: inline-block;
    padding: 2px 0;
}
.content > .item  .title {
    border-bottom: 1px solid var(--border-weak-color);
    /* border-left: 3px solid var(--main-bg-color); */

    background-color: var(--title-bg-color);
    color: var(--title-text-color);

    border-radius: 4px;

    /* padding: 4px 0px 2px 5px; */
    white-space: nowrap;
    padding: 4px 2px 2px 5px;
    display: block;
}
.content > .item.amount  .title {
    /* border-bottom: 1px solid olivedrab; */
    border-left-style: none;
    /* border-right: 3px solid var(--main-bg-color); */

    /* background-color: var(--main-bg-color);
    color: var(--title-text-color); */

    /* padding: 4px 0px 2px 5px; */
    display: block;
}

.content > .item .id {
    font-size: 0.75rem;
}
.content > .item .id::after {
    content: " : ";
}
.content > .item .code {
    font-size: 0.75rem;
}
.content > .item .code::after {
    content: " : ";
}

.content > .item .value {
    display: block;
    padding: 3px;
}
.content > .item .value small {
    font-size: x-small;
    display: inline-block;
    color: var(--text-weak-color);
}
.content > .sysinfo > .item .value {
    font-size: 0.75rem;
}

.content > h2 {
    font-size: 1.2em;
    font-weight: normal;
    margin: 0;
    padding: 5px 10px;
    display: inline-block;
}
.content > h2 .title {
    font-size: 1rem;
    display: inline-block;
}
.content > h2 .value {
    display: block;
}
.content > h2 .id {
    font-size: 1rem;
}
.content > h2 .id::after {
    content: " : ";
    font-size: 0.9rem;
}
.content > h2 .control-box {
    display: inline-block;
    vertical-align: bottom;
}
.content > h2 .control-box button {
    font-size: 1rem;
    margin-left: 1em;
}
/* ----- */
.addButton {
    margin-top: 0ex;
    font-size: 1.25rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    padding: 0;
}
.addButton:after {
    display: block;
    content: "追加";
    font-size: 0.5rem;
    margin: 0;
    padding: 0;
    margin-top: -0.5ex;
}
.edit-button {
    margin-top: 1ex;
    font-size: 1.25rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    padding: 0;
}
.edit-button:after {
    display: block;
    content: "編集";
    font-size: 0.5rem;
    margin: 0;
    padding: 0;
    margin-top: -0.5ex;
}
.logButton {
    margin-top: 1ex;
    font-size: 1rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    padding: 0;
}
.logButton:after {
    display: block;
    content: "履歴";
    font-size: 0.5rem;
    margin: 0;
    padding: 0;
    margin-top: -0.5ex;
}
/* ------------------- */
.form {
    position: relative;
}
.form .item {
    position: relative;
    padding: 5px 0;
    white-space: nowrap;
}
.form .item > .title {
    font-size: 0.8rem;
}
.form .item-group {
    padding: 5px 0;
}
.form .item-group > .title {
    font-size: 0.8rem;
    padding: 0;
}
.form .item-group > .item {
    padding: 0;
}

.form-field {
    padding: 0px;
    display: inline-block;
    /* width: auto; */
    text-align: left;
}

.form-field > .title {
    display: inline-block;
    font-size: 0.75rem;
}

.form-field .form-field-input {
    margin-top: 3px;
    position: relative;
}
.form-field .form-field-input button {
    background-color: var(--input-bg-color);
}
.form-field .restrict {
    display: inline-block;
    font-size: 0.8rem;
    padding-left: 1rem;
    white-space: nowrap;
}
.form-field .restrict:before {
    content: "(";
}
.form-field .restrict:after {
    content: ")";
}
.form-field .restrict-item {
    display: inline-block;
    padding: 0 1ex;
}
.form-field .charscounter {
    text-align: right;
    font-size: 0.7rem;
    white-space: nowrap;
    float: right;
    display: block;
    padding-left: 1rem;
}
.form-field .fieldnote {
    font-size: 0.7rem;
    vertical-align: top;
}

.form-field .radio-item {
    display: inline-block;
    position: relative;
}
.form-field .radio-item input {
    position: relative;
    margin-left: 10px;
}

.form-field .radio-group label {
    position: relative;
    z-index: 2;
    display: inline-block;
    border: 3px solid var(--input-bg-color);
    padding: 3px 10px;
    border-radius: 15px;
    margin: 5px 5px 5px -20px;
    background-color: var(--input-bg-color);
    box-shadow: var(--block-shadow);
    cursor: pointer;
}
.form-field .radio-group input:checked + label {
    border: 3px solid var(--input-selected-bg-color);
    background-color: var(--input-selected-bg-color);
    color: var(--input-selected-text-color);
    /* transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); */
    box-shadow: none;
}
.form-field .radio-group input:focus + label {
    border: 3px solid var(--input-focused-color);
    /* transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); */
    box-shadow: var(--block-shadow);
}
.form-field .radio-group input:focus:checked + label {
    border: 3px solid var(--input-focused-color);
    background-color: var(--input-selected-bg-color);
    /* transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); */
    box-shadow: none;
}
.checked-error {
    color: var(--error-text-color);
}
.checked-error:after {
    color: var(--error-text-color);
    content: "⚠"; /*"💢";*/
}

.checked-ok:after {
    content: "✔";
    color: var(--input-text-color);
}

/* --- disabled --- */
input:disabled,
textarea:disabled {
    color: var(--input-disabled-text-color);
    border-color: var(--border-weak-color);
    background-color: var(--input-disabled-bg-color);
}
.disabled {
    color: var(--text-disabled-color);
}
.form-field .radio-group label.disabled {
    border: 1px solid var(--border-weak-color) !important;
    background-color: var(--button-disabled-bg-color) !important;
    color: var(--button-disabled-text-color) !important;
}
.disabled .checked-error,
.disabled .checked-error:after,
.disabled .checked-ok:after {
    color: var(--text-weak-color);
}
.disabled .readonly-field {
    color: var(--text-weak-color);
}
/* ----------------------- */
/* @media screen and (max-width: 640px) {
    table {
        width: 80%;
    }
    table thead {
        display: none;
    }
    table tr {
        width: 100%;
    }
    table td {
        display: block;
        text-align: right;
        width: 100%;
    }
    table td:first-child {
        background: #e9727e;
        color: #fff;
        font-weight: bold;
        text-align: center;
    }
    table td:before {
        content: attr(data-label);
        float: left;
        font-weight: bold;
        margin-right: 10px;
    }
} */

/* -------------------------- */
table.confirm {
    margin: 10px 0px;
}
table.confirm th {
    font-size: 1rem;
    text-align: right;
}

table.confirm .id {
    font-size: 0.9rem;
}
table.confirm .id::after {
    content: " : ";
    font-size: 0.9rem;
}
table.confirm .code {
    font-size: 0.9rem;
}
table.confirm .code::after {
    content: " : ";
    font-size: 0.9rem;
}
/* -- ★★★★★★★★★★★★★★★★★ -- */

/* =================== */
/* =================== */

.popupmenu {
    display: block;
    border: 1px solid 999;
    box-shadow: var(--block-shadow);
    z-index: 50;
    background-color: var(--main-context-bg-color);
    padding: 10px;
    border-radius: 10px;
}
.popupmenu ul {
    list-style-type: none;
    margin-left: 0;
    padding-left: 0;
}
.popupmenu a {
    display: block;
    color: var(--main-text-color);
    text-decoration: none;
}

.popupmenu-overlay {
    z-index: 40;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--overlay-ba-color);
    align-items: center;
    justify-content: center;
    display: flex;
}

/* --- */
/* .view-header {
    margin: 0px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 3;
    padding: 0px;
    display: block;
    text-align: center;
    margin-right: auto;
    margin-left: auto;
    width: 100vw;
    justify-content: center;
    background-color: transparent;
    height: 50px;
} */

/* --- */
.statusValue {
    padding: 0 5px;
    display: inline-block;
    text-align: center;
    font-size: 1rem;
}
.statusValue .statusName {
    font-size: 0.25rem;
    color: var(--text-weak-color);
    margin-top: -0.3rem;
}
.divValue {
    padding: 5px 5px;
    display: inline-block;
    text-align: center;
    font-size: 1rem;
}
.divValue .divName {
    font-size: 0.25rem;
    color: var(--text-weak-color);
    margin-top: -0.3rem;
}
/* ----------------- */
/* --------------------------------- */
/* ▼a：スマートフォン専用のスタイル */
/* --------------------------------- */
/* @media (max-width: 599px) {
    body {
        background-color: lightyellow;
    }
} */
/* ----------------------------- */
/* ▼b：タブレット専用のスタイル */
/* ----------------------------- */
/* @media (min-width: 600px) and (max-width: 1024px) {
    body {
        background-color: olivedrab;
    }
    #main {
        margin-left: auto;
        margin-right: auto;
        max-width: 600px;
        background-color: white;
    }
    .opportunity-view h1 {
        width: 580px;
        background-color: rgba(255, 255, 255, 0.9);
    }
} */

/* --------------------- */
/* ▼c：PC専用のスタイル */
/* --------------------- */
/* @media (min-width: 1025px) and (max-width: 1280px) {
    body {
        background-color: olivedrab;
    }
    #main {
        position: relative;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
        background-color: white;
        border-radius: 10px;
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 10px;
        box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.5);
    }
    .opportunity-view h1 {
        width: 1004px;
        background-color: rgba(255, 255, 255, 0.9);
    }
    .retrievalpanel {
        background-color: rgba(255, 255, 255, 0.75);
    }
} */

/* @media (min-width: 1281px) { */

#main {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    /* margin-bottom: 10px; */
    /* width: var(--max-content-width); */
    /* max-width: var(--max-content-width); */
    background-color: var(--main-context-bg-color);
    /* padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px; */
    min-width: 1025px;
    min-height: 100vh;
}

/* .view-header > div {
    margin-right: auto;
    margin-left: auto;
    width: 1040px;
    background-color: var(--glass-pane-bg-color);
} */

/* } */

.page-header {
    position: sticky;
    display: flex;
    top: 0;
    left: 0;
    min-width: 90%;
    text-align: left;
    padding: 5px 50px 10px 150px;
    align-items: center;
    background-color: var(--main-context-bg-color);
    z-index: 2;
    margin: 0;
    /* height: calc(4rem + 2px); */
    flex-wrap: wrap;
}
.page-header h1 {
    font-size: 1.2rem;
    padding: 0 2rem 0 0;
    margin: 0;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.page-header h1 ~ * {
    display: inline-block;
    font-size: 1rem;
    padding: 0 10px;
    flex-shrink: 0;
    white-space: nowrap;
}

/* ------ */

/* ------------ */
.loader,
.loader:before,
.loader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}
.loader {
    position: fixed;
    top: calc(50vh - 80px);
    left: calc(50vw - 3.5em);
    color: var(--overlay-text-color);
    font-size: 10px;
    margin: 80px auto;
    /* position: relative; */
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}
.loader:before,
.loader:after {
    content: "";
    position: absolute;
    top: 0;
}
.loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}
.loader:after {
    left: 3.5em;
}
@-webkit-keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }
    40% {
        box-shadow: 0 2.5em 0 0;
    }
}
@keyframes load7 {
    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }
    40% {
        box-shadow: 0 2.5em 0 0;
    }
}

.loading-enter-active,
.loading-leave-active {
    transition: 0.1s;
}

.loading-enter,
.loading-leave-to {
    opacity: 0;
}

.control-box {
    position: sticky;
    bottom: 0px;
    z-index: 2;
    margin-top: 10px;

    background-color: var(--main-context-bg-color);
}
