﻿/*
    table01
      ・PCで表示されるテーブル
    table02
      ・モバイルで表示されるテーブル
    table03
      ・PCではthとtdが縦並び、モバイルではthとtdが横並び
    table-mobile-no-header
      ・モバイルではtheadが非表示
*/

.no-margin, .no-margin tr, .no-margin th, .no-margin td {
    margin: 0px !important;
}

.no-padding, .no-padding tr, .no-padding th, .no-padding td {
    padding: 0px !important;
}

.no-border, .no-border tr, .no-border th, .no-border td {
    border: 0px !important;
}

.show-mobile {
    display: none;
}


td.not-payment {
    background-color: lightpink !important;
}

table.table02 {
    display: none;
}

table.table01, table.table03, table.table-mobile-no-header {
    width: 100%;
    border-right: #EEE solid 1px;
    border-collapse: collapse;
}

table.table01 col.entry_term {
    width: 210px;
    white-space: nowrap;
}

table.table01 col.entry_status{
    width:150px;
}

table.table01 thead th, table.table03 thead th, table.table-mobile-no-header thead th {
    background: #3EB1C6;
    color: #FFF;
    padding: 10px 15px;
    border-right: #EEE solid 1px;
    border-bottom: #EEE solid 1px;
    text-align: center;
    vertical-align: middle;
}

table.table01 thead th:last-child, table.table03 thead th:last-child, table.table-mobile-no-header thead th:last-child {
    border-right: #EEE solid 1px;
}

table.table01 tr:first-child td,
table.table01 tr:first-child th,
table.table03 tr:first-child td,
table.table03 tr:first-child th,
table.table-mobile-no-header tr:first-child td,
table.table-mobile-no-header tr:first-child th {
    border-top: #EEE solid 1px;
}

table.table01 tbody th, table.table03 tbody th, table.table-mobile-no-header tbody th {
    background: #3EB1C6;
    color: #FFF;
    padding: 10px 15px;
    border-bottom: #EEE solid 1px;
    vertical-align: top;
    text-align: center;
    vertical-align: middle;
}

table.table01 tbody tr:last-child th, table.table03 tbody tr:last-child th, table.table-mobile-no-header tbody tr:last-child th {
    border-bottom: #EEE solid 1px;
}

table.table01 tbody td, table.table03 tbody td, table.table-mobile-no-header tbody td {
    background: #FFF;
    padding: 10px 15px;
    border-left: #EEE solid 1px;
    border-bottom: #EEE solid 1px;
    vertical-align: top;
}

/* thとtdを横並びにする */
/* th|td */
/* ↓    */
/* th    */
/* －    */
/* td    */
table.table03 tbody th {
    width: 100%;
    display: block;
}

table.table03 tbody td {
    width: 100%;
    display: block;
}



.logo-img {
    width: 400px;
}

label {
    font-weight: normal;
}

.container {
    max-width: 1270px;
}

#contents {
    display: table-cell;
    /*width: 100%;*/
    /*height: 100%;*/
}

.payment_content-box,
.payment_content-box-no-bottom {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: -15px;
    margin-right: -15px;
    padding: 0px;
    background: #FFFFFF;
    border: 0px;
}

.payment_content-box-no-bottom {
    margin-bottom: 0px;
}

table.paymentguide {
    border: 1px solid #BBBBBB;
    color: #000000;
    margin: 0px auto 20px;
}

table.paymentguide th {
    border-top: 1px solid #BBBBBB;
    border-bottom: 1px solid #BBBBBB;
    background-color: #87CEFA;
    height: 30px;
    line-height: 30px;
    padding: 4px 8px;
    font-weight: normal;
    font-size: 130%;
}

table.paymentguide td {
    border-style: none;
    padding: 4px 8px;
}

table.banktransfer {
    border-collapse: separate;
    border: 1px solid #EEE;
    border-spacing: 1px;
    color: #000000;
    margin: 0px auto;
}

table.banktransfer th {
    background-color: #87CEFA;
    height: 30px;
    line-height: 30px;
    padding: 0px 8px;
    font-weight: normal;
    border-bottom: 1px solid #EEE;
    font-size: 100%;
}

table.banktransfer td {
    height: 30px;
    padding: 0px 8px;
    border-bottom: 1px solid #EEE;
}

table.paymentguide_attention {
    width: auto;
    border-style: none;
    margin: 10px auto 0px;
    white-space: nowrap;
    border-collapse: collapse;
}

table.paymentguide_attention th {
    border: 2px solid #FFFFFF;
    background-color: #FFE36F;
    height: auto;
    line-height: normal;
    padding: 1px 20px;
    color: #2E2E2E;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
}

table.paymentguide_attention td {
    border: 2px solid #FFFFFF;
    background-color: #FFFFD8;
    padding: 1px 20px;
    color: #424242;
    text-align: center;
}

table.payment, table.paymentlist {
    width: 100%;
    border-collapse: separate;
    border: 1px solid #EEE;
    margin: 0px auto;
    color: #000000;
}

table.payment {
    border-spacing: 1px;
}

table.payment th {
    background: #87CEFA;
    height: 30px;
    line-height: 30px;
    padding: 0px 8px;
    border-bottom: 1px solid #EEE;
    font-weight: bold;
}

table.payment td {
    height: 30px;
    padding: 0px 8px;
    border-bottom: 1px solid #EEE;
}

table.paymentlist {
    border-spacing: 2px;
}

table.paymentlist th {
    text-align: center;
    background: #F0F8FF;
    padding: 4px 8px;
    border-bottom: 2px solid #EEE;
}

table.paymentlist td {
    padding: 4px 8px;
    border-bottom: 2px solid #EEE;
}

