/*---------------------------
	会員共通パーツ
---------------------------*/	

.spNone { display: block !important; }
.pcNone { display: none  !important; }

@media only screen and (max-width: 840px){
    .spNone { display: none  !important; }
    .pcNone { display: block !important; }
}

@media only screen and (max-width: 640px){
    .spNone { display: none  !important; }
    .pcNone { display: block !important; }
}

.header__text {
	margin-top: 1.5em;
	text-align: center;
	font-size: 2rem;
	font-weight: 700;
	color: #051069
}

@media only screen and (max-width: 640px) {
	.header__text {
		font-size: 3.73vw
	}
}

.remindMsg{
	font-size: 1.6rem;
}

@media only screen and (max-width: 640px) {
	.remindMsg{
		font-size: 3.73vw;
	}
}
.errorMsgArea{
	color: red;
	font-weight: bold;
    text-align: center;
    white-space: pre-line;
    font-size: 1.6rem;
}

@media only screen and (max-width: 640px) {
	.errorMsgArea{
	    font-size: 3.73vw;
	}
}

.errorMsgArea.padding_top{
	padding-top: 2rem;
}


@media only screen and (max-width: 640px) {
	.errorMsgArea.padding_top{
		padding-top: 0rem;
	}
}

.errorMsgArea.padding_bottom{
	padding-bottom: 2rem;
}


@media only screen and (max-width: 640px) {
	.errorMsgArea.padding_bottom{
		padding-top: 0rem;
	}
}




/*---------------------------
	会員ログイン画面
---------------------------*/	

		.address__list.login_list{
			grid-template-columns: none;
   			margin: 10px auto 0px auto;
   		    width: 70%;
		}
		
		@media only screen and (max-width: 840px){
			.address__list.login_list{
				width: 100%;
				margin: 0px auto 0px auto;
			}
		}
		
		@media only screen and (max-width: 640px){
			.address__list.login_list{
				width: 100%;
				margin: 0px auto 0px auto;
			}
		}

/*		.login_input_area{*/
/*			margin-top: 1em;*/
/*			width: 50%;*/
/*		}*/
		
/*		@media only screen and (max-width: 840px) {*/
/*			.login_input_area {*/
/*				margin-top: 0.5em;*/
/*				width: 70%;*/
/*			}*/
/*		}*/
		
