@charset "Shift_JIS";

/**====================
///// カート明細票 /////
====================**/


section > header {
	background-color: var(--mainthema-background-color);
	color: #fff;
	border-color: #000;
	line-height: 18px;
	padding: 5px 0;
}

#CartItemized {
	margin: 0 0 20px 0;
}

#CartItemized article {
	border: none;
	margin: 10px 0;
	padding: 0;
	overflow:hidden;
}

#CartItemized article > .c_itemized_line {
	border: 1px solid #ccc;
	border-radius: 5px;
	box-shadow: 0 0 4px #ccc;
	margin-bottom: 10px;
	background-color: rgba(var(--mainthema-background-rgb), 0.1);
}


/* tableブロック */
/*
#CartItemized form {
	display: table;
}

#CartItemized .c_column {
	display: table-cell;
}
*/

.c_itemized_line {
	width: 100%;
}

/* 明細票タイトル */

#CartItemized > header {
	border: none;
	padding: 0;
	color: #fff;
	line-height: 25px;
	border-radius: 5px;
}


/* 明細票[商品名] */

.c_itemname {
	padding: 5px 10px;
}

.c_itemname > header {
	border: none;
	background: none;
	border-bottom: 1px dashed #ccc;
	padding: 10px;
	margin: 0 10px;
}

.c_itemname > * {
	border-bottom: 1px dashed var(--mainthema-background-color);
	padding: 10px;
	margin: 0 10px;
}

.c_itemname > *:last-child {
	border-bottom: none;
}
.c_itemname > * a.itemlink {
	display: grid;
	grid-template-columns: 70px auto;
	gap: 10px;
}
.c_itemname > * a.itemlink .item_image {
/*	display: table-cell;
	vertical-align: top;
	padding-right: 10px;
	width: 60px;	*/
}
.c_itemname > * a.itemlink .item_name {
/*	display: table-cell;
	vertical-align: top;
    text-decoration: underline;	*/
}
.c_itemname > dl {
	padding-top:5px;
	padding-bottom:5px;
	list-style: disc;
	padding-left: 26px;
}
.c_itemname > dl dt{
	font-weight:bold;
	margin-top:5px;
	display:list-item;
}
.c_itemname > dl dd {
	margin-left:0.5em;
	margin-bottom:5px;
	word-break: break-word;
}


/* 明細票[単価] */

.c_price {
	padding: 0 5px;
	text-align: right;
	vertical-align: middle;
}


/* 明細票[数量] */

.c_kazu {
	vertical-align: middle;
	padding-right: 5px;
	display:table-cell;
}

.c_kazu_input {
	vertical-align: middle;
	width: 50%;
	display:table-cell;
}

.c_kazu_input .kazu_gen,
.c_kazu_input .kazu_zou {
	display: block;
	margin: 0 auto;
}

.c_numeric {
	padding: 0 5px;
	vertical-align: middle;
}

.c_numeric p {
	text-align: right;
}


/* 明細票[小計] */

.c_kei {
	vertical-align: middle;
}

.c_kei p {
	text-align: right;
}

.c_shoukei {
	vertical-align: middle;
	padding: 5px;
}


/* 明細票[削除] */

/*
.c_delete {
	padding: 5px 10px;
	text-align: center;
	vertical-align: middle;
}
*/

/* .c_col_[number] */

.c_col_1 {
	width: auto;
}

.c_col_2 {
	width: 90px;
}

.c_col_3 {
	width: 40px;
}

.c_col_4 {
	width: 100px;
	padding: 0 10px;
}

.c_col_2 > p,
.c_col_3 > p,
.c_col_4 > p {
	text-align: center;
}

.c_itemized_title li {
	padding: 0;
}

.subjectName {
	padding: 0 10px 0 10px;
	text-align: right;
}

.subjectSum {
	padding: 0 10px 0 10px;
	text-align: right;
	width: 140px;
}

.MODEcart .c_col_3 {
	width: 80px;
}

.MODEcart .c_col_4 {
	padding-right: 10px;
	width: 140px;
}


/* 数量ボタン */

.c_kazu_input a {
	width: 22px;
	line-height: 22px;
	font-size: 11px;
	padding: 0;
}

.c_delete a {
	font-size: 14px;
}

#CartItemized header p {
	color:#666;
}
#CartItemized .c_itemized_line {
	display: block;
	position: relative;
}

