@charset "UTF-8";

/*
	File Name   : style_other.css
	Description : Otherページ用style
	
	00.COMMON
	01.仮会員登録完了
	02.本会員登録完了
	03.ログイン
	04.マイページ系
	05.LINEバーコード発行系
	06.会員カード統合系
	10.楽天Web仮カード
	11.お気に入り店舗
	12.メンテナンス中


*/

/* PC */
@media screen and (min-width: 768px) {
	.ma_auto{
		margin-left: auto;
		margin-right: auto;
	}
	.pt150{
		padding-top: 150px;
	}
	/*-------------*/
}
/* SP */
@media screen and (max-width: 767px) {
	/*-------------*/
}


@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700');


/* 00.ガラホ用調整
----------------------------------------------------------- */
.custom-control-input{
	position: absolute;
    z-index: 1;
    opacity: 1;
	width: 20px;
	height: 20px;
	left: 0px;
	top:2px;
    margin: 0;
	border:1px solid #fff;
	
	-webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
	cursor: default;
}

.custom-control-indicator{
	z-index: 10;
}

/* 00.COMMON
----------------------------------------------------------- */

.btn-col-black{
}
a.btn-type01.btn-col-black{
    padding: 15px 0 0 0;
	font-size:13px;
}

.btn-col-red{
	background: #BF0000 !important;
	border: 1px solid #BF0000 !important;
}
.btn-col-red-w{
	background: #fff !important;
	border: 1px solid #BF0000 !important;
	color: #BF0000 !important;
}

.btn-col-green{
	background: #90BF02 !important;
	border: 1px solid #90BF02 !important;
}

.btn-type01.btn-type01-new{
	background: #115492;
	box-shadow: 0px 4px 0 #5890EA;
}

.nav-window{
	border:2px solid #265edf;
	padding: 10px;
	max-width: 500px;
	margin: 0 auto;
	border-radius:5px;
	text-align: center;
	margin-bottom: 40px;
}

a.btn-type01.rakuten-entry-btn {
    background: #c00000 !important;
    border: 1px solid #c00000 !important;
	height: auto !important;
	min-height: 50px;
	padding: 12px 5px;
}
a.btn-type01.rakuten-entry-btn02 {
    background: #095ca8 !important;
    border: 1px solid #095ca8 !important;
	height: auto !important;
	min-height: 50px;
	padding: 12px 5px;
}
a.btn-type01.rakuten-entry-btn .rakuten-entry-btntext,
a.btn-type01.rakuten-entry-btn02 .rakuten-entry-btntext{
	font-size:12px;
	display: block;
}

.mainCenterTitle{
	font-weight: normal;
}

/* PC */
@media screen and (min-width: 768px) {

	.contents {
		margin-top: 40px;
	}
	
	body.faqPage .contents,
	body.integrationPage .contents{
		margin-top: 0px;
	}
	
	.contentInner{
		padding-bottom: 100px;
		border-bottom: none;
	}
	.mainLeftTitle {
		margin-bottom:40px;
	}

	.form-item__postbox li:first-child:last-child{
		width: 180px;
	}
	
	/*-------------*/
}
/* SP */
@media screen and (max-width: 767px) {
	.contentInner{
		padding: 0 15px 20px;
	}
	
	.form-item__postbox li:first-child:last-child{
		width: 130px;
	}
	
	.nav-window{
		margin-bottom: 20px;
	}
	
	.mainCenterTitle{
		font-weight: normal;
		    font-size: 17px;
		padding: 15px 0 15px;
	}
	a.btn-type01.rakuten-entry-btn,
	a.btn-type01.rakuten-entry-btn02{
		padding: 7px 5px;
	}
	/*-------------*/
}


a.link_col01{
	color:#225ce3 !important;
	text-decoration: underline !important;
}



/* 01.仮会員登録完了
----------------------------------------------------------- */
.provisional-finish-ttl01{
	text-align: center;
	font-size:24px;
	margin-bottom: 40px;
	margin-top: 40px;
}
.provisional-finish-ttl02{
	text-align: center;
	font-size:14px;
	margin-bottom: 40px;
}
.provisional-finish-text{
	margin-top: -30px;
}

/* SP */
@media screen and (max-width: 767px) {
	.provisional-finish-ttl01{
		font-size:17px;
		margin-bottom: 10px;
		margin-top: 0px;
	}
	.provisional-finish-ttl02{
		font-size:13px;
		margin-bottom: 25px;
	}
	.provisional-finish-text{
		border-top:1px solid #dedede;
		padding-top: 20px;
		margin-top: -10px;
	}
	/*-------------*/
}


/* 02.本会員登録完了
----------------------------------------------------------- */
.registration-finish-ttl01{
	text-align: center;
	font-size:24px;
	margin-bottom: 40px;
	margin-top: 0px;
}
.registration-finish-text{
	text-align: center;
	margin-bottom: 40px;
}

.coupon-code-wrap{
	margin:0 auto 40px;
	text-align: center;
}
.coupon-code{
	border-top:1px solid #eb0027;
	border-bottom:1px solid #eb0027;
	padding: 28px 0;
	line-height: 1;
	margin:0 auto 40px;
	text-align: center;
}
	.coupon-code dt{
		color:#333333;
		font-size:15px;
		font-weight: bold;
		margin-bottom: 10px;
	}
	.coupon-code dd{
		font-weight: bold;
		color:#eb0027;
		font-size:30px;
	}

/* SP */
@media screen and (max-width: 767px) {
	.registration-finish-ttl01{
		font-size:17px;
		margin-bottom: 15px;
		margin-top: 0px;
	}
	.registration-finish-text{
		font-size:13px;
		margin-bottom: 10px;
	}
	.coupon-code-wrap{
		margin:0 auto 30px;
	}
	.coupon-code{
		padding: 20px 0;
		margin-bottom: 30px;
	}
	/*-------------*/
}


