@charset "utf-8";
/* CSS Document */
.fadein {
opacity: 0;
transform: translate(0, 30px);
transition: all 1500ms;
}
.fadein2 {
opacity: 0;
transform: translate(0, 0);
transition: all 1500ms;
}
.fadein3 {
opacity: 0;
transform: translate(0, 15px);
transition: all 3000ms;
}
.scrollin {
opacity: 1;
transform: translate(0, 0);
}

/*打消し*/
body.favorite #contents h2,
body.favorite #contents article h3,
body.favorite #contents h4 p,
#itmes .goods_like_btn.mini p span.cnt,
br.sp
{
display: none;
}
body.favorite #contents .html2 {
border-top: 0;
padding-top:0;
}


/*共通*/
body.favorite img {
box-sizing: border-box;
}
#contents-main.all {
padding: 0 0 30px;
}
body.favorite #contents .inner {
max-width: 1200px;
background: #7ecef4;
}
.article_inner{
width: 80%;
max-width: 1200px;
min-width: 960px;
margin: 0 auto;
position: relative;
}
section.top_cont {margin: auto;max-width: 1200px;min-width: 960px;position: relative;z-index: 0;}


/*sp*/
body.sp #contents-main.all {
padding: 0 0 16px;
}
body.sp .inner {
padding: 0; 
}
body.sp .article_inner, body.sp section.top_cont {
width: 100%;
min-width: 0;
}
body.sp .footer .inner,
body.sp footer .inner{
width: 100%;
max-width: 100%;
min-width: 100%;
}
body.sp .footer .inner{
padding: 0 16px;
}
body.sp footer .footer_menu.inner{
padding: 50px 46px 30px;
}
body.sp .foot_bnr_mini{
box-sizing: inherit;
}

/*背景////////////////////////////////////////////*/
body.favorite #contents{
    padding: 0;
}
/*sp*/



/*メインビジュアル////////////////////////////////////////////*/
body.pc #contents #contents-main h4 main_top.sp_view {
display: none;
}
body.pc #contents #contents-main h4 .main_top.pc_view {
padding: 0;
}
body.favorite #contents #contents-main section .campain {
    background:#e85298;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
    margin: 0;
}
body.favorite #contents #contents-main section .campain h5{
    background:#fff;
    border-radius: 10px;
    padding: 10px;
    font-size: 24px;
    color: #e85298;
    font-weight: bold;
    width: 100%;
}
body.favorite #contents #contents-main section .campain p {
    font-weight: bold;
    color: #fff;
    font-size: 24px;
    padding: 10px;
}
body.favorite #contents #contents-main section .campain p span {
    color: #fff000;
}
body.favorite #contents #contents-main section .display_place {
    text-align: center;
    width: 70%;
    margin: 25px auto;
}



/*sp*/
body.sp div.content1+div {
   padding: 25px 0 0; 
}
body.sp #contents #contents-main section .campain h5 {
font-size:20px;
line-height: 1.6rem;
}
body.sp #contents #contents-main section .campain p {
font-size:20px;
line-height: 1.6rem;   
}
body.sp #contents #contents-main section .display_place p{
font-size: 20px;
border-radius: 0 0 8px 8px;
}
body.sp #contents #contents-main section .display_place {
margin: 20px auto;
padding: 0;
width: 90%;
}
body.sp #contents #contents-main section .campain {
    margin: 0 25px;
}
body.sp #contents #contents-main h4 main_top.pc_view {
display: none;
}
body.sp #contents #contents-main h4 main_top.sp_view {
padding: 0 10px 10px;
}