#CartItemized .c_itemname {
	min-height: 242px;
	width: 65%;
}
#CartItemized .c_itemname img{
	/* width: auto;
	max-width: 100%; */
}
#CartItemized .c_itemname .preorder_mark{
	font-size: 1.2em;
	color: red;
	font-weight: bold;
	background-color: white;
	border-radius: 5px;
	border: 2px solid red;
	display: grid;
	width: 70px;
	height: 24px;
	place-items: center;
	margin-bottom: 7px;
	margin-left: -10px;
}

#CartItemized .price_box {
	border: 1px solid #ccc;
	border-radius: 5px;
	box-shadow: 0 0 4px #ccc;
	display: block;
	padding: 10px;
	background-color: #fff;
}

#CartItemized .price_box dl {
	overflow:hidden;
}


#CartItemized .price_box dl:nth-child(2) {
	border-top: 3px double #ccc;
}

#CartItemized .price_box dl:last-child dt {
	font-weight: bold;
}

#CartItemized .price_box dl:last-child dd,
#CartItemized .price_box dl:nth-child(2) dd,
#CartItemized .price_box p {
	border: none;
	font-weight: bold;
	text-align: right;
	white-space: nowrap;
}

#CartItemized .price_box dt,
#CartItemized .price_box dd {
	line-height: 30px;
}

#CartItemized .price_box dt {
	clear: both;
	float: left;
	font-size: 12px;
}

#CartItemized .price_box dd {
	float: right;
	display:table;
	text-align:right;
	font-weight:bold;
	font-size: 1.4em;
}
#CartItemized .price_box dd > .tax {
	display: block;
	font-size: 12px;
	line-height: 20px;
	font-weight: normal;
}
#CartItemized .price_box dd.unsettled {
	font-size : 12px;
	color : #aaa;
}

#CartItemized .c_itemprice {
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 10px 20px;
	width: 300px;
}

#CartItemized .c_totalprice {
	float: right;
	margin: 10px 20px;
	width: 300px;
	clear: both;
}


/**====================
///// カート関連 /////
====================**/

.editmsg {
	color: #f00;
	font-size: 15px;
	font-weight: bold;
	margin: 10px;
	overflow: hidden;
	text-align: center;
	padding: 30px 0;
}


/* order1 */

#CartShopSelect {
	text-align: center;
	margin-bottom: 10px;
}

#CartShopSelect > article {
	background-color: #f6f6f6;
}

.shop_select {
	display: inline-block;
	margin: 5px 0;
}

.shop_select + p {
	font-weight: bold;
}


/* ポイント */

#P_Use {
	background-position: 2%;
	padding-right: 0.5em;
	text-align: right;
}

#P_Use_on + label,
.use_point > p > span {
	color: #6495ed;
}

#PointIn {
	border-bottom: 1px solid #ccc;
	margin: 10px 0;
	padding: 10px 0 20px;
	clear: both;
}

#PointIn > p {
	font-size: 12px;
	text-align: center;
}

#PointIn > p:nth-child(4) {
	color: #f00;
}

#PointIn > p:nth-child(5) {
	text-align: left;
	color: #f00;
	margin-top: 10px
}

#PointIn > p:nth-child(2) {
	color: #f00;
	font-size: 20px;
	margin: 10px 0;
}

#PointUseForm,
#PointUseForm_alert {
	max-width: 500px;
}

.use_point {
	width: 100%;
}

.use_point > p {
	font-size: 12px;
	font-weight: normal;
}

.use_point > p:last-child {
	color: #f00;
	font-size: 12px;
	text-align: left;
}


/* お支払い方法 */


/* CartLoginMember */

#CartLoginMember .c_col_1 {
	vertical-align: middle;
	width: 230px;
}

#CartLoginMember .c_member_col {
	display: table-cell;
}

#CartLoginMember .c_member_line {
	border-top: 1px solid #ccc;
	display: table;
	margin: -1px;
	min-height: 3.5em;
	padding: 10px;
	width: 100%;
}

#CartLoginMember .login_order ul li {
	display: inline-block;
	margin-right: 10px;
	vertical-align: top;
}

#CartLoginMember .login_order ul li p.pass_forget {
	font-size: .8em;
}

#CartLoginMember .login_order ul li p.pass_forget a,

/* CartPayment */

#CartPayment #cHowPay_select {
	display: block;
	height: 40px;
	margin: 0 auto;
	width: 250px;
}

#CartPayment {
	clear:both;
	margin-bottom: 20px;
}

#CartPayment > article {
/*	background-color: #f6f6f6;	*/
}

#CartPayment article > div {
/*
	border: 1px solid #ccc;
	border-radius: 5px;
	box-shadow: 0 0 4px #ccc;
	padding: 10px;
	width: 100%;
	background-color: #fff;
*/
}

