@charset "UTF-8";


#wrap_contents {
	margin-top: 0;
}

/* 
 * 会員情報
 */
#info_member_login {
	display: none;
	padding: 0 3% 20px;
}

#info_member {
    background: #F5F5F5;
	width: 100%;
	max-width: 640px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	z-index: 0;
}
#info_member_login .wrap_infobox {
	width: 100%;
	border-radius: 4px;
	background: #FFF;
	padding: 4.5%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
/* PC */
@media screen and (min-width: 641px) {
	#info_member_login {
		padding: 0 0 20px;
	}
	#info_member {
		background: #ffffff;
	}
	#info_member_login .wrap_infobox {
		border: solid 2px #e8e8e8;
		border-radius: 6px;
		padding: 3% 5%;
	}

	/* 未ログインの余白処理 */
	#info_member_logout, #info_member_nonmember,#info_member_error, #info_member_hide {
		padding-top: 2%;
	}
}

/*--------- ニックネーム ---------*/
#info_member_login .info_login {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.3;
}
#info_member_login .info_login_account {
	font-size: 3.8vw;
	color: #333;
}

/* PC */
@media screen and (min-width: 641px) {
	#info_member_login .info_login_account {
		font-size: 14px;
	}
}

/*--------- ランク情報 ---------*/
/* 〇つ星ランク */
#info_member_login .infobox_stageInfo {
	padding: 5px 0 10px;
	border-bottom: 1px solid #d6d6d6;
}
.infobox_stageInfo a#dpc_memberinfo_stage {
	position: relative;
	padding-right: 20px;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.infobox_stageInfo a#dpc_memberinfo_stage::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	position: absolute;
	top: 50%;
	right: 1%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.infobox_loginStatus {
	-webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.infobox_loginStatus .rankIcon {
	width: 22px;
	height: 22px;
	background-size: 22px;
	background-repeat: no-repeat;
	margin-right: 2px;
	margin-bottom: 2%;
}
/* ランクアイコン */
.infobox_loginStatus .rk_first {
	background-image: url(/common/img/rank/rank_01.png);
}
.infobox_loginStatus .rk_second {
	background-image: url(/common/img/rank/rank_02.png);
}
.infobox_loginStatus .rk_third {
	background-image: url(/common/img/rank/rank_03.png);
}
.infobox_loginStatus .rk_fourth {
	background-image: url(/common/img/rank/rank_04.png);
}
.infobox_loginStatus .rk_fifth {
	background-image: url(/common/img/rank/rank_05.png);
}
/* 〇つ星ランクテキスト */
.infobox_loginStatus .text_rank {
	font-size: 3.8vw;
	font-weight: bold;
}

/* PC */
@media screen and (min-width: 641px) {
	#info_member_login .infobox_stageInfo a:hover {
		opacity: .7;
	}
	/* ランクアイコン */
	.infobox_loginStatus .text_rank {
		font-size: 16px;
	}
	.infobox_loginStatus .rankIcon {
		margin-bottom: 1%;
	}
}

/* ポイント〇倍 */
#member_stageimg {
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#member_stageimg .pointText {
	font-weight: bold;
	font-size: 3.8vw;
}
#member_stageimg .benefits_rate {
	font-size: 6vw;
	color: #CC0033;
	font-weight: bold;
	margin: 0 5px 5px;
	text-align: center;
}
#member_stageimg .unit {
	font-weight: bold;
	font-size: 3.8vw;
}

/* PC */
@media screen and (min-width: 641px) {
	#member_stageimg .pointText {
		font-size: 16px;
	}
	#member_stageimg .benefits_rate {
		font-size: 26px;
	}
	#member_stageimg .unit {
		font-size: 16px;
	}
}

/*--------- 利用者情報登録アラート ---------*/
.registrationAlert {
	position: relative;
    background-color: #F3E7EA;
	border: 2px solid #C10024;
	border-radius: 4px;
    margin-top: 8px;
    display: none;
}
.registrationAlert a {
    position: relative;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	padding: 2% 6% 2% 4%;
}
.registrationAlert .icon {
    margin-top: auto;
    margin-bottom: auto;
    margin-right: 7px;
}
.registrationAlert .icon img {
	margin-bottom: 2px;
    width: 17px;
    -webkit-align-self:center;
    -ms-flex-item-align:center;
    align-self:center;
}
.registrationAlert p {
	-webkit-align-self:center;
    -ms-flex-item-align:center;
    align-self:center;
    width: calc(100% - 43px);
    -webkit-flex-basis: calc(100% - 43px);
    -ms-flex-preferred-size: calc(100% - 43px);
    flex-basis: calc(100% - 43px);
    font-size: 3vw;
    color: #CC0033;
    line-height: 1.4;
    font-weight: bold;
}
.registrationAlert p::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 3%;
    width: 8px;
    height: 8px;
    border-top: solid 2px #CC0033;
    border-right: solid 2px #CC0033;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
/* PC */
@media screen and (min-width: 641px) {
	.registrationAlert {
		margin-top: 10px;
	}
	.registrationAlert::after {
		right: 7%;
	}
    .registrationAlert a {
        padding: 5px 25px;
    }
    .registrationAlert .icon {
        margin-right: 10px;
    }
    .registrationAlert .icon img {
        width: 20px;
    }
    .registrationAlert p {
        font-size: 14px;
    }
    .registrationAlert p::after {
        right: 30px;
    }
	.registrationAlert:before {
		right: 56px;
	}
}

/*--------- ポイント情報 ---------*/
#info_member_login #infobox_member {
	margin-top: 15px;
}
#info_member_login #infobox_member a {
	position: relative;
	padding-right: 20px;
}
#info_member_login #infobox_member a::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	position: absolute;
	top: 50%;
	right: 1%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
#info_member_login #infobox_member a:hover {
	opacity: 0.7;
}
#info_member_login .infobox_pointInfo .pointInfo_data {
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-all {
	position: relative;
	font-weight: bold;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-limit {
	padding: 6px 1.5% 0 3%;
}
#info_member_login .infobox_pointInfo .pointInfo_data_title {
	width: 45%;
}
#info_member_login .infobox_pointInfo .pointInfo_data_value {
	width: 55%;
	text-align: right;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_title {
    line-height: 1.1;
	font-size: 3.9vw;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_title .text_share {
	font-size: 3vw;
	display: none;
	margin-bottom: 5px;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_value {
	font-size: 6.3vw;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-limit .pointInfo_data_title {
	font-size: 3.2vw;
}
#info_member_login .infobox_pointInfo .pointInfo_data.is-limit .pointInfo_data_value {
	font-size: 4.3vw;
}
/*ポイント単位 'p'*/
#info_member_login .infobox_pointInfo .pointInfo_data_valuePoint {
	padding-left: 4px;
}
#info_member_login .infobox_pointInfo .point_total .pointInfo_data_valuePoint {
	font-size: 5.7vw;
}
#info_member_login .infobox_pointInfo .point_restrict .pointInfo_data_valuePoint {
	font-size: 4.3vw;
    padding-right: 2px;
}

/* SP小 */
@media screen and (max-width: 321px) {
	#info_member_login .infobox_pointInfo .pointInfo_data_title,
	#info_member_login .infobox_pointInfo .pointInfo_data_value {
		width: 50%;
	}
	#info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_title .text_share {
		white-space: nowrap;
	}
}

/* PC */
@media screen and (min-width: 641px) {
	/* 矢印 */
	#info_member_login .pointInfo_data.is-all::after {
		width: 12px;
		height: 12px;
		bottom: -11px;
		right: -25px;
	}
	#info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_title {
		font-size: 17px;
	}
	#info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_value {
		font-size: 25px;
	}
	#info_member_login .infobox_pointInfo .pointInfo_data.is-limit {
		font-weight: normal;
	}
    #info_member_login .infobox_pointInfo .pointInfo_data.is-all .pointInfo_data_title .text_share {
        font-size: 13px;
    }
	#info_member_login .infobox_pointInfo .pointInfo_data.is-limit .pointInfo_data_title {
		font-size: 14px;
	}
	#info_member_login .infobox_pointInfo .pointInfo_data.is-limit .pointInfo_data_value {
		font-size: 20px;
	}
	#info_member_login .infobox_pointInfo .point_total .pointInfo_data_valuePoint {
		font-size: 23px;
	}
	#info_member_login .infobox_pointInfo .point_restrict .pointInfo_data_valuePoint {
		font-size: 19px;
	}
}

