.ec {
    overflow:hidden;
    margin-bottom: 60px;
}
.ec img {
    width: 100%;
}
.ec a, .ec a:visited {
    color: #009999;
    transition: 0.5s;
}
.ec a:hover {
    color: #0099ff;
    transition: 0.5s;
}
.ec .ec_header_title {
    margin-bottom: 10px;
}
.ec_menu {
    background: #e8e8e8;
    padding: 10px; 
    text-align: center;
    font-size: 1.7rem;
    margin-bottom: 50px;
}
.ec h1 {
    clear: both;
	font-weight: normal;
	font-size: 3.2rem;
	line-height: 1.25;
	color: #444444;
	text-align: center;
	margin: 0 0 50px 0;
}


.ec h3 {
    font-size: 2.4rem;
    line-height: 1.25;
    font-weight: normal;
    text-align: center;
    margin: 0 0 30px 0;
    border-top: 1px solid #a0a0a0;
    border-bottom: 1px solid #a0a0a0;
    padding: 20px 0;
}


.ec_table {
	border-collapse:collapse;
	list-style-position:inside;
	margin-bottom:10px;
	width:100%;
	font-size:1.5rem;
}
.ec_table td {
	text-align:left;
	border:solid 1px #CCCCCC;
	padding:2px 6px;
	line-height:150%;
	vertical-align:middle;
    width:69%;
}
.ec_table th {
	background:#F5F5F5;
	color:#333333;
	border:solid 1px #CCCCCC;
	padding:12px 10px 10px 10px;
	line-height:150%;
	width:30%;
	vertical-align:middle;
}




/* index */
.ec_items {
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
}

.ec_item_each {
    flex: 0 1 auto;
    width: 21%;
    margin: 20px 2% 20px 2%;
}
.ec_item_title {
    font-size: 2.4rem;
    line-height: 1.4;
    border-bottom: 1px solid #d0d0d0;
    padding-bottom: 10px;
    margin: 30px 0;
}
.ec_index_name {
    margin: 5px 0;
}
.ec_index_summary {
    margin-bottom: 5px;
    font-size: 1.4rem;
    text-align: justify;
}
.ec_index_price {
    color: #707070;
    font-size: 1.2rem;
}
.ec_index_price span {
    font-size: 1.7rem;
}

.ec_item_image {
    margin-bottom: 30px;
}


.ec_item_sub_images {
   width: 100%;
}
.ec_item_sub_image {
    display: inline-block;
    width: 23%;
    margin-right: 1%;
    margin-bottom: 10px;
    cursor: pointer;
}
.ec_item_sub_image_img {
    width: 100%;
}


/* item */
.ec_item {
   display:inherit;
}
.ec_item_stage {
    width: 60%;
    float: left;
    padding-right: 40px;
    margin-bottom: 50px;
}
.ec_item_info {
    width: 40%;
    float: right;
    margin-bottom: 50px;
}  

.ec_item_detail {
    border-top: 1px dotted #808080;
    font-size: 1.7rem;
    text-align: justify;
    line-height: 1.5;
    padding: 15px 0;
    border-bottom: 1px dotted #808080;
}
.ec_item_spec {
    font-size: 1.7rem;
    text-align: justify;
    line-height: 1.5;
    padding: 15px 0;
    border-bottom: 1px dotted #808080;
    margin-bottom: 15px;
}
.ec_item_price {
    color: #404040;
    font-size: 1.7rem;
    text-align: center;
    border-top: 1px dotted #808080;
    padding: 15px;
    border-bottom: 1px dotted #808080;
    margin-bottom: 25px;
}
.ec_item_price span {
    font-size:2.0rem;
}

.ec_item_sale_close {
    padding: 4px 10px;
    color: #ffffff;
    background: #940000;
    font-size: 1.7rem;
    line-height: 1.5;
    text-align: center;
    border-radius: 10px;
    margin: 20px 0;
}

.ec_delivery {
    padding: 14px 10px;
    color: #000000;
    background: #e8e8e8;
    font-size: 1.7rem;
    line-height: 1.5;
    border-radius: 10px;
    margin: 20px 0;
}
.ec_ec_delivery_special {
    margin-top: 10px;
    border-top: 1px dotted #d0d0d0;
    padding-top: 10px;
    line-height: 1.4;
}