#CartPayment .about_payment .payment_title,
#CartPayment .about_payment input[type="radio"] + label {
	padding: 5px 10px;
	font-weight: bold;
	font-size: 16px;
	background: #f5f5f5;
	border: 1px solid #ccc;
	border-left: 7px solid var(--mainthema-background-color);
	text-align: left;
	width: 100%;
	box-sizing: border-box;
	box-shadow: 1px 1px 2px #000;
	transition-property: background-color, border-color;
	-webkit-transition-property: background-color, border-color;
	-moz-transition-property: background-color, border-color;
	-o-transition-property: background-color, border-color;
	-ms-transition-property: background-color, border-color;
}

#CartPayment .about_payment input[type="radio"] + label > span {
	border: none;
	transition-property: color, text-shadow;
	-webkit-transition-property: color, text-shadow;
	-moz-transition-property: color, text-shadow;
	-o-transition-property: color, text-shadow;
	-ms-transition-property: color, text-shadow;
}

#CartPayment .about_payment input[type="radio"]:checked + label {
	border-color: #f00;
	outline: 1px solid #f00;
}

#CartPayment .about_payment input[type="radio"]:checked + label > span {
	border-color: #f00;
	text-shadow: 1px 1px 1px #ccc;
}

#CartPayment .about_payment input[type="radio"] + label:hover > span {
	text-shadow: 1px 1px 1px #000;
	color: #fff;
}

#CartPayment .about_payment input[type="radio"] + label:hover {
	background-color: #ccc;
}

#CartPayment .about_payment .payment_title > span {
	font-size: 11px;
	float: right;
	width: 220px;
	text-align: right;
}

#CartPayment .about_payment .payment_explanation {
	text-align: left;
	padding: 10px;
}

#CartPayment label {
	font-weight: bold;
	margin: 10px 0;
	text-align: center;
}

#CartPayment label > span {
	display: inline-block;
}

#CartPayment .blinking {
	background-color: #f00;
	background: -ms-linear-gradient(top, #ff6161, #af0000);
	background: -moz-linear-gradient(top, #ff6161 0%, #af0000);
	background: -webkit-gradient(linear, left top, left bottom, from(#ff6161), to(#af0000));
	background: linear-gradient(to bottom, #ff6161, #af0000);
	color: #ffffff;
	-webkit-animation: blink 1.5s ease-in-out infinite alternate;
	-moz-animation: blink 1.0s ease-in-out infinite alternate;
	animation: blink 1.0s ease-in-out infinite alternate;
}

#CartPayment .blinking > option {
	color: #000;
}

/* 吹き出し */
.arrow_box_wrap {
	margin:20px 0;
}

.arrow_box {
	position: relative;
	background: #ffe;
	border: 4px solid #f00;
	font-size: 18px;
	font-weight: bold;
	padding: 10px;
	float: left;
	border-radius: 10px;
	color: #f00;
	text-shadow: 1px 1px 0 #000;
}

.arrow_box:after,
.arrow_box:before {
	top: 100%;
	left: 20%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.arrow_box:after {
	border-color: rgba(210, 213, 166, 0);
	border-top-color: #ffe;
	border-width: 15px;
	margin-left: -15px;
}

.arrow_box:before {
	border-color: rgba(245, 24, 24, 0);
	border-top-color: #f00;
	border-width: 21px;
	margin-left: -21px;
}

#CartPayment .about_payment .payment_title {
	border: none;
	padding: 0;
}

#CartPayment .about_payment .payment_title > a {
	display: block;
	padding: 5px;
	position: relative;
	width: 100%;
	border-left: 30px solid var(--mainthema-background-color);
	position: relative;
}

#CartPayment .about_payment .payment_title > a:before {
	content: "";
	display: block;
	background-color: #fff;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	position: absolute;
	left: -25px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 100;
	border: 2px solid #000;
}

#CartPayment .about_payment .payment_title > a:after {
	content: "";
	display: none;
	background-color: #f00;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	position: absolute;
	z-index: 101;
	top: 0;
	bottom: 0;
	left: -20px;
	margin: auto;
}

#CartPayment .about_payment .payment_title.selected > a {
	background-color: #f00;
	color: #fff;
}

#CartPayment .about_payment .payment_title.selected > a:after {
	display: block;
}

#CartPayment .about_payment .payment_title > a > span {
	display: inline-block;
	font-size: 11px;
	padding: 0 5px;
}

#CartPayment .about_payment .payment_title.selected > a > #conviniNameTxt:before {
	content: "コンビニ選択："
}

