@charset "UTF-8";
/* CSS Document */

.open { height: 0em; }

#Contents { padding-top: 1px; }
#Contents h2 { margin-top: 20px; border: 1px solid #dcdcdc; background: -webkit-linear-gradient(top, #ffffff 0%,#e3e3e3 100%); background: linear-gradient(to bottom, #ffffff 0%,#e3e3e3 100%); color: #383838; font-weight: bold; padding: 4px 15px 4px 6px; font-size: 1.063em; }
#Contents h2::before { content: ""; display: inline-block; width: 4px; height: 40px; background: -webkit-linear-gradient(top, #ff7671 0%,#ff7671 50%,#ff130a 51%,#ff130a 100%); background: linear-gradient(to bottom, #ff7671 0%,#ff7671 50%,#ff130a 51%,#ff130a 100%); vertical-align: middle; margin-right: 10px; }


/* -----------------------------------------------------
商品一覧
----------------------------------------------------- */
#Itemlist,#Shoplist,#Characteristic,#Itemdetails .inner,#Shopdetails,#Order { padding: 0 15px; }
#Itemlist dl { border: 1px solid #bebebe; margin-top: 25px; }
#Itemlist dl dt { background: #dcdcdc; text-align: center; font-weight: bold; padding: 15px 10px; font-size: 1.063em; }
#Itemlist dl dd { padding: 25px 15px; font-size: 0.875em; line-height: 1.5em; display: flex; flex-wrap: wrap; justify-content: space-between; }
#Itemlist dl dd .img { width: 156px; }
#Itemlist dl dd .img + p { width: calc(100% - 175px); }
#Itemlist .btn { width: 100%; }
#Itemlist .btn a,#Shoplist .btn a,#Shopdetails .btn2 a { border: 1px solid #b4b4b4; border-radius: 4px; background: -webkit-linear-gradient(top, #ffffff 0%,#e3e3e3 100%); background: linear-gradient(to bottom, #ffffff 0%,#e3e3e3 100%); width: 180px; margin: 20px auto 0 auto; height: 55px; display: flex; align-items: center; text-align: center; justify-content: center; color: #000; text-decoration: none; font-size: 0.938em; font-weight: bold; }
#Itemlist .btn a::after,#Shoplist .btn a::after,#Shopdetails .btn2 a::after { content: ""; width: 5px; height: 9px; background: url(../itemlist/images/ic_arrow.svg) no-repeat; margin-left: 10px; }
#Itemlist hr { border: none; color: none; background: #bebebe; height: 1px; width: 100%; margin-top: 25px; }


/* -----------------------------------------------------
商品詳細
----------------------------------------------------- */
#Shoplist dl dt { background: #666666; font-size: 1.000em; font-weight: bold; text-align: center; color: #FFF; padding: 15px 0; margin-top: 25px; }
#Shoplist dl dd { background: #f2f2f2; padding: 5px; }
#Shoplist ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
#Shoplist li { width: 49%; font-size: 0.813em; color: #000; font-weight: bold; margin-top: 10px; }
#Shoplist input[type="checkbox"] { display: none; }
#Shoplist li label {
	display: block;
	background: #FFFFFF;
	text-align: center;
	cursor: pointer;
	border: 3px solid #FF0000;
	min-height: 45px;
	line-height: 45px;
	font-weight: bold;
	font-size: 14px;
	color: #FF0000;
}
#Shoplist .selected { background: #ff0000; color: #FFF; }
#Shoplist .flexbox { display: flex; justify-content: space-between; flex-wrap: wrap; }
#Shoplist .flexbox > div { width: 48.5%; display: flex; flex-direction: column; }
#Shoplist .item { border-radius: 4px; text-align: center; margin-top: 40px; }
#Shoplist h3 { font-size: 0.938em; font-weight: bold; text-align: center; margin-top: 15px; line-height: 1.5em; }
#Shoplist h3 + p { font-size: 0.813em; line-height: 1.5em; margin: 10px 0 15px 0; }
#Shoplist .btn { margin-top: auto; }
#Shoplist .btn a { width: 100%; height: 24px; font-size: 0.750rem; position: relative; margin-top: 10px; }
#Shoplist .btn a::after { position: absolute; right: 10px; margin-left: 0; }
#Shoplist .flexbox [class*="hidden-"] { display: none; }

#Characteristic h3 { margin-top: 50px; border-left: 5px solid #ff130a; font-size: 1.250em; font-weight: bold; padding: 2px 0 2px 8px; }
#Characteristic p { font-size: 0.938em; margin-top: 15px; line-height: 1.5em; }
#Characteristic p strong { font-weight: bold; }