/*--------- 失効ポイントアラート ---------*/
/*--------- ワクワク演出 ---------*/
/*--------- ランク煽り ---------*/
#info_member_login .lapsepoint_wrap,
#info_member_login .lastmonthpoint_wrap,
#info_member_login .rankstatus_wrap {
	margin-top: 12px;
    padding: 3% 18px;
	font-size: 3vw;
	font-weight: bold;
	color: #333;
	text-align: center;
	border-radius: 5px;
	line-height: 1.4;
	cursor: pointer;
}
#info_member_login .lapsepoint_wrap a,
#info_member_login .lastmonthpoint_wrap a,
#info_member_login .rankstatus_wrap a {
    display: inline-block;
    width: 95%;
    text-decoration: underline;
}
/* 失効ポイントアラート */
#info_member_login .lapsepoint_wrap {
	display: none;
	background-color: #ffe438;
}
/* ワクワク演出 */
#info_member_login .lastmonthpoint_wrap {
	display: none;
	background-color: #FAF7E7;
	border: solid 1px #FFCC00;
}
#info_member_login .lastmonthpoint_wrap .info_lastmonth_txt {
	display: inline-block;
	position: relative;
	padding-left: calc(5.5vw + 5px);
	text-decoration: underline;
}
#info_member_login .lastmonthpoint_wrap .info_lastmonth_txt::before {
	position: absolute;
    content: "";
    background-image: url(/common/img/icon/icon_coins.png);
    background-size: cover;
    top: 45%;
    left: 0;
    width: 5.5vw;
    height: 5.5vw;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
#info_member_login .lastmonthpoint_wrap .info_lastmonth_txt .point_rankBenefit {
	color: #CC0033;
	text-decoration: underline;
}
/* ランク煽り */
#info_member_login .rankstatus_wrap {
	display: none;
	background-color: #F3E7EA;
	position: relative;
	top: 0;
	letter-spacing: -0.02em;
	box-sizing: border-box;
}
#info_member_login .rankstatus_wrap a .text_red {
	color: #CC0033;
}
/* ランクあおりclose ボタン */
#point_message_close {
	color: #aaa;
	position: absolute;
	top: 50%;
	right: 7px;
	font-size: 4vw;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
/* PC */
@media screen and (min-width: 641px) {
    #info_member_login .lapsepoint_wrap,
	#info_member_login .lastmonthpoint_wrap,
    #info_member_login .rankstatus_wrap {
        padding: 14px 18px;
		font-size: 14px;
    }
	#info_member_login .lastmonthpoint_wrap .info_lastmonth_txt {
		padding-left: 30px;
	}
	#info_member_login .lastmonthpoint_wrap .info_lastmonth_txt::before {
		width: 25px;
        height: 25px;
	}
    #info_member_login .rankstatus_wrap {
		width: 100%;
	}
	/*ランクあおりclose ボタン*/
	#point_message_close {
		font-size: 18px;
	}
}


/* ホームブラパネエリア */
#home_slider {
	margin: 0 auto;
	max-width: 980px;
	padding: 15px 0;
	background-color: #F5F5F5;
	position: relative;
}
#home_slider img {
	width: 100%;
	height: auto;
}
#home_slider_normal {
	display: none;
}
#home_slider_normal .slick-dotted.slick-slider {
	margin-bottom: 15px;
}
#home_slider .slider-area .slider-item {
	margin-left: 10px;
	margin-right: -3px;
    padding-top: 3px;
    padding-right: 3px;
    border-radius: 6px;
    position: relative;
    overflow: hidden;
}
#home_slider .slider-area .slider-item img {
    border-radius: 6px;
    overflow: hidden;
}
/* エントリー済ラベル */
#home_slider .slider-area .slider-item.entrylavel::before {
	position: absolute;
	content: '';
    background: url(/common/img/icon/icon_entered.png) no-repeat;
    background-size: contain;
    top: 0;
    right: 0;
    width: 18.03%;
	padding-top: 18.03%;
	z-index: 10;
	pointer-events: none;
}
#home_slider .slider-btn {
	width: 4.9vw;
    height: 4.9vw;
	position: absolute;
	bottom: 2%;
    left: 20%;
	cursor: pointer;
	display: none;
}
#home_slider .slider-btn .slider-btn_pause.is-hidden,
#home_slider .slider-btn .slider-btn_start.is-hidden {
	display: none;
}

@media screen and (min-width: 641px) {
	#home_slider {
		background-color: #FFFFFF;
	}
	#home_slider .slider-item {
		opacity: 0.6;
	    transform: scale(0.9);
	    transition: all 300ms ease;
	}
	#home_slider .slider-area .slider-item.entrylavel::before {
		width: 80px;
    	height: 80px;
		padding-top: unset;
	}
	#home_slider .slider-item.slick-center {
		opacity: 1;
	    transform: scale(1);
	    transition: all 300ms ease;
	}
	#home_slider_normal .slick-dotted.slick-slider {
		margin-bottom: 45px;
	}
	#home_slider .slider-btn {
		width: 23px;
		height: 23px;
		left: 26%;
		bottom: 23px;
	}
}
/* 中間画面 */
@media screen and (min-width: 480px) and (max-width: 640px) {
	#home_slider .slider-btn {
		width: 23px;
		height: 23px;
		bottom: 1.2%;
		left: 20%;
	}
}

/* 小さい画面 */
@media screen and (max-width: 320px) {
	#home_slider .slider-btn {
		bottom: 4%;
		left: 16%;
	}
}

#home_slider .loader-wrap {
	background-color: #FFFFFF;
}
/* CWV改善 スライダーエリア */
@media screen and (min-width: 641px) {
	#home_slider .loader-wrap {
	    height: calc((0.8 * (354 / 640)) * (100vw - 17px));
	    margin-bottom: 45px;
	    max-height: 320px;
	}
}
@media screen and (max-width: 640px) {
	#home_slider .loader-wrap {
	    height: calc((0.8 * (354 / 640)) * (100vw - 17px));
	    margin-bottom: 17px;
	    max-height: 310px;
	}
}
/* CLS改善 ログインボタンエリア */
@media screen and (min-width: 641px) {
	#info_member_loader.loader-wrap {
		height: 168.984px;
	}
}
@media screen and (max-width: 640px) {
	#info_member_loader.loader-wrap {
	    height: 18.85vw;
	    margin-bottom: 62px;
	    padding: 5% 3%;
	}
}
/* CLS改善 まずはここからエリア */
@media screen and (min-width: 641px) {
	#top_aboutDpoint_loader.loader-wrap {
		height: calc((100vw - 17px) * 0.05565 + 171px);
		max-height: 216.094px;
	}
}
@media screen and (max-width: 640px) {
	#top_aboutDpoint_loader.loader-wrap {
	    height: calc(69.66vw + 18.3px);
	}
}