#CartPayment #ConviniNameSelectList {
	max-width: 500px;
}


/* CartStep2 */

div#CartStep2 {
	display: table;
	width: 100%;
	margin: 20px 0;
	table-layout: fixed;
}

div#CartStep2 > div {
	display: table-cell;
	text-align: center;
	position: relative;
	padding: 10px;
	color: #fff;
	background-color: #ccc;
	border: 2px solid #ccc;
	box-sizing: border-box;
	font-weight: bold;
	text-shadow: 0 0 2px #000;
}
div#CartStep2 > div .cart_steo_txt {
	display:inline-block;
	color:#fff;
}

div#CartStep2 > div.nowstep {
	background-color: var(--mainthema-background-color);
	border-color: var(--mainthema-background-color);
	color: #fff;
	text-shadow: none;
}

div#CartStep2 > div.nowstep > .cart_steo_txt {
	line-height: 20px;
}

div#CartStep2 > div > .cart_steo_txt:after {
	content: "≫";
	position: absolute;
	right: -25px;
	width: 50px;
	text-align: center;
	font-size: 30px;
	color: #fff;
	text-shadow: 0px 0px 2px #000;
	z-index: 1;
	line-height: 26px;
	height: 30px;
	top: 0;
	bottom: 0;
	margin: auto 0;
}

div#CartStep2 > div:last-child > .cart_steo_txt:after {
	display: none;
}

div#CartStep2 > div span {
	display: inline-block;
	margin-right: .5em;
}
div#CartStep2 > div> a.cart_steo_txt:hover {
    color: #00BCD4;
	text-shadow: none;
}

/* CartStep */
#CartStepButton {
	margin:50px 0;
}
#CartStepButton ul {
	display: table;
	table-layout: fixed;
	border-spacing: 10px 0;
	margin: 0 auto;
}

#CartStepButton ul li{
	display: table-cell;
	border:1px solid #ccc;
}

#CartStepButton a {
	display: block;
	line-height: 25px;
	padding: 10px 20px;
	text-align: center;
	width: 100%;
	min-width: 150px;
}

#CartStepButton a:hover {
	background-color: var(--mainthema-background-color);
	color: #fff;
}
/*
#MainWrap #MainUserMenu {
	margin: 10px;
	text-align: left;
}

#MainWrap #MainUserMenu dd a {
	text-decoration: underline;
}

#MainWrap #MainUserMenu dd:before {
	content: "-";
	margin: 0 5px;
}
*/


/* 注意書き用 */

#MainWrap .attention_txt {
	color: #f00;
	font-size: .8em;
	padding-left: 3em;
	text-indent: -3em;
}


/* ※付き補足用 */

#MainWrap .supplementary_txt {
	font-size: .8em;
	padding-left: 1em;
	text-indent: -1em;
}


/* 強調用 */

#MainWrap .str_txt {
	font-weight: bold;
}


/* 小タイトル */

#MainWrap .syo_t_la {
	background-color: var(--mainthema-background-color);
	border-radius: 5px;
	color: #fff;
	text-align: center;
	padding: 6px 10px;
	display: block;
}


/* 郵便番号 */

#BillZip_text,
#ShipZip1_text {
	width: 100px;
	float: left
}

#BillZip2_text,
#ShipZip2_text {
	width: 120px;
	float: left;
}

#BillZip_text + span,
#ShipZip1_text + span {
	display: block;
	float: left;
	font-size: 18px;
	padding: 0 5px;
	line-height: 38px;
}

#BillAddPref_select {
	width: 110px;
	line-height: 40px;
}

#BillAddPref_select,
#C_ship_AddPref + span {
	display: block;
	margin-bottom: 10px;
}


/* MODEorder1全体 */

#CartSection{
/*	max-width:600px;	*/
	margin:0 auto;
	margin-bottom: 10px;
	font-size: 1.2em;
}

#CartSection > header {
	color: var(--mainthema-background-color);
	font-size:1.4em;
	background:none;
	border-width:1px 0;
	padding:20px 0;
}

 #CartSection > article {
/*
	overflow: hidden;
	background-color: #f6f6f6;
*/
	border:none;
	padding:0;
}


/* 郵便番号検索リンク */

#ZipChe {
	display: block;
	float: left;
	margin-left: 10px;
	line-height: 40px;
}


/* selectタグ */

/*
.MODEorder1 select {
	height: 40px;
	float: left;
	width: 100%;
}
*/

/* CartBill専用 */