/* -----------------------------------------------------
用紙詳細
----------------------------------------------------- */
#Itemdetails h2 { border: none; color: #FFF; background: #058f3d; padding: 10px 5px 10px 10px; font-size: 1.375rem; display: flex; justify-content: flex-start; align-items: center; margin-top: 5px; }
#Itemdetails h2::before { content: ""; display: inline-block; width: 36px; height: 36px; background: url(../shopping/images/ic_item.svg) no-repeat top left; vertical-align: middle; margin-right: 10px; }
#Itemdetails h2 span { font-size: 0.813rem; margin-left: auto; font-weight: normal; line-height: 1.3em; }
#Shopdetails h3,#Order h3 { border-bottom: 1px solid #bebebe; padding: 5px 0 5px 15px; color: #383838; font-weight: bold; margin-top: 40px; position: relative; line-height: 1.3em; }
#Shopdetails h3 small,#Order h3 small{font-size: 80%;font-weight: normal;display: block;}
#Shopdetails h3::before,#Order h3::before { content: ""; position: absolute; display: inline-block; width: 6px; height: 75%; background: -webkit-linear-gradient(top, #ff7671 0%,#ff7671 50%,#ff130a 51%,#ff130a 100%); background: linear-gradient(to bottom, #ff7671 0%,#ff7671 50%,#ff130a 51%,#ff130a 100%); vertical-align: middle; top: 0; bottom: 0; margin: auto; left: 1px; }

#Itemdetails .discount { text-align: center; margin-top: 15px; font-size: 1.00em; font-weight: bold; }
#Itemdetails .discount strong { color: #ff130a; font-size: 1.750rem; }
#Itemdetails .discount strong.off { font-size:  1.375rem; }
#Itemdetails dl { display: flex; justify-content: center; font-size: 0.750em; margin-top: 20px; }
#Itemdetails dl dt { background: #fcda79; padding: 5px; display: flex; align-items: center; }
#Itemdetails dl dd { border: 1px solid #fcda79; font-weight: bold; padding: 5px; display: flex; align-items: center; }
#Itemdetails dl dd + dt { margin-left: 2%; }

#Itemdetails .order,#Shopdetails .btn a,#Shopdetails .order,#Itemdetails .btn,#Order .regist,#Regist .btn,#Regist .btn,#Shoplist .btn2,#Shopdetails .btn2 { max-width: 384px; width: 100%; margin: 20px auto 0 auto; }
#Itemdetails .order a,#Shopdetails .order a,#Order .regist a { display: block; border-radius: 3px; color: #FFF; background: -webkit-linear-gradient(top, #dc0000 20%,#ff0000 60%); background: linear-gradient(to bottom, #dc0000 20%,#ff0000 60%); text-decoration: none; display: flex; justify-content: center; align-items: center; text-align: center; height: 60px; font-weight: bold; font-size: 1.250em; position: relative; }
#Itemdetails .order a::after,#Shopdetails .order a::after,#Order .regist a::after { content: ""; width: 20px; height: 20px; display: block; background: url(../shopping/images/ic_arrow01.svg); position: absolute; right: 10px; top: 0; bottom: 0; margin: auto; }


#Itemdetails .btn a,#Shopdetails .btn a,#Regist .btn a { display: block; border-radius: 3px; color: #FFF; background: -webkit-linear-gradient(top, #00beff 0%,#1f99ff 50%,#00beff 100%); background: linear-gradient(to bottom, #00beff 0%,#1f99ff 50%,#00beff 100%); text-decoration: none; display: flex; justify-content: center; align-items: center; text-align: center; height: 46px; font-weight: bold; font-size: 0.938em; position: relative; }
#Itemdetails .btn a::after,#Regist .btn a::after,#Shopdetails .btn a::after { content: ""; width: 5px; height: 9px; display: block; background: url(../shopping/images/ic_arrow02.svg); position: absolute; right: 10px; top: 0; bottom: 0; margin: auto; }
#Itemdetails ul { display: flex; justify-content: space-between; margin-top: 30px; }
#Itemdetails ul li { width: 24%; text-align: center; }


