@charset "utf-8";

/************************************************
 tables
************************************************ */
/* デフォルトテーブル
----------------------------------------------- */
table {
    margin: 15px auto 20px auto;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}
table th {
    padding: 8px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    color: #333;
    background-color: #f0f0f0;
    font-weight: normal;
}
table td {
    padding: 8px;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

/* 入力エリア
----------------------------------------------- */
table.table_input,
table.table_detail {
    display: block;
    margin: 0;
    border-top: none;
    border-left: none;
    width: auto;
}
table.table_input tbody,
table.table_detail tbody {
    display: block;
}
table.table_input tr,
table.table_detail tr {
    display: block;
    background: url(https://d2w53g1q050m78.cloudfront.net/ranmu/uploads/assets/img/common/dottbg.png);
    margin: 0 0 15px 0;
    padding: 2px;
}
table.table_input tr:after,
table.table_detail tr:after {
    content: "";
    display: block;
    clear: both;
}
table.table_input th,
table.table_detail th {
    display: block;
    width: 25%;
    line-height: 3em;
    float: left;
    box-sizing: border-box;
    padding: 0 0 0 2em;
    position: relative;
    font-size: 1.2em;
    border-right: none;
    border-bottom: none;
    background-color: transparent;
    text-align: left;
}
table.table_input th:after {
    content: '任意';
    background: #C7C7C7;
    padding: 0 1em;
    color: #fff;
    line-height: 1.5em;
    position: absolute;
    right: 1em;
    top: 50%;
    font-size: .8em;
    transform: translateY(-50%);
}
table.table_input th.required:after {
    content: '必須';
    background: #bb1a1a;
}
table.table_input td,
table.table_detail td {
    display: inline-block;
    width: 75%;
    float: right;
    background: #fff;
    padding: 0 1em;
    box-sizing: border-box;
    line-height: 4em;
    border-right: none;
    border-bottom: none;
}
table.table_input td span {
    display: inline-block;
}
@media screen and (max-width:768px) {
    table.table_input th,
    table.table_detail th {
        width: 100%;
        float: none;
        padding-left: 1em;
    }
    table.table_input td,
    table.table_detail td {
        width: 100%;
        float: none;
    }
}

/* 見出し
----------------------------------------------- */
div#undercolumn_shopping table th[scope=col] {
    text-align: center;
}
div#undercolumn_shopping table.delivname th {
    width: 155px;
}

/* MYページ */
div#mycontents_area table th {
    text-align: left;
}
div#mycontents_area table th.alignR {
    text-align: right;
}
div#mycontents_area table th.alignL {
    text-align: left;
}
div#mycontents_area table th.alignC {
    text-align: center;
}
div#mycontents_area table th.resulttd {
    text-align: right;
}
div#mycontents_area table caption {
    padding: 8px;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-left: 1px solid #ccc;
    color: #000;
    background-color: #f0f0f0;
    text-align: left;
    font-weight: bold;
}


/* その他
----------------------------------------------- */
/*table select {
    margin-bottom: 7px;
    border: solid 1px #ccc;
}*/

