@charset "UTF-8";

.candy-reco {
    border: 3px solid #e6e6e6;
    border-top: none;
    margin-bottom: 20px;
}

.candy-reco:before {
    background-color: #333;
    top: 0;
    right: -3px;
    left: -3px;
    display: block;
    height: 3px;
    content: '';
}

.candy-header {
    border-bottom: 1px solid #e6e6e6;
    position: relative;
    min-height: 73px;
    padding: 14px 15px 0 15px;
}

.candy-header-title {
    line-height: .6;
    position: relative;
    margin: 0;
    padding: 0 0 0 40px;
    border-left: none;
}

.candy-header-title:before {
    width: 35px;
    height: 26px;
    background-image: url(//ad1.candy-network.com/images/icon_cart.png);
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
}

.candy-title-en {
    font-family: Montserrat, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    display: inline;
    margin: 0 0 5px;
}

.candy-title-ja {
    font-size: 14px;
    font-weight: 700;
    display: block;
    margin: 5px 0 0;
}

.candy-section-body {
    padding-top: 20px;
    padding-bottom: 20px;
}

.candy-reco-items:after {
    clear: both;
    display: table;
    content: '';
    box-sizing: border-box;
}

.candy-reco-items:before {
    box-sizing: border-box;
    display: table;
    content: '';
}

.candy-reco-items>li:nth-child(odd) {
    /*padding-right: 20px;*/
    
}

.candy-reco-items>li:nth-child(-n+2) {
    /*padding-top: 0;*/
    
}

.candy-reco-items>li {
    padding-top: 0;
    float: left;
    width: 25%;
    /*     padding-bottom: 20px; */
    border-left: 1px solid #e5e5e5;
}

.candy-reco-items>li:first-child {
    border-left: none;
}

.candy-reco-item {
    position: relative;
    width: 100%;
    table-layout: fixed;
    background-color: #fff;
}

.candy-reco-panel {
    width: 80%;
    margin: auto;
}

.candy-reco-image {
    width: 100%;
    box-sizing: content-box;
    table-layout: fixed;
    vertical-align: top;
}

.candy-reco-parent {
    background: #f5f5f5;
    width: 100%;
    text-align: center;
    vertical-align: middle;
    height: 170px;
    overflow: hidden;
}

.candy-reco-text {
    text-align: left;
    padding-top: 4px;
    font-size: 16px;
    -webkit-transition: color .2s ease-out;
    color: #0071ac;
    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    /*height: 2.4em*/;
    line-height: 1.2em;
    overflow: hidden;
}

.candy-reco-text:hover {
    color: #505050;
}

.candy-reco-site {
    width: 100%;
    text-decoration: none;
    margin-top: 2px;
    color: #888;
    padding: 0px 0 0px;
    text-align: left;
    font-size: 12px;
    display: block;
    line-height: 1.2em;
    height: 1.2em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.candy-reco-price {
    width: 100%;
    text-decoration: none;
    text-align: left;
    display: block;
    color: #C33;
    font-size: 12px;
    margin-top: 2px;
    font-weight: 700;
    height: 1.2em;
}

.candy-footer {
    display: block;
    margin: 0 0 6px 0;
    padding: 2px 6px 2px 6px;
    font-size: 12px;
    text-align: left;
    background-color: #ffffff;
    color: #4c4b4b;
    height: 35px;
}

.candy-reco-logo {
    float: right;
    margin: 3px 0;
}

.candy-reco-logo span {
    display: block;
    margin: 2px 0 0 0;
    padding: 6px 0 0 0;
    font-size: 12px;
    float: left;
}

.candy-reco-logo img {
    max-height: 18px;
    max-width: 250px;
    margin: 3px 5px 0 10px;
}

.candy-reco-mobile {
    border: 2px solid #e6e6e6;
    border-top: none;
}

.candy-reco-mobile:before {
    right: -2px;
    left: -2px;
    height: 2px;
}

.candy-header-mobile-mobile {
    padding: 10px 40px 10px 10px;
    min-height: inherit;
}

.candy-title-en-mobile {
    font-size: 20px;
    vertical-align: middle;
}

.candy-title-ja-mobile {
    font-size: 12px;
}

.candy-section-body-mobile {
    padding: 0;
}

.candy-reco-items-mobile {
    padding-left: 10px;
    padding-right: 10px;
}

.candy-reco-items-mobile>li {
    width: 100%;
    padding: 10px 0;
    border-left: none;
}

.candy-reco-items-mobile>li:not(:last-child){
border-bottom:1px solid #e5e5e5 ;
}
.candy-reco-panel-mobile {
    position: relative;
    display: table;
    width: 100%;
    table-layout: fixed;
    min-height: 80px;
}

.candy-reco-image-mobile {
    width: 80px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2
}

.candy-reco-text-mobile {
    width: 100%;
    padding: 0 0 5px 90px;
    vertical-align: top;
}

.candy-reco-site-mobile {
    width: auto;
    padding-left: 90px;
    color: #858585;
    font-style: italic;
}

.candy-reco-price-mobile {
    width: auto;
    padding: 0 0 5px 90px;
    margin: 0;
    overflow: hidden;
    font-size: 14px;
    font-weight: normal;
}

.candy-reco-logo span {
    font-size: 14px;
}

.candy-reco-parent-mobile {
    height: 80px;
}

.candy-img-vert {
    height: 100%;
    width: auto;
}

.candy-img-hori {
    width: 100%;
    height: auto;
}

.candy-image-center{
    top: 50%;
    display:block;
    position: relative;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%,-50%);
     -ms-transform: translate(-50%,-50%);
}
.candy-image-topright{
    top:0;
    right: 0;
}

.candy_ellipsis_wraper {
    position: relative;
    
}
.candy-reco-text-mobile.candy_ellipsis_wraper{
    width: 100%;
}
.candy-reco-text-mobile .candy_ellipsis {
    line-height: 1.28em;
    min-height: 2.56em;
    max-height: 5.12em;
    font-size: 14px
}

.candy_ellipsis {
    width: 100%;
    min-height: 2.4em;
    max-height: 4.8em;
    line-height: 1.2em;
}

.ie-ellipsis {
    white-space: nowrap;
}

.ellipsisor {
    background: #fff;
    min-width: 1.33em;
}

.candy-reco-items:not(.candy-reco-items-mobile){
    display:table;	
    table-layout: fixed;	
    width:100%;
    box-sizing:border-box;
}
.candy-reco-items:not (.candy-reco-items-mobile )>li {
    display: table-cell;
    float: none;
}