#CartBill .C_bill_Msg_la {
	display: block;
	float: right;
	background-color: #999;
	color: #fff;
	border-radius: .5em;
	font-size: .8em;
	margin-bottom: 5px;
	padding: 2px 5px;
}


/* メールアドレス確認ボタン */

#AddrChe {
	float: right;
	margin: 10px;
}


/* リセットボタン配置 */

.reset_btn_wp {
	padding-bottom: 10px;
}

.reset_btn_wp a {
	float: right;
	margin-right: 10px;
}


/* CartBill CartShipデザイン */
/*
.ship_1 {
	-moz-transition-duration: 0.5s;
	-moz-transition-property: all;
	-ms-transition-duration: 0.5s;
	-ms-transition-property: all;
	-o-transition-duration: 0.5s;
	-o-transition-property: all;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-property: all;
	background-color: #fff;
	float: left;
	margin: 10px;
	overflow: hidden;
	transition-duration: 0.5s;
	transition-property: all;
	width: 45%;
}

.ship_2 {
	-moz-transition-duration: 0.5s;
	-moz-transition-property: all;
	-ms-transition-duration: 0.5s;
	-ms-transition-property: all;
	-o-transition-duration: 0.5s;
	-o-transition-property: all;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-property: all;
	background-color: #fff;
	float: right;
	margin: 10px;
	overflow: hidden;
	transition-duration: 0.5s;
	transition-property: all;
	width: 50%;
}

.ship_2 > dd {
	border: none!important;
}
*/
.ship_2.input_ul,
.bill_1.input_ul{
	border: none;
	box-shadow: none;
	padding:0;
}
/*
.bill_1 {
	background-color: #fff;
	float: left;
	margin: 10px;
	width: 50%;
}
.bill_2 {
	background-color: #fff;
	float: right;
	margin: 10px;
	width: 45%;
}

.bill_1 > li > label > input[name="zip1"],
.bill_1 > li > label > input[name="zip2"],
*/
.ship_2 > li > label > input[name="Hzip1"],
.ship_2 > li > label > input[name="Hzip2"] {
	float: left;
	width: 100px;
}

.bill_1 > li > label > input ~ span,
.ship_2 > li > label > input ~ span {
	float: left;
	line-height: 38px;
	margin: 0 10px;
}

	.orderer_info_t { font-weight:bold; }
	.orderer_info_p { padding-left: 10px; display: grid; width: 100%; }
	.orderer_info_p > p { display:flex; gap:0 5px; }
	.orderer_info_p:last-child { margin-bottom:0; }


.ForeignCountries .input_ul > .input_furigana,
.ForeignCountries .input_ul > .input_zip span,
.ForeignCountries .input_ul > .input_zip span ~ input,
.HongKong .input_ul > .input_zip,
.ForeignCountries .input_ul > .input_zip .addsearch_btn,
.ForeignCountries .input_ul > .input_pref select,
.ForeignCountries .input_ul > .input_Hfurigana,
.ForeignCountries .input_ul > .input_Hzip #ZipChe,
.ForeignCountries .input_ul > .input_Hzip input[name="Hzip1"] ~ span,
.ForeignCountries .input_ul > .input_Hzip input[name="Hzip2"],
.ForeignCountries .input_ul > .input_Hcountry,
.ShipOFF .input_ul > .input_country,
.ShipOFF .input_ul > .input_name,
.ShipOFF .input_ul > .input_furigana,
.ShipOFF .input_ul > .input_zip,
.ShipOFF .input_ul > .input_pref,
.ShipOFF .input_ul > .input_add,
.ShipOFF .input_ul > .input_tel {
	display: none;
}

.input_ul > .input_pref input[type="text"] {
	display: none;
}

.ForeignCountries .input_ul > .input_pref input[type="text"] {
	display: block;
}

.ship_2.ShipOFF > li:first-child {
	border: none;
}

.ForeignCountries .input_ul > .input_zip input[name="zip1"],
.ForeignCountries .input_ul > .input_Hzip input[name="Hzip1"] {
	width: 100%;
}

#ShipTypeUL,
#DeliveryCompany,
#PaypalAboutUL{
	display:flex;
	gap:0 20px;
}


#CartShip.hideON dl.ship_1 {
	width: 100%;
	border: none;
	margin: 0;
}

#CartShip.hideON dl.ship_2 {
	visibility: hidden;
	width: 0;
	height: 0;
	margin: 0;
	padding: 0;
	border: none;
}