.errormessage {
	text-align: center;
	line-height: 4;
	font-size: 1.6rem;
	color: rgba(142, 142, 142, 0.9);
	background-color: #ddd;
}
/* アラートエリア */
#info_top {
	display: none;
	max-width: 980px;
	width: 100%;
	margin: 8px auto 0 auto;
	box-sizing: border-box;
	background-color: #fff;
	border-bottom: solid 2px #ddd;
}
#info_top p {
	margin: 8px 10px;
	padding-left: 22px;
	line-height: 2rem;
	position: relative;
}
#info_top p a {
	color: #CC0033;
}
#info_top p a::before {
	content: '';
	display: inline-block;
	width: 17px;
	height: 17px;
	background-image: url(/img/icon/icon_exclamation_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 1px;
	left: 0;
}
section {
	background-color: #fff;
	margin-bottom: 20px;
}
a {
	cursor: pointer;
	color: #333;
	display: block;
}
#wrap_page a.link{
    display: inline;
    text-decoration: underline;
    color: #0194d7;
}
#top_disney {
	margin-bottom: 0;
}
#wrap_contents a:hover {
	opacity: 0.7;
}
#navi_main_wide a:hover {
	opacity: 0.7;
}
#info_cmntop a:hover {
	opacity: 0.7;
}
.no_name {
	background-color: #ffcc00;
	width: 100%;
	height: 400px;
	/* border: solid 0px #666; */
	border: 0;
}
#info_member .member_stage {
	float: left;
	width: 15%;
	margin-top: 20px;
	margin-left: 1%;
}
#info_member .member_stage .outline {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	background-color: #fff;
	border: solid 10px #ccc;
	position: relative;
	background: url(/common/img/icon/stg-error.png) no-repeat 50% 50%;
	background-size: 50px 50px;
}
#info_member .member_stage .outline img {
	position: absolute;
	width: 50px;
	top: 20px;
	left: 25%;
}
#info_member .info_detail {
	width: 75%;
	float: right;
	margin-top: -3%;
	margin-bottom: 3%;
	padding-top: 23px;
	margin-right: 5%;
}
#info_member .info_detail::after {
	position: absolute;
	top: 35px;
	right: 5px;
	content: "";
	width: 20px;
	height: 60px;
	display: block;
	background: url(/common/img/icon/arrow_right_999999.png) no-repeat 50% 100%;
	background-size: 20px 60px;
	margin-left: 60px;
}
#info_member .info_detail .pointAll {
	font-size: 4rem;
	font-weight: bold;
	margin-top: 20px;
	text-align: right;
	overflow: hidden;
}
#info_member .info_detail .pointAll .tit {
	float: left;
	font-size: 1.6rem;
	line-height: 2.5;
}
#info_member .info_detail .pointAll .point {
	font-size: 4rem;
}
#info_member .info_detail .pointAll .point span {
	padding-left: 10px;
	color: #9a9a9a;
	font-size: 2rem;
}
#info_member .info_detail .pointBenefit {
	font-size: 4rem;
	font-weight: bold;
	margin-top: 20px;
	text-align: right;
	overflow: hidden;
}
#info_member .info_detail .pointBenefit .tit {
	float: left;
	font-size: 1.6rem;
	line-height: 2;
}
#info_member .info_detail .pointBenefit .point {
	font-size: 3rem;
}
#info_member .info_detail .pointBenefit .point span {
	padding-left: 10px;
	color: #9a9a9a;
	font-size: 2rem;
}
#info_member .info_detail .loginStatus {
	background-color: #fff;
	padding: 10px;
	overflow: hidden;
	margin-top: 10px;
	line-height: 1.5;
}
#info_member .info_detail .loginStatus .email {
	float: left;
}
#info_member .info_detail .loginStatus .status {
	float: right;
}
#info_member .balloon {
	position: relative;
	padding: 5px;
	background-color: #fff;
	border: 2px solid #9a9a9a;
	border-radius: 10px;
	z-index: 1;
	font-size: 1.2rem;
	width: 110px;
	text-align: center;
}
#info_member .balloon::before {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 43px;
	bottom: -15px;
	border-top: 15px solid #9a9a9a;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}
#info_member .balloon::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	left: 43px;
	bottom: -12px;
	border-top: 15px solid #fff;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}
.pointInformation {
	margin: 0 auto;
	background-color: #cc0000;
	padding: 5px 0;
	text-align: center;
	color: #fff;
	width: 800px;
	font-size: 1.2rem;
}

/* ショートカットボタン */
#top_search {
	margin-bottom: 10px;
}
#top_search .service_search_normal,
#top_search .service_search_error {
	display: none;
	border: solid 1px #e8e8e8;
	border-radius: 0;
}
#top_search .iconbox {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	display: -webkit-flex;
	-webkit-flex-wrap: wrap;
}
#top_search .iconbox li {
	width: 20%;
	text-align: center;
	box-sizing: border-box;
	padding: 0 1%;
}
#top_search .iconbox li:hover {
	opacity: 0.7;
}
#top_search .iconbox .register {
	display: none;
}
#top_search .iconbox li a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
#top_search .iconbox li a figure img {
	width: 100%;
	height: auto;
}
#top_search .iconbox li a figure {
	display: block;
}
@media screen and (min-width: 500px) {
	#top_search .iconbox li a p {
		font-size: 12px;
	}
}
@media screen and (min-width: 641px) {
	#top_search {
		max-width: 640px;
		margin: 0 auto 10px;
	}
	#top_search .iconbox li {
		padding: 0 4%;
	}
	#top_search .service_search_normal,
	#top_search .service_search_error {
		border: solid 2px #e8e8e8;
		border-radius: 6px;
	}
	#top_search .iconbox li {
		border-right: solid 2px #e8e8e8;
	}
	#top_search .iconbox li:nth-child(5n) {
		border-right: none;
	}
	#top_search .iconbox li:nth-of-type(n+6) {
		border-top: solid 2px #e8e8e8;
	}
}
/* ショートカットボタン ローダー */
#service_search_loader {
	height: calc(((100vw - 2px) * 0.18 * (8/7) * 3) + 2px);
	min-height: 201px;
}
@media screen and (min-width: 641px) {
	#service_search_loader {
		height: 270px;
	}
}

/* テキスト＋arrowのリンク */
.text_arrow_link {
  font-weight: bold;
}

/* 
 * dポイントとは & dポイントのメリット
 */
#top_aboutDpoint h2 {
	display: none;
}
/* 
 * dポイントとは
 */
#top_aboutDpoint_list .list_service {
	width: 94%;
}
#top_aboutDpoint_list .servicelist_wrap .servicelist_linkarea {
	padding: 2% 5px;
}
#top_aboutDpoint_list .servicelist_wrap .servicelist_image_wrap {
	width: 22%;
}
#top_aboutDpoint_list .servicelist_wrap .servicelist_textarea {
	padding-top: 3.7%;
	padding-right: 0;
}
#top_aboutDpoint_list .servicelist_wrap .servicelist_title {
	margin-bottom: 4px;
	font-size: 3.5vw;
	font-weight: normal;
}
#top_aboutDpoint_list .servicelist_wrap .servicelist_text {
	font-size: 4vw;
	font-weight: bold;
}
@media screen and (min-width: 641px) {
	#top_aboutDpoint_list .list_service {
		display:-webkit-box;
		display:-webkit-flex;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack:center;
		-webkit-justify-content:center;
		-ms-flex-pack:center;
		justify-content:center;
		width: 100%;
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}
	#top_aboutDpoint_list .list_service .servicelist_wrap {
		-webkit-flex-basis: 33.3%;
		-ms-flex-preferred-size: 33.3%;
		flex-basis: 33.3%;
		width: 33.3%;
		border: 2px solid #e8e8e8;
	}
	#top_aboutDpoint_list .list_service .servicelist_wrap:first-child {
		border-radius: 8px 0 0 8px;
	}
	#top_aboutDpoint_list .list_service .servicelist_wrap:last-child {
		border-radius: 0 8px 8px 0;
	}
	/*1件の時*/
	#top_aboutDpoint_list .list_service .servicelist_wrap:only-child {
		border-radius: 8px;
	}
	/*2件の時*/
	#top_aboutDpoint_list .list_service .servicelist_wrap:first-child:nth-last-child(2) {
		border-right: none;
	}
	/*3件の時*/
	#top_aboutDpoint_list .list_service .servicelist_wrap:first-child:nth-last-child(3),
	#top_aboutDpoint_list .list_service .servicelist_wrap:nth-child(2):nth-last-child(2) {
		border-right: none;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_linkarea {
		padding: 5px 5px 15px;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_image_wrap,
	#top_aboutDpoint_list .servicelist_wrap .servicelist_textarea {
		display: block;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_image_wrap {
		width: 85px;
		margin: 0 auto;
		padding-right: 0;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_textarea {
		width: 100%;
		padding-top: 5px;
		padding-right: 0;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_title,
	#top_aboutDpoint_list .servicelist_wrap .servicelist_text {
		text-align: center;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_title {
		margin-bottom: 5px;
		font-size: 1.7vw;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_text {
		font-size: 2vw;
	}
}
@media screen and (min-width: 800px) {
	#top_aboutDpoint_list .servicelist_wrap .servicelist_title {
		font-size: 14px;
	}
	#top_aboutDpoint_list .servicelist_wrap .servicelist_text {
		font-size: 16px;
	}
}

/* 
 * ランク特典
 */
 #top_rankBenefit {
	background: #F7EDEF;
	padding: 5% 3%;
	box-sizing: border-box;
	display: none;
}
/* 1つ星のとき */
#top_rankBenefit.rk_first {
	padding: 5% 4.27%;
}
#top_rankBenefit .rank_text_block .text_one-star {
	font-size: 2.95vw;
	font-weight: bold;
	margin-bottom: 5px;
    color: #444444;
	display: none;
}
#top_rankBenefit .rank_text_block .rank_title_wrap {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 10px;
}
#top_rankBenefit .rank_text_block .rank_title {
	font-size: 3.8vw;
	font-weight: bold;
	color: #333333;
	position: relative;
	padding-left: 25px;
}
#top_rankBenefit .rank_text_block .rank_title::before {
	content: '';
    position: absolute;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    width: 22px;
    height: 22px;
    top: 31%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