/* 03.ログイン
----------------------------------------------------------- */
/* PC */
@media screen and (min-width: 768px) {
	/*
	body.loginPage .contents {
		margin-top: 0px;
	}
	*/
	/*-------------*/
}

.login_content{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.login_content::after,
.login_content::before{
	display: none !important;
}
.login_content__l{
	width:325px;
	padding: 15px 0;
	text-align: center;
	margin-right: 40px;
}
.login_content__r{
	width:610px;
	padding: 15px 0 15px 50px;
	border-left:1px solid #dedede;
	text-align: center;
}

.no_entry .login_content__r{
	padding: 15px 0 15px 0px;
	border-left:none;
	margin: 0 auto;
	max-width: 100%;
}
.no_entry .login_content__r .login-tbl{
	width:100%;
}


.login_content__r .btn-wrap p{
	padding-top: 20px;
	font-size:12px;
}
.login_content__r .btn-wrap p a{
	text-decoration: underline;
}

.login_content__l h2,
.login_content__r h2{
	font-size:16px;
	font-weight: bold;
	margin-bottom: 30px;
}

.login_content__l p{
	padding-top: 30px;
	font-size:14px;
	margin-bottom: 30px;
}

.login-tbl{
	width:560px;
	background: #ebebeb;
	padding: 25px 70px;
	border-radius: 5px;
	margin-bottom: 30px;
}
	.login-tbl th{
		font-size:12px;
		text-align: left;
		width:105px;
		font-weight: normal;
		padding-top: 15px;
		vertical-align: top;
	}
	.login-tbl tr:first-child th{
		padding-top: 8px;
	}
	.login-tbl td{
		font-size:12px;
		text-align: left;
		padding: 5px 0;
	}

/* SP */
@media screen and (max-width: 767px) {
	.login_content__l{
		width:100%;
		padding: 0;
		margin-right: 0px;
		order: 2;
	}
	.login_content__r{
		width:100%;
		padding: 0 0 30px 0;
		border-left:none;
		border-bottom:1px solid #dedede;
		margin-bottom: 30px;
		order: 1;
	}

	.login_content__l h2,
	.login_content__r h2{
		font-size:14px;
		margin-bottom: 20px;
	}

	.login_content__l p{
		padding-top: 0px;
		font-size:13px;
		margin-bottom: 30px;
	}

	.login-tbl{
		width:auto;
		background: #ebebeb;
		padding: 20px 15px 10px;
	}
		.login-tbl table,
		.login-tbl tr,
		.login-tbl tbody,
		.login-tbl th,
		.login-tbl td{
			width:100%;
			display: block;
		}
		.login-tbl th{
			font-size:12px;
			padding: 0px 0 5px !important;
		}
		.login-tbl td{
			font-size:12px;
			padding: 0px !important;
			margin-bottom: 10px;
		}
	/*-------------*/
}



/* 04.マイページ系
----------------------------------------------------------- */
/* PC */
@media screen and (min-width: 768px) {
	body.myPage .contents {
		margin-top: 0px;
	}
	/*-------------*/
}

.mypage-finish-ttl01{
	text-align: center;
	font-size:24px;
	margin-bottom: 40px;
	margin-top: 40px;
}
.mypage-finish-ttl02{
	text-align: center;
	font-size:14px;
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom:1px solid #dedede;
}
.mypage-finish-text{
	text-align: center;
}

.no_line{
	border: none !important;
}


/* mypage-content */
#mypage-content{
	text-align: center;
	background: #ebebeb;
	border-radius: 8px;
	padding: 40px 0;
	margin-bottom: 40px;
}
	.mypage-content__list{
		margin: 30px auto 0;
		width:462px;
		display: flex;
		flex-wrap: wrap;
		justify-content:flex-start;
	}
		.mypage-content__list li{
			width:140px;
			margin-right: 20px;
			margin-bottom: 20px;
		}
		.mypage-content__list li:last-child,
		.mypage-content__list li:nth-of-type(3){
			margin-right: 0px;
		}
		.mypage-content__list li#mypage-icon-present{
			width: 100%;
			margin-bottom: 0px;
		}
			.mypage-content__list li a{
				height: 140px;
				display: block;
				border-radius:10px;
				color:#225ce3;
				font-size:16px;
				line-height: 1.4;
				letter-spacing: -1px;
			}
			#mypage-icon-user a{
				padding-top: 80px;
				background:#fff url(/images/parts/common/icon_user_blue.svg) 50% 25px no-repeat;
				background-size: 41px 41px;
			}
			#mypage-icon-order a{
				padding-top: 80px;
				background:#fff url(/images/parts/common/icon_bag_blue.svg) 50% 23px no-repeat;
				background-size: 44px 48px;
			}
			#mypage-icon-favorite a{
				padding-top: 80px;
				background:#fff url(/images/parts/common/icon_heart_blue.svg) 50% 27px no-repeat;
				background-size: 42px 36px;
			}
			#mypage-icon-present a{
				height: 100px;
				padding: 38px 0 0 100px;
				text-align: left;
				background:#fff url(/images/parts/common/icon_present.svg) 28px 50% no-repeat;
				background-size: 44px 40px;
			}
/* END mypage-content */

#mypage-name{
	font-size:24px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 25px;
}

/* mypage-barcode */
#mypage-barcode{
	margin-bottom: 40px;
}
	#mypage-barcode img{
		max-width: 200px;
	}
	#mypage-barcode p{
		line-height: 1;
		margin: 5px 0;
		font-size:14px;
	}
/* END mypage-barcode */