/*		@media only screen and (max-width: 640px) {*/
/*			.login_input_area {*/
/*				margin-top: 0.5em;*/
/*				width: 90%;*/
/*			}*/
/*		}*/

		.settingBtnWrap{
			border: none;
			margin-top: 30px;
		}

		.noBorderBtnWrap {
			border: none;
			margin-top: 30px;
		}
		
		@media only screen and (max-width: 640px){
			.noBorderBtnWrap {
			    border: none;
			    padding-top: 0;
			    margin-top: 4vw;
			}
		}

		.withTopBorderBtnWrap {
			padding-top: 40px;
			margin-top: 30px;
			border-top: #ccc 1px solid;
		}
		
		@media only screen and (max-width: 640px){
			.withTopBorderBtnWrap {
			    border: none;
			    padding-top: 0;
			    margin-top: 4vw;
			}
		}
		
		.loginBtn{
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			background: #e5e6f0;
			border-radius: 100px;
			font-family: "Noto Sans JP", sans-serif;
			font-size: 1.8rem;
			font-weight: 700;
			color: #060d43;
			cursor: pointer;
			line-height: 1;
			padding: 1em;
			position: relative;
			transition: opacity .2s ease;
			width: 77.33vw;
			max-width: 380px;
			margin: 0 auto;
			display: flex;
			flex-wrap: nowrap;
			justify-content: center;
			align-items: center;
			height: 60px;
			line-height: 54px;
			text-decoration: none;
		}
		
		.loginBtn::after {
			content: "";
		    background: none;
		    width: 8px;
		    height: 8px;
		    border-right: 2px solid;
		    border-bottom: 2px solid;
		    position: absolute;
		    top: 50%;
		    right: 30px;
		    transform: translateY(-50%) rotate(-45deg);
		    pointer-events: none;
		}
		
		.submitBtnWrap{
			border: none;
    		margin-top: 20px;
		}
		
   		@media only screen and (max-width: 640px){
			.submitBtnWrap{
				border: none;
    			margin: 20px;
			}
		}
		
		.underBtnWrap {
			margin-top: 40px;
   		}
   		
   		@media only screen and (max-width: 640px){
			.underBtnWrap{
				margin-top: 5.33vw;
    			border-top: #ccc 1px solid;
    			border-bottom: #ccc 1px solid;
			    padding: 4vw 0;
			}
		}
		
		.registerBtn{
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			background: #ffc46f;
			border: #fff 3px solid;
			border-radius: 100px;
			filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.49));
			font-family: "Noto Sans JP", sans-serif;
			font-size: 1.8rem;
			font-weight: 700;
			color: #060d43;
			cursor: pointer;
			position: relative;
			transition: opacity .2s ease;
			width: 77.33vw;
			max-width: 380px;
			margin: 0 auto;
			display: flex;
			flex-wrap: nowrap;
			justify-content: center;
			align-items: center;
			height: 60px;
			line-height: 54px;
			text-decoration: none;
		}
		
		.registerBtn::after {
			content: "";
		    background: none;
		    width: 8px;
		    height: 8px;
		    border-right: 2px solid;
		    border-bottom: 2px solid;
		    position: absolute;
		    top: 50%;
		    right: 30px;
		    transform: translateY(-50%) rotate(-45deg);
		    pointer-events: none;
		}
		
		@media only screen and (max-width: 840px){
			.registerBtnWrap {
			    border: none;
			    padding-top: 0;
			    margin-top: 0vw;
			    border-top: #ccc 1px solid;
	    		border-bottom: #ccc 1px solid;
	    		padding: 4vw 0;
			}
		}
		
		
		@media only screen and (max-width: 640px){
			.registerBtnWrap {
				border: none;
				padding-top: 0;
			    margin-top: 5.33vw;
			}
		}
		
		@media only screen and (max-width: 640px) {
			.loginBtn, .registerBtn {
				height: 10.67vw;
				line-height: calc(10.67vw - 6px);
			    font-size: 4.27vw;
			}
		}
		
		.selectArea {
		    background: #f0f0f0;
		    border-radius: 10px;
		    width: 100%;
		    font-size: 1.8rem;
		    padding: 0;
		    position: relative;
		}
		
		@media only screen and (max-width: 840px){
			.selectArea {
		    	border-radius: 1.33vw;
		    	width: auto;
		    }
		}
		
		@media only screen and (max-width: 640px){
			.selectArea {
		    	border-radius: 1.33vw;
		    	width: auto;
		    }
		}
		
		.selectArea:after {
			content: "";
			width: 8px;
			height: 8px;
			border-right: #060d43 2px solid;
			border-bottom: #060d43 2px solid;
			position: absolute;
			top: 50%;
			right: 20px;
			transform: translateY(-50%) rotate(45deg);
			pointer-events: none
		}