/* ランクアイコン */
#top_rankBenefit.rk_first .rank_text_block .rank_title::before {
	background-image: url(/common/img/rank/rank_02.png);
}
#top_rankBenefit.rk_second .rank_text_block .rank_title::before {
	background-image: url(/common/img/rank/rank_02.png);
}
#top_rankBenefit.rk_third .rank_text_block .rank_title::before {
	background-image: url(/common/img/rank/rank_03.png);
}
#top_rankBenefit.rk_fourth .rank_text_block .rank_title::before {
	background-image: url(/common/img/rank/rank_04.png);
}
#top_rankBenefit.rk_fifth .rank_text_block .rank_title::before {
	background-image: url(/common/img/rank/rank_05.png);
}
#top_rankBenefit .rank_text_block .rank_title span {
	color: #CC0033;
}
#top_rankBenefit .rank_text_block .rank_more {
	font-size: 3.2vw;
	font-weight: bold;
	padding-right: calc(1.7vw + 8px);
	position: relative;
	margin-right: 10px;
}
#top_rankBenefit .rank_text_block .rank_more::after{
	position: absolute;
	content: '';
	width: 6px;
    height: 6px;
	display: block;
	border-top: 2px solid #444444;
	border-right: 2px solid #444444;
	top: 44%;
	right: 0;
	-webkit-transform: translate(0, -50%) rotate(45deg);
	-ms-transform: translate(0, -50%) rotate(45deg);
	transform: translate(0, -50%) rotate(45deg);
	opacity: 1;
  }
#top_rankBenefit .rank_text_block .rank_more a {
	line-height: 1.4;
	color: #444444;
  }
#top_rankBenefit .rank_text_block .rank_more a:hover{
	text-decoration:underline;
}
#top_rankBenefit .benefit_note {
	font-size: 12px;
    line-height: 1.4;
	font-weight: 300;
	color: #666666;
	padding-left: 1em;
    text-indent: -1em;
    margin-top: 10px;
}

/* 1つ星のみ ランク特典 */
.benefit_one-star {
	display: none;
}
.benefit_one-star_list {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}
.benefit_one-star_list li {
	width: 49.4%;
	background: #ffffff;
	border-radius: 4px;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.14);
}
.benefit_one-star_list .benefit_one-star_title {
	background: #EDD8DC;
	text-align: center;
	font-size: 2.7vw;
    font-weight: bold;
	padding: 2.5% 2.4% 2.4%;
	margin: 3.54% 3.54% 0;
	border-radius: 2px;
}
.benefit_one-star_list li .benefit_one-star_img_wrap {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 12px 2%;
}
.benefit_one-star_list li:first-of-type > .benefit_one-star_img_wrap {
	border-radius: 0 0 0 4px;
}
.benefit_one-star_list li:last-of-type > .benefit_one-star_img_wrap {
	border-radius: 0 0 4px 0;
}
.benefit_one-star_list li .benefit_one-star_img_wrap img {
	width: 15%;
	margin-right: 5%
}
.benefit_one-star_list li .benefit_one-star_img_wrap .name {
	font-size: 2.7vw;
	margin-bottom: 4%;
}
.benefit_one-star_list li .benefit_one-star_img_wrap .benefit {
	font-size: 3.2vw;
	font-weight: bold;
}

/* 2つ星以上 ランク特典 */
.benefit_other-star_list {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
}
.benefit_other-star_list li {
	background: #FFFFFF;
	border: 1px solid #DBDBDB;
	border-right: none;
	box-sizing: border-box;
	width: 25%;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.14);
	border-radius: 4px;
	margin-right: 1.14%;
}
.benefit_other-star_list li:last-of-type {
	margin-right: 0;
}
.benefit_other-star_list li a {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	box-sizing: border-box;
	text-align: center;
	padding: 7% 0 9.2%;
	width: 100%;
}
.benefit_other-star_list li .label {
	background: linear-gradient(90deg, #E8D081 0%, #FAEFC3 50%, #E8D081 100%);
	border-radius: 2px;
	color: #42210B;
	font-size: 2.7vw;
	font-weight: bold;
	line-height: 100%;
	text-align: center;
	width: 80%;
	padding: 3.7% 4% 3%;
	margin-bottom: 8px;
}
.benefit_other-star_list li a img {
	width: 30%;
	margin-bottom: 7%;
}
.benefit_other-star_list li a .name {
	font-size: 2.95vw;
	line-height: 130%;
	margin-bottom: 5px;
	-webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.benefit_other-star_list li a .benefit {
	font-size: 2.4vw;
	font-weight: bold;
}
.benefit_other-star_list li a .benefit span {
	font-size: 3.5vw;
}
/* グレー時 */
.benefit_other-star_list li.gray {
	background: #E5D8DA;
	order: 1;
	box-shadow: none;
}
.benefit_other-star_list li.gray .label {
	background: #CFC2C5;
	color: #000000;
}
/* 1つ星・2つ星以上 共通 */
#top_rankBenefit .benefit span {
	color: #cc0000;
}

/* 1つ星のときの表示制御 */
#top_rankBenefit.rk_first .text_one-star,
#top_rankBenefit.rk_first .benefit_one-star {
	display: block;
}
#top_rankBenefit.rk_first .benefit_other-star {
	display: none;
}

@media screen and (min-width: 641px) {
	#top_rankBenefit + #top_recgameInfo {
		border-top: solid 15px #e8e8e8;
	}
	#top_rankBenefit {
		width: 100%;
		max-width: 640px;
		margin: 0 auto 30px;
		padding: 20px 3%;
		border-radius: 6px;
	}
	#top_rankBenefit.rk_first {
		padding: 20px 4.27%
	}
	#top_rankBenefit .rank_text_block .text_one-star {
		font-size: 13px;
	}
	#top_rankBenefit .rank_text_block .rank_title {
		font-size: 20px;
	}
	#top_rankBenefit .rank_text_block .rank_more {
		font-size: 15px;
		padding-right: 15px;
	}
	#top_rankBenefit .rank_text_block .rank_title::before {
		top: 40%;
	}
	.benefit_one-star_list .benefit_one-star_title {
		font-size: 14px;
	}
	.benefit_one-star_list li .benefit_one-star_img_wrap img {
		width: 37px;
		margin-right: 15px
	}
	.benefit_one-star_list li .benefit_one-star_img_wrap .benefit {
		font-size: 16px;
	}
	.benefit_other-star_list li {
		margin-right: 8px
	}
	.benefit_other-star_list li a img {
		width: 40px;
		margin-bottom: 10px;
	}
	.benefit_one-star_list li .benefit_one-star_img_wrap .name,
	.benefit_other-star_list li a .name  {
		font-size: 14px;
	}
	.benefit_other-star_list li a .benefit {
		font-size: 12px;
	}
	.benefit_other-star_list li a .benefit span {
		font-size: 18px;
	}
	.benefit_other-star_list li .label {
		font-size: 12px;
		padding: 5px 5px 4px;
	}
}

/*たまる・つかえるお店*/
/*検索バー*/
.searchArea{
	margin: 20px 2.5%;
	width: 95%;
}
#recommend_shopList {
	padding: 0 2.5%;
}
/*カセットにサービスアイコンが4つ並ぶ場合*/
ul.storeboxIcon_wrap .section_icon_box img:first-child:nth-last-child(4),
ul.storeboxIcon_wrap .section_icon_box img:first-child:nth-last-child(4) ~ img {
    width: 19%;
    margin: 4px 0 4px 5%;
}
@media screen and (min-width: 641px) {
	/* 検索バー */
	.searchArea{
		width: 100%;
		margin: 30px auto;
	}
	#recommend_shopList {
		padding: 0 0.8%;
	}
	.recommend_shopList li:nth-last-child(-n+4),
	.recommend_shopList_error li:nth-last-child(-n+4) {
		display: none;
	}
}
.recommend_shopListWrap {
	display: none;
}
.recommend_shopListWrap_error {
	display: none;
}
.shopList{
	display: none;
}
.shopList_active{
	display: block;
}
/* バナー */
.store_bnr {
    margin: 20px auto;
    width: 95%;
    max-width: 480px;
}
.store_bnr a img {
    width: 100%;
    height: auto;
}
@media screen and (min-width: 641px) {
    .store_bnr {
        margin: 30px auto;
    }
}
/*ローダー*/
/*PCの時*/
@media screen and (min-width: 641px){
	#rcmndShop_dpointLoader,
	.recommend_shopList {
		height: calc(0.3072669 * (100vw - 17px) + 80px);
		max-height: 381px;
		margin-top: 20px;
		padding-top: 1%;
	}
	/* バナー */
    .store_bnr {
        margin: 30px auto;
    }
}
@media screen and (max-width: 640px) {
	#rcmndShop_dpointLoader,
	.recommend_shopList {
		height: calc(0.92766224 * (100vw - 17px) + 128px);
		margin-top: 15px;
		padding-top: 1%;
	}
}
@media screen and (max-width: 480px) {
	#rcmndShop_dpointLoader,
	.recommend_shopList {
		height: calc(92.766224vw + 128px);
		margin-top: 15px;
		padding-top: 1%;
	}
}