/* mypage-point */
#mypage-point{
	margin-bottom: 20px;
}
	#mypage-point dt{
		font-size:16px;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 10px;
	}
	#mypage-point dd{
		font-size:12px;
	}
		#mypage-point dd.mypage-point__num{
			color:#225ce3;
			font-weight: bold;
			font-size:22px;
			margin-bottom: 10px;
			line-height: 1;
			font-family: 'Open Sans', sans-serif;
		}
			#mypage-point dd.mypage-point__num strong{
				font-size:36px;
				padding: 0 5px;
			}
		
		#mypage-point dd .mypage-point__text{
			margin-bottom: 10px;
		}
		
		#mypage-point dd .mypage-point__num2{
			font-size:14px;
			font-weight: bold;
		}
			#mypage-point dd .mypage-point__num2 strong{
				font-family: 'Open Sans', sans-serif;
				color:#225ce3;
				font-size:16px;
				font-weight: bold;
			}
	
/* END mypage-point */

#mypage-text{
	font-size:14px;
	margin-bottom: 30px;
}


/* mypage-content-footer */
#mypage-content-footer{
	border-top:1px solid #dedede;
	position: relative;
	max-width: 980px;
	margin: 0 auto 60px;
}

#mypage-content-footer.card_integration_footer{
	margin-bottom: 0;
}
#mypage-content-footer.card_integration_footer ul{
	width: 100%;
	display: block;
}
#mypage-content-footer.card_integration_footer ul li{
	width: auto;
	display: block;
	margin-right: 0;
}


#mypage-content-footer__l{
	width:465px;
}
#mypage-content-footer__r{
	width:465px;
}

.mypage-content-footer__ttl{
	width: 100%;
	text-align: center;
	padding: 15px;
    background: #ebebeb;
	font-size: 20px;
    font-weight: bold;
    line-height: 1;
    margin: 50px 0 20px;
}

	#mypage-content-footer ul{
		position: relative;
		display: flex;
		flex-wrap: wrap;
	}
	#mypage-content-footer ul::after{
		content: " ";
		width:100%;
		height: 1px;
		background: #dedede;
		position: absolute;
		bottom:0px;
		left: 0;
	}
		#mypage-content-footer ul li{
			border-bottom:1px solid #dedede;
			font-size:18px;
			line-height: 1;
			width:465px;
			margin-right: 50px;
		}
		#mypage-content-footer ul li:nth-of-type(2n){
			margin-right: 0px;
		}
			#mypage-content-footer ul li a{
				position: relative;
				display: block;
				padding: 28px 30px 28px 53px;
			}
			#mypage-content-footer ul li a::after{
				position: absolute;
				top: 50%;
				right: 10px;
				margin-top: -4px;
				width: 7px;
				height: 7px;
				border-right: 1px solid #225ce3;
				border-bottom: 1px solid #225ce3;
				transform: rotate(-45deg);
				content: "";
			}

#mypage-icon-point a{
	background:url(/images/parts/mypage/icon_footer01.png) 13px 50% no-repeat;
	background-size: 21px 21px;
}
#mypage-icon-purchase a{
	background:url(/images/parts/mypage/icon_footer02.png) 13px 50% no-repeat;
	background-size: 21px 21px;
}
#mypage-icon-checkDod a{
	background:url(/images/parts/mypage/icon_footer03.png) 13px 50% no-repeat;
	background-size: 22px 18px;
}
#mypage-icon-delivery a{
	background:url(/images/parts/mypage/icon_footer04.png) 15px 50% no-repeat;
	background-size: 17px 23px;
}
#mypage-icon-point-integration a{
	background:url(/images/parts/mypage/icon_footer08.png) 13px 50% no-repeat;
	background-size: 21px 21px;
}

#mypage-icon-guide a{
	background:url(/images/parts/mypage/icon_footer05.png) 13px 50% no-repeat;
	background-size: 22px 18px;
}
#mypage-icon-mail a{
	background:url(/images/parts/mypage/icon_footer10.png) 13px 50% no-repeat;
	background-size: 22px 18px;
}
#mypage-icon-logout a{
	background:url(/images/parts/mypage/icon_footer06.png) 15px 50% no-repeat;
	background-size: 21px 20px;
}
#mypage-icon-leave a{
	background:url(/images/parts/mypage/icon_footer07.png) 15px 50% no-repeat;
	background-size: 18px 22px;
}

#mypage-icon-favoriteshop a{
	background:url(/images/parts/mypage/icon_footer09.png) 13px 50% no-repeat;
	background-size: 21px 21px;
}
/* END mypage-content-footer */


/* point-content */
#point-content{
	text-align: center;
	background: #ebebeb;
	border-radius: 8px;
	padding: 40px 0;
	margin-bottom: 60px;
}
	#point-content #mypage-point dd:nth-of-type(1){
		/*
		color:#000;
		*/
	}
#point-text a{
	color:#000;
	text-decoration: underline;
}
/* END point-content */


/* point-list */
.point-list-wrap{
	padding-top: 30px;
	
}
	.point-list{
		border-top:1px solid #dedede;
		margin-bottom: 50px;
	}
		.point-list li{
			border-bottom:1px solid #dedede;
			padding: 33px 0;
			line-height: 1;
			font-size:14px;
		}
			.point-list li table{
				width:100%;
			}
				.point-list li table th{
					width:180px;
					padding: 7px 20px 7px 0;
					text-align: left;
					font-weight: bold;
				}
				.point-list li table td{
					padding: 7px 0;
					text-align: left;
				}
/* END point-list */

#leave-textarea{
	display: none;
}

.mypage-rank-wrap{
	padding: 30px 0;
}

.mypage-rank-box{
	overflow: hidden;
	background: #fff;
	padding: 1px 15px 15px;
	margin: 10px auto;
	max-width: 450px;
}

