@charset "utf-8";

/*
------------------------
table
------------------------
*/

table {
    color: var(--table-font-color);
    background-color: var(--table-background-color);
    width: 100%;
}

table tr th,
table tr td {
    position: relative;
    vertical-align: middle;
    padding: 10px 14px;
    font-weight: normal;
    line-height: 22px;
    background-clip: padding-box; /* IE edge ボーダー消えるバグ対策 */
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}

table tr th {
    text-align: center;
}

table tr th .attention {
    position: absolute;
    top: 50%;
    margin-top: -9px;
    right: 8px;
}

table tr td input[type="checkbox"],
table tr td input[type="radio"] {
    margin: 14px;
}

table tr td .band {
    color: var(--accent-font-color);
    background-color: var(--accent-background-color);
    position: absolute;
    top: 0;
    left: 0;
    padding: 4px 4px 2px;
    border-radius: 2px;
    font-size: 0.8em;
    line-height: 1;
}

table tr td .band.gray {
    background-color: #A9A9A9;
}


/* type1 */
table.type1 tbody {
    display: block;
    padding: var(--table-vertical-spacing) var(--table-horizontal-spacing);
}

table.type1 tbody tr {
    container-type: inline-size;
    display: flex;
    flex-wrap: wrap;
}

table.type1 tbody tr th {
    display: flex;
    align-items: center;
    gap: 8px;
}

table.type1 tbody tr td {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

table.type1 tbody tr th,
table.type1 tbody tr td {
    width: 100%;
}

@container (min-width: 450px) {
    table.type1 tbody tr th {
        width: 185px;
        padding-top: 14px;
        padding-bottom: 14px;
    }
    table.type1 tbody tr td {
        width: calc(100% - 185px);
    }
}


/* js-password-area */
table tr td .js-password-area .small-text,
table tr td .js-password-area button[type="button"] {
    margin-top: 8px;
}

table tr td .js-password-area .example-password {
    display: flex;
    align-items: center;
    margin-top: 8px;
    margin-bottom: 8px;
}

table tr td .js-password-area .example-password p:first-of-type {
    font-size: 1.4em;
}


/* address-area */
table tr td .address-area .postcode-area {
    display: flex;
    align-items: center;
    gap: 8px;
}

table tr td .address-area .postcode-area input {
    width: 60px;
}

table tr td .address-area .postcode-area div {
    width: fit-content;
}

table tr td .address-area select {
    width: 140px;
}


/* date-select-area */
table tr td .date-select-area,
table tr td .date-select-area select {
    margin-right: 12px;
}

table tr td .date-select-area select {
    width: 75px;
}

table tr td .date-select-area.year select {
    width: 80px;
}

table tr td .date-select-area .js-input-area {
    display: inline;
}

table tr td .date-select-area:last-of-type {
    margin-right: 0;
}