#Shopdetails p a,#Shopdetails li a { color: #000; text-decoration: none; }
#Shopdetails p a:hover,#Shopdetails li a:hover { text-decoration: underline; }
#Shopdetails .price { text-align: center; margin-top: 20px; line-height: 1.5em; font-weight: bold; }
.red { color: #ff130a; }
#Shopdetails .table { border-collapse: collapse; width: 100%; border: 1px solid #bebebe; margin-top: 20px; }
#Shopdetails .table td,#Shopdetails .table th { padding: 10px 5px; border: 1px solid #bebebe; color: #4f5050; text-align: center; font-weight: bold; font-size: 0.813em; line-height: 1.3em; vertical-align: middle; }
#Shopdetails .table th { background: #f0f0f0; vertical-align: middle; color: #646464; }
#Shopdetails .table td span { font-weight: normal; font-size: 0.750em; }
#Shopdetails .table th.black { color: #000; font-weight: bold; }
#Shopdetails .table input[type="text"] { width: 4.5em; padding: 7px 5px; border: 1px solid #bebebe; margin-right: 3px; }
#Shopdetails .table td.left { text-align: left; padding: 10px; }
#Shopdetails .table td strong { font-size: 1.125rem; font-weight: bold; display: inline-block; margin-top: 10px; }
#Shopdetails .notes { margin-top: 20px; font-size: 0.813rem; font-weight: normal; line-height: 1.5em; }
#Shopdetails h4 { margin-top: 20px; font-size: 0.938em; font-weight: bold; }
#Shopdetails h4::before { content: "■"; color: #f6921e; }
#Shopdetails h4 + p { margin-top: 10px; font-size: 0.938em; line-height: 1.5em; }
#Shopdetails .open p { font-size: 0.938em; margin-top: 20px; line-height: 1.5em; }
#Shopdetails .open p strong { font-weight: bold; }
#Shopdetails ul { font-size: 0.938em; margin-top: 10px; line-height: 1.5em; }
#Shopdetails ul li { text-indent: -1em; margin-left: 1em; }
#Shopdetails ul.voice { font-size: 0.938em; margin-top: 20px; line-height: 1.5em; }
#Shopdetails ul.voice li:before { content: "●"; color: #c8c8c8; }
#Shopdetails ul.voice li + li { margin-top: 5px; }
#Shopdetails .scroll { overflow-x: scroll; }
#Shopdetails .scroll table td,#Shopdetails .scroll table th { white-space: nowrap; }
#Shopdetails .scroll table th:first-child { width:20%; position:sticky; left: 0px; border: 1px solid #bebebe; }
#Shopdetails .scroll table th:first-child::before { content: ""; position: absolute; top: -1px; left: -1px; width: 100%; height: 100%; border: 1px solid #bebebe; }
#Shopdetails .btn2 { margin-top: auto; }
#Shopdetails .btn2 a { width: 100%; height: 24px; font-size: 0.750rem; position: relative; margin-top: 10px; }
#Shopdetails .btn2 a::after { position: absolute; right: 10px; margin-left: 0; }


/* -----------------------------------------------------
商品注文
----------------------------------------------------- */
#Order #Flow { display: flex; justify-content: flex-start; margin-top: 20px; }
#Order #Flow li { width: 20%; display: flex; align-items: center; justify-content: center; color: #646464; text-align: center; font-size: 0.688em; line-height: 1.3em; background: -webkit-linear-gradient(-45deg, #ffffff 0%,#dcdcdc 80%); background: linear-gradient(135deg, #ffffff 0%,#dcdcdc 80%); height: 50px; font-weight: bold; position: relative; padding-left: 10px; box-sizing: border-box; }
#Order #Flow li:first-child { border-radius: 3px 0 0 3px; padding: 0; }
#Order #Flow li.active { background: -webkit-linear-gradient(-45deg, #ff140a 0%,#ce2b26 80%);
background: linear-gradient(135deg, #ff140a 0%,#ce2b26 80%); color: #FFF; }

#Order #Flow li::before { content: ""; display: inline-block; width: 0; height: 0; border-style: solid; border-width: 25px 0 25px 10px; border-color: transparent transparent transparent #dcdcdc; position: absolute; left: 0; }
#Order #Flow li:first-child::before { display: none; }
#Order #Flow li.active + li::before { border-color: transparent transparent transparent #ce2b26; }
#Order #Flow li:last-child::after { content: ""; position: absolute; top: 0; right: 0; width: 10px; height: 50px; display: inline-block; background: url(../order/images/bg_flow.png) no-repeat top right; background-size: contain; }
#Order #Flow li:last-child { padding: 0; }
#Order .item { display: flex; flex-wrap: wrap; justify-content: space-between; }
#Order .item li { width: 48%; margin-top: 15px; }
#Order .item input[type="radio"] { display: none; }
#Order .item input[type="radio"]:not(.active) + label { display: block; position: relative; }
#Order .item input[type="radio"]:not(.active) + label::before { content: ""; width: 100%; height: 100%; background: rgba(255,255,255,0.50); position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

#step2 dl dt,#step3 dl dt { font-weight: bold; font-size: 0.938em; color: #4b4b4b; margin-top: 25px; }
#step2 dl dt::before,#step3 dl dt::before { content: "■"; color: #ffbe00; }
#step2 dl dd p { font-size: 0.875rem; line-height: 1.5em; margin-top: 15px; }
#step2 dl dd p span { font-size: 0.750rem; }
#step2 input[name="quantity"] { border: 1px solid #bebebe; border-radius: 4px; font-size: 0.875rem; height: 50px; margin: 0 5px; width: 80px; box-sizing: border-box; padding: 5px 10px; }

#step2 input[name="type"],#step2 .size_option input[type="text"]{ border: 1px solid #bebebe; border-radius: 4px; font-size: 0.875rem; height: 50px; width: 80px; margin: 0 5px 0 0; box-sizing: border-box; padding: 5px 10px; }



#step3 h3 + p { margin-top: 30px; line-height: 1.5em; text-indent: -1em; margin-left: 1em; }
#step3 h3 + p::before { content: "▼"; }
#step3 .btn { max-width: 384px; width: 100%; margin: 40px auto 0 auto; position: relative; }
#step3 .btn input[type="submit"] { border: none; display: block; width: 100%; border-radius: 3px; color: #FFF; background: -webkit-linear-gradient(top, #dc0000 20%,#ff0000 60%); background: linear-gradient(to bottom, #dc0000 20%,#ff0000 60%); text-decoration: none; display: flex; justify-content: center; align-items: center; text-align: center; height: 60px; font-weight: bold; font-size: 1.250em; position: relative; }
#step3 .btn::after { content: ""; width: 20px; height: 20px; display: block; background: url(../shopping/images/ic_arrow01.svg); position: absolute; right: 10px; top: 0; bottom: 0; margin: auto; }
#step3 .notes { background: #ffffbe; text-align: center;  margin-left: -15px; width: calc(100% + 30px); margin-top: 30px; padding: 15px 0; line-height: 1.5em; }

#step4 dl { border: 1px solid #bebebe; margin-top: 30px; border-bottom: none; }
#step4 dl dt { background: #666666; color: #FFF; text-align: center; font-weight: bold; padding: 10px 0; }
#step4 dl.order dd { padding: 15px; display: flex; border-top: 1px solid #bebebe; color: #646464; display: block; line-height: 1.3em; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
#step4 dl.order dt + dd { border-top: none; }
#step4 dl.order dd.type { text-align: center; font-size: 1.188em; font-weight: bold; color: #646464; }
#step4 dl.order dd span { display: block; white-space: nowrap; }
#step4 dl.order dd span::first-line { font-size: 0.938em; font-weight: bold; color: #4b4b4b; }
#step4 dl.order dd span::first-letter { color: #ffbe00; }
#step4 dl.order dd span::before { content: "■"; }
#step4 dl.order dd label { font-size: 0.938em; display: flex; align-items: flex-end; }
#step4 dl.order dd label.quantity input { width: 4em; border: 1px solid #bebebe; border-radius: 3px; padding: 5px 10px; height: 40px; font-size: 1rem; box-sizing: border-box; margin-right: 3px; }
#step4 dl.order dd textarea.comment { background: #fbe3e2; border: 1px solid #bebebe; border-radius: 3px; width: 100%; font-size: 0.938em; padding: 5px 10px; margin-top: 5px; }
#step4 dl.order dd p { display: block; color: #000; width: 100%; text-align: center; font-weight: bold; }
#step4 dl.order dd .btn { display: flex; justify-content: center; align-items: center; margin: 0 auto; width: 100%; }
#step4 dl.order dd .btn input[type="button"] { border: none; background: #0151c0; color: #FFF; font-size: 0.813rem; border-radius: 4px; padding: 10px 0; font-weight: bold; max-width: 200px; width: 55%; }
#step4 dl.order dd .btn input[type="button"] + input { margin-left: 15px; max-width: 140px; width: 45%; }
#Order .price { padding: 15px; background: rgba(191,191,191,0.18); color: #464646; font-size: 0.938em; border: 1px solid #bebebe; border-top: none; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; }
#Order .price > div,#Order .totalprice > div { font-size: 1.438rem; }
#Order .price > div strong,#Order .totalprice > div strong { font-size: 2.125rem; font-weight: bold; }
#Order .totalprice { padding: 15px; background: #fd1c24; color: #FFF; font-size: 1.125em; border: 1px solid #bebebe; border-top: none; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; font-weight: bold; }

#Order .add,#step4 .estimate { max-width: 384px; width: 100%; margin: 30px auto 0 auto; }
#Order .add a,#step4 .estimate a { display: block; border-radius: 3px; color: #FFF;  background: -webkit-linear-gradient(top, #00beff 0%,#1f99ff 50%,#00beff 100%); background: linear-gradient(to bottom, #00beff 0%,#1f99ff 50%,#00beff 100%); text-decoration: none; display: flex; justify-content: center; align-items: center; text-align: center; height: 46px; font-weight: bold; font-size: 0.938em; position: relative; }
#Order .add a::before { content: ""; width: 16px; height: 20px; display: inline-block; background: url(../order/images/ic_add.svg); margin-right: 5px; }
#Order .add a::after,#step4 .estimate a::after { content: ""; width: 5px; height: 9px; display: block; background: url(../shopping/images/ic_arrow02.svg); position: absolute; right: 10px; top: 0; bottom: 0; margin: auto; }
.add_notes { background: #ffffbe; width: 100%; margin: 40px 0 0 -15px; text-align: center; padding: 15px; line-height: 1.3em; }

#step4 dl.delivery dd,#step4 dl.warranty dd { padding: 15px; line-height: 1.3em; color: #464646; font-size: 0.938em; }
.deals { background: #fff0f4; margin: 60px 0 0 -15px; width: 100%; padding: 0 15px 25px 15px; position: relative; }
.deals .sttl { max-width: 358px; width: 90%; margin: 0 auto; position: relative; top: -15px; }
.deals p { font-weight: bold; color: #000; text-align: center; padding: 5px 0 0 0; }
.deals p strong { font-size: 1.500rem; color: #ff130a; }
.deals p span { font-size: 1.250rem; color: #ff130a; }
.deals p.small { font-size: 0.875rem!important; margin-top: 10px; font-weight: normal; }
#step4 dl.order dt strong { font-size: 1.188rem; }

#step4 dl.contact { border: 1px solid #bebebe; }
#step4 dl.contact dt { background: rgba(191,191,191,0.18); color: #ff0000; }
#step4 dl.contact dd { padding: 15px; }
#step4 dl.contact textarea { background: #fbe3e2; border: 1px solid #bebebe; border-radius: 3px; width: 100%; font-size: 0.938em; padding: 5px 10px; margin-top: 5px; box-sizing: border-box; }

#step4 .estimate { margin-top: 15px; }
#step4 .estimate a { height: 50px;font-size: 1.063rem; }
#step4 .estimate a::before { content: ""; width: 17px; height: 20px; display: inline-block; background: url(../order/images/ic_estimate.svg); margin-right: 5px; }
#step4 .regist { margin-top: 40px; }
#step4 .regist a { font-size: 1.063rem; }

.selectbox { margin-top: 15px; position: relative; }
.selectbox p { border: 1px solid #bebebe; border-radius: 4px; background: #FFF; box-sizing: border-box; padding: 15px 10px; font-size: 0.875rem; position: relative; font-weight: bold; }
.selectbox p::after { content: ""; display: inline-block; width: 0; height: 0; border-style: solid; border-width: 5px 5px 0 5px; border-color: #545454 transparent transparent transparent; position: absolute; right: 15px; top: 0; bottom: 0; margin: auto; }
.selectbox .option { border: 1px solid #dcdcdc; border-radius: 4px; position: relative; background: #FFF; position: absolute; top: 45px; width: 100%; box-sizing: border-box; z-index: 3; }
.selectbox .option li {  border-bottom: 1px solid #dcdcdc; }
.selectbox .option li:last-child { border-bottom: none; }
.selectbox .option input[type="radio"] { display: none; }
.selectbox .option label { display: block; font-size: 0.875em; line-height: 1.3em; padding: 10px; text-align: center; }
.selectbox .option label strong { font-weight: bold; color: #383838; }
.selectbox + p { margin-top: 15px; }

.paperSize .option { display: flex; justify-content: space-between; flex-wrap: wrap; }
.paperSize .option li { width: 50%; box-sizing: border-box; }
.paperSize .option li:nth-child(even) { border-left: 1px solid #dcdcdc; }
.paperSize .option li:last-child { width: 100%; }

#Deli_date,#Deli_time { margin-top: 0; }

/* -----------------------------------------------------
会員登録
----------------------------------------------------- */
#Regist > p,#Thanks > p { font-size: 0.938em; line-height: 1.5em; margin-top: 20px; }
#Regist ul.id input { width: 100%; box-sizing: border-box; border-radius: 4px; padding: 7px 5px; border: 1px solid #bebebe; font-size: 0.938em; }
#Regist ul.id { margin-top: 20px; }
#Regist ul.id li + li { margin-top: 10px; }
#Regist .login { max-width: 385px; width: 100%; margin: 30px auto 0 auto; }
#Regist .login input { width: 100%; border: 1px solid #b4b4b4; background: -webkit-linear-gradient(top, #ffffff 50%,#dcdcdc 100%); background: linear-gradient(to bottom, #ffffff 50%,#dcdcdc 100%); border-radius: 4px; height: 60px; box-sizing: border-box; font-size: 1.063em; font-weight: bold; }
#Regist .login input:active { color: #000; }
#Regist ul.change { display: flex; justify-content: space-between; max-width: 385px; width: 100%; margin: 15px auto 0 auto; font-size: 0.750em; }
#Regist ul.change li { width: 43%; }
#Regist ul.change li + li { width: 53%; }
#Regist ul.change li a { display: flex; justify-content: center; align-items: center; border: 1px solid #ff130a; border-radius: 4px; color: #000; height: 46px; text-decoration: none; }
#Regist ul.change li a::after { content: ""; width: 5px; height: 9px; background: url(../regist/images/ic_arrow_red.svg) no-repeat; margin-left: 5px; }
#Regist .member { background: #ffffbe; margin: 45px -15px 0 -15px; padding: 25px 15px; color: #505050; }
#Regist .member .sttl { border: 1px solid #505050; text-align: center; padding: 5px 0; }
#Regist .member .sttl + p { margin-top: 10px; font-size: 0.875rem; line-height: 1.5em; }

#Regist dl { margin-top: 30px; color: #646464; }
#Regist dl dt { background: #666666; color: #FFF; padding: 8px 15px; font-weight: bold; }
#Regist dl dt.required::after { content: "必須"; display: inline-block; border: 1px solid #ff130a; border-radius: 4px; background: #FFF; color: #ff130a; padding: 2px 5px; margin-left: 10px; font-size: 0.875em; line-height: 1.3em; }
#Regist dl dd { border-left: 1px solid #bebebe; border-right: 1px solid #bebebe; padding: 15px; font-size: 0.938em; line-height: 1.5em; min-height: 20px; }
#Regist dl dd:last-child { border-bottom: 1px solid #bebebe; }
#Regist dl dd span { display: block; font-size: 0.750rem; margin-top: 10px; line-height: 1.3em; }
#Regist dl dd input[type="text"],#Regist dl dd input[type="password"] { font-size: 0.875em; padding: 0 10px; border: 1px solid #bebebe; border-radius: 4px; height: 36px; box-sizing: border-box; width: 100%; }
#Regist #name,#Regist #kana,#Regist #deli_name { width: calc(100% - 2em); margin-right: 0.5em; }
#Regist #zip,#Regist #deli_zip { width: 7em; margin-left: 0.5em; }
#Regist br + input { margin-top: 5px; }
#Regist dl dd + dd { border-bottom: 1px solid #bebebe; }
#Regist dl#deli_address { display: block; }
#Regist dl#deli_address dt:first-child + dd { display: flex; justify-content: space-between; }
#Regist dl#deli_address input[type="radio"] + label,#Regist dl.shipping input[type="radio"] + label { width: 48.5%; border: 1px solid #bebebe; border-radius: 4px; height: 50px; display: flex; align-items: center; justify-content: center; font-size: 0.875em; position: relative; padding-left: 20px; box-sizing: border-box; }
#Regist dl#deli_address input[type="radio"] + label::before,#Regist dl.shipping input[type="radio"] + label::before { content: ""; width: 15px; height: 15px; border: 1px solid #969696; box-sizing: border-box; border-radius: 50%; position: absolute; left: 15px; background: #FFF; }
#Regist dl#deli_address input[type="radio"],#Regist dl.shipping input[type="radio"],#Regist .coupon ul li input[type="radio"],#Regist .payment input[type="radio"] { display: none; }
#Regist dl#deli_address input[type="radio"]:checked + label,#Regist dl.shipping input[type="radio"]:checked + label { border-color: #ff130a; background: #ff130a; color: #FFF; }
#Regist dl#deli_address input[type="radio"]:checked + label::before,#Regist dl.shipping input[type="radio"]:checked + label::before { border-color: #FFF; }
#Regist dl#deli_address input[type="radio"]:checked + label::after,#Regist dl.shipping input[type="radio"]:checked + label::after { content: ""; position: absolute; width: 9px; height: 9px; background: #ff130a; border-radius: 50%; left: 18px; top: 0; bottom: 0; margin: auto; }
#Regist .hide dt:not(:first-child),#Regist .hide dd:not(:nth-child(2)){ display: none; }
#Regist .hide dd:nth-child(2) { border-bottom: 1px solid #bebebe; }
#Regist dl#deli_address dd:last-child { background: #ffffbe; }
#Regist dl#deli_address dd:last-child input[type="checkbox"] { display: none; }
#Regist dl#deli_address dd:last-child label { display: flex; align-items: center; position: relative; padding-left: 20px; }
#Regist dl#deli_address dd:last-child label::before { content: ""; width: 15px; height: 15px; border: 1px solid #969696; box-sizing: border-box; border-radius: 50%; position: absolute; left: 0px; background: #FFF; }
#Regist dl#deli_address dd:last-child input[type="checkbox"]:checked + label::after { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; left: 3px; top: 0; bottom: 0; margin: auto; background: #969696; }
#Regist dl.shipping input[type="radio"] + label { width: 100%; margin-top: 15px; }
#Regist dl.shipping input[type="radio"] + label:nth-child(2) { margin-top: 0; }
#Regist dl.shipping p { margin-top: 20px; }
#Regist .btn { max-width: 385px; width: 100%; margin: 30px auto 0 auto; }
#Regist .btn input[type="submit"] { background: -webkit-linear-gradient(top, #ff0000 20%,#dc0000 60%); background: linear-gradient(to bottom, #ff0000 20%,#dc0000 60%); border: none; border-radius: 4px; width: 100%; height: 60px; font-size: 1.00em; font-weight: bold; color: #FFF; }
#Regist .btn li:first-child::after { content: ""; display: block; width: 20px; height: 20px; background: url(../shopping/images/ic_arrow01.svg); position: absolute; top: 0; bottom: 0; margin: auto; right: 15px; }
#Regist .btn li { position: relative; }
#Regist .btn li + li { margin-top: 20px; }
#Regist .btn li:last-child::before { content: ""; display: block; width: 5px; height: 9px; background: url(../regist/images/ic_arrow_left.svg); position: absolute; top: 0; bottom: 0; margin: auto; left: 15px; }
#Regist .btn input[type="button"] { border: 1px solid #666666; border-radius: 4px; width: 100%; background: #FFF; height: 45px; font-size: 0.938em; font-weight: bold; color: #666; }

#Regist .coupon ul { max-width: 320px; width: 100%; margin: 0 auto; }
#Regist .coupon ul li { margin-top: 20px; font-size: 0.875em; font-weight: bold; text-align: right; }
#Regist .coupon ul li span { font-size: 0.750rem; margin-top: 5px; }
#Regist .coupon ul li label { background: url(../regist/images/bg_coupon.png) no-repeat; display: flex; height: 77px; justify-content: center; flex-direction: column; align-items: center; position: relative; }
#Regist .coupon ul li label::before { content: ""; position: absolute; width: 100%; height: 100%; background: rgba(255,255,255,0.50); }
#Regist .coupon ul li a { display: inline-block; margin-top: 5px; font-size: 0.750rem; color: #000; text-decoration: none; }
#Regist .coupon ul li a::before { content: "▶︎"; color: #7d7d7d; display: inline-block; margin-right: 3px; }
#Regist .coupon ul li input[type="radio"]:checked + label::before { background: rgba(255,255,255,0.00); }
#Regist .coupon p { margin-top: 30px; font-size: 0.875em; font-weight: bold; line-height: 1.3em; }
#Regist .coupon p input[type="text"] { width: 70%; font-size: 0.875em; padding: 0 10px; border: 1px solid #bebebe; border-radius: 4px; height: 36px; box-sizing: border-box; margin-top: 5px; }
#Regist .coupon input[type="button"] { height: 39px; border: 1px solid #b4b4b4; color: #969696; font-size: 0.875rem; font-weight: bold; border-radius: 4px; background: -webkit-linear-gradient(top, #ffffff 50%,#dcdcdc 100%); background: linear-gradient(to bottom, #ffffff 50%,#dcdcdc 100%); }
#Regist .coupon ul li input[type="button"] { display: block; max-width: 250px; width: 100%; margin: 0 auto; }
#Regist .coupon p input[type="button"] { width: 25%; margin-top: 5px; }

#Regist .point p { font-size: 0.875rem; color: #505050; margin-top: 15px; line-height: 1.3em; }
#Regist .point dl { display: flex; justify-content: space-between; flex-wrap: wrap; color: #464646; }
#Regist .point dl dt { background: none; padding: 0; color: #464646; font-size: 0.875rem; }
#Regist .point dl dd { padding: 0; border: none; display: block; font-size: 0.875rem; text-align: right; font-weight: bold; }
#Regist .point dl.total_payment { margin-top: 20px; }
#Regist .point dl.total_payment dd strong { font-size: 1.188rem; }
#Regist .point dl.point { background: #f8f8f8; margin-top: 25px; border-radius: 4px; }
#Regist .point dl.point dt,#Regist .point dl.point dd { padding: 10px 15px; box-sizing: border-box; }
#Regist .point dl.point dt { width: 12em; padding-right: 0; border-bottom: 1px solid #d7d7d7; display: flex; align-items: center; }
#Regist .point dl.point dd { width: calc(100% - 12em); padding-left: 0; border-bottom: 1px solid #d7d7d7; }
#Regist .point dl.point dd input[type="text"] { width: 5em; }
#Regist .point dl.point dd:last-child { width: 100%; border: none; font-size: 0.813rem; font-weight: normal; }

#Regist .payment { margin-top: 20px; }
#Regist .payment li { position: relative; }
#Regist .payment li + li { margin-top: 10px; }
#Regist .payment li label { display: flex; flex-direction: column; width: 100%; background: #e6e6e6; height: 80px; border-radius: 4px; align-items: center; justify-content: center; padding: 0 10px; position: relative; font-size: 1.063em; font-weight: bold; box-sizing: border-box; }
#Regist .payment li label span { display: block; font-size: 0.875rem; font-weight: normal; margin-top: 10px; }
#Regist .payment li label::before { content: ""; width: 15px; height: 15px; border: 1px solid #969696; box-sizing: border-box; border-radius: 50%; position: absolute; left: 15px; background: #FFF; }
#Regist .payment li input[type="radio"]:checked + label { background: #ff130a; color: #FFF; }
#Regist .payment li input[type="radio"]:checked + label::before { border-color: #FFF; }
#Regist .payment li input[type="radio"]:checked + label::after {content: ""; position: absolute; width: 9px; height: 9px; background: #ff130a; border-radius: 50%; left: 18px; top: 0; bottom: 0; margin: auto; }
#Regist .payment a { display: flex; position: absolute; top: 0; bottom: 0; margin: auto; right: 20px; width: 45px; height: 25px; border: 1px solid #6e6e6e; color: #6e6e6e; background: #FFF; text-decoration: none; font-size: 0.813rem; justify-content: center; align-items: center; border-radius: 15px; }
#Regist .payment a + div { border: 1px solid #000; background: #FFF; position: absolute; width: 260px; box-sizing: border-box; font-size: 0.813rem;  right: 15px; padding: 20px; border-radius: 4px; top: 68px; line-height: 1.5em; font-weight: normal; z-index: 2; }
#Regist .payment a + div::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 0 10px 10px 10px; border-color: transparent transparent #000 transparent; position: absolute; top: -11px; right: 17px; }
#Regist .payment a + div::after { content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 0 10px 10px 10px; border-color: transparent transparent #FFF transparent; position: absolute; top: -10px; right: 17px; }
#Regist .payment a + div img { vertical-align: middle; }
#Regist .payment a + div ol li { text-indent: -1.5em; margin-left: 1.5em; }
#Regist .payment li input[type="radio"]:checked + label a { color: #000; border-color: #000; }
#Regist .payment li input[type="radio"]:checked + label a + div { color: #000; }
#Regist .payment .img { margin-top: 5px; text-align: center; }
#Regist .payment a + #Credit { border-color: #c7130a; }
#Regist .payment a + #Credit::before { border-color: transparent transparent #c7130a transparent; }
#Regist .payment a + #Quick { border-color: #30bc23; }
#Regist .payment a + #Quick::before { border-color: transparent transparent #30bc23 transparent; }
#Regist .payment a + #Cash { border-color: #073369; }
#Regist .payment a + #Cash::before { border-color: transparent transparent #073369 transparent; }
#Regist .payment a + #Bank { border-color: #fb424a; }
#Regist .payment a + #Bank::before { border-color: transparent transparent #fb424a transparent; }
#Regist .payment a + #Invoice { border-color: #8083fc; }
#Regist .payment a + #Invoice::before { border-color: transparent transparent #8083fc transparent; }

/*
 */

#Regist dl.order { margin-top: 30px; border-bottom: none; }
#Regist dl.order dt,#Regist dl.other dt { background: #666666; color: #FFF; text-align: center; font-weight: bold; padding: 10px 0; }
#Regist dl.order dd { padding: 15px; display: flex; color: #646464; display: block; line-height: 1.3em; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border-bottom: 1px solid #bebebe; }
#Regist dl.order dd.type { justify-content: center; font-size: 1.188rem; font-weight: bold; color: #646464; }
#Regist dl.order dd span { display: block; white-space: nowrap; font-size: 0.938rem; margin-top: 0; }
#Regist dl.order dd span::first-line { font-weight: bold; color: #4b4b4b; }
#Regist dl.order dd span::first-letter { color: #ffbe00; }
#Regist dl.order dd span::before { content: "■"; }
#Regist dl.order dd div strong { font-size: 2.125rem; color: #464646; font-weight: bold; line-height: 1.3em; }
#Regist dl.order dd div em { font-size: 1.188rem; font-style: normal; }
#Regist dl.order dd p { width: 100%; margin-top: 5px; }
#Regist dl.order dd p { color: #000; font-weight: bold; }
#Regist dl.other dd { font-weight: bold; font-size: 1.188em; text-align: center; }

#Regist .draft { border-top: 2px solid #ff130a; border-bottom: 2px solid #ff130a; font-size: ; color: #ff130a; text-align: center; margin-top: 40px; padding: 20px 0; font-weight: bold; margin-left: -15px; width: calc(100% + 30px); }
#Regist .btn { margin-top: 40px; }
#Regist .btn a { background: #ff130a; height: 60px; }
#Regist dl dd.bold { padding: 10px 15px; font-size: 2.125rem; font-weight: bold; text-align: center; }
#Regist p.box { border: 1px solid #bebebe; padding: 15px; text-align: center; }

/* -----------------------------------------------------
完了画面
----------------------------------------------------- */
#Thanks dl { background: #e7f7e6; padding: 5px; display: flex; align-items: center; justify-content: space-between; margin-top: 20px; }
#Thanks dl dt { background: #767676; width: 100px; height: 58px; display: flex; align-items: center; justify-content: center; color: #FFF; font-weight: bold; font-size: 1.313em; }
#Thanks dl dd { font-size: 2.000em; text-align: center; width: calc(100% - 110px); font-weight: bold; }
#Thanks p.bold { font-weight: bold; }
#Thanks .notes { background: #ffffbe; font-weight: bold; line-height: 1.5em; padding: 15px 0; text-align: center; margin-left: -15px; width: calc(100% + 30px); margin-top: 20px; }
#Thanks .btn_deca { max-width: 380px; width: 100%; margin: 25px auto 0 auto; }
#Thanks strong { font-weight: bold; }
#Thanks dl.domain dt { width: 7em; font-size: 1.00rem; }
#Thanks dl.domain dd {  width: calc(100% - 8em); font-size: 1.00rem; }