/* お店でポイントをためて目指せランクアップ！ */
#top_recommendShop .top_rcmndShop_title .adjust_size {
	font-size: 4.3vw;
	line-height: 2.0;
}
@media screen and (min-width: 641px) {
	#top_recommendShop .top_rcmndShop_title .adjust_size {
		font-size: 20px;
	}
}


.information ul li {
	margin-top: 16px;
	padding: 0 10px 16px 10px;
	border-bottom: solid 1px #ddd;
}
.information ul li:first-child {
	margin-top: 0;
	border-top: solid 1px #ddd;
	padding-top: 16px;
}
.information .tit {
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.information .txt {
	font-size: 1.4rem;
	line-height: 1.4;
	margin-bottom: 10px;
}
.information .date {
	font-size: 1.4rem;
	color: #666666;
}
.information .date span {
	font-size: 1.6rem;
	color: #cc0000;
	margin-left: 20px;
}

@media screen and (max-width: 640px) {
 /* after is topcss::::::::::::::::::::*/
/*	#position_wrap {
		z-index: 0;
		background-color: #f5f5f5;
	}*/
	.info_bg {
		background-color: #F5F5F5;
		position: relative;
		z-index: 1;
	}
	#bgwrapper {
		background-color: #FFFFFF;
		position: relative;
		z-index: 1;
	}
	#wrap_contents {
		margin: 0 0;
		/* padding: 10px 0; */
	}
	#info_top {
		width: 100%;
		display: none;
		margin: 8px 0 0;
		/*    position: fixed;*/
		border-bottom: solid 5px #cc0033;
	}
	#info_top:empty {
		border-bottom: none;
	}
	#info_top p {
		margin: 0 10px;
		padding-left: 22px;
		padding-bottom: 8px;
		font-size: 3.5vw;
		line-height: 2rem;
		position: relative;
	}
	#info_member .member_stage {
		float: left;
		width: 20%;
		margin-top: 60px;
		padding-left: 20px;
	}
	#info_member .member_stage .outline {
		width: 70px;
		height: 70px;
		border-radius: 50%;
		background-color: #fff;
		border: solid 5px #ccc;
		position: relative;
		background: url(/common/img/icon/stg-error.png) no-repeat 50% 50%;
		background-size: 40px 40px;
	}
	#info_member .member_stage .outline img {
		position: absolute;
		width: 40px;
		top: 12px;
		left: 21%;
	}
	#info_member .info_detail {
		width: 65%;
		float: right;
		margin-top: -3%;
		margin-bottom: 3%;
		padding-top: 0;
		margin-right: 7%;
	}
	#info_member .info_detail::after {
		position: absolute;
		top: 70px;
		right: 0;
		content: "";
		width: 20px;
		height: 60px;
		display: block;
		background: url(/common/img/icon/arrow_right_999999.png) no-repeat 50% 100%;
		background-size: 20px 60px;
		margin-left: 60px;
	}
	#info_member .info_detail .pointAll {
		font-size: 4rem;
		font-weight: bold;
		margin-top: 20px;
		text-align: right;
		overflow: hidden;
	}
	#info_member .info_detail .pointAll .tit {
		float: none;
		font-size: 2rem;
		line-height: 2.5;
	}
	#info_member .info_detail .pointAll .point {
		font-size: 3rem;
	}
	#info_member .info_detail .pointAll .point span {
		padding-left: 10px;
		color: #9a9a9a;
	}
	#info_member .info_detail .pointBenefit {
		font-size: 4rem;
		font-weight: bold;
		margin-top: 10px;
		text-align: right;
		overflow: hidden;
	}
	#info_member .info_detail .pointBenefit .tit {
		float: left;
		font-size: 0.9rem;
		line-height: 2;
		width: 40%;
		text-align: left;
		padding-left: 5px;
	}
	#info_member .info_detail .pointBenefit .point {
		font-size: 2rem;
		padding-top: 20px;
	}
	#info_member .info_detail .pointBenefit .point span {
		padding-left: 10px;
		color: #9a9a9a;
		width: 100%;
	}
	#info_member .info_detail .loginStatus {
		background-color: #ddd;
		padding: 5px;
		overflow: hidden;
		margin-top: 5px;
		line-height: 1.5;
	}
	#info_member .info_detail .loginStatus .email {
		float: left;
	}
	#info_member .info_detail .loginStatus .status {
		float: right;
	}
	#info_member .balloon {
		position: relative;
		padding: 5px;
		background-color: #fff;
		border: 2px solid #9a9a9a;
		border-radius: 10px;
		z-index: 1;
		font-size: 0.9rem;
		width: 100px;
		text-align: center;
		left: -16px;
	}
	#info_member .balloon::before {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		left: 40px;
		bottom: -15px;
		border-top: 15px solid #9a9a9a;
		border-right: 15px solid transparent;
		border-left: 15px solid transparent;
	}
	#info_member .balloon::after {
		content: '';
		position: absolute;
		display: block;
		width: 0;
		height: 0;
		left: 40px;
		bottom: -12px;
		border-top: 15px solid #fff;
		border-right: 15px solid transparent;
		border-left: 15px solid transparent;
	}
	.pointInformation {
		margin: 0 auto;
		background-color: #cc0000;
		padding: 5px 0;
		text-align: center;
		color: #fff;
		width: 100%;
		font-size: 1.2rem;
	}
	/* 
	 * たまる・つかえるお店
	 */
	.recommendShop {
		background-color: #fff;
		border-top: solid 15px #ddd;
		border-bottom: solid 15px #ddd;
		padding-top: 0;
	}
	.recommendShop ul {
		background-color: #ddd;
		padding: 20px 0 0 4%;
		overflow: hidden;
		margin: 0 1.5%;
	}
	.recommendShop ul li {
		float: left;
		margin-right: 3%;
		margin-bottom: 20px;
		width: 30%;
	}
	.recommendShop a {
		overflow: inherit;
		display: block;
		cursor: pointer;
	}
	.recommendShop .shop_information {
		padding: 10px 0 0 0;
		margin: 0 auto 30px;
		text-align: left;
		width: 90%;
		font-size: 1.2rem;
		line-height: 1.4;
	}
	.information ul li {
		margin-top: 16px;
		border-bottom: solid 1px #ddd;
	}
	.information ul li:first-child {
		margin-top: 0;
		border-top: solid 1px #ddd;
		padding-top: 16px;
	}
	.information .tit {
		font-size: 3.5vw;
		margin-bottom: 5px;
		line-height: 1.4;
	}
	.information .txt {
		font-size: 1.2rem;
		line-height: 1.4;
		margin-bottom: 10px;
	}
	.information .date {
		font-size: 3vw;
	}
	.information .date span {
		font-size: 3vw;
		color: #cc0000;
		margin-left: 20px;
	}
}

/* ローディング、エラー部分 */
#home_slider_error {
	display: none;
}
#top_recommendShop_normal {
	display: none;
}
#top_information_normal {
	display: none;
}

/* ヘッダー上バナー */
.appBox {
	position: relative;
    width: 100%;
    display: none;
    margin: 0 auto;
    border-bottom: 1px solid #ddd;
}
.appBox .close {
	position: absolute;
	top: 50%;
    width: 40px;
    height: 40px;
    color: #a1a1a1;
    font-size: 30px;
    text-align: center;
    line-height: 36px;
    cursor: pointer;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.appBox .btn {
    width: 100%;
}
.appBox .btn a img {
	width: 100%;
	height: auto;
}

/* もっと見るボタン */
.btn_more {
    opacity: 0;
    box-sizing: initial;
}

/* おすすめ情報のボタン：コンテンツをもっと探してみよう！ */

/* お店で使えるクーポン */
#home_couponList_area {
	background-color: #fff;
	max-width: 980px;
	width: 100%;
	margin: 0 auto;
}
#home_couponList {
	padding-left: 15px;
	padding-right: 0;
}
#home_couponList li a {
	margin: 0 10px 10px 0;
	border: 1px solid #ddd;
	border-radius: 6px;
	overflow: hidden;
}
#home_couponList img {
	width: 100%;
	height: auto;
}
#home_couponList_area .coupon_price_note {
    padding: 0 15px;
    text-align: right;
    font-size: 12px;
}

/* allox動画広告枠 2021/04追加 */
.top_recommendInfo_add > div[data-allox-status='error'] {
	border-top: none;
}
.top_recommendInfo_add > div[data-allox-status='success'] {
	border-top: solid 15px #e8e8e8;
}
.top_recommendInfo_add > div > div {
	width: calc(100% - 2px);
	max-width: 640px;
	text-align: center;
	margin: 0 auto;
}

