@charset "UTF-8";

:root {
  --ff-sans_serif: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --ff-serif: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  --ff-smg: "Sorts Mill Goudy", var(--ff-serif);
  --ff-zmg: "Zen Maru Gothic", var(--ff-sans_serif);
  --ff-qs: "Quicksand", var(--ff-sans_serif);

  --leading-trim: calc((1em - 1lh) / 2);

  --updownMoveHeight : 96px;

  --shape-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --shape-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --shape-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --shape-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --shape-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --shape-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --shape-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --shape-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);

  --gsPict-greeting: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20108%20108%22%20fill%3D%20%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M27.12%2C53.97c6.86%2C12.14%2C17.2%2C26.9%2C26.88%2C26.9%2C16.44%2C0%2C34.77-42.59%2C34.77-42.59%22%2F%3E%3Cpath%20d%3D%22M64.37%2C18.22c1.95-1.61%2C2.53-4.43%2C1.22-6.69-1.31-2.26-4.04-3.18-6.4-2.29-.42-2.5-2.57-4.4-5.18-4.4s-4.77%2C1.91-5.18%2C4.4c-2.37-.89-5.1.03-6.4%2C2.29-1.31%2C2.26-.73%2C5.08%2C1.22%2C6.69-1.95%2C1.61-2.53%2C4.43-1.22%2C6.69s4.04%2C3.18%2C6.4%2C2.29c.42%2C2.5%2C2.57%2C4.4%2C5.18%2C4.4s4.77-1.91%2C5.18-4.4c2.37.89%2C5.1-.03%2C6.4-2.29%2C1.31-2.26.73-5.08-1.22-6.69Z%22%2F%3E%3Cpath%20d%3D%22M41.18%2C31.6c1.95-1.61%2C2.53-4.43%2C1.22-6.69-1.31-2.26-4.04-3.18-6.4-2.29-.42-2.5-2.57-4.4-5.18-4.4s-4.77%2C1.91-5.18%2C4.4c-2.37-.89-5.1.03-6.4%2C2.29-1.31%2C2.26-.73%2C5.08%2C1.22%2C6.69-1.95%2C1.61-2.53%2C4.43-1.22%2C6.69%2C1.31%2C2.26%2C4.04%2C3.18%2C6.4%2C2.29.42%2C2.5%2C2.57%2C4.4%2C5.18%2C4.4s4.77-1.91%2C5.18-4.4c2.37.89%2C5.1-.03%2C6.4-2.29%2C1.31-2.26.73-5.08-1.22-6.69Z%22%2F%3E%3Cpath%20d%3D%22M65.6%2C38.29c1.31%2C2.26%2C4.04%2C3.18%2C6.4%2C2.29.42%2C2.5%2C2.57%2C4.4%2C5.18%2C4.4s4.77-1.91%2C5.18-4.4c2.37.89%2C5.1-.02%2C6.4-2.29s.73-5.08-1.22-6.69c1.95-1.61%2C2.53-4.43%2C1.22-6.69-1.31-2.26-4.04-3.18-6.4-2.29-.42-2.5-2.57-4.4-5.18-4.4s-4.77%2C1.91-5.18%2C4.4c-2.37-.89-5.1.03-6.4%2C2.29-1.31%2C2.26-.73%2C5.08%2C1.22%2C6.69-1.95%2C1.61-2.53%2C4.43-1.22%2C6.69Z%22%2F%3E%3Cpath%20class%3D%22c%22%20d%3D%22M19.23%2C38.29s2.39%2C5.55%2C6.22%2C12.64%22%2F%3E%3Ccircle%20cx%3D%2254%22%20cy%3D%2218.22%22%20r%3D%224.16%22%2F%3E%3Cg%3E%3Cpath%20d%3D%22M64.37%2C44.98c1.95-1.61%2C2.53-4.43%2C1.22-6.69-1.31-2.26-4.04-3.18-6.4-2.29-.42-2.5-2.57-4.4-5.18-4.4s-4.77%2C1.91-5.18%2C4.4c-2.37-.89-5.1.03-6.4%2C2.29-1.31%2C2.26-.73%2C5.08%2C1.22%2C6.69-1.95%2C1.61-2.53%2C4.43-1.22%2C6.69s4.04%2C3.18%2C6.4%2C2.29c.42%2C2.5%2C2.57%2C4.4%2C5.18%2C4.4s4.77-1.91%2C5.18-4.4c2.37.89%2C5.1-.03%2C6.4-2.29%2C1.31-2.26.73-5.08-1.22-6.69Z%22%2F%3E%3Ccircle%20cx%3D%2254%22%20cy%3D%2244.98%22%20r%3D%224.16%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2230.81%22%20cy%3D%2231.6%22%20r%3D%224.16%22%2F%3E%3Cpath%20d%3D%22M59.46%2C102.27c-1.76.59-3.58.89-5.46.89-4.61%2C0-8.94-1.89-12.7-5.19l5.61-18.94%22%2F%3E%3Cpath%20d%3D%22M61.08%2C79.03l5.64%2C18.92c-1.51%2C1.34-3.1%2C2.44-4.77%2C3.28%22%2F%3E%3Cpath%20d%3D%22M32.03%2C18.26c-2.7-4.68-.09-11.24-.09-11.24%2C0%2C0%2C6.98%2C1.03%2C9.68%2C5.71%22%2F%3E%3Ccircle%20cx%3D%2277.19%22%20cy%3D%2231.6%22%20r%3D%224.16%22%2F%3E%3Cpath%20d%3D%22M54%2C80.88c16.44%2C0%2C34.77-42.59%2C34.77-42.59%22%2F%3E%3Cpath%20class%3D%22c%22%20d%3D%22M74.83%2C51.95c.39-.68.76-1.36%2C1.13-2.02%22%2F%3E%3Cpath%20class%3D%22c%22%20d%3D%22M70.99%2C58.36c.46-.72.91-1.45%2C1.35-2.17%22%2F%3E%3Cpath%20d%3D%22M75.97%2C18.26c2.7-4.68.09-11.24.09-11.24%2C0%2C0-6.98%2C1.03-9.68%2C5.71%22%2F%3E%3Cpath%20d%3D%22M47.09%2C71.01c1.83%2C4.66%2C4.43%2C9.87%2C6.91%2C9.87%2C4.5%2C0%2C9.38-17.06%2C9.38-17.06%22%2F%3E%3Cline%20class%3D%22c%22%20x1%3D%2254%22%20y1%3D%2280.88%22%20x2%3D%2256.56%22%20y2%3D%2290.43%22%2F%3E%3C%2Fsvg%3E");
  --gsPict-babygift: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20108%20108%22%20fill%3D%20%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M79.89%2C31.94c.42%2C1.88.65%2C3.83.65%2C5.83v32.65c0%2C13.98-10.86%2C25.43-24.61%2C26.36%22%2F%3E%3Cpath%20d%3D%22M27.56%2C52.44v-14.67c0-14.59%2C11.83-26.42%2C26.42-26.42h.14c6.12%2C0%2C11.75%2C2.08%2C16.22%2C5.57%22%2F%3E%3Cpath%20d%3D%22M27.8%2C73.96c-.15-1.16-.23-2.34-.23-3.54v-14.18%22%2F%3E%3Cpath%20d%3D%22M52.25%2C96.78c-7.14-.46-13.51-3.76-17.99-8.78%22%2F%3E%3Cpath%20d%3D%22M89.11%2C11.17c-2.64.43-5.07%2C2.15-5.55%2C4.56-1.19-6-14.42-7.67-13.13%2C3.92.7%2C6.31%2C13.13%2C15.18%2C13.13%2C15.18%2C0%2C0%2C12.43-8.87%2C13.13-15.18.53-4.79-1.41-7.32-3.96-8.21%22%2F%3E%3Cpath%20d%3D%22M22.78%2C95.68c1.01.79%2C1.66%2C1.26%2C1.66%2C1.26%2C0%2C0%2C12.43-8.87%2C13.13-15.18%2C1.29-11.59-11.94-9.92-13.13-3.92-1.19-6-14.42-7.67-13.13%2C3.92.42%2C3.76%2C5%2C8.43%2C8.64%2C11.59%22%2F%3E%3Cpath%20d%3D%22M80.54%2C37.63c0%2C25.08-40.64%2C13.65-36.75%2C57.26%22%2F%3E%3Cpath%20d%3D%22M27.56%2C37.63c0%2C15.51%2C15.55%2C17.06%2C26.49%2C26.3%22%2F%3E%3Cpath%20d%3D%22M43.53%2C50.32s-2.27%2C1.31-4.53%2C4.24%22%2F%3E%3Cpath%20d%3D%22M74.55%2C37.76c0-2.49-2.17-4.53-4.93-4.72-2.03-6.72-8.26-11.62-15.64-11.62s-13.62%2C4.9-15.64%2C11.62c-2.76.19-4.93%2C2.23-4.93%2C4.72s2.17%2C4.53%2C4.93%2C4.72c2.03%2C6.72%2C8.26%2C11.62%2C15.64%2C11.62s13.62-4.9%2C15.64-11.62c2.76-.19%2C4.93-2.23%2C4.93-4.72Z%22%2F%3E%3Cpath%20d%3D%22M54.82%2C21.45c2.79%2C2.21%2C3.71%2C4.13%2C3.67%2C5.89-.08%2C3.12-4.95%2C5.11-6.23%2C0%22%2F%3E%3Cpath%20d%3D%22M64.42%2C50.32s2.27%2C1.31%2C4.53%2C4.24%22%2F%3E%3C%2Fsvg%3E");
  --gsPict-bridal:   url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20108%20108%22%20fill%3D%20%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpolyline%20points%3D%2215.55%2040.93%2015.55%2031.26%2024.74%2031.26%22%2F%3E%3Cpolyline%20points%3D%2230.76%2047.73%2015.55%2047.73%2015.55%2044.55%22%2F%3E%3Cline%20x1%3D%2261.58%22%20y1%3D%2247.73%22%20x2%3D%2246.42%22%20y2%3D%2247.73%22%2F%3E%3Cpolyline%20points%3D%2283.22%2031.26%2092.45%2031.26%2092.45%2047.73%2077.22%2047.73%22%2F%3E%3Crect%20x%3D%2247.14%22%20y%3D%2222.66%22%20width%3D%2213.72%22%20height%3D%2217.01%22%20rx%3D%223.4%22%20ry%3D%223.4%22%2F%3E%3Cpolyline%20points%3D%2260.22%2047.73%2060.22%2092.57%2047.78%2092.57%2047.78%2047.73%22%2F%3E%3Cpolyline%20points%3D%2287%2084.81%2087%2092.57%2021%2092.57%2021%2047.73%22%2F%3E%3Cline%20x1%3D%2287%22%20y1%3D%2247.73%22%20x2%3D%2287%22%20y2%3D%2281.2%22%2F%3E%3Cpath%20d%3D%22M47.87%2C23.73l-16.01-7.55c-5.42-2.55-7.54%2C2.23-7.54%2C2.23l-2.55%2C6.91c-.6%2C3.51%2C1.39%2C5.85%2C5.42%2C6.8l19.96%2C5.58%22%2F%3E%3Cpath%20d%3D%22M37.24%2C34.93s-12.08%2C20.67-12.51%2C33.42l8.18-5.84%2C5.42%2C7.77s2.76-17.67%2C13.62-30.6%22%2F%3E%3Cpath%20d%3D%22M25.97%2C25.36c2.6-3.02%2C6.1-4.19%2C21.17%2C3.87%22%2F%3E%3Cpath%20d%3D%22M82.03%2C25.36c-2.6-3.02-6.1-4.19-21.17%2C3.87%22%2F%3E%3Cpath%20d%3D%22M60.13%2C23.73l16.01-7.55c5.42-2.55%2C7.54%2C2.23%2C7.54%2C2.23l2.55%2C6.91c.6%2C3.51-1.39%2C5.85-5.42%2C6.8l-19.96%2C5.58%22%2F%3E%3Cpath%20d%3D%22M70.76%2C34.93s12.08%2C20.67%2C12.51%2C33.42l-8.18-5.84-5.42%2C7.77s-2.76-17.67-13.62-30.6%22%2F%3E%3C%2Fsvg%3E");
  --gsPict-uchiiwai: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20108%20108%22%20fill%3D%20%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Ccircle%20cx%3D%2228.22%22%20cy%3D%2233.57%22%20r%3D%2215.61%22%2F%3E%3Ccircle%20cx%3D%2279.68%22%20cy%3D%2233.57%22%20r%3D%2215.61%22%2F%3E%3Cline%20x1%3D%2211.58%22%20y1%3D%2249.19%22%20x2%3D%2211.16%22%20y2%3D%2255.55%22%2F%3E%3Cline%20x1%3D%2212.6%22%20y1%3D%2233.57%22%20x2%3D%2211.75%22%20y2%3D%2246.58%22%2F%3E%3Cpath%20d%3D%22M31.62%2C49.19v5.03s7.86%2C0%2C7.86%2C0c8.24%2C0%2C11.58%2C6.09%2C10.58%2C13.38l-3.15%2C22.44H9.52s-3.15-22.44-3.15-22.44c-1-7.29%2C2.34-13.38%2C10.58-13.38h7.86v-5.03%22%2F%3E%3Cpath%20d%3D%22M22.3%2C60.89c-4.05-.76-7.97%2C1.07-7.43%2C5.76l3.28%2C23.38%22%2F%3E%3Cpath%20d%3D%22M39.36%2C82.44l2.21-15.78c.82-7.19-8.81-7.65-13.35-2.4-.76-.87-1.65-1.59-2.62-2.14%22%2F%3E%3Cline%20x1%3D%2238.3%22%20y1%3D%2290.04%22%20x2%3D%2238.88%22%20y2%3D%2285.89%22%2F%3E%3Cpolyline%20points%3D%2274.72%2050.58%2079.68%2054.21%2072.68%2059.34%2072.68%2049.08%2074.72%2050.58%22%2F%3E%3Cpath%20d%3D%22M57.57%2C69.61v-3.03c0-4.67%2C5.65-13.63%2C15.11-12.38%22%2F%3E%3Cpolyline%20points%3D%22101.79%2086.06%20101.79%2090.04%2057.57%2090.04%2057.57%2073.65%22%2F%3E%3Cpath%20d%3D%22M86.69%2C54.21c9.46-1.26%2C15.11%2C7.71%2C15.11%2C12.38v15.85%22%2F%3E%3Cpolygon%20points%3D%2286.69%2049.08%2079.68%2054.21%2086.69%2059.34%2086.69%2049.08%22%2F%3E%3Cpolyline%20points%3D%2277.71%2069.61%2075.38%2057.36%2075.38%2057.33%22%2F%3E%3Cpolyline%20points%3D%2283.98%2057.36%2081.52%2069.61%2080.91%2072.6%2079.68%2078.71%2078.22%2072.17%22%2F%3E%3Cpolyline%20points%3D%2289.76%2054.21%2091.84%2062.29%2090.23%2064.47%2088.17%2067.26%2079.68%2078.75%2070.32%2066.07%2068.76%2063.96%2067.52%2062.29%2069.61%2054.21%22%2F%3E%3Cpath%20d%3D%22M12.65%2C32.32c.64-.03%2C7.24-.5%2C10.16-5.52%2C0%2C0%2C3.84%2C6.78%2C21.02%2C6.78l1.45%2C21.98%22%2F%3E%3Cpath%20d%3D%22M64.83%2C28.74c4.84.13%2C4.66%2C2.39%2C9.5%2C2.52s4.91-2.35%2C9.75-2.22c2.24.06%2C3.43.62%2C4.54%2C1.22.78.42%2C1.52.86%2C2.56%2C1.16.68.2%2C1.49.33%2C2.52.36.56.01%2C1.05%2C0%2C1.49-.05%22%2F%3E%3Cline%20x1%3D%2279.68%22%20y1%3D%2290.04%22%20x2%3D%2279.68%22%20y2%3D%2278.32%22%2F%3E%3C%2Fsvg%3E"); 
  --gsPict-memorial: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20108%20108%22%20fill%3D%20%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M11.48%2C57.97c6.29%2C11.84%2C18.56%2C24.1%2C42.52%2C22.24%2C0%2C0-7.56-4.81-12.13-13.84%22%2F%3E%3Cpath%20d%3D%22M18.14%2C67.8c-4.34%2C1.67-11.19%2C5.28-11.19%2C5.28%2C29.89%2C20.91%2C47.05%2C7.13%2C47.05%2C7.13%2C1.15-23.18-19.87-36.72-48.46-39.12.64%2C3.14%2C1.86%2C8.02%2C4.2%2C13.3%22%2F%3E%3Cpath%20d%3D%22M24.81%2C44.77c-.03-9.07%2C2.63-15.19%2C2.92-15.91%2C1.83.37%2C7.02%2C2.5%2C14.14%2C8.09%22%2F%3E%3Cpath%20d%3D%22M57.06%2C23.05c-1.05-1.29-1.85-2.21-3.06-3.54-16.28%2C17.93-17.38%2C32.33-13.92%2C42.6%22%2F%3E%3Cpath%20d%3D%22M69.5%2C51.15c8.5-5.57%2C19.94-8.97%2C32.96-10.07-2.2%2C10.74-11.19%2C42.01-48.46%2C39.12%2C0%2C0%2C30.57-19.47%2C5.91-53.48%22%2F%3E%3Cpath%20d%3D%22M90.58%2C79.14c-23.75%2C11.93-36.58%2C1.07-36.58%2C1.07-.53-10.77%2C3.72-19.47%2C11.3-25.92%22%2F%3E%3Cpath%20d%3D%22M89.86%2C67.8c4.34%2C1.67%2C11.19%2C5.28%2C11.19%2C5.28-2.28%2C1.59-4.02%2C2.72-6.15%2C3.93%22%2F%3E%3Cpath%20d%3D%22M83.19%2C44.77c.03-9.07-2.63-15.19-2.92-15.91-1.83.37-7.02%2C2.5-14.14%2C8.09%22%2F%3E%3Cg%3E%3Cpath%20d%3D%22M5.54%2C86.48c21.38-.44%2C32.68%2C9.56%2C48.46%2C9.56%22%2F%3E%3Cpath%20d%3D%22M102.46%2C86.48c-21.38-.44-32.68%2C9.56-48.46%2C9.56%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2254.11%22%20cy%3D%2212.46%22%20r%3D%22.5%22%2F%3E%3C%2Fsvg%3E");
  --gsPict-corpgift: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20108%20108%22%20fill%3D%20%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpolyline%20points%3D%2295.18%2082.43%2095.18%2090.59%2012.82%2090.59%2012.82%2086.1%2012.82%2081.39%2012.82%2039.58%2012.82%2035.41%2012.82%2032.61%2095.18%2032.61%2095.18%2077.48%22%2F%3E%3Cpath%20d%3D%22M95.18%2C57.6c0%2C2.21-1.79%2C4-4%2C4h-29.62%22%2F%3E%3Cpath%20d%3D%22M12.82%2C57.6c0%2C2.21%2C1.79%2C4%2C4%2C4h2.05%22%2F%3E%3Cline%20x1%3D%2246.35%22%20y1%3D%2261.6%22%20x2%3D%2222.53%22%20y2%3D%2261.6%22%2F%3E%3Crect%20x%3D%2246.44%22%20y%3D%2255.54%22%20width%3D%2215.11%22%20height%3D%2212.24%22%2F%3E%3Cpath%20d%3D%22M55.09%2C76.81c2.21%2C0%2C3.5-1.79%2C3.5-4v-5.03h-9.17v5.03c0%2C2.21%2C1.29%2C4%2C3.5%2C4%22%2F%3E%3Cpolyline%20points%3D%2237.79%2017.41%2035.63%2017.41%2035.63%2032.52%2072.37%2032.52%2072.37%2017.41%2040.26%2017.41%22%2F%3E%3Cpolyline%20points%3D%2241.69%2032.52%2041.69%2023.47%2066.31%2023.47%2066.31%2029.98%22%2F%3E%3C%2Fsvg%3E");
}

*::before,
*::after {
  box-sizing: border-box;
}

/*---- アニメーション ----*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.page_contents,
.pane-order-contents,
.pane-contents {
  animation: fadeIn .7s ease-in 0s 1 normal;
}

/*---- 全体設定 ----*/
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: 600;
}

