/* BTO customization enhancement: production asset */
:root {
  --ed-accent:#0b5fa4; --ed-sel-bg:#eaf3fb; --ed-hover-bg:#f5f8fb;
  --ed-text:#1a1a1a; --ed-sub:#666; --ed-border:#d9d9d9; --ed-head-bg:#f0f3f5;
  --ed-alert:#b3261e; --ed-alert-bg:#fdf3f2; --ed-ok:#1a7f37; --ed-ng:#c00; --ed-cta:#e8620f;
}
.bto_chbox .bto_btd_blue.is-selected { background:var(--ed-sel-bg); border-top-color:transparent; box-shadow:none; font-weight:400; }
.bto_chbox .bto_btd_blue.is-selected + .bto_btd_blue { border-top-color:transparent; }
.bto_chbox .bto_btd_blue .bto_select { background:transparent; }
.bto_chbox .bto_btd_blue.is-selected .bto_select,
.bto_chbox .bto_btd_blue.is-selected td { background:transparent; }
.bto_chbox .bto_btd_blue:hover { background:var(--ed-hover-bg); }
/* Expand the associated label over the whole row without changing the HTML. */
.bto_chbox .bto_btd_blue { position:relative; }
.bto_chbox .bto_btd_blue .bto_01 input:not(:disabled) + label { cursor:pointer; }
.bto_chbox .bto_btd_blue .bto_01 input:not(:disabled) + label::after { bottom:0; content:""; cursor:pointer; left:0; position:absolute; right:0; top:0; z-index:1; }
.bto_chbox input[type="radio"], .bto_chbox input[type="checkbox"] { accent-color:var(--ed-accent); cursor:pointer; margin-right:8px; transform:scale(1.35); }
.bto_chbox td { padding-top:9px; padding-bottom:9px; }
.bto_chbox td.bto_02 { min-width:44px; text-align:right; white-space:nowrap; width:44px; }
.bto_chbox td.bto_03 { font-weight:400; min-width:36px; white-space:nowrap; width:36px; }
.bto_chbox td.bto_04 { min-width:88px; white-space:nowrap; width:88px; }
.contents .bto_section { color:var(--ed-text); font-size:14px; line-height:1.75; }
.bto_chbox { font-size:15px; line-height:1.6; }
.contents .bto_section h2 { background:var(--ed-head-bg); border-left:6px solid var(--ed-accent); font-size:18px; font-weight:700; line-height:1.4; margin:0 0 12px; padding:12px 16px; }
.contents .bto_section h3 { background:#fff; border-bottom:1px solid #d9e1e8; border-left:3px solid #9bb8cf; font-size:15px; font-weight:600; line-height:1.4; margin:4px 0 10px; padding:7px 12px; }
.contents .bto_section p.mb10 { color:var(--ed-sub); font-size:13px; line-height:1.75; }
.contents .bto_section font[color] { font-size:12px; line-height:1.7; }
.contents .bto_section font[color="#FF0000"], .contents .bto_section font[color="#ff0000"] { background:var(--ed-alert-bg); border-left:3px solid var(--ed-alert); color:var(--ed-alert) !important; display:block; font-size:12px; margin-top:8px; padding:8px 12px; }
.contents .bto_section font[color="#009900"] { color:var(--ed-ok) !important; display:block; margin-top:6px; }
/* Bottom navigation: align the back and primary action reliably on desktop. */
.contents .btbd_gray.tac { align-items:center; background:#fff; box-shadow:none; box-sizing:border-box; clear:both; display:flex; gap:16px; justify-content:flex-end; margin-top:24px; padding:12px 20px; position:static; text-align:right !important; width:100%; }
.contents .btbd_gray a.btn_f14_forange,
.contents .btbd_gray a.btn_f14 { align-items:center; box-sizing:border-box; display:inline-flex; justify-content:center; line-height:1.4; margin:0; text-decoration:none; }
.contents .btbd_gray a.btn_f14_forange { font-size:17px; font-weight:700; min-height:52px; padding:14px 40px; }
.contents .btbd_gray a.btn_f14 { font-size:14px; font-weight:400; min-height:44px; opacity:.85; padding:11px 22px; }
.contents .btbd_gray a.btn_f14 span,
.contents .btbd_gray a.btn_f14_forange span { background-image:none; padding-left:0; }

/* Production uses jQuery UI selectmenu; preserve its desktop width and make its focus state clear. */
.bto_chbox a.ui-selectmenu { background:#fff; border:1px solid var(--ed-accent); border-radius:4px; box-sizing:border-box; color:var(--ed-text); display:block; font-family:inherit; font-size:14px; line-height:1.4; max-width:100%; min-height:42px; padding:11px 38px 9px 12px; position:relative; text-decoration:none; width:670px !important; }
.bto_chbox a.ui-selectmenu.ui-state-default { height:auto; overflow:visible; }
.bto_chbox a.ui-selectmenu .ui-selectmenu-status { display:block; height:auto; line-height:1.5; overflow-wrap:break-word; white-space:normal; }
.ui-selectmenu-menu li a { height:auto; line-height:1.5; overflow-wrap:break-word; white-space:normal; }
.ui-selectmenu-menu .ui-selectmenu-item-content { max-width:100%; width:auto; }
.bto_chbox a.ui-selectmenu.bto_limitation:link,
.bto_chbox a.ui-selectmenu.bto_limitation:visited,
.bto_chbox a.ui-selectmenu.bto_limitation:hover,
.bto_chbox a.ui-selectmenu.bto_limitation:active { color:#c00; }
.bto_chbox a.ui-selectmenu:hover { background:var(--ed-hover-bg); }
.bto_chbox a.ui-selectmenu:focus-visible { box-shadow:0 0 0 3px rgba(11,95,164,.25); outline:0; }
.bto_chbox a.ui-selectmenu .ui-selectmenu-icon { margin-top:-3px; position:absolute; right:12px; top:50%; }

/* Keep the existing desktop header, links and fixed price panel intact. */
@media screen and (min-width:768px) {
  .bto_header { display:block; width:960px; }
  .bto_header.bto_fixed { left:auto; position:fixed; top:0; z-index:99; }
  .bto_header > table { display:table; width:100%; }
  .bto_header > table > tbody > tr > td { display:table-cell; }
  .box_02 { position:relative; }
  .box_02 .bto_sbox:not(.bto_fixed) { position:relative; top:0 !important; }
  .box_02 .bto_sbox.bto_fixed { position:fixed; }
  .box_02 .bto_sbox, .box_02 .bto_sbox_col_02 { display:block; }
}
.bto_sbox .tar, .bto_sprice .yen, .bto_chbox .tar { font-feature-settings:"tnum"; font-variant-numeric:tabular-nums; white-space:nowrap; }
.bto_sprice .yen { color:var(--ed-ng); font-size:18px; font-weight:700; }
.bto_sbox td.tar, .bto_sprice td { white-space:nowrap; }
.bto_sprice td:first-child { width:1%; }
.bto_sbox { background:#fff; box-shadow:none; }
#txtQuantity { border:1px solid var(--ed-accent); border-radius:4px; box-sizing:border-box; font-size:14px; height:28px; padding:2px 6px; text-align:right; width:48px; }
.ed-stock-ok { color:var(--ed-ok); font-weight:600; }
.ed-stock-ng { color:var(--ed-ng); font-weight:700; }
.ed-nav { background:#fff; border:1px solid var(--ed-border); box-sizing:border-box; margin:10px 0; max-height:220px; overflow-y:auto; width:178px; }
.ed-nav-ttl { background:var(--ed-head-bg); border-bottom:1px solid var(--ed-border); font-size:13px; font-weight:700; margin:0; padding:9px 10px; position:sticky; top:0; z-index:2; }
.ed-nav-list { list-style:none; margin:0; padding:4px 0; }
.ed-nav-list button { background:transparent; border:0; border-left:3px solid transparent; color:var(--ed-text); cursor:pointer; display:block; font-family:inherit; text-align:left; width:100%; font-size:12px; font-weight:600; padding:7px 10px; text-decoration:none; }
.ed-nav-list .is-sub button { color:var(--ed-sub); font-size:11px; font-weight:400; padding:5px 8px 5px 22px; position:relative; }
.ed-nav-list .is-sub button::before { color:#9bb8cf; content:"–"; left:10px; position:absolute; }
.ed-nav-list button:hover { background:var(--ed-sel-bg); border-left-color:var(--ed-accent); }
.ed-nav-list button:focus-visible { outline:2px solid var(--ed-accent); outline-offset:-2px; }
.ed-nav-parent { background:var(--ed-head-bg); font-size:12px; font-weight:700; padding:7px 10px; }
.ed-nav-list button.is-current { background:var(--ed-sel-bg); border-left-color:var(--ed-accent); color:var(--ed-accent); }

@media screen and (max-width:767px) {
  html, body { min-width:0 !important; overflow-x:hidden; }
  .wap, .contents, .box_01, .box_02 { float:none !important; margin-left:0; margin-right:0; max-width:100%; width:auto !important; }
  .header { box-sizing:border-box; margin-top:0 !important; max-width:100%; width:100%; }
  .header > .clearfix, .header_top_01, .header_2nd, .header .ad_01 { box-sizing:border-box; margin-left:0 !important; margin-right:0 !important; max-width:100%; width:100% !important; }
  .header_top_01 { padding-top:0; }
  .header_02_left, .header_02_right { background-image:none !important; display:none; float:none; height:0; width:0; }
  .header_02_center { box-sizing:border-box; float:none; max-width:100%; width:100% !important; }
  .header_02_03 { background-image:none !important; border-bottom:1px solid var(--ed-border); box-sizing:border-box; height:auto; min-height:52px; padding:8px 12px; width:100%; }
  .header_02_center img, .header_02_03 img { height:auto; max-width:100%; }
  .header .ad_01 { padding:0 12px; }
  .header .ad_01 .ad_l, .header .ad_01 .ad_r { box-sizing:border-box; float:none; text-align:left; width:100%; }
  .header .ad_01 .ad_r { margin-top:4px; }
  .contents { padding:0 12px; }
  .contents > .clearfix { display:flex; flex-direction:column; }
  .contents > .clearfix > .box_02 { order:-1; width:100% !important; }
  .bto_header, .bto_bar_title, .bto_header .fs12 { box-sizing:border-box; max-width:100%; width:100% !important; }
  .bto_header { margin-bottom:16px; padding:12px; }
  .bto_header > table, .bto_header > table > tbody, .bto_header > table > tbody > tr, .bto_header > table > tbody > tr > td { display:block; width:auto !important; }
  .bto_header > table > tbody > tr > td + td { margin-top:8px; }
  .bto_header.bto_fixed { position:static !important; top:auto !important; }
  #bto_header_dummy { height:0 !important; }
  .bto_header > .fs12 { font-size:12px !important; line-height:1.5; margin:8px 0 0; padding:0 4px; }
  .bto_header > table + .fs12 { margin-top:10px; }
  .bto_section table.mt10, .bto_section table.mt10 tbody, .bto_section table.mt10 tr, .bto_section table.mt10 > tbody > tr > td { display:block; width:auto !important; }
  .bto_section table.mt10 img[src*="/bto/icon/"] { display:none !important; }
  .contents .bto_section { font-size:15px; line-height:1.8; }
  .bto_chbox { font-size:16px; }
  .contents .bto_section h2 { font-size:17px; padding:10px 12px; }
  .contents .bto_section h3 { font-size:14px; padding:7px 10px; }
  .bto_chbox td { padding-bottom:13px !important; padding-top:13px !important; }
  .bto_chbox input[type="radio"], .bto_chbox input[type="checkbox"] { margin-right:12px; transform:scale(1.5); }
  .bto_chbox .bto_btd_blue table, .bto_chbox .bto_btd_blue tbody { display:block; width:100%; }
  .bto_chbox .bto_btd_blue tr { align-items:center; display:grid; grid-template-columns:1fr auto auto; width:100%; }
  .bto_chbox .bto_btd_blue td.bto_01 { grid-column:1 / -1; min-width:0; width:auto; }
  .bto_chbox .bto_btd_blue td.bto_02 { grid-column:1; min-width:0; text-align:left; width:auto; }
  .bto_chbox .bto_btd_blue td.bto_03 { grid-column:2; min-width:0; width:auto; }
  .bto_chbox .bto_btd_blue td.bto_04 { grid-column:3; justify-self:end; min-width:0; width:auto; }
  .box_02 .bto_sbox { background:#fff; box-shadow:none; box-sizing:border-box; margin:0 0 20px; padding:12px; position:static !important; top:auto !important; width:100% !important; }
  .box_02 .bto_sbox_b01, .box_02 .bto_sbox_col_02, .box_02 .ed-nav,
  .box_02 .bto_sbox_col_01 > div:not(.bto_sprice) { display:none; }
  .box_02 .bto_sbox_col_01 { background:transparent; border:0; box-sizing:border-box; display:block; padding:0; width:100% !important; }
  .box_02 .bto_sprice { display:block; width:100%; }
  .bto_sprice table { display:table; width:100%; }
  .bto_sprice .yen { font-size:28px; line-height:1.3; }
  form[name="optform"] { padding-bottom:0; }
  .contents .btbd_gray.tac { align-items:stretch; box-shadow:none; display:flex; flex-direction:column; gap:8px; padding:8px 0; position:static; text-align:center !important; }
  .contents .btbd_gray a.btn_f14_forange, .contents .btbd_gray a.btn_f14 { box-sizing:border-box; display:flex; margin:0; width:100%; }
  #txtQuantity { font-size:14px; height:32px; width:48px; }
  .bto_header .flex_row.pr10 { display:grid; gap:3px; grid-template-columns:repeat(4, minmax(0, 1fr)); padding-right:0 !important; width:100%; }
  .bto_header .c_cst_box, .bto_header .o_cst_box, .bto_header .ct_cst_box { align-items:center; box-sizing:border-box; display:flex; font-size:11px; justify-content:center; line-height:1.35; margin:0 !important; min-height:42px; min-width:0; padding:6px 3px; text-align:center; width:auto !important; }
  .bto_header .c_cst_box > span, .bto_header .o_cst_box > span, .bto_header .ct_cst_box > span { margin-left:3px !important; }
  .bto_header .c_cst_box > span:first-child, .bto_header .o_cst_box > span:first-child, .bto_header .ct_cst_box > span:first-child { margin-left:0 !important; }
  .bto_header .c_cst_box > span:last-child.fs10, .bto_header .o_cst_box > span:last-child.fs10, .bto_header .ct_cst_box > span:last-child.fs10 { display:none; }
  .bto_header > table .flex_row.flex_items_center:not(.pr10) { display:grid; gap:5px; grid-template-columns:repeat(2, minmax(0, 1fr)); width:100%; }
  .bto_header > table .flex_row.flex_items_center:not(.pr10) > .ml_auto.flex_row { display:contents; }
  .bto_header .e_cst_box, .bto_header .od_cst_box, .bto_header .c2_cst_box { align-items:center; box-sizing:border-box; display:flex; font-size:14px; justify-content:center; margin:0 !important; min-height:44px; min-width:0; padding:9px 4px; width:100% !important; }
  .contents .btbd_gray > .flex_row.flex_items_center { display:grid; gap:8px; grid-template-columns:repeat(2, minmax(0, 1fr)); width:100%; }
  .contents .btbd_gray .e_cst_box, .contents .btbd_gray .od_cst_box { align-items:center; box-sizing:border-box; display:flex; justify-content:center; margin:0; min-height:48px; width:100%; }
  .contents .bto_section table.table_cart { min-width:620px; width:100%; }
  .contents .bto_section table.table_cart th, .contents .bto_section table.table_cart td { box-sizing:border-box; font-size:12px; padding:6px 4px; }
  .contents .bto_section .ed-cart-scroll { max-width:100%; overflow-x:auto; }
  .contents .bto_section table.table_cart td:first-child { overflow-wrap:break-word; }
  .contents .bto_section table.table_cart td.tar { white-space:nowrap; }
  .bto_table select, .bto_chbox select, .bto_chbox a.ui-selectmenu { box-sizing:border-box; max-width:100% !important; min-width:0 !important; width:100% !important; }
  .ui-selectmenu-menu { box-sizing:border-box; max-width:calc(100vw - 24px) !important; width:calc(100vw - 24px) !important; }
  .ui-selectmenu-menu ul, .ui-selectmenu-menu li, .ui-selectmenu-menu li a, .ui-selectmenu-item-content, .ui-selectmenu-status { box-sizing:border-box; max-width:100% !important; min-width:0 !important; width:auto !important; }
  .ui-selectmenu-menu li a, .ui-selectmenu-item-content, .ui-selectmenu-status { overflow-wrap:break-word; white-space:normal; word-break:normal; }
}