.mypage-rank{
	max-width: 380px;
	text-align: left;
	padding: 45px 5px 45px 155px;
	margin: 0 auto;
	
	background-position: 22px 50%;
	background-repeat:no-repeat;
	background-color: #fff;
}
.mypage-rank strong{
	display: block;
	margin-bottom: 1px;
	font-size:20px;
}

.mypage-rank-desc{
	text-align: center;
	font-size: 12px;
	background: #ebebeb;
	padding: 5px;
}
.rank-about-point{
	display: block;
	text-align: center;
	font-size:12px;
	margin: 0px 0 0px;
	padding: 2px 0 5px;
}
.rank-about-point a{
	color: #225ce3;
	text-decoration: underline !important;
}

#rank-silver{
	background-image:url(/images/parts/common/rank-silver.png);
	color:#666666 !important;
}
#rank-gold{
	background-image:url(/images/parts/common/rank-gold.png);
	color:#b99c61 !important;
}
#rank-platinum{
	background-image:url(/images/parts/common/rank-platinum.png);
	color:#b2b2b2 !important;
}
#rank-diamond{
	background-image:url(/images/parts/common/rank-diamond.png);
	color:#989899 !important;
}



/* SP */
@media screen and (max-width: 767px) {
	.mypage-rank-wrap{
		padding: 0px 0 1px;
	}
	.mypage-rank{
		max-width: 300px;
		text-align: left;
		padding: 20px 5px 20px 85px;
		margin: 10px auto;

		background-position: 10px 50%;
		background-size: auto 42px;
	}
	.mypage-rank strong{
		font-size:15px;
	}
}

/* SP2 */
@media screen and (max-width: 347px) {
	.mypage-rank-desc{
		font-size: 11px;
	}
	.rank-about-point{
		font-size:11px;
	}
	/*-------------*/
}


.about-rankup{
	display: flex;
	flex-wrap: wrap;
	max-width: 460px;
	background: #fff;
	margin: 25px auto;
}
.about-rankup dt{
	text-align: center;
	width:100%;
	padding: 15px 5px;
	border-bottom:1px solid #ebebeb;
}
.about-rankup dd{
	text-align: center;
	width:50%;
	padding: 20px 5px;
	font-size:14px;
}
.about-rankup dd:last-child{
	border-left:1px solid #ebebeb;
}
.about-rankup dd span{
	display: block;
	margin-bottom: 5px;
}
.about-rankup dd strong{
	display: block;
	color: #eb0027;
	font-size:18px;
}


.form-btn-wrap.rakuten-card-btn{
	margin-bottom: 50px;
}
.form-btn-wrap.rakuten-card-btn a{
	display: block;
    border-radius: 5px;
    font-size: 14px;
    background: #225ce3;
    border: 1px solid #225ce3;
    color: #fff;
	padding: 15px;
	text-align: left;
}

.rakuten-card-entry{
	max-width: 500px;
	margin: 0 auto;
	border:1px solid #ccc;
	margin-bottom: 40px;
}
.rakuten-card-entry a{
	position: relative;
	display:flex;
	align-items: center;
	padding: 20px;
}
.rakuten-card-entry a::after {
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #225ce3;
    border-bottom: 1px solid #225ce3;
    transform: rotate(-45deg);
    content: "";
}
.rakuten-card-entry a figure{
	display: block;
	width:200px;
	line-height: 0;
}
.rakuten-card-entry a figure img{
	width:90%;
}
.rakuten-card-entry a p{
	text-align: left;
	padding-right: 20px;
}