#DeliveryMethod_radio2 ~ div {
	font-size: 12px;
	overflow: hidden;
	visibility: hidden;
	height: 0;
	padding: 0 5px;
	border: 1px solid #ccc;
	/* アニメーション */
	transition-property: all;
	-webkit-transition-property: all;
	-moz-transition-property: all;
	-o-transition-property: all;
	-ms-transition-property: all;
	transition-duration: 0.5s;
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	-ms-transition-duration: 0.5s;
}

#DeliveryMethod_radio2:checked ~ div {
	padding: 5px;
	height: 200px;
	visibility: visible;
	overflow-y: scroll;
	background-color: #fff;
}

.ship_2 .billform_copy {
	margin-top: 20px;
	float: left;
}

.ship_2 .billform_copy a {
	float: right;
	width: 100%;
}

.ship_2 #ShipCheckBox + label {
	float: right;
}

@media screen and (max-width: 768px) {
	#ShipTypeUL,
	#PaypalAboutUL{
		display: grid;
		gap: 10px;
	}
}

/** order3 **/

.MODEorder3 strong {
	font-weight: bold;
	color: #f00;
}

#MainWrap .syo_t_la:target {
	background-color: limegreen;
}

#CartComptxtWrap {
	text-align: center;
	padding: 10px;
}

#CartComptxtWrap > p:not(:last-child),
#CartComptxtWrap > ul:not(:last-child) {
	margin: 0 auto 40px auto;
}


.top_bk_btn {
	text-align: center;
	padding-bottom: 20px;
}

#PleaseWrap {
	border: 1px solid #ccc;
	margin: 20px 0;
}

#PleaseWrap .please_1,
#PleaseWrap .please_2,
#PleaseWrap .please_3,
#PleaseWrap .please_4 {
	margin: 20px 0;
	width: 49%;
	padding: 0 10px;
}


/* float */

#PleaseWrap .please_1,
#PleaseWrap .please_3 {
	float: left;
}

#PleaseWrap .please_2,
#PleaseWrap .please_4 {
	float: right;
}


/* clear */

#PleaseWrap .please_3 {
	clear: both;
}


/* 内装 */

#PleaseWrap .please_1 > p,
#PleaseWrap .please_2 > p,
#PleaseWrap .please_3 > p,
#PleaseWrap .please_4 > p {
	padding: 10px;
	text-align: left;
}

.syo_t_type1 {
	font-weight: bold;
	margin: 0 10px;
	border-left: 5px solid var(--mainthema-background-color);
	border-bottom: 1px solid var(--mainthema-background-color);
	padding: 3px 0;
	text-align: left;
	text-indent: 5px;
}

a.maigo_info {
	margin: 20px auto;
	display: block;
	max-width: 600px;
}

a.maigo_info img {
	display: block;
}

#PleaseSection .please_3 .syo_head_1 ~ p {
	padding: 5px 10px 10px 25px;
}


/* focus時にplachholder値非表示 */

input:focus::-webkit-input-placeholder {
	color: transparent;
}

input:focus:-moz-placeholder {
	color: transparent;
}

input:focus::-moz-placeholder {
	color: transparent;
}
/*
input::-webkit-input-placeholder,
isindex::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	visibility: visible;
}
*/

.double_section_block {
	overflow:hidden;
}
.double_section_block > .section_block_left {
	float:left;
	width:49%;
	margin-bottom:10px;
}
.double_section_block > .section_block_right {
	float:right;
	width:49%;
	margin-bottom:10px;
}

#RapDataList {
	overflow:hidden;
}

#RapDataList li {
	display:block;
	float:left;
	margin:2px;
	border:1px solid var(--mainthema-background-color);
	padding:10px;
}


@media screen and (max-width: 950px) {
	/* =950px以下の場合= */
	/* 2カラム */
	/**====================
///// カートページ /////
====================**/
	.MODEorder1 .bill_1,
	.MODEorder1 .bill_2,
	.MODEorder1 .ship_1,
	.MODEorder1 .ship_2 {
		width: 100%;
		margin: 0;
		border: none;
		box-shadow: none;
		background: none;
	}
	.MODEorder1 .ship_1 {
		float: inherit;
		width: inherit;
	}
}