/*選択ボタン////////////////////////////////////////////*/
.btn {display: flex;flex-wrap: wrap;justify-content: center;margin: 0;position: absolute;right: 10%;top: 40%;gap: 10px;width: 45%;}
.btn a {display: block;width: calc(100%/2 - 20px);min-width: 200px;padding: 15px 0;border: #fff solid 4px;border-radius: 12px;background-color: #e85298;color: #fff;text-align: center;font-weight: bold;font-size: 20px;position: relative;filter: drop-shadow(5px 5px 0px #ccc);}
.btn a::after,
.btn2 a::after {
content: "";
    display: inline-block;
    width: 13px;
    height: 10px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #ffffff;
    position: absolute;
    right: 13px;
    margin-top: 7px;
}
.btn2 a {
display: block;
width:370px;
padding: 20px 0;
border: #fff solid 4px;
border-radius: 12px;
background-color: #e85298;
color: #fff;
text-align: center;
font-weight: bold;
font-size: 25px;
margin: 15px auto;
position: relative;
}


/*sp*/
body.sp .btn {
    margin: 25px 0;
    width: 41%;
    gap: 3px;
    right: 10%;
    top: 39%;
}
body.sp .btn a {
    display: block;
    width: 100%;
    min-width: 130px;
    padding: 5px 0;
    margin: 0;
    position: relative;
    font-size: 4vw;
    border: #fff solid 2px;
    filter: drop-shadow(2px 2px 0px #ccc);
}

body.sp .btn a::after,
body.sp .btn2 a::after {
    width: 10px;
    height: 9px;
    right: 10px;
    margin-top: 7px;
}
body.sp .btn2 a {
display: block;
width:260px;
padding: 10px 0;
font-size: 18px;
margin: 10px auto;
}

/*投票ボタン////////////////////////////////////////////*/
#contents-main .btn_vote {
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
}
#contents-main section.new_ranking .btn_vote {
    background: #fff;
    margin-bottom: 0;
    padding: 20px 0;
}
#contents-main .btn_vote a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 420px;
    font-size: 30px;
    margin: auto;
    background: url(btn.png) no-repeat;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
    color: #fff;
    filter: drop-shadow(5px 5px 0px #5560a0);
    position: relative;
    background-size: contain;
    aspect-ratio: 3.5 / 1;
    line-height: 2.2rem;
}
#contents-main .btn_vote a::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 19px;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #ffffff;
    position: absolute;
    right: 40px;
    margin-top: 5px;
}
#contents-main .btn_vote_fin {
    display: none;
    margin-top: 0;
    margin-bottom: 0;
    font-size: 30px;
    margin: auto;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
    color: #000;
    position: relative;
    background-size: contain;
    line-height: 2.2rem;
}

/*sp*/

body.sp #contents-main .btn_vote {
    padding: 0;
    border-radius: 0 0 15px 15px;
}

body.sp #contents-main .btn_vote a {
    width: auto;
    font-size: 30px;
    line-height: 2rem;
    padding: 20px 0;
    margin: 0 25px 20px;
    text-align: center;
    filter: drop-shadow(5px 5px 0px #5560a0);
    aspect-ratio: 4 / 1;
    background-size: contain;
}

body.sp #contents-main .btn_vote a::after {
    right: 15%;
    width: 15px;
    height: 20px;
    margin-top: 0;
}
body.sp #contents-main .btn_vote_fin {
    width: auto;
    font-size: 30px;
    line-height: 2rem;
    padding: 20px 0;
    margin: 0 25px 20px;
    text-align: center;
    filter: drop-shadow(5px 5px 0px #5560a0);
    aspect-ratio: 4 / 1;
    background-size: contain;
}

/*見出し装飾////////////////////////////////////////////*/

.subttl_small {
font-size: 20px;
}

/*sp*/
body.sp br.sp {
display: block;
}
body.sp #contents #contents-main section h5, body.sp #contents-main h3{
font-size:20px;
line-height:1.6rem;
}
body.sp section h5::before, body.sp section h5::after, body.sp #contents-main h3::before, body.sp #contents-main h3::after {
background-size: contain;
width: 30px;
height: 40px;
bottom: -3px;
}
body.sp section h5::before {
left: -35px;
}
body.sp section h5::after {
right: -35px;
}
body.sp #contents-main h3::before {
left: 45px;
bottom: 10px;
}
body.sp #contents-main h3::after {
right: 45px;
bottom: 10px;
}
body.sp .subttl_small {
font-size: 16px;
}