/* SP */
@media screen and (max-width: 767px) {
	.mypage-finish-ttl01{
		font-size:17px;
		margin-bottom: 10px;
		margin-top: 0px;
	}
	.mypage-finish-ttl02{
		font-size:13px;
		margin-bottom: 25px;
		padding-bottom: 0px;
		border-bottom:none;
	}
	.mypage-finish-text{
		
	}
	
	/*-------*/
	/* mypage-content */
	#mypage-content{
		border-radius: 5px;
		padding: 25px 15px 15px;
		margin-bottom: 30px;
	}
		.mypage-content__list{
			margin: 20px auto 0;
			width:auto;
			max-width: 316px;
		}
			.mypage-content__list li{
				width:32%;
				max-width: 100px;
				margin-right: 2%;
				margin-bottom: 10px;
			}
			.mypage-content__list li:last-child,
			.mypage-content__list li:nth-of-type(3){
				margin-right: 0px;
			}
			.mypage-content__list li#mypage-icon-present{
				width: 100%;
				max-width:inherit;
			}
				.mypage-content__list li a{
					width:auto;
					height: 100px;
					border-radius:7px;
					font-size:12px;
				}
				#mypage-icon-user a{
					padding-top: 55px;
					background:#fff url(/images/parts/common/icon_user_blue.svg) 50% 18px no-repeat;
					background-size: 27px auto;
				}
				#mypage-icon-order a{
					padding-top: 55px;
					background:#fff url(/images/parts/common/icon_bag_blue.svg) 50% 17px no-repeat;
					background-size: 28px auto;
				}
				#mypage-icon-favorite a{
					padding-top: 55px;
					background:#fff url(/images/parts/common/icon_heart_blue.svg) 50% 19px no-repeat;
					background-size: 28px auto;
				}
				#mypage-icon-present a{
					height: 70px;
					padding: 17px 0 0 68px;
					text-align: left;
					background:#fff url(/images/parts/common/icon_present.svg) 20px 50% no-repeat;
					background-size: 29px auto;
				}
	/* END mypage-content */

	#mypage-name{
		font-size:18px;
		font-weight:normal;
		margin-bottom: 20px;
	}

	/* mypage-barcode */
	#mypage-barcode{
		margin-bottom: 25px;
	}
		#mypage-barcode img{
			max-width: 300px;
			width: 90%;
		}
		#mypage-barcode p{
			margin: 5px 0 0;
			font-size:14px;
		}
	/* END mypage-barcode */


	/* mypage-point */
	#mypage-point{
		margin-bottom: 0;
	}
		#mypage-point dt{
			font-size:12px;
			margin-bottom: 10px;
		}
		#mypage-point dd{
			font-size:11px;
		}
			#mypage-point dd.mypage-point__num{
				font-size:18px;
			}
				#mypage-point dd.mypage-point__num strong{
					font-size:28px;
				}
		
	/* END mypage-point */

	#mypage-text{
		font-size:13px;
		text-align: left;
	}


	/* mypage-content-footer */
	#mypage-content-footer{
		display:block;
		margin: 0 -15px 10px;
	}
	#mypage-content-footer.card_integration_footer{
		margin: 0 0px 0px;
	}
	
	#mypage-content-footer__l{
		width:auto;
	}
	#mypage-content-footer__r{
		width:auto;
		margin-top: -1px;
	}
	
	.mypage-content-footer__ttl {
		font-size: 13px;
		padding: 10px 15px;
		margin: 0;
		line-height: 1;
	}
		#mypage-content-footer ul{
			display: block;
		}
			#mypage-content-footer ul::after{
				display: none;
			}
			#mypage-content-footer ul li{
				font-size:14px;
				margin-right: 0 !important;
				width: auto !important;
			}
			
				#mypage-content-footer ul li a{
					position: relative;
					display: block;
					padding: 20px 25px 20px 45px;
				}
				#mypage-content-footer ul li a::after{
					position: absolute;
					top: 50%;
					right: 15px;
					margin-top: -4px;
					width: 7px;
					height: 7px;
					border-right: 1px solid #225ce3;
					border-bottom: 1px solid #225ce3;
					transform: rotate(-45deg);
					content: "";
				}

	#mypage-icon-point a{
		background:url(/images/parts/mypage/icon_footer01.png) 16px 50% no-repeat;
		background-size: 15px auto;
	}
	#mypage-icon-purchase a{
		background:url(/images/parts/mypage/icon_footer02.png) 16px 50% no-repeat;
		background-size: 15px auto;
	}
	#mypage-icon-checkDod a{
		background:url(/images/parts/mypage/icon_footer03.png) 15px 50% no-repeat;
		background-size: 18px auto;
	}
	#mypage-icon-delivery a{
		background:url(/images/parts/mypage/icon_footer04.png) 17px 50% no-repeat;
		background-size: 14px auto;
	}
	#mypage-icon-point-integration a{
		background:url(/images/parts/mypage/icon_footer08.png) 16px 50% no-repeat;
		background-size: 15px auto;
	}

	#mypage-icon-guide a{
		background:url(/images/parts/mypage/icon_footer05.png) 15px 50% no-repeat;
		background-size: 18px auto;
	}
	#mypage-icon-mail a{
		background:url(/images/parts/mypage/icon_footer10.png) 15px 50% no-repeat;
		background-size: 18px auto;
	}
	#mypage-icon-logout a{
		background:url(/images/parts/mypage/icon_footer06.png) 17px 50% no-repeat;
		background-size: 16px auto;
	}
	#mypage-icon-leave a{
		background:url(/images/parts/mypage/icon_footer07.png) 17px 50% no-repeat;
		background-size: 14px auto;
	}
	#mypage-icon-favoriteshop a{
		background:url(/images/parts/mypage/icon_footer09.png) 15px 50% no-repeat;
		background-size: 16px auto;
	}
	/* END mypage-content-footer */
	
	
	/* point-content */
	#point-content{
		border-radius: 5px;
		padding: 25px 15px 25px;
		margin-bottom: 20px;
	}
		#point-content #mypage-point {
			margin-bottom: 15px;
		}
	/* END point-content */


	/* point-list */
	.point-list-wrap{
		padding-top: 20px;
		margin: 0 -15px;
	}
		.point-list{
			margin-bottom: 10px;
		}
			.point-list li{
				padding: 15px 15px;
				font-size:12px;
			}
				.point-list li table{
					width:100%;
				}
					.point-list li table th{
						width:147px;
						padding: 4px 10px 4px 0;
					}
					.point-list li table td{
						padding: 4px 0;
					}
	/* END point-list */
	
	
	.about-rankup dt{
		padding: 10px 3px;
	}
	.about-rankup dd{
		padding: 15px 3px;
		font-size:12px;
	}
	.about-rankup dd:last-child{
	}
	.about-rankup dd span{
	}
	.about-rankup dd strong{
		font-size:16px;
	}
	
	
	.form-btn-wrap.rakuten-card-btn{
		padding-top: 0;
		margin-bottom: 0px;
	}
	
	.rakuten-card-entry{
		margin-bottom: 40px;
	}
	.rakuten-card-entry a{
		padding: 10px;
	}
	
	/*-------------*/
}






/* 05.LINEバーコード発行系
----------------------------------------------------------- */
.line-ttl{
	text-align: center;
	padding:40px 0 20px;
	font-size: 20px;
    font-weight: bold;
    line-height: 1;
	border-bottom:1px solid #ccc;
    margin-bottom: 20px;
}
.line-ttl02{
	text-align: center;
	padding:40px 0 20px;
	font-size: 20px;
    font-weight: bold;
    line-height: 1;
	border-bottom:1px solid #ccc;
    margin-bottom: 20px;
}

.line-box01{
	margin-top: 30px;
	background: #CFE2F2;
	padding: 0px 20px 20px;
	border-radius: 2px;
}