@media screen and (max-width: 768px) {
	/* =768px以下の場合= */
	/* 1カラム */
	/**====================
	///// カートステップボタン /////
	====================**/
	#CartStepButton {
		margin: 20px 0;
	}
	#CartStepButton ul {
		display : block;
	}
	#CartStepButton ul li {
		display : block;
		margin: 5px 0;
	}
	#SubmitButton2 {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	dl.sign_dl_1,
	dl.sign_dl_2 {
		width: 100%;
		float: inherit;
	}
	.ship_1 {
		border: 1px solid #ccc;
		padding: 10px 15px;
		box-shadow: 0 0 4px #ccc;
	}
	div#CartStep2 > div > .cart_steo_txt > span {
		display: block;
		margin:0;
	}
	div#CartStep2 div,
	div#CartStep2 div.nowstep {
		display:block;
		border-top:1px solid #fff;
		border-bottom:1px solid #fff;
	}
	div#CartStep2 div br { display:none; }
	div#CartStep2 > div > .cart_steo_txt:after {
		margin: auto;
		left:0;
		right:0;
		top:auto;
		bottom:-15px;
		font-size:20px;
		transform:rotate(90deg);
		
	}
	/**====================
	///// カート /////
	====================**/
	#CartItemized {
		margin : 20px 0;
	}
	#CartItemized .c_itemname {
		width: 100%;
	}
	#CartItemized .price_box {
		position: inherit;
		width: auto;
		float: inherit;
	}
	#CartPayment .payment_col_2 {
		width: 300px;
	}
	#CartPayment article > div,
	#CartPayment article > ul {
		float: inherit;
		margin-bottom: 10px;
		width: 100%;
	}
	#PleaseWrap .please_1,
	#PleaseWrap .please_3 {
		float: inherit;
		width: 100%;
	}
	#PleaseWrap .please_2,
	#PleaseWrap .please_4 {
		float: inherit;
		width: 100%;
	}
/**====================
///// order1 /////
====================**/
	.ship_2 #ShipCheckBox + label {
		float: inherit;
	}
	.ship_2 .billform_copy {
		float: inherit;
	}
}

#HowPayModifyButton,
#UserModifyButton,
#hUserModifyButton {
	font-size: 12px;
}



	#HowpaySelectUL,
	#ConviniSelectUL{
		display: grid;
		gap: 10px;
	}
	#CartPayment .about_payment .payment_explanation { display:none; }
	#CartPayment .about_payment .payment_title.selected + .payment_explanation { display:block; }
	.input_content .payment_explanation{
		display:none;
		margin-left: 11px;
		border-left: 2px solid #ccc;
		padding: 10px;
	}
	.input_content .payment_explanation.dsp_explanation{
		display: block;
	}
	#ConviniSelect {
		display:none;
	}
	#ConviniSelect.convini_dsp {
		display:grid;
	}

/**====================
///// LINE ABOUT /////
====================**/

	#CartLineAbout {
	  width: 100%;
	  margin: 50px 0;
	  background-color: #4ecf37;
	  color: #fff;
	  font-size: 20px;
	  font-weight: bold;
	  padding: 20px;
	}

	#CartLineAbout .line_about_txtbox {
	  float: left;
	  width: 60%;
	  margin: auto;
	  margin-bottom: 20px;
	  padding: 0 20px;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_01 {
	  text-align: left;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_01 span:first-child {
	  color: #f00;
	  border-bottom: solid 3px #f00;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_02 {
	  text-align: center;
	  font-size: 20px;
	  font-weight: bold;
	  margin: 20px 0;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_02>span {
	  background: linear-gradient(transparent 70%, #ff99ab 70%);
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_02 .line_mark {
	  overflow: hidden;
	  border-radius: 8px;
	  display: inline-block;
	  border: 2px solid #fff;
	  vertical-align: bottom;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_02 .line_mark>img {
	  width: 45px;
	  height: 45px;
	  display: block;
	  float: left;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_02>span>span {
	  font-size: 35px;
	}

	#CartLineAbout .line_about_txtbox .line_about_txt_03 {
	  text-align: right;
	  font-size: 30px;
	}

	#CartLineAbout .fotorama {
	  float: right;
	  margin: 80px 20px 0 0;
	  width: 250px;
	}

	#CartLineButton {
	  display: none;
	  margin:50px 0;
	}

	#CartLineButton a {
	  display: block;
	  width: 220px;
	  font-size: 30px;
	  font-weight: bold;
	  color: #fff;
	  background-color: #4ecf37;
	  text-align: center;
	  border-radius: 10px;
	  box-shadow: 3px 3px 0 #358c25;
	  margin: 0 auto;
	  padding: 10px;
	}

	#CartLineButton a img {
	  display: block;
	  float: left;
	  width: 40px;
	}

	#CartLineButton p {
	  text-align:center;
	  font-size:18px;
	  margin:20px 0;
	}

	#CartLineAbout .line_qr, #CartLineAbout .line_id {
	  clear: left;
	  width: 60%;
	  min-width: 350px;
	  margin: 50px 0;
	}

	#CartLineAbout .line_qr img {
	  width: 100px;
	  display: block;
	  margin: 0 auto;
	}

	#CartLineAbout .line_about_pc p.txt_title {
	  text-align: center;
	  padding: 10px;
	}

	#CartLineAbout .line_about_pc p.txt_01 {
	  text-align: center;
	  font-size: 12px;
	}

	#CartLineAbout .line_id table {
	  margin: 0 auto;
	}

	#CartLineAbout .line_id table td:nth-child(1) {
	  color: #4ecf37;
	  background-color: #fff;
	  border: 2px solid #fff;
	  padding: 5px;
	}

	#CartLineAbout .line_id table td:nth-child(2) {
	  border: 2px solid #fff;
	  padding: 5px;
	}

	#CartLineMap {
		display: block;
		max-width: 500px;
		margin: 50px auto;
	}

	@media screen and (max-width: 768px) {
		#CartLineAbout .line_about_txtbox {
			float: inherit;
			width: 100%;
			padding: 0;
		}
		#CartLineAbout .fotorama {
			float: inherit;
			margin: 0 auto;
		}
		#CartLineAbout .line_qr, #CartLineAbout .line_id {
			display: none;
		}
		#CartLineButton {
			display: block;
		}
		.double_section_block > .section_block_left,
		.double_section_block > .section_block_right {
			width:100%;
			float:inherit;
		}
	}