/* バルーンメッセージ　#navi_main_smallから切り離し 2021/04追加 */
#balloon_message_main_small {
	width: 100%;
	max-width: 640px;
	display: block;
	z-index: 888;
}
.balloon_message_sp{
	position: fixed;
	bottom: 66px;
}
#balloon_message_main_small #balloon_message {
	margin: 0 10px 5px 10px;
	padding: 10px 10px 8px 10px;
	background-color: rgba(232, 232, 232, 0.9);
	border: 2px solid #CC0033;
	border-radius: 4px;
	font-size: 4vw;
	cursor: pointer;
	position: relative;
}
#balloon_message a {
	display: inline-block;
	width: 92%;
	color: #444444;
}
#balloon_message p img {
	width: 100%;
}
#balloon_message p .btn_close {
	width: 4%;
	text-align: right;
	float: right;
	cursor: pointer;
}

/* フッターバナー　モーダル 2020/12/04 追記 */
.banner_block_modal {
	width: 90%;
	max-width: 620px;
	position: fixed;
	bottom: 65px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	    transform: translate(-50%, 0);
	display: block;
	z-index: 888;
}
.banner_modal_contentsWrap {
	width: 100%;
	position: relative;
	overflow-y: scroll;
    -webkit-box-shadow: 0 10px 25px 0 rgba(51, 51, 51, .5);
    box-shadow: 0 10px 25px 0 rgba(51, 51, 51, .5);
}
.banner_block_modal img{
	width: 100%;
}
/* 閉じるボタン */
.banner_button_modalClose {
	display: block;
	background: #999;
	border-radius: 50%;
	width: 28px;
	height: 28px;
	position: absolute;
    top: -14px;
    right: -14px;
	z-index: 901;
	cursor: pointer;
}
.banner_button_modalClose.icon_close::before {
	content: '×';
	color: #fff;
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	line-height:  28px;
}
.banner_button_modalClose:hover {
	background: #535353;
}

/* ----------広告許諾アラート----------  */
#permission_modal{
	display: none;
}
.ad_permission_modal {
    position: fixed;
    z-index: 999;
    bottom: 10px;
    left: 50%;
    width: calc(100% - 20px);
    max-width: 640px;
    max-width: 620px;
    background: #fff;
    -webkit-box-shadow: 0 0 8px rgb(0 0 0 / 20%);
    box-shadow: 0 0 8px rgb(0 0 0 / 20%);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}
.ad_permission_modal .btn_close {
    display: block;
    background: #999;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    position: absolute;
    top: -14px;
    right: -5px;
    -webkit-transform: translate( 0, 0);
    transform: translate( 0, 0);
    -webkit-transition: background .4s ease-in-out;
    transition: background .4s ease-in-out;
    overflow: visible;
    cursor: pointer;
}
.ad_permission_modal .btn_close::before {
    content: '×';
    color: #fff;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    line-height: 24px;
}
.ad_permission_contentWrap {
	padding: 20px 0 15px;
}
.ad_permission_contentWrap h3 {
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
}
.ad_permission_contentWrap .text {
	padding: 10px 3%;
	font-size: 12px;
	line-height: 1.6;
}
.ad_permission_contentWrap .next {
	border-color: #CC0033;
}
.ad_permission_contentWrap .next p {
	font-size: 14px;
}
.ad_permission_contentWrap .not_allowed {
	text-align: center;
}
.ad_permission_contentWrap .not_allowed a {
	display: inline-block;
	margin-top: 15px;
	font-size: 12px;
	text-decoration: underline;
}
.ad_permission_contentWrap a:hover {
	opacity: .6;
}
@media screen and (min-width: 641px) {
	.ad_permission_modal .btn_close {
		width: 36px;
		height: 36px;
	}
	.ad_permission_modal .btn_close::before {
		font-size: 32px;
		line-height: 36px;
	}
	.ad_permission_contentWrap {
		padding: 25px 0 20px;
	}
	.ad_permission_contentWrap h3 {
		font-size: 18px;
	}
	.ad_permission_contentWrap .text {
		font-size: 14px;
	}
	.ad_permission_contentWrap .next p {
		font-size: 16px;
	}
	.ad_permission_contentWrap .not_allowed a {
		font-size: 14px;
	}
}
/* ----------/広告許諾アラート----------  */

/* ----------アンケート----------  */
#top_enquete .img_enquete {
	display: block;
	margin: 0 auto;
	width: 96%;
	height: auto;
}
@media screen and (min-width: 641px) {
	#top_enquete .img_enquete {
		max-width: 640px;
		width: 100%;
	}
}
/* ----------/アンケート----------  */

/* ---------- ドコモのたまる・つかえるサービス・プログラム ----------  */
#topService,
#topProgram {
    display: none;
}
/*ドコモのたまる・つかえるプログラム*/
#topServiceProgram .title_topProgram {
    margin-bottom: 4.5%;
}
#topServiceProgram #topService + .title_topProgram {
    margin-top: 5.5%;
}
#topServiceProgram .service_list {
    max-width: 640px;
    margin: 0 auto;
    padding: 0 2.5% 0 2.5%;
}
#topServiceProgram .service_list > .contentsitem_wrap {
    border-bottom: 1px solid #E8E8E8;
}
#topServiceProgram .service_list > .contentsitem_wrap:first-child {
    border-top: 1px solid #E8E8E8;
}
#topServiceProgram .service_list .contentsitem_wrap a {
    position: relative;
    width: 100%;
    padding: 5% 5% 5% 0;
    box-sizing: border-box;
}
#topServiceProgram .service_list .contentsitem_wrap a::after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    position: absolute;
    top: 50%;
    right: 1.5%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}
#topServiceProgram .service_list .contentsitem_wrap .service_title {
    font-size: 4vw;
    line-height: 1.4;
}
@media screen and (min-width: 641px) {
    #topServiceProgram .title_topProgram {
        margin-bottom: 25px;
    }
    #topServiceProgram #topService + .title_topProgram {
        margin-top: 40px;
    }
    #topServiceProgram .service_list .contentsitem_wrap a {
        padding: 18px 20px 18px 0;
    }
    #topServiceProgram .service_list .contentsitem_wrap .service_title {
        font-size: 16px;
    }
}
/*ラベル(たまる・つかえる)*/
.label_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 3.2vw;
    margin-top: 8px;
}
#topService .label_box {
    font-size: 12px;
}
#topService .label_box.bottominfo {
    padding-bottom: 0;
}
#topService .label_box > :nth-of-type(2) {
    margin-left: 5px;
}
.label_box > * {
    font-weight: bold;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    line-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
#topService .label_box > * {
    padding: 4px 5px;
    border-radius: 5px;
}
#topProgram .label_box > * {
    padding: 1.1vw 1.4vw;
    border-radius: 1.3vw;
}
.label_box .acc {
    background-color: #FFECCC;
    color: #B24700;
}
.label_box .use {
    background-color: #D7FAEC;
    color: #007953;
}
.label_box > :nth-of-type(2) {
    margin-left: 1.5%;
}
@media screen and (min-width: 641px) {
    .label_box {
        margin-top: 8px;
        font-size: 12px;
    }
    #topService .label_box > *,
    #topProgram .label_box > * {
        padding: 4px 6px;
        border-radius: 5px;
    }
    .label_box > :nth-of-type(2) {
        margin-left: 5px;
    }
}
/* ----------/ ドコモのたまる・つかえるサービス・プログラム ----------  */

/* ----------ホーム獲得ポイントエリア----------  */
#top_rankPointInfo {
    width: 100%;
    padding-bottom: 0;
}
#top_rankPointInfo img {
    width: 100%;
    height: auto;
}
#top_rankPointInfo .inner {
    padding: 0 15px;
}
#top_rankPointInfo > .inner {
    max-width: 640px;
    margin: 0 auto;
}
#top_rankPointInfo .text_red {
    color: #CC0033;
}
/*ランクアイコン(新) */
#top_rankPointInfo .rk_first,
#top_rankPointInfo .rk_second,
#top_rankPointInfo .rk_third,
#top_rankPointInfo .rk_fourth,
#top_rankPointInfo .rk_fifth {
    background-repeat: no-repeat;
    background-size: contain;
}
/*ランクアイコン(新)*/
/*1つ星*/
#top_rankPointInfo .rk_first {
    background-image: url(/common/img/rank/rank_01.png);
}
/*2つ星*/
#top_rankPointInfo .rk_second {
    background-image: url(/common/img/rank/rank_02.png);
}
/*3つ星*/
#top_rankPointInfo .rk_third {
    background-image: url(/common/img/rank/rank_03.png);
}
/*4つ星*/
#top_rankPointInfo .rk_fourth {
    background-image: url(/common/img/rank/rank_04.png);
}
/*5つ星*/
#top_rankPointInfo .rk_fifth {
    background-image: url(/common/img/rank/rank_05.png);
}
#top_rankPointInfo .rankStateBlock .rankIcon span.rankIcon_img {
    display: inline-block;
    width: 33px;
    height: 33px;
    margin-right: 2px;
}
#top_rankPointInfo .rankStateBlock {
    position: relative;
}
#top_rankPointInfo .rankStateBlock h2,
#top_rankPointInfo .rankStateBlock .rankIcon {
    display: inline-block;
}
#top_rankPointInfo .rankStateBlock .rankIcon {
    position: absolute;
    top: -9px;
    right: 6px;
}
#top_rankPointInfo .rankPointBox {
    width: 100%;
    padding: 0 15px;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