/* SP */
@media screen and (max-width: 767px) {
	.line-ttl{
		text-align: left;
		font-size: 13px;
		padding: 5px 15px;
		margin:20px -15px 0px;
		line-height: 1.3;
		background: #ebebeb;
		border-bottom: none;
	}
	
	.line-ttl02{
		text-align: left;
		font-size: 13px;
		padding: 5px 15px;
		margin:5px -15px 0px;
		line-height: 1.3;
		background: #ebebeb;
		border-bottom: none;
	}
	.line-box01{
		padding: 20px 15px 10px;
		margin: 20px -15px 0;
		border-radius: 0;
	}
	.line-box01 .line-ttl02{
		background: none;
		margin:0px 0px 0px;
		padding: 0;
		text-align: center;
		line-height: 1.5;
	}
	/*-------------*/
}


/* 06.会員カード統合系
----------------------------------------------------------- */

.integration-card-sample{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 30px;
}
.integration-card-sample p{
	width:440px;
	padding-bottom: 20px;
}
.integration-card-sample dl{
	width:500px;
	padding: 15px 10px 10px;
	border: solid 1px #dedede;
}
.integration-card-sample dl dt{
	font-size:14px;
	padding-left: 10px;
	font-weight: bold;
}
.integration-card-sample dl dd{
}
.integration-card-sample dl dd ul{
	display: flex;
	flex-wrap: wrap;
}
.integration-card-sample dl dd ul li{
	width:140px;
	margin:9px;
}

.integration-box{
	margin-bottom: 30px;
}
.integration-box .custom-control-description img{
	width:35px;
	margin: 0 5px;
	vertical-align: middle;
}

.form-item dd .integration-box:last-child{
	margin-bottom: 0px;
}

.integration-clear-btn {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
    display:inline-block;
    padding: 5px 10px;
    border-radius: 5px;
    border: 1px solid #225ce3;
    color: #225ce3;
    background: #ebebeb;
    font-size: 14px;
    text-align: center;
	margin-left: 25px;
	vertical-align: middle;
	font-weight: normal;
}

.integration-card-ttl{
	font-weight: bold !important;
	font-size:16px;
	margin-bottom: 10px;
}

.integration-thanks-box{
	border-bottom:1px solid #000;
	margin-bottom: 30px;
}
.form-box .form-item.integration-thanks-box dd{
	margin-bottom: 30px;
}

.integration-box_radio-box{
	padding-top: 10px;
}

/* SP */
@media screen and (max-width: 767px) {
	
	.integration-card-sample{
		display: block;
		margin-bottom: 30px;
	}
	.integration-card-sample p{
		width:auto;
		padding-bottom: 20px;
	}
	.integration-card-sample dl{
		width:auto;
		padding: 10px 10px 10px;
		border: solid 1px #dedede;
	}
	.integration-card-sample dl dt{
		font-size:13px;
		padding-left: 5px;
	}
	.integration-card-sample dl dd{
	}
	.integration-card-sample dl dd ul{
		display: flex;
		flex-wrap: wrap;
	}
	.integration-card-sample dl dd ul li{
		width:33.3%;
		margin:0;
		padding: 5px 5px 0;
	}
	
	.integration-card-ttl{
		font-size:14px;
		margin-bottom: 5px;
	}

	.integration-thanks-box{
		border-bottom:none;
		margin-bottom: 20px;
	}
	.form-box .form-item.integration-thanks-box dd{
		margin-bottom: 30px;
	}
	
	/*-------------*/
}


/* 共通上部エラー用 */
.common__cautionText {
    margin: 0 auto 40px auto;
    padding: 25px 30px;
    background: #fde5e9;
    color: #eb0027;
    line-height: 1.6;
    width: 980px;
}
/* SP */
@media screen and (max-width: 767px) {
	.common__cautionText {
		margin: 20px 15px 0px;
		padding: 14px;
		font-size: 13px;
		width:auto;
	}
	/*--------------------*/
}
/* END 共通エラー用 */


.card-image{
	padding: 15px 10px 10px;
    border: solid 1px #dedede;
	text-align: center;
	margin:0 auto 40px;
	max-width: 800px;
}

.card-image.no-line{
	border: none;
}

.card-image ul{
	display: table;
}
.card-image ul li{
	display: table-cell;
	text-align: center;
}
.card-image ul li:nth-of-type(1){
	padding-right: 30px;
}
.card-image ul li:nth-of-type(2){
	padding-right: 30px;
}

/* SP */
@media screen and (max-width: 767px) {
	.card-image{
		margin:0 auto 0px;
	}
	.card-image ul li:nth-of-type(1){
		padding-right: 15px;
	}
	.card-image ul li:nth-of-type(2){
		padding-right: 15px;
	}
	/*---------------*/
}


.faq-item{
}
.faq-item dt{
    font-size: 20px;
    font-weight: bold;
    padding-top: 10px;
    padding-bottom: 25px;
    border-bottom: 1px solid #dedede;
    margin: 0 0 20px 0;
    line-height: 1;
}
.faq-item dd{
	margin-bottom: 50px;
	line-height: 2;
}

.faq-item dd a {
    text-decoration: underline;
}
.faq-item dd strong {
	font-weight: bold;
}

/* SP */
@media screen and (max-width: 767px) {
	.faq-item{
	}
	.faq-item dt{
		font-size: 13px;
		padding: 6px 15px;
		border-bottom: none;
		margin: 0 -15px 20px -15px;
		background: #ebebeb;
	}
	.faq-item dd{
		margin-bottom: 30px;
		font-size: 13px;
	}
	/*---------------*/
}



/* 00.規約
----------------------------------------------------------- */
.contents strong {
    font-weight: bold;
}

.guide-ttl {
    font-size: 20px;
    font-weight: bold;
	padding-top: 10px;
    padding-bottom: 25px;
    border-bottom: 1px solid #dedede;
    margin: 0 0 20px 0;
    line-height: 1;
}

