:root {
    --yellow: #EFB700;
    --yellow-pale: #FFF4CA;
    --yellow-dark: #E4A800;
    --green: #6B960D;
    --blue: #2F80CB;
    --green-pale: #DCEABD;
    --text-color: #000000;
    --text-pale: #9F9F9F;
    --base: #F1F1F1;
}

* {
    font-family: "Zen Maru Gothic", serif;
}

p {
    margin: 0;
    padding: 0;
}

button {
    box-shadow: none;
    border: none;
}

.row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0;
    flex-wrap: wrap;
}

.h3_mark {
    width: 8px;
    height: 28px;
    background-color: var(--green);
}

.h3_text {
    font-weight: 700;
    font-size: 18px;
    border: none;
    padding: 0;
    margin: auto 8px;
}

.btn_bordered,
.btn_bordered_rad8,
.btn_bordered_rad20 {
    background-color: white;
    color: var(--green);
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 600;
    width: fit-content;
    border: solid 1px var(--green);
}

.btn_bordered {
    border-radius: 4px;
}

.btn_bordered_rad8 {
    border-radius: 8px;
}

.btn_bordered_rad20 {
    border-radius: 20px;
}

.btn_colored {
    background-color: var(--yellow);
    color: white;
    border-radius: 40px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 800;
    width: fit-content;
}

.btn_danger {
    padding: 0px 4px;
    font-size: 12px;
    font-weight: 500;
    color: red;
    background-color: rgb(255, 236, 236);
}

.btn_colored_3d {
    background-color: var(--yellow);
    color: white;
    border-radius: 40px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 800;
    width: fit-content;
    border: solid 1px var(--yellow-dark);
    box-shadow: 0 4px var(--yellow-dark);
}

/* table1 */
.custom-table {
    width: 100%;
    border-collapse: collapse;
}

.custom-table th,
.custom-table td {
    border: 1px solid var(--green);
    text-align: left;
    padding: 4px 8px;
}

.custom-table thead th {
    background-color: var(--green);
    color: white;
    border: 1px solid var(--green);
    font-size: 11px;
}

.custom-table td {
    background-color: white;
    font-size: 16px;
    font-weight: medium;
}

.stars {
    font-size: 20px;
    color: var(--yellow);
}

/* tab */
.tab-ui {}

.tab-header {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--yellow);
}

.tab-button {
    width: fit-content;
    padding: 4px 12px;
    background-color: var(--yellow-pale);
    border: none;
    cursor: pointer;
    color: #000;
    border-radius: 8px 8px 0 0;
    font-size: 13px;
}

.tab-button.active {
    background-color: var(--yellow);
    font-weight: bold;
}

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}

.add-tab {
    background-color: white;
    border: none;
    cursor: pointer;
    padding: 4px 10px;
    font-size: 14px;
    color: #000;
}

.tab-content {
    background-color: white;
}

/* table2 */
.custom-table2 {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.custom-table2 td {
    padding: 4px 8px;
    font-size: 14px;
}

.custom-table2 td:nth-child(odd) {
    width: 146px;
    background-color: var(--base);
}

.custom-table2 td:nth-child(even) {
    background-color: white;
}

.add-row-button {
    display: block;
    margin: 10px 0;
    background-color: var(--green);
    color: #000;
    cursor: pointer;
    font-size: 14px;
    padding: 5px 10px;
    color: white;
    border: none;
    width: fit-content;
}

.add-row-button:hover {
    background-color: var(--green-pale);
}


/* table3 */
.custom-table3 {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.custom-table3 td {
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 700;
    background-color: white;
    border: solid 1px var(--green-pale);
}

.custom-table3 tr:first-child td {
    background-color: var(--green-pale);
    font-weight: 500;
}

/* table4 */
.custom-table4 {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.custom-table4 td {
    padding: 4px 8px;
    font-size: 14px;
    font-weight: 500;
    background-color: white;
    border: solid 1px var(--green-pale);
}

.custom-table4 td:first-child {
    background-color: var(--green-pale);
}

/* list */
.list-block {
    display: flex;
    flex-direction: column;
    gap: 12px
}

/* 背景緑のテキスト */
.filled_text_4 {
    color: white !important;
    width: 100% !important;
    background-color: var(--green) !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    margin: 0 !important;
}

/* 背景うす緑のテキスト */
.filled_text_5 {
    color: var(--text-color) !important;
    width: 100% !important;
    background-color: var(--green-pale) !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    margin: 0 !important;
}

/* 背景うす緑&テキスト緑のテキスト */
.filled_text_6 {
    text-decoration: none !important;
    text-decoration-color: transparent !important;
    border: 0 !important;
    outline: none !important;
    color: var(--green) !important;
    width: 100% !important;
    background-color: var(--green-pale) !important;
    padding: 4px 8px !important;
    font-size: 12px !important;
    margin: 0 !important;
}

/* テーブルの値 */
.table_value_txt {
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 16 !important;
    padding: 4px 8px !important;
    border-left: solid 0.5px var(--green-pale) !important;
    border-right: solid 0.5px var(--green-pale) !important;
    width: 100% !important;
}

/* 青文字 */
.blue-text {
    margin: 0;
    padding: 0;
    font-family: "Zen Maru Gothic", serif;
    color: var(--blue);
    font-weight: 700;
    text-align: center
}