#top_rankPointInfo .child_wrapper {
    padding: 20px 0;
    background-color: #fff;
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
}
#top_rankPointInfo .child_wrapper .rankPoint_titleBlock h3 {
    margin-bottom: 6px;
    text-align: left;
    line-height: 1.2;
}
#top_rankPointInfo .child_wrapper .rankPoint_titleBlock .date {
    font-size: 3.2vw;
        font-weight: normal;
}
#top_rankPointInfo .child_wrapper .rankPoint_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
#top_rankPointInfo .child_wrapper .benefits_rate {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50%;
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
}
#top_rankPointInfo .child_wrapper .benefits_rate .dpoint_icon {
    width: 20%;
    margin-right: 3%;
}
#top_rankPointInfo .child_wrapper .benefits_rate .text {
    padding-top: 1%;
    font-size: 3.2vw;
    line-height: 1.5;
}
#top_rankPointInfo .child_wrapper .benefits_rate .rate {
    font-size: 3.4vw;
    font-weight: bold;
}
#top_rankPointInfo .child_wrapper .benefits_point {
    width: 40%;
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    padding-left: 1%;
    text-align: center;
}
#top_rankPointInfo .child_wrapper .benefits_point .point {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 6vw;
    font-weight: bold;
    color: #CC0033;
    letter-spacing: 0.05rem;
}
#top_rankPointInfo .child_wrapper .benefits_point .point .plus {
    font-size: 5.4vw;
    margin-top: -2%;
}
#top_rankPointInfo .child_wrapper .benefits_point .point .unit {
    font-size: 5.2vw;
    margin-left: 3px;
}
#top_rankPointInfo .child_wrapper .benefits_point .text {
    font-size: 3vw;
    line-height: 1.5;
}
#top_rankPointInfo .child_wrapper .point_text1,
#top_rankPointInfo .child_wrapper .point_text2 {
    display: none;
    padding-top: 3%;
    text-align: center;
    font-size: 3.4vw;
    font-weight: bold;
}
#top_rankPointInfo .child_wrapper .point_text2 span {
    padding: 1% 3%;
    border-radius: 30px;
    background-color: #F3E7EA;
    display: inline-block;
}
#top_rankPointInfo .child_wrapper .rankup_bnnr {
    display: none;
    padding-top: 3%;
}
@media screen and (min-width: 641px) {
        #top_rankPointInfo .rankPoint_wrap {
            padding-top: 3%;
        }
    #top_rankPointInfo .child_wrapper .rankPoint_titleBlock .date {
        font-size: 16px;
    }
    #top_rankPointInfo .child_wrapper .benefits_rate .text {
        font-size: 16px;
    }
    #top_rankPointInfo .child_wrapper .benefits_rate .rate {
        font-size: 17px;
    }
    #top_rankPointInfo .child_wrapper .benefits_point {
        padding-left: 0;
    }
    #top_rankPointInfo .child_wrapper .benefits_point .point {
        font-size: 30px;
    }
    #top_rankPointInfo .child_wrapper .benefits_point .point .plus {
        font-size: 20px;
    }
    #top_rankPointInfo .child_wrapper .benefits_point .point .unit {
        font-size: 24px;
    }
    #top_rankPointInfo .child_wrapper .benefits_point .text {
        font-size: 14px;
        line-height: 1.8;
    }
    #top_rankPointInfo .child_wrapper .point_text1,
    #top_rankPointInfo .child_wrapper .point_text2 {
        font-size: 16px;
    }
}
#top_rankPointInfo .nextRank {
    padding: 20px 0;
    border-top: 1px solid #ddd;
}
#top_rankPointInfo #rankIdNext {
    text-align: center;
    font-size: 3.8vw;
    line-height: 1.4;
}
#top_rankPointInfo .rankupStateBlock {
    margin: 0;
    padding: 0;
    border: none;
}
#top_rankPointInfo .rankupStateBlock .rankup_text {
    text-align: center;
    font-size: 3.8vw;
    line-height: 1.4;
}
#top_rankPointInfo .rankupStateBlock .rankup_text p:nth-child(2) {
    font-weight: bold;
}
#top_rankPointInfo .rankupStateBlock .rankup_text p .target_point {
    font-size: 5vw;
}
#top_rankPointInfo .rankupStateBlock .rankup_text span.rankIcon_img {
    display: inline-block;
    width: 7vw;
    height: 7vw;
    vertical-align: sub;
}
#top_rankPointInfo .rank_state_block {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 95%;
    max-width: 450px;
    margin-bottom: 15px;
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
}
#top_rankPointInfo .rank_state_block .rank_state_progress {
    position: relative;
    width: 90%;
    height: 24px;
    background: #eeeedd;
    border: 1px solid #eeeedd;
    border-radius: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#top_rankPointInfo .rank_state_block .rank_state_progress .rank_progress_value {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    display: inline-block;
    width: 0;
    height: 24px;
    background: #CC0033;
    border-radius: 20px 20px /20px 20px 20px 20px;
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    top: -1px;
}
/*ポインコアイコン*/
#top_rankPointInfo .rank_state_block .rank_state_progress .rank_progress_icon {
    display: block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate( 0, -50%);
    -ms-transform: translate( 0, -50%);
    transform: translate( 0, -50%);
}
#top_rankPointInfo .rank_state_block .rank_state_progress .rank_progress_icon::after {
    font-size: 0;
    right: 0;
    content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    background-size: contain;
    background-image: url(/common/img/icon/poinco_face.png);
}
#top_rankPointInfo .rank_state_block .rank_next {
    width: 26px;
    height: 26px;
    margin-left: 10px;
}
/*【3日以降で且つ5つ星の場合】*/
#top_rankPointInfo .rankupStateBlock .achieved_img {
    display: block;
    margin: 5px auto 25px;
    width: 80%;
    max-width: 390px;
}
/*【毎月1・2日の場合】*/
#top_rankPointInfo .rankupStateBlock .notice_text {
    font-size: 15px;
    text-align: center;
    line-height: 1.5;
}
#top_rankPointInfo .rankupStateBlock .notice_text span {
    font-size: 18px;
    font-weight: bold;
}
@media screen and (min-width: 641px) {
    #top_rankPointInfo #rankIdNext {
        font-size: 16px;
    }
    #top_rankPointInfo .rankupStateBlock .rankup_text {
        font-size: 16px;
    }
    #top_rankPointInfo .rankupStateBlock .rankup_text p .target_point {
        font-size: 28px;
    }
    #top_rankPointInfo .rankupStateBlock .rankup_text span.rankIcon_img {
        width: 32px;
        height: 32px;
    }
    #top_rankPointInfo .rank_state_block {
        width: 500px;
    }
    #top_rankPointInfo .rank_state_block .rank_next {
        margin-left: 15px;
        width: 32px;
        height: 32px;
    }
    /*【毎月1・2日の場合】*/
    #top_rankPointInfo .rankupStateBlock .notice_text {
        font-size: 18px;
    }
    #top_rankPointInfo .rankupStateBlock .notice_text span {
        font-size: 20px;
    }
}
#pointinfoRankPoint {
    display: none;
}
#otherFiveRankStage {
    display: none;
}
#stayRankStage {
    display: none;
}
/* ----------/ホーム獲得ポイントエリア----------  */

/* ----------お店からのおすすめ情報----------  */
#rcmndMeo_area {
  padding: 25px 0 20px;
}
#rcmndMeoList {
	padding: 0 15px 10px;
}
/* ----------/お店からのおすすめ情報----------  */