/*参加方法////////////////////////////////////////////*/
body.favorite #contents #contents-main .vote_flow{
    width: 90%;
    margin: auto;
    margin-top: -27px;
}


/*sp*/
body.sp #contents #contents-main .vote_flow{
border-radius: 30px;
padding: 0;
margin: auto;
}

body.sp #contents #contents-main .vote_flow ul{
display: block;
}
body.sp #contents #contents-main .vote_flow ul li{
padding: 0;
margin-top:10px;
}
body.sp #contents #contents-main .vote_flow p.number{
width: 45px;
height: 45px;
top: -10px;
left: -10px;
}
body.sp p.intro {
font-size: 20px;
}
body.sp #contents #contents-main .vote_flow > div > div {
justify-content: left;
font-size: 12px;
}

body.favorite.sp  #contents #contents-main .vote_flow .shoplist dl{
width: 100%;
}
body.favorite.sp  #contents #contents-main .vote_flow .shoplist dl:last-of-type{
margin-top: 20px;
}


/*アイテムリスト////////////////////////////////////////////*/
div.content1+div {
width: 100%;
padding: 40px 0;
}
h5.code_list_ttl {
background:#1e2380;
color:#fff;
text-align: center;
font-size: 26px;
font-weight: bold;
padding: 20px 0;
position: relative;
}
h5.code_list_ttl_fin {
display: none;
background:#1e2380;
color:#fff;
text-align: center;
font-size: 26px;
font-weight: bold;
padding: 20px 0;
position: relative;
}
section.main_cont {padding-bottom: 0;border-radius: 30px 30px 0 0;text-align: center;width: 100%;margin: auto;margin-top: -33%;position: relative;}
#contents-main #itmes {
padding: 0 20px;
border: none;
margin: auto;
max-width: 960px;
min-width: 960px;
gap: 15px;
}
body.favorite #contents-main #itmes .item {
height: auto;
margin: 20px 0;
padding: 0px;
border: none;
box-sizing: border-box;
width: calc(100% / 3 - 10px);
background: #fff;
border-radius: 10px;
overflow: hidden;
}

body.favorite #contents-main .NewsItemList .item .image {
width: 100%;
height: auto;
aspect-ratio: 1 / 1.4;
margin: 0;
}
body.favorite #contents-main .NewsItemList .item .image img{
border-radius: 0;
border: none;
box-shadow: none;
}
#contents-main .NewsItemList .item .desc {
    padding: 3px 10px 12px;
}
/*body.favorite #contents-main .NewsItemList .item .image img {
object-fit: none;
}*/
section.btn2 {
background: #fff;
border-radius: 0 0 30px 30px;
margin-top: -30px;
padding-bottom: 50px;
margin-bottom: 50px;
}

/*sp*/
body.sp h5.code_list_ttl {
font-size: 20px;
line-height: 1.6rem;
padding: 15px 0;
}
body.sp section.main_cont {
padding: 0;
border-radius: 30px 30px 0 0;
text-align: center;
margin-top: -10%;
}

/*アイテム詳細////////////////////////////////////////////*/
#contents-main .NewsItemList .item .name {
padding-top: 10px;
border-top: dashed #999 1px;  
}
#contents-main .NewsItemList .item .name a{
border-bottom: none;
font-size: 14px;
font-weight: bold;
}

/*sp*/
body.sp #contents-main #itmes {
padding: 0 15px;
margin-top:-5px;
border: none;
min-width: 0;
}
body.sp #contents-main #itmes .item {
width: calc(100% / 2 - 8px);
padding: 0;
box-sizing: border-box;
margin: 5px 0;
}
body.sp #contents-main #itmes .item a {
width: 100%;
height: 100%;	
}

