/* Cgmap */
#Cgmap { position: relative; margin-bottom: -5%; z-index: -1; }
#Cgmap:before { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 2; content: ""; }
#Cgmap iframe { width: 100vw; height: 350px; }

/* contact_page */
#contact_page { background: white; box-shadow: 0 0 0.8em 0 rgba(2, 2, 2, .16); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }

/* contact_information */
.contact_information { padding: 2em; }
.contact_information .title { margin-bottom: 1.5em; color: white; }
.contact_information a { margin-bottom: 1em; display: flex; align-items: center; }
.contact_information a font { position: relative; margin-right: 1em; width: 2.3em; aspect-ratio: 1/1; border: 1px var(--primary) solid; display: flex; justify-content: center; align-items: center; border-radius: 50%; }
.contact_information a font svg { width: 50%; height: 100%; fill: var(--primary); }
.contact_information a.map font svg { width: 45%; }
.contact_information a.line font svg { width: 65%; }
.contact_information a span { width: 1%; flex: 1 1 auto; font-size: .9em; color: white; }

/* form_box */
.form_box { padding: 2em; display: grid; grid-template-columns: repeat(1, 1fr); grid-gap: 1.2em; align-items: center; }
.form_box.large_item { padding: 0; }
.form_box .form_item label { color: var(--g_600); }
.form_box .flex_style { display: flex; flex-wrap: wrap; align-items: stretch; }
.form_box .flex_style label.large { margin-right: 1em; width: 7em; }
.form_box .flex_style >input , .form_box .flex_style >font { width: 100%; }
.form_box .flex_style >font .bind { margin-left: 1em; }
.form_box .flex_style >font .bind svg { margin: 0 .6em; width: 30px; height: 30px; fill: #fff; }
.form_box .flex_style >font .btn { padding: 0; border-radius: .37em; display: inline-flex; justify-content: space-between; align-items: center; }
.form_box .flex_style >font .btn font { padding: .2em 0; width: 150px; border-left: 1px rgb(0 0 0 / 10%) solid; display: flex; justify-content: center; align-items: center; flex: 1 1 auto; color: #fff; }
.form_box .flex_style >font .btn.line { background: #06C755; }
.form_box .flex_style >font .bind .isbind svg { fill: #06C755; }
.form_box .flex_style .groud { overflow: hidden; display: flex; align-items: center; background-color: white; background-clip: padding-box; border: 1px solid var(--g_200); border-radius: .2em; }
.form_box .flex_style .groud >input { width: 1%; flex: 1 1 auto; border: 0; }
.form_box .flex_style .groud >button { padding: .5em; width: 10em; background: var(--red); text-align: center; color: white; }
.form_box .flex_style .remarks span.words { width: 100%; display: flex; justify-content: flex-end; align-items: center; font-size: .9em; color: var(--g_600); }
.form_box .flex_style .remarks span.words b { margin: 0 .2em; font-size: 1em; }

.form_box .sex_box { padding: .3em 0; width: 100%; display: flex; align-items: center; }
.form_box .sex_box >span { margin-right: 1em; }
.form_box .sex_box >span input { margin-right: .2em; }
.form_box .address_box { width: 100%; display: grid; grid-template-columns: 8em 8em 1fr; grid-gap: .6em 1em; align-items: center; }
.form_box .calendar { position: absolute; width: 1em; height: 1em; top: 51%; right: 1em; fill: var(--g_500); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.form_box .note_txt span { font-size: .9em; color: var(--g_600); }
.form_box .check_box font { display: flex; align-items: center; }
.form_box .check_box font input { width: 1%; flex: 1 1 auto; }
.form_box .check_box font img { margin-left: .5em; cursor: pointer; }
.form_box .send_box { display: flex; justify-content: end; }
.form_box .large_item.send_box { flex-direction: column; justify-content: center; }
.form_box .send_btn { padding: .4em .5em; width: 10em; background: var(--primary); display: block; text-align: center; color: white; cursor: pointer; }
.form_box .send_btn.large_btn { width: 100%; }
.form_box .agree_box { margin-bottom: .2em; display: flex; align-items: center; }
.form_box .agree_box label[for="IsAgree"] { margin-left: .3em; width: 1%; flex: 1 1 auto; line-height: 1; }
.form_box .quit_login { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.form_box .quit_login .line_link { padding: 0; width: min(100%, 350px); border-radius: .37em; background: #06C755; display: inline-flex; justify-content: space-between; align-items: stretch; }
.form_box .quit_login .line_link svg { margin: .2em .6em; width: 40px; height: 40px; fill: #fff; }
.form_box .quit_login .line_link font { width: 1%; border-left: 1px rgb(0 0 0 / 10%) solid; display: flex; justify-content: center; align-items: center; flex: 1 1 auto; font-size: 1.2em; color: #fff; }

/* member_page */
#member_page {margin: 0 auto;width: min(650px, 95%);border: 1px var(--g_100) solid;}
#member_page .login_btns { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 1em; border-bottom: 1px var(--g_200) solid; }
#member_page .login_btns a { margin-bottom: -1px; padding: .5em 1em; border-bottom: 2px transparent solid; text-align: center; font-size: 1.1em; }
#member_page .login_btns a.acion { border-color: var(--primary); }
#member_page .other_btns .join { margin: 1em 0 .5em; display: flex; justify-content: center; align-items: baseline; }
#member_page .other_btns .join * { font-weight: 300; font-size: 1.1em; color: var(--g_500); }
#member_page .other_btns .join a { margin-left: .4em; padding: .2em; display: block; border-bottom: 1px var(--info) solid; line-height: 1; color: var(--info); }
#member_page .other_btns .askpass { text-align: center; }
#member_page .other_btns .askpass a { font-weight: 300; color: var(--g_500); }

/* notice_box */
.notice_box h3 { margin-bottom: .5em; display: flex; align-items: baseline; font-weight: 300; font-size: 1.2em; color: var(--g_500); }
.notice_box h3 i { margin-right: .2em; color: var(--g_300); }
.notice_box ol { margin-left: 1.5em; list-style: decimal; }
.notice_box ol li { list-style: decimal; }

/* member_rule */
#member_rule { overflow: hidden; width: 0; max-height: 0; display: none; opacity: 0; }
#member_rule::-webkit-scrollbar { width: 13px; }
#member_rule::-webkit-scrollbar-track { background: none; }
#member_rule::-webkit-scrollbar-thumb { border-radius: 8px; border: 4px solid transparent; background-clip: content-box; background-color: var(--g_200); }
#member_rule::-webkit-scrollbar-thumb:hover { background-color: var(--g_300); }
#member_rule * { font-size: inherit; }
#member_rule ol.rulelist { padding-left: 20px; list-style: decimal; }
#member_rule ol.rulelist li { padding: 0 0 10px 10px; }
.fancybox-slide--current #member_rule { overflow-y: scroll; width: min(95vw, 800px); max-height: 55vh; opacity: 1; }

/* order_box */
.order_box { margin-top: 2em; padding: .8em 1em 1em; background: color-mix(in srgb, var(--g_100) 50%, white); }
.order_box h5 { margin: 0 .5em .2em; letter-spacing: .1em; font-weight: 500; font-size: 1.2em; }
.order_box h5 b { margin-right: .5em; color: var(--red); }
.order_box h5.order_title { display: flex; align-items: center; }
.order_box h5.order_title strong { margin: 0 .5em; font-weight: 400; font-size: 1em; }
.order_box h5 .icheck { margin-left: .5em; display: inline-flex; align-items: center; }
.order_box h5 .icheck label { margin-left: .2em; font-weight: 400; font-size: .75em; color: var(--g_800); }
.order_box>div { padding: 1.5em; background: white; border: 1px var(--g_100) solid; grid-gap: .8em }

/* order_list */
.order_list .row_item { padding: .5em 1em; border-bottom: 1px var(--g_200) solid; display: grid; grid-template-columns: 80px repeat(6, 1fr) 25px; grid-gap: 0 .5em; align-items: center; }
.order_list .row_item.title { padding: .8em 1em; border-bottom-color: var(--g_400); }
.order_list .row_item.list .img a { padding: .2em; border: 1px var(--g_100) solid; width: 70px; aspect-ratio: 1/1; display: block; }
.order_list .row_item.add_item .item.name a { display: flex; flex-direction: column; align-items: flex-start; }
.order_list .row_item.add_item .item.name .add_txt { padding: .3em .5em; background: var(--g_500); line-height: 1em; font-size: .8em; color: var(--g_100); }

/* q_control */
.q_control { border: 1px var(--g_200) solid; display: inline-flex; align-items: stretch; }
.q_control button { position: relative; width: 2em; cursor: pointer; }
.q_control button:before { position: absolute; width: 30%; height: 1px; background: var(--g_500); display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); content: ""; }
.q_control button.plus:after { position: absolute; width: 30%; height: 1px; background: var(--g_500); display: block; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); content: ""; }
.q_control input { padding: .3em 0; width: 3em; border: 0; border-radius: 0; text-align: center; }

/* other_box */
#order .other_box { margin-top: 2em; }
#order .other_box >* { margin-left: auto; width: 20em; }
#order .other_box p { margin-bottom: 1em; display: flex; justify-content: flex-end; align-items: center; gap: .3em 1em; }
#order .other_box p label { min-width: 5em; }
#order .other_box p font { width: 1%; flex: 1 1 auto; font-size: .9em; }
#order .other_box p font input { padding: .2em .5em; font-size: 1em; }
#order .other_box p.point_txt { margin-bottom: 0; }
#order .other_box p.point_txt font { text-align: right; }

/* btns */
#order .btns { margin: 2em 0 .5em; display: flex; justify-content: center; align-items: center; }
#order .btns .btn { margin: 0 .5em; padding: .3em .5em; width: 10em; border: 1px var(--g_200) solid; text-align: center; }
#order .btns #btnClean { background: var(--primary); border-color: var(--primary); color: white; }

/* order_bottom_txt */
.order_bottom_txt {position: absolute;width: 100%;bottom: 0;left: 0;opacity: 0;z-index: 1000;background: white;}
.order_bottom_txt .workframe_s {padding: 1em 0 2em 0;display: flex;flex-wrap: wrap;justify-content: space-around;align-items: center;}
.order_bottom_txt.fixed { position: fixed; background: white; box-shadow: 0 0 .5em var(--g_200); opacity: 1; }
.order_bottom_txt.absolute-bt { opacity: 1; }
.order_bottom_txt.absolute-bt .workframe_s {padding-bottom: 2em;}
.order_bottom_txt .item_row { width: 45%; }
.order_bottom_txt .total_box , .order_bottom_txt p { display: flex; align-items: center; }
.order_bottom_txt .total_box label { min-width: 6em; }
.order_bottom_txt .total_box #totaltxt {margin-left: .5em;min-width: 6em;font-weight: 500;font-size: 1.2em;color: var(--g_700);}
.order_bottom_txt .send { display: flex; justify-content: flex-end; align-items: center; }
.order_bottom_txt .send #btnOK {padding: .5em;width: min(25em, 100%);text-align: center;background: var(--primary);color: white;}

/* bot_note */
#bot_note { position: relative; width: 1%; display: flex; flex-wrap: wrap; align-items: center; gap: .2em; flex: 1 1 auto; line-height: 1; color: var(--g_700); }
#bot_note span {line-height: 1.2;font-size: .8em;color: var(--g_700);}
#bot_note #opendis { margin: 0 .2em; line-height: 1; font-size: .9em; color: var(--red); cursor: pointer; }
#bot_note #opendis * { font-size: 1em; color: currentColor; }
#bot_note b { position: absolute; min-width: 7em; background: white; border: 1px var(--g_200) solid; border-radius: .2em; box-shadow: 0 0 .5em var(--g_200); right: 0; bottom: 120%; opacity: 0; }
#bot_note b span { overflow: hidden; height: 0; display: block; font-weight: 400; font-size: .9em; }
#bot_note b[data-type="2"] { padding: 5px 10px; opacity: 1; }
#bot_note b[data-type="2"]:before, #bot_note b[data-type="2"]:after { position: absolute; width: 0; height: 0; border-style: solid; border-width: 10px 8px 0 8px; border-color: #d6d6d6 transparent transparent transparent; display: inline-block; bottom: -10px; left: 20px; content: ""; }
#bot_note b[data-type="2"]:after { border-width: 10px 8px 0 8px; border-top-color: #fff; bottom: -9px; }
#bot_note b[data-type="2"] span { margin: .2em 0; height: 1.1em; }

@media screen and (min-width: 1161px){
	#member_page:hover { box-shadow: 0 0 .5em var(--g_200); }
}
@media screen and (min-width: 981px){
	.form_box { grid-template-columns: repeat(2, 1fr); }
	.form_box .large_item { grid-column: 1/3; }
	.order_list .row_item .item { text-align: center; }
	.order_list .row_item .item.img_name { grid-column: 1/4; text-align: left; }
	.order_list .row_item.list .item.name { grid-column: 2/4; text-align: left; }
	.order_list .row_item.add_item .item.name { grid-column: 2/5; }
	.order_list .row_item.add_item .item.price { grid-column-start: 7; }
	#order .btns { justify-content: flex-end; }
	#order .btns #btnClean { margin-right: 0; }
}
@media screen and (max-width: 980px) and (min-width: 641px){
	.contact_information { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 1.5em 1em; align-items: center; }
	.contact_information .title { grid-column: 1/3; }
}
@media screen and (max-width: 980px) {
	.order_list .row_item.title , .order_list .row_item.list .price { display: none; }
	.order_list .row_item.list { position: relative; padding: .5em; grid-template-columns: 80px 1fr 150px; grid-template-areas: "img name quantity" "img format quantity" "img amount quantity"; grid-gap: 0 .3em; align-items: end; }
	.order_list .row_item.list .img { grid-area: img; }
	.order_list .row_item.list .name { grid-area: name; }
	.order_list .row_item.list .format { grid-area: format; line-height: 1; font-size: .8em; color: var(--g_600); }
	.order_list .row_item.list .format:before { content: attr(data-tit)":"; }
	.order_list .row_item.list .quantity { grid-area: quantity; display: flex; justify-content: flex-end; }
	.order_list .row_item.list .amount { grid-area: amount; font-weight: 500; }
	.order_list .row_item.list .operate { position: absolute; top: .5em; right: .5em; }
.order_bottom_txt .item_row{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
    #bot_note{
    width: auto;
}
}
@media screen and (max-width: 640px){
	.form_box { padding: 2em 3%; }
	.form_box .address_box { grid-template-columns: repeat(2, 1fr); grid-template-areas: "city area" "inp inp"; }
	.form_box .address_box .address_inp { grid-area: inp; }
	.order_box>div { padding: 1.5em 3%; }
    .order_list .row_item.list{
}
    .order_bottom_txt .workframe_s{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}
    .order_bottom_txt .item_row{
    width: 100%;
}
}
@media screen and (min-width: 551px){
	select {
    -webkit-appearance: none;  /* Safari 和 Chrome，常用於iOS下移除內建樣式 */
    -moz-appearance: none;     /* FireFox */
    appearance: none;
}
	.form_box .flex_style label { margin-right: 3em; padding: .5em 0; width: 5em; text-align: justify; text-justify: distribute-all-lines; text-align-last: justify; }
	.form_box .flex_style >input , .form_box .flex_style >font { width: 1%; flex: 1 1 auto; }
}