:where(html) {
  font-size: 62.5%;

  body {
    color: var( --cl-br );
    font-family: var( --ff-sans_serif );
    font-size: 1.5rem;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var( --col_Background );
  }

  .sp-only {
    display: none;
  }

  .block-base-container {
    width: var( --wrapperW );
    margin-inline: auto;
  }

  /*---- ヘッドライン ----*/
  h1, h2, h3, h4, h5 {
    font-family: var( --ff-serif );
  }

  h1,
  .h1 {
    margin: 30px 0 30px 0;
    font-size: 2.4rem;
    font-weight: 600;
  }

  h2 {
    margin: 20px 0;
    font-size: 2.2rem;
    font-weight: 600;

    span {
      display: block;
      font-size: 1.3rem;
      line-height: 1.1;
      letter-spacing: 0;
    }

    &.after-border {
      text-align: center;
      line-height: 1.4;
      padding-bottom: 35px;
      margin-bottom: 50px;
      position: relative;
      letter-spacing: .1em;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 2em;
        margin-left: -1em;
        height: 2px;
        background: #444;
      }
    }
  }

  h3 {
    font-size: 1.8rem;
  }

  /*---- リンク ----*/
  a {
    color: var( --cl-a );
    transition: .15s;

    &:hover {
      opacity: .8;
    }

    .img-center img:hover {
      scale: 102%;
      transition-duration: .3s;
    }

    &[target="_blank"] {
      display: inline;
      align-items: center;
      line-break: anywhere;

      .ico--blank::after,
      &::after {
        content: "";
        display: inline-block;
        margin: 0 .1em 0 .1em;
        width: 1em;
        aspect-ratio: 1;
        mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2024%2024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cstyle%3E%20%20g%20%7B%20%20%20%20fill%3A%20none%3B%20%20%20%20stroke%3A%20%23433D37%3B%20%20%20%20stroke-width%3A%201pt%3B%20%20%7D%3C%2Fstyle%3E%3Cg%3E%3Crect%20x%3D%227.5%22%20y%3D%223.5%22%20width%3D%2213%22%20height%3D%2211%22%2F%3E%3Crect%20x%3D%223.5%22%20y%3D%229.5%22%20width%3D%2213%22%20height%3D%2211%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
        background-color: currentColor;
        transition: .3s;
      }
      header &::after { display: none; }

      &:hover::after {
        background-color: currentColor;
      }
    }
  }

  /*---- タグ ----*/
  hr {
    border-bottom: 1px dotted #ccc;
  }

  img {
    vertical-align: bottom;
  }

  /*---- スクロールバー ----*/
  body ::-webkit-scrollbar {
    height: 4px !important;
  }

  body ::-webkit-scrollbar-track {
    background: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: inset 0 0 2px #777;
  }

  body ::-webkit-scrollbar-thumb {
    background: #00000028;
    border-radius: 10px;
    box-shadow: none;
  }

  /*---- margin padding ----*/
  .mt0 { margin-top: 0 !important; }
  .mb0 { margin-bottom: 0 !important; }

  .pt0 { padding-top: 0 !important; }
  .pb0 { padding-bottom: 0 !important; }

  /*---- input ----*/
  select {
    .hidden-option {
      display: none;
    }
  }

  /*---- スタイリング済 プルダウン ----*/
  .js-select-wrap {
    position: relative;
    display: inline-flex;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0;
    background-color: #fff;
    overflow: hidden;

    &:hover, &:focus, &:focus-within {
      border-color: var( --col_Gold );
    }

    &::before,
    &::after {
      content: "";
      position: absolute;
      display: block;
      width: 36px;
      height: 100%;
      transition: .3s;
    }

    &::before {
      top: 0;
      right: 0;
      background: #e5e5e5;
    }
    &::after {
      top: calc(50% - 3px);
      right: 11px;
      width: 12px;
      height: 12px;
      border: 2px solid #555;
      border-width: 0 0 2px 2px;
      transform: translateY(-50%) rotate(-45deg);
    }

    &:hover::before, &:focus::before {
      opacity: .8;
    }
    &:hover::after, &:focus::after {
      border-color: var( --col_MypreBlue ); 
    }

    &:focus-within::before {
      background: #eee; 
    } 
    &:focus-within::after {
      border-color: var( --col_MypreBlue ); 
    }
    &:has(:open)::after { 
      transform: rotate(135deg);
      border-color: var( --col_MypreBlue ); 
    }

    select {
      appearance: none;
      -webkit-appearance: none;
      border: 0;
      display: flex;
      align-items: center;
      height: 46px;
      width: 100%;
      padding: 4px 47px 4px 4px;
      line-height: 1;
      font-weight: 400;
      background: transparent;
      z-index: 10;

      &:focus, &:hover {
        border: 0 !important;
        outline: 0;

      }
    }
  }

  label {
    cursor: pointer;
    border-radius: 2px;
    transition: .3s;

    &:hover {
      text-decoration: none;
    }

    &:not([for]):not(:has(input)):not(:has(select)) {
      pointer-events: none;
      color: var( --cl-a );

      &:hover {
        color: unset;
      }
    }
  }

  input[type="radio"],
  input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    margin: 0;
    height: unset;
    width: 24px;
    border: 1px solid #ccc;
    aspect-ratio: 1 / 1;
    background: #fff;
    overflow: visible;
    flex-grow: 0 !important;

    &:hover {
      border-color: var( --col_Gold );
    }

    label &,
    label & + input {
      display: inline-block;
      margin: 0 6px 0 0;
    }
    &:has(+ label) {
      display: inline-block;
      margin-right: 6px;
    }

    label:has(&) {
      display: inline-flex;
      align-items: center;
      padding: 0 4px;
    }
    label:has(&:checked) {
      font-weight: 600;
      color: var( --col_MypreBlue );
    }
    & + label {
      display: inline-block;
      position: relative;
      margin: 0;
      width: auto;
      font-size: 1.4rem;
      transition: .3s;

      &:hover {
        color: var( --col_Gold );
      }
    }
    &:checked + label {
      font-weight: 600;
      color: var( --col_MypreBlue );
    }
  }

  input[type="radio"] {
    border-radius: 50%;

    &:checked {
      &::after {
        content: "";
        display: block;
        position: absolute;
        border-radius: 50%;
        top: 4px;
        left: 4px;
        width: 14px;
        aspect-ratio: 1 / 1;
        background: var( --col_MypreBlue );
      }
    }
  }

  input[type="checkbox"] {
    &:checked {
      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 5px;
        left: 2px;
        width: 18px;
        height: 8px;
        border: 2px var( --col_MypreBlue ) solid;
        border-width: 0 0 2px 2px;
        transform: rotate(-40deg);
      }
    }
  }

  .form-group.block-order-gift-confirmation--mailnews.last {
    input[type="radio"],
    input[type="checkbox"] {
      & + input + label {
        padding-left: 30px;
        position: relative;
        margin-right: 30px;
        transition: .3s;
      }

      &:checked + input + label {
        &::after {
          opacity: 1;
        }
      }
    }
  }

  /*---- 入力フォーム共通 ----*/
  :is(input, button, select, textarea) {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    transition: .15s;
  }

  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="search"],
  input[type="password"],
  input[type="url"],
  input[type="number"] {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 4px;
    height: 48px;
  }

  select {
    line-height: 48px;
    height: 48px;
    min-width: 5em;
    border-radius: 4px;
    padding-right: 8px;
  }

  textarea {
    padding: 10px 5px;
    vertical-align: bottom;;
    border-radius: 4px;
    scrollbar-width: thin;

    &[readonly] {
      border-radius: 0;
      padding: 16px;
    }
  }

  input[type="text"]:hover,
  input[type="tel"]:hover,
  input[type="email"]:hover,
  input[type="search"]:hover,
  input[type="password"]:hover,
  input[type="url"]:hover,
  input[type="number"]:hover,
  select:hover,
  textarea:hover {
    &:not([readonly]) {
      border: 1px solid var( --col_Gold );
    }
  }

  input[disabled] {
    color: #fff !important;
    background: #ccc !important;
  }

  input[type="text"][disabled] {
    background: #00000028;
    cursor: not-allowed;
  }

  input[type="radio"][disabled],
  input[type="checkbox"][disabled] {
    & + label {
      opacity: .5;
      cursor: not-allowed; /* 禁止カーソル */
    }
  }

  /*---- ボタン ----*/
  .btn {
    margin: 0;
    border: none;
    border-radius: 4px;
    display: inline-flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 20px;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none !important;
    transition: .3s;

    &:hover,
    &:focus {
      opacity: .8;
      text-decoration: none;
    }

    &:active,
    &.active {
      outline: 0;
    }

    &.disabled,
    &[disabled],
    &.disabled:hover,
    &[disabled]:hover,
    &.disabled:active,
    &[disabled]:active {
      cursor: not-allowed;
      opacity: .65;
      box-shadow: none !important;
    }
  }

  .hidden-btn {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
  }

  .btn-default {
    &:hover,
    &:focus {
      color:var( --col_Gold );
    }
  }

  /*---- 画面上部メッセージ ----*/
  .alert {
    padding-left: 40px;
    margin-bottom: 5px;
    border-color: #f00;
    color: #f00;
  }

  .error-list {
    margin-top: 12px;

    &:not(:has(li)) {
      margin: 0;
    }

    li {
      display: flex;
      align-items: flex-start;

      & + & {
        margin-top: 4px;
      }

      &::before {
        content: "・";
        font-weight: 600;
      }
    }
  }

  .success {
    padding-left: 40px;
    background-size: 20px;
  }

  /*---- 入力フォームタイトル ----*/
  .legend {
    margin: 40px 0 20px;
    padding: 0 0 5px 2px;
    font-size: 2rem;
    font-weight: 600;
    border-bottom: #ccc 1px solid;
    font-family: var( --ff-serif );
  }

  /*---- 縦型入力フォーム ----*/
  .fieldset-vertical {
    margin-top: 10px;
    margin-bottom: 10px;

    .form-group {
      margin: 30px 0 10px 0;
    }

    .form-label,
    .constraint {
      margin: 0 0 12px 0;
    }

    .form-label {
      padding: 10px;
      margin-right: 10px;
      text-align: left;
      background: var( --col_paleGray );
      vertical-align: middle;

      &:has(+ .constraint) {
        margin: 0;
        height: 44px;
      }

      label {
        font-weight: 600;
      }
    }

    .constraint {
      position: relative;

      &::before {
        content: "任意";
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        bottom: 10px;
        right: 8px;
        border-radius: .25em;
        margin: 0 3px 0 0;
        height: 24px;
        width: 44px;
        padding: 0 8px;
        line-height: 1;
        letter-spacing: .1em;
        word-break: keep-all;
        font-family: var( --ff-sans_serif );
        font-size: 1.3rem;
        color: #fff;
        background: #cdcdcd;
      }

      &:has(.required)::before { display: none;}

      .form-label + &:has(.required) {
        position: relative;
        width: 100%;

        .required {
          position: absolute;
          bottom: 0;
          right: 0;
          bottom: calc(100% + 9.25px);

          &::before {
            display: none;
          }
          &::after {
            margin-right: 12px;
          }
        }
      }
    }
  }

  /*---- 横型入力フォーム ----*/
  .fieldset {
    margin-top: 10px;
    margin-bottom: 30px;
    width: 100%;

    .form-group {
      display: table;
      width: 100%;
      border: 0;
      border-bottom: 1px solid #00000028;

      &:first-child {
        border-top: 1px solid #00000028;
      }
      &:last-child {
        border-color: #00000028;
      }

      & + & {
        margin-top: -1px;
      }
    }

    .form-label {
      padding: 35px 10px 35px 15px;
      background: var( --col_paleGray );
      vertical-align: middle;

      label {
        font-weight: normal;
        font-feature-settings: "palt";
        word-break: auto-phrase;
      }
    }

    .constraint {
      position: relative;
      background: var( --col_paleGray );
      vertical-align: middle;

      &::before {
        content: "任意";
        display: block grid;
        place-items: center;
        border-radius: .25em;
        margin: 0 3px 0 0;
        height: 24px;
        width: 44px;
        padding: 0 8px;
        line-height: 1;
        letter-spacing: .1em;
        word-break: keep-all;
        font-family: var( --ff-sans_serif );
        font-size: 1.3rem;
        color: #fff;
        background: #cdcdcd;
      }

      &:has(.required)::before { display: none;}
    }

    .form-control {
      padding: 35px 0 35px 20px;
      vertical-align: middle;
    }
  }

  /*---- 入力支援 ----*/
  .form-error {
    margin: 8px auto;
    color: #f00;
    background: #f2dede;
    font-size: 1.2rem;
    padding: 4px 12px;
    border: 1px solid #f00;
  }

  .required::after {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    position: relative;
    top: -2px;
    margin: 0 3px 0 0;
    height: 24px;
    width: 44px;
    padding: 0 8px;
    line-height: 1;
    letter-spacing: .1em;
    font-family: var( --ff-sans_serif );
    font-size: 1.3rem;
    background: var( --cl-dn );
  }

  .help-block {
    display: block;
    margin-top: 8px;
    font-size: 1.3rem;
    font-feature-settings: "palt";
    word-break: auto-phrase;
  }

  .count-msg-another {
    display: block;
    font-size: 1.3rem;
    margin-top: 5px;
    color: #555;
  }

  .count-msg {
    font-size: 1.3rem;
    color: var( --cl-dn );
  }

  /*---- 入力フォームボタン ----*/
  .action-buttons {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 30px;
    position: relative;
    text-align: unset;

    &:has(.block-credit-card-confirmation--back) {
      margin: 116px 0 0;
      width: 50%;
      justify-content: flex-end;
      float: left;

      .action {
        transform: translateX(+50%);
      }
    }

    &:has(.block-credit-card-confirmation--forward) {
      width: 50%;
      justify-content: flex-start;

      .action {
        margin-top: -10px;
        transform: translateX(-50%);
      }
    }

    .action {
      margin: 0;

      &:not(:has(*)) {
        display: none;
      }

      .btn {
        border: none;
        min-width: 250px;
        padding: 20px 28px;
        letter-spacing: .05em;;
        font-size: 1.8rem;

        a {
          color: #333;
          text-decoration: none !important;

          &:hover {
            color: var( --col_Gold );
          }
        }
        &:hover a {
          color: var( --col_Gold );
        }
      }

      .btn-danger,
      .btn-primary {
        font-weight: 600;
      }
    }
  }

  /*---- ラジオボタン、チェックボックス ----*/
  .radio {
    margin-right: 10px;
  }

  /*---- EFO ----*/
  .efo-icon {
    border: none;
    vertical-align: middle;
  }

  .efo-error {
    input& {
      &[type="text"],
      &[type="tel"],
      &[type="email"],
      &[type="search"],
      &[type="password"],
      &[type="url"],
      &[type="number"] {
        background: #f2dede;
      }
    }
    select&,
    textarea& {
      background: #f2dede;
    }
  }

  .efo-valid {
    input& {
      &[type="text"],
      &[type="tel"],
      &[type="email"],
      &[type="search"],
      &[type="password"],
      &[type="url"],
      &[type="number"] {
        background: #e9f2d7;
      }
    }
    select&,
    textarea& {
      background: #e9f2d7;
    }
  }

  /*---- 最近見た商品 ----*/
  .block-recent-item {
    margin: 56px 0 0;
    width: 100%;
  }

  .block-recent-item--header {
    position: relative;
    margin: 0 0 50px 0;
    border-top: none;
    padding: 0 0 16px;
    text-align: center;
    line-height: 1.4;
    letter-spacing: .1em;
    font-size: 2.2rem;

    &::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 2em;
      margin-left: -1em;
      height: 2px;
      background: var( --cl-heading );
    }
  }

  .block-recent-item--message {
    text-align: center;
  }

  .block-recent-item--items {
    width: var( --wrapperW );
    overflow: hidden;
  }

  /*---- 最近チェックした商品(カート) ----*/
  .block-cart-recent-item {
    width: unset;

    .block-cart-recent-item--header {
      position: relative;
      border-top: unset;
      margin-bottom: 50px;
      padding-bottom: 35px;
      text-align: center;
      line-height: 1.4;
      letter-spacing: .1em;
      font-size: 2.2rem;

      &::after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 2em;
        margin-left: -1em;
        height: 2px;
        background: var( --cl-heading );
      }
    }

    .block-cart-recent-item--items {
      width: 100%;

      li {
        display: flex;
        gap: 16px;

        .block-goods-list-c--item-body {
          flex-basis: calc((100% - 80px) /6);
          margin: 0;
          padding: 0;

          figure {
            width: unset;
            height: unset;
            padding: 5px;
            background: #fff linear-gradient(var( --col_paleGray ) 0 );

            img {
              background: #fff;

              a:hover & {
                opacity: .8;
                transition: .3s;
              }
            }
          }
        }
      }
    }

    .block-cart-recent-item--keep-history {
      text-align: right;
      margin-top: 20px;

      a {
        text-decoration: underline;
        font-size: 1.4rem;
      }
    }
  }

  /*---- 検索サジェスト ----*/
  .block-search-suggest {
    position: absolute;
    display: block;
    z-index: 1000;
    text-align: left;
    padding: 5px;
    width: 370px;
    background: #fff;
    border: 1px solid #000;

    .block-search-suggest--keyword {
      padding: 2px;
    }

    .block-search-suggest--keyword-entry {
      display: block;
      text-decoration: none;
    }

    .block-search-suggest--goods {
      min-height: 60px;
      padding: 2px;
      display: block;
      clear: both;
    }

    .block-search-suggest--goods-img {
      display: block;
      float: left;
      width: 60px;
      margin-right: 10px;

      img {
        width: 60px;
        height: 60px;
      }
    }

    .block-search-suggest--goods-name,
    .block-search-suggest--goods-comment,
    .block-search-suggest--goods-price-items {
      width: 100%;
    }

    .block-search-suggest--keyword,
    .block-search-suggest--goods {
      &:hover {
        background-color: #00000028;
        cursor: pointer;
      }
    }
  }

  /*---- パンくず ----*/
  .block-topic-path {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    padding-bottom: 0;
    font-size: 1.3rem;
    letter-spacing: .04em;
    position: absolute;

    .block-topic-path--list {
      display: flex;
      align-items: center;

      li {
        position: relative;
        line-height: 1.2;
        overflow: hidden;

        a {
          text-decoration: none;
          transition: .15s;

          &:hover {
            color: var( --col_Gold );
            text-decoration: underline;
          }
        }
      }
    }
  }

  /*---- キーワード検索ブロック ----*/
  .block-search-box--search-detail a {
    color: #6fb4c3;
    text-decoration: underline;
  }

  .block-search-box--form {
    background-color: #eee;
    display: flex;
  }

  input.block-search-box--keyword:hover,
  input.block-search-box--keyword {
    border: none;
    background-color: transparent;
    flex-grow: 1;
  }

  button.block-search-box--search-submit {
    border: none;
    background-color: transparent;
    width: 33px;
  }

  .block-search-box--search-detail {
    margin: 5px 0;
  }

  /*---- Ajaxカートブロック ----*/
#block_of_jscart {
  margin-bottom: 30px;
  position: relative;
  border-top: 1px #9e9e9e solid;
  border-left: 1px #9e9e9e solid;
  padding-left: 10px;
}
.block-jscart--body {
  position: relative;
  padding-top: 15px;
}