.ec_item_temperature {
    color: #666666;
    font-weight: bold;
    background: #e4faff;
    padding: 4px 10px;
    text-align: center;
    border-radius: 10px;
    margin-bottom: 20px;
}

.ec_item_temperature_reizo {
    color: #0080e2;
}
.ec_item_temperature_reito {
    color: #230074;
}


/* cart btn */
.ec_item_cart {
    overflow: hidden;
     padding-bottom: 15px;
    border-bottom: 1px dotted #808080;
    margin-bottom: 25px;
}


.ec_item_cart_left {
    width: 50%;
    float: left;
}

.ec_item_cart_right {
    width: 50%;
    float: right;
}






.ec_delivery_table {
    font-size: 1.2rem; 
}
.ec_delivery_table td, .ec_delivery_table th {
    padding: 1px 8px;
    font-size: 1.3rem;
}
.ec_delivery_table td {
    text-align: right;
}
.ec_delivery_table th {
    text-align: center;
}


/* common */
.ec_tocart {
	position:fixed;
	bottom:60px;
	right: 0;
	overflow:hidden;
	width:150px;
	height:50px;
    z-index:100;
    
    background: #ff9900;
    text-align: center;
    padding: 16px 0 0 0;
    transition: 0.5s;
}
.ec_tocart  a, .ec_tocart  a:visited {
    color: #ffffff;
}
.ec_tocart:hover {
     background: #00bbbb;
    transition: 0.5s;
}



.ec .select {
	overflow: hidden;
	width: 60%;
	margin: 10px 0;
	text-align: center;
}
.ec .select select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.ec .select select::-ms-expand {
    display: none;
}
.ec .select {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}
.ec .select::before {
	position: absolute;
	top: 0.8em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.ec .select:after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #bbbbbb;
}
.ec .select select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}


/* flash message */
.ec_flash {
    display: none;
	position:fixed;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0, 0.3);
}
.ec_flash_dialog {
    position:fixed;
	top:70px;
	left:10%;
	background:rgba(0,0,0, 0.85);
	width:80%;
    margin:0 auto;
	min-height:140px;
	border-radius:10px;
	padding:70px 20px;
	text-align:center;
	color:#fff;
	z-index:10;

	font-size:2.4rem;
	line-height:2.0;
}
.ec_flash a {
	color:#fff;
}


.ec_btn {
	width:40%;
    float: left;
    margin: 20px 5%;
	background-color:#009999;
	color:#ffffff;
	text-align:center;
	padding:18px 0 16px 0;
	border-radius:5px;
	font-size:1.8rem;
	border:none;
}
.ec_btn_back {
    width: 20%;
}
.ec_btn_submit {
    width: 60%;
}
.ec_btn a, .ec_btn a:visited {
	color:#ffffff;
	display:block;
}
.ec_btn:hover {
	background-color:#ffff99;
	color:#009999;
	transition-duration:0.5s;
	cursor:pointer;
}
.ec_btn:hover a {
	color:#009999;
	text-decoration:none;
	transition-duration:0.5s;
}

.ec_flash_msg_shopping {
	background-color: #ff9900;
}


/* cart */
.ec_cart_quantity {
    font-size: 1.8rem;
    line-height: 1.5;;
    margin-bottom: 30px;
}
.ec_cart_quantity span {
    font-size: 2.8rem;
}