#user-guide-box{
	padding-bottom: 25px;
	margin-bottom: 60px;
	border-bottom:1px solid #dedede;
}

#user-guide-box.no-line {
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: none;
}
	
	#user-guide-box h3{
		font-size:16px;
		font-weight:bold;
		margin-bottom: 15px;
	}
	#user-guide-box p{
		font-size:14px;
		margin-bottom: 30px;
		line-height: 1.8;
	}
	#user-guide-box li{
		font-size:14px;
	}
	
	#user-guide-box a{
		color:#999999;
		text-decoration: underline !important;
	}
	
	#user-guide-box .guide-ph-list2{
		display: flex;
		flex-wrap: wrap;
	}

	#user-guide-box .guide-ph-list2 li{
		width:460px;
		margin: 0 60px 30px 0;
	}
	#user-guide-box .guide-ph-list2 li&:nth-of-type(2n){
		margin-right: 0;
	}
	#user-guide-box .guide-ph-list2 li p{
		margin-bottom: 10px;
	}
	#user-guide-box .guide-ph-list2 figure{
		display: block;
		text-align: center;
	}


ul.basic {
    list-style: disc;
    padding: 0 0 0 1em;
}
	ul.basic li {
		margin-bottom: 10px;
	}

ol.basic {
    list-style: decimal;
    padding: 0 0 0 1em;
}
	ol.basic li {
		margin-bottom: 10px;
	}


/* SP */
@media screen and (max-width: 767px) {
	.guide-ttl {
		font-size: 13px;
		padding: 6px 15px;
		border-bottom: none;
		margin: 0 -15px 20px -15px;
		background: #ebebeb;
	}
	
	
	#user-guide-box{
		padding-bottom: 10px;
		margin-bottom: 35px;
		border-bottom:1px solid #dedede;
	}

	#user-guide-box h3{
		font-size:14px;
		margin-bottom: 15px;
	}
	#user-guide-box p{
		font-size:13px;
		margin-bottom: 20px;
		line-height: 1.65;
	}

	#user-guide-box .guide-ph-list2{
		display: block;
	}

	#user-guide-box .guide-ph-list2 li{
		width:auto;
		margin: 0 0px 15px 0;
	}
	#user-guide-box .guide-ph-list2 li p{
		margin-bottom: 15px;
	}
	/*--------------*/
}


/* 00.******
----------------------------------------------------------- */
#limit-point-link{
	font-size:14px;
}

.limit-point-tbl{
	width:100%;
	margin: 15px 0;
}
.limit-point-tbl th{
	padding: 10px 0px 10px 10px;
	width: 1px;
	white-space: nowrap;
	color:#999;
	border-bottom:1px solid #eee;
}
.limit-point-tbl td{
	padding: 10px 10px 10px 15px;
	border-bottom:1px solid #eee;
}

.limit-point-tbl tr:last-child th{
	border-bottom:none;
}
.limit-point-tbl tr:last-child td{
	border-bottom:none;
}


.modal-option-ttl {
    line-height: 1;
    text-align: center;
    font-size: 18px;
    color: #000;
    border-bottom: 1px solid #dedede;
    padding: 20px 5px;
}

.rakuten-card-desc,
.rakuten-card-desc02{
	border:1px solid #eee;
	padding: 20px;
	font-size:12px;
}
.rakuten-card-desc p{
	margin-bottom: 20px;
}

.rakuten-card-desc02 p{
	margin-bottom: 20px;
}

.rakuten-card-desc02 p.indent{
	margin-bottom: 15px;
	text-indent: -1em;
	padding-left: 1em;
}

.rakuten-card-desc p:last-child,
.rakuten-card-desc02 p:last-child{
	margin-bottom: 0px;
}
.rakuten-card-desc02 h2{
	font-size:14px;
	font-weight: bold;
	margin-bottom: 10px;
}

.rakuten-card-desc02 .app-img{
	margin: -8px 1em 20px;
	text-align: left;
}
.rakuten-card-desc02 .app-img img{
	width: 40px;
		height: auto;
		margin: 0 2px;
}

@media screen and (max-width: 767px){
	.modal-option-ttl {
		font-size: 15px;
		border-bottom: 1px solid #dedede;
		padding: 15px 5px;
	}
	
	.limit-point-tbl th{
		padding: 5px 0px 5px 10px;
	}
	.limit-point-tbl td{
		padding: 5px 10px 5px 15px;
	}
	
	.rakuten-card-desc,
	.rakuten-card-desc02{
		padding: 10px;
		font-size:11px;
		margin: 10px 0 30px;
	}
	
	.rakuten-card-desc02 .app-img{
		margin: -10px 1em 15px;
		text-align: left;
	}
	.rakuten-card-desc02 .app-img img{
		width: 40px;
		height: auto;
		margin: 0 2px;
	}
	.rakuten-card-desc02 p.indent{
		margin-bottom: 15px;
	}
	/*-------------*/
}


/* 10.楽天Web仮カード
----------------------------------------------------------- */
body.rakutenCard{
}
body.rakutenCard #mypage-content{
	border:3px solid #bf0000;
	/*
	background: #f4f3f1;
	*/
	background: #bf0000;
}

body.rakutenCard #mypage-name,
body.rakutenCard .card-limit-text,
body.rakutenCard #mypage-barcode p,
body.rakutenCard #mypage-point dt,
body.rakutenCard #mypage-point dd,
body.rakutenCard #mypage-point dd .mypage-point__num2 strong
{
	color:#fff;
}

body.rakutenCard #mypage-point dd.mypage-point__num{
	/*
	color:#bf0000;
	*/
	color:#fff;
}
body.rakutenCard a.link_col01#limit-point-link {
    color:#fff !important;
}