/* ---------- dポイントクラブアプリ アプリ限定でたまる ----------  */
#top_app ul.shortcut_icon_list li {
	margin-right: 2%;
	width: calc(94% / 4);
}
#top_app ul.shortcut_icon_list li:nth-of-type(3n){
	margin-right: 2%;
}
#top_app ul.shortcut_icon_list li:nth-of-type(4n){
	margin-right: 0;
}
#top_app ul.shortcut_icon_list li p {
	font-size: 3vw;
	white-space: nowrap;
}
/* PC */
@media screen and (min-width: 641px) {
	#top_app ul.shortcut_icon_list li p {
		font-size: 14px;
	  }
}
/* ---------- dポイントクラブアプリ アプリ限定でたまる ----------  */

/* ----------dポイントマーケット ネットのお買物がポイントアップ----------  */
#dpm_store_list {
    display: none;
}
#top_recdpointmarket .bnnr_dpmarket {
    margin: 0 auto;
    max-width: 640px;
    padding: 0 3% 0;
}
#top_recdpointmarket .bnnr_dpmarket img {
    width: 100%;
    height: auto;
}
/* ランク毎ポイント還元率 */
#pointRewardRate #login_rate {
	display: none;
}
#pointRewardRate {
	margin: 4.5% auto 0;
	width: 94%;
    max-width: 640px;
}
#pointRewardRate a {
	width: 100%;
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	-webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
	padding: 5% 4%;
    box-sizing: border-box;
	background-color: #F7EDEF;
	border-radius: 2vw;
}
#pointRewardRate .icon_dpoint {
	-webkit-flex-basis:7.5%;
    -ms-flex-preferred-size:7.5%;
    flex-basis:7.5%;
	width: 7.5%;
}
#pointRewardRate .icon_dpoint img {
	width: 100%;
	height: auto;
}
#pointRewardRate #login_rate,
#pointRewardRate #logout_rate {
	-webkit-flex-basis:90%;
    -ms-flex-preferred-size:90%;
    flex-basis:90%;
	width: 90%;
}
#pointRewardRate #login_rate > div,
#pointRewardRate #logout_rate > div {
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
}
#pointRewardRate h4 {
	margin-left: 3%;
	font-size: 3.4vw;
	font-weight: bold;
	text-decoration: underline;
	line-height: normal;
}
#pointRewardRate .rate {
	margin-left: auto;
	font-size: 4vw;
	color: #CC0033;
	font-weight: bold;
}
/* モーダル */
#top_recdpointmarket .service_icon_modal_btn {
	margin-top: 5%;
}
/* おトクになるお店 */
#top_recdpointmarket .title_dpm {
	margin-top: 10%;
	margin-bottom: 2%;
}
@media screen and (min-width: 641px) {
	/* ランク毎ポイント還元率 */
	#pointRewardRate {
		margin: 22px auto 0;
		max-width: 430px;
	}
	#pointRewardRate a {
		padding: 23px 20px;
		border-radius: 9px;
	}
	#pointRewardRate .icon_dpoint {
		-webkit-flex-basis: 30px;
		-ms-flex-preferred-size: 30px;
		flex-basis: 30px;
		width: 30px;
	}
	#pointRewardRate h4 {
		margin-left: 12px;
		font-size: 15px;
	}
	#pointRewardRate .rate {
		font-size: 18px;
	}
	/* モーダル */
	#top_recdpointmarket .service_icon_modal_btn {
		margin-top: 25px;
	}
	/* おトクになるお店 */
	#top_recdpointmarket .title_dpm {
		margin-top: 55px;
		margin-bottom: 30px;
	}
}
/* ---------- /dポイントマーケット ネットのお買物がポイントアップ----------  */

/* ----------- LAレコ おトクにたまる！おすすめ商品-----------  */
.larecoList {
  display:-webkit-box;
  display:-webkit-flex;
  display:-ms-flexbox;
  display:flex;
  height: auto;
  overflow: hidden;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding: 0 15px 10px;
}
@media screen and (max-width: 640px) {
  #top_lareco .larecoList::-webkit-scrollbar{
    display: none;
  }
}
#top_lareco .larecoList li {
  height: auto;
  border: 1px solid #ddd;
  border-radius: 2.4vw;
  margin-right: 10px;
  width: 45%;
  min-width: 45%;
  overflow: hidden;
}
#top_lareco .larecoList a {
	display: block;
}
#top_lareco .larecoList li:last-child {
	margin-right: 0;
}
#top_lareco .larecoList li .item_img {
	width: 100%;
	object-fit: contain;
    height: 39vw;
}
#top_lareco .larecoList li .textBlock {
	margin-top: 6.5%;
	padding: 0 6.5% 6.5%;
}
/* ラベル */
#top_lareco .larecoList li .label_block {
	height: 4.2vw;
	font-size: 0;
}
#top_lareco .larecoList li .label_block .label {
	display: inline-block;
    padding: 0.1vw 1vw;
    font-size: 2.5vw;
    border-radius: 0.7vw;
    color: #ffffff;
	background-color: #FF465C;
	line-height: normal;
}
#top_lareco .larecoList li .label_block .label:first-child {
	margin-right: 0.8vw;
}
#top_lareco .larecoList li .description {
	margin-top: 6.5%;
	height: 15vw;
}
#top_lareco .larecoList li .description a {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 3.5vw;
	line-height: 1.4;
}
#top_lareco .larecoList li .price_block {
	padding-top: 8%;
	text-align: right;
}
#top_lareco .larecoList li .price_block .price {
	font-size: 4.3vw;
	color: #CC0033;
	font-weight: bold;
}
#top_lareco .larecoList li .price_block .shipping_info {
	margin-top: 4%;
	height: 3vw;
	font-size: 3vw;
	color: #999999;
}
#top_lareco .larecoList li .price_block .shipping_info.free {
	color: #CC0033;
}
#top_lareco .larecoList li .store_name {
	margin-top: 8%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
	font-size: 3.5vw;
	color: #666666;
	text-decoration: underline;
}
#top_lareco .larecoList li .icon_block {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
	webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
	min-height: 40px;
	padding: 0 6.5%;
	border-top: solid 1px #ddd;
}
#top_lareco .larecoList li .icon_block img {
	width: 25%;
	max-width: 25px;
	margin-right: 8px;
	height: auto;
}
/* 注釈 */
#top_lareco ul.lareco_note {
	padding: 0 15px;
}
#top_lareco ul.lareco_note li {
    padding-left: 1em;
    text-indent: calc(-1em - 5px);
    margin: 5px 0;
    line-height: 1.4;
	font-size: 12px;
	color: #666666;
}
#top_lareco ul.lareco_note li:before {
    counter-increment: none;
    content: '※';
    margin-left: 5px;
}
@media screen and (min-width: 641px) {
	#top_lareco .larecoList li {
        width: 21%;
        min-width: 21%;
		border-radius: 10px;
    }
	#top_lareco .larecoList li .item_img {
		height: 185px;
	}
	#top_lareco .larecoList li .textBlock {
		margin-top: 7%;
		padding: 0 7% 7%;
	}
	/* ラベル */
	#top_lareco .larecoList li .label_block {
		height: 17px;
	}
	#top_lareco .larecoList li .label_block .label {
		padding: 0 4px;
		font-size: 11px;
		border-radius: 3px;
	}
	#top_lareco .larecoList li .label_block .label:first-child {
		margin-right: 4px;
	}
	#top_lareco .larecoList li .description {
		height: 64px;
		margin-top: 6%;
	}
	#top_lareco .larecoList li .description a {
		font-size: 15px;
	}
	#top_lareco .larecoList li .price_block .price {
		font-size: 19px;
	}
	#top_lareco .larecoList li .price_block .shipping_info {
		height: 13px;
		font-size: 13px;
	}
	#top_lareco .larecoList li .store_name {
		font-size: 15px;
	}
	#top_lareco .larecoList li .icon_block {
		min-height: 43px;
	}
	#top_lareco .larecoList li .icon_block img {
		max-width: 27px;
	}
	/* 注釈 */
	#top_lareco ul.lareco_note {
		margin-top: 1.8%;
	}
	#top_lareco ul.lareco_note li{
		font-size: 13px;
	}
}
@media screen and (min-width: 641px) and (max-width: 920px) {
	#top_lareco .larecoList li {
		margin-right: 10px;
		width: 30%;
		min-width: 30%;
		border-radius: 11px;
	}
	#top_lareco .larecoList li .item_img {
		height: 27vw;
	}
	#top_lareco .larecoList li .label_block {
		height: 17px;
	}
	#top_lareco .larecoList li .label_block .label:first-child {
		margin-right: 4px;
	}
	#top_lareco .larecoList li .description {
		height: 64px;
	}
}
/* ----------- /LAレコ おトクにたまる！おすすめ商品 -----------  */