.ec_cart_index {
    display: inherit;
}
.ec_cart_index_wrap {
    border-top: 3px solid #e0e0e0;
    padding: 20px 30px;
    
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.ec_cart_index_wrap:last-child {
    border-bottom: 3px solid #e0e0e0;
    margin-bottom: 30px;
}

.ec_cart_index_wrap * {
    flex: 0 1 auto;
}
.ec_cart_index_name {
    width: 40%;
    font-size: 1.9rem;
    background-image: url(/img/common/icon_dot.png);
    background-repeat:no-repeat;
    background-position: 0 0;
    background-size: 20px;
    padding-left: 24px;
}
.ec_cart_index_price {
    width: 25%;
    text-align: right;
    font-size: 1.7rem;
    padding-right: 3%;
}
.ec_cart_index_price span {
    font-size: 2.0rem;
}



.ec_cart_index_quantity {
    width: 25%;
}


.ec_item_quantity_set {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

.ec_item_quantity_set > div {
    display: inline-block;
    flex: 0 1 auto;
}
.ec_item_quantity_set > .input {
    width: 25%;
}
input.ec_item_quantity_volume {
    text-align: center;
}
.ec_item_cart_btn {
    display: inline-block;
    margin: 0 10px;
    background: #808080;
    color: #ffffff;
    text-align: center;
    width: 24px;
    height: 24px;
    font-size: 1.6rem;
    font-weight: bold;
    padding-top: 2px;
    border-radius: 2px;
    cursor: pointer;
}

.ec_cart_index_delete {
    width: 25%;
    text-align: center;
}
.ec_cart_index_delete a {
    color: #333333;
}




.ec_cart_total {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 40px;
}
.ec_cart_total span {
    font-size: 2.8rem;
}

.ec_law {
    margin-top: 100px;
    border-top: 3px solid #000000;
    padding-top: 20px;
}
.ec_law h2 {
    font-size: 1.8rem;
    margin: 80px 0 20px 0;
    text-align: center;
}

.ec_select_payment {
    margin-bottom: 30px;
}
.ec_select_payment label {
    font-size: 1.8rem;
    font-weight: bold;
}
.ec_select_payment_info {
    margin: 10px 24px;
}



/* index page */
.ec_top_index {
    width: 100%;
    overflow:hidden;
    margin: 0 auto 70px auto;
    background: rgb(255,255,255);
    border: 7px solid #e0e0e0;
    padding: 15px 20px 0px 20px;
}

.ec_top_index_title {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 10px;
}
.ec_top_index_title img {
    margin-bottom: 5px;
    width: 50%;
}









@media screen and (max-width: 480px) {
    .ec_item_each {
        width: 46%;
    }  

    .ec_item_stage, .ec_item_info {
        width: 100%;
        float: none;
        padding-right: 0;
        margin-bottom: 20px;
    }



    .ec_tocart {
        position:fixed;
        bottom:0;
        right: 60px;
    }

    .ec_cart_index_wrap {
        display: block;
        padding: 10px 10px;
    }
   
.ec_cart_index_wrap * {
    flex: none;
}
.ec_cart_index_name {
    width: 100%;
    font-size: 1.7rem;
    margin-bottom: 6px;
}
.ec_cart_index_price {
    width: 100%;
    text-align: left;
    padding-left:24px;
    margin-bottom: 10px;
}
.ec_cart_index_price span {
    font-size: 2.0rem;
}



.ec_cart_index_quantity {
    width: 100%;
}

.ec_item_quantity_set {
    padding-left: 14px;
}
.ec_item_quantity_set > .input {
    width: 25%;
}
.ec_cart_index_delete {
    width: 25%;
}


.ec_cart_total {
    font-size: 1.7rem;
}
.ec_cart_total span {
    font-size: 2.2rem;
}



    .ec .select {
        width: 100%;
    }

    .ec_top_index_title img {
        margin-bottom: 5px;
        width: 100%;
    }




.ec_table {
	border-collapse:collapse;
	list-style-position:inside;
	margin-bottom:10px;
	width:100%;
	font-size:1.5rem;
}
.ec_table td {
    display: block;
    width: 100%;

	text-align:left;
	border:solid 1px #CCCCCC;
	padding:2px 6px;
	line-height:150%;
}
.ec_table th {
    display: block;
    width: 100%;
	background:none;
	color:#333333;
	border:none;
	padding:0 0 0 6px;
	border-radius: 0;
	width:100%;
}



.topic_table {
	width: 100%;

}
.topic_table tr {
	border-top:1px dotted #ff9900;
	border-bottom:1px dotted #ff9900;
	width: 100%;
}

.topic_table th {
    display: block;
    width: 100%;
    font-size:1.6rem;
	color:#888888;
	line-height:1.25;
	padding: 5px 0 0 0;
}
.topic_table td {
    display: block;
    width: 100%;
    color:#333333;
	font-size:1.4rem;
	line-height:1.25;
	padding: 5px 0;
}
.topic_table td a, .topic_table td a:visited {
    color:#990000;
}

}











