@media only screen and (min-width:320px) and (max-width:559px) {
    table {
        border: 0;
        width: 100%;
        line-height: 1.6;
        color: #4a220c;
    }
    table th {
        display: block;
        border-right: none;
        border-bottom: 2px solid #4a220c;
        padding-bottom: .6em;
        margin-bottom: .6em;
        font-size: 1.2rem;
    }
    table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }
    table tr {
        display: block;
        margin-bottom: 2em;
        border-bottom: 1px solid #4a220c;
    }
    table td {
        border-bottom: 1px solid #bbb;
        display: block;
        font-size: 1.2rem;
        text-align: right;
        position: relative;
        border-right: none;
    }
    table td::before {
        content: attr(data-label);
        font-weight: bold;
        position: absolute;
        left: 10px;
    }
    table td:last-child {
        border-bottom: 0;
    }
    .txt {
        text-align: left;
        padding: 10px;
    }
    .price {
        text-align: right;
        padding: 10px 10px 10px 40px;
    }
    table a {
        width: 20px;
        color: #4a220c;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    table a i.fas {
        padding-top: 3px;
        font-size: 2rem;
        margin-left: 10px;
    }
    table a:hover {
        color: #fcc800;
    }
    .price_wrap {
        width: 100%;
        margin: 0 auto 30px;
        padding: 10px;
        font-size: 1.2rem;
        color: #4a220c;
        letter-spacing: 1px;
    }
    .price_wrap p {
        font-size: 1.2rem;
        line-height: 1.6;
        letter-spacing: 1px;
    }
    p.price_info_title {
        font-weight: 700;
        line-height: 1.6;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width:560px) and (max-width:959px) {
    table {
        border-collapse: collapse;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        min-width: 520px;
        max-width: 920px;
        table-layout: fixed;
        color: #4a220c;
        font-size: 1.4rem;
        line-height: 2;
        display: table;
    }
    table tr {
        background-color: #fff;
        padding: .35em;
        border-bottom: 1px solid #4a220c;
    }
    table tr:first-child {
        border-top: 2px solid #18521b;
    }
    table tr:last-child {
        border-bottom: 2px solid #18521b;
    }
    table th,
    table td {
        font-size: 1.4rem;
        padding: 20px 10px;
    }
    tbody th {
        width: 25%;
        color: #4a220c;
    }
    table a {
        width: 20px;
        color: #4a220c;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    table td a i.fas {
        padding-top: 3px;
        font-size: 2rem;
        margin-left: 10px;
    }
    table a:hover {
        color: #fcc800;
    }
    .txt {
        width: 55%;
        text-align: left;
        font-size: 1.4rem;
    }
    .price {
        text-align: left;
    }
    .price_wrap {
        width: 100%;
        margin: 0 auto;
        padding: 30px;
        font-size: 1.4rem;
        color: #4a220c;
        letter-spacing: 1px;
    }
    .price_wrap p {
        font-size: 1.4rem;
        line-height: 1.8;
        letter-spacing: 1px;
    }
    p.price_info_title {
        font-weight: 700;
        line-height: 1.6;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width:320px) and (max-width:959px) {}

@media only screen and (min-width:960px) {
    .category_top {
        padding-top: 120px;
        color: #4a220c;
        text-align: center;
    }
    .category_top svg {
        width: 10%;
        fill: #4a220c;
        display: block;
        margin: 0 auto 20px;
    }
    .category_name {
        font-size: 2.4rem;
        letter-spacing: 1px;
        font-weight: 700;
    }
    .category_inner {
        margin: 60px auto;
    }
    .recruit_wrap {
        width: 100%;
        min-width: 920px;
        max-width: 1100px;
        margin: 130px auto;
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 1px;
        text-align: center;
    }
    table {
        border-collapse: collapse;
        margin: 0 auto;
        padding: 0;
        width: 100%;
        min-width: 940px;
        max-width: 1080px;
        table-layout: fixed;
        color: #4a220c;
        font-size: 1.4rem;
        line-height: 2;
        display: table;
    }
    table tr {
        background-color: #fff;
        padding: .35em;
        border-bottom: 1px solid #4a220c;
    }
    table tr:first-child {
        border-top: 2px solid #18521b;
    }
    table tr:last-child {
        border-bottom: 2px solid #18521b;
    }
    table th,
    table td {
        padding: 20px;
    }
    tbody th {
        width: 25%;
        color: #4a220c;
        font-weight: 600;
        letter-spacing: 2px;
    }
    table a {
        width: 20px;
        color: #4a220c;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    table td a i.fas {
        font-size: 2.4rem;
        margin-left: 10px;
    }
    table a:hover {
        color: #fcc800;
    }
    .txt {
        width: 60%;
        text-align: left;
        font-size: 1.4rem;
    }
    .price {
        text-align: left;
    }
    .price_wrap {
        width: 80%;
        margin: 0 auto;
        padding: 30px;
        font-size: 1.4rem;
        color: #4a220c;
        letter-spacing: 1px;
    }
    .price_wrap p {
        font-size: 1.4rem;
        line-height: 1.8;
        letter-spacing: 1px;
    }
    p.price_info_title {
        font-weight: 700;
        line-height: 1.6;
        margin-bottom: 10px;
    }
    p.price_info_txt {
        line-height: 1.4;
    }
}