html, body {
    font-family: Lucida Sans Unicode, "Lucida Grande", Arial, Helvetica, "ヒラノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", sans-serif;
    line-height: 1.5;
    font-size: 14px;
    margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}

h2 {
    background: url("images/green_line_bg.png") repeat-x center bottom;
    padding: 20px 0;
    margin: 0 0 20px 0;
    color: #0D7C3C;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
/*
h3 {
    padding: 20px 0;
    margin: 0 0 20px 0;
    color: #0D7C3C;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-bottom: solid 1px #c9c9c9;
}
*/
h3 {
    padding: 20px 0 40px 0;
    font-size: 30px;
    font-weight: normal;
    color: #ed6942;
}

table {
    width: 100%;
}

tbody {
    border-top: #c9c9c9 solid 1px;
    border-left: #c9c9c9 solid 1px;
}

th, td {
    font-weight: normal;
    text-align: left;
}

th {
    background-color: #f6f4f5;
    border-bottom: #c9c9c9 solid 1px;
    width: 180px;
    padding: 10px 40px 10px 20px;
    border-right: #c9c9c9 solid 1px;
}

td {
    border-bottom: #c9c9c9 solid 1px;
    border-right: #c9c9c9 solid 1px;
    padding: 10px 20px 10px 20px;
}

main {
    max-width: 670px;
    margin: 0 auto;
}

.text-input {
    width: 100%;
}


.info {
    margin-bottom: 60px;
}

.require {
    color: #ff0000;
    padding-left: 2em;
}


#order_items {
    display: table;
}

ul.order_items {
width:auto;
box-sizing: border-box;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-box;
    display:-webkit-flexbox;
    display:-moz-flexbox;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:-ms-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    flex-basis: 133px;
    border-top: #c9c9c9 solid 1px;
    border-left: #c9c9c9 solid 1px;
}

ul.order_items li {
box-sizing: border-box;
    width: 20%;
    border-right: #c9c9c9 solid 1px;
    border-bottom: #c9c9c9 solid 1px;
    padding: 20px 0;
    text-align: center;

    list-style:none;
}

.qty_wrapper {
    position: relative;
    margin-top: 5px;
}


.qty_wrapper .item_qty {
    width: 60px;
    position: relative;
    text-align: center;
}

.qty_wrapper .gram {
    position: absolute;
    right: 20px;
    top: 0;
}

.item_name {
    min-height: 35px;
    line-height: 1.1em;
    padding-top: 10px;
}

#err_msg {
    padding: 15px;
    border-radius: 5px;
    margin: 25px 0 0;
}

#err_msg p {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.msg_ini {
    background-color: #efefef;
}

.msg_ini p {
    color: #000000;
}

.msg_err {
    background-color: #ffebec;
}

.msg_err p {
    color: #e80115;
}

.msg_ok {
    background-color: #d3f0fe;
}

.msg_ok p {
    color: #01567f;
}

.calc_wrapper {
    margin: 35px 0;
    border-top: #000000 solid 1px;
}


.calc_box {
    padding: 20px;
    border-bottom: #000000 solid 1px;
    position: relative;
}

#order_qty, #bag_output {
    width: 49%;
    display: inline-block;
    position: relative;
}

#order_qty p, #bag_output p {
    display: inline-block;
}

/*
#order_qty input {
    position: absolute;
    right: 20px;
    top: 0;
    width: 80px;
}
*/
#order_qty #order_qty_value {
    position: absolute;
    right: 40px;
    top: 0;
    text-align: right;
}

#order_qty_value input {
    width: 50px;
    text-align: center;
}

#order_qty .MyMailForm_value {
    position: absolute;
    right: 20px;
    top: 0;
    width: 50px;
}

#order_qty .fukuro {
    position: absolute;
    right: 20px;
    top: 0;
    /*width: 80px;*/
}


.output_value {
    font-size: 18px;
    text-align: right;
    position: absolute;
    right: 35px;
    top: 18px;
}

#total_calories,
#total_protein,
#total_fat,
#total_carbs{
    font-size: 14px;
    text-align: right;
    position: absolute;
    right: 35px;
}

#bag_output .output_value {
    top: 0;
    right: 8px;
}

.price {
    color: #e80115;
}

#MyMailForm_button {
    background-color: #eeeeee;
    text-align: center;
    padding: 20px 10px !important;
    border-radius: 5px;
}

#MyMailForm_button button {
    padding: 20px 50px;
    background-color: #f39801;
    border-radius: 5px;
    border-style: none;
    color: #ffffff;
    font-size: 16px;
}

/*数量の入力値を赤く*/
.order_items .MyMailForm_value, #order_qty_value .MyMailForm_value  {
    color: #e50014;
}

.thanks p {
    line-height: 2em;
    margin-bottom: 40px;
}

.thanks h4 {
    margin-bottom: 20px;
}

/*add*/
.orderform {
height:100%;
}
.orderform iframe {
height:100%;
}
div img {
max-width:100%;
height:auto;
}
.red {
color:#cc0000;
}
.mt20 {
margin-top:20px;
}
.mt10 {
margin-top:10px;
}
.f15 {
font-size:15px;
}
.f16 {
font-size:16px;
}
.b {
font-weight:bold;
}

.orderflow dl {
margin:0 0 20px 0;
background:#0d7c3c;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
padding:20px;
color:#fff;
}
.orderflow dl dt {
font-weight:bold;
padding:5px 0;
font-size:16px;
}
.clear {
clear:both;
}

/* ----------------- レスポンシブ対応 ----------------- */
@media (max-width: 480px) {

    main {
        width: auto;
    }

    ul.order_items li {
        width: 33%;
    }

    button#back, button#send {
        display: block;
        margin: 0 auto;
    }

}

@media (max-width: 768px) {
    th {
        display: block;
        width: auto;
    }

    td {
        display: block;
        width: auto;
    }

    #calc_output {
        display: block;
    }

    #sum_output, #price_output {
        display: block;
        width: auto;
        max-width: 100%
    }

    .output_value {
        width: 65%;
        display: inline-block;
    }

    #order_qty, #bag_output {
        width: 100%;
        display: block;
    }

    #order_qty{
        margin-bottom : 20px;
    }

    #bag_output .output_value{
        right: 15px;
    }

}