/**====================
///// LAST CHECK /////
====================**/
	.lastcheck_block {
		margin: 50px 0;
		font-size: 1.2em;
		border: 4px double #f00;
	}
	.lastcheck_block > div {
		display: table;
		margin: auto;
	}
	.lastcheck_title {
		text-align: center;
		margin-top: 20px;
		font-size: 1.8em;
		font-weight: bold;
	}
	.lastcheck_content {
		margin: 30px 0;
		word-break: break-word;
		padding: 0 20px;
	}
	.lastcheck_checkbox {
		max-width: 95%;
		font-size: 1.3em;
		text-align: center;
		margin: 0 auto 20px;
		border: 1px solid #000;
		display: table;
		padding: 10px;
		border-radius: 5px;
		background: bisque;
		box-shadow: 2px 2px 2px rgb(0 0 0 / 50%);
		font-weight: bold;
	}



#cartUserTypeForm .cart_user_type_title{
	display: grid;
	place-items: center;
	font-weight: bold;
	font-size: 25px;
}
#cartUserTypeForm .cart_user_type_title span{
	line-height:initial;
}
#cartUserTypeForm .cart_user_type_title span:last-child{
	font-size: 12px;
	font-weight: normal;
	align-self: start;
}
#cartUserTypeForm .cart_user_type_inner{
	display:grid;
	gap:20px;
}
#cartUserTypeForm .cart_user_type_contents{
	display:grid;
	gap:10px;
}



.loading-animation[data-animation="loading"]{
	display:grid;
	grid-template-columns: 1fr;
	place-items:center;
	gap:10px;
}
.loading-animation[data-animation="loading"] div {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	place-items:center;
	gap: 10px;

}
.loading-animation[data-animation="loading"] i {
	display: block;
	width: 25px;
	height: 25px;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	background-color: #aaa;
	border-radius: 100%;
	border: 1px solid white;
	box-shadow: 0 0 4px white;
}
.loading-animation[data-animation="loading"] i:nth-child(1) {
	-webkit-animation: scale .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);
	animation: scaleAnimation .75s -.24s infinite cubic-bezier(.2,.68,.18,1.08);
}
.loading-animation[data-animation="loading"] i:nth-child(2) {
	-webkit-animation: scale .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);
	animation: scaleAnimation .75s -.12s infinite cubic-bezier(.2,.68,.18,1.08);
}
.loading-animation[data-animation="loading"] i:nth-child(3) {
	-webkit-animation: scale .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);
	animation: scaleAnimation .75s 0s infinite cubic-bezier(.2,.68,.18,1.08);
}

.loading-animation svg{
	width: 100%;
	overflow: visible;
	height: 40px;
}
.loading-animation text{
	text-anchor: middle;
	dominant-baseline: middle;
	fill: currentColor;
	paint-order: stroke;
	stroke: white;
	stroke-width: 1px;
	font-weight: bold;
	text-shadow: 0 0 4px white;
	font-size: 1.5em;
	alignment-baseline: central;
}

@keyframes scaleAnimation{
	30% {
		-webkit-transform: scale(.3);
		transform: scale(.3);
	}
	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}