body.sp #contents-main .NewsItemList .item .news_box {
margin-top: 0;
}

body.sp #contents-main .NewsItemList .item .image {
width:100%;
float: none;
margin: 0;
}
body.sp #contents-main .NewsItemList .item .name {
padding: 6px 6px 2px;    
}

body.sp #contents-main .NewsItemList .item .desc{
margin-left: 0;
}


body.sp section.btn2 {
background: #fff;
border-radius: 0 0 30px 30px;
margin-top: -25px;
margin-bottom: 40px;
padding: 20px 0;
}

/*虫眼鏡*/
.item .morelink {
text-align: left;
top: 0;
left: 0;
right: 0;
}
.item .morelink i {
position: absolute;
top: 15px;
left: 15px;
color: #fff;
text-shadow: 0 0 8px rgba(0,0,0,0.3);
}
/*sp*/
body.sp .item .morelink i {
top: 10px;
left: 10px;
}


.NewsItemList a p.shopname {
display: none;
}

/*いいねボタン*/
body.favorite #contents-main .NewsItemList .item .goods_like_btn {
display: block;
}
body.favorite #contents-main .NewsItemList .item .goods_like_btn.mini p i::after {
display: none;
}
body.favorite #contents-main .NewsItemList .item .goods_like_btn.mini {
width: 45px;
height:45px;
top: 280px;
right: 10px;
left:auto;
background: #fff;
border-radius: 50%;	
box-shadow: 0 0 8px rgba(0,0,0,0.2);
z-index: 10;
}
.goods_like_btn.mini p i {
width: 20px;
color: #e85298;
font-size: 20px;
margin: 10px;
line-height: 1rem;
vertical-align: baseline;
}

/*sp*/
body.sp #contents-main .NewsItemList .item .goods_like_btn.mini {
position: absolute;
width: 35px;
height: 35px;
bottom: 0;
top: 37vw;
right: 5px;
left: auto;
z-index: 10;
border-radius: 50%;
}
body.sp #contents-main .NewsItemList .item .goods_like_btn.mini p i {
font-size: 20px;
margin: 3px;
line-height: 2rem;
}

/*ランキング////////////////////////////////////////////*/
#contents-main section.new_ranking {
width: 65%;
border: #1e2380 solid 5px;
border-radius: 35px;
background: #fff;
padding: 50px;
margin: auto;
min-width: 960px;
display: none;
}
#contents-main section.new_ranking h3 {
background: #1e2380;
border-radius: 10px;
color: #fff;
font-size: 26px;
font-weight: bold;
padding: 20px;
}


.goods_like_btn.mini p span.cnt {
display: block;
border: none;
font-weight: bold;
color:#e85298;
}
#favorite {
border-radius: 0 0 30px 30px;
padding: 50px 50px;
border: none;
}

#favorite .item {
width: 100%;
border: none;
background: #fdf6e4;
height: auto;
padding: 0;
margin-bottom: 25px;
position: relative;
}
#favorite .item:nth-child(odd) {
border-right: none;
}
#favorite .item .ranking_box {
display: flex;
justify-content:flex-start;
padding:0;
}
#favorite .item .desc {
padding-top: 20px;
padding-right: 30px;
margin-left:30px; 
width:100%;
}
#favorite .item .image {
height: 200px;
width: 100%;
max-width: 260px;
margin-left: 0;
}
#favorite .item .image img{
border-radius: 0;}

.goods_like_btn.mini p span:before {
display: none;
}
#contents #favorite .goods_like_btn.mini p i:after {
display: none;  
}
#favorite .item .fa-heart {
width: auto;
margin: 0;
font-size: 35px;
color: #e85298;
display: inline-block;
margin-right: 5px;
}
#contents #favorite .goods_like_btn.mini {
left: 293px;
bottom: 10px;
}
#favorite .goods_like_btn.mini p span.cnt {
display: inline-block;
border: none;
font-weight: bold;
font-size: 35px;
color: #e85298;
vertical-align: baseline;
}
#favorite .item .name.subtitle {
border-top: dashed 1px #ccc;
color: #030911;
display: inline-block;
padding-top: 5px;
width: 100%;
margin-top: 10px;
}
#favorite .item .name.subtitle a {
border-bottom: none;
}
/*sp*/
body.sp #contents-main.all .item .ranking_box {
display:block;
padding: 25px;
}