/*---------------------------
	会員情報入力画面
---------------------------*/	

		.member_input_label_area{
			font-size: 1.6rem;
			font-weight: 700;
			color: #051069;
			padding: 1em 0em 0em;
		}
		
		@media only screen and (max-width: 840px){
			.member_input_label_area{
				margin-top: 0;
				padding: 0.5em 0em 0em;
			}
		}
		
		@media only screen and (max-width: 640px){
			.member_input_label_area{
				margin-top: 0;
				font-size: 3.73vw;
				padding: 0.5em 0em 0em;
			}
		}
		
		.password-wrapper{
		    width: 270px;
		    position: relative;
		}
		
		@media only screen and (max-width: 840px){
			.password-wrapper {
		    	border-radius: 1.33vw;
		    	width: auto;
		    }
		}
		
		@media only screen and (max-width: 640px){
			.password-wrapper {
		    	border-radius: 1.33vw;
		    	width: auto;
		    }
		}
		
		.password-wrapper input[type=password]{
			padding-right: 4rem;
		}
		
		.inputArea {
		    background: #f0f0f0;
		    border-radius: 10px;
		    width: 100%;
		    font-size: 1.8rem;
		    padding: 0;
		    position: relative;
		}
		
		@media only screen and (max-width: 840px){
			.inputArea {
		    	border-radius: 1.33vw;
		    	width: auto;
		    }
		}
		
		@media only screen and (max-width: 640px){
			.inputArea {
		    	border-radius: 1.33vw;
		    	width: auto;
		    }
		}
		.inputArea input[type=text] {
			background: #f0f0f0;
			width: 100%;
			font-size: 1.6rem;
		    color: #060d43;
		    outline: 0;
		    cursor: pointer;
		    padding: 1.5em;
		    box-sizing: border-box;
		}
		
		.inputArea input[type=number] {
			background: #f0f0f0;
			width: 100%;
			font-size: 1.6rem;
		    color: #060d43;
		    outline: 0;
		    cursor: pointer;
		    padding: 1.5em;
		    box-sizing: border-box;
		}
		
		 @media only screen and (max-width: 640px){
			.inputArea input[type=text] {
				border-radius: 1.33vw;
				padding: 1.25em;
			    font-size: 3.73vw;
			}
		}
		.selectArea select {
			width: 100%;
			font-size: 1.6rem;
/*		    font-weight: 700;*/
		    color: #060d43;
		    outline: 0;
/*		    text-align: center;*/
		    cursor: pointer;
		    padding: 1.5em;
		    box-sizing: border-box;
		}
		
		 @media only screen and (max-width: 640px){
			.selectArea select {
				border-radius: 1.33vw;
				padding: 1.25em;
			    font-size: 3.73vw;
			}
		}
		
		.passwordToggleIcon{
			position: absolute;
		    right: 10px;
		    top: 50%;
		    transform: translateY(-50%);
		    cursor: pointer;
		}
	
		.favoriteShopRadio{
			display: grid;
			grid-template-columns: 1fr;
			gap: 0;
   		}
   		
		.favoriteShopRadio input[type=radio]+label{
			padding: 1.25em 1.5em;
			margin-bottom:10px;
		    font-size: 1.6rem;
		    background: #f0f0f0;
		    border-radius: 10px;
		    border: #d8d8d8 1px solid;
		    color: #000;
		    cursor: pointer;
		    max-width: 100%;
		    transition: opacity .2s ease;
		    display: block;
   		}
  
   		@media only screen and (max-width: 640px){
			.favoriteShopRadio input[type=radio]+label{
				border-radius: 1.33vw;
    			padding: 1.25em;
    			font-size: 3.73vw;
	   		}
		}
   		
   		.favoriteShopRadio input[type=radio]:checked+label {
		    background: #ffc46f;
		    border-color: #ffc46f;
		}
		
		.favoriteShopAddresss{
			font-size: 1.6rem;
		}
		
		 @media only screen and (max-width: 640px){
			.favoriteShopAddresss{
    			font-size: 2.5vw;
			}
		}
		
		dt.margin0 {
			margin:0px;
		}


/*---------------------------
	会員情報入力確認画面
---------------------------*/	

	.confirm__list input[type="password"],input[type="text"] {
	    font-size: 1.6rem;
	    font-weight: 700;
	    line-height: 1.5;
	    background-color: transparent;
	}
	
/*	.confirm__list .passwordToggleIcon{*/
/*		position: absolute;*/
/*	    right: 250px;*/
/*	    transform: translateY(25%);*/
/*	    cursor: pointer;*/
/*	}*/
	
/*---------------------------
	クレジットカード情報編集画面
---------------------------*/	
		
	.cardSettingBtn{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: #ffc46f;
		border: #fff 3px solid;
		border-radius: 100px;
		filter: drop-shadow(0 4px 5px rgba(0, 0, 0, 0.49));
		font-family: "Noto Sans JP", sans-serif;
		font-size: 1.8rem;
		font-weight: 700;
		color: #060d43;
		cursor: pointer;
		position: relative;
		transition: opacity .2s ease;
		width: 77.33vw;
		max-width: 380px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		height: 60px;
		line-height: 54px;
		text-decoration: none;
		margin: 0 auto;
	}
	
	.cardSettingBtn::after {
		content: "";
	    background: none;
	    width: 8px;
	    height: 8px;
	    border-right: 2px solid;
	    border-bottom: 2px solid;
	    position: absolute;
	    top: 50%;
	    right: 30px;
	    transform: translateY(-50%) rotate(-45deg);
	    pointer-events: none;
	}
	
	.cardSettingBtnWrap {
		margin-top: 30px;
    	margin-bottom: 30px;	
    }
		
		
	@media only screen and (max-width: 640px){
		.cardSettingBtnWrap {
		    border: none;
		   	margin-top: 0px;
		    padding-top: 0;
    		padding: 4vw 0;
		}
	}
	
	@media only screen and (max-width: 640px) {
	.cardSettingBtn {
		margin: 0 auto;
	}
	}
		
	@media only screen and (max-width: 840px) {
		.cardSettingBtn {
			margin: 0 auto;
		}
	}
	
	.cardSettingBackBtnWrap {
		margin-top: 30px;
    	margin-bottom: 30px;	
    }
		
	
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0; /* ボタンのマージンを0に設定 */
}