table.payment th.head, table.payment th.head2, table.paymentlist th.head {
    background-color: #87CEFA;
    height: 35px;
    line-height: 35px;
    text-align: center;
    font-weight: normal;
    font-size: 120%;
    padding: 0px 8px;
}

table.payment th.head, table.payment th.head2 {
    border-bottom: 1px solid #EEE;
}

table.paymentlist th.head {
    border-bottom: 2px solid #EEE;
}

.paymenttitle {
    background-color: #87CEFA;
    height: 35px;
    line-height: 35px;
    text-align: left;
    color: #FFF;
    font-weight: normal;
    font-size: 120%;
    margin: 0px 0px;
    padding-left: 1em;
    background-color: #5699CE;
    font-weight: bold;
}

.paymenttitle_child {
    background-color: #87CEFA;
    height: 35px;
    line-height: 35px;
    text-align: left;
    color: #FFF;
    font-weight: normal;
    font-size: 120%;
    margin: 5px 5px;
    padding-left: 1em;
    background-color: #55bccd;
    font-weight: bold;
}

.paymenttitle_child_midle {
    padding: 4px 8px;
    color: #000000;
    min-height: 20px;
    text-align: left;
    background-color: #CCFFFF;
    margin: 5px 5px;
}

.paymentcomment {
    padding: 4px 8px;
    color: #000000;
    min-height: 20px;
    text-align: left;
}

.paymentcomment_bold {
    padding: 4px 8px;
    color: #009966;
    min-height: 20px;
    text-align: left;
    font-weight: bold;
}

.FreeQuestionCommentBefore {
    margin-bottom: 15px;
}

.FreeQuestionCommentAfter {
    margin-top: 15px;
}

.bgreen {
    background-color: #87CEFA;
}

.lbgreen {
    background-color: #F0F8FF;
}

.lbl-left, th.lbl-left, td.lbl-left, col.lbl-left, span.lbl-left {
    text-align: left !important;
}

.lbl-center, th.lbl-center, td.lbl-center, col.lbl-center, span.lbl-center {
    text-align: center !important;
}

.lbl-right, th.lbl-right, td.lbl-right, col.lbl-right, span.lbl-right {
    text-align: right !important;
}

.lbl-top, th.lbl-top, td.lbl-top, col.lbl-top, span.lbl-top {
    vertical-align: top !important;
}

.lbl-middle, th.lbl-middle, td.lbl-middle, col.lbl-middle, span.lbl-middle {
    vertical-align: middle !important;
}

.lbl-bottom, th.lbl-bottom, td.lbl-bottom, col.lbl-bottom, span.lbl-bottom {
    vertical-align: bottom !important;
}

input[type="radio"], input[type="checkbox"] {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    margin-right: 0.5em;
}

@media screen and (max-width: 640px) {
    body {
        font-size: 12px;
    }

    .hide-mobile {
        display: none;
    }

    .show-mobile {
        display: block;
    }

    .mobile-lbl-center, th.mobile-lbl-center, td.mobile-lbl-center, col.mobile-lbl-center, span.mobile-lbl-center {
        text-align: center !important;
    }

    table.table01 {
        display: none;
    }

    table.table02, table.table03, table.table-mobile-no-header {
        /*margin-top: 2px;*/
        width: 100%;
        display: table;
        border-collapse: collapse;
    }

    table.table02 thead th, table.table03 thead th, table.table-mobile-no-header thead th {
        background: #3EB1C6;
        color: #FFF;
        padding: 10px 10px;
        border-right: #EEE solid 1px;
        border-bottom: #EEE solid 1px;
        text-align: center;
        vertical-align: middle;
    }

    table.table02 td:last-child, table.table03 td:last-child, table.table-mobile-no-header td:last-child {
        border-right: #EEE solid 1px;
    }

    table.table02 tr:first-child td,
    table.table02 tr:first-child th,
    table.table03 tr:first-child td,
    table.table03 tr:first-child th,
    table.table-mobile-no-header tr:first-child td,
    table.table-mobile-no-header tr:first-child th {
        border-top: #EEE solid 1px;
    }

    table.table02 tbody th, table.table03 tbody th, table.table-mobile-no-header tbody th {
        background: #3EB1C6;
        color: #FFF;
        padding: 10px 10px;
        border-bottom: #FFF solid 1px;
        width: 40%;
        text-align: center;
        vertical-align: middle;
    }

    table.table02 tbody tr:last-child th, table.table03 tbody tr:last-child th, table.table-mobile-no-header tbody tr:last-child th {
        border-bottom: #EEE solid 1px;
    }

    table.table02 tbody td, table.table03 tbody td, table.table-mobile-no-header tbody td {
        background: #FFF;
        padding: 10px 10px;
        border-left: #EEE solid 1px;
        border-bottom: #EEE solid 1px;
        vertical-align: middle;
        text-align: center;
        width: 60%;
    }

    table.table03 tbody th {
        display: table-cell;
    }

    table.table03 tbody td {
        display: table-cell;
    }

    table.table-mobile-no-header thead {
        display: none;
    }



    div.th-div {
        height: 100%;
        background: #3EB1C6;
        color: #FFF;
        padding: 10px 10px;
        vertical-align: middle;
        text-align: center;
    }

    div.td-div {
        background: #FFF;
        padding: 10px 10px;
        vertical-align: middle;
        text-align: center;
    }

    .mobile-float-left {
        float: left;
    }

    .mobile-float-right {
        float: right;
    }

    .logo-img {
        width: 100%;
    }
}


@media screen and (max-width: 640px) {
    .payment_content-box,
    .payment_content-box-no-bottom {
        padding: 0px;
    }
}