.block-jscart--title {
  display: none;
}
  .block-jscart--items {
    border-bottom: #eee 1px solid;
  padding-bottom: 12px;
  padding-left: 5px;
    margin-bottom: 5px;

    dd {
      text-align: right;
    }
  }

  .block-jscart--name {
    margin-bottom: 5px;
  }
  .block-jscart--price {
    margin-top: 5px;
  }
    .block-jscart--delete {
      text-align: right;
      margin-bottom: 5px;
    display: none;
    }

    .block-jscart--cart-to-order {
    a {
      width: 100%;
      color: #fff;
      background: #888;
      letter-spacing: .1em;
    }
  }
  .block-jscart--total {
    text-align: right;
    margin-top: 10px;

    dt,
    dd {
      display: inline-block;
      font-weight: bold;
      font-size: 15px;
    }
    dd {
      font-size: 17px;
    }
  }
  .block-jscart--empty {
    text-align: center;
    padding: 0 5px 10px 5px;
  }

  /*---- エラー画面 ----*/
  .block-validation-alert {
    text-align: center;
    margin: 100px auto;
    padding: 30px;
    width: 500px;
    border: 1px solid #808080;
  }

  .block-validation-alert--title {
    font-weight: 600;
    margin-bottom: 10px;
  }

  .block-validation-alert--link {
    display: block;
    margin-top: 10px;
  }

  .block-common-alert--link {
    display: block;
    margin-top: 10px;
  }

  .block-common-alert-list {
    margin: 0 auto 20px;
    width: 100%;
    padding: 20px;
    border: 1px solid #999;
    text-align: center;
    background: #fff;

    p {
      text-align: center;
    }
  }

  .block-common-alert-list--items {
    color: #a94442;
  }

  /*---- 郵便番号サジェスト ----*/
  .block-ziplist--ziplist-frame {
    z-index: 2000;
  }


  /*---- 会員規約画面 ----*/
  .block-member-terms {
    width: 1000px;
    margin-inline: auto;
  }

  .block-member-terms--message {
    margin-bottom: 40px;
  }

  .block-member-terms--body {
    margin-top: unset;
    margin-bottom: unset;
    width: 100%;
  }

  /*---- 会員登録画面 ----*/
  .block-shipping-address-confirmation--message,
  .block-member-info-confirmation--message {
    margin-bottom: 40px;
    padding: 10px;
    border: 1px solid #bee3c8;
    background: #effff3;
    color: #73af95;
  }

  /*---- 会員登録完了画面 ----*/
  .block-member-registration-completed {
    > p {
      margin: 80px 0;
      text-align: center;
      line-height: 2;
    }
  }

  div[class$="--customer-name"] {
    color: var( --col_MypreBlue );
    font-weight: 600;
    margin-bottom: 16px;
  }

  /*---- 会員情報変更画面 ----*/
  .block-member-info--message-password {
    margin: 0;
  }
  .block-member-info--mail {
    .constraint {
      &::before {
        display: none;
      }
    }
    a {
      color: var( --cl-dn );
    }
  }
  /*---- アドレス帳の新規登録・変更 ----*/
  .block-shipping-address-registration--message {
    margin-bottom: 30px;
  }

  .block-shipping-address--customer-name,
  .block-shipping-address-confirmation--customer-name {
    display: none;
  }

  .block-shipping-address-confirmation--message {
    margin-bottom: 40px;
  }

  .block-shipping-address--nickname {
    margin-bottom: 30px;
    border-top: #00000028 1px solid !important;

    .form-label .control-label {
      font-weight: 600;
    }
  }

  .block-shipping-address--name {
    border-top: #00000028 1px solid !important;
  }

  .block-shipping-address {
    .fieldset {
      margin: 0;
    }
  }

  /*---- 購入履歴一覧 ----*/
  .block-purchase-history--table {
    th {
      word-break: keep-all;
    }
    td {
      vertical-align: top;
    }
  }

  .block-purchase-history--order-detail-list {
    li {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      font-feature-settings: "palt";
      line-height: 1.5;
      word-break:auto-phrase;

      &::before {
        content: "・";
        flex-grow: 0;
      }

      .block-purchase-history--goods-name {
        flex-grow: 1;
        width: calc(100% - 1em);
      }

      .block-purchase-history--goods-subitems {
        padding-left: 1em;
      }

      & + & {
        margin: 8px 0;
      }
    }
  }

  .block-purchase-history--pager-top {
    margin-top: -50px;
  }

  .block-purchase-history--order-detail-reorder {
    margin: 12px 0 0;

    a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: unset;
      height: 40px;
      padding: 0 16px;
      text-decoration: none;
    }
  }

  .block-purchase-history--status {
    a {
      display: block;
      text-decoration: none;
      background: #fff;
      transition: .3s;

      &:hover {
        opacity: .8;
      }
    }
  }

  /*---- 購入履歴詳細 ----*/
  .block-purchase-history-detail--shipping-info-items th {
    width: 10em;
  }

  .block-purchase-history-detail--shipment-item .block-purchase-history-detail--invoice {
    margin: 13px 0;
  }

  /*---- 会員IDの変更 ----*/
  .block-member-id--completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- パスワードの変更 ----*/
  .block-member-password--update-completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- お問い合わせ履歴詳細 ----*/
  .block-inquiry-history-detail--subject {
    font-size: 2.0rem;
  }

  .block-inquiry-history-detail--title {
    background-color: #f5f5f5;
    padding: 20px 25px;

    h2 {
      margin-top: 0;
      font-weight: 600;
      font-size: 1.8rem;
    }
  }

  .block-inquiry-history-detail {
    .block-inquiry-history-detail--contact-name,
    .block-inquiry-history-detail--update-dt {
      font-size: 1.6rem;
    }
  }

  /*---- 退会 ----*/
  .block-withdrawal--message {
    margin-bottom: 20px;
  }

  .block-withdrawal--completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- ログアウト ----*/
  .block-logout {
    .block-logout--header {
      text-align: center;
    }

    .block-logout--message {
      margin: 80px 0;
      text-align: center;
      line-height: 2;
    }
  }

  /*---- メールアドレス変更 ----*/
  .block-mail-address--update-completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- カード情報変更 ----*/
  .block-update-credit-card-info--message {
    margin-bottom: 20px;
  }

  /*---- ご注文キャンセル ----*/
  .block-order-cancellation--body .legend {
    margin-top: 0;
  }

  /*---- ご注文キャンセル完了 ----*/
  .block-order-cancellation-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- ユーザーレビュー ----*/
  .block-user-review-completed--message-header {
    text-align: center;
    margin-top: 80px;
  }

  .block-user-review-completed--message {
    text-align: center;
    margin-bottom: 80px;
  }

  /*---- パスワード再設定 ----*/
  .block-reset-password--message {
    margin-bottom: 30px;
  }

  .block-reset-password-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- パスワード再設定 ----*/
  .block-update-new-password--message {
    margin-bottom: 30px;
  }

  .block-reset-new-password--completed-message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- お問い合わせ ----*/
  .block-inquiry-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- アンケート ----*/
  .block-questionnaire-completed--message {
    margin: 80px 0;
    text-align: center;
    line-height: 2;
  }

  /*---- マイページ画面 ----*/
  .block-mypage {
    overflow: hidden;
  }

  .block-mypage--customer-status {
    margin-bottom: 40px;
    border: 1px solid #00000028;
    padding: 24px;
    background: 0;

    .block-mypage--sign {
      flex-grow: 1;
      text-align: left;
      padding: 0;
      border: 0;
    }

    .block-mypage--mypoint {
      flex-grow: 2;
      font-size: 1.8rem;
      padding-left: 34px;
    }

    .block-mypage--rank-status {
      display: flex;
      align-items: center;
      flex-grow: 2;
      justify-content: flex-end;
    }

    .block-mypage--rank-condition dl {
      display: flex;
      align-items: center;
    }

    .block-mypage--customer-name {
      font-size: 2rem;
    }

    .block-mypage--logout {
      margin-top: 8px;
      font-size: 1.6rem;
      color: var( --cl-br );

      a {
        color: var( --cl-dn );

        &:hover {
          text-decoration: none;
        }
      }
    }

    .block-mypage--mypoint-duedate {
      font-size: 1.4rem;
      display: block;
    }

    .block-mypage--rank-info {
      border: #fff 1px solid;
      text-align: center;
      padding: 12px 18px 13px;
    }

    .block-mypage--rank-title {
      font-size: 1.2rem;
    }

    .block-mypage--rank-name {
      font-size: 1.4rem;
    }

    .block-mypage--rank-condition {
      padding: 0 10px 0 17px;
    }

    .block-mypage--rank-condition-1 {
      margin-bottom: 2px;
    }

    .block-mypage--rank-condition-1-title,
    .block-mypage--rank-condition-2-title {
      background: #fff;
      color: #444;
      text-align: center;
      padding: 1px 5px;
      border-radius: 2px;
      font-size: 1.2rem;
      margin-right: 5px;

      i {
          padding-right: 3px;
      }
    }

    .block-mypage--customer-barcode {
      text-align: center;
      padding: 10px;

      #customer_barcode_ > div {
          margin: 0 auto;
      }
    }
  }

  .block-mypage--recommend {
    padding: 10px;
    text-align: right;

    a {
      text-decoration: underline;
    }
  }

  h2[class^="block-mypage--"][class$="-info"] {
    margin-bottom: 24px;
    padding: 15px 20px;
    font-size: 2rem;
    font-weight: 600;
    color: var( --cl-heading );
    background: var( --col_paleGray );

    i {
      padding-right: 15px;
    }
  }

  [class^="block-mypage--"][class$="-info-items"] {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 40px 16px;
    gap: 24px;

    li {
      width: calc((100% - 48px) /3);
      padding: 0;
      margin-bottom: 30px;
      max-width: inherit;
      flex-grow: inherit;
      border: none;
      margin: 0;

      dt {
        border-bottom: #00000028 1px solid;

        a {
          font-size: 100%;
          font-weight: 600;
          padding: 8px 32px 8px 0;
          text-decoration: none;
          position: relative;
          font-size: 1.6rem;
          transition: .3s;

          &:hover {
            text-decoration: underline;
            transition: .3s;
          }

          &::after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            right: 15px;
            width: 8px;
            height: 8px;
            border-top: 1px #444 solid;
            border-right: 1px #444 solid;
            transform: rotate(45deg);
            margin: -5px 0 0 0;
            transition: .3s;
          }

          &:hover::after {
            right: 11px;
          }
        }

        i {
          display: none;
        }
      }

      dd {
        padding: 16px 10px 16px 0;
      }
    }
  }

  .block-mypage--withdrawal-link {
    text-align: right;
    color: #444;

    .block-mypage--withdrawal {
      color: var( --cl-a );
      text-decoration: underline;

      &:hover {
        color: var( --cl-dn );
        text-decoration: none;
      }
    }
  }

  .block-mypage--update-address-book {
    display: flex;
    height: 36px;
    background: #eee;
    border-radius: 4px;
    margin: 16px auto 0 0;
    text-decoration: none;
    transition: .3s;
    justify-content: center;
    align-items: center;

    &:hover {
      opacity: .8;
      text-decoration: none !important;
    }
  }

  /* SNS連動設定モーダル */
  .modal--snssync-menu {
    width: 660px;
    margin: 15px;
    overflow: hidden;
    zoom: 1;

    &::after {
      visibility: hidden;
      display: block;
      content: " ";
      clear: both;
      height: 0;
    }

    button:focus {
      outline: none;
    }

    .snslogin_btn_width {
      width: 280px;
    }

    .snslogin {
      display: inline-block;
      margin: 0;
      text-align: center;
      vertical-align: middle;
      cursor: pointer;
      white-space: nowrap;
      height: 50px;
      background-color: transparent;
      border: none;
    }

    .snslogin-contents {
      float: left;
    }

    .sns_logo {
      width: 40px;
      height: 38px;
      display: block;
      float: left;

      .modal--snssync-menu-contents-facebook & {
        background: #3b579d url("/img/sys/snslogin/facebook.png") no-repeat;
        background-size: 40px 40px;
      }

      .modal--snssync-menu-contents-twitter & {
        background: #55acee url("/img/sys/snslogin/twitter.png") no-repeat;
        background-size: 40px 40px;
      }

      .modal--snssync-menu-contents-gplus & {
        background: #de4f3e url("/img/sys/snslogin/gplus.png") no-repeat;
        background-size: 40px 40px;
      }

      .modal--snssync-menu-contents-yahoo {
        background: #e61017 url("/img/sys/snslogin/yahoo.png") no-repeat;
        background-size: 38px 38px;
        width: 38px;
        height: 38px;
        border: 1px solid #e61017;
      }

      .modal--snssync-menu-contents-line & {
        background: #00b900 url("/img/sys/snslogin/line.png") no-repeat;
        background-size: 40px 40px;
      }
    }

    .sns_word {
      width: 195px;
      height: 38px;
      line-height: 38px;
      float: left;
      text-align: left;
      padding: 0 10px;
      margin-left: 1px;
      border-left: solid 1px #ccc;

      .modal--snssync-menu-contents-line & {
        border: solid 1px #00b900;
      }

      .modal--snssync-menu-contents-facebook & {
        border: solid 1px #3b579d;
      }

      .modal--snssync-menu-contents-twitter & {
        border: solid 1px #55acee;
      }

      .modal--snssync-menu-contents-gplus & {
        border: solid 1px #de4f3e;
      }

      .modal--snssync-menu-contents-yahoo & {
        border: solid 1px #e61017;
      }

      .snssync-release & {
        .modal--snssync-menu-contents-line & {
          background: #00b900;
          color: #fff;
        }

        .modal--snssync-menu-contents-facebook & {
          background: #3b579d;
          color: #fff;
        }

        .modal--snssync-menu-contents-twitter & {
          background: #55acee;
          color: #fff;
        }

        .modal--snssync-menu-contents-gplus & {
          background: #de4f3e;
          color: #fff;
        }

        .modal--snssync-menu-contents-yahoo & {
          background: #e61017;
          color: #fff;
        }
      }
    }
  }

  /* マイページ用 > line友達登録用 */
  .snslogin-line-friends {
    .snslogin-line-friend-message {
      margin-bottom: 10px;
    }

    form {
      float: left;
    }

    .snslogin_btn_width {
      color: #fff;
      width: 160px;
      margin: 0 16px;
    }

    .snslogin-line-friend-sns_word {
      width: 100%;
      height: 40px;
      line-height: 40px;
      float: left;
      text-align: center;
      margin-left: 1px;

      .snslogin-line-friend-yes & {
        background: #232323;
      }

      .snslogin-line-friend-no & {
        background: #999;
      }
    }
  }

  /*---- 会員登録画面 ----*/
  .block-member-info--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-member-info {
    input[name="name"],
    input[name="name2"],
    input[name="kana"],
    input[name="kana2"] {
      max-width: 200px;
    }
  }

  /*---- アドレス帳の新規登録・変更画面 ----*/
  .block-shipping-address--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-shipping-address {
    input[name="name"],
    input[name="name2"],
    input[name="kana"],
    input[name="kana2"] {
      max-width: 200px;
    }
  }

  /*---- ログイン画面 ----*/
  .block-login {
    .block-login--member-header,
    .block-login--first-time-header,
    .common_headline2_area_ {
      padding-bottom: 25px;
      margin-bottom: 30px;
    }

    .block-login--member-header,
    .block-login--first-time-header,
    .common_headline2_area_ {
      span {
        font-size: 2.2rem;
      }
    }
  }

  .block-login--member-message {
    text-align: center;
    margin: -8px 0 0;
  }

  .block-login--first-time-message {
    text-align: center;
    margin: 0 auto 20px auto;
  }

  .block-login--login-state-saving {
    margin-top: 24px;
    text-align: center;
  }

  .block-login--login {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 160px;
  }

  .block-login {
    h1 {
      text-align: center;
    }

    .block-login--body {
      margin-inline: auto;
      width: var( --wrapperW );
      display: flex;
      flex-wrap: wrap;
      flex-direction: row-reverse;
      align-items: stretch;
      justify-content: center;
      gap: 40px 40px;

      &:not(:has(.block-login--first-time)) {
        .block-login--member {
          max-width: 720px;
          margin: 0 auto;
        }
      }

      .block-login--first-time,
      .block-login--member {
        display: block;
        margin: 0;
      }

      /*---- 初めてご利用の方・会員以外の方 ----*/
      .block-login--first-time {
        flex-shrink: 0;
        display: block;
        box-sizing: border-box;
        margin: 0;
        border-right: 1px solid #00000028;
        width: calc(50% - 1px);
        padding: 0 39px 0 0;

        /*-- 会員登録・誘導メッセージ --*/
        .block-login--first-time-body {
          border: 1px #00000028 solid;
          border-radius: 5px;
          padding: 32px 24px;
          width: 100%;
          background: var( --col_Background );
          overflow: hidden;

          .action-buttons {
            margin: 0;
          }
        }

        /*-- 会員登録フォーム --*/
        .block-login--member-info-items {
          .form-label {
            padding: 16px;
          }

          .form-label {
            width: 144px;
          }

          .form-control {
            position: relative;
            padding: 16px 0 16px 16px;

            input {
              max-width: 284px;
            }
          }

          .block-login--member-info-name {
            .form-control {
              & > span {
                display: block;

                & + & {
                  margin: 8px 0 0 0;
                }
              }
            }
          }
        }
      }

      /*---- 会員のお客様 ----*/
      .block-login--member {
        margin: 0;
        padding: 0;
        width: calc(50% - 42px);

        .block-login--member-body {
          display: unset;

          .block-login--member-frame {
            display: unset;
            margin-right: 0;

            .block-login--input-items {
              border-top: 1px solid #00000028;
              margin: 30px auto 0;
              width: unset;
            }
          }
        }
      }

      .block-login--uid, .block-login--pwd {
        .form-label {
          padding: 16px 10px 16px 15px;
          width: 138px;
        }
        .form-control {
          padding: 16px 10px 16px 15px;

          & > input {
            margin-right: 8px;
            width: 100%;
            max-width: 360px;
          }

          .block-login--display-password {
            margin: 8px 8px 8px 0;
          }
        }
      }

      .block-login--ask-password {
        margin-top: 12px;
      }

      .action .btn {
        width: 300px;
      }

      h2 {
        padding-bottom: 35px;
        margin: 0 0 36px;
        position: relative;
        text-align: center;
        line-height: 1.4;
        letter-spacing: .5em;

        span::after {
          content: "";
          display: block;
          position: absolute;
          bottom: 0;
          left: 50%;
          width: 2em;
          margin-left: -1em;
          height: 2px;
          background: var( --cl-heading );
        }
      }
    }
  }

  .block-login--entry {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 160px;
  }

  .block-login--social-frame {
    display: table-cell;
    padding-left: 0;
    width: 1200px;
  }

  .block-login--guest {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 240px;
  }

  .block-login--member-info-value-label {
    display: inline-block;
    width: unset;
    text-align: center;
  }

  /* **************************** */
  .block-login--snslogin-body {
    width: 95%;
    margin: auto;
    padding: 0 0 15px 0;
    overflow: hidden;
    zoom: 1;

    &::after {
      clear: both;
    }

    ul {
      justify-content: inherit;
      align-items: center;
      margin-left: inherit;

      li {
        float: left;
        width: 220px;
      }
    }

    .sns_logo {
      width: 40px;
      height: 40px;
      display: block;

      .block-login--snslogin-contents-facebook & {
        background: #3b579d url("/img/sys/snslogin/facebook.png") no-repeat;
        background-size: 40px 40px;
      }

      .block-login--snslogin-contents-twitter & {
        background: #55acee url("/img/sys/snslogin/twitter.png") no-repeat;
        background-size: 40px 40px;
      }

      .block-login--snslogin-contents-gplus & {
        background: #de4f3e url("/img/sys/snslogin/gplus.png") no-repeat;
        background-size: 40px 40px;
      }

      .block-login--snslogin-contents-yahoo & {
        background: #e61017 url("/img/sys/snslogin/yahoo.png") no-repeat;
        background-size: 39px 39px;
        border: 1px solid #e61017;
        width: 41px;
        height: 40px;
      }

      .block-login--snslogin-contents-line & {
        background: #00b900 url("/img/sys/snslogin/line.png") no-repeat;
        background-size: 40px 40px;
      }
    }

    .sns_word {
      width: 160px;
      height: 40px;
      line-height: 40px;
      float: left;
      text-align: left;
      padding: 2px 6px;
      margin-left: 1px;
      border-left: solid 1px #ccc;
      font-size: 85%;
      color: #fff;

      .block-login--snslogin-contents-line & {
        background: #00b900;
      }

      .block-login--snslogin-contents-facebook & {
        background: #3b579d;
      }

      .block-login--snslogin-contents-twitter & {
        background: #55acee;
      }

      .block-login--snslogin-contents-gplus & {
        background: #de4f3e;
      }

      .block-login--snslogin-contents-yahoo & {
        background: #e61017;
      }
    }
  }

  .block-login--snslogin-contents-btn {
    display: inline-block;
    margin: 0;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    white-space: nowrap;
    width: 230px;
    height: 50px;
    background-color: transparent;
    border: none;

    button:focus {
      outline: none;
    }
  }

  .block-login--snslogin-text {
    text-align: center;
    margin-bottom: 20px;
  }

  /*---- 追加認証画面 ----*/
  .block-additional-authentication {
    height: 510px;
  }

  .block-additional-authentication--body {
    padding: 20px;
    overflow: hidden;
    border: solid 1px #00000028;
    background: #fff;
  }

  .block-additional-authentication--message-header {
    font-size: 1.4rem;
    font-weight: 600;
    padding: 0 50px;
  }

  .block-additional-authentication--message {
    padding: 10px 50px 30px 50px;
  }

  .block-additional-authentication--input-items {
    width: 600px;
    margin: 10px auto;
  }

  .block-additional-authentication--authentication-key input[type="text"] {
    width: 330px;
  }

  .block-additional-authentication--login {
    margin-top: 10px;
    padding: 12px 0;
    font-size: 1.6rem;
    width: 160px;
  }

  /*---- 買い物かご ----*/
  /*---- 追加メッセージ ----*/
  .addcart--message {
    display: none;

    .addcart--btn__back {
      margin: 4px 0 0 0;
      color: var( --cl-a );

      &::before {
        margin: 0 .25em 0 0;
        content: "＜";
      }

      a {
        text-decoration: underline;
      }
    }
  }

  .block-cart--rule {
    margin: 0 0 20px;
    border-color: #00000028;
    font-weight: 600;
    font-size: 2.0rem;
    color: var( --cl-heading );
  }

  .block-cart--store-delivery {
    margin: 0 0 12px;
    border-top: 1px solid var( --cl-heading );

    .block-cart--store-delivery-button-description {
      order: 20;
      padding: 16px 0 8px;
      text-align: center;
      font-size: 1.2rem;
    }
  }

  .block-cart--store-delivery-order-btn-store-delivery {
    border-radius: 8px;
    font-size: 1.8rem;
    height: 64px;

    .block-cart--procedure-container:has(&) {
      flex-direction: column-reverse;
    }
  }

  .block-cart--goods-list-item-input {
    display: flex;
    height: 100%;
    flex-direction: column;
  }

  /*---- 購入履歴一覧画面 ----*/
  .block-purchase-history--table {
    margin: 5px 0;
    width: 100%;

    .block-purchase-history--order-dt {
      word-break: auto-phrase;
      width: 6.5em !important;
    }

    .block-purchase-history--total {
      text-align: center;
      word-break: keep-all;
    }

    .block-purchase-history--method {
      text-align: center;
    }

    .block-purchase-history--order-id {
      a {
        color: var( --col_Gold );
        text-decoration: none;
        &:hover {
          text-decoration: underline;
          filter: brightness(110%);
        }
      }
    }

    .block-purchase-history--order-detail {
      width: 280px;
    }
  }

  .block-purchase-history--status a:hover {
    text-decoration: none;
  }

  /*---- 購入履歴詳細画面 ----*/
  .block-purchase-history-detail--order-info {
    margin: 10px 0;
    display: flex;
    width: 100%;
  }

  .block-purchase-history-detail--order-info-left {
    width: 65%;
  }

  .block-purchase-history-detail--order-info-right {
    --cl-br: #433d37;
    --cl-a: #433d37;

    padding: 0 0 0 10px;
    width: 35%;
  }

  .block-purchase-history-detail--order-info-table {
    width: 100%;

    th {
      width: 210px;
    }
  }

  .block-purchase-history-detail--order-body {
    margin: 10px 0;
    display: flex;
    width: 100%;
  }

  .block-purchase-history-detail--order-body-left {
    width: 65%;
  }

  .block-purchase-history-detail--order-body-right {
    width: 35%;
    padding: 0 0 0 10px;
  }

  .block-purchase-history-detail--order-detail-items {
    width: 100%;

    th {
      white-space: nowrap;
    }

    .block-purchase-history-detail--goods-qty {
      text-align: center;
    }

    .block-purchase-history-detail--goods-total-price {
      white-space: nowrap;
      text-align: right;
    }
  }

  .block-purchase-history-detail--payment-info-items {
    width: 100%;

    td {
      text-align: right;
    }
  }

  .block-purchase-history-detail--point-message {
    margin: 5px 0;
  }

  .block-purchase-history-detail--shipping-info {
    margin: 10px 0;
    display: flex;
    width: 100%;
  }

  .block-purchase-history-detail--shipping-info-left {
    width: 65%;
  }

  .block-purchase-history-detail--shipping-info-right {
    width: 35%;
    padding: 0 0 0 10px;
  }

  .block-purchase-history-detail--sender-items {
    width: 100%;
  }

  .block-purchase-history-detail--shipping-info-items {
    width: 100%;
  }

  .block-purchase-history-detail--shiment-address {
    border: 1px solid #ccc;
    padding: 20px;
    margin: 10px 0;
  }

  .block-purchase-history-detail--shipment-items {
    width: 100%;

    th {
      white-space: nowrap;
    }

    .block-purchase-history-detail--destination-shipment-qty {
      text-align: center;
    }
  }

  .block-purchase-history-detail--csv-info-items {
    width: 100%;
    margin: 10px 0;

    th {
      width: 250px;
    }
  }

  .block-purchase-history-detail--invoice {
    margin: 5px 0;
    width: 100%;

    dt {
      display: inline-block;
      font-weight: 600;
    }

    dd {
      display: inline-block;
    }
  }

  .block-purchase-history-detail--track-shipment {
    margin: 5px 0;
    width: 100%;

    dt {
      display: inline-block;
      font-weight: 600;
    }

    dd {
      display: inline-block;
    }
  }

  .block-purchase-history-detail--append-items {
    width: 100%;

    th {
      min-width: 250px;
      white-space: nowrap;
    }
  }

  .block-purchase-history-detail {
    .block-purchase-history-detail--add-goods {
      width: 300px;
    }

    .block-purchase-history-detail--contact {
      width: 300px;
    }

    .block-purchase-history-detail--cancel {
      width: 250px;
    }
  }

  .block-purchase-history-detail--child-order-id a,
  .block-purchase-history-detail--parent-order-id a {
    text-decoration: underline;
  }

  /*---- ご注文キャンセル画面 ----*/
  .block-order-cancellation--order-info {
    margin: 10px 0 30px 0;
    display: flex;
    width: 100%;
  }

  .block-order-cancellation--order-info-left {
    width: 60%;
  }

  .block-order-cancellation--order-info-right {
    width: 40%;
    padding: 0 0 0 30px;
  }

  .block-order-cancellation--shiment-address {
    border: 1px solid #ccc;
    padding: 20px;
    margin: 10px 0;
  }

  .block-order-cancellation--payment-info-items {
    width: 100%;
  }

  .block-order-cancellation--order-items {
    width: 100%;
  }

  /*---- カード情報確認画面 ----*/
  .block-credit-card-confirmation--credit-card-info-table {
    width: 100%;

    th {
      width: 250px;
    }
  }

  /*---- お問い合わせ履歴一覧画面 ----*/
  .block-inquiry-history--body {
    border-top: 1px solid #ccc;

    li {
      margin: 5px 0;
      padding: 15px 0;
      border-bottom: 1px solid #ccc;

      .span {
        margin: 0 10px 0 0;
      }
    }
  }

  /*---- お問い合わせ履歴詳細画面 ----*/
  .block-inquiry-history-detail--form {
    margin: 50px 0;
  }

  .block-inquiry-history-detail--message {
    text-align: center;
  }

  .block-inquiry-history-detail--inquiry-body {
    margin: 20px 0;

    textarea {
      width: 100%;
    }
  }

  .block-inquiry-history-detail--item dt {
    width: 100%;
    display: flex;
  }

  .block-inquiry-history-detail--contact-name {
    width: 80%;
  }

  .block-inquiry-history-detail--update-dt {
    width: 20%;
    text-align: right;
    font-weight: normal;
  }

  .block-inquiry-history-detail--message-confirm {
    text-align: center;
  }

  .block-inquiry-history-detail--inquiry-body-confirm {
    margin: 20px 0;
    padding: 10px;
    border: 1px solid #ccc;
  }

  /*---- ポイント履歴一覧画面 ----*/
  .block-point-history-list--point {
    font-size: 2.0rem;
    font-weight: 600;
    margin: 0 5px;
  }

  .block-point-history-list--message {
    margin: 5px 0;
  }

  .block-point-history-list--items {
    margin: 5px 0;
    width: 100%;
  }

  /*---- 所持クーポン一覧画面 ----*/
  .block-coupon-list--table {
    margin: 5px 0;
    width: 100%;
  }

  .block-coupon-list--coupon-dt {
    white-space: nowrap;
    width: 300px;
  }

  /*---- 店舗クーポン一覧画面 ----*/
  .block-store-coupon-list--table {
    margin: 5px 0;
    width: 100%;
  }

  .block-store-coupon-list--coupon-dt {
    white-space: nowrap;
    width: 300px;
  }

  /*---- ログアウト画面 ----*/
  .block-logout--message a {
    text-decoration: underline;
  }

  /*---- パスワード再設定 ----*/
  .block-reset-password--tel {
    border-bottom: 1px solid #e5e5e5;
  }

  /*---- 注文フローステップ ----*/
  .block-order-flow--step {
    position: sticky;
    margin: 0 0 44px;
    left: 0;
    transform: translateX(calc((1060px - 100cqw) /2));
    padding: 0;
    text-align: center;
    width: 100cqw;
    border: 1px solid #00000028;
    border-width: 1px 0;

    &.has-sidearea {
      margin: 0 0 64px;
      transform: translateX(calc((var( --wrapperW ) - 100cqw) /2));
    }

    .pane-main:has(&) {
      margin-top: 0;
    }

    ul {
      display: flex;
      width: var( --wrapperW );
      min-width: 1200px;
      margin: 0 auto;
      border: 1px solid #00000028;
      border-width: 0 1px;
      overflow: hidden;

      li {
        position: relative;
        display: flex;
        height: 60px;
        padding: 0 0 0 16px;
        line-height: 1.4;
        text-align: left;
        word-break: keep-all;
        word-break: auto-phrase;
        line-break: anywhere;
        letter-spacing: .05em;
        font-feature-settings: "palt";
        font-weight: 600;
        color: var( --cl-heading );
        width: calc(100% /5);
        margin: 0;
        align-items: center;

        span {
          color: var( --col_MypreBlue );
        }

        .steps-4 & {
          width: calc(100% /4);
        }

        &::after {
          content: "";
          position: absolute;
          top: -1.5px;
          right: -19px;
          height: calc(100% + 2px);
          width: 20px;
          background: transparent url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2220%22%20height%3D%2262%22%20viewBox%3D%220%200%2020%2062%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.5%2061L18.5%2031L0.5%201%22%20stroke%3D%22black%22%20stroke-opacity%3D%220.16%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E") no-repeat 100% 50% /cover;
          z-index: 5;
        }

        &:last-child::after {
          display: none;
        }

        &.step-current {
          --cl-br: #fff;
          color: #fff;
          background: var( --col_MypreBlue );

          span {
            color: currentColor;
            border-color: currentColor;
          }

          &::after {
            opacity: 1;
            mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2219%22%20height%3D%2260%22%20viewBox%3D%220%200%2019%2060%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M18.5%2030L0.5%2060V0L18.5%2030Z%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat 100% 50% /cover;
            background: inherit;
          }
        }

        &.step-past {
          background: var( --col_paleGray );
          color: color-mix(in srgb, var( --cl-br ) 60%, transparent);

          span {
            border-color: currentColor;
            color: currentColor;
          }

          &:has(+ .step-current)::after {
            opacity: 1;
            color: var( --col_MypreBlue );
          }

          &::after {
            z-index: 5;
            background: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2220%22%20height%3D%2262%22%20viewBox%3D%220%200%2020%2062%22%20fill%3D%22color-mix(in%20srgb%2C%20var(%20--col_paleGray%2C%20%23f5f5fa%20)%20100%25%2C%20var(%20--col_Background%2C%20%23fff%20))%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M0.5%2061L18.5%2031L0.5%201%22%20stroke%3D%22black%22%20stroke-opacity%3D%220.16%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E" ) no-repeat 100% 50% /cover;
          }
        }

        .step-order {
          display: inline;
          padding: 4px 10px 4px;
          margin-right: 10px;
          border-right: 1px var( --cl-heading ) solid;
          text-transform: uppercase;
          line-height: 1;
          letter-spacing: .05em;
          white-space: nowrap;
        }
      }
    }
  }

  /*---- 注文フロー右サイドエリア ----*/
  .block-cart--container,
  .block-order-method--container,
  .block-order-estimate--container {
    position: relative;

    .block-order-estimate--side-area {
      z-index: 1;
      position: relative;
    }

    .order-side-area-end {
      position: absolute;
      bottom: 0;
      right: 0;
    }
  }

  .block-cart--container .order-side-area-fixed {
    display: block;
    position: sticky;
  }

  /*---- カートアイテム  ----*/
  .block-cart--infomation {
    background: var( --col_paleGray );
    border: unset;
    margin: 50px auto 70px;
    padding: 20px;
    text-align: center;
    width: 720px;
  }

  /*---- カート ----*/
  .pane-order-contents {
    margin-top: 12px;
    background: unset;
  }

  .block-cart--order-button-description {
    font-weight: 600;
    text-align: center;
    margin-bottom: 10px;
  }

  .block-cart--container {
    display: flex;
    position: relative;
    overflow: visible;
    margin: 0 0 36px;
    align-items: stretch;
  }

  .block-cart--goods-list {
    padding: 10px 24px;

    li {
      display: grid;
      grid-template-rows: auto 1fr auto;
      grid-template-columns: 200px 1fr auto;
      gap: 0 24px;
      align-items: start;
      margin: 0;
      padding: 20px 0;
      overflow: unset;
      border-bottom: solid 1px #00000028;

      &:last-child {
        border: none;
        margin-bottom: 0;
      }

      &:has(.js-enhanced-ecommerce-image:hover) .block-cart--goods-list-item-name a {
        color: var( --col_Gold );
        text-decoration: underline;
      }

      > * {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
      }

      > a { /* サムネイル */
        grid-column: 1;
        grid-row: 1/4;
        .block-cart--goods-list-image {
          margin: 0;
          padding: 5px;
          width: 100%;
          aspect-ratio: 1 / 1;
          background: #fff linear-gradient(var( --col_paleGray ) 0, var( --col_paleGray ) );

          img {
            background: #fff;
          }
        }
      }

      > .block-icon { /* アイコン */
        box-sizing: content-box;
        height: 22px;
        border-radius: 4px;
        display: flex;
        grid-column: 2;
        grid-row: 2;
        margin-top: 10px;

        img {
          margin: 5px 0 8px;
        }
      }

      > .block-cart--goods-list-item { /* 商品名＆バリエーション */
        grid-column: 2;
        grid-row: 1/2;
        width: unset;

        .block-cart--goods-list-item-name {
          font-size: 1.8rem;
          line-height: 1.6;
          font-feature-settings: "palt";

          a {
            &:hover {
              text-decoration: underline;
            }
          }
        }

        .block-cart--goods-list-item-comment {
          padding: 0;
        }
      }

      > .block-cart--goods-list-item-price-info { /* 価格 */
        grid-column: 3;
        grid-row: 1;
        width: 120px;
        text-align: center;
        font-size: 1.6rem;

        .block-cart--goods-list-item-price {
          margin-bottom: 4px;
          text-align: right;
          font-size: 1.8rem;
        }
      }

      > .block-cart--goods-list-item-input { /* 数量指定 */
        grid-column: 2 / 4;
        grid-row: 3;
        align-self: flex-end;
        display: flex;
        width: unset;
        align-items: stretch;
        flex-direction: row;

        .block-cart--goods-list-item-qty {
          position: relative;
          margin: 0;

          input {
            border-radius: 4px 0 0 4px;
            text-align: center;
            padding-right: 30px;
            height: 40px;
          }

          &::after {
            position: absolute;
            top: 6px;
            right: 28px;
            content: "";
            width: 1px;
            height: 28px;
            background: #ccc;
          }

          .block-cart--goods-list-item-qty-plus {
            position: absolute;
            top: 6px;
            right: 10px;
          }

          .block-cart--goods-list-item-qty-minus {
            position: absolute;
            top: 21px;
            right: 10px;
          }
        }

        .block-cart--goods-list-item-calc {
          display: flex;
          flex-grow: 1;
          align-items: flex-end;
          justify-content: space-between;

          .block-cart--goods-list-item-calc-btn {
            display: block;
            border: 1px solid #ccc;
            border-left: 0;
            border-radius: 0 4px 4px 0;
            line-height: 1;
            min-height: 40px;
            height: 40px;
            width: 86px;
          }

          .block-cart--goods-list-item-delete:hover {
            text-decoration: none;
          }

          .block-cart--goods-list-item-delete {
            cursor: pointer;
            color: var( --cl-dn );
            font-size: 1.4rem;
            border: none;
            text-decoration: underline;
            background: none;
            width: unset;
            flex-grow: 0;
          }
        }
      }
    }
  }

  /* カート左エリア */
  .block-cart--wrapper {
    width: 1060px;
    margin: 0 auto;

    /*---- こんな商品も ----*/
    .block-accessory-list--list {
      .block-thumbnail-h {
        justify-content: center;
        border-radius: 5px;
        padding: 32px 48px 24px !important;
        background: #f5f5f5;
        gap: 16px;

        div:has(> &) {
          display: flex;
          justify-content: center;
        }

        li {
          width: 100%;
          padding: 8px;
          background: #fff !important;

          figure {
            background: #fff !important;
            padding: 0 !important;
          }
        }
      }
    }
  }

  .block-cart--contents {
    width: 840px;
    float: none;
    background: var( --col_Background );
    border: 1px solid #00000028;
  }

  /* カート右サイドエリア */
  .block-cart--side-area {
    float: none;
    padding-top: 0;
    width: 320px;
    position: relative;
  }

  .block-cart--side-contents {
    position: sticky;
    top: 20px;
    left: 0;
    transition: .4s;

    .DownMove ~.pane-order-contents & {
      top: 84px;
    }
  }

  .block-cart--procedure {
    border: solid 6px #00000028;
    padding: 15px 20px;
    overflow: hidden;
    margin-bottom: 12px;
    background: var( --col_Background );
  }

  .block-cart--procedure-container {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    overflow: inherit;
    background: inherit;

    > div {
      width: 100%;
    }

    .block-cart--order {
      order: 2;
    }

    .block-cart--subtotal {
      order: 1;
      border-bottom: 1px #00000028 solid;
      margin: 0 0 16px;
      padding: 0;
      font-size: 1.6rem;
      text-align: left;
    }
  }

  .block-cart--order-btn {
    display: block;
    margin: 0 0 10px 0;
    border-radius: 8px;
    height: 64px;
    width: 100%;
    font-size: 1.7rem;
    text-align: center;
    padding: 10px 0;
  }

  .block-cart--order-btn-gift {
    display: block;
    margin: 0;
    border-radius: 8px;
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
    padding: 0 24px;
    height: 64px;
    background: #000;
  }

  .block-cart .block-exchange-price {
    text-align: center;
    margin-bottom: 8px;
  }

  .block-cart--subtotal-price {
    display: block;
    font-size: 2.6rem;
    font-weight: 600;
    color: #444;
  }

  .block-cart--continue-shopping {
    display: flex;
    text-align: center;
    margin: 0 auto 24px;
    background: #e5e5e5;
    height: 64px;
    color: #333;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    gap: 8px;
    transition: .3s;
    font-size: 0;

    * {
      line-height: 1;
    }

    &:hover,
    &:hover input {
      color: var( --col_Gold );
    }

    &:not(.block-cart--side-area &) {
      width: 280px;
    }
  }

  .block-cart--continue-shopping-link {
    cursor: pointer;
    color: #444;
    font-size: 1.6rem;
    border: none;
    text-decoration: none;
    background: none;

    &:hover {
      text-decoration: none;
    }
  }

  /* ---------------------- */
  /*---- 通常の注文 -------- */
  /* ---------------------- */

  /*---- 注文方法指定画面 ----*/
  /* 共通設定 */
  .block-order-method--payment-content,
  .block-order-method--spec-content,
  .block-order-method--goods-content,
  .block-order-method--dest-content,
  .block-order-method--host-content,
  .block-order-method--host-confirmation {
    background: unset;
    border: solid 1px #00000028;
    padding: 20px 20px 20px 20px;
    margin: 0 0 20px 0;
  }

  .block-order-method {
    h2 {
      font-weight: 600;
      font-size: 2.0rem;
      color: var( --cl-br );
      padding: 10px 0;
      margin: 0;
    }

    h3 {
      font-size: 1.6rem;
      color: var( --cl-heading );
      font-weight: 600;
      margin: 0 0 12px 0;
    }

    address {
      font-size: 1.3rem;
      line-height: 1.6;
      padding-top: 10px;
    }

    .block-icon {
      margin: 0 15px 0 0;
    }

    dt {
      font-weight: 600;
    }
  }

  .block-order-method--container {
    display: flex;
    justify-content: space-between;
    position: relative;
    overflow: unset;
  }

  .block-order-method--contents {
    width: 820px;
    float: unset;
  }

  .block-order-method--name-sei,
  .block-order-method--name-mei,
  .block-order-method--kana-sei,
  .block-order-method--kana-mei {
    display: inline-block;
  }

  .block-order-method--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* 届け先 */
  #address.block-order-method--dest {
    margin: 30px 0;

    .block-order-method--dest-content {
      border: none;
      padding: 0;
    }

    .block-order-method--dest-title-salesinclude {
      margin-top: 20px;
    }

    .block-order-method--dest-note-salesinclude + .block-order-method--dest-list {
      margin-top: 20px;
    }
  }

  .block-order-method--payment .block-order-method--payment-content {
    padding: 0 20px;
  }

  .block-order-method--payment-content .block-order-method--coupon,
  .block-order-method--payment-content .block-order-method--point-use,
  .block-order-method--payment-method {
    margin: 25px 0;
  }

  /* 右サイドエリア */
  .block-order-method--side-area {
    display: block;
    position: unset !important;
    width: 320px;
    float: unset;
  }

  .block-order-method--side-contents {
    position: sticky;
    background: unset;
    width: 100%;
    top: 20px;
    right: 0;
    margin: 0;
    transition: .3s;

    .DownMove ~.pane-order-contents & {
      top: 88px;
    }
  }

  .block-order-method--procedure {
    border: solid 6px #00000028;
    background: unset;
    padding: 4px;
    overflow: hidden;
    margin-bottom: 20px;
  }

  .block-order-method--procedure-container {
    padding: 14px;
    background: unset;
  }

  .block-order-method--next-btn {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
    margin: 5px 0;
    padding: 14px 0;
    font-weight: 600;
  }

  /* お届け先 */
  .block-order-method--dest-item {
    border-bottom: solid 1px #00000028;
    padding: 20px;
    overflow: hidden;

    &:first-child {
      border-top: solid 1px #00000028;
    }

    address {
      float: left;
    }
  }

  .block-order-method--dest-item-nickname {
    font-weight: 600;
  }

  .block-order-method--dest-title-salesinclude {
    font-weight: 600;
    font-size: 1.6rem;
  }

  .block-order-method--dest-item-salesinclude {
    font-weight: 600;
  }

  .block-order-method--dest-change {
    padding: 10px;
    margin: 0 0 10px 0;
    background: #f5f5f5;
    border: 1px solid #00000028;

    strong {
      font-weight: 600;
    }

    span {
      margin-left: 20px;
      font-size: 1.2rem;
    }
  }

  .block-order-method--dest-add {
    text-align: right;
    padding: 20px;
  }

  .block-order-method--dest-item-edit {
    text-align: right;
  }

  .block-order-method--dest-list address {
    margin: 0 0 0 20px;
  }

  /* 商品情報 */
  .block-order-method--goods-list {
    display: flex;
    flex-direction: column;
    gap: 32px;

    li {
      position: relative;
      overflow: hidden;
      margin: 0;
      padding: 0;
      border-bottom: 1px solid #00000028;

      li:last-child {
        border-bottom: none;
      }
    }
  }

  .block-order-method--goods-item-image {
    float: left;
    margin: 0 20px 0 0;
    background: #f5f5f5;
    width: 200px;
    height: 200px;
  }

  .block-order-method--goods-item-name,
  .block-order-method--goods-item-set-name {
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.6;
  }

  .block-order-method--goods-item-comment {
    padding: 4px 0 0;

    .block-order-method--goods-item-qty {
      margin-left: 8px;
    }
  }

  .block-order-method--sales-detail-append-item {
    margin: 20px 0 0 !important;
    overflow: hidden;

    &:first-child {
      margin: 0 !important;
    }

    textarea {
      width: 100%;
    }
  }

  /* 配送店舗 */
  .block-order-method--store-delivery-content {
    border: 1px solid #00000028;
    margin: 0;
    padding: 20px;
    border-radius: 4px;
    background: var( --col_Background );

    .block-order-method--store-delivery-store-search {
      width: calc(100% - 113px);
    }
    .block-order-method--store-delivery-store-selected-store-info {
      display: flex;
      align-items: center;
    }
    .block-order-method--store-delivery-store-change-btn {
      margin: 0;
    }
    .block-order-method--store-delivery-store-search-btn {
      width: 100px;
      float: right;
    }

    .block-order-method--store-delivery-store-list {
      clear: both;
    }
    .block-order-method--store-delivery-store-item {
      &:hover {
        background: color-mix(in srgb, var( --col_paleGray ) 45%, transparent);
      }
      &:has(input:checked) {
        background: var( --col_paleGray );
      }
      .block-order-method--store-delivery-radio {
        display: flex;
        align-items: center;
        gap: 8px;

        label {
          &:hover {
            text-decoration: none;
          }

          input:checked ~ & {
            font-weight: bold;
            color: var( --col_MypreBlue );
          }
        }
      }
    }
  }

  /* 配送方法 */
  .block-order-method--spec-content dl {
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 14px;

    dt {
      font-weight: normal;
      vertical-align: middle;
      flex-shrink: 0;
    }

    dd {
      margin-left: 0;
    }
  }

  /* お支払い情報 */
  .block-order-method--coupon-content,
  .block-order-method--point-use {
    margin: 0 0 10px 0;
  }

  .block-order-method--spec,
  .block-order-method--payment-content {
    h3 {
      font-size: 1.6rem;
      font-weight: 600;
      font-family: var( --ff-sans_serif );
      margin: 0 0 8px;
      vertical-align: middle;

      & + & {
        margin-top: 30px;
      }

      dl + & {
        margin-top: 30px;
      }
    }

    ~ .action-buttons {
      float: right;
      padding: 0;
      width: calc(50% - 40px);
      justify-content: flex-start;
      margin: 40px 20px 0;

      &:last-of-type {
        float: left;
        justify-content: flex-end;
      }

      .form-error:has(+ &) {
        display: none;
      }
    }
  }

  .block-order-method--coupon-content {
    display: flex;
    align-items: center;
    gap: 14px;

    .block-order-method--coupon-available-btn {
      margin: 0;
    }
  }
  .block-order-method--payment-method-select {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 240px;
    width: 240px;
    border-radius: 4px;
    overflow: hidden;

    li {
      margin: 0;
      position: relative;
      min-height: 48px;
      display: flex;
      align-items: center;
      padding: 0 12px;
      transition: .15s;

        &:hover {
          color: var( --col_Gold );
          background: color-mix(in srgb, var( --col_paleGray ) 45%, transparent);
        }

        &:has(input:checked) {
          background: var( --col_paleGray );
        }

      label {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        align-items: center;
        cursor: pointer;
        line-height: 1;
        height: 48px;
        width: 100%;
        padding: 0 12px 0 42px !important;
        transition: .15s;

        &:hover {
          text-decoration: none;
        }

        input:checked + & {
          font-weight: 600;
          color: var( --col_MypreBlue );
        }

        .help-block {
          display: inline-block;
          margin-left: 30%;
        }
      }
    }
  }

  .block-order-method--point-use-select {
    margin-bottom: 10px;
    padding: 10px;
    background: #f5f5f5;
    border: 1px solid #00000028;

    label {
      cursor: pointer;
      padding: 0 23px 0 5px;
    }
  }

  .block-order-method--current-point {
    margin: 0 0 10px 0;
  }

  .block-order-method--current-point-num {
    font-weight: 600;
  }

  .block-order-method--coupon-available-btn {
    margin: 0 0 0 14px;
  }

  /* その他 */
  .block-order-gift-select--sales-append-content,
  .block-order-method--sales-append-content {
    .constraint::before {
      display: none;
    }
  }

  .block-order-method--sales-append-content {
    background: transparent;
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 20px 20px 0 20px;

    .fieldset {
      margin-top: 0;
      margin-bottom: 20px;

      .form-group {
        border-left: #00000028 1px solid;
        border-right: #00000028 1px solid;

        &:not(:last-child) {
          border-bottom: solid 1px #00000028;
        }
      }
    }

    .form-label,
    .constraint {
      background: var( --col_paleGray );

    }
  }

  /* クーポンダイアログ */
  .block-order-method--coupondialog-wrapper {
    max-height: 300px;
    overflow-y: auto;
  }

  .block-order-method--coupondialog-table {
    width: 100%;

    td {
      background: var( --col_Background );
    }
  }

  .block-order-method--coupondialog-header-code {
    width: 180px;
  }

  .block-order-method--coupondialog-header-select {
    width: 180px;
  }

  /*----  注文内容確認(通常フロー)  ----*/
  /* クレジットカード設定 */
  .block-order-estimate--pay-input {
    margin-bottom: 10px;
    background: #fff;
    border: 1px solid #00000028;

    .form-group {
      .form-label,
      .form-control {
        padding: 20px 15px;
      }
      .form-label {
        width: 25%;
      }
    }

    .block-common-alert-list {
      margin: 10px;
    }
  }

  .block-order-estimate--pay-header {
    background: #444;
    padding: 10px;
    margin: 0 0 15px 0;
    color: #fff;
  }

  .block-order-estimate--pay-savecard,
  .block-order-estimate--pay-selectcard {
    padding: 0 0 0 20px;
  }

  /* 画面内共通設定 */
  .block-order-estimate--container {
    position: relative;
    display: flex;
    justify-content: space-between;
    overflow: unset;
  }

  .block-order-estimate {
    h2 {
      font-weight: 600;
      font-size: 2.0rem;
      padding: 10px 0;
      margin: 0 0 10px 0;
      color: unset;
    }

    h3 {
      display: flex;
      align-items: center;
      font-size: 1.6rem;
      color: var( --cl-heading );
      font-weight: 600;
      margin: 0 0 12px 0;

      a {
        margin: 0 0 0 16px;
        width: 70px;
        padding: 5px;
        font-size: 1.3rem;
        font-weight: normal;
      }
    }

    address {
      font-size: 1.3rem;
      line-height: 1.6;
      padding-top: 10px;
      word-wrap: break-word;
      margin-left: 1em;
    }
  }

  .block-order-estimate--salesinclude-btn {
    font-size: 1.3rem;
    font-weight: normal;
    margin: 0 0 0 5px;
    width: auto;
  }

  .block-order-estimate--point {
    color: #f00;
    font-size: 1.6rem;
    font-weight: 600;
  }

  .block-order-estimate--confirmation,
  .block-order-estimate--date-spec-confirmation,
  .block-order-estimate--novelty,
  .block-order-estimate--goods-content,
  .block-order-estimate--sales-append,
  .block-order-estimate--comment-content {
    background: #fff;
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 20px;
  }

  .block-order-estimate--entry {
    margin-top: 10px;
    padding: 0 10px;
  }

  .block-order-estimate--register-customer {
    margin-bottom: 10px;
  }

  .block-order-estimate--register-customer-checkbox,
  .block-order-estimate--register-customer-checkbox-message {
    display: table-cell;
  }

  .block-order-estimate--entry-customer {
    margin-bottom: 5px;
  }

  .block-order-estimate--entry-customer-message {
    font-size: 1.2rem;
  }

  .block-order-estimate--entry-customer-point {
    color: #f00;
    font-size: 1.5rem;
    font-weight: 600;
  }

  .block-order-estimate--uid-label {
    margin-bottom: 3px;
  }

  .block-order-estimate--uid-label-font {
    margin-right: 10px;
  }

  .block-order-estimate--uid-count {
    margin-top: 0;
  }

  .block-order-estimate--pwd {
    margin-top: 10px;
  }

  .block-order-estimate--pwd-label {
    margin-bottom: 3px;
  }

  .block-order-estimate--pwd-label-font {
    margin-right: 10px;
  }

  .block-order-estimate--pwd-count {
    margin-top: 0;
  }

  .block-order-estimate--mailnews {
    margin-top: 10px;
  }

  .block-order-estimate--mailnews-title {
    font-weight: 600;
  }

  .block-order-estimate--mailnews-label {
    margin-bottom: 3px;
    font-weight: 600;
    margin-right: 10px;
  }

  .block-order-estimate--mailnews-message {
    font-size: 1.2rem;
  }

  .block-order-estimate--procedure {
    background: #fff;
    border: solid 6px #00000028;
    margin: 0;
    padding: 4px;
  }

  .block-order-estimate--dest-address-item-register-input-form {
    .block-order-estimate--dest-address-nickname {
      .constraint {
        text-align: right;

        .required {
          margin: -38px 20px 16px 0;
          display: block;
        }
      }
    }
  }

  /* 注文内容確認左サイドエリア */
  .block-order-estimate--content {
    width: 820px;
    float: left;
  }

  /* お届け先情報 */
  .block-order-estimate--confirmation {
    overflow: hidden;
  }

  .block-order-estimate--confirmation-list {
    width: 375px;
    display: inline-block;
    vertical-align: top;

    &:nth-of-type(2n + 1) {
      margin-right: 20px;
    }

    li {
      padding: 0 0 20px 0;

      p {
        margin-left: .5em;

        &.block-order-estimate--dest-name,
        &.block-order-estimate--host-name,
        .block-order-estimate--confirmation-title + &,
        .block-order-estimate--confirmation-title + & {
          font-weight: 600;
          color: var( --col_MypreBlue );
        }
      }
    }
  }

  .block-order-estimate--confirmation-title h3 {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px #00000028 solid;
    padding-bottom: 5px;
    height: 36px;
    color: var( --cl-heading );
  }

  .block-order-estimate--confirmation-list-full li {
    padding: 0 0 20px 0;
  }

  /* 配送希望情報 */
  .block-order-estimate--date-spec-confirmation {
    display: none;
    overflow: hidden;

    .block-order-estimate--confirmation-list li {
      min-height: 90px;
    }
  }

  .block-order-estimate--confirmation-message {
    color: #555;
    font-size: 1.2rem;
  }

  /* ご注文商品 */
  .block-order-estimate--change-btn {
    min-height: 30px;
    padding: 0 !important;
    font-family: var( --ff-sans_serif );
  }

  .block-order-estimate--goods-list li {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;

    &:not(:last-child) {
      border-bottom: 1px solid #00000028;
      margin: 0 0 16px 0;
      padding: 0 0 10px;
    }

    .block-order-estimate--goods-item-image {
      float: unset;
      flex-shrink: 0;
      margin: 0;
      padding: 5px;
      background: #f5f5f5;
      width: 200px;
      height: 200px;
    }

    .block-order-estimate--goods-item {
      float: unset;
      position: relative;
      flex-grow: 1;
      margin: 0 16px 0 24px;

      .block-order-estimate--goods-item-name,
      .block-order-estimate--goods-item-set-name {
        padding-right: 7.5em;
        line-height: 1.6;
        font-weight: 600;
        font-size: 1.6rem;
        color: var( --col_MypreBlue );
      }

      .block-order-estimate--goods-item-comment {
        overflow: hidden;
        margin-top: 10px;

        .block-order-estimate--sales-detail-append-list {
          margin: 6px 0 0;
          a.block-order-estimate--sales-detail-append-link-edit {
            text-decoration: none;

            &:hover {
              text-decoration: underline;
            }

            > div {
              display: flex;
              margin-top: 12px;
              flex-direction: column;
              gap: 4px;

              p:not(:last-child) {
                border-bottom: 1px solid #00000028;
              }
              p:last-child {
                padding: 8px 0 0 0;
              }
            }
          }
        }
      }
    }

    .block-order-estimate--goods-price-items {
      position: absolute;
      top: 0;
      right: 16px;
      width: 7em;
      text-align: right;

      .block-order-estimate--amt {
        width: 140px;
        text-align: right;
        margin: 0;
        font-weight: 600;
        font-size: 1.6rem;
        color: var( --cl-br );
      }
    }

    .page-estimate .block-icon {
      margin: 0 15px 0 0;
    }
  }

  /* ご注文商品 注文明細拡張情報 */
  .block-order-estimate--sales-detail-append-link-edit {
    text-decoration: underline;
  }

  /* その他 */
  .block-order-estimate--sales-append-list {
    width: 100%;

    th {
      text-align: left;
      vertical-align: top;
      color: unset;
      width: 30%;
      word-break: auto-phrase;
      font-feature-settings: "palt";
    }
  }

  /* 備考 */
  .block-order-estimate--comment-content textarea {
    width: 100%;
  }

  /* 注文内容確認右サイドエリア */
  .block-order-estimate--order-terms-link {
    text-decoration: underline;
    cursor: pointer;
    color: var( --col_Gold );
    text-decoration: none;;
    transition: .3s;

    &:hover {
      text-decoration: underline;
    }
  }

  .block-order-estimate--agreebody {
    width: 100%;
    height: 400px;
  }

  .block-order-estimate--side-area {
    position: relative;
  }

  .block-order-estimate--side-contents {
    position: sticky;
    top: 0;
    margin: 0;
    width: 320px;
    transition: .3s;

    .UpMove ~ .pane-order-contents & {
      top: 20px;
    }

    .DownMove ~ .pane-order-contents & {
      top: 84px;
    }
  }

  .block-order-estimate--procedure-container {
    padding: 14px;
    background: inherit;
  }

  .block-order-estimate--commit {
    display :flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    margin: 0 0 10px 0;

    p {
      margin: 0;

      &:last-child {
        font-size: 1.3rem;
      }
    }
  }

  .block-order-estimate--commit-btn {
    width: 100%;
    font-size: 2.0rem;
    text-align: center;
    margin: 5px 0;
    padding: 14px 0;
    font-weight: 600;
  }

  .block-order-estimate--return-agree {
    min-height: 36px;
    padding: 0;
    width: 100%;
    font-size: 1.4rem;

    p:has(&) {
      display: block;
      width: 100%;
    }
  }

  .block-order-estimate--total {
    padding: 15px 0;
    margin: 20px 0;
    background: #fff;
    border-top: 1px #00000028 solid;
    border-bottom: 1px #00000028 solid;
    font-size: 1.6rem;

    > span {
      margin-top: 8px;
      display: block;
      font-size: 2.6rem;
      font-weight: 600;
    }
  }

  .block-order-estimate .block-exchange-price {
    text-align: center;
    margin-bottom: 12px;
  }

  .block-order-estimate--total-price {
    font-size: 1.8rem;
    font-weight: 600;
  }

  .block-order-estimate--total-tax {
    font-size: 1.4rem;
  }

  .block-order-estimate--point-add {
    overflow: hidden;
    margin: 0 0 10px 0;
    border-bottom: solid 1px #00000028;
    font-size: 1.4rem;

    dt {
      float: left;
      width: 40%;
    }

    dd {
      float: left;
      width: 60%;
      text-align: right;

      & + & {
        width: 100%;
        color: #f00;
        font-size: 1.2rem;
        text-align: left;
        padding-bottom: 20px;
      }
    }
  }

  .block-order-estimate--point-add-num {
    color: #f00;
    font-size: 1.6rem;
  }

  .block-order-estimate--price-items {
    letter-spacing: -.4em;
    font-size: 1.3rem;
    color: unset;
    margin: 20px 0 0 0;

    dt {
      display: inline-block;
      letter-spacing: normal;
      width: 60%;
      margin: 0;

      &:not(:last-of-type) {
        margin: 0 0 4px 0;
      }
    }

    dd {
      display: inline-block;
      letter-spacing: normal;
      text-align: right;
      width: 40%;
    }
  }

  /* メッセージ「クール便追加料金を含む」 */
  dd.block-order-estimate--cool-postage {
    width: 100%;
    text-align: right;
    margin: 0 0 10px 0;
  }

  /* お届け先の変更(ダイアログ) */
  .block-order-estimate--address-frame {
    background: #f5f5f5;
    max-width: 725px;
    margin: 0 auto;
  }

  .block-order-estimate--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  /* ×ボタン */
  .block-order-estimate--address-frame-close {
    position: relative;
    cursor: pointer;

    span {
      display: block;
      position: absolute;
      top: 12px;
      right: 12px;
      width: 20px;
      height: 20px;

      &::before {
        position: absolute;
        top: 6px;
        right: 0;
        content: "";
        width: 15px;
        height: 2px;
        background: #fff;
        transform: rotate(45deg);
      }

      &::after {
        position: absolute;
        top: 0;
        right: 6px;
        content: "";
        width: 2px;
        height: 15px;
        background: #fff;
        transform: rotate(45deg);
      }
    }
  }

  /* お届け先の変更 */
  .block-order-estimate--address-frame h2 {
    color: #fff;
    background: #444;
    border-bottom: none;
    font-size: 1.6rem;
    margin: 0;
    padding: 10px 10px 10px;
  }

  .block-order-estimate--dest-address-item-register-input-title {
    font-weight: 600;
  }

  .block-order-estimate--dest-address-select {
    padding: 5px 20px;
  }

  .block-order-estimate--dest-salesinclude-address-select,
  .block-order-estimate--dest-salesinclude-address-note {
    padding: 0 20px;
  }

  .block-order-estimate--dest-address-list {
    padding: 20px;
  }

  .block-order-estimate--dest-address-item,
  .block-order-estimate--dest-address-item-register {
    position: relative;
    display: inline-block;
    width: 220px;
    height: 220px;
    vertical-align: top;
    background: #fff;
    border: solid 1px #00000028;
    margin: 0 5px 10px 0;
    padding: 10px;
  }

  .block-order-estimate--dest-address-item address {
    word-wrap: break-word;
  }

  .block-order-estimate--dest-address-item-container {
    height: 130px;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 5px 0 0 0;
  }

  .block-order-estimate--dest-address-change-btn {
    width: 100%;
    padding: 5px;
  }

  input.btn.btn-default.block-order-estimate--dest-address-register-btn {
    padding: 15px;
  }

  .block-order-estimate--dest-address-item-register .block-order-estimate--dest-address-item-buttons {
    position: absolute;
    top: 50%;
    margin: -20px 0 0 0;
  }

  .block-order-estimate--dest-address-change,
  .block-order-estimate--dest-address-item-buttons {
    height: 31px;
  }

  .block-order-estimate--dest-address-change {
    text-align: right;
  }

  input.btn.btn-default.block-order-estimate--dest-address-change-dest-btn {
    padding: 5px 10px;
    font-size: 1.1rem;
  }

  .block-order-estimate--dest-address-title.js-order-estimate-address-title {
    font-weight: 600;
    margin: 9px 0;
    background: #636363;
    text-align: center;
    color: #fff;
  }

  .block-order-estimate--dest-address-item-buttons__selected {
    cursor: default;
    background: #fffffcfc;
    border: 1px solid #f00;
    color: #f00;
    font-weight: 600;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    width: 200px;
  }

  /* お届け先情報入力 */
  .block-order-estimate--dest-address-item-register-input-form .fieldset-vertical,
  .block-order-estimate--guest-address-input-form {
    background: #fff;
    border: solid 1px #00000028;
    padding: 20px;
  }

  .block-order-estimate--dest-address-item-register-input-form .fieldset-vertical {
    margin: 10px 0;
  }

  .block-order-estimate--dest-address-name,
  .block-order-estimate--dest-address-kana {
    .checktype_name,
    .checktype_kana {
      margin: 0 0 10px 0;
    }
  }

  /*----  注文完了(通常・ギフトフロー共通)  ----*/
  .block-order-complete--customerentry-wrapper {
    background: #fff;
    border: solid 1px #00000028;
    padding: 40px;
    margin: 0 auto 50px;
  }

  .block-order-complete--message {
    margin: 0 0 30px;
  }

  .block-order-complete--orderinfo {
    dt,
    dd {
      border-bottom: 1px solid #00000028;
      padding: 8px;
    }

    dt {
      width: 30%;
      background: #f5f5f5;
      font-weight: 600;
      float: left;
    }

    dd {
      margin-left: 30%;

      &::after {
        clear: both;
        display: block;
      }
    }
  }

  .block-order-complete--home {
    margin: 20px auto;
    text-align: center;
  }

  .block-order-complete--home-btn {
    padding: 20px;
    width: 300px;
  }

  .block-order-complete--customerentry-form {
    margin: 20px 0 0 0;
  }

  .block-order-complete--rules {
    margin: 10px 0 0 0;
    font-size: 1.7rem;
    text-align: center;
  }

  .block-order-complete--orderid {
    width: 100%;
    margin-bottom: 10px;

    th {
      width: 30%;
      padding: 20px 30px;
    }

    td {
      width: 70%;
      padding: 20px 30px;
    }
  }

  .block-order-complete--salesinclude {
    width: 100%;
    margin-bottom: 10px;

    th {
      width: 30%;
    }

    td {
      width: 70%;
    }
  }

  .block-order-complete--convenience {
    width: 100%;
    margin-bottom: 10px;

    th {
      width: 30%;
    }

    td {
      width: 70%;
    }
  }

  /* ---------------------- */
  /*---- ギフトフロー ------ */
  .block-order-gift-select,
  .block-order-gift-dest {
    margin: 0 auto;
    h2 span {
      display: inline-block;
      margin-left: 4px;
      vertical-align: middle;
    }
  }
  /* ---------------------- */
  /*----  配送先選択  ----*/
  .block-order-gift-dest h2 {
    display: flex;
    font-weight: 600;
    font-size: 2.0rem;
    color: var( --cl-br );
    padding: 10px 0;
    margin: 0 0 10px 0;
    align-items: center;
  }

  .block-order-gift-dest--list-title {
    &::before {
      content: "";
      display: block;
      width: 28px;
      aspect-ratio: 1 / 1;
      margin: 3px 4px 0 0;
      background: #666;
      mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyMCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOC4xODE4IDBDMTguNjY0IDAgMTkuMTI2NSAwLjE4NDM3NCAxOS40Njc1IDAuNTEyNTYzQzE5LjgwODQgMC44NDA3NTIgMjAgMS4yODU4NyAyMCAxLjc1VjExLjM3NUgxOC4xODE4QzE4LjE4MTggMTIuMDcxMiAxNy44OTQ1IDEyLjczODkgMTcuMzgzIDEzLjIzMTJDMTYuODcxNiAxMy43MjM0IDE2LjE3NzkgMTQgMTUuNDU0NSAxNEMxNC43MzEyIDE0IDE0LjAzNzUgMTMuNzIzNCAxMy41MjYxIDEzLjIzMTJDMTMuMDE0NiAxMi43Mzg5IDEyLjcyNzMgMTIuMDcxMiAxMi43MjczIDExLjM3NUg3LjI3MjczQzcuMjcyNzMgMTIuMDcxMiA2Ljk4NTM5IDEyLjczODkgNi40NzM5MyAxMy4yMzEyQzUuOTYyNDYgMTMuNzIzNCA1LjI2ODc3IDE0IDQuNTQ1NDUgMTRDMy44MjIxNCAxNCAzLjEyODQ0IDEzLjcyMzQgMi42MTY5OCAxMy4yMzEyQzIuMTA1NTIgMTIuNzM4OSAxLjgxODE4IDEyLjA3MTIgMS44MTgxOCAxMS4zNzVIMFY3TDIuNzI3MjcgMy41SDUuNDU0NTVWME01LjQ1NDU1IDQuODEyNUgzLjE4MTgyTDEuMzkwOTEgN0g1LjQ1NDU1TTE1LjQ1NDUgMTAuMDYyNUMxNS4wOTI5IDEwLjA2MjUgMTQuNzQ2IDEwLjIwMDggMTQuNDkwMyAxMC40NDY5QzE0LjIzNDYgMTAuNjkzMSAxNC4wOTA5IDExLjAyNjkgMTQuMDkwOSAxMS4zNzVDMTQuMDkwOSAxMS43MjMxIDE0LjIzNDYgMTIuMDU2OSAxNC40OTAzIDEyLjMwMzFDMTQuNzQ2IDEyLjU0OTIgMTUuMDkyOSAxMi42ODc1IDE1LjQ1NDUgMTIuNjg3NUMxNS44MTYyIDEyLjY4NzUgMTYuMTYzMSAxMi41NDkyIDE2LjQxODggMTIuMzAzMUMxNi42NzQ1IDEyLjA1NjkgMTYuODE4MiAxMS43MjMxIDE2LjgxODIgMTEuMzc1QzE2LjgxODIgMTEuMDI2OSAxNi42NzQ1IDEwLjY5MzEgMTYuNDE4OCAxMC40NDY5QzE2LjE2MzEgMTAuMjAwOCAxNS44MTYyIDEwLjA2MjUgMTUuNDU0NSAxMC4wNjI1Wk00LjU0NTQ1IDEwLjA2MjVDNC4xODM4IDEwLjA2MjUgMy44MzY5NSAxMC4yMDA4IDMuNTgxMjIgMTAuNDQ2OUMzLjMyNTQ5IDEwLjY5MzEgMy4xODE4MiAxMS4wMjY5IDMuMTgxODIgMTEuMzc1QzMuMTgxODIgMTEuNzIzMSAzLjMyNTQ5IDEyLjA1NjkgMy41ODEyMiAxMi4zMDMxQzMuODM2OTUgMTIuNTQ5MiA0LjE4MzggMTIuNjg3NSA0LjU0NTQ1IDEyLjY4NzVDNC45MDcxMSAxMi42ODc1IDUuMjUzOTYgMTIuNTQ5MiA1LjUwOTY5IDEyLjMwMzFDNS43NjU0MiAxMi4wNTY5IDUuOTA5MDkgMTEuNzIzMSA1LjkwOTA5IDExLjM3NUM1LjkwOTA5IDExLjAyNjkgNS43NjU0MiAxMC42OTMxIDUuNTA5NjkgMTAuNDQ2OUM1LjI1Mzk2IDEwLjIwMDggNC45MDcxMSAxMC4wNjI1IDQuNTQ1NDUgMTAuMDYyNVoiIGZpbGw9IiM2NjY2NjYiLz4NCjwvc3ZnPg==") no-repeat 50% 2px /100%;
    }
  }

  .block-order-gift-dest--check-all {
    margin: 0 0 8px 0;
    border-bottom: 1px solid #00000028;
    padding: 0 0 10px;
  }

  .block-order-gift-dest--list-wrapper,
  .block-order-gift-dest--method-sender-info,
  .block-order-gift-dest--address-item,
  .block-order-gift-dest--method-sender-info-edit {
    background: var( --col_Background );
    border: solid 1px #00000028;
    border-radius: 4px;
    margin: 0 0 20px 0;
    padding: 20px;
  }

  .block-order-gift-dest--list-wrapper {
    margin: 20px 0 10px;
  }

  /* お届け先配送情報エリア */
  .block-order-gift-dest--address-header {
    margin: 12px 0 6px;
    font-weight: 600;
  }

  .block-order-gift-dest--address-item {
    width: unset;
    position: relative;
    position: relative;
    border-radius: 0;
    padding: 0 0 0 16px;
    margin: 0;
    border: none;
    transition: .15s;

    & + & {
      margin-top: 4px;
    }

    &:nth-child(odd) {
      background: color-mix(in srgb, var( --col_paleGray ) 45%, transparent);
    }

    &:hover,
    &:has(input[name="js-toggle-address"]:checked) {
      background: var( --col_paleGray );
    }
    &:has(input[name="destlist"]:checked) {
      background: #eee;
    }

    .block-order-gift-dest--address-customer & {
      input[type="submit"] {
        color: #fff;
        background: var( --col_Gold );
        height: 48px;
      }
    }
  }

  .block-order-gift-dest--address-item-title {
    display: flex;
    align-items: center;

    > label {
      margin: 0;
      width: 85%;
      padding: 12px 0 !important;

      &::before {
        top: 13px !important;
        left: 16px !important;
      }

      &::after {
        top: 15px !important;
        left: 18px !important;
      }

      &:hover {
        text-decoration: none !important;
      }
    }
  }

  .block-order-gift-dest--address-list {
    .block-order-gift-dest--address-item-title {
      display: flex;
      align-items: center;
      font-weight: 600;

      > label {
        display: flex;
        align-items: center;
        gap: 4px;
        margin-left: 8px;

        &::before {
          content: "";
          display: block;
          width: 28px;
          aspect-ratio: 1 / 1;
          mask: url("data:image/svg+xml;charset=utf8,%0A%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_15_121)%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.25%208.45455C9.25%206.13244%2011.1324%204.25%2013.4545%204.25C15.7767%204.25%2017.6591%206.13244%2017.6591%208.45455C17.6591%2010.7767%2015.7767%2012.6591%2013.4545%2012.6591C11.1324%2012.6591%209.25%2010.7767%209.25%208.45455ZM6.25%2022C6.25%2017.7731%209.44456%2014.25%2013.5%2014.25C17.5554%2014.25%2020.75%2017.7731%2020.75%2022C20.75%2022.4142%2020.4142%2022.75%2020%2022.75H7C6.58579%2022.75%206.25%2022.4142%206.25%2022Z%22%20fill%3D%22%23666%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_15_121%22%3E%0A%3Crect%20width%3D%2228%22%20height%3D%2228%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A") no-repeat 50% 50% /100%;
          background-color: color-mix(in srgb, var( --cl-a ) 60%, transparent);
        }
      }
      &:has(input[id*="destlist_"]:checked) label::before {
          background-color: var( --col_MypreBlue );
      }
    }
  }

  /* JS Object */
  .js-toggle-address {
    position: absolute;
    top: 4px;
    right: 4px;
    border-radius: 4px;
    margin: 0;
    text-align: right;
    transition: .3s;

    &:hover {
      color: var( --col_Gold );
      background: #0000000a;

      &::before,
      &::after {
        background: var( --col_Gold );
      }
    }

    &::before,
    &::after {
      content: "";
      display: block;
      position: absolute;
      width: 10px;
      height: 2px;
      top: calc(50% - 1px);
      right: 11px;
      margin-top: -1px;
      background: #999;
      transition: .15s;
    }
    &::after {
      transform: rotate(90deg);
    }
    &:has(input:checked)::after {
      transform: rotate(180deg);
      opacity: 0;
    }

    label {
      cursor: pointer;
      padding: 8px 28px 8px 16px !important;
      font-weight: normal;
      display: block;
      height: 100%;
      width: auto;
      align-items: center;
      justify-content: flex-end;
      border-radius: 4px;
      color: #999 !important;
      font-weight: 400 !important;
      background: none !important;
      transition: .15s;

      &:hover {
        color: var( --col_Gold ) !important;
        background: none !important;
      }
      input {
        display: none;
      }

      &::after {
        content: "詳細を表示";
      }
      &:has(input:checked)::after {
        content: "閉じる";
      }
    }
  }

  .block-order-gift-dest--address-item address {
    margin: 0 0 0 32px;
    padding: 0;
    border-top: 1px solid #00000028;
    transition: .3s;
    overflow: hidden;
    opacity: 0;
    height: 0;

    .block-order-gift-dest--address-item-title:has(input[name="js-toggle-address"]:checked) + & {
    opacity: 1;
    height: auto;
    padding: 8px 0 24px 0;

      + .block-order-gift-dest--address-change {
        display: block;
      }
    }

    br:first-of-type {
      content: "";
      display: block;
      height: .5em;
    }
  }

  .block-order-gift-dest--address-change {
    position: absolute;
    text-align: right;
    right: 16px;
    bottom: 28px;
    display: none;
  }

  .block-order-gift-dest--address-error {
    margin: 0 0 10px 0;
  }

  /* 贈り主情報エリア */
  .block-order-gift-dest--method-sender {
    margin-top: 30px;

    .block-order-gift-dest--method-sender-title {
      &::before {
          content: "";
          display: block;
          width: 28px;
          aspect-ratio: 1 / 1;
          margin: -2px 4px 0 -5px;
          background: #666;
          mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22uuid-92022754-cca7-41b3-8831-6ed08826ca6b%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M7.34%2C22.75c0-3.41%2C3.54-6.18%2C6.95-6.18%2C3.86%2C0%2C6.95%2C2.77%2C6.95%2C6.18H7.34ZM18.16%2C9.61c0%2C2.13-1.73%2C3.86-3.86%2C3.86-2.13%2C0-3.86-1.73-3.86-3.86%2C0-2.13%2C1.73-3.86%2C3.86-3.86%2C2.13%2C0%2C3.87%2C1.73%2C3.87%2C3.86%2C0%2C0%2C0%2C0%2C0%2C0Z%22%20style%3D%22fill%3A%20none%3B%20stroke%3A%20%23666%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat 50% 50% /100%;
      }
    }
  }

  .block-order-gift-dest--method-sender-info {
    margin: 0;
    border-radius: 4px;
    border-width: 2px;

    > p:first-child {
      font-size: 1.6rem;
      font-weight: 600;
      margin-bottom: 8px;
    }

    address {
      margin: 0 0 10px 0;
    }
  }

  .block-order-gift-dest--value-label {
    display: inline-block;
    width: 60px;
    text-align: center;
  }

  .block-order-gift-dest--method-sender-change {
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #00000028;
    padding-top: 20px;
    margin-top: 30px;

    & > input {
      & + label {
        font-weight: 600;
        width: auto;
        line-height: 24px;
      }
    }
  }

  .block-order-gift-dest--method-sender-info-edit {
    clear: both;
    width: 100%;
    margin: -32px 0 0 0;
    padding: 0;
    border: 0;

    .fieldset {
      margin-bottom: 0;
    }
  }

  .block-order-gift-dest--address-new {
    border-top: 1px solid #00000028;
    position: relative;
    margin: 10px 0 -10px;
    padding-top: 10px;
    text-align: right;

    .tip-hint {
      top: 10px;

      &::before {
        bottom: 100%;
        left: 24px;
      }
    }
  }

  .block-order-gift-dest--method-sender-btn {
    display: flex;
    justify-content: flex-end;
    gap: 12px;

    .block-order-gift-dest--address-clear-btn {
      color: var( --cl-dn );
    }
  }

  .block-order-gift-dest--action-buttons {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px;

    .action-buttons {
      justify-content: flex-start;

      & + & {
        justify-content: end;
      }
    }
  }

  /*----  配送先商品追加  ----*/
  .block-order-gift-select {
    h2 {
      display: flex;
      font-weight: 600;
      font-size: 2.0rem;
      color: var( --cl-br );
      margin: 30px 0 10px;
      align-items: center;
    }

    h3 {
      font-size: 1.6rem;
      font-weight: 600;
      font-family: var( --ff-sans_serif );
      margin: 0 0 8px;
      vertical-align: middle;

      dl + & {
        margin-top: 30px;
      }
    }

    .block-order-gift-select--sender-title {
      &::before {
          content: "";
          display: block;
          height: 28px;
          width: 28px;
          margin: -2px 4px 0 -5px;
          background: #666;
          mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22uuid-92022754-cca7-41b3-8831-6ed08826ca6b%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2028%2028%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M7.34%2C22.75c0-3.41%2C3.54-6.18%2C6.95-6.18%2C3.86%2C0%2C6.95%2C2.77%2C6.95%2C6.18H7.34ZM18.16%2C9.61c0%2C2.13-1.73%2C3.86-3.86%2C3.86-2.13%2C0-3.86-1.73-3.86-3.86%2C0-2.13%2C1.73-3.86%2C3.86-3.86%2C2.13%2C0%2C3.87%2C1.73%2C3.87%2C3.86%2C0%2C0%2C0%2C0%2C0%2C0Z%22%20style%3D%22fill%3A%20none%3B%20stroke%3A%20%23666%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20stroke-width%3A%201.5px%3B%22%3E%3C%2Fpath%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E") no-repeat 0 0 / cover;
      }
    }

    .block-order-gift-select--delivery {
      > h2 {
        &::before {
          content: "";
          display: block;
          height: 28px;
          width: 28px;
          margin: 3px 4px 0 0;
          background: #666;
          mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyMCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik0xOC4xODE4IDBDMTguNjY0IDAgMTkuMTI2NSAwLjE4NDM3NCAxOS40Njc1IDAuNTEyNTYzQzE5LjgwODQgMC44NDA3NTIgMjAgMS4yODU4NyAyMCAxLjc1VjExLjM3NUgxOC4xODE4QzE4LjE4MTggMTIuMDcxMiAxNy44OTQ1IDEyLjczODkgMTcuMzgzIDEzLjIzMTJDMTYuODcxNiAxMy43MjM0IDE2LjE3NzkgMTQgMTUuNDU0NSAxNEMxNC43MzEyIDE0IDE0LjAzNzUgMTMuNzIzNCAxMy41MjYxIDEzLjIzMTJDMTMuMDE0NiAxMi43Mzg5IDEyLjcyNzMgMTIuMDcxMiAxMi43MjczIDExLjM3NUg3LjI3MjczQzcuMjcyNzMgMTIuMDcxMiA2Ljk4NTM5IDEyLjczODkgNi40NzM5MyAxMy4yMzEyQzUuOTYyNDYgMTMuNzIzNCA1LjI2ODc3IDE0IDQuNTQ1NDUgMTRDMy44MjIxNCAxNCAzLjEyODQ0IDEzLjcyMzQgMi42MTY5OCAxMy4yMzEyQzIuMTA1NTIgMTIuNzM4OSAxLjgxODE4IDEyLjA3MTIgMS44MTgxOCAxMS4zNzVIMFY3TDIuNzI3MjcgMy41SDUuNDU0NTVWME01LjQ1NDU1IDQuODEyNUgzLjE4MTgyTDEuMzkwOTEgN0g1LjQ1NDU1TTE1LjQ1NDUgMTAuMDYyNUMxNS4wOTI5IDEwLjA2MjUgMTQuNzQ2IDEwLjIwMDggMTQuNDkwMyAxMC40NDY5QzE0LjIzNDYgMTAuNjkzMSAxNC4wOTA5IDExLjAyNjkgMTQuMDkwOSAxMS4zNzVDMTQuMDkwOSAxMS43MjMxIDE0LjIzNDYgMTIuMDU2OSAxNC40OTAzIDEyLjMwMzFDMTQuNzQ2IDEyLjU0OTIgMTUuMDkyOSAxMi42ODc1IDE1LjQ1NDUgMTIuNjg3NUMxNS44MTYyIDEyLjY4NzUgMTYuMTYzMSAxMi41NDkyIDE2LjQxODggMTIuMzAzMUMxNi42NzQ1IDEyLjA1NjkgMTYuODE4MiAxMS43MjMxIDE2LjgxODIgMTEuMzc1QzE2LjgxODIgMTEuMDI2OSAxNi42NzQ1IDEwLjY5MzEgMTYuNDE4OCAxMC40NDY5QzE2LjE2MzEgMTAuMjAwOCAxNS44MTYyIDEwLjA2MjUgMTUuNDU0NSAxMC4wNjI1Wk00LjU0NTQ1IDEwLjA2MjVDNC4xODM4IDEwLjA2MjUgMy44MzY5NSAxMC4yMDA4IDMuNTgxMjIgMTAuNDQ2OUMzLjMyNTQ5IDEwLjY5MzEgMy4xODE4MiAxMS4wMjY5IDMuMTgxODIgMTEuMzc1QzMuMTgxODIgMTEuNzIzMSAzLjMyNTQ5IDEyLjA1NjkgMy41ODEyMiAxMi4zMDMxQzMuODM2OTUgMTIuNTQ5MiA0LjE4MzggMTIuNjg3NSA0LjU0NTQ1IDEyLjY4NzVDNC45MDcxMSAxMi42ODc1IDUuMjUzOTYgMTIuNTQ5MiA1LjUwOTY5IDEyLjMwMzFDNS43NjU0MiAxMi4wNTY5IDUuOTA5MDkgMTEuNzIzMSA1LjkwOTA5IDExLjM3NUM1LjkwOTA5IDExLjAyNjkgNS43NjU0MiAxMC42OTMxIDUuNTA5NjkgMTAuNDQ2OUM1LjI1Mzk2IDEwLjIwMDggNC45MDcxMSAxMC4wNjI1IDQuNTQ1NDUgMTAuMDYyNVoiIGZpbGw9IiM2NjY2NjYiLz4NCjwvc3ZnPg==") no-repeat 0 25% / 24px;
        }
      }
    }
  }

  .block-order-gift-select--sender-info,
  .block-order-gift-select--delivery-dest-content,
  .block-order-gift-select--delivery-date,
  .block-order-gift-select--payment-content,
  .block-order-gift-select--point-use-select {
    background: var( --col_Background );
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 24px 32px;
    border-radius: 4px;
  }

  .block-order-gift-select--delivery {
    margin-top: 50px;
    h2 {
    font-size: 2.0rem;
    font-family: var( --ff-serif );
    font-weight: 600;
    }
  }

  .block-order-gift-select--delivery-dest {
    margin: 40px 0;
    position: relative;
  }

  .block-order-gift-select--delivery-dest-content {
    background: var( --col_paleGray );
    border: none;
    padding-top: 0;
    padding-top: 4px;
    padding: 0  32px 32px;
    border-radius: 0 0 4px 4px;
  }

  .block-order-gift-select--sender-info {
    border-width: 2px;
    margin: 0 0 5px 0;
    border-radius: 2px;

    p:last-child {
      margin: 1em 0 0;
    }
  }

  .block-order-gift-select--delivery-dest-add {
    display: flex;
    padding: 5px 0;
    margin: 0 0 10px;
    text-align: left;
    justify-content: space-between;
    gap: 8px;
    align-items: center;

    p.txt {
      margin-right: auto;
    }

    select {
      margin-left: auto;
    }
  }

  @keyframes tip-bounce {
    0%, 8%, 16%, 100% {
      scale: 100%;
    }
    4%, 12% {
      scale: 102%;
    }
  }

  .tip-hint {
    --col_tip-bg: var( --cl-dn );
    display: flex;
    align-items: center;
    margin: 0;
    position: absolute;
    left: 0;
    height: 40px;
    border-radius: 2px;
    width: auto;
    padding: 10px 20px;
    line-height: 1.3;
    color: #fff;
    background: var( --col_tip-bg );
    z-index: 50;
    transition: .15s;
    animation: tip-bounce 7s infinite ease-in-out 3s;
    justify-content: center;
    opacity: 1;

    .select-all {
      margin-left: 12px;
      border-bottom: 1px dashed #fff;
      cursor: pointer;
    }

    &::before {
      content: "";
      display: block;
      height: 10px;
      width: 10px;
      position: absolute;
      clip-path: var( --shape-triangle-top );
      background: var( --col_tip-bg );
      z-index: -5;
    }

    &.hide {
      opacity: 0;
    }
  }

  .block-order-gift-select--delivery-dest-goods-select,
  .block-order-gift-select--point-use-select {
    padding: 0;
    margin: 0;
    border-radius: 0 0 8px 8px;
    & > table {
      margin: 0 16px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-select .action-buttons {
    margin: 10px 0;
    position: relative;

    .action {
      margin: 0 auto;

      input {
        font-weight: 600;
        color: #fff;
        background: var( --col_Gold );
      }
    }

    .goods-select--tip1 {
      top: 0;
      width: auto;

      &::before {
        bottom: 100%;
        left: 15px;
      }
    }

    .goods-select--tip2 {
      top: 24px;
      left: calc(50% + 150px);
      width: 250px;

      &::before {
        right: calc(100% - 1px);
        clip-path: var( --shape-triangle-left );
      }
    }

    .form-error {
      display: block;
    }
  }

  /* お届け先 */
  .block-order-gift-select--delivery-dest-header {
    position: sticky;
    top: 0;
    transition: .5s;
    left: 0;
    padding: 0 8px 0 0;
    background: #f5f5f5;
    z-index: 84;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;

    .block-order-gift-select--delivery-dest-header-title {
      order: 10;
    }

    .tip-hint {
      position: relative;
      order: 20;
      margin-left: auto;

      &::before {
        left: 100%;
        clip-path: var( --shape-triangle-right );
      }
    }

    .block-order-gift-select--delivery-dest-total-price-calc-btn {
      order: 30;
      margin-left: auto 0 8px;
    }

    .wrapper:has(.block-header.DownMove) & {
      top: 64px;
    }

    &.hover {
      backdrop-filter: blur(6px);
    }

    .gift-select {
      --col-sign: #73af95;
      position: absolute;
      top: calc(50% - 10px);
      left: 136px;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: 20px;
      border: 1px solid var( --col-sign );
      border-radius: 20px;
      padding: 0 8px;
      font-size: 1.3rem;
      letter-spacing: -.05em;
      color: var( --col-sign );
      background: #fff;

      &.isnot {
        --col-sign: var( --cl-dn );
      }
    }

    h2 {
      font-size: 1.8rem;
      margin: 0;
      padding: 16px 16px 12px 16px;

      &::before {
        content: "";
        display: block;
        width: 24px;
        aspect-ratio: 1 / 1;
        margin: -2px 0 0 0;
        flex-shrink: 0;
        background: #666;
        mask: url("data:image/svg+xml;charset=utf8,%0A%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_15_121)%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.25%208.45455C9.25%206.13244%2011.1324%204.25%2013.4545%204.25C15.7767%204.25%2017.6591%206.13244%2017.6591%208.45455C17.6591%2010.7767%2015.7767%2012.6591%2013.4545%2012.6591C11.1324%2012.6591%209.25%2010.7767%209.25%208.45455ZM6.25%2022C6.25%2017.7731%209.44456%2014.25%2013.5%2014.25C17.5554%2014.25%2020.75%2017.7731%2020.75%2022C20.75%2022.4142%2020.4142%2022.75%2020%2022.75H7C6.58579%2022.75%206.25%2022.4142%206.25%2022Z%22%20fill%3D%22%23666%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_15_121%22%3E%0A%3Crect%20width%3D%2228%22%20height%3D%2228%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A") no-repeat 50% 0 / 24px;
      }
    }

    .block-order-gift-select--delivery-dest-delete {
      order: 90;
      position: relative;
      top: 0;

      input {
        color: var( --cl-dn );
      }
    }
  }

  .block-order-gift-select--delivery-dest-address {
    border: 1px solid #00000028;
    border-width: 0 0 1px;
    margin: 0 -28px 32px;
    background: var( --col_Background );
    padding: 16px;

    address {
      margin: 0 0 0 0;
    }
  }

  .block-order-gift-select--delivery-dest-nickname {
    font-weight: 600;
    font-size: 1.6rem;
    margin-bottom: 10px;
    color: var( --col_MypreBlue );

    & + p {
      margin-bottom: 10px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-add {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 16px;
  }

  .block-order-gift-select--delivery-dest-goods-add-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1.01;
    width: 100%;
  }

  .js-order-gift-select-goods-list {
    border-radius: 0 0 8px 8px;
    height: unset;
    padding: 10px;
    overflow: unset;
    background: var( --col_Background );

    .block-order-gift-select--delivery-dest-goods-message {
      display: flex;
      flex-direction: row;

      &::before {
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        margin: 3px 4px 0 0;
        flex-shrink: 0;
        background: #666;
        mask: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2214%22%20height%3D%2216%22%20viewBox%3D%220%200%2014%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M6.25962%203.99992H7.74038V7.99995H13.2596C13.456%207.99995%2013.6443%207.91717%2013.7831%207.76982C13.922%207.62247%2014%207.42262%2014%207.21423V4.78564C14%204.57726%2013.922%204.37741%2013.7831%204.23005C13.6443%204.0827%2013.456%203.99992%2013.2596%203.99992H11.2464C11.5191%203.40407%2011.5826%202.72458%2011.4255%202.0835C11.2685%201.44243%2010.9012%200.881784%2010.3896%200.502269C9.87808%200.122753%209.25578%20-0.0507628%208.6345%200.0128884C8.01323%200.0765397%207.4337%200.373187%207%200.849546C6.56556%200.375798%205.98652%200.0814437%205.36638%200.0190945C4.74624%20-0.0432548%204.12541%200.130464%203.61486%200.509203C3.10432%200.887941%202.73732%201.44701%202.57947%202.0865C2.42162%202.72598%202.48321%203.4042%202.75322%203.99992H0.740385C0.544022%203.99992%200.355703%204.0827%200.216854%204.23005C0.0780045%204.37741%200%204.57726%200%204.78564V7.21423C0%207.42262%200.0780045%207.62247%200.216854%207.76982C0.285605%207.84278%200.367224%207.90065%200.457052%207.94014C0.546879%207.97962%200.643156%207.99995%200.740385%207.99995H6.25962V3.99992ZM7.74038%202.78563C7.74038%202.54547%207.80749%202.31069%207.93322%202.111C8.05895%201.91131%208.23766%201.75568%208.44674%201.66377C8.65582%201.57186%208.88588%201.54781%209.10784%201.59467C9.3298%201.64152%209.53369%201.75717%209.69371%201.92699C9.85373%202.09682%209.96271%202.31318%2010.0069%202.54873C10.051%202.78428%2010.0284%203.02844%209.94175%203.25032C9.85514%203.4722%209.70848%203.66185%209.52032%203.79528C9.33215%203.92871%209.11092%203.99992%208.88462%203.99992H7.74038V2.78563ZM3.97115%202.78563C3.97115%202.46358%204.09171%202.15472%204.30629%201.92699C4.52088%201.69927%204.81192%201.57134%205.11538%201.57134C5.41885%201.57134%205.70989%201.69927%205.92448%201.92699C6.13906%202.15472%206.25962%202.46358%206.25962%202.78563V3.99992H5.11538C4.81192%203.99992%204.52088%203.87199%204.30629%203.64426C4.09171%203.41654%203.97115%203.10768%203.97115%202.78563ZM7.74038%2016H12.1827C12.3791%2016%2012.5674%2015.9172%2012.7062%2015.7699C12.8451%2015.6225%2012.9231%2015.4227%2012.9231%2015.2143V9.14281H7.74038V16ZM1.07692%2015.2143C1.07692%2015.4227%201.15493%2015.6225%201.29378%2015.7699C1.43263%2015.9172%201.62095%2016%201.81731%2016H6.25962V9.14281H1.07692V15.2143Z%22%20fill%3D%22%23666%22%2F%3E%0A%3C%2Fsvg%3E%0A") no-repeat 50% 0 / 16px;
      }
    }
  }

  .block-order-gift-select--delivery-dest-goods-content-list table {
    width: 100%;

    tr {
      padding: 8px 0;

      &:hover {
        background: var( --col_paleGray );
      }

      &:nth-child(odd) {
        background: color-mix(in srgb, var( --col_paleGray ) 45%, transparent);
      }

      &:has(input:checked) {
        background: #eee;

        .block-order-gift-select--delivery-dest-goods-name span {
          color: var( --col_MypreBlue );
          font-weight: 600;

          em {
            color: var( --cl-br );
          }
        }
      }

      label {
        cursor: pointer;
        padding: 16px 8px;
        display: flex;
        position: relative;

        &:hover {
          color: var( --col_Gold );
        }

        span {
          display: flex;
          width: 100%;
          justify-content: space-between;
        }
      }
    }
  }

  .block-order-gift-select--delivery-dest-goods-name {
    width: unset;
    font-feature-settings: "palt";
    word-break: auto-phrase;

    figure {
      width: 200px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-qty {
    padding: 0 8px;
    text-align: right;
    white-space: nowrap;
    font-size: 1.4rem;
    color: #999;

    input {
      text-align: right;
      margin: 0 0 0 10px;
      height: 40px;
    }
  }

  .block-order-gift-select--total-cart-qty {
    text-align: center;
    color: #999;
    font-size: 1.4rem;
    padding: 0 8px 0 0;
    width: 6em;

    &::before {
      content: "カート内";
      display: block;
      letter-spacing: -.05em;
      color: #999;
      line-height: 1.3;
    }

    span {
      &.add { color: var( --cl-dn ); font-weight: 600; }
      &.just { color: var( --col_MypreBlue ); font-weight: 600; }
    }
  }

  /* お届け先商品 */
  .block-order-gift-select--delivery-dest-goods-content-info,
  .block-order-gift-select--delivery-dest-goods-noshi {
    width: 100%;
    margin: 0 0 16px 0;
  }

  .block-order-gift-select--delivery-dest-goods-content-info {
    th {
      word-break: auto-phrase;

      &:nth-child(1) {
        position: relative;
        height: 100%;
        border: none;
        align-content: center;
        justify-content: space-between;

        span {
          display: block;
          position: absolute;
          top: calc(50% - 1rem);
          right: 12px;
          font-weight: normal;

          small {
            font-weight: 600;
            color: var( --cl-br );
            margin-left: .25em;
          }
        }
      }
      &:nth-child(2) { width: 10em; }
      &:nth-child(3) { width:  6em; }
      &:nth-child(4) { width: 10em; }
      &:nth-child(5) { width: 10em; }
    }
  }

  .block-order-gift-select--delivery-dest-goods-sales-qty {
    width: 100px;

    input {
      text-align: right;
      width: 100%;
      height: 40px;
    }
  }

  .block-order-gift-select--delivery-dest-goods-content {
    margin-top: 8px;

    > table {
      border-width: 2px;
      background: #fff;
    }
  }

  .block-order-gift-select--delivery-dest-goods-content-info-delete,
  .block-order-gift-select--delivery-dest-goods-noshi-edit {
    width: 70px !important;
  }

  .block-order-gift-select--sales-detail-append {
    width: 100%;

    tr {
      th {
        word-wrap: nowrap;
      }
      td {
      &:first-of-type {
        background: var( --col_paleGray );
        font-weight: 600;
        word-break: keep-all;
      }
      &:last-of-type {
        width: 60%;
      }
      }
    }

    input {
      width: 16em;
    }
  }

  .block-order-gift-select--delivery-dest-goods-content-info-delete {
    input {
      margin-top: 72px;
      color: var( --cl-dn ) !important;
    }
  }

  table.block-order-gift-select--delivery-dest-goods-noshi {
    margin-top: -18px;
    border-top-width: 1px;

    th,
    td {
      text-align: left;
    }

    h3 {
      margin: 0;
    }
  }

  .block-order-gift-select--delivery-dest-total {
    margin: 16px 0 0;
    padding-top: 20px;
    border-top: 1px solid #00000028;

    table {
      border-width: 2px;
      background: var( --col_Background );

      .block-order-gift-select--delivery-dest-total-price {
        font-weight: 600;
        font-size: 1.5rem;
      }

      .block-order-gift-select--delivery-dest-total-price-calc-btn {
        color: #fff;
        background: #666;

        td:has(&) {
          .goods-select--tip3 {
            position: absolute;
            bottom: -20px;
            left: unset;
            right: -3px;
            width: auto;

            &::before {
              top: -6px;
            }
          }
        }
      }
    }
  }

  /* 配送方法 */
  .block-order-gift-select--delivery-date-content {
    display: table;

    dt,
    dd {
      display: table-cell;
    }
  }

  /* お支払い情報 */
  .block-order-gift-select--payment-content {
    h3 {
      margin: 0 0 16px;

      & + & {
        margin-top: 30px;
      }
    }

    ~ .action-buttons {
      float: right;
      padding: 0;
      width: calc(50% - 40px);
      justify-content: flex-start;
      margin: 40px 20px 0;

      &:last-of-type {
        float: left;
        justify-content: flex-end;
      }

      .form-error:has(+ &) {
        display: none;
      }
    }
  }

  .block-order-gift-select--method {
    margin-top: 30px;
    h3 .required {
      margin-left: 4px;
    }
  }

  .block-order-gift-select--method-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 240px;
    width: 240px;
    border-radius: 4px;
    overflow: hidden;

    li {
      margin: 0;

      .help-block {
        display: inline-block;
        margin-left: 30%;
      }
    }

    label {
      display: flex;
      align-items: center;
      cursor: pointer;
      line-height: 1;
      height: 48px;
      width: 100%;
      padding: 0 12px !important;
      transition: .15s;

      &:hover {
        color: var( --col_Gold );
        background: #f5f5f5;
      }

      &:has(:checked) {
        background: #eee;
        font-weight: 600;
        color: var( --col_MypreBlue );
      }
    }
  }

  .block-order-gift-select--current-point {
    margin: 0 0 10px;
  }

  .block-order-gift-select--current-point-num {
    font-weight: 600;
  }

  .block-order-gift-select--coupon-content {
    display: flex;
    align-items: center;
    gap: 14px;
  }

  .block-order-gift-select--coupon-available-btn {
    margin: 0;
    align-content: center;
  }

  .block-order-gift-select--point-use-select {
    background: var( --col_paleGray );

    label {
      cursor: pointer;
      padding: 0 23px 0 5px;
    }
  }

  /* その他 */
  .block-order-gift-select--sales-append-content {
    background: var( --col_Background );
    border: solid 1px #e5e5e5;
    margin: 0;
    padding: 20px 20px 0 20px;

    .fieldset {
      margin-top: 0;
      margin-bottom: 20px;

      .form-group {
        border-top: 1px solid #e5e5e5 ;

        &:not(:last-child) {
          border-bottom: none;
        }
      }
    }
  }

  .block-order-gift-select::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
    overflow: hidden;
  }

  .action:last-of-type .tip-hint {
    position: relative;
    top: 5px;
    margin-top: -40px;
    width: auto;

    &::before {
      top: 100%;
      clip-path: var( --shape-triangle-bottom );
    }
  }

  /*----  のし・ラッピング設定  ----*/
  .block-order-gift-noshi {
    margin: 94px auto 0;

    h1 {
      font-weight: 600;
      font-size: 2.4rem;
      color: #444;
      padding: 15px 0 0 0;
    }

    h2 {
      margin: 20px -40px;
      border-top: 1px solid #00000028;
      padding: 20px 40px 0;
      font-weight: 600;
      font-size: 2.0rem;
      color: #444;
    }

    h3 {
      margin-top: 30px;
      font-size: 1.6rem;
      color: #444;
      font-weight: 600;
    }
  }

  .block-order-gift-noshi--sender {
    margin-bottom: 15px;

    p:has(+ address) { display: none; }

    address {
      border: solid 2px #00000028;
      border-radius: 4px;
      padding: 20px;
      br:last-of-type {
        content: "";
        display: block;
        height: 10px;
      }
    }
  }

  .noshi-info--header {
    margin: 20px 0 6px;
    font-weight: 600;
  }

  .block-order-gift-noshi--goods {
    border-radius: 4px;
    padding: 16px 20px;
    background: #f5f5f5;
  }

  .block-order-gift-noshi--noshi-container {
    margin: 30px auto 0;
    width: 880px;
  }

  ul.block-order-gift-noshi--noshi-select,
  ul.block-order-gift-noshi--purpose-select {
    display: flex;
    background: #fff;
    border: solid 1px #00000028;
    border-radius: 4px;
    margin: 0 0 20px 0;
    padding: 4px;
    gap: 16px;
  }

  .block-order-gift-noshi--noshi-select,
  .block-order-gift-noshi--purpose-select,
  .block-order-gift-noshi--covertype-select,
  .block-order-gift-noshi--wrap-select,
  .block-order-gift-noshi--bag-wrapper,
  .block-order-gift-noshi--paper-wrapper,
  .block-order-gift-noshi--nameprint-wrapper {
    background: #fff;
    border: solid 1px #00000028;
    border-radius: 4px;
    margin: 0 0 20px 0;
    padding: 20px 20px 20px 20px;

    ul {
      display: flex;
      justify-content: center;
    }

    li {
      display: inline-block;
      margin: 0;
      vertical-align: top;
      border-radius: 8px;

      &:has([style*="none"]) {
        display: none;
      }

      label {
        display: flex;
        margin: 0;
        min-height: 48px;
        height: 100%;
        padding: 16px;
        text-align: center;
        border-radius: 4px;
        transition: .15s;

        &:hover {
          background: #f5f5f5;
        }

        &:has(input:checked) {
          color: var( --col_MypreBlue );
          font-weight: 600;
          background: #eee;
        }

        figure {
          display: block;
          padding: 6px 0;

          img {
            border: 1px solid #e5e5e5;
          }
        }
      }
    }
  }

  .block-order-gift-noshi--paper-select,
  .block-order-gift-noshi--nameprint-select {
    display: flex;
    gap: 16px;

    label {
      flex-direction: column;

      figure img {
        vertical-align: bottom;
      }

      span {
        flex-grow: 1;
        margin-top: 6px;
        align-content: center;
        word-break: auto-phrase;
        line-height: 1.35;
      }
    }
  }

  .block-order-gift-noshi--paper-item-price,
  .block-order-gift-noshi--bag-item-price,
  .block-order-gift-noshi--wrap-item-price {
    display: block;
  }

  .block-order-gift-noshi--paper-message,
  .block-order-gift-noshi--covertype-message,
  .block-order-gift-noshi--wrap-message,
  .block-order-gift-noshi--bag-message {
    background: none;
    border: 0;
    border-top: 1px dashed #00000028;
    margin: 20px auto 10px;
    padding: 20px 0 0;
    text-align: center;
    width: 100%;
  }

  .block-order-gift-noshi--setting-message {
    text-align: center;
    font-weight: 600;
    margin-top: 40px;
    font-size: 1.8rem;
    color: var( --cl-dn );
  }

  .block-order-gift-noshi--nameprint-input {
    margin: 30px auto 0;
  }

  .block-order-gift-noshi--nameprint-input tr:first-child,
  .block-order-gift-noshi--nameprint-input tr:nth-child(2) {display: none;}

  .block-order-gift-noshi--setting-all-btn {
    margin: 0 0 20px 0;
    background: #666 !important;
  }

  /*----  注文内容確認(ギフトフロー)  ----*/
  .block-order-gift-confirmation {
    h2 {
      font-weight: 600;
      font-size: 2.0rem;
      color: #444;
      margin-top: 40px;
    }

    h3 {
      font-size: 1.6rem;
      color: #444;
      font-weight: 600;
      margin: 0 0 12px 0;
    }

    table {
      width: 100%;

      &.block-order-gift-confirmation--order-item-detail-table th {
        font-feature-settings: "palt";
        text-align: center;
      }

      .block-order-gift-confirmation--sending-item-name {
        width: auto;
      }

      .block-order-gift-confirmation--item-qty-header,
      .block-order-gift-confirmation--sending-item-qty-header {
        width: 60px !important;
        text-align: center;
        white-space: nowrap;
      }

      .block-order-gift-confirmation--item-amount-header {
        word-break: auto-phrase;
      }
    }
  }

  .block-order-gift-confirmation--item-image,
  .block-order-gift-confirmation--sending-item-image {
    figure {
      height: unset;
      background: #f5f5f5;
    }
  }

  .block-order-gift-confirmation--sending-item-image {
    figure {
      width: 276px !important;
    }
  }

  .block-order-gift-confirmation--item-name {
    font-feature-settings: "palt";
    word-break: auto-phrase;
  }

  .block-order-gift-confirmation--order-item-wrapper,
  .block-order-gift-confirmation--order,
  .block-order-gift-confirmation--destination-address-wrapper,
  .block-order-gift-confirmation--other-wrapper,
  .block-order-gift-confirmation--novelty-content,
  .block-order-gift-confirmation--order-comment,
  .block-order-gift-confirmation--payment-method-wrapper {
    background: #fff;
    border: solid 1px #00000028;
    margin: 0 0 20px 0;
    padding: 20px 20px 20px 20px;
    overflow: hidden;
  }

  .block-order-gift-confirmation--order-item-wrapper {
    display: flex;
    gap: 50px;
    position: relative;
    justify-content: space-between;
    align-items: stretch;
    overflow: visible !important;
  }

  .block-order-gift-confirmation--order-item-detail {
    flex-shrink: 0;
    display: block;
    width: 65%;
  }

  .block-order-gift-confirmation--order-item-summary {
    display: flex;
    margin: 0;
    padding: 0;

    table {
      position: sticky;
      top: 20px;
      left: 0;
      height: 10px;
      transition: .4s;

      .wrapper:has(.block-header.DownMove) & {
        top: 80px;
      }
    }
  }

  .block-order-gift-confirmation--order-item-summary-table,
  .block-order-gift-confirmation--point-summary {
    th {
      width: 125px;
    }

    td {
      text-align: right;
    }
  }

  td.block-order-estimate--goods-item-price,
  .block-order-gift-confirmation--item-amount,
  .block-order-gift-confirmation--item-qty {
    text-align: right;
  }

  .block-order-gift-confirmation--item-qty {
    text-align: center;
  }

  .block-order-gift-confirmation--novelty-item-image,
  .block-order-gift-confirmation--novelty-item-goods {
    display: table-cell;
    vertical-align: middle;
  }

  .block-order-gift-confirmation--novelty-item-image {
    width: 200px;

    figure {
      width: 200px;
      height: 200px;
      background: #f5f5f5;
    }
  }

  .block-order-gift-confirmation--novelty-item-goods {
    padding-left: 10px;
    width: auto;
  }

  /* 配送情報 */
  .block-order-gift-confirmation--shipping-address {
    float: left;
    width: 65%;
    vertical-align: top;
  }

  .block-order-gift-confirmation--shipping-info {
    float: right;
    width: 35%;
    padding: 0 0 0 3%;
  }

  .block-order-gift-confirmation--shipping-info-detail th {
    width: 150px;
  }

  /* お届け先 */
  .block-order-gift-confirmation--destination-address {
    margin: 0 0 10px 0;
  }

  .block-order-gift-confirmation--sending-item-qty-header {
    width: 20px !important;
    padding: 0 !important;
  }

  .block-order-gift-confirmation--sending-item-qty {
    text-align: center;
  }

  .block-order-gift-confirmation--sending-item-comment-header,
  .block-order-gift-confirmation--sending-item-noshi-header {
    width: 220px;
  }

  /* その他 */
  .block-order-gift-confirmation--other-detail th {
    width: 300px;
  }

  .block-order-gift-confirmation--order-comment--text {
    margin-bottom: 16px;
  }

  .block-order-gift-confirmation--order-comment textarea {
    width: 100%;
    padding: 16px;
    vertical-align: bottom;
  }

  .block-order-gift-confirmation--order-comment-message {
    font-weight: 600;
    margin: 50px 0 40px;
    text-align: center;
    color: var( --cl-dn );
    font-size: 1.6rem;
  }

  .block-goods-list--pager.pager {
    margin: 0;
    padding: 24px 0;

    &:last-child {
      margin-bottom: 0;
    }
  }

  .block-order-gift-confirmation--return-agree {
    margin: 0 0 20px;

    .btn {
      display: inline-flex;
      line-height: 1;
      align-items: center;
    }
  }

  /*----  注文完了画面  ----*/
  .block-order-complete h1 {
    text-align: center;
  }

  .block-order-complete--orderinfo {
    padding: 56px;
    text-align: center;

    .block-order-complete--message {
      margin: 0;

      .order-comp-thank-message {
        margin: 0;
        font-size: 1.8rem;
        line-height: 2;
      }

      .order-comp-initial {
        h2 {
          margin: 40px 0 20px;
          font-weight: 600;
          font-size: 1.8rem;
          font-family: var( --ff-sans_serif );
        }

        a {
          display: inline-block;
          margin: 30px 0 0;
          font-size: 1.6rem;
        }
      }
    }

    .block-order-complete--orderid {
      width: unset;
      margin: 30px auto 0;

      a {
        text-decoration: underline;

        &:hover {
          text-decoration: none;
        }
      }
    }
  }

  .block-order-complete--cart {
    p {
      font-size: 1.6rem;
      span {
        margin: 0 4px;
      }
    }

    .block-order-complete--cart-btn {
      margin: 12px auto 0;
      padding: 20px;
      letter-spacing: .025em;
      font-weight: 600;
      font-size: 1.8rem;
      min-width: 250px;
    }
  }

  .block-goods-list--pager .pager-total {
    display: block;
    margin: 0;
  }

  .block-thumbnail-t--goods {
    .price,
    .net-price,
    .default-price,
    .exchange-price,
    .block-exchange-price--rate-dt {
      text-align: left;
    }
  }

  /*---- テーブル ----*/
  .block-purchase-history-detail--shiment-address,
  .table {
  --cl-br: var( --cl-br );
  --cl-a: var( --cl-a );

    color: var( --cl-br );
    background: #fff;
  }

  .table,
  .table td,
  .table th {
    border-color: #ccc;
  }

  .table td,
  .table th {
    padding: 12px;
  }

  .table th {
    font-feature-settings: "palt";
    font-weight: 600;
    color: var( --cl-heading );
    background: var( --col_paleGray );
    word-break: auto-phrase;
    line-break: anywhere;
  }

  /*---- テキストカラー ----*/
  .text-danger {
    color: var( --cl-dn );
  }

  .default-price {
    text-decoration: line-through;
    font-weight: 600;
  }

  /*---- テキストサイズ ----*/
  .price-small {
    font-size: .8em;
  }

  .default-price {
    font-size: .9em;

    .price-small {
      font-size: 1em;
    }
  }

  /*---- 商品説明リスト ----*/
  .goods-detail-description {
    width: 100%;
    margin-top: 8px;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;

    &:first-of-type { margin-top: 0; }

    dt {
      width: 140px;
      font-weight: normal;
      position: relative;

      &::before {
        position: absolute;
        content: "";
        display: block;
        height: 100%;
        width: 1px;
        right: 0;
        background: var( --cl-br );
      }
    }

    dd {
      display: table-cell;
      font-feature-settings: "palt";

      &.cl_cl-dn {
        font-weight: 600;
      }
    }
  }

  /*---- ページャー ----*/
  .pager {
    margin: 50px 0 60px 0;
    text-align: center;
  }

  .pager-scope {
    padding: 3px;
    margin-right: 5px;
  }

  .pager-total {
    display: block;
    margin: 0;
  }

  .pagination {
    display: inline-flex;
    justify-content: center;
    gap: 5px;
    margin: 20px 0 0;

    & + & {
      margin-left: 2px;
    }

    > * {
      border: unset;
      padding: 0;
    }

    > .disabled {
      color: #777;
    }

    > li {
      background: transparent;
    }

    span,
    a {
      display: block;
      line-height: 35px;
      text-align: center;
      text-decoration: none;
      width: 35px;
      height: 35px;
    }

    a {
      border: 1px solid var( --col_Gold );
      transition: .3s;
      color: var( --col_Gold );

      &:hover {
        opacity: .5;
      }
    }
  }

  .pager-first,
  .pager-previous,
  .pager-next,
  .pager-last {
    a {
      position: relative;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;

      &::before,
      &::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        width: 6px;
        height: 6px;
      }
    }
  }

  .pager-first a {
    &::before {
      left: 47%;
      border-top: 1px var( --col_Gold ) solid;
      border-left: 1px var( --col_Gold ) solid;
      margin: -3px 0 0 -2px;
      transform: rotate(-45deg);
    }
    &::after {
      left: 56%;
      border-top: 1px var( --col_Gold ) solid;
      border-left: 1px var( --col_Gold ) solid;
      margin: -3px 0 0 -2px;
      transform: rotate(-45deg);
    }
  }

  .pager-previous a {
    &::after {
      left: 50%;
      border-top: 1px var( --col_Gold ) solid;
      border-left: 1px var( --col_Gold ) solid;
      margin: -3px 0 0 -2px;
      transform: rotate(-45deg);
    }
  }

  .pager-next a {
    &::after {
      right: 47%;
      margin: -3px 0 0 2px;
      border-top: 1px var( --col_Gold ) solid;
      border-right: 1px var( --col_Gold ) solid;
      transform: rotate(45deg);
    }
  }

  .pager-last a {
    &::before {
      right: 44%;
      margin: -3px 0 0 2px;
      border-top: 1px var( --col_Gold ) solid;
      border-right: 1px var( --col_Gold ) solid;
      transform: rotate(45deg);
    }
    &::after {
      right: 52%;
      margin: -3px 0 0 2px;
      border-top: 1px var( --col_Gold ) solid;
      border-right: 1px var( --col_Gold ) solid;
      transform: rotate(45deg);
    }
  }

  /*---- ツールチップ ----*/
  .balloontip {
    min-width: 20px;
    padding: 10px;
    border-radius: 6px;
    opacity: 1;
    z-index: 32767;
    text-align: left;
    font-size: 1.2rem;
    border: 1px solid #777;
    box-shadow: #555 4px 4px 4px;
    color: #fff;
    background: #444;
  }

  /*---- ドロップダウン ----*/
  .dropdown {
    z-index: 11000;

    .li {
      background: #444;

      span {
        display: block;
        padding: 13px 15px;
        margin: 0;
        text-decoration: none;
        line-height: 1;
        color: #fff;
        cursor: pointer;

        &:hover {
          background: #616d0b;
        }
      }
    }
  }

  /*---- モーダルダイアログ ----*/
  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .5;
    z-index: 10000;
  }

  .modal-overlay-alert {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .5;
    z-index: 10002;
  }

  .modal-alert {
    width: 400px;
    z-index: 10003;
  }

  .modal-dialog {
    width: 600px;
    z-index: 10001;
  }

  .modal-header {
    display: flex;
    padding: 10px 10px 10px 20px;
    font-size: 1.7rem;
    font-weight: 600;
    clear: both;
    border-bottom: none;
    line-height: 1;
    color: #fff;
    justify-content: space-between;
    align-items: start;

    > * {
      display: flex;
      align-self: center;
      align-content: center;
    }
  }

  .modal-content {
    background: #fff;
  }

  .modal-body {
    padding: 20px;

    p {
      margin-bottom: 10px;
    }

    li {
      border-bottom: 1px dotted #444;

      a {
        padding: 8px 8px 8px 0;
        color: var( --cl-a );
        display: flex;
        max-width: 560px;
        font-size: 1.6rem;
        text-decoration: none;

        &:hover {
          text-decoration: underline;
          color: var( --col_Gold );
        }

        i {
          margin: 0 10px 0 auto;
          color: #444;
          font-size: 1.6rem;

          a:hover & {
            color: #4da7ba;
            text-decoration: none;
          }
        }
      }
    }
  }

  .modal-footer {
    padding: 0 10px 15px;

    .modal-alert & {
      text-align: center;

      input {
        width: 40%;
      }
    }

    .modal-dialog & {
      text-align: center;

      .btn {
        min-width: 150px;
        margin-right: 5px;
      }
    }
  }

  .modal-close {
    position: relative;
    display: block;
    height: 32px;
    width: 32px;
    cursor: pointer;
    float: right;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    color: #fff;
  }

  /*---- ヘッダー警告 ----*/
  .header-warning {
    position: relative;
    padding: 10px;
    background: #fffacd;
    border-bottom: 1px solid #b0c4de;
  }

  .header-warning-contents {
    display: block;
    padding-right: 18px;
    text-align: center;
    background: transparent;
  }

  .header-warning-close {
    display: block;
    position: absolute;
    width: 18px;
    cursor: pointer;
    font-weight: 600;
    top: 10px;
    right: 10px;
    background: transparent;
  }

  /*---- 検索エンジン向けH1タグ ----*/
  .optimaized-h1 {
    font-size: 1.1rem;
  }

  /*---- 注文ステータス ----*/
  .status-order,
  .status-cancel,
  .status-income,
  .status-reserve,
  .status-rship,
  .status-ship,
  .status-verify,
  .status-return,
  .status-status_,
  .status-status_1,
  .status-status_2,
  .status-status_3,
  .status-status_4,
  .status-status_9 {
    width: unset;
    height: auto;
    min-width: 196px;
    min-height: 50px;
    border: #ccc solid 1px;
    padding: 5px 0;
    display: grid !important;
    grid-template:
    "msg msg"
    "bar perc" /1fr auto;
    align-items: baseline;
    background: #fff;

    .status-message {
      grid-area: msg;
      width: 100%;
    }
    .status-percentage {
      grid-area: perc;
    }
    [class^="status-progress"] {
      grid-area: bar;
    }
  }
  .status-message,
  .status-percentage {
    padding: 0 5px;
  }

  .status-message {
    font-size: 1.2rem;
  }

  .status-percentage {
    color: #031241;
    font-weight: 600;
    font-size: 2.4rem;
    text-align: center;
  }

  [class^="status-progress"] {
    display: block;
    position: relative;
    height: 14px;
    margin: 4px auto 0;
    background: #ccc;

    &::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      height: 14px;
      border-right: #031241 solid 4px;
      background: #1e5799;
    }
  }

  .status-progress-20::after {
    width: 20%;
  }

  .status-progress-40::after {
    width: 40%;
  }

  .status-progress-60::after {
    width: 60%;
  }

  .status-progress-80::after {
    width: 80%;
  }

  .status-progress-100::after {
    width: 100%;
  }

  .status-message {
    .status-reserve &,
    .status-cancel &,
    .status-return &,
    .status-status_ &,
    .status-status_1 &,
    .status-status_2 &,
    .status-status_3 &,
    .status-status_4 &,
    .status-status_9 & {
      width: 100%;
    }
  }

  [class^="status-progress"]::after {
    .status-reserve & {
      border-right: #ea7500 solid 4px;
      background: #f79800;
    }

    .status-return & {
      border-right: #028900 solid 4px;
      background: #00ab0b;
    }
  }

  .block-purchase-history-detail--receipt-address {
  --cl-br: #433d37;
  --cl-a: #433d37;

    color: var( --cl-br );
    background: #fff;
  }

  /*---- ホワイトスペース制御 ----*/
  .white-space-pre-wrap {
    white-space: pre-wrap;

    .block-order-estimate--sales-detail-append-item {
      & + & {
        margin-top: 4px;
      }
    }
  }

  /*---- 表示・非表示 ----*/
  .hidden {
    display: none;
  }

  .show {
    display: block;
  }

  .block-order-estimate--register-customer-checkbox-message {
    position: relative;
    padding-left: 30px;

    label {
      &::before {
        content: "";
        display: block;
        position: absolute;
        top: 2px;
        left: 0;
        width: 18px;
        height: 18px;
        border: 1px solid #999;
      }

      &.checked::after {
        content: "";
        display: block;
        position: absolute;
        top: 2px;
        left: 2px;
        width: 18px;
        height: 8px;
        opacity: 1;
        transition: .3s;
        transform: rotate(-40deg);
        border-bottom: 2px var( --cl-dn ) solid;
        border-left: 2px var( --cl-dn ) solid;
      }
    }
  }

  .checktype_pwd {
    vertical-align: middle;
    display: inline-block;
  }

  .block-login--display-password {
    margin: 0;
    padding: 0 !important;
    vertical-align: middle;
    font-size: 1.4rem;

    input + & {
      margin-left: 8px;
    }
  }

  .block-icon-image--flex-align-left {
    gap: 6px;
    line-height: 1;
    letter-spacing: .05em;
    align-items: center;

    [class^="block-icon-image block-icon-image"] {
      mask: no-repeat 50% 50% /100%;
      background-image: none;
      background-color: var( --cl-heading );
    }
    .block-icon-image--shopping-basket {
      mask-image: url("../../img/sys/icon/black/shopping-basket.png");
    }
    .block-icon-image--user-circle-o {
      mask-image: url("../../img/sys/icon/black/user-circle-o.png");
    }
    .block-icon-image--envelope {
      mask-image: url("../../img/sys/icon/black/envelope.png");
    }
  }

  .block-mypage .block-icon-image--table-cell-angle-right {
    display: none;
  }
}