body.rakutenCard .mypage-content__list li a{
	color:#bf0000;
}
body.rakutenCard #mypage-icon-user a{
	background:#fff url(/images/parts/common/icon_user_red.svg) 50% 25px no-repeat;
	background-size: 41px 41px;
}
body.rakutenCard #mypage-icon-order a{
	background:#fff url(/images/parts/common/icon_bag_red.svg) 50% 23px no-repeat;
	background-size: 44px 48px;
}
body.rakutenCard #mypage-icon-favorite a{
	background:#fff url(/images/parts/common/icon_heart_red.svg) 50% 27px no-repeat;
	background-size: 42px 36px;
}

.card-limit-text{
	margin-bottom: 15px;
	text-align: center;
}

/*
body.rakutenCard .page-flow ul li.current {
    background-color: #bf0000 !important;
}
body.rakutenCard .page-flow ul li.current::after {
    border-left-color: #bf0000 !important;
}
*/

/* SP */
@media screen and (max-width: 767px){
	body.rakutenCard #mypage-icon-user a{
		background:#fff url(/images/parts/common/icon_user_red.svg) 50% 18px no-repeat;
		background-size: 27px auto;
	}
	body.rakutenCard #mypage-icon-order a{
		background:#fff url(/images/parts/common/icon_bag_red.svg) 50% 15px no-repeat;
		background-size: 28px auto;
	}
	body.rakutenCard #mypage-icon-favorite a{
		background:#fff url(/images/parts/common/icon_heart_red.svg) 50% 19px no-repeat;
		background-size: 28px auto;
	}
	
	body.rakutenCard .integration-card-sample dl {
		width: auto;
		padding: 10px 10px 10px;
		border: none;
	}
	body.rakutenCard .integration-card-sample dl dd ul{
		justify-content: center;
	}
	body.rakutenCard .integration-card-sample dl dd ul li {
		width: 40%;
		margin: 0;
		padding: 5px 5px 0;
	}
	
	/*-------------*/
}



/* 11.お気に入り店舗
----------------------------------------------------------- */
#favorite-shop-entry,
#mystore_btn{
	background: #000 !important;
	border:1px solid #000 !important;
}

.favorite-shop-info{
	text-align: center;
	font-size:12px;
	margin: 15px 0;
}

#favorite-shop-box{
	border-top: 1px solid #dedede;
	padding-top: 30px;
}

.favorite-shop-list{
	
}
.favorite-shop-list li{
	border-bottom: 1px solid #dedede;
    padding: 33px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.favorite-shop-list li:last-child{
	border-bottom: none;
}
.favorite-shop-list__name{
	word-break: break-all;
	width:calc(100% - 200px);
}

.favorite-shop-list__name a{
	color:#225ce3;
	text-decoration: underline;
}

.favorite-shop-list__btn{
	display: flex;
	align-items: center;
}
.favorite-shop-list__btn button,
.favorite-shop-list__btn a{
	position: relative;
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	display: inline-block;
    width: 65px;
    border-radius: 5px !important;
    text-align: center;
    font-size: 16px;
    background: #ccc;
    border: 1px solid #ccc;
    color: #fff;
    height: 40px;
	margin-left: 10px;
	line-height: 1;
}

.favorite-shop-list__btn a{
	background: #225ce3;
	border: 1px solid #225ce3;
	padding-top: 11px;
	line-height: 1;
}

.favorite-shop-list__btn button.btn-delete{
	width: 40px;
}

.favorite-shop-list__btn button.btn-delete::before{
	content:"";
	position:absolute;
	display:inline-block;
	top:9px;
	left:18px;
	width:2px;
	height:20px;
	border:0;
	margin:0;
	padding:0;
	background-color:white;
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
.favorite-shop-list__btn button.btn-delete::after{
	content:"";
	position:absolute;
	display:inline-block;
	top:9px;
	left:18px;
	width:2px;
	height:20px;
	border:0;
	margin:0;
	padding:0;
	background-color:white;
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

.shop-close-text{
	display: block;
	color:#999;
}

#favorite-shop-modal__box{
	padding: 50px 10px;
}
.favorite-shop-modal__item{
	margin:0 auto 20px;
	max-width: 500px;
}

.favorite-shop-modal__item .select-type1{
	width:100%;
}

#mystore_btn_wrap{
	padding-top: 20px;
	text-align: center;
}

/* SP */
@media screen and (max-width: 767px){
	.favorite-shop-info{
		font-size:12px;
		margin: 0px 0 15px;
	}
	
	#favorite-shop-box{
		padding-top: 10px;
	}
	
	.favorite-shop-list li{
		padding: 15px 0;
	}
	.favorite-shop-list__name{
		width:calc(100% - 115px);
		line-height: 1.45;
	}
	.favorite-shop-list__btn{
		padding-left: 5px;
	}
	.favorite-shop-list__btn button{
    	width: 56px;
		font-size: 14px;
		margin-left: 5px;
		padding: 0;
	}
	.favorite-shop-list__btn a{
		width: 56px;
		font-size: 14px;
		margin-left: 5px;
		padding-top: 13px;
	}
	#favorite-shop-modal__box{
		padding: 30px 15px;
	}
	.favorite-shop-modal__item{
		margin:0 auto 10px;
	}

	#mystore_btn_wrap{
		padding-top: 20px;
	}
	
	/*-------------*/
}




/* 12.メンテナンス中
----------------------------------------------------------- */
.maintenance-text{
	margin: 120px 0 80px;
	text-align: center;
}

/* SP */
@media screen and (max-width: 767px){
	.maintenance-text{
		margin: 80px 0 60px;
	}
	
	/*-------------*/
}

/* 00.******
----------------------------------------------------------- */