body.sp #contents-main section.new_ranking {
width: auto;
border-radius: 15px;
padding: 0;
margin: 0 25px;
min-width: 100px;
}
body.sp #contents-main section.new_ranking h3 {
padding: 15px 0;
border-radius: 0;
margin-top: -1px;
line-height: 1.6rem;
font-size: 20px;
}
body.sp #favorite {
margin-top: -5px;
margin-bottom: 25px;
padding: 20px;
}

body.sp #contents-main h3 {
padding-top: 30px;
}
body.sp #favorite .item {
margin: 30px 0 0;
}
body.sp #favorite .item:first-of-type {
margin: 10px 0 0;
}
body.sp #favorite .item .image {
float: none;
height: 200px;
width: 100%;
float: none;
margin: 0 auto;
}
body.sp #favorite .item .desc {
display: block;
float: none;
width: 100%;
padding: 10px 0 0;
margin: 0;
box-sizing: border-box;
}
body.sp #contents #favorite .goods_like_btn.mini {
left: 0;
bottom: -10px;
margin: 15px 0;
}

body.sp #favorite span.ribon {
top: -3px;
left: 15px;
}
/*ランキング順位リボン////////////////////////////////////////////*/
#favorite span.ribon {
display: inline-block;
position: absolute;
top: -3px;
left: 10px;
margin: 0;
padding: 10px 0;
z-index: 2;
width: 40px;
text-align: center;
font-size: 17px;
color: white;
background: #e8b615;
filter: drop-shadow(1px 1px 2px #555);
}
#favorite span.ribon::after {
content: '';
position: absolute;
left: 0;
top: 100%;
height: 0;
width: 0;
border-left: 20px solid #e8b615;
border-right: 20px solid #e8b615;
border-bottom: 10px solid transparent;
}
#favorite span.ribon::before {
font-size: 16px;
font-weight: bold;
display: block;
color: #fff;
content: counter(number);
}
#favorite .item:first-child span.ribon::before {
counter-increment: number 1;
}
#favorite .item:nth-child(2) span.ribon::before {
counter-increment: number 2;
}
#favorite .item:nth-child(3) span.ribon::before {
counter-increment: number 3;
}
#favorite .item:nth-child(4) span.ribon::before {
counter-increment: number 4;
}
#favorite .item:nth-child(5) span.ribon::before {
counter-increment: number 5;
}
#favorite .item:nth-child(6) span.ribon::before {
counter-increment: number 6;
}
#favorite .item:nth-child(7) span.ribon::before {
counter-increment: number 7;
}
#favorite .item:nth-child(8) span.ribon::before {
counter-increment: number 8;
}
#favorite .item:nth-child(9) span.ribon::before {
counter-increment: number 9;
}
#favorite .item:nth-child(10) span.ribon::before {
counter-increment: number 10;
}

/*注意事項////////////////////////////////////////////*/
.box_caution {
padding: 10px 30px 30px; 
margin: auto;
margin-top: 50px;
font-size: 14px;
background: #fff;
box-sizing: border-box;
  max-width: 920px;
  min-width: 900px;

}
.box_caution h5 {
text-align: center;
font-weight: bold;
margin-bottom: 20px;
margin-top: 20px;
}

.foot_icons_sns li a img {
    width: auto;
}

body.sp .box_caution {
margin-top: 0;
max-width: 94%;
min-width: 94%;
padding: 16px;
}

body.sp .box_caution h5{
    margin: 0 auto 16px;
}


